[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <m25yxk51l8.fsf@dme.org>
Date: Thu, 08 Jul 2021 15:20:35 +0100
From: David Edmondson <dme@....org>
To: David Matlack <dmatlack@...gle.com>
Cc: linux-kernel@...r.kernel.org, Wanpeng Li <wanpengli@...cent.com>,
Jim Mattson <jmattson@...gle.com>,
Sean Christopherson <seanjc@...gle.com>,
Borislav Petkov <bp@...en8.de>,
Vitaly Kuznetsov <vkuznets@...hat.com>,
Joerg Roedel <joro@...tes.org>, kvm@...r.kernel.org,
Paolo Bonzini <pbonzini@...hat.com>,
Thomas Gleixner <tglx@...utronix.de>, x86@...nel.org,
Ingo Molnar <mingo@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>
Subject: Re: [PATCH v2 0/2] kvm: x86: Convey the exit reason to user-space
on emulation failure
On Wednesday, 2021-07-07 at 23:22:44 UTC, David Matlack wrote:
> On Tue, Jul 06, 2021 at 11:12:05AM +0100, David Edmondson wrote:
>> 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)
>
> I just asked if Intel should provide the full exit reason, I do not have
> an opinion either way. It really comes down to your usecase for wanting
> the exit reason. Would the full exit reason be useful or do you just
> need the basic exit number?
Given that this is intended as a debug aid, having the full exit reason
makes sense.
>> - 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
>>
dme.
--
You know it's not the twilight zone.
Powered by blists - more mailing lists