Lines Matching refs:vmcb02
534 if (!svm->nested.vmcb02.ptr) in nested_vmcb02_compute_g_pat()
538 svm->nested.vmcb02.ptr->save.g_pat = svm->vmcb01.ptr->save.g_pat; in nested_vmcb02_compute_g_pat()
545 struct vmcb *vmcb02 = svm->nested.vmcb02.ptr; in nested_vmcb02_prepare_save() local
558 vmcb02->save.es = vmcb12->save.es; in nested_vmcb02_prepare_save()
559 vmcb02->save.cs = vmcb12->save.cs; in nested_vmcb02_prepare_save()
560 vmcb02->save.ss = vmcb12->save.ss; in nested_vmcb02_prepare_save()
561 vmcb02->save.ds = vmcb12->save.ds; in nested_vmcb02_prepare_save()
562 vmcb02->save.cpl = vmcb12->save.cpl; in nested_vmcb02_prepare_save()
563 vmcb_mark_dirty(vmcb02, VMCB_SEG); in nested_vmcb02_prepare_save()
567 vmcb02->save.gdtr = vmcb12->save.gdtr; in nested_vmcb02_prepare_save()
568 vmcb02->save.idtr = vmcb12->save.idtr; in nested_vmcb02_prepare_save()
569 vmcb_mark_dirty(vmcb02, VMCB_DT); in nested_vmcb02_prepare_save()
586 vmcb02->save.rax = vmcb12->save.rax; in nested_vmcb02_prepare_save()
587 vmcb02->save.rsp = vmcb12->save.rsp; in nested_vmcb02_prepare_save()
588 vmcb02->save.rip = vmcb12->save.rip; in nested_vmcb02_prepare_save()
592 vmcb02->save.dr7 = svm->nested.save.dr7 | DR7_FIXED_1; in nested_vmcb02_prepare_save()
594 vmcb_mark_dirty(vmcb02, VMCB_DR); in nested_vmcb02_prepare_save()
603 svm_copy_lbrs(vmcb02, vmcb12); in nested_vmcb02_prepare_save()
604 vmcb02->save.dbgctl &= ~DEBUGCTL_RESERVED_BITS; in nested_vmcb02_prepare_save()
608 svm_copy_lbrs(vmcb02, vmcb01); in nested_vmcb02_prepare_save()
645 struct vmcb *vmcb02 = svm->nested.vmcb02.ptr; in nested_vmcb02_prepare_control() local
672 vmcb02->control.nested_ctl = vmcb01->control.nested_ctl; in nested_vmcb02_prepare_control()
673 vmcb02->control.iopm_base_pa = vmcb01->control.iopm_base_pa; in nested_vmcb02_prepare_control()
674 vmcb02->control.msrpm_base_pa = vmcb01->control.msrpm_base_pa; in nested_vmcb02_prepare_control()
679 vmcb02->control.tlb_ctl = TLB_CONTROL_DO_NOTHING; in nested_vmcb02_prepare_control()
690 vmcb02->control.tsc_offset = vcpu->arch.tsc_offset; in nested_vmcb02_prepare_control()
696 vmcb02->control.int_ctl = in nested_vmcb02_prepare_control()
700 vmcb02->control.int_vector = svm->nested.ctl.int_vector; in nested_vmcb02_prepare_control()
701 vmcb02->control.int_state = svm->nested.ctl.int_state; in nested_vmcb02_prepare_control()
702 vmcb02->control.event_inj = svm->nested.ctl.event_inj; in nested_vmcb02_prepare_control()
703 vmcb02->control.event_inj_err = svm->nested.ctl.event_inj_err; in nested_vmcb02_prepare_control()
714 vmcb02->control.next_rip = svm->nested.ctl.next_rip; in nested_vmcb02_prepare_control()
716 vmcb02->control.next_rip = vmcb12_rip; in nested_vmcb02_prepare_control()
718 svm->nmi_l1_to_l2 = is_evtinj_nmi(vmcb02->control.event_inj); in nested_vmcb02_prepare_control()
719 if (is_evtinj_soft(vmcb02->control.event_inj)) { in nested_vmcb02_prepare_control()
729 vmcb02->control.virt_ext = vmcb01->control.virt_ext & in nested_vmcb02_prepare_control()
732 vmcb02->control.virt_ext |= in nested_vmcb02_prepare_control()
736 vmcb02->control.virt_ext |= VIRTUAL_VMLOAD_VMSAVE_ENABLE_MASK; in nested_vmcb02_prepare_control()
748 vmcb02->control.pause_filter_count = pause_count12; in nested_vmcb02_prepare_control()
749 vmcb02->control.pause_filter_thresh = pause_thresh12; in nested_vmcb02_prepare_control()
753 vmcb02->control.pause_filter_count = vmcb01->control.pause_filter_count; in nested_vmcb02_prepare_control()
754 vmcb02->control.pause_filter_thresh = vmcb01->control.pause_filter_thresh; in nested_vmcb02_prepare_control()
759 vmcb02->control.pause_filter_count = 0; in nested_vmcb02_prepare_control()
761 vmcb02->control.pause_filter_thresh = 0; in nested_vmcb02_prepare_control()
815 WARN_ON(svm->vmcb == svm->nested.vmcb02.ptr); in enter_svm_guest_mode()
817 nested_svm_copy_common_state(svm->vmcb01.ptr, svm->nested.vmcb02.ptr); in enter_svm_guest_mode()
819 svm_switch_vmcb(svm, &svm->nested.vmcb02); in enter_svm_guest_mode()
975 struct vmcb *vmcb02 = svm->nested.vmcb02.ptr; in nested_svm_vmexit() local
1001 vmcb12->save.es = vmcb02->save.es; in nested_svm_vmexit()
1002 vmcb12->save.cs = vmcb02->save.cs; in nested_svm_vmexit()
1003 vmcb12->save.ss = vmcb02->save.ss; in nested_svm_vmexit()
1004 vmcb12->save.ds = vmcb02->save.ds; in nested_svm_vmexit()
1005 vmcb12->save.gdtr = vmcb02->save.gdtr; in nested_svm_vmexit()
1006 vmcb12->save.idtr = vmcb02->save.idtr; in nested_svm_vmexit()
1010 vmcb12->save.cr2 = vmcb02->save.cr2; in nested_svm_vmexit()
1016 vmcb12->save.dr7 = vmcb02->save.dr7; in nested_svm_vmexit()
1018 vmcb12->save.cpl = vmcb02->save.cpl; in nested_svm_vmexit()
1020 vmcb12->control.int_state = vmcb02->control.int_state; in nested_svm_vmexit()
1021 vmcb12->control.exit_code = vmcb02->control.exit_code; in nested_svm_vmexit()
1022 vmcb12->control.exit_code_hi = vmcb02->control.exit_code_hi; in nested_svm_vmexit()
1023 vmcb12->control.exit_info_1 = vmcb02->control.exit_info_1; in nested_svm_vmexit()
1024 vmcb12->control.exit_info_2 = vmcb02->control.exit_info_2; in nested_svm_vmexit()
1030 vmcb12->control.next_rip = vmcb02->control.next_rip; in nested_svm_vmexit()
1037 vmcb01->control.pause_filter_count = vmcb02->control.pause_filter_count; in nested_svm_vmexit()
1042 nested_svm_copy_common_state(svm->nested.vmcb02.ptr, svm->vmcb01.ptr); in nested_svm_vmexit()
1070 svm_copy_lbrs(vmcb12, vmcb02); in nested_svm_vmexit()
1073 svm_copy_lbrs(vmcb01, vmcb02); in nested_svm_vmexit()
1078 if (vmcb02->control.int_ctl & V_NMI_BLOCKING_MASK) in nested_svm_vmexit()
1191 svm->nested.vmcb02.ptr = page_address(vmcb02_page); in svm_allocate_nested()
1192 svm->nested.vmcb02.pa = __sme_set(page_to_pfn(vmcb02_page) << PAGE_SHIFT); in svm_allocate_nested()
1218 __free_page(virt_to_page(svm->nested.vmcb02.ptr)); in svm_free_nested()
1219 svm->nested.vmcb02.ptr = NULL; in svm_free_nested()
1746 svm->nested.vmcb02.ptr->save = svm->vmcb01.ptr->save; in svm_set_nested_state()
1758 svm_switch_vmcb(svm, &svm->nested.vmcb02); in svm_set_nested_state()