如何在gem5中使用TARMAC示踪剂?

时间:2019-02-26 09:40:31

标签: gem5

我注意到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中?

1 个答案:

答案 0 :(得分:0)

从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控制的常用格式。