Message ID | 20200312184521.24579-5-sean.j.christopherson@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | KVM: VMX: Unionize vcpu_vmx.exit_reason | expand |
Sean Christopherson <sean.j.christopherson@intel.com> writes: > Store only the basic exit reason in the local "exit_reason" variable in > nested_vmx_exit_reflected(). Except for tracing, all references to > exit_reason are expecting to encounter only the basic exit reason. > > Opportunistically align the params to nested_vmx_exit_handled_msr(). > > Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com> > --- > arch/x86/kvm/vmx/nested.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c > index cb05bcbbfc4e..1848ca0116c0 100644 > --- a/arch/x86/kvm/vmx/nested.c > +++ b/arch/x86/kvm/vmx/nested.c > @@ -5374,7 +5374,7 @@ static bool nested_vmx_exit_handled_io(struct kvm_vcpu *vcpu, > * MSR bitmap. This may be the case even when L0 doesn't use MSR bitmaps. > */ > static bool nested_vmx_exit_handled_msr(struct kvm_vcpu *vcpu, > - struct vmcs12 *vmcs12, u32 exit_reason) > + struct vmcs12 *vmcs12, u16 exit_reason) > { > u32 msr_index = kvm_rcx_read(vcpu); > gpa_t bitmap; > @@ -5523,7 +5523,7 @@ bool nested_vmx_exit_reflected(struct kvm_vcpu *vcpu) > u32 intr_info = vmcs_read32(VM_EXIT_INTR_INFO); > struct vcpu_vmx *vmx = to_vmx(vcpu); > struct vmcs12 *vmcs12 = get_vmcs12(vcpu); > - u32 exit_reason = vmx->exit_reason; > + u16 exit_reason; > > if (vmx->nested.nested_run_pending) > return false; > @@ -5548,13 +5548,15 @@ bool nested_vmx_exit_reflected(struct kvm_vcpu *vcpu) > */ > nested_mark_vmcs12_pages_dirty(vcpu); > > - trace_kvm_nested_vmexit(kvm_rip_read(vcpu), exit_reason, > + trace_kvm_nested_vmexit(kvm_rip_read(vcpu), vmx->exit_reason, > vmcs_readl(EXIT_QUALIFICATION), > vmx->idt_vectoring_info, > intr_info, > vmcs_read32(VM_EXIT_INTR_ERROR_CODE), > KVM_ISA_VMX); > > + exit_reason = vmx->exit_reason; > + > switch (exit_reason) { > case EXIT_REASON_EXCEPTION_NMI: > if (is_nmi(intr_info)) If the patch is looked at by itself (and not as part of the series) one may ask to add a comment explaining that we do the trunctation deliberately but with all patches of the series it is superfluous. Reviewed-by: Vitaly Kuznetsov <vkuznets@redhat.com>
diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c index cb05bcbbfc4e..1848ca0116c0 100644 --- a/arch/x86/kvm/vmx/nested.c +++ b/arch/x86/kvm/vmx/nested.c @@ -5374,7 +5374,7 @@ static bool nested_vmx_exit_handled_io(struct kvm_vcpu *vcpu, * MSR bitmap. This may be the case even when L0 doesn't use MSR bitmaps. */ static bool nested_vmx_exit_handled_msr(struct kvm_vcpu *vcpu, - struct vmcs12 *vmcs12, u32 exit_reason) + struct vmcs12 *vmcs12, u16 exit_reason) { u32 msr_index = kvm_rcx_read(vcpu); gpa_t bitmap; @@ -5523,7 +5523,7 @@ bool nested_vmx_exit_reflected(struct kvm_vcpu *vcpu) u32 intr_info = vmcs_read32(VM_EXIT_INTR_INFO); struct vcpu_vmx *vmx = to_vmx(vcpu); struct vmcs12 *vmcs12 = get_vmcs12(vcpu); - u32 exit_reason = vmx->exit_reason; + u16 exit_reason; if (vmx->nested.nested_run_pending) return false; @@ -5548,13 +5548,15 @@ bool nested_vmx_exit_reflected(struct kvm_vcpu *vcpu) */ nested_mark_vmcs12_pages_dirty(vcpu); - trace_kvm_nested_vmexit(kvm_rip_read(vcpu), exit_reason, + trace_kvm_nested_vmexit(kvm_rip_read(vcpu), vmx->exit_reason, vmcs_readl(EXIT_QUALIFICATION), vmx->idt_vectoring_info, intr_info, vmcs_read32(VM_EXIT_INTR_ERROR_CODE), KVM_ISA_VMX); + exit_reason = vmx->exit_reason; + switch (exit_reason) { case EXIT_REASON_EXCEPTION_NMI: if (is_nmi(intr_info))
Store only the basic exit reason in the local "exit_reason" variable in nested_vmx_exit_reflected(). Except for tracing, all references to exit_reason are expecting to encounter only the basic exit reason. Opportunistically align the params to nested_vmx_exit_handled_msr(). Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com> --- arch/x86/kvm/vmx/nested.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)