Changeset 93043 in vbox
- Timestamp:
- Dec 21, 2021 11:38:47 AM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/VMXAllTemplate.cpp.h
r92745 r93043 900 900 } 901 901 902 902 #ifdef IN_RING0 903 903 /** 904 904 * Sets the given Processor-based VM-execution controls. … … 967 967 } 968 968 } 969 969 #endif 970 970 971 971 /** … … 1253 1253 1254 1254 1255 #ifdef IN_RING0 1255 1256 /** 1256 1257 * Updates the VM's last error record. … … 1272 1273 VMX_VMCS_READ_32(pVCpu, VMX_VMCS32_RO_VM_INSTR_ERROR, &VCPU_2_VMXSTATE(pVCpu).vmx.LastError.u32InstrError); 1273 1274 } 1274 #ifdef IN_RING01275 1275 pVCpu->CTX_SUFF(pVM)->hm.s.ForR3.rcInit = rc; 1276 #endif 1277 } 1276 } 1277 #endif 1278 1278 1279 1279 … … 1547 1547 #endif 1548 1548 1549 #ifdef IN_RING0 1549 1550 /** 1550 1551 * Sets the permission bits for the specified MSR in the given MSR bitmap. … … 1751 1752 pHostMsr[i].u32Msr = idMsr; 1752 1753 1753 #ifdef IN_RING01754 1754 /* 1755 1755 * Only if the caller requests to update the host MSR value AND we've newly added the … … 1773 1773 } 1774 1774 } 1775 #else 1776 RT_NOREF(fUpdateHostMsr); 1777 #endif 1775 1778 1776 return VINF_SUCCESS; 1779 1777 } … … 1875 1873 return false; 1876 1874 } 1875 #endif 1877 1876 1878 1877 … … 3040 3039 3041 3040 3041 #ifdef IN_RING0 3042 3042 /** 3043 3043 * Exports the guest's RSP into the guest-state area in the VMCS. … … 3060 3060 } 3061 3061 } 3062 #endif 3062 3063 3063 3064 … … 3279 3280 3280 3281 3282 #ifdef IN_RING0 3281 3283 /** 3282 3284 * Exports the guest hardware-virtualization state. … … 3338 3340 return VINF_SUCCESS; 3339 3341 } 3342 #endif 3340 3343 3341 3344 … … 3762 3765 3763 3766 3767 #ifdef IN_RING0 3764 3768 /** 3765 3769 * Exports the guest debug registers into the guest-state area in the VMCS. … … 3776 3780 static int vmxHCExportSharedDebugState(PVMCPUCC pVCpu, PVMXTRANSIENT pVmxTransient) 3777 3781 { 3778 #ifdef IN_RING03779 3782 Assert(!RTThreadPreemptIsEnabled(NIL_RTTHREAD)); 3780 #endif3781 3783 3782 3784 /** @todo NSTVMX: Figure out what we want to do with nested-guest instruction … … 3816 3818 #endif 3817 3819 3818 #ifdef IN_RING0 /** @todo */3819 3820 bool fSteppingDB = false; 3820 3821 bool fInterceptMovDRx = false; … … 3938 3939 } 3939 3940 } 3941 3942 return VINF_SUCCESS; 3943 } 3940 3944 #endif /* !IN_RING0 */ 3941 3942 return VINF_SUCCESS;3943 }3944 3945 3945 3946 … … 4445 4446 4446 4447 4448 #ifdef IN_RING0 4447 4449 /** 4448 4450 * Exports certain guest MSRs into the VM-entry MSR-load and VM-exit MSR-store … … 4591 4593 } 4592 4594 4593 #ifdef IN_RING0 /** @todo */4594 4595 /* Last Branch Record. */ 4595 4596 if (VM_IS_VMX_LBR(pVM)) … … 4623 4624 AssertRCReturn(rc, rc); 4624 4625 } 4625 #endif /* !IN_RING0 */4626 4626 4627 4627 ASMAtomicUoAndU64(&VCPU_2_VMXSTATE(pVCpu).fCtxChanged, ~HM_CHANGED_GUEST_OTHER_MSRS); … … 4632 4632 4633 4633 4634 #ifdef IN_RING04635 4634 /** 4636 4635 * Sets up the usage of TSC-offsetting and updates the VMCS. … … 6796 6795 6797 6796 6797 #ifdef IN_RING0 6798 6798 /** 6799 6799 * Exports the guest state into the VMCS guest-state area. … … 6825 6825 STAM_PROFILE_ADV_START(&VCPU_2_VMXSTATS(pVCpu).StatExportGuestState, x); 6826 6826 6827 #ifdef IN_RING06828 6827 /* 6829 6828 * Determine real-on-v86 mode. … … 6839 6838 pVmcsInfoShared->RealMode.fRealOnV86Active = true; 6840 6839 } 6841 #endif6842 6840 6843 6841 /* … … 6904 6902 static void vmxHCExportSharedState(PVMCPUCC pVCpu, PVMXTRANSIENT pVmxTransient) 6905 6903 { 6906 #ifdef IN_RING06907 6904 Assert(!RTThreadPreemptIsEnabled(NIL_RTTHREAD)); 6908 6905 Assert(!VMMRZCallRing3IsEnabled(pVCpu)); 6909 #endif6910 6906 6911 6907 if (VCPU_2_VMXSTATE(pVCpu).fCtxChanged & HM_CHANGED_GUEST_DR_MASK) … … 6920 6916 } 6921 6917 6922 #ifdef IN_RING06923 6918 if (VCPU_2_VMXSTATE(pVCpu).fCtxChanged & HM_CHANGED_VMX_GUEST_LAZY_MSRS) 6924 6919 { … … 6926 6921 VCPU_2_VMXSTATE(pVCpu).fCtxChanged &= ~HM_CHANGED_VMX_GUEST_LAZY_MSRS; 6927 6922 } 6928 #endif6929 6923 6930 6924 AssertMsg(!(VCPU_2_VMXSTATE(pVCpu).fCtxChanged & HM_CHANGED_VMX_HOST_GUEST_SHARED_STATE), … … 6949 6943 { 6950 6944 HMVMX_ASSERT_PREEMPT_SAFE(pVCpu); 6951 #ifdef IN_RING06952 6945 Assert(!VMMRZCallRing3IsEnabled(pVCpu)); 6953 #endif6954 6946 6955 6947 #ifdef HMVMX_ALWAYS_SYNC_FULL_GUEST_STATE … … 6986 6978 AssertMsg(rcStrict == VINF_EM_RESCHEDULE_REM, ("Failed to export guest state! rc=%Rrc\n", 6987 6979 VBOXSTRICTRC_VAL(rcStrict))); 6988 #ifdef IN_RING06989 6980 Assert(!VMMRZCallRing3IsEnabled(pVCpu)); 6990 #endif6991 6981 return rcStrict; 6992 6982 } … … 7004 6994 return rcStrict; 7005 6995 } 6996 #endif 7006 6997 7007 6998
Note:
See TracChangeset
for help on using the changeset viewer.