VirtualBox

Ignore:
Timestamp:
Dec 20, 2009 11:24:59 PM (15 years ago)
Author:
vboxsync
Message:

IPRT,SUPDrv,++: AssertMsg[12] -> AssertMsg1Weak, AssertMsg1, AssertMsg2Weak, AssertMsg2, AssertMsg2WeakV and AssertMsg2V. Doing more of the assertion machinery in common/misc/assert.cpp to avoid code duplication (ring-0). Major SUPDrv version bump.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/r0drv/linux/assert-r0drv-linux.c

    r21337 r25528  
    4242#include <iprt/asm.h>
    4343
    44 
    45 /*******************************************************************************
    46 *   Global Variables                                                           *
    47 *******************************************************************************/
    48 /** The last assert message, 1st part. */
    49 RTDATADECL(char)                    g_szRTAssertMsg1[1024];
    50 RT_EXPORT_SYMBOL(g_szRTAssertMsg1);
    51 /** The last assert message, 2nd part. */
    52 RTDATADECL(char)                    g_szRTAssertMsg2[2048];
    53 RT_EXPORT_SYMBOL(g_szRTAssertMsg2);
    54 /** The last assert message, file name. */
    55 RTDATADECL(const char *) volatile   g_pszRTAssertExpr;
    56 RT_EXPORT_SYMBOL(g_pszRTAssertExpr);
    57 /** The last assert message, file name. */
    58 RTDATADECL(const char *) volatile   g_pszRTAssertFile;
    59 RT_EXPORT_SYMBOL(g_pszRTAssertFile);
    60 /** The last assert message, line number. */
    61 RTDATADECL(uint32_t) volatile       g_u32RTAssertLine;
    62 RT_EXPORT_SYMBOL(g_u32RTAssertLine);
    63 /** The last assert message, function name. */
    64 RTDATADECL(const char *) volatile   g_pszRTAssertFunction;
    65 RT_EXPORT_SYMBOL(g_pszRTAssertFunction);
     44#include "internal/assert.h"
    6645
    6746
    68 RTDECL(void) AssertMsg1(const char *pszExpr, unsigned uLine, const char *pszFile, const char *pszFunction)
     47void rtR0AssertNativeMsg1(const char *pszExpr, unsigned uLine, const char *pszFile, const char *pszFunction)
    6948{
    70 #ifdef IN_GUEST_R0
    71     RTLogBackdoorPrintf("\n!!Assertion Failed!!\n"
    72                         "Expression: %s\n"
    73                         "Location  : %s(%d) %s\n",
    74                         pszExpr, pszFile, uLine, pszFunction);
    75 #endif
    76 
    7749    printk("\r\n!!Assertion Failed!!\r\n"
    7850           "Expression: %s\r\n"
    7951           "Location  : %s(%d) %s\r\n",
    8052           pszExpr, pszFile, uLine, pszFunction);
    81 
    82     RTStrPrintf(g_szRTAssertMsg1, sizeof(g_szRTAssertMsg1),
    83                 "\n!!Assertion Failed!!\n"
    84                 "Expression: %s\n"
    85                 "Location  : %s(%d) %s\n",
    86                 pszExpr, pszFile, uLine, pszFunction);
    87     ASMAtomicUoWritePtr((void * volatile *)&g_pszRTAssertExpr, pszExpr);
    88     ASMAtomicUoWritePtr((void * volatile *)&g_pszRTAssertFile, pszFile);
    89     ASMAtomicUoWritePtr((void * volatile *)&g_pszRTAssertFunction, pszFunction);
    90     ASMAtomicUoWriteU32(&g_u32RTAssertLine, uLine);
    9153}
    92 RT_EXPORT_SYMBOL(AssertMsg1);
    9354
    9455
    95 RTDECL(void) AssertMsg2(const char *pszFormat, ...)
     56void rtR0AssertNativeMsg2V(const char *pszFormat, va_list va)
    9657{
    97     va_list va;
    98     char    szMsg[256];
    99 
    100 #ifdef IN_GUEST_R0
    101     va_start(va, pszFormat);
    102     RTLogBackdoorPrintfV(pszFormat, va);
    103     va_end(va);
    104 #endif
     58    char szMsg[256];
    10559
    10660    va_start(va, pszFormat);
     
    10963    va_end(va);
    11064    printk("%s", szMsg);
    111 
    112     va_start(va, pszFormat);
    113     RTStrPrintfV(g_szRTAssertMsg2, sizeof(g_szRTAssertMsg2), pszFormat, va);
    114     va_end(va);
    11565}
    116 RT_EXPORT_SYMBOL(AssertMsg2);
    11766
    11867
Note: See TracChangeset for help on using the changeset viewer.

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