[Patch v6 00/15] Enable support of IOAPIC hotplug on x86 platforms

From: Jiang Liu
Date: Wed Sep 24 2014 - 04:57:16 EST

This patch set enhances IOAPIC core and ACPI drivers to support IOAPIC
hotplug on x86 platforms. It's based on latest mainstream kernel at

You may pull it from
https://github.com/jiangliu/linux.git ioapic/hotplug_v6

We have pick up several patches from Yinghai's original IOAPIC hotplug
patch set and reimplemented IOAPIC driver as an ACPI driver instead of
a PCI driver.

It has been tested on a 4-socket Intel SDV with socket hot-addition
capability. Any suggestions are welcomed!

Patch 1-4 are bugfixes and enhancements to ACPI subsystem
Patch 5 killes PCI IOAPIC driver
Patch 6-14 enhances IOAPIC core to support IOAPIC hotplug
Patch 15 reimplements ACPI IOAPIC driver and enables IOAPIC hotplug

1) Rebase to the latest v3.17-16
2) Minor fixes for comments
1) Fix a building error
2) Don't rename processor_core.c as apic_id.c
3) Improve comments
4) Reorder patches to get rid of some temporary code
1) Fix a bug in manage IOAPIC reference count
2) Rebase to v3.17-rc2
3) Refine commit messages
1) Refine ACPI resource walk functions for PCI root bus and IOAPIC
2) Improve commit messages
3) Reorder patch order for better maintenence

Jiang Liu (12):
x86, PCI, ACPI: Kill private function resource_to_addr() in
ACPI: Correct return value of acpi_dev_resource_address_space()
ACPI: Fix minor syntax issues in processor_core.c
PCI: Remove PCI ioapic driver
x86, irq: Remove __init marker for functions will be used by IOAPIC
x86, irq: Keep balance of IOAPIC pin reference count
x86, irq: Refine mp_register_ioapic() to prepare for IOAPIC hotplug
x86, irq, ACPI: Introduce a rwsem to protect IOAPIC operations from
x86, irq, ACPI: Implement interface to support ACPI based IOAPIC
x86, irq, ACPI: Implement interfaces to support ACPI based IOAPIC
x86, irq: Introduce helper to check whether an IOAPIC has been
x86, irq, ACPI: Implement ACPI driver to support IOAPIC hotplug

Yinghai Lu (3):
ACPI: Add interfaces to parse IOAPIC ID for IOAPIC hotplug
x86, irq: Split out alloc_ioapic_save_registers()
x86, irq: Prefer assigned ID in APIC ID register for x86_64

arch/x86/include/asm/io_apic.h | 6 +-
arch/x86/kernel/acpi/boot.c | 90 +++++++++++++--
arch/x86/kernel/apic/io_apic.c | 234 +++++++++++++++++++++++++++++++--------
arch/x86/pci/acpi.c | 142 +++++++++---------------
arch/x86/pci/intel_mid_pci.c | 10 +-
arch/x86/pci/irq.c | 7 +-
drivers/acpi/Kconfig | 6 +
drivers/acpi/Makefile | 1 +
drivers/acpi/internal.h | 7 ++
drivers/acpi/ioapic.c | 235 ++++++++++++++++++++++++++++++++++++++++
drivers/acpi/pci_irq.c | 11 +-
drivers/acpi/pci_root.c | 3 +
drivers/acpi/processor_core.c | 131 +++++++++++++++++++---
drivers/acpi/resource.c | 2 +-
drivers/pci/Kconfig | 7 --
drivers/pci/Makefile | 2 -
drivers/pci/ioapic.c | 121 ---------------------
include/linux/acpi.h | 5 +
include/linux/pci.h | 1 +
19 files changed, 727 insertions(+), 294 deletions(-)
create mode 100644 drivers/acpi/ioapic.c
delete mode 100644 drivers/pci/ioapic.c


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/