Messages in this thread | | | Date | Wed, 18 Jun 2008 13:45:11 +0200 | From | Ingo Molnar <> | Subject | Re: [PATCH] x86 boot: Pass E820 memory map entries more than 128 via linked list of setup data |
| |
* Huang, Ying <ying.huang@intel.com> wrote:
> Because of the size limits of struct boot_params (zero page), the > maximum number of E820 memory map entries can be passed to kernel is > 128. As pointed by Paul Jackson, there is some machine produced by SGI > with so many nodes that the number of E820 memory map entries is more > than 128. To enabling Linux kernel on these system, a new setup data > type named SETUP_E820_EXT is defined to pass additional memory map > entries to Linux kernel. > > This patch is based on x86/auto-latest branch of git-x86 tree and has > been tested on x86_64 and i386 platform.
applied to tip/x86/mpparse, thanks.
this bit collided with a recent change:
> - do { > - u64 start = biosmap->addr; > - u64 size = biosmap->size; > - u64 end = start + size; > - u32 type = biosmap->type; > - > - /* Overflow in 64 bits? Ignore the memory map. */ > - if (start > end) > - return -1; > - > - add_memory_region(start, size, type); > - } while (biosmap++, --nr_map); > - return 0; > + return __copy_e820_map(biosmap, nr_map);
because add_memory_region() got renamed to e820_add_region(). I did the obvious fixup.
Ingo
| |