[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210729133931.1129696-1-david.edmondson@oracle.com>
Date: Thu, 29 Jul 2021 14:39:28 +0100
From: David Edmondson <david.edmondson@...cle.com>
To: linux-kernel@...r.kernel.org
Cc: Thomas Gleixner <tglx@...utronix.de>,
Joerg Roedel <joro@...tes.org>, Ingo Molnar <mingo@...hat.com>,
Jim Mattson <jmattson@...gle.com>, kvm@...r.kernel.org,
Borislav Petkov <bp@...en8.de>,
David Matlack <dmatlack@...gle.com>,
Paolo Bonzini <pbonzini@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>, x86@...nel.org,
Wanpeng Li <wanpengli@...cent.com>,
Vitaly Kuznetsov <vkuznets@...hat.com>,
Sean Christopherson <seanjc@...gle.com>,
David Edmondson <david.edmondson@...cle.com>
Subject: [PATCH v3 0/3] kvm: x86: Convey the exit reason, etc. to user-space on emulation failure
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.
Sean: hopefully this is something like what you intended. If not,
please clarify and I will have another go. The lack of an ABI for the
debug data does feel messy.
The SGX changes here are compiled but untested.
v3:
- Convey any debug data un-flagged after the ABI specified data in
struct emulation_failure (Sean)
- Obey the ABI protocol in sgx_handle_emulation_failure() (Sean)
v2:
- Improve patch comments (dmatlock)
- Intel should provide the full exit reason (dmatlock)
- Pass a boolean rather than flags (dmatlock)
- Use the helper in kvm_task_switch() and kvm_handle_memory_failure()
(dmatlock)
- Describe the exit_reason field of the emulation_failure structure
(dmatlock)
David Edmondson (3):
KVM: x86: kvm_x86_ops.get_exit_info should include the exit reason
KVM: x86: On emulation failure, convey the exit reason, etc. to
userspace
KVM: x86: SGX must obey the KVM_INTERNAL_ERROR_EMULATION protocol
arch/x86/include/asm/kvm_host.h | 12 ++++++--
arch/x86/kvm/svm/svm.c | 8 +++--
arch/x86/kvm/trace.h | 11 +++----
arch/x86/kvm/vmx/nested.c | 2 +-
arch/x86/kvm/vmx/sgx.c | 8 ++---
arch/x86/kvm/vmx/vmx.c | 11 ++++---
arch/x86/kvm/x86.c | 53 ++++++++++++++++++++++++++-------
include/uapi/linux/kvm.h | 7 +++++
8 files changed, 79 insertions(+), 33 deletions(-)
--
2.30.2
Powered by blists - more mailing lists