arm-trusted-firmware/bl31
Jayanth Dodderi Chidanand 40e5f7a58f feat(context-mgmt): introduce EL3/root context
* This patch adds root context procedure to restore/configure
  the registers, which are of importance during EL3 execution.

* EL3/Root context is a simple restore operation that overwrites
  the following bits: (MDCR_EL3.SDD, SCR_EL3.{EA, SIF}, PMCR_EL0.DP
  PSTATE.DIT) while the execution is in EL3.

* It ensures EL3 world maintains its own settings distinct
  from other worlds (NS/Realm/SWd). With this in place, the EL3
  system register settings is no longer influenced by settings of
  incoming worlds. This allows the EL3/Root world to access features
  for its own execution at EL3 (eg: Pauth).

* It should be invoked at cold and warm boot entry paths and also
  at all the possible exception handlers routing to EL3 at runtime.
  Cold and warm boot paths are handled by including setup_el3_context
  function in  "el3_entrypoint_common"  macro, which gets invoked in
  both the entry paths.

* At runtime, el3_context is setup at the stage, while we get prepared
  to enter into EL3 via "prepare_el3_entry" routine.

Change-Id: I5c090978c54a53bc1c119d1bc5fa77cd8813cdc2
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
2024-10-15 13:25:58 +01:00
..
aarch64 feat(context-mgmt): introduce EL3/root context 2024-10-15 13:25:58 +01: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(cm): handle asymmetry for FEAT_TCR2 2024-09-05 16:28:23 +01: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 Merge changes from topic "early_console" into integration 2024-05-08 23:12:11 +02:00
bl31_traps.c refactor(cpufeat): add macro to simplify is_feat_xx_present 2024-05-02 12:16:16 -05:00
ehf.c fix(gic600): workaround for Part 1 of GIC600 erratum 2384374 2024-03-06 14:16:35 -06:00
interrupt_mgmt.c fix(misra): fix MISRA defects 2024-03-07 09:38:27 -06:00