OpenCSD - CoreSight Trace Decode Library
1.8.3
Toggle main menu visibility
Loading...
Searching...
No Matches
include
opencsd
trc_gen_elem_types.h
Go to the documentation of this file.
1
7
8
/*
9
* Redistribution and use in source and binary forms, with or without modification,
10
* are permitted provided that the following conditions are met:
11
*
12
* 1. Redistributions of source code must retain the above copyright notice,
13
* this list of conditions and the following disclaimer.
14
*
15
* 2. Redistributions in binary form must reproduce the above copyright notice,
16
* this list of conditions and the following disclaimer in the documentation
17
* and/or other materials provided with the distribution.
18
*
19
* 3. Neither the name of the copyright holder nor the names of its contributors
20
* may be used to endorse or promote products derived from this software without
21
* specific prior written permission.
22
*
23
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND
24
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
25
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
26
* IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
27
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
28
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
29
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
30
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
32
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33
*/
34
35
#ifndef ARM_TRC_GEN_ELEM_TYPES_H_INCLUDED
36
#define ARM_TRC_GEN_ELEM_TYPES_H_INCLUDED
37
43
44
#include "
opencsd/ocsd_if_types.h
"
45
47
typedef
enum
_ocsd_gen_trc_elem_t
48
{
49
OCSD_GEN_TRC_ELEM_UNKNOWN
= 0,
50
OCSD_GEN_TRC_ELEM_NO_SYNC
,
51
OCSD_GEN_TRC_ELEM_TRACE_ON
,
52
OCSD_GEN_TRC_ELEM_EO_TRACE
,
53
OCSD_GEN_TRC_ELEM_PE_CONTEXT
,
54
OCSD_GEN_TRC_ELEM_INSTR_RANGE
,
55
OCSD_GEN_TRC_ELEM_I_RANGE_NOPATH
,
56
OCSD_GEN_TRC_ELEM_ADDR_NACC
,
57
OCSD_GEN_TRC_ELEM_ADDR_UNKNOWN
,
58
OCSD_GEN_TRC_ELEM_EXCEPTION
,
59
OCSD_GEN_TRC_ELEM_EXCEPTION_RET
,
60
OCSD_GEN_TRC_ELEM_TIMESTAMP
,
61
OCSD_GEN_TRC_ELEM_CYCLE_COUNT
,
62
OCSD_GEN_TRC_ELEM_EVENT
,
63
OCSD_GEN_TRC_ELEM_SWTRACE
,
64
OCSD_GEN_TRC_ELEM_SYNC_MARKER
,
65
OCSD_GEN_TRC_ELEM_MEMTRANS
,
66
OCSD_GEN_TRC_ELEM_INSTRUMENTATION
,
67
OCSD_GEN_TRC_ELEM_ITMTRACE
,
68
OCSD_GEN_TRC_ELEM_CUSTOM
,
69
}
ocsd_gen_trc_elem_t
;
70
71
72
typedef
enum
_trace_on_reason_t
{
73
TRACE_ON_NORMAL
= 0,
74
TRACE_ON_OVERFLOW
,
75
TRACE_ON_EX_DEBUG
,
76
}
trace_on_reason_t
;
77
78
typedef
struct
_trace_event_t
{
79
uint16_t
ev_type
;
80
uint16_t
ev_number
;
81
}
trace_event_t
;
82
83
typedef
enum
_unsync_info_t
{
84
UNSYNC_UNKNOWN
,
85
UNSYNC_INIT_DECODER
,
86
UNSYNC_RESET_DECODER
,
87
UNSYNC_OVERFLOW
,
88
UNSYNC_DISCARD
,
89
UNSYNC_BAD_PACKET
,
90
UNSYNC_BAD_IMAGE
,
91
UNSYNC_EOT
,
92
}
unsync_info_t
;
93
94
typedef
enum
_trace_sync_marker_t
{
95
ELEM_MARKER_TS
,
96
}
trace_sync_marker_t
;
97
98
typedef
struct
_trace_marker_payload_t
{
99
trace_sync_marker_t
type
;
100
uint32_t
value
;
101
}
trace_marker_payload_t
;
102
103
typedef
enum
_memtrans_t
{
104
OCSD_MEM_TRANS_TRACE_INIT
,
105
OCSD_MEM_TRANS_START
,
106
OCSD_MEM_TRANS_COMMIT
,
107
OCSD_MEM_TRANS_FAIL
,
108
}
trace_memtrans_t
;
109
110
typedef
struct
_sw_ite_t
{
111
uint8_t
el
;
112
uint64_t
value
;
113
}
trace_sw_ite_t
;
114
115
typedef
enum
_swt_itm_type
{
116
SWIT_PAYLOAD
,
117
DWT_PAYLOAD
,
118
TS_SYNC
,
119
TS_DELAY
,
120
TS_PKT_DELAY
,
121
TS_PKT_TS_DELAY
,
122
TS_GLOBAL
,
123
}
swt_itm_type
;
124
125
typedef
struct
_swt_itm_info
{
126
swt_itm_type
pkt_type
;
127
uint8_t
payload_src_id
;
128
uint8_t
payload_size
;
129
uint32_t
value
;
130
uint8_t
overflow
;
131
}
swt_itm_info
;
132
133
typedef
struct
_ocsd_generic_trace_elem
{
134
ocsd_gen_trc_elem_t
elem_type
;
135
ocsd_isa
isa
;
136
ocsd_vaddr_t
st_addr
;
137
ocsd_vaddr_t
en_addr
;
138
ocsd_pe_context
context
;
139
uint64_t
timestamp
;
140
uint32_t
cycle_count
;
141
ocsd_instr_type
last_i_type
;
142
ocsd_instr_subtype
last_i_subtype
;
143
145
union
{
146
struct
{
147
uint32_t
last_instr_exec
:1;
148
uint32_t
last_instr_sz
:3;
149
uint32_t
has_cc
:1;
150
uint32_t
cpu_freq_change
:1;
151
uint32_t
excep_ret_addr
:1;
152
uint32_t
excep_data_marker
:1;
153
uint32_t
extended_data
:1;
154
uint32_t
has_ts
:1;
155
uint32_t
last_instr_cond
:1;
156
uint32_t
excep_ret_addr_br_tgt
:1;
157
uint32_t
excep_M_tail_chain
:1;
158
};
159
uint32_t
flag_bits
;
160
};
161
163
union
{
164
uint32_t
exception_number
;
165
trace_event_t
trace_event
;
166
trace_on_reason_t
trace_on_reason
;
167
ocsd_swt_info_t
sw_trace_info
;
168
uint32_t
num_instr_range
;
169
unsync_info_t
unsync_eot_info
;
170
trace_marker_payload_t
sync_marker
;
171
trace_memtrans_t
mem_trans
;
172
trace_sw_ite_t
sw_ite
;
173
swt_itm_info
swt_itm
;
174
};
175
176
const
void
*
ptr_extended_data
;
177
178
}
ocsd_generic_trace_elem
;
179
180
181
typedef
enum
_event_t
{
182
EVENT_UNKNOWN
= 0,
183
EVENT_TRIGGER
,
184
EVENT_NUMBERED
185
}
event_t
;
186
187
189
#endif
// ARM_TRC_GEN_ELEM_TYPES_H_INCLUDED
190
191
/* End of File opencsd/trc_gen_elem_types.h */
trace_on_reason_t
enum _trace_on_reason_t trace_on_reason_t
_memtrans_t
_memtrans_t
Definition
trc_gen_elem_types.h:103
_trace_sync_marker_t
_trace_sync_marker_t
Definition
trc_gen_elem_types.h:94
swt_itm_type
enum _swt_itm_type swt_itm_type
unsync_info_t
enum _unsync_info_t unsync_info_t
trace_sw_ite_t
struct _sw_ite_t trace_sw_ite_t
_unsync_info_t
_unsync_info_t
Definition
trc_gen_elem_types.h:83
_event_t
_event_t
Definition
trc_gen_elem_types.h:181
event_t
enum _event_t event_t
ocsd_generic_trace_elem
struct _ocsd_generic_trace_elem ocsd_generic_trace_elem
swt_itm_info
struct _swt_itm_info swt_itm_info
trace_memtrans_t
enum _memtrans_t trace_memtrans_t
trace_event_t
struct _trace_event_t trace_event_t
ocsd_gen_trc_elem_t
enum _ocsd_gen_trc_elem_t ocsd_gen_trc_elem_t
_swt_itm_type
_swt_itm_type
Definition
trc_gen_elem_types.h:115
_trace_on_reason_t
_trace_on_reason_t
Definition
trc_gen_elem_types.h:72
trace_marker_payload_t
struct _trace_marker_payload_t trace_marker_payload_t
trace_sync_marker_t
enum _trace_sync_marker_t trace_sync_marker_t
_ocsd_gen_trc_elem_t
_ocsd_gen_trc_elem_t
Definition
trc_gen_elem_types.h:48
OCSD_MEM_TRANS_FAIL
@ OCSD_MEM_TRANS_FAIL
Definition
trc_gen_elem_types.h:107
OCSD_MEM_TRANS_TRACE_INIT
@ OCSD_MEM_TRANS_TRACE_INIT
Definition
trc_gen_elem_types.h:104
OCSD_MEM_TRANS_COMMIT
@ OCSD_MEM_TRANS_COMMIT
Definition
trc_gen_elem_types.h:106
OCSD_MEM_TRANS_START
@ OCSD_MEM_TRANS_START
Definition
trc_gen_elem_types.h:105
ELEM_MARKER_TS
@ ELEM_MARKER_TS
Definition
trc_gen_elem_types.h:95
UNSYNC_DISCARD
@ UNSYNC_DISCARD
Definition
trc_gen_elem_types.h:88
UNSYNC_OVERFLOW
@ UNSYNC_OVERFLOW
Definition
trc_gen_elem_types.h:87
UNSYNC_BAD_IMAGE
@ UNSYNC_BAD_IMAGE
Definition
trc_gen_elem_types.h:90
UNSYNC_UNKNOWN
@ UNSYNC_UNKNOWN
Definition
trc_gen_elem_types.h:84
UNSYNC_INIT_DECODER
@ UNSYNC_INIT_DECODER
Definition
trc_gen_elem_types.h:85
UNSYNC_RESET_DECODER
@ UNSYNC_RESET_DECODER
Definition
trc_gen_elem_types.h:86
UNSYNC_BAD_PACKET
@ UNSYNC_BAD_PACKET
Definition
trc_gen_elem_types.h:89
UNSYNC_EOT
@ UNSYNC_EOT
Definition
trc_gen_elem_types.h:91
EVENT_NUMBERED
@ EVENT_NUMBERED
Definition
trc_gen_elem_types.h:184
EVENT_UNKNOWN
@ EVENT_UNKNOWN
Definition
trc_gen_elem_types.h:182
EVENT_TRIGGER
@ EVENT_TRIGGER
Definition
trc_gen_elem_types.h:183
TS_DELAY
@ TS_DELAY
Definition
trc_gen_elem_types.h:119
TS_GLOBAL
@ TS_GLOBAL
Definition
trc_gen_elem_types.h:122
DWT_PAYLOAD
@ DWT_PAYLOAD
Definition
trc_gen_elem_types.h:117
TS_SYNC
@ TS_SYNC
Definition
trc_gen_elem_types.h:118
TS_PKT_TS_DELAY
@ TS_PKT_TS_DELAY
Definition
trc_gen_elem_types.h:121
SWIT_PAYLOAD
@ SWIT_PAYLOAD
Definition
trc_gen_elem_types.h:116
TS_PKT_DELAY
@ TS_PKT_DELAY
Definition
trc_gen_elem_types.h:120
TRACE_ON_OVERFLOW
@ TRACE_ON_OVERFLOW
Definition
trc_gen_elem_types.h:74
TRACE_ON_EX_DEBUG
@ TRACE_ON_EX_DEBUG
Definition
trc_gen_elem_types.h:75
TRACE_ON_NORMAL
@ TRACE_ON_NORMAL
Definition
trc_gen_elem_types.h:73
OCSD_GEN_TRC_ELEM_MEMTRANS
@ OCSD_GEN_TRC_ELEM_MEMTRANS
Definition
trc_gen_elem_types.h:65
OCSD_GEN_TRC_ELEM_ITMTRACE
@ OCSD_GEN_TRC_ELEM_ITMTRACE
Definition
trc_gen_elem_types.h:67
OCSD_GEN_TRC_ELEM_CUSTOM
@ OCSD_GEN_TRC_ELEM_CUSTOM
Definition
trc_gen_elem_types.h:68
OCSD_GEN_TRC_ELEM_ADDR_NACC
@ OCSD_GEN_TRC_ELEM_ADDR_NACC
Definition
trc_gen_elem_types.h:56
OCSD_GEN_TRC_ELEM_EVENT
@ OCSD_GEN_TRC_ELEM_EVENT
Definition
trc_gen_elem_types.h:62
OCSD_GEN_TRC_ELEM_UNKNOWN
@ OCSD_GEN_TRC_ELEM_UNKNOWN
Definition
trc_gen_elem_types.h:49
OCSD_GEN_TRC_ELEM_CYCLE_COUNT
@ OCSD_GEN_TRC_ELEM_CYCLE_COUNT
Definition
trc_gen_elem_types.h:61
OCSD_GEN_TRC_ELEM_SYNC_MARKER
@ OCSD_GEN_TRC_ELEM_SYNC_MARKER
Definition
trc_gen_elem_types.h:64
OCSD_GEN_TRC_ELEM_TIMESTAMP
@ OCSD_GEN_TRC_ELEM_TIMESTAMP
Definition
trc_gen_elem_types.h:60
OCSD_GEN_TRC_ELEM_INSTRUMENTATION
@ OCSD_GEN_TRC_ELEM_INSTRUMENTATION
Definition
trc_gen_elem_types.h:66
OCSD_GEN_TRC_ELEM_INSTR_RANGE
@ OCSD_GEN_TRC_ELEM_INSTR_RANGE
Definition
trc_gen_elem_types.h:54
OCSD_GEN_TRC_ELEM_EO_TRACE
@ OCSD_GEN_TRC_ELEM_EO_TRACE
Definition
trc_gen_elem_types.h:52
OCSD_GEN_TRC_ELEM_EXCEPTION_RET
@ OCSD_GEN_TRC_ELEM_EXCEPTION_RET
Definition
trc_gen_elem_types.h:59
OCSD_GEN_TRC_ELEM_ADDR_UNKNOWN
@ OCSD_GEN_TRC_ELEM_ADDR_UNKNOWN
Definition
trc_gen_elem_types.h:57
OCSD_GEN_TRC_ELEM_EXCEPTION
@ OCSD_GEN_TRC_ELEM_EXCEPTION
Definition
trc_gen_elem_types.h:58
OCSD_GEN_TRC_ELEM_SWTRACE
@ OCSD_GEN_TRC_ELEM_SWTRACE
Definition
trc_gen_elem_types.h:63
OCSD_GEN_TRC_ELEM_PE_CONTEXT
@ OCSD_GEN_TRC_ELEM_PE_CONTEXT
Definition
trc_gen_elem_types.h:53
OCSD_GEN_TRC_ELEM_NO_SYNC
@ OCSD_GEN_TRC_ELEM_NO_SYNC
Definition
trc_gen_elem_types.h:50
OCSD_GEN_TRC_ELEM_I_RANGE_NOPATH
@ OCSD_GEN_TRC_ELEM_I_RANGE_NOPATH
Definition
trc_gen_elem_types.h:55
OCSD_GEN_TRC_ELEM_TRACE_ON
@ OCSD_GEN_TRC_ELEM_TRACE_ON
Definition
trc_gen_elem_types.h:51
ocsd_swt_info_t
struct _ocsd_swt_info ocsd_swt_info_t
ocsd_instr_subtype
enum _ocsd_instr_subtype ocsd_instr_subtype
ocsd_instr_type
enum _ocsd_instr_type ocsd_instr_type
ocsd_pe_context
struct _ocsd_pe_context ocsd_pe_context
ocsd_isa
enum _ocsd_isa ocsd_isa
ocsd_vaddr_t
uint64_t ocsd_vaddr_t
Definition
ocsd_if_types.h:306
ocsd_if_types.h
OpenCSD : Standard Types used in the library interfaces.
_ocsd_generic_trace_elem
Definition
trc_gen_elem_types.h:133
_ocsd_generic_trace_elem::cycle_count
uint32_t cycle_count
Definition
trc_gen_elem_types.h:140
_ocsd_generic_trace_elem::excep_M_tail_chain
uint32_t excep_M_tail_chain
Definition
trc_gen_elem_types.h:157
_ocsd_generic_trace_elem::last_instr_sz
uint32_t last_instr_sz
Definition
trc_gen_elem_types.h:148
_ocsd_generic_trace_elem::isa
ocsd_isa isa
Definition
trc_gen_elem_types.h:135
_ocsd_generic_trace_elem::swt_itm
swt_itm_info swt_itm
Definition
trc_gen_elem_types.h:173
_ocsd_generic_trace_elem::excep_ret_addr
uint32_t excep_ret_addr
Definition
trc_gen_elem_types.h:151
_ocsd_generic_trace_elem::excep_data_marker
uint32_t excep_data_marker
Definition
trc_gen_elem_types.h:152
_ocsd_generic_trace_elem::sync_marker
trace_marker_payload_t sync_marker
Definition
trc_gen_elem_types.h:170
_ocsd_generic_trace_elem::mem_trans
trace_memtrans_t mem_trans
Definition
trc_gen_elem_types.h:171
_ocsd_generic_trace_elem::extended_data
uint32_t extended_data
Definition
trc_gen_elem_types.h:153
_ocsd_generic_trace_elem::exception_number
uint32_t exception_number
Definition
trc_gen_elem_types.h:164
_ocsd_generic_trace_elem::cpu_freq_change
uint32_t cpu_freq_change
Definition
trc_gen_elem_types.h:150
_ocsd_generic_trace_elem::st_addr
ocsd_vaddr_t st_addr
Definition
trc_gen_elem_types.h:136
_ocsd_generic_trace_elem::last_i_subtype
ocsd_instr_subtype last_i_subtype
Definition
trc_gen_elem_types.h:142
_ocsd_generic_trace_elem::last_instr_exec
uint32_t last_instr_exec
Definition
trc_gen_elem_types.h:147
_ocsd_generic_trace_elem::timestamp
uint64_t timestamp
Definition
trc_gen_elem_types.h:139
_ocsd_generic_trace_elem::ptr_extended_data
const void * ptr_extended_data
Definition
trc_gen_elem_types.h:176
_ocsd_generic_trace_elem::trace_event
trace_event_t trace_event
Definition
trc_gen_elem_types.h:165
_ocsd_generic_trace_elem::sw_trace_info
ocsd_swt_info_t sw_trace_info
Definition
trc_gen_elem_types.h:167
_ocsd_generic_trace_elem::last_instr_cond
uint32_t last_instr_cond
Definition
trc_gen_elem_types.h:155
_ocsd_generic_trace_elem::trace_on_reason
trace_on_reason_t trace_on_reason
Definition
trc_gen_elem_types.h:166
_ocsd_generic_trace_elem::has_cc
uint32_t has_cc
Definition
trc_gen_elem_types.h:149
_ocsd_generic_trace_elem::sw_ite
trace_sw_ite_t sw_ite
Definition
trc_gen_elem_types.h:172
_ocsd_generic_trace_elem::flag_bits
uint32_t flag_bits
Definition
trc_gen_elem_types.h:159
_ocsd_generic_trace_elem::num_instr_range
uint32_t num_instr_range
Definition
trc_gen_elem_types.h:168
_ocsd_generic_trace_elem::unsync_eot_info
unsync_info_t unsync_eot_info
Definition
trc_gen_elem_types.h:169
_ocsd_generic_trace_elem::elem_type
ocsd_gen_trc_elem_t elem_type
Definition
trc_gen_elem_types.h:134
_ocsd_generic_trace_elem::has_ts
uint32_t has_ts
Definition
trc_gen_elem_types.h:154
_ocsd_generic_trace_elem::last_i_type
ocsd_instr_type last_i_type
Definition
trc_gen_elem_types.h:141
_ocsd_generic_trace_elem::context
ocsd_pe_context context
Definition
trc_gen_elem_types.h:138
_ocsd_generic_trace_elem::en_addr
ocsd_vaddr_t en_addr
Definition
trc_gen_elem_types.h:137
_ocsd_generic_trace_elem::excep_ret_addr_br_tgt
uint32_t excep_ret_addr_br_tgt
Definition
trc_gen_elem_types.h:156
_sw_ite_t
Definition
trc_gen_elem_types.h:110
_sw_ite_t::value
uint64_t value
Definition
trc_gen_elem_types.h:112
_sw_ite_t::el
uint8_t el
Definition
trc_gen_elem_types.h:111
_swt_itm_info
Definition
trc_gen_elem_types.h:125
_swt_itm_info::overflow
uint8_t overflow
Definition
trc_gen_elem_types.h:130
_swt_itm_info::pkt_type
swt_itm_type pkt_type
Definition
trc_gen_elem_types.h:126
_swt_itm_info::payload_size
uint8_t payload_size
Definition
trc_gen_elem_types.h:128
_swt_itm_info::payload_src_id
uint8_t payload_src_id
Definition
trc_gen_elem_types.h:127
_swt_itm_info::value
uint32_t value
Definition
trc_gen_elem_types.h:129
_trace_event_t
Definition
trc_gen_elem_types.h:78
_trace_event_t::ev_type
uint16_t ev_type
Definition
trc_gen_elem_types.h:79
_trace_event_t::ev_number
uint16_t ev_number
Definition
trc_gen_elem_types.h:80
_trace_marker_payload_t
Definition
trc_gen_elem_types.h:98
_trace_marker_payload_t::value
uint32_t value
Definition
trc_gen_elem_types.h:100
_trace_marker_payload_t::type
trace_sync_marker_t type
Definition
trc_gen_elem_types.h:99
Generated on
for OpenCSD - CoreSight Trace Decode Library by
1.17.0