From: Yinghai Lu Date: Tue, 10 Jun 2008 01:11:36 +0000 (-0700) Subject: x86: make generic arch support NUMAQ, fix #2 X-Git-Tag: firefly_0821_release~19697^2~249^2~23 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=b1f006b65c12b85df81f12c1073ad18fd26f4a16;p=firefly-linux-kernel-4.4.55.git x86: make generic arch support NUMAQ, fix #2 we are checking mptable early for numaq, so don't need to reserve_bootmem for it. bootmem is not there yet. do the same thing as 64-bit. found it on 64g above system from 64-bit kernel kexec to 32 bit kernel with numaq support. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar --- diff --git a/arch/x86/kernel/mpparse.c b/arch/x86/kernel/mpparse.c index 6ae60909b601..7ac1b689b70a 100644 --- a/arch/x86/kernel/mpparse.c +++ b/arch/x86/kernel/mpparse.c @@ -853,9 +853,13 @@ static int __init smp_scan_config(unsigned long base, unsigned long length, smp_found_config = 1; #endif mpf_found = mpf; -#ifdef CONFIG_X86_32 + printk(KERN_INFO "found SMP MP-table at [%p] %08lx\n", mpf, virt_to_phys(mpf)); + + if (!reserve) + return 1; +#ifdef CONFIG_X86_32 reserve_bootmem(virt_to_phys(mpf), PAGE_SIZE, BOOTMEM_DEFAULT); if (mpf->mpf_physptr) { @@ -877,9 +881,6 @@ static int __init smp_scan_config(unsigned long base, unsigned long length, } #else - if (!reserve) - return 1; - reserve_bootmem_generic(virt_to_phys(mpf), PAGE_SIZE, BOOTMEM_DEFAULT); if (mpf->mpf_physptr)