summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMartin J. Bligh <mbligh@aracnet.com>2003-01-14 19:29:51 -0800
committerLinus Torvalds <torvalds@penguin.transmeta.com>2003-01-14 19:29:51 -0800
commiteb0258126de912460cf549167728f5b48a6de5cf (patch)
treee4926a9d1b5a584b6f317050622f51f98a19307f /include
parenta5aea3c61ebdea58bf09524ad17b1513a61b09af (diff)
[PATCH] Fix APIC header defines for Summit
Patch from James Cleverdon & John Stultz 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.
Diffstat (limited to 'include')
-rw-r--r--include/asm-i386/apicdef.h9
-rw-r--r--include/asm-i386/mach-summit/mach_mpparse.h4
-rw-r--r--include/asm-i386/mpspec.h6
3 files changed, 13 insertions, 6 deletions
diff --git a/include/asm-i386/apicdef.h b/include/asm-i386/apicdef.h
index 4aac5f72e9ed..47aa0c17c49a 100644
--- a/include/asm-i386/apicdef.h
+++ b/include/asm-i386/apicdef.h
@@ -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 --git a/include/asm-i386/mach-summit/mach_mpparse.h b/include/asm-i386/mach-summit/mach_mpparse.h
index 1d73e88f061a..cb0c875b58ce 100644
--- a/include/asm-i386/mach-summit/mach_mpparse.h
+++ b/include/asm-i386/mach-summit/mach_mpparse.h
@@ -15,7 +15,9 @@ static inline void mpc_oem_pci_bus(struct mpc_config_bus *m,
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 --git a/include/asm-i386/mpspec.h b/include/asm-i386/mpspec.h
index 6f3a009bad64..bdb208ca961c 100644
--- a/include/asm-i386/mpspec.h
+++ b/include/asm-i386/mpspec.h
@@ -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