From 37fcd58ba6980222a5b51ea21ee266e5d34c04a2 Mon Sep 17 00:00:00 2001 From: Stefan Tauner Date: Tue, 10 May 2016 23:16:33 +0200 Subject: [PATCH] inteltool: handle unsafe dumping of graphics registers The current implementation from Vladimir simply dumps 1 MB of memory contents starting at the base address of the second PCI device (which most likely is the VGA controller on Intel systems). This locks up a number of different systems, e.g. my Ibex Peak-based T410s. This patch documents the issue and stops dumping the graphics registers for the -a/--all parameter. Change-Id: I581bdc63db60afaf4792bc11fbeed73aab57f63a Signed-off-by: Stefan Tauner Reviewed-on: https://review.coreboot.org/14627 Tested-by: build bot (Jenkins) Reviewed-by: Martin Roth Reviewed-by: Felix Held --- util/inteltool/inteltool.8 | 3 ++- util/inteltool/inteltool.c | 5 ++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/util/inteltool/inteltool.8 b/util/inteltool/inteltool.8 index f49647504f..49aafc3b13 100644 --- a/util/inteltool/inteltool.8 +++ b/util/inteltool/inteltool.8 @@ -35,7 +35,8 @@ Dump I/O Controller Hub (ICH) southbridge RCBA registers. Dump I/O Controller Hub (ICH) southbridge SPI registers and bios control. .TP .B "\-f, \-\-gfx" -Dump graphics registers. +.RB "Dump graphics registers. " \ +"Due to unknown reasons this might lock up some systems after a few seconds." .TP .B "\-p, \-\-pmbase" Dump I/O Controller Hub (ICH) southbridge PMBASE registers. diff --git a/util/inteltool/inteltool.c b/util/inteltool/inteltool.c index 6fa98920ff..063efb7053 100644 --- a/util/inteltool/inteltool.c +++ b/util/inteltool/inteltool.c @@ -220,7 +220,7 @@ void print_usage(const char *name) " -v | --version: print the version\n" " -h | --help: print this help\n\n" " -s | --spi: dump southbridge spi and bios_cntrl registers\n" - " -f | --gfx: dump graphics registers\n" + " -f | --gfx: dump graphics registers (UNSAFE: may hang system!)\n" " -g | --gpio: dump southbridge GPIO registers\n" " -G | --gpio-diffs: show GPIO differences from defaults\n" " -r | --rcba: dump southbridge RCBA registers\n" @@ -232,7 +232,7 @@ void print_usage(const char *name) " -P | --pciexpress: dump northbridge PCIEXBAR registers\n\n" " -M | --msrs: dump CPU MSRs\n" " -A | --ambs: dump AMB registers\n" - " -a | --all: dump all known registers\n" + " -a | --all: dump all known (safe) registers\n" "\n"); exit(1); } @@ -326,7 +326,6 @@ int main(int argc, char *argv[]) dump_coremsrs = 1; dump_ambs = 1; dump_spi = 1; - dump_gfx = 1; break; case 'A': dump_ambs = 1;