tracing: systemview: rework IDs and make them match APIs

New version of Systemview has Zephyr API description that did not match
what we had, align with what the tools provides and expand hooks to
support additional APIs. We now cover most kernel APIs.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit is contained in:
Anas Nashif 2021-05-08 07:55:52 -04:00 committed by Kumar Gala
commit 7c582f4b7c
4 changed files with 574 additions and 342 deletions

View file

@ -1,48 +1,160 @@
33 MUTEX_INIT
34 MUTEX_UNLOCK mutex=%x
35 MUTEX_LOCK mutex=%x timeout=%u
36 SEMAPHORE_INIT
37 SEMAPHORE_GIVE sem=%x
38 SEMAPHORE_TAKE sem=%x timeout=%u
39 SLEEP timeout=%u
40 SEMAPHORE_RESET sem=%x
41 THREAD_PRIO_SET
42 THREAD_WAKEUP
43 THREAD_ABORT
44 THREAD_START
45 THREAD_SUSPEND
46 THREAD_RESUME
47 SEMAPHORE_BLOCKING sem=%x timeout=%u
48 THREAD_JOIN thread=%t
49 MSLEEP ms=%u
50 USLEEP us=%u
51 BUSYWAIT us=%u
52 THREAD_FOREACH
53 THREAD_FOREACH_UNLOCKED
54 THREAD_YIELD
55 THREAD_USERMODE_ENTER
56 CONDVAR_INIT
57 CONDVAR_SIGNAL condvar=%x
58 CONDVAR_BROADCAST condvar=%x
59 CONDVAR_WAIT condvar=%x
60 WORK_CANCEL work=%x
61 WORK_CANCEL_DELAYABLE work=%x
62 WORK_CANCEL_DELAYABLE_SYNC work=%x
63 WORK_CANCEL_SYNC work=%x
64 WORK_DELAYABLE_INIT
65 WORK_QUEUE_DRAIN queue=%x
66 WORK_FLUSH work=%x
67 WORK_FLUSH_DELAYABLE dwork=%x
68 WORK_INIT
69 WORK_POLL_CANCEL work=%x
70 WORK_POLL_INIT
71 WORK_POLL_SUBMIT work=%x timeout=%u
72 WORK_POLL_SUBMIT_TO_QUEUE queue=%x work=%x timeout=%u
73 WORK_QUEUE_START queue=%x
74 WORK_RESCHEDULE dwork=%x delay=%u
75 WORK_RESCHEDULE_FOR_QUEUE queue=%x dwork=%x delay=%u
76 WORK_SCHEDULE dwork=%x delay=%u
77 WORK_SCHEDULE_FOR_QUEUE queue=%x dwork=%x delay=%u
78 WORK_SUBMIT work=%x
79 WORK_SUBMIT_TO_QUEUE queue=%x work=%x
80 WORK_QUEUE_UNPLUG queue=%x
# Insipred by the the same configuration file available in the SystemView tool
Option ReversePriority
#
# Types for parameter formatters
#
NamedType Bool 0=false 1=true
NamedType TimeOut *="%u ticks" 0=TIMEOUT_NO_WAIT 4294967295=FOREVER
NamedType ErrCodePosix *=%i 0=ESUCCESS -1=EPERM -2=ENOENT -3=ESRCH -4=EINTR -5=EIO -6=ENXIO -7=E2BIG -8=ENOEXEC -9=EBADF -10=ECHILD -11=EAGAIN -12=ENOMEM -13=EACCES -14=EFAULT -15=ENOTEMPTY -16=EBUSY -17=EEXIST -18=EXDEV -19=ENODEV -20=ENOTDIR -21=EISDIR -22=EINVAL -23=ENFILE -24=EMFILE -25=ENOTTY -26=ENAMETOOLONG -27=EFBIG -28=ENOSPC -29=ESPIPE -30=EROFS -31=EMLINK -32=EPIPE -33=EDEADLK -34=ENOLCK -35=ENOTSUP -36=EMSGSIZE -72=ECANCELED -81=ERRMAX
NamedType ErrCodeMath *=%i 0=ESUCCESS -37=EDOM -38=ERANGE
NamedType ErrCodeNetArg *=%i 0=ESUCCESS -40=EDESTADDRREQ -41=EPROTOTYPE -42=ENOPROTOOPT -43=EPROTONOSUPPORT -44=ESOCKTNOSUPPORT -45=EOPNOTSUPP -46=EPFNOSUPPORT -47=EAFNOSUPPORT -48=EADDRINUSE -49=EADDRNOTAVAIL -50=ENOTSOCK
NamedType ErrCodeNetOps *=%i 0=ESUCCESS -51=ENETUNREACH -52=ENETRESET -53=ECONNABORTED -54=ECONNRESET -55=ENOBUFS -56=EISCONN -57=ENOTCONN -58=ESHUTDOWN -59=ETOOMANYREFS -60=ETIMEDOUT -61=ECONNREFUSED -62=ENETDOWN -63=ETXTBSY -64=ELOOP -65=EHOSTUNREACH -66=ENOTBLK -67=EHOSTDOWN
NamedType ErrCodeNetIO *=%i 0=ESUCCESS -68=EINPROGRESS -69=EALREADY -11=EWOULDBLOCK -71=ENOSYS
NamedType ErrCodeStream *=%i 0=ESUCCESS -74=ENOSR -75=ENOSTR -76=EPROTO -77=EBADMSG -78=ENODATA -79=ETIME -80=ENOMSG -138=EILSEQ
NamedType ErrCodeMsg *=%i 0=ESUCCESS -11=EAGAIN -80=ENOMSG
#
# Task States
#
TaskState 0xBF 1=dummy, 2=Waiting, 4=New, 8=Terminated, 16=Suspended, 32=Terminating, 128=Ready
#
# API Functions
#
32 k_sched_lock
33 k_sched_unlock
34 k_busy_wait Timeout=%u us
35 irq_enable irq=%u
36 irq_disable irq=%u
37 k_mutex_init | Returns %ErrCodePosix
38 k_mutex_unlock | Returns %ErrCodePosix
39 k_mutex_lock mutex=%I, | Returns %ErrCodePosix
40 k_sem_init sem=%I, initial_count=%u, | Returns %ErrCodePosix
41 k_sem_give sem=%I | Returns %ErrCodePosix
42 k_sem_take sem=%I, Timeout=%TimeOut| Returns %ErrCodePosix
91 k_sem_reset sem=%I
43 k_queue_init q=%I
44 k_queue_append q=%I, data=%p | Returns (void)(%ErrCodePosix)
45 k_queue_alloc_append q=%I, data=%p | Returns %ErrCodePosix
46 k_queue_prepend q=%I, data=%p | Returns (void)(%ErrCodePosix)
47 k_queue_alloc_prepend q=%I, data=%p | Returns %ErrCodePosix
48 k_queue_insert q=%I, data=%p | Returns (void)(%ErrCodePosix)
49 k_queue_append_list q=%I, head=%p, tail=%p | Returns %ErrCodePosix
50 k_queue_get q=%I, Timeout=%TimeOut | Returns %p
51 k_queue_remove q=%I, data=%p | Returns &Bool
52 k_queue_cancel_wait q=%I
53 k_queue_peek_head q=%I | Returns %p
54 k_queue_peek_tail q=%I | Returns %p
55 k_stack_init stack=%I, buffer=%p, num_entries=%u
56 k_stack_push stack=%I, data=%p | Returns %ErrCodePosix
57 k_stack_pop stack=%I, data=%p, Timeout=%TimeOut | Returns %ErrCodePosix
58 k_stack_cleanup stack=%I | Returns %ErrCodePosix
59 k_msgq_init msgq=%I, buffer=%p, msg_size=%u, max_msgs=%us
60 k_msgq_put msgq=%I, data=%p, Timeout=%TimeOut | Returns %ErrCodeMsg
61 k_msgq_get msgq=%I, data=%p, Timeout=%TimeOut | Returns %ErrCodeMsg
62 k_msgq_cleanup msgq=%I | Returns %ErrCodePosix
63 k_msgq_peek msgq=%I, data=%p | Returns %ErrCodeMsg
64 k_msgq_purge msgq=%I
65 k_mbox_init mbox=%I
66 k_mbox_put mbox=%I, tx_msg=%p, Timeout=%TimeOut | Returns %ErrCodeMsg
67 k_mbox_async_put mbox=%I, tx_msg=%p, sem=%I | Returns (void)(%ErrCodeMsg)
68 k_mbox_get mbox=%I, rx_msg=%p, buffer=%p, Timeout=%TimeOut | Returns %ErrCodeMsg
69 k_mbox_data_get rx_msg=%p, buffer=%p
70 k_mbox_data_block_get rx_msg=%p, pool=%p, block=%p, Timeout=%TimeOut | Returns %ErrCodePosix
71 k_pipe_init pipe=%I, buffer=%p, size=%u
72 k_pipe_cleanup pipe=%I | Returns %ErrCodePosix
73 k_pipe_put pipe=%I, data=%p, bytes_to_write=%u, bytes_written=%u, min_xfer=%u, Timeout=%TimeOut | Returns %ErrCodePosix
74 k_pipe_get pipe=%I, data=%p, bytes_to_read=%u, bytes_read=%u, min_xfer=%u, Timeout=%TimeOut | Returns %ErrCodePosix
75 k_pipe_block_put pipe=%I, block=%p, bytes_to_write=%u, sem=%I | Returns (void)(%ErrCodePosix)
76 k_heap_init heap=%I, mem=%p, bytes=%u
77 k_heap_alloc heap=%I, bytes=%u, Timeout=%TimeOut | Returns %p
78 k_heap_free heap=%I, mem=%p
79 k_heap_aligned_alloc heap=%I
84 k_mem_slab_init slab=%I, buffer=%p, bock_size=%u, num_blocks=%u | Returns ErrCodePosix
85 k_mem_slab_alloc slab=%I, mem=%p, Timeout=%TimeOut | Returns %ErrCodePosix
86 k_mem_slab_free slab=%I, mem=%p
87 k_timer_init timer=%I, expiry_fn=%I, stop_fn=%I
88 k_timer_start timer=%I, duration=%TimeOut, period=%u Ticks
89 k_timer_stop timer=%I
90 k_timer_status_sync timer=%I
91 k_timer_user_data_set timer=%I, user_data=%p
92 k_timer_user_data_get timer=%I | Returns %p
93 timer->expiry_fn timer=%I
94 timer->stop_fn timer=%I
95 k_sleep msec=%u ms | Returns %u
96 k_msleep msec=%u ms | Returns %u
97 k_usleep usec=%u us | Returns %u
98 k_thread_priority_set thread=%t, priority=%u
99 k_thread_wakeup
100 k_thread_abort
101 k_thread_start
102 k_thread_suspend
103 k_thread_resume
104 k_thread_join
105 k_thread_yield
106 k_thread_usermode_enter
107 k_thread_foreach
108 k_thread_foreach_unlocked
155 k_thread_name_set thread=%T
109 k_condvar_init condvar=%I
110 k_condvar_signal condvar=%I
111 k_condvat_broadcast condvar=%I
112 k_condvar_wait condvar=%I
113 k_work_cancel work=%I
114 k_work_canel_delayable dwork=%I
115 k_work_cancel_delayable_sync dwork=%I, sync=%I
116 k_work_cancel_sync dwork=%I, sync=%I
117 k_work_delayable_init dwork=%I
118 k_work_queue_drain queue=%I
119 k_work_flush work=%I
120 k_work_flush_delayable dwork=%I, sync=%I
121 k_work_init work=%I
122 k_work_poll_cancel work=%I
123 k_work_poll_init work=%I
124 k_work_poll_submit work=%I, Timeout=%TimeOut
125 k_work_poll_submit_to_queue work_q=%I, work=%I, Timeout=%TimeOut
126 k_work_queue_start queue=%I
127 k_work_reschedule dwork=%I, Delay=%TimeOut
128 k_work_reschedule_for_queue queue=%I, dwork=%I, Delay=%TimeOut
129 k_work_schedule dwork=%I, Delay=%TimeOut
130 k_work_reschedule_for_queue queue=%I, dwork=%I, Delay=%TimeOut
131 k_work_submit work=%I
132 k_work_submit_to_queue queue=%I, work=%I
133 k_work_queue_unplug queue=%I
142 k_fifo_init fifo=%I
143 k_fifo_cancel_wait fifo=%I
144 k_fifo_alloc_put fifo=%I, data=%I
145 k_fifo_put_list fifo=%I
146 k_fifo_put_slist fifo=%I
147 k_fifo_peak_head fifo=%I
148 k_fifo_peak_tail fifo=%I
149 k_fifo_put fifo=%I, data=%I
150 k_fifo_get fifo=%I, Timeout=%TimeOut
151 k_lifo_init lifo=%I
152 k_lifo_put lifo=%I
153 k_lifo_get lifo=%I, Timeout=%TimeOut
154 k_lifo_alloc_put lifo=%I, data=%I

