This allows to hotplug/unplug PHBs. I could successfully test: - hotplug/unplug with e1000 device to validate LSIs - hotplug/unplug with virtio-net device to validate MSIs - some simple migration scenarios
Changes in v2: - rebased on current ppc-for-4.0 - added some preliminary cleanup - call unrealize from realize error path - advertise PHB hotplug in last patch - reworked phandle related code - sync LSIs to KVM Please comment. -- Greg --- Greg Kurz (5): spapr: Rename xics to intc in interrupt controller agnostic code spapr_pci: add PHB unrealize spapr_irq: Expose the phandle of the interrupt controller spapr_irq: Allow synchronization of a single irq state to KVM spapr: add hotplug hooks for PHB hotplug Michael Roth (6): spapr: create DR connectors for PHBs spapr_events: add support for phb hotplug events qdev: pass an Object * to qbus_set_hotplug_handler() spapr_pci: provide node start offset via spapr_populate_pci_dt() spapr_pci: add ibm, my-drc-index property for PHB hotplug spapr: enable PHB hotplug for default pseries machine type Nathan Fontenot (1): spapr: populate PHB DRC entries for root DT node Thomas Huth (1): ppc: Move spapr-related prototypes from xics.h into a seperate header file hw/acpi/pcihp.c | 2 - hw/acpi/piix4.c | 2 - hw/char/virtio-serial-bus.c | 2 - hw/core/bus.c | 11 +-- hw/intc/spapr_xive.c | 34 ++++++++- hw/intc/xics_kvm.c | 68 ++++++++++-------- hw/intc/xics_spapr.c | 29 +++++++- hw/pci/pcie.c | 2 - hw/pci/shpc.c | 2 - hw/ppc/spapr.c | 156 ++++++++++++++++++++++++++++++++++++++++- hw/ppc/spapr_drc.c | 18 +++++ hw/ppc/spapr_events.c | 5 + hw/ppc/spapr_irq.c | 45 ++++++++++++ hw/ppc/spapr_pci.c | 122 +++++++++++++++++++++++++------- hw/ppc/spapr_vio.c | 2 - hw/s390x/css-bridge.c | 2 - hw/s390x/s390-pci-bus.c | 6 +- hw/scsi/virtio-scsi.c | 2 - hw/scsi/vmw_pvscsi.c | 2 - hw/usb/dev-smartcard-reader.c | 2 - include/hw/pci-host/spapr.h | 8 ++ include/hw/ppc/spapr.h | 4 + include/hw/ppc/spapr_drc.h | 8 ++ include/hw/ppc/spapr_irq.h | 3 + include/hw/ppc/spapr_xive.h | 2 + include/hw/ppc/xics.h | 9 +- include/hw/ppc/xics_spapr.h | 39 ++++++++++ include/hw/qdev-core.h | 3 - 28 files changed, 492 insertions(+), 98 deletions(-) create mode 100644 include/hw/ppc/xics_spapr.h