Searched full:atomic (Results 1 – 25 of 317) sorted by relevance
12345678910>>...13
/Zephyr-latest/doc/kernel/services/other/ |
D | atomic.rst | 3 Atomic Services 6 An :dfn:`atomic variable` is one that can be read and modified 17 Any number of atomic variables can be defined (limited only by available RAM). 19 Using the kernel's atomic APIs to manipulate an atomic variable 23 The kernel also supports the atomic manipulation of a single bit 24 in an array of atomic variables. 29 Defining an Atomic Variable 32 An atomic variable is defined using a variable of type :c:type:`atomic_t`. 34 By default an atomic variable is initialized to zero. However, it can be given 41 Manipulating an Atomic Variable [all …]
|
/Zephyr-latest/include/zephyr/sys/ |
D | atomic.h | 32 /* Not all Xtensa toolchains support GCC-style atomic intrinsics */ 46 * @defgroup atomic_apis Atomic Services APIs 52 * @brief Initialize an atomic variable. 54 * This macro can be used to initialize an atomic variable. For example, 57 * @param i Value to assign to atomic variable. 62 * @brief Initialize an atomic pointer variable. 64 * This macro can be used to initialize an atomic pointer variable. For 68 * @param p Pointer value to assign to atomic pointer variable. 85 * @brief This macro computes the number of atomic variables necessary to 93 * @brief Define an array of atomic variables. [all …]
|
D | atomic_builtin.h | 1 /* atomic operations */ 21 /* Included from <atomic.h> */ 72 * test-and-set operation, but rather an atomic exchange operation. It in atomic_set()
|
D | atomic_arch.h | 14 /* Included from <atomic.h> */ 16 /* Arch specific atomic primitives */
|
D | atomic_c.h | 10 /* Included from <atomic.h> */ 16 /* Simple and correct (but very slow) implementation of atomic
|
D | mutex.h | 15 * with simple atomic ops instead of syscalls, similar to Linux's 24 #include <zephyr/sys/atomic.h> 30 * that can be locked/unlocked with atomic ops if there is no
|
/Zephyr-latest/kernel/ |
D | atomic_c.c | 9 * @file Atomic ops in pure C 11 * This module provides the atomic operators for processors 12 * which do not support native atomic operations. 14 * The atomic operations are guaranteed to be atomic with respect 18 * (originally from x86's atomic.c) 24 #include <zephyr/sys/atomic.h> 27 /* Single global spinlock for atomic operations. This is fallback 34 /* For those rare CPUs which support user mode, but not native atomic 35 * operations, the best we can do for them is implement the atomic 63 * @brief Atomic compare-and-set primitive [all …]
|
/Zephyr-latest/modules/hal_nordic/nrfx/ |
D | nrfx_glue.h | 18 #include <zephyr/sys/atomic.h> 155 /** @brief Atomic 32-bit unsigned type. */ 159 * @brief Macro for storing a value to an atomic object and returning its previous value. 161 * @param[in] p_data Atomic memory pointer. 164 * @return Previous value of the atomic object. 169 …* @brief Macro for running a bitwise OR operation on an atomic object and returning its previous v… 171 * @param[in] p_data Atomic memory pointer. 174 * @return Previous value of the atomic object. 179 * @brief Macro for running a bitwise AND operation on an atomic object 182 * @param[in] p_data Atomic memory pointer. [all …]
|
/Zephyr-latest/tests/kernel/common/src/ |
D | atomic.c | 8 #include <zephyr/sys/atomic.h> 14 /* an example of the number of atomic bit in an array */ 36 * @brief Verify atomic functionalities 39 * - Test the function of the atomic operation API is correct. 53 * -# Call the API interface of the following atomic operations in turn, 97 ZTEST_USER(atomic, test_atomic) in ZTEST_USER() argument 284 "Failed to set a single bit in an array of atomic variables"); in ZTEST_USER() 287 "Failed to clear a single bit in an array of atomic variables"); in ZTEST_USER() 306 * @brief Verify atomic operation with threads 309 * atomically access the same atomic value. Because these preempt [all …]
|
/Zephyr-latest/tests/arch/riscv/atomic/src/ |
D | main.c | 7 #include <zephyr/sys/atomic.h> 8 #include <zephyr/arch/riscv/atomic.h> 11 * @brief Verify RISC-V specific atomic functionalities 14 * - Test if the RISC-V atomic instructions API is correct. 17 * - Call the API interface of the following atomic operations in turn,
|
/Zephyr-latest/include/zephyr/arch/xtensa/ |
D | atomic_xtensa.h | 9 /* Included from <zephyr/sys/atomic.h> */ 26 * atomic write ops have exchange semantics. in atomic_get() 34 * @brief Xtensa specific atomic compare-and-set (CAS). 36 * @param addr Address of atomic variable. 41 * perform compare-and-set atomic operation. This will 42 * unconditionally read from the atomic variable at @p addr 76 /* Generates an atomic exchange sequence that swaps the value at
|
/Zephyr-latest/soc/common/riscv-privileged/ |
D | soc_common_irq.c | 65 * CSR mie register is updated using atomic instruction csrrs in arch_irq_enable() 66 * (atomic read and set bits in CSR register) in arch_irq_enable() 85 * Use atomic instruction csrrc to disable device interrupt in mie CSR. in arch_irq_disable() 86 * (atomic read and clear bits in CSR register) in arch_irq_disable()
|
/Zephyr-latest/drivers/disk/nvme/ |
D | nvme_namespace.h | 54 /** Namespace Atomic Write Unit Normal */ 57 /** Namespace Atomic Write Unit Power Fail */ 60 /** Namespace Atomic Compare & Write Unit */ 63 /** Namespace Atomic Boundary Size Normal */ 66 /** Namespace Atomic Boundary Offset */ 69 /** Namespace Atomic Boundary Size Power Fail */
|
/Zephyr-latest/include/zephyr/sip_svc/ |
D | sip_svc_controller.h | 16 #include <zephyr/sys/atomic.h> 25 * @brief Open lock states in sip_svc atomic variable 86 /* Atomic variable to restrict one client access */
|
/Zephyr-latest/tests/arch/riscv/atomic/ |
D | testcase.yaml | 2 arch.riscv.atomic:
|
/Zephyr-latest/drivers/interrupt_controller/ |
D | intc_swerv_pic.c | 202 * CSR mie register is updated using atomic instruction csrrs in arch_irq_enable() 203 * (atomic read and set bits in CSR register) in arch_irq_enable() 220 * Use atomic instruction csrrc to disable device interrupt in mie CSR. in arch_irq_disable() 221 * (atomic read and clear bits in CSR register) in arch_irq_disable()
|
/Zephyr-latest/doc/kernel/data_structures/ |
D | spsc_lockfree.rst | 7 atomic ring buffer based queue.
|
D | mpsc_lockfree.rst | 7 intrusive queue based on atomic pointer swaps as described by Dmitry Vyukov
|
/Zephyr-latest/tests/kernel/common/ |
D | CMakeLists.txt | 13 src/atomic.c
|
/Zephyr-latest/soc/neorv32/ |
D | Kconfig.soc | 16 - A (Atomic Instructions)
|
/Zephyr-latest/kernel/include/ |
D | ipi.h | 12 #include <zephyr/sys/atomic.h>
|
/Zephyr-latest/drivers/ipm/ |
D | ipm_sedi.h | 14 #include <zephyr/sys/atomic.h>
|
/Zephyr-latest/include/zephyr/modem/backend/ |
D | tty.h | 11 #include <zephyr/sys/atomic.h>
|
/Zephyr-latest/arch/sparc/ |
D | Kconfig | 38 Use CASA atomic instructions. Defined by SPARC V9 and available
|
/Zephyr-latest/include/zephyr/arch/riscv/ |
D | atomic.h | 13 /* The standard RISC-V atomic-instruction extension, "A", specifies 17 * atomic-instructions not present in atomic_builtin.h file.
|
12345678910>>...13