x86: use get_bios_ebda in mpparse_64.c
authorAlexey Starikovskiy <astarikovskiy@suse.de>
Mon, 17 Mar 2008 19:08:17 +0000 (22:08 +0300)
committerIngo Molnar <mingo@elte.hu>
Thu, 17 Apr 2008 15:41:05 +0000 (17:41 +0200)
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/mpparse_32.c
arch/x86/kernel/mpparse_64.c
arch/x86/kernel/setup_32.c
arch/x86/mm/discontig_32.c
include/asm-x86/bios_ebda.h [new file with mode: 0644]
include/asm-x86/mach-default/bios_ebda.h [deleted file]

index 838e4974e1ce9c936ee83fad62a3295831081443..a2162644cb4eee22b3d3f22ca9af4aeeb6a1d558 100644 (file)
 #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;
index 269fd46df42c8f8b65474abee201c9e94ee085c8..fb74135f9d0e780d4f7e9f0ea921b3aaa16371f1 100644 (file)
@@ -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)
index eb97bcfe0f6f381b125ab4e4e5ea92e2d3306902..58f3c1fbc5c3fae7f74263c5ed70df649d4bfd84 100644 (file)
@@ -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>
 
index 8e25e06ff73088f50a335a9316e1c472b7d1f571..eba0bbede7a6b8e05319c5148b8d8b8b715e0db3 100644 (file)
@@ -37,7 +37,7 @@
 #include <asm/e820.h>
 #include <asm/setup.h>
 #include <asm/mmzone.h>
-#include <bios_ebda.h>
+#include <asm/bios_ebda.h>
 
 struct pglist_data *node_data[MAX_NUMNODES] __read_mostly;
 EXPORT_SYMBOL(node_data);
diff --git a/include/asm-x86/bios_ebda.h b/include/asm-x86/bios_ebda.h
new file mode 100644 (file)
index 0000000..9cbd9a6
--- /dev/null
@@ -0,0 +1,15 @@
+#ifndef _MACH_BIOS_EBDA_H
+#define _MACH_BIOS_EBDA_H
+
+/*
+ * there is a real-mode segmented pointer pointing to the
+ * 4K EBDA area at 0x40E.
+ */
+static inline unsigned int get_bios_ebda(void)
+{
+       unsigned int address = *(unsigned short *)phys_to_virt(0x40E);
+       address <<= 4;
+       return address; /* 0 means none */
+}
+
+#endif /* _MACH_BIOS_EBDA_H */
diff --git a/include/asm-x86/mach-default/bios_ebda.h b/include/asm-x86/mach-default/bios_ebda.h
deleted file mode 100644 (file)
index 9cbd9a6..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef _MACH_BIOS_EBDA_H
-#define _MACH_BIOS_EBDA_H
-
-/*
- * there is a real-mode segmented pointer pointing to the
- * 4K EBDA area at 0x40E.
- */
-static inline unsigned int get_bios_ebda(void)
-{
-       unsigned int address = *(unsigned short *)phys_to_virt(0x40E);
-       address <<= 4;
-       return address; /* 0 means none */
-}
-
-#endif /* _MACH_BIOS_EBDA_H */