iommu.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/28] AMD IOMMU interrupt remapping support
@ 2012-07-05 12:36 Joerg Roedel
       [not found] ` <1341491808-23083-1-git-send-email-joerg.roedel-5C7GfCeVMHo@public.gmane.org>
  0 siblings, 1 reply; 37+ messages in thread
From: Joerg Roedel @ 2012-07-05 12:36 UTC (permalink / raw)
  To: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA
  Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA

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(-)

^ permalink raw reply	[flat|nested] 37+ messages in thread

end of thread, other threads:[~2012-07-09 12:32 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-05 12:36 [PATCH 0/28] AMD IOMMU interrupt remapping support Joerg Roedel
     [not found] ` <1341491808-23083-1-git-send-email-joerg.roedel-5C7GfCeVMHo@public.gmane.org>
2012-07-05 12:36   ` [PATCH 01/28] x86/irq: Add data structure to keep AMD specific irq remapping information Joerg Roedel
2012-07-05 12:36   ` [PATCH 02/28] x86/irq: Introduce irq_cfg->remapped Joerg Roedel
2012-07-05 12:36   ` [PATCH 03/28] x86/irq: Use irq_remap specific print_IO_APIC paths only on Intel Joerg Roedel
     [not found]     ` <1341491808-23083-4-git-send-email-joerg.roedel-5C7GfCeVMHo@public.gmane.org>
2012-07-06  8:50       ` Ingo Molnar
2012-07-06 13:05         ` Joerg Roedel
2012-07-06 14:00           ` Ingo Molnar
     [not found]             ` <20120706140037.GA22845-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2012-07-09 12:32               ` Joerg Roedel
2012-07-05 12:36   ` [PATCH 04/28] iommu/amd: Use acpi_get_table instead of acpi_table_parse Joerg Roedel
2012-07-05 12:36   ` [PATCH 05/28] iommu/amd: Split out PCI related parts of IOMMU initialization Joerg Roedel
2012-07-05 12:36   ` [PATCH 06/28] iommu/amd: Move informational prinks out of iommu_enable Joerg Roedel
2012-07-06  4:08     ` Joe Perches
2012-07-06 12:08       ` Joerg Roedel
2012-07-05 12:36   ` [PATCH 07/28] iommu/amd: Introduce early_amd_iommu_init routine Joerg Roedel
2012-07-05 12:36   ` [PATCH 08/28] iommu/amd: Split enable_iommus() routine Joerg Roedel
2012-07-05 12:36   ` [PATCH 09/28] iommu/amd: Move unmap_flush message to amd_iommu_init_dma_ops() Joerg Roedel
2012-07-05 12:36   ` [PATCH 10/28] iommu/amd: Introduce amd_iommu_init_dma routine Joerg Roedel
2012-07-05 12:36   ` [PATCH 11/28] iommu/amd: Convert iommu initialization to state machine Joerg Roedel
2012-07-05 12:36   ` [PATCH 12/28] iommu/amd: Keep track of HPET and IOAPIC device ids Joerg Roedel
2012-07-05 12:36   ` [PATCH 13/28] iommu/amd: Add slab-cache for irq remapping tables Joerg Roedel
2012-07-05 12:36   ` [PATCH 14/28] iommu/amd: Allocate data structures to keep track of " Joerg Roedel
2012-07-05 12:36   ` [PATCH 15/28] iommu/amd: Check if IOAPIC information is correct Joerg Roedel
2012-07-05 12:36   ` [PATCH 16/28] iommu/amd: Block all interrupts by default with irq-remapping enabled Joerg Roedel
2012-07-05 12:36   ` [PATCH 17/28] iommu/amd: Split device table initialization into irq and dma part Joerg Roedel
     [not found]     ` <1341491808-23083-18-git-send-email-joerg.roedel-5C7GfCeVMHo@public.gmane.org>
2012-07-06 13:08       ` Joerg Roedel
2012-07-05 12:36   ` [PATCH 18/28] iommu/amd: Make sure IOMMU is not considered to translate itself Joerg Roedel
2012-07-05 12:36   ` [PATCH 19/28] iommu/amd: Add IRTE invalidation routine Joerg Roedel
2012-07-05 12:36   ` [PATCH 20/28] iommu/amd: Add routines to manage irq remapping tables Joerg Roedel
2012-07-05 12:36   ` [PATCH 21/28] iommu/amd: Add IOAPIC remapping routines Joerg Roedel
2012-07-05 12:36   ` [PATCH 22/28] iommu/amd: Implement MSI routines for interrupt remapping Joerg Roedel
2012-07-05 12:36   ` [PATCH 23/28] iommu/amd: Add call-back routine for HPET MSI Joerg Roedel
2012-07-05 12:36   ` [PATCH 24/28] iommu/amd: Add initialization routines for AMD interrupt remapping Joerg Roedel
2012-07-05 12:36   ` [PATCH 25/28] iommu/amd: Make sure irq remapping still works on dma init failure Joerg Roedel
2012-07-05 12:36   ` [PATCH 26/28] iommu/irq: Use amd_iommu_irq_ops if supported Joerg Roedel
2012-07-05 12:36   ` [PATCH 27/28] iommu/amd: Print message to system log when irq remapping is enabled Joerg Roedel
2012-07-05 12:36   ` [PATCH 28/28] iommu/amd: Report irq remapping through IOMMU-API Joerg Roedel
2012-07-06 14:08   ` [PATCH 0/28] AMD IOMMU interrupt remapping support Joerg Roedel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).