[SeaBIOS] wrong memsize in smbios_init()

Kevin O'Connor kevin at koconnor.net
Wed Jan 6 23:48:29 CET 2010


On Wed, Jan 06, 2010 at 09:13:13PM +0100, Sebastian Herbszt wrote:
> RamSizeOver4G = "total ram" - "start of pci hole" (e.g. 0xe0000000
> in qemu, 0xc0000000 in bochs)

The intent of RamSizeOver4G is to list the amount of ram mapped above
0x100000000.  So, if one specified 4096MB of ram, I'd expect qemu to
map it so that SeaBIOS had RamSize=0xe0000000 and
RamSizeOver4G=0x10000000.

>Adding 4GB is wrong. With 33 GB of RAM
> i end up with 16+16+2 instead of 16+16+1 in smbios tables.
> The patch below fixes it for me.

I'm not sure what smbios is expecting - if it's looking for the
addresses of mapped memory then the current code looks correct (in the
scenario above, memory is mapped up to 0x110000000).  If it's looking
for the total memory, then I agree your change makes sense (in the
above scenario, the total ram is 0x100000000).

-Kevin



More information about the SeaBIOS mailing list