aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-01-30 20:10:03 -0500
committerIngo Molnar <mingo@elte.hu>2009-01-30 22:21:19 -0500
commit5da690d29f0de17cc1835dd3eb8f8bd0945521f0 (patch)
tree8cc4e955535eff108446cc7154b93519a19b6185
parent8f47e16348e8e25eedf639092a8a2f10a66aba34 (diff)
x86, apic: unify the APIC vector enumeration
Most of the vector layout on 32-bit and 64-bit is identical now, so eliminate the duplicated enumeration of the vectors. Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--arch/x86/include/asm/irq_vectors.h35
1 files changed, 12 insertions, 23 deletions
diff --git a/arch/x86/include/asm/irq_vectors.h b/arch/x86/include/asm/irq_vectors.h
index 0e2220bb3142..393f85ecdd80 100644
--- a/arch/x86/include/asm/irq_vectors.h
+++ b/arch/x86/include/asm/irq_vectors.h
@@ -50,37 +50,26 @@
50 * into a single vector (CALL_FUNCTION_VECTOR) to save vector space. 50 * into a single vector (CALL_FUNCTION_VECTOR) to save vector space.
51 * TLB, reschedule and local APIC vectors are performance-critical. 51 * TLB, reschedule and local APIC vectors are performance-critical.
52 */ 52 */
53#ifdef CONFIG_X86_32
54
55# define SPURIOUS_APIC_VECTOR 0xff
56# define ERROR_APIC_VECTOR 0xfe
57# define RESCHEDULE_VECTOR 0xfd
58# define CALL_FUNCTION_VECTOR 0xfc
59# define CALL_FUNCTION_SINGLE_VECTOR 0xfb
60# define THERMAL_APIC_VECTOR 0xfa
61/* 0xf8 - 0xf9 : free */
62# define INVALIDATE_TLB_VECTOR_END 0xf7
63# define INVALIDATE_TLB_VECTOR_START 0xf0 /* f0-f7 used for TLB flush */
64 53
65# define NUM_INVALIDATE_TLB_VECTORS 8 54#define SPURIOUS_APIC_VECTOR 0xff
55#define ERROR_APIC_VECTOR 0xfe
56#define RESCHEDULE_VECTOR 0xfd
57#define CALL_FUNCTION_VECTOR 0xfc
58#define CALL_FUNCTION_SINGLE_VECTOR 0xfb
59#define THERMAL_APIC_VECTOR 0xfa
66 60
61#ifdef CONFIG_X86_32
62/* 0xf8 - 0xf9 : free */
67#else 63#else
68
69# define SPURIOUS_APIC_VECTOR 0xff
70# define ERROR_APIC_VECTOR 0xfe
71# define RESCHEDULE_VECTOR 0xfd
72# define CALL_FUNCTION_VECTOR 0xfc
73# define CALL_FUNCTION_SINGLE_VECTOR 0xfb
74# define THERMAL_APIC_VECTOR 0xfa
75# define THRESHOLD_APIC_VECTOR 0xf9 64# define THRESHOLD_APIC_VECTOR 0xf9
76# define UV_BAU_MESSAGE 0xf8 65# define UV_BAU_MESSAGE 0xf8
77# define INVALIDATE_TLB_VECTOR_END 0xf7 66#endif
78# define INVALIDATE_TLB_VECTOR_START 0xf0 /* f0-f7 used for TLB flush */
79 67
68/* f0-f7 used for spreading out TLB flushes: */
69#define INVALIDATE_TLB_VECTOR_END 0xf7
70#define INVALIDATE_TLB_VECTOR_START 0xf0
80#define NUM_INVALIDATE_TLB_VECTORS 8 71#define NUM_INVALIDATE_TLB_VECTORS 8
81 72
82#endif
83
84/* 73/*
85 * Local APIC timer IRQ vector is on a different priority level, 74 * Local APIC timer IRQ vector is on a different priority level,
86 * to work around the 'lost local interrupt if more than 2 IRQ 75 * to work around the 'lost local interrupt if more than 2 IRQ