There is one guest userland utility "errinjct" used to inject various types of errors for testing purpose. The utility works with 3 RTAS calls, which are defined in PAPR spec as follows:
- "ibm,open-errinjct": Apply for token to do error injection - "ibm,close-errinjct": Free the token assigned previously - "ibm,errinjct": Do error injection The series of patches support above RTAS calls in order to support error injection. For now, we only support PCI related error injection (32-bits and 64-bits PCI error types) and have to figure out the error injection for other types in future. It requires corresponding kernel changes as follows. Please comments, thanks! http://patchwork.ozlabs.org/patch/362637/ http://patchwork.ozlabs.org/patch/362638/ http://patchwork.ozlabs.org/patch/362639/ Gavin Shan (3): sPAPR: Implement PCI error injection RTAS calls sPAPR: Implement sPAPRPHBClass::format_errinjct_cmd sPAPR: Export RTAS property <ibm,errinjct-tokens> hw/ppc/spapr.c | 19 +++++ hw/ppc/spapr_pci_vfio.c | 19 +++++ hw/ppc/spapr_rtas.c | 198 ++++++++++++++++++++++++++++++++++++++++++++ include/hw/pci-host/spapr.h | 11 +++ include/hw/ppc/spapr.h | 35 ++++++++ 5 files changed, 282 insertions(+) -- 1.8.3.2
