Changeset 17591 in vbox for trunk/src/VBox/VMM/VMMAll
- Timestamp:
- Mar 9, 2009 4:58:49 PM (16 years ago)
- Location:
- trunk/src/VBox/VMM/VMMAll
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/PGMAll.cpp
r17589 r17591 914 914 if (CPUMGetGuestCR4(pVM) & X86_CR4_PAE) 915 915 { 916 if (!pGstPdpe->n.u1Present) 917 { 918 /* PD not present; guest must reload CR3 to change it. 919 * No need to monitor anything in this case. 920 */ 921 Assert(!HWACCMIsEnabled(pVM)); 922 923 GCPdPt = pGstPdpe->u & X86_PDPE_PG_MASK; 924 enmKind = PGMPOOLKIND_PAE_PD_PHYS; 925 pGstPdpe->n.u1Present = 1; 926 } 927 else 928 { 929 GCPdPt = pGstPdpe->u & X86_PDPE_PG_MASK; 930 enmKind = PGMPOOLKIND_PAE_PD_FOR_PAE_PD; 931 } 916 Assert(pGstPdpe->n.u1Present); 917 GCPdPt = pGstPdpe->u & X86_PDPE_PG_MASK; 918 enmKind = PGMPOOLKIND_PAE_PD_FOR_PAE_PD; 932 919 } 933 920 else … … 935 922 GCPdPt = CPUMGetGuestCR3(pVM); 936 923 enmKind = (PGMPOOLKIND)(PGMPOOLKIND_PAE_PD0_FOR_32BIT_PD + iPdPt); 924 Assert(pGstPdpe->n.u1Present); 937 925 } 938 926 } -
trunk/src/VBox/VMM/VMMAll/PGMAllMap.cpp
r17586 r17591 283 283 PX86PDPE pGstPdpe; 284 284 pGstPdpe = pgmGstGetPaePDPEPtr(&pVM->pgm.s, (iPdPt << X86_PDPT_SHIFT)); 285 if (pGstPdpe) 286 GstPdpe = *pGstPdpe; 287 else 288 GstPdpe.u = X86_PDPE_P; /* rw/us are reserved for PAE pdpte's; accessed bit causes invalid VT-x guest state errors */ 285 AssertFatal(pGstPdpe); 286 GstPdpe = *pGstPdpe; 289 287 } 290 288 int rc = pgmShwSyncPaePDPtr(pVM, (iPdPt << X86_PDPT_SHIFT), &GstPdpe, &pShwPaePd);
Note:
See TracChangeset
for help on using the changeset viewer.