diff options
author | Andi Kleen <ak@suse.de> | 2006-01-11 22:43:33 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-11 19:04:51 -0800 |
commit | e99286744599a66195de4cd975d7ef4d643c2789 (patch) | |
tree | d231b075c9bdb0bd7fa48d0eb00551a529e4586a /arch/x86_64 | |
parent | b347d25fbc4616f4f37895e9afbe25b2bbc7e11f (diff) | |
download | talos-obmc-linux-e99286744599a66195de4cd975d7ef4d643c2789.tar.gz talos-obmc-linux-e99286744599a66195de4cd975d7ef4d643c2789.zip |
[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')
-rw-r--r-- | arch/x86_64/Kconfig | 4 | ||||
-rw-r--r-- | arch/x86_64/kernel/Makefile | 5 | ||||
-rw-r--r-- | arch/x86_64/kernel/setup.c | 9 |
3 files changed, 17 insertions, 1 deletions
diff --git a/arch/x86_64/Kconfig b/arch/x86_64/Kconfig index 348b4a0d0d6f..150e1ac0bfed 100644 --- a/arch/x86_64/Kconfig +++ b/arch/x86_64/Kconfig @@ -69,6 +69,10 @@ config ARCH_MAY_HAVE_PC_FDC bool default y +config DMI + bool + default y + source "init/Kconfig" 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 obj-y := process.o signal.o entry.o traps.o irq.o \ ptrace.o time.o ioport.o ldt.o setup.o i8259.o sys_x86_64.o \ x8664_ksyms.o i387.o syscall.o vsyscall.o \ - setup64.o bootflag.o e820.o reboot.o quirks.o i8237.o + setup64.o bootflag.o e820.o reboot.o quirks.o i8237.o \ + dmi_scan.o obj-$(CONFIG_X86_MCE) += mce.o obj-$(CONFIG_X86_MCE_INTEL) += mce_intel.o @@ -47,3 +48,5 @@ intel_cacheinfo-y += ../../i386/kernel/cpu/intel_cacheinfo.o quirks-y += ../../i386/kernel/quirks.o i8237-y += ../../i386/kernel/i8237.o msr-$(subst m,y,$(CONFIG_X86_MSR)) += ../../i386/kernel/msr.o +dmi_scan-y += ../../i386/kernel/dmi_scan.o + 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 @@ #include <linux/mmzone.h> #include <linux/kexec.h> #include <linux/cpufreq.h> +#include <linux/dmi.h> #include <asm/mtrr.h> #include <asm/uaccess.h> @@ -1392,3 +1393,11 @@ struct seq_operations cpuinfo_op = { .stop = c_stop, .show = show_cpuinfo, }; + +static int __init run_dmi_scan(void) +{ + dmi_scan_machine(); + return 0; +} +core_initcall(run_dmi_scan); + |