diff options
author | Przemyslaw Wirkus <przemyslaw.wirkus@arm.com> | 2020-11-04 20:47:06 +0000 |
---|---|---|
committer | Przemyslaw Wirkus <przemyslaw.wirkus@arm.com> | 2020-11-04 20:54:13 +0000 |
commit | 55cc0128349868bec27c472d083cd5aa4271828b (patch) | |
tree | fd6c990616f890768fd2bd4e4355a90c0ae7cba4 /include | |
parent | 9c91c7259122af572d50e5422c982201e4003d04 (diff) | |
download | gdb-55cc0128349868bec27c472d083cd5aa4271828b.zip gdb-55cc0128349868bec27c472d083cd5aa4271828b.tar.gz gdb-55cc0128349868bec27c472d083cd5aa4271828b.tar.bz2 |
aarch64: Update feature RAS system registers
This patch:
+ updates RAS feature system registers with new RAS 1.1 regs.
+ extends RAS/RAS 1.1 support for all architecture levels of Armv8-A.
Please note that early Armv8-A architectures do not officially support RAS
extension.
Rationale of the patch:
To ease development so that user-friendly RAS system registers operands can be
used. Certain use cases require developers to enable only more generic
architecture (e.g. -march=armv8-a) during system development. Users must use
RAS extension registers bearing in mind that system they use must support it.
The RAS (Reliability, Availability, Serviceability) extension is a
system-level extension that defines a number of system registers.
RAS 1.1 (FEAT_RASv1p1) introduces five new system registers:
ERXPFGCTL_EL1, ERXPFGCDN_EL1, ERXMISC2_EL1, ERXMISC3_EL1 and
ERXPFGF_EL1.
For details see [0].
[0] https://developer.arm.com/docs/ddi0595/i/
Diffstat (limited to 'include')
-rw-r--r-- | include/ChangeLog | 5 | ||||
-rw-r--r-- | include/opcode/aarch64.h | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/include/ChangeLog b/include/ChangeLog index b403c5c..252b494 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,8 @@ +2020-11-04 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com> + + * opcode/aarch64.h (AARCH64_ARCH_V8): Add RAS to Armv8-A. + (AARCH64_ARCH_V8_2): Remove RAS from Armv8.2-A set. + 2020-11-03 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com> * opcode/aarch64.h (AARCH64_FEATURE_LS64): New +ls64 feature flag. diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h index 07eb911..efa2657 100644 --- a/include/opcode/aarch64.h +++ b/include/opcode/aarch64.h @@ -97,6 +97,7 @@ typedef uint32_t aarch64_insn; #define AARCH64_ARCH_V8 AARCH64_FEATURE (AARCH64_FEATURE_V8, \ AARCH64_FEATURE_V8_A \ | AARCH64_FEATURE_FP \ + | AARCH64_FEATURE_RAS \ | AARCH64_FEATURE_SIMD) #define AARCH64_ARCH_V8_1 AARCH64_FEATURE (AARCH64_ARCH_V8, \ AARCH64_FEATURE_CRC \ @@ -106,8 +107,7 @@ typedef uint32_t aarch64_insn; | AARCH64_FEATURE_LOR \ | AARCH64_FEATURE_RDMA) #define AARCH64_ARCH_V8_2 AARCH64_FEATURE (AARCH64_ARCH_V8_1, \ - AARCH64_FEATURE_V8_2 \ - | AARCH64_FEATURE_RAS) + AARCH64_FEATURE_V8_2) #define AARCH64_ARCH_V8_3 AARCH64_FEATURE (AARCH64_ARCH_V8_2, \ AARCH64_FEATURE_V8_3 \ | AARCH64_FEATURE_RCPC \ |