Changes necessary to support SEPARATE_NOBITS_REGION feature
Madhukar Pappireddy authored
Since BL31 PROGBITS and BL31 NOBITS sections are going to be
in non-adjacent memory regions, potentially far from each other,
some fixes are needed to support it completely.

1. adr instruction only allows computing the effective address
of a location only within 1MB range of the PC. However, adrp
instruction together with an add permits position independent
address of any location with 4GB range of PC.

2. Since BL31 _RW_END_ marks the end of BL31 image, care must be
taken that it is aligned to page size since we map this memory
region in BL31 using xlat_v2 lib utils which mandate alignment of
image size to page granularity.

Change-Id: Ic745c5a130fe4239fa2742142d083b2bdc4e8b85
Signed-off-by: default avatarMadhukar Pappireddy <madhukar.pappireddy@arm.com>
76d84cbc
Name Last commit Last update
bl1 Merge "PIE: make call to GDT relocation fixup generalized" into integration
bl2 Merge "PIE: make call to GDT relocation fixup generalized" into integration
bl2u Reduce space lost to object alignment
bl31 Changes necessary to support SEPARATE_NOBITS_REGION feature
bl32 pmf: Make the runtime instrumentation work on AArch32
common FDT helper functions: Fix MISRA issues
docs Merge changes from topic "add-versal-soc-support" into integration
drivers spi: stm32_qspi: Add QSPI support
fdts Merge "Replace dts includes with C preprocessor syntax" into integration
include spi: stm32_qspi: Add QSPI support
lib Changes necessary to support SEPARATE_NOBITS_REGION feature
make_helpers Replace dts includes with C preprocessor syntax
plat Merge changes from topic "add-versal-soc-support" into integration
services spm-mm: Rename aarch64 assembly files
tools cert_create: Remove some unused header files inclusions
.checkpatch.conf Re-apply GIT_COMMIT_ID check for checkpatch
.editorconfig doc: Final, pre-release fixes and updates
.gitignore meson: Rename platform directory to amlogic
Makefile Merge "Set lld as the default linker for Clang builds" into integration
dco.txt Drop requirement for CLA in contribution.md
license.rst doc: De-duplicate readme and license files
readme.rst doc: Formatting fixes for readme.rst

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.