1 /*******************************************************************************
2 *Copyright (c) 2014 PMC-Sierra, Inc. All rights reserved.
3 *
4 *Redistribution and use in source and binary forms, with or without modification, are permitted provided
5 *that the following conditions are met:
6 *1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
7 *following disclaimer.
8 *2. Redistributions in binary form must reproduce the above copyright notice,
9 *this list of conditions and the following disclaimer in the documentation and/or other materials provided
10 *with the distribution.
11 *
12 *THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED
13 *WARRANTIES,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
14 *FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
15 *FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
16 *NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
17 *BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
18 *LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
19 *SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
20 *
21 * $FreeBSD$
22 *
23 *******************************************************************************/
24 /***************************************************************************
25
26 Version Control Information:
27
28 $RCSfile: osdebug.h,v $
29 $Revision: 114125 $
30
31 Note:
32 ***************************************************************************/
33
34 #ifndef __OSDEBUG_H__
35 #define __OSDEBUG_H__
36
37 #ifdef AGTIAPI_KDB_ENABLE
38 #include <linux/kdb.h>
39 #endif
40
41 /***************************************************************************
42 OS_ASSERT : This macro is used when an internal error is detected.
43 ***************************************************************************/
44 #ifdef AGTIAPI_KDB_ENABLE
45 #define OS_ASSERT(expr, message) \
46 do { \
47 if (!(expr)) \
48 { \
49 printf("ASSERT: %s", message); \
50 printf(" - file %s, line %d\n", __FILE__, __LINE__); \
51 BUG_ON(1); \
52 KDB_ENTER(); \
53 } \
54 } while (0)
55 #else
56 #define OS_ASSERT(expr, message) \
57 do { \
58 if (!(expr)) \
59 { \
60 printf("ASSERT: %s", message); \
61 printf(" - file %s, line %d\n", __FILE__, __LINE__); \
62 } \
63 } while (0)
64 #endif
65
66 #define AG_ERROR_MSG(mask, val, format) \
67 do { \
68 if (mask) \
69 { \
70 if (mask >= val) \
71 printf format; \
72 } \
73 else \
74 printf format; \
75 } while (0)
76
77 #ifdef TD_DEBUG_ENABLE
78 #define TIDEBUG_MSG(mask, val, format) \
79 do { \
80 if (mask) \
81 { \
82 if (!val) \
83 printf format ; \
84 else \
85 if (!(mask & 0x80000000)) \
86 { \
87 if (mask >= val) \
88 printf format ; \
89 } \
90 else \
91 { \
92 if (mask & val) \
93 printf format ; \
94 } \
95 } \
96 } while (0)
97
98 #define TIDEBUG_MSG0(format) \
99 do { \
100 printf format ; \
101 } while (0)
102 #else
103 #define TIDEBUG_MSG(mask, val, format)
104 #define TIDEBUG_MSG0(format)
105 #endif
106
107 /***************************************************************************
108 FC debug - The following is used for FC specific debug.
109 **************************************************************************/
110 #ifdef AG_PROTOCOL_FC
111 #ifndef fcEnableTraceFunctions
112 #define fcEnableTraceFunctions 1
113 #endif
114 #else
115 #ifndef fcEnableTraceFunctions
116 #define fcEnableTraceFunctions 0
117 #endif
118
119 #endif /* AG_PROTOCOL_FC */
120
121 #endif /* #ifndef __OSDEBUG_H__ */
122
Cache object: 1fc8272eadd95a4fb5aa1259277203ae
|