From 5be680ecefdbd840289134719e532bfba2f57466 Mon Sep 17 00:00:00 2001 From: Yogesh Tillu Date: Fri, 20 Mar 2015 12:48:45 +0530 Subject: Added assembly instructions for barrier macros Reviewed-by: Anders Roxell Signed-off-by: Yogesh Tillu --- perf_rc_mmap.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/perf_rc_mmap.c b/perf_rc_mmap.c index 838c869..2c404dc 100644 --- a/perf_rc_mmap.c +++ b/perf_rc_mmap.c @@ -20,7 +20,8 @@ #include #include #include -#define barrier() asm volatile("" ::: "memory") +#define barrier() asm volatile("dmb ish" ::: "memory") +#define isb() asm volatile("isb" ::: "memory") static int fddev = -1; __attribute__((constructor)) static void init(void) @@ -42,6 +43,7 @@ static unsigned long rdpmc(unsigned int counter) { unsigned long int ret; asm volatile("mrs %0, pmccntr_el0" : "=r" (ret)); + isb(); return ret; } -- cgit v1.2.3