qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: David Gibson <david@gibson.dropbear.id.au>
To: Ganesh Goudar <ganeshgr@linux.ibm.com>
Cc: arawinda.p@gmail.com, aik@ozlabs.ru, qemu-devel@nongnu.org,
	groug@kaod.org, paulus@ozlabs.org, qemu-ppc@nongnu.org
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	[thread overview]
Message-ID: <20200130233906.GA15210@umbus.fritz.box> (raw)
In-Reply-To: <20200130184423.20519-1-ganeshgr@linux.ibm.com>

[-- Attachment #1: Type: text/plain, Size: 4148 bytes --]

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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

      parent reply	other threads:[~2020-01-30 23:52 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-30 18:44 [PATCH v21 0/7]target-ppc/spapr: Add FWNMI support in QEMU for PowerKVM guests Ganesh Goudar
2020-01-30 18:44 ` [PATCH v21 1/7] Wrapper function to wait on condition for the main loop mutex Ganesh Goudar
2020-01-30 18:44 ` [PATCH v21 2/7] ppc: spapr: Introduce FWNMI capability Ganesh Goudar
2020-01-30 18:44 ` [PATCH v21 3/7] target/ppc: Handle NMI guest exit Ganesh Goudar
2020-01-30 18:44 ` [PATCH v21 4/7] target/ppc: Build rtas error log upon an MCE Ganesh Goudar
2020-01-30 18:44 ` [PATCH v21 5/7] ppc: spapr: Handle "ibm, nmi-register" and "ibm, nmi-interlock" RTAS calls Ganesh Goudar
2020-01-30 18:44 ` [PATCH v21 6/7] migration: Include migration support for machine check handling Ganesh Goudar
2020-01-30 18:44 ` [PATCH v21 7/7] ppc: spapr: Activate the FWNMI functionality Ganesh Goudar
2020-01-30 23:39 ` David Gibson [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200130233906.GA15210@umbus.fritz.box \
    --to=david@gibson.dropbear.id.au \
    --cc=aik@ozlabs.ru \
    --cc=arawinda.p@gmail.com \
    --cc=ganeshgr@linux.ibm.com \
    --cc=groug@kaod.org \
    --cc=paulus@ozlabs.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).