CONFIG_USERSPACE

User mode threads

Type: bool

Help

When enabled, threads may be created or dropped down to user mode,
which has significantly restricted permissions and must interact
with the kernel via system calls. See Zephyr documentation for more
details about this feature.

If a user thread overflows its stack, this will be caught and the
kernel itself will be shielded from harm. Enabling this option
may or may not catch stack overflows when the system is in
privileged mode or handling a system call; to ensure these are always
caught, enable CONFIG_HW_STACK_PROTECTION.

Direct dependencies

ARCH_HAS_USERSPACE && RUNTIME_ERROR_CHECKS && SRAM_REGION_PERMISSIONS

(Includes any dependencies from ifs and menus.)

Defaults

No defaults. Implicitly defaults to n.

Symbols selected by this symbol

Symbols that select this symbol

Kconfig definition

At <Zephyr>/arch/Kconfig:247

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:39

Menu path: (Top) → General Architecture Options

config USERSPACE
    bool "User mode threads"
    select THREAD_STACK_INFO
    depends on ARCH_HAS_USERSPACE && RUNTIME_ERROR_CHECKS && SRAM_REGION_PERMISSIONS
    help
      When enabled, threads may be created or dropped down to user mode,
      which has significantly restricted permissions and must interact
      with the kernel via system calls. See Zephyr documentation for more
      details about this feature.

      If a user thread overflows its stack, this will be caught and the
      kernel itself will be shielded from harm. Enabling this option
      may or may not catch stack overflows when the system is in
      privileged mode or handling a system call; to ensure these are always
      caught, enable CONFIG_HW_STACK_PROTECTION.

(The ‘depends on’ condition includes propagated dependencies from ifs and menus.)