diff options
author | Yogesh Tillu <yogesh.tillu@linaro.org> | 2015-08-10 11:56:25 +0530 |
---|---|---|
committer | Yogesh Tillu <yogesh.tillu@linaro.org> | 2015-08-21 11:54:38 +0530 |
commit | b7569c72c4587d79e33102a2e340a9f54162c817 (patch) | |
tree | 3f46cfeaa4b3f7882d5ed3fb959bbafc39c2fd36 | |
parent | 4d399b25b32a2e372a8124e9143fbf3af53e6a9c (diff) |
ARM64: perf: override arch_perf_userspace_access()perf_mmap_working_v4.2-rc7
Override implementation of arch_perf_userspace_access() to enable
or disable access to "perf hw counter" from userspace for mmap
Signed-off-by: Yogesh Tillu <yogesh.tillu@linaro.org>
-rw-r--r-- | arch/arm64/kernel/perf_event.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm64/kernel/perf_event.c b/arch/arm64/kernel/perf_event.c index b3aa2bf27d77..8c223d0d1593 100644 --- a/arch/arm64/kernel/perf_event.c +++ b/arch/arm64/kernel/perf_event.c @@ -1396,6 +1396,12 @@ void arch_perf_update_userpage(struct perf_event_mmap_page *userpg, u64 now) userpg->cap_user_rdpmc = cpu_pmu->attr_rdpmc; } +void arch_perf_uspace_access(void *enable) +{ + cpu_pmu->attr_rdpmc = *(int *)enable; + asm volatile("msr pmuserenr_el0, %0" : : "r" (!!*(int *)enable)); +} + static void __init cpu_pmu_init(struct arm_pmu *armpmu) { int cpu; |