OpenCSD - CoreSight Trace Decode Library
1.3.3
|
The code follower looks for waypoints or addresses. More...
#include <ocsd_code_follower.h>
Public Member Functions | |
OcsdCodeFollower () | |
~OcsdCodeFollower () | |
void | initInterfaces (componentAttachPt< ITargetMemAccess > *pMemAccess, componentAttachPt< IInstrDecode > *pIDecode) |
void | setArchProfile (const ocsd_arch_profile_t profile) |
core profile More... | |
void | setMemSpaceAccess (const ocsd_mem_space_acc_t mem_acc_rule) |
memory space to use for access (filtered by S/NS, EL etc). More... | |
void | setMemSpaceCSID (const uint8_t csid) |
memory spaces might be partitioned by CSID More... | |
void | setISA (const ocsd_isa isa) |
set the ISA for the decode. More... | |
void | setDSBDMBasWP () |
DSB and DMB can be treated as WP in some archs. More... | |
ocsd_err_t | followSingleAtom (const ocsd_vaddr_t addrStart, const ocsd_atm_val A) |
const ocsd_vaddr_t | getRangeSt () const |
inclusive start address of decoded range (value passed in) More... | |
const ocsd_vaddr_t | getRangeEn () const |
exclusive end address of decoded range (first instruction not executed / potential next instruction). More... | |
const bool | hasRange () const |
we have a valid range executed (may be false if nacc). More... | |
const bool | hasNextAddr () const |
we have calulated the next address - otherwise this is needed from trace packets. More... | |
const ocsd_vaddr_t | getNextAddr () const |
next address - valid if hasNextAddr() true. More... | |
const ocsd_instr_type | getInstrType () const |
last instruction type More... | |
const ocsd_instr_subtype | getInstrSubType () const |
last instruction sub-type More... | |
const bool | isCondInstr () const |
is a conditional instruction More... | |
const bool | isLink () const |
is a link (branch with link etc) More... | |
const bool | ISAChanged () const |
next ISA different from input ISA. More... | |
const ocsd_isa | nextISA () const |
ISA for next instruction. More... | |
const uint8_t | getInstrSize () const |
Get the last instruction size. More... | |
const bool | isNacc () const |
true if Memory Not Accessible (nacc) error occurred More... | |
void | clearNacc () |
clear the nacc error flag More... | |
const ocsd_vaddr_t | getNaccAddr () const |
get the nacc error address. More... | |
The code follower looks for waypoints or addresses.
Code follower used to determine the trace ranges for Atom or other waypoint elements. Uses memory accessor and I decoder to follow the code path.
Definition at line 52 of file ocsd_code_follower.h.
OcsdCodeFollower::OcsdCodeFollower | ( | ) |
OcsdCodeFollower::~OcsdCodeFollower | ( | ) |
|
inline |
clear the nacc error flag
Definition at line 227 of file ocsd_code_follower.h.
ocsd_err_t OcsdCodeFollower::followSingleAtom | ( | const ocsd_vaddr_t | addrStart, |
const ocsd_atm_val | A | ||
) |
|
inline |
Get the last instruction size.
Definition at line 196 of file ocsd_code_follower.h.
|
inline |
last instruction sub-type
Definition at line 191 of file ocsd_code_follower.h.
|
inline |
last instruction type
Definition at line 186 of file ocsd_code_follower.h.
|
inline |
get the nacc error address.
Definition at line 232 of file ocsd_code_follower.h.
|
inline |
next address - valid if hasNextAddr() true.
Definition at line 180 of file ocsd_code_follower.h.
|
inline |
exclusive end address of decoded range (first instruction not executed / potential next instruction).
Definition at line 165 of file ocsd_code_follower.h.
|
inline |
inclusive start address of decoded range (value passed in)
Definition at line 160 of file ocsd_code_follower.h.
|
inline |
we have calulated the next address - otherwise this is needed from trace packets.
Definition at line 175 of file ocsd_code_follower.h.
|
inline |
we have a valid range executed (may be false if nacc).
Definition at line 170 of file ocsd_code_follower.h.
void OcsdCodeFollower::initInterfaces | ( | componentAttachPt< ITargetMemAccess > * | pMemAccess, |
componentAttachPt< IInstrDecode > * | pIDecode | ||
) |
|
inline |
next ISA different from input ISA.
Definition at line 211 of file ocsd_code_follower.h.
|
inline |
is a conditional instruction
Definition at line 201 of file ocsd_code_follower.h.
|
inline |
is a link (branch with link etc)
Definition at line 206 of file ocsd_code_follower.h.
|
inline |
true if Memory Not Accessible (nacc) error occurred
Definition at line 222 of file ocsd_code_follower.h.
|
inline |
ISA for next instruction.
Definition at line 216 of file ocsd_code_follower.h.
|
inline |
core profile
Definition at line 134 of file ocsd_code_follower.h.
|
inline |
DSB and DMB can be treated as WP in some archs.
Definition at line 154 of file ocsd_code_follower.h.
|
inline |
set the ISA for the decode.
Definition at line 149 of file ocsd_code_follower.h.
|
inline |
memory space to use for access (filtered by S/NS, EL etc).
Definition at line 139 of file ocsd_code_follower.h.
|
inline |
memory spaces might be partitioned by CSID
Definition at line 144 of file ocsd_code_follower.h.