|  | # Debug configuration options | 
|  |  | 
|  | # Copyright (c) 2015 Wind River Systems, Inc. | 
|  | # SPDX-License-Identifier: Apache-2.0 | 
|  |  | 
|  | DT_CHOSEN_Z_CONSOLE := zephyr,console | 
|  |  | 
|  | config TRACING | 
|  | bool "Tracing Support" | 
|  | imply THREAD_NAME | 
|  | imply THREAD_STACK_INFO | 
|  | imply THREAD_MONITOR | 
|  | select INSTRUMENT_THREAD_SWITCHING | 
|  | help | 
|  | Enable system tracing. This requires a backend such as SEGGER | 
|  | Systemview to be enabled as well. | 
|  |  | 
|  | if TRACING | 
|  |  | 
|  | config TRACING_CORE | 
|  | bool | 
|  | help | 
|  | Automatically selected by formats that require the core | 
|  | tracing infrastructure. | 
|  |  | 
|  | choice TRACING_FORMAT_CHOICE | 
|  | prompt "Tracing Format" | 
|  | default TRACING_NONE | 
|  |  | 
|  | config TRACING_NONE | 
|  | bool "No tracing format selected" | 
|  | help | 
|  | None of the available tracing formats is selected. | 
|  |  | 
|  | config PERCEPIO_TRACERECORDER | 
|  | bool "Percepio Tracealyzer support" | 
|  | select THREAD_NAME | 
|  | select INIT_STACKS | 
|  | select THREAD_MONITOR | 
|  | depends on ZEPHYR_PERCEPIO_MODULE | 
|  |  | 
|  | config SEGGER_SYSTEMVIEW | 
|  | bool "Segger SystemView support" | 
|  | select USE_SEGGER_RTT | 
|  | select THREAD_MONITOR | 
|  | select SEGGER_RTT_CUSTOM_LOCKING | 
|  |  | 
|  | config TRACING_CTF | 
|  | bool "Tracing via Common Trace Format support" | 
|  | select TRACING_CORE | 
|  | help | 
|  | Enable tracing to a Common Trace Format stream. | 
|  |  | 
|  | config TRACING_TEST | 
|  | bool "Tracing for test usage" | 
|  | select TRACING_CORE | 
|  | help | 
|  | Enable tracing for testing kinds of format purpose. It must | 
|  | implement the tracing hooks defined in tracing_test.h | 
|  |  | 
|  | config TRACING_USER | 
|  | bool "Tracing using user-defined functions" | 
|  | help | 
|  | Use user-defined functions for tracing task switching and irqs | 
|  |  | 
|  | endchoice | 
|  |  | 
|  |  | 
|  | config TRACING_CTF_TIMESTAMP | 
|  | bool "CTF internal timestamp" | 
|  | default y | 
|  | depends on TRACING_CTF | 
|  | help | 
|  | Timestamp prefix will be added to the beginning of CTF | 
|  | event internally. | 
|  |  | 
|  | choice TRACING_METHOD_CHOICE | 
|  | prompt "Tracing Method" | 
|  | default TRACING_ASYNC | 
|  |  | 
|  | config TRACING_SYNC | 
|  | bool "Synchronous Tracing" | 
|  | select RING_BUFFER | 
|  | help | 
|  | Enable synchronous tracing. This requires the backend to be | 
|  | very low-latency. | 
|  |  | 
|  | config TRACING_ASYNC | 
|  | bool "Asynchronous Tracing" | 
|  | select RING_BUFFER | 
|  | help | 
|  | Enable asynchronous tracing. This will buffer all the tracing | 
|  | packets to the ring buffer first, tracing thread will try to | 
|  | output as much data as possible from the buffer when tracing | 
|  | thread get scheduled. | 
|  |  | 
|  | endchoice | 
|  |  | 
|  | config TRACING_THREAD_STACK_SIZE | 
|  | int "Stack size of tracing thread" | 
|  | default 1024 | 
|  | depends on TRACING_ASYNC | 
|  | help | 
|  | Stack size of tracing thread. | 
|  |  | 
|  | config TRACING_THREAD_WAIT_THRESHOLD | 
|  | int "Tracing thread waiting threshold" | 
|  | default 100 | 
|  | depends on TRACING_ASYNC | 
|  | help | 
|  | Tracing thread waiting period given in milliseconds after | 
|  | every first packet put to tracing buffer. | 
|  |  | 
|  | config TRACING_BUFFER_SIZE | 
|  | int "Size of tracing buffer" | 
|  | default 2048 if TRACING_ASYNC | 
|  | default TRACING_PACKET_MAX_SIZE if TRACING_SYNC | 
|  | range 32 65536 | 
|  | help | 
|  | Size of tracing buffer. If TRACING_ASYNC is enabled, tracing buffer | 
|  | is used as a ring buffer to buffer data packet and string packet. If | 
|  | TRACING_SYNC is enabled, the buffer is used to hold the formatted data. | 
|  |  | 
|  | config TRACING_PACKET_MAX_SIZE | 
|  | int "Max size of one tracing packet" | 
|  | default 32 | 
|  | help | 
|  | Max size of one tracing packet. | 
|  |  | 
|  | choice TRACING_BACKEND_CHOICE | 
|  | prompt "Tracing Backend" | 
|  | default TRACING_BACKEND_UART | 
|  |  | 
|  | config TRACING_BACKEND_UART | 
|  | bool "UART backend" | 
|  | depends on UART_CONSOLE | 
|  |  | 
|  | help | 
|  | Use UART to output tracing data. | 
|  |  | 
|  | config TRACING_BACKEND_USB | 
|  | bool "USB backend" | 
|  | depends on USB_DEVICE_STACK_NEXT | 
|  | depends on TRACING_ASYNC | 
|  | help | 
|  | Use USB to output tracing data. | 
|  |  | 
|  | config TRACING_BACKEND_POSIX | 
|  | bool "Posix architecture (native) backend" | 
|  | depends on TRACING_SYNC | 
|  | depends on ARCH_POSIX | 
|  | help | 
|  | Use posix architecture to output tracing data to file system. | 
|  |  | 
|  | config TRACING_BACKEND_RAM | 
|  | bool "RAM backend" | 
|  | help | 
|  | Use a ram buffer to output tracing data which can | 
|  | be dumped to a file at runtime with a debugger. | 
|  | See gdb dump binary memory documentation for example. | 
|  |  | 
|  | config TRACING_BACKEND_ADSP_MEMORY_WINDOW | 
|  | bool "Memory window in RAM" | 
|  | depends on SOC_FAMILY_INTEL_ADSP | 
|  | depends on TRACING_SYNC | 
|  | help | 
|  | Use ADSP memory debug memory window to output tracing data | 
|  |  | 
|  | endchoice | 
|  |  | 
|  | config TRACING_BACKEND_NAME | 
|  | string | 
|  | default "tracing_backend_uart" if TRACING_BACKEND_UART | 
|  | default "tracing_backend_usb" if TRACING_BACKEND_USB | 
|  | default "tracing_backend_posix" if TRACING_BACKEND_POSIX | 
|  | default "tracing_backend_ram" if TRACING_BACKEND_RAM | 
|  | default "tracing_backend_adsp_memory_window" if TRACING_BACKEND_ADSP_MEMORY_WINDOW | 
|  |  | 
|  | config RAM_TRACING_BUFFER_SIZE | 
|  | int "Ram Tracing buffer size" | 
|  | default 4096 | 
|  | depends on TRACING_BACKEND_RAM | 
|  | help | 
|  | Size of the RAM trace buffer. Trace will be discarded if the | 
|  | length is exceeded. | 
|  |  | 
|  | config TRACING_HANDLE_HOST_CMD | 
|  | bool "Host command handle" | 
|  | select UART_INTERRUPT_DRIVEN if TRACING_BACKEND_UART | 
|  | help | 
|  | When enabled tracing will handle cmd from host to dynamically | 
|  | enable and disable tracing to have host capture tracing stream | 
|  | data conveniently. | 
|  |  | 
|  | config TRACING_CMD_BUFFER_SIZE | 
|  | int "Size of tracing command buffer" | 
|  | default 32 | 
|  | range 32 128 | 
|  | help | 
|  | Size of tracing command buffer. | 
|  |  | 
|  | config TRACING_OBJECT_TRACKING | 
|  | bool "Object tracking" | 
|  | help | 
|  | Keep lists to track kernel objects. | 
|  |  | 
|  | menu "Tracing Configuration" | 
|  |  | 
|  | config TRACING_SYSCALL | 
|  | bool "Tracing Syscalls" | 
|  | default y | 
|  | help | 
|  | Enable tracing Syscalls. | 
|  |  | 
|  | config TRACING_THREAD | 
|  | bool "Tracing Threads" | 
|  | default y | 
|  | help | 
|  | Enable tracing Threads. | 
|  |  | 
|  | config TRACING_WORK | 
|  | bool "Tracing Work" | 
|  | default y | 
|  | help | 
|  | Enable tracing Work and Work queue events | 
|  |  | 
|  | config TRACING_ISR | 
|  | bool "Tracing ISRs" | 
|  | default y | 
|  | help | 
|  | Enable tracing ISRs. This requires the backend to be | 
|  | very low-latency. | 
|  |  | 
|  | config TRACING_SEMAPHORE | 
|  | bool "Tracing Semaphores" | 
|  | default y | 
|  | help | 
|  | Enable tracing Semaphores. | 
|  |  | 
|  | config TRACING_MUTEX | 
|  | bool "Tracing Mutexes" | 
|  | default y | 
|  | help | 
|  | Enable tracing Mutexes. | 
|  |  | 
|  | config TRACING_CONDVAR | 
|  | bool "Tracing Condition Variables" | 
|  | default y | 
|  | help | 
|  | Enable tracing Condition Variables | 
|  |  | 
|  | config TRACING_QUEUE | 
|  | bool "Tracing Queues" | 
|  | default y | 
|  | help | 
|  | Enable tracing Queues. | 
|  |  | 
|  | config TRACING_FIFO | 
|  | bool "Tracing FIFO queues" | 
|  | default y | 
|  | help | 
|  | Enable tracing FIFO queues. | 
|  |  | 
|  | config TRACING_LIFO | 
|  | bool "Tracing LIFO queues" | 
|  | default y | 
|  | help | 
|  | Enable tracing LIFO queues. | 
|  |  | 
|  | config TRACING_STACK | 
|  | bool "Tracing Memory Stacks" | 
|  | default y | 
|  | help | 
|  | Enable tracing Memory Stacks. | 
|  |  | 
|  | config TRACING_MESSAGE_QUEUE | 
|  | bool "Tracing Message Queues" | 
|  | default y | 
|  | help | 
|  | Enable tracing Message Queues. | 
|  |  | 
|  | config TRACING_MAILBOX | 
|  | bool "Tracing Mailboxes" | 
|  | default y | 
|  | help | 
|  | Enable tracing Mailboxes. | 
|  |  | 
|  | config TRACING_PIPE | 
|  | bool "Tracing Pipes" | 
|  | default y | 
|  | help | 
|  | Enable tracing Pipes. | 
|  |  | 
|  | config TRACING_HEAP | 
|  | bool "Tracing Memory Heaps" | 
|  | default y | 
|  | help | 
|  | Enable tracing Memory Heaps. | 
|  |  | 
|  | config TRACING_MEMORY_SLAB | 
|  | bool "Tracing Memory Slabs" | 
|  | default y | 
|  | help | 
|  | Enable tracing Memory Slabs. | 
|  |  | 
|  | config TRACING_TIMER | 
|  | bool "Tracing Timers" | 
|  | default y | 
|  | help | 
|  | Enable tracing Timers. | 
|  |  | 
|  | config TRACING_EVENT | 
|  | bool "Tracing Events" | 
|  | default y | 
|  | help | 
|  | Enable tracing Events. | 
|  |  | 
|  | config TRACING_POLLING | 
|  | bool "Tracing Polling" | 
|  | default y | 
|  | help | 
|  | Enable tracing Work Polling and Polling API. | 
|  |  | 
|  | config TRACING_PM | 
|  | bool "Tracing Power Management" | 
|  | default y | 
|  | help | 
|  | Enable tracing Power Management. | 
|  |  | 
|  | config TRACING_NETWORKING | 
|  | bool "Tracing Network Objects" | 
|  | default y if NETWORKING | 
|  | help | 
|  | Enable tracing network objects. | 
|  |  | 
|  | config TRACING_NET_SOCKETS | 
|  | bool "Tracing Network Sockets" | 
|  | depends on TRACING_NETWORKING | 
|  | default y if NET_SOCKETS | 
|  | help | 
|  | Enable tracing network sockets. | 
|  |  | 
|  | config TRACING_NET_CORE | 
|  | bool "Tracing Network Core IP stack" | 
|  | depends on TRACING_NETWORKING | 
|  | default y if NET_IP | 
|  | help | 
|  | Enable tracing core network IP stack, like packet reception | 
|  | and sending. | 
|  |  | 
|  | config TRACING_GPIO | 
|  | bool "Tracing GPIO" | 
|  | default n | 
|  | help | 
|  | Enable tracing GPIO. | 
|  |  | 
|  | config TRACING_IDLE | 
|  | bool "Tracing Idle" | 
|  | default y | 
|  | help | 
|  | Enable tracing Idle state. | 
|  |  | 
|  | endmenu  # Tracing Configuration | 
|  |  | 
|  | endif | 
|  |  | 
|  | source "subsys/tracing/sysview/Kconfig" |