Hello all, The following patchset implements AMD-Vi interrupt remapping logic and hooks it onto existing IR infrastucture.
I have bundled this patchset together with the "Explicit SID for IOAPIC"."Explicit SID for IOAPIC" functions to affiliate MSI routes with a requester ID and a PCI device if present which enables platform devices like IOAPIC to make interrupt requests using an explicit SID as required by both VT-d and AMD-Vi. David Kiarie (6): hw/msi: Allow platform devices to use explicit SID hw/i386: enforce SID verification hw/iommu: Prepare for AMD IOMMU interrupt remapping hw/iommu: AMD IOMMU interrupt remapping hw/acpi: report IOAPIC on IVRS hw/iommu: share common code between IOMMUs hw/i386/acpi-build.c | 2 + hw/i386/amd_iommu.c | 244 +++++++++++++++++++++++++++++++++++++- hw/i386/amd_iommu.h | 40 +++---- hw/i386/intel_iommu.c | 89 +++++++------- hw/i386/kvm/pci-assign.c | 12 +- hw/i386/x86-iommu.c | 8 ++ hw/intc/ioapic.c | 25 +++- hw/misc/ivshmem.c | 6 +- hw/vfio/pci.c | 6 +- hw/virtio/virtio-pci.c | 7 +- include/hw/i386/ioapic_internal.h | 1 + include/hw/i386/x86-iommu.h | 1 + include/sysemu/kvm.h | 25 ++-- kvm-all.c | 10 +- kvm-stub.c | 5 +- target-i386/kvm.c | 15 ++- 16 files changed, 386 insertions(+), 110 deletions(-) -- 2.1.4