aarch64: Update feature RAS system registers
authorPrzemyslaw Wirkus <przemyslaw.wirkus@arm.com>
Wed, 4 Nov 2020 20:47:06 +0000 (20:47 +0000)
committerPrzemyslaw Wirkus <przemyslaw.wirkus@arm.com>
Wed, 4 Nov 2020 20:54:13 +0000 (20:54 +0000)
commit55cc0128349868bec27c472d083cd5aa4271828b
treefd6c990616f890768fd2bd4e4355a90c0ae7cba4
parent9c91c7259122af572d50e5422c982201e4003d04
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/
15 files changed:
gas/ChangeLog
gas/testsuite/gas/aarch64/armv8-ras-1_1-invalid.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/armv8-ras-1_1-invalid.l [new file with mode: 0644]
gas/testsuite/gas/aarch64/armv8-ras-1_1-invalid.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/armv8-ras-1_1.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/armv8-ras-1_1.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/illegal-ras-1.d [deleted file]
gas/testsuite/gas/aarch64/illegal-ras-1.l [deleted file]
gas/testsuite/gas/aarch64/illegal-ras-1.s [deleted file]
gas/testsuite/gas/aarch64/illegal-sysreg-2.d [deleted file]
gas/testsuite/gas/aarch64/illegal-sysreg-2.l [deleted file]
include/ChangeLog
include/opcode/aarch64.h
opcodes/ChangeLog
opcodes/aarch64-opc.c