This is the documentation for the latest (main) development branch of Zephyr. If you are looking for the documentation of previous releases, use the drop-down menu on the left and select the desired version.

Kernel Configuration Options

Kconfig files describe build-time configuration options (called symbols in Kconfig-speak), how they’re grouped into menus and sub-menus, and dependencies between them that determine what configurations are valid.

Kconfig files appear throughout the directory tree. For example, subsys/power/Kconfig defines power-related options.

This documentation is generated automatically from the Kconfig files by the gen_kconfig_rest.py script. Click on symbols for more information.

Configuration Options

Symbol name

Prompt

CONFIG_APPLICATION_INIT_PRIORITY

Default init priority for application level drivers

CONFIG_ARCH_HAS_CUSTOM_BUSY_WAIT

CONFIG_ARCH_HAS_CUSTOM_SWAP_TO_MAIN

CONFIG_ARCH_MEM_DOMAIN_DATA

CONFIG_ARCH_MEM_DOMAIN_SYNCHRONOUS_API

CONFIG_ATOMIC_OPERATIONS_ARCH

CONFIG_ATOMIC_OPERATIONS_BUILTIN

CONFIG_ATOMIC_OPERATIONS_C

CONFIG_BOOT_BANNER

Boot banner

CONFIG_BOOT_DELAY

Boot delay in milliseconds

CONFIG_BOUNDS_CHECK_BYPASS_MITIGATION

Enable bounds check bypass mitigations for speculative execution

CONFIG_COOP_ENABLED

CONFIG_ERRNO

Enable errno support

CONFIG_ERRNO_IN_TLS

Store errno in thread local storage (TLS)

CONFIG_EXECUTE_XOR_WRITE

Enable W^X for memory partitions

CONFIG_HEAP_MEM_POOL_SIZE

Heap memory pool size (in bytes)

CONFIG_IDLE_STACK_SIZE

Size of stack for idle thread

CONFIG_INIT_STACKS

Initialize stack areas

CONFIG_INSTRUMENT_THREAD_SWITCHING

CONFIG_ISR_STACK_SIZE

ISR and initialization stack size (in bytes)

CONFIG_KERNEL_COHERENCE

Place all shared data into coherent memory

CONFIG_KERNEL_INIT_PRIORITY_DEFAULT

Default init priority

CONFIG_KERNEL_INIT_PRIORITY_DEVICE

Default init priority for device drivers

CONFIG_KERNEL_INIT_PRIORITY_OBJECTS

Kernel objects initialization priority

CONFIG_KERNEL_MEM_POOL

Use Kernel Memory Pool

CONFIG_MAIN_STACK_SIZE

Size of stack for initialization and main thread

CONFIG_MAIN_THREAD_PRIORITY

Priority of initialization/main thread

CONFIG_MAX_DOMAIN_PARTITIONS

Maximum number of partitions per memory domain

CONFIG_MEM_SLAB_TRACE_MAX_UTILIZATION

Enable getting maximum slab utilization

CONFIG_MP_NUM_CPUS

Number of CPUs/cores

CONFIG_MULTITHREADING

Multi-threading

CONFIG_NUM_COOP_PRIORITIES

Number of coop priorities

CONFIG_NUM_MBOX_ASYNC_MSGS

Maximum number of in-flight asynchronous mailbox messages

CONFIG_NUM_METAIRQ_PRIORITIES

Number of very-high priority ‘preemptor’ threads

CONFIG_NUM_PIPE_ASYNC_MSGS

Maximum number of in-flight asynchronous pipe messages

CONFIG_NUM_PREEMPT_PRIORITIES

Number of preemptible priorities

CONFIG_POLL

Async I/O Framework

CONFIG_PREEMPT_ENABLED

CONFIG_PRIORITY_CEILING

Priority inheritance ceiling

CONFIG_SCHED_CPU_MASK

Enable CPU mask affinity/pinning API

CONFIG_SCHED_DEADLINE

Enable earliest-deadline-first scheduling

CONFIG_SCHED_DUMB

Simple linked-list ready queue

CONFIG_SCHED_IPI_SUPPORTED

CONFIG_SCHED_MULTIQ

Traditional multi-queue ready queue

CONFIG_SCHED_SCALABLE

Red/black tree ready queue

CONFIG_SMP

Enable symmetric multithreading support

CONFIG_SMP_BOOT_DELAY

Delay booting secondary cores

CONFIG_STACK_CANARIES

Compiler stack canaries

CONFIG_STACK_POINTER_RANDOM

Initial stack pointer randomization bounds

CONFIG_SWAP_NONATOMIC

CONFIG_SYSTEM_WORKQUEUE_NO_YIELD

Select whether system work queue yields

CONFIG_SYSTEM_WORKQUEUE_PRIORITY

System workqueue priority

CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE

System workqueue stack size

CONFIG_SYS_CLOCK_EXISTS

System clock exists and is enabled

CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC

Hardware clock cycles per second, 2000000 for ISS

CONFIG_SYS_CLOCK_TICKS_PER_SEC

System tick frequency (in ticks/second)

CONFIG_THREAD_CUSTOM_DATA

Thread custom data

CONFIG_THREAD_LOCAL_STORAGE

Thread Local Storage (TLS)

CONFIG_THREAD_MAX_NAME_LEN

Max length of a thread name

CONFIG_THREAD_MONITOR

Thread monitoring

CONFIG_THREAD_NAME

Thread name

CONFIG_THREAD_RUNTIME_STATS

Thread runtime statistics

CONFIG_THREAD_RUNTIME_STATS_USE_TIMING_FUNCTIONS

Use timing functions to gather statistics

CONFIG_THREAD_STACK_INFO

Thread stack info

CONFIG_THREAD_USERSPACE_LOCAL_DATA

CONFIG_TICKLESS_KERNEL

Tickless kernel

CONFIG_TIMEOUT_64BIT

Store kernel timeouts in 64 bit precision

CONFIG_TIMESLICE_PRIORITY

Time slicing thread priority ceiling

CONFIG_TIMESLICE_SIZE

Time slice size (in ms)

CONFIG_TIMESLICING

Thread time slicing

CONFIG_TOOLCHAIN_SUPPORTS_THREAD_LOCAL_STORAGE

CONFIG_TRACE_SCHED_IPI

Enable Test IPI

CONFIG_USE_SWITCH

Use new-style _arch_switch instead of arch_swap

CONFIG_USE_SWITCH_SUPPORTED

CONFIG_WAITQ_DUMB

Simple linked-list wait_q

CONFIG_WAITQ_SCALABLE

Use scalable wait_q implementation

CONFIG_XIP

Execute in place