diff options
author | Andi Kleen <ak@suse.de> | 2006-01-11 16:43:33 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-11 22:04:51 -0500 |
commit | e99286744599a66195de4cd975d7ef4d643c2789 (patch) | |
tree | d231b075c9bdb0bd7fa48d0eb00551a529e4586a /arch/x86_64/kernel | |
parent | b347d25fbc4616f4f37895e9afbe25b2bbc7e11f (diff) |
[PATCH] x86_64: Generalize DMI and enable for x86-64
Some people need it now on 64bit so reuse the i386 code for
x86-64. This will be also useful for future bug workarounds.
It is a bit simplified there because there is no need
to do it very early on x86-64. This means it doesn't need
early ioremap et.al. We run it as a core initcall right now.
I hope it's not needed for early setup.
I added a general CONFIG_DMI symbol in case IA64 or someone
else wants to reuse the code later too.
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/x86_64/kernel')
-rw-r--r-- | arch/x86_64/kernel/Makefile | 5 | ||||
-rw-r--r-- | arch/x86_64/kernel/setup.c | 9 |
2 files changed, 13 insertions, 1 deletions
diff --git a/arch/x86_64/kernel/Makefile b/arch/x86_64/kernel/Makefile index 12bc54005e2f..4601fdafb7cb 100644 --- a/arch/x86_64/kernel/Makefile +++ b/arch/x86_64/kernel/Makefile | |||
@@ -7,7 +7,8 @@ EXTRA_AFLAGS := -traditional | |||
7 | obj-y := process.o signal.o entry.o traps.o irq.o \ | 7 | obj-y := process.o signal.o entry.o traps.o irq.o \ |
8 | ptrace.o time.o ioport.o ldt.o setup.o i8259.o sys_x86_64.o \ | 8 | ptrace.o time.o ioport.o ldt.o setup.o i8259.o sys_x86_64.o \ |
9 | x8664_ksyms.o i387.o syscall.o vsyscall.o \ | 9 | x8664_ksyms.o i387.o syscall.o vsyscall.o \ |
10 | setup64.o bootflag.o e820.o reboot.o quirks.o i8237.o | 10 | setup64.o bootflag.o e820.o reboot.o quirks.o i8237.o \ |
11 | dmi_scan.o | ||
11 | 12 | ||
12 | obj-$(CONFIG_X86_MCE) += mce.o | 13 | obj-$(CONFIG_X86_MCE) += mce.o |
13 | obj-$(CONFIG_X86_MCE_INTEL) += mce_intel.o | 14 | obj-$(CONFIG_X86_MCE_INTEL) += mce_intel.o |
@@ -47,3 +48,5 @@ intel_cacheinfo-y += ../../i386/kernel/cpu/intel_cacheinfo.o | |||
47 | quirks-y += ../../i386/kernel/quirks.o | 48 | quirks-y += ../../i386/kernel/quirks.o |
48 | i8237-y += ../../i386/kernel/i8237.o | 49 | i8237-y += ../../i386/kernel/i8237.o |
49 | msr-$(subst m,y,$(CONFIG_X86_MSR)) += ../../i386/kernel/msr.o | 50 | msr-$(subst m,y,$(CONFIG_X86_MSR)) += ../../i386/kernel/msr.o |
51 | dmi_scan-y += ../../i386/kernel/dmi_scan.o | ||
52 | |||
diff --git a/arch/x86_64/kernel/setup.c b/arch/x86_64/kernel/setup.c index 33e77ec8da22..6810690d6045 100644 --- a/arch/x86_64/kernel/setup.c +++ b/arch/x86_64/kernel/setup.c | |||
@@ -44,6 +44,7 @@ | |||
44 | #include <linux/mmzone.h> | 44 | #include <linux/mmzone.h> |
45 | #include <linux/kexec.h> | 45 | #include <linux/kexec.h> |
46 | #include <linux/cpufreq.h> | 46 | #include <linux/cpufreq.h> |
47 | #include <linux/dmi.h> | ||
47 | 48 | ||
48 | #include <asm/mtrr.h> | 49 | #include <asm/mtrr.h> |
49 | #include <asm/uaccess.h> | 50 | #include <asm/uaccess.h> |
@@ -1392,3 +1393,11 @@ struct seq_operations cpuinfo_op = { | |||
1392 | .stop = c_stop, | 1393 | .stop = c_stop, |
1393 | .show = show_cpuinfo, | 1394 | .show = show_cpuinfo, |
1394 | }; | 1395 | }; |
1396 | |||
1397 | static int __init run_dmi_scan(void) | ||
1398 | { | ||
1399 | dmi_scan_machine(); | ||
1400 | return 0; | ||
1401 | } | ||
1402 | core_initcall(run_dmi_scan); | ||
1403 | |||