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

(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:228

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

Menu path: (Top) → General Architecture Options

config USERSPACE
    bool "User mode threads"
    select SRAM_REGION_PERMISSIONS if MMU
    select THREAD_STACK_INFO
    depends on ARCH_HAS_USERSPACE && RUNTIME_ERROR_CHECKS
    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.)