new-time-server new-txt-console-comp
Simics Reference Manual  /  3 Commands  /  3.2 Command List  / 

new-tracer-tool

Synopsis

new-tracer-tool ["name"] [file] [trace-history-size] ([ processors ... ] | list of processors) [parent] [-connect-all] ["group"] [-trace-data] [-trace-instructions] [-trace-exceptions] [-print-virtual-address] [-print-physical-address] [-print-linear-address] [-print-opcode] [-print-access-type] [-print-memory-type] [-print-register-changes] [-print-old-value] [-print-execution-mode] [-use-cpu-number] [-remove-duplicates]

Description

Creates a new instruction tracer tool object which can be connected to processors which supports instrumentation.

The file argument specifies a file to write the trace to, without any file, the trace will be printed to standard out.

If the trace-history-size is set to a size, the tool will instead of constantly writing the output to standard out or a file, keep the output in a cyclic buffer in memory with this number of lines. The buffer can be written to file later with the <instrumentation_tracer_tool>.save-trace-buffer> command.

The optional name argument can be used to set a name of the created object. If no name is given, a default name trace followed by a sequence number is generated (trace0, trace1,...).

The optional processors argument, supports connecting one or several processors directly. With the optional parent argument a hierarchical object can be specified and all processors below this object matching the provider requirements will be connected to the tool. The -connect-all flag can be given to add a connection to all supported processors in the configuration.

The optional argument group lets a user specify a named instrumentation group to use for the connection. (See add-instrumentation-group for details on named groups.)

Each new connection to the tracer tool can be configured with flags. The flags are described below.

The following three flags control what type of tracing is done:

-trace-data : Enabling tracing of data operations.
-trace-instructions : Enabling tracing of instruction.
-trace-exceptions : Enabling tracing of exceptions.

The following flags allow controlling the output:


-print-register-changes : Print register changes after traced instruction and/or traced exception. Registers that normally change with every instruction, like program counter or cycles counter, are not listed.
-print-old-value : Print the previous register value together with register changes.
-print-virtual-address : Print the virtual address of an entry.
-print-physical-address : Print the physical address of an entry.
-print-linear-address : Print the linear address of an entry (only x86).
-print-opcode : Print the opcode of an instruction entry.
-print-access-type : Print the access type (only x86).
-print-memory-type : Print the memory type (only x86).
-print-execution-mode : Print the execution mode (only x86). See description of recognized modes below.
-use-cpu-number : Print the CPU number instead of its name.
-remove-duplicates : Remove duplicated lines from the output.

If none of the -print... or -trace.. flags are given all of those will be enabled by default except -print-register-changes, i.e., trace and print everything except register changes.

If only -print-register-changes are given everything including register changes will be enabled.

The -print-execution-mode recognizes the following modes of execution. Note that several modes can be recognized simultaneously.
AC : The processor is executing inside an Authenticated Code Module (ACM).
SEAM : The processor is executing inside Secure Arbitration Mode (SEAM) mode.
SGX : The processor is executing inside an IntelĀ® Software Guard Extensions (IntelĀ® SGX) enclave.
SMM : The processor is executing inside System Management Mode (SMM) mode.
VMX root : The processor is executing inside Virtual Machine Extensions (VMX) root mode.
VMX non-root : The processor is executing inside Virtual Machine Extensions (VMX) non-root mode.

Provided By

instrumentation-tracer-tool
new-time-server new-txt-console-comp