On 10/19/2019 12:57 AM, Sean Christopherson wrote:
On Fri, Oct 18, 2019 at 05:37:21PM +0800, Xiaoyao Li wrote:
Move vmcs related codes into a new function vmx_vmcs_reset() from
vmx_vcpu_reset(). So that it's more clearer which data is related with
vmcs and can be held in vmcs.

Suggested-by: Krish Sadhukhan <krish.sadhuk...@oracle.com>
Signed-off-by: Xiaoyao Li <xiaoyao...@intel.com>
---
  arch/x86/kvm/vmx/vmx.c | 65 ++++++++++++++++++++++++------------------
  1 file changed, 37 insertions(+), 28 deletions(-)

diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index e660e28e9ae0..ef567df344bf 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -4271,33 +4271,11 @@ static void vmx_vcpu_setup(struct vcpu_vmx *vmx)
        }
  }
-static void vmx_vcpu_reset(struct kvm_vcpu *vcpu, bool init_event)
+static void vmx_vmcs_reset(struct kvm_vcpu *vcpu, bool init_event)

I'd strongly prefer to keep the existing code.  For me, "vmcs_reset" means
zeroing out the VMCS, i.e. reset the VMCS to a virgin state.  "vcpu_reset"
means exactly that, stuff vCPU state to emulate RESET/INIT.

And the split is arbitrary and funky, e.g. EFER is integrated into the
VMCS on all recent CPUs, but here it's handled in vcpu_reset.


I left EFER in vcpu_reset() because it doesn't directly lead to a vmcs_write in vmx_set_efer().

OK. I'll drop this patch.

Reply via email to