mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-11-16 12:34:45 +00:00
Beaglebone: fix missing clobber in inline assembly.
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. closes #2416.
This commit is contained in:
committed by
Joel Sherrill
parent
ccebc571d4
commit
44eb9893b5
@@ -111,7 +111,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))
|
||||
|
||||
Reference in New Issue
Block a user