Skip to content

target-ppc: Add FWNMI support in qemu for powerKVM guests

Aravinda Prasad qemu-devel 3 versions – In review

Get series with b4
b4 am 20141105071019.26196.93729.stgit@aravindap

Versions newest first · linked by author and title

  1. v3 Latest4 patches 61 repliesIn review
  2. v24 patches 8 repliesSuperseded
  3. v15 patches 67 repliesSuperseded

Changes in v3 from the cover letter

- Incorporated review comments
- Byte codes in patch 4/4 are now moved to pc-bios/spapr-rtas/spapr-rtas.S as instructions.
- Defined the RTAS blob in-memory layout.
- FIX: save and restore cr register in the trampoline

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4target-ppc: Extend rtas-blobhw/ppc/spapr.c include/hw/ppc/spapr.h+12 -05 replies
2/4target-ppc: Register and handle HCALL to receive updated RTAS regionhw/ppc/spapr_hcall.c include/hw/ppc/spapr.h+10 -10 replies
3/4target-ppc: Build error loghw/ppc/spapr_hcall.c include/hw/ppc/spapr.h+162 -10 replies
4/4target-ppc: Handle ibm, nmi-register RTAS callhw/ppc/spapr_hcall.c hw/ppc/spapr_rtas.c include/hw/ppc/spapr.h +1 more+163 -124 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.

Read the v3 thread

Cover letter [Qemu-devel] [PATCH v3 0/4] target-ppc: Add FWNMI support in qemu for powerKVM guests

This series of patches add support for fwnmi in powerKVM guests.

Currently upon machine check exception, if the address in error belongs to guest then KVM invokes guest's NMI interrupt vector 0x200.

This patch series adds functionality where the guest's 0x200 interrupt vector is patched such that QEMU gets control. QEMU then builds error log and reports the error to OS registered machine check handlers through RTAS space.

Apart from this, the patch series also takes care of synchronization when multiple processors encounter machine check at or about the same time.

The patch set was tested by simulating a machine check error in the guest.

Changes in v3:
- Incorporated review comments
- Byte codes in patch 4/4 are now moved to pc-bios/spapr-rtas/spapr-rtas.S as instructions.
- Defined the RTAS blob in-memory layout.
- FIX: save and restore cr register in the trampoline

Changes in v2:
- Re-based to github.com/agraf/qemu.git branch: ppc-next
- Merged patches 4 and 5.
- Incorporated other review comments

---

Aravinda Prasad (4):
target-ppc: Extend rtas-blob
target-ppc: Register and handle HCALL to receive updated RTAS region
target-ppc: Build error log
target-ppc: Handle ibm,nmi-register RTAS call

 hw/ppc/spapr.c                  |    7 +
 hw/ppc/spapr_hcall.c            |  183 +++++++++++++++++++++++++++++++++++++++
 hw/ppc/spapr_rtas.c             |   93 ++++++++++++++++++++
 include/hw/ppc/spapr.h          |   27 +++++-
 pc-bios/spapr-rtas/spapr-rtas.S |   38 ++++++++
 5 files changed, 346 insertions(+), 2 deletions(-)
Signature · 1 line
Aravinda Prasad