This patch fixes a build error with CONFIG_KEXEC=y and CONFIG_NOHIGHMEM=y. linux-2.6-mm$ LANG=C make CHK include/linux/version.h CHK include/linux/utsrelease.h CALL scripts/checksyscalls.sh CHK include/linux/compile.h CC arch/i386/kernel/setup.o arch/i386/kernel/setup.c: In function 'reserve_crashkernel': arch/i386/kernel/setup.c:391: error: 'highend_pfn' undeclared (first use in this function) arch/i386/kernel/setup.c:391: error: (Each undeclared identifier is reported only once arch/i386/kernel/setup.c:391: error: for each function it appears in.) arch/i386/kernel/setup.c:391: error: 'highstart_pfn' undeclared (first use in this function) make[1]: *** [arch/i386/kernel/setup.o] Error 1 make: *** [arch/i386/kernel] Error 2
Signed-off-by: Bernhard Walle <[EMAIL PROTECTED]> --- arch/i386/kernel/setup.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) --- a/arch/i386/kernel/setup.c +++ b/arch/i386/kernel/setup.c @@ -381,6 +381,20 @@ extern unsigned long __init setup_memory extern void zone_sizes_init(void); #endif /* !CONFIG_NEED_MULTIPLE_NODES */ + +#ifdef CONFIG_HIGHMEM +static inline unsigned long long get_total_mem(void) +{ + return (max_low_pfn + highend_pfn - highstart_pfn) << PAGE_SHIFT; +} +#else +static inline unsigned long long get_total_mem(void) +{ + return max_low_pfn << PAGE_SHIFT; +} +#endif + + #ifdef CONFIG_KEXEC static void __init reserve_crashkernel(void) { @@ -388,7 +402,7 @@ static void __init reserve_crashkernel(v unsigned long long crash_size, crash_base; int ret; - free_mem = (max_low_pfn + highend_pfn - highstart_pfn) << PAGE_SHIFT; + free_mem = get_total_mem(); ret = parse_crashkernel(boot_command_line, free_mem, &crash_size, &crash_base); - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/