No description
Find a file
Sandrine Bailleux c540769349 docs(fvp): restructure FVP platform documentation
The Arm FVP documentation has grown organically over the years. As a
result, it has become a big document, which can be difficult to digest.

Also, the organization of some of the sections does not make sense. In
particular, all "Running on the ... FVP" sections live under a section
named "Booting a preloaded kernel image (Base FVP)". To illustrate this,
here is the current table of contents:

  Arm Fixed Virtual Platforms (FVP)
    Fixed Virtual Platform (FVP) Support
    Arm FVP Platform Specific Build Options
    Booting Firmware Update images
    Booting an EL3 payload
    Booting a preloaded kernel image (Base FVP)
      Obtaining the Flattened Device Treesp
      Running on the Foundation FVP with reset to BL1 entrypoint
      Running on the AEMv8 Base FVP with reset to BL1 entrypoint
      Running on the AEMv8 Base FVP (AArch32) with reset to BL1 entrypoint
      Running on the Cortex-A57-A53 Base FVP with reset to BL1 entrypoint
      Running on the Cortex-A32 Base FVP (AArch32) with reset to BL1 entrypoint
      Running on the AEMv8 Base FVP with reset to BL31 entrypoint
      Running on the AEMv8 Base FVP (AArch32) with reset to SP_MIN entrypoint
      Running on the Cortex-A57-A53 Base FVP with reset to BL31 entrypoint
      Running on the Cortex-A32 Base FVP (AArch32) with reset to SP_MIN entrypoint

This patch breaks down this document in sub-documents, which are now
included from the index file. The table of contents (ToC) reflects the
new documents hierarchy. The depth of the ToC has been reduced to
simplify the index page. Here is what it looks like now:

  Arm Fixed Virtual Platforms (FVP)
    Fixed Virtual Platform (FVP) Support
    Arm FVP Platform Specific Build Options
    Running on the Foundation FVP
    Running on the AEMv8 Base FVP
    Running on the Cortex-A57-A53 Base FVP
    Running on the Cortex-A32 Base FVP (AArch32)
    Booting Firmware Update images
    Booting an EL3 payload
    Booting a preloaded kernel image (Base FVP)

