6#ifndef ZEPHYR_INCLUDE_TRACING_TRACING_H_ 
    7#define ZEPHYR_INCLUDE_TRACING_TRACING_H_ 
   13#if defined CONFIG_SEGGER_SYSTEMVIEW 
   14#include "tracing_sysview.h" 
   15#elif defined CONFIG_TRACING_CTF 
   16#include "tracing_ctf.h" 
   17#elif defined CONFIG_TRACING_TEST 
   18#include "tracing_test.h" 
   19#elif defined CONFIG_TRACING_USER 
   20#include "tracing_user.h" 
   49#define sys_port_trace_k_thread_foreach_enter() 
   54#define sys_port_trace_k_thread_foreach_exit() 
   59#define sys_port_trace_k_thread_foreach_unlocked_enter() 
   64#define sys_port_trace_k_thread_foreach_unlocked_exit() 
   70#define sys_port_trace_k_thread_create(new_thread) 
   75#define sys_port_trace_k_thread_user_mode_enter() 
   82#define sys_port_trace_k_thread_join_enter(thread, timeout) 
   89#define sys_port_trace_k_thread_join_blocking(thread, timeout) 
   97#define sys_port_trace_k_thread_join_exit(thread, timeout, ret) 
  103#define sys_port_trace_k_thread_sleep_enter(timeout) 
  110#define sys_port_trace_k_thread_sleep_exit(timeout, ret) 
  116#define sys_port_trace_k_thread_msleep_enter(ms) 
  123#define sys_port_trace_k_thread_msleep_exit(ms, ret) 
  129#define sys_port_trace_k_thread_usleep_enter(us) 
  136#define sys_port_trace_k_thread_usleep_exit(us, ret) 
  142#define sys_port_trace_k_thread_busy_wait_enter(usec_to_wait) 
  148#define sys_port_trace_k_thread_busy_wait_exit(usec_to_wait) 
  153#define sys_port_trace_k_thread_yield() 
  159#define sys_port_trace_k_thread_wakeup(thread) 
  165#define sys_port_trace_k_thread_start(thread) 
  171#define sys_port_trace_k_thread_abort(thread) 
  177#define sys_port_trace_k_thread_abort_enter(thread) 
  183#define sys_port_trace_k_thread_abort_exit(thread) 
  189#define sys_port_trace_k_thread_priority_set(thread) 
  196#define sys_port_trace_k_thread_suspend_enter(thread) 
  203#define sys_port_trace_k_thread_suspend_exit(thread) 
  210#define sys_port_trace_k_thread_resume_enter(thread) 
  217#define sys_port_trace_k_thread_resume_exit(thread) 
  222#define sys_port_trace_k_thread_sched_lock() 
  227#define sys_port_trace_k_thread_sched_unlock() 
  234#define sys_port_trace_k_thread_name_set(thread, ret) 
  239#define sys_port_trace_k_thread_switched_out() 
  244#define sys_port_trace_k_thread_switched_in() 
  250#define sys_port_trace_k_thread_ready(thread) 
  256#define sys_port_trace_k_thread_pend(thread) 
  262#define sys_port_trace_k_thread_info(thread) 
  268#define sys_port_trace_k_thread_sched_wakeup(thread) 
  274#define sys_port_trace_k_thread_sched_abort(thread) 
  281#define sys_port_trace_k_thread_sched_priority_set(thread, prio) 
  287#define sys_port_trace_k_thread_sched_ready(thread) 
  293#define sys_port_trace_k_thread_sched_pend(thread) 
  299#define sys_port_trace_k_thread_sched_resume(thread) 
  305#define sys_port_trace_k_thread_sched_suspend(thread) 
  319#define sys_port_trace_k_work_init(work) 
  326#define sys_port_trace_k_work_submit_to_queue_enter(queue, work) 
  334#define sys_port_trace_k_work_submit_to_queue_exit(queue, work, ret) 
  340#define sys_port_trace_k_work_submit_enter(work) 
  347#define sys_port_trace_k_work_submit_exit(work, ret) 
  353#define sys_port_trace_k_work_flush_enter(work) 
  360#define sys_port_trace_k_work_flush_blocking(work, timeout) 
  367#define sys_port_trace_k_work_flush_exit(work, ret) 
  373#define sys_port_trace_k_work_cancel_enter(work) 
  380#define sys_port_trace_k_work_cancel_exit(work, ret) 
  387#define sys_port_trace_k_work_cancel_sync_enter(work, sync) 
  394#define sys_port_trace_k_work_cancel_sync_blocking(work, sync) 
  402#define sys_port_trace_k_work_cancel_sync_exit(work, sync, ret) 
  416#define sys_port_trace_k_work_queue_init(queue) 
  422#define sys_port_trace_k_work_queue_start_enter(queue) 
  428#define sys_port_trace_k_work_queue_start_exit(queue) 
  434#define sys_port_trace_k_work_queue_drain_enter(queue) 
  441#define sys_port_trace_k_work_queue_drain_exit(queue, ret) 
  447#define sys_port_trace_k_work_queue_unplug_enter(queue) 
  454#define sys_port_trace_k_work_queue_unplug_exit(queue, ret) 
  468#define sys_port_trace_k_work_delayable_init(dwork) 
  476#define sys_port_trace_k_work_schedule_for_queue_enter(queue, dwork, delay) 
  485#define sys_port_trace_k_work_schedule_for_queue_exit(queue, dwork, delay, ret) 
  492#define sys_port_trace_k_work_schedule_enter(dwork, delay) 
  500#define sys_port_trace_k_work_schedule_exit(dwork, delay, ret) 
  508#define sys_port_trace_k_work_reschedule_for_queue_enter(queue, dwork, delay) 
  517#define sys_port_trace_k_work_reschedule_for_queue_exit(queue, dwork, delay, ret) 
  524#define sys_port_trace_k_work_reschedule_enter(dwork, delay) 
  532#define sys_port_trace_k_work_reschedule_exit(dwork, delay, ret) 
  539#define sys_port_trace_k_work_flush_delayable_enter(dwork, sync) 
  547#define sys_port_trace_k_work_flush_delayable_exit(dwork, sync, ret) 
  553#define sys_port_trace_k_work_cancel_delayable_enter(dwork) 
  560#define sys_port_trace_k_work_cancel_delayable_exit(dwork, ret) 
  567#define sys_port_trace_k_work_cancel_delayable_sync_enter(dwork, sync) 
  575#define sys_port_trace_k_work_cancel_delayable_sync_exit(dwork, sync, ret) 
  589#define sys_port_trace_k_work_poll_init_enter(work) 
  595#define sys_port_trace_k_work_poll_init_exit(work) 
  603#define sys_port_trace_k_work_poll_submit_to_queue_enter(work_q, work, timeout) 
  611#define sys_port_trace_k_work_poll_submit_to_queue_blocking(work_q, work, timeout) 
  620#define sys_port_trace_k_work_poll_submit_to_queue_exit(work_q, work, timeout, ret) 
  627#define sys_port_trace_k_work_poll_submit_enter(work, timeout) 
  635#define sys_port_trace_k_work_poll_submit_exit(work, timeout, ret) 
  641#define sys_port_trace_k_work_poll_cancel_enter(work) 
  648#define sys_port_trace_k_work_poll_cancel_exit(work, ret) 
  662#define sys_port_trace_k_poll_api_event_init(event) 
  668#define sys_port_trace_k_poll_api_poll_enter(events) 
  675#define sys_port_trace_k_poll_api_poll_exit(events, ret) 
  681#define sys_port_trace_k_poll_api_signal_init(signal) 
  687#define sys_port_trace_k_poll_api_signal_reset(signal) 
  693#define sys_port_trace_k_poll_api_signal_check(signal) 
  700#define sys_port_trace_k_poll_api_signal_raise(signal, ret) 
  715#define sys_port_trace_k_sem_init(sem, ret) 
  721#define sys_port_trace_k_sem_give_enter(sem) 
  727#define sys_port_trace_k_sem_give_exit(sem) 
  734#define sys_port_trace_k_sem_take_enter(sem, timeout) 
  741#define sys_port_trace_k_sem_take_blocking(sem, timeout) 
  749#define sys_port_trace_k_sem_take_exit(sem, timeout, ret) 
  755#define sys_port_trace_k_sem_reset(sem) 
  770#define sys_port_trace_k_mutex_init(mutex, ret) 
  777#define sys_port_trace_k_mutex_lock_enter(mutex, timeout) 
  784#define sys_port_trace_k_mutex_lock_blocking(mutex, timeout) 
  792#define sys_port_trace_k_mutex_lock_exit(mutex, timeout, ret) 
  798#define sys_port_trace_k_mutex_unlock_enter(mutex) 
  803#define sys_port_trace_k_mutex_unlock_exit(mutex, ret) 
  818#define sys_port_trace_k_condvar_init(condvar, ret) 
  824#define sys_port_trace_k_condvar_signal_enter(condvar) 
  831#define sys_port_trace_k_condvar_signal_blocking(condvar, timeout) 
  838#define sys_port_trace_k_condvar_signal_exit(condvar, ret) 
  844#define sys_port_trace_k_condvar_broadcast_enter(condvar) 
  851#define sys_port_trace_k_condvar_broadcast_exit(condvar, ret) 
  857#define sys_port_trace_k_condvar_wait_enter(condvar) 
  864#define sys_port_trace_k_condvar_wait_exit(condvar, ret) 
  878#define sys_port_trace_k_queue_init(queue) 
  884#define sys_port_trace_k_queue_cancel_wait(queue) 
  891#define sys_port_trace_k_queue_queue_insert_enter(queue, alloc) 
  899#define sys_port_trace_k_queue_queue_insert_blocking(queue, alloc, timeout) 
  907#define sys_port_trace_k_queue_queue_insert_exit(queue, alloc, ret) 
  913#define sys_port_trace_k_queue_append_enter(queue) 
  919#define sys_port_trace_k_queue_append_exit(queue) 
  925#define sys_port_trace_k_queue_alloc_append_enter(queue) 
  932#define sys_port_trace_k_queue_alloc_append_exit(queue, ret) 
  938#define sys_port_trace_k_queue_prepend_enter(queue) 
  944#define sys_port_trace_k_queue_prepend_exit(queue) 
  950#define sys_port_trace_k_queue_alloc_prepend_enter(queue) 
  957#define sys_port_trace_k_queue_alloc_prepend_exit(queue, ret) 
  963#define sys_port_trace_k_queue_insert_enter(queue) 
  970#define sys_port_trace_k_queue_insert_blocking(queue, timeout) 
  976#define sys_port_trace_k_queue_insert_exit(queue) 
  982#define sys_port_trace_k_queue_append_list_enter(queue) 
  989#define sys_port_trace_k_queue_append_list_exit(queue, ret) 
  995#define sys_port_trace_k_queue_merge_slist_enter(queue) 
 1002#define sys_port_trace_k_queue_merge_slist_exit(queue, ret) 
 1009#define sys_port_trace_k_queue_get_enter(queue, timeout) 
 1016#define sys_port_trace_k_queue_get_blocking(queue, timeout) 
 1024#define sys_port_trace_k_queue_get_exit(queue, timeout, ret) 
 1030#define sys_port_trace_k_queue_remove_enter(queue) 
 1037#define sys_port_trace_k_queue_remove_exit(queue, ret) 
 1043#define sys_port_trace_k_queue_unique_append_enter(queue) 
 1051#define sys_port_trace_k_queue_unique_append_exit(queue, ret) 
 1058#define sys_port_trace_k_queue_peek_head(queue, ret) 
 1065#define sys_port_trace_k_queue_peek_tail(queue, ret) 
 1079#define sys_port_trace_k_fifo_init_enter(fifo) 
 1085#define sys_port_trace_k_fifo_init_exit(fifo) 
 1091#define sys_port_trace_k_fifo_cancel_wait_enter(fifo) 
 1097#define sys_port_trace_k_fifo_cancel_wait_exit(fifo) 
 1104#define sys_port_trace_k_fifo_put_enter(fifo, data) 
 1111#define sys_port_trace_k_fifo_put_exit(fifo, data) 
 1118#define sys_port_trace_k_fifo_alloc_put_enter(fifo, data) 
 1126#define sys_port_trace_k_fifo_alloc_put_exit(fifo, data, ret) 
 1134#define sys_port_trace_k_fifo_put_list_enter(fifo, head, tail) 
 1142#define sys_port_trace_k_fifo_put_list_exit(fifo, head, tail) 
 1149#define sys_port_trace_k_fifo_alloc_put_slist_enter(fifo, list) 
 1156#define sys_port_trace_k_fifo_alloc_put_slist_exit(fifo, list) 
 1163#define sys_port_trace_k_fifo_get_enter(fifo, timeout) 
 1171#define sys_port_trace_k_fifo_get_exit(fifo, timeout, ret) 
 1177#define sys_port_trace_k_fifo_peek_head_enter(fifo) 
 1184#define sys_port_trace_k_fifo_peek_head_exit(fifo, ret) 
 1190#define sys_port_trace_k_fifo_peek_tail_enter(fifo) 
 1197#define sys_port_trace_k_fifo_peek_tail_exit(fifo, ret) 
 1211#define sys_port_trace_k_lifo_init_enter(lifo) 
 1217#define sys_port_trace_k_lifo_init_exit(lifo) 
 1224#define sys_port_trace_k_lifo_put_enter(lifo, data) 
 1231#define sys_port_trace_k_lifo_put_exit(lifo, data) 
 1238#define sys_port_trace_k_lifo_alloc_put_enter(lifo, data) 
 1246#define sys_port_trace_k_lifo_alloc_put_exit(lifo, data, ret) 
 1253#define sys_port_trace_k_lifo_get_enter(lifo, timeout) 
 1261#define sys_port_trace_k_lifo_get_exit(lifo, timeout, ret) 
 1275#define sys_port_trace_k_stack_init(stack) 
 1281#define sys_port_trace_k_stack_alloc_init_enter(stack) 
 1288#define sys_port_trace_k_stack_alloc_init_exit(stack, ret) 
 1294#define sys_port_trace_k_stack_cleanup_enter(stack) 
 1301#define sys_port_trace_k_stack_cleanup_exit(stack, ret) 
 1307#define sys_port_trace_k_stack_push_enter(stack) 
 1314#define sys_port_trace_k_stack_push_exit(stack, ret) 
 1321#define sys_port_trace_k_stack_pop_enter(stack, timeout) 
 1328#define sys_port_trace_k_stack_pop_blocking(stack, timeout) 
 1336#define sys_port_trace_k_stack_pop_exit(stack, timeout, ret) 
 1350#define sys_port_trace_k_msgq_init(msgq) 
 1356#define sys_port_trace_k_msgq_alloc_init_enter(msgq) 
 1363#define sys_port_trace_k_msgq_alloc_init_exit(msgq, ret) 
 1369#define sys_port_trace_k_msgq_cleanup_enter(msgq) 
 1376#define sys_port_trace_k_msgq_cleanup_exit(msgq, ret) 
 1383#define sys_port_trace_k_msgq_put_enter(msgq, timeout) 
 1390#define sys_port_trace_k_msgq_put_blocking(msgq, timeout) 
 1398#define sys_port_trace_k_msgq_put_exit(msgq, timeout, ret) 
 1405#define sys_port_trace_k_msgq_get_enter(msgq, timeout) 
 1412#define sys_port_trace_k_msgq_get_blocking(msgq, timeout) 
 1420#define sys_port_trace_k_msgq_get_exit(msgq, timeout, ret) 
 1427#define sys_port_trace_k_msgq_peek(msgq, ret) 
 1433#define sys_port_trace_k_msgq_purge(msgq) 
 1447#define sys_port_trace_k_mbox_init(mbox) 
 1454#define sys_port_trace_k_mbox_message_put_enter(mbox, timeout) 
 1461#define sys_port_trace_k_mbox_message_put_blocking(mbox, timeout) 
 1469#define sys_port_trace_k_mbox_message_put_exit(mbox, timeout, ret) 
 1476#define sys_port_trace_k_mbox_put_enter(mbox, timeout) 
 1484#define sys_port_trace_k_mbox_put_exit(mbox, timeout, ret) 
 1491#define sys_port_trace_k_mbox_async_put_enter(mbox, sem) 
 1498#define sys_port_trace_k_mbox_async_put_exit(mbox, sem) 
 1505#define sys_port_trace_k_mbox_get_enter(mbox, timeout) 
 1512#define sys_port_trace_k_mbox_get_blocking(mbox, timeout) 
 1520#define sys_port_trace_k_mbox_get_exit(mbox, timeout, ret) 
 1526#define sys_port_trace_k_mbox_data_get(rx_msg) 
 1540#define sys_port_trace_k_pipe_init(pipe) 
 1546#define sys_port_trace_k_pipe_cleanup_enter(pipe) 
 1553#define sys_port_trace_k_pipe_cleanup_exit(pipe, ret) 
 1559#define sys_port_trace_k_pipe_alloc_init_enter(pipe) 
 1566#define sys_port_trace_k_pipe_alloc_init_exit(pipe, ret) 
 1572#define sys_port_trace_k_pipe_flush_enter(pipe) 
 1578#define sys_port_trace_k_pipe_flush_exit(pipe) 
 1584#define sys_port_trace_k_pipe_buffer_flush_enter(pipe) 
 1590#define sys_port_trace_k_pipe_buffer_flush_exit(pipe) 
 1597#define sys_port_trace_k_pipe_put_enter(pipe, timeout) 
 1604#define sys_port_trace_k_pipe_put_blocking(pipe, timeout) 
 1612#define sys_port_trace_k_pipe_put_exit(pipe, timeout, ret) 
 1619#define sys_port_trace_k_pipe_get_enter(pipe, timeout) 
 1626#define sys_port_trace_k_pipe_get_blocking(pipe, timeout) 
 1634#define sys_port_trace_k_pipe_get_exit(pipe, timeout, ret) 
 1641#define sys_port_trace_k_pipe_block_put_enter(pipe, sem) 
 1648#define sys_port_trace_k_pipe_block_put_exit(pipe, sem) 
 1662#define sys_port_trace_k_heap_init(h) 
 1669#define sys_port_trace_k_heap_aligned_alloc_enter(h, timeout) 
 1676#define sys_port_trace_k_heap_aligned_alloc_blocking(h, timeout) 
 1684#define sys_port_trace_k_heap_aligned_alloc_exit(h, timeout, ret) 
 1691#define sys_port_trace_k_heap_alloc_enter(h, timeout) 
 1699#define sys_port_trace_k_heap_alloc_exit(h, timeout, ret) 
 1705#define sys_port_trace_k_heap_free(h) 
 1711#define sys_port_trace_k_heap_sys_k_aligned_alloc_enter(heap) 
 1718#define sys_port_trace_k_heap_sys_k_aligned_alloc_exit(heap, ret) 
 1724#define sys_port_trace_k_heap_sys_k_malloc_enter(heap) 
 1731#define sys_port_trace_k_heap_sys_k_malloc_exit(heap, ret) 
 1738#define sys_port_trace_k_heap_sys_k_free_enter(heap, heap_ref) 
 1745#define sys_port_trace_k_heap_sys_k_free_exit(heap, heap_ref) 
 1751#define sys_port_trace_k_heap_sys_k_calloc_enter(heap) 
 1758#define sys_port_trace_k_heap_sys_k_calloc_exit(heap, ret) 
 1773#define sys_port_trace_k_mem_slab_init(slab, rc) 
 1780#define sys_port_trace_k_mem_slab_alloc_enter(slab, timeout) 
 1787#define sys_port_trace_k_mem_slab_alloc_blocking(slab, timeout) 
 1795#define sys_port_trace_k_mem_slab_alloc_exit(slab, timeout, ret) 
 1801#define sys_port_trace_k_mem_slab_free_enter(slab) 
 1807#define sys_port_trace_k_mem_slab_free_exit(slab) 
 1821#define sys_port_trace_k_timer_init(timer) 
 1829#define sys_port_trace_k_timer_start(timer, duration, period) 
 1835#define sys_port_trace_k_timer_stop(timer) 
 1841#define sys_port_trace_k_timer_status_sync_enter(timer) 
 1848#define sys_port_trace_k_timer_status_sync_blocking(timer, timeout) 
 1855#define sys_port_trace_k_timer_status_sync_exit(timer, result) 
 1869#define sys_port_trace_k_event_init(event) 
 1877#define sys_port_trace_k_event_post_enter(event, events, events_mask) 
 1885#define sys_port_trace_k_event_post_exit(event, events, events_mask) 
 1894#define sys_port_trace_k_event_wait_enter(event, events, options, timeout) 
 1903#define sys_port_trace_k_event_wait_blocking(event, events, options, timeout) 
 1911#define sys_port_trace_k_event_wait_exit(event, events, ret) 
 1925#define sys_port_trace_pm_system_suspend_enter(ticks) 
 1932#define sys_port_trace_pm_system_suspend_exit(ticks, state) 
 1946#define sys_port_trace_pm_device_runtime_get_enter(dev) 
 1953#define sys_port_trace_pm_device_runtime_get_exit(dev, ret) 
 1959#define sys_port_trace_pm_device_runtime_put_enter(dev) 
 1966#define sys_port_trace_pm_device_runtime_put_exit(dev, ret) 
 1972#define sys_port_trace_pm_device_runtime_put_async_enter(dev) 
 1979#define sys_port_trace_pm_device_runtime_put_async_exit(dev, ret) 
 1985#define sys_port_trace_pm_device_runtime_enable_enter(dev) 
 1992#define sys_port_trace_pm_device_runtime_enable_exit(dev, ret) 
 1998#define sys_port_trace_pm_device_runtime_disable_enter(dev) 
 2005#define sys_port_trace_pm_device_runtime_disable_exit(dev, ret) 
 2009#if defined(CONFIG_PERCEPIO_TRACERECORDER) 
 2010#include "tracing_tracerecorder.h" 
void sys_trace_isr_exit_to_scheduler(void)
Called when exiting an ISR and switching to scheduler.
 
void sys_trace_isr_enter(void)
Called when entering an ISR.
 
void sys_trace_isr_exit(void)
Called when exiting an ISR.
 
void sys_trace_idle(void)
Called when the cpu enters the idle state.