x86 boot: pass E820 memory map entries more than 128 via linked list of setup data
authorHuang, Ying <ying.huang@intel.com>
Wed, 11 Jun 2008 03:33:39 +0000 (11:33 +0800)
committerIngo Molnar <mingo@elte.hu>
Tue, 8 Jul 2008 08:37:39 +0000 (10:37 +0200)
commit8c5beb50d3ec915d15c4d38aa37282309a65f14e
treeace1ef10fb672f0e28182ffc9e460147455c2ea8
parentb5bc6c0e55000dab86b73f838f5ad02908b23755
x86 boot: pass E820 memory map entries more than 128 via linked list of setup data

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.

Signed-off-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/e820.c
arch/x86/kernel/setup.c
include/asm-x86/bootparam.h
include/asm-x86/e820.h