OpenCSD Library : Packet Processors.

Classes providing Protocol Packet Processing capability. More...

## Classes

class | TrcPktProcEtmV3
class | TrcPktProcEtmV4I
class | TrcPktProcEtmV4D
class | TrcPktProcPtm
class | TrcPktProcStm
class | TrcPktProcI
| Base Packet processing interface. More...
class | TrcPktProcBase< P, Pt, Pc >
| Packet Processor base class. Provides common infrastructure and interconnections for packet processors. More...

## Macros

#define | ETMV3_OPFLG_UNFORMATTED_SOURCE 0x00010000

## Functions

const bool | TrcPktProcPtm::isSync () const
void | TrcPktProcPtm::throwMalformedPacketErr (const char *pszErrMsg)
void | TrcPktProcPtm::throwPacketHeaderErr (const char *pszErrMsg)
const bool | TrcPktProcPtm::readByte ()
| TrcPktProcI::TrcPktProcI (const char *component_name)
| TrcPktProcI::TrcPktProcI (const char *component_name, int instIDNum)
| TrcPktProcBase< P, Pt, Pc >::TrcPktProcBase (const char *component_name)
| TrcPktProcBase< P, Pt, Pc >::TrcPktProcBase (const char *component_name, int instIDNum)
virtual | TrcPktProcBase< P, Pt, Pc >::~TrcPktProcBase ()
virtual ocsd_datapath_resp_t | TrcPktProcBase< P, Pt, Pc >::TraceDataIn (const ocsd_datapath_op_t op, const ocsd_trc_index_t index, const uint32_t dataBlockSize, const uint8_t *pDataBlock, uint32_t *numBytesProcessed)
ocsd_datapath_resp_t | TrcPktProcBase< P, Pt, Pc >::outputDecodedPacket (const ocsd_trc_index_t index_sop, const P *pkt)
void | TrcPktProcBase< P, Pt, Pc >::outputRawPacketToMonitor (const ocsd_trc_index_t index_sop, const P *pkt, const uint32_t size, const uint8_t *p_data)
const bool | TrcPktProcBase< P, Pt, Pc >::hasRawMon () const
void | TrcPktProcBase< P, Pt, Pc >::indexPacket (const ocsd_trc_index_t index_sop, const Pt *packet_type)
ocsd_datapath_resp_t | TrcPktProcBase< P, Pt, Pc >::outputOnAllInterfaces (const ocsd_trc_index_t index_sop, const P *pkt, const Pt *pkt_type, std::vector< uint8_t > &pktdata)
ocsd_datapath_resp_t | TrcPktProcBase< P, Pt, Pc >::outputOnAllInterfaces (const ocsd_trc_index_t index_sop, const P *pkt, const Pt *pkt_type, const uint8_t *pktdata, uint32_t pktlen)
virtual ocsd_err_t | TrcPktProcBase< P, Pt, Pc >::setProtocolConfig (const Pc *config)
| < Set the protocol specific configuration for the decoder. More...
void | TrcPktProcBase< P, Pt, Pc >::ClearConfigObj ()
const bool | TrcPktProcBase< P, Pt, Pc >::checkInit ()

## Detailed Description

Classes providing Protocol Packet Processing capability.

Packet processors take an incoming byte stream and convert into discrete packets for the required trace protocol.

## Macro Definition Documentation

## ETMV3_OPFLG_UNFORMATTED_SOURCE

#define ETMV3_OPFLG_UNFORMATTED_SOURCE 0x00010000

Single ETM source from bypassed formatter - need to check for EOT markers

Definition at line 75 of file trc_pkt_proc_etmv3.h.

## Function Documentation

## checkInit()

template<class P , class Pt , class Pc >

const bool TrcPktProcBase< P, Pt, Pc >::checkInit | ( |  | ) |

protected

Definition at line 396 of file trc_pkt_proc_base.h.

## ClearConfigObj()

template<class P , class Pt , class Pc >

void TrcPktProcBase< P, Pt, Pc >::ClearConfigObj | ( |  | ) |

protected

Definition at line 387 of file trc_pkt_proc_base.h.

## hasRawMon()

template<class P , class Pt , class Pc >

const bool TrcPktProcBase< P, Pt, Pc >::hasRawMon | ( |  | ) | const

protected

Let the derived class figure out if it needs to collate and send raw data. can improve wait for sync performance if we do not need to save and send unsynced data.

Definition at line 345 of file trc_pkt_proc_base.h.

## indexPacket()

template<class P , class Pt, class Pc >

void TrcPktProcBase< P, Pt, Pc >::indexPacket | ( | const ocsd_trc_index_t | index_sop,
|  | const Pt * | packet_type
| ) |  |

protected

Definition at line 350 of file trc_pkt_proc_base.h.

## isSync()

