User: Password:
Subscribe / Log in / New account

Enable support of IOAPIC hotplug on x86 platforms

From:  Jiang Liu <>
To:  Benjamin Herrenschmidt <>, Thomas Gleixner <>, Ingo Molnar <>, "H. Peter Anvin" <>, "Rafael J. Wysocki" <>, Bjorn Helgaas <>, Randy Dunlap <>, Yinghai Lu <>
Subject:  [Patch V3 00/16] Enable support of IOAPIC hotplug on x86 platforms
Date:  Wed, 25 Jun 2014 16:40:31 +0800
Message-ID:  <>
Cc:  Jiang Liu <>, Konrad Rzeszutek Wilk <>, Andrew Morton <>, Tony Luck <>, Joerg Roedel <>, Greg Kroah-Hartman <>,,,,
Archive-link:  Article

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

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
  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 interface to support ACPI based IOAPIC
  x86, irq: Introduce helper to check whether an IOAPIC has been
  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


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

Copyright © 2014, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds