148 lines
4.4 KiB
C
148 lines
4.4 KiB
C
/*
|
|
* 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 <dspapi.h>
|
|
|
|
/* 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_ */
|