WS63 SDK 文档
7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
soc_diag_log.h
浏览该文件的文档.
1
/*
2
* Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2021-2023. All rights reserved.
3
*/
4
5
#ifndef SOC_DIAG_LOG_H
6
#define SOC_DIAG_LOG_H
7
8
#include "
soc_diag_wdk.h
"
9
#include "
diag_oam_log.h
"
10
#include "
log_def.h
"
11
#include "
log_module_id.h
"
12
13
#ifdef __cplusplus
14
#if __cplusplus
15
extern
"C"
{
16
#endif
17
#endif
18
19
#define DIAG_LOG_LEVEL_ALERT 0
20
#define DIAG_LOG_LEVEL_FATAL 1
21
#define DIAG_LOG_LEVEL_ERROR 2
22
#define DIAG_LOG_LEVEL_WARN 3
23
#define DIAG_LOG_LEVEL_NOTICE 4
24
#define DIAG_LOG_LEVEL_INFO 5
25
#define DIAG_LOG_LEVEL_DBG 6
26
#define DIAG_LOG_LEVEL_TRACE 7
27
28
#ifndef CORE_ID
29
#define CORE_ID 0
30
#endif
31
32
#ifndef THIS_MOD_ID
33
#define THIS_MOD_ID 0
34
#endif
35
36
#if defined(HAVE_PCLINT_CHECK)
37
#define check_default_id(id) (id)
38
#else
39
#define check_default_id(id) (((id) == 0) ? __LINE__ : (id))
40
#endif
41
42
#define var_args_max_12(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, ...) a12
43
#define var_args_cnt(unused, args...) var_args_max_12(unused, ##args, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0)
44
52
#define diag_log_msg_mk_id_e(id) (((uint32_t)(1UL << 31)) + (((uint32_t)(THIS_MOD_ID << 27)) & 0x78000000) \
53
+ (((uint32_t)(THIS_FILE_ID << 17)) & 0x7fe0000) + ((((uint32_t)(check_default_id(id))) << 3) & 0x1fff8) \
54
+ (DIAG_LOG_LEVEL_ERROR & 0x7))
55
56
#define diag_log_msg_mk_id_w(id) (((uint32_t)(1UL << 31)) + (((uint32_t)(THIS_MOD_ID << 27)) & 0x78000000) \
57
+ (((uint32_t)(THIS_FILE_ID << 17)) & 0x7fe0000) + ((((uint32_t)(check_default_id(id))) << 3) & 0x1fff8) \
58
+ (DIAG_LOG_LEVEL_WARN & 0x7))
59
60
#define diag_log_msg_mk_id_i(id) (((uint32_t)(1UL << 31)) + (((uint32_t)(THIS_MOD_ID << 27)) & 0x78000000) \
61
+ (((uint32_t)(THIS_FILE_ID << 17)) & 0x7fe0000) + ((((uint32_t)(check_default_id(id))) << 3) & 0x1fff8) \
62
+ (DIAG_LOG_LEVEL_INFO & 0x7))
63
64
#define diag_log_msg_mk_id_d(id) (((uint32_t)(1UL << 31)) + (((uint32_t)(THIS_MOD_ID << 27)) & 0x78000000) \
65
+ (((uint32_t)(THIS_FILE_ID << 17)) & 0x7fe0000) + ((((uint32_t)(check_default_id(id))) << 3) & 0x1fff8) \
66
+ (DIAG_LOG_LEVEL_DBG & 0x7))
67
68
#define check_default_mod_id(id) (((id) == 0) ? THIS_MOD_ID : (id))
69
#define diag_log_msg_mk_mod_id(src_mod) ((uint32_t)(((uint32_t)(check_default_mod_id(src_mod))) | \
70
((uint32_t)(CORE_ID)) << 24))
71
72
#if (defined(DIAG_PRINT_TO_SHELL))
73
#define diag_io_print(fmt, arg...) printf("[%s:%d] "fmt"\r\n", __func__, __LINE__, ##arg)
74
#else
75
#define diag_io_print(fmt, arg...)
76
#endif
77
78
#ifndef DIAG_PRINT_TO_SHELL
79
#define uapi_diag_error_log0(id, fmt) \
80
oam_log_print0_press(diag_log_msg_mk_id_e(id))
81
#define uapi_diag_error_log1(id, fmt, p1) \
82
oam_log_print1_press(diag_log_msg_mk_id_e(id), p1)
83
#define uapi_diag_error_log2(id, fmt, p1, p2) \
84
oam_log_print2_press(diag_log_msg_mk_id_e(id), p1, p2)
85
#define uapi_diag_error_log3(id, fmt, p1, p2, p3) \
86
do { \
87
zdiag_log_msg3_t log_msg = {p1, p2, p3}; \
88
oam_log_print3_press(diag_log_msg_mk_id_e(id), &log_msg); \
89
} while (0)
90
#define uapi_diag_error_log4(id, fmt, p1, p2, p3, p4) \
91
do { \
92
zdiag_log_msg4_t log_msg = {p1, p2, p3, p4}; \
93
oam_log_print4_press(diag_log_msg_mk_id_e(id), &log_msg); \
94
} while (0)
95
#define uapi_diag_error_logx(id, fmt, args...) \
96
do { \
97
oam_log_print_alterable_press(diag_log_msg_mk_id_e(id), \
98
var_args_cnt(unused, ##args), ##args); \
99
} while (0)
100
#define uapi_diag_error_log_buff(id, log_info, data_size, fmt, type) \
101
oam_log_print_buff_press(diag_log_msg_mk_id_e(id), log_info, data_size)
102
103
#define uapi_diag_warning_log0(id, fmt) \
104
oam_log_print0_press(diag_log_msg_mk_id_w(id))
105
#define uapi_diag_warning_log1(id, fmt, p1) \
106
oam_log_print1_press(diag_log_msg_mk_id_w(id), p1)
107
#define uapi_diag_warning_log2(id, fmt, p1, p2) \
108
oam_log_print2_press(diag_log_msg_mk_id_w(id), p1, p2)
109
#define uapi_diag_warning_log3(id, fmt, p1, p2, p3) \
110
do { \
111
zdiag_log_msg3_t log_msg = {p1, p2, p3}; \
112
oam_log_print3_press(diag_log_msg_mk_id_w(id), &log_msg); \
113
} while (0)
114
#define uapi_diag_warning_log4(id, fmt, p1, p2, p3, p4) \
115
do { \
116
zdiag_log_msg4_t log_msg = {p1, p2, p3, p4}; \
117
oam_log_print4_press(diag_log_msg_mk_id_w(id), &log_msg); \
118
} while (0)
119
#define uapi_diag_warning_logx(id, fmt, args...) \
120
do { \
121
oam_log_print_alterable_press(diag_log_msg_mk_id_w(id), \
122
var_args_cnt(unused, ##args), ##args); \
123
} while (0)
124
#define uapi_diag_warning_log_buff(id, log_info, data_size, fmt, type) \
125
oam_log_print_buff_press(diag_log_msg_mk_id_w(id), log_info, data_size)
126
127
#define uapi_diag_info_log0(id, fmt) \
128
oam_log_print0_press(diag_log_msg_mk_id_i(id))
129
#define uapi_diag_info_log1(id, fmt, p1) \
130
oam_log_print1_press(diag_log_msg_mk_id_i(id), (uint32_t)(p1))
131
#define uapi_diag_info_log2(id, fmt, p1, p2) \
132
oam_log_print2_press(diag_log_msg_mk_id_i(id), (uint32_t)(p1), (uint32_t)(p2))
133
#define uapi_diag_info_log3(id, fmt, p1, p2, p3) \
134
do { \
135
zdiag_log_msg3_t log_msg = {(uint32_t)(p1), (uint32_t)(p2), (uint32_t)(p3)}; \
136
oam_log_print3_press(diag_log_msg_mk_id_i(id), &log_msg); \
137
} while (0)
138
#define uapi_diag_info_log4(id, fmt, p1, p2, p3, p4) \
139
do { \
140
zdiag_log_msg4_t log_msg = {(uint32_t)(p1), (uint32_t)(p2), (uint32_t)(p3), (uint32_t)(p4)}; \
141
oam_log_print4_press(diag_log_msg_mk_id_i(id), &log_msg); \
142
} while (0)
143
#define uapi_diag_info_logx(id, fmt, args...) \
144
do { \
145
oam_log_print_alterable_press(diag_log_msg_mk_id_i(id), \
146
var_args_cnt(unused, ##args), ##args); \
147
} while (0)
148
#define uapi_diag_info_log_buff(id, log_info, data_size, fmt, type) \
149
oam_log_print_buff_press(diag_log_msg_mk_id_i(id), log_info, data_size)
150
151
#define uapi_diag_debug_log0(id, fmt) \
152
oam_log_print0_press(diag_log_msg_mk_id_d(id))
153
#define uapi_diag_debug_log1(id, fmt, p1) \
154
oam_log_print1_press(diag_log_msg_mk_id_d(id), p1)
155
#define uapi_diag_debug_log2(id, fmt, p1, p2) \
156
oam_log_print2_press(diag_log_msg_mk_id_d(id), p1, p2)
157
#define uapi_diag_debug_log3(id, fmt, p1, p2, p3) \
158
do { \
159
zdiag_log_msg3_t log_msg = {p1, p2, p3}; \
160
oam_log_print3_press(diag_log_msg_mk_id_i(id), &log_msg); \
161
} while (0)
162
#define uapi_diag_debug_log4(id, fmt, p1, p2, p3, p4) \
163
do { \
164
zdiag_log_msg4_t log_msg = {p1, p2, p3, p4}; \
165
oam_log_print4_press(diag_log_msg_mk_id_d(id), &log_msg); \
166
} while (0)
167
#define uapi_diag_debug_logx(id, fmt, args...) \
168
do { \
169
oam_log_print_alterable_press(diag_log_msg_mk_id_d(id), \
170
var_args_cnt(unused, ##args), ##args); \
171
} while (0)
172
#define uapi_diag_debug_log_buff(id, log_info, data_size, fmt, type) \
173
oam_log_print_buff_press(diag_log_msg_mk_id_d(id), log_info, data_size)
174
175
#else
/* DIAG_PRINT */
176
177
#define uapi_diag_error_log0(id, fmt) diag_io_print("[ERROR]"fmt"\r\n")
178
#define uapi_diag_error_log1(id, fmt, p1) diag_io_print("[ERROR]"fmt" %d\r\n", p1)
179
#define uapi_diag_error_log2(id, fmt, p1, p2) diag_io_print("[ERROR]"fmt" %d %d\r\n", p1, p2)
180
#define uapi_diag_error_log3(id, fmt, p1, p2, p3) diag_io_print("[ERROR]"fmt" %d %d %d\r\n", p1, p2, p3)
181
#define uapi_diag_error_log4(id, fmt, p1, p2, p3, p4) diag_io_print("[ERROR]"fmt" %d %d %d %d\r\n", p1, p2, p3, p4)
182
#define uapi_diag_error_logx(id, fmt, args...) diag_io_print(fmt, ##args)
183
#define uapi_diag_error_log_buff(id, log_info, data_size, fmt, type)
184
185
#define uapi_diag_warning_log0(id, fmt) diag_io_print("[WARNING]"fmt"\r\n")
186
#define uapi_diag_warning_log1(id, fmt, p1) diag_io_print("[WARNING]"fmt" %d\r\n", p1)
187
#define uapi_diag_warning_log2(id, fmt, p1, p2) diag_io_print("[WARNING]"fmt" %d %d\r\n", p1, p2)
188
#define uapi_diag_warning_log3(id, fmt, p1, p2, p3) diag_io_print("[WARNING]"fmt" %d %d %d\r\n", p1, p2, p3)
189
#define uapi_diag_warning_log4(id, fmt, p1, p2, p3, p4) diag_io_print("[WARNING]"fmt" %d %d %d %d\r\n", p1, p2, p3, p4)
190
#define uapi_diag_warning_logx(id, fmt, args...) diag_io_print(fmt, ##args)
191
#define uapi_diag_warning_log_buff(id, log_info, data_size, fmt, type)
192
193
#define uapi_diag_info_log0(id, fmt) diag_io_print("[INFO]"fmt"\r\n")
194
#define uapi_diag_info_log1(id, fmt, p1) diag_io_print("[INFO]"fmt" %d\r\n", p1)
195
#define uapi_diag_info_log2(id, fmt, p1, p2) diag_io_print("[INFO]"fmt" %d %d\r\n", p1, p2)
196
#define uapi_diag_info_log3(id, fmt, p1, p2, p3) diag_io_print("[INFO]"fmt" %d %d %d\r\n", p1, p2, p3)
197
#define uapi_diag_info_log4(id, fmt, p1, p2, p3, p4) diag_io_print("[INFO]"fmt" %d %d %d %d\r\n", p1, p2, p3, p4)
198
#define uapi_diag_info_logx(id, fmt, args...) diag_io_print(fmt, ##args)
199
#define uapi_diag_info_log_buff(id, log_info, data_size, fmt, type)
200
201
#define uapi_diag_debug_log0(id, fmt) diag_io_print("[INFO]"fmt"\r\n")
202
#define uapi_diag_debug_log1(id, fmt, p1) diag_io_print("[INFO]"fmt" %d\r\n", p1)
203
#define uapi_diag_debug_log2(id, fmt, p1, p2) diag_io_print("[INFO]"fmt" %d %d\r\n", p1, p2)
204
#define uapi_diag_debug_log3(id, fmt, p1, p2, p3) diag_io_print("[INFO]"fmt" %d %d %d\r\n", p1, p2, p3)
205
#define uapi_diag_debug_log4(id, fmt, p1, p2, p3, p4) diag_io_print("[INFO]"fmt" %d %d %d %d\r\n", p1, p2, p3, p4)
206
#define uapi_diag_debug_logx(id, fmt, args...) diag_io_print(fmt, ##args)
207
#define uapi_diag_debug_log_buff(id, log_info, data_size, fmt, type)
208
209
#endif
/* end DIAG_PRINT */
210
211
#ifdef __cplusplus
212
#if __cplusplus
213
}
214
#endif
215
#endif
216
217
#endif
/* SOC_DIAG_LOG_H */
diag_oam_log.h
log_def.h
log_module_id.h
soc_diag_wdk.h
src
middleware
chips
ws63
dfx
include
soc_diag_log.h
由
William Goodspeed
维护 | E-mail: gongzl@stu.hebust.edu.cn | Wechat: a23333344 | ALSO CHECKOUT
WS63FLASH
!
生成于 2025年 一月 4日 星期六 17:47:12 , 为 WS63 SDK 文档使用
1.9.8