blob: b9624ddecda05d8b50e9165a54c3ccac3d71bf17 [file] [log] [blame]
/*
* Copyright (c) 2018 Intel Corporation
*
* SPDX-License-Identifier: Apache-2.0
*/
/**
* @file
* @ingroup subsys_tracing
* @ingroup subsys_tracing_apis
* @brief Main header file for tracing subsystem API.
*/
#ifndef ZEPHYR_INCLUDE_TRACING_TRACING_H_
#define ZEPHYR_INCLUDE_TRACING_TRACING_H_
#include "tracking.h"
#if defined CONFIG_SEGGER_SYSTEMVIEW
#include "tracing_sysview.h"
#elif defined CONFIG_TRACING_CTF
#include "tracing_ctf.h"
#elif defined CONFIG_TRACING_TEST
#include "tracing_test.h"
#elif defined CONFIG_TRACING_USER
#include "tracing_user.h"
#else
/**
* @brief Interfaces for the tracing subsystem.
*
* The tracing subsystem provides that permits you to collect data from
* your application and allows tools running on a host to visualize the
* inner-working of the kernel and various other subsystems.
*
* @defgroup subsys_tracing Tracing
* @ingroup os_services
* @{
*/
/**
* @defgroup subsys_tracing_apis Tracing hooks
* @ingroup subsys_tracing
* @brief Hook points used by tracing backends.
*
* Macros invoked across kernel and subsystem code to mark entry, blocking, exit, and various
* lifecycle events.
* @{
*/
/**
* @brief Tracing hooks for thread events
* @defgroup subsys_tracing_apis_thread Thread
* @{
*/
/**
* @brief Called when entering a k_thread_foreach call
*/
#define sys_port_trace_k_thread_foreach_enter()
/**
* @brief Called when exiting a k_thread_foreach call
*/
#define sys_port_trace_k_thread_foreach_exit()
/**
* @brief Called when entering a k_thread_foreach_unlocked
*/
#define sys_port_trace_k_thread_foreach_unlocked_enter()
/**
* @brief Called when exiting a k_thread_foreach_unlocked
*/
#define sys_port_trace_k_thread_foreach_unlocked_exit()
/**
* @brief Trace creating a Thread
* @param new_thread Thread object
*/
#define sys_port_trace_k_thread_create(new_thread)
/**
* @brief Trace Thread entering user mode
*/
#define sys_port_trace_k_thread_user_mode_enter()
/**
* @brief Called when entering a k_thread_join
* @param thread Thread object
* @param timeout Timeout period
*/
#define sys_port_trace_k_thread_join_enter(thread, timeout)
/**
* @brief Called when k_thread_join blocks
* @param thread Thread object
* @param timeout Timeout period
*/
#define sys_port_trace_k_thread_join_blocking(thread, timeout)
/**
* @brief Called when exiting k_thread_join
* @param thread Thread object
* @param timeout Timeout period
* @param ret Return value
*/
#define sys_port_trace_k_thread_join_exit(thread, timeout, ret)
/**
* @brief Called when entering k_thread_sleep
* @param timeout Timeout period
*/
#define sys_port_trace_k_thread_sleep_enter(timeout)
/**
* @brief Called when exiting k_thread_sleep
* @param timeout Timeout period
* @param ret Return value
*/
#define sys_port_trace_k_thread_sleep_exit(timeout, ret)
/**
* @brief Called when entering k_thread_msleep
* @param ms Duration in milliseconds
*/
#define sys_port_trace_k_thread_msleep_enter(ms)
/**
* @brief Called when exiting k_thread_msleep
* @param ms Duration in milliseconds
* @param ret Return value
*/
#define sys_port_trace_k_thread_msleep_exit(ms, ret)
/**
* @brief Called when entering k_thread_usleep
* @param us Duration in microseconds
*/
#define sys_port_trace_k_thread_usleep_enter(us)
/**
* @brief Called when exiting k_thread_usleep
* @param us Duration in microseconds
* @param ret Return value
*/
#define sys_port_trace_k_thread_usleep_exit(us, ret)
/**
* @brief Called when entering k_thread_busy_wait
* @param usec_to_wait Duration in microseconds
*/
#define sys_port_trace_k_thread_busy_wait_enter(usec_to_wait)
/**
* @brief Called when exiting k_thread_busy_wait
* @param usec_to_wait Duration in microseconds
*/
#define sys_port_trace_k_thread_busy_wait_exit(usec_to_wait)
/**
* @brief Called when a thread yields
*/
#define sys_port_trace_k_thread_yield()
/**
* @brief Called when a thread wakes up
* @param thread Thread object
*/
#define sys_port_trace_k_thread_wakeup(thread)
/**
* @brief Called when a thread is started
* @param thread Thread object
*/
#define sys_port_trace_k_thread_start(thread)
/**
* @brief Called when a thread is being aborted
* @param thread Thread object
*/
#define sys_port_trace_k_thread_abort(thread)
/**
* @brief Called when a thread enters the k_thread_abort routine
* @param thread Thread object
*/
#define sys_port_trace_k_thread_abort_enter(thread)
/**
* @brief Called when a thread exits the k_thread_abort routine
* @param thread Thread object
*/
#define sys_port_trace_k_thread_abort_exit(thread)
/**
* @brief Called when setting priority of a thread
* @param thread Thread object
*/
#define sys_port_trace_k_thread_priority_set(thread)
/**
* @brief Called when a thread enters the k_thread_suspend
* function.
* @param thread Thread object
*/
#define sys_port_trace_k_thread_suspend_enter(thread)
/**
* @brief Called when a thread exits the k_thread_suspend
* function.
* @param thread Thread object
*/
#define sys_port_trace_k_thread_suspend_exit(thread)
/**
* @brief Called when a thread enters the resume from suspension
* function.
* @param thread Thread object
*/
#define sys_port_trace_k_thread_resume_enter(thread)
/**
* @brief Called when a thread exits the resumed from suspension
* function.
* @param thread Thread object
*/
#define sys_port_trace_k_thread_resume_exit(thread)
/**
* @brief Called when the thread scheduler is locked
*/
#define sys_port_trace_k_thread_sched_lock()
/**
* @brief Called when the thread scheduler is unlocked
*/
#define sys_port_trace_k_thread_sched_unlock()
/**
* @brief Called when a thread name is set
* @param thread Thread object
* @param ret Return value
*/
#define sys_port_trace_k_thread_name_set(thread, ret)
/**
* @brief Called before a thread has been selected to run
*/
#define sys_port_trace_k_thread_switched_out()
/**
* @brief Called after a thread has been selected to run
*/
#define sys_port_trace_k_thread_switched_in()
/**
* @brief Called when a thread is ready to run
* @param thread Thread object
*/
#define sys_port_trace_k_thread_ready(thread)
/**
* @brief Called when a thread is pending
* @param thread Thread object
*/
#define sys_port_trace_k_thread_pend(thread)
/**
* @brief Provide information about specific thread
* @param thread Thread object
*/
#define sys_port_trace_k_thread_info(thread)
/**
* @brief Trace implicit thread wakeup invocation by the scheduler
* @param thread Thread object
*/
#define sys_port_trace_k_thread_sched_wakeup(thread)
/**
* @brief Trace implicit thread abort invocation by the scheduler
* @param thread Thread object
*/
#define sys_port_trace_k_thread_sched_abort(thread)
/**
* @brief Trace implicit thread set priority invocation by the scheduler
* @param thread Thread object
* @param prio Thread priority
*/
#define sys_port_trace_k_thread_sched_priority_set(thread, prio)
/**
* @brief Trace implicit thread ready invocation by the scheduler
* @param thread Thread object
*/
#define sys_port_trace_k_thread_sched_ready(thread)
/**
* @brief Trace implicit thread pend invocation by the scheduler
* @param thread Thread object
*/
#define sys_port_trace_k_thread_sched_pend(thread)
/**
* @brief Trace implicit thread resume invocation by the scheduler
* @param thread Thread object
*/
#define sys_port_trace_k_thread_sched_resume(thread)
/**
* @brief Trace implicit thread suspend invocation by the scheduler
* @param thread Thread object
*/
#define sys_port_trace_k_thread_sched_suspend(thread)
/** @}c*/ /* end of subsys_tracing_apis_thread */
/**
* @brief Tracing hooks for work item events
* @defgroup subsys_tracing_apis_work Work item
* @{
*/
/**
* @brief Trace initialisation of a Work structure
* @param work Work structure
*/
#define sys_port_trace_k_work_init(work)
/**
* @brief Trace submit work to work queue call entry
* @param queue Work queue structure
* @param work Work structure
*/
#define sys_port_trace_k_work_submit_to_queue_enter(queue, work)
/**
* @brief Trace submit work to work queue call exit
* @param queue Work queue structure
* @param work Work structure
* @param ret Return value
*/
#define sys_port_trace_k_work_submit_to_queue_exit(queue, work, ret)
/**
* @brief Trace submit work to system work queue call entry
* @param work Work structure
*/
#define sys_port_trace_k_work_submit_enter(work)
/**
* @brief Trace submit work to system work queue call exit
* @param work Work structure
* @param ret Return value
*/
#define sys_port_trace_k_work_submit_exit(work, ret)
/**
* @brief Trace flush work call entry
* @param work Work structure
*/
#define sys_port_trace_k_work_flush_enter(work)
/**
* @brief Trace flush work call blocking
* @param work Work structure
* @param timeout Timeout period
*/
#define sys_port_trace_k_work_flush_blocking(work, timeout)
/**
* @brief Trace flush work call exit
* @param work Work structure
* @param ret Return value
*/
#define sys_port_trace_k_work_flush_exit(work, ret)
/**
* @brief Trace cancel work call entry
* @param work Work structure
*/
#define sys_port_trace_k_work_cancel_enter(work)
/**
* @brief Trace cancel work call exit
* @param work Work structure
* @param ret Return value
*/
#define sys_port_trace_k_work_cancel_exit(work, ret)
/**
* @brief Trace cancel sync work call entry
* @param work Work structure
* @param sync Sync object
*/
#define sys_port_trace_k_work_cancel_sync_enter(work, sync)
/**
* @brief Trace cancel sync work call blocking
* @param work Work structure
* @param sync Sync object
*/
#define sys_port_trace_k_work_cancel_sync_blocking(work, sync)
/**
* @brief Trace cancel sync work call exit
* @param work Work structure
* @param sync Sync object
* @param ret Return value
*/
#define sys_port_trace_k_work_cancel_sync_exit(work, sync, ret)
/** @} */ /* end of subsys_tracing_apis_work */
/**
* @brief Tracing hooks for work queue events
* @defgroup subsys_tracing_apis_work_q Work queue
* @{
*/
/**
* @brief Trace initialisation of a Work Queue structure
* @param queue Work Queue structure
*/
#define sys_port_trace_k_work_queue_init(queue)
/**
* @brief Trace start of a Work Queue call entry
* @param queue Work Queue structure
*/
#define sys_port_trace_k_work_queue_start_enter(queue)
/**
* @brief Trace start of a Work Queue call exit
* @param queue Work Queue structure
*/
#define sys_port_trace_k_work_queue_start_exit(queue)
/**
* @brief Trace stop of a Work Queue call entry
* @param queue Work Queue structure
* @param timeout Timeout period
*/
#define sys_port_trace_k_work_queue_stop_enter(queue, timeout)
/**
* @brief Trace stop of a Work Queue call blocking
* @param queue Work Queue structure
* @param timeout Timeout period
*/
#define sys_port_trace_k_work_queue_stop_blocking(queue, timeout)
/**
* @brief Trace stop of a Work Queue call exit
* @param queue Work Queue structure
* @param timeout Timeout period
* @param ret Return value
*/
#define sys_port_trace_k_work_queue_stop_exit(queue, timeout, ret)
/**
* @brief Trace Work Queue drain call entry
* @param queue Work Queue structure
*/
#define sys_port_trace_k_work_queue_drain_enter(queue)
/**
* @brief Trace Work Queue drain call exit
* @param queue Work Queue structure
* @param ret Return value
*/
#define sys_port_trace_k_work_queue_drain_exit(queue, ret)
/**
* @brief Trace Work Queue unplug call entry
* @param queue Work Queue structure
*/
#define sys_port_trace_k_work_queue_unplug_enter(queue)
/**
* @brief Trace Work Queue unplug call exit
* @param queue Work Queue structure
* @param ret Return value
*/
#define sys_port_trace_k_work_queue_unplug_exit(queue, ret)
/** @} */ /* end of subsys_tracing_apis_work_q */
/**
* @brief Tracing hooks for delayable work item events
* @defgroup subsys_tracing_apis_work_delayable Delayable work item
* @{
*/
/**
* @brief Trace initialisation of a Delayable Work structure
* @param dwork Delayable Work structure
*/
#define sys_port_trace_k_work_delayable_init(dwork)
/**
* @brief Trace schedule delayable work for queue enter
* @param queue Work Queue structure
* @param dwork Delayable Work structure
* @param delay Delay period
*/
#define sys_port_trace_k_work_schedule_for_queue_enter(queue, dwork, delay)
/**
* @brief Trace schedule delayable work for queue exit
* @param queue Work Queue structure
* @param dwork Delayable Work structure
* @param delay Delay period
* @param ret Return value
*/
#define sys_port_trace_k_work_schedule_for_queue_exit(queue, dwork, delay, ret)
/**
* @brief Trace schedule delayable work for system work queue enter
* @param dwork Delayable Work structure
* @param delay Delay period
*/
#define sys_port_trace_k_work_schedule_enter(dwork, delay)
/**
* @brief Trace schedule delayable work for system work queue exit
* @param dwork Delayable Work structure
* @param delay Delay period
* @param ret Return value
*/
#define sys_port_trace_k_work_schedule_exit(dwork, delay, ret)
/**
* @brief Trace reschedule delayable work for queue enter
* @param queue Work Queue structure
* @param dwork Delayable Work structure
* @param delay Delay period
*/
#define sys_port_trace_k_work_reschedule_for_queue_enter(queue, dwork, delay)
/**
* @brief Trace reschedule delayable work for queue exit
* @param queue Work Queue structure
* @param dwork Delayable Work structure
* @param delay Delay period
* @param ret Return value
*/
#define sys_port_trace_k_work_reschedule_for_queue_exit(queue, dwork, delay, ret)
/**
* @brief Trace reschedule delayable work for system queue enter
* @param dwork Delayable Work structure
* @param delay Delay period
*/
#define sys_port_trace_k_work_reschedule_enter(dwork, delay)
/**
* @brief Trace reschedule delayable work for system queue exit
* @param dwork Delayable Work structure
* @param delay Delay period
* @param ret Return value
*/
#define sys_port_trace_k_work_reschedule_exit(dwork, delay, ret)
/**
* @brief Trace delayable work flush enter
* @param dwork Delayable Work structure
* @param sync Sync object
*/
#define sys_port_trace_k_work_flush_delayable_enter(dwork, sync)
/**
* @brief Trace delayable work flush exit
* @param dwork Delayable Work structure
* @param sync Sync object
* @param ret Return value
*/
#define sys_port_trace_k_work_flush_delayable_exit(dwork, sync, ret)
/**
* @brief Trace delayable work cancel enter
* @param dwork Delayable Work structure
*/
#define sys_port_trace_k_work_cancel_delayable_enter(dwork)
/**
* @brief Trace delayable work cancel enter
* @param dwork Delayable Work structure
* @param ret Return value
*/
#define sys_port_trace_k_work_cancel_delayable_exit(dwork, ret)
/**
* @brief Trace delayable work cancel sync enter
* @param dwork Delayable Work structure
* @param sync Sync object
*/
#define sys_port_trace_k_work_cancel_delayable_sync_enter(dwork, sync)
/**
* @brief Trace delayable work cancel sync enter
* @param dwork Delayable Work structure
* @param sync Sync object
* @param ret Return value
*/
#define sys_port_trace_k_work_cancel_delayable_sync_exit(dwork, sync, ret)
/** @} */ /* end of subsys_tracing_apis_work_delayable */
/**
* @brief Tracing hooks for triggered work item events
* @defgroup subsys_tracing_apis_work_poll Triggered work item
* @{
*/
/**
* @brief Trace initialisation of a Work Poll structure enter
* @param work Work structure
*/
#define sys_port_trace_k_work_poll_init_enter(work)
/**
* @brief Trace initialisation of a Work Poll structure exit
* @param work Work structure
*/
#define sys_port_trace_k_work_poll_init_exit(work)
/**
* @brief Trace work poll submit to queue enter
* @param work_q Work queue
* @param work Work structure
* @param timeout Timeout period
*/
#define sys_port_trace_k_work_poll_submit_to_queue_enter(work_q, work, timeout)
/**
* @brief Trace work poll submit to queue blocking
* @param work_q Work queue
* @param work Work structure
* @param timeout Timeout period
*/
#define sys_port_trace_k_work_poll_submit_to_queue_blocking(work_q, work, timeout)
/**
* @brief Trace work poll submit to queue exit
* @param work_q Work queue
* @param work Work structure
* @param timeout Timeout period
* @param ret Return value
*/
#define sys_port_trace_k_work_poll_submit_to_queue_exit(work_q, work, timeout, ret)
/**
* @brief Trace work poll submit to system queue enter
* @param work Work structure
* @param timeout Timeout period
*/
#define sys_port_trace_k_work_poll_submit_enter(work, timeout)
/**
* @brief Trace work poll submit to system queue exit
* @param work Work structure
* @param timeout Timeout period
* @param ret Return value
*/
#define sys_port_trace_k_work_poll_submit_exit(work, timeout, ret)
/**
* @brief Trace work poll cancel enter
* @param work Work structure
*/
#define sys_port_trace_k_work_poll_cancel_enter(work)
/**
* @brief Trace work poll cancel exit
* @param work Work structure
* @param ret Return value
*/
#define sys_port_trace_k_work_poll_cancel_exit(work, ret)
/** @} */ /* end of subsys_tracing_apis_work_poll */
/**
* @brief Tracing hooks for polling events
* @defgroup subsys_tracing_apis_poll Polling
* @{
*/
/**
* @brief Trace initialisation of a Poll Event
* @param event Poll Event
*/
#define sys_port_trace_k_poll_api_event_init(event)
/**
* @brief Trace Polling call start
* @param events Poll Events
*/
#define sys_port_trace_k_poll_api_poll_enter(events)
/**
* @brief Trace Polling call outcome
* @param events Poll Events
* @param ret Return value
*/
#define sys_port_trace_k_poll_api_poll_exit(events, ret)
/**
* @brief Trace initialisation of a Poll Signal
* @param signal Poll Signal
*/
#define sys_port_trace_k_poll_api_signal_init(signal)
/**
* @brief Trace resetting of Poll Signal
* @param signal Poll Signal
*/
#define sys_port_trace_k_poll_api_signal_reset(signal)
/**
* @brief Trace checking of Poll Signal
* @param signal Poll Signal
*/
#define sys_port_trace_k_poll_api_signal_check(signal)
/**
* @brief Trace raising of Poll Signal
* @param signal Poll Signal
* @param ret Return value
*/
#define sys_port_trace_k_poll_api_signal_raise(signal, ret)
/** @} */ /* end of subsys_tracing_apis_poll */
/**
* @brief Tracing hooks for semaphore events
* @defgroup subsys_tracing_apis_sem Semaphore
* @{
*/
/**
* @brief Trace initialisation of a Semaphore
* @param sem Semaphore object
* @param ret Return value
*/
#define sys_port_trace_k_sem_init(sem, ret)
/**
* @brief Trace giving a Semaphore entry
* @param sem Semaphore object
*/
#define sys_port_trace_k_sem_give_enter(sem)
/**
* @brief Trace giving a Semaphore exit
* @param sem Semaphore object
*/
#define sys_port_trace_k_sem_give_exit(sem)
/**
* @brief Trace taking a Semaphore attempt start
* @param sem Semaphore object
* @param timeout Timeout period
*/
#define sys_port_trace_k_sem_take_enter(sem, timeout)
/**
* @brief Trace taking a Semaphore attempt blocking
* @param sem Semaphore object
* @param timeout Timeout period
*/
#define sys_port_trace_k_sem_take_blocking(sem, timeout)
/**
* @brief Trace taking a Semaphore attempt outcome
* @param sem Semaphore object
* @param timeout Timeout period
* @param ret Return value
*/
#define sys_port_trace_k_sem_take_exit(sem, timeout, ret)
/**
* @brief Trace resetting a Semaphore
* @param sem Semaphore object
*/
#define sys_port_trace_k_sem_reset(sem)
/** @} */ /* end of subsys_tracing_apis_sem */
/**
* @brief Tracing hooks for mutex events
* @defgroup subsys_tracing_apis_mutex Mutex
* @{
*/
/**
* @brief Trace initialization of Mutex
* @param mutex Mutex object
* @param ret Return value
*/
#define sys_port_trace_k_mutex_init(mutex, ret)
/**
* @brief Trace Mutex lock attempt start
* @param mutex Mutex object
* @param timeout Timeout period
*/
#define sys_port_trace_k_mutex_lock_enter(mutex, timeout)
/**
* @brief Trace Mutex lock attempt blocking
* @param mutex Mutex object
* @param timeout Timeout period
*/
#define sys_port_trace_k_mutex_lock_blocking(mutex, timeout)
/**
* @brief Trace Mutex lock attempt outcome
* @param mutex Mutex object
* @param timeout Timeout period
* @param ret Return value
*/
#define sys_port_trace_k_mutex_lock_exit(mutex, timeout, ret)
/**
* @brief Trace Mutex unlock entry
* @param mutex Mutex object
*/
#define sys_port_trace_k_mutex_unlock_enter(mutex)
/**
* @brief Trace Mutex unlock exit
*/
#define sys_port_trace_k_mutex_unlock_exit(mutex, ret)
/** @} */ /* end of subsys_tracing_apis_mutex */
/**
* @brief Tracing hooks for conditional variable events
* @defgroup subsys_tracing_apis_condvar Conditional variable
* @{
*/
/**
* @brief Trace initialization of Conditional Variable
* @param condvar Conditional Variable object
* @param ret Return value
*/
#define sys_port_trace_k_condvar_init(condvar, ret)
/**
* @brief Trace Conditional Variable signaling start
* @param condvar Conditional Variable object
*/
#define sys_port_trace_k_condvar_signal_enter(condvar)
/**
* @brief Trace Conditional Variable signaling blocking
* @param condvar Conditional Variable object
* @param timeout Timeout period
*/
#define sys_port_trace_k_condvar_signal_blocking(condvar, timeout)
/**
* @brief Trace Conditional Variable signaling outcome
* @param condvar Conditional Variable object
* @param ret Return value
*/
#define sys_port_trace_k_condvar_signal_exit(condvar, ret)
/**
* @brief Trace Conditional Variable broadcast enter
* @param condvar Conditional Variable object
*/
#define sys_port_trace_k_condvar_broadcast_enter(condvar)
/**
* @brief Trace Conditional Variable broadcast exit
* @param condvar Conditional Variable object
* @param ret Return value
*/
#define sys_port_trace_k_condvar_broadcast_exit(condvar, ret)
/**
* @brief Trace Conditional Variable wait enter
* @param condvar Conditional Variable object
*/
#define sys_port_trace_k_condvar_wait_enter(condvar)
/**
* @brief Trace Conditional Variable wait exit
* @param condvar Conditional Variable object
* @param ret Return value
*/
#define sys_port_trace_k_condvar_wait_exit(condvar, ret)
/** @} */ /* end of subsys_tracing_apis_condvar */
/**
* @brief Tracing hooks for queue events
* @defgroup subsys_tracing_apis_queue Queue
* @{
*/
/**
* @brief Trace initialization of Queue
* @param queue Queue object
*/
#define sys_port_trace_k_queue_init(queue)
/**
* @brief Trace Queue cancel wait
* @param queue Queue object
*/
#define sys_port_trace_k_queue_cancel_wait(queue)
/**
* @brief Trace Queue insert attempt entry
* @param queue Queue object
* @param alloc Allocation flag
*/
#define sys_port_trace_k_queue_queue_insert_enter(queue, alloc)
/**
* @brief Trace Queue insert attempt blocking
* @param queue Queue object
* @param alloc Allocation flag
* @param timeout Timeout period
*/
#define sys_port_trace_k_queue_queue_insert_blocking(queue, alloc, timeout)
/**
* @brief Trace Queue insert attempt outcome
* @param queue Queue object
* @param alloc Allocation flag
* @param ret Return value
*/
#define sys_port_trace_k_queue_queue_insert_exit(queue, alloc, ret)
/**
* @brief Trace Queue append enter
* @param queue Queue object
*/
#define sys_port_trace_k_queue_append_enter(queue)
/**
* @brief Trace Queue append exit
* @param queue Queue object
*/
#define sys_port_trace_k_queue_append_exit(queue)
/**
* @brief Trace Queue alloc append enter
* @param queue Queue object
*/
#define sys_port_trace_k_queue_alloc_append_enter(queue)
/**
* @brief Trace Queue alloc append exit
* @param queue Queue object
* @param ret Return value
*/
#define sys_port_trace_k_queue_alloc_append_exit(queue, ret)
/**
* @brief Trace Queue prepend enter
* @param queue Queue object
*/
#define sys_port_trace_k_queue_prepend_enter(queue)
/**
* @brief Trace Queue prepend exit
* @param queue Queue object
*/
#define sys_port_trace_k_queue_prepend_exit(queue)
/**
* @brief Trace Queue alloc prepend enter
* @param queue Queue object
*/
#define sys_port_trace_k_queue_alloc_prepend_enter(queue)
/**
* @brief Trace Queue alloc prepend exit
* @param queue Queue object
* @param ret Return value
*/
#define sys_port_trace_k_queue_alloc_prepend_exit(queue, ret)
/**
* @brief Trace Queue insert attempt entry
* @param queue Queue object
*/
#define sys_port_trace_k_queue_insert_enter(queue)
/**
* @brief Trace Queue insert attempt blocking
* @param queue Queue object
* @param timeout Timeout period
*/
#define sys_port_trace_k_queue_insert_blocking(queue, timeout)
/**
* @brief Trace Queue insert attempt exit
* @param queue Queue object
*/
#define sys_port_trace_k_queue_insert_exit(queue)
/**
* @brief Trace Queue append list enter
* @param queue Queue object
*/
#define sys_port_trace_k_queue_append_list_enter(queue)
/**
* @brief Trace Queue append list exit
* @param queue Queue object
* @param ret Return value
*/
#define sys_port_trace_k_queue_append_list_exit(queue, ret)
/**
* @brief Trace Queue merge slist enter
* @param queue Queue object
*/
#define sys_port_trace_k_queue_merge_slist_enter(queue)
/**
* @brief Trace Queue merge slist exit
* @param queue Queue object
* @param ret Return value
*/
#define sys_port_trace_k_queue_merge_slist_exit(queue, ret)
/**
* @brief Trace Queue get attempt enter
* @param queue Queue object
* @param timeout Timeout period
*/
#define sys_port_trace_k_queue_get_enter(queue, timeout)
/**
* @brief Trace Queue get attempt blockings
* @param queue Queue object
* @param timeout Timeout period
*/
#define sys_port_trace_k_queue_get_blocking(queue, timeout)
/**
* @brief Trace Queue get attempt outcome
* @param queue Queue object
* @param timeout Timeout period
* @param ret Return value
*/
#define sys_port_trace_k_queue_get_exit(queue, timeout, ret)
/**
* @brief Trace Queue remove enter
* @param queue Queue object
*/
#define sys_port_trace_k_queue_remove_enter(queue)
/**
* @brief Trace Queue remove exit
* @param queue Queue object
* @param ret Return value
*/
#define sys_port_trace_k_queue_remove_exit(queue, ret)
/**
* @brief Trace Queue unique append enter
* @param queue Queue object
*/
#define sys_port_trace_k_queue_unique_append_enter(queue)
/**
* @brief Trace Queue unique append exit
* @param queue Queue object
*
* @param ret Return value
*/
#define sys_port_trace_k_queue_unique_append_exit(queue, ret)
/**
* @brief Trace Queue peek head
* @param queue Queue object
* @param ret Return value
*/
#define sys_port_trace_k_queue_peek_head(queue, ret)
/**
* @brief Trace Queue peek tail
* @param queue Queue object
* @param ret Return value
*/
#define sys_port_trace_k_queue_peek_tail(queue, ret)
/** @} */ /* end of subsys_tracing_apis_queue */
/**
* @brief Tracing hooks for FIFO events
* @defgroup subsys_tracing_apis_fifo FIFO
* @{
*/
/**
* @brief Trace initialization of FIFO Queue entry
* @param fifo FIFO object
*/
#define sys_port_trace_k_fifo_init_enter(fifo)
/**
* @brief Trace initialization of FIFO Queue exit
* @param fifo FIFO object
*/
#define sys_port_trace_k_fifo_init_exit(fifo)
/**
* @brief Trace FIFO Queue cancel wait entry
* @param fifo FIFO object
*/
#define sys_port_trace_k_fifo_cancel_wait_enter(fifo)
/**
* @brief Trace FIFO Queue cancel wait exit
* @param fifo FIFO object
*/
#define sys_port_trace_k_fifo_cancel_wait_exit(fifo)
/**
* @brief Trace FIFO Queue put entry
* @param fifo FIFO object
* @param data Data item
*/
#define sys_port_trace_k_fifo_put_enter(fifo, data)
/**
* @brief Trace FIFO Queue put exit
* @param fifo FIFO object
* @param data Data item
*/
#define sys_port_trace_k_fifo_put_exit(fifo, data)
/**
* @brief Trace FIFO Queue alloc put entry
* @param fifo FIFO object
* @param data Data item
*/
#define sys_port_trace_k_fifo_alloc_put_enter(fifo, data)
/**
* @brief Trace FIFO Queue alloc put exit
* @param fifo FIFO object
* @param data Data item
* @param ret Return value
*/
#define sys_port_trace_k_fifo_alloc_put_exit(fifo, data, ret)
/**
* @brief Trace FIFO Queue put list entry
* @param fifo FIFO object
* @param head First ll-node
* @param tail Last ll-node
*/
#define sys_port_trace_k_fifo_put_list_enter(fifo, head, tail)
/**
* @brief Trace FIFO Queue put list exit
* @param fifo FIFO object
* @param head First ll-node
* @param tail Last ll-node
*/
#define sys_port_trace_k_fifo_put_list_exit(fifo, head, tail)
/**
* @brief Trace FIFO Queue put slist entry
* @param fifo FIFO object
* @param list Syslist object
*/
#define sys_port_trace_k_fifo_alloc_put_slist_enter(fifo, list)
/**
* @brief Trace FIFO Queue put slist exit
* @param fifo FIFO object
* @param list Syslist object
*/
#define sys_port_trace_k_fifo_alloc_put_slist_exit(fifo, list)
/**
* @brief Trace FIFO Queue get entry
* @param fifo FIFO object
* @param timeout Timeout period
*/
#define sys_port_trace_k_fifo_get_enter(fifo, timeout)
/**
* @brief Trace FIFO Queue get exit
* @param fifo FIFO object
* @param timeout Timeout period
* @param ret Return value
*/
#define sys_port_trace_k_fifo_get_exit(fifo, timeout, ret)
/**
* @brief Trace FIFO Queue peek head entry
* @param fifo FIFO object
*/
#define sys_port_trace_k_fifo_peek_head_enter(fifo)
/**
* @brief Trace FIFO Queue peek head exit
* @param fifo FIFO object
* @param ret Return value
*/
#define sys_port_trace_k_fifo_peek_head_exit(fifo, ret)
/**
* @brief Trace FIFO Queue peek tail entry
* @param fifo FIFO object
*/
#define sys_port_trace_k_fifo_peek_tail_enter(fifo)
/**
* @brief Trace FIFO Queue peek tail exit
* @param fifo FIFO object
* @param ret Return value
*/
#define sys_port_trace_k_fifo_peek_tail_exit(fifo, ret)
/** @} */ /* end of subsys_tracing_apis_fifo */
/**
* @brief Tracing hooks for LIFO events
* @defgroup subsys_tracing_apis_lifo LIFO
* @{
*/
/**
* @brief Trace initialization of LIFO Queue entry
* @param lifo LIFO object
*/
#define sys_port_trace_k_lifo_init_enter(lifo)
/**
* @brief Trace initialization of LIFO Queue exit
* @param lifo LIFO object
*/
#define sys_port_trace_k_lifo_init_exit(lifo)
/**
* @brief Trace LIFO Queue put entry
* @param lifo LIFO object
* @param data Data item
*/
#define sys_port_trace_k_lifo_put_enter(lifo, data)
/**
* @brief Trace LIFO Queue put exit
* @param lifo LIFO object
* @param data Data item
*/
#define sys_port_trace_k_lifo_put_exit(lifo, data)
/**
* @brief Trace LIFO Queue alloc put entry
* @param lifo LIFO object
* @param data Data item
*/
#define sys_port_trace_k_lifo_alloc_put_enter(lifo, data)
/**
* @brief Trace LIFO Queue alloc put exit
* @param lifo LIFO object
* @param data Data item
* @param ret Return value
*/
#define sys_port_trace_k_lifo_alloc_put_exit(lifo, data, ret)
/**
* @brief Trace LIFO Queue get entry
* @param lifo LIFO object
* @param timeout Timeout period
*/
#define sys_port_trace_k_lifo_get_enter(lifo, timeout)
/**
* @brief Trace LIFO Queue get exit
* @param lifo LIFO object
* @param timeout Timeout period
* @param ret Return value
*/
#define sys_port_trace_k_lifo_get_exit(lifo, timeout, ret)
/** @} */ /* end of subsys_tracing_apis_lifo */
/**
* @brief Tracing hooks for stack events
* @defgroup subsys_tracing_apis_stack Stack
* @{
*/
/**
* @brief Trace initialization of Stack
* @param stack Stack object
*/
#define sys_port_trace_k_stack_init(stack)
/**
* @brief Trace Stack alloc init attempt entry
* @param stack Stack object
*/
#define sys_port_trace_k_stack_alloc_init_enter(stack)
/**
* @brief Trace Stack alloc init outcome
* @param stack Stack object
* @param ret Return value
*/
#define sys_port_trace_k_stack_alloc_init_exit(stack, ret)
/**
* @brief Trace Stack cleanup attempt entry
* @param stack Stack object
*/
#define sys_port_trace_k_stack_cleanup_enter(stack)
/**
* @brief Trace Stack cleanup outcome
* @param stack Stack object
* @param ret Return value
*/
#define sys_port_trace_k_stack_cleanup_exit(stack, ret)
/**
* @brief Trace Stack push attempt entry
* @param stack Stack object
*/
#define sys_port_trace_k_stack_push_enter(stack)
/**
* @brief Trace Stack push attempt outcome
* @param stack Stack object
* @param ret Return value
*/
#define sys_port_trace_k_stack_push_exit(stack, ret)
/**
* @brief Trace Stack pop attempt entry
* @param stack Stack object
* @param timeout Timeout period
*/
#define sys_port_trace_k_stack_pop_enter(stack, timeout)
/**
* @brief Trace Stack pop attempt blocking
* @param stack Stack object
* @param timeout Timeout period
*/
#define sys_port_trace_k_stack_pop_blocking(stack, timeout)
/**
* @brief Trace Stack pop attempt outcome
* @param stack Stack object
* @param timeout Timeout period
* @param ret Return value
*/
#define sys_port_trace_k_stack_pop_exit(stack, timeout, ret)
/** @} */ /* end of subsys_tracing_apis_stack */
/**
* @brief Tracing hooks for message queue events
* @defgroup subsys_tracing_apis_msgq Message queue
* @{
*/
/**
* @brief Trace initialization of Message Queue
* @param msgq Message Queue object
*/
#define sys_port_trace_k_msgq_init(msgq)
/**
* @brief Trace Message Queue alloc init attempt entry
* @param msgq Message Queue object
*/
#define sys_port_trace_k_msgq_alloc_init_enter(msgq)
/**
* @brief Trace Message Queue alloc init attempt outcome
* @param msgq Message Queue object
* @param ret Return value
*/
#define sys_port_trace_k_msgq_alloc_init_exit(msgq, ret)
/**
* @brief Trace Message Queue cleanup attempt entry
* @param msgq Message Queue object
*/
#define sys_port_trace_k_msgq_cleanup_enter(msgq)
/**
* @brief Trace Message Queue cleanup attempt outcome
* @param msgq Message Queue object
* @param ret Return value
*/
#define sys_port_trace_k_msgq_cleanup_exit(msgq, ret)
/**
* @brief Trace Message Queue put attempt entry
* @param msgq Message Queue object
* @param timeout Timeout period
*/
#define sys_port_trace_k_msgq_put_enter(msgq, timeout)
/**
* @brief Trace Message Queue put attempt blocking
* @param msgq Message Queue object
* @param timeout Timeout period
*/
#define sys_port_trace_k_msgq_put_blocking(msgq, timeout)
/**
* @brief Trace Message Queue put attempt outcome
* @param msgq Message Queue object
* @param timeout Timeout period
* @param ret Return value
*/
#define sys_port_trace_k_msgq_put_exit(msgq, timeout, ret)
/**
* @brief Trace Message Queue put at front attempt entry
* @param msgq Message Queue object
* @param timeout Timeout period
*/
#define sys_port_trace_k_msgq_put_front_enter(msgq, timeout)
/**
* @brief Trace Message Queue put at front attempt blocking
* @param msgq Message Queue object
* @param timeout Timeout period
*/
#define sys_port_trace_k_msgq_put_front_blocking(msgq, timeout)
/**
* @brief Trace Message Queue put at front attempt outcome
* @param msgq Message Queue object
* @param timeout Timeout period
* @param ret Return value
*/
#define sys_port_trace_k_msgq_put_front_exit(msgq, timeout, ret)
/**
* @brief Trace Message Queue get attempt entry
* @param msgq Message Queue object
* @param timeout Timeout period
*/
#define sys_port_trace_k_msgq_get_enter(msgq, timeout)
/**
* @brief Trace Message Queue get attempt blockings
* @param msgq Message Queue object
* @param timeout Timeout period
*/
#define sys_port_trace_k_msgq_get_blocking(msgq, timeout)
/**
* @brief Trace Message Queue get attempt outcome
* @param msgq Message Queue object
* @param timeout Timeout period
* @param ret Return value
*/
#define sys_port_trace_k_msgq_get_exit(msgq, timeout, ret)
/**
* @brief Trace Message Queue peek
* @param msgq Message Queue object
* @param ret Return value
*/
#define sys_port_trace_k_msgq_peek(msgq, ret)
/**
* @brief Trace Message Queue purge
* @param msgq Message Queue object
*/
#define sys_port_trace_k_msgq_purge(msgq)
/** @} */ /* end of subsys_tracing_apis_msgq */
/**
* @brief Tracing hooks for mailbox events
* @defgroup subsys_tracing_apis_mbox Mailbox
* @{
*/
/**
* @brief Trace initialization of Mailbox
* @param mbox Mailbox object
*/
#define sys_port_trace_k_mbox_init(mbox)
/**
* @brief Trace Mailbox message put attempt entry
* @param mbox Mailbox object
* @param timeout Timeout period
*/
#define sys_port_trace_k_mbox_message_put_enter(mbox, timeout)
/**
* @brief Trace Mailbox message put attempt blocking
* @param mbox Mailbox object
* @param timeout Timeout period
*/
#define sys_port_trace_k_mbox_message_put_blocking(mbox, timeout)
/**
* @brief Trace Mailbox message put attempt outcome
* @param mbox Mailbox object
* @param timeout Timeout period
* @param ret Return value
*/
#define sys_port_trace_k_mbox_message_put_exit(mbox, timeout, ret)
/**
* @brief Trace Mailbox put attempt entry
* @param mbox Mailbox object
* @param timeout Timeout period
*/
#define sys_port_trace_k_mbox_put_enter(mbox, timeout)
/**
* @brief Trace Mailbox put attempt blocking
* @param mbox Mailbox object
* @param timeout Timeout period
* @param ret Return value
*/
#define sys_port_trace_k_mbox_put_exit(mbox, timeout, ret)
/**
* @brief Trace Mailbox async put entry
* @param mbox Mailbox object
* @param sem Semaphore object
*/
#define sys_port_trace_k_mbox_async_put_enter(mbox, sem)
/**
* @brief Trace Mailbox async put exit
* @param mbox Mailbox object
* @param sem Semaphore object
*/
#define sys_port_trace_k_mbox_async_put_exit(mbox, sem)
/**
* @brief Trace Mailbox get attempt entry
* @param mbox Mailbox entry
* @param timeout Timeout period
*/
#define sys_port_trace_k_mbox_get_enter(mbox, timeout)
/**
* @brief Trace Mailbox get attempt blocking
* @param mbox Mailbox entry
* @param timeout Timeout period
*/
#define sys_port_trace_k_mbox_get_blocking(mbox, timeout)
/**
* @brief Trace Mailbox get attempt outcome
* @param mbox Mailbox entry
* @param timeout Timeout period
* @param ret Return value
*/
#define sys_port_trace_k_mbox_get_exit(mbox, timeout, ret)
/**
* @brief Trace Mailbox data get
* @brief rx_msg Receive Message object
*/
#define sys_port_trace_k_mbox_data_get(rx_msg)
/** @} */ /* end of subsys_tracing_apis_mbox */
/**
* @brief Tracing hooks for pipe events
* @defgroup subsys_tracing_apis_pipe Pipe
* @{
*/
/**
* @brief Trace initialization of Pipe
* @param pipe Pipe object
* @param buffer data buffer
* @param size data buffer size
*/
#define sys_port_trace_k_pipe_init(pipe, buffer, size)
/**
* @brief Trace Pipe reset entry
* @param pipe Pipe object
*/
#define sys_port_trace_k_pipe_reset_enter(pipe)
/**
* @brief Trace Pipe reset exit
* @param pipe Pipe object
*/
#define sys_port_trace_k_pipe_reset_exit(pipe)
/**
* @brief Trace Pipe close entry
* @param pipe Pipe object
*/
#define sys_port_trace_k_pipe_close_enter(pipe)
/**
* @brief Trace Pipe close exit
* @param pipe Pipe object
*/
#define sys_port_trace_k_pipe_close_exit(pipe)
/**
* @brief Trace Pipe write attempt entry
* @param pipe Pipe object
* @param data pointer to data
* @param len length of data
* @param timeout Timeout period
*/
#define sys_port_trace_k_pipe_write_enter(pipe, data, len, timeout)
/**
* @brief Trace Pipe write attempt blocking
* @param pipe Pipe object
* @param timeout Timeout period
*/
#define sys_port_trace_k_pipe_write_blocking(pipe, timeout)
/**
* @brief Trace Pipe write attempt outcome
* @param pipe Pipe object
* @param ret Return value
*/
#define sys_port_trace_k_pipe_write_exit(pipe, ret)
/**
* @brief Trace Pipe read attempt entry
* @param pipe Pipe object
* @param data Pointer to data
* @param len Length of data
* @param timeout Timeout period
*/
#define sys_port_trace_k_pipe_read_enter(pipe, data, len, timeout)
/**
* @brief Trace Pipe read attempt blocking
* @param pipe Pipe object
* @param timeout Timeout period
*/
#define sys_port_trace_k_pipe_read_blocking(pipe, timeout)
/**
* @brief Trace Pipe read attempt outcome
* @param pipe Pipe object
* @param ret Return value
*/
#define sys_port_trace_k_pipe_read_exit(pipe, ret)
/** @} */ /* end of subsys_tracing_apis_pipe */
/**
* @brief Tracing hooks for heap events
* @defgroup subsys_tracing_apis_heap Heap
* @{
*/
/**
* @brief Trace initialization of Heap
* @param h Heap object
*/
#define sys_port_trace_k_heap_init(h)
/**
* @brief Trace Heap aligned alloc attempt entry
* @param h Heap object
* @param timeout Timeout period
*/
#define sys_port_trace_k_heap_aligned_alloc_enter(h, timeout)
/**
* @brief Trace Heap align alloc attempt blocking
* @param h Heap object
* @param timeout Timeout period
*/
#define sys_port_trace_k_heap_alloc_helper_blocking(h, timeout)
/**
* @brief Trace Heap align alloc attempt outcome
* @param h Heap object
* @param timeout Timeout period
* @param ret Return value
*/
#define sys_port_trace_k_heap_aligned_alloc_exit(h, timeout, ret)
/**
* @brief Trace Heap alloc enter
* @param h Heap object
* @param timeout Timeout period
*/
#define sys_port_trace_k_heap_alloc_enter(h, timeout)
/**
* @brief Trace Heap alloc exit
* @param h Heap object
* @param timeout Timeout period
* @param ret Return value
*/
#define sys_port_trace_k_heap_alloc_exit(h, timeout, ret)
/**
* @brief Trace Heap calloc enter
* @param h Heap object
* @param timeout Timeout period
*/
#define sys_port_trace_k_heap_calloc_enter(h, timeout)
/**
* @brief Trace Heap calloc exit
* @param h Heap object
* @param timeout Timeout period
* @param ret Return value
*/
#define sys_port_trace_k_heap_calloc_exit(h, timeout, ret)
/**
* @brief Trace Heap free
* @param h Heap object
*/
#define sys_port_trace_k_heap_free(h)
/**
* @brief Trace Heap realloc enter
* @param h Heap object
* @param ptr Pointer to reallocate
* @param bytes Bytes to reallocate
* @param timeout Timeout period
*/
#define sys_port_trace_k_heap_realloc_enter(h, ptr, bytes, timeout)
/**
* @brief Trace Heap realloc exit
* @param h Heap object
* @param ptr Pointer to reallocate
* @param bytes Bytes to reallocate
* @param timeout Timeout period
* @param ret Return value
*/
#define sys_port_trace_k_heap_realloc_exit(h, ptr, bytes, timeout, ret)
/**
* @brief Trace System Heap aligned alloc enter
* @param heap Heap object
*/
#define sys_port_trace_k_heap_sys_k_aligned_alloc_enter(heap)
/**
* @brief Trace System Heap aligned alloc exit
* @param heap Heap object
* @param ret Return value
*/
#define sys_port_trace_k_heap_sys_k_aligned_alloc_exit(heap, ret)
/**
* @brief Trace System Heap aligned alloc enter
* @param heap Heap object
*/
#define sys_port_trace_k_heap_sys_k_malloc_enter(heap)
/**
* @brief Trace System Heap aligned alloc exit
* @param heap Heap object
* @param ret Return value
*/
#define sys_port_trace_k_heap_sys_k_malloc_exit(heap, ret)
/**
* @brief Trace System Heap free entry
* @param heap Heap object
* @param heap_ref Heap reference
*/
#define sys_port_trace_k_heap_sys_k_free_enter(heap, heap_ref)
/**
* @brief Trace System Heap free exit
* @param heap Heap object
* @param heap_ref Heap reference
*/
#define sys_port_trace_k_heap_sys_k_free_exit(heap, heap_ref)
/**
* @brief Trace System heap calloc enter
* @param heap
*/
#define sys_port_trace_k_heap_sys_k_calloc_enter(heap)
/**
* @brief Trace System heap calloc exit
* @param heap Heap object
* @param ret Return value
*/
#define sys_port_trace_k_heap_sys_k_calloc_exit(heap, ret)
/**
* @brief Trace System heap realloc enter
* @param heap
* @param ptr
*/
#define sys_port_trace_k_heap_sys_k_realloc_enter(heap, ptr)
/**
* @brief Trace System heap realloc exit
* @param heap Heap object
* @param ptr Memory pointer
* @param ret Return value
*/
#define sys_port_trace_k_heap_sys_k_realloc_exit(heap, ptr, ret)
/** @} */ /* end of subsys_tracing_apis_heap */
/**
* @brief Tracing hooks for memory slab events
* @defgroup subsys_tracing_apis_mslab Memory slab
* @{
*/
/**
* @brief Trace initialization of Memory Slab
* @param slab Memory Slab object
* @param rc Return value
*/
#define sys_port_trace_k_mem_slab_init(slab, rc)
/**
* @brief Trace Memory Slab alloc attempt entry
* @param slab Memory Slab object
* @param timeout Timeout period
*/
#define sys_port_trace_k_mem_slab_alloc_enter(slab, timeout)
/**
* @brief Trace Memory Slab alloc attempt blocking
* @param slab Memory Slab object
* @param timeout Timeout period
*/
#define sys_port_trace_k_mem_slab_alloc_blocking(slab, timeout)
/**
* @brief Trace Memory Slab alloc attempt outcome
* @param slab Memory Slab object
* @param timeout Timeout period
* @param ret Return value
*/
#define sys_port_trace_k_mem_slab_alloc_exit(slab, timeout, ret)
/**
* @brief Trace Memory Slab free entry
* @param slab Memory Slab object
*/
#define sys_port_trace_k_mem_slab_free_enter(slab)
/**
* @brief Trace Memory Slab free exit
* @param slab Memory Slab object
*/
#define sys_port_trace_k_mem_slab_free_exit(slab)
/** @} */ /* end of subsys_tracing_apis_mslab */
/**
* @brief Tracing hooks for timer events
* @defgroup subsys_tracing_apis_timer Timer
* @{
*/
/**
* @brief Trace initialization of Timer
* @param timer Timer object
*/
#define sys_port_trace_k_timer_init(timer)
/**
* @brief Trace Timer start
* @param timer Timer object
* @param duration Timer duration
* @param period Timer period
*/
#define sys_port_trace_k_timer_start(timer, duration, period)
/**
* @brief Trace Timer stop
* @param timer Timer object
*/
#define sys_port_trace_k_timer_stop(timer)
/**
* @brief Trace Timer status sync entry
* @param timer Timer object
*/
#define sys_port_trace_k_timer_status_sync_enter(timer)
/**
* @brief Trace Timer Status sync blocking
* @param timer Timer object
* @param timeout Timeout period
*/
#define sys_port_trace_k_timer_status_sync_blocking(timer, timeout)
/**
* @brief Trace Time Status sync outcome
* @param timer Timer object
* @param result Return value
*/
#define sys_port_trace_k_timer_status_sync_exit(timer, result)
/** @} */ /* end of subsys_tracing_apis_timer */
/**
* @brief Tracing hooks for event events
* @defgroup subsys_tracing_apis_event Event
* @{
*/
/**
* @brief Trace initialisation of an Event
* @param event Event object
*/
#define sys_port_trace_k_event_init(event)
/**
* @brief Trace posting of an Event call entry
* @param event Event object
* @param events Set of posted events
* @param events_mask Mask to apply against posted events
*/
#define sys_port_trace_k_event_post_enter(event, events, events_mask)
/**
* @brief Trace posting of an Event call exit
* @param event Event object
* @param events Set of posted events
* @param events_mask Mask to apply against posted events
*/
#define sys_port_trace_k_event_post_exit(event, events, events_mask)
/**
* @brief Trace waiting of an Event call entry
* @param event Event object
* @param events Set of events for which to wait
* @param options Event wait options
* @param timeout Timeout period
*/
#define sys_port_trace_k_event_wait_enter(event, events, options, timeout)
/**
* @brief Trace waiting of an Event call exit
* @param event Event object
* @param events Set of events for which to wait
* @param options Event wait options
* @param timeout Timeout period
*/
#define sys_port_trace_k_event_wait_blocking(event, events, options, timeout)
/**
* @brief Trace waiting of an Event call exit
* @param event Event object
* @param events Set of events for which to wait
* @param ret Set of received events
*/
#define sys_port_trace_k_event_wait_exit(event, events, ret)
/** @} */ /* end of subsys_tracing_apis_event */
/**
* @brief Tracing hooks for system power management events
* @defgroup subsys_tracing_apis_pm_system System PM
* @{
*/
/**
* @brief Trace system suspend call entry.
* @param ticks Ticks.
*/
#define sys_port_trace_pm_system_suspend_enter(ticks)
/**
* @brief Trace system suspend call exit.
* @param ticks Ticks.
* @param state PM state.
*/
#define sys_port_trace_pm_system_suspend_exit(ticks, state)
/** @} */ /* end of subsys_tracing_apis_pm_system */
/**
* @brief Tracing hooks for device runtime power management events
* @defgroup subsys_tracing_apis_pm_device_runtime PM Device Runtime
* @{
*/
/**
* @brief Trace getting a device call entry.
* @param dev Device instance.
*/
#define sys_port_trace_pm_device_runtime_get_enter(dev)
/**
* @brief Trace getting a device call exit.
* @param dev Device instance.
* @param ret Return value.
*/
#define sys_port_trace_pm_device_runtime_get_exit(dev, ret)
/**
* @brief Trace putting a device call entry.
* @param dev Device instance.
*/
#define sys_port_trace_pm_device_runtime_put_enter(dev)
/**
* @brief Trace putting a device call exit.
* @param dev Device instance.
* @param ret Return value.
*/
#define sys_port_trace_pm_device_runtime_put_exit(dev, ret)
/**
* @brief Trace putting a device (asynchronously) call entry.
* @param dev Device instance.
* @param delay Time to delay the operation
*/
#define sys_port_trace_pm_device_runtime_put_async_enter(dev, delay)
/**
* @brief Trace putting a device (asynchronously) call exit.
* @param dev Device instance.
* @param delay Time to delay the operation.
* @param ret Return value.
*/
#define sys_port_trace_pm_device_runtime_put_async_exit(dev, delay, ret)
/**
* @brief Trace enabling device runtime PM call entry.
* @param dev Device instance.
*/
#define sys_port_trace_pm_device_runtime_enable_enter(dev)
/**
* @brief Trace enabling device runtime PM call exit.
* @param dev Device instance.
* @param ret Return value.
*/
#define sys_port_trace_pm_device_runtime_enable_exit(dev, ret)
/**
* @brief Trace disabling device runtime PM call entry.
* @param dev Device instance.
*/
#define sys_port_trace_pm_device_runtime_disable_enter(dev)
/**
* @brief Trace disabling device runtime PM call exit.
* @param dev Device instance.
* @param ret Return value.
*/
#define sys_port_trace_pm_device_runtime_disable_exit(dev, ret)
/** @} */ /* end of subsys_tracing_apis_pm_device_runtime */
/**
* @brief Tracing hooks for network events
* @defgroup subsys_tracing_apis_net Network
* @{
*/
/**
* @brief Trace network data receive
* @param iface Network interface
* @param pkt Received network packet
*/
#define sys_port_trace_net_recv_data_enter(iface, pkt)
/**
* @brief Trace network data receive attempt
* @param iface Network interface
* @param pkt Received network packet
* @param ret Return value
*/
#define sys_port_trace_net_recv_data_exit(iface, pkt, ret)
/**
* @brief Trace network data send
* @param pkt Network packet to send
*/
#define sys_port_trace_net_send_data_enter(pkt)
/**
* @brief Trace network data send attempt
* @param pkt Received network packet
* @param ret Return value
*/
#define sys_port_trace_net_send_data_exit(pkt, ret)
/**
* @brief Trace network data receive time
* @param pkt Received network packet
* @param end_time When the RX processing stopped for this pkt (in ticks)
*/
#define sys_port_trace_net_rx_time(pkt, end_time)
/**
* @brief Trace network data sent time
* @param pkt Sent network packet
* @param end_time When the TX processing stopped for this pkt (in ticks)
*/
#define sys_port_trace_net_tx_time(pkt, end_time)
/** @} */ /* end of subsys_tracing_apis_net */
/**
* @brief Tracing hooks for network socket events
* @defgroup subsys_tracing_apis_socket Network socket
* @{
*/
/**
* @brief Trace init of network sockets
* @param socket Network socket is returned
* @param family Socket address family
* @param type Socket type
* @param proto Socket protocol
*/
#define sys_port_trace_socket_init(socket, family, type, proto)
/**
* @brief Trace close of network sockets
* @param socket Socket object
*/
#define sys_port_trace_socket_close_enter(socket)
/**
* @brief Trace network socket close attempt
* @param socket Socket object
* @param ret Return value
*/
#define sys_port_trace_socket_close_exit(socket, ret)
/**
* @brief Trace shutdown of network sockets
* @param socket Socket object
* @param how Socket shutdown type
*/
#define sys_port_trace_socket_shutdown_enter(socket, how)
/**
* @brief Trace network socket shutdown attempt
* @param socket Socket object
* @param ret Return value
*/
#define sys_port_trace_socket_shutdown_exit(socket, ret)
/**
* @brief Trace bind of network sockets
* @param socket Socket object
* @param addr Network address to bind
* @param addrlen Address length
*/
#define sys_port_trace_socket_bind_enter(socket, addr, addrlen)
/**
* @brief Trace network socket bind attempt
* @param socket Socket object
* @param ret Return value
*/
#define sys_port_trace_socket_bind_exit(socket, ret)
/**
* @brief Trace connect of network sockets
* @param socket Socket object
* @param addr Network address to bind
* @param addrlen Address length
*/
#define sys_port_trace_socket_connect_enter(socket, addr, addrlen)
/**
* @brief Trace network socket connect attempt
* @param socket Socket object
* @param ret Return value
*/
#define sys_port_trace_socket_connect_exit(socket, ret)
/**
* @brief Trace listen of network sockets
* @param socket Socket object
* @param backlog Socket backlog length
*/
#define sys_port_trace_socket_listen_enter(socket, backlog)
/**
* @brief Trace network socket listen attempt
* @param socket Socket object
* @param ret Return value
*/
#define sys_port_trace_socket_listen_exit(socket, ret)
/**
* @brief Trace accept of network sockets
* @param socket Socket object
*/
#define sys_port_trace_socket_accept_enter(socket)
/**
* @brief Trace network socket accept attempt
* @param socket Socket object
* @param addr Peer network address
* @param addrlen Network address length
* @param ret Return value
*/
#define sys_port_trace_socket_accept_exit(socket, addr, addrlen, ret)
/**
* @brief Trace sendto of network sockets
* @param socket Socket object
* @param len Length of the data to send
* @param flags Flags for this send operation
* @param dest_addr Destination network address
* @param addrlen Network address length
*/
#define sys_port_trace_socket_sendto_enter(socket, len, flags, dest_addr, addrlen)
/**
* @brief Trace network socket sendto attempt
* @param socket Socket object
* @param ret Return value
*/
#define sys_port_trace_socket_sendto_exit(socket, ret)
/**
* @brief Trace sendmsg of network sockets
* @param socket Socket object
* @param msg Data to send
* @param flags Flags for this send operation
*/
#define sys_port_trace_socket_sendmsg_enter(socket, msg, flags)
/**
* @brief Trace network socket sendmsg attempt
* @param socket Socket object
* @param ret Return value
*/
#define sys_port_trace_socket_sendmsg_exit(socket, ret)
/**
* @brief Trace recvfrom of network sockets
* @param socket Socket object
* @param max_len Maximum length of the data we can receive
* @param flags Flags for this receive operation
* @param addr Remote network address
* @param addrlen Network address length
*/
#define sys_port_trace_socket_recvfrom_enter(socket, max_len, flags, addr, addrlen)
/**
* @brief Trace network socket recvfrom attempt
* @param socket Socket object
* @param src_addr Peer network address that send the data
* @param addrlen Length of the network address
* @param ret Return value
*/
#define sys_port_trace_socket_recvfrom_exit(socket, src_addr, addrlen, ret)
/**
* @brief Trace recvmsg of network sockets
* @param socket Socket object
* @param msg Message buffer to receive
* @param flags Flags for this receive operation
*/
#define sys_port_trace_socket_recvmsg_enter(socket, msg, flags)
/**
* @brief Trace network socket recvmsg attempt
* @param socket Socket object
* @param msg Message buffer received
* @param ret Return value
*/
#define sys_port_trace_socket_recvmsg_exit(socket, msg, ret)
/**
* @brief Trace fcntl of network sockets
* @param socket Socket object
* @param cmd Command to set for this socket
* @param flags Flags for this receive operation
*/
#define sys_port_trace_socket_fcntl_enter(socket, cmd, flags)
/**
* @brief Trace network socket fcntl attempt
* @param socket Socket object
* @param ret Return value
*/
#define sys_port_trace_socket_fcntl_exit(socket, ret)
/**
* @brief Trace ioctl of network sockets
* @param socket Socket object
* @param req Request to set for this socket
*/
#define sys_port_trace_socket_ioctl_enter(socket, req)
/**
* @brief Trace network socket ioctl attempt
* @param socket Socket object
* @param ret Return value
*/
#define sys_port_trace_socket_ioctl_exit(socket, ret)
/**
* @brief Trace polling of network sockets
* @param fds Set of socket object
* @param nfds Number of socket objects in the set
* @param timeout Timeout for the poll operation
*/
#define sys_port_trace_socket_poll_enter(fds, nfds, timeout)
/**
* @brief Trace network socket poll attempt
* @param fds Set of socket object
* @param nfds Number of socket objects in the set
* @param ret Return value
*/
#define sys_port_trace_socket_poll_exit(fds, nfds, ret)
/**
* @brief Trace getsockopt of network sockets
* @param socket Socket object
* @param level Option level
* @param optname Option name
*/
#define sys_port_trace_socket_getsockopt_enter(socket, level, optname)
/**
* @brief Trace network socket getsockopt attempt
* @param socket Socket object
* @param level Option level
* @param optname Option name
* @param optval Option value
* @param optlen Option value length
* @param ret Return value
*/
#define sys_port_trace_socket_getsockopt_exit(socket, level, optname, optval, optlen, ret)
/**
* @brief Trace setsockopt of network sockets
* @param socket Socket object
* @param level Option level
* @param optname Option name
* @param optval Option value
* @param optlen Option value length
*/
#define sys_port_trace_socket_setsockopt_enter(socket, level, optname, optval, optlen)
/**
* @brief Trace network socket setsockopt attempt
* @param socket Socket object
* @param ret Return value
*/
#define sys_port_trace_socket_setsockopt_exit(socket, ret)
/**
* @brief Trace getpeername of network sockets
* @param socket Socket object
*/
#define sys_port_trace_socket_getpeername_enter(socket)
/**
* @brief Trace network socket getpeername attempt
* @param socket Socket object
* @param addr Peer socket network address
* @param addrlen Length of the network address
* @param ret Return value
*/
#define sys_port_trace_socket_getpeername_exit(socket, addr, addrlen, ret)
/**
* @brief Trace getsockname of network sockets
* @param socket Socket object
*/
#define sys_port_trace_socket_getsockname_enter(socket)
/**
* @brief Trace network socket getsockname attempt
* @param socket Socket object
* @param addr Local socket network address
* @param addrlen Length of the network address
* @param ret Return value
*/
#define sys_port_trace_socket_getsockname_exit(socket, addr, addrlen, ret)
/**
* @brief Trace socketpair enter call
* @param family Network address family
* @param type Socket type
* @param proto Socket protocol
* @param sv Socketpair buffer
*/
#define sys_port_trace_socket_socketpair_enter(family, type, proto, sv)
/**
* @brief Trace network socketpair open attempt
* @param socket_A Socketpair first socket object
* @param socket_B Socketpair second socket object
* @param ret Return value
*/
#define sys_port_trace_socket_socketpair_exit(socket_A, socket_B, ret)
/** @} */ /* end of subsys_tracing_apis_socket */
/**
* @brief Tracing hooks for user-defined named events
* @defgroup subsys_tracing_apis_named User-defined event
* @{
*/
/**
* @brief Called by user to generate named events
*
* @param name name of event. Tracing subsystems may place a limit on
* the length of this string
* @param arg0 arbitrary user-provided data for this event
* @param arg1 arbitrary user-provided data for this event
*/
#define sys_trace_named_event(name, arg0, arg1)
/** @} */ /* end of subsys_tracing_apis_named */
/**
* @brief Tracing hooks for GPIO events
* @defgroup subsys_tracing_apis_gpio GPIO
* @{
*/
/**
* @brief Trace GPIO pin interrupt configure enter call
* @param port Pointer to device structure for the driver instance
* @param pin GPIO pin number
* @param flags Interrupt configuration flags as defined by GPIO_INT_*
*/
#define sys_port_trace_gpio_pin_interrupt_configure_enter(port, pin, flags)
/**
* @brief Trace GPIO pin interrupt configure exit call
* @param port Pointer to device structure for the driver instance
* @param pin GPIO pin number
* @param ret Return value
*/
#define sys_port_trace_gpio_pin_interrupt_configure_exit(port, pin, ret)
/**
* @brief Trace GPIO single pin configure enter call
* @param port Pointer to device structure for the driver instance
* @param pin GPIO pin number to configure
* @param flags GPIO pin configuration flags
*/
#define sys_port_trace_gpio_pin_configure_enter(port, pin, flags)
/**
* @brief Trace GPIO single pin configure exit call
* @param port Pointer to device structure for the driver instance
* @param pin GPIO pin number to configure
* @param ret Return value
*/
#define sys_port_trace_gpio_pin_configure_exit(port, pin, ret)
/**
* @brief Trace GPIO port get direction enter call
* @param port Pointer to device structure for the driver instance
* @param map Bitmap of pin directions to query
* @param inputs Pointer to a variable where input directions will be stored
* @param outputs Pointer to a variable where output directions will be stored
*/
#define sys_port_trace_gpio_port_get_direction_enter(port, map, inputs, outputs)
/**
* @brief Trace GPIO port get direction exit call
* @param port Pointer to device structure for the driver instance
* @param ret Return value
*/
#define sys_port_trace_gpio_port_get_direction_exit(port, ret)
/**
* @brief Trace GPIO pin gent config enter call
* @param port Pointer to device structure for the driver instance
* @param pin GPIO pin number to configure
* @param flags GPIO pin configuration flags
*/
#define sys_port_trace_gpio_pin_get_config_enter(port, pin, flags)
/**
* @brief Trace GPIO pin get config exit call
* @param port Pointer to device structure for the driver instance
* @param pin GPIO pin number to configure
* @param ret Return value
*/
#define sys_port_trace_gpio_pin_get_config_exit(port, pin, ret)
/**
* @brief Trace GPIO port get raw enter call
* @param port Pointer to device structure for the driver instance
* @param value Pointer to a variable where the raw value will be stored
*/
#define sys_port_trace_gpio_port_get_raw_enter(port, value)
/**
* @brief Trace GPIO port get raw exit call
* @param port Pointer to device structure for the driver instance
* @param ret Return value
*/
#define sys_port_trace_gpio_port_get_raw_exit(port, ret)
/**
* @brief Trace GPIO port set masked raw enter call
* @param port Pointer to device structure for the driver instance
* @param mask Mask indicating which pins will be modified
* @param value Value to be written to the output pins
*/
#define sys_port_trace_gpio_port_set_masked_raw_enter(port, mask, value)
/**
* @brief Trace GPIO port set masked raw exit call
* @param port Pointer to device structure for the driver instance
* @param ret Return value
*/
#define sys_port_trace_gpio_port_set_masked_raw_exit(port, ret)
/**
* @brief Trace GPIO port set bits raw enter call
* @param port Pointer to device structure for the driver instance
* @param pins Value indicating which pins will be modified
*/
#define sys_port_trace_gpio_port_set_bits_raw_enter(port, pins)
/**
* @brief Trace GPIO port set bits raw exit call
* @param port Pointer to device structure for the driver instance
* @param ret Return value
*/
#define sys_port_trace_gpio_port_set_bits_raw_exit(port, ret)
/**
* @brief Trace GPIO port clear bits raw enter call
* @param port Pointer to device structure for the driver instance
* @param pins Value indicating which pins will be modified
*/
#define sys_port_trace_gpio_port_clear_bits_raw_enter(port, pins)
/**
* @brief Trace GPIO port clear bits raw exit call
* @param port Pointer to device structure for the driver instance
* @param ret Return value
*/
#define sys_port_trace_gpio_port_clear_bits_raw_exit(port, ret)
/**
* @brief Trace GPIO port toggle bits enter call
* @param port Pointer to device structure for the driver instance
* @param pins Value indicating which pins will be modified
*/
#define sys_port_trace_gpio_port_toggle_bits_enter(port, pins)
/**
* @brief Trace GPIO port toggle bits exit call
* @param port Pointer to device structure for the driver instance
* @param ret Return value
*/
#define sys_port_trace_gpio_port_toggle_bits_exit(port, ret)
/**
* @brief Trace GPIO init callback enter call
* @param callback A valid application's callback structure pointer
* @param handler A valid handler function pointer
* @param pin_mask A bit mask of relevant pins for the handler
*/
#define sys_port_trace_gpio_init_callback_enter(callback, handler, pin_mask)
/**
* @brief Trace GPIO init callback exit call
* @param callback A valid application's callback structure pointer
*/
#define sys_port_trace_gpio_init_callback_exit(callback)
/**
* @brief Trace GPIO add callback enter call
* @param port Pointer to device structure for the driver instance
* @param callback A valid application's callback structure pointer
*/
#define sys_port_trace_gpio_add_callback_enter(port, callback)
/**
* @brief Trace GPIO add callback exit call
* @param port Pointer to device structure for the driver instance
* @param ret Return value
*/
#define sys_port_trace_gpio_add_callback_exit(port, ret)
/**
* @brief Trace GPIO remove callback enter call
* @param port Pointer to device structure for the driver instance
* @param callback A valid application's callback structure pointer
*/
#define sys_port_trace_gpio_remove_callback_enter(port, callback)
/**
* @brief Trace GPIO remove callback exit call
* @param port Pointer to device structure for the driver instance
* @param ret Return value
*/
#define sys_port_trace_gpio_remove_callback_exit(port, ret)
/**
* @brief Trace GPIO get pending interrupt enter call
* @param dev Pointer to the device structure for the device instance
*/
#define sys_port_trace_gpio_get_pending_int_enter(dev)
/**
* @brief Trace GPIO get pending interrupt exit call
* @param dev Pointer to the device structure for the device instance
* @param ret Return value
*/
#define sys_port_trace_gpio_get_pending_int_exit(dev, ret)
/**
* @brief
* @param list @ref sys_slist_t representing gpio_callback pointers
* @param port @ref device representing the GPIO port
* @param pins @ref gpio_pin_t representing the pins
*/
#define sys_port_trace_gpio_fire_callbacks_enter(list, port, pins)
/**
* @brief
* @param port @ref device representing the GPIO port
* @param callback @ref gpio_callback a valid Application's callback structure pointer
*/
#define sys_port_trace_gpio_fire_callback(port, callback)
/** @} */ /* end of subsys_tracing_apis_gpio */
#if defined(CONFIG_PERCEPIO_TRACERECORDER)
#include "tracing_tracerecorder.h"
/**
* @brief Called when the cpu exits the idle state
*/
void sys_trace_idle_exit(void);
#else
/**
* @brief Called when entering an ISR
*/
void sys_trace_isr_enter(void);
/**
* @brief Called when exiting an ISR
*/
void sys_trace_isr_exit(void);
/**
* @brief Called when exiting an ISR and switching to scheduler
*/
void sys_trace_isr_exit_to_scheduler(void);
/**
* @brief Called when the cpu enters the idle state
*/
void sys_trace_idle(void);
/**
* @brief Called when the cpu exits the idle state
*/
void sys_trace_idle_exit(void);
#endif /* CONFIG_PERCEPIO_TRACERECORDER */
/**
* @brief Called when entering an init function
*/
#define sys_trace_sys_init_enter(entry, level)
/**
* @brief Called when exiting an init function
*/
#define sys_trace_sys_init_exit(entry, level, result)
/** @} */ /* end of subsys_tracing_apis */
/** @} */ /* end of subsys_tracing */
#endif
#endif /* ZEPHYR_INCLUDE_TRACING_TRACING_H_ */