aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/kernel/mpparse.c9
1 files changed, 5 insertions, 4 deletions
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,
853 smp_found_config = 1; 853 smp_found_config = 1;
854#endif 854#endif
855 mpf_found = mpf; 855 mpf_found = mpf;
856#ifdef CONFIG_X86_32 856
857 printk(KERN_INFO "found SMP MP-table at [%p] %08lx\n", 857 printk(KERN_INFO "found SMP MP-table at [%p] %08lx\n",
858 mpf, virt_to_phys(mpf)); 858 mpf, virt_to_phys(mpf));
859
860 if (!reserve)
861 return 1;
862#ifdef CONFIG_X86_32
859 reserve_bootmem(virt_to_phys(mpf), PAGE_SIZE, 863 reserve_bootmem(virt_to_phys(mpf), PAGE_SIZE,
860 BOOTMEM_DEFAULT); 864 BOOTMEM_DEFAULT);
861 if (mpf->mpf_physptr) { 865 if (mpf->mpf_physptr) {
@@ -877,9 +881,6 @@ static int __init smp_scan_config(unsigned long base, unsigned long length,
877 } 881 }
878 882
879#else 883#else
880 if (!reserve)
881 return 1;
882
883 reserve_bootmem_generic(virt_to_phys(mpf), PAGE_SIZE, 884 reserve_bootmem_generic(virt_to_phys(mpf), PAGE_SIZE,
884 BOOTMEM_DEFAULT); 885 BOOTMEM_DEFAULT);
885 if (mpf->mpf_physptr) 886 if (mpf->mpf_physptr)