Interrupts: Difference between revisions

From Xen
Jump to navigationJump to search
m (Created page with "Category:Developers")
 
m (set up -> sets up;14/11/2011 -> November 14, 2011)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
[[Category:Developers]]
[[Category:Developers]]

The purpose of this page is to document how Xen sets up and uses interrupts. It is a work in progress, and to a certain extent dynamic as patches modify the code. However, the contents of it is accurate of November 14, 2011.

== IDT vector entries ==
Refer to <code>xen/include/asm-x86/mach-default/irq_vectors.h</code>

=== Vector Ranges ===
{| cellpadding="2" cellspacing="0"
|| '''Section''' || '''Range''' || '''Use'''
|-
|| Exceptions || <code>0x00 - 0x1f</code> || Architecturally reserved
|-
|| Dynamic IRQs || <code>0x20 - 0xdf</code> || Free for assignment for devices
|-
|| Legacy || <code>0xe0 - 0xef</code> || Reserved range for PIC before switching to APIC
|-
|| High Priority || <code>0xf0 - 0xff</code> || For IPIs and serial interrupts
|}

=== Specific Vectors ===
{| cellpadding="2" cellspacing="0"
|| '''Vector''' || '''Symbol''' || '''Description'''
|-
|| <code>0x20</code> || <code>IRQ_MOVE_CLEANUP_VECTOR</code> || Clean up references to IRQs in past PCPUs after they have been moved
|-
|| <code>0x80</code> || <code>LEGACY_SYSCALL_VECTOR</code>
|-
|| <code>0x82</code> || <code>HYPERCALL_VECTOR</code>
|-
|| <code>0xf7</code> || <code>CMCI_APIC_VECTOR</code>
|-
|| <code>0xf8</code> || <code>PMU_APIC_VECTOR</code>
|-
|| <code>0xf9</code> || <code>LOCAL_TIMER_VECTOR</code>
|-
|| <code>0xfa</code> || <code>THERMAL_APIC_VECTOR</code>
|-
|| <code>0xfb</code> || <code>CALL_FUNCTION_VECTOR</code>
|-
|| <code>0xfc</code> || <code>EVENT_CHECK_VECTOR</code>
|-
|| <code>0xfd</code> || <code>INVALIDATE_TLB_VECTOR</code>
|-
|| <code>0xfe</code> || <code>ERROR_APIC_VECTOR</code>
|-
|| <code>0xff</code> || <code>SPURIOUS_APIC_VECTOR</code>
|}

Latest revision as of 02:15, 8 December 2011


The purpose of this page is to document how Xen sets up and uses interrupts. It is a work in progress, and to a certain extent dynamic as patches modify the code. However, the contents of it is accurate of November 14, 2011.

IDT vector entries

Refer to xen/include/asm-x86/mach-default/irq_vectors.h

Vector Ranges

Section Range Use
Exceptions 0x00 - 0x1f Architecturally reserved
Dynamic IRQs 0x20 - 0xdf Free for assignment for devices
Legacy 0xe0 - 0xef Reserved range for PIC before switching to APIC
High Priority 0xf0 - 0xff For IPIs and serial interrupts

Specific Vectors

Vector Symbol Description
0x20 IRQ_MOVE_CLEANUP_VECTOR Clean up references to IRQs in past PCPUs after they have been moved
0x80 LEGACY_SYSCALL_VECTOR
0x82 HYPERCALL_VECTOR
0xf7 CMCI_APIC_VECTOR
0xf8 PMU_APIC_VECTOR
0xf9 LOCAL_TIMER_VECTOR
0xfa THERMAL_APIC_VECTOR
0xfb CALL_FUNCTION_VECTOR
0xfc EVENT_CHECK_VECTOR
0xfd INVALIDATE_TLB_VECTOR
0xfe ERROR_APIC_VECTOR
0xff SPURIOUS_APIC_VECTOR