diff options
author | Yogesh Tillu <yogesh.tillu@linaro.org> | 2015-03-20 12:48:45 +0530 |
---|---|---|
committer | Yogesh Tillu <yogesh.tillu@linaro.org> | 2015-04-15 08:00:47 +0530 |
commit | 5be680ecefdbd840289134719e532bfba2f57466 (patch) | |
tree | d51d61b4ba01163f6957b94d19ff4346b3e49e55 | |
parent | e85e07de27de42e779b8035d539beffd77f98686 (diff) |
Added assembly instructions for barrier macros
Reviewed-by: Anders Roxell <anders.roxell@linaro.org>
Signed-off-by: Yogesh Tillu <yogesh.tillu@linaro.org>
-rw-r--r-- | perf_rc_mmap.c | 4 |
1 files changed, 3 insertions, 1 deletions
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 <sys/mman.h> #include <errno.h> #include <string.h> -#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; } |