[PATCH v2 2/3] ARM: iwmmxt: Port problematic iwmmxt support code to v7/Thumb-2

Nicolas Pitre nicolas.pitre at linaro.org
Thu Sep 8 13:32:37 EDT 2011


On Thu, 8 Sep 2011, Dave Martin wrote:

> On Thu, Sep 08, 2011 at 10:03:52AM -0700, Eric Miao wrote:
> > On Thu, Sep 8, 2011 at 9:45 AM, Arnd Bergmann <arnd at arndb.de> wrote:
> > > On Thursday 08 September 2011, Dave Martin wrote:
> > >> The iwmmxt code contains some code to implement a pseudo-ISB, but
> > >> this is not buildable for Thumb-2.
> > >>
> > >> This patch replaces the pseudo-ISB with a real one for Thumb-2
> > >> kernels.
> > >>
> > >> Signed-off-by: Dave Martin <dave.martin at linaro.org>
> > >> ---
> > >>  arch/arm/kernel/iwmmxt.S |    9 +++++++++
> > >>  1 files changed, 9 insertions(+), 0 deletions(-)
> > >
> > > Acked-by: Arnd Bergmann <arnd at arndb.de>
> > >
> > 
> > Maybe it'll be much simpler to have something like below:
> > 
> > diff --git a/arch/arm/kernel/iwmmxt.S b/arch/arm/kernel/iwmmxt.S
> > index a087838..5998f7d 100644
> > --- a/arch/arm/kernel/iwmmxt.S
> > +++ b/arch/arm/kernel/iwmmxt.S
> > @@ -319,8 +319,9 @@ ENTRY(iwmmxt_task_switch)
> >         PJ4(eor r1, r1, #0xf)
> >         PJ4(mcr p15, 0, r1, c1, c0, 2)
> > 
> > -       mrc     p15, 0, r1, c2, c0, 0
> > -       sub     pc, lr, r1, lsr #32             @ cpwait and return
> > +       XSC(mrc p15, 0, r1, c2, c0, 0)
> > +       PJ4(isb)
> > +       mov     pc, lr                          @ cpwait and return
> 
> This won't allow the building of this code for a v7 ARM kernel with
> current tools.
> 
> I think this is likely to be too much dirsuption: requiring really
> new tools for Thumb-2 is unavoidable, but we should allow people
> using existing tools to build this to carry on with the current
> situation for the time being.  This is because of the fact that
> not all current tools can support "isb" and the iwmmxt mnemonics
> in the same file.
> 
> One thing we could do is to code the ISB using .long, since we
> only need this for Thumb kernels.

You would have an ARM and a Thumb variant then, plus the legacy variant, 
right?

> This would allow us to get rid of the Makefile warning, since the
> generated code would be the preferred v7 code in that case.

Makes sense.


Nicolas


More information about the linux-arm-kernel mailing list