Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+21 −19
Original line number Diff line number Diff line
#ifndef _ASM_X86_IRQ_VECTORS_H
#define _ASM_X86_IRQ_VECTORS_H

#include <linux/threads.h>
/*
 * Linux IRQ vector layout.
 *
@@ -16,8 +17,8 @@
 *  Vectors   0 ...  31 : system traps and exceptions - hardcoded events
 *  Vectors  32 ... 127 : device interrupts
 *  Vector  128         : legacy int80 syscall interface
 *  Vectors 129 ... 237 : device interrupts
 *  Vectors 238 ... 255 : special interrupts
 *  Vectors 129 ... 229 : device interrupts
 *  Vectors 230 ... 255 : special interrupts
 *
 * 64-bit x86 has per CPU IDT tables, 32-bit has one shared IDT table.
 *
@@ -96,37 +97,38 @@
#define THRESHOLD_APIC_VECTOR		0xf9
#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
 */
#define X86_PLATFORM_IPI_VECTOR		0xed
#define X86_PLATFORM_IPI_VECTOR		0xf7

/*
 * 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
 */
#define MCE_SELF_VECTOR			0xeb
#define MCE_SELF_VECTOR			0xf4

/* 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