VirtualBox

Changeset 9244 in vbox


Ignore:
Timestamp:
May 30, 2008 11:50:49 AM (17 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
31425
Message:

GC logging changes for 64 bits guests. (RTGCPTR -> RTRCPTR)

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/log.h

    r9212 r9244  
    149149/** Logger structure. */
    150150#ifdef IN_GC
    151 typedef struct RTLOGGERGC RTLOGGER;
     151typedef struct RTLOGGERRC RTLOGGER;
    152152#else
    153153typedef struct RTLOGGER RTLOGGER;
     
    160160
    161161/** Guest context logger structure. */
    162 typedef struct RTLOGGERGC RTLOGGERGC;
     162typedef struct RTLOGGERRC RTLOGGERRC;
    163163/** Pointer to guest context logger structure. */
    164 typedef RTLOGGERGC *PRTLOGGERGC;
     164typedef RTLOGGERRC *PRTLOGGERRC;
    165165/** Pointer to const guest context logger structure. */
    166 typedef const RTLOGGERGC *PCRTLOGGERGC;
     166typedef const RTLOGGERRC *PCRTLOGGERRC;
    167167
    168168
     
    191191 * @param   pLogger     Pointer to the logger instance which is to be flushed.
    192192 */
    193 typedef DECLCALLBACK(void) FNRTLOGFLUSHGC(PRTLOGGERGC pLogger);
     193typedef DECLCALLBACK(void) FNRTLOGFLUSHGC(PRTLOGGERRC pLogger);
    194194/** Pointer to logger function. */
    195195typedef RCPTRTYPE(FNRTLOGFLUSHGC *) PFNRTLOGFLUSHGC;
     
    199199 * Logger instance structure for GC.
    200200 */
    201 struct RTLOGGERGC
     201struct RTLOGGERRC
    202202{
    203203    /** Pointer to temporary scratch buffer.
     
    215215    /** Pointer to the flush function. */
    216216    PFNRTLOGFLUSHGC         pfnFlush;
    217     /** Magic number (RTLOGGERGC_MAGIC). */
     217    /** Magic number (RTLOGGERRC_MAGIC). */
    218218    uint32_t                u32Magic;
    219219    /** Logger instance flags - RTLOGFLAGS. */
     
    227227};
    228228
    229 /** RTLOGGERGC::u32Magic value. (John Rogers Searle) */
    230 #define RTLOGGERGC_MAGIC    0x19320731
     229/** RTLOGGERRC::u32Magic value. (John Rogers Searle) */
     230#define RTLOGGERRC_MAGIC    0x19320731
    231231
    232232
     
    13041304
    13051305/**
    1306  * Create a logger instance clone for GC usage.
     1306 * Create a logger instance clone for RC usage.
    13071307 *
    13081308 * @returns iprt status code.
     
    13151315 * @param   fFlags              Logger instance flags, a combination of the RTLOGFLAGS_* values.
    13161316 */
    1317 RTDECL(int) RTLogCloneGC(PRTLOGGER pLogger, PRTLOGGERGC pLoggerGC, size_t cbLoggerGC,
    1318                          RTGCPTR pfnLoggerGCPtr, RTGCPTR pfnFlushGCPtr, RTUINT fFlags);
     1317RTDECL(int) RTLogCloneRC(PRTLOGGER pLogger, PRTLOGGERRC pLoggerGC, size_t cbLoggerGC,
     1318                         RTRCPTR pfnLoggerGCPtr, RTRCPTR pfnFlushGCPtr, RTUINT fFlags);
    13191319
    13201320/**
     
    13261326 * @param   pLoggerGC   The GC logger instance to flush.
    13271327 */
    1328 RTDECL(void) RTLogFlushGC(PRTLOGGER pLogger, PRTLOGGERGC pLoggerGC);
     1328RTDECL(void) RTLogFlushGC(PRTLOGGER pLogger, PRTLOGGERRC pLoggerGC);
    13291329
    13301330/**
  • trunk/src/VBox/Runtime/common/log/log.cpp

    r8671 r9244  
    9494#ifdef IN_GC
    9595/** Default logger instance. */
    96 extern "C" DECLIMPORT(RTLOGGERGC)   g_Logger;
     96extern "C" DECLIMPORT(RTLOGGERRC)   g_Logger;
    9797/** Default relese logger instance. */
    98 extern "C" DECLIMPORT(RTLOGGERGC)   g_RelLogger;
     98extern "C" DECLIMPORT(RTLOGGERRC)   g_RelLogger;
    9999#else /* !IN_GC */
    100100/** Default logger instance. */
     
    598598
    599599/**
    600  * Create a logger instance clone for GC usage.
     600 * Create a logger instance clone for RC usage.
    601601 *
    602602 * @returns iprt status code.
     
    609609 * @param   fFlags              Logger instance flags, a combination of the RTLOGFLAGS_* values.
    610610 */
    611 RTDECL(int) RTLogCloneGC(PRTLOGGER pLogger, PRTLOGGERGC pLoggerGC, size_t cbLoggerGC,
    612                          RTGCPTR pfnLoggerGCPtr, RTGCPTR pfnFlushGCPtr, RTUINT fFlags)
     611RTDECL(int) RTLogCloneRC(PRTLOGGER pLogger, PRTLOGGERRC pLoggerGC, size_t cbLoggerGC,
     612                         RTRCPTR pfnLoggerGCPtr, RTRCPTR pfnFlushGCPtr, RTUINT fFlags)
    613613{
    614614    /*
     
    635635    pLoggerGC->pfnLogger    = pfnLoggerGCPtr;
    636636    pLoggerGC->pfnFlush     = pfnFlushGCPtr;
    637     pLoggerGC->u32Magic     = RTLOGGERGC_MAGIC;
     637    pLoggerGC->u32Magic     = RTLOGGERRC_MAGIC;
    638638    pLoggerGC->fFlags       = fFlags | RTLOGFLAGS_DISABLED;
    639639    pLoggerGC->cGroups      = 1;
     
    653653     * Check if there's enough space for the groups.
    654654     */
    655     if (cbLoggerGC < (size_t)RT_OFFSETOF(RTLOGGERGC, afGroups[pLogger->cGroups]))
    656     {
    657         AssertMsgFailed(("%d req=%d cGroups=%d\n", cbLoggerGC, RT_OFFSETOF(RTLOGGERGC, afGroups[pLogger->cGroups]), pLogger->cGroups));
     655    if (cbLoggerGC < (size_t)RT_OFFSETOF(RTLOGGERRC, afGroups[pLogger->cGroups]))
     656    {
     657        AssertMsgFailed(("%d req=%d cGroups=%d\n", cbLoggerGC, RT_OFFSETOF(RTLOGGERRC, afGroups[pLogger->cGroups]), pLogger->cGroups));
    658658        return VERR_INVALID_PARAMETER;
    659659    }
     
    687687 * @param   pLoggerGC   The GC logger instance to flush.
    688688 */
    689 RTDECL(void) RTLogFlushGC(PRTLOGGER pLogger, PRTLOGGERGC pLoggerGC)
     689RTDECL(void) RTLogFlushGC(PRTLOGGER pLogger, PRTLOGGERRC pLoggerGC)
    690690{
    691691    /*
  • trunk/src/VBox/VMM/VMM.cpp

    r9148 r9244  
    422422            if (pLogger)
    423423            {
    424                 pVM->vmm.s.cbLoggerGC = RT_OFFSETOF(RTLOGGERGC, afGroups[pLogger->cGroups]);
     424                pVM->vmm.s.cbLoggerGC = RT_OFFSETOF(RTLOGGERRC, afGroups[pLogger->cGroups]);
    425425                rc = MMHyperAlloc(pVM, pVM->vmm.s.cbLoggerGC, 0, MM_TAG_VMM, (void **)&pVM->vmm.s.pLoggerHC);
    426426                if (VBOX_SUCCESS(rc))
     
    460460                if (pRelLogger)
    461461                {
    462                     pVM->vmm.s.cbRelLoggerGC = RT_OFFSETOF(RTLOGGERGC, afGroups[pRelLogger->cGroups]);
     462                    pVM->vmm.s.cbRelLoggerGC = RT_OFFSETOF(RTLOGGERRC, afGroups[pRelLogger->cGroups]);
    463463                    rc = MMHyperAlloc(pVM, pVM->vmm.s.cbRelLoggerGC, 0, MM_TAG_VMM, (void **)&pVM->vmm.s.pRelLoggerHC);
    464464                    if (VBOX_SUCCESS(rc))
     
    708708#endif
    709709#ifdef LOG_ENABLED
    710             PRTLOGGERGC pLogger = pVM->vmm.s.pLoggerHC;
     710            PRTLOGGERRC pLogger = pVM->vmm.s.pLoggerHC;
    711711            if (    pLogger
    712712                &&  pLogger->offScratch > 0)
     
    714714#endif
    715715#ifdef VBOX_WITH_GC_AND_R0_RELEASE_LOG
    716             PRTLOGGERGC pRelLogger = pVM->vmm.s.pRelLoggerHC;
     716            PRTLOGGERRC pRelLogger = pVM->vmm.s.pRelLoggerHC;
    717717            if (RT_UNLIKELY(pRelLogger && pRelLogger->offScratch > 0))
    718718                RTLogFlushGC(RTLogRelDefaultInstance(), pRelLogger);
     
    886886        AssertReleaseMsgRC(rc, ("vmmGCLoggerWrapper not found! rc=%Vra\n", rc));
    887887        pVM->vmm.s.pLoggerGC = MMHyperHC2GC(pVM, pVM->vmm.s.pLoggerHC);
    888         rc = RTLogCloneGC(NULL /* default */, pVM->vmm.s.pLoggerHC, pVM->vmm.s.cbLoggerGC,
     888        rc = RTLogCloneRC(NULL /* default */, pVM->vmm.s.pLoggerHC, pVM->vmm.s.cbLoggerGC,
    889889                          GCPtrLoggerWrapper,  GCPtrLoggerFlush, RTLOGFLAGS_BUFFERED);
    890890        AssertReleaseMsgRC(rc, ("RTLogCloneGC failed! rc=%Vra\n", rc));
     
    898898        AssertReleaseMsgRC(rc, ("vmmGCRelLoggerWrapper not found! rc=%Vra\n", rc));
    899899        pVM->vmm.s.pRelLoggerGC = MMHyperHC2GC(pVM, pVM->vmm.s.pRelLoggerHC);
    900         rc = RTLogCloneGC(RTLogRelDefaultInstance(), pVM->vmm.s.pRelLoggerHC, pVM->vmm.s.cbRelLoggerGC,
     900        rc = RTLogCloneRC(RTLogRelDefaultInstance(), pVM->vmm.s.pRelLoggerHC, pVM->vmm.s.cbRelLoggerGC,
    901901                          GCPtrLoggerWrapper,  GCPtrLoggerFlush, RTLOGFLAGS_BUFFERED);
    902902        AssertReleaseMsgRC(rc, ("RTLogCloneGC failed! rc=%Vra\n", rc));
     
    19531953         */
    19541954#ifdef LOG_ENABLED
    1955         PRTLOGGERGC pLogger = pVM->vmm.s.pLoggerHC;
     1955        PRTLOGGERRC pLogger = pVM->vmm.s.pLoggerHC;
    19561956        if (    pLogger
    19571957            &&  pLogger->offScratch > 0)
     
    19591959#endif
    19601960#ifdef VBOX_WITH_GC_AND_R0_RELEASE_LOG
    1961         PRTLOGGERGC pRelLogger = pVM->vmm.s.pRelLoggerHC;
     1961        PRTLOGGERRC pRelLogger = pVM->vmm.s.pRelLoggerHC;
    19621962        if (RT_UNLIKELY(pRelLogger && pRelLogger->offScratch > 0))
    19631963            RTLogFlushGC(RTLogRelDefaultInstance(), pRelLogger);
     
    20822082         */
    20832083#ifdef LOG_ENABLED
    2084         PRTLOGGERGC pLogger = pVM->vmm.s.pLoggerHC;
     2084        PRTLOGGERRC pLogger = pVM->vmm.s.pLoggerHC;
    20852085        if (    pLogger
    20862086            &&  pLogger->offScratch > 0)
     
    20882088#endif
    20892089#ifdef VBOX_WITH_GC_AND_R0_RELEASE_LOG
    2090         PRTLOGGERGC pRelLogger = pVM->vmm.s.pRelLoggerHC;
     2090        PRTLOGGERRC pRelLogger = pVM->vmm.s.pRelLoggerHC;
    20912091        if (RT_UNLIKELY(pRelLogger && pRelLogger->offScratch > 0))
    20922092            RTLogFlushGC(RTLogRelDefaultInstance(), pRelLogger);
     
    21362136         */
    21372137#ifdef LOG_ENABLED
    2138         PRTLOGGERGC pLogger = pVM->vmm.s.pLoggerHC;
     2138        PRTLOGGERRC pLogger = pVM->vmm.s.pLoggerHC;
    21392139        if (    pLogger
    21402140            &&  pLogger->offScratch > 0)
     
    21422142#endif
    21432143#ifdef VBOX_WITH_GC_AND_R0_RELEASE_LOG
    2144         PRTLOGGERGC pRelLogger = pVM->vmm.s.pRelLoggerHC;
     2144        PRTLOGGERRC pRelLogger = pVM->vmm.s.pRelLoggerHC;
    21452145        if (RT_UNLIKELY(pRelLogger && pRelLogger->offScratch > 0))
    21462146            RTLogFlushGC(RTLogRelDefaultInstance(), pRelLogger);
  • trunk/src/VBox/VMM/VMMGC/VMMGC.cpp

    r8155 r9244  
    4141*******************************************************************************/
    4242/** Default logger instance. */
    43 extern "C" DECLIMPORT(RTLOGGERGC)   g_Logger;
    44 extern "C" DECLIMPORT(RTLOGGERGC)   g_RelLogger;
     43extern "C" DECLIMPORT(RTLOGGERRC)   g_Logger;
     44extern "C" DECLIMPORT(RTLOGGERRC)   g_RelLogger;
    4545
    4646
     
    168168 * @remark  This function must be exported!
    169169 */
    170 VMMGCDECL(int) vmmGCLoggerFlush(PRTLOGGERGC pLogger)
     170VMMGCDECL(int) vmmGCLoggerFlush(PRTLOGGERRC pLogger)
    171171{
    172172    PVM pVM = &g_VM;
  • trunk/src/VBox/VMM/VMMInternal.h

    r9212 r9244  
    203203    /** Pointer to the GC logger instance - GC Ptr.
    204204     * This is NULL if logging is disabled. */
    205     RCPTRTYPE(PRTLOGGERGC)      pLoggerGC;
     205    RCPTRTYPE(PRTLOGGERRC)      pLoggerGC;
    206206    /** Size of the allocated logger instance (pLoggerGC/pLoggerHC). */
    207207    RTUINT                      cbLoggerGC;
    208208    /** Pointer to the GC logger instance - HC Ptr.
    209209     * This is NULL if logging is disabled. */
    210     R3PTRTYPE(PRTLOGGERGC)      pLoggerHC;
     210    R3PTRTYPE(PRTLOGGERRC)      pLoggerHC;
    211211
    212212    /** Pointer to the R0 logger instance.
     
    216216#ifdef VBOX_WITH_GC_AND_R0_RELEASE_LOG
    217217    /** Pointer to the GC release logger instance - GC Ptr. */
    218     RCPTRTYPE(PRTLOGGERGC)      pRelLoggerGC;
     218    RCPTRTYPE(PRTLOGGERRC)      pRelLoggerGC;
    219219    /** Size of the allocated release logger instance (pRelLoggerGC/pRelLoggerHC).
    220220     * This may differ from cbLoggerGC. */
    221221    RTUINT                      cbRelLoggerGC;
    222222    /** Pointer to the GC release logger instance - HC Ptr. */
    223     R3PTRTYPE(PRTLOGGERGC)      pRelLoggerHC;
     223    R3PTRTYPE(PRTLOGGERRC)      pRelLoggerHC;
    224224#endif /* VBOX_WITH_GC_AND_R0_RELEASE_LOG */
    225225
     
    473473 * @remark  This function must be exported!
    474474 */
    475 VMMGCDECL(int) vmmGCLoggerFlush(PRTLOGGERGC pLogger);
     475VMMGCDECL(int) vmmGCLoggerFlush(PRTLOGGERRC pLogger);
    476476
    477477/** @name Trap testcases and related labels.
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette