[PATCH soc] ARM: use ARM_SINGLE_ARMV7M for ARMv7-M platforms

Stefan Agner stefan at agner.ch
Fri May 22 09:28:16 PDT 2015


On 2015-05-22 17:56, Daniel Thompson wrote:
> On 22/05/15 16:29, Maxime Coquelin wrote:
>> 2015-05-22 16:50 GMT+02:00 Arnd Bergmann <arnd at arndb.de>:
>>> [one small request as I have four armv7-m folks on Cc already:
>>>   could one of you try to fix the warning that I get with every
>>>   single build: "/git/arm-soc/arch/arm/kernel/head-nommu.S: Assembler
>>> messages: /git/arm-soc/arch/arm/kernel/head-nommu.S:167: Warning:
>>> Use of r13 as a source register is deprecated when r15 is the
>>> destination register."]
>>
>> Moving r13 to r12 and returning r12 seems to do the job (see below).
>> But I don't know if there is a more elegant way, and if it is also
>> valid for other architectures than armv7-m.
> 
> Why not just s/r13/r11/?
> 
> (works for me but I'm only working on single core system)

For ARMv7-M this works, since r11 is not used in the processors
PROCINFO_INITFUNC function (__cpu_flush in struct proc_info_list, which
is __v7m_setup in proc-v7m.S).

However, afaik, head-nommu.S can be used by different processors too,
hence that register needs to be free to use for all possible __cpu_flush
implementations.

That said, proc-v7.S stores r11 on the stack, so it really seems that
r11 is ok to use?

--
Stefan





More information about the linux-arm-kernel mailing list