Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Joerg Roedel <joerg.roedel <at> amd.com>
Subject: [PATCH 0/19] Improve IRQ remapping abstraction in x86 core code
Newsgroups: gmane.linux.kernel
Date: Tuesday 7th August 2012 15:43:30 UTC (over 4 years ago)
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(-)
 
CD: 3ms