Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / verif / diag / assembly / uarch / tlu / diag / tlu_rand03_ind_04.s
CommitLineData
86530b38
AT
1/*
2* ========== Copyright Header Begin ==========================================
3*
4* OpenSPARC T2 Processor File: tlu_rand03_ind_04.s
5* Copyright (C) 1995-2007 Sun Microsystems, Inc. All Rights Reserved
6* 4150 Network Circle, Santa Clara, California 95054, U.S.A.
7*
8* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
9*
10* This program is free software; you can redistribute it and/or modify
11* it under the terms of the GNU General Public License as published by
12* the Free Software Foundation; version 2 of the License.
13*
14* This program is distributed in the hope that it will be useful,
15* but WITHOUT ANY WARRANTY; without even the implied warranty of
16* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17* GNU General Public License for more details.
18*
19* You should have received a copy of the GNU General Public License
20* along with this program; if not, write to the Free Software
21* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22*
23* For the avoidance of doubt, and except that if any non-GPL license
24* choice is available it will apply instead, Sun elects to use only
25* the General Public License version 2 (GPLv2) at this time for any
26* software where a choice of GPL license versions is made
27* available with the language indicating that GPLv2 or any later version
28* may be used, or where a choice of which version of the GPL is applied is
29* otherwise unspecified.
30*
31* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
32* CA 95054 USA or visit www.sun.com if you need additional information or
33* have any questions.
34*
35*
36* ========== Copyright Header End ============================================
37*/
38#define TRAP_SECT_HV_ALSO
39#define DMMU_SKIP_IF_NO_TTE
40#define IMMU_SKIP_IF_NO_TTE
41
42#define MAIN_PAGE_NUCLEUS_ALSO
43#define MAIN_PAGE_HV_ALSO
44
45! Enable Traps
46#define ENABLE_T1_Privileged_Opcode_0x11
47#define ENABLE_T1_Fp_Disabled_0x20
48#define ENABLE_HT0_Watchdog_Reset_0x02
49
50#define FILL_TRAP_RETRY
51#define SPILL_TRAP_RETRY
52#define CLEAN_WIN_RETRY
53
54#define My_RED_Mode_Other_Reset
55#define My_RED_Mode_Other_Reset \
56 ba red_other_ext;\
57 nop;retry;nop;nop;nop;nop;nop
58
59#define H_T1_Clean_Window_0x24
60#define SUN_H_T1_Clean_Window_0x24 \
61 rdpr %cleanwin, %g1;\
62 add %g1,1,%g1;\
63 wrpr %g1, %g0, %cleanwin;\
64 retry; nop; nop; nop; nop
65
66#define H_T1_Clean_Window_0x25
67#define SUN_H_T1_Clean_Window_0x25 \
68 rdpr %cleanwin, %g1;\
69 add %g1,1,%g1;\
70 wrpr %g1, %g0, %cleanwin;\
71 retry; nop; nop; nop; nop
72
73#define H_T1_Clean_Window_0x26
74#define SUN_H_T1_Clean_Window_0x26 \
75 rdpr %cleanwin, %g1;\
76 add %g1,1,%g1;\
77 wrpr %g1, %g0, %cleanwin;\
78 retry; nop; nop; nop; nop
79
80#define H_T1_Clean_Window_0x27
81#define SUN_H_T1_Clean_Window_0x27 \
82 rdpr %cleanwin, %g1;\
83 add %g1,1,%g1;\
84 wrpr %g1, %g0, %cleanwin;\
85 retry; nop; nop; nop; nop
86
87#define H_T1_Window_Spill_0_Normal_0x80
88#define SUN_H_T1_Window_Spill_0_Normal_0x80 saved; retry; nop;nop;nop;nop;nop;nop;
89
90#define H_T1_Window_Spill_1_Normal_0x84
91#define SUN_H_T1_Window_Spill_1_Normal_0x84 saved; retry; nop;nop;nop;nop;nop;nop;
92
93#define H_T1_Window_Spill_2_Normal_0x88
94#define SUN_H_T1_Window_Spill_2_Normal_0x88 saved; retry; nop;nop;nop;nop;nop;nop;
95
96#define H_T1_Window_Spill_3_Normal_0x8c
97#define SUN_H_T1_Window_Spill_3_Normal_0x8c saved; retry; nop;nop;nop;nop;nop;nop;
98
99#define H_T1_Window_Spill_4_Normal_0x90
100#define SUN_H_T1_Window_Spill_4_Normal_0x90 saved; retry; nop;nop;nop;nop;nop;nop;
101
102#define H_T1_Window_Spill_5_Normal_0x94
103#define SUN_H_T1_Window_Spill_5_Normal_0x94 saved; retry; nop;nop;nop;nop;nop;nop;
104
105#define H_T1_Window_Spill_6_Normal_0x98
106#define SUN_H_T1_Window_Spill_6_Normal_0x98 saved; retry; nop;nop;nop;nop;nop;nop;
107
108#define H_T1_Window_Spill_7_Normal_0x9c
109#define SUN_H_T1_Window_Spill_7_Normal_0x9c saved; retry; nop;nop;nop;nop;nop;nop;
110
111#define H_T1_Window_Spill_0_Other_0xa0
112#define SUN_H_T1_Window_Spill_0_Other_0xa0 saved; retry; nop;nop;nop;nop;nop;nop;
113
114#define H_T1_Window_Spill_1_Other_0xa4
115#define SUN_H_T1_Window_Spill_1_Other_0xa4 saved; retry; nop;nop;nop;nop;nop;nop;
116
117#define H_T1_Window_Spill_2_Other_0xa8
118#define SUN_H_T1_Window_Spill_2_Other_0xa8 saved; retry; nop;nop;nop;nop;nop;nop;
119
120#define H_T1_Window_Spill_3_Other_0xac
121#define SUN_H_T1_Window_Spill_3_Other_0xac saved; retry; nop;nop;nop;nop;nop;nop;
122
123#define H_T1_Window_Spill_4_Other_0xb0
124#define SUN_H_T1_Window_Spill_4_Other_0xb0 saved; retry; nop;nop;nop;nop;nop;nop;
125
126#define H_T1_Window_Spill_5_Other_0xb4
127#define SUN_H_T1_Window_Spill_5_Other_0xb4 saved; retry; nop;nop;nop;nop;nop;nop;
128
129#define H_T1_Window_Spill_6_Other_0xb8
130#define SUN_H_T1_Window_Spill_6_Other_0xb8 saved; retry; nop;nop;nop;nop;nop;nop;
131
132#define H_T1_Window_Spill_7_Other_0xbc
133#define SUN_H_T1_Window_Spill_7_Other_0xbc saved; retry; nop;nop;nop;nop;nop;nop;
134
135#define H_T1_Window_Fill_0_Normal_0xc0
136#define SUN_H_T1_Window_Fill_0_Normal_0xc0 restored; retry; nop;nop;nop;nop;nop;nop;
137
138#define H_T1_Window_Fill_1_Normal_0xc4
139#define SUN_H_T1_Window_Fill_1_Normal_0xc4 restored; retry; nop;nop;nop;nop;nop;nop;
140
141#define H_T1_Window_Fill_2_Normal_0xc8
142#define SUN_H_T1_Window_Fill_2_Normal_0xc8 restored; retry; nop;nop;nop;nop;nop;nop;
143
144#define H_T1_Window_Fill_3_Normal_0xcc
145#define SUN_H_T1_Window_Fill_3_Normal_0xcc restored; retry; nop;nop;nop;nop;nop;nop;
146
147#define H_T1_Window_Fill_4_Normal_0xd0
148#define SUN_H_T1_Window_Fill_4_Normal_0xd0 restored; retry; nop;nop;nop;nop;nop;nop;
149
150#define H_T1_Window_Fill_5_Normal_0xd4
151#define SUN_H_T1_Window_Fill_5_Normal_0xd4 restored; retry; nop;nop;nop;nop;nop;nop;
152
153#define H_T1_Window_Fill_6_Normal_0xd8
154#define SUN_H_T1_Window_Fill_6_Normal_0xd8 restored; retry; nop;nop;nop;nop;nop;nop;
155
156#define H_T1_Window_Fill_7_Normal_0xdc
157#define SUN_H_T1_Window_Fill_7_Normal_0xdc restored; retry; nop;nop;nop;nop;nop;nop;
158
159#define H_T1_Window_Fill_0_Other_0xe0
160#define SUN_H_T1_Window_Fill_0_Other_0xe0 restored; retry; nop;nop;nop;nop;nop;nop;
161
162#define H_T1_Window_Fill_1_Other_0xe4
163#define SUN_H_T1_Window_Fill_1_Other_0xe4 restored; retry; nop;nop;nop;nop;nop;nop;
164
165#define H_T1_Window_Fill_2_Other_0xe8
166#define SUN_H_T1_Window_Fill_2_Other_0xe8 restored; retry; nop;nop;nop;nop;nop;nop;
167
168#define H_T1_Window_Fill_3_Other_0xec
169#define SUN_H_T1_Window_Fill_3_Other_0xec restored; retry; nop;nop;nop;nop;nop;nop;
170
171#define H_T1_Window_Fill_4_Other_0xf0
172#define SUN_H_T1_Window_Fill_4_Other_0xf0 restored; retry; nop;nop;nop;nop;nop;nop;
173
174#define H_T1_Window_Fill_5_Other_0xf4
175#define SUN_H_T1_Window_Fill_5_Other_0xf4 restored; retry; nop;nop;nop;nop;nop;nop;
176
177#define H_T1_Window_Fill_6_Other_0xf8
178#define SUN_H_T1_Window_Fill_6_Other_0xf8 restored; retry; nop;nop;nop;nop;nop;nop;
179
180#define H_T1_Window_Fill_7_Other_0xfc
181#define SUN_H_T1_Window_Fill_7_Other_0xfc restored; retry; nop;nop;nop;nop;nop;nop;
182
183#define H_T0_Trap_Instruction_0
184#define My_T0_Trap_Instruction_0 \
185 rdpr %tnpc, %g2; \
186 save %i7, %g0, %i7; \
187 wrpr %g2, %tpc; \
188 add %g2, 4, %g2;\
189 wrpr %g2, %tnpc; \
190 restore %i7, %g0, %i7; \
191 stw %g2, [%i7];\
192 retry
193#define H_T0_Trap_Instruction_1
194#define My_T0_Trap_Instruction_1 \
195 umul %o4, 2, %o5;\
196 rdpr %tnpc, %g2; \
197 wrpr %g2, %tpc; \
198 add %g2, 4, %g2;\
199 wrpr %g2, %tnpc; \
200 stw %g2, [%i7];\
201 illtrap;\
202 retry
203#define H_T0_Trap_Instruction_2
204#define My_T0_Trap_Instruction_2 \
205 inc %o3;\
206 umul %o3, 2, %o4;\
207 ba 1f; \
208 save %i7, %g0, %i7; \
209 2: done; \
210 nop; \
211 1: ba 2b; \
212 restore %i7, %g0, %i7
213#define H_T0_Trap_Instruction_3
214#define My_T0_Trap_Instruction_3 \
215 inc %l3;\
216 inc %o3;\
217 umul %o3, 2, %o4;\
218 stw %o4, [%i7];\
219 save %i7, %g0, %i7 ;\
220 restore %i7, %g0, %i7 ;\
221 done ;\
222 nop;
223#define H_T0_Trap_Instruction_4
224#define My_T0_Trap_Instruction_4 \
225 umul %i4, 2, %l5;\
226 inc %o1;\
227 rdpr %tnpc, %g2; \
228 wrpr %g2, %tpc; \
229 add %g2, 4, %g2;\
230 wrpr %g2, %tnpc; \
231 retry ;\
232 illtrap
233#define H_T0_Trap_Instruction_5
234#define My_T0_Trap_Instruction_5 \
235 umul %i7, 2, %l1;\
236 inc %o5;\
237 rdpr %tnpc, %g2; \
238 wrpr %g2, %tpc; \
239 add %g2, 4, %g2;\
240 wrpr %g2, %tnpc; \
241 sdiv %r2, %r10, %r0; \
242 retry
243
244#define H_T1_Trap_Instruction_0
245#define My_T1_Trap_Instruction_0 \
246 inc %o4;\
247 umul %o4, 2, %o5;\
248 ba 3f; \
249 save %i7, %g0, %i7; \
250 4: done; \
251 nop; \
252 3: ba 4b; \
253 restore %i7, %g0, %i7
254#define H_T1_Trap_Instruction_1
255#define My_T1_Trap_Instruction_1 \
256 umul %o4, 2, %o5;\
257 rdpr %tnpc, %g2; \
258 wrpr %g2, %tpc; \
259 add %g2, 4, %g2;\
260 stw %g2, [%i7];\
261 wrpr %g2, %tnpc; \
262 restore %i7, %g0, %i7 ;;\
263 retry
264#define H_T1_Trap_Instruction_2
265#define My_T1_Trap_Instruction_2 \
266 inc %o3;\
267 umul %o3, 2, %o4;\
268 ba 5f; \
269 save %i7, %g0, %i7; \
270 6: done; \
271 nop; \
272 5: ba 6b; \
273 restore %i7, %g0, %i7
274#define H_T1_Trap_Instruction_3
275#define My_T1_Trap_Instruction_3 \
276 inc %l3;\
277 inc %o3;\
278 umul %o3, 2, %o4;\
279 inc %i3;\
280 save %i7, %g0, %i7 ;\
281 restore %i7, %g0, %i7 ;\
282 done ;\
283 nop;
284#define H_T1_Trap_Instruction_4
285#define My_T1_Trap_Instruction_4 \
286 umul %i4, 2, %l5;\
287 rdpr %tnpc, %g2; \
288 wrpr %g2, %tpc; \
289 stw %g2, [%i7];\
290 add %g2, 4, %g2;\
291 wrpr %g2, %tnpc; \
292 retry ;\
293 illtrap
294#define H_T1_Trap_Instruction_5
295#define My_T1_Trap_Instruction_5 \
296 umul %i7, 2, %l1;\
297 inc %o5;\
298 rdpr %tnpc, %g2; \
299 wrpr %g2, %tpc; \
300 add %g2, 4, %g2;\
301 wrpr %g2, %tnpc; \
302 sdiv %r2, %r10, %r0; \
303 retry
304
305#define H_HT0_Trap_Instruction_0
306#define My_HT0_Trap_Instruction_0 \
307 rd %asi, %g2;\
308 mov 8, %g3;\
309 stxa %g3, [%g0] 0x57;\
310 stw %g2, [%i7];\
311 done;\
312 nop;nop;nop
313
314#define H_HT0_Trap_Instruction_1
315#define My_HT0_Trap_Instruction_1 \
316 rd %asi, %g2;\
317 mov 8, %g3;\
318 stxa %g3, [%g0] 0x5f;\
319 done;\
320 nop;nop;nop;nop
321#define H_HT0_Trap_Instruction_2
322#define My_HT0_Trap_Instruction_2 \
323 umul %i6, 2, %l4;\
324 stw %l4, [%i7];\
325 rdpr %tnpc, %g2; \
326 wrpr %g2, %tpc; \
327 add %g2, 4, %g2;\
328 wrpr %g2, %tnpc; \
329 sdiv %r2, %r0, %r0; \
330 retry
331#define H_HT0_Trap_Instruction_3
332#define My_HT0_Trap_Instruction_3 \
333 umul %i5, 3, %l3;\
334 inc %o6;\
335 illtrap ;\
336 rdpr %tnpc, %g2; \
337 wrpr %g2, %tpc; \
338 add %g2, 4, %g2;\
339 wrpr %g2, %tnpc; \
340 retry
341#define H_HT0_Trap_Instruction_4
342#define My_HT0_Trap_Instruction_4 \
343 rdpr %tnpc, %g2; \
344 save %i7, %g0, %i7; \
345 wrpr %g2, %tpc; \
346 add %g2, 4, %g2;\
347 stw %g2, [%i7];\
348 wrpr %g2, %tnpc; \
349 restore %i7, %g0, %i7 ;\
350 retry
351#define H_HT0_Trap_Instruction_5
352#define My_HT0_Trap_Instruction_5 \
353 ba htrap_5_ext;\
354 nop; retry;\
355 nop; nop; nop; nop; nop
356
357#define H_HT0_Mem_Address_Not_Aligned_0x34
358#define My_HT0_Mem_Address_Not_Aligned_0x34 \
359 umul %i7, 4, %g1;\
360 inc %o6;\
361 umul %i4, 3, %l3;\
362 inc %g6;\
363 save %i7, %g0, %i7 ;\
364 restore %i7, %g0, %i7 ;\
365 done ;\
366 nop;
367#define H_HT0_Illegal_instruction_0x10
368#define My_HT0_Illegal_instruction_0x10 \
369 umul %i0, 4, %g1;\
370 inc %o6;\
371 ba 7f; \
372 rdhpr %htstate, %g3;\
373 8: done; \
374 7: ba 8b;\
375 wrhpr %g3, 1, %htstate;nop
376
377#define H_HT0_DAE_so_page_0x30
378#define My_HT0_DAE_so_page_0x30 \
379 umul %i5, 4, %g5;\
380 inc %g6;\
381 save %i7, %g0, %i7; \
382 restore %i7, %g0, %i7;\
383 rd %fprs, %g2; \
384 wr %g2, 0x4, %fprs ;\
385 done; \
386 nop;
387#define H_HT0_DAE_invalid_asi_0x14
388#define SUN_H_HT0_DAE_invalid_asi_0x14 \
389 umul %i5, 4, %g5;\
390 inc %g6;\
391 save %i7, %g0, %i7; \
392 restore %i7, %g0, %i7;\
393 rd %fprs, %g2; \
394 wr %g2, 0x4, %fprs ;\
395 done; \
396 nop;
397#define H_HT0_DAE_privilege_violation_0x15
398#define SUN_H_HT0_DAE_privilege_violation_0x15 \
399 umul %i5, 4, %g5;\
400 inc %g6;\
401 save %i7, %g0, %i7; \
402 restore %i7, %g0, %i7;\
403 rd %fprs, %g2; \
404 wr %g2, 0x4, %fprs ;\
405 done; \
406 nop;
407#define H_HT0_Privileged_Action_0x37
408#define My_HT0_Privileged_Action_0x37 \
409 inc %l5;\
410 dec %g3;\
411 umul %i5, 4, %g5;\
412 save %i7, %g0, %i7; \
413 restore %i7, %g0, %i7;\
414 done; \
415 nop; nop
416#define H_HT0_Lddf_Mem_Address_Not_Aligned_0x35
417#define My_HT0_Lddf_Mem_Address_Not_Aligned_0x35 \
418 inc %l5;\
419 dec %g3;\
420 rdpr %tpc, %g2; \
421 add %g2, 0x4, %g2; \
422 wrpr %g2, %tpc; \
423 add %g2, 0x4, %g2; \
424 wrpr %g2, %tnpc; \
425 retry
426#define H_HT0_Stdf_Mem_Address_Not_Aligned_0x36
427#define My_HT0_Stdf_Mem_Address_Not_Aligned_0x36 \
428 inc %l5;\
429 dec %g3;\
430 rdpr %tpc, %g2; \
431 add %g2, 0x4, %g2; \
432 wrpr %g2, %tpc; \
433 add %g2, 0x4, %g2; \
434 wrpr %g2, %tnpc; \
435 retry
436#define H_HT0_Fp_exception_other_0x22
437#define My_HT0_Fp_exception_other_0x22 \
438 inc %l6;\
439 dec %g5;\
440 umul %i5, 4, %g2;\
441 save %i7, %g0, %i7; \
442 restore %i7, %g0, %i7;\
443 stw %g2, [%i7];\
444 done; \
445 nop
446#define H_HT0_Division_By_Zero
447#define My_HT0_Division_By_Zero \
448 inc %l6;\
449 dec %g5;\
450 umul %i5, 4, %g2;\
451 save %i7, %g0, %i7; \
452 restore %i7, %g0, %i7;\
453 done; \
454 nop; nop
455#define H_T0_Division_By_Zero
456#define My_T0_Division_By_Zero \
457 inc %l6;\
458 dec %g5;\
459 umul %i5, 4, %g2;\
460 save %i7, %g0, %i7; \
461 restore %i7, %g0, %i7;\
462 done; \
463 nop; nop
464#define H_T1_Division_By_Zero_0x28
465#define My_H_T1_Division_By_Zero_0x28 \
466 inc %l6;\
467 dec %g5;\
468 umul %i5, 4, %g2;\
469 save %i7, %g0, %i7; \
470 restore %i7, %g0, %i7;\
471 done; \
472 nop; nop
473
474#define H_T0_Division_By_Zero
475#define My_T0_Division_By_Zero\
476 inc %l6;\
477 dec %g5;\
478 umul %i5, 4, %g2;\
479 save %i7, %g0, %i7; \
480 restore %i7, %g0, %i7;\
481 done; \
482 nop; nop
483
484#define H_T1_Fp_Exception_Other_0x22
485#define My_H_T1_Fp_Exception_Other_0x22 \
486 inc %l6;\
487 dec %g5;\
488 umul %i5, 4, %g2;\
489 save %i7, %g0, %i7; \
490 restore %i7, %g0, %i7;\
491 done; \
492 nop; nop
493#define H_T1_Privileged_Opcode_0x11
494#define SUN_H_T1_Privileged_Opcode_0x11 \
495 inc %l6;\
496 dec %g5;\
497 stw %g5, [%i7];\
498 umul %i5, 4, %g2;\
499 restore %i7, %g0, %i7;\
500 save %i7, %g0, %i7; \
501 done; \
502 nop;
503
504#define H_HT0_Fp_disabled_0x20
505#define My_HT0_Fp_disabled_0x20 \
506 mov 0x4, %g2 ;\
507 wr %g2, 0x0, %fprs ;\
508 sllx %g2, 10, %g3; \
509 rdpr %tstate, %g2;\
510 or %g2, %g3, %g2 ;\
511 stw %g2, [%i7];\
512 wrpr %g2, 0x0, %tstate;\
513 retry;
514
515#define H_T0_Fp_disabled_0x20
516#define My_T0_Fp_disabled_0x20 \
517 mov 0x4, %g2 ;\
518 wr %g2, 0x0, %fprs ;\
519 sllx %g2, 10, %g3; \
520 rdpr %tstate, %g2;\
521 or %g2, %g3, %g2 ;\
522 wrpr %g2, 0x0, %tstate;\
523 retry; nop
524
525#define H_T1_Fp_Disabled_0x20
526#define My_H_T1_Fp_Disabled_0x20 \
527 mov 0x4, %g2 ;\
528 wr %g2, 0x0, %fprs ;\
529 sllx %g2, 10, %g3; \
530 rdpr %tstate, %g2;\
531 or %g2, %g3, %g2 ;\
532 wrpr %g2, 0x0, %tstate;\
533 stw %g2, [%i7];\
534 retry
535
536#define H_HT0_Watchdog_Reset_0x02
537#define My_HT0_Watchdog_Reset_0x02 \
538 ba wdog_2_ext;\
539 nop;retry;nop;nop;nop;nop;nop
540
541#define H_T0_Privileged_opcode_0x11
542#define My_T0_Privileged_opcode_0x11 \
543 xor %i0, %l1, %g1;\
544 and %g1, 0xf, %g1; \
545 ba h11_1; \
546 not %g0, %g2; \
547 h11_2: done; \
548 h11_1: xor %g1, %g2, %g2; \
549 ba h11_2; \
550 jmp %g2;
551
552#define H_HT0_Privileged_opcode_0x11
553#define My_HT0_Privileged_opcode_0x11 \
554 xor %i0, %l1, %g1;\
555 and %g1, 0xf, %g1; \
556 ba hh11_1; \
557 not %g0, %g2; \
558 hh11_2: done; \
559 hh11_1: xor %g1, %g2, %g2; \
560 ba hh11_2; \
561 jmp %g2;
562
563#define H_T1_Fp_exception_other_0x22
564#define My_T1_Fp_exception_other_0x22 \
565 inc %l6;\
566 dec %g5;\
567 umul %i5, 4, %g2;\
568 restore %i7, %g0, %i7 ; \
569 save %i7, %g0, %i7; \
570 restore %i7, %g0, %i7;\
571 ldx [%g2], %g2;\
572 done;
573
574#define H_T0_Fp_exception_other_0x22
575#define My_T0_Fp_exception_other_0x22 \
576 inc %l6;\
577 dec %g5;\
578 umul %i5, 4, %g2;\
579 save %i7, %g0, %i7; \
580 restore %i7, %g0, %i7;\
581 stw %g2, [%i7];\
582 done; \
583 nop
584
585#define H_HT0_Trap_Level_Zero_0x5f
586#define My_HT0_Trap_Level_Zero_0x5f \
587 not %g0, %g2; \
588 rdhpr %hpstate, %g3;\
589 jmp %g2;\
590 rdhpr %htstate, %g3;\
591 and %g3, 0xfe, %g3;\
592 wrhpr %g3, 0, %htstate;\
593 stw %g2, [%i7];\
594 retry
595
596#define My_Watchdog_Reset
597#define My_Watchdog_Reset \
598 ba wdog_red_ext;\
599 nop;retry;nop;nop;nop;nop;nop
600
601
602#define H_HT0_Instruction_address_range_0x0d
603#define SUN_H_HT0_Instruction_address_range_0x0d \
604 done;nop
605
606#define H_HT0_mem_address_range_0x2e
607#define SUN_H_HT0_mem_address_range_0x2e \
608 done;nop
609
610
611#include "hboot.s"
612.text
613.global main
614main:
615
616 ! Set up ld/st area per thread
617 ta T_RD_THID ! Result in %o1 = r9
618 umul %r9, 256, %r31
619 setx user_data_start, %r1, %r3
620 add %r31, %r3, %r31
621 wr %r0, 0x4, %asi
622
623!Initializing integer registers
624 ldx [%r31+0], %r0
625 ldx [%r31+8], %r1
626 ldx [%r31+16], %r2
627 ldx [%r31+24], %r3
628 ldx [%r31+32], %r4
629 ldx [%r31+40], %r5
630 ldx [%r31+48], %r6
631 ldx [%r31+56], %r7
632 ldx [%r31+64], %r8
633 ldx [%r31+72], %r9
634 ldx [%r31+80], %r10
635 ldx [%r31+88], %r11
636 ldx [%r31+96], %r12
637 ldx [%r31+104], %r13
638 ldx [%r31+112], %r14
639 mov %r31, %r15
640 ldx [%r31+128], %r16
641 ldx [%r31+136], %r17
642 ldx [%r31+144], %r18
643 ldx [%r31+152], %r19
644 ldx [%r31+160], %r20
645 ldx [%r31+168], %r21
646 ldx [%r31+176], %r22
647 ldx [%r31+184], %r23
648 ldx [%r31+192], %r24
649 ldx [%r31+200], %r25
650 ldx [%r31+208], %r26
651 ldx [%r31+216], %r27
652 ldx [%r31+224], %r28
653 ldx [%r31+232], %r29
654 mov 0x32, %r14
655 mov 0x30, %r30
656 save %r31, %r0, %r31
657 ldx [%r31+0], %r0
658 ldx [%r31+8], %r1
659 ldx [%r31+16], %r2
660 ldx [%r31+24], %r3
661 ldx [%r31+32], %r4
662 ldx [%r31+40], %r5
663 ldx [%r31+48], %r6
664 ldx [%r31+56], %r7
665 ldx [%r31+64], %r8
666 ldx [%r31+72], %r9
667 ldx [%r31+80], %r10
668 ldx [%r31+88], %r11
669 ldx [%r31+96], %r12
670 ldx [%r31+104], %r13
671 ldx [%r31+112], %r14
672 mov %r31, %r15
673 ldx [%r31+128], %r16
674 ldx [%r31+136], %r17
675 ldx [%r31+144], %r18
676 ldx [%r31+152], %r19
677 ldx [%r31+160], %r20
678 ldx [%r31+168], %r21
679 ldx [%r31+176], %r22
680 ldx [%r31+184], %r23
681 ldx [%r31+192], %r24
682 ldx [%r31+200], %r25
683 ldx [%r31+208], %r26
684 ldx [%r31+216], %r27
685 ldx [%r31+224], %r28
686 ldx [%r31+232], %r29
687 mov 0x30, %r14
688 mov 0x35, %r30
689 save %r31, %r0, %r31
690 ldx [%r31+0], %r0
691 ldx [%r31+8], %r1
692 ldx [%r31+16], %r2
693 ldx [%r31+24], %r3
694 ldx [%r31+32], %r4
695 ldx [%r31+40], %r5
696 ldx [%r31+48], %r6
697 ldx [%r31+56], %r7
698 ldx [%r31+64], %r8
699 ldx [%r31+72], %r9
700 ldx [%r31+80], %r10
701 ldx [%r31+88], %r11
702 ldx [%r31+96], %r12
703 ldx [%r31+104], %r13
704 ldx [%r31+112], %r14
705 mov %r31, %r15
706 ldx [%r31+128], %r16
707 ldx [%r31+136], %r17
708 ldx [%r31+144], %r18
709 ldx [%r31+152], %r19
710 ldx [%r31+160], %r20
711 ldx [%r31+168], %r21
712 ldx [%r31+176], %r22
713 ldx [%r31+184], %r23
714 ldx [%r31+192], %r24
715 ldx [%r31+200], %r25
716 ldx [%r31+208], %r26
717 ldx [%r31+216], %r27
718 ldx [%r31+224], %r28
719 ldx [%r31+232], %r29
720 mov 0x32, %r14
721 mov 0x35, %r30
722 save %r31, %r0, %r31
723 ldx [%r31+0], %r0
724 ldx [%r31+8], %r1
725 ldx [%r31+16], %r2
726 ldx [%r31+24], %r3
727 ldx [%r31+32], %r4
728 ldx [%r31+40], %r5
729 ldx [%r31+48], %r6
730 ldx [%r31+56], %r7
731 ldx [%r31+64], %r8
732 ldx [%r31+72], %r9
733 ldx [%r31+80], %r10
734 ldx [%r31+88], %r11
735 ldx [%r31+96], %r12
736 ldx [%r31+104], %r13
737 ldx [%r31+112], %r14
738 mov %r31, %r15
739 ldx [%r31+128], %r16
740 ldx [%r31+136], %r17
741 ldx [%r31+144], %r18
742 ldx [%r31+152], %r19
743 ldx [%r31+160], %r20
744 ldx [%r31+168], %r21
745 ldx [%r31+176], %r22
746 ldx [%r31+184], %r23
747 ldx [%r31+192], %r24
748 ldx [%r31+200], %r25
749 ldx [%r31+208], %r26
750 ldx [%r31+216], %r27
751 ldx [%r31+224], %r28
752 ldx [%r31+232], %r29
753 mov 0x34, %r14
754 mov 0x33, %r30
755 save %r31, %r0, %r31
756 ldx [%r31+0], %r0
757 ldx [%r31+8], %r1
758 ldx [%r31+16], %r2
759 ldx [%r31+24], %r3
760 ldx [%r31+32], %r4
761 ldx [%r31+40], %r5
762 ldx [%r31+48], %r6
763 ldx [%r31+56], %r7
764 ldx [%r31+64], %r8
765 ldx [%r31+72], %r9
766 ldx [%r31+80], %r10
767 ldx [%r31+88], %r11
768 ldx [%r31+96], %r12
769 ldx [%r31+104], %r13
770 ldx [%r31+112], %r14
771 mov %r31, %r15
772 ldx [%r31+128], %r16
773 ldx [%r31+136], %r17
774 ldx [%r31+144], %r18
775 ldx [%r31+152], %r19
776 ldx [%r31+160], %r20
777 ldx [%r31+168], %r21
778 ldx [%r31+176], %r22
779 ldx [%r31+184], %r23
780 ldx [%r31+192], %r24
781 ldx [%r31+200], %r25
782 ldx [%r31+208], %r26
783 ldx [%r31+216], %r27
784 ldx [%r31+224], %r28
785 ldx [%r31+232], %r29
786 mov 0x34, %r14
787 mov 0x32, %r30
788 save %r31, %r0, %r31
789 ldx [%r31+0], %r0
790 ldx [%r31+8], %r1
791 ldx [%r31+16], %r2
792 ldx [%r31+24], %r3
793 ldx [%r31+32], %r4
794 ldx [%r31+40], %r5
795 ldx [%r31+48], %r6
796 ldx [%r31+56], %r7
797 ldx [%r31+64], %r8
798 ldx [%r31+72], %r9
799 ldx [%r31+80], %r10
800 ldx [%r31+88], %r11
801 ldx [%r31+96], %r12
802 ldx [%r31+104], %r13
803 ldx [%r31+112], %r14
804 mov %r31, %r15
805 ldx [%r31+128], %r16
806 ldx [%r31+136], %r17
807 ldx [%r31+144], %r18
808 ldx [%r31+152], %r19
809 ldx [%r31+160], %r20
810 ldx [%r31+168], %r21
811 ldx [%r31+176], %r22
812 ldx [%r31+184], %r23
813 ldx [%r31+192], %r24
814 ldx [%r31+200], %r25
815 ldx [%r31+208], %r26
816 ldx [%r31+216], %r27
817 ldx [%r31+224], %r28
818 ldx [%r31+232], %r29
819 mov 0x35, %r14
820 mov 0x30, %r30
821 save %r31, %r0, %r31
822 ldx [%r31+0], %r0
823 ldx [%r31+8], %r1
824 ldx [%r31+16], %r2
825 ldx [%r31+24], %r3
826 ldx [%r31+32], %r4
827 ldx [%r31+40], %r5
828 ldx [%r31+48], %r6
829 ldx [%r31+56], %r7
830 ldx [%r31+64], %r8
831 ldx [%r31+72], %r9
832 ldx [%r31+80], %r10
833 ldx [%r31+88], %r11
834 ldx [%r31+96], %r12
835 ldx [%r31+104], %r13
836 ldx [%r31+112], %r14
837 mov %r31, %r15
838 ldx [%r31+128], %r16
839 ldx [%r31+136], %r17
840 ldx [%r31+144], %r18
841 ldx [%r31+152], %r19
842 ldx [%r31+160], %r20
843 ldx [%r31+168], %r21
844 ldx [%r31+176], %r22
845 ldx [%r31+184], %r23
846 ldx [%r31+192], %r24
847 ldx [%r31+200], %r25
848 ldx [%r31+208], %r26
849 ldx [%r31+216], %r27
850 ldx [%r31+224], %r28
851 ldx [%r31+232], %r29
852 mov 0x34, %r14
853 mov 0x35, %r30
854 save %r31, %r0, %r31
855 restore
856 restore
857 restore
858!Initializing float registers
859 ldd [%r31+0], %f0
860 ldd [%r31+16], %f2
861 ldd [%r31+32], %f4
862 ldd [%r31+48], %f6
863 ldd [%r31+64], %f8
864 ldd [%r31+80], %f10
865 ldd [%r31+96], %f12
866 ldd [%r31+112], %f14
867 ldd [%r31+128], %f16
868 ldd [%r31+144], %f18
869 ldd [%r31+160], %f20
870 ldd [%r31+176], %f22
871 ldd [%r31+192], %f24
872 ldd [%r31+208], %f26
873 ldd [%r31+224], %f28
874 ldd [%r31+240], %f30
875 .word 0x2e800001 ! 1: BVS bvs,a <label_0x1>
876 .word 0x879022c1 ! 2: WRPR_TT_I wrpr %r0, 0x02c1, %tt
877 .word 0x93902003 ! 3: WRPR_CWP_I wrpr %r0, 0x0003, %cwp
878 .word 0x81500000 ! 4: RDPR_TPC rdpr %tpc, %r0
879 invalw
880 mov 0x35, %r30
881 .word 0x83d0001e ! 5: Tcc_R te icc_or_xcc, %r0 + %r30
882 .word 0x819821df ! 6: WRHPR_HPSTATE_I wrhpr %r0, 0x01df, %hpstate
883 .word 0x81982614 ! 7: WRHPR_HPSTATE_I wrhpr %r0, 0x0614, %hpstate
884 .word 0x8d90209c ! 8: WRPR_PSTATE_I wrpr %r0, 0x009c, %pstate
885 .word 0x8ad48016 ! 9: UMULcc_R umulcc %r18, %r22, %r5
886 .word 0x86aa8007 ! 10: ANDNcc_R andncc %r10, %r7, %r3
887 .word 0x91d02033 ! 11: Tcc_I ta icc_or_xcc, %r0 + 51
888 .word 0x8198288e ! 12: WRHPR_HPSTATE_I wrhpr %r0, 0x088e, %hpstate
889 .word 0x91d02034 ! 13: Tcc_I ta icc_or_xcc, %r0 + 52
890 .word 0x819822d7 ! 14: WRHPR_HPSTATE_I wrhpr %r0, 0x02d7, %hpstate
891 .word 0xc68008a0 ! 15: LDUWA_R lduwa [%r0, %r0] 0x45, %r3
892 .word 0x879022d1 ! 16: WRPR_TT_I wrpr %r0, 0x02d1, %tt
893 .word 0x8198230b ! 17: WRHPR_HPSTATE_I wrhpr %r0, 0x030b, %hpstate
894 .word 0xb2d8c000 ! 18: SMULcc_R smulcc %r3, %r0, %r25
895 .word 0x8d9024cb ! 19: WRPR_PSTATE_I wrpr %r0, 0x04cb, %pstate
896 .word 0x9af8800a ! 20: SDIVcc_R sdivcc %r2, %r10, %r13
897 invalw
898 mov 0x31, %r30
899 .word 0x91d0001e ! 21: Tcc_R ta icc_or_xcc, %r0 + %r30
900 .word 0x819824d3 ! 22: WRHPR_HPSTATE_I wrhpr %r0, 0x04d3, %hpstate
901 .word 0xdacfe030 ! 23: LDSBA_I ldsba [%r31, + 0x0030] %asi, %r13
902 .word 0x879021b6 ! 24: WRPR_TT_I wrpr %r0, 0x01b6, %tt
903 .word 0x8d9022c5 ! 25: WRPR_PSTATE_I wrpr %r0, 0x02c5, %pstate
904 .word 0x819827c3 ! 26: WRHPR_HPSTATE_I wrhpr %r0, 0x07c3, %hpstate
905 ta T_CHANGE_PRIV ! macro
906DS_0:
907 .word 0x20800001 ! 29: BN bn,a <label_0x1>
908 .word 0xcd306001 ! 29: STQF_I - %f6, [0x0001, %r1]
909 normalw
910 .word 0xa3458000 ! 28: RD_SOFTINT_REG rd %softint, %r17
911 .word 0x8d902e8f ! 29: WRPR_PSTATE_I wrpr %r0, 0x0e8f, %pstate
912 .word 0x22800001 ! 30: BE be,a <label_0x1>
913 .word 0x8790209e ! 31: WRPR_TT_I wrpr %r0, 0x009e, %tt
914 .word 0x99494000 ! 32: RDHPR_HTBA rdhpr %htba, %r12
915 .word 0x8da589cc ! 33: FDIVd fdivd %f22, %f12, %f6
916 .word 0x8d902681 ! 34: WRPR_PSTATE_I wrpr %r0, 0x0681, %pstate
917 otherw
918 mov 0x30, %r30
919 .word 0x91d0001e ! 35: Tcc_R ta icc_or_xcc, %r0 + %r30
920 .word 0x91d02032 ! 36: Tcc_I ta icc_or_xcc, %r0 + 50
921DS_1:
922 .word 0x32800001 ! 38: BNE bne,a <label_0x1>
923 pdist %f22, %f22, %f30
924 .word 0x95b50301 ! 37: ALLIGNADDRESS alignaddr %r20, %r1, %r10
925 .word 0x93d02033 ! 38: Tcc_I tne icc_or_xcc, %r0 + 51
926 ta T_CHANGE_PRIV ! macro
927 .word 0x93902003 ! 40: WRPR_CWP_I wrpr %r0, 0x0003, %cwp
928 .word 0x8d9024db ! 41: WRPR_PSTATE_I wrpr %r0, 0x04db, %pstate
929 .word 0xd437e001 ! 42: STH_I sth %r10, [%r31 + 0x0001]
930 .word 0x8d902294 ! 43: WRPR_PSTATE_I wrpr %r0, 0x0294, %pstate
931 .word 0x93902007 ! 44: WRPR_CWP_I wrpr %r0, 0x0007, %cwp
932 ta T_CHANGE_NONHPRIV ! macro
933 .word 0x93d02034 ! 46: Tcc_I tne icc_or_xcc, %r0 + 52
934 .word 0x8d902605 ! 47: WRPR_PSTATE_I wrpr %r0, 0x0605, %pstate
935change_to_randtl_2:
936 ta T_CHANGE_PRIV ! macro
937 .word 0x8f902000 ! 48: WRPR_TL_I wrpr %r0, 0x0000, %tl
938 .word 0x93a149e7 ! 49: FDIVq dis not found
939
940 .word 0xd337e001 ! 50: STQF_I - %f9, [0x0001, %r31]
941 otherw
942 mov 0x33, %r30
943 .word 0x93d0001e ! 51: Tcc_R tne icc_or_xcc, %r0 + %r30
944 .word 0x8d6a4006 ! 52: SDIVX_R sdivx %r9, %r6, %r6
945 .word 0x9ba30ddb ! 53: FdMULq fdmulq
946 .word 0x91d02032 ! 54: Tcc_I ta icc_or_xcc, %r0 + 50
947 .word 0xda27e001 ! 55: STW_I stw %r13, [%r31 + 0x0001]
948 .word 0x8d9022cf ! 56: WRPR_PSTATE_I wrpr %r0, 0x02cf, %pstate
949 .word 0x87902361 ! 57: WRPR_TT_I wrpr %r0, 0x0361, %tt
950 .word 0x93902005 ! 58: WRPR_CWP_I wrpr %r0, 0x0005, %cwp
951 otherw
952 mov 0x30, %r30
953 .word 0x91d0001e ! 59: Tcc_R ta icc_or_xcc, %r0 + %r30
954 .word 0xacd00011 ! 60: UMULcc_R umulcc %r0, %r17, %r22
955 .word 0x8da01a68 ! 61: FqTOi fqtoi
956 ta T_CHANGE_TO_TL0 ! macro
957 .word 0x93d02034 ! 63: Tcc_I tne icc_or_xcc, %r0 + 52
958 otherw
959 mov 0x32, %r30
960 .word 0x83d0001e ! 64: Tcc_R te icc_or_xcc, %r0 + %r30
961 otherw
962 mov 0x31, %r30
963 .word 0x91d0001e ! 65: Tcc_R ta icc_or_xcc, %r0 + %r30
964 .word 0xccc004a0 ! 66: LDSWA_R ldswa [%r0, %r0] 0x25, %r6
965 .word 0x93902005 ! 67: WRPR_CWP_I wrpr %r0, 0x0005, %cwp
966 otherw
967 mov 0x34, %r30
968 .word 0x91d0001e ! 68: Tcc_R ta icc_or_xcc, %r0 + %r30
969change_to_randtl_3:
970 ta T_CHANGE_HPRIV ! macro
971 .word 0x8f902002 ! 69: WRPR_TL_I wrpr %r0, 0x0002, %tl
972 .word 0x8790204b ! 70: WRPR_TT_I wrpr %r0, 0x004b, %tt
973 .word 0x87902118 ! 71: WRPR_TT_I wrpr %r0, 0x0118, %tt
974 .word 0x9b540000 ! 72: RDPR_GL rdpr %-, %r13
975 .word 0x819829d3 ! 73: WRHPR_HPSTATE_I wrhpr %r0, 0x09d3, %hpstate
976 .word 0xa5702001 ! 74: POPC_I popc 0x0001, %r18
977 .word 0xe4880e40 ! 75: LDUBA_R lduba [%r0, %r0] 0x72, %r18
978 .word 0x81982a87 ! 76: WRHPR_HPSTATE_I wrhpr %r0, 0x0a87, %hpstate
979 .word 0xe48008a0 ! 77: LDUWA_R lduwa [%r0, %r0] 0x45, %r18
980 .word 0x8d90285b ! 78: WRPR_PSTATE_I wrpr %r0, 0x085b, %pstate
981 .word 0x846a4017 ! 79: UDIVX_R udivx %r9, %r23, %r2
982 .word 0xb568a001 ! 80: SDIVX_I sdivx %r2, 0x0001, %r26
983 .word 0x81982684 ! 81: WRHPR_HPSTATE_I wrhpr %r0, 0x0684, %hpstate
984 .word 0x81982ac7 ! 82: WRHPR_HPSTATE_I wrhpr %r0, 0x0ac7, %hpstate
985 invalw
986 mov 0x33, %r30
987 .word 0x91d0001e ! 83: Tcc_R ta icc_or_xcc, %r0 + %r30
988 .word 0xf497e000 ! 84: LDUHA_I lduha [%r31, + 0x0000] %asi, %r26
989 ta T_CHANGE_NONHPRIV ! macro
990 invalw
991 mov 0x32, %r30
992 .word 0x83d0001e ! 86: Tcc_R te icc_or_xcc, %r0 + %r30
993 .word 0xa3504000 ! 87: RDPR_TNPC rdpr %tnpc, %r17
994 .word 0x93902003 ! 88: WRPR_CWP_I wrpr %r0, 0x0003, %cwp
995 .word 0x93902003 ! 89: WRPR_CWP_I wrpr %r0, 0x0003, %cwp
996 .word 0x91d02035 ! 90: Tcc_I ta icc_or_xcc, %r0 + 53
997 ta T_CHANGE_NONHPRIV ! macro
998 invalw
999 mov 0x30, %r30
1000 .word 0x91d0001e ! 92: Tcc_R ta icc_or_xcc, %r0 + %r30
1001 .word 0x8b494000 ! 93: RDHPR_HTBA rdhpr %htba, %r5
1002 .word 0x879023df ! 94: WRPR_TT_I wrpr %r0, 0x03df, %tt
1003 .word 0x93902006 ! 95: WRPR_CWP_I wrpr %r0, 0x0006, %cwp
1004 .word 0xcb27c017 ! 96: STF_R st %f5, [%r23, %r31]
1005 .word 0x93902002 ! 97: WRPR_CWP_I wrpr %r0, 0x0002, %cwp
1006 .word 0x8790206e ! 98: WRPR_TT_I wrpr %r0, 0x006e, %tt
1007 .word 0x8cfd6001 ! 99: SDIVcc_I sdivcc %r21, 0x0001, %r6
1008 .word 0x87902256 ! 100: WRPR_TT_I wrpr %r0, 0x0256, %tt
1009 .word 0xcc1fe001 ! 101: LDD_I ldd [%r31 + 0x0001], %r6
1010 .word 0x8d902006 ! 102: WRPR_PSTATE_I wrpr %r0, 0x0006, %pstate
1011 invalw
1012 mov 0x32, %r30
1013 .word 0x91d0001e ! 103: Tcc_R ta icc_or_xcc, %r0 + %r30
1014 .word 0x879021e3 ! 104: WRPR_TT_I wrpr %r0, 0x01e3, %tt
1015 .word 0x92c1a001 ! 105: ADDCcc_I addccc %r6, 0x0001, %r9
1016 .word 0x3e800001 ! 106: BVC bvc,a <label_0x1>
1017 .word 0x8d802004 ! 107: WRFPRS_I wr %r0, 0x0004, %fprs
1018 .word 0xd28008a0 ! 108: LDUWA_R lduwa [%r0, %r0] 0x45, %r9
1019 invalw
1020 mov 0x35, %r30
1021 .word 0x83d0001e ! 109: Tcc_R te icc_or_xcc, %r0 + %r30
1022 .word 0xd327e001 ! 110: STF_I st %f9, [0x0001, %r31]
1023 .word 0x98fa0002 ! 111: SDIVcc_R sdivcc %r8, %r2, %r12
1024 .word 0x89480000 ! 112: RDHPR_HPSTATE rdhpr %hpstate, %r4
1025 .word 0x93d02035 ! 113: Tcc_I tne icc_or_xcc, %r0 + 53
1026 .word 0xc88008a0 ! 114: LDUWA_R lduwa [%r0, %r0] 0x45, %r4
1027 ta T_CHANGE_TO_TL0 ! macro
1028 .word 0xb750c000 ! 116: RDPR_TT rdpr %tt, %r27
1029 .word 0xb6f9c003 ! 117: SDIVcc_R sdivcc %r7, %r3, %r27
1030 .word 0x99902005 ! 118: WRPR_CLEANWIN_I wrpr %r0, 0x0005, %cleanwin
1031 .word 0x99902003 ! 119: WRPR_CLEANWIN_I wrpr %r0, 0x0003, %cleanwin
1032 .word 0x8d902650 ! 120: WRPR_PSTATE_I wrpr %r0, 0x0650, %pstate
1033 .word 0x91d02033 ! 121: Tcc_I ta icc_or_xcc, %r0 + 51
1034 invalw
1035 mov 0x33, %r30
1036 .word 0x91d0001e ! 122: Tcc_R ta icc_or_xcc, %r0 + %r30
1037 .word 0x91d02034 ! 123: Tcc_I ta icc_or_xcc, %r0 + 52
1038 .word 0x8ba1c9b3 ! 124: FDIVs fdivs %f7, %f19, %f5
1039 .word 0xb5a649d2 ! 125: FDIVd fdivd %f56, %f18, %f26
1040 .word 0xf4c7e020 ! 126: LDSWA_I ldswa [%r31, + 0x0020] %asi, %r26
1041 .word 0x8d802000 ! 127: WRFPRS_I wr %r0, 0x0000, %fprs
1042 .word 0xf4d00e80 ! 128: LDSHA_R ldsha [%r0, %r0] 0x74, %r26
1043 .word 0xf537e001 ! 129: STQF_I - %f26, [0x0001, %r31]
1044 .word 0x8d902c5e ! 130: WRPR_PSTATE_I wrpr %r0, 0x0c5e, %pstate
1045 .word 0x8198294b ! 131: WRHPR_HPSTATE_I wrhpr %r0, 0x094b, %hpstate
1046DS_4:
1047 .word 0x34800001 ! 133: BG bg,a <label_0x1>
1048 .word 0xc532401a ! 133: STQF_R - %f2, [%r26, %r9]
1049 normalw
1050 .word 0xa3458000 ! 132: RD_SOFTINT_REG rd %softint, %r17
1051 .word 0x844dc00c ! 133: MULX_R mulx %r23, %r12, %r2
1052 .word 0xc427e001 ! 134: STW_I stw %r2, [%r31 + 0x0001]
1053 .word 0x93902002 ! 135: WRPR_CWP_I wrpr %r0, 0x0002, %cwp
1054 .word 0x8d504000 ! 136: RDPR_TNPC rdpr %tnpc, %r6
1055 .word 0xb0d4c00d ! 137: UMULcc_R umulcc %r19, %r13, %r24
1056 .word 0x8d9026c5 ! 138: WRPR_PSTATE_I wrpr %r0, 0x06c5, %pstate
1057 .word 0x81982a04 ! 139: WRHPR_HPSTATE_I wrhpr %r0, 0x0a04, %hpstate
1058 .word 0x93902005 ! 140: WRPR_CWP_I wrpr %r0, 0x0005, %cwp
1059 .word 0x93504000 ! 141: RDPR_TNPC rdpr %tnpc, %r9
1060DS_5:
1061 .word 0x32800001 ! 143: BNE bne,a <label_0x1>
1062 .word 0xcf318002 ! 143: STQF_R - %f7, [%r2, %r6]
1063 normalw
1064 .word 0x89458000 ! 142: RD_SOFTINT_REG rd %softint, %r4
1065 .word 0x93d02035 ! 143: Tcc_I tne icc_or_xcc, %r0 + 53
1066 ta T_CHANGE_TO_TL0 ! macro
1067DS_6:
1068 nop
1069 not %g0, %g2
1070 jmp %g2
1071 .word 0x9d902004 ! 145: WRPR_WSTATE_I wrpr %r0, 0x0004, %wstate
1072 .word 0x87902083 ! 146: WRPR_TT_I wrpr %r0, 0x0083, %tt
1073 .word 0x8d90245e ! 147: WRPR_PSTATE_I wrpr %r0, 0x045e, %pstate
1074 .word 0x93902005 ! 148: WRPR_CWP_I wrpr %r0, 0x0005, %cwp
1075 .word 0xc9e7c022 ! 149: CASA_I casa [%r31] 0x 1, %r2, %r4
1076 .word 0x9951c000 ! 150: RDPR_TL rdpr %tl, %r12
1077 .word 0x819824cf ! 151: WRHPR_HPSTATE_I wrhpr %r0, 0x04cf, %hpstate
1078 .word 0xd8d00e80 ! 152: LDSHA_R ldsha [%r0, %r0] 0x74, %r12
1079 otherw
1080 mov 0x30, %r30
1081 .word 0x91d0001e ! 153: Tcc_R ta icc_or_xcc, %r0 + %r30
1082 .word 0x9ba149ad ! 154: FDIVs fdivs %f5, %f13, %f13
1083 .word 0xb3514000 ! 155: RDPR_TBA rdpr %tba, %r25
1084 .word 0x87902310 ! 156: WRPR_TT_I wrpr %r0, 0x0310, %tt
1085 .word 0x91d02033 ! 157: Tcc_I ta icc_or_xcc, %r0 + 51
1086 .word 0x93902001 ! 158: WRPR_CWP_I wrpr %r0, 0x0001, %cwp
1087 ta T_CHANGE_NONPRIV ! macro
1088 .word 0x91d02032 ! 160: Tcc_I ta icc_or_xcc, %r0 + 50
1089 .word 0xf2dfe000 ! 161: LDXA_I ldxa [%r31, + 0x0000] %asi, %r25
1090 .word 0x83d02030 ! 162: Tcc_I te icc_or_xcc, %r0 + 48
1091 .word 0xf29fc020 ! 163: LDDA_R ldda [%r31, %r0] 0x01, %r25
1092 .word 0x99902002 ! 164: WRPR_CLEANWIN_I wrpr %r0, 0x0002, %cleanwin
1093 .word 0xf327e001 ! 165: STF_I st %f25, [0x0001, %r31]
1094 .word 0x87802080 ! 166: WRASI_I wr %r0, 0x0080, %asi
1095 .word 0x9b514000 ! 167: RDPR_TBA rdpr %tba, %r13
1096 .word 0x8b51c000 ! 168: RDPR_TL rdpr %tl, %r5
1097 ta T_CHANGE_NONHPRIV ! macro
1098 .word 0xca800ac0 ! 170: LDUWA_R lduwa [%r0, %r0] 0x56, %r5
1099 ta T_CHANGE_NONPRIV ! macro
1100 otherw
1101 mov 0x35, %r30
1102 .word 0x91d0001e ! 172: Tcc_R ta icc_or_xcc, %r0 + %r30
1103 .word 0xcad7e000 ! 173: LDSHA_I ldsha [%r31, + 0x0000] %asi, %r5
1104 .word 0x8d802000 ! 174: WRFPRS_I wr %r0, 0x0000, %fprs
1105 .word 0x8d902e47 ! 175: WRPR_PSTATE_I wrpr %r0, 0x0e47, %pstate
1106 .word 0x879022e5 ! 176: WRPR_TT_I wrpr %r0, 0x02e5, %tt
1107 .word 0x83a289da ! 177: FDIVd fdivd %f10, %f26, %f32
1108 .word 0x8d50c000 ! 178: RDPR_TT rdpr %tt, %r6
1109 otherw
1110 mov 0x35, %r30
1111 .word 0x91d0001e ! 179: Tcc_R ta icc_or_xcc, %r0 + %r30
1112 .word 0x82d08015 ! 180: UMULcc_R umulcc %r2, %r21, %r1
1113 otherw
1114 mov 0x31, %r30
1115 .word 0x91d0001e ! 181: Tcc_R ta icc_or_xcc, %r0 + %r30
1116DS_7:
1117 .word 0x22800001 ! 183: BE be,a <label_0x1>
1118 pdist %f12, %f12, %f22
1119 .word 0x87b4c309 ! 182: ALLIGNADDRESS alignaddr %r19, %r9, %r3
1120 .word 0xc6c7e020 ! 183: LDSWA_I ldswa [%r31, + 0x0020] %asi, %r3
1121 .word 0x83d02030 ! 184: Tcc_I te icc_or_xcc, %r0 + 48
1122 .word 0x81982019 ! 185: WRHPR_HPSTATE_I wrhpr %r0, 0x0019, %hpstate
1123 invalw
1124 mov 0x34, %r30
1125 .word 0x91d0001e ! 186: Tcc_R ta icc_or_xcc, %r0 + %r30
1126 .word 0x819822cb ! 187: WRHPR_HPSTATE_I wrhpr %r0, 0x02cb, %hpstate
1127 .word 0x8d902c0d ! 188: WRPR_PSTATE_I wrpr %r0, 0x0c0d, %pstate
1128 .word 0x879023eb ! 189: WRPR_TT_I wrpr %r0, 0x03eb, %tt
1129 .word 0x97494000 ! 190: RDHPR_HTBA rdhpr %htba, %r11
1130 .word 0x91d02035 ! 191: Tcc_I ta icc_or_xcc, %r0 + 53
1131 .word 0x87902294 ! 192: WRPR_TT_I wrpr %r0, 0x0294, %tt
1132 .word 0x81982794 ! 193: WRHPR_HPSTATE_I wrhpr %r0, 0x0794, %hpstate
1133 invalw
1134 mov 0x34, %r30
1135 .word 0x91d0001e ! 194: Tcc_R ta icc_or_xcc, %r0 + %r30
1136 .word 0x87902362 ! 195: WRPR_TT_I wrpr %r0, 0x0362, %tt
1137 .word 0xd68008a0 ! 196: LDUWA_R lduwa [%r0, %r0] 0x45, %r11
1138 ta T_CHANGE_PRIV ! macro
1139 .word 0x9169a001 ! 198: SDIVX_I sdivx %r6, 0x0001, %r8
1140change_to_randtl_8:
1141 ta T_CHANGE_PRIV ! macro
1142 .word 0x8f902000 ! 199: WRPR_TL_I wrpr %r0, 0x0000, %tl
1143DS_9:
1144 .word 0x32800001 ! 201: BNE bne,a <label_0x1>
1145 .word 0x34800001 ! 201: BG bg,a <label_0x1>
1146 .word 0x8ba00540 ! 201: FSQRTd fsqrt
1147 .word 0xa1a64836 ! 200: FADDs fadds %f25, %f22, %f16
1148 .word 0x8d802000 ! 201: WRFPRS_I wr %r0, 0x0000, %fprs
1149 invalw
1150 mov 0x35, %r30
1151 .word 0x91d0001e ! 202: Tcc_R ta icc_or_xcc, %r0 + %r30
1152 .word 0x81500000 ! 203: RDPR_TPC rdpr %tpc, %r0
1153 .word 0x93902003 ! 204: WRPR_CWP_I wrpr %r0, 0x0003, %cwp
1154 .word 0x87902122 ! 205: WRPR_TT_I wrpr %r0, 0x0122, %tt
1155 .word 0x99514000 ! 206: RDPR_TBA rdpr %tba, %r12
1156 ta T_CHANGE_PRIV ! macro
1157 .word 0x926e6001 ! 208: UDIVX_I udivx %r25, 0x0001, %r9
1158DS_10:
1159 .word 0x22800001 ! 210: BE be,a <label_0x1>
1160 pdist %f28, %f8, %f18
1161 .word 0xb7b4c31a ! 209: ALLIGNADDRESS alignaddr %r19, %r26, %r27
1162 otherw
1163 mov 0x30, %r30
1164 .word 0x83d0001e ! 210: Tcc_R te icc_or_xcc, %r0 + %r30
1165 .word 0x87902230 ! 211: WRPR_TT_I wrpr %r0, 0x0230, %tt
1166 .word 0x81982045 ! 212: WRHPR_HPSTATE_I wrhpr %r0, 0x0045, %hpstate
1167 .word 0x8d802000 ! 213: WRFPRS_I wr %r0, 0x0000, %fprs
1168 ta T_CHANGE_NONPRIV ! macro
1169 .word 0x8790212a ! 215: WRPR_TT_I wrpr %r0, 0x012a, %tt
1170 .word 0x93902007 ! 216: WRPR_CWP_I wrpr %r0, 0x0007, %cwp
1171 .word 0x8b514000 ! 217: RDPR_TBA rdpr %tba, %r5
1172DS_11:
1173 .word 0x32800001 ! 219: BNE bne,a <label_0x1>
1174 .word 0x20800001 ! 219: BN bn,a <label_0x1>
1175 .word 0xcf14400c ! 219: LDQF_R - [%r17, %r12], %f7
1176 .word 0x8da68827 ! 218: FADDs fadds %f26, %f7, %f6
1177 .word 0xccffc027 ! 219: SWAPA_R swapa %r6, [%r31 + %r7] 0x01
1178 .word 0x83d02035 ! 220: Tcc_I te icc_or_xcc, %r0 + 53
1179DS_12:
1180 .word 0x32800001 ! 222: BNE bne,a <label_0x1>
1181 allclean
1182 .word 0xa3b6c314 ! 221: ALLIGNADDRESS alignaddr %r27, %r20, %r17
1183 .word 0xaf514000 ! 222: RDPR_TBA rdpr %tba, %r23
1184 .word 0xee8fe000 ! 223: LDUBA_I lduba [%r31, + 0x0000] %asi, %r23
1185 ta T_CHANGE_HPRIV ! macro
1186 .word 0x81982400 ! 225: WRHPR_HPSTATE_I wrhpr %r0, 0x0400, %hpstate
1187 .word 0x93902001 ! 226: WRPR_CWP_I wrpr %r0, 0x0001, %cwp
1188 .word 0x8d90225a ! 227: WRPR_PSTATE_I wrpr %r0, 0x025a, %pstate
1189 .word 0x91d02032 ! 228: Tcc_I ta icc_or_xcc, %r0 + 50
1190 .word 0x91d02030 ! 229: Tcc_I ta icc_or_xcc, %r0 + 48
1191 otherw
1192 mov 0x33, %r30
1193 .word 0x83d0001e ! 230: Tcc_R te icc_or_xcc, %r0 + %r30
1194 .word 0x3e800001 ! 231: BVC bvc,a <label_0x1>
1195 .word 0x83504000 ! 232: RDPR_TNPC rdpr %tnpc, %r1
1196 .word 0xc2c804a0 ! 233: LDSBA_R ldsba [%r0, %r0] 0x25, %r1
1197 ta T_CHANGE_PRIV ! macro
1198 .word 0x8d802000 ! 235: WRFPRS_I wr %r0, 0x0000, %fprs
1199 .word 0x8d802000 ! 236: WRFPRS_I wr %r0, 0x0000, %fprs
1200 .word 0x81a649e6 ! 237: FDIVq dis not found
1201
1202DS_13:
1203 .word 0x34800001 ! 239: BG bg,a <label_0x1>
1204 .word 0xbfefc000 ! 238: RESTORE_R restore %r31, %r0, %r31
1205 .word 0x8d9028c6 ! 239: WRPR_PSTATE_I wrpr %r0, 0x08c6, %pstate
1206 .word 0xa5500000 ! 240: RDPR_TPC rdpr %tpc, %r18
1207 .word 0x93d02030 ! 241: Tcc_I tne icc_or_xcc, %r0 + 48
1208 .word 0xb7504000 ! 242: RDPR_TNPC <illegal instruction>
1209 .word 0x93d02033 ! 243: Tcc_I tne icc_or_xcc, %r0 + 51
1210 .word 0x8d902a0a ! 244: WRPR_PSTATE_I wrpr %r0, 0x0a0a, %pstate
1211 .word 0x81514000 ! 245: RDPR_TBA rdpr %tba, %r0
1212 .word 0x819828c7 ! 246: WRHPR_HPSTATE_I wrhpr %r0, 0x08c7, %hpstate
1213 .word 0xc047e001 ! 247: LDSW_I ldsw [%r31 + 0x0001], %r0
1214 .word 0xa84ac013 ! 248: MULX_R mulx %r11, %r19, %r20
1215 ta T_CHANGE_NONHPRIV ! macro
1216 .word 0xe807c000 ! 250: LDUW_R lduw [%r31 + %r0], %r20
1217 .word 0xb7a34d25 ! 251: FsMULd fsmuld %f13, %f36, %f58
1218 ta T_CHANGE_HPRIV ! macro
1219 .word 0xf6dfe030 ! 253: LDXA_I ldxa [%r31, + 0x0030] %asi, %r27
1220 .word 0x879020ba ! 254: WRPR_TT_I wrpr %r0, 0x00ba, %tt
1221 .word 0x81982558 ! 255: WRHPR_HPSTATE_I wrhpr %r0, 0x0558, %hpstate
1222 .word 0xa9480000 ! 256: RDHPR_HPSTATE rdhpr %hpstate, %r20
1223 .word 0xe857e001 ! 257: LDSH_I ldsh [%r31 + 0x0001], %r20
1224 .word 0x87a000d7 ! 258: FNEGd fnegd %f54, %f34
1225 .word 0x26800001 ! 259: BL bl,a <label_0x1>
1226 invalw
1227 mov 0x35, %r30
1228 .word 0x91d0001e ! 260: Tcc_R ta icc_or_xcc, %r0 + %r30
1229 .word 0x8d90268f ! 261: WRPR_PSTATE_I wrpr %r0, 0x068f, %pstate
1230 .word 0x92da8003 ! 262: SMULcc_R smulcc %r10, %r3, %r9
1231 .word 0x91d02031 ! 263: Tcc_I ta icc_or_xcc, %r0 + 49
1232 .word 0x81982e82 ! 264: WRHPR_HPSTATE_I wrhpr %r0, 0x0e82, %hpstate
1233 .word 0x87902224 ! 265: WRPR_TT_I wrpr %r0, 0x0224, %tt
1234 .word 0x87902186 ! 266: WRPR_TT_I wrpr %r0, 0x0186, %tt
1235 .word 0x81982117 ! 267: WRHPR_HPSTATE_I wrhpr %r0, 0x0117, %hpstate
1236 .word 0xd29fc020 ! 268: LDDA_R ldda [%r31, %r0] 0x01, %r9
1237 ta T_CHANGE_NONHPRIV ! macro
1238 .word 0x93902007 ! 270: WRPR_CWP_I wrpr %r0, 0x0007, %cwp
1239 .word 0x926de001 ! 271: UDIVX_I udivx %r23, 0x0001, %r9
1240 .word 0x8d902ec2 ! 272: WRPR_PSTATE_I wrpr %r0, 0x0ec2, %pstate
1241 .word 0xd2d00e60 ! 273: LDSHA_R ldsha [%r0, %r0] 0x73, %r9
1242DS_14:
1243 nop
1244 not %g0, %g2
1245 jmp %g2
1246 .word 0x9d902005 ! 274: WRPR_WSTATE_I wrpr %r0, 0x0005, %wstate
1247 .word 0x81982607 ! 275: WRHPR_HPSTATE_I wrhpr %r0, 0x0607, %hpstate
1248 .word 0x87802014 ! 276: WRASI_I wr %r0, 0x0014, %asi
1249 .word 0xd22fe001 ! 277: STB_I stb %r9, [%r31 + 0x0001]
1250 .word 0x8f514000 ! 278: RDPR_TBA rdpr %tba, %r7
1251 .word 0xa4fd4017 ! 279: SDIVcc_R sdivcc %r21, %r23, %r18
1252 .word 0x87902023 ! 280: WRPR_TT_I wrpr %r0, 0x0023, %tt
1253 .word 0x85a6c9e2 ! 281: FDIVq dis not found
1254
1255 .word 0xb750c000 ! 282: RDPR_TT rdpr %tt, %r27
1256 .word 0x8d802004 ! 283: WRFPRS_I wr %r0, 0x0004, %fprs
1257 .word 0x38700001 ! 284: BPGU <illegal instruction>
1258 otherw
1259 mov 0x30, %r30
1260 .word 0x91d0001e ! 285: Tcc_R ta icc_or_xcc, %r0 + %r30
1261 .word 0x93902000 ! 286: WRPR_CWP_I wrpr %r0, 0x0000, %cwp
1262 .word 0x91d02031 ! 287: Tcc_I ta icc_or_xcc, %r0 + 49
1263 .word 0x87902073 ! 288: WRPR_TT_I wrpr %r0, 0x0073, %tt
1264 .word 0x8d9020c9 ! 289: WRPR_PSTATE_I wrpr %r0, 0x00c9, %pstate
1265 ta T_CHANGE_HPRIV ! macro
1266 .word 0x8d902850 ! 291: WRPR_PSTATE_I wrpr %r0, 0x0850, %pstate
1267change_to_tl1_15:
1268 ta T_CHANGE_HPRIV
1269 ta T_CHANGE_TO_TL1 ! macro
1270 .word 0x93902001 ! 293: WRPR_CWP_I wrpr %r0, 0x0001, %cwp
1271 ta T_CHANGE_TO_TL0 ! macro
1272 invalw
1273 mov 0x31, %r30
1274 .word 0x91d0001e ! 295: Tcc_R ta icc_or_xcc, %r0 + %r30
1275 .word 0xf797e001 ! 296: LDQFA_I - [%r31, 0x0001], %f27
1276 .word 0x93902007 ! 297: WRPR_CWP_I wrpr %r0, 0x0007, %cwp
1277 .word 0x8d902cc6 ! 298: WRPR_PSTATE_I wrpr %r0, 0x0cc6, %pstate
1278 .word 0xa1480000 ! 299: RDHPR_HPSTATE rdhpr %hpstate, %r16
1279 .word 0x8d902a87 ! 300: WRPR_PSTATE_I wrpr %r0, 0x0a87, %pstate
1280 .word 0x8d902e10 ! 301: WRPR_PSTATE_I wrpr %r0, 0x0e10, %pstate
1281 .word 0x87a0054c ! 302: FSQRTd fsqrt
1282 .word 0x99902004 ! 303: WRPR_CLEANWIN_I wrpr %r0, 0x0004, %cleanwin
1283 .word 0x89514000 ! 304: RDPR_TBA rdpr %tba, %r4
1284 ta T_CHANGE_HPRIV ! macro
1285 .word 0x8f480000 ! 306: RDHPR_HPSTATE rdhpr %hpstate, %r7
1286 .word 0x91500000 ! 307: RDPR_TPC rdpr %tpc, %r8
1287 .word 0xada509a1 ! 308: FDIVs fdivs %f20, %f1, %f22
1288 .word 0x93902003 ! 309: WRPR_CWP_I wrpr %r0, 0x0003, %cwp
1289 .word 0x8d902a99 ! 310: WRPR_PSTATE_I wrpr %r0, 0x0a99, %pstate
1290 .word 0x83d02035 ! 311: Tcc_I te icc_or_xcc, %r0 + 53
1291 .word 0x8d902c9e ! 312: WRPR_PSTATE_I wrpr %r0, 0x0c9e, %pstate
1292 ta T_CHANGE_TO_TL0 ! macro
1293 ta T_CHANGE_PRIV ! macro
1294 .word 0x32700001 ! 315: BPNE <illegal instruction>
1295 ta T_CHANGE_NONPRIV ! macro
1296 .word 0x2a700001 ! 317: BPCS <illegal instruction>
1297 .word 0x99a30d34 ! 318: FsMULd fsmuld %f12, %f20, %f12
1298change_to_randtl_16:
1299 ta T_CHANGE_PRIV ! macro
1300 .word 0x8f902000 ! 319: WRPR_TL_I wrpr %r0, 0x0000, %tl
1301 .word 0x91d02031 ! 320: Tcc_I ta icc_or_xcc, %r0 + 49
1302 .word 0x8d902e92 ! 321: WRPR_PSTATE_I wrpr %r0, 0x0e92, %pstate
1303 .word 0x8d902ad7 ! 322: WRPR_PSTATE_I wrpr %r0, 0x0ad7, %pstate
1304 .word 0xaea8c019 ! 323: ANDNcc_R andncc %r3, %r25, %r23
1305 .word 0x91d02034 ! 324: Tcc_I ta icc_or_xcc, %r0 + 52
1306 .word 0x8f540000 ! 325: RDPR_GL rdpr %-, %r7
1307 .word 0xcec7e010 ! 326: LDSWA_I ldswa [%r31, + 0x0010] %asi, %r7
1308 .word 0x8790221a ! 327: WRPR_TT_I wrpr %r0, 0x021a, %tt
1309 .word 0x91d02035 ! 328: Tcc_I ta icc_or_xcc, %r0 + 53
1310DS_17:
1311 .word 0x34800001 ! 330: BG bg,a <label_0x1>
1312 .word 0xbfefc000 ! 329: RESTORE_R restore %r31, %r0, %r31
1313 .word 0xce800ae0 ! 330: LDUWA_R lduwa [%r0, %r0] 0x57, %r7
1314 invalw
1315 mov 0x34, %r30
1316 .word 0x91d0001e ! 331: Tcc_R ta icc_or_xcc, %r0 + %r30
1317 .word 0x93902007 ! 332: WRPR_CWP_I wrpr %r0, 0x0007, %cwp
1318 .word 0xce97e000 ! 333: LDUHA_I lduha [%r31, + 0x0000] %asi, %r7
1319 .word 0x8790233a ! 334: WRPR_TT_I wrpr %r0, 0x033a, %tt
1320 .word 0x81982840 ! 335: WRHPR_HPSTATE_I wrhpr %r0, 0x0840, %hpstate
1321 .word 0x93902000 ! 336: WRPR_CWP_I wrpr %r0, 0x0000, %cwp
1322 .word 0xa1a0054c ! 337: FSQRTd fsqrt
1323 .word 0x83a000c4 ! 338: FNEGd fnegd %f4, %f32
1324 .word 0x93902006 ! 339: WRPR_CWP_I wrpr %r0, 0x0006, %cwp
1325 .word 0x8d90261c ! 340: WRPR_PSTATE_I wrpr %r0, 0x061c, %pstate
1326 ta T_CHANGE_NONHPRIV ! macro
1327 .word 0x93902007 ! 342: WRPR_CWP_I wrpr %r0, 0x0007, %cwp
1328 invalw
1329 mov 0x34, %r30
1330 .word 0x93d0001e ! 343: Tcc_R tne icc_or_xcc, %r0 + %r30
1331 invalw
1332 mov 0x34, %r30
1333 .word 0x91d0001e ! 344: Tcc_R ta icc_or_xcc, %r0 + %r30
1334 .word 0xc2dfe010 ! 345: LDXA_I ldxa [%r31, + 0x0010] %asi, %r1
1335 .word 0x8d90229b ! 346: WRPR_PSTATE_I wrpr %r0, 0x029b, %pstate
1336 .word 0x8d902883 ! 347: WRPR_PSTATE_I wrpr %r0, 0x0883, %pstate
1337 .word 0x93902005 ! 348: WRPR_CWP_I wrpr %r0, 0x0005, %cwp
1338 .word 0x93902005 ! 349: WRPR_CWP_I wrpr %r0, 0x0005, %cwp
1339 .word 0x81982405 ! 350: WRHPR_HPSTATE_I wrhpr %r0, 0x0405, %hpstate
1340 .word 0x8790229f ! 351: WRPR_TT_I wrpr %r0, 0x029f, %tt
1341 ta T_CHANGE_PRIV ! macro
1342 .word 0x8d9020ca ! 353: WRPR_PSTATE_I wrpr %r0, 0x00ca, %pstate
1343 .word 0x95a000d4 ! 354: FNEGd fnegd %f20, %f10
1344 .word 0x9ba00571 ! 355: FSQRTq fsqrt
1345 .word 0xda97e010 ! 356: LDUHA_I lduha [%r31, + 0x0010] %asi, %r13
1346 .word 0x8d902ad6 ! 357: WRPR_PSTATE_I wrpr %r0, 0x0ad6, %pstate
1347 .word 0x93902005 ! 358: WRPR_CWP_I wrpr %r0, 0x0005, %cwp
1348 .word 0xdb37c011 ! 359: STQF_R - %f13, [%r17, %r31]
1349 .word 0x81702001 ! 360: POPC_I popc 0x0001, %r0
1350 .word 0x85a0056d ! 361: FSQRTq fsqrt
1351 .word 0x9649000c ! 362: MULX_R mulx %r4, %r12, %r11
1352 .word 0xa4d90001 ! 363: SMULcc_R smulcc %r4, %r1, %r18
1353 .word 0x8d902016 ! 364: WRPR_PSTATE_I wrpr %r0, 0x0016, %pstate
1354 .word 0x8d902c1e ! 365: WRPR_PSTATE_I wrpr %r0, 0x0c1e, %pstate
1355 .word 0xe4c004a0 ! 366: LDSWA_R ldswa [%r0, %r0] 0x25, %r18
1356 ta T_CHANGE_NONHPRIV ! macro
1357 .word 0x8d90221d ! 368: WRPR_PSTATE_I wrpr %r0, 0x021d, %pstate
1358 ta T_CHANGE_TO_TL0 ! macro
1359 .word 0xb4d2e001 ! 370: UMULcc_I umulcc %r11, 0x0001, %r26
1360 .word 0x879022fd ! 371: WRPR_TT_I wrpr %r0, 0x02fd, %tt
1361 .word 0xa5508000 ! 372: RDPR_TSTATE rdpr %tstate, %r18
1362 .word 0x81982dc5 ! 373: WRHPR_HPSTATE_I wrhpr %r0, 0x0dc5, %hpstate
1363 .word 0xe4d004a0 ! 374: LDSHA_R ldsha [%r0, %r0] 0x25, %r18
1364 .word 0x8d9022d7 ! 375: WRPR_PSTATE_I wrpr %r0, 0x02d7, %pstate
1365 .word 0x93902007 ! 376: WRPR_CWP_I wrpr %r0, 0x0007, %cwp
1366 .word 0x91d02031 ! 377: Tcc_I ta icc_or_xcc, %r0 + 49
1367 ta T_CHANGE_NONPRIV ! macro
1368 .word 0xe48fe020 ! 379: LDUBA_I lduba [%r31, + 0x0020] %asi, %r18
1369 .word 0x93902007 ! 380: WRPR_CWP_I wrpr %r0, 0x0007, %cwp
1370DS_18:
1371 .word 0x32800001 ! 382: BNE bne,a <label_0x1>
1372 .word 0xd5328004 ! 382: STQF_R - %f10, [%r4, %r10]
1373 normalw
1374 .word 0x87458000 ! 381: RD_SOFTINT_REG rd %softint, %r3
1375 .word 0xc6d804a0 ! 382: LDXA_R ldxa [%r0, %r0] 0x25, %r3
1376 .word 0x8d90221f ! 383: WRPR_PSTATE_I wrpr %r0, 0x021f, %pstate
1377 .word 0x91d02034 ! 384: Tcc_I ta icc_or_xcc, %r0 + 52
1378 ta T_CHANGE_TO_TL0 ! macro
1379change_to_tl1_19:
1380 ta T_CHANGE_HPRIV
1381 ta T_CHANGE_TO_TL1 ! macro
1382 .word 0xc6d7e020 ! 387: LDSHA_I ldsha [%r31, + 0x0020] %asi, %r3
1383DS_20:
1384 .word 0x22800001 ! 389: BE be,a <label_0x1>
1385 pdist %f12, %f6, %f14
1386 .word 0xabb18301 ! 388: ALLIGNADDRESS alignaddr %r6, %r1, %r21
1387 .word 0xebe7c021 ! 389: CASA_I casa [%r31] 0x 1, %r1, %r21
1388 otherw
1389 mov 0x30, %r30
1390 .word 0x91d0001e ! 390: Tcc_R ta icc_or_xcc, %r0 + %r30
1391 .word 0x87902300 ! 391: WRPR_TT_I wrpr %r0, 0x0300, %tt
1392 .word 0xea8008a0 ! 392: LDUWA_R lduwa [%r0, %r0] 0x45, %r21
1393 .word 0xeabfc021 ! 393: STDA_R stda %r21, [%r31 + %r1] 0x01
1394 .word 0x81982844 ! 394: WRHPR_HPSTATE_I wrhpr %r0, 0x0844, %hpstate
1395 .word 0xebe7c021 ! 395: CASA_I casa [%r31] 0x 1, %r1, %r21
1396 .word 0x93902004 ! 396: WRPR_CWP_I wrpr %r0, 0x0004, %cwp
1397 .word 0xb7a2c9e6 ! 397: FDIVq dis not found
1398
1399 .word 0x91d02031 ! 398: Tcc_I ta icc_or_xcc, %r0 + 49
1400 .word 0x8790218b ! 399: WRPR_TT_I wrpr %r0, 0x018b, %tt
1401 .word 0x8aaa801a ! 400: ANDNcc_R andncc %r10, %r26, %r5
1402 .word 0x93a2c9d8 ! 401: FDIVd fdivd %f42, %f24, %f40
1403 .word 0x9ba04dda ! 402: FdMULq fdmulq
1404DS_21:
1405 .word 0x20800001 ! 404: BN bn,a <label_0x1>
1406 .word 0xd5332001 ! 404: STQF_I - %f10, [0x0001, %r12]
1407 normalw
1408 .word 0xb5458000 ! 403: RD_SOFTINT_REG rd %softint, %r26
1409 .word 0x81a50dc5 ! 404: FdMULq fdmulq
1410 .word 0x94c6e001 ! 405: ADDCcc_I addccc %r27, 0x0001, %r10
1411 .word 0x93d02033 ! 406: Tcc_I tne icc_or_xcc, %r0 + 51
1412 .word 0x81982587 ! 407: WRHPR_HPSTATE_I wrhpr %r0, 0x0587, %hpstate
1413DS_22:
1414 .word 0x22800001 ! 409: BE be,a <label_0x1>
1415 illtrap
1416 .word 0xd112c001 ! 409: LDQF_R - [%r11, %r1], %f8
1417 .word 0x81a44820 ! 408: FADDs fadds %f17, %f0, %f0
1418 .word 0xc07fe001 ! 409: SWAP_I swap %r0, [%r31 + 0x0001]
1419 .word 0xc0c004a0 ! 410: LDSWA_R ldswa [%r0, %r0] 0x25, %r0
1420 .word 0x81982614 ! 411: WRHPR_HPSTATE_I wrhpr %r0, 0x0614, %hpstate
1421 .word 0x8790212f ! 412: WRPR_TT_I wrpr %r0, 0x012f, %tt
1422 ta T_CHANGE_TO_TL0 ! macro
1423 otherw
1424 mov 0x35, %r30
1425 .word 0x91d0001e ! 414: Tcc_R ta icc_or_xcc, %r0 + %r30
1426 .word 0x8d902cdc ! 415: WRPR_PSTATE_I wrpr %r0, 0x0cdc, %pstate
1427 otherw
1428 mov 0x35, %r30
1429 .word 0x91d0001e ! 416: Tcc_R ta icc_or_xcc, %r0 + %r30
1430DS_23:
1431 .word 0x34800001 ! 418: BG bg,a <label_0x1>
1432 .word 0xbfe7c000 ! 417: SAVE_R save %r31, %r0, %r31
1433 .word 0x8790216b ! 418: WRPR_TT_I wrpr %r0, 0x016b, %tt
1434 invalw
1435 mov 0x34, %r30
1436 .word 0x83d0001e ! 419: Tcc_R te icc_or_xcc, %r0 + %r30
1437 ta T_CHANGE_NONPRIV ! macro
1438 .word 0x9b702001 ! 421: POPC_I popc 0x0001, %r13
1439 .word 0x8b69c008 ! 422: SDIVX_R sdivx %r7, %r8, %r5
1440 .word 0x8ec0a001 ! 423: ADDCcc_I addccc %r2, 0x0001, %r7
1441DS_24:
1442 .word 0x32800001 ! 425: BNE bne,a <label_0x1>
1443 allclean
1444 .word 0x93b48303 ! 424: ALLIGNADDRESS alignaddr %r18, %r3, %r9
1445 ta T_CHANGE_TO_TL0 ! macro
1446 otherw
1447 mov 0x31, %r30
1448 .word 0x91d0001e ! 426: Tcc_R ta icc_or_xcc, %r0 + %r30
1449 .word 0x8d9026cc ! 427: WRPR_PSTATE_I wrpr %r0, 0x06cc, %pstate
1450 .word 0x93902002 ! 428: WRPR_CWP_I wrpr %r0, 0x0002, %cwp
1451 .word 0x87902329 ! 429: WRPR_TT_I wrpr %r0, 0x0329, %tt
1452 .word 0x2c700001 ! 430: BPNEG <illegal instruction>
1453 .word 0x93902004 ! 431: WRPR_CWP_I wrpr %r0, 0x0004, %cwp
1454 .word 0x92696001 ! 432: UDIVX_I udivx %r5, 0x0001, %r9
1455 .word 0x91d02030 ! 433: Tcc_I ta icc_or_xcc, %r0 + 48
1456 .word 0x93902003 ! 434: WRPR_CWP_I wrpr %r0, 0x0003, %cwp
1457 .word 0x81982f95 ! 435: WRHPR_HPSTATE_I wrhpr %r0, 0x0f95, %hpstate
1458 .word 0x86db400c ! 436: SMULcc_R smulcc %r13, %r12, %r3
1459 .word 0xc67fe001 ! 437: SWAP_I swap %r3, [%r31 + 0x0001]
1460 .word 0x97a109ac ! 438: FDIVs fdivs %f4, %f12, %f11
1461 ta T_CHANGE_HPRIV ! macro
1462change_to_randtl_25:
1463 ta T_CHANGE_HPRIV ! macro
1464 .word 0x8f902005 ! 440: WRPR_TL_I wrpr %r0, 0x0005, %tl
1465 invalw
1466 mov 0x31, %r30
1467 .word 0x91d0001e ! 441: Tcc_R ta icc_or_xcc, %r0 + %r30
1468 .word 0x8d514000 ! 442: RDPR_TBA rdpr %tba, %r6
1469 .word 0xcccfe010 ! 443: LDSBA_I ldsba [%r31, + 0x0010] %asi, %r6
1470 .word 0x8b514000 ! 444: RDPR_TBA rdpr %tba, %r5
1471 .word 0x8d902a93 ! 445: WRPR_PSTATE_I wrpr %r0, 0x0a93, %pstate
1472 .word 0x8d902c17 ! 446: WRPR_PSTATE_I wrpr %r0, 0x0c17, %pstate
1473 invalw
1474 mov 0x33, %r30
1475 .word 0x91d0001e ! 447: Tcc_R ta icc_or_xcc, %r0 + %r30
1476DS_26:
1477 .word 0x32800001 ! 449: BNE bne,a <label_0x1>
1478 .word 0xbfefc000 ! 448: RESTORE_R restore %r31, %r0, %r31
1479 .word 0xcb17c000 ! 449: LDQF_R - [%r31, %r0], %f5
1480 otherw
1481 mov 0x31, %r30
1482 .word 0x91d0001e ! 450: Tcc_R ta icc_or_xcc, %r0 + %r30
1483 .word 0x93902005 ! 451: WRPR_CWP_I wrpr %r0, 0x0005, %cwp
1484DS_27:
1485 .word 0x34800001 ! 453: BG bg,a <label_0x1>
1486 .word 0xc1322001 ! 453: STQF_I - %f0, [0x0001, %r8]
1487 normalw
1488 .word 0x91458000 ! 452: RD_SOFTINT_REG rd %softint, %r8
1489 .word 0x8da0054a ! 453: FSQRTd fsqrt
1490 .word 0x81982e54 ! 454: WRHPR_HPSTATE_I wrhpr %r0, 0x0e54, %hpstate
1491 .word 0x8d9026c2 ! 455: WRPR_PSTATE_I wrpr %r0, 0x06c2, %pstate
1492 .word 0x8d90220e ! 456: WRPR_PSTATE_I wrpr %r0, 0x020e, %pstate
1493 .word 0xccc004a0 ! 457: LDSWA_R ldswa [%r0, %r0] 0x25, %r6
1494DS_28:
1495 .word 0x22800001 ! 459: BE be,a <label_0x1>
1496 .word 0xbfefc000 ! 458: RESTORE_R restore %r31, %r0, %r31
1497 .word 0x93902000 ! 459: WRPR_CWP_I wrpr %r0, 0x0000, %cwp
1498 .word 0x93902004 ! 460: WRPR_CWP_I wrpr %r0, 0x0004, %cwp
1499 .word 0x93902001 ! 461: WRPR_CWP_I wrpr %r0, 0x0001, %cwp
1500 .word 0xafa58d2c ! 462: FsMULd fsmuld %f22, %f12, %f54
1501 .word 0xa1a000d5 ! 463: FNEGd fnegd %f52, %f16
1502 .word 0xe137c015 ! 464: STQF_R - %f16, [%r21, %r31]
1503 .word 0xb1a0054d ! 465: FSQRTd fsqrt
1504DS_29:
1505 .word 0x20800001 ! 467: BN bn,a <label_0x1>
1506 .word 0xcf31e001 ! 467: STQF_I - %f7, [0x0001, %r7]
1507 normalw
1508 .word 0xb5458000 ! 466: RD_SOFTINT_REG rd %softint, %r26
1509 ta T_CHANGE_PRIV ! macro
1510 invalw
1511 mov 0x32, %r30
1512 .word 0x91d0001e ! 468: Tcc_R ta icc_or_xcc, %r0 + %r30
1513 .word 0x22700001 ! 469: BPE <illegal instruction>
1514 .word 0x8f902002 ! 440: WRPR_TL_I wrpr %r0, 0x0002, %tl
1515 .word 0x81982299 ! 470: WRHPR_HPSTATE_I wrhpr %r0, 0x0299, %hpstate
1516 .word 0xb7508000 ! 471: RDPR_TSTATE rdpr %tstate, %r27
1517 .word 0x83d02030 ! 472: Tcc_I te icc_or_xcc, %r0 + 48
1518 ta T_CHANGE_HPRIV ! macro
1519 invalw
1520 mov 0x30, %r30
1521 .word 0x91d0001e ! 474: Tcc_R ta icc_or_xcc, %r0 + %r30
1522 .word 0x81982b80 ! 475: WRHPR_HPSTATE_I wrhpr %r0, 0x0b80, %hpstate
1523 invalw
1524 mov 0x32, %r30
1525 .word 0x83d0001e ! 476: Tcc_R te icc_or_xcc, %r0 + %r30
1526 .word 0x87902376 ! 477: WRPR_TT_I wrpr %r0, 0x0376, %tt
1527 invalw
1528 mov 0x34, %r30
1529 .word 0x91d0001e ! 478: Tcc_R ta icc_or_xcc, %r0 + %r30
1530change_to_tl1_30:
1531 ta T_CHANGE_PRIV
1532 ta T_CHANGE_TO_TL1 ! macro
1533 .word 0x87802080 ! 480: WRASI_I wr %r0, 0x0080, %asi
1534 .word 0x8d902812 ! 481: WRPR_PSTATE_I wrpr %r0, 0x0812, %pstate
1535 .word 0xa9a04dc2 ! 482: FdMULq fdmulq
1536change_to_randtl_31:
1537 ta T_CHANGE_HPRIV ! macro
1538 .word 0x8f902003 ! 483: WRPR_TL_I wrpr %r0, 0x0003, %tl
1539 .word 0x99902005 ! 484: WRPR_CLEANWIN_I wrpr %r0, 0x0005, %cleanwin
1540 invalw
1541 mov 0x33, %r30
1542 .word 0x91d0001e ! 485: Tcc_R ta icc_or_xcc, %r0 + %r30
1543 .word 0x93902007 ! 486: WRPR_CWP_I wrpr %r0, 0x0007, %cwp
1544 invalw
1545 mov 0x33, %r30
1546 .word 0x91d0001e ! 487: Tcc_R ta icc_or_xcc, %r0 + %r30
1547change_to_tl1_32:
1548 ta T_CHANGE_PRIV
1549 ta T_CHANGE_TO_TL1 ! macro
1550 .word 0xe8c804a0 ! 489: LDSBA_R ldsba [%r0, %r0] 0x25, %r20
1551DS_33:
1552 .word 0x20800001 ! 491: BN bn,a <label_0x1>
1553 allclean
1554 .word 0x8fb10315 ! 490: ALLIGNADDRESS alignaddr %r4, %r21, %r7
1555 .word 0xa9500000 ! 491: RDPR_TPC rdpr %tpc, %r20
1556 .word 0x81494000 ! 492: RDHPR_HTBA rdhpr %htba, %r0
1557 .word 0x93d02034 ! 493: Tcc_I tne icc_or_xcc, %r0 + 52
1558 .word 0xc0ffc035 ! 494: SWAPA_R swapa %r0, [%r31 + %r21] 0x01
1559 .word 0xc00fe001 ! 495: LDUB_I ldub [%r31 + 0x0001], %r0
1560 invalw
1561 mov 0x30, %r30
1562 .word 0x91d0001e ! 496: Tcc_R ta icc_or_xcc, %r0 + %r30
1563 invalw
1564 mov 0x32, %r30
1565 .word 0x93d0001e ! 497: Tcc_R tne icc_or_xcc, %r0 + %r30
1566 .word 0x8d902448 ! 498: WRPR_PSTATE_I wrpr %r0, 0x0448, %pstate
1567 .word 0xa7a24dd2 ! 499: FdMULq fdmulq
1568 .word 0x85540000 ! 500: RDPR_GL rdpr %-, %r2
1569 ta T_CHANGE_PRIV ! macro
1570 ta T_CHANGE_PRIV ! macro
1571 .word 0x8198211c ! 503: WRHPR_HPSTATE_I wrhpr %r0, 0x011c, %hpstate
1572DS_34:
1573 .word 0x22800001 ! 505: BE be,a <label_0x1>
1574 .word 0xbfefc000 ! 504: RESTORE_R restore %r31, %r0, %r31
1575change_to_randtl_35:
1576 ta T_CHANGE_HPRIV ! macro
1577 .word 0x8f902005 ! 505: WRPR_TL_I wrpr %r0, 0x0005, %tl
1578 .word 0xc4c004a0 ! 506: LDSWA_R ldswa [%r0, %r0] 0x25, %r2
1579 .word 0x87802010 ! 507: WRASI_I wr %r0, 0x0010, %asi
1580 .word 0x8790227d ! 508: WRPR_TT_I wrpr %r0, 0x027d, %tt
1581 .word 0x82fde001 ! 509: SDIVcc_I sdivcc %r23, 0x0001, %r1
1582 .word 0x8790235f ! 510: WRPR_TT_I wrpr %r0, 0x035f, %tt
1583 .word 0x8790233c ! 511: WRPR_TT_I wrpr %r0, 0x033c, %tt
1584 .word 0x8f902002 ! 505: WRPR_TL_I wrpr %r0, 0x0002, %tl
1585 ta T_CHANGE_NONHPRIV ! macro
1586 .word 0x9280e001 ! 513: ADDcc_I addcc %r3, 0x0001, %r9
1587 .word 0x81982f85 ! 514: WRHPR_HPSTATE_I wrhpr %r0, 0x0f85, %hpstate
1588 .word 0xd2c7e000 ! 515: LDSWA_I ldswa [%r31, + 0x0000] %asi, %r9
1589 invalw
1590 mov 0x34, %r30
1591 .word 0x93d0001e ! 516: Tcc_R tne icc_or_xcc, %r0 + %r30
1592 ta T_CHANGE_NONPRIV ! macro
1593 invalw
1594 mov 0x35, %r30
1595 .word 0x91d0001e ! 518: Tcc_R ta icc_or_xcc, %r0 + %r30
1596DS_36:
1597 nop
1598 not %g0, %g2
1599 jmp %g2
1600 .word 0x9d902002 ! 519: WRPR_WSTATE_I wrpr %r0, 0x0002, %wstate
1601 .word 0x8151c000 ! 520: RDPR_TL rdpr %tl, %r0
1602 .word 0x83d02033 ! 521: Tcc_I te icc_or_xcc, %r0 + 51
1603 .word 0x80f9c01b ! 522: SDIVcc_R sdivcc %r7, %r27, %r0
1604 .word 0x8d902807 ! 523: WRPR_PSTATE_I wrpr %r0, 0x0807, %pstate
1605 otherw
1606 mov 0x35, %r30
1607 .word 0x91d0001e ! 524: Tcc_R ta icc_or_xcc, %r0 + %r30
1608 otherw
1609 mov 0x30, %r30
1610 .word 0x91d0001e ! 525: Tcc_R ta icc_or_xcc, %r0 + %r30
1611 .word 0xab514000 ! 526: RDPR_TBA rdpr %tba, %r21
1612 .word 0x879022e3 ! 527: WRPR_TT_I wrpr %r0, 0x02e3, %tt
1613 .word 0x8ed32001 ! 528: UMULcc_I umulcc %r12, 0x0001, %r7
1614 otherw
1615 mov 0x31, %r30
1616 .word 0x91d0001e ! 529: Tcc_R ta icc_or_xcc, %r0 + %r30
1617 .word 0x8d902886 ! 530: WRPR_PSTATE_I wrpr %r0, 0x0886, %pstate
1618 otherw
1619 mov 0x33, %r30
1620 .word 0x83d0001e ! 531: Tcc_R te icc_or_xcc, %r0 + %r30
1621 .word 0x8d902a53 ! 532: WRPR_PSTATE_I wrpr %r0, 0x0a53, %pstate
1622 .word 0x8d90248d ! 533: WRPR_PSTATE_I wrpr %r0, 0x048d, %pstate
1623 .word 0x81a0055b ! 534: FSQRTd fsqrt
1624 otherw
1625 mov 0x32, %r30
1626 .word 0x93d0001e ! 535: Tcc_R tne icc_or_xcc, %r0 + %r30
1627 ta T_CHANGE_PRIV ! macro
1628 .word 0xc0cfe000 ! 537: LDSBA_I ldsba [%r31, + 0x0000] %asi, %r0
1629 .word 0xc0d80e80 ! 538: LDXA_R ldxa [%r0, %r0] 0x74, %r0
1630 .word 0x81a00544 ! 539: FSQRTd fsqrt
1631 .word 0x8d902441 ! 540: WRPR_PSTATE_I wrpr %r0, 0x0441, %pstate
1632 .word 0x93902004 ! 541: WRPR_CWP_I wrpr %r0, 0x0004, %cwp
1633 otherw
1634 mov 0x34, %r30
1635 .word 0x91d0001e ! 542: Tcc_R ta icc_or_xcc, %r0 + %r30
1636 .word 0x93902004 ! 543: WRPR_CWP_I wrpr %r0, 0x0004, %cwp
1637 .word 0xb56e6001 ! 544: SDIVX_I sdivx %r25, 0x0001, %r26
1638 .word 0x8151c000 ! 545: RDPR_TL rdpr %tl, %r0
1639 .word 0x8198204e ! 546: WRHPR_HPSTATE_I wrhpr %r0, 0x004e, %hpstate
1640 .word 0x8d9022d7 ! 547: WRPR_PSTATE_I wrpr %r0, 0x02d7, %pstate
1641 .word 0x93d02033 ! 548: Tcc_I tne icc_or_xcc, %r0 + 51
1642 .word 0x81982046 ! 549: WRHPR_HPSTATE_I wrhpr %r0, 0x0046, %hpstate
1643 ta T_CHANGE_NONPRIV ! macro
1644 .word 0xb5480000 ! 551: RDHPR_HPSTATE rdhpr %hpstate, %r26
1645 otherw
1646 mov 0x33, %r30
1647 .word 0x91d0001e ! 552: Tcc_R ta icc_or_xcc, %r0 + %r30
1648 .word 0xb4c12001 ! 553: ADDCcc_I addccc %r4, 0x0001, %r26
1649 .word 0x91d02033 ! 554: Tcc_I ta icc_or_xcc, %r0 + 51
1650 .word 0x93d02033 ! 555: Tcc_I tne icc_or_xcc, %r0 + 51
1651 .word 0x91d02032 ! 556: Tcc_I ta icc_or_xcc, %r0 + 50
1652 .word 0xf4800bc0 ! 557: LDUWA_R lduwa [%r0, %r0] 0x5e, %r26
1653 .word 0x8d802000 ! 558: WRFPRS_I wr %r0, 0x0000, %fprs
1654 .word 0x8198278d ! 559: WRHPR_HPSTATE_I wrhpr %r0, 0x078d, %hpstate
1655 ta T_CHANGE_HPRIV ! macro
1656 .word 0xb5514000 ! 561: RDPR_TBA rdpr %tba, %r26
1657 .word 0x87802004 ! 562: WRASI_I wr %r0, 0x0004, %asi
1658 .word 0x93902005 ! 563: WRPR_CWP_I wrpr %r0, 0x0005, %cwp
1659 .word 0x8790209c ! 564: WRPR_TT_I wrpr %r0, 0x009c, %tt
1660 .word 0x87802089 ! 565: WRASI_I wr %r0, 0x0089, %asi
1661change_to_randtl_37:
1662 ta T_CHANGE_HPRIV ! macro
1663 .word 0x8f902003 ! 566: WRPR_TL_I wrpr %r0, 0x0003, %tl
1664 .word 0x87802088 ! 567: WRASI_I wr %r0, 0x0088, %asi
1665 .word 0x879023c0 ! 568: WRPR_TT_I wrpr %r0, 0x03c0, %tt
1666 .word 0x819824ca ! 569: WRHPR_HPSTATE_I wrhpr %r0, 0x04ca, %hpstate
1667 invalw
1668 mov 0x32, %r30
1669 .word 0x93d0001e ! 570: Tcc_R tne icc_or_xcc, %r0 + %r30
1670 .word 0xaed06001 ! 571: UMULcc_I umulcc %r1, 0x0001, %r23
1671 .word 0x81982554 ! 572: WRHPR_HPSTATE_I wrhpr %r0, 0x0554, %hpstate
1672 .word 0x93d02030 ! 573: Tcc_I tne icc_or_xcc, %r0 + 48
1673 .word 0x81480000 ! 574: RDHPR_HPSTATE rdhpr %hpstate, %r0
1674 .word 0x95514000 ! 575: RDPR_TBA rdpr %tba, %r10
1675 .word 0xaba109c5 ! 576: FDIVd fdivd %f4, %f36, %f52
1676 .word 0x9b514000 ! 577: RDPR_TBA rdpr %tba, %r13
1677 .word 0x8d90204d ! 578: WRPR_PSTATE_I wrpr %r0, 0x004d, %pstate
1678 .word 0xa1494000 ! 579: RDHPR_HTBA rdhpr %htba, %r16
1679 .word 0x8790233d ! 580: WRPR_TT_I wrpr %r0, 0x033d, %tt
1680 .word 0x85a449e6 ! 581: FDIVq dis not found
1681
1682 .word 0xc49004a0 ! 582: LDUHA_R lduha [%r0, %r0] 0x25, %r2
1683change_to_tl1_38:
1684 ta T_CHANGE_PRIV
1685 ta T_CHANGE_TO_TL1 ! macro
1686 .word 0x93902001 ! 584: WRPR_CWP_I wrpr %r0, 0x0001, %cwp
1687 .word 0xa0f88004 ! 585: SDIVcc_R sdivcc %r2, %r4, %r16
1688 .word 0x87494000 ! 586: RDHPR_HTBA rdhpr %htba, %r3
1689 .word 0x85514000 ! 587: RDPR_TBA rdpr %tba, %r2
1690 .word 0x81982fd0 ! 588: WRHPR_HPSTATE_I wrhpr %r0, 0x0fd0, %hpstate
1691 .word 0xc4c7e000 ! 589: LDSWA_I ldswa [%r31, + 0x0000] %asi, %r2
1692 .word 0x91d02034 ! 590: Tcc_I ta icc_or_xcc, %r0 + 52
1693DS_39:
1694 .word 0x34800001 ! 592: BG bg,a <label_0x1>
1695 .word 0xd9354018 ! 592: STQF_R - %f12, [%r24, %r21]
1696 normalw
1697 .word 0x83458000 ! 591: RD_SOFTINT_REG rd %softint, %r1
1698 .word 0x87902295 ! 592: WRPR_TT_I wrpr %r0, 0x0295, %tt
1699DS_40:
1700 .word 0x32800001 ! 594: BNE bne,a <label_0x1>
1701 pdist %f6, %f22, %f2
1702 .word 0xb7b2c309 ! 593: ALLIGNADDRESS alignaddr %r11, %r9, %r27
1703 .word 0x819824c8 ! 594: WRHPR_HPSTATE_I wrhpr %r0, 0x04c8, %hpstate
1704 .word 0x87508000 ! 595: RDPR_TSTATE rdpr %tstate, %r3
1705DS_41:
1706 .word 0x20800001 ! 597: BN bn,a <label_0x1>
1707 .word 0x20800001 ! 597: BN bn,a <label_0x1>
1708 .word 0x97a00557 ! 597: FSQRTd fsqrt
1709 .word 0xb1a1482a ! 596: FADDs fadds %f5, %f10, %f24
1710 .word 0x8790200e ! 597: WRPR_TT_I wrpr %r0, 0x000e, %tt
1711 .word 0x879020bc ! 598: WRPR_TT_I wrpr %r0, 0x00bc, %tt
1712 .word 0x91d02034 ! 599: Tcc_I ta icc_or_xcc, %r0 + 52
1713 .word 0x8198270e ! 600: WRHPR_HPSTATE_I wrhpr %r0, 0x070e, %hpstate
1714 .word 0x8d902607 ! 601: WRPR_PSTATE_I wrpr %r0, 0x0607, %pstate
1715 .word 0x879023f1 ! 602: WRPR_TT_I wrpr %r0, 0x03f1, %tt
1716 .word 0x89a000c1 ! 603: FNEGd fnegd %f32, %f4
1717 .word 0x91d02032 ! 604: Tcc_I ta icc_or_xcc, %r0 + 50
1718 invalw
1719 mov 0x31, %r30
1720 .word 0x91d0001e ! 605: Tcc_R ta icc_or_xcc, %r0 + %r30
1721 .word 0xada489b2 ! 606: FDIVs fdivs %f18, %f18, %f22
1722change_to_randtl_42:
1723 ta T_CHANGE_PRIV ! macro
1724 .word 0x8f902001 ! 607: WRPR_TL_I wrpr %r0, 0x0001, %tl
1725 .word 0x93902007 ! 608: WRPR_CWP_I wrpr %r0, 0x0007, %cwp
1726 .word 0x91d02031 ! 609: Tcc_I ta icc_or_xcc, %r0 + 49
1727 .word 0xec8008a0 ! 610: LDUWA_R lduwa [%r0, %r0] 0x45, %r22
1728 .word 0x81982bcb ! 611: WRHPR_HPSTATE_I wrhpr %r0, 0x0bcb, %hpstate
1729 .word 0x896a6001 ! 612: SDIVX_I sdivx %r9, 0x0001, %r4
1730 .word 0xc8800b60 ! 613: LDUWA_R lduwa [%r0, %r0] 0x5b, %r4
1731change_to_tl1_43:
1732 ta T_CHANGE_HPRIV
1733 ta T_CHANGE_TO_TL1 ! macro
1734 .word 0x83d02031 ! 615: Tcc_I te icc_or_xcc, %r0 + 49
1735 .word 0x91d02033 ! 616: Tcc_I ta icc_or_xcc, %r0 + 51
1736 .word 0x91d02030 ! 617: Tcc_I ta icc_or_xcc, %r0 + 48
1737 ta T_CHANGE_PRIV ! macro
1738 .word 0x81982b0e ! 619: WRHPR_HPSTATE_I wrhpr %r0, 0x0b0e, %hpstate
1739 .word 0xc88804a0 ! 620: LDUBA_R lduba [%r0, %r0] 0x25, %r4
1740 .word 0x93902005 ! 621: WRPR_CWP_I wrpr %r0, 0x0005, %cwp
1741 .word 0x93902001 ! 622: WRPR_CWP_I wrpr %r0, 0x0001, %cwp
1742 .word 0x8d9020d0 ! 623: WRPR_PSTATE_I wrpr %r0, 0x00d0, %pstate
1743 .word 0x879020e2 ! 624: WRPR_TT_I wrpr %r0, 0x00e2, %tt
1744 .word 0x91d02032 ! 625: Tcc_I ta icc_or_xcc, %r0 + 50
1745 .word 0xa7a000da ! 626: FNEGd fnegd %f26, %f50
1746 .word 0x91d02031 ! 627: Tcc_I ta icc_or_xcc, %r0 + 49
1747 .word 0x8d90208e ! 628: WRPR_PSTATE_I wrpr %r0, 0x008e, %pstate
1748 .word 0x93902005 ! 629: WRPR_CWP_I wrpr %r0, 0x0005, %cwp
1749 .word 0x8fa00579 ! 630: FSQRTq fsqrt
1750 .word 0xa6f88005 ! 631: SDIVcc_R sdivcc %r2, %r5, %r19
1751DS_44:
1752 .word 0x32800001 ! 633: BNE bne,a <label_0x1>
1753 .word 0xcf312001 ! 633: STQF_I - %f7, [0x0001, %r4]
1754 normalw
1755 .word 0x9b458000 ! 632: RD_SOFTINT_REG rd %softint, %r13
1756 .word 0x93902006 ! 633: WRPR_CWP_I wrpr %r0, 0x0006, %cwp
1757change_to_randtl_45:
1758 ta T_CHANGE_HPRIV ! macro
1759 .word 0x8f902002 ! 634: WRPR_TL_I wrpr %r0, 0x0002, %tl
1760 ta T_CHANGE_NONHPRIV ! macro
1761 .word 0xa3a289c8 ! 636: FDIVd fdivd %f10, %f8, %f48
1762 .word 0x8951c000 ! 637: RDPR_TL rdpr %tl, %r4
1763DS_46:
1764 .word 0x22800001 ! 639: BE be,a <label_0x1>
1765 pdist %f2, %f22, %f2
1766 .word 0xb1b60302 ! 638: ALLIGNADDRESS alignaddr %r24, %r2, %r24
1767 ta T_CHANGE_NONHPRIV ! macro
1768 .word 0x8d902847 ! 640: WRPR_PSTATE_I wrpr %r0, 0x0847, %pstate
1769 .word 0xa7a00571 ! 641: FSQRTq fsqrt
1770 otherw
1771 mov 0x35, %r30
1772 .word 0x93d0001e ! 642: Tcc_R tne icc_or_xcc, %r0 + %r30
1773 .word 0xe68008a0 ! 643: LDUWA_R lduwa [%r0, %r0] 0x45, %r19
1774 .word 0x93902001 ! 644: WRPR_CWP_I wrpr %r0, 0x0001, %cwp
1775 .word 0x93d02032 ! 645: Tcc_I tne icc_or_xcc, %r0 + 50
1776 .word 0x87902118 ! 646: WRPR_TT_I wrpr %r0, 0x0118, %tt
1777 .word 0xe62fc011 ! 647: STB_R stb %r19, [%r31 + %r17]
1778 otherw
1779 mov 0x34, %r30
1780 .word 0x91d0001e ! 648: Tcc_R ta icc_or_xcc, %r0 + %r30
1781 .word 0x87802089 ! 649: WRASI_I wr %r0, 0x0089, %asi
1782 .word 0x93902007 ! 650: WRPR_CWP_I wrpr %r0, 0x0007, %cwp
1783 .word 0x93d02032 ! 651: Tcc_I tne icc_or_xcc, %r0 + 50
1784 .word 0x93902005 ! 652: WRPR_CWP_I wrpr %r0, 0x0005, %cwp
1785DS_47:
1786 .word 0x32800001 ! 654: BNE bne,a <label_0x1>
1787 .word 0x20800001 ! 654: BN bn,a <label_0x1>
1788 .word 0xd7100004 ! 654: LDQF_R - [%r0, %r4], %f11
1789 .word 0x83a1c822 ! 653: FADDs fadds %f7, %f2, %f1
1790 .word 0xc3e7c022 ! 654: CASA_I casa [%r31] 0x 1, %r2, %r1
1791 .word 0x8198201d ! 655: WRHPR_HPSTATE_I wrhpr %r0, 0x001d, %hpstate
1792 .word 0x87902022 ! 656: WRPR_TT_I wrpr %r0, 0x0022, %tt
1793 .word 0xa048000d ! 657: MULX_R mulx %r0, %r13, %r16
1794 ta T_CHANGE_TO_TL0 ! macro
1795 .word 0x92f8c003 ! 659: SDIVcc_R sdivcc %r3, %r3, %r9
1796 .word 0x8d902683 ! 660: WRPR_PSTATE_I wrpr %r0, 0x0683, %pstate
1797 .word 0x8d90241f ! 661: WRPR_PSTATE_I wrpr %r0, 0x041f, %pstate
1798 .word 0x92d88003 ! 662: SMULcc_R smulcc %r2, %r3, %r9
1799 invalw
1800 mov 0x33, %r30
1801 .word 0x83d0001e ! 663: Tcc_R te icc_or_xcc, %r0 + %r30
1802 .word 0xd397e001 ! 664: LDQFA_I - [%r31, 0x0001], %f9
1803 invalw
1804 mov 0x31, %r30
1805 .word 0x91d0001e ! 665: Tcc_R ta icc_or_xcc, %r0 + %r30
1806 .word 0xa8d26001 ! 666: UMULcc_I umulcc %r9, 0x0001, %r20
1807 .word 0x91d02033 ! 667: Tcc_I ta icc_or_xcc, %r0 + 51
1808 .word 0xe88008a0 ! 668: LDUWA_R lduwa [%r0, %r0] 0x45, %r20
1809 .word 0xb7a00544 ! 669: FSQRTd fsqrt
1810 .word 0x98c1e001 ! 670: ADDCcc_I addccc %r7, 0x0001, %r12
1811 .word 0x91d02032 ! 671: Tcc_I ta icc_or_xcc, %r0 + 50
1812 .word 0x98c52001 ! 672: ADDCcc_I addccc %r20, 0x0001, %r12
1813 .word 0x93902006 ! 673: WRPR_CWP_I wrpr %r0, 0x0006, %cwp
1814 .word 0x8d802004 ! 674: WRFPRS_I wr %r0, 0x0004, %fprs
1815 .word 0x81982a8c ! 675: WRHPR_HPSTATE_I wrhpr %r0, 0x0a8c, %hpstate
1816 .word 0xacdd000d ! 676: SMULcc_R smulcc %r20, %r13, %r22
1817 .word 0x36700001 ! 677: BPGE <illegal instruction>
1818change_to_randtl_48:
1819 ta T_CHANGE_PRIV ! macro
1820 .word 0x8f902001 ! 678: WRPR_TL_I wrpr %r0, 0x0001, %tl
1821 .word 0x93902007 ! 679: WRPR_CWP_I wrpr %r0, 0x0007, %cwp
1822 .word 0x93902000 ! 680: WRPR_CWP_I wrpr %r0, 0x0000, %cwp
1823 .word 0x91d02031 ! 681: Tcc_I ta icc_or_xcc, %r0 + 49
1824 .word 0x879022d1 ! 682: WRPR_TT_I wrpr %r0, 0x02d1, %tt
1825 .word 0x8d902acf ! 683: WRPR_PSTATE_I wrpr %r0, 0x0acf, %pstate
1826 .word 0x81982f5a ! 684: WRHPR_HPSTATE_I wrhpr %r0, 0x0f5a, %hpstate
1827 .word 0x8d9024d4 ! 685: WRPR_PSTATE_I wrpr %r0, 0x04d4, %pstate
1828 .word 0x83d02034 ! 686: Tcc_I te icc_or_xcc, %r0 + 52
1829 otherw
1830 mov 0x32, %r30
1831 .word 0x91d0001e ! 687: Tcc_R ta icc_or_xcc, %r0 + %r30
1832 .word 0x8d902a50 ! 688: WRPR_PSTATE_I wrpr %r0, 0x0a50, %pstate
1833 .word 0xecd80e80 ! 689: LDXA_R ldxa [%r0, %r0] 0x74, %r22
1834 otherw
1835 mov 0x33, %r30
1836 .word 0x91d0001e ! 690: Tcc_R ta icc_or_xcc, %r0 + %r30
1837 .word 0x8fa01a71 ! 691: FqTOi fqtoi
1838 .word 0x93902002 ! 692: WRPR_CWP_I wrpr %r0, 0x0002, %cwp
1839 .word 0x93902003 ! 693: WRPR_CWP_I wrpr %r0, 0x0003, %cwp
1840 .word 0x96c46001 ! 694: ADDCcc_I addccc %r17, 0x0001, %r11
1841 .word 0xd6ffc031 ! 695: SWAPA_R swapa %r11, [%r31 + %r17] 0x01
1842 ta T_CHANGE_HPRIV ! macro
1843 .word 0x8d9020cc ! 697: WRPR_PSTATE_I wrpr %r0, 0x00cc, %pstate
1844 .word 0x91a00579 ! 698: FSQRTq fsqrt
1845 .word 0x82d48017 ! 699: UMULcc_R umulcc %r18, %r23, %r1
1846 .word 0x87802004 ! 700: WRASI_I wr %r0, 0x0004, %asi
1847 .word 0x93902002 ! 701: WRPR_CWP_I wrpr %r0, 0x0002, %cwp
1848 .word 0x93902006 ! 702: WRPR_CWP_I wrpr %r0, 0x0006, %cwp
1849 .word 0xc2800b80 ! 703: LDUWA_R lduwa [%r0, %r0] 0x5c, %r1
1850 .word 0x91d02032 ! 704: Tcc_I ta icc_or_xcc, %r0 + 50
1851 .word 0x8ad6e001 ! 705: UMULcc_I umulcc %r27, 0x0001, %r5
1852 .word 0x87802080 ! 706: WRASI_I wr %r0, 0x0080, %asi
1853 .word 0x9ad0e001 ! 707: UMULcc_I umulcc %r3, 0x0001, %r13
1854 .word 0x91d02031 ! 708: Tcc_I ta icc_or_xcc, %r0 + 49
1855 .word 0x8d802004 ! 709: WRFPRS_I wr %r0, 0x0004, %fprs
1856 otherw
1857 mov 0x34, %r30
1858 .word 0x91d0001e ! 710: Tcc_R ta icc_or_xcc, %r0 + %r30
1859 .word 0x86c4a001 ! 711: ADDCcc_I addccc %r18, 0x0001, %r3
1860 ta T_CHANGE_TO_TL0 ! macro
1861 .word 0x87902255 ! 713: WRPR_TT_I wrpr %r0, 0x0255, %tt
1862 .word 0x8d902452 ! 714: WRPR_PSTATE_I wrpr %r0, 0x0452, %pstate
1863 .word 0x87902099 ! 715: WRPR_TT_I wrpr %r0, 0x0099, %tt
1864DS_49:
1865 .word 0x32800001 ! 717: BNE bne,a <label_0x1>
1866 .word 0x34800001 ! 717: BG bg,a <label_0x1>
1867 .word 0xb1a00557 ! 717: FSQRTd fsqrt
1868 .word 0x99a50827 ! 716: FADDs fadds %f20, %f7, %f12
1869 .word 0xacd34004 ! 717: UMULcc_R umulcc %r13, %r4, %r22
1870 .word 0x91a0056d ! 718: FSQRTq fsqrt
1871 .word 0x93902000 ! 719: WRPR_CWP_I wrpr %r0, 0x0000, %cwp
1872 .word 0x8d902652 ! 720: WRPR_PSTATE_I wrpr %r0, 0x0652, %pstate
1873 .word 0x81982043 ! 721: WRHPR_HPSTATE_I wrhpr %r0, 0x0043, %hpstate
1874 .word 0x8d9022c9 ! 722: WRPR_PSTATE_I wrpr %r0, 0x02c9, %pstate
1875 .word 0x8d902ec4 ! 723: WRPR_PSTATE_I wrpr %r0, 0x0ec4, %pstate
1876 .word 0x83a4c9ea ! 724: FDIVq dis not found
1877
1878 .word 0x93902004 ! 725: WRPR_CWP_I wrpr %r0, 0x0004, %cwp
1879 .word 0xa5a1cd27 ! 726: FsMULd fsmuld %f7, %f38, %f18
1880 .word 0x879020f6 ! 727: WRPR_TT_I wrpr %r0, 0x00f6, %tt
1881 .word 0xe49004a0 ! 728: LDUHA_R lduha [%r0, %r0] 0x25, %r18
1882 invalw
1883 mov 0x33, %r30
1884 .word 0x91d0001e ! 729: Tcc_R ta icc_or_xcc, %r0 + %r30
1885 .word 0x91d02030 ! 730: Tcc_I ta icc_or_xcc, %r0 + 48
1886 .word 0x8790219f ! 731: WRPR_TT_I wrpr %r0, 0x019f, %tt
1887 .word 0xe527e001 ! 732: STF_I st %f18, [0x0001, %r31]
1888 .word 0x8d802000 ! 733: WRFPRS_I wr %r0, 0x0000, %fprs
1889 .word 0x87802004 ! 734: WRASI_I wr %r0, 0x0004, %asi
1890change_to_randtl_50:
1891 ta T_CHANGE_PRIV ! macro
1892 .word 0x8f902000 ! 735: WRPR_TL_I wrpr %r0, 0x0000, %tl
1893 .word 0x8d9028c8 ! 736: WRPR_PSTATE_I wrpr %r0, 0x08c8, %pstate
1894 otherw
1895 mov 0x32, %r30
1896 .word 0x91d0001e ! 737: Tcc_R ta icc_or_xcc, %r0 + %r30
1897 .word 0x96d90005 ! 738: SMULcc_R smulcc %r4, %r5, %r11
1898DS_51:
1899 nop
1900 not %g0, %g2
1901 jmp %g2
1902 .word 0x9d902004 ! 739: WRPR_WSTATE_I wrpr %r0, 0x0004, %wstate
1903 .word 0x83d02032 ! 740: Tcc_I te icc_or_xcc, %r0 + 50
1904 invalw
1905 mov 0x30, %r30
1906 .word 0x83d0001e ! 741: Tcc_R te icc_or_xcc, %r0 + %r30
1907 invalw
1908 mov 0x33, %r30
1909 .word 0x93d0001e ! 742: Tcc_R tne icc_or_xcc, %r0 + %r30
1910 .word 0x91d02033 ! 743: Tcc_I ta icc_or_xcc, %r0 + 51
1911 .word 0x8efa2001 ! 744: SDIVcc_I sdivcc %r8, 0x0001, %r7
1912 .word 0x84d24012 ! 745: UMULcc_R umulcc %r9, %r18, %r2
1913 .word 0x8790238d ! 746: WRPR_TT_I wrpr %r0, 0x038d, %tt
1914 .word 0x99514000 ! 747: RDPR_TBA rdpr %tba, %r12
1915 invalw
1916 mov 0x34, %r30
1917 .word 0x91d0001e ! 748: Tcc_R ta icc_or_xcc, %r0 + %r30
1918 .word 0x8d902a5d ! 749: WRPR_PSTATE_I wrpr %r0, 0x0a5d, %pstate
1919 invalw
1920 mov 0x34, %r30
1921 .word 0x91d0001e ! 750: Tcc_R ta icc_or_xcc, %r0 + %r30
1922change_to_tl1_52:
1923 ta T_CHANGE_PRIV
1924 ta T_CHANGE_TO_TL1 ! macro
1925 otherw
1926 mov 0x32, %r30
1927 .word 0x91d0001e ! 752: Tcc_R ta icc_or_xcc, %r0 + %r30
1928 .word 0xd85fe001 ! 753: LDX_I ldx [%r31 + 0x0001], %r12
1929 .word 0xd8d804a0 ! 754: LDXA_R ldxa [%r0, %r0] 0x25, %r12
1930 .word 0x93d02032 ! 755: Tcc_I tne icc_or_xcc, %r0 + 50
1931 .word 0x91d02033 ! 756: Tcc_I ta icc_or_xcc, %r0 + 51
1932 .word 0x8ba44dcc ! 757: FdMULq fdmulq
1933 .word 0x96d4c015 ! 758: UMULcc_R umulcc %r19, %r21, %r11
1934 .word 0x81982a42 ! 759: WRHPR_HPSTATE_I wrhpr %r0, 0x0a42, %hpstate
1935 .word 0xaba209e6 ! 760: FDIVq dis not found
1936
1937 .word 0x81982cc6 ! 761: WRHPR_HPSTATE_I wrhpr %r0, 0x0cc6, %hpstate
1938 .word 0x81982408 ! 762: WRHPR_HPSTATE_I wrhpr %r0, 0x0408, %hpstate
1939 otherw
1940 mov 0x34, %r30
1941 .word 0x91d0001e ! 763: Tcc_R ta icc_or_xcc, %r0 + %r30
1942 .word 0xb7508000 ! 764: RDPR_TSTATE rdpr %tstate, %r27
1943 otherw
1944 mov 0x34, %r30
1945 .word 0x91d0001e ! 765: Tcc_R ta icc_or_xcc, %r0 + %r30
1946 .word 0x819823de ! 766: WRHPR_HPSTATE_I wrhpr %r0, 0x03de, %hpstate
1947 .word 0x8d902e82 ! 767: WRPR_PSTATE_I wrpr %r0, 0x0e82, %pstate
1948 .word 0xa0d30017 ! 768: UMULcc_R umulcc %r12, %r23, %r16
1949 .word 0xe0ffc037 ! 769: SWAPA_R swapa %r16, [%r31 + %r23] 0x01
1950 .word 0x20800001 ! 770: BN bn,a <label_0x1>
1951 ta T_CHANGE_NONPRIV ! macro
1952 .word 0xa64c4002 ! 772: MULX_R mulx %r17, %r2, %r19
1953DS_53:
1954 .word 0x32800001 ! 774: BNE bne,a <label_0x1>
1955 .word 0xd132000c ! 774: STQF_R - %f8, [%r12, %r8]
1956 normalw
1957 .word 0x91458000 ! 773: RD_SOFTINT_REG rd %softint, %r8
1958 .word 0x819820c0 ! 774: WRHPR_HPSTATE_I wrhpr %r0, 0x00c0, %hpstate
1959 .word 0x8da0054d ! 775: FSQRTd fsqrt
1960 .word 0x81982e9e ! 776: WRHPR_HPSTATE_I wrhpr %r0, 0x0e9e, %hpstate
1961 invalw
1962 mov 0x31, %r30
1963 .word 0x91d0001e ! 777: Tcc_R ta icc_or_xcc, %r0 + %r30
1964 .word 0x8790232e ! 778: WRPR_TT_I wrpr %r0, 0x032e, %tt
1965 .word 0x83504000 ! 779: RDPR_TNPC rdpr %tnpc, %r1
1966 .word 0xc28008a0 ! 780: LDUWA_R lduwa [%r0, %r0] 0x45, %r1
1967 .word 0xa3a18ddb ! 781: FdMULq fdmulq
1968 .word 0x91d02033 ! 782: Tcc_I ta icc_or_xcc, %r0 + 51
1969change_to_randtl_54:
1970 ta T_CHANGE_PRIV ! macro
1971 .word 0x8f902001 ! 783: WRPR_TL_I wrpr %r0, 0x0001, %tl
1972 .word 0x93902006 ! 784: WRPR_CWP_I wrpr %r0, 0x0006, %cwp
1973 otherw
1974 mov 0x33, %r30
1975 .word 0x91d0001e ! 785: Tcc_R ta icc_or_xcc, %r0 + %r30
1976 .word 0x87902108 ! 786: WRPR_TT_I wrpr %r0, 0x0108, %tt
1977 .word 0x8d902a9e ! 787: WRPR_PSTATE_I wrpr %r0, 0x0a9e, %pstate
1978 otherw
1979 mov 0x34, %r30
1980 .word 0x93d0001e ! 788: Tcc_R tne icc_or_xcc, %r0 + %r30
1981 .word 0xa5b0cff5 ! 789: FONES fones %f18
1982 .word 0xe48008a0 ! 790: LDUWA_R lduwa [%r0, %r0] 0x45, %r18
1983 .word 0xe43fe001 ! 791: STD_I std %r18, [%r31 + 0x0001]
1984 .word 0x87902038 ! 792: WRPR_TT_I wrpr %r0, 0x0038, %tt
1985 .word 0xe4d004a0 ! 793: LDSHA_R ldsha [%r0, %r0] 0x25, %r18
1986 .word 0x93902001 ! 794: WRPR_CWP_I wrpr %r0, 0x0001, %cwp
1987 .word 0xacd6e001 ! 795: UMULcc_I umulcc %r27, 0x0001, %r22
1988 .word 0x88c12001 ! 796: ADDCcc_I addccc %r4, 0x0001, %r4
1989 .word 0x93902000 ! 797: WRPR_CWP_I wrpr %r0, 0x0000, %cwp
1990 .word 0xb2d8c00c ! 798: SMULcc_R smulcc %r3, %r12, %r25
1991 .word 0x83d02034 ! 799: Tcc_I te icc_or_xcc, %r0 + 52
1992 .word 0xb5540000 ! 800: RDPR_GL rdpr %-, %r26
1993 .word 0x879022e4 ! 801: WRPR_TT_I wrpr %r0, 0x02e4, %tt
1994 .word 0x8d9020de ! 802: WRPR_PSTATE_I wrpr %r0, 0x00de, %pstate
1995 .word 0x879021ed ! 803: WRPR_TT_I wrpr %r0, 0x01ed, %tt
1996 .word 0x81982d0d ! 804: WRHPR_HPSTATE_I wrhpr %r0, 0x0d0d, %hpstate
1997 .word 0xa3480000 ! 805: RDHPR_HPSTATE rdhpr %hpstate, %r17
1998 .word 0x9b6c8019 ! 806: SDIVX_R sdivx %r18, %r25, %r13
1999 .word 0xa9a01a66 ! 807: FqTOi fqtoi
2000 .word 0xb2de0017 ! 808: SMULcc_R smulcc %r24, %r23, %r25
2001 .word 0xf2ffc037 ! 809: SWAPA_R swapa %r25, [%r31 + %r23] 0x01
2002 .word 0x8790237f ! 810: WRPR_TT_I wrpr %r0, 0x037f, %tt
2003 .word 0x91d02035 ! 811: Tcc_I ta icc_or_xcc, %r0 + 53
2004 .word 0x8d802000 ! 812: WRFPRS_I wr %r0, 0x0000, %fprs
2005 .word 0x93902004 ! 813: WRPR_CWP_I wrpr %r0, 0x0004, %cwp
2006DS_55:
2007 .word 0x32800001 ! 815: BNE bne,a <label_0x1>
2008 .word 0x34800001 ! 815: BG bg,a <label_0x1>
2009 .word 0xe9104008 ! 815: LDQF_R - [%r1, %r8], %f20
2010 .word 0x95a0c82b ! 814: FADDs fadds %f3, %f11, %f10
2011 .word 0x81982ac6 ! 815: WRHPR_HPSTATE_I wrhpr %r0, 0x0ac6, %hpstate
2012 .word 0x8da000c3 ! 816: FNEGd fnegd %f34, %f6
2013change_to_randtl_56:
2014 ta T_CHANGE_PRIV ! macro
2015 .word 0x8f902002 ! 817: WRPR_TL_I wrpr %r0, 0x0002, %tl
2016 .word 0x8d50c000 ! 818: RDPR_TT rdpr %tt, %r6
2017 otherw
2018 mov 0x34, %r30
2019 .word 0x91d0001e ! 819: Tcc_R ta icc_or_xcc, %r0 + %r30
2020 .word 0xa5a14d23 ! 820: FsMULd fsmuld %f5, %f34, %f18
2021 .word 0x3a800001 ! 821: BCC bcc,a <label_0x1>
2022 .word 0x8ba00d32 ! 822: FsMULd fsmuld %f0, %f18, %f36
2023 .word 0x8d902085 ! 823: WRPR_PSTATE_I wrpr %r0, 0x0085, %pstate
2024 otherw
2025 mov 0x34, %r30
2026 .word 0x91d0001e ! 824: Tcc_R ta icc_or_xcc, %r0 + %r30
2027 otherw
2028 mov 0x34, %r30
2029 .word 0x91d0001e ! 825: Tcc_R ta icc_or_xcc, %r0 + %r30
2030 .word 0x8b6ac00a ! 826: SDIVX_R sdivx %r11, %r10, %r5
2031DS_57:
2032 .word 0x20800001 ! 828: BN bn,a <label_0x1>
2033 .word 0xd9358000 ! 828: STQF_R - %f12, [%r0, %r22]
2034 normalw
2035 .word 0x99458000 ! 827: RD_SOFTINT_REG rd %softint, %r12
2036 .word 0xd89fc020 ! 828: LDDA_R ldda [%r31, %r0] 0x01, %r12
2037 .word 0x87802010 ! 829: WRASI_I wr %r0, 0x0010, %asi
2038 .word 0x93d02031 ! 830: Tcc_I tne icc_or_xcc, %r0 + 49
2039 .word 0x83d02035 ! 831: Tcc_I te icc_or_xcc, %r0 + 53
2040 .word 0x8d802000 ! 832: WRFPRS_I wr %r0, 0x0000, %fprs
2041 .word 0x8d90221c ! 833: WRPR_PSTATE_I wrpr %r0, 0x021c, %pstate
2042 .word 0x87802089 ! 834: WRASI_I wr %r0, 0x0089, %asi
2043 .word 0x8d902a13 ! 835: WRPR_PSTATE_I wrpr %r0, 0x0a13, %pstate
2044 .word 0xa1540000 ! 836: RDPR_GL rdpr %-, %r16
2045 invalw
2046 mov 0x32, %r30
2047 .word 0x91d0001e ! 837: Tcc_R ta icc_or_xcc, %r0 + %r30
2048 .word 0x8790227e ! 838: WRPR_TT_I wrpr %r0, 0x027e, %tt
2049 .word 0x93902004 ! 839: WRPR_CWP_I wrpr %r0, 0x0004, %cwp
2050 invalw
2051 mov 0x31, %r30
2052 .word 0x93d0001e ! 840: Tcc_R tne icc_or_xcc, %r0 + %r30
2053DS_58:
2054 .word 0x20800001 ! 842: BN bn,a <label_0x1>
2055 .word 0xbfefc000 ! 841: RESTORE_R restore %r31, %r0, %r31
2056 .word 0x879020df ! 842: WRPR_TT_I wrpr %r0, 0x00df, %tt
2057 .word 0x93702001 ! 843: POPC_I popc 0x0001, %r9
2058 .word 0x826c800d ! 844: UDIVX_R udivx %r18, %r13, %r1
2059 .word 0x8d90224c ! 845: WRPR_PSTATE_I wrpr %r0, 0x024c, %pstate
2060 .word 0x8d9022cd ! 846: WRPR_PSTATE_I wrpr %r0, 0x02cd, %pstate
2061 .word 0x91d02030 ! 847: Tcc_I ta icc_or_xcc, %r0 + 48
2062 .word 0xc28008a0 ! 848: LDUWA_R lduwa [%r0, %r0] 0x45, %r1
2063 .word 0x99480000 ! 849: RDHPR_HPSTATE rdhpr %hpstate, %r12
2064 .word 0x93902002 ! 850: WRPR_CWP_I wrpr %r0, 0x0002, %cwp
2065DS_59:
2066 .word 0x20800001 ! 852: BN bn,a <label_0x1>
2067 .word 0xbfe7c000 ! 851: SAVE_R save %r31, %r0, %r31
2068 .word 0x879023de ! 852: WRPR_TT_I wrpr %r0, 0x03de, %tt
2069 .word 0x879023ff ! 853: WRPR_TT_I wrpr %r0, 0x03ff, %tt
2070 .word 0x81982b0f ! 854: WRHPR_HPSTATE_I wrhpr %r0, 0x0b0f, %hpstate
2071 .word 0xd88008a0 ! 855: LDUWA_R lduwa [%r0, %r0] 0x45, %r12
2072 .word 0x81a01a65 ! 856: FqTOi fqtoi
2073 .word 0x8d902e92 ! 857: WRPR_PSTATE_I wrpr %r0, 0x0e92, %pstate
2074DS_60:
2075 .word 0x20800001 ! 859: BN bn,a <label_0x1>
2076 illtrap
2077 .word 0xaba0054d ! 859: FSQRTd fsqrt
2078 .word 0x87a24822 ! 858: FADDs fadds %f9, %f2, %f3
2079 .word 0x879022ec ! 859: WRPR_TT_I wrpr %r0, 0x02ec, %tt
2080 .word 0xc737e001 ! 860: STQF_I - %f3, [0x0001, %r31]
2081 .word 0x9b494000 ! 861: RDHPR_HTBA rdhpr %htba, %r13
2082 .word 0xb150c000 ! 862: RDPR_TT rdpr %tt, %r24
2083 .word 0xf0dfe010 ! 863: LDXA_I ldxa [%r31, + 0x0010] %asi, %r24
2084 .word 0x93d02031 ! 864: Tcc_I tne icc_or_xcc, %r0 + 49
2085 .word 0x91d02032 ! 865: Tcc_I ta icc_or_xcc, %r0 + 50
2086change_to_tl1_61:
2087 ta T_CHANGE_HPRIV
2088 ta T_CHANGE_TO_TL1 ! macro
2089 .word 0x8d902456 ! 867: WRPR_PSTATE_I wrpr %r0, 0x0456, %pstate
2090 .word 0x81982009 ! 868: WRHPR_HPSTATE_I wrhpr %r0, 0x0009, %hpstate
2091 .word 0x836c8016 ! 869: SDIVX_R sdivx %r18, %r22, %r1
2092 .word 0x8198205a ! 870: WRHPR_HPSTATE_I wrhpr %r0, 0x005a, %hpstate
2093 .word 0x819826d2 ! 871: WRHPR_HPSTATE_I wrhpr %r0, 0x06d2, %hpstate
2094 .word 0xa551c000 ! 872: RDPR_TL rdpr %tl, %r18
2095DS_62:
2096 nop
2097 not %g0, %g2
2098 jmp %g2
2099 .word 0x9d902005 ! 873: WRPR_WSTATE_I wrpr %r0, 0x0005, %wstate
2100 .word 0x879023dd ! 874: WRPR_TT_I wrpr %r0, 0x03dd, %tt
2101 otherw
2102 mov 0x32, %r30
2103 .word 0x91d0001e ! 875: Tcc_R ta icc_or_xcc, %r0 + %r30
2104 .word 0x93902002 ! 876: WRPR_CWP_I wrpr %r0, 0x0002, %cwp
2105 .word 0x8d802000 ! 877: WRFPRS_I wr %r0, 0x0000, %fprs
2106 .word 0x87902075 ! 878: WRPR_TT_I wrpr %r0, 0x0075, %tt
2107 .word 0x8d90284e ! 879: WRPR_PSTATE_I wrpr %r0, 0x084e, %pstate
2108 otherw
2109 mov 0x35, %r30
2110 .word 0x93d0001e ! 880: Tcc_R tne icc_or_xcc, %r0 + %r30
2111 ta T_CHANGE_TO_TL0 ! macro
2112 .word 0x93902006 ! 882: WRPR_CWP_I wrpr %r0, 0x0006, %cwp
2113 .word 0x91d02035 ! 883: Tcc_I ta icc_or_xcc, %r0 + 53
2114DS_63:
2115 .word 0x20800001 ! 885: BN bn,a <label_0x1>
2116 .word 0xbfefc000 ! 884: RESTORE_R restore %r31, %r0, %r31
2117 .word 0x93902003 ! 885: WRPR_CWP_I wrpr %r0, 0x0003, %cwp
2118 .word 0xaf702001 ! 886: POPC_I popc 0x0001, %r23
2119 .word 0x8790221c ! 887: WRPR_TT_I wrpr %r0, 0x021c, %tt
2120DS_64:
2121 .word 0x20800001 ! 889: BN bn,a <label_0x1>
2122 .word 0xe734e001 ! 889: STQF_I - %f19, [0x0001, %r19]
2123 normalw
2124 .word 0xa7458000 ! 888: RD_SOFTINT_REG rd %softint, %r19
2125 .word 0x8790201f ! 889: WRPR_TT_I wrpr %r0, 0x001f, %tt
2126 .word 0x81982f04 ! 890: WRHPR_HPSTATE_I wrhpr %r0, 0x0f04, %hpstate
2127 .word 0x81982c46 ! 891: WRHPR_HPSTATE_I wrhpr %r0, 0x0c46, %hpstate
2128 otherw
2129 mov 0x32, %r30
2130 .word 0x93d0001e ! 892: Tcc_R tne icc_or_xcc, %r0 + %r30
2131 .word 0x879020ca ! 893: WRPR_TT_I wrpr %r0, 0x00ca, %tt
2132 otherw
2133 mov 0x31, %r30
2134 .word 0x91d0001e ! 894: Tcc_R ta icc_or_xcc, %r0 + %r30
2135 .word 0xe67fe001 ! 895: SWAP_I swap %r19, [%r31 + 0x0001]
2136 .word 0x91d02030 ! 896: Tcc_I ta icc_or_xcc, %r0 + 48
2137 .word 0x8d480000 ! 897: RDHPR_HPSTATE rdhpr %hpstate, %r6
2138 .word 0x8d802000 ! 898: WRFPRS_I wr %r0, 0x0000, %fprs
2139 .word 0xcc9004a0 ! 899: LDUHA_R lduha [%r0, %r0] 0x25, %r6
2140 .word 0x91d02032 ! 900: Tcc_I ta icc_or_xcc, %r0 + 50
2141DS_65:
2142 .word 0x20800001 ! 902: BN bn,a <label_0x1>
2143 .word 0x20800001 ! 902: BN bn,a <label_0x1>
2144 .word 0x8fa0055a ! 902: FSQRTd fsqrt
2145 .word 0x8da4c82a ! 901: FADDs fadds %f19, %f10, %f6
2146 .word 0x87802089 ! 902: WRASI_I wr %r0, 0x0089, %asi
2147 .word 0x8d902a18 ! 903: WRPR_PSTATE_I wrpr %r0, 0x0a18, %pstate
2148 .word 0x93902005 ! 904: WRPR_CWP_I wrpr %r0, 0x0005, %cwp
2149 .word 0x8790225e ! 905: WRPR_TT_I wrpr %r0, 0x025e, %tt
2150 .word 0x8f690015 ! 906: SDIVX_R sdivx %r4, %r21, %r7
2151 .word 0x9b6e2001 ! 907: SDIVX_I sdivx %r24, 0x0001, %r13
2152 invalw
2153 mov 0x31, %r30
2154 .word 0x91d0001e ! 908: Tcc_R ta icc_or_xcc, %r0 + %r30
2155 .word 0x93902001 ! 909: WRPR_CWP_I wrpr %r0, 0x0001, %cwp
2156 .word 0x8d902a5f ! 910: WRPR_PSTATE_I wrpr %r0, 0x0a5f, %pstate
2157 invalw
2158 mov 0x33, %r30
2159 .word 0x93d0001e ! 911: Tcc_R tne icc_or_xcc, %r0 + %r30
2160 invalw
2161 mov 0x32, %r30
2162 .word 0x93d0001e ! 912: Tcc_R tne icc_or_xcc, %r0 + %r30
2163 .word 0x91d02032 ! 913: Tcc_I ta icc_or_xcc, %r0 + 50
2164 .word 0x85540000 ! 914: RDPR_GL rdpr %-, %r2
2165change_to_tl1_66:
2166 ta T_CHANGE_PRIV
2167 ta T_CHANGE_TO_TL1 ! macro
2168 .word 0x87902128 ! 916: WRPR_TT_I wrpr %r0, 0x0128, %tt
2169 .word 0x879022d8 ! 917: WRPR_TT_I wrpr %r0, 0x02d8, %tt
2170 .word 0x8d902ac8 ! 918: WRPR_PSTATE_I wrpr %r0, 0x0ac8, %pstate
2171 .word 0xc48fe020 ! 919: LDUBA_I lduba [%r31, + 0x0020] %asi, %r2
2172 ta T_CHANGE_HPRIV ! macro
2173 .word 0x8198288c ! 921: WRHPR_HPSTATE_I wrhpr %r0, 0x088c, %hpstate
2174 .word 0x87902142 ! 922: WRPR_TT_I wrpr %r0, 0x0142, %tt
2175 .word 0x879023c8 ! 923: WRPR_TT_I wrpr %r0, 0x03c8, %tt
2176 .word 0x91d02035 ! 924: Tcc_I ta icc_or_xcc, %r0 + 53
2177 otherw
2178 mov 0x33, %r30
2179 .word 0x91d0001e ! 925: Tcc_R ta icc_or_xcc, %r0 + %r30
2180 .word 0x9ba2cd2a ! 926: FsMULd fsmuld %f11, %f10, %f44
2181 .word 0x81982956 ! 927: WRHPR_HPSTATE_I wrhpr %r0, 0x0956, %hpstate
2182 .word 0x8d902683 ! 928: WRPR_PSTATE_I wrpr %r0, 0x0683, %pstate
2183 .word 0x8790236d ! 929: WRPR_TT_I wrpr %r0, 0x036d, %tt
2184 .word 0x8f902002 ! 505: WRPR_TL_I wrpr %r0, 0x0002, %tl
2185 ta T_CHANGE_NONHPRIV ! macro
2186 .word 0x879022a8 ! 931: WRPR_TT_I wrpr %r0, 0x02a8, %tt
2187 .word 0x8d902c91 ! 932: WRPR_PSTATE_I wrpr %r0, 0x0c91, %pstate
2188 .word 0x8edec005 ! 933: SMULcc_R smulcc %r27, %r5, %r7
2189DS_67:
2190 .word 0x34800001 ! 935: BG bg,a <label_0x1>
2191 .word 0xbfe7c000 ! 934: SAVE_R save %r31, %r0, %r31
2192 .word 0xa5b60ff5 ! 935: FONES fones %f18
2193 .word 0x2e800001 ! 936: BVS bvs,a <label_0x1>
2194 .word 0x93902002 ! 937: WRPR_CWP_I wrpr %r0, 0x0002, %cwp
2195 .word 0x8d902255 ! 938: WRPR_PSTATE_I wrpr %r0, 0x0255, %pstate
2196 .word 0x88d04013 ! 939: UMULcc_R umulcc %r1, %r19, %r4
2197 .word 0x879022ed ! 940: WRPR_TT_I wrpr %r0, 0x02ed, %tt
2198 .word 0x8d902615 ! 941: WRPR_PSTATE_I wrpr %r0, 0x0615, %pstate
2199 .word 0xc927c013 ! 942: STF_R st %f4, [%r19, %r31]
2200 ta T_CHANGE_NONHPRIV ! macro
2201 ta T_CHANGE_TO_TL0 ! macro
2202 invalw
2203 mov 0x31, %r30
2204 .word 0x91d0001e ! 945: Tcc_R ta icc_or_xcc, %r0 + %r30
2205DS_68:
2206 .word 0x20800001 ! 947: BN bn,a <label_0x1>
2207 .word 0xcd320002 ! 947: STQF_R - %f6, [%r2, %r8]
2208 normalw
2209 .word 0xa9458000 ! 946: RD_SOFTINT_REG rd %softint, %r20
2210 .word 0x93902007 ! 947: WRPR_CWP_I wrpr %r0, 0x0007, %cwp
2211 .word 0xe89004a0 ! 948: LDUHA_R lduha [%r0, %r0] 0x25, %r20
2212 otherw
2213 mov 0x31, %r30
2214 .word 0x91d0001e ! 949: Tcc_R ta icc_or_xcc, %r0 + %r30
2215 .word 0x81982c59 ! 950: WRHPR_HPSTATE_I wrhpr %r0, 0x0c59, %hpstate
2216 otherw
2217 mov 0x33, %r30
2218 .word 0x93d0001e ! 951: Tcc_R tne icc_or_xcc, %r0 + %r30
2219 .word 0x86800014 ! 952: ADDcc_R addcc %r0, %r20, %r3
2220 .word 0x83d02034 ! 953: Tcc_I te icc_or_xcc, %r0 + 52
2221 .word 0xc68008a0 ! 954: LDUWA_R lduwa [%r0, %r0] 0x45, %r3
2222 .word 0x8d902cd9 ! 955: WRPR_PSTATE_I wrpr %r0, 0x0cd9, %pstate
2223 .word 0xa750c000 ! 956: RDPR_TT rdpr %tt, %r19
2224 .word 0x8d802000 ! 957: WRFPRS_I wr %r0, 0x0000, %fprs
2225DS_69:
2226 .word 0x32800001 ! 959: BNE bne,a <label_0x1>
2227 .word 0x22800001 ! 959: BE be,a <label_0x1>
2228 .word 0x9ba00546 ! 959: FSQRTd fsqrt
2229 .word 0x8da0c82a ! 958: FADDs fadds %f3, %f10, %f6
2230 .word 0xccdfe030 ! 959: LDXA_I ldxa [%r31, + 0x0030] %asi, %r6
2231 .word 0xa1500000 ! 960: RDPR_TPC rdpr %tpc, %r16
2232 .word 0x856d001b ! 961: SDIVX_R sdivx %r20, %r27, %r2
2233 .word 0x91d02030 ! 962: Tcc_I ta icc_or_xcc, %r0 + 48
2234 .word 0x93d02031 ! 963: Tcc_I tne icc_or_xcc, %r0 + 49
2235 .word 0x8d540000 ! 964: RDPR_GL rdpr %-, %r6
2236 .word 0xcd27c01b ! 965: STF_R st %f6, [%r27, %r31]
2237 .word 0x91d02030 ! 966: Tcc_I ta icc_or_xcc, %r0 + 48
2238 .word 0x8bb10fe5 ! 967: FONES fones %f5
2239 invalw
2240 mov 0x31, %r30
2241 .word 0x83d0001e ! 968: Tcc_R te icc_or_xcc, %r0 + %r30
2242 .word 0x91d02030 ! 969: Tcc_I ta icc_or_xcc, %r0 + 48
2243 .word 0x8198254f ! 970: WRHPR_HPSTATE_I wrhpr %r0, 0x054f, %hpstate
2244 .word 0xcadfe030 ! 971: LDXA_I ldxa [%r31, + 0x0030] %asi, %r5
2245DS_70:
2246 nop
2247 not %g0, %g2
2248 jmp %g2
2249 .word 0x9d902005 ! 972: WRPR_WSTATE_I wrpr %r0, 0x0005, %wstate
2250 .word 0xca3fc005 ! 973: STD_R std %r5, [%r31 + %r5]
2251 .word 0x91a00574 ! 974: FSQRTq fsqrt
2252 .word 0xd137c014 ! 975: STQF_R - %f8, [%r20, %r31]
2253 .word 0xd137c014 ! 976: STQF_R - %f8, [%r20, %r31]
2254 .word 0xd137e001 ! 977: STQF_I - %f8, [0x0001, %r31]
2255 .word 0x99902005 ! 978: WRPR_CLEANWIN_I wrpr %r0, 0x0005, %cleanwin
2256 .word 0xd0ffc034 ! 979: SWAPA_R swapa %r8, [%r31 + %r20] 0x01
2257 .word 0xd0800bc0 ! 980: LDUWA_R lduwa [%r0, %r0] 0x5e, %r8
2258 .word 0xb750c000 ! 981: RDPR_TT rdpr %tt, %r27
2259 .word 0x83514000 ! 982: RDPR_TBA <illegal instruction>
2260 .word 0x93902003 ! 983: WRPR_CWP_I wrpr %r0, 0x0003, %cwp
2261 .word 0x87802088 ! 984: WRASI_I wr %r0, 0x0088, %asi
2262 otherw
2263 mov 0x34, %r30
2264 .word 0x91d0001e ! 985: Tcc_R ta icc_or_xcc, %r0 + %r30
2265 .word 0x8d902255 ! 986: WRPR_PSTATE_I wrpr %r0, 0x0255, %pstate
2266 .word 0x83d02030 ! 987: Tcc_I te icc_or_xcc, %r0 + 48
2267 .word 0x91d02033 ! 988: Tcc_I ta icc_or_xcc, %r0 + 51
2268 .word 0xc21fc000 ! 989: LDD_R ldd [%r31 + %r0], %r1
2269 .word 0x93902007 ! 990: WRPR_CWP_I wrpr %r0, 0x0007, %cwp
2270 .word 0x99a000cd ! 991: FNEGd fnegd %f44, %f12
2271 .word 0xd8880e40 ! 992: LDUBA_R lduba [%r0, %r0] 0x72, %r12
2272 .word 0xd8d7e030 ! 993: LDSHA_I ldsha [%r31, + 0x0030] %asi, %r12
2273DS_71:
2274 .word 0x32800001 ! 995: BNE bne,a <label_0x1>
2275 pdist %f28, %f18, %f14
2276 .word 0xa5b1430d ! 994: ALLIGNADDRESS alignaddr %r5, %r13, %r18
2277 .word 0x95a00d35 ! 995: FsMULd fsmuld %f0, %f52, %f10
2278 .word 0x8d902c52 ! 996: WRPR_PSTATE_I wrpr %r0, 0x0c52, %pstate
2279 .word 0x93902006 ! 997: WRPR_CWP_I wrpr %r0, 0x0006, %cwp
2280 .word 0x81982217 ! 998: WRHPR_HPSTATE_I wrhpr %r0, 0x0217, %hpstate
2281
2282
2283.global user_data_start
2284.data
2285user_data_start:
2286 .xword 0x40f483c724f2815a
2287 .xword 0x9e0b482cbc1f6ac1
2288 .xword 0x7ccb2b2c61f6fd8f
2289 .xword 0x15c04bc4343cd008
2290 .xword 0xacef69b3e1035304
2291 .xword 0x16a5a46dc78a5b51
2292 .xword 0xed56eb492eeba5d1
2293 .xword 0x733fcde8e7e9a85f
2294 .xword 0x67a8aa0530c3809d
2295 .xword 0x4d5d8ca9f82db92c
2296 .xword 0xb135e405419ad5cd
2297 .xword 0xf842ab18aad84a54
2298 .xword 0x2706b050149a34d2
2299 .xword 0x17cb9da9d29e7d06
2300 .xword 0x64a18e571ffee651
2301 .xword 0x6a6c911431892128
2302 .xword 0x55cabff3a397fe48
2303 .xword 0x89d8b175be9bdef1
2304 .xword 0x4a7214828dba3f07
2305 .xword 0x910a218296b985b6
2306 .xword 0xfdca5cd9c17a980f
2307 .xword 0x744897f411fde251
2308 .xword 0xdfb6386562fc553e
2309 .xword 0x5ae3e8d8bb737e93
2310 .xword 0x0d8305f9ccd30f36
2311 .xword 0x55370d407f2eefca
2312 .xword 0xdaa2bd94294cba08
2313 .xword 0xf030dd8d31a21dee
2314 .xword 0xa180971f9a56a9bc
2315 .xword 0xae0a69cc1ac2cb2e
2316 .xword 0x0fa85a3990cc5781
2317 .xword 0x64eab503a80de474
2318 .xword 0x24b8a7e3b245110a
2319 .xword 0xa4de535e1279420b
2320 .xword 0xe5e6c2ffb249bf2b
2321 .xword 0x53fd1ad918ce9a13
2322 .xword 0xc36eb18390f5ec7e
2323 .xword 0xd3d9f7f4d8358c55
2324 .xword 0x361f103d7d23b57e
2325 .xword 0x5c568d303673f067
2326 .xword 0xad07741b92a4a64a
2327 .xword 0xac7c0575e38cbd60
2328 .xword 0x8882acbfc032a6b3
2329 .xword 0xad000f0ffa49cc2b
2330 .xword 0x12870023d292fec8
2331 .xword 0x3db279d7e5aba599
2332 .xword 0xc4c5f02dca8c714e
2333 .xword 0x79e623de117baf59
2334 .xword 0x9c2321d97be85582
2335 .xword 0xee1d83fe008763bb
2336 .xword 0x9919396af5300906
2337 .xword 0x506d297e4f87679f
2338 .xword 0x133b85151aed6a44
2339 .xword 0x1918aa55e3744f63
2340 .xword 0x0f59dbef5b56e8c0
2341 .xword 0xccebff863b8f596c
2342 .xword 0x6c031f4c0b12f90f
2343 .xword 0x7a31abed540f21ea
2344 .xword 0x82d70f8e9c6c717e
2345 .xword 0x064688e91bc747e3
2346 .xword 0x3b8ea63b99e09d8d
2347 .xword 0x12b4c01e77046b08
2348 .xword 0x1bb7bbe4031ff1ef
2349 .xword 0x1394f4ee4be9280d
2350 .xword 0xa159b72ee017b260
2351 .xword 0xb110476c5c47c5ad
2352 .xword 0x68f1d51e2ad5b046
2353 .xword 0xbe1c54bfe86ec0df
2354 .xword 0x6cb049f2fc61c808
2355 .xword 0x0e02914f616aeb3a
2356 .xword 0x4e3f7e8be448d5d3
2357 .xword 0x7451acf4e17613a4
2358 .xword 0xc73852764c40fd44
2359 .xword 0x401d7bdbff283984
2360 .xword 0xaee37a5062b8b8aa
2361 .xword 0x803f277c4dac422f
2362 .xword 0xe355f6abb61431b2
2363 .xword 0xdb4b139afc2e8bbf
2364 .xword 0xed77a38ca629212b
2365 .xword 0x2d0a94e8d2289c47
2366 .xword 0x73f6c94153b8bb0d
2367 .xword 0x781b63f90fd21bc4
2368 .xword 0x6a79552cc530286c
2369 .xword 0xbca87f28d8a0d361
2370 .xword 0x35f93aee0f8e6928
2371 .xword 0xf66dc3badc3cf5c2
2372 .xword 0xae4120d5503bb5e2
2373 .xword 0x812fd44f6ddbe527
2374 .xword 0x6c03c424f61b2061
2375 .xword 0xe0fd3261ea0bf14f
2376 .xword 0xaca7471984dff96b
2377 .xword 0x39bfbc302a2ba342
2378 .xword 0x87e922224c863f95
2379 .xword 0xc91c8a8891708916
2380 .xword 0xa5909c5e7dda18e5
2381 .xword 0xed51461a89254357
2382 .xword 0xff8d9d805e487236
2383 .xword 0x2ce9c8173facd28e
2384 .xword 0xbf9fda8e596c091f
2385 .xword 0x95ac9823937b60f0
2386 .xword 0xd8e5849981f7dc6f
2387 .xword 0xfe4b189471b28c81
2388 .xword 0x521ef31dd28d1f3a
2389 .xword 0xc900659113ebd3a0
2390 .xword 0x24879f9f9a33195f
2391 .xword 0x857d26ea47be5c31
2392 .xword 0xdd526f2a71b000aa
2393 .xword 0xf1cadb8f85c2884f
2394 .xword 0x47900e9235817583
2395 .xword 0x84a5c7d3cc6f3922
2396 .xword 0xa69e748d71a0ab2d
2397 .xword 0x87d53cacf7100e35
2398 .xword 0xad402cb0c7b85804
2399 .xword 0x262e9461e6a18769
2400 .xword 0x3674f6ee4907462f
2401 .xword 0xe43de694e7abe3ff
2402 .xword 0xb5f792194cd72a07
2403 .xword 0x83bee6ec3c13fc4e
2404 .xword 0x26b9e9c67ae04e4b
2405 .xword 0xbfae821c88d1e162
2406 .xword 0x84ed9badb6d8b26d
2407 .xword 0xb391af02f9219bbe
2408 .xword 0x82479dacb2941e7a
2409 .xword 0xe2a3d41e817ee5a5
2410 .xword 0xfd148afedca2c1f8
2411 .xword 0xb37d7cc170214f9e
2412 .xword 0x7e4879b65cda6734
2413 .xword 0x65d47c81f11d66ed
2414 .xword 0x1f57c8c3f05d8809
2415 .xword 0x467329f0ab819f57
2416 .xword 0x8f7d62b290942266
2417 .xword 0x99ac30a63e7495ad
2418 .xword 0xa9aa26bdfc9e53e7
2419 .xword 0xe204a1e274856231
2420 .xword 0xc4e590368dfcc03c
2421 .xword 0x02789b1dfc732777
2422 .xword 0x630849acff7f9c87
2423 .xword 0xc8c88e25c9e8bed7
2424 .xword 0x81138a69745ee342
2425 .xword 0xf2f2ae3ab1987522
2426 .xword 0x347d4e1fa57ade56
2427 .xword 0x60cc7f0bbbd600f5
2428 .xword 0xa06b8482cfb3d5fc
2429 .xword 0x661b3bc5138c2216
2430 .xword 0x42ba70f99b81190f
2431 .xword 0xe17254167dba1267
2432 .xword 0xe1bf8230cf861f0f
2433 .xword 0x8c7067785832a6eb
2434 .xword 0xf96af0c5fb01c6e0
2435 .xword 0x8325e7530b1ce20e
2436 .xword 0xe89871979fb87fe4
2437 .xword 0xcef9ecfb0e12e462
2438 .xword 0x31f3a0d55b494774
2439 .xword 0xc8696a290741b410
2440 .xword 0x4cb286fb614fd05a
2441 .xword 0x33b0e1cb86e45f6a
2442 .xword 0xef56c23d3fcd9e3b
2443 .xword 0xf54bb28a3f90531f
2444 .xword 0x9ff06de690420ee9
2445 .xword 0x049e0af758801643
2446 .xword 0x42a18f60ccfb3a8d
2447 .xword 0x7a91457e0f40fec8
2448 .xword 0x5aa99ca31baf7578
2449 .xword 0x630f990cd529c1d7
2450 .xword 0x7cb610ba09e8cfff
2451 .xword 0xa3bdae822e31a551
2452 .xword 0x6d6c7f041b3d15fb
2453 .xword 0x14a0cb72657668ab
2454 .xword 0x71493245ab8ad5b9
2455 .xword 0x4d8e590ad7fc9dc2
2456 .xword 0x504e88834bc3e527
2457 .xword 0x8562564d7610ed30
2458 .xword 0xe5849e57242ddead
2459 .xword 0xe1bce679868b388e
2460 .xword 0x25ef660409d61523
2461 .xword 0x9d8f9bdb374c052f
2462 .xword 0xbd6a02d7fb13ac80
2463 .xword 0xc72305ecc19ab8c1
2464 .xword 0xa7a15da0ee0a619d
2465 .xword 0x88beef9a90faf3c1
2466 .xword 0x47d228a525995895
2467 .xword 0xe8580bdab98d5123
2468 .xword 0x9f2337d238001e26
2469 .xword 0x0a7efe19ec709fbe
2470 .xword 0x29118109696cf92a
2471 .xword 0x76dffad476b296e3
2472 .xword 0xd1a6dc3ee382ac94
2473 .xword 0xed6b530abf6e8f96
2474 .xword 0xfd0eb7b677a3a3e7
2475 .xword 0xb0efb83e7f996b50
2476 .xword 0xc25bdb19f2afe365
2477 .xword 0x80f8e255fe646da2
2478 .xword 0x2b2467c13a8c7720
2479 .xword 0xbbb0bb968fee1712
2480 .xword 0x6856a79c22dae7d3
2481 .xword 0x0f5ab7bc371c2406
2482 .xword 0xd6035260fece67be
2483 .xword 0x95936652d597f131
2484 .xword 0x1f596237fda5b716
2485 .xword 0x643cbc60e96ab979
2486 .xword 0x2e0e9c6fac2d17c4
2487 .xword 0xd7bbdbe0bde49029
2488 .xword 0x7ebf1361b4dc98f8
2489 .xword 0x1a571963e0f36a20
2490 .xword 0xfc46c09a821b4a25
2491 .xword 0x5c0ac78dc021181b
2492 .xword 0x38b4327e47dc8c41
2493 .xword 0xece58bc748fded4d
2494 .xword 0x2b3535d8c69eec98
2495 .xword 0x3770e48d06fedd5e
2496 .xword 0xd8fe22f421ad142c
2497 .xword 0x0d05b12645aefa25
2498 .xword 0x4124e4f6a97c49bc
2499 .xword 0xbb34bfb200df432c
2500 .xword 0xee0a9595dc804bbf
2501 .xword 0x79b025aaa3f30cc0
2502 .xword 0xe050b17f13af3601
2503 .xword 0x3751ab24d51af8e5
2504 .xword 0x74f3efaac5295238
2505 .xword 0x839d41bfaacbbb01
2506 .xword 0x3d2e30678a8ba09f
2507 .xword 0xab3f5f926fa38c26
2508 .xword 0x04259d7387b3b0e8
2509 .xword 0xeae5f513cfe8e889
2510 .xword 0xdaafc699f4a38578
2511 .xword 0xb418b2d0af3f4e5e
2512 .xword 0x7381404768e4b00a
2513 .xword 0x92bc5969e09bed71
2514 .xword 0x9ac552481aa06286
2515 .xword 0x6ef48628ea0b02d4
2516 .xword 0xa821b4de365e45c5
2517 .xword 0xcef5ff201ef2d540
2518 .xword 0x9b4381feb227de58
2519 .xword 0x66d0e83d09b6bff8
2520 .xword 0x8a075d990f5befad
2521 .xword 0x1a530b3ead5fe900
2522 .xword 0x735a72866d33788a
2523 .xword 0x7e13c3c9c9820cbe
2524 .xword 0xbfeecc87669359a6
2525 .xword 0x537eff667f28baf2
2526 .xword 0x349772e1ba01a704
2527 .xword 0x30ae4bc40780265c
2528 .xword 0x874af1ce51913358
2529 .xword 0x26e304ab4ab7678e
2530 .xword 0x9ccbfaf1b0143b32
2531 .xword 0xd6b15ac76aeedbca
2532 .xword 0x426aa35bfd54d1ae
2533 .xword 0x225f9c6be08d0ede
2534 .xword 0x07ab3a1025f33590
2535 .xword 0x4b6582e141d8c330
2536 .xword 0x29f6a143c4cbf7fe
2537 .xword 0x8bc19f568b637035
2538 .xword 0xc905edad78e2fadb
2539 .xword 0x12810caf7c936785
2540 .xword 0x7ea0cfbdd88594ad
2541 .xword 0xcc235ec42bff9d63
2542
2543
2544.text
2545 nop
2546 nop
2547 nop
2548 ta T_GOOD_TRAP
2549 nop
2550 nop
2551 nop
2552.data
2553 .xword 0x0
2554
2555.global wdog_2_ext
2556
2557SECTION .HTRAPS
2558.text
2559htrap_5_ext:
2560 rd %pc, %g2
2561 inc %g3
2562 add %g2, htrap_5_ext_done-htrap_5_ext, %g2
2563 rdpr %tl, %g3
2564 rdpr %tstate, %g4
2565 rdhpr %htstate, %g5
2566 or %g5, 0x4, %g5
2567 inc %g3
2568 wrpr %g3, %tl
2569 wrpr %g2, %tpc
2570 wrpr %g4, %tstate
2571 wrhpr %g5, %htstate
2572 retry
2573htrap_5_ext_done:
2574 done
2575
2576wdog_2_ext:
2577 mov 0x1f, %g1
2578 stxa %g1, [%g0] ASI_LSU_CTL_REG
2579 stxa %g0, [%g0] ASI_ERROR_INJECT
2580 ! If TT != 2, then goto trap handler
2581 rdpr %tt, %g1
2582 cmp %g1, 0x2
2583 bne wdog_2_goto_handler
2584 nop
2585 ! else done
2586 done
2587wdog_2_goto_handler:
2588 rdhpr %htba, %g2
2589 sllx %g1, 5, %g1
2590 add %g1, %g2, %g2
2591 jmp %g2
2592 nop
2593
2594! Red mode other reset handler
2595! Get htba, and tt and make trap address
2596! Jump to trap handler ..
2597
2598SECTION .RED_SEC
2599.text
2600red_other_ext:
2601 ! IF TL=6, shift stack by one ..
2602 rdpr %tl, %g1
2603 cmp %g1, 6
2604 be start_tsa_shift
2605 nop
2606
2607continue_red_other:
2608 mov 0x1f, %g1
2609 stxa %g1, [%g0] ASI_LSU_CTL_REG
2610 stxa %g0, [%g0] ASI_ERROR_INJECT
2611 rdpr %tt, %g1
2612 sllx %g1, 5, %g1
2613 rdhpr %htba, %g2
2614 add %g1, %g2, %g2
2615 rdhpr %hpstate, %g1
2616 jmp %g2
2617 wrhpr %g1, 0x20, %hpstate
2618 nop
2619
2620wdog_red_ext:
2621 ! Shift stack down by 1 ...
2622 rdpr %tl, %g1
2623start_tsa_shift:
2624 mov 0x2, %g2
2625
2626tsa_shift:
2627 wrpr %g2, %tl
2628 rdpr %tt, %g3
2629 rdpr %tpc, %g4
2630 rdpr %tnpc, %g5
2631 rdpr %tstate, %g6
2632 rdhpr %htstate, %g7
2633 dec %g2
2634 wrpr %g2, %tl
2635 wrpr %g3, %tt
2636 wrpr %g4, %tpc
2637 wrpr %g5, %tnpc
2638 wrpr %g6, %tstate
2639 wrhpr %g7, %htstate
2640 add %g2, 2, %g2
2641 cmp %g2, %g1
2642 ble tsa_shift
2643 nop
2644tsa_shift_done:
2645 dec %g1
2646 wrpr %g1, %tl
2647
2648 ! If TT != 2, then goto trap handler
2649 rdpr %tt, %g1
2650 cmp %g1, 0x2
2651 bne continue_red_other
2652 nop
2653 ! else done
2654 mov 0x1f, %g1
2655 stxa %g1, [%g0] ASI_LSU_CTL_REG
2656 stxa %g0, [%g0] ASI_ERROR_INJECT
2657 done
2658
2659
2660#if 0
2661!!# /*
2662!!# output of /import/bw/tools/local/indra-release/indra,1.4.11/bin/ijpp (indrajal preprocessor) - Wed Apr 14 12:02:08 2004
2663!!# */
2664!!#
2665!!# %%section c_declarations
2666!!#
2667!!# int label = 0;
2668!!#
2669!!# #define HTRAPS 0
2670!!# #define RED_SEC 1
2671!!#
2672!!# %%
2673!!# %%section control
2674!!#
2675!!# %%
2676!!# %%section init
2677!!# {
2678!!#
2679!!#
2680!!# IJ_bind_thread_group("diag.j", 34, th0, 0x01);
2681!!#
2682!!# // Random 64 bits //
2683!!# IJ_set_rvar("diag.j", 37, Rv_rand_64,"64'hrrrrrrrr_rrrrrrrr");
2684!!#
2685!!# IJ_set_rvar("diag.j", 40, Rv_pdist_reg,"5'brrrr0");
2686!!#
2687!!# // Register usage - use 0-27 //
2688!!# // R31 is memory pointer
2689!!# // R30 is trap number register
2690!!# //
2691!!#
2692!!# IJ_set_ropr_fld("diag.j", 48, ijdefault, Ft_Rs1, "{0..13,16..27}");
2693!!# IJ_set_ropr_fld("diag.j", 49, ijdefault, Ft_Rs2, "{0..13,16..27}");
2694!!# IJ_set_ropr_fld("diag.j", 50, ijdefault, Ft_Rd, "{0..13,16..27}");
2695!!#
2696!!# // Load/Store pointer = r31
2697!!# IJ_set_ropr_fld("diag.j", 53, Ro_ldst_ptr, Ft_Rs1, "{31}");
2698!!#
2699!!# // ASI register values
2700!!# IJ_set_ropr_fld("diag.j", 56, Ro_wrasi_i, Ft_Rs1, "{0}");
2701!!# IJ_set_ropr_fld("diag.j", 57, Ro_wrasi_i, Ft_Simm13, "{0x4, 0x10, 0x14, 0x16, 0x80, 0x88, 0x89}");
2702!!#
2703!!# // General Ldst ASIs to use .. 50% should be illegal ..
2704!!# IJ_set_ropr_fld("diag.j", 60, Ro_nontrap_ldasi, Ft_Imm_Asi, "{0x12,0x14, 0x16, 0x80, 0x88}");
2705!!# IJ_set_ropr_fld("diag.j", 61, Ro_nontrap_ldasi, Ft_Rs1, "{31}");
2706!!# IJ_set_ropr_fld("diag.j", 62, Ro_nontrap_ldasi, Ft_Rs2, "{0}");
2707!!# IJ_set_ropr_fld("diag.j", 63, Ro_nontrap_ldasi, Ft_Simm13, "{0x0}, 6'brr0000");
2708!!#
2709!!# IJ_set_ropr_fld("diag.j", 65, Ro_nontrap_ldasi_z, Ft_Imm_Asi, "{0x45, 0x53..0x64}");
2710!!# IJ_set_ropr_fld("diag.j", 66, Ro_nontrap_ldasi_z, Ft_Rs1, "{0}");
2711!!# IJ_set_ropr_fld("diag.j", 67, Ro_nontrap_ldasi_z, Ft_Rs2, "{0}");
2712!!# IJ_set_ropr_fld("diag.j", 68, Ro_nontrap_ldasi_z, Ft_Simm13, "{0x0}, 6'brr0000");
2713!!#
2714!!# // General Ldst alignment to use .. 50% should be illegal ..
2715!!# IJ_set_ropr_fld("diag.j", 71, Ro_nontrap_ld, Fm_align_Simm13, "{0x0..0x6:5,0x7:1}");
2716!!# IJ_set_ropr_fld("diag.j", 72, Ro_nontrap_ld, Ft_Rs1, "{31}");
2717!!# IJ_set_ropr_fld("diag.j", 73, Ro_nontrap_ld, Ft_Rs2, "{0}");
2718!!#
2719!!# // Trap ASI operands
2720!!# IJ_set_ropr_fld("diag.j", 76, Ro_traps_asi, Ft_Imm_Asi, "{0x25, 0x72..0x74}");
2721!!# IJ_set_ropr_fld("diag.j", 77, Ro_traps_asi, Ft_Rs1, "{0}");
2722!!# IJ_set_ropr_fld("diag.j", 78, Ro_traps_asi, Ft_Rs2, "{0}");
2723!!# IJ_set_ropr_fld("diag.j", 79, Ro_traps_asi, Ft_Simm13, "{0x25, 0x72..0x74}");
2724!!#
2725!!# // Trap #s to use
2726!!# //IJ_set_ropr_fld(Ro_traps_i, Ft_Sw_Trap, "{0x30..0x35, 0xb0..0xb5}");
2727!!# IJ_set_ropr_fld("diag.j", 83, Ro_traps_i, Ft_Sw_Trap, "{0x30..0x35}");
2728!!# IJ_set_ropr_fld("diag.j", 84, Ro_traps_i, Ft_Rs1, "{0}");
2729!!# IJ_set_ropr_fld("diag.j", 85, Ro_traps_i, Ft_Cond_f2, "{0x8:3, 0x9, 0x1}");
2730!!# IJ_set_ropr_fld("diag.j", 86, Ro_traps_r, Ft_Rs1, "{0}");
2731!!# IJ_set_ropr_fld("diag.j", 87, Ro_traps_r, Ft_Rs2, "{30}");
2732!!# IJ_set_ropr_fld("diag.j", 88, Ro_traps_r, Ft_Cond_f2, "{0x8:3, 0x9, 0x1}");
2733!!# IJ_set_ropr_fld("diag.j", 89, Ro_traps_r, Ft_Simm13, "{0x30..0x35}");
2734!!# //IJ_set_ropr_fld(Ro_traps_r, Ft_Simm13, "{0x30..0x35, 0xb0..0xb5}");
2735!!# IJ_set_rvar("diag.j", 91, Rv_init_trap, "{0x30..0x35}");
2736!!# //IJ_set_rvar(Rv_init_trap, "{0x30..0x35, 0xb0..0xb5}");
2737!!#
2738!!# // FPRS splash
2739!!# IJ_set_ropr_fld("diag.j", 95, Ro_wrfprs, Ft_Rs1, "{0}");
2740!!# IJ_set_ropr_fld("diag.j", 96, Ro_wrfprs, Ft_Simm13, "{0, 4}");
2741!!#
2742!!# // Pstate splash
2743!!# IJ_set_ropr_fld("diag.j", 99, Ro_wrpstate, Ft_Rs1, "{0}");
2744!!# IJ_set_ropr_fld("diag.j", 100, Ro_wrpstate, Ft_Simm13, "12'b0rrr0rr0rrrrr");
2745!!#
2746!!# // Hpstate splash
2747!!# IJ_set_ropr_fld("diag.j", 103, Ro_wrhpstate, Ft_Rs1, "{0}");
2748!!# IJ_set_ropr_fld("diag.j", 104, Ro_wrhpstate, Ft_Simm13, "12'brrrrrr0rrrrr");
2749!!#
2750!!# // TT splash
2751!!# IJ_set_ropr_fld("diag.j", 107, Ro_wrtt, Ft_Rs1, "{0}");
2752!!# IJ_set_ropr_fld("diag.j", 108, Ro_wrtt, Ft_Simm13, "10'brrrrrrrrrr");
2753!!#
2754!!# // GL splash
2755!!# IJ_set_ropr_fld("diag.j", 111, Ro_wrgl, Ft_Rs1, "{0}");
2756!!# IJ_set_ropr_fld("diag.j", 112, Ro_wrgl, Ft_Simm13, "4'brrrr");
2757!!#
2758!!# // TL splash
2759!!# IJ_set_ropr_fld("diag.j", 115, Ro_tl, Ft_Simm13, "{0..5}");
2760!!# IJ_set_ropr_fld("diag.j", 116, Ro_tl, Ft_Rs1, "{0}");
2761!!#
2762!!# // CWP splash
2763!!# IJ_set_ropr_fld("diag.j", 119, Ro_wrcwp, Ft_Rs1, "{0}");
2764!!# IJ_set_ropr_fld("diag.j", 120, Ro_wrcwp, Ft_Simm13, "3'brrr");
2765!!#
2766!!# IJ_set_ropr_fld("diag.j", 122, Ro_save_restore, Ft_Rs1, "{31}");
2767!!# IJ_set_ropr_fld("diag.j", 123, Ro_save_restore, Ft_Rd, "{31}");
2768!!# IJ_set_ropr_fld("diag.j", 124, Ro_save_restore, Ft_Rs2, "{0}");
2769!!#
2770!!# IJ_set_ropr_fld("diag.j", 126, Ro_winops, Ft_Rs1, "{0}");
2771!!# IJ_set_ropr_fld("diag.j", 127, Ro_winops, Ft_Simm13, "{0..5}");
2772!!#
2773!!# // Weights
2774!!# IJ_set_default_rule_wt_rvar ("diag.j", 130,"{10}");
2775!!# IJ_set_rvar("diag.j", 131, wt_high, "{90}");
2776!!# IJ_set_rvar("diag.j", 132, wt_med, "{40}");
2777!!# IJ_set_rvar("diag.j", 133, wt_low, "{10}");
2778!!#
2779!!# // Initialize registers ..
2780!!# int i, j, k;
2781!!# IJ_printf ("diag.j", 137, th0,"!Initializing integer registers\n");
2782!!# for (k=0; k<7; k++) {
2783!!# for (i = 0; i < 30; i++) {
2784!!# if (i==15) {
2785!!# IJ_printf ("diag.j", 141, th0,"\tmov %%r31, %%r15\n");
2786!!# continue;
2787!!# }
2788!!# j=i*8;
2789!!# IJ_printf ("diag.j", 145, th0,"\tldx [%%r31+%d], %%r%d\n", j,i);
2790!!# }
2791!!# IJ_printf ("diag.j", 147, th0,"\tmov 0x%rx, %%r14\n", Rv_init_trap);
2792!!# IJ_printf ("diag.j", 148, th0,"\tmov 0x%rx, %%r30\n", Rv_init_trap);
2793!!# IJ_printf ("diag.j", 149, th0,"\tsave %%r31, %%r0, %%r31\n");
2794!!# }
2795!!# for (k=0; k<3; k++) {
2796!!# IJ_printf ("diag.j", 152, th0,"\trestore\n");
2797!!# }
2798!!#
2799!!# IJ_printf ("diag.j", 155, th0,"!Initializing float registers\n");
2800!!# for (i = 0; i < 31; i=i+2) {
2801!!# j=i*8;
2802!!# IJ_printf ("diag.j", 158, th0,"\tldd [%%r31+%d], %%f%d\n", j,i);
2803!!# }
2804!!#
2805!!# }
2806!!#
2807!!# %%
2808!!# %%section finish
2809!!# {
2810!!#
2811!!#
2812!!# int i;
2813!!# IJ_printf ("diag.j", 164, th0,"\n\n.global user_data_start\n.data\nuser_data_start:\n");
2814!!# for (i = 0; i < 256; i++) {
2815!!# IJ_printf ("diag.j", 166, th0,"\t.xword\t0x%016llrx\n", Rv_rand_64);
2816!!# }
2817!!#
2818!!# }
2819!!#
2820!!# %%
2821!!# %%section map
2822!!#
2823!!# %%
2824!!# %%section grammar
2825!!#
2826!!#
2827!!# block: inst | block inst
2828!!# {
2829!!# IJ_generate ("diag.j", 806, th0, $2);
2830!!# };
2831!!#
2832!!# inst: trap_asr %rvar wt_med
2833!!# | trap_asi %rvar wt_low
2834!!# | tcc %rvar wt_high
2835!!# | ldst_excp %rvar wt_low
2836!!# | ldstasi_excp %rvar wt_low
2837!!# | ldstasi_excp_z %rvar wt_low
2838!!# | change_mode %rvar wt_med
2839!!# | alu %rvar wt_high
2840!!# | branches %rvar wt_med
2841!!# | wrasi %rvar wt_low
2842!!# | splash_fprs %rvar wt_low
2843!!# | splash_pstate %rvar wt_med
2844!!# | splash_hpstate %rvar wt_med
2845!!# | splash_cwp %rvar wt_med
2846!!# //| splash_gl %rvar wt_med
2847!!# | splash_tt %rvar wt_med
2848!!# | stores %rvar wt_low
2849!!# //| sir %rvar wt_low
2850!!# ;
2851!!#
2852!!# sir : tSIR ;
2853!!#
2854!!# change_mode :
2855!!# tCHANGE_NONPRIV
2856!!# | tCHANGE_NONHPRIV
2857!!# | tCHANGE_HPRIV
2858!!# | tCHANGE_PRIV
2859!!# | change_to_tl1
2860!!# | change_to_randtl
2861!!# | tCHANGE_TO_TL0
2862!!# ;
2863!!#
2864!!# change_to_randtl: tWRPR_TL_I %ropr Ro_tl
2865!!# {
2866!!# IJ_printf("diag.j", 844, th0, "change_to_randtl_%d:\n", label);
2867!!# if (label%2) {
2868!!# IJ_set_ropr_fld("diag.j", 846, Ro_tl, Ft_Simm13, "{3..5}");
2869!!# IJ_generate_from_token("diag.j", 847,1, th0, ijdefault, tCHANGE_HPRIV, -1);;
2870!!# } else {
2871!!# IJ_set_ropr_fld("diag.j", 849, Ro_tl, Ft_Simm13, "{0..2}");
2872!!# IJ_generate_from_token("diag.j", 850,1, th0, ijdefault, tCHANGE_PRIV, -1);;
2873!!# }
2874!!# label++;
2875!!# }
2876!!# ;
2877!!#
2878!!# change_to_tl1 : tCHANGE_TO_TL1
2879!!# {
2880!!# IJ_printf("diag.j", 858, th0, "change_to_tl1_%d:\n", label);
2881!!# if (label%2) {
2882!!# IJ_printf("diag.j", 860, th0, "\tta T_CHANGE_HPRIV\n");
2883!!# } else {
2884!!# IJ_printf("diag.j", 862, th0, "\tta T_CHANGE_PRIV\n");
2885!!# }
2886!!# label++;
2887!!# }
2888!!# ;
2889!!# trap_asr :
2890!!# tRDPR_TPC
2891!!# | tRDPR_TSTATE
2892!!# | tRDPR_TT
2893!!# | tRDPR_TNPC
2894!!# | tRDPR_TBA
2895!!# | tRDPR_TL
2896!!# | tRDPR_GL
2897!!# | tRDHPR_HTBA
2898!!# | tRDHPR_HPSTATE
2899!!# ;
2900!!#
2901!!# splash_gl :
2902!!# tWRPR_GL_I %ropr Ro_wrgl
2903!!# ;
2904!!# splash_tt :
2905!!# tWRPR_TT_I %ropr Ro_wrtt
2906!!# ;
2907!!# splash_fprs :
2908!!# tWRFPRS_I %ropr Ro_wrfprs
2909!!# ;
2910!!#
2911!!# splash_cwp :
2912!!# tWRPR_CWP_I %ropr Ro_wrcwp
2913!!# ;
2914!!#
2915!!# splash_pstate :
2916!!# tWRPR_PSTATE_I %ropr Ro_wrpstate
2917!!# ;
2918!!#
2919!!# splash_hpstate :
2920!!# tWRHPR_HPSTATE_I %ropr Ro_wrhpstate
2921!!# ;
2922!!#
2923!!# trap_asi :
2924!!# asi_load_r %ropr Ro_traps_asi
2925!!# ;
2926!!#
2927!!# wrasi : tWRASI_I %ropr Ro_wrasi_i
2928!!# ;
2929!!# reg_tcc : tTcc_R %ropr Ro_traps_r
2930!!# {
2931!!# if (label%2) {
2932!!# IJ_printf("diag.j", 910, th0, "\totherw\n\tmov 0x%rx, %%r30\n", Rv_init_trap);
2933!!# } else {
2934!!# IJ_printf("diag.j", 912, th0, "\tinvalw\n\tmov 0x%rx, %%r30\n", Rv_init_trap);
2935!!# }
2936!!# }
2937!!# ;
2938!!#
2939!!# tcc :
2940!!# tTcc_I %ropr Ro_traps_i
2941!!# | reg_tcc
2942!!#
2943!!# ;
2944!!#
2945!!# ldst_excp :
2946!!# ldds %ropr Ro_nontrap_ld |
2947!!# load_r %ropr Ro_nontrap_ld |
2948!!# load_i %ropr Ro_nontrap_ld
2949!!#
2950!!# ;
2951!!#
2952!!# ldstasi_excp :
2953!!# asi_load_i %ropr Ro_nontrap_ldasi
2954!!# ;
2955!!# ldstasi_excp_z :
2956!!# tLDUWA_R %ropr Ro_nontrap_ldasi_z
2957!!# ;
2958!!#
2959!!# ldds: tLDD_R | tLDD_I | tLDDA_I | tLDDA_R
2960!!# ;
2961!!#
2962!!# stores:
2963!!# stds %ropr Ro_ldst_ptr |
2964!!# stfs %ropr Ro_ldst_ptr |
2965!!# stqfs %ropr Ro_ldst_ptr |
2966!!# sts %ropr Ro_ldst_ptr
2967!!# ;
2968!!# stds: tSTDA_R | tSTDA_I | tSTD_R | tSTD_I | tSTDF_R | tSTDF_I
2969!!# ;
2970!!# stfs: tSTF_R | tSTF_I
2971!!# ;
2972!!# stqfs: tSTQF_R | tSTQF_I
2973!!# ;
2974!!# sts: tSTB_R | tSTB_I | tSTH_R | tSTH_I | tSTW_R | tSTW_I | tSTX_R | tSTX_I
2975!!#
2976!!# ;
2977!!#
2978!!# load_r: tLDSB_R | tLDSH_R | tLDSW_R | tLDUB_R | tLDUH_R | tLDUW_R | tLDX_R
2979!!# | tLDQF_R
2980!!# ;
2981!!#
2982!!# load_i: tLDSB_I | tLDSH_I | tLDSW_I | tLDUB_I | tLDUH_I | tLDUW_I | tLDX_I
2983!!# | tLDQFA_I
2984!!# ;
2985!!#
2986!!# asi_load_i: tLDSBA_I | tLDSHA_I | tLDSWA_I | tLDUBA_I | tLDUHA_I | tLDXA_I
2987!!# ;
2988!!#
2989!!# asi_load_r:tLDSBA_R | tLDSHA_R | tLDSWA_R | tLDUBA_R | tLDUHA_R | tLDXA_R
2990!!# ;
2991!!#
2992!!# asi_store_i: tSTBA_I | tSTHA_I | tSTWA_I | tSTXA_I
2993!!# ;
2994!!#
2995!!# asi_store_r: tSTBA_R | tSTHA_R | tSTWA_R | tSTXA_R
2996!!# ;
2997!!#
2998!!# alu :
2999!!# tADDcc_R | tADDcc_I | tADDCcc_I | tANDNcc_R |
3000!!# tMULX_R | tUMULcc_R | tUMULcc_I | tSDIVcc_I | tSDIVcc_R |
3001!!# tSMULcc_R | tSDIVX_R | tSDIVX_I | tUDIVX_R |
3002!!# tUDIVX_I | tFDIVs | tFDIVd | tFDIVq | tSWAP_I %ropr Ro_ldst_ptr |
3003!!# tSWAPA_R %ropr Ro_ldst_ptr | tCASA_I %ropr Ro_ldst_ptr | tPOPC_I |
3004!!# tFSQRTq | tFSQRTd | tFsMULd | tFdMULq | tFqTOi | tFNEGd | tFONES
3005!!# ;
3006!!#
3007!!# br : tBA | tBLE | tBGE | tBL | tBGU | tBLEU | tBN | tBNE | tBE | tBG |
3008!!# tBCC | tBCS | tBPOS | tBNEG | tBVC | tBVS | tBPA | tBPN | tBPNE |
3009!!# tBPE | tBPG | tBPLE | tBPGE | tBPL | tBPGU | tBPLEU | tBPCC | tBPCS |
3010!!# tBPPOS | tBPNEG | tBPVC | tBPVS
3011!!# ;
3012!!#
3013!!# branches : br | br_badelay | br_longdelay;
3014!!#
3015!!# br_badelay : tRD_SOFTINT_REG
3016!!# {
3017!!# IJ_printf("diag.j", 997, th0, "DS_%d:\n", label); label++;
3018!!# IJ_generate_from_token("diag.j", 998,1, th0, ijdefault, tBN, tBNE, tBE, tBG, -1);;
3019!!# IJ_generate_from_token("diag.j", 999,1, th0, ijdefault, tSTQF_I, tSTQF_R, -1);;
3020!!# IJ_printf("diag.j", 1000, th0, "\tnormalw\n");
3021!!# }
3022!!# | tALLIGNADDRESS
3023!!# {
3024!!# IJ_printf("diag.j", 1004, th0, "DS_%d:\n", label); label++;
3025!!# IJ_generate_from_token("diag.j", 1005,1, th0, ijdefault, tBN, tBNE, tBE, tBG, -1);;
3026!!# if (! label%3) {
3027!!# IJ_generate_from_token("diag.j", 1007,1, th0, ijdefault,tFDIVd, tPOPC_I, -1);;
3028!!# } else if (label%3 == 1) {
3029!!# IJ_printf("diag.j", 1009, th0, "\tallclean\n");
3030!!# } else {
3031!!# IJ_printf("diag.j", 1011, th0, "\tpdist %%f%rd, %%f%rd, %%f%rd\n", Rv_pdist_reg, Rv_pdist_reg, Rv_pdist_reg);
3032!!# }
3033!!# }
3034!!# | tFADDs
3035!!# {
3036!!# IJ_printf("diag.j", 1016, th0, "DS_%d:\n", label); label++;
3037!!# IJ_generate_from_token("diag.j", 1017,1, th0, ijdefault, tBN, tBNE, tBE, tBG, -1);;
3038!!# if (label%2) {
3039!!# IJ_printf("diag.j", 1019, th0, "\tilltrap\n");
3040!!# } else {
3041!!# IJ_generate_from_token("diag.j", 1021,1, th0, ijdefault, tBN, tBNE, tBE, tBG, -1);;
3042!!# }
3043!!# IJ_generate_from_token("diag.j", 1023,1, th0, ijdefault, tFSQRTd, tLDQF_R, -1);;
3044!!# }
3045!!#
3046!!# ;
3047!!#
3048!!# br_longdelay : tSAVE_R %ropr Ro_save_restore
3049!!# {
3050!!# IJ_printf("diag.j", 1030, th0, "DS_%d:\n", label); label++;
3051!!# IJ_generate_from_token("diag.j", 1031,1, th0, ijdefault, tBN, tBNE, tBE, tBG, -1);;
3052!!# }
3053!!# | tRESTORE_R %ropr Ro_save_restore
3054!!# {
3055!!# IJ_printf("diag.j", 1035, th0, "DS_%d:\n", label); label++;
3056!!# IJ_generate_from_token("diag.j", 1036,1, th0, ijdefault, tBN, tBNE, tBE, tBG, -1);;
3057!!# }
3058!!# | tWRPR_CLEANWIN_I %ropr Ro_winops | tWRPR_WSTATE_I %ropr Ro_winops
3059!!# {
3060!!# IJ_printf("diag.j", 1040, th0, "DS_%d:\n", label); label++;
3061!!# IJ_printf("diag.j", 1041, th0, "\tnop\n\tnot %%g0, %%g2\n");
3062!!# IJ_printf("diag.j", 1042, th0, "\tjmp %%g2\n");
3063!!# }
3064!!# ;
3065!!#
3066!!#
3067!!#
3068!!#
3069!!# %%
3070!!# %%section cbfunc
3071!!#
3072!!# %%
3073!!# %%section stat
3074!!#
3075!!# %%
3076#endif
3077