Serve up a correct dmcontrol register.
[riscv-isa-sim.git] / riscv / debug_defines.h
1 #define ACCESS_REGISTER None
2 #define ACCESS_REGISTER_PREHALT_OFFSET 23
3 #define ACCESS_REGISTER_PREHALT_LENGTH 1
4 #define ACCESS_REGISTER_PREHALT (0x1 << ACCESS_REGISTER_PREHALT_OFFSET)
5 #define ACCESS_REGISTER_POSTRESUME_OFFSET 22
6 #define ACCESS_REGISTER_POSTRESUME_LENGTH 1
7 #define ACCESS_REGISTER_POSTRESUME (0x1 << ACCESS_REGISTER_POSTRESUME_OFFSET)
8 #define ACCESS_REGISTER_SIZE_OFFSET 19
9 #define ACCESS_REGISTER_SIZE_LENGTH 3
10 #define ACCESS_REGISTER_SIZE (0x7 << ACCESS_REGISTER_SIZE_OFFSET)
11 #define ACCESS_REGISTER_PREEXEC_OFFSET 18
12 #define ACCESS_REGISTER_PREEXEC_LENGTH 1
13 #define ACCESS_REGISTER_PREEXEC (0x1 << ACCESS_REGISTER_PREEXEC_OFFSET)
14 #define ACCESS_REGISTER_POSTEXEC_OFFSET 17
15 #define ACCESS_REGISTER_POSTEXEC_LENGTH 1
16 #define ACCESS_REGISTER_POSTEXEC (0x1 << ACCESS_REGISTER_POSTEXEC_OFFSET)
17 #define ACCESS_REGISTER_WRITE_OFFSET 16
18 #define ACCESS_REGISTER_WRITE_LENGTH 1
19 #define ACCESS_REGISTER_WRITE (0x1 << ACCESS_REGISTER_WRITE_OFFSET)
20 #define ACCESS_REGISTER_REGNO_OFFSET 0
21 #define ACCESS_REGISTER_REGNO_LENGTH 16
22 #define ACCESS_REGISTER_REGNO (0xffff << ACCESS_REGISTER_REGNO_OFFSET)
23 #define CSR_DCSR 0x7b0
24 #define CSR_DCSR_XDEBUGVER_OFFSET 30
25 #define CSR_DCSR_XDEBUGVER_LENGTH 2
26 #define CSR_DCSR_XDEBUGVER (0x3 << CSR_DCSR_XDEBUGVER_OFFSET)
27 #define CSR_DCSR_EBREAKM_OFFSET 15
28 #define CSR_DCSR_EBREAKM_LENGTH 1
29 #define CSR_DCSR_EBREAKM (0x1 << CSR_DCSR_EBREAKM_OFFSET)
30 #define CSR_DCSR_EBREAKH_OFFSET 14
31 #define CSR_DCSR_EBREAKH_LENGTH 1
32 #define CSR_DCSR_EBREAKH (0x1 << CSR_DCSR_EBREAKH_OFFSET)
33 #define CSR_DCSR_EBREAKS_OFFSET 13
34 #define CSR_DCSR_EBREAKS_LENGTH 1
35 #define CSR_DCSR_EBREAKS (0x1 << CSR_DCSR_EBREAKS_OFFSET)
36 #define CSR_DCSR_EBREAKU_OFFSET 12
37 #define CSR_DCSR_EBREAKU_LENGTH 1
38 #define CSR_DCSR_EBREAKU (0x1 << CSR_DCSR_EBREAKU_OFFSET)
39 #define CSR_DCSR_STOPCYCLE_OFFSET 10
40 #define CSR_DCSR_STOPCYCLE_LENGTH 1
41 #define CSR_DCSR_STOPCYCLE (0x1 << CSR_DCSR_STOPCYCLE_OFFSET)
42 #define CSR_DCSR_STOPTIME_OFFSET 9
43 #define CSR_DCSR_STOPTIME_LENGTH 1
44 #define CSR_DCSR_STOPTIME (0x1 << CSR_DCSR_STOPTIME_OFFSET)
45 #define CSR_DCSR_CAUSE_OFFSET 6
46 #define CSR_DCSR_CAUSE_LENGTH 3
47 #define CSR_DCSR_CAUSE (0x7 << CSR_DCSR_CAUSE_OFFSET)
48 #define CSR_DCSR_STEP_OFFSET 2
49 #define CSR_DCSR_STEP_LENGTH 1
50 #define CSR_DCSR_STEP (0x1 << CSR_DCSR_STEP_OFFSET)
51 #define CSR_DCSR_PRV_OFFSET 0
52 #define CSR_DCSR_PRV_LENGTH 2
53 #define CSR_DCSR_PRV (0x3 << CSR_DCSR_PRV_OFFSET)
54 #define CSR_DPC 0x7b1
55 #define CSR_DPC_DPC_OFFSET 0
56 #define CSR_DPC_DPC_LENGTH XLEN
57 #define CSR_DPC_DPC (((1<<XLEN)-1) << CSR_DPC_DPC_OFFSET)
58 #define CSR_DSCRATCH0 0x7b2
59 #define CSR_DSCRATCH1 0x7b3
60 #define CSR_PRIV virtual
61 #define CSR_PRIV_PRV_OFFSET 0
62 #define CSR_PRIV_PRV_LENGTH 2
63 #define CSR_PRIV_PRV (0x3 << CSR_PRIV_PRV_OFFSET)
64 #define DMI_DMCONTROL 0x00
65 #define DMI_DMCONTROL_HALT_OFFSET 31
66 #define DMI_DMCONTROL_HALT_LENGTH 1
67 #define DMI_DMCONTROL_HALT (0x1 << DMI_DMCONTROL_HALT_OFFSET)
68 #define DMI_DMCONTROL_RESET_OFFSET 30
69 #define DMI_DMCONTROL_RESET_LENGTH 1
70 #define DMI_DMCONTROL_RESET (0x1 << DMI_DMCONTROL_RESET_OFFSET)
71 #define DMI_DMCONTROL_DMACTIVE_OFFSET 29
72 #define DMI_DMCONTROL_DMACTIVE_LENGTH 1
73 #define DMI_DMCONTROL_DMACTIVE (0x1 << DMI_DMCONTROL_DMACTIVE_OFFSET)
74 #define DMI_DMCONTROL_HARTID_OFFSET 16
75 #define DMI_DMCONTROL_HARTID_LENGTH 10
76 #define DMI_DMCONTROL_HARTID (0x3ff << DMI_DMCONTROL_HARTID_OFFSET)
77 #define DMI_DMCONTROL_HALTSUM_OFFSET 8
78 #define DMI_DMCONTROL_HALTSUM_LENGTH 1
79 #define DMI_DMCONTROL_HALTSUM (0x1 << DMI_DMCONTROL_HALTSUM_OFFSET)
80 #define DMI_DMCONTROL_AUTHENTICATED_OFFSET 7
81 #define DMI_DMCONTROL_AUTHENTICATED_LENGTH 1
82 #define DMI_DMCONTROL_AUTHENTICATED (0x1 << DMI_DMCONTROL_AUTHENTICATED_OFFSET)
83 #define DMI_DMCONTROL_AUTHBUSY_OFFSET 6
84 #define DMI_DMCONTROL_AUTHBUSY_LENGTH 1
85 #define DMI_DMCONTROL_AUTHBUSY (0x1 << DMI_DMCONTROL_AUTHBUSY_OFFSET)
86 #define DMI_DMCONTROL_AUTHTYPE_OFFSET 4
87 #define DMI_DMCONTROL_AUTHTYPE_LENGTH 2
88 #define DMI_DMCONTROL_AUTHTYPE (0x3 << DMI_DMCONTROL_AUTHTYPE_OFFSET)
89 #define DMI_DMCONTROL_VERSION_OFFSET 0
90 #define DMI_DMCONTROL_VERSION_LENGTH 4
91 #define DMI_DMCONTROL_VERSION (0xf << DMI_DMCONTROL_VERSION_OFFSET)
92 #define DMI_HALTSUM 0x02
93 #define DMI_HALTSUM_HALT1023_992_OFFSET 31
94 #define DMI_HALTSUM_HALT1023_992_LENGTH 1
95 #define DMI_HALTSUM_HALT1023_992 (0x1 << DMI_HALTSUM_HALT1023_992_OFFSET)
96 #define DMI_HALTSUM_HALT991_960_OFFSET 30
97 #define DMI_HALTSUM_HALT991_960_LENGTH 1
98 #define DMI_HALTSUM_HALT991_960 (0x1 << DMI_HALTSUM_HALT991_960_OFFSET)
99 #define DMI_HALTSUM_HALT959_928_OFFSET 29
100 #define DMI_HALTSUM_HALT959_928_LENGTH 1
101 #define DMI_HALTSUM_HALT959_928 (0x1 << DMI_HALTSUM_HALT959_928_OFFSET)
102 #define DMI_HALTSUM_HALT927_896_OFFSET 28
103 #define DMI_HALTSUM_HALT927_896_LENGTH 1
104 #define DMI_HALTSUM_HALT927_896 (0x1 << DMI_HALTSUM_HALT927_896_OFFSET)
105 #define DMI_HALTSUM_HALT895_864_OFFSET 27
106 #define DMI_HALTSUM_HALT895_864_LENGTH 1
107 #define DMI_HALTSUM_HALT895_864 (0x1 << DMI_HALTSUM_HALT895_864_OFFSET)
108 #define DMI_HALTSUM_HALT863_832_OFFSET 26
109 #define DMI_HALTSUM_HALT863_832_LENGTH 1
110 #define DMI_HALTSUM_HALT863_832 (0x1 << DMI_HALTSUM_HALT863_832_OFFSET)
111 #define DMI_HALTSUM_HALT831_800_OFFSET 25
112 #define DMI_HALTSUM_HALT831_800_LENGTH 1
113 #define DMI_HALTSUM_HALT831_800 (0x1 << DMI_HALTSUM_HALT831_800_OFFSET)
114 #define DMI_HALTSUM_HALT799_768_OFFSET 24
115 #define DMI_HALTSUM_HALT799_768_LENGTH 1
116 #define DMI_HALTSUM_HALT799_768 (0x1 << DMI_HALTSUM_HALT799_768_OFFSET)
117 #define DMI_HALTSUM_HALT767_736_OFFSET 23
118 #define DMI_HALTSUM_HALT767_736_LENGTH 1
119 #define DMI_HALTSUM_HALT767_736 (0x1 << DMI_HALTSUM_HALT767_736_OFFSET)
120 #define DMI_HALTSUM_HALT735_704_OFFSET 22
121 #define DMI_HALTSUM_HALT735_704_LENGTH 1
122 #define DMI_HALTSUM_HALT735_704 (0x1 << DMI_HALTSUM_HALT735_704_OFFSET)
123 #define DMI_HALTSUM_HALT703_672_OFFSET 21
124 #define DMI_HALTSUM_HALT703_672_LENGTH 1
125 #define DMI_HALTSUM_HALT703_672 (0x1 << DMI_HALTSUM_HALT703_672_OFFSET)
126 #define DMI_HALTSUM_HALT671_640_OFFSET 20
127 #define DMI_HALTSUM_HALT671_640_LENGTH 1
128 #define DMI_HALTSUM_HALT671_640 (0x1 << DMI_HALTSUM_HALT671_640_OFFSET)
129 #define DMI_HALTSUM_HALT639_608_OFFSET 19
130 #define DMI_HALTSUM_HALT639_608_LENGTH 1
131 #define DMI_HALTSUM_HALT639_608 (0x1 << DMI_HALTSUM_HALT639_608_OFFSET)
132 #define DMI_HALTSUM_HALT607_576_OFFSET 18
133 #define DMI_HALTSUM_HALT607_576_LENGTH 1
134 #define DMI_HALTSUM_HALT607_576 (0x1 << DMI_HALTSUM_HALT607_576_OFFSET)
135 #define DMI_HALTSUM_HALT575_544_OFFSET 17
136 #define DMI_HALTSUM_HALT575_544_LENGTH 1
137 #define DMI_HALTSUM_HALT575_544 (0x1 << DMI_HALTSUM_HALT575_544_OFFSET)
138 #define DMI_HALTSUM_HALT543_512_OFFSET 16
139 #define DMI_HALTSUM_HALT543_512_LENGTH 1
140 #define DMI_HALTSUM_HALT543_512 (0x1 << DMI_HALTSUM_HALT543_512_OFFSET)
141 #define DMI_HALTSUM_HALT511_480_OFFSET 15
142 #define DMI_HALTSUM_HALT511_480_LENGTH 1
143 #define DMI_HALTSUM_HALT511_480 (0x1 << DMI_HALTSUM_HALT511_480_OFFSET)
144 #define DMI_HALTSUM_HALT479_448_OFFSET 14
145 #define DMI_HALTSUM_HALT479_448_LENGTH 1
146 #define DMI_HALTSUM_HALT479_448 (0x1 << DMI_HALTSUM_HALT479_448_OFFSET)
147 #define DMI_HALTSUM_HALT447_416_OFFSET 13
148 #define DMI_HALTSUM_HALT447_416_LENGTH 1
149 #define DMI_HALTSUM_HALT447_416 (0x1 << DMI_HALTSUM_HALT447_416_OFFSET)
150 #define DMI_HALTSUM_HALT415_384_OFFSET 12
151 #define DMI_HALTSUM_HALT415_384_LENGTH 1
152 #define DMI_HALTSUM_HALT415_384 (0x1 << DMI_HALTSUM_HALT415_384_OFFSET)
153 #define DMI_HALTSUM_HALT383_352_OFFSET 11
154 #define DMI_HALTSUM_HALT383_352_LENGTH 1
155 #define DMI_HALTSUM_HALT383_352 (0x1 << DMI_HALTSUM_HALT383_352_OFFSET)
156 #define DMI_HALTSUM_HALT351_320_OFFSET 10
157 #define DMI_HALTSUM_HALT351_320_LENGTH 1
158 #define DMI_HALTSUM_HALT351_320 (0x1 << DMI_HALTSUM_HALT351_320_OFFSET)
159 #define DMI_HALTSUM_HALT319_288_OFFSET 9
160 #define DMI_HALTSUM_HALT319_288_LENGTH 1
161 #define DMI_HALTSUM_HALT319_288 (0x1 << DMI_HALTSUM_HALT319_288_OFFSET)
162 #define DMI_HALTSUM_HALT287_256_OFFSET 8
163 #define DMI_HALTSUM_HALT287_256_LENGTH 1
164 #define DMI_HALTSUM_HALT287_256 (0x1 << DMI_HALTSUM_HALT287_256_OFFSET)
165 #define DMI_HALTSUM_HALT255_224_OFFSET 7
166 #define DMI_HALTSUM_HALT255_224_LENGTH 1
167 #define DMI_HALTSUM_HALT255_224 (0x1 << DMI_HALTSUM_HALT255_224_OFFSET)
168 #define DMI_HALTSUM_HALT223_192_OFFSET 6
169 #define DMI_HALTSUM_HALT223_192_LENGTH 1
170 #define DMI_HALTSUM_HALT223_192 (0x1 << DMI_HALTSUM_HALT223_192_OFFSET)
171 #define DMI_HALTSUM_HALT191_160_OFFSET 5
172 #define DMI_HALTSUM_HALT191_160_LENGTH 1
173 #define DMI_HALTSUM_HALT191_160 (0x1 << DMI_HALTSUM_HALT191_160_OFFSET)
174 #define DMI_HALTSUM_HALT159_128_OFFSET 4
175 #define DMI_HALTSUM_HALT159_128_LENGTH 1
176 #define DMI_HALTSUM_HALT159_128 (0x1 << DMI_HALTSUM_HALT159_128_OFFSET)
177 #define DMI_HALTSUM_HALT127_96_OFFSET 3
178 #define DMI_HALTSUM_HALT127_96_LENGTH 1
179 #define DMI_HALTSUM_HALT127_96 (0x1 << DMI_HALTSUM_HALT127_96_OFFSET)
180 #define DMI_HALTSUM_HALT95_64_OFFSET 2
181 #define DMI_HALTSUM_HALT95_64_LENGTH 1
182 #define DMI_HALTSUM_HALT95_64 (0x1 << DMI_HALTSUM_HALT95_64_OFFSET)
183 #define DMI_HALTSUM_HALT63_32_OFFSET 1
184 #define DMI_HALTSUM_HALT63_32_LENGTH 1
185 #define DMI_HALTSUM_HALT63_32 (0x1 << DMI_HALTSUM_HALT63_32_OFFSET)
186 #define DMI_HALTSUM_HALT31_0_OFFSET 0
187 #define DMI_HALTSUM_HALT31_0_LENGTH 1
188 #define DMI_HALTSUM_HALT31_0 (0x1 << DMI_HALTSUM_HALT31_0_OFFSET)
189 #define DMI_SBCS 0x03
190 #define DMI_SBCS_SBSINGLEREAD_OFFSET 20
191 #define DMI_SBCS_SBSINGLEREAD_LENGTH 1
192 #define DMI_SBCS_SBSINGLEREAD (0x1 << DMI_SBCS_SBSINGLEREAD_OFFSET)
193 #define DMI_SBCS_SBACCESS_OFFSET 17
194 #define DMI_SBCS_SBACCESS_LENGTH 3
195 #define DMI_SBCS_SBACCESS (0x7 << DMI_SBCS_SBACCESS_OFFSET)
196 #define DMI_SBCS_SBAUTOINCREMENT_OFFSET 16
197 #define DMI_SBCS_SBAUTOINCREMENT_LENGTH 1
198 #define DMI_SBCS_SBAUTOINCREMENT (0x1 << DMI_SBCS_SBAUTOINCREMENT_OFFSET)
199 #define DMI_SBCS_SBAUTOREAD_OFFSET 15
200 #define DMI_SBCS_SBAUTOREAD_LENGTH 1
201 #define DMI_SBCS_SBAUTOREAD (0x1 << DMI_SBCS_SBAUTOREAD_OFFSET)
202 #define DMI_SBCS_SBERROR_OFFSET 12
203 #define DMI_SBCS_SBERROR_LENGTH 3
204 #define DMI_SBCS_SBERROR (0x7 << DMI_SBCS_SBERROR_OFFSET)
205 #define DMI_SBCS_SBASIZE_OFFSET 5
206 #define DMI_SBCS_SBASIZE_LENGTH 7
207 #define DMI_SBCS_SBASIZE (0x7f << DMI_SBCS_SBASIZE_OFFSET)
208 #define DMI_SBCS_SBACCESS128_OFFSET 4
209 #define DMI_SBCS_SBACCESS128_LENGTH 1
210 #define DMI_SBCS_SBACCESS128 (0x1 << DMI_SBCS_SBACCESS128_OFFSET)
211 #define DMI_SBCS_SBACCESS64_OFFSET 3
212 #define DMI_SBCS_SBACCESS64_LENGTH 1
213 #define DMI_SBCS_SBACCESS64 (0x1 << DMI_SBCS_SBACCESS64_OFFSET)
214 #define DMI_SBCS_SBACCESS32_OFFSET 2
215 #define DMI_SBCS_SBACCESS32_LENGTH 1
216 #define DMI_SBCS_SBACCESS32 (0x1 << DMI_SBCS_SBACCESS32_OFFSET)
217 #define DMI_SBCS_SBACCESS16_OFFSET 1
218 #define DMI_SBCS_SBACCESS16_LENGTH 1
219 #define DMI_SBCS_SBACCESS16 (0x1 << DMI_SBCS_SBACCESS16_OFFSET)
220 #define DMI_SBCS_SBACCESS8_OFFSET 0
221 #define DMI_SBCS_SBACCESS8_LENGTH 1
222 #define DMI_SBCS_SBACCESS8 (0x1 << DMI_SBCS_SBACCESS8_OFFSET)
223 #define DMI_SBADDRESS0 0x04
224 #define DMI_SBADDRESS0_ADDRESS_OFFSET 0
225 #define DMI_SBADDRESS0_ADDRESS_LENGTH 32
226 #define DMI_SBADDRESS0_ADDRESS (0xffffffff << DMI_SBADDRESS0_ADDRESS_OFFSET)
227 #define DMI_SBADDRESS1 0x05
228 #define DMI_SBADDRESS1_ADDRESS_OFFSET 0
229 #define DMI_SBADDRESS1_ADDRESS_LENGTH 32
230 #define DMI_SBADDRESS1_ADDRESS (0xffffffff << DMI_SBADDRESS1_ADDRESS_OFFSET)
231 #define DMI_SBADDRESS2 0x06
232 #define DMI_SBADDRESS2_BUSY_OFFSET 31
233 #define DMI_SBADDRESS2_BUSY_LENGTH 1
234 #define DMI_SBADDRESS2_BUSY (0x1 << DMI_SBADDRESS2_BUSY_OFFSET)
235 #define DMI_SBADDRESS2_ADDRESS_OFFSET 0
236 #define DMI_SBADDRESS2_ADDRESS_LENGTH 31
237 #define DMI_SBADDRESS2_ADDRESS (0x7fffffff << DMI_SBADDRESS2_ADDRESS_OFFSET)
238 #define DMI_SBDATA0 0x07
239 #define DMI_SBDATA0_DATA_OFFSET 0
240 #define DMI_SBDATA0_DATA_LENGTH 32
241 #define DMI_SBDATA0_DATA (0xffffffff << DMI_SBDATA0_DATA_OFFSET)
242 #define DMI_SBDATA1 0x08
243 #define DMI_SBDATA1_DATA_OFFSET 0
244 #define DMI_SBDATA1_DATA_LENGTH 32
245 #define DMI_SBDATA1_DATA (0xffffffff << DMI_SBDATA1_DATA_OFFSET)
246 #define DMI_SBDATA2 0x09
247 #define DMI_SBDATA2_DATA_OFFSET 0
248 #define DMI_SBDATA2_DATA_LENGTH 32
249 #define DMI_SBDATA2_DATA (0xffffffff << DMI_SBDATA2_DATA_OFFSET)
250 #define DMI_SBDATA3 0x0a
251 #define DMI_SBDATA3_DATA_OFFSET 0
252 #define DMI_SBDATA3_DATA_LENGTH 32
253 #define DMI_SBDATA3_DATA (0xffffffff << DMI_SBDATA3_DATA_OFFSET)
254 #define DMI_ABSTRACTCS 0x0b
255 #define DMI_ABSTRACTCS_AUTOEXEC7_OFFSET 15
256 #define DMI_ABSTRACTCS_AUTOEXEC7_LENGTH 1
257 #define DMI_ABSTRACTCS_AUTOEXEC7 (0x1 << DMI_ABSTRACTCS_AUTOEXEC7_OFFSET)
258 #define DMI_ABSTRACTCS_AUTOEXEC6_OFFSET 14
259 #define DMI_ABSTRACTCS_AUTOEXEC6_LENGTH 1
260 #define DMI_ABSTRACTCS_AUTOEXEC6 (0x1 << DMI_ABSTRACTCS_AUTOEXEC6_OFFSET)
261 #define DMI_ABSTRACTCS_AUTOEXEC5_OFFSET 13
262 #define DMI_ABSTRACTCS_AUTOEXEC5_LENGTH 1
263 #define DMI_ABSTRACTCS_AUTOEXEC5 (0x1 << DMI_ABSTRACTCS_AUTOEXEC5_OFFSET)
264 #define DMI_ABSTRACTCS_AUTOEXEC4_OFFSET 12
265 #define DMI_ABSTRACTCS_AUTOEXEC4_LENGTH 1
266 #define DMI_ABSTRACTCS_AUTOEXEC4 (0x1 << DMI_ABSTRACTCS_AUTOEXEC4_OFFSET)
267 #define DMI_ABSTRACTCS_AUTOEXEC3_OFFSET 11
268 #define DMI_ABSTRACTCS_AUTOEXEC3_LENGTH 1
269 #define DMI_ABSTRACTCS_AUTOEXEC3 (0x1 << DMI_ABSTRACTCS_AUTOEXEC3_OFFSET)
270 #define DMI_ABSTRACTCS_AUTOEXEC2_OFFSET 10
271 #define DMI_ABSTRACTCS_AUTOEXEC2_LENGTH 1
272 #define DMI_ABSTRACTCS_AUTOEXEC2 (0x1 << DMI_ABSTRACTCS_AUTOEXEC2_OFFSET)
273 #define DMI_ABSTRACTCS_AUTOEXEC1_OFFSET 9
274 #define DMI_ABSTRACTCS_AUTOEXEC1_LENGTH 1
275 #define DMI_ABSTRACTCS_AUTOEXEC1 (0x1 << DMI_ABSTRACTCS_AUTOEXEC1_OFFSET)
276 #define DMI_ABSTRACTCS_AUTOEXEC0_OFFSET 8
277 #define DMI_ABSTRACTCS_AUTOEXEC0_LENGTH 1
278 #define DMI_ABSTRACTCS_AUTOEXEC0 (0x1 << DMI_ABSTRACTCS_AUTOEXEC0_OFFSET)
279 #define DMI_ABSTRACTCS_CMDERR_OFFSET 5
280 #define DMI_ABSTRACTCS_CMDERR_LENGTH 3
281 #define DMI_ABSTRACTCS_CMDERR (0x7 << DMI_ABSTRACTCS_CMDERR_OFFSET)
282 #define DMI_ABSTRACTCS_BUSY_OFFSET 4
283 #define DMI_ABSTRACTCS_BUSY_LENGTH 1
284 #define DMI_ABSTRACTCS_BUSY (0x1 << DMI_ABSTRACTCS_BUSY_OFFSET)
285 #define DMI_ABSTRACTCS_DATACOUNT_OFFSET 0
286 #define DMI_ABSTRACTCS_DATACOUNT_LENGTH 4
287 #define DMI_ABSTRACTCS_DATACOUNT (0xf << DMI_ABSTRACTCS_DATACOUNT_OFFSET)
288 #define DMI_COMMAND 0x0c
289 #define DMI_COMMAND_COMMAND_OFFSET 0
290 #define DMI_COMMAND_COMMAND_LENGTH 32
291 #define DMI_COMMAND_COMMAND (0xffffffff << DMI_COMMAND_COMMAND_OFFSET)
292 #define DMI_DATA0 0x0d
293 #define DMI_DATA0_DATA_OFFSET 0
294 #define DMI_DATA0_DATA_LENGTH 32
295 #define DMI_DATA0_DATA (0xffffffff << DMI_DATA0_DATA_OFFSET)
296 #define DMI_DATA1 0x0e
297 #define DMI_DATA2 0x0f
298 #define DMI_DATA3 0x10
299 #define DMI_DATA4 0x11
300 #define DMI_DATA5 0x12
301 #define DMI_DATA6 0x13
302 #define DMI_DATA7 0x14
303 #define DMI_ACCESSCS 0x15
304 #define DMI_ACCESSCS_PROGSIZE_OFFSET 0
305 #define DMI_ACCESSCS_PROGSIZE_LENGTH 4
306 #define DMI_ACCESSCS_PROGSIZE (0xf << DMI_ACCESSCS_PROGSIZE_OFFSET)
307 #define DMI_IBUF0 0x18
308 #define DMI_IBUF0_DATA_OFFSET 0
309 #define DMI_IBUF0_DATA_LENGTH 32
310 #define DMI_IBUF0_DATA (0xffffffff << DMI_IBUF0_DATA_OFFSET)
311 #define DMI_IBUF1 0x19
312 #define DMI_IBUF2 0x1a
313 #define DMI_IBUF3 0x1b
314 #define DMI_IBUF4 0x1c
315 #define DMI_IBUF5 0x1d
316 #define DMI_IBUF6 0x1e
317 #define DMI_IBUF7 0x1f
318 #define DMI_AUTHDATA0 0x20
319 #define DMI_AUTHDATA0_DATA_OFFSET 0
320 #define DMI_AUTHDATA0_DATA_LENGTH 32
321 #define DMI_AUTHDATA0_DATA (0xffffffff << DMI_AUTHDATA0_DATA_OFFSET)
322 #define DMI_AUTHDATA1 0x21
323 #define DMI_AUTHDATA1_DATA_OFFSET 0
324 #define DMI_AUTHDATA1_DATA_LENGTH 32
325 #define DMI_AUTHDATA1_DATA (0xffffffff << DMI_AUTHDATA1_DATA_OFFSET)
326 #define DMI_SERDATA 0x22
327 #define DMI_SERDATA_DATA_OFFSET 0
328 #define DMI_SERDATA_DATA_LENGTH 32
329 #define DMI_SERDATA_DATA (0xffffffff << DMI_SERDATA_DATA_OFFSET)
330 #define DMI_SERSTATUS 0x23
331 #define DMI_SERSTATUS_SERIALCOUNT_OFFSET 28
332 #define DMI_SERSTATUS_SERIALCOUNT_LENGTH 4
333 #define DMI_SERSTATUS_SERIALCOUNT (0xf << DMI_SERSTATUS_SERIALCOUNT_OFFSET)
334 #define DMI_SERSTATUS_SERIAL_OFFSET 16
335 #define DMI_SERSTATUS_SERIAL_LENGTH 3
336 #define DMI_SERSTATUS_SERIAL (0x7 << DMI_SERSTATUS_SERIAL_OFFSET)
337 #define DMI_SERSTATUS_VALID7_OFFSET 15
338 #define DMI_SERSTATUS_VALID7_LENGTH 1
339 #define DMI_SERSTATUS_VALID7 (0x1 << DMI_SERSTATUS_VALID7_OFFSET)
340 #define DMI_SERSTATUS_FULL_OVERFLOW7_OFFSET 14
341 #define DMI_SERSTATUS_FULL_OVERFLOW7_LENGTH 1
342 #define DMI_SERSTATUS_FULL_OVERFLOW7 (0x1 << DMI_SERSTATUS_FULL_OVERFLOW7_OFFSET)
343 #define DMI_SERSTATUS_VALID6_OFFSET 13
344 #define DMI_SERSTATUS_VALID6_LENGTH 1
345 #define DMI_SERSTATUS_VALID6 (0x1 << DMI_SERSTATUS_VALID6_OFFSET)
346 #define DMI_SERSTATUS_FULL_OVERFLOW6_OFFSET 12
347 #define DMI_SERSTATUS_FULL_OVERFLOW6_LENGTH 1
348 #define DMI_SERSTATUS_FULL_OVERFLOW6 (0x1 << DMI_SERSTATUS_FULL_OVERFLOW6_OFFSET)
349 #define DMI_SERSTATUS_VALID5_OFFSET 11
350 #define DMI_SERSTATUS_VALID5_LENGTH 1
351 #define DMI_SERSTATUS_VALID5 (0x1 << DMI_SERSTATUS_VALID5_OFFSET)
352 #define DMI_SERSTATUS_FULL_OVERFLOW5_OFFSET 10
353 #define DMI_SERSTATUS_FULL_OVERFLOW5_LENGTH 1
354 #define DMI_SERSTATUS_FULL_OVERFLOW5 (0x1 << DMI_SERSTATUS_FULL_OVERFLOW5_OFFSET)
355 #define DMI_SERSTATUS_VALID4_OFFSET 9
356 #define DMI_SERSTATUS_VALID4_LENGTH 1
357 #define DMI_SERSTATUS_VALID4 (0x1 << DMI_SERSTATUS_VALID4_OFFSET)
358 #define DMI_SERSTATUS_FULL_OVERFLOW4_OFFSET 8
359 #define DMI_SERSTATUS_FULL_OVERFLOW4_LENGTH 1
360 #define DMI_SERSTATUS_FULL_OVERFLOW4 (0x1 << DMI_SERSTATUS_FULL_OVERFLOW4_OFFSET)
361 #define DMI_SERSTATUS_VALID3_OFFSET 7
362 #define DMI_SERSTATUS_VALID3_LENGTH 1
363 #define DMI_SERSTATUS_VALID3 (0x1 << DMI_SERSTATUS_VALID3_OFFSET)
364 #define DMI_SERSTATUS_FULL_OVERFLOW3_OFFSET 6
365 #define DMI_SERSTATUS_FULL_OVERFLOW3_LENGTH 1
366 #define DMI_SERSTATUS_FULL_OVERFLOW3 (0x1 << DMI_SERSTATUS_FULL_OVERFLOW3_OFFSET)
367 #define DMI_SERSTATUS_VALID2_OFFSET 5
368 #define DMI_SERSTATUS_VALID2_LENGTH 1
369 #define DMI_SERSTATUS_VALID2 (0x1 << DMI_SERSTATUS_VALID2_OFFSET)
370 #define DMI_SERSTATUS_FULL_OVERFLOW2_OFFSET 4
371 #define DMI_SERSTATUS_FULL_OVERFLOW2_LENGTH 1
372 #define DMI_SERSTATUS_FULL_OVERFLOW2 (0x1 << DMI_SERSTATUS_FULL_OVERFLOW2_OFFSET)
373 #define DMI_SERSTATUS_VALID1_OFFSET 3
374 #define DMI_SERSTATUS_VALID1_LENGTH 1
375 #define DMI_SERSTATUS_VALID1 (0x1 << DMI_SERSTATUS_VALID1_OFFSET)
376 #define DMI_SERSTATUS_FULL_OVERFLOW1_OFFSET 2
377 #define DMI_SERSTATUS_FULL_OVERFLOW1_LENGTH 1
378 #define DMI_SERSTATUS_FULL_OVERFLOW1 (0x1 << DMI_SERSTATUS_FULL_OVERFLOW1_OFFSET)
379 #define DMI_SERSTATUS_VALID0_OFFSET 1
380 #define DMI_SERSTATUS_VALID0_LENGTH 1
381 #define DMI_SERSTATUS_VALID0 (0x1 << DMI_SERSTATUS_VALID0_OFFSET)
382 #define DMI_SERSTATUS_FULL_OVERFLOW0_OFFSET 0
383 #define DMI_SERSTATUS_FULL_OVERFLOW0_LENGTH 1
384 #define DMI_SERSTATUS_FULL_OVERFLOW0 (0x1 << DMI_SERSTATUS_FULL_OVERFLOW0_OFFSET)
385 #define SERINFO 0x110
386 #define SERINFO_SERIAL7_OFFSET 7
387 #define SERINFO_SERIAL7_LENGTH 1
388 #define SERINFO_SERIAL7 (0x1 << SERINFO_SERIAL7_OFFSET)
389 #define SERINFO_SERIAL6_OFFSET 6
390 #define SERINFO_SERIAL6_LENGTH 1
391 #define SERINFO_SERIAL6 (0x1 << SERINFO_SERIAL6_OFFSET)
392 #define SERINFO_SERIAL5_OFFSET 5
393 #define SERINFO_SERIAL5_LENGTH 1
394 #define SERINFO_SERIAL5 (0x1 << SERINFO_SERIAL5_OFFSET)
395 #define SERINFO_SERIAL4_OFFSET 4
396 #define SERINFO_SERIAL4_LENGTH 1
397 #define SERINFO_SERIAL4 (0x1 << SERINFO_SERIAL4_OFFSET)
398 #define SERINFO_SERIAL3_OFFSET 3
399 #define SERINFO_SERIAL3_LENGTH 1
400 #define SERINFO_SERIAL3 (0x1 << SERINFO_SERIAL3_OFFSET)
401 #define SERINFO_SERIAL2_OFFSET 2
402 #define SERINFO_SERIAL2_LENGTH 1
403 #define SERINFO_SERIAL2 (0x1 << SERINFO_SERIAL2_OFFSET)
404 #define SERINFO_SERIAL1_OFFSET 1
405 #define SERINFO_SERIAL1_LENGTH 1
406 #define SERINFO_SERIAL1 (0x1 << SERINFO_SERIAL1_OFFSET)
407 #define SERINFO_SERIAL0_OFFSET 0
408 #define SERINFO_SERIAL0_LENGTH 1
409 #define SERINFO_SERIAL0 (0x1 << SERINFO_SERIAL0_OFFSET)
410 #define SERSEND0 0x200
411 #define SERRECV0 0x204
412 #define SERSTAT0 0x208
413 #define SERSTAT0_SENDR_OFFSET 1
414 #define SERSTAT0_SENDR_LENGTH 1
415 #define SERSTAT0_SENDR (0x1 << SERSTAT0_SENDR_OFFSET)
416 #define SERSTAT0_RECVR_OFFSET 0
417 #define SERSTAT0_RECVR_LENGTH 1
418 #define SERSTAT0_RECVR (0x1 << SERSTAT0_RECVR_OFFSET)
419 #define SERSEND1 0x20c
420 #define SERRECV1 0x210
421 #define SERSTAT1 0x214
422 #define SERSEND2 0x218
423 #define SERRECV2 0x21c
424 #define SERSTAT2 0x220
425 #define SERSEND3 0x224
426 #define SERRECV3 0x228
427 #define SERSTAT3 0x22c
428 #define SERSEND4 0x230
429 #define SERRECV4 0x234
430 #define SERSTAT4 0x238
431 #define SERSEND5 0x23c
432 #define SERRECV5 0x240
433 #define SERSTAT5 0x244
434 #define SERSEND6 0x248
435 #define SERRECV6 0x24c
436 #define SERSTAT6 0x250
437 #define SERSEND7 0x254
438 #define SERRECV7 0x258
439 #define SERSTAT7 0x25c
440 #define CSR_TSELECT 0x7a0
441 #define CSR_TSELECT_INDEX_OFFSET 0
442 #define CSR_TSELECT_INDEX_LENGTH XLEN
443 #define CSR_TSELECT_INDEX (((1<<XLEN)-1) << CSR_TSELECT_INDEX_OFFSET)
444 #define CSR_TDATA1 0x7a1
445 #define CSR_TDATA1_TYPE_OFFSET XLEN-4
446 #define CSR_TDATA1_TYPE_LENGTH 4
447 #define CSR_TDATA1_TYPE (0xf << CSR_TDATA1_TYPE_OFFSET)
448 #define CSR_TDATA1_DMODE_OFFSET XLEN-5
449 #define CSR_TDATA1_DMODE_LENGTH 1
450 #define CSR_TDATA1_DMODE (0x1 << CSR_TDATA1_DMODE_OFFSET)
451 #define CSR_TDATA1_DATA_OFFSET 0
452 #define CSR_TDATA1_DATA_LENGTH XLEN - 5
453 #define CSR_TDATA1_DATA (((1<<XLEN - 5)-1) << CSR_TDATA1_DATA_OFFSET)
454 #define CSR_TDATA2 0x7a2
455 #define CSR_TDATA2_DATA_OFFSET 0
456 #define CSR_TDATA2_DATA_LENGTH XLEN
457 #define CSR_TDATA2_DATA (((1<<XLEN)-1) << CSR_TDATA2_DATA_OFFSET)
458 #define CSR_TDATA3 0x7a3
459 #define CSR_TDATA3_DATA_OFFSET 0
460 #define CSR_TDATA3_DATA_LENGTH XLEN
461 #define CSR_TDATA3_DATA (((1<<XLEN)-1) << CSR_TDATA3_DATA_OFFSET)
462 #define CSR_MCONTROL 0x7a1
463 #define CSR_MCONTROL_TYPE_OFFSET XLEN-4
464 #define CSR_MCONTROL_TYPE_LENGTH 4
465 #define CSR_MCONTROL_TYPE (0xf << CSR_MCONTROL_TYPE_OFFSET)
466 #define CSR_MCONTROL_DMODE_OFFSET XLEN-5
467 #define CSR_MCONTROL_DMODE_LENGTH 1
468 #define CSR_MCONTROL_DMODE (0x1 << CSR_MCONTROL_DMODE_OFFSET)
469 #define CSR_MCONTROL_MASKMAX_OFFSET XLEN-11
470 #define CSR_MCONTROL_MASKMAX_LENGTH 6
471 #define CSR_MCONTROL_MASKMAX (0x3f << CSR_MCONTROL_MASKMAX_OFFSET)
472 #define CSR_MCONTROL_SELECT_OFFSET 19
473 #define CSR_MCONTROL_SELECT_LENGTH 1
474 #define CSR_MCONTROL_SELECT (0x1 << CSR_MCONTROL_SELECT_OFFSET)
475 #define CSR_MCONTROL_TIMING_OFFSET 18
476 #define CSR_MCONTROL_TIMING_LENGTH 1
477 #define CSR_MCONTROL_TIMING (0x1 << CSR_MCONTROL_TIMING_OFFSET)
478 #define CSR_MCONTROL_ACTION_OFFSET 12
479 #define CSR_MCONTROL_ACTION_LENGTH 6
480 #define CSR_MCONTROL_ACTION (0x3f << CSR_MCONTROL_ACTION_OFFSET)
481 #define CSR_MCONTROL_CHAIN_OFFSET 11
482 #define CSR_MCONTROL_CHAIN_LENGTH 1
483 #define CSR_MCONTROL_CHAIN (0x1 << CSR_MCONTROL_CHAIN_OFFSET)
484 #define CSR_MCONTROL_MATCH_OFFSET 7
485 #define CSR_MCONTROL_MATCH_LENGTH 4
486 #define CSR_MCONTROL_MATCH (0xf << CSR_MCONTROL_MATCH_OFFSET)
487 #define CSR_MCONTROL_M_OFFSET 6
488 #define CSR_MCONTROL_M_LENGTH 1
489 #define CSR_MCONTROL_M (0x1 << CSR_MCONTROL_M_OFFSET)
490 #define CSR_MCONTROL_H_OFFSET 5
491 #define CSR_MCONTROL_H_LENGTH 1
492 #define CSR_MCONTROL_H (0x1 << CSR_MCONTROL_H_OFFSET)
493 #define CSR_MCONTROL_S_OFFSET 4
494 #define CSR_MCONTROL_S_LENGTH 1
495 #define CSR_MCONTROL_S (0x1 << CSR_MCONTROL_S_OFFSET)
496 #define CSR_MCONTROL_U_OFFSET 3
497 #define CSR_MCONTROL_U_LENGTH 1
498 #define CSR_MCONTROL_U (0x1 << CSR_MCONTROL_U_OFFSET)
499 #define CSR_MCONTROL_EXECUTE_OFFSET 2
500 #define CSR_MCONTROL_EXECUTE_LENGTH 1
501 #define CSR_MCONTROL_EXECUTE (0x1 << CSR_MCONTROL_EXECUTE_OFFSET)
502 #define CSR_MCONTROL_STORE_OFFSET 1
503 #define CSR_MCONTROL_STORE_LENGTH 1
504 #define CSR_MCONTROL_STORE (0x1 << CSR_MCONTROL_STORE_OFFSET)
505 #define CSR_MCONTROL_LOAD_OFFSET 0
506 #define CSR_MCONTROL_LOAD_LENGTH 1
507 #define CSR_MCONTROL_LOAD (0x1 << CSR_MCONTROL_LOAD_OFFSET)
508 #define CSR_ICOUNT 0x7a1
509 #define CSR_ICOUNT_TYPE_OFFSET XLEN-4
510 #define CSR_ICOUNT_TYPE_LENGTH 4
511 #define CSR_ICOUNT_TYPE (0xf << CSR_ICOUNT_TYPE_OFFSET)
512 #define CSR_ICOUNT_DMODE_OFFSET XLEN-5
513 #define CSR_ICOUNT_DMODE_LENGTH 1
514 #define CSR_ICOUNT_DMODE (0x1 << CSR_ICOUNT_DMODE_OFFSET)
515 #define CSR_ICOUNT_COUNT_OFFSET 10
516 #define CSR_ICOUNT_COUNT_LENGTH 14
517 #define CSR_ICOUNT_COUNT (0x3fff << CSR_ICOUNT_COUNT_OFFSET)
518 #define CSR_ICOUNT_M_OFFSET 9
519 #define CSR_ICOUNT_M_LENGTH 1
520 #define CSR_ICOUNT_M (0x1 << CSR_ICOUNT_M_OFFSET)
521 #define CSR_ICOUNT_H_OFFSET 8
522 #define CSR_ICOUNT_H_LENGTH 1
523 #define CSR_ICOUNT_H (0x1 << CSR_ICOUNT_H_OFFSET)
524 #define CSR_ICOUNT_S_OFFSET 7
525 #define CSR_ICOUNT_S_LENGTH 1
526 #define CSR_ICOUNT_S (0x1 << CSR_ICOUNT_S_OFFSET)
527 #define CSR_ICOUNT_U_OFFSET 6
528 #define CSR_ICOUNT_U_LENGTH 1
529 #define CSR_ICOUNT_U (0x1 << CSR_ICOUNT_U_OFFSET)
530 #define CSR_ICOUNT_ACTION_OFFSET 0
531 #define CSR_ICOUNT_ACTION_LENGTH 6
532 #define CSR_ICOUNT_ACTION (0x3f << CSR_ICOUNT_ACTION_OFFSET)
533 #define DTM_IDCODE 0x01
534 #define DTM_IDCODE_VERSION_OFFSET 28
535 #define DTM_IDCODE_VERSION_LENGTH 4
536 #define DTM_IDCODE_VERSION (0xf << DTM_IDCODE_VERSION_OFFSET)
537 #define DTM_IDCODE_PARTNUMBER_OFFSET 12
538 #define DTM_IDCODE_PARTNUMBER_LENGTH 16
539 #define DTM_IDCODE_PARTNUMBER (0xffff << DTM_IDCODE_PARTNUMBER_OFFSET)
540 #define DTM_IDCODE_MANUFID_OFFSET 1
541 #define DTM_IDCODE_MANUFID_LENGTH 11
542 #define DTM_IDCODE_MANUFID (0x7ff << DTM_IDCODE_MANUFID_OFFSET)
543 #define DTM_IDCODE_1_OFFSET 0
544 #define DTM_IDCODE_1_LENGTH 1
545 #define DTM_IDCODE_1 (0x1 << DTM_IDCODE_1_OFFSET)
546 #define DTM_SAMPLE 0x02
547 #define DTM_PRELOAD 0x03
548 #define DTM_EXTEST 0x04
549 #define DTM_CLAMP 0x05
550 #define DTM_CLAMP__HOLD 0x06
551 #define DTM_CLAMP__RELEASE 0x07
552 #define DTM_HIGHZ 0x08
553 #define DTM_IC__RESET 0x09
554 #define DTM_TMP__STATUS 0x0a
555 #define DTM_INIT__SETUP 0x0b
556 #define DTM_INIT__SETUP__CLAMP 0x0c
557 #define DTM_INIT__RUN 0x0d
558 #define DTM_DTMCONTROL 0x10
559 #define DTM_DTMCONTROL_DBUSRESET_OFFSET 16
560 #define DTM_DTMCONTROL_DBUSRESET_LENGTH 1
561 #define DTM_DTMCONTROL_DBUSRESET (0x1 << DTM_DTMCONTROL_DBUSRESET_OFFSET)
562 #define DTM_DTMCONTROL_IDLE_OFFSET 12
563 #define DTM_DTMCONTROL_IDLE_LENGTH 3
564 #define DTM_DTMCONTROL_IDLE (0x7 << DTM_DTMCONTROL_IDLE_OFFSET)
565 #define DTM_DTMCONTROL_DBUSSTAT_OFFSET 10
566 #define DTM_DTMCONTROL_DBUSSTAT_LENGTH 2
567 #define DTM_DTMCONTROL_DBUSSTAT (0x3 << DTM_DTMCONTROL_DBUSSTAT_OFFSET)
568 #define DTM_DTMCONTROL_ABITS_OFFSET 4
569 #define DTM_DTMCONTROL_ABITS_LENGTH 6
570 #define DTM_DTMCONTROL_ABITS (0x3f << DTM_DTMCONTROL_ABITS_OFFSET)
571 #define DTM_DTMCONTROL_VERSION_OFFSET 0
572 #define DTM_DTMCONTROL_VERSION_LENGTH 4
573 #define DTM_DTMCONTROL_VERSION (0xf << DTM_DTMCONTROL_VERSION_OFFSET)
574 #define DTM_DBUS 0x11
575 #define DTM_DBUS_ADDRESS_OFFSET 34
576 #define DTM_DBUS_ADDRESS_LENGTH abits
577 #define DTM_DBUS_ADDRESS (((1<<abits)-1) << DTM_DBUS_ADDRESS_OFFSET)
578 #define DTM_DBUS_DATA_OFFSET 2
579 #define DTM_DBUS_DATA_LENGTH 32
580 #define DTM_DBUS_DATA (0xffffffff << DTM_DBUS_DATA_OFFSET)
581 #define DTM_DBUS_OP_OFFSET 0
582 #define DTM_DBUS_OP_LENGTH 2
583 #define DTM_DBUS_OP (0x3 << DTM_DBUS_OP_OFFSET)
584 #define SHORTNAME 0x123
585 #define SHORTNAME_FIELD_OFFSET 0
586 #define SHORTNAME_FIELD_LENGTH 8
587 #define SHORTNAME_FIELD (0xff << SHORTNAME_FIELD_OFFSET)
588 #define TRACE 0x728
589 #define TRACE_WRAPPED_OFFSET 24
590 #define TRACE_WRAPPED_LENGTH 1
591 #define TRACE_WRAPPED (0x1 << TRACE_WRAPPED_OFFSET)
592 #define TRACE_EMITTIMESTAMP_OFFSET 23
593 #define TRACE_EMITTIMESTAMP_LENGTH 1
594 #define TRACE_EMITTIMESTAMP (0x1 << TRACE_EMITTIMESTAMP_OFFSET)
595 #define TRACE_EMITSTOREDATA_OFFSET 22
596 #define TRACE_EMITSTOREDATA_LENGTH 1
597 #define TRACE_EMITSTOREDATA (0x1 << TRACE_EMITSTOREDATA_OFFSET)
598 #define TRACE_EMITLOADDATA_OFFSET 21
599 #define TRACE_EMITLOADDATA_LENGTH 1
600 #define TRACE_EMITLOADDATA (0x1 << TRACE_EMITLOADDATA_OFFSET)
601 #define TRACE_EMITSTOREADDR_OFFSET 20
602 #define TRACE_EMITSTOREADDR_LENGTH 1
603 #define TRACE_EMITSTOREADDR (0x1 << TRACE_EMITSTOREADDR_OFFSET)
604 #define TRACE_EMITLOADADDR_OFFSET 19
605 #define TRACE_EMITLOADADDR_LENGTH 1
606 #define TRACE_EMITLOADADDR (0x1 << TRACE_EMITLOADADDR_OFFSET)
607 #define TRACE_EMITPRIV_OFFSET 18
608 #define TRACE_EMITPRIV_LENGTH 1
609 #define TRACE_EMITPRIV (0x1 << TRACE_EMITPRIV_OFFSET)
610 #define TRACE_EMITBRANCH_OFFSET 17
611 #define TRACE_EMITBRANCH_LENGTH 1
612 #define TRACE_EMITBRANCH (0x1 << TRACE_EMITBRANCH_OFFSET)
613 #define TRACE_EMITPC_OFFSET 16
614 #define TRACE_EMITPC_LENGTH 1
615 #define TRACE_EMITPC (0x1 << TRACE_EMITPC_OFFSET)
616 #define TRACE_FULLACTION_OFFSET 8
617 #define TRACE_FULLACTION_LENGTH 2
618 #define TRACE_FULLACTION (0x3 << TRACE_FULLACTION_OFFSET)
619 #define TRACE_DESTINATION_OFFSET 4
620 #define TRACE_DESTINATION_LENGTH 2
621 #define TRACE_DESTINATION (0x3 << TRACE_DESTINATION_OFFSET)
622 #define TRACE_STALL_OFFSET 2
623 #define TRACE_STALL_LENGTH 1
624 #define TRACE_STALL (0x1 << TRACE_STALL_OFFSET)
625 #define TRACE_DISCARD_OFFSET 1
626 #define TRACE_DISCARD_LENGTH 1
627 #define TRACE_DISCARD (0x1 << TRACE_DISCARD_OFFSET)
628 #define TRACE_SUPPORTED_OFFSET 0
629 #define TRACE_SUPPORTED_LENGTH 1
630 #define TRACE_SUPPORTED (0x1 << TRACE_SUPPORTED_OFFSET)
631 #define TBUFSTART 0x729
632 #define TBUFEND 0x72a
633 #define TBUFWRITE 0x72b