From: Aravinda Prasad <aravinda@linux.vnet.ibm.com> To: aik@au1.ibm.com, qemu-ppc@nongnu.org, qemu-devel@nongnu.org, david@gibson.dropbear.id.au Cc: paulus@ozlabs.org, aravinda@linux.vnet.ibm.com, mahesh@linux.vnet.ibm.com Subject: [Qemu-devel] [PATCH v8 0/6] target-ppc/spapr: Add FWNMI support in QEMU for PowerKVM guests Date: Mon, 22 Apr 2019 12:32:48 +0530 [thread overview] Message-ID: <155591636364.20338.844048953355207313.stgit@aravinda> (raw) 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 v8: - Added functionality to check FWNMI capability during VM migration Change Log v7: - Rebased to 4.1 Change Log v6: - Fetches rtas_addr from fdt - Handles all error conditions (earlier it was only UEs) Change Log v5: - Handled VM migrations by including rtas_addr in VMSTATE. - Migration is blocked while a machine check is in progress. --- Aravinda Prasad (6): ppc: spapr: Handle "ibm,nmi-register" and "ibm,nmi-interlock" RTAS calls Wrapper function to wait on condition for the main loop mutex target/ppc: Handle NMI guest exit target/ppc: Build rtas error log upon an MCE ppc: spapr: Enable FWNMI capability migration: Block migration while handling machine check cpus.c | 5 + hw/ppc/spapr.c | 26 ++++ hw/ppc/spapr_caps.c | 26 ++++ hw/ppc/spapr_events.c | 284 ++++++++++++++++++++++++++++++++++++++++++++++ hw/ppc/spapr_rtas.c | 84 ++++++++++++++ include/hw/ppc/spapr.h | 26 ++++ include/qemu/main-loop.h | 8 + target/ppc/kvm.c | 30 +++++ target/ppc/kvm_ppc.h | 8 + target/ppc/trace-events | 2 10 files changed, 497 insertions(+), 2 deletions(-) -- Aravinda
WARNING: multiple messages have this Message-ID (diff)
From: Aravinda Prasad <aravinda@linux.vnet.ibm.com> To: aik@au1.ibm.com, qemu-ppc@nongnu.org, qemu-devel@nongnu.org, david@gibson.dropbear.id.au Cc: paulus@ozlabs.org, aravinda@linux.vnet.ibm.com Subject: [Qemu-devel] [PATCH v8 0/6] target-ppc/spapr: Add FWNMI support in QEMU for PowerKVM guests Date: Mon, 22 Apr 2019 12:32:48 +0530 [thread overview] Message-ID: <155591636364.20338.844048953355207313.stgit@aravinda> (raw) Message-ID: <20190422070248.0-xhggS6DnCl-Q9PB0A9VCxrt1CW9Ghi8oVP-nv71q0@z> (raw) 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 v8: - Added functionality to check FWNMI capability during VM migration Change Log v7: - Rebased to 4.1 Change Log v6: - Fetches rtas_addr from fdt - Handles all error conditions (earlier it was only UEs) Change Log v5: - Handled VM migrations by including rtas_addr in VMSTATE. - Migration is blocked while a machine check is in progress. --- Aravinda Prasad (6): ppc: spapr: Handle "ibm,nmi-register" and "ibm,nmi-interlock" RTAS calls Wrapper function to wait on condition for the main loop mutex target/ppc: Handle NMI guest exit target/ppc: Build rtas error log upon an MCE ppc: spapr: Enable FWNMI capability migration: Block migration while handling machine check cpus.c | 5 + hw/ppc/spapr.c | 26 ++++ hw/ppc/spapr_caps.c | 26 ++++ hw/ppc/spapr_events.c | 284 ++++++++++++++++++++++++++++++++++++++++++++++ hw/ppc/spapr_rtas.c | 84 ++++++++++++++ include/hw/ppc/spapr.h | 26 ++++ include/qemu/main-loop.h | 8 + target/ppc/kvm.c | 30 +++++ target/ppc/kvm_ppc.h | 8 + target/ppc/trace-events | 2 10 files changed, 497 insertions(+), 2 deletions(-) -- Aravinda
next reply other threads:[~2019-04-22 7:03 UTC|newest] Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-04-22 7:02 Aravinda Prasad [this message] 2019-04-22 7:02 ` [Qemu-devel] [PATCH v8 0/6] target-ppc/spapr: Add FWNMI support in QEMU for PowerKVM guests Aravinda Prasad 2019-04-22 7:02 ` [Qemu-devel] [PATCH v8 1/6] ppc: spapr: Handle "ibm, nmi-register" and "ibm, nmi-interlock" RTAS calls Aravinda Prasad 2019-04-22 7:02 ` Aravinda Prasad 2019-04-23 6:45 ` David Gibson 2019-04-23 6:45 ` David Gibson 2019-04-25 4:56 ` Aravinda Prasad 2019-04-25 4:56 ` Aravinda Prasad 2019-05-10 9:06 ` [Qemu-devel] [Qemu-ppc] " Greg Kurz 2019-05-10 9:54 ` David Gibson 2019-05-10 14:33 ` Greg Kurz 2019-05-13 4:57 ` Aravinda Prasad 2019-05-13 4:53 ` Aravinda Prasad 2019-04-22 7:03 ` [Qemu-devel] [PATCH v8 2/6] Wrapper function to wait on condition for the main loop mutex Aravinda Prasad 2019-04-22 7:03 ` Aravinda Prasad 2019-04-23 6:47 ` David Gibson 2019-04-23 6:47 ` David Gibson 2019-05-10 13:14 ` [Qemu-devel] [Qemu-ppc] " Greg Kurz 2019-04-22 7:03 ` [Qemu-devel] [PATCH v8 3/6] target/ppc: Handle NMI guest exit Aravinda Prasad 2019-04-22 7:03 ` Aravinda Prasad 2019-04-23 6:53 ` David Gibson 2019-04-23 6:53 ` David Gibson 2019-04-24 4:50 ` [Qemu-devel] [Qemu-ppc] " Aravinda Prasad 2019-04-24 4:50 ` Aravinda Prasad 2019-05-10 6:37 ` David Gibson 2019-05-10 6:58 ` Aravinda Prasad 2019-05-10 16:25 ` Greg Kurz 2019-05-13 5:40 ` Aravinda Prasad 2019-05-13 5:56 ` David Gibson 2019-04-22 7:03 ` [Qemu-devel] [PATCH v8 4/6] target/ppc: Build rtas error log upon an MCE Aravinda Prasad 2019-04-22 7:03 ` Aravinda Prasad 2019-04-23 14:38 ` Fabiano Rosas 2019-04-23 14:38 ` Fabiano Rosas 2019-04-24 4:51 ` [Qemu-devel] [Qemu-ppc] " Aravinda Prasad 2019-04-24 4:51 ` Aravinda Prasad 2019-05-10 6:42 ` [Qemu-devel] " David Gibson 2019-05-10 7:05 ` Aravinda Prasad 2019-05-10 9:52 ` David Gibson 2019-05-13 5:00 ` Aravinda Prasad 2019-05-13 11:30 ` [Qemu-devel] [Qemu-ppc] " Greg Kurz 2019-05-14 0:08 ` David Gibson 2019-05-14 4:26 ` Aravinda Prasad 2019-05-14 4:40 ` David Gibson 2019-05-14 5:06 ` Aravinda Prasad 2019-05-16 1:47 ` David Gibson 2019-05-16 4:54 ` Aravinda Prasad 2019-04-22 7:03 ` [Qemu-devel] [PATCH v8 5/6] ppc: spapr: Enable FWNMI capability Aravinda Prasad 2019-04-22 7:03 ` Aravinda Prasad 2019-05-10 6:46 ` David Gibson 2019-05-10 7:15 ` [Qemu-devel] [Qemu-ppc] " Aravinda Prasad 2019-05-10 9:53 ` David Gibson 2019-05-13 10:30 ` Aravinda Prasad 2019-05-14 4:47 ` David Gibson 2019-05-14 5:32 ` Aravinda Prasad 2019-05-16 1:45 ` David Gibson 2019-05-16 4:59 ` Aravinda Prasad 2019-04-22 7:03 ` [Qemu-devel] [PATCH v8 6/6] migration: Block migration while handling machine check Aravinda Prasad 2019-04-22 7:03 ` Aravinda Prasad 2019-05-10 6:51 ` David Gibson 2019-05-10 7:16 ` Aravinda Prasad 2019-05-29 5:46 ` [Qemu-devel] [Qemu-ppc] " Aravinda Prasad 2019-05-16 10:54 ` Greg Kurz 2019-05-16 10:59 ` Aravinda Prasad 2019-05-16 14:17 ` Dr. David Alan Gilbert 2019-05-20 5:57 ` Aravinda Prasad
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=155591636364.20338.844048953355207313.stgit@aravinda \ --to=aravinda@linux.vnet.ibm.com \ --cc=aik@au1.ibm.com \ --cc=david@gibson.dropbear.id.au \ --cc=mahesh@linux.vnet.ibm.com \ --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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.