BPi-F3如何在linux下读cycle

bringup Bianbu OS后,在terminal运行测试性能的test发现在user模式下可读的cycle寄存器的值不变:
1719467313558
发现寄存器:mcountinhibit低位控制cycle、ins、time,通过系统调用发现mcountinhibit寄存器的低位为0xd,即cycle和ins寄存器在user下不会增加。目前通过在系统调用返回时重新配置mcountinhibit低位为0x8使能cycle和ins,还有其他方法可以在不修改opensbi代码的前提下,可以在linux user模式下读取cycle和ins吗

可能是因为对接到 linux perf 框架后,counter 的启动/停止(mcountinhibit 寄存器)交由 perf 框架控制了。
可以尝试下把内核的 CONFIG_RISCV_PMUCONFIG_RISCV_PMU_SBI 关掉,这样 mcountinhibit 应该会维持初始值 0xFFFFFFF8。(但需注意这样 perf 工具就无法使用硬件 counter 计数了)