[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v21 0/7]target-ppc/spapr: Add FWNMI support in QEMU for Power
From: |
David Gibson |
Subject: |
Re: [PATCH v21 0/7]target-ppc/spapr: Add FWNMI support in QEMU for PowerKVM guests |
Date: |
Fri, 31 Jan 2020 10:39:06 +1100 |
On Fri, Jan 31, 2020 at 12:14:16AM +0530, Ganesh Goudar 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.
Applied to ppc-for-5.0.
>
> Change Log v21:
> - Use error_setg() for failure handling in apply hook.
> - Report warning if FWNMI enabled for TCG.
> - Enable FWNMI by default for machine type 5.0.
>
> Change Log v20:
> - Remove code left over from previous version.
>
> Change Log v19:
> - Create error object for migration blocker in machine_init().
> - Remove the check to see fwnmi calls are already registered,
> which is no longer needed.
> - Register fwnmi RTAS calls in core_rtas_register_types() where
> other RTAS calls are registered.
> - Bail out from interlock call if the cap is not set.
> - Reorder and add missing S-O-Bs.
>
> Change Log v18:
> - Dynamically create the Error object before adding it as blocker
> - In apply hook check if the fwnmi calls are already registered and
> if kvm supports fwnmi before registering the fwnmi calls.
> - In rtas_ibm_nmi_register() test the feature flag before attempting
> to get the RTAS address
> - Introduce a bool member "fwnmi_calls_registered" to check if the
> fwnmi calls are registered and use the same in needed hook to save
> the state during migration.
>
> Change Log v17:
> - Add fwnmi cap to migration state
> - Reprhase the commit message in patch 2/7
>
> Change Log v16:
> - Fixed coding style problems
>
> Change Log v15:
> - Removed cap_ppc_fwnmi
> - Moved fwnmi registeration to .apply hook
> - Assume SLOF has allocated enough room for rtas error log
> - Using ARRAY_SIZE to end the loop
> - Do not set FWNMI cap in post_load, now its done in .apply hook
>
> Change Log v14:
> - Feature activation moved to a separate patch
> - Fixed issues with migration blocker
>
> Change Log v13:
> - Minor fixes (mostly nits)
> - Moved FWNMI guest registration check from patch 4 to 3.
>
> Change Log v12:
> - Rebased to latest ppc-for-4.2 (SHA b1e8156743)
>
> Change Log v11:
> - Moved FWNMI SPAPR cap defaults to 4.2 class option
> - Fixed issues with handling fwnmi KVM capability
>
> ---
>
> Aravinda Prasad (7):
> 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
> ppc: spapr: Activate the FWNMI functionality
>
> cpus.c | 5 +
> hw/ppc/spapr.c | 60 +++++++++
> hw/ppc/spapr_caps.c | 28 ++++
> hw/ppc/spapr_events.c | 269 +++++++++++++++++++++++++++++++++++++++
> hw/ppc/spapr_rtas.c | 87 +++++++++++++
> include/hw/ppc/spapr.h | 25 +++-
> include/qemu/main-loop.h | 8 ++
> target/ppc/kvm.c | 24 ++++
> target/ppc/kvm_ppc.h | 8 ++
> target/ppc/trace-events | 1 +
> 10 files changed, 513 insertions(+), 2 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
- [PATCH v21 0/7]target-ppc/spapr: Add FWNMI support in QEMU for PowerKVM guests, Ganesh Goudar, 2020/01/30
- [PATCH v21 1/7] Wrapper function to wait on condition for the main loop mutex, Ganesh Goudar, 2020/01/30
- [PATCH v21 2/7] ppc: spapr: Introduce FWNMI capability, Ganesh Goudar, 2020/01/30
- [PATCH v21 3/7] target/ppc: Handle NMI guest exit, Ganesh Goudar, 2020/01/30
- [PATCH v21 4/7] target/ppc: Build rtas error log upon an MCE, Ganesh Goudar, 2020/01/30
- [PATCH v21 6/7] migration: Include migration support for machine check handling, Ganesh Goudar, 2020/01/30
- [PATCH v21 7/7] ppc: spapr: Activate the FWNMI functionality, Ganesh Goudar, 2020/01/30
- [PATCH v21 5/7] ppc: spapr: Handle "ibm, nmi-register" and "ibm, nmi-interlock" RTAS calls, Ganesh Goudar, 2020/01/30
- Re: [PATCH v21 0/7]target-ppc/spapr: Add FWNMI support in QEMU for PowerKVM guests,
David Gibson <=