- Timestamp:
- Oct 6, 2020 3:09:55 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/PGMAllBth.h
r86453 r86458 3039 3039 if (HCPhys != NIL_RTHCPHYS) 3040 3040 { 3041 # if PGM_SHW_TYPE == PGM_TYPE_EPT 3042 PdeDst.u = HCPhys | EPT_E_READ | EPT_E_WRITE | EPT_E_EXECUTE | EPT_E_LEAF | EPT_E_IGNORE_PAT | EPT_E_TYPE_WB 3043 | (PdeDst.u & X86_PDE_AVL_MASK) /** @todo do we need this? */; 3044 # else 3041 3045 PdeDst.u &= X86_PDE_AVL_MASK; 3042 3046 PdeDst.n.u1Present = 1; 3043 3047 PdeDst.n.u1Write = 1; 3044 3048 PdeDst.b.u1Size = 1; 3045 # if PGM_SHW_TYPE == PGM_TYPE_EPT3046 PdeDst.n.u1Execute = 1;3047 PdeDst.b.u1IgnorePAT = 1;3048 PdeDst.b.u3EMT = VMX_EPT_MEMTYPE_WB;3049 # else3050 3049 PdeDst.n.u1User = 1; 3051 # endif3052 3050 PdeDst.u |= HCPhys; /* Note! Must be done last of gcc v10.2.1 20200723 (Red Hat 10.2.1-1) may drop the top 32 bits. */ 3051 # endif 3053 3052 SHW_PDE_ATOMIC_SET2(*pPdeDst, PdeDst); 3054 3053 … … 3112 3111 3113 3112 /* Save the new PDE. */ 3113 # if PGM_SHW_TYPE == PGM_TYPE_EPT 3114 PdeDst.u = pShwPage->Core.Key | EPT_E_READ | EPT_E_WRITE | EPT_E_EXECUTE 3115 | (PdeDst.u & X86_PDE_AVL_MASK /** @todo do we really need this? */); 3116 # else 3114 3117 PdeDst.u &= X86_PDE_AVL_MASK; 3115 3118 PdeDst.n.u1Present = 1; 3116 3119 PdeDst.n.u1Write = 1; 3117 # if PGM_SHW_TYPE == PGM_TYPE_EPT3118 PdeDst.n.u1Execute = 1;3119 # else3120 3120 PdeDst.n.u1User = 1; 3121 3121 PdeDst.n.u1Accessed = 1; 3122 # endif3123 3122 PdeDst.u |= pShwPage->Core.Key; /* Note! Must be done last of gcc v10.2.1 20200723 (Red Hat 10.2.1-1) drops the top 32 bits. */ 3124 3123 /** @todo r=bird: Stop using bitfields. But we need to defined/find the EPT flags then. */ 3124 # endif 3125 3125 SHW_PDE_ATOMIC_SET2(*pPdeDst, PdeDst); 3126 3126
Note:
See TracChangeset
for help on using the changeset viewer.