xge-debug.h (171095) | xge-debug.h (173139) |
---|---|
1/*- 2 * Copyright (c) 2002-2007 Neterion, Inc. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * | 1/*- 2 * Copyright (c) 2002-2007 Neterion, Inc. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * |
26 * $FreeBSD: head/sys/dev/nxge/include/xge-debug.h 171095 2007-06-29 22:47:18Z sam $ | 26 * $FreeBSD: head/sys/dev/nxge/include/xge-debug.h 173139 2007-10-29 14:19:32Z rwatson $ |
27 */ 28 | 27 */ 28 |
29/* 30 * FileName : xge-debug.h 31 * 32 * Description: debug facilities 33 * 34 * Created: 6 May 2004 35 */ 36 | |
37#ifndef XGE_DEBUG_H 38#define XGE_DEBUG_H 39 40#include <dev/nxge/include/xge-os-pal.h> 41 42__EXTERN_BEGIN_DECLS 43 44/* --- 4 unchanged lines hidden (view full) --- 49#ifndef __func__ 50#ifdef __FUNCTION__ 51#define __func__ __FUNCTION__ 52#endif 53#endif 54 55 56#ifdef XGE_DEBUG_FP | 29#ifndef XGE_DEBUG_H 30#define XGE_DEBUG_H 31 32#include <dev/nxge/include/xge-os-pal.h> 33 34__EXTERN_BEGIN_DECLS 35 36/* --- 4 unchanged lines hidden (view full) --- 41#ifndef __func__ 42#ifdef __FUNCTION__ 43#define __func__ __FUNCTION__ 44#endif 45#endif 46 47 48#ifdef XGE_DEBUG_FP |
57#define XGE_DEBUG_FP_DEVICE 0x1 | 49#define XGE_DEBUG_FP_DEVICE 0x1 |
58#define XGE_DEBUG_FP_CHANNEL 0x2 | 50#define XGE_DEBUG_FP_CHANNEL 0x2 |
59#define XGE_DEBUG_FP_FIFO 0x4 60#define XGE_DEBUG_FP_RING 0x8 | 51#define XGE_DEBUG_FP_FIFO 0x4 52#define XGE_DEBUG_FP_RING 0x8 53#define XGE_DEBUG_FP_ALL 0xff |
61#endif 62 63/** 64 * enum xge_debug_level_e 65 * @XGE_NONE: debug disabled 66 * @XGE_ERR: all errors going to be logged out 67 * @XGE_TRACE: all errors plus all kind of verbose tracing print outs 68 * going to be logged out. Very noisy. --- 51 unchanged lines hidden (view full) --- 120#define XGE_COMPONENT_HAL_FIFO 0x00000002 121#define XGE_COMPONENT_HAL_RING 0x00000004 122#define XGE_COMPONENT_HAL_CHANNEL 0x00000008 123#define XGE_COMPONENT_HAL_DEVICE 0x00000010 124#define XGE_COMPONENT_HAL_MM 0x00000020 125#define XGE_COMPONENT_HAL_QUEUE 0x00000040 126#define XGE_COMPONENT_HAL_INTERRUPT 0x00000080 127#define XGE_COMPONENT_HAL_STATS 0x00000100 | 54#endif 55 56/** 57 * enum xge_debug_level_e 58 * @XGE_NONE: debug disabled 59 * @XGE_ERR: all errors going to be logged out 60 * @XGE_TRACE: all errors plus all kind of verbose tracing print outs 61 * going to be logged out. Very noisy. --- 51 unchanged lines hidden (view full) --- 113#define XGE_COMPONENT_HAL_FIFO 0x00000002 114#define XGE_COMPONENT_HAL_RING 0x00000004 115#define XGE_COMPONENT_HAL_CHANNEL 0x00000008 116#define XGE_COMPONENT_HAL_DEVICE 0x00000010 117#define XGE_COMPONENT_HAL_MM 0x00000020 118#define XGE_COMPONENT_HAL_QUEUE 0x00000040 119#define XGE_COMPONENT_HAL_INTERRUPT 0x00000080 120#define XGE_COMPONENT_HAL_STATS 0x00000100 |
128#ifdef XGEHAL_RNIC 129#define XGE_COMPONENT_HAL_DMQ 0x00000200 130#define XGE_COMPONENT_HAL_UMQ 0x00000400 131#define XGE_COMPONENT_HAL_SQ 0x00000800 132#define XGE_COMPONENT_HAL_SRQ 0x00001000 133#define XGE_COMPONENT_HAL_CQRQ 0x00002000 134#define XGE_COMPONENT_HAL_POOL 0x00004000 135#define XGE_COMPONENT_HAL_BITMAP 0x00008000 136#endif | |
137 138 /* space for CORE_XXX */ 139#define XGE_COMPONENT_OSDEP 0x10000000 140#define XGE_COMPONENT_LL 0x20000000 141#define XGE_COMPONENT_ALL 0xffffffff 142 143#ifndef XGE_DEBUG_MODULE_MASK 144#error "XGE_DEBUG_MODULE_MASK macro must be defined for DEBUG mode..." 145#endif 146 147#ifndef __GNUC__ 148#ifdef XGE_TRACE_INTO_CIRCULAR_ARR | 121 122 /* space for CORE_XXX */ 123#define XGE_COMPONENT_OSDEP 0x10000000 124#define XGE_COMPONENT_LL 0x20000000 125#define XGE_COMPONENT_ALL 0xffffffff 126 127#ifndef XGE_DEBUG_MODULE_MASK 128#error "XGE_DEBUG_MODULE_MASK macro must be defined for DEBUG mode..." 129#endif 130 131#ifndef __GNUC__ 132#ifdef XGE_TRACE_INTO_CIRCULAR_ARR |
149 #define xge_trace_aux(fmt) xge_os_vatrace(g_xge_os_tracebuf, fmt) | 133 #define xge_trace_aux(fmt) xge_os_vatrace(g_xge_os_tracebuf, fmt) |
150#else | 134#else |
151 #define xge_trace_aux(fmt) xge_os_vaprintf(fmt) | 135 #define xge_trace_aux(fmt) xge_os_vaprintf(fmt) |
152#endif 153 154/** 155 * xge_debug 156 * @level: level of debug verbosity. 157 * @fmt: printf like format string 158 * 159 * Provides logging facilities. Can be customized on per-module 160 * basis or/and with debug levels. Input parameters, except 161 * module and level, are the same as posix printf. This function 162 * may be compiled out if DEBUG macro was never defined. 163 * See also: xge_debug_level_e{}. 164 */ 165#define xge_debug(module, level, fmt) { \ 166if (((level >= XGE_TRACE && ((module & XGE_DEBUG_TRACE_MASK) == module)) || \ | 136#endif 137 138/** 139 * xge_debug 140 * @level: level of debug verbosity. 141 * @fmt: printf like format string 142 * 143 * Provides logging facilities. Can be customized on per-module 144 * basis or/and with debug levels. Input parameters, except 145 * module and level, are the same as posix printf. This function 146 * may be compiled out if DEBUG macro was never defined. 147 * See also: xge_debug_level_e{}. 148 */ 149#define xge_debug(module, level, fmt) { \ 150if (((level >= XGE_TRACE && ((module & XGE_DEBUG_TRACE_MASK) == module)) || \ |
167 (level >= XGE_ERR && ((module & XGE_DEBUG_ERR_MASK) == module))) && \ 168 level >= *g_level && module & *(unsigned int *)g_module_mask) { \ 169 xge_trace_aux(fmt); \ | 151 (level >= XGE_ERR && ((module & XGE_DEBUG_ERR_MASK) == module))) && \ 152 level >= *g_level && module & *(unsigned int *)g_module_mask) { \ 153 xge_trace_aux(fmt); \ |
170 } \ 171} 172#else /* __GNUC__ */ 173 174#ifdef XGE_TRACE_INTO_CIRCULAR_ARR | 154 } \ 155} 156#else /* __GNUC__ */ 157 158#ifdef XGE_TRACE_INTO_CIRCULAR_ARR |
175 #define xge_trace_aux(fmt...) xge_os_trace(g_xge_os_tracebuf, fmt) | 159 #define xge_trace_aux(fmt...) xge_os_trace(g_xge_os_tracebuf, fmt) |
176#else | 160#else |
177 #define xge_trace_aux(fmt...) xge_os_printf(fmt) | 161 #define xge_trace_aux(fmt...) xge_os_printf(fmt) |
178#endif 179 180#define xge_debug(module, level, fmt...) { \ 181if (((level >= XGE_TRACE && ((module & XGE_DEBUG_TRACE_MASK) == module)) || \ | 162#endif 163 164#define xge_debug(module, level, fmt...) { \ 165if (((level >= XGE_TRACE && ((module & XGE_DEBUG_TRACE_MASK) == module)) || \ |
182 (level >= XGE_ERR && ((module & XGE_DEBUG_ERR_MASK) == module))) && \ 183 level >= *g_level && module & *(unsigned int *)g_module_mask) { \ 184 xge_trace_aux(fmt); \ | 166 (level >= XGE_ERR && ((module & XGE_DEBUG_ERR_MASK) == module))) && \ 167 level >= *g_level && module & *(unsigned int *)g_module_mask) { \ 168 xge_trace_aux(fmt); \ |
185 } \ 186} 187#endif /* __GNUC__ */ 188 189#if (XGE_COMPONENT_HAL_STATS & XGE_DEBUG_MODULE_MASK) 190#ifndef __GNUC__ 191static inline void xge_debug_stats(xge_debug_level_e level, char *fmt, ...) { 192 u32 module = XGE_COMPONENT_HAL_STATS; --- 155 unchanged lines hidden (view full) --- 348#else 349#ifndef __GNUC__ 350static inline void xge_debug_device(xge_debug_level_e level, char *fmt, ...) {} 351#else /* __GNUC__ */ 352#define xge_debug_device(level, fmt...) 353#endif /* __GNUC__ */ 354#endif 355 | 169 } \ 170} 171#endif /* __GNUC__ */ 172 173#if (XGE_COMPONENT_HAL_STATS & XGE_DEBUG_MODULE_MASK) 174#ifndef __GNUC__ 175static inline void xge_debug_stats(xge_debug_level_e level, char *fmt, ...) { 176 u32 module = XGE_COMPONENT_HAL_STATS; --- 155 unchanged lines hidden (view full) --- 332#else 333#ifndef __GNUC__ 334static inline void xge_debug_device(xge_debug_level_e level, char *fmt, ...) {} 335#else /* __GNUC__ */ 336#define xge_debug_device(level, fmt...) 337#endif /* __GNUC__ */ 338#endif 339 |
356#ifdef XGEHAL_RNIC 357 358#if (XGE_COMPONENT_HAL_DMQ & XGE_DEBUG_MODULE_MASK) 359#ifndef __GNUC__ 360static inline void xge_debug_dmq(xge_debug_level_e level, char *fmt, ...) { 361 u32 module = XGE_COMPONENT_HAL_DMQ; 362 xge_debug(module, level, fmt); 363} 364#else /* __GNUC__ */ 365#define xge_debug_dmq(level, fmt...) \ 366 xge_debug(XGE_COMPONENT_HAL_DMQ, level, fmt) 367#endif /* __GNUC__ */ 368#else 369#ifndef __GNUC__ 370static inline void xge_debug_dmq(xge_debug_level_e level, char *fmt, ...) {} 371#else /* __GNUC__ */ 372#define xge_debug_dmq(level, fmt...) 373#endif /* __GNUC__ */ 374#endif 375 376#if (XGE_COMPONENT_HAL_UMQ & XGE_DEBUG_MODULE_MASK) 377#ifndef __GNUC__ 378static inline void xge_debug_umq(xge_debug_level_e level, char *fmt, ...) { 379 u32 module = XGE_COMPONENT_HAL_UMQ; 380 xge_debug(module, level, fmt); 381} 382#else /* __GNUC__ */ 383#define xge_debug_umq(level, fmt...) \ 384 xge_debug(XGE_COMPONENT_HAL_UMQ, level, fmt) 385#endif /* __GNUC__ */ 386#else 387#ifndef __GNUC__ 388static inline void xge_debug_umq(xge_debug_level_e level, char *fmt, ...) {} 389#else /* __GNUC__ */ 390#define xge_debug_umq(level, fmt...) 391#endif /* __GNUC__ */ 392#endif 393 394#if (XGE_COMPONENT_HAL_SQ & XGE_DEBUG_MODULE_MASK) 395#ifndef __GNUC__ 396static inline void xge_debug_sq(xge_debug_level_e level, char *fmt, ...) { 397 u32 module = XGE_COMPONENT_HAL_SQ; 398 xge_debug(module, level, fmt); 399} 400#else /* __GNUC__ */ 401#define xge_debug_sq(level, fmt...) \ 402 xge_debug(XGE_COMPONENT_HAL_SQ, level, fmt) 403#endif /* __GNUC__ */ 404#else 405#ifndef __GNUC__ 406static inline void xge_debug_sq(xge_debug_level_e level, char *fmt, ...) {} 407#else /* __GNUC__ */ 408#define xge_debug_sq(level, fmt...) 409#endif /* __GNUC__ */ 410#endif 411 412#if (XGE_COMPONENT_HAL_SRQ & XGE_DEBUG_MODULE_MASK) 413#ifndef __GNUC__ 414static inline void xge_debug_srq(xge_debug_level_e level, char *fmt, ...) { 415 u32 module = XGE_COMPONENT_HAL_SRQ; 416 xge_debug(module, level, fmt); 417} 418#else /* __GNUC__ */ 419#define xge_debug_srq(level, fmt...) \ 420 xge_debug(XGE_COMPONENT_HAL_SRQ, level, fmt) 421#endif /* __GNUC__ */ 422#else 423#ifndef __GNUC__ 424static inline void xge_debug_srq(xge_debug_level_e level, char *fmt, ...) {} 425#else /* __GNUC__ */ 426#define xge_debug_srq(level, fmt...) 427#endif /* __GNUC__ */ 428#endif 429 430#if (XGE_COMPONENT_HAL_CQRQ & XGE_DEBUG_MODULE_MASK) 431#ifndef __GNUC__ 432static inline void xge_debug_cqrq(xge_debug_level_e level, char *fmt, ...) { 433 u32 module = XGE_COMPONENT_HAL_CQRQ; 434 xge_debug(module, level, fmt); 435} 436#else /* __GNUC__ */ 437#define xge_debug_cqrq(level, fmt...) \ 438 xge_debug(XGE_COMPONENT_HAL_CQRQ, level, fmt) 439#endif /* __GNUC__ */ 440#else 441#ifndef __GNUC__ 442static inline void xge_debug_cqrq(xge_debug_level_e level, char *fmt, ...) {} 443#else /* __GNUC__ */ 444#define xge_debug_cqrq(level, fmt...) 445#endif /* __GNUC__ */ 446#endif 447 448#if (XGE_COMPONENT_HAL_POOL & XGE_DEBUG_MODULE_MASK) 449#ifndef __GNUC__ 450static inline void xge_debug_pool(xge_debug_level_e level, char *fmt, ...) { 451 u32 module = XGE_COMPONENT_HAL_POOL; 452 xge_debug(module, level, fmt); 453} 454#else /* __GNUC__ */ 455#define xge_debug_pool(level, fmt...) \ 456 xge_debug(XGE_COMPONENT_HAL_POOL, level, fmt) 457#endif /* __GNUC__ */ 458#else 459#ifndef __GNUC__ 460static inline void xge_debug_pool(xge_debug_level_e level, char *fmt, ...) {} 461#else /* __GNUC__ */ 462#define xge_debug_pool(level, fmt...) 463#endif /* __GNUC__ */ 464#endif 465 466#if (XGE_COMPONENT_HAL_BITMAP & XGE_DEBUG_MODULE_MASK) 467#ifndef __GNUC__ 468static inline void xge_debug_bitmap(xge_debug_level_e level, char *fmt, ...) { 469 u32 module = XGE_COMPONENT_HAL_BITMAP; 470 xge_debug(module, level, fmt); 471} 472#else /* __GNUC__ */ 473#define xge_debug_bitmap(level, fmt...) \ 474 xge_debug(XGE_COMPONENT_HAL_BITMAP, level, fmt) 475#endif /* __GNUC__ */ 476#else 477#ifndef __GNUC__ 478static inline void xge_debug_bitmap(xge_debug_level_e level, char *fmt, ...) {} 479#else /* __GNUC__ */ 480#define xge_debug_bitmap(level, fmt...) 481#endif /* __GNUC__ */ 482#endif 483 484#endif 485 | |
486#if (XGE_COMPONENT_OSDEP & XGE_DEBUG_MODULE_MASK) 487#ifndef __GNUC__ 488static inline void xge_debug_osdep(xge_debug_level_e level, char *fmt, ...) { 489 u32 module = XGE_COMPONENT_OSDEP; 490 xge_debug(module, level, fmt); 491} 492#else /* __GNUC__ */ 493#define xge_debug_osdep(level, fmt...) \ --- 32 unchanged lines hidden (view full) --- 526static inline void xge_debug_stats(xge_debug_level_e level, char *fmt, ...) {} 527static inline void xge_debug_queue(xge_debug_level_e level, char *fmt, ...) {} 528static inline void xge_debug_mm(xge_debug_level_e level, char *fmt, ...) {} 529static inline void xge_debug_config(xge_debug_level_e level, char *fmt, ...) {} 530static inline void xge_debug_fifo(xge_debug_level_e level, char *fmt, ...) {} 531static inline void xge_debug_ring(xge_debug_level_e level, char *fmt, ...) {} 532static inline void xge_debug_channel(xge_debug_level_e level, char *fmt, ...) {} 533static inline void xge_debug_device(xge_debug_level_e level, char *fmt, ...) {} | 340#if (XGE_COMPONENT_OSDEP & XGE_DEBUG_MODULE_MASK) 341#ifndef __GNUC__ 342static inline void xge_debug_osdep(xge_debug_level_e level, char *fmt, ...) { 343 u32 module = XGE_COMPONENT_OSDEP; 344 xge_debug(module, level, fmt); 345} 346#else /* __GNUC__ */ 347#define xge_debug_osdep(level, fmt...) \ --- 32 unchanged lines hidden (view full) --- 380static inline void xge_debug_stats(xge_debug_level_e level, char *fmt, ...) {} 381static inline void xge_debug_queue(xge_debug_level_e level, char *fmt, ...) {} 382static inline void xge_debug_mm(xge_debug_level_e level, char *fmt, ...) {} 383static inline void xge_debug_config(xge_debug_level_e level, char *fmt, ...) {} 384static inline void xge_debug_fifo(xge_debug_level_e level, char *fmt, ...) {} 385static inline void xge_debug_ring(xge_debug_level_e level, char *fmt, ...) {} 386static inline void xge_debug_channel(xge_debug_level_e level, char *fmt, ...) {} 387static inline void xge_debug_device(xge_debug_level_e level, char *fmt, ...) {} |
534static inline void xge_debug_dmq(xge_debug_level_e level, char *fmt, ...) {} 535static inline void xge_debug_umq(xge_debug_level_e level, char *fmt, ...) {} 536static inline void xge_debug_sq(xge_debug_level_e level, char *fmt, ...) {} 537static inline void xge_debug_srq(xge_debug_level_e level, char *fmt, ...) {} 538static inline void xge_debug_cqrq(xge_debug_level_e level, char *fmt, ...) {} 539static inline void xge_debug_pool(xge_debug_level_e level, char *fmt, ...) {} 540static inline void xge_debug_bitmap(xge_debug_level_e level, char *fmt, ...) {} | |
541static inline void xge_debug_hal(xge_debug_level_e level, char *fmt, ...) {} 542static inline void xge_debug_osdep(xge_debug_level_e level, char *fmt, ...) {} 543static inline void xge_debug_ll(xge_debug_level_e level, char *fmt, ...) {} 544 545#endif /* end of XGE_DEBUG_*_MASK */ 546 547#ifdef XGE_DEBUG_ASSERT 548 549/** 550 * xge_assert 551 * @test: C-condition to check 552 * @fmt: printf like format string 553 * 554 * This function implements traditional assert. By default assertions 555 * are enabled. It can be disabled by defining XGE_DEBUG_ASSERT macro in 556 * compilation 557 * time. 558 */ 559#define xge_assert(test) { \ | 388static inline void xge_debug_hal(xge_debug_level_e level, char *fmt, ...) {} 389static inline void xge_debug_osdep(xge_debug_level_e level, char *fmt, ...) {} 390static inline void xge_debug_ll(xge_debug_level_e level, char *fmt, ...) {} 391 392#endif /* end of XGE_DEBUG_*_MASK */ 393 394#ifdef XGE_DEBUG_ASSERT 395 396/** 397 * xge_assert 398 * @test: C-condition to check 399 * @fmt: printf like format string 400 * 401 * This function implements traditional assert. By default assertions 402 * are enabled. It can be disabled by defining XGE_DEBUG_ASSERT macro in 403 * compilation 404 * time. 405 */ 406#define xge_assert(test) { \ |
560 if (!(test)) xge_os_bug("bad cond: "#test" at %s:%d\n", \ | 407 if (!(test)) xge_os_bug("bad cond: "#test" at %s:%d\n", \ |
561 __FILE__, __LINE__); } 562#else 563#define xge_assert(test) 564#endif /* end of XGE_DEBUG_ASSERT */ 565 566__EXTERN_END_DECLS 567 568#endif /* XGE_DEBUG_H */ | 408 __FILE__, __LINE__); } 409#else 410#define xge_assert(test) 411#endif /* end of XGE_DEBUG_ASSERT */ 412 413__EXTERN_END_DECLS 414 415#endif /* XGE_DEBUG_H */ |