[PATCH 08/11] aarch64: Remove CSRE system registers

Alice Carlotti alice.carlotti@arm.com
Wed Sep 3 12:36:30 GMT 2025


Most support for CSRE was removed from Binutils in 2021 after it was
removed from the architecture.  This patch removes the remaining system
registers and test files.


diff --git a/gas/testsuite/gas/aarch64/csre-invalid.l b/gas/testsuite/gas/aarch64/csre-invalid.l
deleted file mode 100644
index be3d4c4b75e1041f280a4654df5729bf206518da..0000000000000000000000000000000000000000
--- a/gas/testsuite/gas/aarch64/csre-invalid.l
+++ /dev/null
@@ -1,5 +0,0 @@
-.*: Assembler messages:
-.*: Warning: specified register cannot be written to at operand 1 -- `msr csridr_el0,x0'
-.*: Warning: specified register cannot be written to at operand 1 -- `msr csrptridx_el0,x0'
-.*: Warning: specified register cannot be written to at operand 1 -- `msr csrptridx_el1,x0'
-.*: Warning: specified register cannot be written to at operand 1 -- `msr csrptridx_el2,x0'
diff --git a/gas/testsuite/gas/aarch64/csre.s b/gas/testsuite/gas/aarch64/csre.s
deleted file mode 100644
index bede41cf37de3b05b5e871a76afaa49210dcbcbc..0000000000000000000000000000000000000000
--- a/gas/testsuite/gas/aarch64/csre.s
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Call Stack Recorder Extension system registers.  */
-
-/* Read from system registers.  */
-mrs x0, csrcr_el0
-mrs x0, csrptr_el0
-mrs x0, csridr_el0
-mrs x0, csrptridx_el0
-mrs x0, csrcr_el1
-mrs x0, csrcr_el12
-mrs x0, csrptr_el1
-mrs x0, csrptr_el12
-mrs x0, csrptridx_el1
-mrs x0, csrcr_el2
-mrs x0, csrptr_el2
-mrs x0, csrptridx_el2
-
-/* Write to system registers.  */
-msr csrcr_el0, x0
-msr csrptr_el0, x0
-msr csrcr_el1, x0
-msr csrcr_el12, x0
-msr csrptr_el1, x0
-msr csrptr_el12, x0
-msr csrcr_el2, x0
-msr csrptr_el2, x0
diff --git a/opcodes/aarch64-sys-regs.def b/opcodes/aarch64-sys-regs.def
index 521faf92ec0491ff1a9e94d8b9a5d399fedf7e9d..47713e678955ae7cc6288f467e4015bed7149948 100644
--- a/opcodes/aarch64-sys-regs.def
+++ b/opcodes/aarch64-sys-regs.def
@@ -310,18 +310,6 @@
   SYSREG ("cptr_el2",		CPENC (3,4,1,1,2),	0,		AARCH64_NO_FEATURES)
   SYSREG ("cptr_el3",		CPENC (3,6,1,1,2),	0,		AARCH64_NO_FEATURES)
   SYSREG ("cptrmask_el2",	CPENC (3,4,1,4,2),	0,		AARCH64_FEATURE (V9_5A)) /* SRMASK */
-  SYSREG ("csrcr_el0",		CPENC (2,3,8,0,0),	0,		AARCH64_NO_FEATURES)
-  SYSREG ("csrcr_el1",		CPENC (2,0,8,0,0),	0,		AARCH64_NO_FEATURES)
-  SYSREG ("csrcr_el12",		CPENC (2,5,8,0,0),	0,		AARCH64_NO_FEATURES)
-  SYSREG ("csrcr_el2",		CPENC (2,4,8,0,0),	0,		AARCH64_NO_FEATURES)
-  SYSREG ("csridr_el0",		CPENC (2,3,8,0,2),	F_REG_READ,	AARCH64_NO_FEATURES)
-  SYSREG ("csrptr_el0",		CPENC (2,3,8,0,1),	0,		AARCH64_NO_FEATURES)
-  SYSREG ("csrptr_el1",		CPENC (2,0,8,0,1),	0,		AARCH64_NO_FEATURES)
-  SYSREG ("csrptr_el12",	CPENC (2,5,8,0,1),	0,		AARCH64_NO_FEATURES)
-  SYSREG ("csrptr_el2",		CPENC (2,4,8,0,1),	0,		AARCH64_NO_FEATURES)
-  SYSREG ("csrptridx_el0",	CPENC (2,3,8,0,3),	F_REG_READ,	AARCH64_NO_FEATURES)
-  SYSREG ("csrptridx_el1",	CPENC (2,0,8,0,3),	F_REG_READ,	AARCH64_NO_FEATURES)
-  SYSREG ("csrptridx_el2",	CPENC (2,4,8,0,3),	F_REG_READ,	AARCH64_NO_FEATURES)
   SYSREG ("csselr_el1",		CPENC (3,2,0,0,0),	0,		AARCH64_NO_FEATURES)
   SYSREG ("ctr_el0",		CPENC (3,3,0,0,1),	F_REG_READ,	AARCH64_NO_FEATURES)
   SYSREG ("currentel",		CPENC (3,0,4,2,2),	F_REG_READ,	AARCH64_NO_FEATURES)



More information about the Binutils mailing list