From: Andi Kleen Fix the Lindenhurst MSI fix on x86-64 to compile again Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton --- 25-akpm/include/asm-x86_64/msi.h | 3 ++- 25-akpm/include/asm-x86_64/smp.h | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff -puN include/asm-x86_64/msi.h~x86_64-lindenhurst-msi-build-fix include/asm-x86_64/msi.h --- 25/include/asm-x86_64/msi.h~x86_64-lindenhurst-msi-build-fix Fri Oct 1 16:54:12 2004 +++ 25-akpm/include/asm-x86_64/msi.h Fri Oct 1 16:54:12 2004 @@ -7,10 +7,11 @@ #define ASM_MSI_H #include +#include #define LAST_DEVICE_VECTOR 232 #define MSI_DEST_MODE MSI_LOGICAL_MODE #define MSI_TARGET_CPU_SHIFT 12 -#define MSI_TARGET_CPU TARGET_CPUS +#define MSI_TARGET_CPU logical_smp_processor_id() #endif /* ASM_MSI_H */ diff -puN include/asm-x86_64/smp.h~x86_64-lindenhurst-msi-build-fix include/asm-x86_64/smp.h --- 25/include/asm-x86_64/smp.h~x86_64-lindenhurst-msi-build-fix Fri Oct 1 16:54:12 2004 +++ 25-akpm/include/asm-x86_64/smp.h Fri Oct 1 16:54:12 2004 @@ -133,5 +133,13 @@ static inline unsigned int cpu_mask_to_a }) #endif +#ifndef __ASSEMBLY__ +static __inline int logical_smp_processor_id(void) +{ + /* we don't want to mark this access volatile - bad code generation */ + return GET_APIC_LOGICAL_ID(*(unsigned long *)(APIC_BASE+APIC_LDR)); +} +#endif + #endif _