fix(runtime): disable MTE on id_aa64pfr1_el1 read

Read from id_aa64pfr1_el1 register clears Memory Tagging Extension bits.

Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>
Change-Id: I94be29ac94d52bddb5c6e4dd0906cd4c7d8bfc0c
diff --git a/runtime/core/sysregs.c b/runtime/core/sysregs.c
index 7a55e9a..c45b474 100644
--- a/runtime/core/sysregs.c
+++ b/runtime/core/sysregs.c
@@ -97,6 +97,15 @@
 	MASK(ID_AA64PFR0_EL1_SVE)
 
 /*
+ * ID_AA64PFR1_EL1:
+ *
+ * Cleared fields:
+ * - Memory Tagging Extension is not implemented
+ */
+#define ID_AA64PFR1_EL1_CLEAR		  \
+	MASK(ID_AA64PFR1_EL1_MTE)
+
+/*
  * Handle ID_AA64XXX<n>_EL1 instructions
  */
 static bool handle_id_sysreg_trap(struct rec *rec,
@@ -163,7 +172,7 @@
 		value = SYSREG_READ_CLEAR(PFR0);
 		break;
 	SYSREG_CASE(PFR1)
-		value = SYSREG_READ(PFR1);
+		value = SYSREG_READ_CLEAR(PFR1);
 		break;
 	/*
 	 * TODO: not supported without SVE: