- Timestamp:
- Jun 21, 2023 9:50:56 AM (18 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/PGMAllGstSlatEpt.cpp.h
r98103 r100232 263 263 fEffective &= RT_BF_MAKE(PGM_PTATTRS_R, fRead) 264 264 | RT_BF_MAKE(PGM_PTATTRS_W, fWrite) 265 | RT_BF_MAKE(PGM_PTATTRS_NX, !fExecute)266 265 | RT_BF_MAKE(PGM_PTATTRS_A, fAccessed) 267 266 | fEptAndBits; 267 fEffective |= RT_BF_MAKE(PGM_PTATTRS_NX, !fExecute); 268 268 pWalk->fEffective = fEffective; 269 269 } … … 280 280 uint8_t const fMemType = RT_BF_GET(fEptAttrs, VMX_BF_EPT_PT_MEMTYPE); 281 281 uint64_t const fEptAndBits = (fEptAttrs << PGM_PTATTRS_EPT_SHIFT) & fEptAndMask; 282 fEffective &= RT_BF_MAKE(PGM_PTATTRS_R, fRead) 283 | RT_BF_MAKE(PGM_PTATTRS_W, fWrite) 284 | RT_BF_MAKE(PGM_PTATTRS_NX, !fExecute) 285 | RT_BF_MAKE(PGM_PTATTRS_A, fAccessed) 282 fEffective &= RT_BF_MAKE(PGM_PTATTRS_R, fRead) 283 | RT_BF_MAKE(PGM_PTATTRS_W, fWrite) 284 | RT_BF_MAKE(PGM_PTATTRS_A, fAccessed) 286 285 | fEptAndBits; 287 fEffective |= RT_BF_MAKE(PGM_PTATTRS_D, fDirty) 288 | RT_BF_MAKE(PGM_PTATTRS_EPT_MEMTYPE, fMemType); 286 fEffective |= RT_BF_MAKE(PGM_PTATTRS_D, fDirty) 287 | RT_BF_MAKE(PGM_PTATTRS_EPT_MEMTYPE, fMemType) 288 | RT_BF_MAKE(PGM_PTATTRS_NX, !fExecute); 289 289 pWalk->fEffective = fEffective; 290 290 … … 326 326 fEffective &= RT_BF_MAKE(PGM_PTATTRS_R, fRead) 327 327 | RT_BF_MAKE(PGM_PTATTRS_W, fWrite) 328 | RT_BF_MAKE(PGM_PTATTRS_NX, !fExecute)329 328 | RT_BF_MAKE(PGM_PTATTRS_A, fAccessed) 330 329 | fEptAndBits; 330 fEffective |= RT_BF_MAKE(PGM_PTATTRS_NX, !fExecute); 331 331 pWalk->fEffective = fEffective; 332 332 } … … 343 343 uint8_t const fMemType = RT_BF_GET(fEptAttrs, VMX_BF_EPT_PT_MEMTYPE); 344 344 uint64_t const fEptAndBits = (fEptAttrs << PGM_PTATTRS_EPT_SHIFT) & fEptAndMask; 345 fEffective &= RT_BF_MAKE(PGM_PTATTRS_R, fRead) 346 | RT_BF_MAKE(PGM_PTATTRS_W, fWrite) 347 | RT_BF_MAKE(PGM_PTATTRS_NX, !fExecute) 348 | RT_BF_MAKE(PGM_PTATTRS_A, fAccessed) 345 fEffective &= RT_BF_MAKE(PGM_PTATTRS_R, fRead) 346 | RT_BF_MAKE(PGM_PTATTRS_W, fWrite) 347 | RT_BF_MAKE(PGM_PTATTRS_A, fAccessed) 349 348 | fEptAndBits; 350 fEffective |= RT_BF_MAKE(PGM_PTATTRS_D, fDirty) 351 | RT_BF_MAKE(PGM_PTATTRS_EPT_MEMTYPE, fMemType); 349 fEffective |= RT_BF_MAKE(PGM_PTATTRS_D, fDirty) 350 | RT_BF_MAKE(PGM_PTATTRS_EPT_MEMTYPE, fMemType) 351 | RT_BF_MAKE(PGM_PTATTRS_NX, !fExecute); 352 352 pWalk->fEffective = fEffective; 353 353 … … 392 392 uint8_t const fMemType = RT_BF_GET(fEptAttrs, VMX_BF_EPT_PT_MEMTYPE); 393 393 uint64_t const fEptAndBits = (fEptAttrs << PGM_PTATTRS_EPT_SHIFT) & fEptAndMask; 394 fEffective &= RT_BF_MAKE(PGM_PTATTRS_R, fRead) 395 | RT_BF_MAKE(PGM_PTATTRS_W, fWrite) 396 | RT_BF_MAKE(PGM_PTATTRS_NX, !fExecute) 397 | RT_BF_MAKE(PGM_PTATTRS_A, fAccessed) 394 fEffective &= RT_BF_MAKE(PGM_PTATTRS_R, fRead) 395 | RT_BF_MAKE(PGM_PTATTRS_W, fWrite) 396 | RT_BF_MAKE(PGM_PTATTRS_A, fAccessed) 398 397 | fEptAndBits; 399 fEffective |= RT_BF_MAKE(PGM_PTATTRS_D, fDirty) 400 | RT_BF_MAKE(PGM_PTATTRS_EPT_MEMTYPE, fMemType); 398 fEffective |= RT_BF_MAKE(PGM_PTATTRS_D, fDirty) 399 | RT_BF_MAKE(PGM_PTATTRS_EPT_MEMTYPE, fMemType) 400 | RT_BF_MAKE(PGM_PTATTRS_NX, !fExecute); 401 401 pWalk->fEffective = fEffective; 402 402
Note:
See TracChangeset
for help on using the changeset viewer.