aboutsummaryrefslogtreecommitdiff
path: root/include/opcode
diff options
context:
space:
mode:
authorMatthieu Longo <matthieu.longo@arm.com>2024-06-19 20:08:17 +0100
committerMatthieu Longo <matthieu.longo@arm.com>2024-07-05 15:39:28 +0100
commita15809c010f32e1d72379babbd230c82e3f46901 (patch)
tree394df32ca2738cb09b9a4b7a37a538ec8bbaf8f5 /include/opcode
parent97bf50bb61085cb516929e736b20377bd651a8c5 (diff)
downloadbinutils-a15809c010f32e1d72379babbd230c82e3f46901.zip
binutils-a15809c010f32e1d72379babbd230c82e3f46901.tar.gz
binutils-a15809c010f32e1d72379babbd230c82e3f46901.tar.bz2
aarch64: add E3DSE feature and its associated registers
AArch64 defines new registers for the feature e3dse (Delegated SError exceptions for EL3): vdisr_el3 and vdisr_el3. e3dse is an Armv9.5-A feature. This patch also adds relevant tests. Regression tested on aarch64-none-elf, and no regression found.
Diffstat (limited to 'include/opcode')
-rw-r--r--include/opcode/aarch64.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h
index 9daa911..17c4ee9 100644
--- a/include/opcode/aarch64.h
+++ b/include/opcode/aarch64.h
@@ -183,6 +183,8 @@ enum aarch64_feature_bit {
AARCH64_FEATURE_LSE128,
/* ARMv8.9-A RAS Extensions. */
AARCH64_FEATURE_RASv2,
+ /* Delegated SError exceptions for EL3. */
+ AARCH64_FEATURE_E3DSE,
/* System Control Register2. */
AARCH64_FEATURE_SCTLR2,
/* Fine Grained Traps. */
@@ -366,7 +368,9 @@ enum aarch64_feature_bit {
#define AARCH64_ARCH_V9_5A_FEATURES(X) (AARCH64_FEATBIT (X, V9_5A) \
| AARCH64_FEATBIT (X, CPA) \
| AARCH64_FEATBIT (X, LUT) \
- | AARCH64_FEATBIT (X, FAMINMAX))
+ | AARCH64_FEATBIT (X, FAMINMAX)\
+ | AARCH64_FEATBIT (X, E3DSE) \
+ )
/* Architectures are the sum of the base and extensions. */
#define AARCH64_ARCH_V8A(X) (AARCH64_FEATBIT (X, V8) \