bank_patch_tool_connection bitmask-translator
Simics Reference Manual  /  5 Classes  / 

base-trace-mem-hier

Description

The base class for the trace mode. This module provides an easy way of generating traces from Simics. Actions traced are executed instructions, memory accesses and, occurred exceptions. Traces will by default be printed as text to the terminal but can also be directed to a file in which case a binary format is available as well.

It is also possible to control what will be traced by setting a few of the provided attributes. Some of those should be set before enabling the tracer for the first time. If processors and memory-spaces from different cells are traced, then multi-threading must be disabled

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

file
Session attribute; read/write access; type: s|n
Name of output file that the trace is written to. If the name ends in .gz, the output will be gzipped.
raw_mode
Session attribute; read/write access; type: i
1|0 Set to 1 for raw output format, and 0 for ascii. Raw output format is only supported when writing to a file.
consumer
Session attribute; read/write access; type: o|n
Optional consumer object. Must implement trace_consume.
enabled
Session attribute; read/write access; type: i
1|0 Set to 1 to enable tracing, 0 to disable.
trace_instructions
Session attribute; read/write access; type: i
1|0 Set to 1 to enable instruction tracing, 0 to disable.
trace_data
Session attribute; read/write access; type: i
1|0 Set to 1 to enable tracing of data, 0 to disable.
trace_exceptions
Session attribute; read/write access; type: i
1|0 Set to 1 to enable tracing of exceptions, 0 to disable.
filter_duplicates
Session attribute; read/write access; type: i
1|0 Set to 1 to filter out duplicate trace entries. Useful to filter out multiple steps in looping or repeating instructions.
print_virtual_address
Session attribute; read/write access; type: i
1|0 Set to 1 to enable printing of the virtual address, 0 to disable.
print_physical_address
Session attribute; read/write access; type: i
1|0 Set to 1 to enable printing of the physical address, 0 to disable.
print_linear_address
Session attribute; read/write access; type: i
1|0 Set to 1 to enable printing of the linear address, 0 to disable.
print_access_type
Session attribute; read/write access; type: i
1|0 Set to 1 to enable printing of the memory access type, 0 to disable.
print_memory_type
Session attribute; read/write access; type: i
1|0 Set to 1 to enable printing of the memory type, 0 to disable.
print_memory_space
Session attribute; read/write access; type: b
true|false Set to true to enable printing of memory spaces. False is default.
print_data
Session attribute; read/write access; type: i
1|0 Set to 1 to enable printing of data and instruction op codes, 0 to disable.
data_intervals_p
Session attribute; read/write access; type: [[ii]*]
List of physical address intervals for data tracing. If no intervals are specified, all addresses are traced.
data_intervals_v
Session attribute; read/write access; type: [[ii]*]
List of virtual address intervals for data tracing. If no intervals are specified, all addresses are traced.
cpu_list
Session attribute; read/write access; type: [o*]|n
List of processor objects to restrict the trace to or NIL to include all processor objects. The attribute must be set before enabling the tracer for the first time. If processor objects from different cells are traced, then multi-threading must be disabled.
memory_space_list
Session attribute; read/write access; type: [o*]
List of additional memory spaces to add to the trace besides those connected to the processors in the cpu_list attribute. Should be set before enabling the tracer for the first time. If memory-spaces from different cells are traced, then multi-threading must be disabled

Provided By

trace
bank_patch_tool_connection bitmask-translator