public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
From: Thomas Preudhomme <thomas.preudhomme@foss.arm.com>
To: binutils@sourceware.org,
	Richard Earnshaw <richard.earnshaw@arm.com>,
	Nick Clifton <nickc@redhat.com>, Alan Modra <amodra@gmail.com>
Subject: [PATCH, binutils/ARM] Remove _S version or MSR/MRS special registers
Date: Fri, 12 Aug 2016 13:41:00 -0000	[thread overview]
Message-ID: <e809779c-d0fe-0932-d89e-26f392c1b79b@foss.arm.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 1232 bytes --]

Hi,

When adding support for ARMv8-M in GAS, MRS/MSR special registers were extended 
with MSP_S/MSP_NS and PSP_S/PSP_NS. While _NS versions make sense as they 
correspond to a different encoding, _S version do not. They are artifacts of 
previous version of the patch where a special CLI switch was considered to 
assemble ARMv8-M Secure code. In their current form they are a source of 
confusion because they would lead to read or write the non secure version of MSP 
and PSP when in non secure state.

Since this is early 2.27 days, we believe it to be best to remove them now 
rather than keep them in. Patch is in attachment.

ChangeLog entrie is as follows:

*** gas/ChangeLog ***

2016-08-11  Thomas Preud'homme  <thomas.preudhomme@arm.com>

         * config/tc-arm.c (v7m_psrs): Remove msp_s, MSP_S, psp_s and PSP_S
         special registers.
         * testsuite/gas/arm/archv8m-cmse-msr.s: Remove test for above special
         registers.
         * testsuite/gas/arm/archv8m-cmse-msr-base.d: Likewise.
         * testsuite/gas/arm/archv8m-cmse-msr-main.d: Likewise.
         * testsuite/gas/arm/archv8m-main-dsp-4.d: Likewise.


Is this ok for master and more importantly binutils-2_27-branch?

Best regards,

Thomas

