如何解决如何在 gem5 中运行 ARM bigLITTLE 时获取 PMU 事件
我正在 gem5 中运行 ARM 完整系统模拟,我在命令行中使用的配置是:
./build/ARM/gem5.perf configs/example/arm/fs_bigLITTLE.py
--kernel=/home/ting-bazinga/gem5/linux-arm-gem5/vmlinux
--caches
--disk /home/ting-bazinga/gem5/fs_imgs/disks/aarch64-ubuntu-trusty-headless.img
--bootscript /home/ting-bazinga/gem5/fs_imgs/test.rcS
从帖子 Using perf_event with the ARM PMU inside gem5 我认为在 gem5 中获取 PMU 事件是可能的。但是我没有找到如何做到这一点的确切方法。
perf 可用于获取 PMU 信息,在我的本地机器上,我只需在终端中下载 linux-tools-common 即可使用该工具。但我不能用模拟做同样的事情。没有我可以在网上找到的 perf 二进制文件(或者任何人都可以提示如何编写这种二进制文件?)我还尝试下载 linux-tools-common 包,将其复制到磁盘映像中,然后使用 makefile 编译它。但不知何故 makefile 在模拟系统中不起作用。
或者可以使用 C 代码获取 PMU 事件吗?在我上面提到的帖子中,有人使用 C 代码来计算特定任务期间分支预测器单元错误预测的分支数量。我可以使用 perf_event_open 来获取执行期间的指令数。但是运行 perf_event_open 代码需要 root,但我不能在模拟系统中使用 sudo。
谁能给我一些关于如何在 gem5 中获取 PMU 事件的说明?非常感谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。