Changeset 14138 in vbox for trunk/src/VBox
- Timestamp:
- Nov 12, 2008 6:30:35 PM (16 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/PGMInternal.h
r14133 r14138 3839 3839 * @param GCPtr Address. 3840 3840 */ 3841 DECLINLINE(X86P GPAEUINT) pgmShwGetPaePDE(PPGM pPGM, RTGCPTR GCPtr)3841 DECLINLINE(X86PDEPAE) pgmShwGetPaePDE(PPGM pPGM, RTGCPTR GCPtr) 3842 3842 { 3843 3843 const unsigned iPdpt = (GCPtr >> X86_PDPT_SHIFT) & X86_PDPT_MASK_PAE; … … 3846 3846 PCX86PDPAE pPD; 3847 3847 int rc = PGM_HCPHYS_2_PTR(PGM2VM(pPGM), pPGM->aHCPhysPaePDs[iPdpt], &pPD); 3848 AssertRCReturn(rc, 0); 3849 return pPD->a[iPd].u; 3850 #else 3851 return pPGM->CTX_SUFF(apShwPaePDs)[iPdpt]->a[iPd].u; 3848 if (RT_FAILURE(rc)) 3849 { 3850 X86PDEPAE ZeroPDE = {0}; 3851 return ZeroPDE; 3852 } 3853 return pPD->a[iPd]; 3854 #else 3855 return pPGM->CTX_SUFF(apShwPaePDs)[iPdpt]->a[iPd]; 3852 3856 #endif 3853 3857 } -
trunk/src/VBox/VMM/VMMAll/PGMAllBth.h
r14133 r14138 1862 1862 X86PDE PdeDst = pVM->pgm.s.CTXMID(p,32BitPD)->a[iPDDst]; 1863 1863 # elif PGM_SHW_TYPE == PGM_TYPE_PAE 1864 X86PDEPAE PdeDst; 1865 PdeDst.u = pgmShwGetPaePDE(&pVM->pgm.s, GCPtrPage); 1864 X86PDEPAE PdeDst = pgmShwGetPaePDE(&pVM->pgm.s, GCPtrPage); 1866 1865 1867 1866 # elif PGM_SHW_TYPE == PGM_TYPE_AMD64 … … 2858 2857 const X86PDE PdeDst = pVM->pgm.s.CTXMID(p,32BitPD)->a[GCPtrPage >> SHW_PD_SHIFT]; 2859 2858 # elif PGM_SHW_TYPE == PGM_TYPE_PAE 2860 X86PDEPAE PdeDst; 2861 PdeDst.u = pgmShwGetPaePDE(&pVM->pgm.s, GCPtrPage); 2859 const X86PDEPAE PdeDst = pgmShwGetPaePDE(&pVM->pgm.s, GCPtrPage); 2862 2860 # elif PGM_SHW_TYPE == PGM_TYPE_AMD64 2863 2861 const unsigned iPDDst = ((GCPtrPage >> SHW_PD_SHIFT) & SHW_PD_MASK); -
trunk/src/VBox/VMM/VMMAll/PGMAllShw.h
r14093 r14138 180 180 # elif PGM_SHW_TYPE == PGM_TYPE_PAE 181 181 bool fNoExecuteBitValid = !!(CPUMGetGuestEFER(pVM) & MSR_K6_EFER_NXE); 182 X86PDEPAE Pde; 183 Pde.u = pgmShwGetPaePDE(&pVM->pgm.s, GCPtr); 182 X86PDEPAE Pde = pgmShwGetPaePDE(&pVM->pgm.s, GCPtr); 184 183 185 184 # elif PGM_SHW_TYPE == PGM_TYPE_EPT … … 319 318 320 319 # elif PGM_SHW_TYPE == PGM_TYPE_PAE 321 X86PDEPAE Pde; 322 Pde.u = pgmShwGetPaePDE(&pVM->pgm.s, GCPtr); 320 X86PDEPAE Pde = pgmShwGetPaePDE(&pVM->pgm.s, GCPtr); 323 321 324 322 # elif PGM_SHW_TYPE == PGM_TYPE_EPT -
trunk/src/VBox/VMM/VMMSwitcher.cpp
r14136 r14138 853 853 854 854 /** 855 * Relocator for the 32-Bit to AMD64 world switcher. 856 */ 857 DECLCALLBACK(void) vmmR3Switcher32BitToPAE_Relocate(PVM pVM, PVMMSWITCHERDEF pSwitcher, RTR0PTR R0PtrCode, uint8_t *pu8CodeR3, RTGCPTR GCPtrCode, uint32_t u32IDCode) 858 { 859 vmmR3SwitcherGenericRelocate(pVM, pSwitcher, R0PtrCode, pu8CodeR3, GCPtrCode, u32IDCode, 860 SELMGetHyperCS(pVM), SELMGetHyperDS(pVM), SELMGetHyperTSS(pVM), SELMGetHyperGDT(pVM), 0); 861 } 862 863 864 /** 855 865 * Relocator for the PAE to 32-Bit world switcher. 856 866 */
Note:
See TracChangeset
for help on using the changeset viewer.