From: Andrew Morton arch/i386/kernel/setup.c: In function 'zone_sizes_init': arch/i386/kernel/setup.c:1079: error: 'highend_pfn' undeclared (first use in this function) arch/i386/kernel/setup.c:1079: error: (Each undeclared identifier is reported only once arch/i386/kernel/setup.c:1079: error: for each function it appears in.) arch/i386/kernel/setup.c:1079: warning: excess elements in array initializer arch/i386/kernel/setup.c:1079: warning: (near initialization for 'max_zone_pfns') Cc: Mel Gorman Cc: Dave Hansen Cc: Andy Whitcroft Cc: Andi Kleen Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: "Keith Mannthey" Cc: "Luck, Tony" Cc: KAMEZAWA Hiroyuki Cc: Yasunori Goto Signed-off-by: Andrew Morton --- arch/i386/kernel/setup.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff -puN arch/i386/kernel/setup.c~have-x86-use-add_active_range-and-free_area_init_nodes-fix arch/i386/kernel/setup.c --- a/arch/i386/kernel/setup.c~have-x86-use-add_active_range-and-free_area_init_nodes-fix +++ a/arch/i386/kernel/setup.c @@ -1039,15 +1039,19 @@ static unsigned long __init setup_memory void __init zone_sizes_init(void) { +#ifdef CONFIG_HIGHMEM unsigned long max_zone_pfns[MAX_NR_ZONES] = { virt_to_phys((char *)MAX_DMA_ADDRESS) >> PAGE_SHIFT, max_low_pfn, highend_pfn}; -#ifndef CONFIG_HIGHMEM - unsigned long highend_pfn = max_low_pfn; + add_active_range(0, 0, highend_pfn); +#else + unsigned long max_zone_pfns[MAX_NR_ZONES] = { + virt_to_phys((char *)MAX_DMA_ADDRESS) >> PAGE_SHIFT, + max_low_pfn}; + add_active_range(0, 0, max_low_pfn); #endif - add_active_range(0, 0, highend_pfn); free_area_init_nodes(max_zone_pfns); } #else _