fix: add support for 128-bit sysregs to EL3 crash handler

The following changes have been made:
* Add new sysreg definitions and ASM macro is_feat_sysreg128_present_asm
* Add registers TTBR0_EL2 and VTTBR_EL2 to EL3 crash handler output
* Use MRRS instead of MRS for registers TTBR0_EL1, TTBR0_EL2, TTBR1_EL1,
  VTTBR_EL2 and PAR_EL1

Change-Id: I0e20b2c35251f3afba2df794c1f8bc0c46c197ff
Signed-off-by: Igor Podgainõi <igor.podgainoi@arm.com>
diff --git a/lib/extensions/sysreg128/sysreg128.S b/lib/extensions/sysreg128/sysreg128.S
index 08cff2f..c8f304e 100644
--- a/lib/extensions/sysreg128/sysreg128.S
+++ b/lib/extensions/sysreg128/sysreg128.S
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2024, Arm Limited. All rights reserved.
+ * Copyright (c) 2025, Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  */
@@ -37,15 +37,14 @@
  */
 .macro _mrrs regins:req
 #if ENABLE_FEAT_D128 == 2
-        mrs     x0, ID_AA64MMFR3_EL1
-        tst     x0, #(ID_AA64MMFR3_EL1_D128_MASK << ID_AA64MMFR3_EL1_D128_SHIFT)
+        is_feat_sysreg128_present_asm x0
         bne     1f
-        /* If FEAT_D128 is not implemented then use mrs */
-        .inst   0xD5300000 | (\regins)
+        /* If FEAT_SYSREG128 is not implemented then use mrs */
+        .inst   0xD5300000 | (\regins)  /* mrs  x0, \regins */
         ret
 #endif
 1:
-        .inst   0xD5700000 | (\regins)
+        .inst   0xD5700000 | (\regins)  /* mrrs x0, x1, \regins */
         ret
 .endm
 
@@ -59,18 +58,16 @@
  * Clobbers: x0,x1,x2
  */
 .macro _msrr regins:req
-        /* If FEAT_D128 is not implemented use msr, dont tamper
-         * x0, x1 as they maybe used for mrrs */
 #if ENABLE_FEAT_D128 == 2
-        mrs     x2, ID_AA64MMFR3_EL1
-        tst     x2, #(ID_AA64MMFR3_EL1_D128_MASK << ID_AA64MMFR3_EL1_D128_SHIFT)
+        /* Don't tamper x0 and x1 as they may be used for msrr */
+        is_feat_sysreg128_present_asm x2
         bne     1f
-        /* If FEAT_D128 is not implemented then use msr */
-        .inst   0xD5100000 | (\regins)
+        /* If FEAT_SYSREG128 is not implemented then use msr */
+        .inst   0xD5100000 | (\regins)  /* msr  \regins, x0 */
         ret
 #endif
 1:
-        .inst   0xD5500000 | (\regins)
+        .inst   0xD5500000 | (\regins)  /* msrr \regins, x0, x1 */
         ret
 .endm