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/lib/smc/include/smc-rmi.h b/lib/smc/include/smc-rmi.h
index 6c6268b..f215578 100644
--- a/lib/smc/include/smc-rmi.h
+++ b/lib/smc/include/smc-rmi.h
@@ -153,6 +153,11 @@
 #define RMM_FEATURE_REGISTER_0_PMU_NUM_CTRS_SHIFT	UL(23)
 #define RMM_FEATURE_REGISTER_0_PMU_NUM_CTRS_WIDTH	UL(5)
 
+#define RMM_FEATURE_REGISTER_0_SVE_EN_SHIFT		UL(9)
+#define RMM_FEATURE_REGISTER_0_SVE_EN_WIDTH		UL(1)
+#define RMM_FEATURE_REGISTER_0_SVE_VL_SHIFT		UL(10)
+#define RMM_FEATURE_REGISTER_0_SVE_VL_WIDTH		UL(4)
+
 /* The RmmRipas enumeration representing realm IPA state */
 #define RMI_EMPTY   (0)
 #define RMI_RAM     (1)