summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMartin J. Bligh <mbligh@aracnet.com>2003-01-14 19:29:10 -0800
committerLinus Torvalds <torvalds@penguin.transmeta.com>2003-01-14 19:29:10 -0800
commitfbf7fcc5074bdc46f959e488bd56909412a5689f (patch)
tree6f8d807c991549c9538f31ba7183d6c4d17c12d5 /include
parentd1ae0ede7e46bdc80a730110897c14424eab698c (diff)
[PATCH] Fix interrupt dest mode / delivery mode confusion
Patch from James Cleverdon & John Stultz Currently the naming for the IO-APIC fields is very confused, we assign dest_LowestPrio to delivery_mode, and INT_DELIVERY_MODE to dest_mode. The values are correct, but the naming is wrong - this patch corrects that confusion. It also moves the definitions of those settings into subarch, where they belong (we have to use fixed delivery mode for Summit due to what seems to be an Intel IO-APIC bug with P4 clustered mode).
Diffstat (limited to 'include')
-rw-r--r--include/asm-i386/mach-bigsmp/mach_apic.h3
-rw-r--r--include/asm-i386/mach-default/mach_apic.h3
-rw-r--r--include/asm-i386/mach-numaq/mach_apic.h3
-rw-r--r--include/asm-i386/mach-summit/mach_apic.h3
-rw-r--r--include/asm-i386/smp.h6
5 files changed, 12 insertions, 6 deletions
diff --git a/include/asm-i386/mach-bigsmp/mach_apic.h b/include/asm-i386/mach-bigsmp/mach_apic.h
index bee177a4f195..96d1658e920f 100644
--- a/include/asm-i386/mach-bigsmp/mach_apic.h
+++ b/include/asm-i386/mach-bigsmp/mach_apic.h
@@ -21,6 +21,9 @@ static inline int apic_id_registered(void)
#define APIC_DFR_VALUE (APIC_DFR_CLUSTER)
#define TARGET_CPUS ((cpu_online_map < 0xf)?cpu_online_map:0xf)
+#define INT_DELIVERY_MODE dest_LowestPrio
+#define INT_DEST_MODE 1 /* logical delivery broadcast to all procs */
+
#define APIC_BROADCAST_ID (0x0f)
#define check_apicid_used(bitmap, apicid) (0)
diff --git a/include/asm-i386/mach-default/mach_apic.h b/include/asm-i386/mach-default/mach_apic.h
index 9405531fb35b..8468b48c032b 100644
--- a/include/asm-i386/mach-default/mach_apic.h
+++ b/include/asm-i386/mach-default/mach_apic.h
@@ -12,6 +12,9 @@
#define no_balance_irq (0)
#define esr_disable (0)
+#define INT_DELIVERY_MODE dest_LowestPrio
+#define INT_DEST_MODE 1 /* logical delivery broadcast to all procs */
+
#define APIC_BROADCAST_ID 0x0F
#define check_apicid_used(bitmap, apicid) (bitmap & (1 << apicid))
diff --git a/include/asm-i386/mach-numaq/mach_apic.h b/include/asm-i386/mach-numaq/mach_apic.h
index 05c0fd19266d..41904831130a 100644
--- a/include/asm-i386/mach-numaq/mach_apic.h
+++ b/include/asm-i386/mach-numaq/mach_apic.h
@@ -8,6 +8,9 @@
#define no_balance_irq (1)
#define esr_disable (1)
+#define INT_DELIVERY_MODE dest_LowestPrio
+#define INT_DEST_MODE 0 /* physical delivery on LOCAL quad */
+
#define APIC_BROADCAST_ID 0x0F
#define check_apicid_used(bitmap, apicid) ((bitmap) & (1 << (apicid)))
diff --git a/include/asm-i386/mach-summit/mach_apic.h b/include/asm-i386/mach-summit/mach_apic.h
index 78f6b26f0ead..4e5a76aa9e26 100644
--- a/include/asm-i386/mach-summit/mach_apic.h
+++ b/include/asm-i386/mach-summit/mach_apic.h
@@ -25,6 +25,9 @@ static inline unsigned long calculate_ldr(unsigned long old)
#define APIC_DFR_VALUE (x86_summit ? APIC_DFR_CLUSTER : APIC_DFR_FLAT)
#define TARGET_CPUS (x86_summit ? XAPIC_DEST_CPUS_MASK : cpu_online_map)
+#define INT_DELIVERY_MODE dest_Fixed
+#define INT_DEST_MODE 1 /* logical delivery broadcast to all procs */
+
#define APIC_BROADCAST_ID (x86_summit ? 0xFF : 0x0F)
#define check_apicid_used(bitmap, apicid) (0)
diff --git a/include/asm-i386/smp.h b/include/asm-i386/smp.h
index 85c61d5f9497..dcb0f64e31ba 100644
--- a/include/asm-i386/smp.h
+++ b/include/asm-i386/smp.h
@@ -22,12 +22,6 @@
#endif
#endif
-#ifdef CONFIG_X86_NUMAQ
- #define INT_DELIVERY_MODE 0 /* physical delivery on LOCAL quad */
-#else
- #define INT_DELIVERY_MODE 1 /* logical delivery broadcast to all procs */
-#endif
-
#define BAD_APICID 0xFFu
#ifdef CONFIG_SMP
#ifndef __ASSEMBLY__