[PATCH] arm, vt8500, LLVMLlinux: Use mcr instead of mcr% for mach-vt8500

Behan Webster behanw at converseincode.com
Wed Sep 24 11:11:43 PDT 2014


On 09/24/14 02:16, Arnd Bergmann wrote:
> On Tuesday 23 September 2014 20:44:44 Behan Webster wrote:
>> The ASM below does not compile with clang and is not the way that the mcr
>> command is used in other parts of the kernel.
>>
>> arch/arm/mach-vt8500/vt8500.c:72:11: error: invalid % escape in inline assembly string
>>          asm("mcr%? p15, 0, %0, c7, c0, 4" : : "r" (0));
>>              ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
>> 1 error generated.
>>
>> There are other forms that are supported on different ARM instruction sets but
>> generally the kernel just uses mcr as it is supported in all ARM instruction
>> sets.
> Just for confirm: both forms are actually correct and we don't need this
> backported for stable, right?
My understanding is that the %? carries a condition code to the next 
instruction (which in this case is then ignored). So essentially in this 
situation both are equivalent.

>> Signed-off-by: Behan Webster <behanw at converseincode.com>
>> Reviewed-by: Mark Charlebois <charlebm at gmail.com>
>> Acked-by: Will Deacon <will.deacon at arm.com>
> Acked-by: Arnd Bergmann <arnd at arndb.de>
>
> Tony, would you like to pick this one up and send it in a pull request
> to arm-soc, or should we apply it to fixes-non-critical directly?
Thanks,

Behan

-- 
Behan Webster
behanw at converseincode.com




More information about the linux-arm-kernel mailing list