Memory error such as bit flips that cannot be corrected by hardware are passed on to the kernel for handling. If the memory address in error belongs to guest then the guest kernel is responsible for taking suitable action. Patch [1] enhances KVM to exit guest with exit reason set to KVM_EXIT_NMI in such cases. This patch handles KVM_EXIT_NMI exit. [1] https://www.spinics.net/lists/kvm-ppc/msg12637.html (e20bbd3d and related commits) Signed-off-by: Aravinda Prasad <arawinda.p@gmail.com> Signed-off-by: Ganesh Goudar <ganeshgr@linux.ibm.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Reviewed-by: Greg Kurz <groug@kaod.org> Message-Id: <20200130184423.20519-4-ganeshgr@linux.ibm.com> [dwg: #ifdefs to fix compile for 32-bit target] Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
32 lines
2 KiB
Plaintext
32 lines
2 KiB
Plaintext
# See docs/devel/tracing.txt for syntax documentation.
|
|
|
|
# kvm.c
|
|
kvm_failed_spr_set(int spr, const char *msg) "Warning: Unable to set SPR %d to KVM: %s"
|
|
kvm_failed_spr_get(int spr, const char *msg) "Warning: Unable to retrieve SPR %d from KVM: %s"
|
|
kvm_failed_fpscr_set(const char *msg) "Unable to set FPSCR to KVM: %s"
|
|
kvm_failed_fp_set(const char *fpname, int fpnum, const char *msg) "Unable to set %s%d to KVM: %s"
|
|
kvm_failed_vscr_set(const char *msg) "Unable to set VSCR to KVM: %s"
|
|
kvm_failed_vr_set(int vr, const char *msg) "Unable to set VR%d to KVM: %s"
|
|
kvm_failed_fpscr_get(const char *msg) "Unable to get FPSCR from KVM: %s"
|
|
kvm_failed_fp_get(const char *fpname, int fpnum, const char *msg) "Unable to get %s%d from KVM: %s"
|
|
kvm_failed_vscr_get(const char *msg) "Unable to get VSCR from KVM: %s"
|
|
kvm_failed_vr_get(int vr, const char *msg) "Unable to get VR%d from KVM: %s"
|
|
kvm_failed_vpa_addr_get(const char *msg) "Unable to get VPA address from KVM: %s"
|
|
kvm_failed_slb_get(const char *msg) "Unable to get SLB shadow state from KVM: %s"
|
|
kvm_failed_dtl_get(const char *msg) "Unable to get dispatch trace log state from KVM: %s"
|
|
kvm_failed_vpa_addr_set(const char *msg) "Unable to set VPA address to KVM: %s"
|
|
kvm_failed_slb_set(const char *msg) "Unable to set SLB shadow state to KVM: %s"
|
|
kvm_failed_dtl_set(const char *msg) "Unable to set dispatch trace log state to KVM: %s"
|
|
kvm_failed_null_vpa_addr_set(const char *msg) "Unable to set VPA address to KVM: %s"
|
|
kvm_failed_put_vpa(void) "Warning: Unable to set VPA information to KVM"
|
|
kvm_failed_get_vpa(void) "Warning: Unable to get VPA information from KVM"
|
|
kvm_injected_interrupt(int irq) "injected interrupt %d"
|
|
kvm_handle_dcr_write(void) "handle dcr write"
|
|
kvm_handle_dcr_read(void) "handle dcr read"
|
|
kvm_handle_halt(void) "handle halt"
|
|
kvm_handle_papr_hcall(void) "handle PAPR hypercall"
|
|
kvm_handle_epr(void) "handle epr"
|
|
kvm_handle_watchdog_expiry(void) "handle watchdog expiry"
|
|
kvm_handle_debug_exception(void) "handle debug exception"
|
|
kvm_handle_nmi_exception(void) "handle NMI exception"
|