[Patch V3 00/16] Enable support of IOAPIC hotplug on x86 platforms

From: Jiang Liu
Date: Wed Jun 25 2014 - 04:37:52 EST


This patch set enhances IOAPIC core and ACPI drivers to support IOAPIC
hotplug on x86 platforms. It's based on tip/x86/apic.

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

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-5 are minor bugfixes and code improvements
Patch 6-14 enhances ACPI and IOAPIC core to support IOAPIC hotplug
Patch 15 killes PCI IOAPIC driver
Patch 16 reimplements ACPI IOAPIC driver and enables IOAPIC hotplug

V2->V3:
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 (11):
x86, irq, ACPI: Protect acpi_pci_irq_enable() from reentrance
ACPI: Correct return value of acpi_dev_resource_address_space()
x86, PCI, ACPI: Kill private function resource_to_addr()
x86, irq: Remove __init marker for functions will be used by IOAPIC
hotplug
x86, irq: Refine mp_register_ioapic() to prepare for IOAPIC hotplug
x86, irq, ACPI: Introduce a rwsem to protect IOAPIC operations from
hotplug
x86, irq, ACPI: Implement interface to support ACPI based IOAPIC
hot-addition
x86, irq, ACPI: Implement interface to support ACPI based IOAPIC
hot-removal
x86, irq: Introduce helper to check whether an IOAPIC has been
registered
PCI: Remove PCI ioapic driver
x86, irq, ACPI: Implement ACPI driver to support IOAPIC hotplug

Yinghai Lu (5):
ACPI: Make map_mat_entry handle x2apic entry
ACPI: Move acpi_get_cpuid() to separated file
x86, irq: Split out alloc_ioapic_save_registers()
x86, ioapic: Find usable ioapic id for 64bit.
ACPI, ioapic: Add acpi_get_ioapic_id()

arch/x86/include/asm/io_apic.h | 6 +-
arch/x86/kernel/acpi/boot.c | 68 ++++++++-
arch/x86/kernel/apic/io_apic.c | 235 +++++++++++++++++++++++++-------
arch/x86/pci/acpi.c | 142 +++++++------------
drivers/acpi/Kconfig | 6 +
drivers/acpi/Makefile | 2 +
drivers/acpi/apic_id.c | 295 ++++++++++++++++++++++++++++++++++++++++
drivers/acpi/internal.h | 7 +
drivers/acpi/ioapic.c | 236 ++++++++++++++++++++++++++++++++
drivers/acpi/pci_irq.c | 7 +-
drivers/acpi/pci_root.c | 3 +
drivers/acpi/processor_core.c | 191 --------------------------
drivers/acpi/resource.c | 2 +-
drivers/pci/Kconfig | 7 -
drivers/pci/Makefile | 2 -
drivers/pci/ioapic.c | 121 ----------------
include/acpi/processor.h | 3 -
include/linux/acpi.h | 8 ++
18 files changed, 868 insertions(+), 473 deletions(-)
create mode 100644 drivers/acpi/apic_id.c
create mode 100644 drivers/acpi/ioapic.c
delete mode 100644 drivers/pci/ioapic.c

--
1.7.10.4

--
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/