diff options
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r-- | arch/x86/kernel/mpparse_32.c | 2 | ||||
-rw-r--r-- | arch/x86/kernel/mpparse_64.c | 11 | ||||
-rw-r--r-- | arch/x86/kernel/setup_32.c | 2 |
3 files changed, 6 insertions, 9 deletions
diff --git a/arch/x86/kernel/mpparse_32.c b/arch/x86/kernel/mpparse_32.c index 838e4974e1c..a2162644cb4 100644 --- a/arch/x86/kernel/mpparse_32.c +++ b/arch/x86/kernel/mpparse_32.c @@ -27,11 +27,11 @@ #include <asm/mtrr.h> #include <asm/mpspec.h> #include <asm/io_apic.h> +#include <asm/bios_ebda.h> #include <mach_apic.h> #include <mach_apicdef.h> #include <mach_mpparse.h> -#include <bios_ebda.h> /* Have we found an MP table */ int smp_found_config; diff --git a/arch/x86/kernel/mpparse_64.c b/arch/x86/kernel/mpparse_64.c index 269fd46df42..fb74135f9d0 100644 --- a/arch/x86/kernel/mpparse_64.c +++ b/arch/x86/kernel/mpparse_64.c @@ -29,6 +29,7 @@ #include <asm/io_apic.h> #include <asm/proto.h> #include <asm/acpi.h> +#include <asm/bios_ebda.h> #include <mach_apic.h> @@ -641,13 +642,9 @@ static void __init __find_smp_config(unsigned reserve) * should be fixed. */ - address = *(unsigned short *)phys_to_virt(0x40E); - address <<= 4; - if (smp_scan_config(address, 0x1000, reserve)) - return; - - /* If we have come this far, we did not find an MP table */ - printk(KERN_INFO "No mptable found.\n"); + address = get_bios_ebda(); + if (address) + smp_scan_config(address, 0x1000, reserve); } void __init early_find_smp_config(void) diff --git a/arch/x86/kernel/setup_32.c b/arch/x86/kernel/setup_32.c index eb97bcfe0f6..58f3c1fbc5c 100644 --- a/arch/x86/kernel/setup_32.c +++ b/arch/x86/kernel/setup_32.c @@ -62,7 +62,7 @@ #include <asm/io.h> #include <asm/vmi.h> #include <setup_arch.h> -#include <bios_ebda.h> +#include <asm/bios_ebda.h> #include <asm/cacheflush.h> #include <asm/processor.h> |