[coreboot] SeaBIOS VGA failure after ctrl-alt-delete
Kevin O'Connor
kevin at koconnor.net
Fri Oct 9 02:59:45 CEST 2009
On Thu, Oct 08, 2009 at 09:28:58AM -0600, Myles Watson wrote:
> Kevin,
>
> SeaBIOS initializes my VGA correctly the first time through, but if I
> do ctrl-alt-delete, the screen is no longer updated. Do you have any
> suggestions as to how to fix it?
>
> Here's the snippet:
> Attempting to map option rom on dev 02:00.0
> Option rom sizing returned f5000000 fffe0000
> Inspecting possible rom at 0xf5000000 (dv=014110de bdf=200)
> Copying option rom (size 63488) from 0xf5000000 to c0000
> Checking rom 0x000c0000 (sig aa55 size 124)
> Found option rom with bad checksum: loc=0x000c0000 len=63488 sum=7e
That's very odd. It seems the second time it is copied from the pci
card it isn't copied correctly. To verify, you could add:
--- a/src/optionroms.c
+++ b/src/optionroms.c
@@ -124,6 +124,7 @@ is_valid_rom(struct rom_header *rom)
if (! rom->size)
return 0;
u32 len = rom->size * 512;
+ hexdump(rom, len);
u8 sum = checksum(rom, len);
if (sum != 0) {
dprintf(1, "Found option rom with bad checksum: loc=%p len=%d sum=%x\n"
and then compare the results of the two roms (it will probably take a
long time to transfer all the data though).
I can see a couple of ways corruption could occur:
- something might be also using the memory space the rom is at
(0xf5000000) causing corruption during the read
- maybe caching got enabled at the pci rom space?
- something could have locked the ram at 0xc000 (though that would be
weird).
-Kevin
More information about the coreboot
mailing list