Changeset 89553 in vbox for trunk/src/VBox/Devices
- Timestamp:
- Jun 8, 2021 5:42:46 AM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Bus/DevIommuIntel.cpp
r89552 r89553 2162 2162 Assert( pMemReqAux->fTtm == VTD_TTM_LEGACY_MODE 2163 2163 || pMemReqAux->fTtm == VTD_TTM_SCALABLE_MODE); 2164 Assert(!(pMemReqAux->GCPhysSlPt & X86_PAGE_4K_OFFSET_MASK)); 2164 2165 2165 2166 /* Mask of valid paging entry bits. */ … … 2196 2197 uint8_t const cLevelShift = X86_PAGE_4K_SHIFT + (idxLevel * 9); 2197 2198 { 2198 uint 64_t const idxPte = (uAddrIn >> cLevelShift) & UINT64_C(0x1ff);2199 uint 64_t const offPte = idxPte << 3;2200 RTGCPHYS const GCPhysPtEntity = (uPtEntity & X86_PAGE_ BASE_MASK) | offPte;2199 uint16_t const idxPte = (uAddrIn >> cLevelShift) & UINT64_C(0x1ff); 2200 uint16_t const offPte = idxPte << 3; 2201 RTGCPHYS const GCPhysPtEntity = (uPtEntity & X86_PAGE_4K_BASE_MASK) | offPte; 2201 2202 int const rc = PDMDevHlpPhysReadMeta(pDevIns, GCPhysPtEntity, &uPtEntity, sizeof(uPtEntity)); 2202 2203 if (RT_SUCCESS(rc)) … … 2466 2467 pMemReqAux->cPagingLevel = cPagingLevel; 2467 2468 pMemReqAux->GCPhysSlPt = uCtxEntryQword0 & VTD_BF_0_CONTEXT_ENTRY_SLPTPTR_MASK; 2468 Assert(!(pMemReqAux->GCPhysSlPt & X86_PAGE_OFFSET_MASK));2469 2469 return dmarDrMemRangeLookup(pDevIns, dmarDrSecondLevelTranslate, pMemReqRemap); 2470 2470 }
Note:
See TracChangeset
for help on using the changeset viewer.