[PATCH] Beaglebone: fix missing clobber in inline assembly.
Joel Sherrill
joel.sherrill at oarcorp.com
Thu Sep 10 18:32:29 UTC 2015
Thanks. Should be committed now to 4.11 and master.
On 9/10/2015 1:08 PM, Marcos Díaz wrote:
> Ticket #2416
> https://devel.rtems.org/ticket/2416
>
> Please let me know if this is ok and if I need to submit something else.
> Greetings
>
> On Thu, Sep 10, 2015 at 12:48 PM, Joel Sherrill <joel.sherrill at oarcorp.com <mailto:joel.sherrill at oarcorp.com>> wrote:
>
> 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.sherrill at OARcorp.com On-Line Applications Research
> Ask me about RTEMS: a free RTOS Huntsville AL 35805
> Support Available (256) 722-9985
>
>
>
>
> --
>
> ______________________________
>
> <http://www.tallertechnologies.com>
>
> *
> *
>
> Marcos Díaz
>
> Software Engineer
>
> *
> *
>
> San Lorenzo 47, 3rd Floor, Office 5
>
> Córdoba, Argentina
>
> *
> *
>
> Phone:+54 351 4217888 / +54 351 4218211/ +54 351 7617452
>
> Skype:markdiaz22
>
>
--
Joel Sherrill, Ph.D. Director of Research & Development
joel.sherrill at OARcorp.com On-Line Applications Research
Ask me about RTEMS: a free RTOS Huntsville AL 35805
Support Available (256) 722-9985
More information about the devel
mailing list