更新日期: 2022/06/01 来源: https://gitee.com/weharmony/kernel_liteos_a_note
trace_cnv.c
浏览该文件的文档.
1/*
2 * Copyright (c) 2013-2019 Huawei Technologies Co., Ltd. All rights reserved.
3 * Copyright (c) 2020-2021 Huawei Device Co., Ltd. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without modification,
6 * are permitted provided that the following conditions are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright notice, this list of
9 * conditions and the following disclaimer.
10 *
11 * 2. Redistributions in binary form must reproduce the above copyright notice, this list
12 * of conditions and the following disclaimer in the documentation and/or other materials
13 * provided with the distribution.
14 *
15 * 3. Neither the name of the copyright holder nor the names of its contributors may be used
16 * to endorse or promote products derived from this software without specific prior written
17 * permission.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
21 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
23 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
24 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
26 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
27 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
28 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
29 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 */
31
32#include "trace_cnv.h"
33#include "los_trace.h"
34#include "los_task.h"
35#include "los_sem.h"
36#include "los_mux.h"
37#include "los_queue.h"
38#include "los_event.h"
39#include "los_swtmr.h"
40#include "hm_liteipc.h"
41#include "los_hook.h"
42
43STATIC VOID LOS_TraceMemInit(VOID *pool, UINT32 size)
44{
45 LOS_TRACE(MEM_INFO_REQ, pool);
46}
47
48STATIC VOID LOS_TraceMemAlloc(VOID *pool, VOID *ptr, UINT32 size)
49{
50 LOS_TRACE(MEM_ALLOC, pool, (UINTPTR)ptr, size);
51}
52
53STATIC VOID LOS_TraceMemFree(VOID *pool, VOID *ptr)
54{
55 LOS_TRACE(MEM_FREE, pool, (UINTPTR)ptr);
56}
57
58STATIC VOID LOS_TraceMemRealloc(VOID *pool, VOID *ptr, UINT32 size)
59{
60 LOS_TRACE(MEM_REALLOC, pool, (UINTPTR)ptr, size);
61}
62
63STATIC VOID LOS_TraceMemAllocAlign(VOID *pool, VOID *ptr, UINT32 size, UINT32 boundary)
64{
65 LOS_TRACE(MEM_ALLOC_ALIGN, pool, (UINTPTR)ptr, size, boundary);
66}
67
68STATIC VOID LOS_TraceEventInit(PEVENT_CB_S eventCB)
69{
70 LOS_TRACE(EVENT_CREATE, (UINTPTR)eventCB);
71}
72
73STATIC VOID LOS_TraceEventRead(PEVENT_CB_S eventCB, UINT32 eventMask, UINT32 mode, UINT32 timeout)
74{
75 LOS_TRACE(EVENT_READ, (UINTPTR)eventCB, eventCB->uwEventID, eventMask, mode, timeout);
76}
77
78STATIC VOID LOS_TraceEventWrite(PEVENT_CB_S eventCB, UINT32 events)
79{
80 LOS_TRACE(EVENT_WRITE, (UINTPTR)eventCB, eventCB->uwEventID, events);
81}
82
83STATIC VOID LOS_TraceEventClear(PEVENT_CB_S eventCB, UINT32 events)
84{
85 LOS_TRACE(EVENT_CLEAR, (UINTPTR)eventCB, eventCB->uwEventID, events);
86}
87
89{
90 LOS_TRACE(EVENT_DELETE, (UINTPTR)eventCB, LOS_OK);
91}
92
93STATIC VOID LOS_TraceQueueCreate(const LosQueueCB *queueCB)
94{
95 LOS_TRACE(QUEUE_CREATE, queueCB->queueID, queueCB->queueLen, queueCB->queueSize - sizeof(UINT32),
96 (UINTPTR)queueCB, 0);
97}
98
99STATIC VOID LOS_TraceQueueRW(const LosQueueCB *queueCB, UINT32 operateType,
100 UINT32 bufferSize, UINT32 timeout)
101{
102 LOS_TRACE(QUEUE_RW, queueCB->queueID, queueCB->queueSize, bufferSize, operateType,
103 queueCB->readWriteableCnt[OS_QUEUE_READ], queueCB->readWriteableCnt[OS_QUEUE_WRITE], timeout);
104}
105
106STATIC VOID LOS_TraceQueueDelete(const LosQueueCB *queueCB)
107{
108 LOS_TRACE(QUEUE_DELETE, queueCB->queueID, queueCB->queueState, queueCB->readWriteableCnt[OS_QUEUE_READ]);
109}
110
111STATIC VOID LOS_TraceSemCreate(const LosSemCB *semCB)
112{
113 LOS_TRACE(SEM_CREATE, semCB->semID, 0, semCB->semCount);
114}
115
116STATIC VOID LOS_TraceSemPost(const LosSemCB *semCB, const LosTaskCB *resumedTask)
117{
118 (VOID)resumedTask;
119 LOS_TRACE(SEM_POST, semCB->semID, 0, semCB->semCount);
120}
121
122STATIC VOID LOS_TraceSemPend(const LosSemCB *semCB, const LosTaskCB *runningTask, UINT32 timeout)
123{
124 (VOID)runningTask;
125 LOS_TRACE(SEM_PEND, semCB->semID, semCB->semCount, timeout);
126}
127
128STATIC VOID LOS_TraceSemDelete(const LosSemCB *semCB)
129{
130 LOS_TRACE(SEM_DELETE, semCB->semID, LOS_OK);
131}
132
133STATIC VOID LOS_TraceMuxCreate(const LosMux *muxCB)
134{
135 LOS_TRACE(MUX_CREATE, (UINTPTR)muxCB);
136}
137
138STATIC VOID LOS_TraceMuxPost(const LosMux *muxCB)
139{
140 LOS_TRACE(MUX_POST, (UINTPTR)muxCB, muxCB->muxCount,
141 (muxCB->owner == NULL) ? 0xffffffff : ((LosTaskCB *)muxCB->owner)->taskID);
142}
143
144STATIC VOID LOS_TraceMuxPend(const LosMux *muxCB, UINT32 timeout)
145{
146 LOS_TRACE(MUX_PEND, (UINTPTR)muxCB, muxCB->muxCount,
147 (muxCB->owner == NULL) ? 0xffffffff : ((LosTaskCB *)muxCB->owner)->taskID, timeout);
148}
149
150STATIC VOID LOS_TraceMuxDelete(const LosMux *muxCB)
151{
152 LOS_TRACE(MUX_DELETE, (UINTPTR)muxCB, muxCB->attr.type, muxCB->muxCount,
153 (muxCB->owner == NULL) ? 0xffffffff : ((LosTaskCB *)muxCB->owner)->taskID);
154}
155
156STATIC VOID LOS_TraceTaskCreate(const LosTaskCB *taskCB)
157{
158#ifdef LOSCFG_KERNEL_TRACE
159 SchedParam param = { 0 };
160 taskCB->ops->schedParamGet(taskCB, &param);
161 LOS_TRACE(TASK_CREATE, taskCB->taskID, taskCB->taskStatus, param.priority);
162#else
163 (VOID)taskCB;
164#endif
165}
166
167STATIC VOID LOS_TraceTaskPriModify(const LosTaskCB *taskCB, UINT32 prio)
168{
169#ifdef LOSCFG_KERNEL_TRACE
170 SchedParam param = { 0 };
171 taskCB->ops->schedParamGet(taskCB, &param);
172 LOS_TRACE(TASK_PRIOSET, taskCB->taskID, taskCB->taskStatus, param.priority, prio);
173#else
174 (VOID)taskCB;
175 (VOID)prio;
176#endif
177}
178
179STATIC VOID LOS_TraceTaskDelete(const LosTaskCB *taskCB)
180{
181 LOS_TRACE(TASK_DELETE, taskCB->taskID, taskCB->taskStatus, (UINTPTR)taskCB->stackPointer);
182}
183
184STATIC VOID LOS_TraceTaskSwitchedIn(const LosTaskCB *newTask, const LosTaskCB *runTask)
185{
186#ifdef LOSCFG_KERNEL_TRACE
187 SchedParam runParam = { 0 };
188 SchedParam newParam = { 0 };
189 runTask->ops->schedParamGet(runTask, &runParam);
190 newTask->ops->schedParamGet(newTask, &newParam);
191 LOS_TRACE(TASK_SWITCH, newTask->taskID, runParam.priority, runTask->taskStatus,
192 newParam.priority, newTask->taskStatus);
193#else
194 (VOID)newTask;
195 (VOID)runTask;
196#endif
197}
198
199STATIC VOID LOS_TraceTaskResume(const LosTaskCB *taskCB)
200{
201#ifdef LOSCFG_KERNEL_TRACE
202 SchedParam param = { 0 };
203 taskCB->ops->schedParamGet(taskCB, &param);
204 LOS_TRACE(TASK_RESUME, taskCB->taskID, taskCB->taskStatus, param.priority);
205#else
206 (VOID)taskCB;
207#endif
208}
209
210STATIC VOID LOS_TraceTaskSuspend(const LosTaskCB *taskCB)
211{
212 LOS_TRACE(TASK_SUSPEND, taskCB->taskID, taskCB->taskStatus,OsCurrTaskGet()->taskID);
213}
214
215STATIC VOID LOS_TraceIsrEnter(UINT32 hwiNum)
216{
217 LOS_TRACE(HWI_RESPONSE_IN, hwiNum);
218}
219
220STATIC VOID LOS_TraceIsrExit(UINT32 hwiNum)
221{
222 LOS_TRACE(HWI_RESPONSE_OUT, hwiNum);
223}
224
225STATIC VOID LOS_TraceSwtmrCreate(const SWTMR_CTRL_S *swtmr)
226{
227 LOS_TRACE(SWTMR_CREATE, swtmr->usTimerID);
228}
229
230STATIC VOID LOS_TraceSwtmrDelete(const SWTMR_CTRL_S *swtmr)
231{
232 LOS_TRACE(SWTMR_DELETE, swtmr->usTimerID);
233}
234
235STATIC VOID LOS_TraceSwtmrExpired(const SWTMR_CTRL_S *swtmr)
236{
237 LOS_TRACE(SWTMR_EXPIRED, swtmr->usTimerID);
238}
239
240STATIC VOID LOS_TraceSwtmrStart(const SWTMR_CTRL_S *swtmr)
241{
242 LOS_TRACE(SWTMR_START, swtmr->usTimerID, swtmr->ucMode, swtmr->uwInterval);
243}
244
245STATIC VOID LOS_TraceSwtmrStop(const SWTMR_CTRL_S *swtmr)
246{
247 LOS_TRACE(SWTMR_STOP, swtmr->usTimerID);
248}
249
250STATIC VOID LOS_TraceIpcWriteDrop(const IpcMsg *msg, UINT32 dstTid, UINT32 dstPid, UINT32 ipcStatus)
251{
252 LOS_TRACE(IPC_WRITE_DROP, dstTid, dstPid, msg->type, msg->code, ipcStatus);
253}
254
255STATIC VOID LOS_TraceIpcWrite(const IpcMsg *msg, UINT32 dstTid, UINT32 dstPid, UINT32 ipcStatus)
256{
257 LOS_TRACE(IPC_WRITE, dstTid, dstPid, msg->type, msg->code, ipcStatus);
258}
259
260STATIC VOID LOS_TraceIpcReadDrop(const IpcMsg *msg, UINT32 ipcStatus)
261{
262 LOS_TRACE(IPC_READ_DROP, msg->taskID, msg->processID, msg->type, msg->code, ipcStatus);
263}
264
265STATIC VOID LOS_TraceIpcRead(const IpcMsg *msg, UINT32 ipcStatus)
266{
267 LOS_TRACE(IPC_READ_DROP, msg->taskID, msg->processID, msg->type, msg->code, ipcStatus);
268}
269
270STATIC VOID LOS_TraceIpcTryRead(UINT32 msgType, UINT32 ipcStatus)
271{
272 LOS_TRACE(IPC_TRY_READ, msgType, ipcStatus);
273}
274
275STATIC VOID LOS_TraceIpcReadTimeout(UINT32 msgType, UINT32 ipcStatus)
276{
277 LOS_TRACE(IPC_READ_TIMEOUT, msgType, ipcStatus);
278}
279
280STATIC VOID LOS_TraceIpcKill(UINT32 msgType, UINT32 ipcStatus)
281{
282 LOS_TRACE(IPC_KILL, msgType, ipcStatus);
283}
284
285STATIC VOID LOS_TraceUsrEvent(VOID *buffer, UINT32 len)
286{
287#ifdef LOSCFG_DRIVERS_TRACE
288 UsrEventInfo *info = (UsrEventInfo *)buffer;
289 if ((info == NULL) || (len != sizeof(UsrEventInfo))) {
290 return;
291 }
292 LOS_TRACE_EASY(info->eventType & (~TRACE_USER_DEFAULT_FLAG), info->identity, info->params[0], info->params[1],
293 info->params[2]); /* 2, params num, no special meaning */
294 LOS_MemFree(m_aucSysMem0, buffer);
295#endif
296}
297///< 将事件的钩子函数注册进HOOK框架 ,但谁能告诉我 cnv 是啥意?? @note_thinking
299{
300 LOS_HookReg(LOS_HOOK_TYPE_MEM_ALLOC, LOS_TraceMemAlloc);
301 LOS_HookReg(LOS_HOOK_TYPE_MEM_FREE, LOS_TraceMemFree);
302 LOS_HookReg(LOS_HOOK_TYPE_MEM_INIT, LOS_TraceMemInit);
303 LOS_HookReg(LOS_HOOK_TYPE_MEM_REALLOC, LOS_TraceMemRealloc);
304 LOS_HookReg(LOS_HOOK_TYPE_MEM_ALLOCALIGN, LOS_TraceMemAllocAlign);
305 LOS_HookReg(LOS_HOOK_TYPE_EVENT_INIT, LOS_TraceEventInit);
306 LOS_HookReg(LOS_HOOK_TYPE_EVENT_READ, LOS_TraceEventRead);
307 LOS_HookReg(LOS_HOOK_TYPE_EVENT_WRITE, LOS_TraceEventWrite);
308 LOS_HookReg(LOS_HOOK_TYPE_EVENT_CLEAR, LOS_TraceEventClear);
309 LOS_HookReg(LOS_HOOK_TYPE_EVENT_DESTROY, LOS_TraceEventDestroy);
310 LOS_HookReg(LOS_HOOK_TYPE_QUEUE_CREATE, LOS_TraceQueueCreate);
311 LOS_HookReg(LOS_HOOK_TYPE_QUEUE_DELETE, LOS_TraceQueueDelete);
312 LOS_HookReg(LOS_HOOK_TYPE_QUEUE_READ, LOS_TraceQueueRW);
313 LOS_HookReg(LOS_HOOK_TYPE_QUEUE_WRITE, LOS_TraceQueueRW);
314 LOS_HookReg(LOS_HOOK_TYPE_SEM_CREATE, LOS_TraceSemCreate);
315 LOS_HookReg(LOS_HOOK_TYPE_SEM_DELETE, LOS_TraceSemDelete);
316 LOS_HookReg(LOS_HOOK_TYPE_SEM_POST, LOS_TraceSemPost);
317 LOS_HookReg(LOS_HOOK_TYPE_SEM_PEND, LOS_TraceSemPend);
318 LOS_HookReg(LOS_HOOK_TYPE_MUX_CREATE, LOS_TraceMuxCreate);
319 LOS_HookReg(LOS_HOOK_TYPE_MUX_POST, LOS_TraceMuxPost);
320 LOS_HookReg(LOS_HOOK_TYPE_MUX_PEND, LOS_TraceMuxPend);
321 LOS_HookReg(LOS_HOOK_TYPE_MUX_DELETE, LOS_TraceMuxDelete);
322 LOS_HookReg(LOS_HOOK_TYPE_TASK_PRIMODIFY, LOS_TraceTaskPriModify); // 修改任务优先
323 LOS_HookReg(LOS_HOOK_TYPE_TASK_DELETE, LOS_TraceTaskDelete); // 删除任务
324 LOS_HookReg(LOS_HOOK_TYPE_TASK_CREATE, LOS_TraceTaskCreate); // 创建任务
325 LOS_HookReg(LOS_HOOK_TYPE_TASK_SWITCHEDIN, LOS_TraceTaskSwitchedIn); // 任务切换
326 LOS_HookReg(LOS_HOOK_TYPE_MOVEDTASKTOREADYSTATE, LOS_TraceTaskResume); // 恢复任务
327 LOS_HookReg(LOS_HOOK_TYPE_MOVEDTASKTOSUSPENDEDLIST, LOS_TraceTaskSuspend);// 暂停任务
328 LOS_HookReg(LOS_HOOK_TYPE_ISR_ENTER, LOS_TraceIsrEnter); // 进入中断
329 LOS_HookReg(LOS_HOOK_TYPE_ISR_EXIT, LOS_TraceIsrExit); // 完成中断
330 LOS_HookReg(LOS_HOOK_TYPE_SWTMR_CREATE, LOS_TraceSwtmrCreate); // 创建定时
331 LOS_HookReg(LOS_HOOK_TYPE_SWTMR_DELETE, LOS_TraceSwtmrDelete); // 删除定时
332 LOS_HookReg(LOS_HOOK_TYPE_SWTMR_EXPIRED, LOS_TraceSwtmrExpired); // 定时器时间到
333 LOS_HookReg(LOS_HOOK_TYPE_SWTMR_START, LOS_TraceSwtmrStart); // 启动定时
334 LOS_HookReg(LOS_HOOK_TYPE_SWTMR_STOP, LOS_TraceSwtmrStop); // 停止定时
335 LOS_HookReg(LOS_HOOK_TYPE_USR_EVENT, LOS_TraceUsrEvent);
336 LOS_HookReg(LOS_HOOK_TYPE_IPC_WRITE_DROP, LOS_TraceIpcWriteDrop);
337 LOS_HookReg(LOS_HOOK_TYPE_IPC_WRITE, LOS_TraceIpcWrite);
338 LOS_HookReg(LOS_HOOK_TYPE_IPC_READ_DROP, LOS_TraceIpcReadDrop);
339 LOS_HookReg(LOS_HOOK_TYPE_IPC_READ, LOS_TraceIpcRead);
340 LOS_HookReg(LOS_HOOK_TYPE_IPC_TRY_READ, LOS_TraceIpcTryRead);
341 LOS_HookReg(LOS_HOOK_TYPE_IPC_READ_TIMEOUT, LOS_TraceIpcReadTimeout);
342 LOS_HookReg(LOS_HOOK_TYPE_IPC_KILL, LOS_TraceIpcKill);
343}
344
UINT32 LOS_MemFree(VOID *pool, VOID *ptr)
释放从指定动态内存中申请的内存
Definition: los_memory.c:1369
UINT8 * m_aucSysMem0
异常交互动态内存池地址的起始地址,当不支持异常交互特性时,m_aucSysMem0等于m_aucSysMem1。
Definition: los_memory.c:107
@ TRACE_USER_DEFAULT_FLAG
Definition: los_trace.h:134
@ QUEUE_DELETE
Definition: los_trace.h:194
@ SEM_CREATE
Definition: los_trace.h:205
@ TASK_SUSPEND
Definition: los_trace.h:172
@ SEM_DELETE
Definition: los_trace.h:206
@ IPC_READ_TIMEOUT
Definition: los_trace.h:222
@ MEM_ALLOC
Definition: los_trace.h:185
@ QUEUE_CREATE
Definition: los_trace.h:193
@ IPC_TRY_READ
Definition: los_trace.h:221
@ TASK_DELETE
Definition: los_trace.h:171
@ EVENT_DELETE
Definition: los_trace.h:199
@ TASK_PRIOSET
Definition: los_trace.h:170
@ MUX_DELETE
Definition: los_trace.h:212
@ IPC_READ_DROP
Definition: los_trace.h:219
@ EVENT_CREATE
Definition: los_trace.h:198
@ TASK_CREATE
Definition: los_trace.h:169
@ IPC_WRITE_DROP
Definition: los_trace.h:217
@ SWTMR_STOP
Definition: los_trace.h:181
@ MEM_REALLOC
Definition: los_trace.h:187
@ QUEUE_RW
Definition: los_trace.h:195
@ HWI_RESPONSE_OUT
Definition: los_trace.h:159
@ MEM_INFO_REQ
Definition: los_trace.h:189
@ TASK_RESUME
Definition: los_trace.h:173
@ IPC_WRITE
Definition: los_trace.h:218
@ MUX_CREATE
Definition: los_trace.h:211
@ SWTMR_DELETE
Definition: los_trace.h:179
@ MUX_PEND
Definition: los_trace.h:213
@ SWTMR_EXPIRED
Definition: los_trace.h:182
@ SEM_PEND
Definition: los_trace.h:207
@ SWTMR_START
Definition: los_trace.h:180
@ SWTMR_CREATE
Definition: los_trace.h:178
@ EVENT_CLEAR
Definition: los_trace.h:202
@ EVENT_READ
Definition: los_trace.h:200
@ SEM_POST
Definition: los_trace.h:208
@ IPC_KILL
Definition: los_trace.h:223
@ HWI_RESPONSE_IN
Definition: los_trace.h:158
@ MUX_POST
Definition: los_trace.h:214
@ MEM_ALLOC_ALIGN
Definition: los_trace.h:186
@ EVENT_WRITE
Definition: los_trace.h:201
@ TASK_SWITCH
Definition: los_trace.h:174
@ MEM_FREE
Definition: los_trace.h:188
@ OS_QUEUE_WRITE
写队列
Definition: los_queue_pri.h:64
@ OS_QUEUE_READ
读队列
Definition: los_queue_pri.h:63
STATIC INLINE LosTaskCB * OsCurrTaskGet(VOID)
unsigned long UINTPTR
Definition: los_typedef.h:68
unsigned int UINT32
Definition: los_typedef.h:57
MsgType type
Definition: hm_liteipc.h:172
UINT32 code
Definition: hm_liteipc.h:174
UINT32 processID
Definition: hm_liteipc.h:183
UINT32 taskID
Definition: hm_liteipc.h:184
UINT8 type
类型属性
Definition: los_mux.h:65
UINT16 readWriteableCnt[OS_QUEUE_N_RW]
Definition: los_queue_pri.h:96
UINT16 queueLen
Definition: los_queue_pri.h:91
UINT16 queueSize
Definition: los_queue_pri.h:92
UINT16 queueState
Definition: los_queue_pri.h:90
UINT32 queueID
Definition: los_queue_pri.h:93
UINT16 semCount
Definition: los_sem_pri.h:49
UINT32 semID
Definition: los_sem_pri.h:51
Definition: los_mux.h:73
VOID * owner
Definition: los_mux.h:78
UINT16 muxCount
Definition: los_mux.h:79
LosMuxAttr attr
Definition: los_mux.h:75
UINT32(* schedParamGet)(const LosTaskCB *taskCB, SchedParam *param)
获取调度参数
UINT16 priority
UINT32 taskID
VOID * stackPointer
const SchedOps * ops
UINT16 taskStatus
unsigned int eventType
Definition: trace.c:109
uintptr_t params[TRACE_USR_MAX_PARAMS]
Definition: trace.c:111
uintptr_t identity
Definition: trace.c:110
UINT32 uwEventID
Definition: los_event.h:165
UINT16 usTimerID
Definition: los_swtmr.h:271
UINT8 ucMode
Definition: los_swtmr.h:270
UINT32 uwInterval
Definition: los_swtmr.h:274
STATIC VOID LOS_TraceIpcReadTimeout(UINT32 msgType, UINT32 ipcStatus)
Definition: trace_cnv.c:275
STATIC VOID LOS_TraceEventRead(PEVENT_CB_S eventCB, UINT32 eventMask, UINT32 mode, UINT32 timeout)
Definition: trace_cnv.c:73
STATIC VOID LOS_TraceEventWrite(PEVENT_CB_S eventCB, UINT32 events)
Definition: trace_cnv.c:78
STATIC VOID LOS_TraceSemDelete(const LosSemCB *semCB)
Definition: trace_cnv.c:128
STATIC VOID LOS_TraceQueueRW(const LosQueueCB *queueCB, UINT32 operateType, UINT32 bufferSize, UINT32 timeout)
Definition: trace_cnv.c:99
STATIC VOID LOS_TraceIsrExit(UINT32 hwiNum)
Definition: trace_cnv.c:220
STATIC VOID LOS_TraceMemInit(VOID *pool, UINT32 size)
Definition: trace_cnv.c:43
STATIC VOID LOS_TraceSemPend(const LosSemCB *semCB, const LosTaskCB *runningTask, UINT32 timeout)
Definition: trace_cnv.c:122
STATIC VOID LOS_TraceTaskPriModify(const LosTaskCB *taskCB, UINT32 prio)
Definition: trace_cnv.c:167
STATIC VOID LOS_TraceMuxPend(const LosMux *muxCB, UINT32 timeout)
Definition: trace_cnv.c:144
STATIC VOID LOS_TraceEventClear(PEVENT_CB_S eventCB, UINT32 events)
Definition: trace_cnv.c:83
STATIC VOID LOS_TraceMemRealloc(VOID *pool, VOID *ptr, UINT32 size)
Definition: trace_cnv.c:58
VOID OsTraceCnvInit(VOID)
Definition: trace_cnv.c:298
STATIC VOID LOS_TraceMemFree(VOID *pool, VOID *ptr)
Definition: trace_cnv.c:53
STATIC VOID LOS_TraceSwtmrStart(const SWTMR_CTRL_S *swtmr)
Definition: trace_cnv.c:240
STATIC VOID LOS_TraceIpcRead(const IpcMsg *msg, UINT32 ipcStatus)
Definition: trace_cnv.c:265
STATIC VOID LOS_TraceIpcWrite(const IpcMsg *msg, UINT32 dstTid, UINT32 dstPid, UINT32 ipcStatus)
Definition: trace_cnv.c:255
STATIC VOID LOS_TraceMemAlloc(VOID *pool, VOID *ptr, UINT32 size)
Definition: trace_cnv.c:48
STATIC VOID LOS_TraceIpcWriteDrop(const IpcMsg *msg, UINT32 dstTid, UINT32 dstPid, UINT32 ipcStatus)
Definition: trace_cnv.c:250
STATIC VOID LOS_TraceTaskDelete(const LosTaskCB *taskCB)
Definition: trace_cnv.c:179
STATIC VOID LOS_TraceSwtmrDelete(const SWTMR_CTRL_S *swtmr)
Definition: trace_cnv.c:230
STATIC VOID LOS_TraceMuxCreate(const LosMux *muxCB)
Definition: trace_cnv.c:133
STATIC VOID LOS_TraceSemCreate(const LosSemCB *semCB)
Definition: trace_cnv.c:111
STATIC VOID LOS_TraceIpcTryRead(UINT32 msgType, UINT32 ipcStatus)
Definition: trace_cnv.c:270
STATIC VOID LOS_TraceEventDestroy(PEVENT_CB_S eventCB)
Definition: trace_cnv.c:88
STATIC VOID LOS_TraceSemPost(const LosSemCB *semCB, const LosTaskCB *resumedTask)
Definition: trace_cnv.c:116
STATIC VOID LOS_TraceMuxDelete(const LosMux *muxCB)
Definition: trace_cnv.c:150
STATIC VOID LOS_TraceTaskSwitchedIn(const LosTaskCB *newTask, const LosTaskCB *runTask)
Definition: trace_cnv.c:184
STATIC VOID LOS_TraceSwtmrStop(const SWTMR_CTRL_S *swtmr)
Definition: trace_cnv.c:245
STATIC VOID LOS_TraceIsrEnter(UINT32 hwiNum)
Definition: trace_cnv.c:215
STATIC VOID LOS_TraceUsrEvent(VOID *buffer, UINT32 len)
将事件的钩子函数注册进HOOK框架 ,但谁能告诉我 cnv 是啥意?? @note_thinking
Definition: trace_cnv.c:285
STATIC VOID LOS_TraceMemAllocAlign(VOID *pool, VOID *ptr, UINT32 size, UINT32 boundary)
Definition: trace_cnv.c:63
STATIC VOID LOS_TraceIpcKill(UINT32 msgType, UINT32 ipcStatus)
Definition: trace_cnv.c:280
STATIC VOID LOS_TraceSwtmrCreate(const SWTMR_CTRL_S *swtmr)
Definition: trace_cnv.c:225
STATIC VOID LOS_TraceEventInit(PEVENT_CB_S eventCB)
Definition: trace_cnv.c:68
STATIC VOID LOS_TraceQueueDelete(const LosQueueCB *queueCB)
Definition: trace_cnv.c:106
STATIC VOID LOS_TraceMuxPost(const LosMux *muxCB)
Definition: trace_cnv.c:138
STATIC VOID LOS_TraceSwtmrExpired(const SWTMR_CTRL_S *swtmr)
Definition: trace_cnv.c:235
STATIC VOID LOS_TraceIpcReadDrop(const IpcMsg *msg, UINT32 ipcStatus)
Definition: trace_cnv.c:260
STATIC VOID LOS_TraceQueueCreate(const LosQueueCB *queueCB)
Definition: trace_cnv.c:93
STATIC VOID LOS_TraceTaskSuspend(const LosTaskCB *taskCB)
Definition: trace_cnv.c:210
STATIC VOID LOS_TraceTaskResume(const LosTaskCB *taskCB)
Definition: trace_cnv.c:199
STATIC VOID LOS_TraceTaskCreate(const LosTaskCB *taskCB)
Definition: trace_cnv.c:156