The upper memory size field should exclude the first MB of RAM. Signed-off-by: Kevin Wolf <m...@kevin-wolf.de> --- hw/multiboot.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/hw/multiboot.c b/hw/multiboot.c index 7cc3055..0d2bfb4 100644 --- a/hw/multiboot.c +++ b/hw/multiboot.c @@ -306,7 +306,7 @@ int load_multiboot(void *fw_cfg, | MULTIBOOT_FLAGS_MODULES | MULTIBOOT_FLAGS_MMAP); stl_p(bootinfo + MBI_MEM_LOWER, 640); - stl_p(bootinfo + MBI_MEM_UPPER, ram_size / 1024); + stl_p(bootinfo + MBI_MEM_UPPER, (ram_size / 1024) - 1024); stl_p(bootinfo + MBI_BOOT_DEVICE, 0x8001ffff); /* XXX: use the -boot switch? */ stl_p(bootinfo + MBI_MMAP_ADDR, ADDR_E820_MAP); -- 1.6.0.2