summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/apic
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2010-01-04 16:16:06 -0800
committerH. Peter Anvin <hpa@zytor.com>2010-01-04 21:12:52 -0800
commit99d113b17e8ca5a8b68a9d3f7691e2f552dd6a06 (patch)
tree841583c66509f72cbae9cc3f12292195e95a949a /arch/x86/kernel/apic
parent9959c888a38b0f25b0e81a480f537d6489348442 (diff)
downloadtalos-op-linux-99d113b17e8ca5a8b68a9d3f7691e2f552dd6a06.tar.gz
talos-op-linux-99d113b17e8ca5a8b68a9d3f7691e2f552dd6a06.zip
x86, apic: Reclaim IDT vectors 0x20-0x2f
Reclaim 16 IDT vectors and make them available for general allocation. Reclaim vectors 0x20-0x2f by reallocating the IRQ_MOVE_CLEANUP_VECTOR to vector 0x1f. This is in the range of vector numbers that is officially reserved for the CPU (for exceptions), however, the use of the APIC to generate any vector 0x10 or above is documented, and the CPU internally can receive any vector number (the legacy BIOS uses INT 0x08-0x0f for interrupts, as messed up as that is.) Since IRQ_MOVE_CLEANUP_VECTOR has to be alone in the lowest-numbered priority level (block of 16), this effectively enables us to reclaim an otherwise-unusable APIC priority level and put it to use. Since this is a transient kernel-only allocation we can change it at any time, and if/when there is an exception at vector 0x1f this assignment needs to be changed as part of OS enabling that new feature. Signed-off-by: Yinghai Lu <yinghai@kernel.org> LKML-Reference: <4B4284C6.9030107@kernel.org> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'arch/x86/kernel/apic')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud