OpenCSD - CoreSight Trace Decode Library
1.8.3
Toggle main menu visibility
Loading...
Searching...
No Matches
include
opencsd
etmv3
trc_pkt_types_etmv3.h
Go to the documentation of this file.
1
/*
2
* \file trc_pkt_types_etmv3.h
3
* \brief OpenCSD :
4
*
5
* \copyright Copyright (c) 2015, ARM Limited. All Rights Reserved.
6
*/
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_ETM3_PKT_TYPES_ETMV3_H_INCLUDED
36
#define ARM_TRC_ETM3_PKT_TYPES_ETMV3_H_INCLUDED
37
38
#include "
opencsd/trc_pkt_types.h
"
39
42
45
46
typedef
enum
_ocsd_etmv3_pkt_type
47
{
48
49
// markers for unknown packets
50
ETM3_PKT_NOERROR
,
51
ETM3_PKT_NOTSYNC
,
52
ETM3_PKT_INCOMPLETE_EOT
,
53
54
// markers for valid packets
55
ETM3_PKT_BRANCH_ADDRESS
,
56
ETM3_PKT_A_SYNC
,
57
ETM3_PKT_CYCLE_COUNT
,
58
ETM3_PKT_I_SYNC
,
59
ETM3_PKT_I_SYNC_CYCLE
,
60
ETM3_PKT_TRIGGER
,
61
ETM3_PKT_P_HDR
,
62
ETM3_PKT_STORE_FAIL
,
63
ETM3_PKT_OOO_DATA
,
64
ETM3_PKT_OOO_ADDR_PLC
,
65
ETM3_PKT_NORM_DATA
,
66
ETM3_PKT_DATA_SUPPRESSED
,
67
ETM3_PKT_VAL_NOT_TRACED
,
68
ETM3_PKT_IGNORE
,
69
ETM3_PKT_CONTEXT_ID
,
70
ETM3_PKT_VMID
,
71
ETM3_PKT_EXCEPTION_ENTRY
,
72
ETM3_PKT_EXCEPTION_EXIT
,
73
ETM3_PKT_TIMESTAMP
,
74
75
// internal processing types
76
ETM3_PKT_BRANCH_OR_BYPASS_EOT
,
77
78
// packet errors
79
ETM3_PKT_BAD_SEQUENCE
,
80
ETM3_PKT_BAD_TRACEMODE
,
81
ETM3_PKT_RESERVED
82
83
}
ocsd_etmv3_pkt_type
;
84
85
typedef
struct
_ocsd_etmv3_excep
{
86
ocsd_armv7_exception
type
;
87
uint16_t
number
;
88
struct
{
89
uint32_t
present
:1;
90
uint32_t
cancel
:1;
91
uint32_t
cm_type
:1;
92
uint32_t
cm_resume
:4;
93
uint32_t
cm_irq_n
:9;
94
}
bits
;
95
}
ocsd_etmv3_excep
;
96
97
typedef
struct
_etmv3_context_t
{
98
struct
{
99
uint32_t
curr_alt_isa
:1;
100
uint32_t
curr_NS
:1;
101
uint32_t
curr_Hyp
:1;
102
uint32_t
updated
:1;
103
uint32_t
updated_c
:1;
104
uint32_t
updated_v
:1;
105
};
106
uint32_t
ctxtID
;
107
uint8_t
VMID
;
108
}
etmv3_context_t
;
109
110
111
typedef
struct
_etmv3_data_t
{
112
113
uint32_t
value
;
114
ocsd_pkt_vaddr
addr
;
115
116
struct
{
117
uint32_t
ooo_tag
:2;
118
uint32_t
be
:1;
119
uint32_t
update_be
:1;
120
uint32_t
update_addr
:1;
121
uint32_t
update_dval
:1;
122
};
123
}
etmv3_data_t
;
124
125
typedef
struct
_etmv3_isync_t
{
126
ocsd_iSync_reason
reason
;
127
struct
{
128
uint32_t
has_cycle_count
:1;
129
uint32_t
has_LSipAddress
:1;
130
uint32_t
no_address
:1;
131
};
132
}
etmv3_isync_t
;
133
134
typedef
struct
_ocsd_etmv3_pkt
135
{
136
ocsd_etmv3_pkt_type
type
;
137
138
ocsd_isa
curr_isa
;
139
ocsd_isa
prev_isa
;
140
141
etmv3_context_t
context
;
142
ocsd_pkt_vaddr
addr
;
143
144
etmv3_isync_t
isync_info
;
145
146
ocsd_etmv3_excep
exception
;
147
148
ocsd_pkt_atom
atom
;
149
uint8_t
p_hdr_fmt
;
150
uint32_t
cycle_count
;
151
152
uint64_t
timestamp
;
153
uint8_t
ts_update_bits
;
154
155
etmv3_data_t
data
;
156
157
ocsd_etmv3_pkt_type
err_type
;
158
159
}
ocsd_etmv3_pkt
;
160
161
typedef
struct
_ocsd_etmv3_cfg
162
{
163
uint32_t
reg_idr
;
164
uint32_t
reg_ctrl
;
165
uint32_t
reg_ccer
;
166
uint32_t
reg_trc_id
;
167
ocsd_arch_version_t
arch_ver
;
168
ocsd_core_profile_t
core_prof
;
169
}
ocsd_etmv3_cfg
;
170
171
172
#define DATA_ADDR_EXPECTED_FLAG 0x20
173
176
#endif
// ARM_TRC_ETM3_PKT_TYPES_ETMV3_H_INCLUDED
177
178
/* End of File trc_pkt_types_etmv3.h */
ocsd_core_profile_t
enum _ocsd_core_profile ocsd_core_profile_t
ocsd_arch_version_t
enum _ocsd_arch_version ocsd_arch_version_t
ocsd_isa
enum _ocsd_isa ocsd_isa
ocsd_etmv3_pkt
struct _ocsd_etmv3_pkt ocsd_etmv3_pkt
ocsd_etmv3_pkt_type
enum _ocsd_etmv3_pkt_type ocsd_etmv3_pkt_type
ocsd_pkt_vaddr
struct _ocsd_pkt_vaddr ocsd_pkt_vaddr
ocsd_armv7_exception
enum _ocsd_armv7_exception ocsd_armv7_exception
etmv3_data_t
struct _etmv3_data_t etmv3_data_t
etmv3_isync_t
struct _etmv3_isync_t etmv3_isync_t
_ocsd_etmv3_pkt_type
_ocsd_etmv3_pkt_type
Definition
trc_pkt_types_etmv3.h:47
ocsd_etmv3_cfg
struct _ocsd_etmv3_cfg ocsd_etmv3_cfg
ocsd_pkt_atom
struct _ocsd_pkt_atom ocsd_pkt_atom
ocsd_iSync_reason
enum _ocsd_iSync_reason ocsd_iSync_reason
etmv3_context_t
struct _etmv3_context_t etmv3_context_t
ocsd_etmv3_excep
struct _ocsd_etmv3_excep ocsd_etmv3_excep
ETM3_PKT_OOO_DATA
@ ETM3_PKT_OOO_DATA
Definition
trc_pkt_types_etmv3.h:63
ETM3_PKT_TIMESTAMP
@ ETM3_PKT_TIMESTAMP
Definition
trc_pkt_types_etmv3.h:73
ETM3_PKT_VMID
@ ETM3_PKT_VMID
Definition
trc_pkt_types_etmv3.h:70
ETM3_PKT_I_SYNC_CYCLE
@ ETM3_PKT_I_SYNC_CYCLE
Definition
trc_pkt_types_etmv3.h:59
ETM3_PKT_NOERROR
@ ETM3_PKT_NOERROR
no error in packet - supplimentary data.
Definition
trc_pkt_types_etmv3.h:50
ETM3_PKT_RESERVED
@ ETM3_PKT_RESERVED
packet type reserved.
Definition
trc_pkt_types_etmv3.h:81
ETM3_PKT_DATA_SUPPRESSED
@ ETM3_PKT_DATA_SUPPRESSED
Definition
trc_pkt_types_etmv3.h:66
ETM3_PKT_NOTSYNC
@ ETM3_PKT_NOTSYNC
no sync found yet
Definition
trc_pkt_types_etmv3.h:51
ETM3_PKT_I_SYNC
@ ETM3_PKT_I_SYNC
Definition
trc_pkt_types_etmv3.h:58
ETM3_PKT_STORE_FAIL
@ ETM3_PKT_STORE_FAIL
Definition
trc_pkt_types_etmv3.h:62
ETM3_PKT_EXCEPTION_ENTRY
@ ETM3_PKT_EXCEPTION_ENTRY
Definition
trc_pkt_types_etmv3.h:71
ETM3_PKT_CONTEXT_ID
@ ETM3_PKT_CONTEXT_ID
Definition
trc_pkt_types_etmv3.h:69
ETM3_PKT_BRANCH_OR_BYPASS_EOT
@ ETM3_PKT_BRANCH_OR_BYPASS_EOT
Definition
trc_pkt_types_etmv3.h:76
ETM3_PKT_NORM_DATA
@ ETM3_PKT_NORM_DATA
Definition
trc_pkt_types_etmv3.h:65
ETM3_PKT_IGNORE
@ ETM3_PKT_IGNORE
Definition
trc_pkt_types_etmv3.h:68
ETM3_PKT_VAL_NOT_TRACED
@ ETM3_PKT_VAL_NOT_TRACED
Definition
trc_pkt_types_etmv3.h:67
ETM3_PKT_A_SYNC
@ ETM3_PKT_A_SYNC
Definition
trc_pkt_types_etmv3.h:56
ETM3_PKT_INCOMPLETE_EOT
@ ETM3_PKT_INCOMPLETE_EOT
flushing incomplete/empty packet at end of trace.
Definition
trc_pkt_types_etmv3.h:52
ETM3_PKT_BRANCH_ADDRESS
@ ETM3_PKT_BRANCH_ADDRESS
Definition
trc_pkt_types_etmv3.h:55
ETM3_PKT_EXCEPTION_EXIT
@ ETM3_PKT_EXCEPTION_EXIT
Definition
trc_pkt_types_etmv3.h:72
ETM3_PKT_BAD_SEQUENCE
@ ETM3_PKT_BAD_SEQUENCE
invalid sequence for packet type
Definition
trc_pkt_types_etmv3.h:79
ETM3_PKT_CYCLE_COUNT
@ ETM3_PKT_CYCLE_COUNT
Definition
trc_pkt_types_etmv3.h:57
ETM3_PKT_P_HDR
@ ETM3_PKT_P_HDR
Definition
trc_pkt_types_etmv3.h:61
ETM3_PKT_BAD_TRACEMODE
@ ETM3_PKT_BAD_TRACEMODE
invalid packet type for this trace mode.
Definition
trc_pkt_types_etmv3.h:80
ETM3_PKT_OOO_ADDR_PLC
@ ETM3_PKT_OOO_ADDR_PLC
Definition
trc_pkt_types_etmv3.h:64
ETM3_PKT_TRIGGER
@ ETM3_PKT_TRIGGER
Definition
trc_pkt_types_etmv3.h:60
_etmv3_context_t
Definition
trc_pkt_types_etmv3.h:97
_etmv3_context_t::ctxtID
uint32_t ctxtID
Definition
trc_pkt_types_etmv3.h:106
_etmv3_context_t::updated
uint32_t updated
Definition
trc_pkt_types_etmv3.h:102
_etmv3_context_t::curr_Hyp
uint32_t curr_Hyp
Definition
trc_pkt_types_etmv3.h:101
_etmv3_context_t::curr_alt_isa
uint32_t curr_alt_isa
Definition
trc_pkt_types_etmv3.h:99
_etmv3_context_t::curr_NS
uint32_t curr_NS
Definition
trc_pkt_types_etmv3.h:100
_etmv3_context_t::updated_c
uint32_t updated_c
Definition
trc_pkt_types_etmv3.h:103
_etmv3_context_t::updated_v
uint32_t updated_v
Definition
trc_pkt_types_etmv3.h:104
_etmv3_context_t::VMID
uint8_t VMID
Definition
trc_pkt_types_etmv3.h:107
_etmv3_data_t
Definition
trc_pkt_types_etmv3.h:111
_etmv3_data_t::value
uint32_t value
Definition
trc_pkt_types_etmv3.h:113
_etmv3_data_t::ooo_tag
uint32_t ooo_tag
Definition
trc_pkt_types_etmv3.h:117
_etmv3_data_t::update_dval
uint32_t update_dval
Definition
trc_pkt_types_etmv3.h:121
_etmv3_data_t::be
uint32_t be
Definition
trc_pkt_types_etmv3.h:118
_etmv3_data_t::addr
ocsd_pkt_vaddr addr
Definition
trc_pkt_types_etmv3.h:114
_etmv3_data_t::update_addr
uint32_t update_addr
Definition
trc_pkt_types_etmv3.h:120
_etmv3_data_t::update_be
uint32_t update_be
Definition
trc_pkt_types_etmv3.h:119
_etmv3_isync_t
Definition
trc_pkt_types_etmv3.h:125
_etmv3_isync_t::has_LSipAddress
uint32_t has_LSipAddress
Definition
trc_pkt_types_etmv3.h:129
_etmv3_isync_t::has_cycle_count
uint32_t has_cycle_count
Definition
trc_pkt_types_etmv3.h:128
_etmv3_isync_t::reason
ocsd_iSync_reason reason
Definition
trc_pkt_types_etmv3.h:126
_etmv3_isync_t::no_address
uint32_t no_address
Definition
trc_pkt_types_etmv3.h:130
_ocsd_etmv3_cfg
Definition
trc_pkt_types_etmv3.h:162
_ocsd_etmv3_cfg::reg_ccer
uint32_t reg_ccer
Definition
trc_pkt_types_etmv3.h:165
_ocsd_etmv3_cfg::reg_ctrl
uint32_t reg_ctrl
Definition
trc_pkt_types_etmv3.h:164
_ocsd_etmv3_cfg::core_prof
ocsd_core_profile_t core_prof
Definition
trc_pkt_types_etmv3.h:168
_ocsd_etmv3_cfg::reg_trc_id
uint32_t reg_trc_id
Definition
trc_pkt_types_etmv3.h:166
_ocsd_etmv3_cfg::reg_idr
uint32_t reg_idr
Definition
trc_pkt_types_etmv3.h:163
_ocsd_etmv3_cfg::arch_ver
ocsd_arch_version_t arch_ver
Definition
trc_pkt_types_etmv3.h:167
_ocsd_etmv3_excep
Definition
trc_pkt_types_etmv3.h:85
_ocsd_etmv3_excep::type
ocsd_armv7_exception type
Definition
trc_pkt_types_etmv3.h:86
_ocsd_etmv3_excep::cm_irq_n
uint32_t cm_irq_n
Definition
trc_pkt_types_etmv3.h:93
_ocsd_etmv3_excep::present
uint32_t present
Definition
trc_pkt_types_etmv3.h:89
_ocsd_etmv3_excep::cm_resume
uint32_t cm_resume
Definition
trc_pkt_types_etmv3.h:92
_ocsd_etmv3_excep::cancel
uint32_t cancel
Definition
trc_pkt_types_etmv3.h:90
_ocsd_etmv3_excep::bits
struct _ocsd_etmv3_excep::@341106362153035124176002237156371047100007020230 bits
_ocsd_etmv3_excep::cm_type
uint32_t cm_type
Definition
trc_pkt_types_etmv3.h:91
_ocsd_etmv3_excep::number
uint16_t number
Definition
trc_pkt_types_etmv3.h:87
_ocsd_etmv3_pkt
Definition
trc_pkt_types_etmv3.h:135
_ocsd_etmv3_pkt::exception
ocsd_etmv3_excep exception
Definition
trc_pkt_types_etmv3.h:146
_ocsd_etmv3_pkt::addr
ocsd_pkt_vaddr addr
Definition
trc_pkt_types_etmv3.h:142
_ocsd_etmv3_pkt::type
ocsd_etmv3_pkt_type type
Definition
trc_pkt_types_etmv3.h:136
_ocsd_etmv3_pkt::curr_isa
ocsd_isa curr_isa
Definition
trc_pkt_types_etmv3.h:138
_ocsd_etmv3_pkt::p_hdr_fmt
uint8_t p_hdr_fmt
Definition
trc_pkt_types_etmv3.h:149
_ocsd_etmv3_pkt::context
etmv3_context_t context
Definition
trc_pkt_types_etmv3.h:141
_ocsd_etmv3_pkt::err_type
ocsd_etmv3_pkt_type err_type
Definition
trc_pkt_types_etmv3.h:157
_ocsd_etmv3_pkt::data
etmv3_data_t data
Definition
trc_pkt_types_etmv3.h:155
_ocsd_etmv3_pkt::prev_isa
ocsd_isa prev_isa
Definition
trc_pkt_types_etmv3.h:139
_ocsd_etmv3_pkt::timestamp
uint64_t timestamp
Definition
trc_pkt_types_etmv3.h:152
_ocsd_etmv3_pkt::atom
ocsd_pkt_atom atom
Definition
trc_pkt_types_etmv3.h:148
_ocsd_etmv3_pkt::isync_info
etmv3_isync_t isync_info
Definition
trc_pkt_types_etmv3.h:144
_ocsd_etmv3_pkt::ts_update_bits
uint8_t ts_update_bits
Definition
trc_pkt_types_etmv3.h:153
_ocsd_etmv3_pkt::cycle_count
uint32_t cycle_count
Definition
trc_pkt_types_etmv3.h:150
trc_pkt_types.h
OpenCSD: Common "C" types for trace packets.
Generated on
for OpenCSD - CoreSight Trace Decode Library by
1.17.0