Apart from moving information around in separate files, this patch also
makes the following minor changes to the contents:

 - Add a brief introduction about FVPs in the index page.
 - Change some of the titles names for conciseness.

Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
Change-Id: Icb650e0ec2c7a86ccd6e7eea4e16a84c41442c96
2024-04-22 08:54:30 +01:00
.husky build(npm): adhere to Husky deprecation notice 2024-03-07 16:13:15 +00:00
bl1 fix(bl1): add missing __RW_{START,END}__ symbols 2024-04-11 11:20:35 +00:00
bl2 build: use toolchain identifiers in conditions 2024-02-06 11:14:52 +00:00
bl2u build: use toolchain identifiers in conditions 2024-02-06 11:14:52 +00:00
bl31 refactor(mte): remove mte, mte_perm 2024-03-26 14:30:58 -05:00
bl32 refactor(mte): remove mte, mte_perm 2024-03-26 14:30:58 -05:00
common refactor(mte): remove mte, mte_perm 2024-03-26 14:30:58 -05:00
docs docs(fvp): restructure FVP platform documentation 2024-04-22 08:54:30 +01:00
drivers Merge "feat(rcar3): change CAM setting to improve bus latency of R-Car Gen3" into integration 2024-03-29 09:14:53 +01:00
fdts refactor(tc): correlate secure world addresses with platform_def 2024-02-26 16:07:41 +00:00
include fix(gpt): declare gpt_tlbi_by_pa_ll() 2024-04-19 12:27:36 +02:00
lib Merge "fix(pmu): fix breakage on ARMv7 CPUs with SP_min as BL32" into integration 2024-04-19 14:04:52 +02:00
licenses feat(dice): add typedefs from the Open DICE repo 2024-03-06 15:44:55 +01:00
make_helpers fix(build): wrap toolchain paths in double quotes 2024-04-11 13:40:33 +00:00
plat fix(spm): add device-regions used in tf-a-tests 2024-04-19 11:56:12 +01:00
services fix(spmd): skip NS EL1 context save & restore operations 2024-04-05 13:13:33 -05:00
tools build: use GCC to link by default 2024-04-02 09:52:17 +00:00
.checkpatch.conf Re-apply GIT_COMMIT_ID check for checkpatch 2019-07-12 11:06:24 +01:00
.commitlintrc.js build(npm): update Node.js and all packages 2024-02-27 18:50:10 +00:00
.cz-adapter.cjs build(npm): fix Commitizen ES Module errors 2024-03-07 16:13:39 +00:00
.cz.json build(npm): fix Commitizen ES Module errors 2024-03-07 16:13:39 +00:00
.editorconfig .editorconfig: set max line length to 100 2020-12-03 15:39:23 +00:00
.gitignore fix: .gitignore to include memory tools 2023-08-11 11:49:53 +01:00
.gitreview Specify integration as the default branch for git-review 2020-04-02 07:57:17 +00:00
.nvmrc build(npm): update Node.js and all packages 2024-02-27 18:50:10 +00:00
.readthedocs.yaml fix: use rsvg-convert as the conversion backend 2023-07-28 12:37:49 +01:00
.versionrc.cjs build(npm): update Node.js and all packages 2024-02-27 18:50:10 +00:00
changelog.yaml build(changelog): move mte to mte2 2024-03-26 14:31:14 -05: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
Makefile Merge "feat(rme): build TF-A with ENABLE_RME for Armv9.2" into integration 2024-04-12 16:25:25 +02:00
package-lock.json build(npm): adhere to Husky deprecation notice 2024-03-07 16:13:15 +00:00
package.json build(npm): adhere to Husky deprecation notice 2024-03-07 16:13:15 +00:00
poetry.lock build(poetry): bump requests from 2.30.0 to 2.31.0 2023-09-06 14:51:49 +00:00
pyproject.toml docs(changelog): changelog for v2.10 release 2023-11-22 11:52:02 +00:00
readme.rst docs: fix link to TBBR specification 2024-02-02 15:31:12 +01:00

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:

-  `Power State Coordination Interface (PSCI)`_
-  `Trusted Board Boot Requirements CLIENT (TBBR-CLIENT)`_
-  `SMC Calling Convention`_
-  `System Control and Management Interface (SCMI)`_
-  `Software Delegated Exception Interface (SDEI)`_

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.*

.. _Armv7-A and Armv8-A: https://developer.arm.com/products/architecture/a-profile
.. _Secure Monitor: http://www.arm.com/products/processors/technologies/trustzone/tee-smc.php
.. _Power State Coordination Interface (PSCI): PSCI_
.. _PSCI: http://infocenter.arm.com/help/topic/com.arm.doc.den0022d/Power_State_Coordination_Interface_PDD_v1_1_DEN0022D.pdf
.. _Trusted Board Boot Requirements CLIENT (TBBR-CLIENT): https://developer.arm.com/docs/den0006/latest
.. _SMC Calling Convention: http://infocenter.arm.com/help/topic/com.arm.doc.den0028b/ARM_DEN0028B_SMC_Calling_Convention.pdf
.. _System Control and Management Interface (SCMI): SCMI_
.. _SCMI: http://infocenter.arm.com/help/topic/com.arm.doc.den0056a/DEN0056A_System_Control_and_Management_Interface.pdf
.. _Software Delegated Exception Interface (SDEI): SDEI_
.. _SDEI: http://infocenter.arm.com/help/topic/com.arm.doc.den0054a/ARM_DEN0054A_Software_Delegated_Exception_Interface.pdf
.. _Arm A-Profile architectures: https://developer.arm.com/architectures/cpu-architecture/a-profile
.. _view the full documentation: https://www.trustedfirmware.org/docs/tf-a
.. _trustedfirmware.org: http://www.trustedfirmware.org