public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* [PATCH, binutils/ARM] Remove _S version or MSR/MRS special registers
@ 2016-08-12 13:41 Thomas Preudhomme
  2016-08-15 10:56 ` Nick Clifton
  0 siblings, 1 reply; 6+ messages in thread
From: Thomas Preudhomme @ 2016-08-12 13:41 UTC (permalink / raw)
  To: binutils, Richard Earnshaw, Nick Clifton, Alan Modra

[-- 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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH, binutils/ARM] Remove _S version or MSR/MRS special registers
  2016-08-12 13:41 [PATCH, binutils/ARM] Remove _S version or MSR/MRS special registers Thomas Preudhomme
@ 2016-08-15 10:56 ` Nick Clifton
  2016-08-15 16:27   ` Thomas Preudhomme
  2016-08-25  8:54   ` [PATCH, binutils/ARM] Remove _S version or MSR/MRS special registers Thomas Preudhomme
  0 siblings, 2 replies; 6+ messages in thread
From: Nick Clifton @ 2016-08-15 10:56 UTC (permalink / raw)
  To: Thomas Preudhomme, binutils, Richard Earnshaw, Alan Modra

Hi Thomas,

> *** 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?

Approved for mainline.  Check with Tristan for the branch, although I do not forsee any problems.

Cheers
  Nick

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH, binutils/ARM] Remove _S version or MSR/MRS special registers
  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-25  8:54   ` [PATCH, binutils/ARM] Remove _S version or MSR/MRS special registers Thomas Preudhomme
  1 sibling, 1 reply; 6+ messages in thread
From: Thomas Preudhomme @ 2016-08-15 16:27 UTC (permalink / raw)
  To: Nick Clifton, binutils, Tristan Gingold

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

Hi Tristan,

Is the below patch ok for binutils-2_27-branch? Pasting original text again for 
convenience:

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.

Best regards,

Thomas


On 15/08/16 11:56, Nick Clifton wrote:
> Hi Thomas,
>
>> *** 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?
>
> Approved for mainline.  Check with Tristan for the branch, although I do not forsee any problems.
>
> Cheers
>   Nick
>

[-- 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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH, binutils/ARM, ping] Remove _S version or MSR/MRS special registers in binutils 2.27
  2016-08-15 16:27   ` Thomas Preudhomme
@ 2016-08-23 10:35     ` Thomas Preudhomme
  2016-08-24 13:37       ` Tristan Gingold
  0 siblings, 1 reply; 6+ messages in thread
From: Thomas Preudhomme @ 2016-08-23 10:35 UTC (permalink / raw)
  To: Nick Clifton, binutils, Tristan Gingold

Hi Tristan,

Ping?

Best regards,

Thomas

On 15/08/16 17:27, Thomas Preudhomme wrote:
> Hi Tristan,
>
> Is the below patch ok for binutils-2_27-branch? Pasting original text again for
> convenience:
>
> 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.
>
> Best regards,
>
> Thomas
>
>
> On 15/08/16 11:56, Nick Clifton wrote:
>> Hi Thomas,
>>
>>> *** 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?
>>
>> Approved for mainline.  Check with Tristan for the branch, although I do not
>> forsee any problems.
>>
>> Cheers
>>   Nick
>>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH, binutils/ARM, ping] Remove _S version or MSR/MRS special registers in binutils 2.27
  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
  0 siblings, 0 replies; 6+ messages in thread
From: Tristan Gingold @ 2016-08-24 13:37 UTC (permalink / raw)
  To: Thomas Preudhomme; +Cc: Nick Clifton, binutils


> On 23 Aug 2016, at 12:35, Thomas Preudhomme <thomas.preudhomme@foss.arm.com> wrote:
> 
> Hi Tristan,
> 
> Ping?

Yes, that's ok.  (Sorry, I was away).

Tristan.

> 
> Best regards,
> 
> Thomas
> 
> On 15/08/16 17:27, Thomas Preudhomme wrote:
>> Hi Tristan,
>> 
>> Is the below patch ok for binutils-2_27-branch? Pasting original text again for
>> convenience:
>> 
>> 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.
>> 
>> Best regards,
>> 
>> Thomas
>> 
>> 
>> On 15/08/16 11:56, Nick Clifton wrote:
>>> Hi Thomas,
>>> 
>>>> *** 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?
>>> 
>>> Approved for mainline.  Check with Tristan for the branch, although I do not
>>> forsee any problems.
>>> 
>>> Cheers
>>>  Nick
>>> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH, binutils/ARM] Remove _S version or MSR/MRS special registers
  2016-08-15 10:56 ` Nick Clifton
  2016-08-15 16:27   ` Thomas Preudhomme
@ 2016-08-25  8:54   ` Thomas Preudhomme
  1 sibling, 0 replies; 6+ messages in thread
From: Thomas Preudhomme @ 2016-08-25  8:54 UTC (permalink / raw)
  To: Nick Clifton, binutils, Richard Earnshaw, Alan Modra

Thanks, pushed.

Best regards,

Thomas

On 15/08/16 11:56, Nick Clifton wrote:
> Hi Thomas,
>
>> *** 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?
>
> Approved for mainline.  Check with Tristan for the branch, although I do not forsee any problems.
>
> Cheers
>   Nick
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-08-25  8:54 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-12 13:41 [PATCH, binutils/ARM] Remove _S version or MSR/MRS special registers Thomas Preudhomme
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

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).