fix(sme): enable SME/SME2 during arch init
This change enables SME/SME2 for nonsecure use at EL2 for TFTF cases
during arch_setup. This removes dependency on testcases to explicitly
call sme_enable or sme2_enable to access SME or SME2 functionality.
This change also adds CPTR_EL2 register in suspend context. CPTR_EL2
register is saved/restored in CPU suspend entry/exit path.
Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>
Change-Id: I2c99fd49c48c1a9ff2110747714db858a78d3a32
diff --git a/tftf/tests/extensions/sme/test_sme2.c b/tftf/tests/extensions/sme/test_sme2.c
index c16b7c3..e82da08 100644
--- a/tftf/tests/extensions/sme/test_sme2.c
+++ b/tftf/tests/extensions/sme/test_sme2.c
@@ -55,18 +55,16 @@
/* Skip the test if SME2 is not supported. */
SKIP_TEST_IF_SME2_NOT_SUPPORTED();
- /* Enable SME2 for use at NS EL2. */
- sme2_enable();
-
/*
* FEAT_SME2 adds a 512 BIT architectural register ZT0 to support
* the lookup-table feature.
* System register SMCR_ELx defines a bit SMCR_ELx.EZT0 bit [30] to
- * enable/disable access to this register.
+ * enable/disable access to this register. SMCR_EL2_RESET_VAL enables
+ * this bit by default.
*
* Instructions to access ZT0 register are being tested to ensure
- * SMCR_ELx.EZT0 bit is set at( EL-3 as well as EL-2), so that
- * they are not trapped.
+ * SMCR_EL3.EZT0 bit is set by EL3 firmware so that EL2 access are not
+ * trapped.
*/
/* Make sure we can acesss SME2 ZT0 storage, PSTATE.ZA = 1*/