[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [for-2.11 PATCH 00/26] spapr: add support for PHB hotpl
From: |
Greg Kurz |
Subject: |
Re: [Qemu-devel] [for-2.11 PATCH 00/26] spapr: add support for PHB hotplug |
Date: |
Wed, 26 Jul 2017 10:48:54 +0200 |
On Wed, 26 Jul 2017 13:44:55 +1000
Alexey Kardashevskiy <address@hidden> wrote:
> On 26/07/17 03:57, Greg Kurz wrote:
> > This series is based on patches from Michel Roth posted in 2015:
> >
> > https://lists.gnu.org/archive/html/qemu-devel/2015-04/msg04246.html
> >
> > It addresses comments made during the RFC review, and also provides a bunch
> > of preliminary cleanup/fix patches. Since we have reached hard-freeze, this
> > feature is provided by a new pseries-2.11 machine type, introduced by this
> > series. It is based on David Gibson's ppc-for-2.10 branch, and I believe
> > some
> > of the preliminary fixes are eligible for 2.10.
> >
> > Note that it also requires an updated SLOF that supports a new private
> > hcall:
> > KVMPPC_H_UPDATE_PHANDLE. This is needed because SLOF changes FDT phandles to
> > Open Firmware phandles. Since the guest only sees the latter, QEMU must use
> > the updated value when populating the FDT for the hotplugged PHB (otherwise
> > the guest can't setup IRQs for the PCI devices). SLOF part is already
> > upstream:
> >
> > http://git.qemu.org/?p=SLOF.git;h=604d28cc3f791657414f8b21103921fa0147fc63
> >
> > With these patches we support the following:
> >
> > (qemu) device_add spapr-pci-host-bridge,index=2,id=phb2
> > (qemu) device_add virtio-net-pci,id=hp2.0,bus=phb2.0
> > (qemu) device_del hp2.0
> > (qemu) device_del phb2
> >
> > I could run some successful tests with a fedora25 guest:
> > - hotplug PHB + migrate + unplug PHB
> > - hotplug PHB + hotplug PCI device + unplug PHB => PCI device gets unplugged
> > - migrate before OS starts + hotplug PHB => destination uses OF phandles
> > - no regression observed with older machine types
> >
> > All the patches are also available here:
> >
> > https://github.com/gkurz/qemu/commits/spapr-hotplug-phb
> >
> > Cheers,
> >
> > --
> > Greg
> >
> > ---
> >
> > Greg Kurz (14):
> > spapr: move spapr_create_phb() to core machine code
> > spapr_pci: use memory_region_add_subregion() with DMA windows
> > spapr_iommu: use g_strdup_printf() instead of snprintf()
> > spapr_drc: use g_strdup_printf() instead of snprintf()
> > spapr_iommu: convert TCE table object to realize()
> > spapr_pci: parent the MSI memory region to the PHB
> > spapr_drc: fix realize and unrealize
> > spapr_drc: add unrealize method to physical DRC class
> > spapr_iommu: unregister vmstate at unrealize time
> > spapr: add pseries-2.11 machine type
>
> > spapr_pci: introduce drc_id property
> > spapr: allow guest to update the XICS phandle
> > spapr_pci: drop abusive sanity check when migrating the LSI table
> > spapr: add hotplug hooks for PHB hotplug
>
>
> This one did not make it to the lists.
>
Yeah, I've just realized that 'stg mail' failed to send this patch because
of a connection problem with OVH's mail relay... :-\
I've sent it again with --in-reply-to, so that it goes to the appropriate
thread.
>
>
> >
> > Michael Roth (11):
> > spapr_drc: pass object ownership to parent/owner
> > spapr_iommu: pass object ownership to parent/owner
> > pci: allow cleanup/unregistration of PCI buses
> > qdev: store DeviceState's canonical path to use when unparenting
> > spapr_pci: add PHB unrealize
> > spapr: enable PHB hotplug for pseries-2.11> 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
> >
> > Nathan Fontenot (1):
> > spapr: populate PHB DRC entries for root DT node
> >
> >
> > hw/acpi/piix4.c | 2
> > hw/char/virtio-serial-bus.c | 2
> > hw/core/bus.c | 11 --
> > hw/core/qdev.c | 15 ++-
> > hw/pci/pci.c | 33 +++++++
> > hw/pci/pcie.c | 2
> > hw/pci/shpc.c | 2
> > hw/ppc/spapr.c | 205
> > ++++++++++++++++++++++++++++++++++++++++-
> > hw/ppc/spapr_drc.c | 65 ++++++++++---
> > hw/ppc/spapr_events.c | 3 +
> > hw/ppc/spapr_hcall.c | 20 ++++
> > hw/ppc/spapr_iommu.c | 22 +++-
> > hw/ppc/spapr_pci.c | 86 +++++++++++++----
> > 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/compat.h | 3 +
> > include/hw/pci-host/spapr.h | 9 +-
> > include/hw/pci/pci.h | 3 +
> > include/hw/ppc/spapr.h | 15 +++
> > include/hw/ppc/spapr_drc.h | 8 ++
> > include/hw/qdev-core.h | 4 -
> > 24 files changed, 446 insertions(+), 78 deletions(-)
> >
> >
>
>
pgphFuxgusJfM.pgp
Description: OpenPGP digital signature
- Re: [Qemu-devel] [for-2.11 PATCH 21/26] qdev: pass an Object * to qbus_set_hotplug_handler(), (continued)
- [Qemu-devel] [for-2.11 PATCH 22/26] spapr_pci: provide node start offset via spapr_populate_pci_dt(), Greg Kurz, 2017/07/25
- [Qemu-devel] [for-2.11 PATCH 23/26] spapr_pci: add ibm, my-drc-index property for PHB hotplug, Greg Kurz, 2017/07/25
- [Qemu-devel] [for-2.11 PATCH 24/26] spapr: allow guest to update the XICS phandle, Greg Kurz, 2017/07/25
- [Qemu-devel] [for-2.11 PATCH 25/26] spapr_pci: drop abusive sanity check when migrating the LSI table, Greg Kurz, 2017/07/25
- Re: [Qemu-devel] [for-2.11 PATCH 00/26] spapr: add support for PHB hotplug, Alexey Kardashevskiy, 2017/07/25
- Re: [Qemu-devel] [for-2.11 PATCH 00/26] spapr: add support for PHB hotplug,
Greg Kurz <=
- [Qemu-devel] [for-2.11 PATCH 26/26] spapr: add hotplug hooks for PHB hotplug, Greg Kurz, 2017/07/26
- Re: [Qemu-devel] [Qemu-ppc] [for-2.11 PATCH 00/26] spapr: add support for PHB hotplug, Daniel Henrique Barboza, 2017/07/26