From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Herring Date: Mon, 03 Dec 2012 07:32:18 -0600 Subject: [U-Boot] [PATCH 1/2] ARM: add wfi assembly macro In-Reply-To: <201212030558.02974.marex@denx.de> References: <1354503982-1124-1-git-send-email-robherring2@gmail.com> <201212030558.02974.marex@denx.de> Message-ID: <50BCA9E2.1000001@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 12/02/2012 10:58 PM, Marek Vasut wrote: > Dear Rob Herring, > >> From: Rob Herring >> >> Since wfi instruction is only available on ARMv7, add a conditional >> macro for it. >> >> Signed-off-by: Rob Herring >> --- >> 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 >