Skip to content

Commit 180489d

Browse files
committed
tracing: systemview: add tracing for events
Add missing hooks for events. Signed-off-by: Anas Nashif <[email protected]>
1 parent 39749c4 commit 180489d

File tree

3 files changed

+24
-6
lines changed

3 files changed

+24
-6
lines changed

subsys/tracing/sysview/SYSVIEW_Zephyr.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,3 +173,7 @@ TaskState 0xBF 1=dummy, 2=Waiting, 4=New, 8=Terminated, 16=Suspended, 32=Termina
173173
162 syscall name=%s
174174

175175
163 named_event name=%s arg0=%u arg1=%u
176+
177+
164 k_event_init event=%I
178+
165 k_event_post event=%I, events=%u, events_mask=%u
179+
166 k_event_wait event=%I, events=%u, options=%u, Timeout=%TimeOut

subsys/tracing/sysview/tracing_sysview.h

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -612,12 +612,22 @@ void sys_trace_thread_info(struct k_thread *thread);
612612
#define sys_port_trace_k_pipe_get_blocking(pipe, timeout)
613613
#define sys_port_trace_k_pipe_get_exit(pipe, timeout, ret)
614614

615-
#define sys_port_trace_k_event_init(event)
616-
#define sys_port_trace_k_event_post_enter(event, events, events_mask)
617-
#define sys_port_trace_k_event_post_exit(event, events, events_mask)
618-
#define sys_port_trace_k_event_wait_enter(event, events, options, timeout)
615+
#define sys_port_trace_k_event_init(event) \
616+
SEGGER_SYSVIEW_RecordU32(TID_EVENT_INIT, (uint32_t)(uintptr_t)event)
617+
618+
#define sys_port_trace_k_event_post_enter(event, events, events_mask) \
619+
SEGGER_SYSVIEW_RecordU32x3(TID_EVENT_POST, (uint32_t)(uintptr_t)event, (uint32_t)events, (uint32_t)events_mask)
620+
621+
#define sys_port_trace_k_event_post_exit(event, events, events_mask) \
622+
SEGGER_SYSVIEW_RecordEndCall(TID_EVENT_POST)
623+
624+
#define sys_port_trace_k_event_wait_enter(event, events, options, timeout) \
625+
SEGGER_SYSVIEW_RecordU32x4(TID_EVENT_WAIT, (uint32_t)(uintptr_t)event, (uint32_t)events, (uint32_t)options, (uint32_t)timeout.ticks)
626+
619627
#define sys_port_trace_k_event_wait_blocking(event, events, options, timeout)
620-
#define sys_port_trace_k_event_wait_exit(event, events, ret)
628+
629+
#define sys_port_trace_k_event_wait_exit(event, events, ret) \
630+
SEGGER_SYSVIEW_RecordEndCall(TID_EVENT_WAIT)
621631

622632
#define sys_port_trace_k_heap_init(heap) \
623633
SEGGER_SYSVIEW_RecordU32(TID_HEAP_INIT, (uint32_t)(uintptr_t)heap)

subsys/tracing/sysview/tracing_sysview_ids.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,11 @@ extern "C" {
159159

160160
#define TID_NAMED_EVENT (131u + TID_OFFSET)
161161

162-
/* latest ID is 130 */
162+
#define TID_EVENT_INIT (132u + TID_OFFSET)
163+
#define TID_EVENT_POST (133u + TID_OFFSET)
164+
#define TID_EVENT_WAIT (134u + TID_OFFSET)
165+
166+
/* latest ID is 134 */
163167

164168
#ifdef __cplusplus
165169
}

0 commit comments

Comments
 (0)