[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [RFC PATCH 00/15] spapr: add support for PHB hotplug
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-ppc] [RFC PATCH 00/15] spapr: add support for PHB hotplug |
Date: |
Thu, 30 Apr 2015 16:10:30 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 |
On 29/04/2015 21:20, Michael Roth wrote:
> These patches are based on latest spapr-hotplug-pci patches, and
> can also be obtained from:
>
> https://github.com/mdroth/qemu/commits/spapr-hotplug-phb
>
> These patches implement support for hotplug/unplug of PCI host-bridges.
> The main use cases are:
>
> - allowing for VFIO PCI hotplug for host kernels that still require a
> 1:1 mapping between guest PHB/TCE table and an iommu group (a
> requirement that will be relaxed with Alexey Kardashevskiy's VFIO
> rework for DDW support)
> - allocating new PHBs/TCE tables for hotplugging/distributing VFIO
> devices that have different NUMA affinities associated with them
> for performance reason
> - expanding hotplug capacity for passthrough/emulated PCI devices
>
> 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
>
> Automatic add/remove of PHBs based on EPOW event mechanism require
> updated versions of powerpc-utils, rtas_errd, and librtas. Patches
> are forthcoming and will be available in future versions, but for now
> we can add them manually by executing the following in the guest
> after/before hotplug/unplug, respectively:
>
> # add PHB
> drmgr -c PHB -s "PHB 2" -a -n
>
> # remove PHB
> drmgr -c PHB -s "PHB 2" -r -n
>
> Feedback/comments are very much appreciated.
I reviewed the QOM/qdev/memory parts. Don't know much about the rest,
sorry. :)
Paolo
> hw/core/qdev.c | 24 ++++++++++++------
> hw/pci/pci.c | 33 +++++++++++++++++++++++++
> hw/ppc/spapr.c | 183
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
> hw/ppc/spapr_drc.c | 1 +
> hw/ppc/spapr_events.c | 5 ++++
> hw/ppc/spapr_iommu.c | 1 +
> hw/ppc/spapr_pci.c | 66
> ++++++++++++++++++++++++++++++++++++++++++++++---
> include/hw/pci-host/spapr.h | 3 ++-
> include/hw/pci/pci.h | 3 +++
> include/hw/ppc/spapr.h | 1 +
> include/hw/qdev-core.h | 3 +++
> 11 files changed, 310 insertions(+), 13 deletions(-)
>
>
>
- Re: [Qemu-ppc] [RFC PATCH 05/15] spapr_pci: add PHB unrealize, (continued)
- [Qemu-ppc] [RFC PATCH 03/15] spapr_drc: pass object ownership to parent/owner, Michael Roth, 2015/04/29
- [Qemu-ppc] [RFC PATCH 04/15] spapr_iommu: pass object ownership to parent/owner, Michael Roth, 2015/04/29
- [Qemu-ppc] [RFC PATCH 06/15] spapr_pci: also use 'index' property as DRC index for PHBs, Michael Roth, 2015/04/29
- [Qemu-ppc] [RFC PATCH 07/15] spapr: enable PHB hotplug for pseries-2.4, Michael Roth, 2015/04/29
- [Qemu-ppc] [RFC PATCH 08/15] spapr: create DR connectors for PHBs and register reset hooks, Michael Roth, 2015/04/29
- Re: [Qemu-ppc] [RFC PATCH 00/15] spapr: add support for PHB hotplug,
Paolo Bonzini <=