This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH, ARM] MSR/MRS assembly and disassembly tweaks
Hi Julian,
One thing that I am not sure about is the correct name for V7M PSR
register 18. Is it BASEPRI_MASK or BASEPRI_MAX.
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489c/Cihjcedb.html
Thanks - that was the reference I needed.
I have checked in this patch to revert the BASEPRI_MASK parts of my
previous patch.
Cheers
Nick
gas/ChangeLog
2011-04-19 Nick Clifton <nickc@redhat.com>
* config/tc-arm.c (v7m_psrs): Revert previous delta.
gas/testsuite/ChageLog
2011-04-19 Nick Clifton <nickc@redhat.com>
* gas/arm/mrs-msr-thumb-v7e-m.s: Restore name of basepri_max
register.
* gas/arm/mrs-msr-thumb-v7e-m.d: Likewise.
* gas/arm/arch7.d: Likewise.
* gas/arm/arch7.s: Likewise.
Index: gas/config/tc-arm.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-arm.c,v
retrieving revision 1.481
diff -u -3 -p -r1.481 tc-arm.c
--- gas/config/tc-arm.c 19 Apr 2011 07:27:28 -0000 1.481
+++ gas/config/tc-arm.c 19 Apr 2011 07:41:25 -0000
@@ -16634,8 +16634,8 @@ static const struct asm_psr v7m_psrs[] =
{"psp", 9 }, {"PSP", 9 },
{"primask", 16}, {"PRIMASK", 16},
{"basepri", 17}, {"BASEPRI", 17},
- {"basepri_max", 18}, {"BASEPRI_MAX", 18}, /* Typo, preserved for backwards compatibility. */
- {"basepri_mask",18}, {"BASEPRI_MASK", 18},
+ {"basepri_max", 18}, {"BASEPRI_MAX", 18},
+ {"basepri_max", 18}, {"BASEPRI_MASK", 18}, /* Typo, preserved for backwards compatibility. */
{"faultmask", 19}, {"FAULTMASK", 19},
{"control", 20}, {"CONTROL", 20}
};
Index: gas/testsuite/gas/arm/arch7.d
===================================================================
RCS file: /cvs/src/src/gas/testsuite/gas/arm/arch7.d,v
retrieving revision 1.9
diff -u -3 -p -r1.9 arch7.d
--- gas/testsuite/gas/arm/arch7.d 19 Apr 2011 07:27:30 -0000 1.9
+++ gas/testsuite/gas/arm/arch7.d 19 Apr 2011 07:41:25 -0000
@@ -57,7 +57,7 @@ Disassembly of section .text:
0+0c0 <[^>]*> f3ef 8009 mrs r0, PSP
0+0c4 <[^>]*> f3ef 8010 mrs r0, PRIMASK
0+0c8 <[^>]*> f3ef 8011 mrs r0, BASEPRI
-0+0cc <[^>]*> f3ef 8012 mrs r0, BASEPRI_MASK
+0+0cc <[^>]*> f3ef 8012 mrs r0, BASEPRI_MAX
0+0d0 <[^>]*> f3ef 8013 mrs r0, FAULTMASK
0+0d4 <[^>]*> f3ef 8014 mrs r0, CONTROL
0+0d8 <[^>]*> f380 8800 msr (CPSR_f|APSR_nzcvq), r0
@@ -71,7 +71,7 @@ Disassembly of section .text:
0+0f8 <[^>]*> f380 8809 msr PSP, r0
0+0fc <[^>]*> f380 8810 msr PRIMASK, r0
0+100 <[^>]*> f380 8811 msr BASEPRI, r0
-0+104 <[^>]*> f380 8812 msr BASEPRI_MASK, r0
+0+104 <[^>]*> f380 8812 msr BASEPRI_MAX, r0
0+108 <[^>]*> f380 8813 msr FAULTMASK, r0
0+10c <[^>]*> f380 8814 msr CONTROL, r0
0+110 <[^>]*> f3ef 8003 mrs r0, PSR
Index: gas/testsuite/gas/arm/arch7.s
===================================================================
RCS file: /cvs/src/src/gas/testsuite/gas/arm/arch7.s,v
retrieving revision 1.5
diff -u -3 -p -r1.5 arch7.s
--- gas/testsuite/gas/arm/arch7.s 19 Apr 2011 07:27:30 -0000 1.5
+++ gas/testsuite/gas/arm/arch7.s 19 Apr 2011 07:41:25 -0000
@@ -60,7 +60,7 @@ label2:
mrs r0, psp
mrs r0, primask
mrs r0, basepri
- mrs r0, basepri_mask
+ mrs r0, basepri_max
mrs r0, faultmask
mrs r0, control
msr apsr_nzcvq, r0
@@ -74,7 +74,7 @@ label2:
msr psp, r0
msr primask, r0
msr basepri, r0
- msr BASEPRI_MASK, r0
+ msr BASEPRI_MAX, r0
msr faultmask, r0
msr control, r0
mrs r0, xpsr
Index: gas/testsuite/gas/arm/mrs-msr-thumb-v7e-m.d
===================================================================
RCS file: /cvs/src/src/gas/testsuite/gas/arm/mrs-msr-thumb-v7e-m.d,v
retrieving revision 1.2
diff -u -3 -p -r1.2 mrs-msr-thumb-v7e-m.d
--- gas/testsuite/gas/arm/mrs-msr-thumb-v7e-m.d 19 Apr 2011 07:27:30 -0000 1.2
+++ gas/testsuite/gas/arm/mrs-msr-thumb-v7e-m.d 19 Apr 2011 07:41:25 -0000
@@ -12,4 +12,4 @@ Disassembly of section .text:
0+08 <[^>]*> f3ef 8610 mrs r6, PRIMASK
0+0c <[^>]*> f384 8c00 msr CPSR_fs, r4
0+10 <[^>]*> f385 8401 msr IAPSR, r5
-0+14 <[^>]*> f386 8812 msr BASEPRI_MASK, r6
+0+14 <[^>]*> f386 8812 msr BASEPRI_MAX, r6
Index: gas/testsuite/gas/arm/mrs-msr-thumb-v7e-m.s
===================================================================
RCS file: /cvs/src/src/gas/testsuite/gas/arm/mrs-msr-thumb-v7e-m.s,v
retrieving revision 1.2
diff -u -3 -p -r1.2 mrs-msr-thumb-v7e-m.s
--- gas/testsuite/gas/arm/mrs-msr-thumb-v7e-m.s 19 Apr 2011 07:27:30 -0000 1.2
+++ gas/testsuite/gas/arm/mrs-msr-thumb-v7e-m.s 19 Apr 2011 07:41:25 -0000
@@ -7,4 +7,4 @@
mrs r6, primask
msr apsr_nzcvqg, r4
msr iapsr_g, r5
- msr basepri_mask, r6
+ msr basepri_max, r6
Index: opcodes/arm-dis.c
===================================================================
RCS file: /cvs/src/src/opcodes/arm-dis.c,v
retrieving revision 1.142
diff -u -3 -p -r1.142 arm-dis.c
--- opcodes/arm-dis.c 19 Apr 2011 07:27:32 -0000 1.142
+++ opcodes/arm-dis.c 19 Apr 2011 07:41:26 -0000
@@ -3722,7 +3722,7 @@ psr_name (int regno)
case 9: return "PSP";
case 16: return "PRIMASK";
case 17: return "BASEPRI";
- case 18: return "BASEPRI_MASK";
+ case 18: return "BASEPRI_MAX";
case 19: return "FAULTMASK";
case 20: return "CONTROL";
default: return "<unknown>";