[U-Boot] [PATCH 1/2] ARM: add wfi assembly macro
Marek Vasut
marex at denx.de
Mon Dec 3 05:58:02 CET 2012
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?
> static inline unsigned int get_cr(void)
> {
> unsigned int val;
Best regards,
Marek Vasut
More information about the U-Boot
mailing list