On Thu, Apr 13, 2023 at 9:17 AM Alexandre Ghiti <alexghiti@xxxxxxxxxxxx> wrote: > > riscv used to allow direct access to cycle/time/instret counters, > bypassing the perf framework, this patchset intends to allow the user to > mmap any counter when accessed through perf. But we can't break the > existing behaviour so we introduce a sysctl perf_user_access like arm64 > does, which defaults to the legacy mode described above. > > The core of this patchset lies in patch 4, the first 3 patches are > simple fixes. > > base-commit-tag: v6.3-rc1 > > Alexandre Ghiti (4): > perf: Fix wrong comment about default event_idx > include: riscv: Fix wrong include guard in riscv_pmu.h > riscv: Make legacy counter enum match the HW numbering > riscv: Enable perf counters user access only through perf Presumably the test also needs patching: https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git/tree/tools/perf/tests/mmap-basic.c?h=perf-tools-next#n287 Thanks, Ian > Documentation/admin-guide/sysctl/kernel.rst | 23 +++- > arch/riscv/include/asm/perf_event.h | 3 + > arch/riscv/kernel/Makefile | 2 +- > arch/riscv/kernel/perf_event.c | 65 +++++++++++ > drivers/perf/riscv_pmu.c | 42 ++++++++ > drivers/perf/riscv_pmu_legacy.c | 24 ++++- > drivers/perf/riscv_pmu_sbi.c | 113 ++++++++++++++++++-- > include/linux/perf/riscv_pmu.h | 9 +- > include/linux/perf_event.h | 3 +- > tools/lib/perf/mmap.c | 65 +++++++++++ > 10 files changed, 332 insertions(+), 17 deletions(-) > create mode 100644 arch/riscv/kernel/perf_event.c > > -- > 2.37.2 >