:orphan: .. title:: CONFIG_USERSPACE .. kconfig:: CONFIG_USERSPACE CONFIG_USERSPACE ################ *User mode threads* Type: ``bool`` Help ==== .. code-block:: none 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 =================== \ :kconfig:`ARCH_HAS_USERSPACE ` && \ :kconfig:`RUNTIME_ERROR_CHECKS ` && \ :kconfig:`SRAM_REGION_PERMISSIONS ` *(Includes any dependencies from ifs and menus.)* Defaults ======== No defaults. Implicitly defaults to ``n``. Symbols selected by this symbol =============================== - \ :kconfig:`THREAD_STACK_INFO ` Symbols that select this symbol =============================== - \ :kconfig:`TEST_ENABLE_USERSPACE ` Kconfig definition ================== At ``/Kconfig:246`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:39`` Menu path: (Top) → General Architecture Options .. code-block:: kconfig 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.)*