[-- Attachment #2: remove_s_msr_special_regs.patch --]
[-- Type: text/x-patch, Size: 5205 bytes --]

diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 73d0531639a9f8b277729122999122a423cc7549..4fa0bfc5bb19c8d61550618dc6d496793f4580ba 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -18788,8 +18788,8 @@ static const struct asm_psr v7m_psrs[] =
   {"ipsr",	  5 }, {"IPSR",		5 },
   {"epsr",	  6 }, {"EPSR",		6 },
   {"iepsr",	  7 }, {"IEPSR",	7 },
-  {"msp",	  8 }, {"MSP",		8 }, {"msp_s",     8 }, {"MSP_S",     8 },
-  {"psp",	  9 }, {"PSP",		9 }, {"psp_s",     9 }, {"PSP_S",     9 },
+  {"msp",	  8 }, {"MSP",		8 },
+  {"psp",	  9 }, {"PSP",		9 },
   {"primask",	  16}, {"PRIMASK",	16},
   {"basepri",	  17}, {"BASEPRI",	17},
   {"basepri_max", 18}, {"BASEPRI_MAX",	18},
diff --git a/gas/testsuite/gas/arm/archv8m-cmse-msr-base.d b/gas/testsuite/gas/arm/archv8m-cmse-msr-base.d
index 4bbb82d79b2c1f6277d93dd49270250748fb61f6..0c46a44a3e160c2e8957085c1a59faed3136b00a 100644
--- a/gas/testsuite/gas/arm/archv8m-cmse-msr-base.d
+++ b/gas/testsuite/gas/arm/archv8m-cmse-msr-base.d
@@ -7,26 +7,18 @@
 
 Disassembly of section .text:
 0+.* <[^>]*> f380 8808 	msr	MSP, r0
-0+.* <[^>]*> f380 8808 	msr	MSP, r0
 0+.* <[^>]*> f380 8888 	msr	MSP_NS, r0
 0+.* <[^>]*> f380 8809 	msr	PSP, r0
-0+.* <[^>]*> f380 8809 	msr	PSP, r0
 0+.* <[^>]*> f380 8889 	msr	PSP_NS, r0
 0+.* <[^>]*> f380 8808 	msr	MSP, r0
-0+.* <[^>]*> f380 8808 	msr	MSP, r0
 0+.* <[^>]*> f380 8888 	msr	MSP_NS, r0
 0+.* <[^>]*> f380 8809 	msr	PSP, r0
-0+.* <[^>]*> f380 8809 	msr	PSP, r0
 0+.* <[^>]*> f380 8889 	msr	PSP_NS, r0
 0+.* <[^>]*> f3ef 8008 	mrs	r0, MSP
-0+.* <[^>]*> f3ef 8008 	mrs	r0, MSP
 0+.* <[^>]*> f3ef 8088 	mrs	r0, MSP_NS
 0+.* <[^>]*> f3ef 8009 	mrs	r0, PSP
-0+.* <[^>]*> f3ef 8009 	mrs	r0, PSP
 0+.* <[^>]*> f3ef 8089 	mrs	r0, PSP_NS
 0+.* <[^>]*> f3ef 8008 	mrs	r0, MSP
-0+.* <[^>]*> f3ef 8008 	mrs	r0, MSP
 0+.* <[^>]*> f3ef 8088 	mrs	r0, MSP_NS
 0+.* <[^>]*> f3ef 8009 	mrs	r0, PSP
-0+.* <[^>]*> f3ef 8009 	mrs	r0, PSP
 0+.* <[^>]*> f3ef 8089 	mrs	r0, PSP_NS
diff --git a/gas/testsuite/gas/arm/archv8m-cmse-msr-main.d b/gas/testsuite/gas/arm/archv8m-cmse-msr-main.d
index 30a3361c37458c8894fa76bd2dd5b8425664668b..42d3ba9b0c8350243b42dc418d2e4e317a071211 100644
--- a/gas/testsuite/gas/arm/archv8m-cmse-msr-main.d
+++ b/gas/testsuite/gas/arm/archv8m-cmse-msr-main.d
@@ -7,26 +7,18 @@
 
 Disassembly of section .text:
 0+.* <[^>]*> f380 8808 	msr	MSP, r0
-0+.* <[^>]*> f380 8808 	msr	MSP, r0
 0+.* <[^>]*> f380 8888 	msr	MSP_NS, r0
 0+.* <[^>]*> f380 8809 	msr	PSP, r0
-0+.* <[^>]*> f380 8809 	msr	PSP, r0
 0+.* <[^>]*> f380 8889 	msr	PSP_NS, r0
 0+.* <[^>]*> f380 8808 	msr	MSP, r0
-0+.* <[^>]*> f380 8808 	msr	MSP, r0
 0+.* <[^>]*> f380 8888 	msr	MSP_NS, r0
 0+.* <[^>]*> f380 8809 	msr	PSP, r0
-0+.* <[^>]*> f380 8809 	msr	PSP, r0
 0+.* <[^>]*> f380 8889 	msr	PSP_NS, r0
 0+.* <[^>]*> f3ef 8008 	mrs	r0, MSP
-0+.* <[^>]*> f3ef 8008 	mrs	r0, MSP
 0+.* <[^>]*> f3ef 8088 	mrs	r0, MSP_NS
 0+.* <[^>]*> f3ef 8009 	mrs	r0, PSP
-0+.* <[^>]*> f3ef 8009 	mrs	r0, PSP
 0+.* <[^>]*> f3ef 8089 	mrs	r0, PSP_NS
 0+.* <[^>]*> f3ef 8008 	mrs	r0, MSP
-0+.* <[^>]*> f3ef 8008 	mrs	r0, MSP
 0+.* <[^>]*> f3ef 8088 	mrs	r0, MSP_NS
 0+.* <[^>]*> f3ef 8009 	mrs	r0, PSP
-0+.* <[^>]*> f3ef 8009 	mrs	r0, PSP
 0+.* <[^>]*> f3ef 8089 	mrs	r0, PSP_NS
diff --git a/gas/testsuite/gas/arm/archv8m-cmse-msr.s b/gas/testsuite/gas/arm/archv8m-cmse-msr.s
index 897be1a9256195de85a7b8869e942a298faf92ec..66a3b64f86bde5ed26201c6365b1fa0ab3846627 100644
--- a/gas/testsuite/gas/arm/archv8m-cmse-msr.s
+++ b/gas/testsuite/gas/arm/archv8m-cmse-msr.s
@@ -1,25 +1,17 @@
 T:
 msr   MSP, r0
-msr   MSP_S, r0
 msr   MSP_NS, r0
 msr   PSP, r0
-msr   PSP_S, r0
 msr   PSP_NS, r0
 msr   msp, r0
-msr   msp_s, r0
 msr   msp_ns, r0
 msr   psp, r0
-msr   psp_s, r0
 msr   psp_ns, r0
 mrs   r0, MSP
-mrs   r0, MSP_S
 mrs   r0, MSP_NS
 mrs   r0, PSP
-mrs   r0, PSP_S
 mrs   r0, PSP_NS
 mrs   r0, msp
-mrs   r0, msp_s
 mrs   r0, msp_ns
 mrs   r0, psp
-mrs   r0, psp_s
 mrs   r0, psp_ns
diff --git a/gas/testsuite/gas/arm/archv8m-main-dsp-4.d b/gas/testsuite/gas/arm/archv8m-main-dsp-4.d
index 248f75e00af6d1a7a43f80bcfc6e4f80556ae1d4..7ebc9c1178543710358b7ff76f415261891429bf 100644
--- a/gas/testsuite/gas/arm/archv8m-main-dsp-4.d
+++ b/gas/testsuite/gas/arm/archv8m-main-dsp-4.d
@@ -7,26 +7,18 @@
 
 Disassembly of section .text:
 0+.* <[^>]*> f380 8808 	msr	MSP, r0
-0+.* <[^>]*> f380 8808 	msr	MSP, r0
 0+.* <[^>]*> f380 8888 	msr	MSP_NS, r0
 0+.* <[^>]*> f380 8809 	msr	PSP, r0
-0+.* <[^>]*> f380 8809 	msr	PSP, r0
 0+.* <[^>]*> f380 8889 	msr	PSP_NS, r0
 0+.* <[^>]*> f380 8808 	msr	MSP, r0
-0+.* <[^>]*> f380 8808 	msr	MSP, r0
 0+.* <[^>]*> f380 8888 	msr	MSP_NS, r0
 0+.* <[^>]*> f380 8809 	msr	PSP, r0
-0+.* <[^>]*> f380 8809 	msr	PSP, r0
 0+.* <[^>]*> f380 8889 	msr	PSP_NS, r0
 0+.* <[^>]*> f3ef 8008 	mrs	r0, MSP
-0+.* <[^>]*> f3ef 8008 	mrs	r0, MSP
 0+.* <[^>]*> f3ef 8088 	mrs	r0, MSP_NS
 0+.* <[^>]*> f3ef 8009 	mrs	r0, PSP
-0+.* <[^>]*> f3ef 8009 	mrs	r0, PSP
 0+.* <[^>]*> f3ef 8089 	mrs	r0, PSP_NS
 0+.* <[^>]*> f3ef 8008 	mrs	r0, MSP
-0+.* <[^>]*> f3ef 8008 	mrs	r0, MSP
 0+.* <[^>]*> f3ef 8088 	mrs	r0, MSP_NS
 0+.* <[^>]*> f3ef 8009 	mrs	r0, PSP
-0+.* <[^>]*> f3ef 8009 	mrs	r0, PSP
 0+.* <[^>]*> f3ef 8089 	mrs	r0, PSP_NS

             reply	other threads:[~2016-08-12 13:41 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-12 13:41 Thomas Preudhomme [this message]
2016-08-15 10:56 ` Nick Clifton
2016-08-15 16:27   ` Thomas Preudhomme
2016-08-23 10:35     ` [PATCH, binutils/ARM, ping] Remove _S version or MSR/MRS special registers in binutils 2.27 Thomas Preudhomme
2016-08-24 13:37       ` Tristan Gingold
2016-08-25  8:54   ` [PATCH, binutils/ARM] Remove _S version or MSR/MRS special registers Thomas Preudhomme

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e809779c-d0fe-0932-d89e-26f392c1b79b@foss.arm.com \
    --to=thomas.preudhomme@foss.arm.com \
    --cc=amodra@gmail.com \
    --cc=binutils@sourceware.org \
    --cc=nickc@redhat.com \
    --cc=richard.earnshaw@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).