[PATCH v2 0/2] kvm: x86: Convey the exit reason to user-space on emulation failure

From: David Edmondson
Date: Tue Jul 06 2021 - 06:12:31 EST


To help when debugging failures in the field, if instruction emulation
fails, report the VM exit reason to userspace in order that it can be
recorded.

I'm unsure whether sgx_handle_emulation_failure() needs to be adapted
to use the emulation_failure part of the exit union in struct kvm_run
- advice welcomed.

v2:
- Improve patch comments (dmatlack)
- Intel should provide the full exit reason (dmatlack)
- Pass a boolean rather than flags (dmatlack)
- Use the helper in kvm_task_switch() and kvm_handle_memory_failure()
(dmatlack)
- Describe the exit_reason field of the emulation_failure structure
(dmatlack)

David Edmondson (2):
KVM: x86: Add kvm_x86_ops.get_exit_reason
KVM: x86: On emulation failure, convey the exit reason to userspace

arch/x86/include/asm/kvm-x86-ops.h | 1 +
arch/x86/include/asm/kvm_host.h | 3 +++
arch/x86/kvm/svm/svm.c | 6 ++++++
arch/x86/kvm/vmx/vmx.c | 11 +++++++----
arch/x86/kvm/x86.c | 22 +++++++++++++---------
include/uapi/linux/kvm.h | 7 +++++++
6 files changed, 37 insertions(+), 13 deletions(-)

--
2.30.2