On Tue, Dec 15, 2009 at 12:35 PM, Anthony Liguori <anth...@codemonkey.ws>wrote:
> Avi Kivity wrote: > >> bochs bios required all 128kB, so this is probably a leftover. >> > > This is apparently well defined in the PIIX spec. There is a bit of a > difference between the lower half and upper half of the BIOS region though > and I expect this is part of what the problem is. FYI, the following patch > works. Surprisingly, we only need to restore the 0xe8000..0xe8fff region. > Still trying to understand what's happening. > > SeaBIOS is currently using over 64K of space. So, it is extending into the e-segment and thus needs to have the e-segment copied properly (I missed that in my earlier email). SeaBIOS is only extending a few K into the e-segment, so only that part needs to be saved and restored. Should SeaBIOS options be trimmed so that it fit under 64K, then the build would create only a 64K rom. However, since it is larger than 64K, it pads itself to 128K. As mentioned before, SeaBIOS can still copy roms into the unused parts of the e-segment, as it knows which parts of the e-segment it is using. -Kevin