No description
Find a file
Pali Rohár 805f22babd Print newline after hex address in aarch64 el3_panic function
Make the aarch64's el3_panic() function print a newline character after
PC address, otherwise the output can get mangled in one line with output
from other firmware. Here is an example of how the output of el3_panic()
got mangled with Linux' console output:

    ERROR:   Unhandled External Abort received on 0x80000001 at EL3!
    ERROR:    exception reason=1 syndrome=0x92000210
    PANIC at PC : 0x0000000004027400[13438.473133] rcu: INFO: rcu_sched detected stalls on CPUs/tasks:
    [13438.479255] rcu:     1-...0: (4 ticks this GP) idle=35e/1/0x4000000000000000 softirq=146459/146459 fqs=2625

The aarch32 version of this function already does this.

Signed-off-by: Pali Rohár <pali@kernel.org>
Change-Id: I9f0d032c6cd1e2be7a1837f9c8e8244d30633993
2021-03-04 11:05:31 +01:00
bl1 Add support for FEAT_MTPMU for Armv8.6 2020-12-11 12:49:20 +00:00
bl2 Add support for FEAT_MTPMU for Armv8.6 2020-12-11 12:49:20 +00:00
bl2u linker_script: move .data section to bl_common.ld.h 2020-04-25 20:09:08 +09:00
bl31 Add TRNG Firmware Interface service 2021-02-05 11:49:18 +00:00
bl32 bl32: Enable TRNG service build 2021-02-11 10:43:25 +00:00
common Print newline after hex address in aarch64 el3_panic function 2021-03-04 11:05:31 +01:00
docs doc: Build option to protect GICR frame 2021-02-09 15:54:19 +00:00
drivers Merge changes from topic "scmi-msg" into integration 2021-01-27 15:14:46 +00:00
fdts fdts: use scmi_dvfs clock index 1 for cores 4-7 2021-02-09 14:10:45 +00:00
include Merge changes from topic "mp/strto_libc" into integration 2021-02-11 16:04:54 +00:00
lib Merge changes from topic "mp/strto_libc" into integration 2021-02-11 16:04:54 +00:00
make_helpers Add TRNG Firmware Interface service 2021-02-05 11:49:18 +00:00
plat nxp: added the makefile helper macros 2021-02-12 17:20:24 +05:30
services spmd: ensure SIMD context is saved/restored on SPMC entry/exit 2021-02-12 10:54:08 +00:00
tools Merge "tools: cert_create: Create only requested certificates" into integration 2021-01-28 15:04:22 +00:00
.checkpatch.conf Re-apply GIT_COMMIT_ID check for checkpatch 2019-07-12 11:06:24 +01:00
.editorconfig .editorconfig: set max line length to 100 2020-12-03 15:39:23 +00:00
.gitignore tools: renesas: Add tool support for RZ/G2 platforms 2021-01-13 19:15:57 +00:00
.gitreview Specify integration as the default branch for git-review 2020-04-02 07:57:17 +00: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 Add TRNG Firmware Interface service 2021-02-05 11:49:18 +00:00
readme.rst doc: Formatting fixes for readme.rst 2019-10-09 15:37:59 +00: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/trusted-board-boot-requirements-client-tbbr-client-armv8-a
.. _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