third_party.pigweed.src/pw_sync_baremetal/docs.rst
Prashanth Swaminathan f605f2d2ed pw_sync_baremetal: Add simple mutex implementation
Adds a dummy mutex implementation for baremetal configurations.

The provided implementation makes a single attempt to acquire the
lock and asserts if it is unavailable. It does not perform interrupt
masking or disable global interrupts, so this implementation does
not support simultaneous multi-threaded environments including IRQs,
and is only meant to prevent data corruption.

Change-Id: Id122f890a37822c3b752b810e0e687f19f8c9dbd
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/45721
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
Pigweed-Auto-Submit: Prashanth Swaminathan <prashanthsw@google.com>
Reviewed-by: Ewout van Bekkum <ewout@google.com>
2021-05-18 17:55:29 +00:00

29 lines
916 B
ReStructuredText

.. _module-pw_sync_baremetal:
-----------------
pw_sync_baremetal
-----------------
This is a set of backends for pw_sync that works on baremetal targets. It is not
ready for use, and is under construction.
.. note::
All constructs in this baremetal backend do not support hardware multi-threading
(SMP, SMT, etc).
.. warning::
It does not perform interrupt masking or disable global interrupts. This is not
safe to use yet!
-------------------------------------
pw_sync_baremetal's InterruptSpinLock
-------------------------------------
The interrupt spin-lock implementation makes a single attempt to acquire the lock
and asserts if it is unavailable. It does not perform interrupt masking or disable global
interrupts.
-------------------------
pw_sync_baremetal's Mutex
-------------------------
The mutex implementation makes a single attempt to acquire the lock and asserts if
it is unavailable.