Как использовать трассировщик TARMAC с 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 ответ
Похоже, что он не доступен ни в одной конфигурации, начиная с 9048ef0ffbf21bedb803b785fb68f83e95c04db8, но вы можете легко включить его с помощью крошечного патча для взлома, например, на 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
,