[PATCH 0/19] Improve IRQ remapping abstraction in x86 core code

From: Joerg Roedel
Date: Tue Aug 07 2012 - 11:44:42 EST


Hi,

here is a patch-set to clean-up and the x86 APIC and IO-APIC code from
special cases for interrupt remapping. The problems are mostly solved by
introducing new function pointers to the x86_msi_ops and x86_io_apic_ops
which are changed when interrupt remapping gets enabled.

With this patch-set all checks for irq_remapping_enabled and
irq_remapped() happen only in the IRQ remapping specific code. A few
CONFIG_IRQ_REMAP checks are gone as well. The patches are based on Linux
v3.6-rc1.

The code was tested on various machines (AMD and Intel based) with and
without IRQ remapping in use. I have found no issues so far, but broader
testing is certainly necessary.

For anyone interested in a git-tree I pushed this code to

git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git ioapic-cleanups

Comments appreciated :-)

Regards,

Joerg

Diffstat:

arch/x86/include/asm/hpet.h | 4 +-
arch/x86/include/asm/hw_irq.h | 15 +-
arch/x86/include/asm/io_apic.h | 21 ++
arch/x86/include/asm/irq_remapping.h | 40 ++--
arch/x86/include/asm/pci.h | 2 +
arch/x86/include/asm/x86_init.h | 30 ++-
arch/x86/kernel/apic/apic.c | 28 ++-
arch/x86/kernel/apic/io_apic.c | 375 +++++++++++++---------------------
arch/x86/kernel/hpet.c | 2 +-
arch/x86/kernel/x86_init.c | 25 ++-
drivers/iommu/dmar.c | 2 +
drivers/iommu/intel-iommu.c | 2 +
drivers/iommu/intel_irq_remapping.c | 8 +
drivers/iommu/irq_remapping.c | 186 ++++++++++++++++-
drivers/iommu/irq_remapping.h | 3 +
15 files changed, 444 insertions(+), 299 deletions(-)


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/