From: Carmelo AMOROSO <carmelo.amoroso@st.com>
To: linux-sh@vger.kernel.org
Subject: Re: Fwd: sh:fixed issue in xchg_u32 function when val==r15.
Date: Wed, 22 Jun 2011 07:18:50 +0000 [thread overview]
Message-ID: <4E01975A.4000302@st.com> (raw)
On 22/06/2011 9.05, Carmelo Amoroso wrote:
> ---------- Forwarded message ----------
> From: Srinivas KANDAGATLA <srinivas.kandagatla@st.com>
> Date: 19 April 2011 18:28
> Subject: Re: sh:fixed issue in xchg_u32 function when val=r15.
> To: Paul Mundt <lethal@linux-sh.org>
> Cc: linux-sh@vger.kernel.org, Stuart Menefy <stuart.menefy@st.com>
>
>
> Hi Paul,
> Thanks for the suggestion.
>
> Attached is the reworked patch for potential gUSA rollback users.
>
> Thanks,
> srini
>
>
> Paul Mundt wrote:
>>
>> On Thu, Apr 07, 2011 at 01:57:09PM +0100, Srinivas KANDAGATLA wrote:
>>
>>>
>>> Recently we have discovered a bug in xchg_u32 function of GUSA_RB feature.
>>> This function breaks if one of the input parameter 'val' is r15.
>>>
>>> 168: 02 c7 mova 174 <exit_mm+0x54>,r0
>>> 16a: 09 00 nop 16c: f3 61 mov r15,r1
>>> 16e: fc ef mov #-4,r15
>>>
>>
>> The -4 here is part of the gUSA login sequence, so if you're seeing the
>> problem with gUSA based xchg_u32 it seems like you're going to have to
>> apply the same fix for all gUSA rollback users.
>>
Hi Paul, Srini
instead of making 'val' an input/output contraint (to force gcc not
using r15 directly), should not be better (or more correct) to add r15
to the clobbered register list ? r15 is actually modified for the
login/logout gUSA sequence.
Indeed, 'val' is not an output parameter... so we are benefiting from a
side effect.
Further, looking at __cmpxchg_u32, we think that we should make the
first argument (volatile int *m) an input/output constraint as well (as
it happens in xchg_u8 and xchg_32), and include r15 instead in the
clobber list, keeping 'val' just an input parameter.
Comments are welcome.
Cheers,
Carmelo & Salvo
next reply other threads:[~2011-06-22 7:18 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-22 7:18 Carmelo AMOROSO [this message]
2011-06-23 12:27 ` Fwd: sh:fixed issue in xchg_u32 function when val==r15 Srinivas KANDAGATLA
2011-06-23 13:17 ` Carmelo AMOROSO
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=4E01975A.4000302@st.com \
--to=carmelo.amoroso@st.com \
--cc=linux-sh@vger.kernel.org \
/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