[U-Boot] [PATCH 1/2] ARM: add wfi assembly macro
Rob Herring
robherring2 at gmail.com
Mon Dec 3 14:32:18 CET 2012
On 12/02/2012 10:58 PM, Marek Vasut wrote:
> Dear Rob Herring,
>
>> From: Rob Herring <rob.herring at calxeda.com>
>>
>> Since wfi instruction is only available on ARMv7, add a conditional
>> macro for it.
>>
>> Signed-off-by: Rob Herring <rob.herring at calxeda.com>
>> ---
>> arch/arm/include/asm/system.h | 6 ++++++
>> 1 file changed, 6 insertions(+)
>>
>> diff --git a/arch/arm/include/asm/system.h b/arch/arm/include/asm/system.h
>> index 2b28a26..2f6aecd 100644
>> --- a/arch/arm/include/asm/system.h
>> +++ b/arch/arm/include/asm/system.h
>> @@ -61,6 +61,12 @@
>>
>> #define nop() __asm__ __volatile__("mov\tr0,r0\t@ nop\n\t");
>>
>> +#ifdef __ARM_ARCH_7A__
>> +#define wfi() __asm__ __volatile__ ("wfi" : : : "memory")
>> +#else
>> +#define wfi()
>> +#endif
>
> Won't this break other (non-arm) systems? Moreover, maybe you can make this an
> (inline) function instead?
How? It is in an ARM specific header and empty on anything but ARMv7
enabled compiler. This follows the kernel implementation and the nop above.
Rob
>
>> static inline unsigned int get_cr(void)
>> {
>> unsigned int val;
>
> Best regards,
> Marek Vasut
>
More information about the U-Boot
mailing list