View file

@ -65,42 +65,6 @@ void sys_trace_idle(void)
SEGGER_SYSVIEW_OnIdle();
}
void sys_trace_semaphore_init(struct k_sem *sem)
{
SEGGER_SYSVIEW_RecordU32(
SYS_TRACE_ID_SEMA_INIT, (uint32_t)(uintptr_t)sem);
}
void sys_trace_semaphore_take(struct k_sem *sem)
{
SEGGER_SYSVIEW_RecordU32(
SYS_TRACE_ID_SEMA_TAKE, (uint32_t)(uintptr_t)sem);
}
void sys_trace_semaphore_give(struct k_sem *sem)
{
SEGGER_SYSVIEW_RecordU32(
SYS_TRACE_ID_SEMA_GIVE, (uint32_t)(uintptr_t)sem);
}
void sys_trace_mutex_init(struct k_mutex *mutex)
{
SEGGER_SYSVIEW_RecordU32(
SYS_TRACE_ID_MUTEX_INIT, (uint32_t)(uintptr_t)mutex);
}
void sys_trace_mutex_lock(struct k_mutex *mutex)
{
SEGGER_SYSVIEW_RecordU32(
SYS_TRACE_ID_MUTEX_LOCK, (uint32_t)(uintptr_t)mutex);
}
void sys_trace_mutex_unlock(struct k_mutex *mutex)
{
SEGGER_SYSVIEW_RecordU32(
SYS_TRACE_ID_MUTEX_UNLOCK, (uint32_t)(uintptr_t)mutex);
}
static int sysview_init(const struct device *arg)
{
ARG_UNUSED(arg);

View file

@ -16,70 +16,152 @@
extern "C" {
#endif
#define SYS_TRACE_ID_OFFSET (32u)
#define TID_OFFSET (32u)
#define SYS_TRACE_ID_MUTEX_INIT (1u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_MUTEX_UNLOCK (2u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_MUTEX_LOCK (3u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_SEMA_INIT (4u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_SEMA_GIVE (5u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_SEMA_TAKE (6u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_SLEEP (7u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_SEMA_RESET (8u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_PRIORITY_SET (9u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_THREAD_WAKEUP (10u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_THREAD_ABORT (11u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_THREAD_START (12u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_THREAD_SUSPEND (13u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_THREAD_RESUME (14u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_SEMA_BLOCKING (15u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_THREAD_JOIN (16u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_MSLEEP (17u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_USLEEP (18u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_BUSYWAIT (19u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_THREAD_FOREACH (20u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_THREAD_FOREACH_UNLOCKED (21u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_THREAD_YIELD (22u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_THREAD_USERMODE_ENTER (23u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_CONDVAR_INIT (24u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_CONDVAR_SIGNAL (25u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_CONDVAR_BROADCAST (26u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_CONDVAR_WAIT (27u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_WORK_CANCEL (28u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_WORK_CANCEL_DELAYABLE (29u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_WORK_CANCEL_DELAYABLE_SYNC (30u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_WORK_CANCEL_SYNC (31u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_WORK_DELAYABLE_INIT (32u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_WORK_QUEUE_DRAIN (33u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_WORK_FLUSH (34u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_WORK_FLUSH_DELAYABLE (35u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_WORK_INIT (36u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_WORK_POLL_CANCEL (37u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_WORK_POLL_INIT (38u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_WORK_POLL_SUBMIT (39u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_WORK_POLL_SUBMIT_TO_QUEUE (40u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_WORK_QUEUE_START (41u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_WORK_RESCHEDULE (42u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_WORK_RESCHEDULE_FOR_QUEUE (43u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_WORK_SCHEDULE (44u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_WORK_SCHEDULE_FOR_QUEUE (45u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_WORK_SUBMIT (46u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_WORK_SUBMIT_TO_QUEUE (47u + SYS_TRACE_ID_OFFSET)
#define SYS_TRACE_ID_WORK_QUEUE_UNPLUG (48u + SYS_TRACE_ID_OFFSET)
#define TID_SCHED_LOCK (0u + TID_OFFSET)
#define TID_SCHED_UNLOCK (1u + TID_OFFSET)
#define TID_BUSYWAIT (2u + TID_OFFSET)
#define TID_IRQ_ENABLE (3u + TID_OFFSET)
#define TID_IRQ_DISABLE (4u + TID_OFFSET)
#define TID_MUTEX_INIT (5u + TID_OFFSET)
#define TID_MUTEX_UNLOCK (6u + TID_OFFSET)
#define TID_MUTEX_LOCK (7u + TID_OFFSET)
#define TID_SEMA_INIT (8u + TID_OFFSET)
#define TID_SEMA_GIVE (9u + TID_OFFSET)
#define TID_SEMA_TAKE (10u + TID_OFFSET)
#define TID_SEMA_RESET (59u + TID_OFFSET)
#define TID_QUEUE_INIT (11u + TID_OFFSET)
#define TID_QUEUE_APPEND (12u + TID_OFFSET)
#define TID_QUEUE_ALLOC_APPEND (13u + TID_OFFSET)
#define TID_QUEUE_PREPEND (14u + TID_OFFSET)
#define TID_QUEUE_ALLOC_PREPEND (15u + TID_OFFSET)
#define TID_QUEUE_INSERT (16u + TID_OFFSET)
#define TID_QUEUE_APPEND_LIST (17u + TID_OFFSET)
#define TID_QUEUE_GET (18u + TID_OFFSET)
#define TID_QUEUE_REMOVE (19u + TID_OFFSET)
#define TID_QUEUE_CANCEL_WAIT (20u + TID_OFFSET)
#define TID_QUEUE_PEAK_HEAD (21u + TID_OFFSET)
#define TID_QUEUE_PEAK_TAIL (22u + TID_OFFSET)
#define TID_STACK_INIT (23u + TID_OFFSET)
#define TID_STACK_PUSH (24u + TID_OFFSET)
#define TID_STACK_POP (25u + TID_OFFSET)
#define TID_QUEUE_STACK_CLEANUP (26u + TID_OFFSET)
#define TID_MSGQ_INIT (27u + TID_OFFSET)
#define TID_MSGQ_PUT (28u + TID_OFFSET)
#define TID_MSGQ_GET (29u + TID_OFFSET)
#define TID_MSGQ_CLEANUP (30u + TID_OFFSET)
#define TID_MSQG_PEEK (31u + TID_OFFSET)
#define TID_MSGQ_PURGE (32u + TID_OFFSET)
#define TID_MBOX_INIT (33u + TID_OFFSET)
#define TID_MBOX_PUT (34u + TID_OFFSET)
#define TID_MBOX_ASYNC_PUT (35u + TID_OFFSET)
#define TID_MBOX_GET (36u + TID_OFFSET)
#define TID_MBOX_DATA_GET (37u + TID_OFFSET)
#define TID_MBOX_DATA_BLOCK_GET (38u + TID_OFFSET)
#define TID_PIPE_INIT (39u + TID_OFFSET)
#define TID_PIPE_CLEANUP (40u + TID_OFFSET)
#define TID_PIPE_PUT (41u + TID_OFFSET)
#define TID_PIPE_GET (42u + TID_OFFSET)
#define TID_PIPE_BLOCK_GET (43u + TID_OFFSET)
#define TID_HEAP_INIT (44u + TID_OFFSET)
#define TID_HEAP_ALLOC (45u + TID_OFFSET)
#define TID_HEAP_FREE (46u + TID_OFFSET)
#define TID_HEAP_ALIGNED_ALLOC (47u + TID_OFFSET)
#define TID_MSLAB_INIT (52u + TID_OFFSET)
#define TID_MSLAB_ALLOC (53u + TID_OFFSET)
#define TID_MSLAB_FREE (54u + TID_OFFSET)
#define TID_TIMER_INIT (55u + TID_OFFSET)
#define TID_TIMER_START (56u + TID_OFFSET)
#define TID_TIMER_STOP (57u + TID_OFFSET)
#define TID_TIMER_STATUS_SYNC (58u + TID_OFFSET)
#define TID_TIMER_USER_DATA_SET (59u + TID_OFFSET)
#define TID_TIMER_USER_DATA_GET (60u + TID_OFFSET)
#define TID_TIMER_EXPIRY_FN (61u + TID_OFFSET)
#define TID_TIMER_STOP_FN (62u + TID_OFFSET)
#define TID_SLEEP (63u + TID_OFFSET)
#define TID_MSLEEP (64u + TID_OFFSET)
#define TID_USLEEP (65u + TID_OFFSET)
#define TID_THREAD_PRIORITY_SET (66u + TID_OFFSET)
#define TID_THREAD_WAKEUP (67u + TID_OFFSET)
#define TID_THREAD_ABORT (68u + TID_OFFSET)
#define TID_THREAD_START (69u + TID_OFFSET)
#define TID_THREAD_SUSPEND (70u + TID_OFFSET)
#define TID_THREAD_RESUME (71u + TID_OFFSET)
#define TID_THREAD_JOIN (72u + TID_OFFSET)
#define TID_THREAD_YIELD (73u + TID_OFFSET)
#define TID_THREAD_USERMODE_ENTER (74u + TID_OFFSET)
#define TID_THREAD_FOREACH (75u + TID_OFFSET)
#define TID_THREAD_FOREACH_UNLOCKED (76u + TID_OFFSET)
#define TID_THREAD_NAME_SET (123u + TID_OFFSET)
#define TID_CONDVAR_INIT (77u + TID_OFFSET)
#define TID_CONDVAR_SIGNAL (78u + TID_OFFSET)
#define TID_CONDVAR_BROADCAST (79u + TID_OFFSET)
#define TID_CONDVAR_WAIT (80u + TID_OFFSET)
#define TID_WORK_CANCEL (81u + TID_OFFSET)
#define TID_WORK_CANCEL_DELAYABLE (82u + TID_OFFSET)
#define TID_WORK_CANCEL_DELAYABLE_SYNC (83u + TID_OFFSET)
#define TID_WORK_CANCEL_SYNC (84u + TID_OFFSET)
#define TID_WORK_DELAYABLE_INIT (85u + TID_OFFSET)
#define TID_WORK_QUEUE_DRAIN (86u + TID_OFFSET)
#define TID_WORK_FLUSH (87u + TID_OFFSET)
#define TID_WORK_FLUSH_DELAYABLE (88u + TID_OFFSET)
#define TID_WORK_INIT (89u + TID_OFFSET)
#define TID_WORK_POLL_CANCEL (90u + TID_OFFSET)
#define TID_WORK_POLL_INIT (91u + TID_OFFSET)
#define TID_WORK_POLL_SUBMIT (92u + TID_OFFSET)
#define TID_WORK_POLL_SUBMIT_TO_QUEUE (93u + TID_OFFSET)
#define TID_WORK_QUEUE_START (94u + TID_OFFSET)
#define TID_WORK_RESCHEDULE (95u + TID_OFFSET)
#define TID_WORK_RESCHEDULE_FOR_QUEUE (96u + TID_OFFSET)
#define TID_WORK_SCHEDULE (97u + TID_OFFSET)
#define TID_WORK_SCHEDULE_FOR_QUEUE (98u + TID_OFFSET)
#define TID_WORK_SUBMIT (99u + TID_OFFSET)
#define TID_WORK_SUBMIT_TO_QUEUE (100u + TID_OFFSET)
#define TID_WORK_QUEUE_UNPLUG (101u + TID_OFFSET)
#define TID_FIFO_INIT (110u + TID_OFFSET)
#define TID_FIFO_CANCEL_WAIT (111u + TID_OFFSET)
#define TID_FIFO_ALLOC_PUT (112u + TID_OFFSET)
#define TID_FIFO_PUT_LIST (113u + TID_OFFSET)
#define TID_FIFO_PUT_SLIST (114u + TID_OFFSET)
#define TID_FIFO_PEAK_HEAD (115u + TID_OFFSET)
#define TID_FIFO_PEAK_TAIL (116u + TID_OFFSET)
#define TID_FIFO_PUT (117u + TID_OFFSET)
#define TID_FIFO_GET (118u + TID_OFFSET)
#define TID_LIFO_INIT (119u + TID_OFFSET)
#define TID_LIFO_PUT (120u + TID_OFFSET)
#define TID_LIFO_GET (121u + TID_OFFSET)
#define TID_LIFO_ALLOC_PUT (122u + TID_OFFSET)
/* latest ID is 123 */
void sys_trace_thread_info(struct k_thread *thread);
#define sys_port_trace_k_thread_foreach_enter() \
SEGGER_SYSVIEW_RecordVoid(SYS_TRACE_ID_THREAD_FOREACH)
#define sys_port_trace_k_thread_foreach_enter() SEGGER_SYSVIEW_RecordVoid(TID_THREAD_FOREACH)
#define sys_port_trace_k_thread_foreach_exit() \
SEGGER_SYSVIEW_RecordEndCall(SYS_TRACE_ID_THREAD_FOREACH)
#define sys_port_trace_k_thread_foreach_exit() SEGGER_SYSVIEW_RecordEndCall(TID_THREAD_FOREACH)
#define sys_port_trace_k_thread_foreach_unlocked_enter() \
SEGGER_SYSVIEW_RecordVoid(SYS_TRACE_ID_THREAD_FOREACH_UNLOCKED)
SEGGER_SYSVIEW_RecordVoid(TID_THREAD_FOREACH_UNLOCKED)
#define sys_port_trace_k_thread_foreach_unlocked_exit() \
SEGGER_SYSVIEW_RecordEndCall(SYS_TRACE_ID_THREAD_FOREACH_UNLOCKED)
SEGGER_SYSVIEW_RecordEndCall(TID_THREAD_FOREACH_UNLOCKED)
#define sys_port_trace_k_thread_create(new_thread) \
do { \
@ -88,65 +170,66 @@ void sys_trace_thread_info(struct k_thread *thread);
} while (0)
#define sys_port_trace_k_thread_user_mode_enter() \
SEGGER_SYSVIEW_RecordVoid(SYS_TRACE_ID_THREAD_USERMODE_ENTER)
SEGGER_SYSVIEW_RecordVoid(TID_THREAD_USERMODE_ENTER)
#define sys_port_trace_k_thread_heap_assign(thread, heap)
#define sys_port_trace_k_thread_join_enter(thread, timeout) \
SEGGER_SYSVIEW_RecordU32x2(SYS_TRACE_ID_THREAD_JOIN, (uint32_t)(uintptr_t)thread, \
k_ticks_to_ms_floor32((uint32_t)timeout.ticks))
SEGGER_SYSVIEW_RecordU32x2(TID_THREAD_JOIN, (uint32_t)(uintptr_t)thread, \
(uint32_t)timeout.ticks)
#define sys_port_trace_k_thread_join_blocking(thread, timeout)
#define sys_port_trace_k_thread_join_exit(thread, timeout, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(SYS_TRACE_ID_THREAD_JOIN, (int32_t)ret)
SEGGER_SYSVIEW_RecordEndCallU32(TID_THREAD_JOIN, (int32_t)ret)
#define sys_port_trace_k_thread_sleep_enter(timeout) \
SEGGER_SYSVIEW_RecordU32(SYS_TRACE_ID_SLEEP, k_ticks_to_ms_floor32((uint32_t)timeout.ticks))
SEGGER_SYSVIEW_RecordU32(TID_SLEEP, (uint32_t)timeout.ticks)
#define sys_port_trace_k_thread_sleep_exit(timeout, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(SYS_TRACE_ID_SLEEP, (int32_t)ret)
SEGGER_SYSVIEW_RecordEndCallU32(TID_SLEEP, (int32_t)ret)
#define sys_port_trace_k_thread_msleep_enter(ms) \
SEGGER_SYSVIEW_RecordU32(SYS_TRACE_ID_MSLEEP, (uint32_t)ms)
#define sys_port_trace_k_thread_msleep_enter(ms) SEGGER_SYSVIEW_RecordU32(TID_MSLEEP, (uint32_t)ms)
#define sys_port_trace_k_thread_msleep_exit(ms, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(SYS_TRACE_ID_MSLEEP, (int32_t)ret)
SEGGER_SYSVIEW_RecordEndCallU32(TID_MSLEEP, (int32_t)ret)
#define sys_port_trace_k_thread_usleep_enter(us) \
SEGGER_SYSVIEW_RecordU32(SYS_TRACE_ID_USLEEP, (uint32_t)us)
#define sys_port_trace_k_thread_usleep_enter(us) SEGGER_SYSVIEW_RecordU32(TID_USLEEP, (uint32_t)us)
#define sys_port_trace_k_thread_usleep_exit(us, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(SYS_TRACE_ID_USLEEP, (int32_t)ret)
SEGGER_SYSVIEW_RecordEndCallU32(TID_USLEEP, (int32_t)ret)
#define sys_port_trace_k_thread_busy_wait_enter(usec_to_wait) \
SEGGER_SYSVIEW_RecordU32(SYS_TRACE_ID_BUSYWAIT, (uint32_t)usec_to_wait)
SEGGER_SYSVIEW_RecordU32(TID_BUSYWAIT, (uint32_t)usec_to_wait)
#define sys_port_trace_k_thread_busy_wait_exit(usec_to_wait) \
SEGGER_SYSVIEW_RecordEndCall(SYS_TRACE_ID_BUSYWAIT)
SEGGER_SYSVIEW_RecordEndCall(TID_BUSYWAIT)
#define sys_port_trace_k_thread_yield() SEGGER_SYSVIEW_RecordVoid(SYS_TRACE_ID_THREAD_YIELD)
#define sys_port_trace_k_thread_yield() SEGGER_SYSVIEW_RecordVoid(TID_THREAD_YIELD)
#define sys_port_trace_k_thread_wakeup(thread) \
SEGGER_SYSVIEW_RecordU32(SYS_TRACE_ID_THREAD_WAKEUP, (uint32_t)(uintptr_t)thread)
SEGGER_SYSVIEW_RecordU32(TID_THREAD_WAKEUP, (uint32_t)(uintptr_t)thread)
#define sys_port_trace_k_thread_start(thread) \
SEGGER_SYSVIEW_RecordU32(SYS_TRACE_ID_THREAD_START, (uint32_t)(uintptr_t)thread)
SEGGER_SYSVIEW_RecordU32(TID_THREAD_START, (uint32_t)(uintptr_t)thread)
#define sys_port_trace_k_thread_abort(thread) \
SEGGER_SYSVIEW_RecordU32(SYS_TRACE_ID_THREAD_ABORT, (uint32_t)(uintptr_t)thread)
SEGGER_SYSVIEW_RecordU32(TID_THREAD_ABORT, (uint32_t)(uintptr_t)thread)
#define sys_port_trace_k_thread_suspend_enter(thread) \
SEGGER_SYSVIEW_RecordU32(SYS_TRACE_ID_THREAD_SUSPEND, (uint32_t)(uintptr_t)thread)
SEGGER_SYSVIEW_RecordU32(TID_THREAD_SUSPEND, (uint32_t)(uintptr_t)thread)
#define sys_port_trace_k_thread_suspend_exit(thread) \
SEGGER_SYSVIEW_RecordEndCall(SYS_TRACE_ID_THREAD_SUSPEND)
SEGGER_SYSVIEW_RecordEndCall(TID_THREAD_SUSPEND)
#define sys_port_trace_k_thread_resume_enter(thread) \
SEGGER_SYSVIEW_RecordU32(SYS_TRACE_ID_THREAD_RESUME, (uint32_t)(uintptr_t)thread)
SEGGER_SYSVIEW_RecordU32(TID_THREAD_RESUME, (uint32_t)(uintptr_t)thread)
#define sys_port_trace_k_thread_resume_exit(thread) SEGGER_SYSVIEW_RecordEndCall(TID_THREAD_RESUME)
#define sys_port_trace_k_thread_sched_lock()
#define sys_port_trace_k_thread_sched_unlock()
#define sys_port_trace_k_thread_name_set(thread, ret)
#define sys_port_trace_k_thread_name_set(thread, ret) \
SEGGER_SYSVIEW_RecordU32(TID_THREAD_NAME_SET, (uint32_t)(uintptr_t)thread)
#define sys_port_trace_k_thread_switched_out() sys_trace_k_thread_switched_out()
@ -155,13 +238,13 @@ void sys_trace_thread_info(struct k_thread *thread);
#define sys_port_trace_k_thread_info(thread) sys_trace_k_thread_info(thread)
#define sys_port_trace_k_thread_sched_wakeup(thread) \
SEGGER_SYSVIEW_RecordU32(SYS_TRACE_ID_THREAD_WAKEUP, (uint32_t)(uintptr_t)thread)
SEGGER_SYSVIEW_RecordU32(TID_THREAD_WAKEUP, (uint32_t)(uintptr_t)thread)
#define sys_port_trace_k_thread_sched_abort(thread) \
SEGGER_SYSVIEW_RecordU32(SYS_TRACE_ID_THREAD_ABORT, (uint32_t)(uintptr_t)thread)
SEGGER_SYSVIEW_RecordU32(TID_THREAD_ABORT, (uint32_t)(uintptr_t)thread)
#define sys_port_trace_k_thread_sched_priority_set(thread, prio) \
SEGGER_SYSVIEW_RecordU32x2(SYS_TRACE_ID_PRIORITY_SET, \
SEGGER_SYSVIEW_RecordU32x2(TID_THREAD_PRIORITY_SET, \
SEGGER_SYSVIEW_ShrinkId((uint32_t)thread), prio);
#define sys_port_trace_k_thread_sched_ready(thread) \
@ -176,143 +259,139 @@ void sys_trace_thread_info(struct k_thread *thread);
SEGGER_SYSVIEW_OnTaskStopReady((uint32_t)(uintptr_t)thread, 3 << 3)
#define sys_port_trace_k_work_init(work) \
SEGGER_SYSVIEW_RecordU32(SYS_TRACE_ID_WORK_INIT, (uint32_t)(uintptr_t)work)
SEGGER_SYSVIEW_RecordU32(TID_WORK_INIT, (uint32_t)(uintptr_t)work)
#define sys_port_trace_k_work_submit_to_queue_enter(queue, work) \
SEGGER_SYSVIEW_RecordU32x2(SYS_TRACE_ID_WORK_SUBMIT_TO_QUEUE, (uint32_t)(uintptr_t)queue, \
SEGGER_SYSVIEW_RecordU32x2(TID_WORK_SUBMIT_TO_QUEUE, (uint32_t)(uintptr_t)queue, \
(uint32_t)(uintptr_t)work)
#define sys_port_trace_k_work_submit_to_queue_exit(queue, work, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(SYS_TRACE_ID_WORK_SUBMIT_TO_QUEUE, (uint32_t)ret)
SEGGER_SYSVIEW_RecordEndCallU32(TID_WORK_SUBMIT_TO_QUEUE, (uint32_t)ret)
#define sys_port_trace_k_work_submit_enter(work) \
SEGGER_SYSVIEW_RecordU32(SYS_TRACE_ID_WORK_SUBMIT, (uint32_t)(uintptr_t)work)
SEGGER_SYSVIEW_RecordU32(TID_WORK_SUBMIT, (uint32_t)(uintptr_t)work)
#define sys_port_trace_k_work_submit_exit(work, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(SYS_TRACE_ID_WORK_SUBMIT, (uint32_t)ret)
SEGGER_SYSVIEW_RecordEndCallU32(TID_WORK_SUBMIT, (uint32_t)ret)
#define sys_port_trace_k_work_flush_enter(work) \
SEGGER_SYSVIEW_RecordU32(SYS_TRACE_ID_WORK_FLUSH, (uint32_t)(uintptr_t)work)
SEGGER_SYSVIEW_RecordU32(TID_WORK_FLUSH, (uint32_t)(uintptr_t)work)
#define sys_port_trace_k_work_flush_blocking(work, timeout)
#define sys_port_trace_k_work_flush_exit(work, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(SYS_TRACE_ID_WORK_FLUSH, (uint32_t)ret)
SEGGER_SYSVIEW_RecordEndCallU32(TID_WORK_FLUSH, (uint32_t)ret)
#define sys_port_trace_k_work_cancel_enter(work) \
SEGGER_SYSVIEW_RecordU32(SYS_TRACE_ID_WORK_CANCEL, (uint32_t)(uintptr_t)work)
SEGGER_SYSVIEW_RecordU32(TID_WORK_CANCEL, (uint32_t)(uintptr_t)work)
#define sys_port_trace_k_work_cancel_exit(work, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(SYS_TRACE_ID_WORK_CANCEL, (uint32_t)ret)
SEGGER_SYSVIEW_RecordEndCallU32(TID_WORK_CANCEL, (uint32_t)ret)
#define sys_port_trace_k_work_cancel_sync_enter(work, sync) \
SEGGER_SYSVIEW_RecordU32x2(SYS_TRACE_ID_WORK_CANCEL_SYNC, (uint32_t)(uintptr_t)work, \
SEGGER_SYSVIEW_RecordU32x2(TID_WORK_CANCEL_SYNC, (uint32_t)(uintptr_t)work, \
(uint32_t)(uintptr_t)sync)
#define sys_port_trace_k_work_cancel_sync_blocking(work, sync)
#define sys_port_trace_k_work_cancel_sync_exit(work, sync, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(SYS_TRACE_ID_WORK_CANCEL_SYNC, (uint32_t)ret)
SEGGER_SYSVIEW_RecordEndCallU32(TID_WORK_CANCEL_SYNC, (uint32_t)ret)
#define sys_port_trace_k_work_queue_start_enter(queue) \
SEGGER_SYSVIEW_RecordU32(SYS_TRACE_ID_WORK_QUEUE_START, (uint32_t)(uintptr_t)queue)
SEGGER_SYSVIEW_RecordU32(TID_WORK_QUEUE_START, (uint32_t)(uintptr_t)queue)
#define sys_port_trace_k_work_queue_start_exit(queue) \
SEGGER_SYSVIEW_RecordEndCall(SYS_TRACE_ID_WORK_QUEUE_START)
SEGGER_SYSVIEW_RecordEndCall(TID_WORK_QUEUE_START)
#define sys_port_trace_k_work_queue_drain_enter(queue) \
SEGGER_SYSVIEW_RecordU32(SYS_TRACE_ID_WORK_QUEUE_DRAIN, (uint32_t)(uintptr_t)queue)
SEGGER_SYSVIEW_RecordU32(TID_WORK_QUEUE_DRAIN, (uint32_t)(uintptr_t)queue)
#define sys_port_trace_k_work_queue_drain_exit(queue, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(SYS_TRACE_ID_WORK_QUEUE_DRAIN, (uint32_t)ret)
SEGGER_SYSVIEW_RecordEndCallU32(TID_WORK_QUEUE_DRAIN, (uint32_t)ret)
#define sys_port_trace_k_work_queue_unplug_enter(queue) \
SEGGER_SYSVIEW_RecordU32(SYS_TRACE_ID_WORK_QUEUE_UNPLUG, (uint32_t)(uintptr_t)queue)
SEGGER_SYSVIEW_RecordU32(TID_WORK_QUEUE_UNPLUG, (uint32_t)(uintptr_t)queue)
#define sys_port_trace_k_work_queue_unplug_exit(queue, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(SYS_TRACE_ID_WORK_QUEUE_UNPLUG, (uint32_t)ret)
SEGGER_SYSVIEW_RecordEndCallU32(TID_WORK_QUEUE_UNPLUG, (uint32_t)ret)
#define sys_port_trace_k_work_delayable_init(dwork) \
SEGGER_SYSVIEW_RecordU32(SYS_TRACE_ID_WORK_DELAYABLE_INIT, (uint32_t)(uintptr_t)dwork)
SEGGER_SYSVIEW_RecordU32(TID_WORK_DELAYABLE_INIT, (uint32_t)(uintptr_t)dwork)
#define sys_port_trace_k_work_schedule_for_queue_enter(queue, dwork, delay) \
SEGGER_SYSVIEW_RecordU32x3(SYS_TRACE_ID_WORK_SCHEDULE_FOR_QUEUE, \
(uint32_t)(uintptr_t)queue, (uint32_t)(uintptr_t)dwork, \
k_ticks_to_ms_floor32((uint32_t)delay.ticks))
SEGGER_SYSVIEW_RecordU32x3(TID_WORK_SCHEDULE_FOR_QUEUE, (uint32_t)(uintptr_t)queue, \
(uint32_t)(uintptr_t)dwork, (uint32_t)delay.ticks)
#define sys_port_trace_k_work_schedule_for_queue_exit(queue, dwork, delay, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(SYS_TRACE_ID_WORK_SCHEDULE_FOR_QUEUE, (uint32_t)ret)
SEGGER_SYSVIEW_RecordEndCallU32(TID_WORK_SCHEDULE_FOR_QUEUE, (uint32_t)ret)
#define sys_port_trace_k_work_schedule_enter(dwork, delay) \
SEGGER_SYSVIEW_RecordU32x2(SYS_TRACE_ID_WORK_SCHEDULE, (uint32_t)(uintptr_t)dwork, \
k_ticks_to_ms_floor32((uint32_t)delay.ticks))
SEGGER_SYSVIEW_RecordU32x2(TID_WORK_SCHEDULE, (uint32_t)(uintptr_t)dwork, \
(uint32_t)delay.ticks)
#define sys_port_trace_k_work_schedule_exit(dwork, delay, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(SYS_TRACE_ID_WORK_SCHEDULE, (uint32_t)ret)
SEGGER_SYSVIEW_RecordEndCallU32(TID_WORK_SCHEDULE, (uint32_t)ret)
#define sys_port_trace_k_work_reschedule_for_queue_enter(queue, dwork, delay) \
SEGGER_SYSVIEW_RecordU32x3(SYS_TRACE_ID_WORK_RESCHEDULE_FOR_QUEUE, \
(uint32_t)(uintptr_t)queue, (uint32_t)(uintptr_t)dwork, \
k_ticks_to_ms_floor32((uint32_t)delay.ticks))
SEGGER_SYSVIEW_RecordU32x3(TID_WORK_RESCHEDULE_FOR_QUEUE, (uint32_t)(uintptr_t)queue, \
(uint32_t)(uintptr_t)dwork, (uint32_t)delay.ticks)
#define sys_port_trace_k_work_reschedule_for_queue_exit(queue, dwork, delay, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(SYS_TRACE_ID_WORK_RESCHEDULE_FOR_QUEUE, (uint32_t)ret)
SEGGER_SYSVIEW_RecordEndCallU32(TID_WORK_RESCHEDULE_FOR_QUEUE, (uint32_t)ret)
#define sys_port_trace_k_work_reschedule_enter(dwork, delay) \
SEGGER_SYSVIEW_RecordU32x2(SYS_TRACE_ID_WORK_RESCHEDULE, (uint32_t)(uintptr_t)dwork, \
k_ticks_to_ms_floor32((uint32_t)delay.ticks))
SEGGER_SYSVIEW_RecordU32x2(TID_WORK_RESCHEDULE, (uint32_t)(uintptr_t)dwork, \
(uint32_t)delay.ticks)
#define sys_port_trace_k_work_reschedule_exit(dwork, delay, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(SYS_TRACE_ID_WORK_RESCHEDULE, (uint32_t)ret)
SEGGER_SYSVIEW_RecordEndCallU32(TID_WORK_RESCHEDULE, (uint32_t)ret)
#define sys_port_trace_k_work_flush_delayable_enter(dwork, sync) \
SEGGER_SYSVIEW_RecordU32x2(SYS_TRACE_ID_WORK_FLUSH_DELAYABLE, (uint32_t)(uintptr_t)dwork, \
SEGGER_SYSVIEW_RecordU32x2(TID_WORK_FLUSH_DELAYABLE, (uint32_t)(uintptr_t)dwork, \
(uint32_t)(uintptr_t)sync)
#define sys_port_trace_k_work_flush_delayable_exit(dwork, sync, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(SYS_TRACE_ID_WORK_FLUSH_DELAYABLE, (uint32_t)ret)
SEGGER_SYSVIEW_RecordEndCallU32(TID_WORK_FLUSH_DELAYABLE, (uint32_t)ret)
#define sys_port_trace_k_work_cancel_delayable_enter(dwork) \
SEGGER_SYSVIEW_RecordU32(SYS_TRACE_ID_WORK_CANCEL_DELAYABLE, (uint32_t)(uintptr_t)dwork)
SEGGER_SYSVIEW_RecordU32(TID_WORK_CANCEL_DELAYABLE, (uint32_t)(uintptr_t)dwork)
#define sys_port_trace_k_work_cancel_delayable_exit(dwork, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(SYS_TRACE_ID_WORK_CANCEL_DELAYABLE, (uint32_t)ret)
SEGGER_SYSVIEW_RecordEndCallU32(TID_WORK_CANCEL_DELAYABLE, (uint32_t)ret)
#define sys_port_trace_k_work_cancel_delayable_sync_enter(dwork, sync) \
SEGGER_SYSVIEW_RecordU32x2(SYS_TRACE_ID_WORK_CANCEL_DELAYABLE_SYNC, \
(uint32_t)(uintptr_t)dwork, (uint32_t)(uintptr_t)sync)
SEGGER_SYSVIEW_RecordU32x2(TID_WORK_CANCEL_DELAYABLE_SYNC, (uint32_t)(uintptr_t)dwork, \
(uint32_t)(uintptr_t)sync)
#define sys_port_trace_k_work_cancel_delayable_sync_exit(dwork, sync, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(SYS_TRACE_ID_WORK_CANCEL_DELAYABLE_SYNC, (uint32_t)ret)
SEGGER_SYSVIEW_RecordEndCallU32(TID_WORK_CANCEL_DELAYABLE_SYNC, (uint32_t)ret)
#define sys_port_trace_k_work_poll_init_enter(work) \
SEGGER_SYSVIEW_RecordU32(SYS_TRACE_ID_WORK_POLL_INIT, (uint32_t)(uintptr_t)work)
SEGGER_SYSVIEW_RecordU32(TID_WORK_POLL_INIT, (uint32_t)(uintptr_t)work)
#define sys_port_trace_k_work_poll_init_exit(work) \
SEGGER_SYSVIEW_RecordEndCall(SYS_TRACE_ID_WORK_POLL_INIT)
#define sys_port_trace_k_work_poll_init_exit(work) SEGGER_SYSVIEW_RecordEndCall(TID_WORK_POLL_INIT)
#define sys_port_trace_k_work_poll_submit_to_queue_enter(work_q, work, timeout) \
SEGGER_SYSVIEW_RecordU32x3(SYS_TRACE_ID_WORK_POLL_SUBMIT_TO_QUEUE, \
(uint32_t)(uintptr_t)work_q, (uint32_t)(uintptr_t)work, \
k_ticks_to_ms_floor32((uint32_t)timeout.ticks))
SEGGER_SYSVIEW_RecordU32x3(TID_WORK_POLL_SUBMIT_TO_QUEUE, (uint32_t)(uintptr_t)work_q, \
(uint32_t)(uintptr_t)work, (uint32_t)timeout.ticks)
#define sys_port_trace_k_work_poll_submit_to_queue_blocking(work_q, work, timeout)
#define sys_port_trace_k_work_poll_submit_to_queue_exit(work_q, work, timeout, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(SYS_TRACE_ID_WORK_POLL_SUBMIT_TO_QUEUE, (uint32_t)ret)
SEGGER_SYSVIEW_RecordEndCallU32(TID_WORK_POLL_SUBMIT_TO_QUEUE, (uint32_t)ret)
#define sys_port_trace_k_work_poll_submit_enter(work, timeout) \
SEGGER_SYSVIEW_RecordU32x2(SYS_TRACE_ID_WORK_POLL_SUBMIT, (uint32_t)(uintptr_t)work, \
k_ticks_to_ms_floor32((uint32_t)timeout.ticks))
SEGGER_SYSVIEW_RecordU32x2(TID_WORK_POLL_SUBMIT, (uint32_t)(uintptr_t)work, \
(uint32_t)timeout.ticks)
#define sys_port_trace_k_work_poll_submit_exit(work, timeout, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(SYS_TRACE_ID_WORK_POLL_SUBMIT, (uint32_t)ret)
SEGGER_SYSVIEW_RecordEndCallU32(TID_WORK_POLL_SUBMIT, (uint32_t)ret)
#define sys_port_trace_k_work_poll_cancel_enter(work) \
SEGGER_SYSVIEW_RecordU32(SYS_TRACE_ID_WORK_POLL_CANCEL, (uint32_t)(uintptr_t)work)
SEGGER_SYSVIEW_RecordU32(TID_WORK_POLL_CANCEL, (uint32_t)(uintptr_t)work)
#define sys_port_trace_k_work_poll_cancel_exit(work, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(SYS_TRACE_ID_WORK_POLL_CANCEL, (uint32_t)ret)
SEGGER_SYSVIEW_RecordEndCallU32(TID_WORK_POLL_CANCEL, (uint32_t)ret)
#define sys_port_trace_k_poll_api_event_init(event)
#define sys_port_trace_k_poll_api_poll_enter(events)
@ -323,125 +402,209 @@ void sys_trace_thread_info(struct k_thread *thread);
#define sys_port_trace_k_poll_api_signal_raise(signal, ret)
#define sys_port_trace_k_sem_init(sem, ret) \
SEGGER_SYSVIEW_RecordU32x2(SYS_TRACE_ID_SEMA_INIT, (uint32_t)(uintptr_t)sem, (int32_t)ret)
SEGGER_SYSVIEW_RecordU32x2(TID_SEMA_INIT, (uint32_t)(uintptr_t)sem, (int32_t)ret)
#define sys_port_trace_k_sem_give_enter(sem) \
SEGGER_SYSVIEW_RecordU32(SYS_TRACE_ID_SEMA_GIVE, (uint32_t)(uintptr_t)sem)
SEGGER_SYSVIEW_RecordU32(TID_SEMA_GIVE, (uint32_t)(uintptr_t)sem)
#define sys_port_trace_k_sem_give_exit(sem) SEGGER_SYSVIEW_RecordEndCall(SYS_TRACE_ID_SEMA_GIVE)
#define sys_port_trace_k_sem_give_exit(sem) SEGGER_SYSVIEW_RecordEndCall(TID_SEMA_GIVE)
#define sys_port_trace_k_sem_take_enter(sem, timeout) \
SEGGER_SYSVIEW_RecordU32x2(SYS_TRACE_ID_SEMA_TAKE, (uint32_t)(uintptr_t)sem, \
k_ticks_to_ms_floor32((uint32_t)timeout.ticks))
SEGGER_SYSVIEW_RecordU32x2(TID_SEMA_TAKE, (uint32_t)(uintptr_t)sem, (uint32_t)timeout.ticks)
#define sys_port_trace_k_sem_take_blocking(sem, timeout) \
SEGGER_SYSVIEW_RecordU32x2(SYS_TRACE_ID_SEMA_BLOCKING, (uint32_t)(uintptr_t)sem, \
k_ticks_to_ms_floor32((uint32_t)timeout.ticks))
#define sys_port_trace_k_sem_take_blocking(sem, timeout)
#define sys_port_trace_k_sem_take_exit(sem, timeout, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(SYS_TRACE_ID_SEMA_TAKE, (int32_t)ret)
SEGGER_SYSVIEW_RecordEndCallU32(TID_SEMA_TAKE, (int32_t)ret)
#define sys_port_trace_k_sem_reset(sem) \
SEGGER_SYSVIEW_RecordU32(SYS_TRACE_ID_SEMA_RESET, (uint32_t)(uintptr_t)sem)
SEGGER_SYSVIEW_RecordU32(TID_SEMA_RESET, (uint32_t)(uintptr_t)sem)
#define sys_port_trace_k_mutex_init(mutex, ret) \
SEGGER_SYSVIEW_RecordU32x2(SYS_TRACE_ID_MUTEX_INIT, (uint32_t)(uintptr_t)mutex, \
(int32_t)ret)
SEGGER_SYSVIEW_RecordU32x2(TID_MUTEX_INIT, (uint32_t)(uintptr_t)mutex, (int32_t)ret)
#define sys_port_trace_k_mutex_lock_enter(mutex, timeout) \
SEGGER_SYSVIEW_RecordU32x2(SYS_TRACE_ID_MUTEX_LOCK, (uint32_t)(uintptr_t)mutex, \
k_ticks_to_ms_floor32((uint32_t)timeout.ticks))
SEGGER_SYSVIEW_RecordU32x2(TID_MUTEX_LOCK, (uint32_t)(uintptr_t)mutex, \
(uint32_t)timeout.ticks)
#define sys_port_trace_k_mutex_lock_blocking(mutex, timeout)
#define sys_port_trace_k_mutex_lock_exit(mutex, timeout, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(SYS_TRACE_ID_MUTEX_LOCK, (int32_t)ret)
SEGGER_SYSVIEW_RecordEndCallU32(TID_MUTEX_LOCK, (int32_t)ret)
#define sys_port_trace_k_mutex_unlock_enter(mutex) \
SEGGER_SYSVIEW_RecordU32(SYS_TRACE_ID_MUTEX_UNLOCK, (uint32_t)(uintptr_t)mutex)
SEGGER_SYSVIEW_RecordU32(TID_MUTEX_UNLOCK, (uint32_t)(uintptr_t)mutex)
#define sys_port_trace_k_mutex_unlock_exit(mutex, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(SYS_TRACE_ID_MUTEX_UNLOCK, (uint32_t)ret)
SEGGER_SYSVIEW_RecordEndCallU32(TID_MUTEX_UNLOCK, (uint32_t)ret)
#define sys_port_trace_k_condvar_init(condvar, ret) \
SEGGER_SYSVIEW_RecordU32(SYS_TRACE_ID_CONDVAR_INIT, (uint32_t)(uintptr_t)condvar)
SEGGER_SYSVIEW_RecordU32(TID_CONDVAR_INIT, (uint32_t)(uintptr_t)condvar)
#define sys_port_trace_k_condvar_signal_enter(condvar) \
SEGGER_SYSVIEW_RecordU32(SYS_TRACE_ID_CONDVAR_SIGNAL, (uint32_t)(uintptr_t)condvar)
SEGGER_SYSVIEW_RecordU32(TID_CONDVAR_SIGNAL, (uint32_t)(uintptr_t)condvar)
#define sys_port_trace_k_condvar_signal_blocking(condvar, timeout)
#define sys_port_trace_k_condvar_signal_exit(condvar, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(SYS_TRACE_ID_CONDVAR_SIGNAL, (uint32_t)ret)
SEGGER_SYSVIEW_RecordEndCallU32(TID_CONDVAR_SIGNAL, (uint32_t)ret)
#define sys_port_trace_k_condvar_broadcast_enter(condvar) \
SEGGER_SYSVIEW_RecordU32(SYS_TRACE_ID_CONDVAR_BROADCAST, (uint32_t)(uintptr_t)condvar)
SEGGER_SYSVIEW_RecordU32(TID_CONDVAR_BROADCAST, (uint32_t)(uintptr_t)condvar)
#define sys_port_trace_k_condvar_broadcast_exit(condvar, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(SYS_TRACE_ID_CONDVAR_BROADCAST, (uint32_t)ret)
SEGGER_SYSVIEW_RecordEndCallU32(TID_CONDVAR_BROADCAST, (uint32_t)ret)
#define sys_port_trace_k_condvar_wait_enter(condvar) \
SEGGER_SYSVIEW_RecordU32(SYS_TRACE_ID_CONDVAR_WAIT, (uint32_t)(uintptr_t)condvar)
#define sys_port_trace_k_condvar_wait_exit(condvar, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(SYS_TRACE_ID_CONDVAR_WAIT, (uint32_t)ret)
SEGGER_SYSVIEW_RecordU32(TID_CONDVAR_WAIT, (uint32_t)(uintptr_t)condvar)
#define sys_port_trace_k_condvar_wait_exit(condvar, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(TID_CONDVAR_WAIT, (uint32_t)ret)
#define sys_port_trace_k_queue_init(queue) \
SEGGER_SYSVIEW_RecordU32(TID_QUEUE_INIT, (uint32_t)(uintptr_t)queue)
#define sys_port_trace_k_queue_cancel_wait(queue) \
SEGGER_SYSVIEW_RecordU32(TID_QUEUE_CANCEL_WAIT, (uint32_t)(uintptr_t)queue)
#define sys_port_trace_k_queue_init(queue)
#define sys_port_trace_k_queue_cancel_wait(queue)
#define sys_port_trace_k_queue_queue_insert_enter(queue, alloc)
#define sys_port_trace_k_queue_queue_insert_blocking(queue, alloc, timeout)
#define sys_port_trace_k_queue_queue_insert_exit(queue, alloc, ret)
#define sys_port_trace_k_queue_append_enter(queue)
#define sys_port_trace_k_queue_append_exit(queue)
#define sys_port_trace_k_queue_alloc_append_enter(queue)
#define sys_port_trace_k_queue_alloc_append_exit(queue, ret)
#define sys_port_trace_k_queue_prepend_enter(queue)
#define sys_port_trace_k_queue_prepend_exit(queue)
#define sys_port_trace_k_queue_alloc_prepend_enter(queue)
#define sys_port_trace_k_queue_alloc_prepend_exit(queue, ret)
#define sys_port_trace_k_queue_insert_enter(queue)
#define sys_port_trace_k_queue_append_enter(queue) \
SEGGER_SYSVIEW_RecordU32(TID_QUEUE_APPEND, (uint32_t)(uintptr_t)queue)
#define sys_port_trace_k_queue_append_exit(queue) SEGGER_SYSVIEW_RecordEndCall(TID_QUEUE_APPEND)
#define sys_port_trace_k_queue_alloc_append_enter(queue) \
SEGGER_SYSVIEW_RecordU32(TID_QUEUE_ALLOC_APPEND, (uint32_t)(uintptr_t)queue)
#define sys_port_trace_k_queue_alloc_append_exit(queue, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(TID_QUEUE_ALLOC_APPEND, (uint32_t)ret)
#define sys_port_trace_k_queue_prepend_enter(queue) \
SEGGER_SYSVIEW_RecordU32(TID_QUEUE_PREPEND, (uint32_t)(uintptr_t)queue)
#define sys_port_trace_k_queue_prepend_exit(queue) SEGGER_SYSVIEW_RecordEndCall(TID_QUEUE_PREPEND)
#define sys_port_trace_k_queue_alloc_prepend_enter(queue) \
SEGGER_SYSVIEW_RecordU32(TID_QUEUE_ALLOC_PREPEND, (uint32_t)(uintptr_t)queue)
#define sys_port_trace_k_queue_alloc_prepend_exit(queue, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(TID_QUEUE_ALLOC_PREPEND, (uint32_t)ret)
#define sys_port_trace_k_queue_insert_enter(queue) \
SEGGER_SYSVIEW_RecordU32(TID_QUEUE_INSERT, (uint32_t)(uintptr_t)queue)
#define sys_port_trace_k_queue_insert_blocking(queue, timeout)
#define sys_port_trace_k_queue_insert_exit(queue)
#define sys_port_trace_k_queue_append_list_enter(queue)
#define sys_port_trace_k_queue_append_list_exit(queue, ret)
#define sys_port_trace_k_queue_insert_exit(queue) SEGGER_SYSVIEW_RecordEndCall(TID_QUEUE_INSERT)
#define sys_port_trace_k_queue_append_list_enter(queue) \
SEGGER_SYSVIEW_RecordU32(TID_QUEUE_APPEND_LIST, (uint32_t)(uintptr_t)queue)
#define sys_port_trace_k_queue_append_list_exit(queue, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(TID_QUEUE_APPEND_LIST, (uint32_t)ret)
#define sys_port_trace_k_queue_merge_slist_enter(queue)
#define sys_port_trace_k_queue_merge_slist_exit(queue, ret)
#define sys_port_trace_k_queue_get_enter(queue, timeout)
#define sys_port_trace_k_queue_get_enter(queue, timeout) \
SEGGER_SYSVIEW_RecordU32x2(TID_QUEUE_GET, (uint32_t)(uintptr_t)queue, \
(uint32_t)timeout.ticks)
#define sys_port_trace_k_queue_get_blocking(queue, timeout)
#define sys_port_trace_k_queue_get_exit(queue, timeout, ret)
#define sys_port_trace_k_queue_remove_enter(queue)
#define sys_port_trace_k_queue_remove_exit(queue, ret)
#define sys_port_trace_k_queue_get_exit(queue, timeout, data) \
SEGGER_SYSVIEW_RecordEndCall(TID_QUEUE_GET)
#define sys_port_trace_k_queue_remove_enter(queue) \
SEGGER_SYSVIEW_RecordU32(TID_QUEUE_REMOVE, (uint32_t)(uintptr_t)queue)
#define sys_port_trace_k_queue_remove_exit(queue, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(TID_QUEUE_REMOVE, (uint32_t)ret)
#define sys_port_trace_k_queue_unique_append_enter(queue)
#define sys_port_trace_k_queue_unique_append_exit(queue, ret)
#define sys_port_trace_k_queue_peek_head(queue, ret)
#define sys_port_trace_k_queue_peek_tail(queue, ret)
#define sys_port_trace_k_fifo_init_enter(fifo)
#define sys_port_trace_k_fifo_init_exit(fifo)
#define sys_port_trace_k_fifo_cancel_wait_enter(fifo)
#define sys_port_trace_k_fifo_cancel_wait_exit(fifo)
#define sys_port_trace_k_fifo_put_enter(fifo, data)
#define sys_port_trace_k_fifo_put_exit(fifo, data)
#define sys_port_trace_k_fifo_alloc_put_enter(fifo, data)
#define sys_port_trace_k_fifo_alloc_put_exit(fifo, data, ret)
#define sys_port_trace_k_fifo_put_list_enter(fifo, head, tail)
#define sys_port_trace_k_fifo_put_list_exit(fifo, head, tail)
#define sys_port_trace_k_fifo_put_slist_enter(fifo, list)
#define sys_port_trace_k_fifo_put_slist_exit(fifo, list)
#define sys_port_trace_k_fifo_get_enter(fifo, timeout)
#define sys_port_trace_k_fifo_get_exit(fifo, timeout, ret)
#define sys_port_trace_k_fifo_peek_head_enter(fifo)
#define sys_port_trace_k_fifo_peek_head_exit(fifo, ret)
#define sys_port_trace_k_fifo_peek_tail_enter(fifo)
#define sys_port_trace_k_fifo_peek_tail_exit(fifo, ret)
#define sys_port_trace_k_queue_peek_head(queue, ret) \
SEGGER_SYSVIEW_RecordU32x2(TID_QUEUE_PEAK_HEAD, (uint32_t)(uintptr_t)queue, (int32_t)ret)
#define sys_port_trace_k_lifo_init_enter(lifo)
#define sys_port_trace_k_lifo_init_exit(lifo)
#define sys_port_trace_k_lifo_put_enter(lifo, data)
#define sys_port_trace_k_lifo_put_exit(lifo, data)
#define sys_port_trace_k_lifo_alloc_put_enter(lifo, data)
#define sys_port_trace_k_lifo_alloc_put_exit(lifo, data, ret)
#define sys_port_trace_k_lifo_get_enter(lifo, timeout)
#define sys_port_trace_k_lifo_get_exit(lifo, timeout, ret)
#define sys_port_trace_k_queue_peek_tail(queue, ret) \
SEGGER_SYSVIEW_RecordU32x2(TID_QUEUE_PEAK_TAIL, (uint32_t)(uintptr_t)queue, (int32_t)ret)
#define sys_port_trace_k_fifo_init_enter(fifo) \
SEGGER_SYSVIEW_RecordU32(TID_FIFO_INIT, (uint32_t)(uintptr_t)fifo)
#define sys_port_trace_k_fifo_init_exit(fifo) SEGGER_SYSVIEW_RecordEndCall(TID_FIFO_INIT)
#define sys_port_trace_k_fifo_cancel_wait_enter(fifo) \
SEGGER_SYSVIEW_RecordU32(TID_FIFO_CANCEL_WAIT, (uint32_t)(uintptr_t)fifo)
#define sys_port_trace_k_fifo_cancel_wait_exit(fifo) \
SEGGER_SYSVIEW_RecordEndCall(TID_FIFO_CANCEL_WAIT)
#define sys_port_trace_k_fifo_put_enter(fifo, data) \
SEGGER_SYSVIEW_RecordU32x2(TID_FIFO_PUT, (uint32_t)(uintptr_t)fifo, \
(uint32_t)(uintptr_t)data)
#define sys_port_trace_k_fifo_put_exit(fifo, data) SEGGER_SYSVIEW_RecordEndCall(TID_FIFO_PUT)
#define sys_port_trace_k_fifo_alloc_put_enter(fifo, data) \
SEGGER_SYSVIEW_RecordU32x2(TID_FIFO_ALLOC_PUT, (uint32_t)(uintptr_t)fifo, \
(uint32_t)(uintptr_t)data)
#define sys_port_trace_k_fifo_alloc_put_exit(fifo, data, ret) \
SEGGER_SYSVIEW_RecordEndCall(TID_FIFO_ALLOC_PUT)
#define sys_port_trace_k_fifo_put_list_enter(fifo, head, tail) \
SEGGER_SYSVIEW_RecordU32x3(TID_FIFO_PUT_LIST, (uint32_t)(uintptr_t)fifo, \
(uint32_t)(uintptr_t)head, (uint32_t)(uintptr_t)tail)
#define sys_port_trace_k_fifo_put_list_exit(fifo, head, tail) \
SEGGER_SYSVIEW_RecordEndCall(TID_FIFO_PUT_LIST)
#define sys_port_trace_k_fifo_put_slist_enter(fifo, list) \
SEGGER_SYSVIEW_RecordU32x2(TID_FIFO_PUT_SLIST, (uint32_t)(uintptr_t)fifo, \
(uint32_t)(uintptr_t)list)
#define sys_port_trace_k_fifo_put_slist_exit(fifo, list) \
SEGGER_SYSVIEW_RecordEndCall(TID_FIFO_PUT_SLIST)
#define sys_port_trace_k_fifo_get_enter(fifo, timeout) \
SEGGER_SYSVIEW_RecordU32x2(TID_FIFO_GET, (uint32_t)(uintptr_t)fifo, (uint32_t)timeout.ticks)
#define sys_port_trace_k_fifo_get_exit(fifo, timeout, ret) \
SEGGER_SYSVIEW_RecordEndCall(TID_FIFO_GET)
#define sys_port_trace_k_fifo_peek_head_enter(fifo) \
SEGGER_SYSVIEW_RecordU32(TID_FIFO_PEAK_HEAD, (uint32_t)(uintptr_t)fifo)
#define sys_port_trace_k_fifo_peek_head_exit(fifo, ret) \
SEGGER_SYSVIEW_RecordEndCall(TID_FIFO_PEAK_HEAD)
#define sys_port_trace_k_fifo_peek_tail_enter(fifo) \
SEGGER_SYSVIEW_RecordU32(TID_FIFO_PEAK_TAIL, (uint32_t)(uintptr_t)fifo)
#define sys_port_trace_k_fifo_peek_tail_exit(fifo, ret) \
SEGGER_SYSVIEW_RecordEndCall(TID_FIFO_PEAK_TAIL)
#define sys_port_trace_k_lifo_init_enter(lifo) \
SEGGER_SYSVIEW_RecordU32(TID_LIFO_INIT, (uint32_t)(uintptr_t)lifo)
#define sys_port_trace_k_lifo_init_exit(lifo) SEGGER_SYSVIEW_RecordEndCall(TID_LIFO_INIT)
#define sys_port_trace_k_lifo_put_enter(lifo, data) \
SEGGER_SYSVIEW_RecordU32x2(TID_LIFO_PUT, (uint32_t)(uintptr_t)lifo, \
(uint32_t)(uintptr_t)data)
#define sys_port_trace_k_lifo_put_exit(lifo, data) SEGGER_SYSVIEW_RecordEndCall(TID_LIFO_PUT)
#define sys_port_trace_k_lifo_alloc_put_enter(lifo, data) \
SEGGER_SYSVIEW_RecordU32x2(TID_LIFO_ALLOC_PUT, (uint32_t)(uintptr_t)lifo, \
(uint32_t)(uintptr_t)data)
#define sys_port_trace_k_lifo_alloc_put_exit(lifo, data, ret) \
SEGGER_SYSVIEW_RecordEndCall(TID_LIFO_ALLOC_PUT)
#define sys_port_trace_k_lifo_get_enter(lifo, timeout) \
SEGGER_SYSVIEW_RecordU32x2(TID_LIFO_GET, (uint32_t)(uintptr_t)lifo, (uint32_t)timeout.ticks)
#define sys_port_trace_k_lifo_get_exit(lifo, timeout, ret) \
SEGGER_SYSVIEW_RecordEndCall(TID_LIFO_GET)
#define sys_port_trace_k_stack_init(stack)
#define sys_port_trace_k_stack_alloc_init_enter(stack)
@ -495,13 +658,28 @@ void sys_trace_thread_info(struct k_thread *thread);
#define sys_port_trace_k_pipe_block_put_enter(pipe, sem)
#define sys_port_trace_k_pipe_block_put_exit(pipe, sem)
#define sys_port_trace_k_heap_init(heap)
#define sys_port_trace_k_heap_aligned_alloc_enter(heap, timeout)
#define sys_port_trace_k_heap_init(heap) \
SEGGER_SYSVIEW_RecordU32(TID_HEAP_INIT, (uint32_t)(uintptr_t)heap)
#define sys_port_trace_k_heap_aligned_alloc_enter(heap, timeout) \
SEGGER_SYSVIEW_RecordU32x2(TID_HEAP_ALIGNED_ALLOC, (uint32_t)(uintptr_t)heap, \
(uint32_t)timeout.ticks)
#define sys_port_trace_k_heap_aligned_alloc_blocking(heap, timeout)
#define sys_port_trace_k_heap_aligned_alloc_exit(heap, timeout, ret)
#define sys_port_trace_k_heap_alloc_enter(heap, timeout)
#define sys_port_trace_k_heap_alloc_exit(heap, timeout, ret)
#define sys_port_trace_k_heap_free(heap)
#define sys_port_trace_k_heap_aligned_alloc_exit(heap, timeout, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(TID_HEAP_ALIGNED_ALLOC, (uint32_t)ret)
#define sys_port_trace_k_heap_alloc_enter(heap, timeout) \
SEGGER_SYSVIEW_RecordU32x2(TID_HEAP_ALLOC, (uint32_t)(uintptr_t)heap, \
(uint32_t)timeout.ticks)
#define sys_port_trace_k_heap_alloc_exit(heap, timeout, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(TID_HEAP_ALLOC, (uint32_t)ret)
#define sys_port_trace_k_heap_free(heap) \
SEGGER_SYSVIEW_RecordU32(TID_HEAP_FREE, (uint32_t)(uintptr_t)heap)
#define sys_port_trace_k_heap_sys_k_aligned_alloc_enter(heap)
#define sys_port_trace_k_heap_sys_k_aligned_alloc_exit(heap, ret)
#define sys_port_trace_k_heap_sys_k_malloc_enter(heap)
@ -511,21 +689,38 @@ void sys_trace_thread_info(struct k_thread *thread);
#define sys_port_trace_k_heap_sys_k_calloc_enter(heap)
#define sys_port_trace_k_heap_sys_k_calloc_exit(heap, ret)
#define sys_port_trace_k_mem_slab_init(slab, rc)
#define sys_port_trace_k_mem_slab_alloc_enter(slab, timeout)
#define sys_port_trace_k_mem_slab_init(slab, rc) \
SEGGER_SYSVIEW_RecordU32(TID_MSLAB_INIT, (uint32_t)(uintptr_t)slab)
#define sys_port_trace_k_mem_slab_alloc_enter(slab, timeout) \
SEGGER_SYSVIEW_RecordU32x2(TID_MSLAB_ALLOC, (uint32_t)(uintptr_t)slab, \
(uint32_t)timeout.ticks)
#define sys_port_trace_k_mem_slab_alloc_blocking(slab, timeout)
#define sys_port_trace_k_mem_slab_alloc_exit(slab, timeout, ret)
#define sys_port_trace_k_mem_slab_free_enter(slab)
#define sys_port_trace_k_mem_slab_free_exit(slab)
#define sys_port_trace_k_mem_slab_alloc_exit(slab, timeout, ret) \
SEGGER_SYSVIEW_RecordEndCallU32(TID_MSLAB_ALLOC, (uint32_t)ret)
#define sys_port_trace_k_mem_slab_free_enter(slab) \
SEGGER_SYSVIEW_RecordU32(TID_MSLAB_FREE, (uint32_t)(uintptr_t)slab)
#define sys_port_trace_k_mem_slab_free_exit(slab) SEGGER_SYSVIEW_RecordEndCall(TID_MSLAB_ALLOC)
#define sys_port_trace_k_timer_init(timer) \
SEGGER_SYSVIEW_RecordU32(TID_TIMER_INIT, (uint32_t)(uintptr_t)timer)
#define sys_port_trace_k_timer_start(timer) \
SEGGER_SYSVIEW_RecordU32(TID_TIMER_START, (uint32_t)(uintptr_t)timer)
#define sys_port_trace_k_timer_stop(timer) \
SEGGER_SYSVIEW_RecordU32(TID_TIMER_STOP, (uint32_t)(uintptr_t)timer)
#define sys_port_trace_k_timer_status_sync_enter(timer) \
SEGGER_SYSVIEW_RecordU32(TID_TIMER_STATUS_SYNC, (uint32_t)(uintptr_t)timer)
#define sys_port_trace_k_timer_init(timer)
#define sys_port_trace_k_timer_start(timer)
#define sys_port_trace_k_timer_stop(timer)
#define sys_port_trace_k_timer_status_sync_enter(timer)
#define sys_port_trace_k_timer_status_sync_blocking(timer, timeout)
#define sys_port_trace_k_timer_status_sync_exit(timer, result)
#define sys_port_trace_k_thread_resume_exit(thread)
#define sys_port_trace_k_timer_status_sync_exit(timer, result) \
SEGGER_SYSVIEW_RecordEndCallU32(TID_TIMER_STATUS_SYNC, (uint32_t)result)
#define sys_port_trace_syscall_enter()
#define sys_port_trace_syscall_exit()
@ -538,49 +733,12 @@ void sys_trace_k_thread_user_mode_enter(k_thread_entry_t entry, void *p1, void *
void sys_trace_k_thread_join_blocking(struct k_thread *thread, k_timeout_t timeout);
void sys_trace_k_thread_join_exit(struct k_thread *thread, k_timeout_t timeout, int ret);
void sys_trace_k_thread_yield(void);
void sys_trace_k_thread_wakeup(struct k_thread *thread);
void sys_trace_k_thread_abort(struct k_thread *thread);
void sys_trace_k_thread_start(struct k_thread *thread);
void sys_trace_k_thread_priority_set(struct k_thread *thread);
void sys_trace_k_thread_suspend(struct k_thread *thread);
void sys_trace_k_thread_resume(struct k_thread *thread);
void sys_trace_k_thread_sched_lock(void);
void sys_trace_k_thread_sched_unlock(void);
void sys_trace_k_thread_name_set(struct k_thread *thread, int ret);
void sys_trace_k_thread_switched_out(void);
void sys_trace_k_thread_switched_in(void);
void sys_trace_k_thread_ready(struct k_thread *thread);
void sys_trace_k_thread_pend(struct k_thread *thread);
void sys_trace_k_thread_info(struct k_thread *thread);
/* Semaphore */
void sys_trace_k_sem_init(struct k_sem *sem, uint32_t initial_count, uint32_t limit, int ret);
void sys_trace_k_sem_give_enter(struct k_sem *sem);
void sys_trace_k_sem_give_exit(struct k_sem *sem);
void sys_trace_k_sem_take_enter(struct k_sem *sem, k_timeout_t timeout);
void sys_trace_k_sem_take_blocking(struct k_sem *sem, k_timeout_t timeout);
void sys_trace_k_sem_take_exit(struct k_sem *sem, k_timeout_t timeout, int ret);
void sys_trace_k_sem_reset(struct k_sem *sem);
/* Mutex */
void sys_trace_k_mutex_init(struct k_mutex *mutex, int ret);
void sys_trace_k_mutex_lock_enter(struct k_mutex *mutex, k_timeout_t timeout);
void sys_trace_k_mutex_lock_blocking(struct k_mutex *mutex, k_timeout_t timeout);
void sys_trace_k_mutex_lock_exit(struct k_mutex *mutex, k_timeout_t timeout, int ret);
void sys_trace_k_mutex_unlock_enter(struct k_mutex *mutex);
void sys_trace_k_mutex_unlock_exit(struct k_mutex *mutex, int ret);
void sys_trace_k_timer_init(struct k_timer *timer, k_timer_expiry_t expiry_fn,
k_timer_expiry_t stop_fn);
void sys_trace_k_timer_start(struct k_timer *timer, k_timeout_t duration, k_timeout_t period);
void sys_trace_k_timer_stop(struct k_timer *timer);
void sys_trace_k_timer_status_sync_blocking(struct k_timer *timer);
void sys_trace_k_timer_status_sync_exit(struct k_timer *timer, uint32_t result);
#ifdef __cplusplus
}
#endif

View file

@ -1,5 +1,3 @@
zephyr_sources(
tracing_string_format_test.c
)