From: Andi Kleen <ak@suse.de>

Fix the Lindenhurst MSI fix on x86-64 to compile again

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 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 <asm/desc.h>
+#include <asm/smp.h>
 
 #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
 
_