[PATCH] ARM: PJ4: allow building in Thumb-2 mode

Nicolas Pitre nicolas.pitre at linaro.org
Mon Nov 24 10:50:24 PST 2014


On Mon, 24 Nov 2014, Olof Johansson wrote:

> On Mon, Nov 24, 2014 at 9:17 AM, Arnd Bergmann <arnd at arndb.de> wrote:
> > On Monday 24 November 2014 16:34:47 Ard Biesheuvel wrote:
> >> On 24 November 2014 at 16:29, Arnd Bergmann <arnd at arndb.de> wrote:
> >> > On Monday 24 November 2014 12:56:40 Ard Biesheuvel wrote:
> >> >> Two files that get included when building the multi_v7_defconfig target
> >> >> fail to build when selecting THUMB2_KERNEL for this configuration.
> >> >>
> >> >> In both cases, we can just build the file as ARM code, as none of its
> >> >> symbols are exported to modules, so there are no interworking concerns.
> >> >> In the iwmmxt.S case, add ENDPROC() declarations so the symbols are
> >> >> annotated as functions, resulting in the linker to emit the appropriate
> >> >> mode switches.
> >> >>
> >> >> Signed-off-by: Ard Biesheuvel <ard.biesheuvel at linaro.org>
> >> >
> >> > Ah, very nice. I tried this before, but my version didn't actually
> >> > work, presumably because I didn't know about the ENDPROC() stuff.
> >> >
> >> > Have you tested this on a machine that has IWMMXT enabled?
> >> >
> >>
> >> No, I don't have access to such a machine, unfortunately.
> >
> > Adding a few mvebu folks to Cc, maybe one of them can test your patch.
> > It's also possible that Olof or Kevin have a PJ4 machine with iwmmxt
> > in their boot farms.
> 
> I have a Cubox with Dove, which does implement iWMMXt v2, based on
> boot messages.
> 
> I however do not have any kind of userspace programs that make use of
> it to test with.

The housekeeping code will be called on task switch even if the 
coprocessor is not involved by user space.  That's what needs testing 
i.e. that code is still callable and doesn't crash in a Thumb2 config.  
>From the looks of it I wouldn't see any problem... but nothing beats 
actual testing.


Nicolas



More information about the linux-arm-kernel mailing list