aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/vmx/nested.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kvm/vmx/nested.c')
-rw-r--r--arch/x86/kvm/vmx/nested.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c
index 3f80df186476..21cb6cd88765 100644
--- a/arch/x86/kvm/vmx/nested.c
+++ b/arch/x86/kvm/vmx/nested.c
@@ -192,7 +192,7 @@ static void nested_vmx_abort(struct kvm_vcpu *vcpu, u32 indicator)
192 192
193static void vmx_disable_shadow_vmcs(struct vcpu_vmx *vmx) 193static void vmx_disable_shadow_vmcs(struct vcpu_vmx *vmx)
194{ 194{
195 vmcs_clear_bits(SECONDARY_VM_EXEC_CONTROL, SECONDARY_EXEC_SHADOW_VMCS); 195 secondary_exec_controls_clearbit(vmx, SECONDARY_EXEC_SHADOW_VMCS);
196 vmcs_write64(VMCS_LINK_POINTER, -1ull); 196 vmcs_write64(VMCS_LINK_POINTER, -1ull);
197} 197}
198 198
@@ -287,6 +287,7 @@ static void vmx_switch_vmcs(struct kvm_vcpu *vcpu, struct loaded_vmcs *vmcs)
287 vm_exit_controls_reset_shadow(vmx); 287 vm_exit_controls_reset_shadow(vmx);
288 pin_controls_reset_shadow(vmx); 288 pin_controls_reset_shadow(vmx);
289 exec_controls_reset_shadow(vmx); 289 exec_controls_reset_shadow(vmx);
290 secondary_exec_controls_reset_shadow(vmx);
290 vmx_segment_cache_clear(vmx); 291 vmx_segment_cache_clear(vmx);
291} 292}
292 293
@@ -2083,7 +2084,7 @@ static void prepare_vmcs02_early(struct vcpu_vmx *vmx, struct vmcs12 *vmcs12)
2083 vmcs_write16(GUEST_INTR_STATUS, 2084 vmcs_write16(GUEST_INTR_STATUS,
2084 vmcs12->guest_intr_status); 2085 vmcs12->guest_intr_status);
2085 2086
2086 vmcs_write32(SECONDARY_VM_EXEC_CONTROL, exec_control); 2087 secondary_exec_controls_init(vmx, exec_control);
2087 } 2088 }
2088 2089
2089 /* 2090 /*
@@ -2853,8 +2854,8 @@ static void nested_get_vmcs12_pages(struct kvm_vcpu *vcpu)
2853 hpa = page_to_phys(vmx->nested.apic_access_page); 2854 hpa = page_to_phys(vmx->nested.apic_access_page);
2854 vmcs_write64(APIC_ACCESS_ADDR, hpa); 2855 vmcs_write64(APIC_ACCESS_ADDR, hpa);
2855 } else { 2856 } else {
2856 vmcs_clear_bits(SECONDARY_VM_EXEC_CONTROL, 2857 secondary_exec_controls_clearbit(vmx,
2857 SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES); 2858 SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES);
2858 } 2859 }
2859 } 2860 }
2860 2861
@@ -4667,8 +4668,7 @@ static void set_current_vmptr(struct vcpu_vmx *vmx, gpa_t vmptr)
4667{ 4668{
4668 vmx->nested.current_vmptr = vmptr; 4669 vmx->nested.current_vmptr = vmptr;
4669 if (enable_shadow_vmcs) { 4670 if (enable_shadow_vmcs) {
4670 vmcs_set_bits(SECONDARY_VM_EXEC_CONTROL, 4671 secondary_exec_controls_setbit(vmx, SECONDARY_EXEC_SHADOW_VMCS);
4671 SECONDARY_EXEC_SHADOW_VMCS);
4672 vmcs_write64(VMCS_LINK_POINTER, 4672 vmcs_write64(VMCS_LINK_POINTER,
4673 __pa(vmx->vmcs01.shadow_vmcs)); 4673 __pa(vmx->vmcs01.shadow_vmcs));
4674 vmx->nested.need_vmcs12_to_shadow_sync = true; 4674 vmx->nested.need_vmcs12_to_shadow_sync = true;