1.. _module-pw_sync_baremetal: 2 3================= 4pw_sync_baremetal 5================= 6This is a set of backends for pw_sync that works on baremetal targets. It is not 7ready for use, and is under construction. 8 9.. note:: 10 All constructs in this baremetal backend do not support hardware 11 multi-threading (SMP, SMT, etc). 12 13.. warning:: 14 It does not perform interrupt masking or disable global interrupts. This is 15 not safe to use yet! 16 17----------------- 18InterruptSpinLock 19----------------- 20The interrupt spin-lock implementation makes a single attempt to acquire the 21lock and asserts if it is unavailable. It does not perform interrupt masking or 22disable global interrupts. 23 24----- 25Mutex 26----- 27The mutex implementation makes a single attempt to acquire the lock and asserts 28if it is unavailable. 29 30-------------- 31RecursiveMutex 32-------------- 33The recursive mutex implementation counts the number of lock and unlock calls 34and asserts if the mutex is unlocked too many times or destroyed while locked. 35Note that recursive mutexes are not available for general use in Pigweed. 36