[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 00/17] ppc/pnv: add XIVE support for KVM gues
From: |
David Gibson |
Subject: |
Re: [Qemu-devel] [PATCH v2 00/17] ppc/pnv: add XIVE support for KVM guests |
Date: |
Mon, 22 Jul 2019 18:29:11 +1000 |
User-agent: |
Mutt/1.12.0 (2019-05-25) |
On Thu, Jul 18, 2019 at 01:54:03PM +0200, Cédric Le Goater wrote:
> Hello,
>
> The QEMU PowerNV machine emulates a baremetal OpenPOWER system and
> acts as an hypervisor (L0). Supporting emulation of KVM to run guests
> (L1) requires a few more extensions, among which guest support for the
> XIVE interrupt controller on POWER9 processor.
>
> The following changes include some fixes for the PowerNV machine and
> provide support for XIVE escalations and interrupt resend. This
> mechanism is used by XIVE to notify the hypervisor that a vCPU is not
> dispatched on a HW thread. Tested on a QEMU PowerNV machine and a
> simple QEMU pseries guest doing network on a local bridge.
>
> The XIVE interrupt controller offers a way to increase the XIVE
> resources per chip by configuring multiple XIVE blocks on a chip. This
> is not currently supported by the model. However, some configurations,
> such as OPAL/skiboot, use one block-per-chip configuration with some
> optimizations. One of them is to override the hardwired chip ID by the
> block id in the PowerBUS operations and for CAM compares. This
> patchset improves the support for this setup. Tested with 4 chips.
>
> A series from Suraj adding guest support in the Radix MMU model of the
> QEMU PowerNV machine is still required and will be send later. The
> whole patchset can be found under :
>
> https://github.com/legoater/qemu/tree/powernv-4.1
I've applied 1-8 to ppc-for-4.2, still looking at the rest.
>
> Thanks,
>
> C.
>
> Changes since v1:
>
> - minor extra fixes
> - split the escalation support in different patches
> - kept the XiveRouter type for XiveTCTX back pointer (will address
> this in P10)
> - removed pnv_xive_vst_size(). Really broken on indirect tables.
> - improved the dump of the NVT table
> - introduce pnv_xive_get_block_id()
>
>
> Cédric Le Goater (17):
> ppc/xive: use an abstract type for XiveNotifier
> ppc/pnv: add more dummy XSCOM addresses for the P9 CAPP
> ppc/xive: Implement TM_PULL_OS_CTX special command
> ppc/xive: Provide backlog support
> ppc/xive: Provide escalation support
> ppc/xive: Provide unconditional escalation support
> ppc/xive: Provide silent escalation support
> ppc/xive: Improve 'info pic' support
> ppc/xive: Extend XiveTCTX with a XiveRouter pointer
> ppc/xive: Introduce xive_tctx_ipb_update()
> ppc/xive: Synthesize interrupt from the saved IPB in the NVT
> ppc/pnv: Remove pnv_xive_vst_size() routine
> ppc/pnv: Dump the XIVE NVT table
> ppc/pnv: Skip empty slots of the XIVE NVT table
> ppc/pnv: Grab the XiveRouter object from XiveTCTX in
> pnv_xive_get_tctx()
> ppc/pnv: Introduce a pnv_xive_get_block_id() interface to XiveRouter
> ppc/pnv: quiesce some XIVE errors
>
> include/hw/ppc/pnv_xive.h | 3 -
> include/hw/ppc/xive.h | 21 +--
> include/hw/ppc/xive_regs.h | 34 +++++
> hw/intc/pnv_xive.c | 210 +++++++++++++------------
> hw/intc/spapr_xive.c | 7 +-
> hw/intc/xive.c | 304 ++++++++++++++++++++++++++++++-------
> hw/ppc/pnv_xscom.c | 20 +++
> 7 files changed, 428 insertions(+), 171 deletions(-)
>
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature
- [Qemu-devel] [PATCH v2 09/17] ppc/xive: Extend XiveTCTX with a XiveRouter pointer, (continued)
- [Qemu-devel] [PATCH v2 09/17] ppc/xive: Extend XiveTCTX with a XiveRouter pointer, Cédric Le Goater, 2019/07/18
- [Qemu-devel] [PATCH v2 10/17] ppc/xive: Introduce xive_tctx_ipb_update(), Cédric Le Goater, 2019/07/18
- [Qemu-devel] [PATCH v2 11/17] ppc/xive: Synthesize interrupt from the saved IPB in the NVT, Cédric Le Goater, 2019/07/18
- [Qemu-devel] [PATCH v2 12/17] ppc/pnv: Remove pnv_xive_vst_size() routine, Cédric Le Goater, 2019/07/18
- [Qemu-devel] [PATCH v2 13/17] ppc/pnv: Dump the XIVE NVT table, Cédric Le Goater, 2019/07/18
- [Qemu-devel] [PATCH v2 15/17] ppc/pnv: Grab the XiveRouter object from XiveTCTX in pnv_xive_get_tctx(), Cédric Le Goater, 2019/07/18
- [Qemu-devel] [PATCH v2 14/17] ppc/pnv: Skip empty slots of the XIVE NVT table, Cédric Le Goater, 2019/07/18
- [Qemu-devel] [PATCH v2 16/17] ppc/pnv: Introduce a pnv_xive_get_block_id() interface to XiveRouter, Cédric Le Goater, 2019/07/18
- [Qemu-devel] [PATCH v2 17/17] ppc/pnv: quiesce some XIVE errors, Cédric Le Goater, 2019/07/18
- Re: [Qemu-devel] [PATCH v2 00/17] ppc/pnv: add XIVE support for KVM guests, no-reply, 2019/07/18
- Re: [Qemu-devel] [PATCH v2 00/17] ppc/pnv: add XIVE support for KVM guests,
David Gibson <=