Commit eb025812 authored by Martin J. Bligh's avatar Martin J. Bligh Committed by Linus Torvalds

[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.
parent a5aea3c6
......@@ -1763,7 +1763,7 @@ late_initcall(io_apic_bug_finalize);
#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)
{
......
......@@ -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)
......
......@@ -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;
}
......
......@@ -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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment