123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206 |
- /*****************************************************************
- *****************************************************************
- *** **
- *** (C)Copyright 2005-2006, American Megatrends Inc. **
- *** **
- *** All Rights Reserved. **
- *** **
- *** 6145-F, Northbelt Parkway, Norcross, **
- *** **
- *** Georgia - 30071, USA. Phone-(770)-246-8600. **
- *** **
- *****************************************************************
- *****************************************************************
- ******************************************************************
- *
- * debug.h
- * Debug Mode Macros
- *
- * Author: Govind Kothandapani <govindk@ami.com>
- *
- ******************************************************************/
- #ifndef DEBUG_H
- #define DEBUG_h
- #include "Types.h"
- //#include "dbgout.h"
- #define PLATFORM_BREAK while (1)
- #ifdef STHU
- #define IPMI_INFO(STR, Args...)
- #define IPMI_WARNING(STR, Args...)
- #define IPMI_ERROR(STR, Args... )
- #else
- #define IPMI_INFO(STR, Args...) TINFO (STR, ##Args);
- #define IPMI_WARNING(STR, Args...) TWARN (STR, ##Args);
- #define IPMI_ERROR(STR, Args... ) TCRIT (STR, ##Args);
- #endif
- #ifdef _DEBUG_
- extern void print_buf (INT8U* Buf, INT16U Len);
- #if ENABLE_DEBUG_MACROS==0
- /*** Turn off all debug macros if they are disabled in the source ***/
- #define IPMI_CHECK_POINT(ARG)
- #define IPMI_DBG_BREAK
- #define IPMI_ASSERT(ARG)
- #define IPMI_ASSERT_CONTINUE(ARG)
- #define IPMI_DBG_PRINT_STRUCT_3(STRUCT, M1, M2, M3)
- #define IPMI_DBG_PRINT_STRUCT_4(STRUCT, M1, M2, M3, M4)
- #define IPMI_DBG_PRINT_STRUCT_5(STRUCT, M1, M2, M3, M4, M5)
- #define IPMI_DBG_PRINT_STRUCT_6(STRUCT, M1, M2, M3, M4, M5, M6)
- #define PRINT_BUF(BUF, LEN)
- #if ENABLE_DEBUG_LOG==0
- #define IPMI_DBG_PRINT(STR)
- #define IPMI_DBG_PRINT_1(FMT, ARG2)
- #define IPMI_DBG_PRINT_2(FMT, ARG1, ARG2)
- #define IPMI_DBG_PRINT_3(FMT, ARG1, ARG2, ARG3)
- #define IPMI_DBG_PRINT_4(FMT, ARG1, ARG2, ARG3, ARG4)
- #define IPMI_DBG_PRINT_BUF(BUF, LEN)
- #else //ENABLE_DEBUG_LOG
- #define IPMI_DBG_PRINT(FMT) PLATFORM_DBGLOGFN(LOG_DEBUG,TDBG_FILE_LINE_FMT FMT,TDBG_FILENAME,TDBG_LINENO)
- #define IPMI_DBG_PRINT_1(fmt, args...) PLATFORM_DBGLOGFN(LOG_DEBUG,TDBG_FILE_LINE_FMT fmt,TDBG_FILENAME,TDBG_LINENO,##args)
- #define IPMI_DBG_PRINT_2(fmt, args...) PLATFORM_DBGLOGFN(LOG_DEBUG,TDBG_FILE_LINE_FMT fmt,TDBG_FILENAME,TDBG_LINENO,##args)
- #define IPMI_DBG_PRINT_3(fmt, args...) PLATFORM_DBGLOGFN(LOG_DEBUG,TDBG_FILE_LINE_FMT fmt,TDBG_FILENAME,TDBG_LINENO,##args)
- #define IPMI_DBG_PRINT_4(fmt, args...) PLATFORM_DBGLOGFN(LOG_DEBUG,TDBG_FILE_LINE_FMT fmt,TDBG_FILENAME,TDBG_LINENO,##args)
- #define IPMI_DBG_PRINT_BUF(BUF, LEN) PLATFORM_DBGLOGBUFFN(LOG_DEBUG, TDBG_FILENAME,TDBG_LINENO, BUF, LEN)
- #endif
- #else /* ENABLE_DEBUG_MACROS */
- /**
- * @def IPMI_DBG_BREAK
- * @brief Stops the debugger.
- **/
- #define IPMI_DBG_BREAK PLATFORM_BREAK
- /**
- * @def IPMI_ASSERT
- * @brief Asserts for a condition to be true. If the condition fails program
- * stops executing and the debugger is invoked.
- **/
- #define IPMI_ASSERT(ARG) \
- do \
- { \
- if (!(ARG)) \
- { \
- IPMI_WARNING ("Assertion failed at %s line %d\n", \
- (_FAR_ char *)__FILE__, __LINE__); \
- IPMI_DBG_BREAK; \
- } \
- \
- } while (0)
-
- /**
- * @def IPMI_ASSERT_CONTINUE
- * @brief Asserts for a condition to be true. If the condition fails program
- * continues executing.
- **/
- #define IPMI_ASSERT_CONTINUE(ARG) \
- do \
- { \
- if (!(ARG)) \
- { \
- IPMI_WARNING ("Assertion failed at %s line %d\n", \
- (_FAR_ char *)__FILE__, __LINE__); \
- IPMI_WARNING ("Assertion will be handled later...\n"); \
- } \
- \
- } while (0)
- #if ENABLE_DEBUG_LOG==0
- /**
- * @def IPMI_DBG_PRINT
- * @brief A regular printf style debug printing macro. Could take more
- * ROM space due to the strings to be stored.
- **/
- #define IPMI_DBG_PRINT(STR) printf (STR)
- #define IPMI_DBG_PRINT_1(FMT, ARG1) printf (FMT, ARG1)
- #define IPMI_DBG_PRINT_2(FMT, ARG1, ARG2) printf (FMT, ARG1, ARG2)
- #define IPMI_DBG_PRINT_3(FMT, ARG1, ARG2, ARG3) printf (FMT, ARG1, ARG2, ARG3)
- #define IPMI_DBG_PRINT_4(FMT, ARG1, ARG2, ARG3, ARG4) printf (FMT, ARG1, ARG2, ARG3, ARG4)
- /**
- * @def IPMI_DBG_PRINT_BUF
- * @brief Prints the buffer.
- **/
- #define IPMI_DBG_PRINT_BUF(BUF, LEN) print_buf (BUF, LEN);
- #define PRINT_BUF(BUF, LEN) print_buf (BUF, LEN);
- #else //ENABLE_DEBUG_LOG
- #define IPMI_DBG_PRINT(FMT) \
- do \
- { \
- printf (FMT); \
- PLATFORM_DBGLOGFN(LOG_DEBUG,TDBG_FILE_LINE_FMT FMT,TDBG_FILENAME,TDBG_LINENO); \
- } while (0)
- #define IPMI_DBG_PRINT_1(fmt, args...) \
- do \
- { \
- printf (fmt, args); \
- PLATFORM_DBGLOGFN(LOG_DEBUG,TDBG_FILE_LINE_FMT fmt,TDBG_FILENAME,TDBG_LINENO,##args); \
- } while (0)
- #define IPMI_DBG_PRINT_2(fmt, args...) \
- do \
- { \
- printf (fmt, args); \
- PLATFORM_DBGLOGFN(LOG_DEBUG,TDBG_FILE_LINE_FMT fmt,TDBG_FILENAME,TDBG_LINENO,##args); \
- } while (0)
- #define IPMI_DBG_PRINT_3(fmt, args...) \
- do \
- { \
- printf (fmt, args); \
- PLATFORM_DBGLOGFN(LOG_DEBUG,TDBG_FILE_LINE_FMT fmt,TDBG_FILENAME,TDBG_LINENO,##args); \
- } while (0)
- #define IPMI_DBG_PRINT_4(fmt, args...) \
- do \
- { \
- printf (fmt, args); \
- PLATFORM_DBGLOGFN(LOG_DEBUG,TDBG_FILE_LINE_FMT fmt,TDBG_FILENAME,TDBG_LINENO,##args); \
- } while (0)
-
- #define IPMI_DBG_PRINT_BUF(BUF, LEN) \
- do \
- { \
- print_buf (BUF, LEN); \
- PLATFORM_DBGLOGBUFFN(LOG_DEBUG,TDBG_FILENAME,TDBG_LINENO,BUF,LEN) \
- } while (0)
- #endif //ENABLE_DEBUG_LOG
- #endif /* ENABLE_DEBUG_MACROS */
- #else /* If DEBUG */
- #define IPMI_DBG_PRINT(STR)
- #define IPMI_DBG_PRINT_1(FMT, ARG2)
- #define IPMI_DBG_PRINT_2(FMT, ARG1, ARG2)
- #define IPMI_DBG_PRINT_3(FMT, ARG1, ARG2, ARG3)
- #define IPMI_DBG_PRINT_4(FMT, ARG1, ARG2, ARG3, ARG4)
- #define IPMI_DBG_BREAK
- #define IPMI_ASSERT(ARG)
- #define IPMI_ASSERT_CONTINUE(ARG)
- #define IPMI_DBG_PRINT_BUF(BUF, LEN)
- #define IPMI_DBG_PRINT_STRUCT_3(STRUCT, M1, M2, M3)
- #define IPMI_DBG_PRINT_STRUCT_4(STRUCT, M1, M2, M3, M4)
- #define IPMI_DBG_PRINT_STRUCT_5(STRUCT, M1, M2, M3, M4, M5)
- #define IPMI_DBG_PRINT_STRUCT_6(STRUCT, M1, M2, M3, M4, M5, M6)
- #define PRINT_BUF(BUF, LEN)
- #define IPMI_DBG_PRINT_BUF(BUF, LEN)
- #endif /* If DEBUG */
- #endif /* DEBUG_H */
|