1 /*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
24 */
25
26 #include <sys/trapstat.h>
27 #include "_trapstat.h"
28
29 static tstat_ent_t g_traps[TSTAT_NENT] = {
30 #ifndef sun4v
31 { NULL, NULL, TSTAT_ENT_RESERVED },
32 { "power-on", "power on reset" },
33 { "watchdog", "watchdog reset" },
34 { "xir", "externally initiated reset" },
35 { "sir", "software initiated reset" },
36 { "red", "RED state exception" },
37 { NULL, NULL, TSTAT_ENT_RESERVED },
38 { NULL, NULL, TSTAT_ENT_RESERVED },
39 { "immu-xcp", "instruction access exception" },
40 { "immu-miss", "instruction access MMU miss" },
41 { "immu-err", "instruction access error" },
42 { NULL, NULL, TSTAT_ENT_RESERVED },
43 { NULL, NULL, TSTAT_ENT_RESERVED },
44 { NULL, NULL, TSTAT_ENT_RESERVED },
45 { NULL, NULL, TSTAT_ENT_RESERVED },
46 { NULL, NULL, TSTAT_ENT_RESERVED },
47 { "ill-inst", "illegal instruction" },
48 { "priv-inst", "privileged opcode" },
49 { "unimp-ldd", "unimplemented LDD" },
50 { "unimp-std", "unimplemented STD" },
51 { NULL, NULL, TSTAT_ENT_RESERVED },
52 { NULL, NULL, TSTAT_ENT_RESERVED },
53 { NULL, NULL, TSTAT_ENT_RESERVED },
54 { NULL, NULL, TSTAT_ENT_RESERVED },
55 { NULL, NULL, TSTAT_ENT_RESERVED },
56 { NULL, NULL, TSTAT_ENT_RESERVED },
57 { NULL, NULL, TSTAT_ENT_RESERVED },
58 { NULL, NULL, TSTAT_ENT_RESERVED },
59 { NULL, NULL, TSTAT_ENT_RESERVED },
60 { NULL, NULL, TSTAT_ENT_RESERVED },
61 { NULL, NULL, TSTAT_ENT_RESERVED },
62 { NULL, NULL, TSTAT_ENT_RESERVED },
63 { "fp-disabled", "fp disabled" },
64 { "fp-ieee754", "fp exception ieee754" },
65 { "fp-xcp-other", "fp exception other" },
66 { "tag-oflow", "tag overflow" },
67 { "cleanwin", "clean window" },
68 { NULL, NULL, TSTAT_ENT_CONTINUED },
69 { NULL, NULL, TSTAT_ENT_CONTINUED },
70 { NULL, NULL, TSTAT_ENT_CONTINUED },
71 { "div-zero", "division by zero" },
72 { "internal-err", "internal processor error" },
73 { NULL, NULL, TSTAT_ENT_RESERVED },
74 { NULL, NULL, TSTAT_ENT_RESERVED },
75 { NULL, NULL, TSTAT_ENT_RESERVED },
76 { NULL, NULL, TSTAT_ENT_RESERVED },
77 { NULL, NULL, TSTAT_ENT_RESERVED },
78 { NULL, NULL, TSTAT_ENT_RESERVED },
79 { "dmmu-xcp", "data access exception" },
80 { "dmmu-miss", "data access MMU miss" },
81 { "dmmu-err", "data access error" },
82 { "dmmu-prot", "data access protection" },
83 { "unalign", "mem address not aligned" },
84 { "lddf-unalign", "LDDF mem address not aligned" },
85 { "stdf-unalign", "STDF mem address not aligned" },
86 { "priv-act", "privileged action" },
87 { "ldqf-unalign", "LDQF mem address not aligned" },
88 { "stqf-unalign", "STQF mem address not aligned" },
89 { NULL, NULL, TSTAT_ENT_RESERVED },
90 { NULL, NULL, TSTAT_ENT_RESERVED },
91 { NULL, NULL, TSTAT_ENT_RESERVED },
92 { NULL, NULL, TSTAT_ENT_RESERVED },
93 { NULL, NULL, TSTAT_ENT_RESERVED },
94 { NULL, NULL, TSTAT_ENT_RESERVED },
95 { "async-d-err", "async data error" },
96 { "level-1", "interrupt level 1" },
97 { "level-2", "interrupt level 2" },
98 { "level-3", "interrupt level 3" },
99 { "level-4", "interrupt level 4" },
100 { "level-5", "interrupt level 5" },
101 { "level-6", "interrupt level 6" },
102 { "level-7", "interrupt level 7" },
103 { "level-8", "interrupt level 8" },
104 { "level-9", "interrupt level 9" },
105 { "level-10", "interrupt level 10" },
106 { "level-11", "interrupt level 11" },
107 { "level-12", "interrupt level 12" },
108 { "level-13", "interrupt level 13" },
109 { "level-14", "interrupt level 14" },
110 { "level-15", "interrupt level 15" },
111 { NULL, NULL, TSTAT_ENT_RESERVED },
112 { NULL, NULL, TSTAT_ENT_RESERVED },
113 { NULL, NULL, TSTAT_ENT_RESERVED },
114 { NULL, NULL, TSTAT_ENT_RESERVED },
115 { NULL, NULL, TSTAT_ENT_RESERVED },
116 { NULL, NULL, TSTAT_ENT_RESERVED },
117 { NULL, NULL, TSTAT_ENT_RESERVED },
118 { NULL, NULL, TSTAT_ENT_RESERVED },
119 { NULL, NULL, TSTAT_ENT_RESERVED },
120 { NULL, NULL, TSTAT_ENT_RESERVED },
121 { NULL, NULL, TSTAT_ENT_RESERVED },
122 { NULL, NULL, TSTAT_ENT_RESERVED },
123 { NULL, NULL, TSTAT_ENT_RESERVED },
124 { NULL, NULL, TSTAT_ENT_RESERVED },
125 { NULL, NULL, TSTAT_ENT_RESERVED },
126 { NULL, NULL, TSTAT_ENT_RESERVED },
127 { "int-vec", "interrupt vector" },
128 { "pa-watch", "PA watchpoint" },
129 { "va-watch", "VA watchpoint" },
130 { "ecc-err", "corrected ECC error" },
131 { "itlb-miss", "instruction access MMU miss" },
132 { NULL, NULL, TSTAT_ENT_CONTINUED },
133 { NULL, NULL, TSTAT_ENT_CONTINUED },
134 { NULL, NULL, TSTAT_ENT_CONTINUED },
135 { "dtlb-miss", "data access MMU miss" },
136 { NULL, NULL, TSTAT_ENT_CONTINUED },
137 { NULL, NULL, TSTAT_ENT_CONTINUED },
138 { NULL, NULL, TSTAT_ENT_CONTINUED },
139 { "dtlb-prot", "data access protection" },
140 { NULL, NULL, TSTAT_ENT_CONTINUED },
141 { NULL, NULL, TSTAT_ENT_CONTINUED },
142 { NULL, NULL, TSTAT_ENT_CONTINUED },
143 { "fast-ecc", "fast ECC error" },
144 { "dcache-parity", "D-cache parity error" },
145 { "icache-parity", "I-cache parity error" },
146 { NULL, NULL, TSTAT_ENT_RESERVED },
147 { NULL, NULL, TSTAT_ENT_RESERVED },
148 { NULL, NULL, TSTAT_ENT_RESERVED },
149 { NULL, NULL, TSTAT_ENT_RESERVED },
150 { NULL, NULL, TSTAT_ENT_RESERVED },
151 { NULL, NULL, TSTAT_ENT_RESERVED },
152 { NULL, NULL, TSTAT_ENT_RESERVED },
153 { NULL, NULL, TSTAT_ENT_RESERVED },
154 { NULL, NULL, TSTAT_ENT_RESERVED },
155 { NULL, NULL, TSTAT_ENT_RESERVED },
156 { NULL, NULL, TSTAT_ENT_RESERVED },
157 { NULL, NULL, TSTAT_ENT_RESERVED },
158 { NULL, NULL, TSTAT_ENT_RESERVED },
159 #else /* sun4v */
160 { NULL, NULL, TSTAT_ENT_RESERVED },
161 { NULL, NULL, TSTAT_ENT_RESERVED },
162 { "watchdog", "watchdog reset" },
163 { NULL, NULL, TSTAT_ENT_RESERVED },
164 { NULL, NULL, TSTAT_ENT_RESERVED },
165 { NULL, NULL, TSTAT_ENT_RESERVED },
166 { NULL, NULL, TSTAT_ENT_RESERVED },
167 { NULL, NULL, TSTAT_ENT_RESERVED },
168 { "immu-xcp", "instruction access exception" },
169 { "immu-miss", "instruction access MMU miss" },
170 { NULL, NULL, TSTAT_ENT_RESERVED },
171 { NULL, NULL, TSTAT_ENT_RESERVED },
172 { NULL, NULL, TSTAT_ENT_RESERVED },
173 { NULL, NULL, TSTAT_ENT_RESERVED },
174 { NULL, NULL, TSTAT_ENT_RESERVED },
175 { NULL, NULL, TSTAT_ENT_RESERVED },
176 { "ill-inst", "illegal instruction" },
177 { "priv-inst", "privileged opcode" },
178 { "unimp-ldd", "unimplemented LDD" },
179 { "unimp-std", "unimplemented STD" },
180 { NULL, NULL, TSTAT_ENT_RESERVED },
181 { NULL, NULL, TSTAT_ENT_RESERVED },
182 { NULL, NULL, TSTAT_ENT_RESERVED },
183 { NULL, NULL, TSTAT_ENT_RESERVED },
184 { NULL, NULL, TSTAT_ENT_RESERVED },
185 { NULL, NULL, TSTAT_ENT_RESERVED },
186 { NULL, NULL, TSTAT_ENT_RESERVED },
187 { NULL, NULL, TSTAT_ENT_RESERVED },
188 { NULL, NULL, TSTAT_ENT_RESERVED },
189 { NULL, NULL, TSTAT_ENT_RESERVED },
190 { NULL, NULL, TSTAT_ENT_RESERVED },
191 { NULL, NULL, TSTAT_ENT_RESERVED },
192 { "fp-disabled", "fp disabled" },
193 { "fp-ieee754", "fp exception ieee754" },
194 { "fp-xcp-other", "fp exception other" },
195 { "tag-oflow", "tag overflow" },
196 { "cleanwin", "clean window" },
197 { NULL, NULL, TSTAT_ENT_CONTINUED },
198 { NULL, NULL, TSTAT_ENT_CONTINUED },
199 { NULL, NULL, TSTAT_ENT_CONTINUED },
200 { "div-zero", "division by zero" },
201 { NULL, NULL, TSTAT_ENT_RESERVED },
202 { NULL, NULL, TSTAT_ENT_RESERVED },
203 { NULL, NULL, TSTAT_ENT_RESERVED },
204 { NULL, NULL, TSTAT_ENT_RESERVED },
205 { NULL, NULL, TSTAT_ENT_RESERVED },
206 { NULL, NULL, TSTAT_ENT_RESERVED },
207 { NULL, NULL, TSTAT_ENT_RESERVED },
208 { "dmmu-xcp", "data access exception" },
209 { "dmmu-miss", "data access MMU miss" },
210 { NULL, NULL, TSTAT_ENT_RESERVED },
211 { "dmmu-prot", "data access protection" },
212 { "unalign", "mem address not aligned" },
213 { "lddf-unalign", "LDDF mem address not aligned" },
214 { "stdf-unalign", "STDF mem address not aligned" },
215 { "priv-act", "privileged action" },
216 { "ldqf-unalign", "LDQF mem address not aligned" },
217 { "stqf-unalign", "STQF mem address not aligned" },
218 { NULL, NULL, TSTAT_ENT_RESERVED },
219 { NULL, NULL, TSTAT_ENT_RESERVED },
220 { NULL, NULL, TSTAT_ENT_RESERVED },
221 { NULL, NULL, TSTAT_ENT_RESERVED },
222 { NULL, NULL, TSTAT_ENT_RESERVED },
223 { NULL, NULL, TSTAT_ENT_RESERVED },
224 { NULL, NULL, TSTAT_ENT_RESERVED },
225 { "level-1", "interrupt level 1" },
226 { "level-2", "interrupt level 2" },
227 { "level-3", "interrupt level 3" },
228 { "level-4", "interrupt level 4" },
229 { "level-5", "interrupt level 5" },
230 { "level-6", "interrupt level 6" },
231 { "level-7", "interrupt level 7" },
232 { "level-8", "interrupt level 8" },
233 { "level-9", "interrupt level 9" },
234 { "level-10", "interrupt level 10" },
235 { "level-11", "interrupt level 11" },
236 { "level-12", "interrupt level 12" },
237 { "level-13", "interrupt level 13" },
238 { "level-14", "interrupt level 14" },
239 { "level-15", "interrupt level 15" },
240 { NULL, NULL, TSTAT_ENT_RESERVED },
241 { NULL, NULL, TSTAT_ENT_RESERVED },
242 { NULL, NULL, TSTAT_ENT_RESERVED },
243 { NULL, NULL, TSTAT_ENT_RESERVED },
244 { NULL, NULL, TSTAT_ENT_RESERVED },
245 { NULL, NULL, TSTAT_ENT_RESERVED },
246 { NULL, NULL, TSTAT_ENT_RESERVED },
247 { NULL, NULL, TSTAT_ENT_RESERVED },
248 { NULL, NULL, TSTAT_ENT_RESERVED },
249 { NULL, NULL, TSTAT_ENT_RESERVED },
250 { NULL, NULL, TSTAT_ENT_RESERVED },
251 { NULL, NULL, TSTAT_ENT_RESERVED },
252 { NULL, NULL, TSTAT_ENT_RESERVED },
253 { NULL, NULL, TSTAT_ENT_RESERVED },
254 { NULL, NULL, TSTAT_ENT_RESERVED },
255 { NULL, NULL, TSTAT_ENT_RESERVED },
256 { NULL, NULL, TSTAT_ENT_RESERVED },
257 { "pa-watch", "PA watchpoint" },
258 { "va-watch", "VA watchpoint" },
259 { NULL, NULL, TSTAT_ENT_RESERVED },
260 { "itlb-miss", "instruction access MMU miss" },
261 { NULL, NULL, TSTAT_ENT_CONTINUED },
262 { NULL, NULL, TSTAT_ENT_CONTINUED },
263 { NULL, NULL, TSTAT_ENT_CONTINUED },
264 { "dtlb-miss", "data access MMU miss" },
265 { NULL, NULL, TSTAT_ENT_CONTINUED },
266 { NULL, NULL, TSTAT_ENT_CONTINUED },
267 { NULL, NULL, TSTAT_ENT_CONTINUED },
268 { "dtlb-prot", "data access protection" },
269 { NULL, NULL, TSTAT_ENT_CONTINUED },
270 { NULL, NULL, TSTAT_ENT_CONTINUED },
271 { NULL, NULL, TSTAT_ENT_CONTINUED },
272 { NULL, NULL, TSTAT_ENT_RESERVED },
273 { NULL, NULL, TSTAT_ENT_RESERVED },
274 { NULL, NULL, TSTAT_ENT_RESERVED },
275 { "ctl-xfer", "control transfer" },
276 { NULL, NULL, TSTAT_ENT_RESERVED },
277 { "instr-brkpt", "instruction breakpoint" },
278 { NULL, NULL, TSTAT_ENT_RESERVED },
279 { NULL, NULL, TSTAT_ENT_RESERVED },
280 { NULL, NULL, TSTAT_ENT_RESERVED },
281 { NULL, NULL, TSTAT_ENT_RESERVED },
282 { NULL, NULL, TSTAT_ENT_RESERVED },
283 { "hw-changed", "hardware changed" },
284 { "cpu_mondo", "cpu mondo trap" },
285 { "dev_mondo", "device mondo trap" },
286 { "res-err", "resumable error" },
287 { "nonres-err", "non-resumable error" },
288 #endif /* sun4v */
289 { "spill-0-normal", "spill 0 normal" },
290 { NULL, NULL, TSTAT_ENT_CONTINUED },
291 { NULL, NULL, TSTAT_ENT_CONTINUED },
292 { NULL, NULL, TSTAT_ENT_CONTINUED },
293 { "spill-user-32", "spill user window, 32-bit" },
294 { NULL, NULL, TSTAT_ENT_CONTINUED },
295 { NULL, NULL, TSTAT_ENT_CONTINUED },
296 { NULL, NULL, TSTAT_ENT_CONTINUED },
297 { "spill-user-64", "spill user window, 64-bit" },
298 { NULL, NULL, TSTAT_ENT_CONTINUED },
299 { NULL, NULL, TSTAT_ENT_CONTINUED },
300 { NULL, NULL, TSTAT_ENT_CONTINUED },
301 { "spill-user-32-cln", "spill, clean user window, 32-bit" },
302 { NULL, NULL, TSTAT_ENT_CONTINUED },
303 { NULL, NULL, TSTAT_ENT_CONTINUED },
304 { NULL, NULL, TSTAT_ENT_CONTINUED },
305 { "spill-user-64-cln", "spill, clean user window, 64-bit" },
306 { NULL, NULL, TSTAT_ENT_CONTINUED },
307 { NULL, NULL, TSTAT_ENT_CONTINUED },
308 { NULL, NULL, TSTAT_ENT_CONTINUED },
309 { "spill-kern-32", "spill kernel window, 32-bit" },
310 { NULL, NULL, TSTAT_ENT_CONTINUED },
311 { NULL, NULL, TSTAT_ENT_CONTINUED },
312 { NULL, NULL, TSTAT_ENT_CONTINUED },
313 { "spill-kern-64", "spill kernel window, 64-bit" },
314 { NULL, NULL, TSTAT_ENT_CONTINUED },
315 { NULL, NULL, TSTAT_ENT_CONTINUED },
316 { NULL, NULL, TSTAT_ENT_CONTINUED },
317 { "spill-mixed", "spill window, mixed 32-bit/64-bit" },
318 { NULL, NULL, TSTAT_ENT_CONTINUED },
319 { NULL, NULL, TSTAT_ENT_CONTINUED },
320 { NULL, NULL, TSTAT_ENT_CONTINUED },
321 { "spill-0-other", "spill 0 other" },
322 { NULL, NULL, TSTAT_ENT_CONTINUED },
323 { NULL, NULL, TSTAT_ENT_CONTINUED },
324 { NULL, NULL, TSTAT_ENT_CONTINUED },
325 { "spill-asuser-32", "spill user window as kernel, 32-bit" },
326 { NULL, NULL, TSTAT_ENT_CONTINUED },
327 { NULL, NULL, TSTAT_ENT_CONTINUED },
328 { NULL, NULL, TSTAT_ENT_CONTINUED },
329 { "spill-asuser-64", "spill user window as kernel, 64-bit" },
330 { NULL, NULL, TSTAT_ENT_CONTINUED },
331 { NULL, NULL, TSTAT_ENT_CONTINUED },
332 { NULL, NULL, TSTAT_ENT_CONTINUED },
333 { "spill-asuser-32-cln", "spill, clean user window as kernel, 32-bit" },
334 { NULL, NULL, TSTAT_ENT_CONTINUED },
335 { NULL, NULL, TSTAT_ENT_CONTINUED },
336 { NULL, NULL, TSTAT_ENT_CONTINUED },
337 { "spill-asuser-64-cln", "spill, clean user window as kernel, 64-bit" },
338 { NULL, NULL, TSTAT_ENT_CONTINUED },
339 { NULL, NULL, TSTAT_ENT_CONTINUED },
340 { NULL, NULL, TSTAT_ENT_CONTINUED },
341 { "spill-5-other", "spill 5 other" },
342 { NULL, NULL, TSTAT_ENT_CONTINUED },
343 { NULL, NULL, TSTAT_ENT_CONTINUED },
344 { NULL, NULL, TSTAT_ENT_CONTINUED },
345 { "spill-6-other", "spill 6 other" },
346 { NULL, NULL, TSTAT_ENT_CONTINUED },
347 { NULL, NULL, TSTAT_ENT_CONTINUED },
348 { NULL, NULL, TSTAT_ENT_CONTINUED },
349 { "spill-7-other", "spill 7 other" },
350 { NULL, NULL, TSTAT_ENT_CONTINUED },
351 { NULL, NULL, TSTAT_ENT_CONTINUED },
352 { NULL, NULL, TSTAT_ENT_CONTINUED },
353 { "fill-0-normal", "fill 0 normal" },
354 { NULL, NULL, TSTAT_ENT_CONTINUED },
355 { NULL, NULL, TSTAT_ENT_CONTINUED },
356 { NULL, NULL, TSTAT_ENT_CONTINUED },
357 { "fill-user-32", "fill user window, 32-bit" },
358 { NULL, NULL, TSTAT_ENT_CONTINUED },
359 { NULL, NULL, TSTAT_ENT_CONTINUED },
360 { NULL, NULL, TSTAT_ENT_CONTINUED },
361 { "fill-user-64", "fill user window, 64-bit" },
362 { NULL, NULL, TSTAT_ENT_CONTINUED },
363 { NULL, NULL, TSTAT_ENT_CONTINUED },
364 { NULL, NULL, TSTAT_ENT_CONTINUED },
365 { "fill-user-32-cln", "fill user window, 32-bit" },
366 { NULL, NULL, TSTAT_ENT_CONTINUED },
367 { NULL, NULL, TSTAT_ENT_CONTINUED },
368 { NULL, NULL, TSTAT_ENT_CONTINUED },
369 { "fill-user-64-cln", "fill user window, 64-bit" },
370 { NULL, NULL, TSTAT_ENT_CONTINUED },
371 { NULL, NULL, TSTAT_ENT_CONTINUED },
372 { NULL, NULL, TSTAT_ENT_CONTINUED },
373 { "fill-kern-32", "fill kernel window, 32-bit" },
374 { NULL, NULL, TSTAT_ENT_CONTINUED },
375 { NULL, NULL, TSTAT_ENT_CONTINUED },
376 { NULL, NULL, TSTAT_ENT_CONTINUED },
377 { "fill-kern-64", "fill kernel window, 64-bit" },
378 { NULL, NULL, TSTAT_ENT_CONTINUED },
379 { NULL, NULL, TSTAT_ENT_CONTINUED },
380 { NULL, NULL, TSTAT_ENT_CONTINUED },
381 { "fill-mixed", "fill window, mixed 32-bit/64-bit" },
382 { NULL, NULL, TSTAT_ENT_CONTINUED },
383 { NULL, NULL, TSTAT_ENT_CONTINUED },
384 { NULL, NULL, TSTAT_ENT_CONTINUED },
385 { "fill-0-other", "fill 0 other" },
386 { NULL, NULL, TSTAT_ENT_CONTINUED },
387 { NULL, NULL, TSTAT_ENT_CONTINUED },
388 { NULL, NULL, TSTAT_ENT_CONTINUED },
389 { "fill-asuser-32", "fill user window as kernel, 32-bit" },
390 { NULL, NULL, TSTAT_ENT_CONTINUED },
391 { NULL, NULL, TSTAT_ENT_CONTINUED },
392 { NULL, NULL, TSTAT_ENT_CONTINUED },
393 { "fill-asuser-64", "fill user window as kernel, 64-bit" },
394 { NULL, NULL, TSTAT_ENT_CONTINUED },
395 { NULL, NULL, TSTAT_ENT_CONTINUED },
396 { NULL, NULL, TSTAT_ENT_CONTINUED },
397 { "fill-asuser-32-cln", "fill user window as kernel, 32-bit" },
398 { NULL, NULL, TSTAT_ENT_CONTINUED },
399 { NULL, NULL, TSTAT_ENT_CONTINUED },
400 { NULL, NULL, TSTAT_ENT_CONTINUED },
401 { "fill-asuser-64-cln", "fill user window as kernel, 64-bit" },
402 { NULL, NULL, TSTAT_ENT_CONTINUED },
403 { NULL, NULL, TSTAT_ENT_CONTINUED },
404 { NULL, NULL, TSTAT_ENT_CONTINUED },
405 { "fill-5-other", "fill 5 other" },
406 { NULL, NULL, TSTAT_ENT_CONTINUED },
407 { NULL, NULL, TSTAT_ENT_CONTINUED },
408 { NULL, NULL, TSTAT_ENT_CONTINUED },
409 { "fill-6-other", "fill 6 other" },
410 { NULL, NULL, TSTAT_ENT_CONTINUED },
411 { NULL, NULL, TSTAT_ENT_CONTINUED },
412 { NULL, NULL, TSTAT_ENT_CONTINUED },
413 { "fill-7-other", "fill 7 other" },
414 { NULL, NULL, TSTAT_ENT_CONTINUED },
415 { NULL, NULL, TSTAT_ENT_CONTINUED },
416 { NULL, NULL, TSTAT_ENT_CONTINUED },
417 { "syscall-4x", "old system call" },
418 { "usr-brkpt", "user breakpoint" },
419 { "usr-div-zero", "user divide by zero" },
420 { "flush-wins", "flush windows" },
421 { "clean-wins", "clean windows" },
422 { NULL, NULL, TSTAT_ENT_UNUSED },
423 { "fix-align", "fix unaligned references" },
424 { NULL, NULL, TSTAT_ENT_UNUSED },
425 { "syscall-32", "ILP32 system call" },
426 { "set-t0-addr", "set trap0 address" },
427 { NULL, NULL, TSTAT_ENT_UNUSED },
428 { NULL, NULL, TSTAT_ENT_UNUSED },
429 { NULL, NULL, TSTAT_ENT_UNUSED },
430 { NULL, NULL, TSTAT_ENT_UNUSED },
431 { NULL, NULL, TSTAT_ENT_UNUSED },
432 { NULL, NULL, TSTAT_ENT_UNUSED },
433 { "trap-inst-16", "trap instruction 16", },
434 { "trap-inst-17", "trap instruction 17", },
435 { "trap-inst-18", "trap instruction 18", },
436 { "trap-inst-19", "trap instruction 19", },
437 { "trap-inst-20", "trap instruction 20", },
438 { "trap-inst-21", "trap instruction 21", },
439 { "trap-inst-22", "trap instruction 22", },
440 { "trap-inst-23", "trap instruction 23", },
441 { "trap-inst-24", "trap instruction 24", },
442 { "trap-inst-25", "trap instruction 25", },
443 { "trap-inst-26", "trap instruction 26", },
444 { "trap-inst-27", "trap instruction 27", },
445 { "trap-inst-28", "trap instruction 28", },
446 { "trap-inst-29", "trap instruction 29", },
447 { "trap-inst-30", "trap instruction 30", },
448 { "trap-inst-31", "trap instruction 31", },
449 { "get-cc", "get condition codes" },
450 { "set-cc", "set condition codes" },
451 { "get-psr", "get psr" },
452 { "set-psr", "set psr (some fields)" },
453 { "getts", "get timestamp" },
454 { "gethrvtime", "get lwp virtual time" },
455 { "self-xcall", "self xcall" },
456 { "gethrtime", "get hrestime" },
457 { NULL, NULL, TSTAT_ENT_UNUSED },
458 { "getlgrp", "get lgrpid" },
459 { NULL, NULL, TSTAT_ENT_UNUSED },
460 { NULL, NULL, TSTAT_ENT_UNUSED },
461 { NULL, NULL, TSTAT_ENT_UNUSED },
462 { NULL, NULL, TSTAT_ENT_UNUSED },
463 { NULL, NULL, TSTAT_ENT_UNUSED },
464 { NULL, NULL, TSTAT_ENT_UNUSED },
465 { NULL, NULL, TSTAT_ENT_UNUSED },
466 { NULL, NULL, TSTAT_ENT_UNUSED },
467 { NULL, NULL, TSTAT_ENT_UNUSED },
468 { NULL, NULL, TSTAT_ENT_UNUSED },
469 { NULL, NULL, TSTAT_ENT_UNUSED },
470 { NULL, NULL, TSTAT_ENT_UNUSED },
471 { NULL, NULL, TSTAT_ENT_UNUSED },
472 { NULL, NULL, TSTAT_ENT_UNUSED },
473 { "dtrace-pid", "DTrace pid provider" },
474 { NULL, NULL, TSTAT_ENT_UNUSED },
475 { "dtrace-return", "DTrace pid provider return" },
476 { NULL, NULL, TSTAT_ENT_UNUSED },
477 { NULL, NULL, TSTAT_ENT_UNUSED },
478 { NULL, NULL, TSTAT_ENT_UNUSED },
479 { NULL, NULL, TSTAT_ENT_UNUSED },
480 { NULL, NULL, TSTAT_ENT_UNUSED },
481 { "syscall-64", "LP64 system call" },
482 { NULL, NULL, TSTAT_ENT_UNUSED },
483 { "tt-freeze", "freeze traptrace" },
484 { "tt-unfreeze", "unfreeze traptrace" },
485 { NULL, NULL, TSTAT_ENT_UNUSED },
486 { NULL, NULL, TSTAT_ENT_UNUSED },
487 { NULL, NULL, TSTAT_ENT_UNUSED },
488 { NULL, NULL, TSTAT_ENT_UNUSED },
489 { NULL, NULL, TSTAT_ENT_UNUSED },
490 { NULL, NULL, TSTAT_ENT_UNUSED },
491 { NULL, NULL, TSTAT_ENT_UNUSED },
492 { NULL, NULL, TSTAT_ENT_UNUSED },
493 { NULL, NULL, TSTAT_ENT_UNUSED },
494 { NULL, NULL, TSTAT_ENT_UNUSED },
495 { NULL, NULL, TSTAT_ENT_UNUSED },
496 { NULL, NULL, TSTAT_ENT_UNUSED },
497 { NULL, NULL, TSTAT_ENT_UNUSED },
498 { NULL, NULL, TSTAT_ENT_UNUSED },
499 { NULL, NULL, TSTAT_ENT_UNUSED },
500 { NULL, NULL, TSTAT_ENT_UNUSED },
501 { NULL, NULL, TSTAT_ENT_UNUSED },
502 { NULL, NULL, TSTAT_ENT_UNUSED },
503 { NULL, NULL, TSTAT_ENT_UNUSED },
504 { NULL, NULL, TSTAT_ENT_UNUSED },
505 { NULL, NULL, TSTAT_ENT_UNUSED },
506 { NULL, NULL, TSTAT_ENT_UNUSED },
507 { NULL, NULL, TSTAT_ENT_UNUSED },
508 { NULL, NULL, TSTAT_ENT_UNUSED },
509 { NULL, NULL, TSTAT_ENT_UNUSED },
510 { NULL, NULL, TSTAT_ENT_UNUSED },
511 { NULL, NULL, TSTAT_ENT_UNUSED },
512 { NULL, NULL, TSTAT_ENT_UNUSED },
513 { NULL, NULL, TSTAT_ENT_UNUSED },
514 { NULL, NULL, TSTAT_ENT_UNUSED },
515 { NULL, NULL, TSTAT_ENT_UNUSED },
516 { NULL, NULL, TSTAT_ENT_UNUSED },
517 { NULL, NULL, TSTAT_ENT_UNUSED },
518 { NULL, NULL, TSTAT_ENT_UNUSED },
519 { NULL, NULL, TSTAT_ENT_UNUSED },
520 { NULL, NULL, TSTAT_ENT_UNUSED },
521 { NULL, NULL, TSTAT_ENT_UNUSED },
522 { NULL, NULL, TSTAT_ENT_UNUSED },
523 { NULL, NULL, TSTAT_ENT_UNUSED },
524 { NULL, NULL, TSTAT_ENT_UNUSED },
525 { NULL, NULL, TSTAT_ENT_UNUSED },
526 { NULL, NULL, TSTAT_ENT_UNUSED },
527 { NULL, NULL, TSTAT_ENT_UNUSED },
528 { NULL, NULL, TSTAT_ENT_UNUSED },
529 { NULL, NULL, TSTAT_ENT_UNUSED },
530 { NULL, NULL, TSTAT_ENT_UNUSED },
531 { NULL, NULL, TSTAT_ENT_UNUSED },
532 { NULL, NULL, TSTAT_ENT_UNUSED },
533 { NULL, NULL, TSTAT_ENT_UNUSED },
534 { NULL, NULL, TSTAT_ENT_UNUSED },
535 { NULL, NULL, TSTAT_ENT_UNUSED },
536 { NULL, NULL, TSTAT_ENT_UNUSED },
537 { NULL, NULL, TSTAT_ENT_UNUSED },
538 { NULL, NULL, TSTAT_ENT_UNUSED },
539 { NULL, NULL, TSTAT_ENT_UNUSED },
540 { NULL, NULL, TSTAT_ENT_UNUSED },
541 { "ptl1-panic", "test ptl1-panic" },
542 { "kmdb-enter", "kmdb enter (L1-A)" },
543 { "kmdb-brkpt", "kmdb breakpoint" },
544 { "obp-brkpt", "obp breakpoint" },
545 { NULL, NULL, TSTAT_ENT_RESERVED },
546 { NULL, NULL, TSTAT_ENT_RESERVED },
547 { NULL, NULL, TSTAT_ENT_RESERVED },
548 { NULL, NULL, TSTAT_ENT_RESERVED },
549 { NULL, NULL, TSTAT_ENT_RESERVED },
550 { NULL, NULL, TSTAT_ENT_RESERVED },
551 { NULL, NULL, TSTAT_ENT_RESERVED },
552 { NULL, NULL, TSTAT_ENT_RESERVED },
553 { NULL, NULL, TSTAT_ENT_RESERVED },
554 { NULL, NULL, TSTAT_ENT_RESERVED },
555 { NULL, NULL, TSTAT_ENT_RESERVED },
556 { NULL, NULL, TSTAT_ENT_RESERVED },
557 { NULL, NULL, TSTAT_ENT_RESERVED },
558 { NULL, NULL, TSTAT_ENT_RESERVED },
559 { NULL, NULL, TSTAT_ENT_RESERVED },
560 { NULL, NULL, TSTAT_ENT_RESERVED },
561 { NULL, NULL, TSTAT_ENT_RESERVED },
562 { NULL, NULL, TSTAT_ENT_RESERVED },
563 { NULL, NULL, TSTAT_ENT_RESERVED },
564 { NULL, NULL, TSTAT_ENT_RESERVED },
565 { NULL, NULL, TSTAT_ENT_RESERVED },
566 { NULL, NULL, TSTAT_ENT_RESERVED },
567 { NULL, NULL, TSTAT_ENT_RESERVED },
568 { NULL, NULL, TSTAT_ENT_RESERVED },
569 { NULL, NULL, TSTAT_ENT_RESERVED },
570 { NULL, NULL, TSTAT_ENT_RESERVED },
571 { NULL, NULL, TSTAT_ENT_RESERVED },
572 { NULL, NULL, TSTAT_ENT_RESERVED },
573 { NULL, NULL, TSTAT_ENT_RESERVED },
574 { NULL, NULL, TSTAT_ENT_RESERVED },
575 { NULL, NULL, TSTAT_ENT_RESERVED },
576 { NULL, NULL, TSTAT_ENT_RESERVED },
577 { NULL, NULL, TSTAT_ENT_RESERVED },
578 { NULL, NULL, TSTAT_ENT_RESERVED },
579 { NULL, NULL, TSTAT_ENT_RESERVED },
580 { NULL, NULL, TSTAT_ENT_RESERVED },
581 { NULL, NULL, TSTAT_ENT_RESERVED },
582 { NULL, NULL, TSTAT_ENT_RESERVED },
583 { NULL, NULL, TSTAT_ENT_RESERVED },
584 { NULL, NULL, TSTAT_ENT_RESERVED },
585 { NULL, NULL, TSTAT_ENT_RESERVED },
586 { NULL, NULL, TSTAT_ENT_RESERVED },
587 { NULL, NULL, TSTAT_ENT_RESERVED },
588 { NULL, NULL, TSTAT_ENT_RESERVED },
589 { NULL, NULL, TSTAT_ENT_RESERVED },
590 { NULL, NULL, TSTAT_ENT_RESERVED },
591 { NULL, NULL, TSTAT_ENT_RESERVED },
592 { NULL, NULL, TSTAT_ENT_RESERVED },
593 { NULL, NULL, TSTAT_ENT_RESERVED },
594 { NULL, NULL, TSTAT_ENT_RESERVED },
595 { NULL, NULL, TSTAT_ENT_RESERVED },
596 { NULL, NULL, TSTAT_ENT_RESERVED },
597 { NULL, NULL, TSTAT_ENT_RESERVED },
598 { NULL, NULL, TSTAT_ENT_RESERVED },
599 { NULL, NULL, TSTAT_ENT_RESERVED },
600 { NULL, NULL, TSTAT_ENT_RESERVED },
601 { NULL, NULL, TSTAT_ENT_RESERVED },
602 { NULL, NULL, TSTAT_ENT_RESERVED },
603 { NULL, NULL, TSTAT_ENT_RESERVED },
604 { NULL, NULL, TSTAT_ENT_RESERVED },
605 { NULL, NULL, TSTAT_ENT_RESERVED },
606 { NULL, NULL, TSTAT_ENT_RESERVED },
607 { NULL, NULL, TSTAT_ENT_RESERVED },
608 { NULL, NULL, TSTAT_ENT_RESERVED },
609 { NULL, NULL, TSTAT_ENT_RESERVED },
610 { NULL, NULL, TSTAT_ENT_RESERVED },
611 { NULL, NULL, TSTAT_ENT_RESERVED },
612 { NULL, NULL, TSTAT_ENT_RESERVED },
613 { NULL, NULL, TSTAT_ENT_RESERVED },
614 { NULL, NULL, TSTAT_ENT_RESERVED },
615 { NULL, NULL, TSTAT_ENT_RESERVED },
616 { NULL, NULL, TSTAT_ENT_RESERVED },
617 { NULL, NULL, TSTAT_ENT_RESERVED },
618 { NULL, NULL, TSTAT_ENT_RESERVED },
619 { NULL, NULL, TSTAT_ENT_RESERVED },
620 { NULL, NULL, TSTAT_ENT_RESERVED },
621 { NULL, NULL, TSTAT_ENT_RESERVED },
622 { NULL, NULL, TSTAT_ENT_RESERVED },
623 { NULL, NULL, TSTAT_ENT_RESERVED },
624 { NULL, NULL, TSTAT_ENT_RESERVED },
625 { NULL, NULL, TSTAT_ENT_RESERVED },
626 { NULL, NULL, TSTAT_ENT_RESERVED },
627 { NULL, NULL, TSTAT_ENT_RESERVED },
628 { NULL, NULL, TSTAT_ENT_RESERVED },
629 { NULL, NULL, TSTAT_ENT_RESERVED },
630 { NULL, NULL, TSTAT_ENT_RESERVED },
631 { NULL, NULL, TSTAT_ENT_RESERVED },
632 { NULL, NULL, TSTAT_ENT_RESERVED },
633 { NULL, NULL, TSTAT_ENT_RESERVED },
634 { NULL, NULL, TSTAT_ENT_RESERVED },
635 { NULL, NULL, TSTAT_ENT_RESERVED },
636 { NULL, NULL, TSTAT_ENT_RESERVED },
637 { NULL, NULL, TSTAT_ENT_RESERVED },
638 { NULL, NULL, TSTAT_ENT_RESERVED },
639 { NULL, NULL, TSTAT_ENT_RESERVED },
640 { NULL, NULL, TSTAT_ENT_RESERVED },
641 { NULL, NULL, TSTAT_ENT_RESERVED },
642 { NULL, NULL, TSTAT_ENT_RESERVED },
643 { NULL, NULL, TSTAT_ENT_RESERVED },
644 { NULL, NULL, TSTAT_ENT_RESERVED },
645 { NULL, NULL, TSTAT_ENT_RESERVED },
646 { NULL, NULL, TSTAT_ENT_RESERVED },
647 { NULL, NULL, TSTAT_ENT_RESERVED },
648 { NULL, NULL, TSTAT_ENT_RESERVED },
649 { NULL, NULL, TSTAT_ENT_RESERVED },
650 { NULL, NULL, TSTAT_ENT_RESERVED },
651 { NULL, NULL, TSTAT_ENT_RESERVED },
652 { NULL, NULL, TSTAT_ENT_RESERVED },
653 { NULL, NULL, TSTAT_ENT_RESERVED },
654 { NULL, NULL, TSTAT_ENT_RESERVED },
655 { NULL, NULL, TSTAT_ENT_RESERVED },
656 { NULL, NULL, TSTAT_ENT_RESERVED },
657 { NULL, NULL, TSTAT_ENT_RESERVED },
658 { NULL, NULL, TSTAT_ENT_RESERVED },
659 { NULL, NULL, TSTAT_ENT_RESERVED },
660 { NULL, NULL, TSTAT_ENT_RESERVED },
661 { NULL, NULL, TSTAT_ENT_RESERVED },
662 { NULL, NULL, TSTAT_ENT_RESERVED },
663 { NULL, NULL, TSTAT_ENT_RESERVED },
664 { NULL, NULL, TSTAT_ENT_RESERVED },
665 { NULL, NULL, TSTAT_ENT_RESERVED },
666 { NULL, NULL, TSTAT_ENT_RESERVED },
667 { NULL, NULL, TSTAT_ENT_RESERVED },
668 { NULL, NULL, TSTAT_ENT_RESERVED },
669 { NULL, NULL, TSTAT_ENT_RESERVED },
670 { NULL, NULL, TSTAT_ENT_RESERVED },
671 { NULL, NULL, TSTAT_ENT_RESERVED },
672 { NULL, NULL, TSTAT_ENT_RESERVED }
673 };
674
675 tstat_ent_t *
get_trap_ent(int ndx)676 get_trap_ent(int ndx)
677 {
678 return (&g_traps[ndx]);
679 }
680