From: Yury Khrustalev Date: Fri, 9 Feb 2024 13:52:14 +0000 (+0000) Subject: aarch64: Add support for the id_aa64isar3_el1 system register X-Git-Tag: gdb-15-branchpoint~945 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1bc24c0dabc577d244627581559707705a4add56;p=thirdparty%2Fbinutils-gdb.git aarch64: Add support for the id_aa64isar3_el1 system register Hi, [PATCH][Binutils] aarch64: Add support for the id_aa64isar3_el1 system register AArch64 defines a read-only system register called id_aa64isar3_el1. This patch also adds relevant tests. Regression tested on the aarch64-none-elf and aarch64-none-linux-gnu targets and no regressions was found. Is this Ok for trunk? I do not have commit rights, if OK, can someone commit on my behalf? Thanks, Yury Khrustalev From e42c835e8f2ee81150f498675f2faf108bbe79f8 Mon Sep 17 00:00:00 2001 From: Yury Khrustalev Date: Tue, 6 Feb 2024 11:05:39 +0000 Subject: [PATCH] [PATCH][Binutils] aarch64: Add support for the id_aa64isar3_el1 system register AArch64 defines a read-only system register called id_aa64isar3_el1. This patch also adds relevant tests. Regression tested on the aarch64-none-elf and aarch64-none-linux-gnu targets and no regressions was found. --- diff --git a/gas/testsuite/gas/aarch64/sysreg-diagnostic.d b/gas/testsuite/gas/aarch64/sysreg-diagnostic.d index 7059fbe3c8e..55cdf09bb80 100644 --- a/gas/testsuite/gas/aarch64/sysreg-diagnostic.d +++ b/gas/testsuite/gas/aarch64/sysreg-diagnostic.d @@ -13,3 +13,4 @@ Disassembly of section \.text: .*: d5330503 mrs x3, dbgdtrrx_el0 .*: d5180003 msr midr_el1, x3 // note: writing to a read-only register .*: d5180640 msr id_aa64isar2_el1, x0 // note: writing to a read-only register +.*: d5180660 msr id_aa64isar3_el1, x0 // note: writing to a read-only register diff --git a/gas/testsuite/gas/aarch64/sysreg-diagnostic.l b/gas/testsuite/gas/aarch64/sysreg-diagnostic.l index e9a41a2a3d2..df3d3e572a9 100644 --- a/gas/testsuite/gas/aarch64/sysreg-diagnostic.l +++ b/gas/testsuite/gas/aarch64/sysreg-diagnostic.l @@ -3,3 +3,4 @@ .*:5: Warning: specified register cannot be read from at operand 2 -- `mrs x3,dbgdtrtx_el0' .*:6: Warning: specified register cannot be written to at operand 1 -- `msr midr_el1,x3' .*:7: Warning: specified register cannot be written to at operand 1 -- `msr id_aa64isar2_el1,x0' +.*:8: Warning: specified register cannot be written to at operand 1 -- `msr id_aa64isar3_el1,x0' diff --git a/gas/testsuite/gas/aarch64/sysreg-diagnostic.s b/gas/testsuite/gas/aarch64/sysreg-diagnostic.s index a689cdceae5..d8e48c682a5 100644 --- a/gas/testsuite/gas/aarch64/sysreg-diagnostic.s +++ b/gas/testsuite/gas/aarch64/sysreg-diagnostic.s @@ -5,3 +5,4 @@ mrs x3, dbgdtrtx_el0 msr midr_el1, x3 msr id_aa64isar2_el1, x0 + msr id_aa64isar3_el1, x0 diff --git a/gas/testsuite/gas/aarch64/sysreg.d b/gas/testsuite/gas/aarch64/sysreg.d index 704666d48c8..d10175837f2 100644 --- a/gas/testsuite/gas/aarch64/sysreg.d +++ b/gas/testsuite/gas/aarch64/sysreg.d @@ -31,3 +31,5 @@ Disassembly of section \.text: 5c: d5110300 msr trcstatr, x0 60: d5380640 mrs x0, id_aa64isar2_el1 64: d538065e mrs x30, id_aa64isar2_el1 + 68: d5380660 mrs x0, id_aa64isar3_el1 + 6c: d538067e mrs x30, id_aa64isar3_el1 diff --git a/gas/testsuite/gas/aarch64/sysreg.s b/gas/testsuite/gas/aarch64/sysreg.s index f2e75a863a1..a3f5b793620 100644 --- a/gas/testsuite/gas/aarch64/sysreg.s +++ b/gas/testsuite/gas/aarch64/sysreg.s @@ -33,3 +33,6 @@ mrs x0, id_aa64isar2_el1 mrs x30, id_aa64isar2_el1 + + mrs x0, id_aa64isar3_el1 + mrs x30, id_aa64isar3_el1 diff --git a/opcodes/aarch64-sys-regs.def b/opcodes/aarch64-sys-regs.def index 6a948171d6e..8b65673a5d6 100644 --- a/opcodes/aarch64-sys-regs.def +++ b/opcodes/aarch64-sys-regs.def @@ -521,6 +521,7 @@ SYSREG ("id_aa64isar0_el1", CPENC (3,0,0,6,0), F_REG_READ, AARCH64_NO_FEATURES) SYSREG ("id_aa64isar1_el1", CPENC (3,0,0,6,1), F_REG_READ, AARCH64_NO_FEATURES) SYSREG ("id_aa64isar2_el1", CPENC (3,0,0,6,2), F_REG_READ, AARCH64_NO_FEATURES) + SYSREG ("id_aa64isar3_el1", CPENC (3,0,0,6,3), F_REG_READ, AARCH64_NO_FEATURES) SYSREG ("id_aa64mmfr0_el1", CPENC (3,0,0,7,0), F_REG_READ, AARCH64_NO_FEATURES) SYSREG ("id_aa64mmfr1_el1", CPENC (3,0,0,7,1), F_REG_READ, AARCH64_NO_FEATURES) SYSREG ("id_aa64mmfr2_el1", CPENC (3,0,0,7,2), F_REG_READ, AARCH64_NO_FEATURES)