Changeset 103583 in vbox for trunk/src/VBox
- Timestamp:
- Feb 27, 2024 7:33:35 AM (12 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/PGMAllGstSlatEpt.cpp.h
r100232 r103583 36 36 * @param pVCpu The cross context virtual CPU structure of the calling EMT. 37 37 * @param uEntry The EPT page table entry to check. 38 * 39 * @remarks Current this ASSUMES @c uEntry is present (debug asserted)! 38 40 */ 39 41 DECLINLINE(bool) PGM_GST_SLAT_NAME_EPT(WalkIsPermValid)(PCVMCPUCC pVCpu, uint64_t uEntry) … … 41 43 if (!(uEntry & EPT_E_READ)) 42 44 { 45 if (uEntry & EPT_E_WRITE) 46 return false; 47 48 /* 49 * Currently all callers of this function check for the present mask prior 50 * to calling this function. Hence, the execute bit must be set now. 51 */ 52 Assert(uEntry & EPT_E_EXECUTE); 43 53 Assert(!pVCpu->CTX_SUFF(pVM)->cpum.ro.GuestFeatures.fVmxModeBasedExecuteEpt); 44 Assert(!RT_BF_GET(pVCpu->pgm.s.uEptVpidCapMsr, VMX_BF_EPT_VPID_CAP_EXEC_ONLY)); 45 NOREF(pVCpu); 46 if (uEntry & (EPT_E_WRITE | EPT_E_EXECUTE)) 47 return false; 54 if (pVCpu->pgm.s.uEptVpidCapMsr & VMX_BF_EPT_VPID_CAP_EXEC_ONLY_MASK) 55 return true; 56 return false; 48 57 } 49 58 return true;
Note:
See TracChangeset
for help on using the changeset viewer.