diff options
Diffstat (limited to 'arch/x86/kernel/mpparse.c')
-rw-r--r-- | arch/x86/kernel/mpparse.c | 9 |
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) |