Commit 60f6e65d authored by Shaohua Li's avatar Shaohua Li Committed by Ingo Molnar

x86: Cleanup vector usage

Cleanup the vector usage and make them continuous if possible.
Signed-off-by: default avatarShaohua Li <shaohua.li@intel.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Eric Dumazet <eric.dumazet@gmail.com>
LKML-Reference: <1295232722.1949.707.camel@sli10-conroe>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 795abaf1
#ifndef _ASM_X86_IRQ_VECTORS_H #ifndef _ASM_X86_IRQ_VECTORS_H
#define _ASM_X86_IRQ_VECTORS_H #define _ASM_X86_IRQ_VECTORS_H
#include <linux/threads.h>
/* /*
* Linux IRQ vector layout. * Linux IRQ vector layout.
* *
...@@ -16,8 +17,8 @@ ...@@ -16,8 +17,8 @@
* Vectors 0 ... 31 : system traps and exceptions - hardcoded events * Vectors 0 ... 31 : system traps and exceptions - hardcoded events
* Vectors 32 ... 127 : device interrupts * Vectors 32 ... 127 : device interrupts
* Vector 128 : legacy int80 syscall interface * Vector 128 : legacy int80 syscall interface
* Vectors 129 ... 237 : device interrupts * Vectors 129 ... 229 : device interrupts
* Vectors 238 ... 255 : special interrupts * Vectors 230 ... 255 : special interrupts
* *
* 64-bit x86 has per CPU IDT tables, 32-bit has one shared IDT table. * 64-bit x86 has per CPU IDT tables, 32-bit has one shared IDT table.
* *
...@@ -96,37 +97,38 @@ ...@@ -96,37 +97,38 @@
#define THRESHOLD_APIC_VECTOR 0xf9 #define THRESHOLD_APIC_VECTOR 0xf9
#define REBOOT_VECTOR 0xf8 #define REBOOT_VECTOR 0xf8
/* f0-f7 used for spreading out TLB flushes: */
#define INVALIDATE_TLB_VECTOR_END 0xf7
#define INVALIDATE_TLB_VECTOR_START 0xf0
#define NUM_INVALIDATE_TLB_VECTORS 8
/*
* Local APIC timer IRQ vector is on a different priority level,
* to work around the 'lost local interrupt if more than 2 IRQ
* sources per level' errata.
*/
#define LOCAL_TIMER_VECTOR 0xef
/* /*
* Generic system vector for platform specific use * Generic system vector for platform specific use
*/ */
#define X86_PLATFORM_IPI_VECTOR 0xed #define X86_PLATFORM_IPI_VECTOR 0xf7
/* /*
* IRQ work vector: * IRQ work vector:
*/ */
#define IRQ_WORK_VECTOR 0xec #define IRQ_WORK_VECTOR 0xf6
#define UV_BAU_MESSAGE 0xea #define UV_BAU_MESSAGE 0xf5
/* /*
* Self IPI vector for machine checks * Self IPI vector for machine checks
*/ */
#define MCE_SELF_VECTOR 0xeb #define MCE_SELF_VECTOR 0xf4
/* Xen vector callback to receive events in a HVM domain */ /* Xen vector callback to receive events in a HVM domain */
#define XEN_HVM_EVTCHN_CALLBACK 0xe9 #define XEN_HVM_EVTCHN_CALLBACK 0xf3
/*
* Local APIC timer IRQ vector is on a different priority level,
* to work around the 'lost local interrupt if more than 2 IRQ
* sources per level' errata.
*/
#define LOCAL_TIMER_VECTOR 0xef
/* f0-f7 used for spreading out TLB flushes: */
#define NUM_INVALIDATE_TLB_VECTORS 8
#define INVALIDATE_TLB_VECTOR_END 0xee
#define INVALIDATE_TLB_VECTOR_START \
(INVALIDATE_TLB_VECTOR_END - NUM_INVALIDATE_TLB_VECTORS + 1)
#define NR_VECTORS 256 #define NR_VECTORS 256
......
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