我的目标是在syscall仿真模式下检测程序的目标区域。我已经基于this教程在完整系统模式下实现了伪指令。在进行了很小的更改后,尽管要测试FS中的所有内容仍很耗时。有什么办法可以为syscall模式实现相同的功能?
答案 0 :(得分:0)
所以我发现了问题所在。您需要删除所有提到的mmap。因此,在我的情况下,它将删除微基准测试中包含的m5_mmap.h,而不是在main()中首先调用map_m5_mem()。只需调用m5_roi_begin()和m5_roi_end()(或者您可以调用检测函数)。
也在gem5 x86 makefile(gem5 / util / m5 / Makefile.x86)中删除
-DM5OP_ADDR=0xFFFF0000
标志并再次编译(make -f Makefile.x86)。现在,当我使用gem5运行微基准测试时,可以看到ROI的开始和结束时间。正如我在上面对问题的评论中所述,其他所有内容都保持不变。
感谢Ciro。