arm-trusted-firmware/include
Raghu Krishnamurthy 7c2fe62f13 fix(bl31): allow use of EHF with S-EL2 SPMC
Currently, when SPMC at S-EL2 is used, we cannot use the RAS framework
to handle Group 0 interrupts. This is required on platforms where first
level of triaging needs to occur at EL3, before forwarding RAS handling
to a secure partition running atop an SPMC (hafnium).
The RAS framework depends on EHF and EHF registers for Group 0
interrupts to be trapped to EL3 when execution is both in secure world
and normal world. However, an FF-A compliant SPMC requires secure
interrupts to be trapped by the SPMC when execution is in S-EL0/S-EL1.
Consequently, the SPMC (hafnium) is incompatible with EHF, since it is
not re-entrant, and a Group 0 interrupt trapped to EL3 when execution is
in secure world, cannot be forwarded to an SP running atop SPMC.
This patch changes EHF to only register for Group 0 interrupts to be
trapped to EL3 when execution is in normal world and also makes it a
valid routing model to do so, when EL3_EXCEPTION_HANDLING is set (when
enabling the RAS framework).

Signed-off-by: Raghu Krishnamurthy <raghu.ncstate@gmail.com>
Change-Id: I72d4cf4d8ecc549a832d1c36055fbe95866747fe
2022-08-30 08:29:25 -07:00
..
arch feat(trbe): add trbe under feature detection mechanism 2022-06-06 11:43:14 +01:00
bl1 Specify signed-ness of constants 2020-08-14 11:36:05 +00:00
bl2 BL2_AT_EL3: Enable pointer authentication support 2019-02-27 11:58:09 +00:00
bl2u Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
bl31 fix(bl31): allow use of EHF with S-EL2 SPMC 2022-08-30 08:29:25 -07:00
bl32 test(el3-runtime): dit is retained on world switch 2022-02-03 11:33:55 +00:00
common feat(bl): add interface to query TF-A semantic ver 2022-08-02 16:04:23 -05:00
drivers Merge changes from topic "st_fip_uuid" into integration 2022-08-01 16:45:49 +02:00
dt-bindings feat(dt-bindings): add TZC400 bindings for STM32MP13 2022-03-22 09:09:23 +01:00
export feat(cca): introduce new "cca" chain of trust 2022-06-14 09:47:37 -05:00
lib fix(errata): workaround for Neoverse-V1 erratum 1618635 2022-08-05 15:56:30 -04:00
plat fix(rme): xlat table setup fails for bl2 2022-07-07 10:35:50 +02:00
services fix(doc): document missing RMM-EL3 runtime services 2022-07-21 12:36:45 +01:00
tools_share feat(fiptool): add cca, core_swd, plat cert in FIP 2022-06-14 09:47:37 -05:00