This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch, AArch64, 2/5] backport recent fixes to 2.23 - update sysreg table


This patch updates the system register table. It was committed to the trunk at:

http://sourceware.org/ml/binutils-cvs/2012-10/msg00059.html

OK for 2_23-branch?

Thanks,
Yufeng

opcodes/

	* aarch64-opc.c (aarch64_sys_regs): Add rmr_el1, rmr_el2 and
	rmr_el3; remove daifset and daifclr.

gas/testsuite/

	* gas/aarch64/sysreg-1.s: Add tests of rmr_el1, rmr_el2 and rmr_el3.
	* gas/aarch64/sysreg-1.d: Update.
	* gas/aarch64/illegal.s: Add tests of daifset and daifclr.
	* gas/aarch64/illegal.d: Update.
diff --git a/gas/testsuite/gas/aarch64/illegal.l b/gas/testsuite/gas/aarch64/illegal.l
index 74386ff..6c741cf 100644
--- a/gas/testsuite/gas/aarch64/illegal.l
+++ b/gas/testsuite/gas/aarch64/illegal.l
@@ -547,3 +547,5 @@
 [^:]*:535: Error: .*`orr x0. x0,#0xff,lsl#1'
 [^:]*:536: Error: .*`orr x0,x0,#0xff lsl#1'
 [^:]*:538: Error: .*`mov x0,##5'
+[^:]*:540: Error: .*`msr daifset,x0'
+[^:]*:541: Error: .*`msr daifclr,x0'
diff --git a/gas/testsuite/gas/aarch64/illegal.s b/gas/testsuite/gas/aarch64/illegal.s
index ed31ee1..9a12463 100644
--- a/gas/testsuite/gas/aarch64/illegal.s
+++ b/gas/testsuite/gas/aarch64/illegal.s
@@ -536,3 +536,6 @@
 	orr	x0, x0, #0xff lsl #1
 
 	mov	x0, ##5
+
+	msr	daifset, x0
+	msr	daifclr, x0
diff --git a/gas/testsuite/gas/aarch64/sysreg-1.d b/gas/testsuite/gas/aarch64/sysreg-1.d
index 684bf0b..75f75b7 100644
--- a/gas/testsuite/gas/aarch64/sysreg-1.d
+++ b/gas/testsuite/gas/aarch64/sysreg-1.d
@@ -4271,3 +4271,9 @@ Disassembly of section \.text:
     429c:	d513040f 	msr	dbgdtr_el0, x15
     42a0:	d533040f 	mrs	x15, dbgdtr_el0
     42a4:	d533050f 	mrs	x15, dbgdtrrx_el0
+    42a8:	d518c04f 	msr	rmr_el1, x15
+    42ac:	d538c04f 	mrs	x15, rmr_el1
+    42b0:	d51cc04f 	msr	rmr_el2, x15
+    42b4:	d53cc04f 	mrs	x15, rmr_el2
+    42b8:	d51ec04f 	msr	rmr_el3, x15
+    42bc:	d53ec04f 	mrs	x15, rmr_el3
diff --git a/gas/testsuite/gas/aarch64/sysreg-1.s b/gas/testsuite/gas/aarch64/sysreg-1.s
index eb8649b..a2fcef4 100644
--- a/gas/testsuite/gas/aarch64/sysreg-1.s
+++ b/gas/testsuite/gas/aarch64/sysreg-1.s
@@ -158,3 +158,7 @@
 
 	rw_sys_reg sys_reg=dbgdtr_el0 xreg=x15 r=1 w=1
 	rw_sys_reg sys_reg=dbgdtrrx_el0 xreg=x15 r=1 w=0
+
+	rw_sys_reg sys_reg=rmr_el1 xreg=x15 r=1 w=1
+	rw_sys_reg sys_reg=rmr_el2 xreg=x15 r=1 w=1
+	rw_sys_reg sys_reg=rmr_el3 xreg=x15 r=1 w=1
diff --git a/opcodes/aarch64-opc.c b/opcodes/aarch64-opc.c
index 338729e..180057d 100644
--- a/opcodes/aarch64-opc.c
+++ b/opcodes/aarch64-opc.c
@@ -2771,6 +2771,9 @@ const struct aarch64_name_value_pair aarch64_sys_regs [] =
   { "rvbar_el1",        CPENC(3,0,C12,C0,1) }, /* RO */
   { "rvbar_el2",        CPENC(3,4,C12,C0,1) }, /* RO */
   { "rvbar_el3",        CPENC(3,6,C12,C0,1) }, /* RO */
+  { "rmr_el1",          CPENC(3,0,C12,C0,2) },
+  { "rmr_el2",          CPENC(3,4,C12,C0,2) },
+  { "rmr_el3",          CPENC(3,6,C12,C0,2) },
   { "isr_el1",          CPENC(3,0,C12,C1,0) }, /* RO */
   { "contextidr_el1",   CPENC(3,0,C13,C0,1) },
   { "tpidr_el0",        CPENC(3,3,C13,C0,2) },
@@ -2962,10 +2965,6 @@ const struct aarch64_name_value_pair aarch64_sys_regs [] =
   { "pmevtyper29_el0",   CPENC(3,3,C14,C15,5) },
   { "pmevtyper30_el0",   CPENC(3,3,C14,C15,6) },
   { "pmccfiltr_el0",     CPENC(3,3,C14,C15,7) },
-
-  { "daifset",          CPENC(0,3,C4,C0,6)  },
-  { "daifclr",          CPENC(0,3,C4,C0,7)  },
-
   { 0,          CPENC(0,0,0,0,0)  },
 };
 

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]