All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v3 0/3] sPAPR: Support EEH Error Injection
@ 2015-08-07  3:33 Gavin Shan
  2015-08-07  3:33 ` [Qemu-devel] [PATCH v3 1/3] linux-headers: Add eeh.h Gavin Shan
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Gavin Shan @ 2015-08-07  3:33 UTC (permalink / raw)
  To: qemu-devel; +Cc: aik, qemu-ppc, Gavin Shan, david

The patchset depends on below Linux upstream commits:

  commit ed3e81f ("powerpc/eeh: Move PE state constants around")
  commit ec33d36 ("powerpc/eeh: Introduce eeh_pe_inject_err()")

According to PAPR specification 2.7, there're 3 RTAS calls relevent to error
injection: "ibm,open-errinjct", "ibm,close-errinjct", "ibm,errinjct". The
userland utility "errinjct" running on guest utilizes those 3 RTAS calls like
this way: Call "ibm,open-errinjct" that returns open-token, which is passed to
"ibm,errinjct" together with error specific arguments to do error injection.
Finally, to return the open-token by calling "ibm,close-errinject".

"ibm,errinjct" can be used to inject various errors, not limited to EEH errors.
However, this patchset is going to support injecting EEH errors only for VFIO
PCI devices.

=========
Changelog
=========
v2 -> v3:
   * Replace random token number with incremental counter. Another boolean
     variable to track if it's opened. Both of them are added to migration
     stream.
   * The return value from sPAPRPHBClass::eeh_inject_error() can be passed
     to user directly. No need to do conversion.
   * Corrected error code to RTAS_OUT_CLOSE_ERROR in rtas_ibm_errinjct().
   * Don't expose error injection tokens for unsupported types.
v1 -> v2:
   * Rebased to git://github.com/dgibson/qemu.git (branch: spapr-next)
   * Remove specific PCI error types in hw/ppc/spapr.h. Use those macros
     asm-powerpc/eeh.h instead.

Gavin Shan (3):
  linux-headers: Add eeh.h
  sPAPR: Support RTAS call ibm, {open, close}-errinjct
  sPAPR: Support RTAS call ibm,errinjct

 hw/ppc/spapr.c                  |   5 ++
 hw/ppc/spapr_pci.c              |  36 ++++++++++
 hw/ppc/spapr_pci_vfio.c         |  56 ++++++++++++++++
 hw/ppc/spapr_rtas.c             | 143 ++++++++++++++++++++++++++++++++++++++++
 include/hw/pci-host/spapr.h     |   2 +
 include/hw/ppc/spapr.h          |  17 ++++-
 linux-headers/asm-powerpc/eeh.h |  56 ++++++++++++++++
 7 files changed, 314 insertions(+), 1 deletion(-)
 create mode 100644 linux-headers/asm-powerpc/eeh.h

-- 
2.1.0

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2015-08-13  1:08 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-07  3:33 [Qemu-devel] [PATCH v3 0/3] sPAPR: Support EEH Error Injection Gavin Shan
2015-08-07  3:33 ` [Qemu-devel] [PATCH v3 1/3] linux-headers: Add eeh.h Gavin Shan
2015-08-07  3:33 ` [Qemu-devel] [PATCH v3 2/3] sPAPR: Support RTAS call ibm, {open, close}-errinjct Gavin Shan
2015-08-07 16:04   ` Alexey Kardashevskiy
2015-08-09 12:08     ` Gavin Shan
2015-08-10 12:24   ` David Gibson
2015-08-11  0:57     ` Gavin Shan
2015-08-11  1:54       ` Alexey Kardashevskiy
2015-08-13  1:00         ` Gavin Shan
2015-08-07  3:33 ` [Qemu-devel] [PATCH v3 3/3] sPAPR: Support RTAS call ibm,errinjct Gavin Shan

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.