VirtualBox

Changeset 11164

Show
Ignore:
Timestamp:
08/06/08 02:15:58 (4 months ago)
Author:
vboxsync
Message:

#1865: VGA. Changed PDMDevHlpMMHyperMapMMIO2/MMHyperMapMMIO2 to return a RC pointer instead of a GC one.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/include/VBox/mm.h

    r11153 r11164  
    355355MMR3DECL(int)       MMR3HyperMapHCPhys(PVM pVM, void *pvHC, RTHCPHYS HCPhys, size_t cb, const char *pszDesc, PRTGCPTR pGCPtr); 
    356356MMR3DECL(int)       MMR3HyperMapGCPhys(PVM pVM, RTGCPHYS GCPhys, size_t cb, const char *pszDesc, PRTGCPTR pGCPtr); 
    357 MMR3DECL(int)       MMR3HyperMapMMIO2(PVM pVM, PPDMDEVINS pDevIns, uint32_t iRegion, RTGCPHYS off, RTGCPHYS cb, const char *pszDesc, PRTGCPTR pGCPtr); 
     357MMR3DECL(int)       MMR3HyperMapMMIO2(PVM pVM, PPDMDEVINS pDevIns, uint32_t iRegion, RTGCPHYS off, RTGCPHYS cb, const char *pszDesc, PRTRCPTR pRCPtr); 
    358358MMR3DECL(int)       MMR3HyperMapHCRam(PVM pVM, void *pvHC, size_t cb, bool fFree, const char *pszDesc, PRTGCPTR pGCPtr); 
    359359MMR3DECL(int)       MMR3HyperMapPages(PVM pVM, void *pvR3, RTR0PTR pvR0, size_t cPages, PCSUPPAGE paPages, const char *pszDesc, PRTGCPTR pGCPtr); 
  • trunk/include/VBox/pdmdev.h

    r11149 r11164  
    26582658     * @param   cb          The number of bytes to map. Will be rounded up to the closest page boundrary. 
    26592659     * @param   pszDesc     Mapping description. 
    2660      * @param   pGCPtr      Where to store the GC address. 
     2660     * @param   pRCPtr      Where to store the RC address. 
    26612661     */ 
    26622662    DECLR3CALLBACKMEMBER(int, pfnMMHyperMapMMIO2,(PPDMDEVINS pDevIns, uint32_t iRegion, RTGCPHYS off, RTGCPHYS cb, 
    2663                                                   const char *pszDesc, PRTGCPTR pGCPtr)); 
     2663                                                  const char *pszDesc, PRTRCPTR pRCPtr)); 
    26642664 
    26652665    /** @} */ 
     
    31883188 */ 
    31893189DECLINLINE(int) PDMDevHlpMMHyperMapMMIO2(PPDMDEVINS pDevIns, uint32_t iRegion, RTGCPHYS off, RTGCPHYS cb, 
    3190                                          const char *pszDesc, PRTGCPTR pGCPtr) 
    3191 { 
    3192     return pDevIns->pDevHlp->pfnMMHyperMapMMIO2(pDevIns, iRegion, off, cb, pszDesc, pGCPtr); 
     3190                                         const char *pszDesc, PRTRCPTR pRCPtr) 
     3191{ 
     3192    return pDevIns->pDevHlp->pfnMMHyperMapMMIO2(pDevIns, iRegion, off, cb, pszDesc, pRCPtr); 
    31933193} 
    31943194 
  • trunk/src/VBox/VMM/MMHyper.cpp

    r9303 r11164  
    425425 * @param   cb          The number of bytes to map. Will be rounded up to the closest page boundrary. 
    426426 * @param   pszDesc     Mapping description. 
    427  * @param   pGCPtr      Where to store the GC address. 
     427 * @param   pRCPtr      Where to store the RC address. 
    428428 */ 
    429429MMR3DECL(int) MMR3HyperMapMMIO2(PVM pVM, PPDMDEVINS pDevIns, uint32_t iRegion, RTGCPHYS off, RTGCPHYS cb, 
    430                                 const char *pszDesc, PRTGCPTR pGCPtr) 
    431 { 
    432     LogFlow(("MMR3HyperMapMMIO2: pDevIns=%p iRegion=%#x off=%VGp cb=%VGp pszDesc=%p:{%s} pGCPtr=%p\n", 
    433              pDevIns, iRegion, off, cb, pszDesc, pszDesc, pGCPtr)); 
     430                                const char *pszDesc, PRTRCPTR pRCPtr) 
     431{ 
     432    LogFlow(("MMR3HyperMapMMIO2: pDevIns=%p iRegion=%#x off=%VGp cb=%VGp pszDesc=%p:{%s} pRCPtr=%p\n", 
     433             pDevIns, iRegion, off, cb, pszDesc, pszDesc, pRCPtr)); 
    434434    int rc; 
    435435 
     
    484484        } 
    485485 
    486         if (VBOX_SUCCESS(rc) && pGCPtr) 
    487             *pGCPtr = GCPtr | offPage; 
     486        if (VBOX_SUCCESS(rc)) 
     487        { 
     488            GCPtr |= offPage; 
     489            *pRCPtr = GCPtr; 
     490            AssertLogRelReturn(*pRCPtr == GCPtr, VERR_INTERNAL_ERROR); 
     491        } 
    488492    } 
    489493    return rc; 
  • trunk/src/VBox/VMM/PDMDevice.cpp

    r10841 r11164  
    172172static DECLCALLBACK(int) pdmR3DevHlp_MMIO2Map(PPDMDEVINS pDevIns, uint32_t iRegion, RTGCPHYS GCPhys); 
    173173static DECLCALLBACK(int) pdmR3DevHlp_MMIO2Unmap(PPDMDEVINS pDevIns, uint32_t iRegion, RTGCPHYS GCPhys); 
    174 static DECLCALLBACK(int) pdmR3DevHlp_MMHyperMapMMIO2(PPDMDEVINS pDevIns, uint32_t iRegion, RTGCPHYS off, RTGCPHYS cb, const char *pszDesc, PRTGCPTR pGCPtr); 
     174static DECLCALLBACK(int) pdmR3DevHlp_MMHyperMapMMIO2(PPDMDEVINS pDevIns, uint32_t iRegion, RTGCPHYS off, RTGCPHYS cb, const char *pszDesc, PRTRCPTR pRCPtr); 
    175175 
    176176static DECLCALLBACK(PVM) pdmR3DevHlp_Untrusted_GetVM(PPDMDEVINS pDevIns); 
     
    211211static DECLCALLBACK(int) pdmR3DevHlp_Untrusted_MMIO2Map(PPDMDEVINS pDevIns, uint32_t iRegion, RTGCPHYS GCPhys); 
    212212static DECLCALLBACK(int) pdmR3DevHlp_Untrusted_MMIO2Unmap(PPDMDEVINS pDevIns, uint32_t iRegion, RTGCPHYS GCPhys); 
    213 static DECLCALLBACK(int) pdmR3DevHlp_Untrusted_MMHyperMapMMIO2(PPDMDEVINS pDevIns, uint32_t iRegion, RTGCPHYS off, RTGCPHYS cb, const char *pszDesc, PRTGCPTR pGCPtr); 
     213static DECLCALLBACK(int) pdmR3DevHlp_Untrusted_MMHyperMapMMIO2(PPDMDEVINS pDevIns, uint32_t iRegion, RTGCPHYS off, RTGCPHYS cb, const char *pszDesc, PRTRCPTR pRCPtr); 
    214214/** @} */ 
    215215 
     
    36253625 */ 
    36263626static DECLCALLBACK(int) pdmR3DevHlp_MMHyperMapMMIO2(PPDMDEVINS pDevIns, uint32_t iRegion, RTGCPHYS off, RTGCPHYS cb, 
    3627                                                      const char *pszDesc, PRTGCPTR pGCPtr) 
     3627                                                     const char *pszDesc, PRTRCPTR pRCPtr) 
    36283628{ 
    36293629    PDMDEV_ASSERT_DEVINS(pDevIns); 
    36303630    VM_ASSERT_EMT(pDevIns->Internal.s.pVMHC); 
    3631     LogFlow(("pdmR3DevHlp_MMHyperMapMMIO2: caller='%s'/%d: iRegion=#x off=%RGp cb=%RGp pszDesc=%p:{%s} pGCPtr=%p\n", 
    3632              pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, iRegion, off, cb, pszDesc, pszDesc, pGCPtr)); 
    3633  
    3634     int rc = MMR3HyperMapMMIO2(pDevIns->Internal.s.pVMHC, pDevIns, iRegion, off, cb, pszDesc, pGCPtr); 
    3635  
    3636     LogFlow(("pdmR3DevHlp_MMHyperMapMMIO2: caller='%s'/%d: returns %Rrc\n", pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, rc)); 
     3631    LogFlow(("pdmR3DevHlp_MMHyperMapMMIO2: caller='%s'/%d: iRegion=#x off=%RGp cb=%RGp pszDesc=%p:{%s} pRCPtr=%p\n", 
     3632             pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, iRegion, off, cb, pszDesc, pszDesc, pRCPtr)); 
     3633 
     3634    int rc = MMR3HyperMapMMIO2(pDevIns->Internal.s.pVMHC, pDevIns, iRegion, off, cb, pszDesc, pRCPtr); 
     3635 
     3636    LogFlow(("pdmR3DevHlp_MMHyperMapMMIO2: caller='%s'/%d: returns %Rrc *pRCPtr=%RRv\n", pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, rc, *pRCPtr)); 
    36373637    return rc; 
    36383638} 
     
    39883988 
    39893989/** @copydoc PDMDEVHLP::pfnMMHyperMapMMIO2 */ 
    3990 static DECLCALLBACK(int) pdmR3DevHlp_Untrusted_MMHyperMapMMIO2(PPDMDEVINS pDevIns, uint32_t iRegion, RTGCPHYS off, RTGCPHYS cb, const char *pszDesc, PRTGCPTR pGCPtr) 
     3990static DECLCALLBACK(int) pdmR3DevHlp_Untrusted_MMHyperMapMMIO2(PPDMDEVINS pDevIns, uint32_t iRegion, RTGCPHYS off, RTGCPHYS cb, const char *pszDesc, PRTRCPTR pRCPtr) 
    39913991{ 
    39923992    PDMDEV_ASSERT_DEVINS(pDevIns); 

© 2008 Sun Microsystems, Inc.
ContactPrivacy policy