#ifndef _HCA_DEBUG_H_\r
#define _HCA_DEBUG_H_\r
\r
+#include <ntstrsafe.h>\r
\r
extern uint32_t g_mthca_dbg_level;\r
extern uint32_t g_mthca_dbg_flags;\r
\r
static void _build_str( const char * format, ... )\r
{\r
+ NTSTATUS status;\r
va_list p_arg;\r
va_start(p_arg, format);\r
- vsprintf((char *)g_slog_buf , format , p_arg);\r
- swprintf(g_wlog_buf, L"%S", g_slog_buf);\r
+ status = RtlStringCbVPrintfA((char *)g_slog_buf, sizeof(g_slog_buf), format , p_arg);\r
+ if (status)\r
+ goto end;\r
+\r
+ status = RtlStringCchPrintfW(g_wlog_buf, sizeof(g_wlog_buf)/sizeof(g_wlog_buf[0]), L"%S", g_slog_buf);\r
+ if (status)\r
+ goto end;\r
+\r
+end:\r
va_end(p_arg);\r
}\r
\r
#define HCA_PRINT_TO_EVENT_LOG(_obj_,_level_,_flag_,_msg_) \\r
{ \\r
NTSTATUS event_id; \\r
+ __pragma(warning(suppress:6326)) \\r
switch (_level_) { \\r
case TRACE_LEVEL_FATAL: case TRACE_LEVEL_ERROR: event_id = EVENT_MTHCA_ANY_ERROR; break; \\r
case TRACE_LEVEL_WARNING: event_id = EVENT_MTHCA_ANY_WARN; break; \\r
}\r
\r
#define HCA_PRINT_EV_MDEV(_level_,_flag_,_msg_) \\r
- HCA_PRINT_TO_EVENT_LOG(mdev->ext->cl_ext.p_self_do,_level_,_flag_,_msg_)\r
+{\\r
+ if(mdev) {\\r
+ HCA_PRINT_TO_EVENT_LOG(mdev->ext->cl_ext.p_self_do,_level_,_flag_,_msg_)\\r
+ }\\r
+}\\r
\r
\r
#if defined(EVENT_TRACING)\r
#define WPP_CONTROL_GUIDS \\r
WPP_DEFINE_CONTROL_GUID(HCACtlGuid,(8BF1F640,63FE,4743,B9EF,FA38C695BFDE), \\r
WPP_DEFINE_BIT( HCA_DBG_DEV) \\r
- WPP_DEFINE_BIT( HCA_DBG_INIT) \\r
WPP_DEFINE_BIT( HCA_DBG_PNP) \\r
+ WPP_DEFINE_BIT( HCA_DBG_INIT) \\r
WPP_DEFINE_BIT( HCA_DBG_MAD) \\r
WPP_DEFINE_BIT( HCA_DBG_PO) \\r
+ WPP_DEFINE_BIT( HCA_DBG_PD)\\r
WPP_DEFINE_BIT( HCA_DBG_CQ) \\r
WPP_DEFINE_BIT( HCA_DBG_QP) \\r
WPP_DEFINE_BIT( HCA_DBG_MEMORY) \\r
WPP_DEFINE_BIT( HCA_DBG_AV) \\r
+ WPP_DEFINE_BIT( HCA_DBG_SRQ) \\r
+ WPP_DEFINE_BIT( HCA_DBG_MCAST) \\r
WPP_DEFINE_BIT( HCA_DBG_LOW) \\r
WPP_DEFINE_BIT( HCA_DBG_SHIM))\r
\r
+\r
#define WPP_GLOBALLOGGER\r
\r
\r
// HCA_ENTER(FLAG);\r
// HCA_EXIT(FLAG);\r
// USEPREFIX(HCA_PRINT, "%!STDPREFIX! [MTHCA] :%!FUNC!() :");\r
-// USEPREFIX(HCA_PRINT_EXIT, "%!STDPREFIX! [MTHCA] :%!FUNC!() :");\r
-// USESUFFIX(HCA_PRINT_EXIT, "[MTHCA] :%!FUNC!():]");\r
// USESUFFIX(HCA_ENTER, " [MTHCA] :%!FUNC!()[");\r
// USESUFFIX(HCA_EXIT, " [MTHCA] :%!FUNC!()]");\r
// end_wpp\r
\r
\r
+\r
#define HCA_PRINT_EV(_level_,_flag_,_msg_) \\r
{ \\r
HCA_PRINT_EV_MDEV(_level_,_flag_,_msg_) \\r
\r
\r
#define HCA_DBG_DEV (1 << 0)\r
-#define HCA_DBG_INIT (1<<1)\r
-#define HCA_DBG_PNP (1 << 2)\r
+#define HCA_DBG_PNP (1<<1)\r
+#define HCA_DBG_INIT (1 << 2)\r
#define HCA_DBG_MAD (1 << 3)\r
-#define HCA_DBG_PO (1 << 4)\r
-#define HCA_DBG_QP (1 << 5)\r
-#define HCA_DBG_CQ (1 << 6)\r
-#define HCA_DBG_MEMORY (1 << 7)\r
-#define HCA_DBG_AV (1<<8)\r
-#define HCA_DBG_LOW (1 << 9)\r
-#define HCA_DBG_SHIM (1 << 10)\r
+#define HCA_DBG_PO (1 << 4)\r
+#define HCA_DBG_PD (1<<5)\r
+#define HCA_DBG_QP (1 << 6)\r
+#define HCA_DBG_CQ (1 << 7)\r
+#define HCA_DBG_MEMORY (1 << 8)\r
+#define HCA_DBG_AV (1<<9)\r
+#define HCA_DBG_SRQ (1 << 10)\r
+#define HCA_DBG_MCAST (1<<11)\r
+#define HCA_DBG_LOW (1 << 12)\r
+#define HCA_DBG_SHIM (1 << 13)\r
\r
\r
#if DBG\r
int __lvl = _level_; \\r
if (g_mthca_dbg_level >= (_level_) && \\r
(g_mthca_dbg_flags & (_flag_))) { \\r
- DbgPrint ("[MTHCA] %s() :", __FUNCTION__); \\r
- if(__lvl == TRACE_LEVEL_ERROR) DbgPrint ("***ERROR*** "); \\r
- DbgPrint _msg_; \\r
+ cl_dbg_out ("~%d:[MTHCA] %s() :", KeGetCurrentProcessorNumber(), __FUNCTION__); \\r
+ if(__lvl == TRACE_LEVEL_ERROR) cl_dbg_out ("***ERROR*** "); \\r
+ cl_dbg_out _msg_; \\r
} \\r
}\r
\r
HCA_PRINT(TRACE_LEVEL_VERBOSE, flags, ("]\n" ));\r
\r
\r
-#define HCA_PRINT_EXIT(_level_,_flag_,_msg_) \\r
- {\\r
- if (status != IB_SUCCESS) {\\r
- HCA_PRINT(_level_,_flag_,_msg_);\\r
- }\\r
- HCA_EXIT(_flag_);\\r
- }\r
-\r
#endif //EVENT_TRACING\r
\r
\r