x64, x2apic/intr-remap: Interrupt-remapping and x2apic support
Status from this message: applied to tip/x86/x2apic - thanks Suresh.
Get series with b4
b4 am [email protected]Versions newest first
Patches in v1 Applied
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/26 | x64, x2apic/intr-remap: Intel vt-d, IOMMU code reorganizationdrivers/ drivers/ drivers/ +1 more | +264 | 0 replies | |
| 2/26 | x64, x2apic/intr-remap: fix the need for sequential array allocation of iommusdrivers/ drivers/ drivers/ | +18 | 0 replies | |
| 3/26 | x64, x2apic/intr-remap: code re-structuring, to be used by both DMA and Interrupt remappingdrivers/ drivers/ drivers/ +1 more | +88 | 0 replies | |
| 4/26 | x64, x2apic/intr-remap: use CONFIG_DMAR for DMA-remapping specific codedrivers/ | +24 | 0 replies | |
| 5/26 | x64, x2apic/intr-remap: Fix the need for RMRR in the DMA-remapping detectiondrivers/ | +1 | 0 replies | |
| 6/26 | x64, x2apic/intr-remap: parse ioapic scope under vt-d structuresdrivers/ drivers/ drivers/ +3 more | +84 | 0 replies | |
| 7/26 | x64, x2apic/intr-remap: move IOMMU_WAIT_OP() macro to intel-iommu.hdrivers/ drivers/ | +15 | 0 replies | |
| 8/26 | x64, x2apic/intr-remap: Queued invalidation infrastructure (part of VT-d)drivers/ drivers/ drivers/ | +211 | 0 replies | |
| 9/26 | x64, x2apic/intr-remap: Interrupt remapping infrastructuredrivers/ drivers/ drivers/ +4 more | +272 | 0 replies | |
| 10/26 | x64, x2apic/intr-remap: routines managing Interrupt remapping table entries.drivers/ drivers/ include/ | +259 | 0 replies | |
| 11/26 | x64, x2apic/intr-remap: generic irq migration support from process contextinclude/ kernel/ | +9 | 3 replies | |
| 12/26 | x64, x2apic/intr-remap: 8259 specific mask/unmask routinesarch/ include/ | +27 | 0 replies | |
| 13/26 | x64, x2apic/intr-remap: ioapic routines which deal with initial io-apic RTE setuparch/ include/ | +72 | 0 replies | |
| 14/26 | x64, x2apic/intr-remap: introduce read_apic_id() to genapic routinesarch/ arch/ arch/ +5 more | +36 | 0 replies | |
| 15/26 | x64, x2apic/intr-remap: basic apic ops supportarch/ arch/ arch/ +6 more | +109 | 0 replies | |
| 16/26 | x64, x2apic/intr-remap: cpuid bits for x2apic featurearch/ include/ | +3 | 0 replies | |
| 17/26 | x64, x2apic/intr-remap: disable DMA-remapping if Interrupt-remapping is detected (temporary quirk)drivers/ | +25 | 0 replies | |
| 18/26 | x64, x2apic/intr-remap: x2apic ops for x2apic mode supportarch/ include/ include/ | +60 | 0 replies | |
| 19/26 | x64, x2apic/intr-remap: introcude self IPI to genapic routinesarch/ arch/ include/ +2 more | +8 | 4 replies | |
| 20/26 | x64, x2apic/intr-remap: x2apic cluster mode supportarch/ arch/ arch/ +1 more | +139 | 0 replies | |
| 21/26 | x64, x2apic/intr-remap: setup init_apic_ldr for UVarch/ | +5 | 2 replies | |
| 22/26 | x64, x2apic/intr-remap: IO-APIC support for interrupt-remappingarch/ arch/ drivers/ +4 more | +321 | 0 replies | |
| 23/26 | x64, x2apic/intr-remap: MSI and MSI-X support for interrupt remapping infrastructurearch/ drivers/ include/ +1 more | +238 | 5 replies | |
| 24/26 | x64, x2apic/intr-remap: add x2apic support, including enabling interrupt-remappingDocumentation/ arch/ arch/ +6 more | +171 | 0 replies | |
| 25/26 | x64, x2apic/intr-remap: support for x2apic physical mode supportarch/ arch/ arch/ +1 more | +139 | 0 replies | |
| 26/26 | x64, x2apic/intr-remap: introduce CONFIG_INTR_REMAParch/ | +8 | 4 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [patch 00/26] x64, x2apic/intr-remap: Interrupt-remapping and x2apic support
x2APIC architecture provides a new x2apic mode, which allows for the increased range of processor addressability ( > 8 bit apic ID support), MSR access to APIC registers, etc. x2apic specification can be found at
http://download.intel.com/design/processor/specupdt/318148.pdf
(located under http://developer.intel.com/products/processor/manuals/index.htm )
Interrupt-remapping is part of Intel Virtualization Technology for Directed I/O architecture and the specification can be found from
http://download.intel.com/technology/computing/vptech/Intel(r)_VT_for_Direct_IO.pdf
(above link seems to be broken for the moment, but in general it should be found under http://www.intel.com/technology/virtualization/ )
Interrupt-remapping architecture enables extended Interrupt Mode on x86 platforms supporting 32-bit APIC-IDs. This infrastructure allows the existing interrupt sources such as I/OxAPICs and MSI/MSI-X devices work seamlessly with apic-id's > 8 bits. As such, this is a pre-requisite for enabling x2apic mode in the CPU.
This patchset adds 64-bit support for interrupt-remapping and x2apic, which introduces apic_ops for basic APIC ops(uncached memory Vs MSR accesses etc), new irq_chip's for supporting interrupt-remapping and new genapic for supporting IPI's, logical cluster/physical x2apic modes.
irq migration in the presence of interrupt-remapping is done from the process-context as opposed to interrupt-context. Interrupt-remapping infrastrucutre allows us to do this migration in a simple fashion (atleast for edge triggered interrupts).
Interrupt-remapping (CONFIG_INTR_REMAP) and DMA-remapping (CONFIG_DMAR) can be enabled separately.
More details in the individual patches that follow.