aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorJeenu Viswambharan <jeenu.viswambharan@arm.com>2018-04-04 16:07:11 +0100
committerJeenu Viswambharan <jeenu.viswambharan@arm.com>2018-05-04 08:33:17 +0100
commit14c6016ad5ff4ac22861dff03129a646ad02c6dd (patch)
tree9cd0cea7cc03edb08896b13428825186b2c9ff4d /docs
parent76454abf4a2a5df482a753fc435b2de0219659bf (diff)
downloadplatform_external_arm-trusted-firmware-14c6016ad5ff4ac22861dff03129a646ad02c6dd.tar.gz
platform_external_arm-trusted-firmware-14c6016ad5ff4ac22861dff03129a646ad02c6dd.tar.bz2
platform_external_arm-trusted-firmware-14c6016ad5ff4ac22861dff03129a646ad02c6dd.zip
AArch64: Introduce RAS handling
RAS extensions are mandatory for ARMv8.2 CPUs, but are also optional extensions to base ARMv8.0 architecture. This patch adds build system support to enable RAS features in ARM Trusted Firmware. A boolean build option RAS_EXTENSION is introduced for this. With RAS_EXTENSION, an Exception Synchronization Barrier (ESB) is inserted at all EL3 vector entry and exit. ESBs will synchronize pending external aborts before entering EL3, and therefore will contain and attribute errors to lower EL execution. Any errors thus synchronized are detected via. DISR_EL1 register. When RAS_EXTENSION is set to 1, HANDLE_EL3_EA_FIRST must also be set to 1. Change-Id: I38a19d84014d4d8af688bd81d61ba582c039383a Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
Diffstat (limited to 'docs')
-rw-r--r--docs/user-guide.rst9
1 files changed, 9 insertions, 0 deletions
diff --git a/docs/user-guide.rst b/docs/user-guide.rst
index aed54a631..880fe7d9b 100644
--- a/docs/user-guide.rst
+++ b/docs/user-guide.rst
@@ -531,6 +531,15 @@ Common build options
smc function id. When this option is enabled on Arm platforms, the
option ``ARM_RECOM_STATE_ID_ENC`` needs to be set to 1 as well.
+- ``RAS_EXTENSION``: When set to ``1``, enable Armv8.2 RAS features. RAS features
+ are an optional extension for pre-Armv8.2 CPUs, but are mandatory for Armv8.2
+ or later CPUs.
+
+ When ``RAS_EXTENSION`` is set to ``1``, ``HANDLE_EA_EL3_FIRST`` must also be
+ set to ``1``.
+
+ This option is disabled by default.
+
- ``RESET_TO_BL31``: Enable BL31 entrypoint as the CPU reset vector instead
of the BL1 entrypoint. It can take the value 0 (CPU reset to BL1
entrypoint) or 1 (CPU reset to BL31 entrypoint).