[PATCH v2 00/26] x86, irq: support ioapic device hotplug

Yinghai Lu
2013-02-08T19:28:56Z

Hi,

Current x86 code does not support iapic hotplug yet.

This patcheset will try to pre-reserve irq block in allocated_irqs bitmap.
for hot add ioapic controller, also record irq_base in gsi_config, so later
could use it to convert gsi to irq for pci device using that ioapic controller.
Need to new realloc_irq to allocate irq_desc/cfg later.

It is based on x86/apic and pci/next that is supporting pci root bus hotplug now.

could get them from:
git://git.kernel.org/pub/scm/linux/kernel/git/yinghai/linux-yinghai.git for-x86-irq

Yinghai Lu (26):
x86, irq: Change irq_remap_modify_chip_defaults to static
x86, irq: Modify irq chip once for irq remapping
x86, irq: Print out MSI/MSI-X clearly
x86, irq: Show MSI-X in /proc/interrupt
x86, irq: Show pci device name for msi in /proc/interrupt
x86, irq: Make dmar_msi/hpet_msi irq_chip name consistent
ia64, irq: Add dummy create_irq_nr()
iommu, irq: Allocate irq_desc for dmar_msi with local node
x86, irq: kill create_irq()
x86, irq: Convert irq_2_pin list to generic list
genirq: Split __irq_reserve_irqs from irq_alloc_descs
x86, irq: Add realloc_irq_and_cfg_at()
x86, irq: Move down arch_early_irq_init()
x86, irq: Split out alloc_ioapic_save_registers()
xen, irq: call irq_realloc_desc_at() at first
x86, irq: pre-reserve irq range/realloc for booting path
x86, irq: Add ioapic_gsi_to_irq
genirq: Bail out early in free_desc()
x86, irq: More strict checking about registering ioapic
x86, irq: Make mp_register_ioapic handle hotadd ioapic
x86, irq: Add mp_unregister_ioapic to handle hot-remove ioapic
x86, irq: Make ioapics loop skip blank slots
x86, ioapic: Find usable ioapic id for 64bit.
x86: Move declaration for mp_register_ioapic()
PCI: Disable mem in the ioapic removing path
PCI, x86, ACPI: Add ioapic hotplug support with acpi host bridge.

arch/ia64/kernel/irq_ia64.c | 10 +
arch/x86/include/asm/hw_irq.h | 2 +-
arch/x86/include/asm/io_apic.h | 7 +
arch/x86/include/asm/irq_remapping.h | 6 -
arch/x86/include/asm/mpspec.h | 21 +-
arch/x86/kernel/acpi/boot.c | 32 +--
arch/x86/kernel/apic/apic.c | 9 +-
arch/x86/kernel/apic/io_apic.c | 446 +++++++++++++++++++++++++---------
drivers/acpi/pci_root.c | 4 +
drivers/iommu/dmar.c | 2 +-
drivers/iommu/irq_remapping.c | 24 +-
drivers/pci/Kconfig | 3 +-
drivers/pci/ioapic.c | 243 ++++++++++++------
drivers/xen/events.c | 8 +-
include/linux/irq.h | 6 +
include/linux/pci-acpi.h | 8 +
kernel/irq/irqdesc.c | 83 +++++--
17 files changed, 673 insertions(+), 241 deletions(-)

--
1.7.10.4