OpenCSD - CoreSight Trace Decode Library
1.8.3
Toggle main menu visibility
Loading...
Searching...
No Matches
include
opencsd
etmv3
trc_pkt_proc_etmv3.h
Go to the documentation of this file.
1
/*
2
* \file trc_pkt_proc_etmv3.h
3
* \brief OpenCSD :
4
*
5
* \copyright Copyright (c) 2015, ARM Limited. All Rights Reserved.
6
*/
7
8
9
/*
10
* Redistribution and use in source and binary forms, with or without modification,
11
* are permitted provided that the following conditions are met:
12
*
13
* 1. Redistributions of source code must retain the above copyright notice,
14
* this list of conditions and the following disclaimer.
15
*
16
* 2. Redistributions in binary form must reproduce the above copyright notice,
17
* this list of conditions and the following disclaimer in the documentation
18
* and/or other materials provided with the distribution.
19
*
20
* 3. Neither the name of the copyright holder nor the names of its contributors
21
* may be used to endorse or promote products derived from this software without
22
* specific prior written permission.
23
*
24
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND
25
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
26
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
27
* IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
28
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
29
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
30
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
31
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
33
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
*/
35
36
#ifndef ARM_TRC_PKT_PROC_ETMV3_H_INCLUDED
37
#define ARM_TRC_PKT_PROC_ETMV3_H_INCLUDED
38
39
#include "
trc_pkt_types_etmv3.h
"
40
#include "
common/trc_pkt_proc_base.h
"
41
42
class
EtmV3PktProcImpl;
43
class
EtmV3TrcPacket
;
44
class
EtmV3Config
;
45
48
49
50
class
TrcPktProcEtmV3
:
public
TrcPktProcBase
< EtmV3TrcPacket, ocsd_etmv3_pkt_type, EtmV3Config>
51
{
52
public
:
53
TrcPktProcEtmV3
();
54
TrcPktProcEtmV3
(
int
instIDNum);
55
virtual
~TrcPktProcEtmV3
();
56
57
protected
:
58
/* implementation packet processing interface */
59
virtual
ocsd_datapath_resp_t
processData
(
const
ocsd_trc_index_t
index,
60
const
uint32_t dataBlockSize,
61
const
uint8_t *pDataBlock,
62
uint32_t *numBytesProcessed);
63
virtual
ocsd_datapath_resp_t
onEOT
();
64
virtual
ocsd_datapath_resp_t
onReset
();
65
virtual
ocsd_datapath_resp_t
onFlush
();
66
virtual
ocsd_err_t
onProtocolConfig
();
67
virtual
const
bool
isBadPacket
()
const
;
68
69
friend
class
EtmV3PktProcImpl
;
70
71
EtmV3PktProcImpl
*
m_pProcessor
;
72
};
73
74
75
#define ETMV3_OPFLG_UNFORMATTED_SOURCE 0x00010000
76
78
79
#endif
// ARM_TRC_PKT_PROC_ETMV3_H_INCLUDED
80
81
/* End of File trc_pkt_proc_etm.h */
EtmV3Config
Interpreter class for etm v3 config structure.
Definition
trc_cmp_cfg_etmv3.h:59
EtmV3TrcPacket
ETMv3 Trace Protocol Packet.
Definition
trc_pkt_elem_etmv3.h:54
TrcPktProcEtmV3::onProtocolConfig
virtual ocsd_err_t onProtocolConfig()
Called when the configuration object is passed to the decoder.
TrcPktProcEtmV3::onEOT
virtual ocsd_datapath_resp_t onEOT()
Implementation function for the OCSD_OP_EOT operation.
TrcPktProcEtmV3::~TrcPktProcEtmV3
virtual ~TrcPktProcEtmV3()
TrcPktProcEtmV3::isBadPacket
virtual const bool isBadPacket() const
check if the current packet is an error / bad packet
TrcPktProcEtmV3::onFlush
virtual ocsd_datapath_resp_t onFlush()
Implementation function for the OCSD_OP_FLUSH operation.
TrcPktProcEtmV3::TrcPktProcEtmV3
TrcPktProcEtmV3()
TrcPktProcEtmV3::EtmV3PktProcImpl
friend class EtmV3PktProcImpl
Definition
trc_pkt_proc_etmv3.h:69
TrcPktProcEtmV3::m_pProcessor
EtmV3PktProcImpl * m_pProcessor
Definition
trc_pkt_proc_etmv3.h:71
TrcPktProcEtmV3::TrcPktProcEtmV3
TrcPktProcEtmV3(int instIDNum)
TrcPktProcEtmV3::onReset
virtual ocsd_datapath_resp_t onReset()
Implementation function for the OCSD_OP_RESET operation.
TrcPktProcEtmV3::processData
virtual ocsd_datapath_resp_t processData(const ocsd_trc_index_t index, const uint32_t dataBlockSize, const uint8_t *pDataBlock, uint32_t *numBytesProcessed)
Implementation function for the OCSD_OP_DATA operation.
ocsd_trc_index_t
uint32_t ocsd_trc_index_t
Definition
ocsd_if_types.h:59
ocsd_datapath_resp_t
enum _ocsd_datapath_resp_t ocsd_datapath_resp_t
ocsd_err_t
enum _ocsd_err_t ocsd_err_t
TrcPktProcBase< EtmV3TrcPacket, ocsd_etmv3_pkt_type, EtmV3Config >::TrcPktProcBase
TrcPktProcBase(const char *component_name)
Definition
trc_pkt_proc_base.h:222
trc_pkt_proc_base.h
OpenCSD : Trace packet processor base class.
trc_pkt_types_etmv3.h
Generated on
for OpenCSD - CoreSight Trace Decode Library by
1.17.0