diff options
Diffstat (limited to 'arch/x86/kvm/vmx/nested.c')
-rw-r--r-- | arch/x86/kvm/vmx/nested.c | 12 |
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 | ||
193 | static void vmx_disable_shadow_vmcs(struct vcpu_vmx *vmx) | 193 | static 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; |