Changeset 9244 in vbox
- Timestamp:
- May 30, 2008 11:50:49 AM (17 years ago)
- svn:sync-xref-src-repo-rev:
- 31425
- Location:
- trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/log.h
r9212 r9244 149 149 /** Logger structure. */ 150 150 #ifdef IN_GC 151 typedef struct RTLOGGER GC RTLOGGER;151 typedef struct RTLOGGERRC RTLOGGER; 152 152 #else 153 153 typedef struct RTLOGGER RTLOGGER; … … 160 160 161 161 /** Guest context logger structure. */ 162 typedef struct RTLOGGER GC RTLOGGERGC;162 typedef struct RTLOGGERRC RTLOGGERRC; 163 163 /** Pointer to guest context logger structure. */ 164 typedef RTLOGGER GC *PRTLOGGERGC;164 typedef RTLOGGERRC *PRTLOGGERRC; 165 165 /** Pointer to const guest context logger structure. */ 166 typedef const RTLOGGER GC *PCRTLOGGERGC;166 typedef const RTLOGGERRC *PCRTLOGGERRC; 167 167 168 168 … … 191 191 * @param pLogger Pointer to the logger instance which is to be flushed. 192 192 */ 193 typedef DECLCALLBACK(void) FNRTLOGFLUSHGC(PRTLOGGER GC pLogger);193 typedef DECLCALLBACK(void) FNRTLOGFLUSHGC(PRTLOGGERRC pLogger); 194 194 /** Pointer to logger function. */ 195 195 typedef RCPTRTYPE(FNRTLOGFLUSHGC *) PFNRTLOGFLUSHGC; … … 199 199 * Logger instance structure for GC. 200 200 */ 201 struct RTLOGGER GC201 struct RTLOGGERRC 202 202 { 203 203 /** Pointer to temporary scratch buffer. … … 215 215 /** Pointer to the flush function. */ 216 216 PFNRTLOGFLUSHGC pfnFlush; 217 /** Magic number (RTLOGGER GC_MAGIC). */217 /** Magic number (RTLOGGERRC_MAGIC). */ 218 218 uint32_t u32Magic; 219 219 /** Logger instance flags - RTLOGFLAGS. */ … … 227 227 }; 228 228 229 /** RTLOGGER GC::u32Magic value. (John Rogers Searle) */230 #define RTLOGGER GC_MAGIC 0x19320731229 /** RTLOGGERRC::u32Magic value. (John Rogers Searle) */ 230 #define RTLOGGERRC_MAGIC 0x19320731 231 231 232 232 … … 1304 1304 1305 1305 /** 1306 * Create a logger instance clone for GC usage.1306 * Create a logger instance clone for RC usage. 1307 1307 * 1308 1308 * @returns iprt status code. … … 1315 1315 * @param fFlags Logger instance flags, a combination of the RTLOGFLAGS_* values. 1316 1316 */ 1317 RTDECL(int) RTLogClone GC(PRTLOGGER pLogger, PRTLOGGERGC pLoggerGC, size_t cbLoggerGC,1318 RT GCPTR pfnLoggerGCPtr, RTGCPTR pfnFlushGCPtr, RTUINT fFlags);1317 RTDECL(int) RTLogCloneRC(PRTLOGGER pLogger, PRTLOGGERRC pLoggerGC, size_t cbLoggerGC, 1318 RTRCPTR pfnLoggerGCPtr, RTRCPTR pfnFlushGCPtr, RTUINT fFlags); 1319 1319 1320 1320 /** … … 1326 1326 * @param pLoggerGC The GC logger instance to flush. 1327 1327 */ 1328 RTDECL(void) RTLogFlushGC(PRTLOGGER pLogger, PRTLOGGER GC pLoggerGC);1328 RTDECL(void) RTLogFlushGC(PRTLOGGER pLogger, PRTLOGGERRC pLoggerGC); 1329 1329 1330 1330 /** -
trunk/src/VBox/Runtime/common/log/log.cpp
r8671 r9244 94 94 #ifdef IN_GC 95 95 /** Default logger instance. */ 96 extern "C" DECLIMPORT(RTLOGGER GC) g_Logger;96 extern "C" DECLIMPORT(RTLOGGERRC) g_Logger; 97 97 /** Default relese logger instance. */ 98 extern "C" DECLIMPORT(RTLOGGER GC) g_RelLogger;98 extern "C" DECLIMPORT(RTLOGGERRC) g_RelLogger; 99 99 #else /* !IN_GC */ 100 100 /** Default logger instance. */ … … 598 598 599 599 /** 600 * Create a logger instance clone for GC usage.600 * Create a logger instance clone for RC usage. 601 601 * 602 602 * @returns iprt status code. … … 609 609 * @param fFlags Logger instance flags, a combination of the RTLOGFLAGS_* values. 610 610 */ 611 RTDECL(int) RTLogClone GC(PRTLOGGER pLogger, PRTLOGGERGC pLoggerGC, size_t cbLoggerGC,612 RT GCPTR pfnLoggerGCPtr, RTGCPTR pfnFlushGCPtr, RTUINT fFlags)611 RTDECL(int) RTLogCloneRC(PRTLOGGER pLogger, PRTLOGGERRC pLoggerGC, size_t cbLoggerGC, 612 RTRCPTR pfnLoggerGCPtr, RTRCPTR pfnFlushGCPtr, RTUINT fFlags) 613 613 { 614 614 /* … … 635 635 pLoggerGC->pfnLogger = pfnLoggerGCPtr; 636 636 pLoggerGC->pfnFlush = pfnFlushGCPtr; 637 pLoggerGC->u32Magic = RTLOGGER GC_MAGIC;637 pLoggerGC->u32Magic = RTLOGGERRC_MAGIC; 638 638 pLoggerGC->fFlags = fFlags | RTLOGFLAGS_DISABLED; 639 639 pLoggerGC->cGroups = 1; … … 653 653 * Check if there's enough space for the groups. 654 654 */ 655 if (cbLoggerGC < (size_t)RT_OFFSETOF(RTLOGGER GC, afGroups[pLogger->cGroups]))656 { 657 AssertMsgFailed(("%d req=%d cGroups=%d\n", cbLoggerGC, RT_OFFSETOF(RTLOGGER GC, 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)); 658 658 return VERR_INVALID_PARAMETER; 659 659 } … … 687 687 * @param pLoggerGC The GC logger instance to flush. 688 688 */ 689 RTDECL(void) RTLogFlushGC(PRTLOGGER pLogger, PRTLOGGER GC pLoggerGC)689 RTDECL(void) RTLogFlushGC(PRTLOGGER pLogger, PRTLOGGERRC pLoggerGC) 690 690 { 691 691 /* -
trunk/src/VBox/VMM/VMM.cpp
r9148 r9244 422 422 if (pLogger) 423 423 { 424 pVM->vmm.s.cbLoggerGC = RT_OFFSETOF(RTLOGGER GC, afGroups[pLogger->cGroups]);424 pVM->vmm.s.cbLoggerGC = RT_OFFSETOF(RTLOGGERRC, afGroups[pLogger->cGroups]); 425 425 rc = MMHyperAlloc(pVM, pVM->vmm.s.cbLoggerGC, 0, MM_TAG_VMM, (void **)&pVM->vmm.s.pLoggerHC); 426 426 if (VBOX_SUCCESS(rc)) … … 460 460 if (pRelLogger) 461 461 { 462 pVM->vmm.s.cbRelLoggerGC = RT_OFFSETOF(RTLOGGER GC, afGroups[pRelLogger->cGroups]);462 pVM->vmm.s.cbRelLoggerGC = RT_OFFSETOF(RTLOGGERRC, afGroups[pRelLogger->cGroups]); 463 463 rc = MMHyperAlloc(pVM, pVM->vmm.s.cbRelLoggerGC, 0, MM_TAG_VMM, (void **)&pVM->vmm.s.pRelLoggerHC); 464 464 if (VBOX_SUCCESS(rc)) … … 708 708 #endif 709 709 #ifdef LOG_ENABLED 710 PRTLOGGER GC pLogger = pVM->vmm.s.pLoggerHC;710 PRTLOGGERRC pLogger = pVM->vmm.s.pLoggerHC; 711 711 if ( pLogger 712 712 && pLogger->offScratch > 0) … … 714 714 #endif 715 715 #ifdef VBOX_WITH_GC_AND_R0_RELEASE_LOG 716 PRTLOGGER GC pRelLogger = pVM->vmm.s.pRelLoggerHC;716 PRTLOGGERRC pRelLogger = pVM->vmm.s.pRelLoggerHC; 717 717 if (RT_UNLIKELY(pRelLogger && pRelLogger->offScratch > 0)) 718 718 RTLogFlushGC(RTLogRelDefaultInstance(), pRelLogger); … … 886 886 AssertReleaseMsgRC(rc, ("vmmGCLoggerWrapper not found! rc=%Vra\n", rc)); 887 887 pVM->vmm.s.pLoggerGC = MMHyperHC2GC(pVM, pVM->vmm.s.pLoggerHC); 888 rc = RTLogClone GC(NULL /* default */, pVM->vmm.s.pLoggerHC, pVM->vmm.s.cbLoggerGC,888 rc = RTLogCloneRC(NULL /* default */, pVM->vmm.s.pLoggerHC, pVM->vmm.s.cbLoggerGC, 889 889 GCPtrLoggerWrapper, GCPtrLoggerFlush, RTLOGFLAGS_BUFFERED); 890 890 AssertReleaseMsgRC(rc, ("RTLogCloneGC failed! rc=%Vra\n", rc)); … … 898 898 AssertReleaseMsgRC(rc, ("vmmGCRelLoggerWrapper not found! rc=%Vra\n", rc)); 899 899 pVM->vmm.s.pRelLoggerGC = MMHyperHC2GC(pVM, pVM->vmm.s.pRelLoggerHC); 900 rc = RTLogClone GC(RTLogRelDefaultInstance(), pVM->vmm.s.pRelLoggerHC, pVM->vmm.s.cbRelLoggerGC,900 rc = RTLogCloneRC(RTLogRelDefaultInstance(), pVM->vmm.s.pRelLoggerHC, pVM->vmm.s.cbRelLoggerGC, 901 901 GCPtrLoggerWrapper, GCPtrLoggerFlush, RTLOGFLAGS_BUFFERED); 902 902 AssertReleaseMsgRC(rc, ("RTLogCloneGC failed! rc=%Vra\n", rc)); … … 1953 1953 */ 1954 1954 #ifdef LOG_ENABLED 1955 PRTLOGGER GC pLogger = pVM->vmm.s.pLoggerHC;1955 PRTLOGGERRC pLogger = pVM->vmm.s.pLoggerHC; 1956 1956 if ( pLogger 1957 1957 && pLogger->offScratch > 0) … … 1959 1959 #endif 1960 1960 #ifdef VBOX_WITH_GC_AND_R0_RELEASE_LOG 1961 PRTLOGGER GC pRelLogger = pVM->vmm.s.pRelLoggerHC;1961 PRTLOGGERRC pRelLogger = pVM->vmm.s.pRelLoggerHC; 1962 1962 if (RT_UNLIKELY(pRelLogger && pRelLogger->offScratch > 0)) 1963 1963 RTLogFlushGC(RTLogRelDefaultInstance(), pRelLogger); … … 2082 2082 */ 2083 2083 #ifdef LOG_ENABLED 2084 PRTLOGGER GC pLogger = pVM->vmm.s.pLoggerHC;2084 PRTLOGGERRC pLogger = pVM->vmm.s.pLoggerHC; 2085 2085 if ( pLogger 2086 2086 && pLogger->offScratch > 0) … … 2088 2088 #endif 2089 2089 #ifdef VBOX_WITH_GC_AND_R0_RELEASE_LOG 2090 PRTLOGGER GC pRelLogger = pVM->vmm.s.pRelLoggerHC;2090 PRTLOGGERRC pRelLogger = pVM->vmm.s.pRelLoggerHC; 2091 2091 if (RT_UNLIKELY(pRelLogger && pRelLogger->offScratch > 0)) 2092 2092 RTLogFlushGC(RTLogRelDefaultInstance(), pRelLogger); … … 2136 2136 */ 2137 2137 #ifdef LOG_ENABLED 2138 PRTLOGGER GC pLogger = pVM->vmm.s.pLoggerHC;2138 PRTLOGGERRC pLogger = pVM->vmm.s.pLoggerHC; 2139 2139 if ( pLogger 2140 2140 && pLogger->offScratch > 0) … … 2142 2142 #endif 2143 2143 #ifdef VBOX_WITH_GC_AND_R0_RELEASE_LOG 2144 PRTLOGGER GC pRelLogger = pVM->vmm.s.pRelLoggerHC;2144 PRTLOGGERRC pRelLogger = pVM->vmm.s.pRelLoggerHC; 2145 2145 if (RT_UNLIKELY(pRelLogger && pRelLogger->offScratch > 0)) 2146 2146 RTLogFlushGC(RTLogRelDefaultInstance(), pRelLogger); -
trunk/src/VBox/VMM/VMMGC/VMMGC.cpp
r8155 r9244 41 41 *******************************************************************************/ 42 42 /** Default logger instance. */ 43 extern "C" DECLIMPORT(RTLOGGER GC) g_Logger;44 extern "C" DECLIMPORT(RTLOGGER GC) g_RelLogger;43 extern "C" DECLIMPORT(RTLOGGERRC) g_Logger; 44 extern "C" DECLIMPORT(RTLOGGERRC) g_RelLogger; 45 45 46 46 … … 168 168 * @remark This function must be exported! 169 169 */ 170 VMMGCDECL(int) vmmGCLoggerFlush(PRTLOGGER GC pLogger)170 VMMGCDECL(int) vmmGCLoggerFlush(PRTLOGGERRC pLogger) 171 171 { 172 172 PVM pVM = &g_VM; -
trunk/src/VBox/VMM/VMMInternal.h
r9212 r9244 203 203 /** Pointer to the GC logger instance - GC Ptr. 204 204 * This is NULL if logging is disabled. */ 205 RCPTRTYPE(PRTLOGGER GC) pLoggerGC;205 RCPTRTYPE(PRTLOGGERRC) pLoggerGC; 206 206 /** Size of the allocated logger instance (pLoggerGC/pLoggerHC). */ 207 207 RTUINT cbLoggerGC; 208 208 /** Pointer to the GC logger instance - HC Ptr. 209 209 * This is NULL if logging is disabled. */ 210 R3PTRTYPE(PRTLOGGER GC) pLoggerHC;210 R3PTRTYPE(PRTLOGGERRC) pLoggerHC; 211 211 212 212 /** Pointer to the R0 logger instance. … … 216 216 #ifdef VBOX_WITH_GC_AND_R0_RELEASE_LOG 217 217 /** Pointer to the GC release logger instance - GC Ptr. */ 218 RCPTRTYPE(PRTLOGGER GC) pRelLoggerGC;218 RCPTRTYPE(PRTLOGGERRC) pRelLoggerGC; 219 219 /** Size of the allocated release logger instance (pRelLoggerGC/pRelLoggerHC). 220 220 * This may differ from cbLoggerGC. */ 221 221 RTUINT cbRelLoggerGC; 222 222 /** Pointer to the GC release logger instance - HC Ptr. */ 223 R3PTRTYPE(PRTLOGGER GC) pRelLoggerHC;223 R3PTRTYPE(PRTLOGGERRC) pRelLoggerHC; 224 224 #endif /* VBOX_WITH_GC_AND_R0_RELEASE_LOG */ 225 225 … … 473 473 * @remark This function must be exported! 474 474 */ 475 VMMGCDECL(int) vmmGCLoggerFlush(PRTLOGGER GC pLogger);475 VMMGCDECL(int) vmmGCLoggerFlush(PRTLOGGERRC pLogger); 476 476 477 477 /** @name Trap testcases and related labels.
Note:
See TracChangeset
for help on using the changeset viewer.