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 <stefan.tauner@gmx.at> Reviewed-on: https://review.coreboot.org/14627 Tested-by: build bot (Jenkins) Reviewed-by: Martin Roth <martinroth@google.com> Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
This commit is contained in:
		
				
					committed by
					
						 Martin Roth
						Martin Roth
					
				
			
			
				
	
			
			
			
						parent
						
							6a587343a9
						
					
				
				
					commit
					37fcd58ba6
				
			| @@ -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. | Dump I/O Controller Hub (ICH) southbridge SPI registers and bios control. | ||||||
| .TP | .TP | ||||||
| .B "\-f, \-\-gfx" | .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 | .TP | ||||||
| .B "\-p, \-\-pmbase" | .B "\-p, \-\-pmbase" | ||||||
| Dump I/O Controller Hub (ICH) southbridge PMBASE registers. | Dump I/O Controller Hub (ICH) southbridge PMBASE registers. | ||||||
|   | |||||||
| @@ -220,7 +220,7 @@ void print_usage(const char *name) | |||||||
| 	     "   -v | --version:                   print the version\n" | 	     "   -v | --version:                   print the version\n" | ||||||
| 	     "   -h | --help:                      print this help\n\n" | 	     "   -h | --help:                      print this help\n\n" | ||||||
| 	     "   -s | --spi:                       dump southbridge spi and bios_cntrl registers\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:                      dump southbridge GPIO registers\n" | ||||||
| 	     "   -G | --gpio-diffs:                show GPIO differences from defaults\n" | 	     "   -G | --gpio-diffs:                show GPIO differences from defaults\n" | ||||||
| 	     "   -r | --rcba:                      dump southbridge RCBA registers\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" | 	     "   -P | --pciexpress:                dump northbridge PCIEXBAR registers\n\n" | ||||||
| 	     "   -M | --msrs:                      dump CPU MSRs\n" | 	     "   -M | --msrs:                      dump CPU MSRs\n" | ||||||
| 	     "   -A | --ambs:                      dump AMB registers\n" | 	     "   -A | --ambs:                      dump AMB registers\n" | ||||||
| 	     "   -a | --all:                       dump all known registers\n" | 	     "   -a | --all:                       dump all known (safe) registers\n" | ||||||
| 	     "\n"); | 	     "\n"); | ||||||
| 	exit(1); | 	exit(1); | ||||||
| } | } | ||||||
| @@ -326,7 +326,6 @@ int main(int argc, char *argv[]) | |||||||
| 			dump_coremsrs = 1; | 			dump_coremsrs = 1; | ||||||
| 			dump_ambs = 1; | 			dump_ambs = 1; | ||||||
| 			dump_spi = 1; | 			dump_spi = 1; | ||||||
| 			dump_gfx = 1; |  | ||||||
| 			break; | 			break; | ||||||
| 		case 'A': | 		case 'A': | ||||||
| 			dump_ambs = 1; | 			dump_ambs = 1; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user