Changeset 101002 in vbox for trunk/src/VBox/VMM/VMMAll/PGMAllBth.h
- Timestamp:
- Sep 1, 2023 2:03:12 PM (15 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/PGMAllBth.h
r101001 r101002 2797 2797 Assert(pShwPage->enmKind == PGMPOOLKIND_EPT_PT_FOR_EPT_2MB); 2798 2798 #endif 2799 uint64_t const fGst PteFlags = (pGstWalkAll->u.Ept.Pde.u & pVCpu->pgm.s.fGstEptShadowedBigPdeMask & ~EPT_E_LEAF)2800 | EPT_E_MEMTYPE_WB | EPT_E_IGNORE_PAT;2801 pGstWalkAll->u.Ept.Pte.u = GCPhysPage | fGst PteFlags;2799 uint64_t const fGstShwPteFlags = (pGstWalkAll->u.Ept.Pde.u & pVCpu->pgm.s.fGstEptShadowedBigPdeMask & ~EPT_E_LEAF) 2800 | EPT_E_MEMTYPE_WB | EPT_E_IGNORE_PAT; 2801 pGstWalkAll->u.Ept.Pte.u = GCPhysPage | fGstShwPteFlags; 2802 2802 2803 2803 unsigned const iPte = (GCPhysNestedPage >> SHW_PT_SHIFT) & SHW_PT_MASK; … … 2990 2990 * If we have a 2M backing page, we can map the guest's 2M page right away. 2991 2991 */ 2992 uint64_t const f ShwBigPdeFlags = (pGstWalkAll->u.Ept.Pde.u & pVCpu->pgm.s.fGstEptShadowedBigPdeMask)2993 | EPT_E_MEMTYPE_WB | EPT_E_IGNORE_PAT;2992 uint64_t const fGstShwBigPdeFlags = (pGstWalkAll->u.Ept.Pde.u & pVCpu->pgm.s.fGstEptShadowedBigPdeMask) 2993 | EPT_E_MEMTYPE_WB | EPT_E_IGNORE_PAT; 2994 2994 if (HCPhys != NIL_RTHCPHYS) 2995 2995 { 2996 Pde.u = HCPhys | f ShwBigPdeFlags;2996 Pde.u = HCPhys | fGstShwBigPdeFlags; 2997 2997 Assert(!(Pde.u & pVCpu->pgm.s.fGstEptMbzBigPdeMask)); 2998 2998 Assert(Pde.u & EPT_E_LEAF); … … 3048 3048 { 3049 3049 /* The 4K PTEs shall inherit the flags of the 2M PDE page sans the leaf bit. */ 3050 uint64_t const f ShwPteFlags = fShwBigPdeFlags & ~EPT_E_LEAF;3050 uint64_t const fGstShwPteFlags = fGstShwBigPdeFlags & ~EPT_E_LEAF; 3051 3051 3052 3052 /* Sync each 4K pages in the 2M range. */ … … 3054 3054 { 3055 3055 RTGCPHYS const GCPhysSubPage = GCPhysPt | (iPte << GUEST_PAGE_SHIFT); 3056 pGstWalkAll->u.Ept.Pte.u = GCPhysSubPage | f ShwPteFlags;3056 pGstWalkAll->u.Ept.Pte.u = GCPhysSubPage | fGstShwPteFlags; 3057 3057 Assert(!(pGstWalkAll->u.Ept.Pte.u & pVCpu->pgm.s.fGstEptMbzPteMask)); 3058 3058 PGM_BTH_NAME(NestedSyncPageWorker)(pVCpu, &pPt->a[iPte], GCPhysSubPage, pShwPage, iPte, pGstWalkAll);
Note:
See TracChangeset
for help on using the changeset viewer.