- Timestamp:
- Feb 27, 2009 11:02:41 AM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 43486
- Location:
- trunk/src/VBox/VMM/VMMAll
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/PGMAll.cpp
r17179 r17195 902 902 if (CPUMGetGuestCR4(pVM) & X86_CR4_PAE) 903 903 { 904 GCPdPt = pGstPdpe->u & X86_PDPE_PG_MASK; 905 enmKind = PGMPOOLKIND_PAE_PD_FOR_PAE_PD; 904 if (!pGstPdpe->n.u1Present) 905 { 906 /* PD not present; guest must reload CR3 to change it. 907 * No need to monitor anything in this case. 908 */ 909 Assert(!HWACCMIsEnabled(pVM)); 910 911 GCPdPt = pGstPdpe->u & X86_PDPE_PG_MASK; 912 enmKind = PGMPOOLKIND_PAE_PD_PHYS; 913 pGstPdpe->n.u1Present = 1; 914 } 915 else 916 { 917 GCPdPt = pGstPdpe->u & X86_PDPE_PG_MASK; 918 enmKind = PGMPOOLKIND_PAE_PD_FOR_PAE_PD; 919 } 906 920 } 907 921 else -
trunk/src/VBox/VMM/VMMAll/PGMAllMap.cpp
r17140 r17195 280 280 { 281 281 /* Fake PDPT entry; access control handled on the page table level, so allow everything. */ 282 GstPdpe.u 282 GstPdpe.u = X86_PDPE_P; /* rw/us are reserved for PAE pdpte's; accessed bit causes invalid VT-x guest state errors */ 283 283 } 284 284 else … … 289 289 GstPdpe = *pGstPdpe; 290 290 else 291 GstPdpe.u 291 GstPdpe.u = X86_PDPE_P; /* rw/us are reserved for PAE pdpte's; accessed bit causes invalid VT-x guest state errors */ 292 292 } 293 293 int rc = pgmShwSyncPaePDPtr(pVM, (iPdPt << X86_PDPT_SHIFT), &GstPdpe, &pShwPaePd);
Note:
See TracChangeset
for help on using the changeset viewer.