Upstream fork of ATF with a couple of rk3399 patches to remove HDCP blob and increase BAUD_RATE.
Go to file
Zelalem Aweke c872072972 feat(plat/fvp): add memory map for FVP platform for FEAT_RME
When FEAT_RME is enabled, memory is divided into four Physical
Address Spaces (PAS): Root, Realm, Secure and Non-secure.
This patch introduces new carveouts for the Trusted SRAM and DRAM
for the FVP platform accordingly.

The following new regions are introduced with this change:

ARM_MAP_L0_GPT_REGION: Trusted SRAM region used to store Level 0
Granule Protection Table (GPT). This region resides in the Root PAS.

ARM_MAP_GPT_L1_DRAM: DRAM region used to store Level 1 GPT. It
resides in the Root PAS.

ARM_MAP_RMM_DRAM: DRAM region used to store RMM image. It
resides in the Realm PAS.

The L0 GPT is stored on Trusted SRAM next to firmware configuration
memory. The DRAM carveout when RME is enable is modified as follow:

    		--------------------
    		|                  |
    		|  AP TZC (~28MB)  |
    		--------------------
    		|                  |
    		|  REALM (32MB)    |
    		--------------------
    		|                  |
    		|  EL3 TZC (3MB)   |
    		--------------------
    		| L1 GPT + SCP TZC |
    		|     (~1MB)       |
    0xFFFF_FFFF	--------------------

During initialization of the TrustZone controller, Root regions
are configured as Secure regions. Then they are later reconfigured
to Root upon GPT initialization.

Signed-off-by: Zelalem Aweke <zelalem.aweke@arm.com>
Change-Id: If2e257141d51f51f715b70d4a06f18af53607254
2021-10-05 11:56:00 -05:00
.husky build(hooks): add commitlint hook 2021-04-19 14:06:25 +01:00
bl1 feat(rme): run BL2 in root world when FEAT_RME is enabled 2021-10-04 21:13:20 +02:00
bl2 feat(rme): add GPT Library 2021-10-05 11:56:00 -05:00
bl2u Avoid the use of linker *_SIZE__ macros 2021-04-21 15:05:57 +02:00
bl31 feat(rme): add GPT Library 2021-10-05 11:56:00 -05:00
bl32 feat(trf): enable trace filter control register access from lower NS EL 2021-08-26 09:32:35 +01:00
common refactor(hw_crc32): renamed hw_crc32 to tf_crc32 2021-08-02 17:15:41 +01:00
docs feat(rme): add ENABLE_RME build option and support for RMM image 2021-10-05 11:49:59 -05:00
drivers fvp_r: load, auth, and transfer from BL1 to BL33 2021-09-30 17:07:11 +01:00
fdts feat(fdts): add firewall regions into STM32MP1 DT 2021-09-07 09:14:05 +02:00
include feat(plat/fvp): add memory map for FVP platform for FEAT_RME 2021-10-05 11:56:00 -05:00
lib feat(rme): add GPT Library 2021-10-05 11:56:00 -05:00
licenses docs(license): rectify `arm-gic.h` license 2021-04-26 12:36:00 +01:00
make_helpers feat(rme): add ENABLE_RME build option and support for RMM image 2021-10-05 11:49:59 -05:00
plat feat(plat/fvp): add memory map for FVP platform for FEAT_RME 2021-10-05 11:56:00 -05:00
services feat(rme): add ENABLE_RME build option and support for RMM image 2021-10-05 11:49:59 -05:00
tools feat(rme): add ENABLE_RME build option and support for RMM image 2021-10-05 11:49:59 -05:00
.checkpatch.conf Re-apply GIT_COMMIT_ID check for checkpatch 2019-07-12 11:06:24 +01:00
.cz.json build(hooks): add Commitizen hook 2021-04-19 14:06:25 +01: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
Makefile feat(rme): add ENABLE_RME build option and support for RMM image 2021-10-05 11:49:59 -05:00
commitlint.config.js revert(commitlint): disable `signed-off-by` rule 2021-04-27 16:12:10 +01: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(deps): bump path-parse from 1.0.6 to 1.0.7 2021-08-13 10:12:00 +01:00
package.json build(hooks): update Commitizen to ^4.2.4 2021-05-12 15:43:56 +01: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>