const bool TrcPktProcPtm::isSync | ( |  | ) | const

inline protected

Definition at line 189 of file trc_pkt_proc_ptm.h.

Here is the call graph for this function:

## outputDecodedPacket()

template<class P, class Pt , class Pc >

ocsd_datapath_resp_t TrcPktProcBase< P, Pt, Pc >::outputDecodedPacket | ( | const ocsd_trc_index_t | index_sop,
|  | const P * | pkt
| ) |  |

protected

Definition at line 312 of file trc_pkt_proc_base.h.

## outputOnAllInterfaces() [1/2]

template<class P, class Pt, class Pc >

ocsd_datapath_resp_t TrcPktProcBase< P, Pt, Pc >::outputOnAllInterfaces | ( | const ocsd_trc_index_t | index_sop,
|  | const P * | pkt,
|  | const Pt * | pkt_type,
|  | const uint8_t * | pktdata,
|  | uint32_t | pktlen
| ) |  |

protected

Definition at line 365 of file trc_pkt_proc_base.h.

## outputOnAllInterfaces() [2/2]

template<class P, class Pt, class Pc >

ocsd_datapath_resp_t TrcPktProcBase< P, Pt, Pc >::outputOnAllInterfaces | ( | const ocsd_trc_index_t | index_sop,
|  | const P * | pkt,
|  | const Pt * | pkt_type,
|  | std::vector< uint8_t > & | pktdata
| ) |  |

protected

Definition at line 357 of file trc_pkt_proc_base.h.

## outputRawPacketToMonitor()

template<class P, class Pt , class Pc >

void TrcPktProcBase< P, Pt, Pc >::outputRawPacketToMonitor | ( | const ocsd_trc_index_t | index_sop,
|  | const P * | pkt,
|  | const uint32_t | size,
|  | const uint8_t * | p_data
| ) |  |

protected

Definition at line 326 of file trc_pkt_proc_base.h.

## readByte()

const bool TrcPktProcPtm::readByte | ( |  | ) |

inline protected

Definition at line 205 of file trc_pkt_proc_ptm.h.

## setProtocolConfig()

template<class P , class Pt , class Pc>

ocsd_err_t TrcPktProcBase< P, Pt, Pc >::setProtocolConfig | ( | const Pc * | config | ) |

virtual

< Set the protocol specific configuration for the decoder.

Get the configuration for the decoder.

Definition at line 372 of file trc_pkt_proc_base.h.

Here is the caller graph for this function:

## throwMalformedPacketErr()

void TrcPktProcPtm::throwMalformedPacketErr | ( | const char * | pszErrMsg | ) |

inline protected

Definition at line 194 of file trc_pkt_proc_ptm.h.

Here is the call graph for this function:

## throwPacketHeaderErr()

void TrcPktProcPtm::throwPacketHeaderErr | ( | const char * | pszErrMsg | ) |

inline protected

Definition at line 200 of file trc_pkt_proc_ptm.h.

## TraceDataIn()

template<class P , class Pt , class Pc >

ocsd_datapath_resp_t TrcPktProcBase< P, Pt, Pc >::TraceDataIn | ( | const ocsd_datapath_op_t | op,
|  | const ocsd_trc_index_t | index,
|  | const uint32_t | dataBlockSize,
|  | const uint8_t * | pDataBlock,
|  | uint32_t * | numBytesProcessed
| ) |  |

virtual

Byte trace data input interface defined in ITrcDataIn

The base class implementation processes the operation to call the interface functions on TrcPktProcI.

Implements TrcPktProcI.

Definition at line 219 of file trc_pkt_proc_base.h.

## TrcPktProcBase() [1/2]

template<class P , class Pt , class Pc >

TrcPktProcBase< P, Pt, Pc >::TrcPktProcBase | ( | const char * | component_name | ) |

Definition at line 200 of file trc_pkt_proc_base.h.

## TrcPktProcBase() [2/2]

template<class P , class Pt , class Pc >

TrcPktProcBase< P, Pt, Pc >::TrcPktProcBase | ( | const char * | component_name,
|  | int | instIDNum
| ) |  |

Definition at line 207 of file trc_pkt_proc_base.h.

## TrcPktProcI() [1/2]

TrcPktProcI::TrcPktProcI | ( | const char * | component_name | ) |

inline

Definition at line 96 of file trc_pkt_proc_base.h.

## TrcPktProcI() [2/2]

TrcPktProcI::TrcPktProcI | ( | const char * | component_name,
|  | int | instIDNum
| ) |  |

inline

Definition at line 101 of file trc_pkt_proc_base.h.

## ~TrcPktProcBase()

template<class P , class Pt , class Pc >

TrcPktProcBase< P, Pt, Pc >::~TrcPktProcBase | ( |  | ) |

virtual

Definition at line 214 of file trc_pkt_proc_base.h.