diff options
Diffstat (limited to 'payloads/libpayload/include/arm64/arch/cache.h')
-rw-r--r-- | payloads/libpayload/include/arm64/arch/cache.h | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/payloads/libpayload/include/arm64/arch/cache.h b/payloads/libpayload/include/arm64/arch/cache.h index 2d3175e871..f03d09b9f9 100644 --- a/payloads/libpayload/include/arm64/arch/cache.h +++ b/payloads/libpayload/include/arm64/arch/cache.h @@ -70,24 +70,16 @@ /* * Sync primitives */ - /* data memory barrier */ -static inline void dmb(void) -{ - asm volatile ("dmb sy" : : : "memory"); -} - +#define dmb_opt(opt) asm volatile ("dmb " #opt : : : "memory") /* data sync barrier */ -static inline void dsb(void) -{ - asm volatile ("dsb sy" : : : "memory"); -} - +#define dsb_opt(opt) asm volatile ("dsb " #opt : : : "memory") /* instruction sync barrier */ -static inline void isb(void) -{ - asm volatile ("isb" : : : "memory"); -} +#define isb_opt(opt) asm volatile ("isb " #opt : : : "memory") + +#define dmb() dmb_opt(sy) +#define dsb() dsb_opt(sy) +#define isb() isb_opt() /* * Low-level TLB maintenance operations |