[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