Re: 2.6.12-rc3-mm1
From: Brice Goglin
Date: Sat Apr 30 2005 - 04:42:29 EST
Hi Andrew,
CONFIG_X86_MCE_INTEL=y doesn't compile on my Compaq Evo
(except when CONFIG_SMP is set).
I had to include asm/apic.h in mce_intel.c to fix it.
Patch attached.
Signed-off-by: Brice Goglin <Brice.Goglin@xxxxxxxxxxxx>
Regards,
Brice
CC arch/i386/kernel/cpu/mcheck/mce_intel.o
arch/i386/kernel/cpu/mcheck/mce_intel.c: In function
`smp_thermal_interrupt':
arch/i386/kernel/cpu/mcheck/mce_intel.c:25: warning: implicit
declaration of function `ack_APIC_irq'
arch/i386/kernel/cpu/mcheck/mce_intel.c: In function `intel_init_thermal':
arch/i386/kernel/cpu/mcheck/mce_intel.c:67: warning: implicit
declaration of function `apic_read'
arch/i386/kernel/cpu/mcheck/mce_intel.c:67: error: `APIC_LVTTHMR'
undeclared (first use in this function)
arch/i386/kernel/cpu/mcheck/mce_intel.c:67: error: (Each undeclared
identifier is reported only once
arch/i386/kernel/cpu/mcheck/mce_intel.c:67: error: for each function it
appears in.)
arch/i386/kernel/cpu/mcheck/mce_intel.c:68: error: `APIC_DM_SMI'
undeclared (first use in this function)
arch/i386/kernel/cpu/mcheck/mce_intel.c:77: error: `APIC_VECTOR_MASK'
undeclared (first use in this function)
arch/i386/kernel/cpu/mcheck/mce_intel.c:85: error: `APIC_DM_FIXED'
undeclared (first use in this function)
arch/i386/kernel/cpu/mcheck/mce_intel.c:85: error: `APIC_LVT_MASKED'
undeclared (first use in this function)
arch/i386/kernel/cpu/mcheck/mce_intel.c:86: warning: implicit
declaration of function `apic_write_around'
make[3]: *** [arch/i386/kernel/cpu/mcheck/mce_intel.o] Error 1
make[2]: *** [arch/i386/kernel/cpu/mcheck] Error 2
make[1]: *** [arch/i386/kernel/cpu] Error 2
make: *** [arch/i386/kernel] Error 2
--- arch/i386/kernel/cpu/mcheck/mce_intel.c.old 2005-04-30 11:36:56.000000000 +0200
+++ arch/i386/kernel/cpu/mcheck/mce_intel.c 2005-04-30 11:36:19.000000000 +0200
@@ -9,6 +9,7 @@
#include <asm/processor.h>
#include <asm/msr.h>
#include <asm/hw_irq.h>
+#include <asm/apic.h>
#include "mce.h"
static DEFINE_PER_CPU(unsigned long, next_check);