arm-trusted-firmware/bl31
Manish Pandey 7671008fcf fix(ehf): restrict secure world FIQ routing model to SPM_MM
Exception handling framework (EHF) changes the semantics of interrupts,
sync and async external aborts. As far as interrupts are concerned it
changes the routing model of foreign interrupts (FIQs) by changing
SCR_EL3.FIQ to 1 for both non-secure and secure except when SPMD is
used along with Hafnium/SPM at S-EL2 [1].
For NS world it means : G1S and G0 interrupts are routed to EL3
For Secure world it means : G1NS and G0 are routed to EL3

There is no upstream use case utilizing EHF and re-routing EL3
interrupts to the Secure world except when SPM_MM is present.

Modify the FIQ routing model during EHF init just for known use cases,
Always for NS world and for secure world only if SPM_MM is present.

[1]:https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/16047

Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
Change-Id: Ic292bbe8dd02d560aece5802d79569d868d8500f
2024-02-01 13:15:43 +00:00
..
aarch64 fix(el3-runtime): restrict lower el EA handlers in FFH mode 2023-11-01 17:46:46 +00:00
bl31.ld.S feat(build): check that .text section starts at page boundary 2023-11-06 23:22:25 +03:00
bl31.mk feat(context-mgmt): report context memory usage 2023-12-29 14:37:14 +00:00
bl31_context_mgmt.c feat(rme): add context management changes for FEAT_RME 2021-10-05 18:41:35 +02:00
bl31_main.c feat(context-mgmt): report context memory usage 2023-12-29 14:37:14 +00:00
bl31_traps.c feat(el3-runtime): handle traps for IMPDEF registers accesses 2023-04-30 11:04:59 +01:00
ehf.c fix(ehf): restrict secure world FIQ routing model to SPM_MM 2024-02-01 13:15:43 +00:00
interrupt_mgmt.c refactor(el3-runtime): plat_ic_has_interrupt_type returns bool 2023-09-25 17:09:15 -05:00