From: Richard Ball Date: Fri, 16 Jan 2026 12:16:03 +0000 (+0000) Subject: aarch64: Add FEAT_MPAMv2_VID system registers X-Git-Tag: binutils-2_46~244 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5fc6b09c078532fa4206a350e34d82488b80a5fb;p=thirdparty%2Fbinutils-gdb.git aarch64: Add FEAT_MPAMv2_VID system registers This patch adds the system registers defined by FEAT_MPAMv2_VID. These registers are: *mpamvidcr_el2 *mpamvidsr_el2 *mpamvidsr_el3 --- diff --git a/gas/testsuite/gas/aarch64/sysreg/mpamv2_vid-bad.d b/gas/testsuite/gas/aarch64/sysreg/mpamv2_vid-bad.d new file mode 100644 index 00000000000..5d00da59694 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sysreg/mpamv2_vid-bad.d @@ -0,0 +1,3 @@ +#as: -march=armv9.4-a -menable-sysreg-checking -I$srcdir/$subdir +#source: mpamv2_vid.s +#error_output: mpamv2_vid-bad.l diff --git a/gas/testsuite/gas/aarch64/sysreg/mpamv2_vid-bad.l b/gas/testsuite/gas/aarch64/sysreg/mpamv2_vid-bad.l new file mode 100644 index 00000000000..6ab3d16fba0 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sysreg/mpamv2_vid-bad.l @@ -0,0 +1,13 @@ +.*: Assembler messages: +.*: Error: selected processor does not support system register name 'mpamvidcr_el2' +.*: Info: macro invoked from here +.*: Error: selected processor does not support system register name 'mpamvidcr_el2' +.*: Info: macro invoked from here +.*: Error: selected processor does not support system register name 'mpamvidsr_el2' +.*: Info: macro invoked from here +.*: Error: selected processor does not support system register name 'mpamvidsr_el2' +.*: Info: macro invoked from here +.*: Error: selected processor does not support system register name 'mpamvidsr_el3' +.*: Info: macro invoked from here +.*: Error: selected processor does not support system register name 'mpamvidsr_el3' +.*: Info: macro invoked from here diff --git a/gas/testsuite/gas/aarch64/sysreg/mpamv2_vid.d b/gas/testsuite/gas/aarch64/sysreg/mpamv2_vid.d new file mode 100644 index 00000000000..88c0c1883d8 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sysreg/mpamv2_vid.d @@ -0,0 +1,14 @@ +#as: -menable-sysreg-checking -march=armv8-a+mpamv2 -I$srcdir/$subdir +#objdump: -dr + +.*: file format .* + +Disassembly of section \.text: + +0+ <.*>: +.*: d51ca700 msr mpamvidcr_el2, x0 +.*: d53ca700 mrs x0, mpamvidcr_el2 +.*: d51ca720 msr mpamvidsr_el2, x0 +.*: d53ca720 mrs x0, mpamvidsr_el2 +.*: d51ea720 msr mpamvidsr_el3, x0 +.*: d53ea720 mrs x0, mpamvidsr_el3 diff --git a/gas/testsuite/gas/aarch64/sysreg/mpamv2_vid.s b/gas/testsuite/gas/aarch64/sysreg/mpamv2_vid.s new file mode 100644 index 00000000000..132d48f0781 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sysreg/mpamv2_vid.s @@ -0,0 +1,5 @@ +.include "sysreg-test-utils.inc" + + rw_sys_reg mpamvidcr_el2 + rw_sys_reg mpamvidsr_el2 + rw_sys_reg mpamvidsr_el3 diff --git a/opcodes/aarch64-sys-regs.def b/opcodes/aarch64-sys-regs.def index 1c57598d52d..f4761438716 100644 --- a/opcodes/aarch64-sys-regs.def +++ b/opcodes/aarch64-sys-regs.def @@ -929,6 +929,9 @@ SYSREG ("mpamhcr_el2", CPENC (3,4,10,4,0), 0, AARCH64_FEATURE (V8_2A)) /* MPAM */ SYSREG ("mpamidr_el1", CPENC (3,0,10,4,4), F_REG_READ, AARCH64_FEATURE (V8_2A)) /* MPAM */ SYSREG ("mpamsm_el1", CPENC (3,0,10,5,3), 0, AARCH64_FEATURES (2, SME, V8_2A)) /* SME && MPAM */ + SYSREG ("mpamvidcr_el2", CPENC (3,4,10,7,0), 0, AARCH64_FEATURE (MPAMv2)) + SYSREG ("mpamvidsr_el2", CPENC (3,4,10,7,1), 0, AARCH64_FEATURE (MPAMv2)) + SYSREG ("mpamvidsr_el3", CPENC (3,6,10,7,1), 0, AARCH64_FEATURE (MPAMv2)) SYSREG ("mpamvpm0_el2", CPENC (3,4,10,6,0), 0, AARCH64_FEATURE (V8_2A)) /* MPAM */ SYSREG ("mpamvpm1_el2", CPENC (3,4,10,6,1), 0, AARCH64_FEATURE (V8_2A)) /* MPAM */ SYSREG ("mpamvpm2_el2", CPENC (3,4,10,6,2), 0, AARCH64_FEATURE (V8_2A)) /* MPAM */