KVM: nVMX: Skip IBPB when temporarily switching between vmcs01 and vmcs02
Skip the Indirect Branch Prediction Barrier that is triggered on a VMCS switch when temporarily loading vmcs02 to synchronize it to vmcs12, i.e. give copy_vmcs02_to_vmcs12_rare() the same treatment as vmx_switch_vmcs(). Make vmx_vcpu_load() static now that it's only referenced within vmx.c. Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com> Message-Id: <20200506235850.22600-3-sean.j.christopherson@intel.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:

committed by
Paolo Bonzini

parent
5c911beff2
commit
1af1bb0562
@@ -3910,12 +3910,12 @@ static void copy_vmcs02_to_vmcs12_rare(struct kvm_vcpu *vcpu,
|
||||
|
||||
cpu = get_cpu();
|
||||
vmx->loaded_vmcs = &vmx->nested.vmcs02;
|
||||
vmx_vcpu_load(&vmx->vcpu, cpu);
|
||||
vmx_vcpu_load_vmcs(vcpu, cpu, &vmx->vmcs01);
|
||||
|
||||
sync_vmcs02_to_vmcs12_rare(vcpu, vmcs12);
|
||||
|
||||
vmx->loaded_vmcs = &vmx->vmcs01;
|
||||
vmx_vcpu_load(&vmx->vcpu, cpu);
|
||||
vmx_vcpu_load_vmcs(vcpu, cpu, &vmx->nested.vmcs02);
|
||||
put_cpu();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user