Changes IO_APIC_MAX_ID to depend on the APIC type we're using.
The Summit machines have to use a larger set of bits in the apic registers,
we enlarge under ifdef for Summit only. We enlarge MAX_APICS for summit
as well as NUMA-Q (it would be nice to move this to subarch, but it creates
circular dependency problems ... I'll fix this up later).
Adds a check for the newer Summit boxes with a different name.
diff -Nru a/arch/i386/kernel/io_apic.c b/arch/i386/kernel/io_apic.c
--- a/arch/i386/kernel/io_apic.c	Tue Jan 14 11:02:28 2003
+++ b/arch/i386/kernel/io_apic.c	Tue Jan 14 11:02:28 2003
@@ -1763,7 +1763,7 @@
 
 #ifdef CONFIG_ACPI_BOOT
 
-#define IO_APIC_MAX_ID		15
+#define IO_APIC_MAX_ID APIC_BROADCAST_ID
 
 int __init io_apic_get_unique_id (int ioapic, int apic_id)
 {
diff -Nru a/include/asm-i386/apicdef.h b/include/asm-i386/apicdef.h
--- a/include/asm-i386/apicdef.h	Tue Jan 14 11:02:28 2003
+++ b/include/asm-i386/apicdef.h	Tue Jan 14 11:02:28 2003
@@ -11,8 +11,13 @@
 #define		APIC_DEFAULT_PHYS_BASE	0xfee00000
  
 #define		APIC_ID		0x20
-#define			APIC_ID_MASK		(0x0F<<24)
-#define			GET_APIC_ID(x)		(((x)>>24)&0x0F)
+#ifdef CONFIG_X86_SUMMIT
+ #define		APIC_ID_MASK		(0xFF<<24)
+ #define		GET_APIC_ID(x)		(((x)>>24)&0xFF)
+#else
+ #define		APIC_ID_MASK		(0x0F<<24)
+ #define		GET_APIC_ID(x)		(((x)>>24)&0x0F)
+#endif
 #define		APIC_LVR	0x30
 #define			APIC_LVR_MASK		0xFF00FF
 #define			GET_APIC_VERSION(x)	((x)&0xFF)
diff -Nru a/include/asm-i386/mach-summit/mach_mpparse.h b/include/asm-i386/mach-summit/mach_mpparse.h
--- a/include/asm-i386/mach-summit/mach_mpparse.h	Tue Jan 14 11:02:28 2003
+++ b/include/asm-i386/mach-summit/mach_mpparse.h	Tue Jan 14 11:02:28 2003
@@ -15,7 +15,9 @@
 static inline void mps_oem_check(struct mp_config_table *mpc, char *oem, 
 		char *productid)
 {
-	if (!strncmp(oem, "IBM ENSW", 8) && !strncmp(str, "VIGIL SMP", 9))
+	if (!strncmp(oem, "IBM ENSW", 8) && 
+			(!strncmp(productid, "VIGIL SMP", 9) 
+			 || !strncmp(productid, "RUTHLESS SMP", 12)))
 		x86_summit = 1;
 }
 
diff -Nru a/include/asm-i386/mpspec.h b/include/asm-i386/mpspec.h
--- a/include/asm-i386/mpspec.h	Tue Jan 14 11:02:28 2003
+++ b/include/asm-i386/mpspec.h	Tue Jan 14 11:02:28 2003
@@ -16,11 +16,11 @@
 /*
  * a maximum of 16 APICs with the current APIC ID architecture.
  */
-#ifdef CONFIG_X86_NUMA
+#if defined(CONFIG_X86_NUMAQ) || defined (CONFIG_X86_SUMMIT)
 #define MAX_APICS 256
-#else /* !CONFIG_X86_NUMA */
+#else
 #define MAX_APICS 16
-#endif /* CONFIG_X86_NUMA */
+#endif
 
 #define MAX_MPC_ENTRY 1024
 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/