Changeset 13937 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Nov 6, 2008 8:52:05 PM (16 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/PGM.cpp
r13936 r13937 2322 2322 RTGCPTR GCPtr; 2323 2323 SSMR3GetGCPtr(pSSM, &GCPtr); 2324 RTGC UINTPTR cPTs;2324 RTGCPTR cPTs; 2325 2325 rc = SSMR3GetGCUIntPtr(pSSM, &cPTs); 2326 2326 if (RT_FAILURE(rc)) -
trunk/src/VBox/VMM/PGMBth.h
r13936 r13937 27 27 PGM_BTH_DECL(int, InitData)(PVM pVM, PPGMMODEDATA pModeData, bool fResolveGCAndR0); 28 28 PGM_BTH_DECL(int, Enter)(PVM pVM, RTGCPHYS GCPhysCR3); 29 PGM_BTH_DECL(int, Relocate)(PVM pVM, RTGC UINTPTR offDelta);29 PGM_BTH_DECL(int, Relocate)(PVM pVM, RTGCPTR offDelta); 30 30 31 31 PGM_BTH_DECL(int, Trap0eHandler)(PVM pVM, RTGCUINT uErr, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault); 32 32 PGM_BTH_DECL(int, SyncCR3)(PVM pVM, uint64_t cr0, uint64_t cr3, uint64_t cr4, bool fGlobal); 33 PGM_BTH_DECL(int, SyncPage)(PVM pVM, X86PDE PdeSrc, RTGC UINTPTR GCPtrPage, unsigned cPages, unsigned uError);34 PGM_BTH_DECL(int, VerifyAccessSyncPage)(PVM pVM, RTGC UINTPTR Addr, unsigned fPage, unsigned uError);33 PGM_BTH_DECL(int, SyncPage)(PVM pVM, X86PDE PdeSrc, RTGCPTR GCPtrPage, unsigned cPages, unsigned uError); 34 PGM_BTH_DECL(int, VerifyAccessSyncPage)(PVM pVM, RTGCPTR Addr, unsigned fPage, unsigned uError); 35 35 PGM_BTH_DECL(int, InvalidatePage)(PVM pVM, RTGCPTR GCPtrPage); 36 PGM_BTH_DECL(int, PrefetchPage)(PVM pVM, RTGC UINTPTR GCPtrPage);36 PGM_BTH_DECL(int, PrefetchPage)(PVM pVM, RTGCPTR GCPtrPage); 37 37 PGM_BTH_DECL(unsigned, AssertCR3)(PVM pVM, uint64_t cr3, uint64_t cr4, RTGCPTR GCPtr = 0, RTGCPTR cb = ~(RTGCPTR)0); 38 38 __END_DECLS … … 130 130 * @param offDelta The reloation offset. 131 131 */ 132 PGM_BTH_DECL(int, Relocate)(PVM pVM, RTGC UINTPTR offDelta)132 PGM_BTH_DECL(int, Relocate)(PVM pVM, RTGCPTR offDelta) 133 133 { 134 134 /* nothing special to do here - InitData does the job. */ -
trunk/src/VBox/VMM/PGMDbg.cpp
r13936 r13937 431 431 * @param pGCPtrHit Where to store the address of the first occurence on success. 432 432 */ 433 VMMR3DECL(int) PGMR3DbgScanVirtual(PVM pVM, RTGC UINTPTR GCPtr, RTGCUINTPTR cbRange, const uint8_t *pabNeedle, size_t cbNeedle, PRTGCUINTPTR pGCPtrHit)433 VMMR3DECL(int) PGMR3DbgScanVirtual(PVM pVM, RTGCPTR GCPtr, RTGCPTR cbRange, const uint8_t *pabNeedle, size_t cbNeedle, PRTGCUINTPTR pGCPtrHit) 434 434 { 435 435 /* … … 455 455 * Search the memory - ignore MMIO, zero and not-present pages. 456 456 */ 457 uint8_t 458 size_t 459 const RTGC UINTPTR GCPtrLast = GCPtr + cbRange - 1 >= GCPtr460 461 462 RTGC UINTPTR cPages = (((GCPtrLast - GCPtr) + (GCPtr & PAGE_OFFSET_MASK)) >> PAGE_SHIFT) + 1;457 uint8_t abPrev[MAX_NEEDLE_SIZE]; 458 size_t cbPrev = 0; 459 const RTGCPTR GCPtrLast = GCPtr + cbRange - 1 >= GCPtr 460 ? GCPtr + cbRange - 1 461 : ~(RTGCPTR)0; 462 RTGCPTR cPages = (((GCPtrLast - GCPtr) + (GCPtr & PAGE_OFFSET_MASK)) >> PAGE_SHIFT) + 1; 463 463 while (cPages-- > 0) 464 464 { -
trunk/src/VBox/VMM/PGMGst.h
r13933 r13937 107 107 PGM_GST_DECL(int, InitData)(PVM pVM, PPGMMODEDATA pModeData, bool fResolveGCAndR0); 108 108 PGM_GST_DECL(int, Enter)(PVM pVM, RTGCPHYS GCPhysCR3); 109 PGM_GST_DECL(int, Relocate)(PVM pVM, RTGC UINTPTR offDelta);109 PGM_GST_DECL(int, Relocate)(PVM pVM, RTGCPTR offDelta); 110 110 PGM_GST_DECL(int, Exit)(PVM pVM); 111 111 … … 117 117 118 118 /* all */ 119 PGM_GST_DECL(int, GetPage)(PVM pVM, RTGC UINTPTR GCPtr, uint64_t *pfFlags, PRTGCPHYS pGCPhys);120 PGM_GST_DECL(int, ModifyPage)(PVM pVM, RTGC UINTPTR GCPtr, size_t cb, uint64_t fFlags, uint64_t fMask);121 PGM_GST_DECL(int, GetPDE)(PVM pVM, RTGC UINTPTR GCPtr, PX86PDEPAE pPDE);119 PGM_GST_DECL(int, GetPage)(PVM pVM, RTGCPTR GCPtr, uint64_t *pfFlags, PRTGCPHYS pGCPhys); 120 PGM_GST_DECL(int, ModifyPage)(PVM pVM, RTGCPTR GCPtr, size_t cb, uint64_t fFlags, uint64_t fMask); 121 PGM_GST_DECL(int, GetPDE)(PVM pVM, RTGCPTR GCPtr, PX86PDEPAE pPDE); 122 122 PGM_GST_DECL(int, MapCR3)(PVM pVM, RTGCPHYS GCPhysCR3); 123 123 PGM_GST_DECL(int, UnmapCR3)(PVM pVM); … … 244 244 * @param offDelta The reloation offset. 245 245 */ 246 PGM_GST_DECL(int, Relocate)(PVM pVM, RTGC UINTPTR offDelta)246 PGM_GST_DECL(int, Relocate)(PVM pVM, RTGCPTR offDelta) 247 247 { 248 248 /* nothing special to do here - InitData does the job. */ … … 296 296 * Check for conflicts. 297 297 */ 298 const RTGC UINTPTRoffPD = GCPhys & PAGE_OFFSET_MASK;299 const unsigned iPD1= offPD / sizeof(X86PDE);300 const unsigned iPD2= (offPD + cbBuf - 1) / sizeof(X86PDE);298 const RTGCPTR offPD = GCPhys & PAGE_OFFSET_MASK; 299 const unsigned iPD1 = offPD / sizeof(X86PDE); 300 const unsigned iPD2 = (offPD + cbBuf - 1) / sizeof(X86PDE); 301 301 Assert(iPD1 - iPD2 <= 1); 302 302 if ( ( pVM->pgm.s.pGuestPDR3->a[iPD1].n.u1Present … … 418 418 if (pVM->pgm.s.pGstPaePDPTHC->a[i].u == (GCPhys & X86_PTE_PAE_PG_MASK)) 419 419 { 420 PX86PDPAE 421 const RTGC UINTPTR offPD= GCPhys & PAGE_OFFSET_MASK;422 const unsigned iPD1= offPD / sizeof(X86PDEPAE);423 const unsigned iPD2= (offPD + cbBuf - 1) / sizeof(X86PDEPAE);420 PX86PDPAE pPDSrc = pgmGstGetPaePD(&pVM->pgm.s, i << X86_PDPT_SHIFT); 421 const RTGCPTR offPD = GCPhys & PAGE_OFFSET_MASK; 422 const unsigned iPD1 = offPD / sizeof(X86PDEPAE); 423 const unsigned iPD2 = (offPD + cbBuf - 1) / sizeof(X86PDEPAE); 424 424 Assert(iPD1 - iPD2 <= 1); 425 425 if ( ( pPDSrc->a[iPD1].n.u1Present -
trunk/src/VBox/VMM/PGMInternal.h
r13936 r13937 329 329 #endif 330 330 /** Start Virtual address. */ 331 RTGC UINTPTRGCPtr;331 RTGCPTR GCPtr; 332 332 /** Last Virtual address (inclusive). */ 333 RTGC UINTPTRGCPtrLast;333 RTGCPTR GCPtrLast; 334 334 /** Range size (bytes). */ 335 RTGC UINTPTRcb;335 RTGCPTR cb; 336 336 /** Pointer to relocation callback function. */ 337 337 R3PTRTYPE(PFNPGMRELOCATE) pfnRelocate; … … 451 451 AVLROGCPTRNODECORE Core; 452 452 /** Size of the range (in bytes). */ 453 RTGC UINTPTRcb;453 RTGCPTR cb; 454 454 /** Number of cache pages. */ 455 455 uint32_t cPages; … … 1851 1851 * @{ 1852 1852 */ 1853 DECLR3CALLBACKMEMBER(int, pfnR3ShwRelocate,(PVM pVM, RTGC UINTPTR offDelta));1853 DECLR3CALLBACKMEMBER(int, pfnR3ShwRelocate,(PVM pVM, RTGCPTR offDelta)); 1854 1854 DECLR3CALLBACKMEMBER(int, pfnR3ShwExit,(PVM pVM)); 1855 DECLR3CALLBACKMEMBER(int, pfnR3ShwGetPage,(PVM pVM, RTGC UINTPTR GCPtr, uint64_t *pfFlags, PRTHCPHYS pHCPhys));1856 DECLR3CALLBACKMEMBER(int, pfnR3ShwModifyPage,(PVM pVM, RTGC UINTPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask));1857 1858 DECLRCCALLBACKMEMBER(int, pfnRCShwGetPage,(PVM pVM, RTGC UINTPTR GCPtr, uint64_t *pfFlags, PRTHCPHYS pHCPhys));1859 DECLRCCALLBACKMEMBER(int, pfnRCShwModifyPage,(PVM pVM, RTGC UINTPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask));1860 1861 DECLR0CALLBACKMEMBER(int, pfnR0ShwGetPage,(PVM pVM, RTGC UINTPTR GCPtr, uint64_t *pfFlags, PRTHCPHYS pHCPhys));1862 DECLR0CALLBACKMEMBER(int, pfnR0ShwModifyPage,(PVM pVM, RTGC UINTPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask));1855 DECLR3CALLBACKMEMBER(int, pfnR3ShwGetPage,(PVM pVM, RTGCPTR GCPtr, uint64_t *pfFlags, PRTHCPHYS pHCPhys)); 1856 DECLR3CALLBACKMEMBER(int, pfnR3ShwModifyPage,(PVM pVM, RTGCPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask)); 1857 1858 DECLRCCALLBACKMEMBER(int, pfnRCShwGetPage,(PVM pVM, RTGCPTR GCPtr, uint64_t *pfFlags, PRTHCPHYS pHCPhys)); 1859 DECLRCCALLBACKMEMBER(int, pfnRCShwModifyPage,(PVM pVM, RTGCPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask)); 1860 1861 DECLR0CALLBACKMEMBER(int, pfnR0ShwGetPage,(PVM pVM, RTGCPTR GCPtr, uint64_t *pfFlags, PRTHCPHYS pHCPhys)); 1862 DECLR0CALLBACKMEMBER(int, pfnR0ShwModifyPage,(PVM pVM, RTGCPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask)); 1863 1863 /** @} */ 1864 1864 … … 1866 1866 * @{ 1867 1867 */ 1868 DECLR3CALLBACKMEMBER(int, pfnR3GstRelocate,(PVM pVM, RTGC UINTPTR offDelta));1868 DECLR3CALLBACKMEMBER(int, pfnR3GstRelocate,(PVM pVM, RTGCPTR offDelta)); 1869 1869 DECLR3CALLBACKMEMBER(int, pfnR3GstExit,(PVM pVM)); 1870 DECLR3CALLBACKMEMBER(int, pfnR3GstGetPage,(PVM pVM, RTGC UINTPTR GCPtr, uint64_t *pfFlags, PRTGCPHYS pGCPhys));1871 DECLR3CALLBACKMEMBER(int, pfnR3GstModifyPage,(PVM pVM, RTGC UINTPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask));1872 DECLR3CALLBACKMEMBER(int, pfnR3GstGetPDE,(PVM pVM, RTGC UINTPTR GCPtr, PX86PDEPAE pPde));1870 DECLR3CALLBACKMEMBER(int, pfnR3GstGetPage,(PVM pVM, RTGCPTR GCPtr, uint64_t *pfFlags, PRTGCPHYS pGCPhys)); 1871 DECLR3CALLBACKMEMBER(int, pfnR3GstModifyPage,(PVM pVM, RTGCPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask)); 1872 DECLR3CALLBACKMEMBER(int, pfnR3GstGetPDE,(PVM pVM, RTGCPTR GCPtr, PX86PDEPAE pPde)); 1873 1873 DECLR3CALLBACKMEMBER(int, pfnR3GstMonitorCR3,(PVM pVM, RTGCPHYS GCPhysCR3)); 1874 1874 DECLR3CALLBACKMEMBER(int, pfnR3GstUnmonitorCR3,(PVM pVM)); … … 1880 1880 R3PTRTYPE(const char *) pszR3GstPAEWriteHandlerCR3; 1881 1881 1882 DECLRCCALLBACKMEMBER(int, pfnRCGstGetPage,(PVM pVM, RTGC UINTPTR GCPtr, uint64_t *pfFlags, PRTGCPHYS pGCPhys));1883 DECLRCCALLBACKMEMBER(int, pfnRCGstModifyPage,(PVM pVM, RTGC UINTPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask));1884 DECLRCCALLBACKMEMBER(int, pfnRCGstGetPDE,(PVM pVM, RTGC UINTPTR GCPtr, PX86PDEPAE pPde));1882 DECLRCCALLBACKMEMBER(int, pfnRCGstGetPage,(PVM pVM, RTGCPTR GCPtr, uint64_t *pfFlags, PRTGCPHYS pGCPhys)); 1883 DECLRCCALLBACKMEMBER(int, pfnRCGstModifyPage,(PVM pVM, RTGCPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask)); 1884 DECLRCCALLBACKMEMBER(int, pfnRCGstGetPDE,(PVM pVM, RTGCPTR GCPtr, PX86PDEPAE pPde)); 1885 1885 DECLRCCALLBACKMEMBER(int, pfnRCGstMonitorCR3,(PVM pVM, RTGCPHYS GCPhysCR3)); 1886 1886 DECLRCCALLBACKMEMBER(int, pfnRCGstUnmonitorCR3,(PVM pVM)); … … 1890 1890 RCPTRTYPE(PFNPGMRCPHYSHANDLER) pfnRCGstPAEWriteHandlerCR3; 1891 1891 1892 DECLR0CALLBACKMEMBER(int, pfnR0GstGetPage,(PVM pVM, RTGC UINTPTR GCPtr, uint64_t *pfFlags, PRTGCPHYS pGCPhys));1893 DECLR0CALLBACKMEMBER(int, pfnR0GstModifyPage,(PVM pVM, RTGC UINTPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask));1894 DECLR0CALLBACKMEMBER(int, pfnR0GstGetPDE,(PVM pVM, RTGC UINTPTR GCPtr, PX86PDEPAE pPde));1892 DECLR0CALLBACKMEMBER(int, pfnR0GstGetPage,(PVM pVM, RTGCPTR GCPtr, uint64_t *pfFlags, PRTGCPHYS pGCPhys)); 1893 DECLR0CALLBACKMEMBER(int, pfnR0GstModifyPage,(PVM pVM, RTGCPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask)); 1894 DECLR0CALLBACKMEMBER(int, pfnR0GstGetPDE,(PVM pVM, RTGCPTR GCPtr, PX86PDEPAE pPde)); 1895 1895 DECLR0CALLBACKMEMBER(int, pfnR0GstMonitorCR3,(PVM pVM, RTGCPHYS GCPhysCR3)); 1896 1896 DECLR0CALLBACKMEMBER(int, pfnR0GstUnmonitorCR3,(PVM pVM)); … … 1904 1904 * @{ 1905 1905 */ 1906 DECLR3CALLBACKMEMBER(int, pfnR3BthRelocate,(PVM pVM, RTGC UINTPTR offDelta));1906 DECLR3CALLBACKMEMBER(int, pfnR3BthRelocate,(PVM pVM, RTGCPTR offDelta)); 1907 1907 /* no pfnR3BthTrap0eHandler */ 1908 1908 DECLR3CALLBACKMEMBER(int, pfnR3BthInvalidatePage,(PVM pVM, RTGCPTR GCPtrPage)); 1909 1909 DECLR3CALLBACKMEMBER(int, pfnR3BthSyncCR3,(PVM pVM, uint64_t cr0, uint64_t cr3, uint64_t cr4, bool fGlobal)); 1910 DECLR3CALLBACKMEMBER(int, pfnR3BthSyncPage,(PVM pVM, X86PDE PdeSrc, RTGC UINTPTR GCPtrPage, unsigned cPages, unsigned uError));1911 DECLR3CALLBACKMEMBER(int, pfnR3BthPrefetchPage,(PVM pVM, RTGC UINTPTR GCPtrPage));1912 DECLR3CALLBACKMEMBER(int, pfnR3BthVerifyAccessSyncPage,(PVM pVM, RTGC UINTPTR GCPtrPage, unsigned fFlags, unsigned uError));1910 DECLR3CALLBACKMEMBER(int, pfnR3BthSyncPage,(PVM pVM, X86PDE PdeSrc, RTGCPTR GCPtrPage, unsigned cPages, unsigned uError)); 1911 DECLR3CALLBACKMEMBER(int, pfnR3BthPrefetchPage,(PVM pVM, RTGCPTR GCPtrPage)); 1912 DECLR3CALLBACKMEMBER(int, pfnR3BthVerifyAccessSyncPage,(PVM pVM, RTGCPTR GCPtrPage, unsigned fFlags, unsigned uError)); 1913 1913 #ifdef VBOX_STRICT 1914 1914 DECLR3CALLBACKMEMBER(unsigned, pfnR3BthAssertCR3,(PVM pVM, uint64_t cr3, uint64_t cr4, RTGCPTR GCPtr, RTGCPTR cb)); … … 1918 1918 DECLRCCALLBACKMEMBER(int, pfnRCBthInvalidatePage,(PVM pVM, RTGCPTR GCPtrPage)); 1919 1919 DECLRCCALLBACKMEMBER(int, pfnRCBthSyncCR3,(PVM pVM, uint64_t cr0, uint64_t cr3, uint64_t cr4, bool fGlobal)); 1920 DECLRCCALLBACKMEMBER(int, pfnRCBthSyncPage,(PVM pVM, X86PDE PdeSrc, RTGC UINTPTR GCPtrPage, unsigned cPages, unsigned uError));1921 DECLRCCALLBACKMEMBER(int, pfnRCBthPrefetchPage,(PVM pVM, RTGC UINTPTR GCPtrPage));1922 DECLRCCALLBACKMEMBER(int, pfnRCBthVerifyAccessSyncPage,(PVM pVM, RTGC UINTPTR GCPtrPage, unsigned fFlags, unsigned uError));1920 DECLRCCALLBACKMEMBER(int, pfnRCBthSyncPage,(PVM pVM, X86PDE PdeSrc, RTGCPTR GCPtrPage, unsigned cPages, unsigned uError)); 1921 DECLRCCALLBACKMEMBER(int, pfnRCBthPrefetchPage,(PVM pVM, RTGCPTR GCPtrPage)); 1922 DECLRCCALLBACKMEMBER(int, pfnRCBthVerifyAccessSyncPage,(PVM pVM, RTGCPTR GCPtrPage, unsigned fFlags, unsigned uError)); 1923 1923 #ifdef VBOX_STRICT 1924 1924 DECLRCCALLBACKMEMBER(unsigned, pfnRCBthAssertCR3,(PVM pVM, uint64_t cr3, uint64_t cr4, RTGCPTR GCPtr, RTGCPTR cb)); … … 1928 1928 DECLR0CALLBACKMEMBER(int, pfnR0BthInvalidatePage,(PVM pVM, RTGCPTR GCPtrPage)); 1929 1929 DECLR0CALLBACKMEMBER(int, pfnR0BthSyncCR3,(PVM pVM, uint64_t cr0, uint64_t cr3, uint64_t cr4, bool fGlobal)); 1930 DECLR0CALLBACKMEMBER(int, pfnR0BthSyncPage,(PVM pVM, X86PDE PdeSrc, RTGC UINTPTR GCPtrPage, unsigned cPages, unsigned uError));1931 DECLR0CALLBACKMEMBER(int, pfnR0BthPrefetchPage,(PVM pVM, RTGC UINTPTR GCPtrPage));1932 DECLR0CALLBACKMEMBER(int, pfnR0BthVerifyAccessSyncPage,(PVM pVM, RTGC UINTPTR GCPtrPage, unsigned fFlags, unsigned uError));1930 DECLR0CALLBACKMEMBER(int, pfnR0BthSyncPage,(PVM pVM, X86PDE PdeSrc, RTGCPTR GCPtrPage, unsigned cPages, unsigned uError)); 1931 DECLR0CALLBACKMEMBER(int, pfnR0BthPrefetchPage,(PVM pVM, RTGCPTR GCPtrPage)); 1932 DECLR0CALLBACKMEMBER(int, pfnR0BthVerifyAccessSyncPage,(PVM pVM, RTGCPTR GCPtrPage, unsigned fFlags, unsigned uError)); 1933 1933 #ifdef VBOX_STRICT 1934 1934 DECLR0CALLBACKMEMBER(unsigned, pfnR0BthAssertCR3,(PVM pVM, uint64_t cr3, uint64_t cr4, RTGCPTR GCPtr, RTGCPTR cb)); … … 2118 2118 * @{ 2119 2119 */ 2120 DECLR3CALLBACKMEMBER(int, pfnR3ShwRelocate,(PVM pVM, RTGC UINTPTR offDelta));2120 DECLR3CALLBACKMEMBER(int, pfnR3ShwRelocate,(PVM pVM, RTGCPTR offDelta)); 2121 2121 DECLR3CALLBACKMEMBER(int, pfnR3ShwExit,(PVM pVM)); 2122 DECLR3CALLBACKMEMBER(int, pfnR3ShwGetPage,(PVM pVM, RTGC UINTPTR GCPtr, uint64_t *pfFlags, PRTHCPHYS pHCPhys));2123 DECLR3CALLBACKMEMBER(int, pfnR3ShwModifyPage,(PVM pVM, RTGC UINTPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask));2124 2125 DECLRCCALLBACKMEMBER(int, pfnRCShwGetPage,(PVM pVM, RTGC UINTPTR GCPtr, uint64_t *pfFlags, PRTHCPHYS pHCPhys));2126 DECLRCCALLBACKMEMBER(int, pfnRCShwModifyPage,(PVM pVM, RTGC UINTPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask));2127 2128 DECLR0CALLBACKMEMBER(int, pfnR0ShwGetPage,(PVM pVM, RTGC UINTPTR GCPtr, uint64_t *pfFlags, PRTHCPHYS pHCPhys));2129 DECLR0CALLBACKMEMBER(int, pfnR0ShwModifyPage,(PVM pVM, RTGC UINTPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask));2122 DECLR3CALLBACKMEMBER(int, pfnR3ShwGetPage,(PVM pVM, RTGCPTR GCPtr, uint64_t *pfFlags, PRTHCPHYS pHCPhys)); 2123 DECLR3CALLBACKMEMBER(int, pfnR3ShwModifyPage,(PVM pVM, RTGCPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask)); 2124 2125 DECLRCCALLBACKMEMBER(int, pfnRCShwGetPage,(PVM pVM, RTGCPTR GCPtr, uint64_t *pfFlags, PRTHCPHYS pHCPhys)); 2126 DECLRCCALLBACKMEMBER(int, pfnRCShwModifyPage,(PVM pVM, RTGCPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask)); 2127 2128 DECLR0CALLBACKMEMBER(int, pfnR0ShwGetPage,(PVM pVM, RTGCPTR GCPtr, uint64_t *pfFlags, PRTHCPHYS pHCPhys)); 2129 DECLR0CALLBACKMEMBER(int, pfnR0ShwModifyPage,(PVM pVM, RTGCPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask)); 2130 2130 2131 2131 /** @} */ … … 2134 2134 * @{ 2135 2135 */ 2136 DECLR3CALLBACKMEMBER(int, pfnR3GstRelocate,(PVM pVM, RTGC UINTPTR offDelta));2136 DECLR3CALLBACKMEMBER(int, pfnR3GstRelocate,(PVM pVM, RTGCPTR offDelta)); 2137 2137 DECLR3CALLBACKMEMBER(int, pfnR3GstExit,(PVM pVM)); 2138 DECLR3CALLBACKMEMBER(int, pfnR3GstGetPage,(PVM pVM, RTGC UINTPTR GCPtr, uint64_t *pfFlags, PRTGCPHYS pGCPhys));2139 DECLR3CALLBACKMEMBER(int, pfnR3GstModifyPage,(PVM pVM, RTGC UINTPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask));2140 DECLR3CALLBACKMEMBER(int, pfnR3GstGetPDE,(PVM pVM, RTGC UINTPTR GCPtr, PX86PDEPAE pPde));2138 DECLR3CALLBACKMEMBER(int, pfnR3GstGetPage,(PVM pVM, RTGCPTR GCPtr, uint64_t *pfFlags, PRTGCPHYS pGCPhys)); 2139 DECLR3CALLBACKMEMBER(int, pfnR3GstModifyPage,(PVM pVM, RTGCPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask)); 2140 DECLR3CALLBACKMEMBER(int, pfnR3GstGetPDE,(PVM pVM, RTGCPTR GCPtr, PX86PDEPAE pPde)); 2141 2141 DECLR3CALLBACKMEMBER(int, pfnR3GstMonitorCR3,(PVM pVM, RTGCPHYS GCPhysCR3)); 2142 2142 DECLR3CALLBACKMEMBER(int, pfnR3GstUnmonitorCR3,(PVM pVM)); … … 2148 2148 R3PTRTYPE(const char *) pszR3GstPAEWriteHandlerCR3; 2149 2149 2150 DECLRCCALLBACKMEMBER(int, pfnRCGstGetPage,(PVM pVM, RTGC UINTPTR GCPtr, uint64_t *pfFlags, PRTGCPHYS pGCPhys));2151 DECLRCCALLBACKMEMBER(int, pfnRCGstModifyPage,(PVM pVM, RTGC UINTPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask));2152 DECLRCCALLBACKMEMBER(int, pfnRCGstGetPDE,(PVM pVM, RTGC UINTPTR GCPtr, PX86PDEPAE pPde));2150 DECLRCCALLBACKMEMBER(int, pfnRCGstGetPage,(PVM pVM, RTGCPTR GCPtr, uint64_t *pfFlags, PRTGCPHYS pGCPhys)); 2151 DECLRCCALLBACKMEMBER(int, pfnRCGstModifyPage,(PVM pVM, RTGCPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask)); 2152 DECLRCCALLBACKMEMBER(int, pfnRCGstGetPDE,(PVM pVM, RTGCPTR GCPtr, PX86PDEPAE pPde)); 2153 2153 DECLRCCALLBACKMEMBER(int, pfnRCGstMonitorCR3,(PVM pVM, RTGCPHYS GCPhysCR3)); 2154 2154 DECLRCCALLBACKMEMBER(int, pfnRCGstUnmonitorCR3,(PVM pVM)); … … 2161 2161 #endif 2162 2162 2163 DECLR0CALLBACKMEMBER(int, pfnR0GstGetPage,(PVM pVM, RTGC UINTPTR GCPtr, uint64_t *pfFlags, PRTGCPHYS pGCPhys));2164 DECLR0CALLBACKMEMBER(int, pfnR0GstModifyPage,(PVM pVM, RTGC UINTPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask));2165 DECLR0CALLBACKMEMBER(int, pfnR0GstGetPDE,(PVM pVM, RTGC UINTPTR GCPtr, PX86PDEPAE pPde));2163 DECLR0CALLBACKMEMBER(int, pfnR0GstGetPage,(PVM pVM, RTGCPTR GCPtr, uint64_t *pfFlags, PRTGCPHYS pGCPhys)); 2164 DECLR0CALLBACKMEMBER(int, pfnR0GstModifyPage,(PVM pVM, RTGCPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask)); 2165 DECLR0CALLBACKMEMBER(int, pfnR0GstGetPDE,(PVM pVM, RTGCPTR GCPtr, PX86PDEPAE pPde)); 2166 2166 DECLR0CALLBACKMEMBER(int, pfnR0GstMonitorCR3,(PVM pVM, RTGCPHYS GCPhysCR3)); 2167 2167 DECLR0CALLBACKMEMBER(int, pfnR0GstUnmonitorCR3,(PVM pVM)); … … 2175 2175 * @{ 2176 2176 */ 2177 DECLR3CALLBACKMEMBER(int, pfnR3BthRelocate,(PVM pVM, RTGC UINTPTR offDelta));2177 DECLR3CALLBACKMEMBER(int, pfnR3BthRelocate,(PVM pVM, RTGCPTR offDelta)); 2178 2178 /* no pfnR3BthTrap0eHandler */ 2179 2179 DECLR3CALLBACKMEMBER(int, pfnR3BthInvalidatePage,(PVM pVM, RTGCPTR GCPtrPage)); 2180 2180 DECLR3CALLBACKMEMBER(int, pfnR3BthSyncCR3,(PVM pVM, uint64_t cr0, uint64_t cr3, uint64_t cr4, bool fGlobal)); 2181 DECLR3CALLBACKMEMBER(int, pfnR3BthSyncPage,(PVM pVM, X86PDE PdeSrc, RTGC UINTPTR GCPtrPage, unsigned cPages, unsigned uError));2182 DECLR3CALLBACKMEMBER(int, pfnR3BthPrefetchPage,(PVM pVM, RTGC UINTPTR GCPtrPage));2183 DECLR3CALLBACKMEMBER(int, pfnR3BthVerifyAccessSyncPage,(PVM pVM, RTGC UINTPTR GCPtrPage, unsigned fFlags, unsigned uError));2181 DECLR3CALLBACKMEMBER(int, pfnR3BthSyncPage,(PVM pVM, X86PDE PdeSrc, RTGCPTR GCPtrPage, unsigned cPages, unsigned uError)); 2182 DECLR3CALLBACKMEMBER(int, pfnR3BthPrefetchPage,(PVM pVM, RTGCPTR GCPtrPage)); 2183 DECLR3CALLBACKMEMBER(int, pfnR3BthVerifyAccessSyncPage,(PVM pVM, RTGCPTR GCPtrPage, unsigned fFlags, unsigned uError)); 2184 2184 DECLR3CALLBACKMEMBER(unsigned, pfnR3BthAssertCR3,(PVM pVM, uint64_t cr3, uint64_t cr4, RTGCPTR GCPtr, RTGCPTR cb)); 2185 2185 … … 2187 2187 DECLR0CALLBACKMEMBER(int, pfnR0BthInvalidatePage,(PVM pVM, RTGCPTR GCPtrPage)); 2188 2188 DECLR0CALLBACKMEMBER(int, pfnR0BthSyncCR3,(PVM pVM, uint64_t cr0, uint64_t cr3, uint64_t cr4, bool fGlobal)); 2189 DECLR0CALLBACKMEMBER(int, pfnR0BthSyncPage,(PVM pVM, X86PDE PdeSrc, RTGC UINTPTR GCPtrPage, unsigned cPages, unsigned uError));2190 DECLR0CALLBACKMEMBER(int, pfnR0BthPrefetchPage,(PVM pVM, RTGC UINTPTR GCPtrPage));2191 DECLR0CALLBACKMEMBER(int, pfnR0BthVerifyAccessSyncPage,(PVM pVM, RTGC UINTPTR GCPtrPage, unsigned fFlags, unsigned uError));2189 DECLR0CALLBACKMEMBER(int, pfnR0BthSyncPage,(PVM pVM, X86PDE PdeSrc, RTGCPTR GCPtrPage, unsigned cPages, unsigned uError)); 2190 DECLR0CALLBACKMEMBER(int, pfnR0BthPrefetchPage,(PVM pVM, RTGCPTR GCPtrPage)); 2191 DECLR0CALLBACKMEMBER(int, pfnR0BthVerifyAccessSyncPage,(PVM pVM, RTGCPTR GCPtrPage, unsigned fFlags, unsigned uError)); 2192 2192 DECLR0CALLBACKMEMBER(unsigned, pfnR0BthAssertCR3,(PVM pVM, uint64_t cr3, uint64_t cr4, RTGCPTR GCPtr, RTGCPTR cb)); 2193 2193 … … 2195 2195 DECLRCCALLBACKMEMBER(int, pfnRCBthInvalidatePage,(PVM pVM, RTGCPTR GCPtrPage)); 2196 2196 DECLRCCALLBACKMEMBER(int, pfnRCBthSyncCR3,(PVM pVM, uint64_t cr0, uint64_t cr3, uint64_t cr4, bool fGlobal)); 2197 DECLRCCALLBACKMEMBER(int, pfnRCBthSyncPage,(PVM pVM, X86PDE PdeSrc, RTGC UINTPTR GCPtrPage, unsigned cPages, unsigned uError));2198 DECLRCCALLBACKMEMBER(int, pfnRCBthPrefetchPage,(PVM pVM, RTGC UINTPTR GCPtrPage));2199 DECLRCCALLBACKMEMBER(int, pfnRCBthVerifyAccessSyncPage,(PVM pVM, RTGC UINTPTR GCPtrPage, unsigned fFlags, unsigned uError));2197 DECLRCCALLBACKMEMBER(int, pfnRCBthSyncPage,(PVM pVM, X86PDE PdeSrc, RTGCPTR GCPtrPage, unsigned cPages, unsigned uError)); 2198 DECLRCCALLBACKMEMBER(int, pfnRCBthPrefetchPage,(PVM pVM, RTGCPTR GCPtrPage)); 2199 DECLRCCALLBACKMEMBER(int, pfnRCBthVerifyAccessSyncPage,(PVM pVM, RTGCPTR GCPtrPage, unsigned fFlags, unsigned uError)); 2200 2200 DECLRCCALLBACKMEMBER(unsigned, pfnRCBthAssertCR3,(PVM pVM, uint64_t cr3, uint64_t cr4, RTGCPTR GCPtr, RTGCPTR cb)); 2201 2201 #if HC_ARCH_BITS == 64 … … 3399 3399 * @param GCPtr The address. 3400 3400 */ 3401 DECLINLINE(PX86PDPAE) pgmGstGetPaePD(PPGM pPGM, RTGC UINTPTR GCPtr)3401 DECLINLINE(PX86PDPAE) pgmGstGetPaePD(PPGM pPGM, RTGCPTR GCPtr) 3402 3402 { 3403 3403 AssertGCPtr32(GCPtr); … … 3437 3437 * @param GCPtr The address. 3438 3438 */ 3439 DECLINLINE(PX86PDEPAE) pgmGstGetPaePDEPtr(PPGM pPGM, RTGC UINTPTR GCPtr)3439 DECLINLINE(PX86PDEPAE) pgmGstGetPaePDEPtr(PPGM pPGM, RTGCPTR GCPtr) 3440 3440 { 3441 3441 AssertGCPtr32(GCPtr); … … 3476 3476 * @param GCPtr The address. 3477 3477 */ 3478 DECLINLINE(uint64_t) pgmGstGetPaePDE(PPGM pPGM, RTGC UINTPTR GCPtr)3478 DECLINLINE(uint64_t) pgmGstGetPaePDE(PPGM pPGM, RTGCPTR GCPtr) 3479 3479 { 3480 3480 AssertGCPtr32(GCPtr); … … 3517 3517 * @param pPdpe Receives the page directory pointer entry. Optional. 3518 3518 */ 3519 DECLINLINE(PX86PDPAE) pgmGstGetPaePDPtr(PPGM pPGM, RTGC UINTPTR GCPtr, unsigned *piPD, PX86PDPE pPdpe)3519 DECLINLINE(PX86PDPAE) pgmGstGetPaePDPtr(PPGM pPGM, RTGCPTR GCPtr, unsigned *piPD, PX86PDPE pPdpe) 3520 3520 { 3521 3521 AssertGCPtr32(GCPtr); -
trunk/src/VBox/VMM/PGMMap.cpp
r13936 r13937 281 281 VMMR3DECL(int) PGMR3MappingsSize(PVM pVM, uint32_t *pcb) 282 282 { 283 RTGC UINTPTR cb = 0;283 RTGCPTR cb = 0; 284 284 for (PPGMMAPPING pCur = pVM->pgm.s.pMappingsR3; pCur; pCur = pCur->pNextR3) 285 285 cb += pCur->cb; … … 1159 1159 while (pCur) 1160 1160 { 1161 RTGC UINTPTR off = GCPtrSrc - pCur->GCPtr;1161 RTGCPTR off = GCPtrSrc - pCur->GCPtr; 1162 1162 if (off < pCur->cb) 1163 1163 { -
trunk/src/VBox/VMM/VMMAll/PGMAll.cpp
r13936 r13937 478 478 * @remarks Current not in use. 479 479 */ 480 VMMDECL(int) PGMIsValidAccess(PVM pVM, RTGC UINTPTR Addr, uint32_t cbSize, uint32_t fAccess)480 VMMDECL(int) PGMIsValidAccess(PVM pVM, RTGCPTR Addr, uint32_t cbSize, uint32_t fAccess) 481 481 { 482 482 /* … … 530 530 * @param fAccess Access type (r/w, user/supervisor (X86_PTE_*)) 531 531 */ 532 VMMDECL(int) PGMVerifyAccess(PVM pVM, RTGC UINTPTR Addr, uint32_t cbSize, uint32_t fAccess)532 VMMDECL(int) PGMVerifyAccess(PVM pVM, RTGCPTR Addr, uint32_t cbSize, uint32_t fAccess) 533 533 { 534 534 AssertMsg(!(fAccess & ~(X86_PTE_US | X86_PTE_RW)), ("PGMVerifyAccess: invalid access type %08x\n", fAccess)); … … 809 809 * @param ppPD Receives address of page directory 810 810 */ 811 VMMDECL(int) PGMShwSyncPAEPDPtr(PVM pVM, RTGC UINTPTR GCPtr, PX86PDPE pGstPdpe, PX86PDPAE *ppPD)811 VMMDECL(int) PGMShwSyncPAEPDPtr(PVM pVM, RTGCPTR GCPtr, PX86PDPE pGstPdpe, PX86PDPAE *ppPD) 812 812 { 813 813 PPGM pPGM = &pVM->pgm.s; … … 862 862 * @param ppPD Receives address of page directory 863 863 */ 864 VMMDECL(int) PGMShwGetPAEPDPtr(PVM pVM, RTGC UINTPTR GCPtr, PX86PDPT *ppPdpt, PX86PDPAE *ppPD)864 VMMDECL(int) PGMShwGetPAEPDPtr(PVM pVM, RTGCPTR GCPtr, PX86PDPT *ppPdpt, PX86PDPAE *ppPD) 865 865 { 866 866 PPGM pPGM = &pVM->pgm.s; … … 2009 2009 { 2010 2010 /** @todo This is slow and should be optimized, but since it's just assertions I don't care now. */ 2011 for (RTGC UINTPTR GCPtr = pMapping->GCPtr;2011 for (RTGCPTR GCPtr = pMapping->GCPtr; 2012 2012 GCPtr <= pMapping->GCPtrLast; 2013 2013 GCPtr += PAGE_SIZE) -
trunk/src/VBox/VMM/VMMAll/PGMAllBth.h
r13936 r13937 27 27 __BEGIN_DECLS 28 28 PGM_BTH_DECL(int, Trap0eHandler)(PVM pVM, RTGCUINT uErr, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault); 29 PGM_BTH_DECL(int, InvalidatePage)(PVM pVM, RTGC UINTPTR GCPtrPage);30 PGM_BTH_DECL(int, SyncPage)(PVM pVM, GSTPDE PdeSrc, RTGC UINTPTR GCPtrPage, unsigned cPages, unsigned uErr);31 PGM_BTH_DECL(int, CheckPageFault)(PVM pVM, uint32_t uErr, PSHWPDE pPdeDst, PGSTPDE pPdeSrc, RTGC UINTPTR GCPtrPage);32 PGM_BTH_DECL(int, SyncPT)(PVM pVM, unsigned iPD, PGSTPD pPDSrc, RTGC UINTPTR GCPtrPage);33 PGM_BTH_DECL(int, VerifyAccessSyncPage)(PVM pVM, RTGC UINTPTR Addr, unsigned fPage, unsigned uErr);34 PGM_BTH_DECL(int, PrefetchPage)(PVM pVM, RTGC UINTPTR GCPtrPage);29 PGM_BTH_DECL(int, InvalidatePage)(PVM pVM, RTGCPTR GCPtrPage); 30 PGM_BTH_DECL(int, SyncPage)(PVM pVM, GSTPDE PdeSrc, RTGCPTR GCPtrPage, unsigned cPages, unsigned uErr); 31 PGM_BTH_DECL(int, CheckPageFault)(PVM pVM, uint32_t uErr, PSHWPDE pPdeDst, PGSTPDE pPdeSrc, RTGCPTR GCPtrPage); 32 PGM_BTH_DECL(int, SyncPT)(PVM pVM, unsigned iPD, PGSTPD pPDSrc, RTGCPTR GCPtrPage); 33 PGM_BTH_DECL(int, VerifyAccessSyncPage)(PVM pVM, RTGCPTR Addr, unsigned fPage, unsigned uErr); 34 PGM_BTH_DECL(int, PrefetchPage)(PVM pVM, RTGCPTR GCPtrPage); 35 35 PGM_BTH_DECL(int, SyncCR3)(PVM pVM, uint64_t cr0, uint64_t cr3, uint64_t cr4, bool fGlobal); 36 36 #ifdef VBOX_STRICT 37 PGM_BTH_DECL(unsigned, AssertCR3)(PVM pVM, uint64_t cr3, uint64_t cr4, RTGC UINTPTR GCPtr = 0, RTGCUINTPTR cb = ~(RTGCPTR)0);37 PGM_BTH_DECL(unsigned, AssertCR3)(PVM pVM, uint64_t cr3, uint64_t cr4, RTGCPTR GCPtr = 0, RTGCPTR cb = ~(RTGCPTR)0); 38 38 #endif 39 39 #ifdef PGMPOOL_WITH_USER_TRACKING … … 505 505 Assert((pCur->aPhysToVirt[iPage].Core.Key & X86_PTE_PAE_PG_MASK) == GCPhys); 506 506 # ifdef IN_RC 507 RTGC UINTPTR off = (iPage << PAGE_SHIFT) + (pvFault & PAGE_OFFSET_MASK) - (pCur->Core.Key & PAGE_OFFSET_MASK);507 RTGCPTR off = (iPage << PAGE_SHIFT) + (pvFault & PAGE_OFFSET_MASK) - (pCur->Core.Key & PAGE_OFFSET_MASK); 508 508 Assert(off < pCur->cb); 509 509 STAM_PROFILE_START(&pCur->Stat, h); … … 879 879 * @todo Add a #define for simply invalidating the page. 880 880 */ 881 PGM_BTH_DECL(int, InvalidatePage)(PVM pVM, RTGC UINTPTR GCPtrPage)881 PGM_BTH_DECL(int, InvalidatePage)(PVM pVM, RTGCPTR GCPtrPage) 882 882 { 883 883 #if PGM_WITH_PAGING(PGM_GST_TYPE, PGM_SHW_TYPE) \ … … 1563 1563 * @param uErr Fault error (X86_TRAP_PF_*). 1564 1564 */ 1565 PGM_BTH_DECL(int, SyncPage)(PVM pVM, GSTPDE PdeSrc, RTGC UINTPTR GCPtrPage, unsigned cPages, unsigned uErr)1565 PGM_BTH_DECL(int, SyncPage)(PVM pVM, GSTPDE PdeSrc, RTGCPTR GCPtrPage, unsigned cPages, unsigned uErr) 1566 1566 { 1567 1567 LogFlow(("SyncPage: GCPtrPage=%RGv cPages=%u uErr=%#x\n", GCPtrPage, cPages, uErr)); … … 1911 1911 GSTPTE PteSrc; 1912 1912 1913 RTGC UINTPTR GCPtrCurPage = (GCPtrPage & ~(RTGCPTR)(SHW_PT_MASK << SHW_PT_SHIFT)) | (iPTDst << PAGE_SHIFT);1913 RTGCPTR GCPtrCurPage = (GCPtrPage & ~(RTGCPTR)(SHW_PT_MASK << SHW_PT_SHIFT)) | (iPTDst << PAGE_SHIFT); 1914 1914 1915 1915 /* Fake the page table entry */ … … 1980 1980 * @param GCPtrPage Guest context page address. 1981 1981 */ 1982 PGM_BTH_DECL(int, CheckPageFault)(PVM pVM, uint32_t uErr, PSHWPDE pPdeDst, PGSTPDE pPdeSrc, RTGC UINTPTR GCPtrPage)1982 PGM_BTH_DECL(int, CheckPageFault)(PVM pVM, uint32_t uErr, PSHWPDE pPdeDst, PGSTPDE pPdeSrc, RTGCPTR GCPtrPage) 1983 1983 { 1984 1984 bool fWriteProtect = !!(CPUMGetGuestCR0(pVM) & X86_CR0_WP); … … 2292 2292 * @param GCPtrPage GC Pointer of the page that caused the fault 2293 2293 */ 2294 PGM_BTH_DECL(int, SyncPT)(PVM pVM, unsigned iPDSrc, PGSTPD pPDSrc, RTGC UINTPTR GCPtrPage)2294 PGM_BTH_DECL(int, SyncPT)(PVM pVM, unsigned iPDSrc, PGSTPD pPDSrc, RTGCPTR GCPtrPage) 2295 2295 { 2296 2296 STAM_PROFILE_START(&pVM->pgm.s.CTX_MID_Z(Stat,SyncPT), a); … … 2586 2586 2587 2587 /* Loop thru the entries in the shadow PT. */ 2588 const RTGC UINTPTRGCPtr = (GCPtrPage >> SHW_PD_SHIFT) << SHW_PD_SHIFT; NOREF(GCPtr);2588 const RTGCPTR GCPtr = (GCPtrPage >> SHW_PD_SHIFT) << SHW_PD_SHIFT; NOREF(GCPtr); 2589 2589 Log2(("SyncPT: BIG %RGv PdeSrc:{P=%d RW=%d U=%d raw=%08llx} Shw=%RGv GCPhys=%RGp %s\n", 2590 2590 GCPtrPage, PdeSrc.b.u1Present, PdeSrc.b.u1Write, PdeSrc.b.u1User, (uint64_t)PdeSrc.u, GCPtr, 2591 2591 GCPhys, PdeDst.u & PGM_PDFLAGS_TRACK_DIRTY ? " Track-Dirty" : "")); 2592 PPGMRAMRANGE 2593 unsigned 2592 PPGMRAMRANGE pRam = pVM->pgm.s.CTX_SUFF(pRamRanges); 2593 unsigned iPTDst = 0; 2594 2594 while (iPTDst < RT_ELEMENTS(pPTDst->a)) 2595 2595 { … … 2802 2802 * @param GCPtrPage Page to invalidate. 2803 2803 */ 2804 PGM_BTH_DECL(int, PrefetchPage)(PVM pVM, RTGC UINTPTR GCPtrPage)2804 PGM_BTH_DECL(int, PrefetchPage)(PVM pVM, RTGCPTR GCPtrPage) 2805 2805 { 2806 2806 #if (PGM_GST_TYPE == PGM_TYPE_32BIT || PGM_GST_TYPE == PGM_TYPE_REAL || PGM_GST_TYPE == PGM_TYPE_PROT || PGM_GST_TYPE == PGM_TYPE_PAE || PGM_GST_TYPE == PGM_TYPE_AMD64) \ … … 2907 2907 * @param uErr The trap error code. 2908 2908 */ 2909 PGM_BTH_DECL(int, VerifyAccessSyncPage)(PVM pVM, RTGC UINTPTR GCPtrPage, unsigned fPage, unsigned uErr)2909 PGM_BTH_DECL(int, VerifyAccessSyncPage)(PVM pVM, RTGCPTR GCPtrPage, unsigned fPage, unsigned uErr) 2910 2910 { 2911 2911 LogFlow(("VerifyAccessSyncPage: GCPtrPage=%RGv fPage=%#x uErr=%#x\n", GCPtrPage, fPage, uErr)); … … 3265 3265 PX86PDPAE pPDDst; 3266 3266 PX86PDEPAE pPDEDst; 3267 RTGC UINTPTR GCPtr= (iPml4e << X86_PML4_SHIFT) || (iPdpte << X86_PDPT_SHIFT);3268 PGSTPD pPDSrc 3267 RTGCPTR GCPtr = (iPml4e << X86_PML4_SHIFT) || (iPdpte << X86_PDPT_SHIFT); 3268 PGSTPD pPDSrc = pgmGstGetLongModePDPtr(&pVM->pgm.s, GCPtr, &pPml4eSrc, &PdpeSrc, &iPDSrc); 3269 3269 3270 3270 int rc = PGMShwGetLongModePDPtr(pVM, GCPtr, &pPdptDst, &pPDDst); -
trunk/src/VBox/VMM/VMMAll/PGMAllGst.h
r13936 r13937 813 813 #endif 814 814 815 RTGC UINTPTR GCPtr = (RTUINTPTR)pCur->Core.Key;815 RTGCPTR GCPtr = pCur->Core.Key; 816 816 #if PGM_GST_MODE != PGM_MODE_AMD64 817 817 /* skip all stuff above 4GB if not AMD64 mode. */ … … 1033 1033 * Check if the modified PDEs are present and mappings. 1034 1034 */ 1035 const RTGC UINTPTR offPD = GCPhysFault & PAGE_OFFSET_MASK;1036 const unsigned 1037 const unsigned 1035 const RTGCPTR offPD = GCPhysFault & PAGE_OFFSET_MASK; 1036 const unsigned iPD1 = offPD / sizeof(X86PDE); 1037 const unsigned iPD2 = (offPD + cb - 1) / sizeof(X86PDE); 1038 1038 1039 1039 Assert(cb > 0 && cb <= 8); … … 1178 1178 * Figure out which of the 4 PDs this is. 1179 1179 */ 1180 RTGC UINTPTR i;1180 RTGCPTR i; 1181 1181 PX86PDPT pGuestPDPT = pgmGstGetPaePDPTPtr(&pVM->pgm.s); 1182 1182 for (i = 0; i < X86_PG_PAE_PDPE_ENTRIES; i++) 1183 1183 if (pGuestPDPT->a[i].u == (GCPhysFault & X86_PTE_PAE_PG_MASK)) 1184 1184 { 1185 PX86PDPAE 1186 const RTGC UINTPTR offPD = GCPhysFault & PAGE_OFFSET_MASK;1187 const unsigned 1188 const unsigned 1185 PX86PDPAE pPDSrc = pgmGstGetPaePD(&pVM->pgm.s, i << X86_PDPT_SHIFT); 1186 const RTGCPTR offPD = GCPhysFault & PAGE_OFFSET_MASK; 1187 const unsigned iPD1 = offPD / sizeof(X86PDEPAE); 1188 const unsigned iPD2 = (offPD + cb - 1) / sizeof(X86PDEPAE); 1189 1189 1190 1190 Assert(cb > 0 && cb <= 8);
Note:
See TracChangeset
for help on using the changeset viewer.