feat(rmm): report PMU not supported
This patch reports for PMU not being supported by RMM
and adds relevant definitions for Feature Register 0
in accordance with Beta 0 RMM Specification.
It also masks PMUVer field when ID_AA64DFR0_EL1
register is read by Realm.
ID_AA64DFR0_EL1 register mask and set values are
modified to report minimum Debug features supported
by ARM architecture.
Signed-off-by: AlexeiFedorov <Alexei.Fedorov@arm.com>
Change-Id: I9974dac476df270f309f6bb30d3485ba0af5986e
diff --git a/lib/smc/include/smc-rmi.h b/lib/smc/include/smc-rmi.h
index 5442f68..678036b 100644
--- a/lib/smc/include/smc-rmi.h
+++ b/lib/smc/include/smc-rmi.h
@@ -126,6 +126,10 @@
#define RMI_TABLE U(3)
#define RMI_VALID_NS U(4)
+/* RmiFeature enumerations */
+#define RMI_NOT_SUPPORTED UL(0)
+#define RMI_SUPPORTED UL(1)
+
/* RmiFeatureRegister0 format */
#define RMM_FEATURE_REGISTER_0_INDEX UL(0)
@@ -143,6 +147,12 @@
#define RMM_FEATURE_REGISTER_0_HASH_SHA_512_SHIFT UL(29)
#define RMM_FEATURE_REGISTER_0_HASH_SHA_512_WIDTH UL(1)
+#define RMM_FEATURE_REGISTER_0_PMU_EN_SHIFT UL(22)
+#define RMM_FEATURE_REGISTER_0_PMU_EN_WIDTH UL(1)
+
+#define RMM_FEATURE_REGISTER_0_PMU_NUM_CTRS_SHIFT UL(23)
+#define RMM_FEATURE_REGISTER_0_PMU_NUM_CTRS_WIDTH UL(5)
+
/* The RmmRipas enumeration representing realm IPA state */
#define RMI_EMPTY (0)
#define RMI_RAM (1)