/* * dspbridge/mpu_api/inc/dbg.h * * DSP-BIOS Bridge driver support functions for TI OMAP processors. * * Copyright (C) 2007 Texas Instruments, Inc. * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published * by the Free Software Foundation version 2.1 of the License. * * This program is distributed .as is. WITHOUT ANY WARRANTY of any kind, * whether express or implied; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ /* * ======== dbg.h ======== * Purpose: * Provide debugging services for 'Bridge Mini Drivers. * * Public Functions: * DBG_Exit * DBG_Init * DBG_Printf * DBG_Trace * * Notes: * WMD's must not call DBG_Init or DBG_Exit. * *! Revision History: *! ================ *! 03-Feb-2000 rr: DBG Levels redefined. *! 29-Oct-1999 kc: Cleaned up for code review. *! 10-Oct-1997 cr: Added DBG_Printf service. *! 29-May-1996 gp: Removed WCD_ prefix. *! 15-May-1996 gp: Created. */ #ifndef DBG_ #define DBG_ #ifdef __cplusplus extern "C" { #endif #include /* Levels of trace debug messages: */ #ifndef LINUX /* No DEBUGZONE in Linux, DBG mask == GT mask */ #define DBG_ENTER (BYTE)(0x01 & DEBUGZONE(0)) /* Function entry point. */ #define DBG_LEVEL1 (BYTE)(0x02 & DEBUGZONE(1)) /* Display debugging state/varibles */ #define DBG_LEVEL2 (BYTE)(0x04 & DEBUGZONE(2)) /* Display debugging state/varibles */ #define DBG_LEVEL3 (BYTE)(0x08 & DEBUGZONE(3)) /* Display debugging state/varibles */ #define DBG_LEVEL4 (BYTE)(0x10 & DEBUGZONE(4)) /* Display debugging state/varibles */ #define DBG_LEVEL5 (BYTE)(0x20 & DEBUGZONE(5)) /* Module Init, Exit */ #define DBG_LEVEL6 (BYTE)(0x40 & DEBUGZONE(6)) /* Warn SERVICES Failures */ #define DBG_LEVEL7 (BYTE)(0x80 & DEBUGZONE(7)) /* Warn Critical Errors */ #else #define DBG_ENTER (BYTE)(0x01) /* Function entry point. */ #define DBG_LEVEL1 (BYTE)(0x02) /* Display debugging state/varibles */ #define DBG_LEVEL2 (BYTE)(0x04) /* Display debugging state/varibles */ #define DBG_LEVEL3 (BYTE)(0x08) /* Display debugging state/varibles */ #define DBG_LEVEL4 (BYTE)(0x10) /* Display debugging state/varibles */ #define DBG_LEVEL5 (BYTE)(0x20) /* Module Init, Exit */ #define DBG_LEVEL6 (BYTE)(0x40) /* Warn SERVICES Failures */ #define DBG_LEVEL7 (BYTE)(0x80) /* Warn Critical Errors */ #endif #if ((defined DEBUG) || (defined DDSP_DEBUG_PRODUCT)) && GT_TRACE /* * ======== DBG_Exit ======== * Purpose: * Discontinue usage of module; free resources when reference count * reaches 0. * Parameters: * Returns: * Requires: * DBG initialized. * Ensures: * Resources used by module are freed when cRef reaches zero. */ extern VOID DBG_Exit(); /* * ======== DBG_Init ======== * Purpose: * Initializes private state of DBG module. * Parameters: * Returns: * TRUE if initialized; FALSE if error occured. * Requires: * Ensures: */ extern bool DBG_Init(); #ifndef LINUX /* * ======== DBG_Printf ======== * Purpose: * Output a formatted string to the debugger. * Parameters: * pstrFormat: sprintf-style format string. * ...: Arguments for format string. * Returns: * DSP_SOK: Success, or trace level masked. * DSP_EFAIL: On Error. * Requires: * DBG initialized. * Ensures: */ extern DSP_STATUS DBG_Printf(IN PSTR pstrFormat, ...); #endif // LINUX /* * ======== DBG_Trace ======== * Purpose: * Output a trace message to the debugger, if the given trace level * is unmasked. * Parameters: * bLevel: Trace level. * pstrFormat: sprintf-style format string. * ...: Arguments for format string. * Returns: * DSP_SOK: Success, or trace level masked. * DSP_EFAIL: On Error. * Requires: * DBG initialized. * Ensures: * Debug message is printed to debugger output window, if trace level * is unmasked. */ extern DSP_STATUS DBG_Trace(IN BYTE bLevel, IN PSTR pstrFormat, ...); #else #define DBG_Exit() #define DBG_Init() TRUE #define DBG_Trace(bLevel, pstrFormat, args...) #endif // ((defined DEBUG) || (defined DDSP_DEBUG_PRODUCT)) && GT_TRACE #ifdef __cplusplus } #endif #endif /* DBG_ */