refactor(plat/allwinner): map SRAM as device memory by default
Samuel Holland authored
The SRAM on Allwinner platforms is shared between BL31 and coprocessor
firmware. Previously, SRAM was mapped as normal memory by default.
This scheme requires carveouts and cache maintenance code for proper
synchronization with the coprocessor.

A better scheme is to only map pages owned by BL31 as normal memory,
and leave everything else as device memory. This removes the need for
cache maintenance, and it makes the mapping for BL31 RW data explicit
instead of magic.
Signed-off-by: default avatarSamuel Holland <samuel@sholland.org>
Change-Id: I820ddeba2dfa2396361c2322308c0db51b55c348
ab74206b
Name Last commit Last update
.husky build(hooks): add commitlint hook
bl1 Add PIE support for AARCH32
bl2 Add PIE support for AARCH32
bl2u Avoid the use of linker *_SIZE__ macros
bl31 SMCCC/PCI: Handle std svc boilerplate
bl32 Add PIE support for AARCH32
common feat(hw_crc): add support for HW computed CRC
docs Merge changes from topic "marvell-a3k-a8k-updates" into integration
drivers refactor(measured boot): revisit error handling (3/3)
fdts Merge changes from topic "tc0_tfa_v25" into integration
include feat(bl_common): import BL_NOBITS_{BASE,END} when defined
lib errata: workaround for Neoverse V1 errata 1940577
licenses docs(license): rectify `arm-gic.h` license
make_helpers feat(sve): enable SVE for the secure world
plat refactor(plat/allwinner): map SRAM as device memory by default
services Merge "feat(spmd): add support for FFA_SPM_ID_GET" into integration
tools fix(tools/stm32image): improve the tool
.checkpatch.conf Re-apply GIT_COMMIT_ID check for checkpatch
.cz.json build(hooks): add Commitizen hook
.editorconfig .editorconfig: set max line length to 100
.gitignore build(hooks): add Husky configuration
.gitreview Specify integration as the default branch for git-review
Makefile Merge changes from topic "sb/measured-boot" into integration
commitlint.config.js revert(commitlint): disable `signed-off-by` rule
dco.txt Drop requirement for CLA in contribution.md
license.rst
package-lock.json
package.json
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.