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
15extern "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 */