aboutsummaryrefslogtreecommitdiff
path: root/include/opcode
diff options
context:
space:
mode:
authorSrinath Parvathaneni <srinath.parvathaneni@arm.com>2023-11-16 12:18:28 +0000
committersrinath <srinath.parvathaneni@arm.com>2023-11-16 12:18:34 +0000
commit311276f10c4f85827d3264a2682ae9219917060f (patch)
tree22824b06a8cd530256bad14437b55f92b2ba8c7d /include/opcode
parent43e228e98c33d3dbb428f4061de0362ba13ffbf5 (diff)
downloadgdb-311276f10c4f85827d3264a2682ae9219917060f.zip
gdb-311276f10c4f85827d3264a2682ae9219917060f.tar.gz
gdb-311276f10c4f85827d3264a2682ae9219917060f.tar.bz2
aarch64: Add support to new features in RAS extension.
This patch also adds support for: 1. FEAT_RASv2 feature and "ERXGSR_EL1" system register. RASv2 feature is enabled by passing +rasv2 to -march (eg: -march=armv8-a+rasv2). 2. FEAT_SCTLR2 and following system registers. SCTLR2_EL1, SCTLR2_EL12, SCTLR2_EL2 and SCTLR2_EL3. 3. FEAT_FGT2 and following system registers. HDFGRTR2_EL2, HDFGWTR2_EL2, HFGRTR2_EL2, HFGWTR2_EL2 4. FEAT_PFAR and following system registers. PFAR_EL1, PFAR_EL2 and PFAR_EL12. FEAT_RASv2, FEAT_SCTLR2, FEAT_FGT2 and FEAT_PFAR features are by default enabled from Armv9.4-A architecture. This patch also adds support for two read only system registers id_aa64mmfr3_el1 and id_aa64mmfr4_el1, which are available from Armv8-A Architecture.
Diffstat (limited to 'include/opcode')
-rw-r--r--include/opcode/aarch64.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h
index 881a421..03ef907 100644
--- a/include/opcode/aarch64.h
+++ b/include/opcode/aarch64.h
@@ -175,6 +175,14 @@ enum aarch64_feature_bit {
AARCH64_FEATURE_THE,
/* LSE128. */
AARCH64_FEATURE_LSE128,
+ /* ARMv8.9-A RAS Extensions. */
+ AARCH64_FEATURE_RASv2,
+ /* System Control Register2. */
+ AARCH64_FEATURE_SCTLR2,
+ /* Fine Grained Traps. */
+ AARCH64_FEATURE_FGT2,
+ /* Physical Fault Address. */
+ AARCH64_FEATURE_PFAR,
AARCH64_NUM_FEATURES
};
@@ -233,7 +241,11 @@ enum aarch64_feature_bit {
#define AARCH64_ARCH_V8_9A_FEATURES(X) (AARCH64_FEATBIT (X, V8_9A) \
| AARCH64_FEATBIT (X, SPEv1p4) \
| AARCH64_FEATBIT (X, SPE_CRR) \
- | AARCH64_FEATBIT (X, SPE_FDS))
+ | AARCH64_FEATBIT (X, SPE_FDS) \
+ | AARCH64_FEATBIT (X, RASv2) \
+ | AARCH64_FEATBIT (X, SCTLR2) \
+ | AARCH64_FEATBIT (X, FGT2) \
+ | AARCH64_FEATBIT (X, PFAR))
#define AARCH64_ARCH_V9A_FEATURES(X) (AARCH64_FEATBIT (X, V9A) \
| AARCH64_FEATBIT (X, F16) \