Как использовать трассировщик 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,

Другие вопросы по тегам