Re: [U-Boot] [PATCH 1/2] ARM: add wfi assembly macro
Hi Rob, On Sun, 2 Dec 2012 21:06:21 -0600, Rob Herring robherri...@gmail.com wrote: From: Rob Herring rob.herr...@calxeda.com Since wfi instruction is only available on ARMv7, add a conditional macro for it. Signed-off-by: Rob Herring rob.herr...@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 + static inline unsigned int get_cr(void) { unsigned int val; Applied to u-boot-arm/master, thanks! Amicalement, -- Albert. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2] ARM: add wfi assembly macro
On 12/02/2012 10:58 PM, Marek Vasut wrote: Dear Rob Herring, From: Rob Herring rob.herr...@calxeda.com Since wfi instruction is only available on ARMv7, add a conditional macro for it. Signed-off-by: Rob Herring rob.herr...@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 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2] ARM: add wfi assembly macro
Dear Rob Herring, On 12/02/2012 10:58 PM, Marek Vasut wrote: Dear Rob Herring, From: Rob Herring rob.herr...@calxeda.com Since wfi instruction is only available on ARMv7, add a conditional macro for it. Signed-off-by: Rob Herring rob.herr...@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. Ok, I missed the arch/arm. It's ok then, sorry for the noise. [...] Best regards, Marek Vasut ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 1/2] ARM: add wfi assembly macro
From: Rob Herring rob.herr...@calxeda.com Since wfi instruction is only available on ARMv7, add a conditional macro for it. Signed-off-by: Rob Herring rob.herr...@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 + static inline unsigned int get_cr(void) { unsigned int val; -- 1.7.10.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2] ARM: add wfi assembly macro
Dear Rob Herring, From: Rob Herring rob.herr...@calxeda.com Since wfi instruction is only available on ARMv7, add a conditional macro for it. Signed-off-by: Rob Herring rob.herr...@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 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot