During pci root bus hot-add, ioapic and iommu need to be parsed at first. Using acpi_pci_driver->add to do that. The patches need to apply to for-pci-root-bus-hotplug and for-x86-irq and those two patches have been rebased to 3.4-rc1. could get from git://git.kernel.org/pub/scm/linux/kernel/git/yinghai/linux-yinghai.git for-iommu Thanks Yinghai Yinghai Lu (14): ACPI, PCI: Stop pci devices before acpi_pci_driver remove calling PCI, x86: Move pci_enable_bridges() down ACPI, PCI: Skip extra pci_enable_bridges for non hot-add root PCI: set dev_node early for pci_dev IOMMU: Update dmar units devices list during hotplug IOMMU: Fix tboot force iommu logic IOMMU: Don't clean handler data before free_irq() IOMMU: iommu_unique_seq_id() ACPI: Add acpi_run_dsm() IOMMU: Separate free_dmar_iommu from free_iommu IOMMU: Add init_dmar_one() IOMMU: Add intel_enable_irq_remapping_one() IOMMU: Add dmar_parse_one_drhd() IOMMU: Add intel iommu irq-remapping and dmar hotplug support arch/x86/pci/legacy.c | 1 + drivers/acpi/bus.c | 77 +++++++ drivers/acpi/pci_root.c | 15 +- drivers/acpi/pci_root_hp.c | 1 + drivers/iommu/dmar.c | 420 +++++++++++++++++++++++++++++++++-- drivers/iommu/intel-iommu.c | 167 ++++++++++++-- drivers/iommu/intel_irq_remapping.c | 172 ++++++++++++++- drivers/pci/probe.c | 2 + drivers/pci/remove.c | 2 +- drivers/pci/setup-bus.c | 2 - include/acpi/acpi_bus.h | 1 + include/linux/acpi.h | 10 + include/linux/dmar.h | 59 +++++- include/linux/pci.h | 1 + 14 files changed, 867 insertions(+), 63 deletions(-) -- 1.7.7 -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html