[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1344354229-8526-1-git-send-email-joerg.roedel@amd.com>
Date: Tue, 7 Aug 2012 17:43:30 +0200
From: Joerg Roedel <joerg.roedel@....com>
To: <x86@...nel.org>
CC: Suresh Siddha <suresh.b.siddha@...el.com>,
Yinghai Lu <yinghai@...nel.org>, <linux-kernel@...r.kernel.org>
Subject: [PATCH 0/19] Improve IRQ remapping abstraction in x86 core code
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists