diff --git a/src/system/boot/arch/arm/arch_cpu.cpp b/src/system/boot/arch/arm/arch_cpu.cpp index 5868da03c2..23dd70bfa2 100644 --- a/src/system/boot/arch/arm/arch_cpu.cpp +++ b/src/system/boot/arch/arm/arch_cpu.cpp @@ -87,6 +87,20 @@ check_cpu_features() } +void +arch_cpu_memory_read_barrier(void) +{ + asm volatile ("" : : : "memory"); +} + + +void +arch_cpu_memory_write_barrier(void) +{ + asm volatile ("" : : : "memory"); +} + + extern "C" void arch_spin(bigtime_t microseconds) { diff --git a/src/system/boot/arch/arm/arch_cpu.h b/src/system/boot/arch/arm/arch_cpu.h index dd9de74e55..beebacb359 100644 --- a/src/system/boot/arch/arm/arch_cpu.h +++ b/src/system/boot/arch/arm/arch_cpu.h @@ -14,6 +14,8 @@ extern "C" { #endif extern void arch_spin(bigtime_t microseconds); +extern void arch_cpu_memory_read_barrier(void); +extern void arch_cpu_memory_write_barrier(void); extern status_t boot_arch_cpu_init(void); extern void cpu_init(void);