Upstream fork of ATF with a couple of rk3399 patches to remove HDCP blob and increase BAUD_RATE.
Go to file
Marc Bonnici bb01a67306 feat(spmd): enable handling of FF-A SMCs with the SPMC at EL3
Any FF-A SMC that arrives from the normal world is handled by the
SPMD before being forwarded to the SPMC. Similarly any SMC
arriving from the secure world will hit the SPMC first and be
forwarded to the SPMD if required, otherwise the SPMC will
respond directly.

This allows for the existing flow of handling FF-A ABI's when
the SPMC resides at a lower EL to be preserved.

In order to facilitate this flow the spmd_smc_forward function
has been split and control is either passed to the SPMC or it is
forwarded as before. To allow this the flags and cookie parameters
must now also be passed into this method as the SPMC must be able to
provide these when calling back into the SPMD handler as appropriate.

Signed-off-by: Marc Bonnici <marc.bonnici@arm.com>
Change-Id: I84fee8390023295b9689067e14cd25cba23ca39b
2022-04-20 19:40:28 +01:00
.husky build(hooks): add commitlint hook 2021-04-19 14:06:25 +01:00
bl1 refactor(el3-runtime): add prepare_el3_entry func 2022-01-31 11:27:11 +00:00
bl2 feat(bl2): add support to separate no-loadable sections 2022-03-27 23:24:24 +08:00
bl2u Avoid the use of linker *_SIZE__ macros 2021-04-21 15:05:57 +02:00
bl31 feat(spmc): enable building of the SPMC at EL3 2022-04-13 09:44:49 +01:00
bl32 test(el3-runtime): dit is retained on world switch 2022-02-03 11:33:55 +00:00
common refactor(el3-runtime): add arch-features detection mechanism 2022-04-04 10:24:51 +01:00
docs feat(spmc): enable building of the SPMC at EL3 2022-04-13 09:44:49 +01:00
drivers feat(gic600ae_fmu): enable all GICD, PPI, ITS SMs 2022-04-07 15:21:40 +02:00
fdts feat(stm32mp1-fdts): add support for STM32MP13 DK board 2022-03-22 09:09:23 +01:00
include feat(spmd): enable handling of FF-A SMCs with the SPMC at EL3 2022-04-20 19:40:28 +01:00
lib feat(spmc): prevent read only xlat tables with the EL3 SPMC 2022-04-13 09:44:52 +01:00
licenses docs(license): rectify `arm-gic.h` license 2021-04-26 12:36:00 +01:00
make_helpers feat(spmc): enable building of the SPMC at EL3 2022-04-13 09:44:49 +01:00
plat fix(st): remove extra chars from dtc version 2022-04-05 08:58:16 +02:00
services feat(spmd): enable handling of FF-A SMCs with the SPMC at EL3 2022-04-20 19:40:28 +01:00
tools feat(debug): update print_memory_map.py 2022-04-07 13:46:31 +02:00
.checkpatch.conf Re-apply GIT_COMMIT_ID check for checkpatch 2019-07-12 11:06:24 +01:00
.commitlintrc.js refactor(hooks): replace cz-conventional-changelog with cz-commitlint 2022-01-24 12:55:00 +00:00
.cz.json refactor(hooks): replace cz-conventional-changelog with cz-commitlint 2022-01-24 12:55:00 +00:00
.editorconfig .editorconfig: set max line length to 100 2020-12-03 15:39:23 +00:00
.gitignore build(hooks): add Husky configuration 2021-04-19 14:06:25 +01:00
.gitreview Specify integration as the default branch for git-review 2020-04-02 07:57:17 +00:00
.versionrc.js docs(changelog): fix broken version bumping 2022-01-24 12:55:34 +00:00
Makefile feat(spmc): enable building of the SPMC at EL3 2022-04-13 09:44:49 +01:00
changelog.yaml Merge "build(changelog): add new scope for TI platform" into integration 2022-04-07 17:44:31 +02:00
dco.txt Drop requirement for CLA in contribution.md 2016-09-27 21:52:03 +01:00
license.rst doc: De-duplicate readme and license files 2019-10-08 16:36:15 +00:00
package-lock.json build(npm): mandate Node.js engine version 2022-01-24 12:55:34 +00:00
package.json build(npm): mandate Node.js engine version 2022-01-24 12:55:34 +00:00
readme.rst doc: Formatting fixes for readme.rst 2019-10-09 15:37:59 +00:00

readme.rst

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> </head>

Trusted Firmware-A

Trusted Firmware-A (TF-A) is a reference implementation of secure world software for Arm A-Profile architectures (Armv8-A and Armv7-A), including an Exception Level 3 (EL3) Secure Monitor. It provides a suitable starting point for productization of secure world boot and runtime firmware, in either the AArch32 or AArch64 execution states.

TF-A implements Arm interface standards, including:

The code is designed to be portable and reusable across hardware platforms and software models that are based on the Armv8-A and Armv7-A architectures.

In collaboration with interested parties, we will continue to enhance TF-A with reference implementations of Arm standards to benefit developers working with Armv7-A and Armv8-A TrustZone technology.

Users are encouraged to do their own security validation, including penetration testing, on any secure world code derived from TF-A.

More Info and Documentation

To find out more about Trusted Firmware-A, please view the full documentation that is available through trustedfirmware.org.


Copyright (c) 2013-2019, Arm Limited and Contributors. All rights reserved.

</html>