lkml.org 
[lkml]   [2020]   [Oct]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [RESEND v4 1/2] KVM: VMX: Convert vcpu_vmx.exit_reason to a union
From
Date


On 10/21/2020 6:01 AM, Sean Christopherson wrote:
> On Mon, Oct 12, 2020 at 11:35:41AM +0800, Chenyi Qiang wrote:
>> From: Sean Christopherson <sean.j.christopherson@intel.com>
>>
>> Convert vcpu_vmx.exit_reason from a u32 to a union (of size u32). The
>> full VM_EXIT_REASON field is comprised of a 16-bit basic exit reason in
>> bits 15:0, and single-bit modifiers in bits 31:16.
>>
>> Historically, KVM has only had to worry about handling the "failed
>> VM-Entry" modifier, which could only be set in very specific flows and
>> required dedicated handling. I.e. manually stripping the FAILED_VMENTRY
>> bit was a somewhat viable approach. But even with only a single bit to
>> worry about, KVM has had several bugs related to comparing a basic exit
>> reason against the full exit reason store in vcpu_vmx.
>>
>> Upcoming Intel features, e.g. SGX, will add new modifier bits that can
>> be set on more or less any VM-Exit, as opposed to the significantly more
>> restricted FAILED_VMENTRY, i.e. correctly handling everything in one-off
>> flows isn't scalable. Tracking exit reason in a union forces code to
>> explicitly choose between consuming the full exit reason and the basic
>> exit, and is a convenient way to document and access the modifiers.
>>
>> No functional change intended.
>>
>> Cc: Xiaoyao Li <xiaoyao.li@intel.com>
>> Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
>
> This needs your SOB since you are involved in the handling of the patch.
Sorry for the late response, my mailbox encountered some issues...

Will add the SOB here.

>

\
 
 \ /
  Last update: 2020-10-26 06:33    [W:0.094 / U:0.048 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site