49#ifdef LOSCFG_TRACE_CONTROL_AGENT
55#define LOSCFG_TRACE_TASK_PRIORITY 2
58#define LOSCFG_TRACE_OBJ_MAX_NAME_SIZE LOS_TASK_NAMELEN
60#define LOS_TRACE_LR_RECORD 5
61#define LOS_TRACE_LR_IGNORE 0
67#define LOSCFG_TRACE_OBJ_MAX_NUM 0
73#define LOSCFG_TRACE_TLV_BUF_SIZE 100
83#define LOS_ERRNO_TRACE_ERROR_STATUS LOS_ERRNO_OS_ERROR(LOS_MOD_TRACE, 0x00)
93#define LOS_ERRNO_TRACE_NO_MEMORY LOS_ERRNO_OS_ERROR(LOS_MOD_TRACE, 0x01)
103#define LOS_ERRNO_TRACE_BUF_TOO_SMALL LOS_ERRNO_OS_ERROR(LOS_MOD_TRACE, 0x02)
261#ifdef LOSCFG_TRACE_FRAME_CORE_MSG
271#ifdef LOSCFG_TRACE_FRAME_EVENT_COUNT
275#ifdef LOS_TRACE_FRAME_LR
279#ifdef LOSCFG_TRACE_FRAME_MAX_PARAMS
280 UINTPTR params[LOSCFG_TRACE_FRAME_MAX_PARAMS];
284#ifdef LOSCFG_DRIVERS_TRACE
300 CHAR name[LOSCFG_TRACE_OBJ_MAX_NAME_SIZE];
359#define TASK_SWITCH_PARAMS(taskId, oldPriority, oldTaskStatus, newPriority, newTaskStatus) \
360 taskId, oldPriority, oldTaskStatus, newPriority, newTaskStatus
361#define TASK_PRIOSET_PARAMS(taskId, taskStatus, oldPrio, newPrio) taskId, taskStatus, oldPrio, newPrio
362#define TASK_CREATE_PARAMS(taskId, taskStatus, prio) taskId, taskStatus, prio
363#define TASK_DELETE_PARAMS(taskId, taskStatus, usrStack) taskId, taskStatus, usrStack
364#define TASK_SUSPEND_PARAMS(taskId, taskStatus, runTaskId) taskId, taskStatus, runTaskId
365#define TASK_RESUME_PARAMS(taskId, taskStatus, prio) taskId, taskStatus, prio
366#define TASK_SIGNAL_PARAMS(taskId, signal, schedFlag)
368#define SWTMR_START_PARAMS(swtmrId, mode, interval) swtmrId, mode, interval
369#define SWTMR_DELETE_PARAMS(swtmrId) swtmrId
370#define SWTMR_EXPIRED_PARAMS(swtmrId) swtmrId
371#define SWTMR_STOP_PARAMS(swtmrId) swtmrId
372#define SWTMR_CREATE_PARAMS(swtmrId) swtmrId
374#define HWI_CREATE_PARAMS(hwiNum, hwiPrio, hwiMode, hwiHandler) hwiNum, hwiPrio, hwiMode, hwiHandler
375#define HWI_CREATE_SHARE_PARAMS(hwiNum, pDevId, ret) hwiNum, pDevId, ret
376#define HWI_DELETE_PARAMS(hwiNum) hwiNum
377#define HWI_DELETE_SHARE_PARAMS(hwiNum, pDevId, ret) hwiNum, pDevId, ret
378#define HWI_RESPONSE_IN_PARAMS(hwiNum) hwiNum
379#define HWI_RESPONSE_OUT_PARAMS(hwiNum) hwiNum
380#define HWI_ENABLE_PARAMS(hwiNum) hwiNum
381#define HWI_DISABLE_PARAMS(hwiNum) hwiNum
382#define HWI_TRIGGER_PARAMS(hwiNum) hwiNum
383#define HWI_SETPRI_PARAMS(hwiNum, priority) hwiNum, priority
384#define HWI_CLEAR_PARAMS(hwiNum) hwiNum
385#define HWI_SETAFFINITY_PARAMS(hwiNum, cpuMask) hwiNum, cpuMask
386#define HWI_SENDIPI_PARAMS(hwiNum, cpuMask) hwiNum, cpuMask
388#define EVENT_CREATE_PARAMS(eventCB) eventCB
389#define EVENT_DELETE_PARAMS(eventCB, delRetCode) eventCB, delRetCode
390#define EVENT_READ_PARAMS(eventCB, eventId, mask, mode, timeout) \
391 eventCB, eventId, mask, mode, timeout
392#define EVENT_WRITE_PARAMS(eventCB, eventId, events) eventCB, eventId, events
393#define EVENT_CLEAR_PARAMS(eventCB, eventId, events) eventCB, eventId, events
395#define QUEUE_CREATE_PARAMS(queueId, queueSz, itemSz, queueAddr, memType) \
396 queueId, queueSz, itemSz, queueAddr, memType
397#define QUEUE_DELETE_PARAMS(queueId, state, readable) queueId, state, readable
398#define QUEUE_RW_PARAMS(queueId, queueSize, bufSize, operateType, readable, writable, timeout) \
399 queueId, queueSize, bufSize, operateType, readable, writable, timeout
401#define SEM_CREATE_PARAMS(semId, type, count) semId, type, count
402#define SEM_DELETE_PARAMS(semId, delRetCode) semId, delRetCode
403#define SEM_PEND_PARAMS(semId, count, timeout) semId, count, timeout
404#define SEM_POST_PARAMS(semId, type, count) semId, type, count
406#define MUX_CREATE_PARAMS(muxId) muxId
407#define MUX_DELETE_PARAMS(muxId, state, count, owner) muxId, state, count, owner
408#define MUX_PEND_PARAMS(muxId, count, owner, timeout) muxId, count, owner, timeout
409#define MUX_POST_PARAMS(muxId, count, owner) muxId, count, owner
411#define MEM_ALLOC_PARAMS(pool, ptr, size) pool, ptr, size
412#define MEM_ALLOC_ALIGN_PARAMS(pool, ptr, size, boundary) pool, ptr, size, boundary
413#define MEM_REALLOC_PARAMS(pool, ptr, size) pool, ptr, size
414#define MEM_FREE_PARAMS(pool, ptr) pool, ptr
415#define MEM_INFO_REQ_PARAMS(pool) pool
416#define MEM_INFO_PARAMS(pool, usedSize, freeSize) pool, usedSize, freeSize
418#define IPC_WRITE_DROP_PARAMS(dstTid, dstPid, msgType, code, ipcStatus) \
419 dstTid, dstPid, msgType, code, ipcStatus
420#define IPC_WRITE_PARAMS(dstTid, dstPid, msgType, code, ipcStatus) \
421 dstTid, dstPid, msgType, code, ipcStatus
422#define IPC_READ_DROP_PARAMS(srcTid, srcPid, msgType, code, ipcStatus) \
423 srcTid, srcPid, msgType, code, ipcStatus
424#define IPC_READ_PARAMS(srcTid, srcPid, msgType, code, ipcStatus) \
425 srcTid, srcPid, msgType, code, ipcStatus
426#define IPC_TRY_READ_PARAMS(msgType, ipcStatus) msgType, ipcStatus
427#define IPC_READ_TIMEOUT_PARAMS(msgType, ipcStatus) msgType, ipcStatus
428#define IPC_KILL_PARAMS(msgType, ipcStatus) msgType, ipcStatus
430#define SYS_ERROR_PARAMS(errno) errno
432#ifdef LOSCFG_KERNEL_TRACE
456#define LOS_TRACE(TYPE, IDENTITY, ...) \
458 UINTPTR _inner[] = {0, TYPE##_PARAMS((UINTPTR)IDENTITY, ##__VA_ARGS__)}; \
459 UINTPTR _n = sizeof(_inner) / sizeof(UINTPTR); \
460 if ((_n > 1) && (g_traceEventHook != NULL)) { \
461 g_traceEventHook(TYPE, _inner[1], _n > 2 ? &_inner[2] : NULL, _n - 2); \
465#define LOS_TRACE(TYPE, ...)
468#ifdef LOSCFG_KERNEL_TRACE
491#define LOS_TRACE_EASY(TYPE, IDENTITY, ...) \
493 UINTPTR _inner[] = {0, ##__VA_ARGS__}; \
494 UINTPTR _n = sizeof(_inner) / sizeof(UINTPTR); \
495 if (g_traceEventHook != NULL) { \
496 g_traceEventHook(TRACE_USER_DEFAULT_FLAG | TYPE, (UINTPTR)IDENTITY, _n > 1 ? &_inner[1] : NULL, _n - 1); \
500#define LOS_TRACE_EASY(...)
BOOL(* TRACE_HWI_FILTER_HOOK)(UINT32 hwiNum)
Define the type of trace hardware interrupt filter hook function.
OfflineHead * LOS_TraceRecordGet(VOID)
Offline trace buffer export.
VOID LOS_TraceEventMaskSet(UINT32 mask)
Set trace event mask.
VOID LOS_TraceReset(VOID)
Clear the trace buf.
UINT32 LOS_TraceStart(VOID)
Start trace.
VOID LOS_TraceHwiFilterHookReg(TRACE_HWI_FILTER_HOOK hook)
Hwi num fliter hook.
VOID LOS_TraceStop(VOID)
Stop trace.
VOID LOS_TraceRecordDump(BOOL toClient)
Offline trace buffer display.
@ TRACE_SWTMR_FLAG
跟踪软件定时器
@ TRACE_USER_DEFAULT_FLAG
VOID(* TRACE_EVENT_HOOK)(UINT32 eventType, UINTPTR identity, const UINTPTR *params, UINT16 paramCount)
TRACE_EVENT_HOOK g_traceEventHook
事件钩子函数
TraceBaseHeaderInfo baseInfo
UINTPTR identity
表示事件操作的主体对象