:orphan: .. title:: ATOMIC_OPERATIONS_C .. option:: CONFIG_ATOMIC_OPERATIONS_C *(No prompt -- not directly user assignable.)* Type: ``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. Defaults ======== No defaults. Implicitly defaults to ``n``. Symbols that select this symbol =============================== - \ :option:`SOC_RISCV32_LITEX_VEXRISCV ` - \ :option:`SOC_OPENISA_RV32M1_RISCV32 ` - \ :option:`SOC_IT8XXX2 ` - \ :option:`SOC_RISCV32_MIV ` - \ :option:`SOC_RISCV_SIFIVE_FREEDOM ` - \ :option:`CPU_ARCEM ` - \ :option:`CPU_ARCHS ` - \ :option:`ARMV6_M_ARMV8_M_BASELINE ` - \ :option:`XTENSA_NO_IPC ` - \ :option:`SPARC ` - \ :option:`NIOS2 ` Kconfig definition ================== .. highlight:: kconfig At ``kernel/Kconfig:415`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:30`` Menu path: (Top) → General Kernel Options → Atomic Operations .. parsed-literal:: 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.)*