Marco, This looks fine and I will apply it but I want to put it on 4.11 and master. Can you file a quick ticket on it?
Thanks. --joel On 9/10/2015 10:20 AM, Marcos Diaz wrote:
flush_data_cache uses R0 directly but doesn't list it as a clobbered register. Compiling with -O3 made this code break, since the function that calls flush_data_cache already uses r0. --- c/src/lib/libbsp/arm/beagle/include/bsp.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/c/src/lib/libbsp/arm/beagle/include/bsp.h b/c/src/lib/libbsp/arm/beagle/include/bsp.h index 0250749..d9fd2ae 100644 --- a/c/src/lib/libbsp/arm/beagle/include/bsp.h +++ b/c/src/lib/libbsp/arm/beagle/include/bsp.h @@ -112,7 +112,13 @@ static inline void isb(void) /* flush data cache */ static inline void flush_data_cache(void) { - asm volatile("mov r0, #0; mcr p15, #0, r0, c7, c10, #4" : : : "memory"); + asm volatile( + "mov r0, #0\n" + "mcr p15, #0, r0, c7, c10, #4\n" + : /* No outputs */ + : /* No inputs */ + : "r0","memory" + ); } #define __arch_getb(a) (*(volatile unsigned char *)(a))
-- Joel Sherrill, Ph.D. Director of Research & Development joel.sherr...@oarcorp.com On-Line Applications Research Ask me about RTEMS: a free RTOS Huntsville AL 35805 Support Available (256) 722-9985 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel