From: dave.martin@linaro.org (Dave Martin)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 2/3] ARM: iwmmxt: Port problematic iwmmxt support code to v7/Thumb-2
Date: Fri, 9 Sep 2011 17:41:23 +0100 [thread overview]
Message-ID: <20110909164123.GB3069@arm.com> (raw)
In-Reply-To: <alpine.LFD.2.00.1109090919170.20358@xanadu.home>
On Fri, Sep 09, 2011 at 09:21:28AM -0400, Nicolas Pitre wrote:
> On Fri, 9 Sep 2011, Jon Medhurst (Tixy) wrote:
>
> > On Thu, 2011-09-08 at 11:49 -0700, Eric Miao wrote:
> > > So the problem is really when compiling this file with existing toolchain,
> > > it's downgrading to v5 compatible mode, and the instruction below
> > >
> > > sub pc, lr, r1, lsr #32
> > >
> > > wouldn't be encoded when building a THUMB2 kernel. Considering the
> > > r1, lsr #32 is actually to create an explicit data dependency of the previous
> > > co-processor instruction, would it be one option to rewrite this as something
> > > like:
> > >
> > > mov r1, r1
> > > mov pc, lr
> >
> > That doesn't include a data dependency of PC on R1, so it's possible for
> > MOV PC, LR and subsequent instructions to be executed before MOV R1, R1
> > has completed. We would want...
> >
> > add lr, lr, r1, lsr #32
> > mov pc, lr
>
> But isn't the first insn unavailable with Thumb2?
>
> Maybe something like:
>
> sub r1, r1, r1
> add pc, lr, r1
Thumb-2 implies v7, the v7 implies that we have (and need) a real ISB. So for the
Thumb-2 case, this should always become
isb
Ideally, we should do this even for ARM v7 kernels, but in order not to break older
tools which don't understand -march=armv7-a+iwmmxt we may need to use a .long to
encode the ISB manually. I'll give that a try...
Cheers
---Dave
next prev parent reply other threads:[~2011-09-09 16:41 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-08 16:04 [PATCH v2 0/3] ARM: iwmmxt/pj4 fixes for v7/Thumb-2 Dave Martin
2011-09-08 16:04 ` [PATCH v2 1/3] ARM: iwmmxt: Fix Makefile rules for building iwmmxt for Thumb-2 Dave Martin
2011-09-08 16:45 ` Arnd Bergmann
2011-09-08 17:14 ` Dave Martin
2011-09-08 17:09 ` Nicolas Pitre
2011-09-08 16:04 ` [PATCH v2 2/3] ARM: iwmmxt: Port problematic iwmmxt support code to v7/Thumb-2 Dave Martin
2011-09-08 16:45 ` Arnd Bergmann
2011-09-08 17:03 ` Eric Miao
2011-09-08 17:13 ` Jon Medhurst (Tixy)
2011-09-08 17:15 ` Eric Miao
2011-09-08 17:33 ` Nicolas Pitre
2011-09-08 17:20 ` Dave Martin
2011-09-08 17:32 ` Nicolas Pitre
2011-09-08 18:49 ` Eric Miao
2011-09-08 19:30 ` Nicolas Pitre
2011-09-09 9:55 ` Jon Medhurst (Tixy)
2011-09-09 13:21 ` Nicolas Pitre
2011-09-09 14:05 ` Jon Medhurst (Tixy)
2011-09-09 16:41 ` Dave Martin [this message]
2011-09-09 17:51 ` Nicolas Pitre
2011-09-12 14:37 ` Dave Martin
2011-09-12 14:43 ` Russell King - ARM Linux
2011-09-12 14:55 ` Nicolas Pitre
2011-09-12 16:22 ` Dave Martin
2011-09-08 16:04 ` [PATCH v2 3/3] ARM: pxa/pj4: Port problematic pj4 " Dave Martin
2011-09-08 16:44 ` Arnd Bergmann
2011-09-08 17:06 ` Eric Miao
2011-09-08 17:23 ` Dave Martin
2011-09-08 17:06 ` Nicolas Pitre
2011-09-08 17:06 ` Eric Miao
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=20110909164123.GB3069@arm.com \
--to=dave.martin@linaro.org \
--cc=linux-arm-kernel@lists.infradead.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.