Lines Matching refs:vmcb02
528 if (!svm->nested.vmcb02.ptr) in nested_vmcb02_compute_g_pat()
532 svm->nested.vmcb02.ptr->save.g_pat = svm->vmcb01.ptr->save.g_pat; in nested_vmcb02_compute_g_pat()
539 struct vmcb *vmcb02 = svm->nested.vmcb02.ptr; in nested_vmcb02_prepare_save() local
552 vmcb02->save.es = vmcb12->save.es; in nested_vmcb02_prepare_save()
553 vmcb02->save.cs = vmcb12->save.cs; in nested_vmcb02_prepare_save()
554 vmcb02->save.ss = vmcb12->save.ss; in nested_vmcb02_prepare_save()
555 vmcb02->save.ds = vmcb12->save.ds; in nested_vmcb02_prepare_save()
556 vmcb02->save.cpl = vmcb12->save.cpl; in nested_vmcb02_prepare_save()
557 vmcb_mark_dirty(vmcb02, VMCB_SEG); in nested_vmcb02_prepare_save()
561 vmcb02->save.gdtr = vmcb12->save.gdtr; in nested_vmcb02_prepare_save()
562 vmcb02->save.idtr = vmcb12->save.idtr; in nested_vmcb02_prepare_save()
563 vmcb_mark_dirty(vmcb02, VMCB_DT); in nested_vmcb02_prepare_save()
580 vmcb02->save.rax = vmcb12->save.rax; in nested_vmcb02_prepare_save()
581 vmcb02->save.rsp = vmcb12->save.rsp; in nested_vmcb02_prepare_save()
582 vmcb02->save.rip = vmcb12->save.rip; in nested_vmcb02_prepare_save()
586 vmcb02->save.dr7 = svm->nested.save.dr7 | DR7_FIXED_1; in nested_vmcb02_prepare_save()
588 vmcb_mark_dirty(vmcb02, VMCB_DR); in nested_vmcb02_prepare_save()
597 svm_copy_lbrs(vmcb02, vmcb12); in nested_vmcb02_prepare_save()
598 vmcb02->save.dbgctl &= ~DEBUGCTL_RESERVED_BITS; in nested_vmcb02_prepare_save()
602 svm_copy_lbrs(vmcb02, vmcb01); in nested_vmcb02_prepare_save()
639 struct vmcb *vmcb02 = svm->nested.vmcb02.ptr; in nested_vmcb02_prepare_control() local
666 vmcb02->control.nested_ctl = vmcb01->control.nested_ctl; in nested_vmcb02_prepare_control()
667 vmcb02->control.iopm_base_pa = vmcb01->control.iopm_base_pa; in nested_vmcb02_prepare_control()
668 vmcb02->control.msrpm_base_pa = vmcb01->control.msrpm_base_pa; in nested_vmcb02_prepare_control()
673 vmcb02->control.tlb_ctl = TLB_CONTROL_DO_NOTHING; in nested_vmcb02_prepare_control()
684 vmcb02->control.tsc_offset = vcpu->arch.tsc_offset; in nested_vmcb02_prepare_control()
690 vmcb02->control.int_ctl = in nested_vmcb02_prepare_control()
694 vmcb02->control.int_vector = svm->nested.ctl.int_vector; in nested_vmcb02_prepare_control()
695 vmcb02->control.int_state = svm->nested.ctl.int_state; in nested_vmcb02_prepare_control()
696 vmcb02->control.event_inj = svm->nested.ctl.event_inj; in nested_vmcb02_prepare_control()
697 vmcb02->control.event_inj_err = svm->nested.ctl.event_inj_err; in nested_vmcb02_prepare_control()
708 vmcb02->control.next_rip = svm->nested.ctl.next_rip; in nested_vmcb02_prepare_control()
710 vmcb02->control.next_rip = vmcb12_rip; in nested_vmcb02_prepare_control()
712 svm->nmi_l1_to_l2 = is_evtinj_nmi(vmcb02->control.event_inj); in nested_vmcb02_prepare_control()
713 if (is_evtinj_soft(vmcb02->control.event_inj)) { in nested_vmcb02_prepare_control()
723 vmcb02->control.virt_ext = vmcb01->control.virt_ext & in nested_vmcb02_prepare_control()
726 vmcb02->control.virt_ext |= in nested_vmcb02_prepare_control()
730 vmcb02->control.virt_ext |= VIRTUAL_VMLOAD_VMSAVE_ENABLE_MASK; in nested_vmcb02_prepare_control()
742 vmcb02->control.pause_filter_count = pause_count12; in nested_vmcb02_prepare_control()
743 vmcb02->control.pause_filter_thresh = pause_thresh12; in nested_vmcb02_prepare_control()
747 vmcb02->control.pause_filter_count = vmcb01->control.pause_filter_count; in nested_vmcb02_prepare_control()
748 vmcb02->control.pause_filter_thresh = vmcb01->control.pause_filter_thresh; in nested_vmcb02_prepare_control()
753 vmcb02->control.pause_filter_count = 0; in nested_vmcb02_prepare_control()
755 vmcb02->control.pause_filter_thresh = 0; in nested_vmcb02_prepare_control()
809 WARN_ON(svm->vmcb == svm->nested.vmcb02.ptr); in enter_svm_guest_mode()
811 nested_svm_copy_common_state(svm->vmcb01.ptr, svm->nested.vmcb02.ptr); in enter_svm_guest_mode()
813 svm_switch_vmcb(svm, &svm->nested.vmcb02); in enter_svm_guest_mode()
969 struct vmcb *vmcb02 = svm->nested.vmcb02.ptr; in nested_svm_vmexit() local
995 vmcb12->save.es = vmcb02->save.es; in nested_svm_vmexit()
996 vmcb12->save.cs = vmcb02->save.cs; in nested_svm_vmexit()
997 vmcb12->save.ss = vmcb02->save.ss; in nested_svm_vmexit()
998 vmcb12->save.ds = vmcb02->save.ds; in nested_svm_vmexit()
999 vmcb12->save.gdtr = vmcb02->save.gdtr; in nested_svm_vmexit()
1000 vmcb12->save.idtr = vmcb02->save.idtr; in nested_svm_vmexit()
1004 vmcb12->save.cr2 = vmcb02->save.cr2; in nested_svm_vmexit()
1010 vmcb12->save.dr7 = vmcb02->save.dr7; in nested_svm_vmexit()
1012 vmcb12->save.cpl = vmcb02->save.cpl; in nested_svm_vmexit()
1014 vmcb12->control.int_state = vmcb02->control.int_state; in nested_svm_vmexit()
1015 vmcb12->control.exit_code = vmcb02->control.exit_code; in nested_svm_vmexit()
1016 vmcb12->control.exit_code_hi = vmcb02->control.exit_code_hi; in nested_svm_vmexit()
1017 vmcb12->control.exit_info_1 = vmcb02->control.exit_info_1; in nested_svm_vmexit()
1018 vmcb12->control.exit_info_2 = vmcb02->control.exit_info_2; in nested_svm_vmexit()
1024 vmcb12->control.next_rip = vmcb02->control.next_rip; in nested_svm_vmexit()
1031 vmcb01->control.pause_filter_count = vmcb02->control.pause_filter_count; in nested_svm_vmexit()
1036 nested_svm_copy_common_state(svm->nested.vmcb02.ptr, svm->vmcb01.ptr); in nested_svm_vmexit()
1064 svm_copy_lbrs(vmcb12, vmcb02); in nested_svm_vmexit()
1067 svm_copy_lbrs(vmcb01, vmcb02); in nested_svm_vmexit()
1072 if (vmcb02->control.int_ctl & V_NMI_BLOCKING_MASK) in nested_svm_vmexit()
1185 svm->nested.vmcb02.ptr = page_address(vmcb02_page); in svm_allocate_nested()
1186 svm->nested.vmcb02.pa = __sme_set(page_to_pfn(vmcb02_page) << PAGE_SHIFT); in svm_allocate_nested()
1212 __free_page(virt_to_page(svm->nested.vmcb02.ptr)); in svm_free_nested()
1213 svm->nested.vmcb02.ptr = NULL; in svm_free_nested()
1740 svm->nested.vmcb02.ptr->save = svm->vmcb01.ptr->save; in svm_set_nested_state()
1752 svm_switch_vmcb(svm, &svm->nested.vmcb02); in svm_set_nested_state()