qemu-devel
[Top][All Lists]
Advanced

[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: Alexey Kardashevskiy
Subject: Re: [Qemu-devel] [for-2.11 PATCH 00/26] spapr: add support for PHB hotplug
Date: Wed, 26 Jul 2017 13:44:55 +1000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1

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.



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


-- 
Alexey



reply via email to

[Prev in Thread] Current Thread [Next in Thread]