Changeset 104937 in vbox
- Timestamp:
- Jun 15, 2024 10:48:34 AM (3 months ago)
- File:
-
- 1 edited
-
trunk/src/VBox/VMM/VMMAll/PGMAllGst.h (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/PGMAllGst.h
r104936 r104937 493 493 return VERR_RESERVED_PAGE_TABLE_BITS; 494 494 } 495 496 /**497 * Performs a guest page table walk.498 *499 * @returns VBox status code.500 * @retval VINF_SUCCESS on success.501 * @retval VERR_PAGE_TABLE_NOT_PRESENT, VERR_RESERVED_PAGE_TABLE_BITS or502 * VERR_PGM_INVALID_GC_PHYSICAL_ADDRESS on normal failure.503 * The failure reason is also recorded in PGMPTWALKFAST::fFailed.504 *505 * @param pVCpu The cross context virtual CPU structure of the calling EMT.506 * @param GCPtr The guest virtual address to walk by.507 * @param fFlags PGMQPAGE_F_XXX.508 * This is ignored when @a a_fSetFlags is @c false.509 * @param pWalk The page walk info.510 * @param pGstWalk The guest mode specific page walk info.511 * @tparam a_enmGuestSlatMode The SLAT mode of the function.512 * @tparam a_fSetFlags Whether to process @a fFlags and set accessed513 * and dirty flags accordingly.514 * @thread EMT(pVCpu)515 */516 template<PGMSLAT const a_enmGuestSlatMode = PGMSLAT_DIRECT, bool const a_fSetFlags = false>517 DECLINLINE(int) PGM_GST_NAME(WalkFast)(PVMCPUCC pVCpu, RTGCPTR GCPtr, uint32_t fFlags, PPGMPTWALKFAST pWalk, PGSTPTWALK pGstWalk)518 {519 int rc;520 495 521 496 # if defined(VBOX_WITH_NESTED_HWVIRT_VMX_EPT) || defined(VBOX_WITH_NESTED_HWVIRT_SVM_XXX) || defined(DOXYGEN_RUNNING) … … 589 564 # endif 590 565 566 /** 567 * Performs a guest page table walk. 568 * 569 * @returns VBox status code. 570 * @retval VINF_SUCCESS on success. 571 * @retval VERR_PAGE_TABLE_NOT_PRESENT, VERR_RESERVED_PAGE_TABLE_BITS or 572 * VERR_PGM_INVALID_GC_PHYSICAL_ADDRESS on normal failure. 573 * The failure reason is also recorded in PGMPTWALKFAST::fFailed. 574 * 575 * @param pVCpu The cross context virtual CPU structure of the calling EMT. 576 * @param GCPtr The guest virtual address to walk by. 577 * @param fFlags PGMQPAGE_F_XXX. 578 * This is ignored when @a a_fSetFlags is @c false. 579 * @param pWalk The page walk info. 580 * @param pGstWalk The guest mode specific page walk info. 581 * @tparam a_enmGuestSlatMode The SLAT mode of the function. 582 * @tparam a_fSetFlags Whether to process @a fFlags and set accessed 583 * and dirty flags accordingly. 584 * @thread EMT(pVCpu) 585 */ 586 template<PGMSLAT const a_enmGuestSlatMode = PGMSLAT_DIRECT, bool const a_fSetFlags = false> 587 DECLINLINE(int) PGM_GST_NAME(WalkFast)(PVMCPUCC pVCpu, RTGCPTR GCPtr, uint32_t fFlags, PPGMPTWALKFAST pWalk, PGSTPTWALK pGstWalk) 588 { 589 int rc; 591 590 592 591 /* … … 868 867 return rc; 869 868 } 869 } 870 870 871 # undef PGM_GST_SLAT_WALK_FAST 871 872 # undef PGM_GST_ENSURE_ENTRY_FLAGS_SET 872 }873 873 874 874 #endif /* 32BIT, PAE, AMD64 */
Note:
See TracChangeset
for help on using the changeset viewer.

