aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/mpparse_64.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/mpparse_64.c')
-rw-r--r--arch/x86/kernel/mpparse_64.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/arch/x86/kernel/mpparse_64.c b/arch/x86/kernel/mpparse_64.c
index 269fd46df42c..fb74135f9d0e 100644
--- a/arch/x86/kernel/mpparse_64.c
+++ b/arch/x86/kernel/mpparse_64.c
@@ -29,6 +29,7 @@
29#include <asm/io_apic.h> 29#include <asm/io_apic.h>
30#include <asm/proto.h> 30#include <asm/proto.h>
31#include <asm/acpi.h> 31#include <asm/acpi.h>
32#include <asm/bios_ebda.h>
32 33
33#include <mach_apic.h> 34#include <mach_apic.h>
34 35
@@ -641,13 +642,9 @@ static void __init __find_smp_config(unsigned reserve)
641 * should be fixed. 642 * should be fixed.
642 */ 643 */
643 644
644 address = *(unsigned short *)phys_to_virt(0x40E); 645 address = get_bios_ebda();
645 address <<= 4; 646 if (address)
646 if (smp_scan_config(address, 0x1000, reserve)) 647 smp_scan_config(address, 0x1000, reserve);
647 return;
648
649 /* If we have come this far, we did not find an MP table */
650 printk(KERN_INFO "No mptable found.\n");
651} 648}
652 649
653void __init early_find_smp_config(void) 650void __init early_find_smp_config(void)