On Wed, 14 Aug 2019 11:40:50 +0530 Aravinda Prasad <aravi...@linux.vnet.ibm.com> wrote:
> This patch set adds support for FWNMI in PowerKVM guests. > > System errors such as SLB multihit and memory errors > that cannot be corrected by hardware is passed on to > the kernel for handling by raising machine check > exception (an NMI). Upon such machine check exceptions, > if the address in error belongs to guest then KVM > invokes guests' 0x200 interrupt vector if the guest > is not FWNMI capable. For FWNMI capable guest > KVM passes the control to QEMU by exiting the guest. > > This patch series adds functionality to QEMU to pass > on such machine check exceptions to the FWNMI capable > guest kernel by building an error log and invoking > the guest registered machine check handling routine. > > The KVM changes are now part of the upstream kernel > (commit e20bbd3d). This series contain QEMU changes. > > Change Log v11: > - Moved FWNMI SPAPR cap defaults to 4.2 class option > - Fixed issues with handling fwnmi KVM capability > Hi Aravinda, I'm afraid this series needs rebasing. It doesn't apply cleanly on current ppc-for-4.2 (SHA1 b1e8156743). Cheers, -- Greg > Change Log v10: > - Reshuffled the patch sequence + minor fixes > > Change Log v9: > - Fixed kvm cap and spapr cap issues > > Change Log v8: > - Added functionality to check FWNMI capability during > VM migration > --- > > Aravinda Prasad (6): > Wrapper function to wait on condition for the main loop mutex > ppc: spapr: Introduce FWNMI capability > target/ppc: Handle NMI guest exit > target/ppc: Build rtas error log upon an MCE > ppc: spapr: Handle "ibm,nmi-register" and "ibm,nmi-interlock" RTAS calls > migration: Include migration support for machine check handling > > > cpus.c | 5 + > hw/ppc/spapr.c | 78 +++++++++++++ > hw/ppc/spapr_caps.c | 29 +++++ > hw/ppc/spapr_events.c | 268 > ++++++++++++++++++++++++++++++++++++++++++++++ > hw/ppc/spapr_rtas.c | 78 +++++++++++++ > include/hw/ppc/spapr.h | 25 ++++ > include/qemu/main-loop.h | 8 + > target/ppc/cpu.h | 1 > target/ppc/kvm.c | 38 +++++++ > target/ppc/kvm_ppc.h | 13 ++ > target/ppc/trace-events | 1 > 11 files changed, 542 insertions(+), 2 deletions(-) > > -- > Signature