-
- Downloads
KVM: Userspace controlled irq routing
Currently KVM has a static routing from GSI numbers to interrupts (namely,
0-15 are mapped 1:1 to both PIC and IOAPIC, and 16:23 are mapped 1:1 to
the IOAPIC). This is insufficient for several reasons:
- HPET requires non 1:1 mapping for the timer interrupt
- MSIs need a new method to assign interrupt numbers and dispatch them
- ACPI APIC mode needs to be able to reassign the PCI LINK interrupts to the
ioapics
This patch implements an interrupt routing table (as a linked list, but this
can be easily changed) and a userspace interface to replace the table. The
routing table is initialized according to the current hardwired mapping.
Signed-off-by:
Avi Kivity <avi@redhat.com>
Showing
- arch/ia64/kvm/kvm-ia64.c 5 additions, 0 deletionsarch/ia64/kvm/kvm-ia64.c
- arch/x86/kvm/x86.c 6 additions, 0 deletionsarch/x86/kvm/x86.c
- include/linux/kvm.h 33 additions, 0 deletionsinclude/linux/kvm.h
- include/linux/kvm_host.h 31 additions, 0 deletionsinclude/linux/kvm_host.h
- virt/kvm/irq_comm.c 164 additions, 4 deletionsvirt/kvm/irq_comm.c
- virt/kvm/kvm_main.c 36 additions, 0 deletionsvirt/kvm/kvm_main.c
Loading
Please register or sign in to comment