tracing: move headers under include/tracing

Move tracing.h to include/tracing/ to align with subsystem reorg.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit is contained in:
Anas Nashif 2020-02-06 09:14:51 -05:00
commit 73008b427c
24 changed files with 173 additions and 159 deletions

View file

@ -27,7 +27,7 @@
#include <linker/sections.h>
#include <sw_isr_table.h>
#include <irq.h>
#include <debug/tracing.h>
#include <tracing/tracing.h>
extern void z_arm_reserved(void);

View file

@ -12,7 +12,7 @@
#include <kernel.h>
#include <arch/cpu.h>
#include <device.h>
#include <debug/tracing.h>
#include <tracing/tracing.h>
#include <irq.h>
#include <irq_nextlevel.h>
#include <toolchain.h>

View file

@ -18,7 +18,7 @@
#include <sw_isr_table.h>
#include <ksched.h>
#include <kswap.h>
#include <debug/tracing.h>
#include <tracing/tracing.h>
#include <logging/log.h>
LOG_MODULE_DECLARE(os);

View file

@ -22,7 +22,7 @@
#include "posix_core.h"
#include <arch/posix/posix_soc_if.h>
#include <debug/tracing.h>
#include <tracing/tracing.h>
void arch_cpu_idle(void)
{

View file

@ -4,7 +4,7 @@
*/
#include <zephyr.h>
#include <debug/tracing.h>
#include <tracing/tracing.h>
#include <arch/cpu.h>
void arch_cpu_idle(void)

View file

@ -20,7 +20,7 @@
#include <sys/__assert.h>
#include <sys/printk.h>
#include <irq.h>
#include <debug/tracing.h>
#include <tracing/tracing.h>
#include <kswap.h>
#include <arch/x86/ia32/segmentation.h>

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: Apache-2.0
*/
#include <debug/tracing.h>
#include <tracing/tracing.h>
void arch_cpu_idle(void)
{

View file

@ -18,7 +18,7 @@
#include "board_soc.h"
#include "sw_isr_table.h"
#include "soc.h"
#include <debug/tracing.h>
#include <tracing/tracing.h>
typedef void (*normal_irq_f_ptr)(void *);
typedef int (*direct_irq_f_ptr)(void);

View file

@ -17,7 +17,7 @@
#include "sw_isr_table.h"
#include "soc.h"
#include "bs_tracing.h"
#include <debug/tracing.h>
#include <tracing/tracing.h>
#include "bstests.h"
static bool CPU_will_be_awaken_from_WFE;

View file

@ -11,7 +11,7 @@ your application and allows enabled backends to visualize the inner-working of
the kernel and various subsystems.
Applications and tracing tools can create a backend that redefines the
macros declared in :zephyr_file:`include/debug/tracing.h` that are called
macros declared in :zephyr_file:`include/tracing/tracing.h` that are called
across the kernel in key spots.
.. doxygengroup:: tracing_apis

View file

@ -239,7 +239,9 @@ static inline void arch_irq_direct_pm(void)
#define ARCH_ISR_DIRECT_HEADER() arch_isr_direct_header()
#define ARCH_ISR_DIRECT_FOOTER(swap) arch_isr_direct_footer(swap)
/* FIXME: debug/tracing.h cannot be included here due to circular dependency */
/* FIXME:
* tracing/tracing.h cannot be included here due to circular dependency
*/
#if defined(CONFIG_TRACING)
extern void sys_trace_isr_enter(void);
extern void sys_trace_isr_exit(void);

View file

@ -1,139 +1,12 @@
/*
* Copyright (c) 2018 Intel Corporation
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef ZEPHYR_INCLUDE_DEBUG_TRACING_H_
#define ZEPHYR_INCLUDE_DEBUG_TRACING_H_
/*
* Copyright (c) 2020 Intel Corporation
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <kernel.h>
/* Below IDs are used with systemview, not final to the zephyr tracing API */
#define SYS_TRACE_ID_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)
#ifdef CONFIG_SEGGER_SYSTEMVIEW
#include "tracing_sysview.h"
#elif defined CONFIG_TRACING_CPU_STATS
#include "tracing_cpu_stats.h"
#elif defined CONFIG_TRACING_CTF
#include "tracing_ctf.h"
#elif defined CONFIG_TRACING_TEST
#include "tracing_test.h"
#else
/**
* @brief Tracing APIs
* @defgroup tracing_apis Tracing APIs
* @{
*/
/**
* @brief Called before a thread has been selected to run
*/
#define sys_trace_thread_switched_out()
/**
* @brief Called after a thread has been selected to run
*/
#define sys_trace_thread_switched_in()
/**
* @brief Called when setting priority of a thread
*/
#define sys_trace_thread_priority_set(thread)
/**
* @brief Called when a thread is being created
*/
#define sys_trace_thread_create(thread)
/**
* @brief Called when a thread is being aborted
*
*/
#define sys_trace_thread_abort(thread)
/**
* @brief Called when a thread is being suspended
* @param thread Thread structure
*/
#define sys_trace_thread_suspend(thread)
/**
* @brief Called when a thread is being resumed from suspension
* @param thread Thread structure
*/
#define sys_trace_thread_resume(thread)
/**
* @brief Called when a thread is ready to run
* @param thread Thread structure
*/
#define sys_trace_thread_ready(thread)
/**
* @brief Called when a thread is pending
* @param thread Thread structure
*/
#define sys_trace_thread_pend(thread)
/**
* @brief Provide information about specific thread
* @param thread Thread structure
*/
#define sys_trace_thread_info(thread)
/**
* @brief Called when a thread name is set
* @param thread Thread structure
*/
#define sys_trace_thread_name_set(thread)
/**
* @brief Called when entering an ISR
*/
#define sys_trace_isr_enter()
/**
* @brief Called when exiting an ISR
*/
#define sys_trace_isr_exit()
/**
* @brief Called when exiting an ISR and switching to scheduler
*/
#define sys_trace_isr_exit_to_scheduler()
/**
* @brief Can be called with any id signifying a new call
* @param id ID of the operation that was started
*/
#define sys_trace_void(id)
/**
* @brief Can be called with any id signifying ending a call
* @param id ID of the operation that was completed
*/
#define sys_trace_end_call(id)
/**
* @brief Called when the cpu enters the idle state
*/
#define sys_trace_idle()
/**
* @}
*/
#ifndef ZEPHYR_INCLUDE_DEBUG_TRACING_H
#define ZEPHYR_INCLUDE_DEBUG_TRACING_H
#warning "This header file has moved, include <tracing/tracing.h> instead."
#endif
#include <tracing/tracing.h>
#endif

View file

@ -5357,7 +5357,7 @@ __syscall int k_float_disable(struct k_thread *thread);
}
#endif
#include <debug/tracing.h>
#include <tracing/tracing.h>
#include <syscalls/kernel.h>
#endif /* !_ASMLANGUAGE */

139
include/tracing/tracing.h Normal file
View file

@ -0,0 +1,139 @@
/*
* Copyright (c) 2018 Intel Corporation
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef ZEPHYR_INCLUDE_TRACING_TRACING_H_
#define ZEPHYR_INCLUDE_TRACING_TRACING_H_
#include <kernel.h>
/* Below IDs are used with systemview, not final to the zephyr tracing API */
#define SYS_TRACE_ID_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)
#ifdef CONFIG_SEGGER_SYSTEMVIEW
#include "tracing_sysview.h"
#elif defined CONFIG_TRACING_CPU_STATS
#include "tracing_cpu_stats.h"
#elif defined CONFIG_TRACING_CTF
#include "tracing_ctf.h"
#elif defined CONFIG_TRACING_TEST
#include "tracing_test.h"
#else
/**
* @brief Tracing APIs
* @defgroup tracing_apis Tracing APIs
* @{
*/
/**
* @brief Called before a thread has been selected to run
*/
#define sys_trace_thread_switched_out()
/**
* @brief Called after a thread has been selected to run
*/
#define sys_trace_thread_switched_in()
/**
* @brief Called when setting priority of a thread
*/
#define sys_trace_thread_priority_set(thread)
/**
* @brief Called when a thread is being created
*/
#define sys_trace_thread_create(thread)
/**
* @brief Called when a thread is being aborted
*
*/
#define sys_trace_thread_abort(thread)
/**
* @brief Called when a thread is being suspended
* @param thread Thread structure
*/
#define sys_trace_thread_suspend(thread)
/**
* @brief Called when a thread is being resumed from suspension
* @param thread Thread structure
*/
#define sys_trace_thread_resume(thread)
/**
* @brief Called when a thread is ready to run
* @param thread Thread structure
*/
#define sys_trace_thread_ready(thread)
/**
* @brief Called when a thread is pending
* @param thread Thread structure
*/
#define sys_trace_thread_pend(thread)
/**
* @brief Provide information about specific thread
* @param thread Thread structure
*/
#define sys_trace_thread_info(thread)
/**
* @brief Called when a thread name is set
* @param thread Thread structure
*/
#define sys_trace_thread_name_set(thread)
/**
* @brief Called when entering an ISR
*/
#define sys_trace_isr_enter()
/**
* @brief Called when exiting an ISR
*/
#define sys_trace_isr_exit()
/**
* @brief Called when exiting an ISR and switching to scheduler
*/
#define sys_trace_isr_exit_to_scheduler()
/**
* @brief Can be called with any id signifying a new call
* @param id ID of the operation that was started
*/
#define sys_trace_void(id)
/**
* @brief Can be called with any id signifying ending a call
* @param id ID of the operation that was completed
*/
#define sys_trace_end_call(id)
/**
* @brief Called when the cpu enters the idle state
*/
#define sys_trace_idle()
/**
* @}
*/
#endif
#endif

View file

@ -4,8 +4,8 @@
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef ZEPHYR_INCLUDE_TRACE_FORMAT_H
#define ZEPHYR_INCLUDE_TRACE_FORMAT_H
#ifndef ZEPHYR_INCLUDE_TRACING_TRACING_FORMAT_H
#define ZEPHYR_INCLUDE_TRACING_TRACING_FORMAT_H
#include <toolchain/common.h>

View file

@ -10,7 +10,7 @@
#include <kernel_structs.h>
#include <kernel_internal.h>
#include <timeout_q.h>
#include <debug/tracing.h>
#include <tracing/tracing.h>
#include <stdbool.h>
BUILD_ASSERT(K_LOWEST_APPLICATION_THREAD_PRIO

View file

@ -31,7 +31,7 @@
#include <kswap.h>
#include <drivers/entropy.h>
#include <logging/log_ctrl.h>
#include <debug/tracing.h>
#include <tracing/tracing.h>
#include <stdbool.h>
#include <debug/gcov.h>

View file

@ -37,7 +37,7 @@
#include <errno.h>
#include <init.h>
#include <syscall_handler.h>
#include <debug/tracing.h>
#include <tracing/tracing.h>
#include <sys/check.h>
/* We use a global spinlock here because some of the synchronization

View file

@ -27,7 +27,7 @@
#include <ksched.h>
#include <init.h>
#include <syscall_handler.h>
#include <debug/tracing.h>
#include <tracing/tracing.h>
#include <sys/check.h>
/* We use a system-wide lock to synchronize semaphores, which has

View file

@ -23,7 +23,7 @@
#include <kernel_internal.h>
#include <kswap.h>
#include <init.h>
#include <debug/tracing.h>
#include <tracing/tracing.h>
#include <string.h>
#include <stdbool.h>
#include <irq_offload.h>

View file

@ -9,7 +9,7 @@
#include <irq.h>
#include <arch/cpu.h>
#include <debug/tracing.h>
#include <tracing/tracing.h>
static ALWAYS_INLINE void riscv_idle(unsigned int key)
{

View file

@ -10,7 +10,7 @@
#include <stddef.h>
#include <string.h>
#include <ctf_map.h>
#include <debug/tracing_format.h>
#include <tracing/tracing_format.h>
/* Limit strings to 20 bytes to optimize bandwidth */
#define CTF_MAX_STRING_LEN 20

View file

@ -9,7 +9,7 @@
#include <stdarg.h>
#include <sys/printk.h>
#include <debug/tracing_format.h>
#include <tracing/tracing_format.h>
#ifdef __cplusplus
extern "C" {

View file

@ -6,7 +6,7 @@
#include <zephyr.h>
#include <tracing_test.h>
#include <debug/tracing_format.h>
#include <tracing/tracing_format.h>
void sys_trace_thread_switched_out(void)
{