On Fri, Sep 26, 2014 at 10:02:01PM +0800, Jiang Liu wrote:
We plan to restructure x86 interrupt code based on hierarchy irqdomain,Adding Aravind.
that is to build irqdomains for CPU vector, interrupt remapping unit,
IOAPIC, MSI and HPET etc and organize those irqdomains in hierarchy mode.
Each irqdomain manages corresponding interrupt controller and talks to
parent interrupt controller through public irqdomain interfaces. We also
support stacked irq_chip based on hierarchy irqdomain. It will make the
x86 interrupt architecture much more clear and more easy to maintain
with hierarchy irqdomain and stacked irq_chip. It may also help ARM
interrupt management architecture too.
This is the second patch set to enable support of hierarchy irqdomain
on x86 platforms. It depends on the first part at:
And you may access it at:
And there will be a third patch set to convert IOAPIC driver to support
hierarchy irqdomain and clean up code.
The first patch extends irqdomain interfaces to support hierarchy
irqdomain. Hope this interface could be used by other architectures too,
such as ARM/ARM64.
The second patch introduces two helper functions to support stacked
Patch 3-9 implements an irqdomain to manange CPU interrupt vectors, and
it's the root irqdomain for x86 platforms.
Patch 10-13 converts Intel and AMD interrupt remapping drivers to
support hierarchy irqdomain.
Patch 14-16 converts HPET and MSI to support hierarchy irqdomain.
Patch 17-20 cleans up unsued code in x86 arch and interrupt remapping
Patch 21-24 converts DMAR, HTIRQ and UV to support hierarchy irqdomain.
We have tested this patchset on Intel 32-bit and 64-bit systems. And it
also passes Fengguang's 0day tests. But helps are need for testing:
1) AMD interrupt remapping
2) AMD HT_IRQ
@Aravind: you might want to give that patchset a run just in case, to
make sure it doesn't break anything on AMD. You'll need the previous
patchset to go before too, though:
I'm sure Jiang will help you if you have more questions.