Ping.  I never heard back about this bug fix to the multiboot loader.

Quoth myself on Mar 14 at  6:55 pm:
> Previously, the multiboot option ROM set the mmap_length field of the
> multiboot info structure to the length of the mmap array *excluding*
> the final element of the array, rather than the total length of the
> array.  The multiboot specification indicates that this is incorrect,
> and it's incompatible with GRUB's [1] and SYSLINUX's [2] multiboot
> loaders, which both set mmap_length to the length of the entire mmap
> array.
> 
> This bug is easy to miss: if the VM is configured with 3584 MB of RAM
> or less, the last E820 entry is simply a reserved region that does not
> overlap with any other region, so there's no harm in omitting it.
> However, if it's started with more than 3584 MB of RAM, the memory
> above the high memory hole appears as the last entry in the E820 map
> and will be omitted from the multiboot mmap array.
> 
> This patch rewrites the loop that constructs the mmap array from the
> E820 map to simplify it and fix the final mmap_length value.
> 
> [1] grub-core/loader/i386/multiboot_mbi.c:grub_multiboot_make_mbi
> 
> [2] com32/mboot/mem.c:mboot_make_memmap
> 
> Signed-off-by: Austin Clements <amdra...@mit.edu>
> ---
>  pc-bios/multiboot.bin         |  Bin 1024 -> 1024 bytes
>  pc-bios/optionrom/multiboot.S |   25 +++++++++----------------
>  2 files changed, 9 insertions(+), 16 deletions(-)

Reply via email to