]> git.baikalelectronics.ru Git - arm-tf.git/commitdiff
lib: el3_runtime: Fix SPE system registers in el2_sysregs_context
authorArunachalam Ganapathy <arunachalam.ganapathy@arm.com>
Fri, 9 Oct 2020 13:51:41 +0000 (14:51 +0100)
committerManish Pandey <manish.pandey2@arm.com>
Tue, 20 Oct 2020 20:06:48 +0000 (20:06 +0000)
Include EL2 registers related to SPE in EL2 context save/restore
routines if architecture supports it and platform wants to use these
features in Secure world.

Change-Id: Ie01a2c38fa5f6c907276eddec120fdfb222561a6
Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>
lib/el3_runtime/aarch64/context.S

index c942c10ecec0005d80ad138d10aaba90e5e29e71..773082a85ebf05b7e89deffb635fadbc48d852c8 100644 (file)
@@ -94,8 +94,12 @@ func el2_sysregs_context_save
        stp     x13, x14, [x0, #CTX_ICH_VMCR_EL2]
 
        mrs     x15, mdcr_el2
+#if ENABLE_SPE_FOR_LOWER_ELS
        mrs     x16, PMSCR_EL2
        stp     x15, x16, [x0, #CTX_MDCR_EL2]
+#else
+       str     x15, [x0, #CTX_MDCR_EL2]
+#endif
 
        mrs     x17, sctlr_el2
        mrs     x9, spsr_el2
@@ -291,9 +295,13 @@ func el2_sysregs_context_restore
        msr     ICH_VMCR_EL2, x13
        msr     mair_el2, x14
 
+#if ENABLE_SPE_FOR_LOWER_ELS
        ldp     x15, x16, [x0, #CTX_MDCR_EL2]
-       msr     mdcr_el2, x15
        msr     PMSCR_EL2, x16
+#else
+       ldr     x15, [x0, #CTX_MDCR_EL2]
+#endif
+       msr     mdcr_el2, x15
 
        ldp     x17, x9, [x0, #CTX_SCTLR_EL2]
        msr     sctlr_el2, x17