feat(sve): add SVE support for Realms
This feature adds Scalable Vector Extension (SVE) support for Realms.
* Detect, report and validate SVE flags in RMM feature register 0.
* Emulate read access to ID_AA64PFR0_EL1, ID_AA64ZFR0_EL1_SVE registers
* Support realm creation with SVE flags and variable vector length
* Implement lazy save/restore of SVE context for NS and Realm world.
* Handle both FPU and SVE state context for NS and Realm world.
* Refactor existing SVE helper routines to lib/arch
Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>
Change-Id: Ie906f9d4a4c40e5acb875cce95c768f752fb0d8a
diff --git a/runtime/core/init.c b/runtime/core/init.c
index 81bdfeb..43909a4 100644
--- a/runtime/core/init.c
+++ b/runtime/core/init.c
@@ -8,9 +8,11 @@
#include <buffer.h>
#include <debug.h>
#include <rmm_el3_ifc.h>
+#include <simd.h>
#include <smc-rmi.h>
#include <smc-rsi.h>
+
#ifdef NDEBUG
#define RMM_BUILD_TYPE "release"
#else
@@ -32,6 +34,8 @@
write_mdcr_el2(MDCR_EL2_INIT |
INPLACE(MDCR_EL2_HPMN,
EXTRACT(PMCR_EL0_N, read_pmcr_el0())));
+
+ simd_init();
}
void rmm_warmboot_main(void)