[Qemu-devel] [PATCH v2 00/13] spapr: Add support for PHB hotplug

Greg Kurz posted 13 patches 5 years, 3 months ago
Test checkpatch passed
Test asan passed
Test docker-clang@ubuntu passed
Test docker-mingw@fedora passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/154724039526.525985.3172545257507998890.stgit@bahia.lan
Maintainers: "Marc-André Lureau" <marcandre.lureau@redhat.com>, Amit Shah <amit@kernel.org>, "Cédric Le Goater" <clg@kaod.org>, Richard Henderson <rth@twiddle.net>, Igor Mammedov <imammedo@redhat.com>, Cornelia Huck <cohuck@redhat.com>, Christian Borntraeger <borntraeger@de.ibm.com>, Halil Pasic <pasic@linux.ibm.com>, David Hildenbrand <david@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, Dmitry Fleytman <dmitry.fleytman@gmail.com>, David Gibson <david@gibson.dropbear.id.au>, Paolo Bonzini <pbonzini@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Collin Walling <walling@linux.ibm.com>, Fam Zheng <fam@euphon.net>, Gerd Hoffmann <kraxel@redhat.com>
There is a newer version of this series
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
[Qemu-devel] [PATCH v2 00/13] spapr: Add support for PHB hotplug
Posted by Greg Kurz 5 years, 3 months ago
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


Re: [Qemu-devel] [PATCH v2 00/13] spapr: Add support for PHB hotplug
Posted by Michael S. Tsirkin 5 years, 3 months ago
On Fri, Jan 11, 2019 at 09:59:55PM +0100, Greg Kurz wrote:
> 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.

PCI things all look fine:

Reviewed-by: Michael S. Tsirkin <mst@redhat.com>

Pls merge through the sPAPR tree.


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

Re: [Qemu-devel] [Qemu-ppc] [PATCH v2 00/13] spapr: Add support for PHB hotplug
Posted by Greg Kurz 5 years, 3 months ago
On Fri, 11 Jan 2019 21:59:55 +0100
Greg Kurz <groug@kaod.org> wrote:

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

David,

I had enough remarks from Cedric to go for a v3. I expect to send
it shortly. Don't spend time on reviewing the v2.

Cheers,

--
Greg

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