13d8536b4Sopenharmony_ci/*
23d8536b4Sopenharmony_ci * Copyright (c) 2013-2019 Huawei Technologies Co., Ltd. All rights reserved.
33d8536b4Sopenharmony_ci * Copyright (c) 2020-2021 Huawei Device Co., Ltd. All rights reserved.
43d8536b4Sopenharmony_ci *
53d8536b4Sopenharmony_ci * Redistribution and use in source and binary forms, with or without modification,
63d8536b4Sopenharmony_ci * are permitted provided that the following conditions are met:
73d8536b4Sopenharmony_ci *
83d8536b4Sopenharmony_ci * 1. Redistributions of source code must retain the above copyright notice, this list of
93d8536b4Sopenharmony_ci *    conditions and the following disclaimer.
103d8536b4Sopenharmony_ci *
113d8536b4Sopenharmony_ci * 2. Redistributions in binary form must reproduce the above copyright notice, this list
123d8536b4Sopenharmony_ci *    of conditions and the following disclaimer in the documentation and/or other materials
133d8536b4Sopenharmony_ci *    provided with the distribution.
143d8536b4Sopenharmony_ci *
153d8536b4Sopenharmony_ci * 3. Neither the name of the copyright holder nor the names of its contributors may be used
163d8536b4Sopenharmony_ci *    to endorse or promote products derived from this software without specific prior written
173d8536b4Sopenharmony_ci *    permission.
183d8536b4Sopenharmony_ci *
193d8536b4Sopenharmony_ci * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
203d8536b4Sopenharmony_ci * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
213d8536b4Sopenharmony_ci * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
223d8536b4Sopenharmony_ci * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
233d8536b4Sopenharmony_ci * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
243d8536b4Sopenharmony_ci * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
253d8536b4Sopenharmony_ci * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
263d8536b4Sopenharmony_ci * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
273d8536b4Sopenharmony_ci * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
283d8536b4Sopenharmony_ci * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
293d8536b4Sopenharmony_ci * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
303d8536b4Sopenharmony_ci */
313d8536b4Sopenharmony_ci
323d8536b4Sopenharmony_ci#include "trace_cnv.h"
333d8536b4Sopenharmony_ci#include "los_trace.h"
343d8536b4Sopenharmony_ci#include "los_task.h"
353d8536b4Sopenharmony_ci#include "los_sem.h"
363d8536b4Sopenharmony_ci#include "los_mux.h"
373d8536b4Sopenharmony_ci#include "los_queue.h"
383d8536b4Sopenharmony_ci#include "los_event.h"
393d8536b4Sopenharmony_ci#include "los_swtmr.h"
403d8536b4Sopenharmony_ci#include "los_hook.h"
413d8536b4Sopenharmony_ci
423d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceMemInit(VOID *pool, UINT32 size)
433d8536b4Sopenharmony_ci{
443d8536b4Sopenharmony_ci    LOS_TRACE(MEM_INFO_REQ, pool);
453d8536b4Sopenharmony_ci}
463d8536b4Sopenharmony_ci
473d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceMemAlloc(VOID *pool, VOID *ptr, UINT32 size)
483d8536b4Sopenharmony_ci{
493d8536b4Sopenharmony_ci    LOS_TRACE(MEM_ALLOC, pool, (UINTPTR)ptr, size);
503d8536b4Sopenharmony_ci}
513d8536b4Sopenharmony_ci
523d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceMemFree(VOID *pool, VOID *ptr)
533d8536b4Sopenharmony_ci{
543d8536b4Sopenharmony_ci    LOS_TRACE(MEM_FREE, pool, (UINTPTR)ptr);
553d8536b4Sopenharmony_ci}
563d8536b4Sopenharmony_ci
573d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceMemRealloc(VOID *pool, VOID *ptr, UINT32 size)
583d8536b4Sopenharmony_ci{
593d8536b4Sopenharmony_ci    LOS_TRACE(MEM_REALLOC, pool, (UINTPTR)ptr, size);
603d8536b4Sopenharmony_ci}
613d8536b4Sopenharmony_ci
623d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceMemAllocAlign(VOID *pool, VOID *ptr, UINT32 size, UINT32 boundary)
633d8536b4Sopenharmony_ci{
643d8536b4Sopenharmony_ci    LOS_TRACE(MEM_ALLOC_ALIGN, pool, (UINTPTR)ptr, size, boundary);
653d8536b4Sopenharmony_ci}
663d8536b4Sopenharmony_ci
673d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceEventInit(PEVENT_CB_S eventCB)
683d8536b4Sopenharmony_ci{
693d8536b4Sopenharmony_ci    LOS_TRACE(EVENT_CREATE, (UINTPTR)eventCB);
703d8536b4Sopenharmony_ci}
713d8536b4Sopenharmony_ci
723d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceEventRead(PEVENT_CB_S eventCB, UINT32 eventMask, UINT32 mode, UINT32 timeout)
733d8536b4Sopenharmony_ci{
743d8536b4Sopenharmony_ci    LOS_TRACE(EVENT_READ, (UINTPTR)eventCB, eventCB->uwEventID, eventMask, mode, timeout);
753d8536b4Sopenharmony_ci}
763d8536b4Sopenharmony_ci
773d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceEventWrite(PEVENT_CB_S eventCB, UINT32 events)
783d8536b4Sopenharmony_ci{
793d8536b4Sopenharmony_ci    LOS_TRACE(EVENT_WRITE, (UINTPTR)eventCB, eventCB->uwEventID, events);
803d8536b4Sopenharmony_ci}
813d8536b4Sopenharmony_ci
823d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceEventClear(PEVENT_CB_S eventCB, UINT32 events)
833d8536b4Sopenharmony_ci{
843d8536b4Sopenharmony_ci    LOS_TRACE(EVENT_CLEAR, (UINTPTR)eventCB, eventCB->uwEventID, events);
853d8536b4Sopenharmony_ci}
863d8536b4Sopenharmony_ci
873d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceEventDestroy(PEVENT_CB_S eventCB)
883d8536b4Sopenharmony_ci{
893d8536b4Sopenharmony_ci    LOS_TRACE(EVENT_DELETE, (UINTPTR)eventCB, LOS_OK);
903d8536b4Sopenharmony_ci}
913d8536b4Sopenharmony_ci
923d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceQueueCreate(const LosQueueCB *queueCB)
933d8536b4Sopenharmony_ci{
943d8536b4Sopenharmony_ci    LOS_TRACE(QUEUE_CREATE, queueCB->queueID, queueCB->queueLen, queueCB->queueSize - sizeof(UINT32),
953d8536b4Sopenharmony_ci                (UINTPTR)queueCB, 0);
963d8536b4Sopenharmony_ci}
973d8536b4Sopenharmony_ci
983d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceQueueRW(const LosQueueCB *queueCB, UINT32 operateType,
993d8536b4Sopenharmony_ci                    UINT32 bufferSize, UINT32 timeout)
1003d8536b4Sopenharmony_ci{
1013d8536b4Sopenharmony_ci    LOS_TRACE(QUEUE_RW, queueCB->queueID, queueCB->queueSize, bufferSize, operateType,
1023d8536b4Sopenharmony_ci                queueCB->readWriteableCnt[OS_QUEUE_READ], queueCB->readWriteableCnt[OS_QUEUE_WRITE], timeout);
1033d8536b4Sopenharmony_ci}
1043d8536b4Sopenharmony_ci
1053d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceQueueDelete(const LosQueueCB *queueCB)
1063d8536b4Sopenharmony_ci{
1073d8536b4Sopenharmony_ci    LOS_TRACE(QUEUE_DELETE, queueCB->queueID, queueCB->queueState, queueCB->readWriteableCnt[OS_QUEUE_READ]);
1083d8536b4Sopenharmony_ci}
1093d8536b4Sopenharmony_ci
1103d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceSemCreate(const LosSemCB *semCB)
1113d8536b4Sopenharmony_ci{
1123d8536b4Sopenharmony_ci    LOS_TRACE(SEM_CREATE, semCB->semID, 0, semCB->semCount);
1133d8536b4Sopenharmony_ci}
1143d8536b4Sopenharmony_ci
1153d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceSemPost(const LosSemCB *semCB, const LosTaskCB *resumedTask)
1163d8536b4Sopenharmony_ci{
1173d8536b4Sopenharmony_ci    (VOID)resumedTask;
1183d8536b4Sopenharmony_ci    LOS_TRACE(SEM_POST, semCB->semID, 0, semCB->semCount);
1193d8536b4Sopenharmony_ci}
1203d8536b4Sopenharmony_ci
1213d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceSemPend(const LosSemCB *semCB, const LosTaskCB *runningTask, UINT32 timeout)
1223d8536b4Sopenharmony_ci{
1233d8536b4Sopenharmony_ci    (VOID)runningTask;
1243d8536b4Sopenharmony_ci    LOS_TRACE(SEM_PEND, semCB->semID, semCB->semCount, timeout);
1253d8536b4Sopenharmony_ci}
1263d8536b4Sopenharmony_ci
1273d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceSemDelete(const LosSemCB *semCB)
1283d8536b4Sopenharmony_ci{
1293d8536b4Sopenharmony_ci    LOS_TRACE(SEM_DELETE, semCB->semID, LOS_OK);
1303d8536b4Sopenharmony_ci}
1313d8536b4Sopenharmony_ci
1323d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceMuxCreate(const LosMuxCB *muxCB)
1333d8536b4Sopenharmony_ci{
1343d8536b4Sopenharmony_ci    LOS_TRACE(MUX_CREATE, muxCB->muxID);
1353d8536b4Sopenharmony_ci}
1363d8536b4Sopenharmony_ci
1373d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceMuxPost(const LosMuxCB *muxCB)
1383d8536b4Sopenharmony_ci{
1393d8536b4Sopenharmony_ci    LOS_TRACE(MUX_POST, muxCB->muxID, muxCB->muxCount,
1403d8536b4Sopenharmony_ci                (muxCB->owner == NULL) ? 0xffffffff : muxCB->owner->taskID);
1413d8536b4Sopenharmony_ci}
1423d8536b4Sopenharmony_ci
1433d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceMuxPend(const LosMuxCB *muxCB, UINT32 timeout)
1443d8536b4Sopenharmony_ci{
1453d8536b4Sopenharmony_ci    LOS_TRACE(MUX_PEND, muxCB->muxID, muxCB->muxCount,
1463d8536b4Sopenharmony_ci                (muxCB->owner == NULL) ? 0xffffffff : muxCB->owner->taskID, timeout);
1473d8536b4Sopenharmony_ci}
1483d8536b4Sopenharmony_ci
1493d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceMuxDelete(const LosMuxCB *muxCB)
1503d8536b4Sopenharmony_ci{
1513d8536b4Sopenharmony_ci    LOS_TRACE(MUX_DELETE, muxCB->muxID, muxCB->muxStat, muxCB->muxCount,
1523d8536b4Sopenharmony_ci                (muxCB->owner == NULL) ? 0xffffffff : muxCB->owner->taskID);
1533d8536b4Sopenharmony_ci}
1543d8536b4Sopenharmony_ci
1553d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceTaskCreate(const LosTaskCB *taskCB)
1563d8536b4Sopenharmony_ci{
1573d8536b4Sopenharmony_ci    LOS_TRACE(TASK_CREATE, taskCB->taskID, taskCB->taskStatus, taskCB->priority);
1583d8536b4Sopenharmony_ci}
1593d8536b4Sopenharmony_ci
1603d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceTaskPriModify(const LosTaskCB *taskCB, UINT32 prio)
1613d8536b4Sopenharmony_ci{
1623d8536b4Sopenharmony_ci    LOS_TRACE(TASK_PRIOSET, taskCB->taskID, taskCB->taskStatus, taskCB->priority, prio);
1633d8536b4Sopenharmony_ci}
1643d8536b4Sopenharmony_ci
1653d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceTaskDelete(const LosTaskCB *taskCB)
1663d8536b4Sopenharmony_ci{
1673d8536b4Sopenharmony_ci    LOS_TRACE(TASK_DELETE, taskCB->taskID, taskCB->taskStatus, (UINTPTR)taskCB->stackPointer);
1683d8536b4Sopenharmony_ci}
1693d8536b4Sopenharmony_ci
1703d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceTaskSwitchedIn(VOID)
1713d8536b4Sopenharmony_ci{
1723d8536b4Sopenharmony_ci    LosTaskCB *newTask = g_losTask.newTask;
1733d8536b4Sopenharmony_ci    LosTaskCB *runTask = g_losTask.runTask;
1743d8536b4Sopenharmony_ci    LOS_TRACE(TASK_SWITCH, newTask->taskID, runTask->priority, runTask->taskStatus,
1753d8536b4Sopenharmony_ci        newTask->priority, newTask->taskStatus);
1763d8536b4Sopenharmony_ci}
1773d8536b4Sopenharmony_ci
1783d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceTaskResume(const LosTaskCB *taskCB)
1793d8536b4Sopenharmony_ci{
1803d8536b4Sopenharmony_ci    LOS_TRACE(TASK_RESUME, taskCB->taskID, taskCB->taskStatus, taskCB->priority);
1813d8536b4Sopenharmony_ci}
1823d8536b4Sopenharmony_ci
1833d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceTaskSuspend(const LosTaskCB *taskCB)
1843d8536b4Sopenharmony_ci{
1853d8536b4Sopenharmony_ci    LOS_TRACE(TASK_SUSPEND, taskCB->taskID, taskCB->taskStatus, g_losTask.runTask->taskID);
1863d8536b4Sopenharmony_ci}
1873d8536b4Sopenharmony_ci
1883d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceIsrEnter(UINT32 hwiNum)
1893d8536b4Sopenharmony_ci{
1903d8536b4Sopenharmony_ci    LOS_TRACE(HWI_RESPONSE_IN, hwiNum);
1913d8536b4Sopenharmony_ci}
1923d8536b4Sopenharmony_ci
1933d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceIsrExit(UINT32 hwiNum)
1943d8536b4Sopenharmony_ci{
1953d8536b4Sopenharmony_ci    LOS_TRACE(HWI_RESPONSE_OUT, hwiNum);
1963d8536b4Sopenharmony_ci}
1973d8536b4Sopenharmony_ci
1983d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceSwtmrCreate(const SWTMR_CTRL_S *swtmr)
1993d8536b4Sopenharmony_ci{
2003d8536b4Sopenharmony_ci    LOS_TRACE(SWTMR_CREATE, swtmr->usTimerID);
2013d8536b4Sopenharmony_ci}
2023d8536b4Sopenharmony_ci
2033d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceSwtmrDelete(const SWTMR_CTRL_S *swtmr)
2043d8536b4Sopenharmony_ci{
2053d8536b4Sopenharmony_ci    LOS_TRACE(SWTMR_DELETE, swtmr->usTimerID);
2063d8536b4Sopenharmony_ci}
2073d8536b4Sopenharmony_ci
2083d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceSwtmrExpired(const SWTMR_CTRL_S *swtmr)
2093d8536b4Sopenharmony_ci{
2103d8536b4Sopenharmony_ci    LOS_TRACE(SWTMR_EXPIRED, swtmr->usTimerID);
2113d8536b4Sopenharmony_ci}
2123d8536b4Sopenharmony_ci
2133d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceSwtmrStart(const SWTMR_CTRL_S *swtmr)
2143d8536b4Sopenharmony_ci{
2153d8536b4Sopenharmony_ci    LOS_TRACE(SWTMR_START, swtmr->usTimerID, swtmr->ucMode, swtmr->uwInterval);
2163d8536b4Sopenharmony_ci}
2173d8536b4Sopenharmony_ci
2183d8536b4Sopenharmony_ciSTATIC VOID LOS_TraceSwtmrStop(const SWTMR_CTRL_S *swtmr)
2193d8536b4Sopenharmony_ci{
2203d8536b4Sopenharmony_ci    LOS_TRACE(SWTMR_STOP, swtmr->usTimerID);
2213d8536b4Sopenharmony_ci}
2223d8536b4Sopenharmony_ci
2233d8536b4Sopenharmony_ciVOID OsTraceCnvInit(VOID)
2243d8536b4Sopenharmony_ci{
2253d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_MEM_ALLOC, LOS_TraceMemAlloc);
2263d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_MEM_FREE, LOS_TraceMemFree);
2273d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_MEM_INIT, LOS_TraceMemInit);
2283d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_MEM_REALLOC, LOS_TraceMemRealloc);
2293d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_MEM_ALLOCALIGN, LOS_TraceMemAllocAlign);
2303d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_EVENT_INIT, LOS_TraceEventInit);
2313d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_EVENT_READ, LOS_TraceEventRead);
2323d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_EVENT_WRITE, LOS_TraceEventWrite);
2333d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_EVENT_CLEAR, LOS_TraceEventClear);
2343d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_EVENT_DESTROY, LOS_TraceEventDestroy);
2353d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_QUEUE_CREATE, LOS_TraceQueueCreate);
2363d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_QUEUE_DELETE, LOS_TraceQueueDelete);
2373d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_QUEUE_READ, LOS_TraceQueueRW);
2383d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_QUEUE_READ_COPY, LOS_TraceQueueRW);
2393d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_QUEUE_WRITE, LOS_TraceQueueRW);
2403d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_QUEUE_WRITE_COPY, LOS_TraceQueueRW);
2413d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_SEM_CREATE, LOS_TraceSemCreate);
2423d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_SEM_DELETE, LOS_TraceSemDelete);
2433d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_SEM_POST, LOS_TraceSemPost);
2443d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_SEM_PEND, LOS_TraceSemPend);
2453d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_MUX_CREATE, LOS_TraceMuxCreate);
2463d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_MUX_POST, LOS_TraceMuxPost);
2473d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_MUX_PEND, LOS_TraceMuxPend);
2483d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_MUX_DELETE, LOS_TraceMuxDelete);
2493d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_TASK_PRIMODIFY, LOS_TraceTaskPriModify);
2503d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_TASK_DELETE, LOS_TraceTaskDelete);
2513d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_TASK_CREATE, LOS_TraceTaskCreate);
2523d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_TASK_SWITCHEDIN, LOS_TraceTaskSwitchedIn);
2533d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_MOVEDTASKTOREADYSTATE, LOS_TraceTaskResume);
2543d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_MOVEDTASKTOSUSPENDEDLIST, LOS_TraceTaskSuspend);
2553d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_ISR_ENTER, LOS_TraceIsrEnter);
2563d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_ISR_EXIT, LOS_TraceIsrExit);
2573d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_SWTMR_CREATE, LOS_TraceSwtmrCreate);
2583d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_SWTMR_DELETE, LOS_TraceSwtmrDelete);
2593d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_SWTMR_EXPIRED, LOS_TraceSwtmrExpired);
2603d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_SWTMR_START, LOS_TraceSwtmrStart);
2613d8536b4Sopenharmony_ci    LOS_HookReg(LOS_HOOK_TYPE_SWTMR_STOP, LOS_TraceSwtmrStop);
2623d8536b4Sopenharmony_ci}
263