diff options
author | 2022-01-15 14:39:36 -0800 | |
---|---|---|
committer | 2022-01-17 11:31:40 -0800 | |
commit | a4696454391acb501a53165b47d3dbbcfc945998 (patch) | |
tree | aac10182e9046fe3be3c89931b036b0f5f1a9dfd /src/pool/mod.rs | |
parent | 63c0370d690ba7a9121754c3ecd361db6088b694 (diff) | |
download | heapless-a4696454391acb501a53165b47d3dbbcfc945998.tar.gz heapless-a4696454391acb501a53165b47d3dbbcfc945998.tar.zst heapless-a4696454391acb501a53165b47d3dbbcfc945998.zip |
fix documentation
Diffstat (limited to '')
-rw-r--r-- | src/pool/mod.rs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/pool/mod.rs b/src/pool/mod.rs index 15ee5430..65a9c451 100644 --- a/src/pool/mod.rs +++ b/src/pool/mod.rs @@ -1,6 +1,7 @@ //! A heap-less, interrupt-safe, lock-free memory pool (\*) //! -//! NOTE: This module is not available on targets that do *not* support CAS operations, e.g. ARMv6-M +//! NOTE: This module is not available on targets that do *not* support CAS operations and are not +//! emulated by the [`atomic_polyfill`] crate (e.g., MSP430). //! //! (\*) Currently, the implementation is only lock-free *and* `Sync` on ARMv6, ARMv7-{A,R,M} & ARMv8-M //! devices @@ -59,8 +60,10 @@ //! on the target architecture (see section on ['Soundness'](#soundness) for more information). For //! this reason, `Pool` only implements `Sync` when compiling for some ARM cores. //! -//! Also note that ARMv6-M architecture lacks the primitives for CAS loops so this module does *not* -//! exist for `thumbv6m-none-eabi`. +//! This module requires CAS atomic instructions which are not available on all architectures +//! (e.g. ARMv6-M (`thumbv6m-none-eabi`) and MSP430 (`msp430-none-elf`)). These atomics can be emulated +//! however with [`atomic_polyfill`], which is enabled with the `cas` feature and is enabled by default +//! for `thumbv6m-none-eabi` and `riscv32` targets. MSP430 is currently not supported by [`atomic_polyfill`]. //! //! # Soundness //! |