mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-08-11 06:57:01 +02:00
Make the spinlock implementation use ARMv8.1-LSE CAS instruction based on a platform build option. The CAS-based implementation used to be unconditionally selected for all ARM8.1+ platforms. The previous CAS spinlock implementation had a bug wherein the spin_unlock() implementation had an `sev` after `stlr` which is not sufficient. A dsb is needed to ensure that the stlr completes prior to the sev. Having a dsb is heavyweight and a better solution would be to use load exclusive semantics to monitor the lock and wake up from wfe when a store happens to the lock. The patch implements the same. Change-Id: I5283ce4a889376e4cc01d1b9d09afa8229a2e522 Signed-off-by: Soby Mathew <soby.mathew@arm.com> Signed-off-by: Olivier Deprez <olivier.deprez@arm.com> |
||
---|---|---|
.. | ||
components | ||
design | ||
getting_started | ||
perf | ||
plat | ||
process | ||
resources | ||
security_advisories | ||
acknowledgements.rst | ||
change-log.rst | ||
conf.py | ||
contents.rst | ||
global_substitutions.txt | ||
glossary.rst | ||
index.rst | ||
license.rst | ||
maintainers.rst | ||
Makefile | ||
requirements.txt |