- Timestamp:
- Feb 3, 2022 2:15:58 PM (3 years ago)
- svn:sync-xref-src-repo-rev:
- 149718
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/VMXAllTemplate.cpp.h
r93199 r93582 2086 2086 if (VM_IS_VMX_NESTED_PAGING(pVM)) 2087 2087 { 2088 #ifndef HMVMX_ALAWAYS_INTERCEPT_CR3_ACCESS 2088 2089 if (CPUMIsGuestPagingEnabled(pVCpu)) 2089 2090 { … … 2102 2103 if (VM_IS_VMX_UNRESTRICTED_GUEST(pVM)) 2103 2104 uProcCtls &= ~VMX_PROC_CTLS_CR3_STORE_EXIT; 2105 #endif 2104 2106 } 2105 2107 else … … 8022 8024 * - We are executing in the VM debug loop. 8023 8025 */ 8024 #ifndef IN_NEM_DARWIN 8026 #ifndef HMVMX_ALAWAYS_INTERCEPT_CR3_ACCESS 8027 # ifndef IN_NEM_DARWIN 8025 8028 Assert( iCrReg != 3 8026 8029 || !VM_IS_VMX_NESTED_PAGING(pVM) 8027 8030 || !CPUMIsGuestPagingEnabledEx(&pVCpu->cpum.GstCtx) 8028 8031 || pVCpu->hmr0.s.fUsingDebugLoop); 8029 # else8032 # else 8030 8033 Assert( iCrReg != 3 8031 8034 || !CPUMIsGuestPagingEnabledEx(&pVCpu->cpum.GstCtx)); 8035 # endif 8032 8036 #endif 8033 8037 … … 8082 8086 * - We are executing in the VM debug loop. 8083 8087 */ 8084 #ifndef IN_NEM_DARWIN 8088 #ifndef HMVMX_ALAWAYS_INTERCEPT_CR3_ACCESS 8089 # ifndef IN_NEM_DARWIN 8085 8090 Assert( iCrReg != 3 8086 8091 || !VM_IS_VMX_NESTED_PAGING(pVM) 8087 8092 || !CPUMIsGuestPagingEnabledEx(&pVCpu->cpum.GstCtx) 8088 8093 || pVCpu->hmr0.s.fLeaveDone); 8089 # else8094 # else 8090 8095 Assert( iCrReg != 3 8091 8096 || !CPUMIsGuestPagingEnabledEx(&pVCpu->cpum.GstCtx)); 8097 # endif 8092 8098 #endif 8093 8099 -
trunk/src/VBox/VMM/VMMR3/NEMR3Native-darwin.cpp
r93457 r93582 1327 1327 //#define HMVMX_ALWAYS_TRAP_ALL_XCPTS 1328 1328 //#define HMVMX_ALWAYS_SYNC_FULL_GUEST_STATE 1329 #define HMVMX_ALAWAYS_INTERCEPT_CR3_ACCESS /* Temporary to investigate an issue with 32bit guests whete seem to end up with an invalid page table root address. */ 1329 1330 #define VCPU_2_VMXSTATE(a_pVCpu) (a_pVCpu)->nem.s 1330 1331 #define VCPU_2_VMXSTATS(a_pVCpu) (*(a_pVCpu)->nem.s.pVmxStats) … … 2190 2191 | VMX_PROC_CTLS_MWAIT_EXIT; /* MWAIT causes a VM-exit. */ 2191 2192 2193 #ifdef HMVMX_ALAWAYS_INTERCEPT_CR3_ACCESS 2194 fVal |= VMX_PROC_CTLS_CR3_LOAD_EXIT 2195 | VMX_PROC_CTLS_CR3_STORE_EXIT; 2196 #endif 2197 2192 2198 /* We toggle VMX_PROC_CTLS_MOV_DR_EXIT later, check if it's not -always- needed to be set or clear. */ 2193 2199 if ( !(g_HmMsrs.u.vmx.ProcCtls.n.allowed1 & VMX_PROC_CTLS_MOV_DR_EXIT)
Note:
See TracChangeset
for help on using the changeset viewer.