arm-trusted-firmware/docs
Okash Khawaja 04c7303b9c feat(cpus): make cache ops conditional
When a core is in debug recovery mode its caches are not invalidated
upon reset, so the L1 and L2 cache contents from before reset are
observable after reset. Similarly, debug recovery mode of DynamIQ
cluster ensures that contents of the shared L3 cache are also not
invalidated upon transition to On mode.

Booting cores in debug recovery mode means booting with caches disabled
and preserving the caches until a point where software can dump the
caches and retrieve their contents. TF-A however unconditionally cleans
and invalidates caches at multiple points during boot. This can lead to
memory corruption as well as loss of cache contents to be used for
debugging.

This patch fixes this by calling a platform hook before performing CMOs
in helper routines in cache_helpers.S. The platform hook plat_can_cmo is
an assembly routine which must not clobber x2 and x3, and avoid using
stack. The whole checking is conditional upon `CONDITIONAL_CMO` which
can be set at compile time.

Signed-off-by: Okash Khawaja <okash@google.com>
Change-Id: I172e999e4acd0f872c24056e647cc947ee54b193
2022-11-10 12:14:05 +00:00
..
_static/css docs(threat model): add TF-A threat model 2021-04-30 17:59:22 +02:00
about docs(maintainers): update qti maintainer 2022-11-07 21:42:34 -08:00
components docs(rme): add instruction to build rmm 2022-11-09 09:55:41 +00:00
design feat: pass SMCCCv1.3 SVE hint bit to dispatchers 2022-11-08 09:28:36 +01:00
design_documents docs(drtm): steps to run DRTM implementation 2022-10-06 14:02:25 +01:00
getting_started feat(cpus): make cache ops conditional 2022-11-10 12:14:05 +00:00
perf doc: Fix some broken links 2020-07-01 13:57:20 +02:00
plat chore(docs): refresh platform ports landing page 2022-11-08 13:31:38 +01:00
process docs: add link to DCO 2022-11-08 17:25:03 +00:00
resources Merge changes from topic "ffa_el3_spmc" into integration 2022-10-28 10:22:39 +02:00
security_advisories docs(security): rename Makalu and SB optimisation 2022-11-08 13:02:49 -06:00
threat_model docs(spm): add threat model for el3 spmc 2022-10-27 11:40:02 +01:00
change-log.md fix(changelog): fix the broken link to commitlintrc.js 2022-06-07 12:06:18 +01:00
conf.py build(docs): add support for Markdown documentation 2021-11-17 16:04:36 +00:00
global_substitutions.txt fix(docs): fix FF-A substitution 2021-11-17 16:04:34 +00:00
glossary.rst Merge changes from topic "ffa_el3_spmc" into integration 2022-10-28 10:22:39 +02:00
index.rst docs(fwu): add firmware update documentation 2021-08-02 17:15:41 +01:00
license.rst refactor(dt-bindings): align irq bindings with kernel 2021-06-14 10:05:48 +02:00
Makefile doc: Treat Sphinx warnings as errors 2020-04-21 09:37:47 +00:00
requirements.in build(docs): add support for Markdown documentation 2021-11-17 16:04:36 +00:00
requirements.txt build(docs): add support for Markdown documentation 2021-11-17 16:04:36 +00:00