Hi,
this patch-set adds support for IRQ remapping to the AMD IOMMU driver in
Linux. It works similar to the already present IRQ remapping code for
VT-d. The IOAPIC, HPET and MSI interrupts have a fixed setup to index an
interrupt remapping table entry and the real vector and destination is
only configured in the IRQ remapping table. This means that also the IRQ
affinity is only changed in the IOMMU. The code was heavily
stress-tested on a lot of machines and no known issues are left.
I also pushed this code into a branch of the IOMMU tree:
git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git
irq-remapping
Use this branch if you want to test the code yourself.
Any feedback appreciated :)
Thanks,
Joerg
Diffstat:
arch/x86/include/asm/hw_irq.h | 15 +-
arch/x86/include/asm/irq_remapping.h | 2 +
arch/x86/kernel/apic/io_apic.c | 6 +-
drivers/iommu/amd_iommu.c | 507 +++++++++++++++++++++-
drivers/iommu/amd_iommu_init.c | 772 ++++++++++++++++++++++++----------
drivers/iommu/amd_iommu_proto.h | 8 +
drivers/iommu/amd_iommu_types.h | 58 ++-
drivers/iommu/intel_irq_remapping.c | 8 +-
drivers/iommu/irq_remapping.c | 6 +
drivers/iommu/irq_remapping.h | 5 +
10 files changed, 1151 insertions(+), 236 deletions(-)
_______________________________________________
iommu mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/iommu