kernel_optimize_test/virt/kvm
Avi Kivity 399ec807dd 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>
2009-03-24 11:03:06 +02:00
..
coalesced_mmio.c KVM: Add coalesced MMIO support (common part) 2008-07-20 12:42:31 +03:00
coalesced_mmio.h KVM: Add coalesced MMIO support (common part) 2008-07-20 12:42:31 +03:00
ioapic.c KVM: Interrupt mask notifiers for ioapic 2009-03-24 11:03:03 +02:00
ioapic.h KVM: Export ioapic_get_delivery_bitmask 2008-12-31 16:55:01 +02:00
iodev.h KVM: kvm_io_device: extend in_range() to manage len and write attribute 2008-07-20 12:42:30 +03:00
iommu.c KVM: Fix assigned devices circular locking dependency 2009-02-15 02:47:39 +02:00
irq_comm.c KVM: Userspace controlled irq routing 2009-03-24 11:03:06 +02:00
kvm_main.c KVM: Userspace controlled irq routing 2009-03-24 11:03:06 +02:00
kvm_trace.c KVM: Prevent trace call into unloaded module text 2008-12-31 16:55:04 +02:00