On Mon, Nov 25, 2019 at 07:58:00AM +0100, 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 extend the XIVE models with the new XiveFabric > and XivePresenter interfaces to 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 line 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.2 I now have all of this applied to the ppc-for-5.0 branch. -- 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