X-Git-Url: http://git.etherboot.org/mirror/winof/.git/blobdiff_plain/f4cb68c1efbc7aa6201f9a0603f64cb81db35bda..65b6248c4d597268acd18cfc734cb81c54e6b8d0:/core/iou/kernel/iou_driver.h?ds=sidebyside diff --git a/core/iou/kernel/iou_driver.h b/core/iou/kernel/iou_driver.h index b4cefaef..d8c028f5 100644 --- a/core/iou/kernel/iou_driver.h +++ b/core/iou/kernel/iou_driver.h @@ -54,32 +54,110 @@ #endif #include +extern uint32_t g_iou_dbg_level; +extern uint32_t g_iou_dbg_flags; + +#if defined(EVENT_TRACING) +// +// Software Tracing Definitions +// + +#define WPP_CONTROL_GUIDS \ + WPP_DEFINE_CONTROL_GUID(IOUCtlGuid,(A0090FEF,01BB,4617,AF1E,FD02FD5B24ED), \ + WPP_DEFINE_BIT( IOU_DBG_ERROR) \ + WPP_DEFINE_BIT( IOU_DBG_DRV) \ + WPP_DEFINE_BIT( IOU_DBG_PNP) \ + WPP_DEFINE_BIT( IOU_DBG_POWER) \ + WPP_DEFINE_BIT( IOU_DBG_PORT) \ + WPP_DEFINE_BIT( IOU_DBG_IOU)) + + + +#define WPP_LEVEL_FLAGS_ENABLED(lvl, flags) (WPP_LEVEL_ENABLED(flags) && WPP_CONTROL(WPP_BIT_ ## flags).Level >= lvl) +#define WPP_LEVEL_FLAGS_LOGGER(lvl,flags) WPP_LEVEL_LOGGER(flags) +#define WPP_FLAG_ENABLED(flags)(WPP_LEVEL_ENABLED(flags) && WPP_CONTROL(WPP_BIT_ ## flags).Level >= TRACE_LEVEL_VERBOSE) +#define WPP_FLAG_LOGGER(flags) WPP_LEVEL_LOGGER(flags) + + +// begin_wpp config +// IOU_ENTER(FLAG); +// IOU_EXIT(FLAG); +// USEPREFIX(IOU_PRINT, "%!STDPREFIX! [IOU] :%!FUNC!() :"); +// USESUFFIX(IOU_ENTER, " [IOU] :%!FUNC!():["); +// USESUFFIX(IOU_EXIT, " [IOU] :%!FUNC!():]"); +// end_wpp + + +#else + + +#include /* - * Main header for IB Bus driver. + * Debug macros */ -#define IOU_ENTER( lvl ) \ - CL_ENTER( lvl, iou_globals.dbg_lvl ) -#define IOU_EXIT( lvl ) \ - CL_EXIT( lvl, iou_globals.dbg_lvl ) +#define IOU_DBG_ERR (1 << 0) +#define IOU_DBG_DRV (1 << 1) +#define IOU_DBG_PNP (1 << 2) +#define IOU_DBG_POWER (1 << 3) +#define IOU_DBG_PORT (1 << 4) +#define IOU_DBG_IOU (1 << 5) + +#define IOU_DBG_ERROR (CL_DBG_ERROR | IOU_DBG_ERR) +#define IOU_DBG_ALL CL_DBG_ALL + +#if DBG + +// assignment of _level_ is need to to overcome warning C4127 +#define IOU_PRINT(_level_,_flag_,_msg_) \ + { \ + if( g_iou_dbg_level >= (_level_) ) \ + CL_TRACE( _flag_, g_iou_dbg_flags, _msg_ ); \ + } + +#define IOU_PRINT_EXIT(_level_,_flag_,_msg_) \ + { \ + if( g_iou_dbg_level >= (_level_) ) \ + CL_TRACE( _flag_, g_iou_dbg_flags, _msg_ );\ + IOU_EXIT(_flag_);\ + } -#define IOU_TRACE( lvl, msg ) \ - CL_TRACE( lvl, iou_globals.dbg_lvl, msg ) +#define IOU_ENTER(_flag_) \ + { \ + if( g_iou_dbg_level >= TRACE_LEVEL_VERBOSE ) \ + CL_ENTER( _flag_, g_iou_dbg_flags ); \ + } -#define IOU_TRACE_EXIT( lvl, msg ) \ - CL_TRACE_EXIT( lvl, iou_globals.dbg_lvl, msg ) +#define IOU_EXIT(_flag_)\ + { \ + if( g_iou_dbg_level >= TRACE_LEVEL_VERBOSE ) \ + CL_EXIT( _flag_, g_iou_dbg_flags ); \ + } + + +#else + +#define IOU_PRINT(lvl, flags, msg) + +#define IOU_PRINT_EXIT(_level_,_flag_,_msg_) + +#define IOU_ENTER(_flag_) + +#define IOU_EXIT(_flag_) + + +#endif + + +#endif //EVENT_TRACING + +/* + * Main header for IB Bus driver. + */ -#define IOU_PRINT( lvl, msg ) \ - CL_PRINT( lvl, iou_globals.dbl_lvl, msg ) -#define IOU_DBG_ERROR CL_DBG_ERROR -#define IOU_DBG_DRV (1 << 0) -#define IOU_DBG_PNP (1 << 1) -#define IOU_DBG_POWER (1 << 2) -#define IOU_DBG_PORT (1 << 3) -#define IOU_DBG_IOU (1 << 4) /* * ALLOC_PRAGMA sections: @@ -160,9 +238,6 @@ typedef struct _iou_pdo_ext */ typedef struct _iou_globals { - /* Debug level. */ - uint32_t dbg_lvl; - /* Driver object. Used for creating child devices. */ DRIVER_OBJECT *p_driver_obj;