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