mirror of
https://fuchsia.googlesource.com/third_party/pigweed.googlesource.com/pigweed/pigweed
synced 2024-09-20 13:51:05 +00:00
f605f2d2ed
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>
29 lines
916 B
ReStructuredText
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.
|