首页 > 解决方案 > 如何在 gem5 中使用 TARMAC 示踪剂?

问题描述

我注意到 gem5 在以下位置有一个 TARMAC 跟踪器:https ://github.com/gem5/gem5/blob/05c4c2b566ce351ab217b2bd7035562aa7a76570/src/arch/arm/tracers/TarmacTrace.py

这似乎也是 FastModels 使用的格式:http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0532c/ CHDHFCEE.html并且可能使比较执行更容易。

如何在 gem5 中启用该跟踪器,例如在fs.py

标签: gem5

解决方案


从 9048ef0ffbf21bedb803b785fb68f83e95c04db8 开始,它似乎没有在任何配置中公开,但您可以通过一个小的 hack 补丁轻松启用它,例如在 fs.py 上:

diff --git a/configs/example/fs.py b/configs/example/fs.py
index 4d2165884..e3b74ebeb 100644
--- a/configs/example/fs.py
+++ b/configs/example/fs.py
@@ -374,5 +374,7 @@ if buildEnv['TARGET_ISA'] == "arm" and not options.bare_metal \
             sys = getattr(root, sysname)
             sys.dtb_filename = create_dtb_for_system(sys, '%s.dtb' % sysname)

+for cpu in test_sys.cpu:
+    cpu.tracer = TarmacTracer()
 Simulation.setWorkCountOptions(test_sys, options)
 Simulation.run(options, root, test_sys, FutureClass)

然后,如果您运行gem5.opt --debug-file,调试文件m5out/trace.txt将以 TARMAC 格式保存,而不是由--debug-flags.


推荐阅读