Patchwork multiboot: Fix upper memory size in multiboot info

login
register
mail settings
Submitter Kevin Wolf
Date Jan. 4, 2011, 1:03 p.m.
Message ID <1294146210-14638-1-git-send-email-mail@kevin-wolf.de>
Download mbox | patch
Permalink /patch/77463/
State New
Headers show

Comments

Kevin Wolf - Jan. 4, 2011, 1:03 p.m.
The upper memory size field should exclude the first MB of RAM.

Signed-off-by: Kevin Wolf <mail@kevin-wolf.de>
---
 hw/multiboot.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Aurelien Jarno - Jan. 23, 2011, 9:51 p.m.
On Tue, Jan 04, 2011 at 02:03:30PM +0100, Kevin Wolf wrote:
> The upper memory size field should exclude the first MB of RAM.
> 
> Signed-off-by: Kevin Wolf <mail@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);
>  

Thanks, applied.

Patch

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);