Cool Tools - RST
Description
RST is a trace format for SPARC instruction-level traces. The RST Tools
package consists of the trace format definition, a trace reader/writer
library, a trace viewer program (trconv) and a utility to compress and
decompress traces (rstzip). Also included is a small 1P sample trace
and an example program that counts the number of instructions in a RST
trace.
Trace format
A trace is a series of fixed size (24B) records. An instruction record
is provided for every instruction executed. The structure of an
instruction record (from include/rstf/rstf.h) is
typedef struct {
uint8_t rtype; record type
unsigned notused : 1;
unsigned ea_valid : 1; ea field is valid - load/store only
unsigned tr : 1; did a trap occur on this instruction
unsigned hpriv : 1; hyper privileged instruction
unsigned pr : 1; privileged instruction
unsigned bt : 1; branch or trap taken
unsigned an : 1; instruction was annulled
unsigned reserved : 1;
unsigned cpuid : 6; cpu where instruction was executed
unsigned cpuid9_6 : 4;
unsigned notused3 : 6;
uint32_t instr; SPARC instruction word
uint64_t pc_va; Virtual address of PC
uint64_t ea_va; Load/store virtual address or
branch target virtual address
} rstf_instrT;
There are various other records (listed line 195 in rstf.h) to mark
events such as traps, tlb updates, dma operations and others. The RST
trace format is described in the
RST specification.
Usage
To view records in a trace
rstunzip trace.rz2.gz | trconv | less
See example/README for notes on building and using trace analysis
utilities.
Traces
There is a small sample trace
(example_trace.23847.rz2.gz) under example/ .
There is a trace of a 32-way BLAST run in the
Sun Download Center.
Other traces will be provided as they become available.
Trace Generation
This package does not include tools for generating RST traces, but
trace generation tools are coming soon.
Download and Install
RST is available for download from the
Sun Download Center.
Uncompress and untar. Tools are in bin/, 32-bit and 64-bit
libraries are in lib/, and the example program is in example/.
Support
RST is provided without support. However,
Cool Tools forums
are available where questions and discussions about
installing, using, or improving RST can be posted.
Posting in the forums does not guarantee a response.
Please send your feedback to:
|