aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorJulius Werner <jwerner@chromium.org>2018-08-28 14:45:43 -0700
committerJulius Werner <jwerner@chromium.org>2018-08-29 17:16:20 -0700
commit24f671f3a9047b1ea5a989d10342758fa50ac7d7 (patch)
tree0f287e95d2cb054519203da77a632eb55e8b3343 /docs
parent2a7c9e15c23b376121747ccae78bef91db6225ba (diff)
downloadplatform_external_arm-trusted-firmware-24f671f3a9047b1ea5a989d10342758fa50ac7d7.tar.gz
platform_external_arm-trusted-firmware-24f671f3a9047b1ea5a989d10342758fa50ac7d7.tar.bz2
platform_external_arm-trusted-firmware-24f671f3a9047b1ea5a989d10342758fa50ac7d7.zip
context_mgmt: Fix HANDLE_EA_EL3_FIRST implementation
This patch fixes a bug in the context management code that causes it to ignore the HANDLE_EA_EL3_FIRST compile-time option and instead always configure SCR_EL3 to force all external aborts to trap into EL3. The code used #ifdef to read compile-time option declared with add_define in the Makefile... however, those options are always defined, they're just defined to either 0 or 1, so #if is the correct syntax to check for them. Also update the documentation to match. This bug has existed since the Nov 2017 commit 76454abf4 (AArch64: Introduce External Abort handling), which changed the HANDLE_EA_EL3_FIRST option to use add_define. Change-Id: I7189f41d0daee78fa2fcf4066323e663e1e04d3d Signed-off-by: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'docs')
-rw-r--r--docs/user-guide.rst6
1 files changed, 4 insertions, 2 deletions
diff --git a/docs/user-guide.rst b/docs/user-guide.rst
index 3f8170fd0..2b80531ce 100644
--- a/docs/user-guide.rst
+++ b/docs/user-guide.rst
@@ -457,8 +457,10 @@ Common build options
.. __: `platform-interrupt-controller-API.rst`
.. __: `interrupt-framework-design.rst`
-- ``HANDLE_EA_EL3_FIRST``: When defined External Aborts and SError Interrupts
- will be always trapped in EL3 i.e. in BL31 at runtime.
+- ``HANDLE_EA_EL3_FIRST``: When set to ``1``, External Aborts and SError
+ Interrupts will be always trapped in EL3 i.e. in BL31 at runtime. When set to
+ ``0`` (default), these exceptions will be trapped in the current exception
+ level (or in EL1 if the current exception level is EL0).
- ``HW_ASSISTED_COHERENCY``: On most Arm systems to-date, platform-specific
software operations are required for CPUs to enter and exit coherency.