[RFC/PATCH 0/3] ARM: Use udiv/sdiv for __aeabi_{u}idiv library functions

Måns Rullgård mans at mansr.com
Sun Nov 22 11:30:03 PST 2015


Arnd Bergmann <arnd at arndb.de> writes:

> On Sunday 22 November 2015 13:29:29 Peter Maydell wrote:
>> On 21 November 2015 at 23:21, Arnd Bergmann <arnd at arndb.de> wrote:
>> > Regarding PJ4, it's still unclear whether that has the same
>> > problem and it only reports idivt when it actually supports idiva,
>> > or whether the lack of idiva support on PJ4 is instead the reason
>> > why the ARM ARM was updated to have separate flags.
>> 
>> SDIV/IDIV were originally introduced for R and M profile only
>> and there the Thumb encodings of SDIV/IDIV are mandatory
>> whereas the ARM ones are optional (and weren't initially
>> defined at all). So if you're looking for CPUs with only the
>> Thumb encodings I would try checking older R profile cores
>> like the Cortex-R4.
>
> The question is really about Marvell Dove, MMP and Armada 370,
> which are all based on PJ4 or PJ4B (CPU part : 0x581), so ARMv7-A
> and report idivt support but idiva.
>
> There are a couple of explanations here:
>
> a) Marvell really implemented only idivt but not idiva
>    and reports it correctly, and the people from
>    https://groups.google.com/a/dartlang.org/forum/#!topic/reviews/9wvsJvq0YYY
>    just misinterpreted the flags
>
> b) the dartlag.org folks are correct, and it supports neither
>    idivt nor idiva, and the /proc/cpuinfo flag is just wrong
>    and requires a fixup
>
> c) like Krait, it actually implements both idiva and idivt but
>    gets the reporting wrong.

It's trivial to test for someone who has one.

-- 
Måns Rullgård
mans at mansr.com



More information about the linux-arm-kernel mailing list