From a15809c010f32e1d72379babbd230c82e3f46901 Mon Sep 17 00:00:00 2001 From: Matthieu Longo Date: Wed, 19 Jun 2024 20:08:17 +0100 Subject: 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. --- include/opcode/aarch64.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'include/opcode') 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) \ -- cgit v1.1