:orphan: .. title:: CONFIG_ATOMIC_OPERATIONS_C .. kconfig:: CONFIG_ATOMIC_OPERATIONS_C CONFIG_ATOMIC_OPERATIONS_C ########################## *(No prompt -- not directly user assignable.)* Type: ``bool`` Help ==== .. code-block:: none Use atomic operations routines that are implemented entirely in C by locking interrupts. Selected by architectures which either do not have support for atomic operations in their instruction set, or haven't been implemented yet during bring-up, and also the compiler does not have support for the atomic __sync_* builtins. Defaults ======== - y - y Symbols that select this symbol =============================== - \ :kconfig:`SOC_RISCV32_LITEX_VEXRISCV ` - \ :kconfig:`SOC_OPENISA_RV32M1_RISCV32 ` - \ :kconfig:`SOC_ESP32S2 ` - \ :kconfig:`SOC_RISCV32_LITEX_VEXRISCV ` - \ :kconfig:`SOC_OPENISA_RV32M1_RISCV32 ` - \ :kconfig:`SOC_ESP32S2 ` - \ :kconfig:`SOC_RISCV32_MIV ` - \ :kconfig:`SOC_RISCV_SIFIVE_FREEDOM ` - \ :kconfig:`SOC_RISCV_SIFIVE_FU540 ` - \ :kconfig:`SOC_RISCV_SIFIVE_FU740 ` - \ :kconfig:`SOC_RISCV32_MIV ` - \ :kconfig:`SOC_RISCV_SIFIVE_FREEDOM ` - \ :kconfig:`SOC_RISCV_SIFIVE_FU540 ` - \ :kconfig:`SOC_RISCV_SIFIVE_FU740 ` - \ :kconfig:`CPU_ARCEM ` - \ :kconfig:`ARMV6_M_ARMV8_M_BASELINE ` - \ :kconfig:`XTENSA_NO_IPC ` - \ :kconfig:`SPARC ` - \ :kconfig:`NIOS2 ` Kconfig definitions =================== At ``/riscv/esp32c3/Kconfig.defconfig:32`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:25`` → ``/kconfig/Kconfig.soc.defconfig:1`` Menu path: (Top) .. code-block:: kconfig config ATOMIC_OPERATIONS_C bool default y depends on SOC_ESP32C3 ---- At ``/riscv/esp32c3/Kconfig.defconfig:32`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:27`` Menu path: (Top) .. code-block:: kconfig config ATOMIC_OPERATIONS_C bool default y depends on SOC_ESP32C3 ---- At ``/Kconfig:430`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:40`` Menu path: (Top) → General Kernel Options → Atomic Operations .. code-block:: kconfig config ATOMIC_OPERATIONS_C bool help Use atomic operations routines that are implemented entirely in C by locking interrupts. Selected by architectures which either do not have support for atomic operations in their instruction set, or haven't been implemented yet during bring-up, and also the compiler does not have support for the atomic __sync_* builtins. *(The 'depends on' condition includes propagated dependencies from ifs and menus.)*