Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / verif / diag / assembly / uarch / tlu / diag / tlu_rand04_ind_02.s
CommitLineData
86530b38
AT
1/*
2* ========== Copyright Header Begin ==========================================
3*
4* OpenSPARC T2 Processor File: tlu_rand04_ind_02.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#define MAIN_PAGE_VA_IS_RA_ALSO
45
46!!!!!!!!!!!!!!!!!!!!!!!!!
47!! Disable trap checking
48#define NO_TRAPCHECK
49
50! Enable Traps
51#define ENABLE_T1_Privileged_Opcode_0x11
52#define ENABLE_T1_Fp_Disabled_0x20
53#define ENABLE_HT0_Watchdog_Reset_0x02
54
55#define FILL_TRAP_RETRY
56#define SPILL_TRAP_RETRY
57#define CLEAN_WIN_RETRY
58
59#define My_RED_Mode_Other_Reset
60#define My_RED_Mode_Other_Reset \
61 ba red_other_ext;\
62 nop;retry;nop;nop;nop;nop;nop
63
64#define H_T1_Clean_Window_0x24
65#define SUN_H_T1_Clean_Window_0x24 \
66 rdpr %cleanwin, %g1;\
67 add %g1,1,%g1;\
68 wrpr %g1, %g0, %cleanwin;\
69 retry; nop; nop; nop; nop
70
71#define H_T1_Clean_Window_0x25
72#define SUN_H_T1_Clean_Window_0x25 \
73 rdpr %cleanwin, %g1;\
74 add %g1,1,%g1;\
75 wrpr %g1, %g0, %cleanwin;\
76 retry; nop; nop; nop; nop
77
78#define H_T1_Clean_Window_0x26
79#define SUN_H_T1_Clean_Window_0x26 \
80 rdpr %cleanwin, %g1;\
81 add %g1,1,%g1;\
82 wrpr %g1, %g0, %cleanwin;\
83 retry; nop; nop; nop; nop
84
85#define H_T1_Clean_Window_0x27
86#define SUN_H_T1_Clean_Window_0x27 \
87 rdpr %cleanwin, %g1;\
88 add %g1,1,%g1;\
89 wrpr %g1, %g0, %cleanwin;\
90 retry; nop; nop; nop; nop
91
92#define H_T0_Window_Fill_0_Other_Trap
93#define SUN_H_T0_Window_Fill_0_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
94
95#define H_T0_Window_Fill_1_Other_Trap
96#define SUN_H_T0_Window_Fill_1_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
97
98#define H_T0_Window_Fill_2_Other_Trap
99#define SUN_H_T0_Window_Fill_2_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
100
101#define H_T0_Window_Fill_3_Other_Trap
102#define SUN_H_T0_Window_Fill_3_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
103
104#define H_T0_Window_Fill_4_Other_Trap
105#define SUN_H_T0_Window_Fill_4_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
106
107#define H_T0_Window_Fill_5_Other_Trap
108#define SUN_H_T0_Window_Fill_5_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
109
110#define H_T0_Window_Fill_6_Other_Trap
111#define SUN_H_T0_Window_Fill_6_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
112
113#define H_T0_Window_Fill_7_Other_Trap
114#define SUN_H_T0_Window_Fill_7_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
115
116#define H_T1_Window_Spill_0_Normal_0x80
117#define SUN_H_T1_Window_Spill_0_Normal_0x80 saved; retry; nop;nop;nop;nop;nop;nop;
118
119#define H_T1_Window_Spill_1_Normal_0x84
120#define SUN_H_T1_Window_Spill_1_Normal_0x84 saved; retry; nop;nop;nop;nop;nop;nop;
121
122#define H_T1_Window_Spill_2_Normal_0x88
123#define SUN_H_T1_Window_Spill_2_Normal_0x88 saved; retry; nop;nop;nop;nop;nop;nop;
124
125#define H_T1_Window_Spill_3_Normal_0x8c
126#define SUN_H_T1_Window_Spill_3_Normal_0x8c saved; retry; nop;nop;nop;nop;nop;nop;
127
128#define H_T1_Window_Spill_4_Normal_0x90
129#define SUN_H_T1_Window_Spill_4_Normal_0x90 saved; retry; nop;nop;nop;nop;nop;nop;
130
131#define H_T1_Window_Spill_5_Normal_0x94
132#define SUN_H_T1_Window_Spill_5_Normal_0x94 saved; retry; nop;nop;nop;nop;nop;nop;
133
134#define H_T1_Window_Spill_6_Normal_0x98
135#define SUN_H_T1_Window_Spill_6_Normal_0x98 saved; retry; nop;nop;nop;nop;nop;nop;
136
137#define H_T1_Window_Spill_7_Normal_0x9c
138#define SUN_H_T1_Window_Spill_7_Normal_0x9c saved; retry; nop;nop;nop;nop;nop;nop;
139
140#define H_T1_Window_Spill_0_Other_0xa0
141#define SUN_H_T1_Window_Spill_0_Other_0xa0 saved; retry; nop;nop;nop;nop;nop;nop;
142
143#define H_T1_Window_Spill_1_Other_0xa4
144#define SUN_H_T1_Window_Spill_1_Other_0xa4 saved; retry; nop;nop;nop;nop;nop;nop;
145
146#define H_T1_Window_Spill_2_Other_0xa8
147#define SUN_H_T1_Window_Spill_2_Other_0xa8 saved; retry; nop;nop;nop;nop;nop;nop;
148
149#define H_T1_Window_Spill_3_Other_0xac
150#define SUN_H_T1_Window_Spill_3_Other_0xac saved; retry; nop;nop;nop;nop;nop;nop;
151
152#define H_T1_Window_Spill_4_Other_0xb0
153#define SUN_H_T1_Window_Spill_4_Other_0xb0 saved; retry; nop;nop;nop;nop;nop;nop;
154
155#define H_T1_Window_Spill_5_Other_0xb4
156#define SUN_H_T1_Window_Spill_5_Other_0xb4 saved; retry; nop;nop;nop;nop;nop;nop;
157
158#define H_T1_Window_Spill_6_Other_0xb8
159#define SUN_H_T1_Window_Spill_6_Other_0xb8 saved; retry; nop;nop;nop;nop;nop;nop;
160
161#define H_T1_Window_Spill_7_Other_0xbc
162#define SUN_H_T1_Window_Spill_7_Other_0xbc saved; retry; nop;nop;nop;nop;nop;nop;
163
164#define H_T1_Window_Fill_0_Normal_0xc0
165#define SUN_H_T1_Window_Fill_0_Normal_0xc0 restored; retry; nop;nop;nop;nop;nop;nop;
166
167#define H_T1_Window_Fill_1_Normal_0xc4
168#define SUN_H_T1_Window_Fill_1_Normal_0xc4 restored; retry; nop;nop;nop;nop;nop;nop;
169
170#define H_T1_Window_Fill_2_Normal_0xc8
171#define SUN_H_T1_Window_Fill_2_Normal_0xc8 restored; retry; nop;nop;nop;nop;nop;nop;
172
173#define H_T1_Window_Fill_3_Normal_0xcc
174#define SUN_H_T1_Window_Fill_3_Normal_0xcc restored; retry; nop;nop;nop;nop;nop;nop;
175
176#define H_T1_Window_Fill_4_Normal_0xd0
177#define SUN_H_T1_Window_Fill_4_Normal_0xd0 restored; retry; nop;nop;nop;nop;nop;nop;
178
179#define H_T1_Window_Fill_5_Normal_0xd4
180#define SUN_H_T1_Window_Fill_5_Normal_0xd4 restored; retry; nop;nop;nop;nop;nop;nop;
181
182#define H_T1_Window_Fill_6_Normal_0xd8
183#define SUN_H_T1_Window_Fill_6_Normal_0xd8 restored; retry; nop;nop;nop;nop;nop;nop;
184
185#define H_T1_Window_Fill_7_Normal_0xdc
186#define SUN_H_T1_Window_Fill_7_Normal_0xdc restored; retry; nop;nop;nop;nop;nop;nop;
187
188#define H_T1_Window_Fill_0_Other_0xe0
189#define SUN_H_T1_Window_Fill_0_Other_0xe0 restored; retry; nop;nop;nop;nop;nop;nop;
190
191#define H_T1_Window_Fill_1_Other_0xe4
192#define SUN_H_T1_Window_Fill_1_Other_0xe4 restored; retry; nop;nop;nop;nop;nop;nop;
193
194#define H_T1_Window_Fill_2_Other_0xe8
195#define SUN_H_T1_Window_Fill_2_Other_0xe8 restored; retry; nop;nop;nop;nop;nop;nop;
196
197#define H_T1_Window_Fill_3_Other_0xec
198#define SUN_H_T1_Window_Fill_3_Other_0xec restored; retry; nop;nop;nop;nop;nop;nop;
199
200#define H_T1_Window_Fill_4_Other_0xf0
201#define SUN_H_T1_Window_Fill_4_Other_0xf0 restored; retry; nop;nop;nop;nop;nop;nop;
202
203#define H_T1_Window_Fill_5_Other_0xf4
204#define SUN_H_T1_Window_Fill_5_Other_0xf4 restored; retry; nop;nop;nop;nop;nop;nop;
205
206#define H_T1_Window_Fill_6_Other_0xf8
207#define SUN_H_T1_Window_Fill_6_Other_0xf8 restored; retry; nop;nop;nop;nop;nop;nop;
208
209#define H_T1_Window_Fill_7_Other_0xfc
210#define SUN_H_T1_Window_Fill_7_Other_0xfc restored; retry; nop;nop;nop;nop;nop;nop;
211
212#define H_T0_Trap_Instruction_0
213#define My_T0_Trap_Instruction_0 \
214 rdpr %tnpc, %g2; \
215 save %i7, %g0, %i7; \
216 wrpr %g2, %tpc; \
217 add %g2, 4, %g2;\
218 wrpr %g2, %tnpc; \
219 restore %i7, %g0, %i7; \
220 stw %g2, [%i7];\
221 retry
222#define H_T0_Trap_Instruction_1
223#define My_T0_Trap_Instruction_1 \
224 umul %o4, 2, %o5;\
225 rdpr %tnpc, %g2; \
226 wrpr %g2, %tpc; \
227 add %g2, 4, %g2;\
228 wrpr %g2, %tnpc; \
229 stw %g2, [%i7];\
230 illtrap;\
231 retry
232#define H_T0_Trap_Instruction_2
233#define My_T0_Trap_Instruction_2 \
234 inc %o3;\
235 umul %o3, 2, %o4;\
236 ba 1f; \
237 save %i7, %g0, %i7; \
238 2: done; \
239 nop; \
240 1: ba 2b; \
241 restore %i7, %g0, %i7
242#define H_T0_Trap_Instruction_3
243#define My_T0_Trap_Instruction_3 \
244 inc %l3;\
245 inc %o3;\
246 umul %o3, 2, %o4;\
247 stw %o4, [%i7];\
248 save %i7, %g0, %i7 ;\
249 restore %i7, %g0, %i7 ;\
250 done ;\
251 nop;
252#define H_T0_Trap_Instruction_4
253#define My_T0_Trap_Instruction_4 \
254 umul %i4, 2, %l5;\
255 inc %o1;\
256 rdpr %tnpc, %g2; \
257 wrpr %g2, %tpc; \
258 add %g2, 4, %g2;\
259 wrpr %g2, %tnpc; \
260 retry ;\
261 illtrap
262#define H_T0_Trap_Instruction_5
263#define My_T0_Trap_Instruction_5 \
264 umul %i7, 2, %l1;\
265 inc %o5;\
266 rdpr %tnpc, %g2; \
267 wrpr %g2, %tpc; \
268 add %g2, 4, %g2;\
269 wrpr %g2, %tnpc; \
270 sdiv %r2, %r10, %r0; \
271 retry
272
273#define H_T1_Trap_Instruction_0
274#define My_T1_Trap_Instruction_0 \
275 inc %o4;\
276 umul %o4, 2, %o5;\
277 ba 3f; \
278 save %i7, %g0, %i7; \
279 4: done; \
280 nop; \
281 3: ba 4b; \
282 restore %i7, %g0, %i7
283#define H_T1_Trap_Instruction_1
284#define My_T1_Trap_Instruction_1 \
285 umul %o4, 2, %o5;\
286 rdpr %tnpc, %g2; \
287 wrpr %g2, %tpc; \
288 add %g2, 4, %g2;\
289 stw %g2, [%i7];\
290 wrpr %g2, %tnpc; \
291 restore %i7, %g0, %i7 ;;\
292 retry
293#define H_T1_Trap_Instruction_2
294#define My_T1_Trap_Instruction_2 \
295 inc %o3;\
296 umul %o3, 2, %o4;\
297 ba 5f; \
298 save %i7, %g0, %i7; \
299 6: done; \
300 nop; \
301 5: ba 6b; \
302 restore %i7, %g0, %i7
303#define H_T1_Trap_Instruction_3
304#define My_T1_Trap_Instruction_3 \
305 inc %l3;\
306 inc %o3;\
307 umul %o3, 2, %o4;\
308 inc %i3;\
309 save %i7, %g0, %i7 ;\
310 restore %i7, %g0, %i7 ;\
311 done ;\
312 nop;
313#define H_T1_Trap_Instruction_4
314#define My_T1_Trap_Instruction_4 \
315 umul %i4, 2, %l5;\
316 rdpr %tnpc, %g2; \
317 wrpr %g2, %tpc; \
318 stw %g2, [%i7];\
319 add %g2, 4, %g2;\
320 wrpr %g2, %tnpc; \
321 retry ;\
322 illtrap
323#define H_T1_Trap_Instruction_5
324#define My_T1_Trap_Instruction_5 \
325 umul %i7, 2, %l1;\
326 inc %o5;\
327 rdpr %tnpc, %g2; \
328 wrpr %g2, %tpc; \
329 add %g2, 4, %g2;\
330 wrpr %g2, %tnpc; \
331 sdiv %r2, %r10, %r0; \
332 retry
333
334#define H_HT0_Trap_Instruction_0
335#define My_HT0_Trap_Instruction_0 \
336 rd %asi, %g2;\
337 mov 8, %g3;\
338 stxa %g3, [%g0] 0x57;\
339 stw %g2, [%i7];\
340 done;\
341 nop;nop;nop
342
343#define H_HT0_Trap_Instruction_1
344#define My_HT0_Trap_Instruction_1 \
345 rd %asi, %g2;\
346 mov 8, %g3;\
347 stxa %g3, [%g0] 0x5f;\
348 done;\
349 nop;nop;nop;nop
350#define H_HT0_Trap_Instruction_2
351#define My_HT0_Trap_Instruction_2 \
352 umul %i6, 2, %l4;\
353 stw %l4, [%i7];\
354 rdpr %tnpc, %g2; \
355 wrpr %g2, %tpc; \
356 add %g2, 4, %g2;\
357 wrpr %g2, %tnpc; \
358 sdiv %r2, %r0, %r0; \
359 retry
360#define H_HT0_Trap_Instruction_3
361#define My_HT0_Trap_Instruction_3 \
362 umul %i5, 3, %l3;\
363 inc %o6;\
364 illtrap ;\
365 rdpr %tnpc, %g2; \
366 wrpr %g2, %tpc; \
367 add %g2, 4, %g2;\
368 wrpr %g2, %tnpc; \
369 retry
370#define H_HT0_Trap_Instruction_4
371#define My_HT0_Trap_Instruction_4 \
372 rdpr %tnpc, %g2; \
373 save %i7, %g0, %i7; \
374 wrpr %g2, %tpc; \
375 add %g2, 4, %g2;\
376 stw %g2, [%i7];\
377 wrpr %g2, %tnpc; \
378 restore %i7, %g0, %i7 ;\
379 retry
380#define H_HT0_Trap_Instruction_5
381#define My_HT0_Trap_Instruction_5 \
382 ba htrap_5_ext;\
383 nop; retry;\
384 nop; nop; nop; nop; nop
385
386#define H_HT0_Mem_Address_Not_Aligned_0x34
387#define My_HT0_Mem_Address_Not_Aligned_0x34 \
388 umul %i7, 4, %g1;\
389 inc %o6;\
390 umul %i4, 3, %l3;\
391 inc %g6;\
392 save %i7, %g0, %i7 ;\
393 restore %i7, %g0, %i7 ;\
394 done ;\
395 nop;
396#define H_HT0_Illegal_instruction_0x10
397#define My_HT0_Illegal_instruction_0x10 \
398 umul %i0, 4, %g1;\
399 inc %o6;\
400 ba 7f; \
401 rdhpr %htstate, %g3;\
402 8: done; \
403 7: ba 8b;\
404 wrhpr %g3, 1, %htstate;nop
405
406#define H_HT0_DAE_so_page_0x30
407#define My_HT0_DAE_so_page_0x30 \
408 umul %i5, 4, %g5;\
409 inc %g6;\
410 save %i7, %g0, %i7; \
411 restore %i7, %g0, %i7;\
412 rd %fprs, %g2; \
413 wr %g2, 0x4, %fprs ;\
414 done; \
415 nop;
416#define H_HT0_DAE_invalid_asi_0x14
417#define SUN_H_HT0_DAE_invalid_asi_0x14 \
418 umul %i5, 4, %g5;\
419 inc %g6;\
420 save %i7, %g0, %i7; \
421 restore %i7, %g0, %i7;\
422 rd %fprs, %g2; \
423 wr %g2, 0x4, %fprs ;\
424 done; \
425 nop;
426#define H_HT0_DAE_privilege_violation_0x15
427#define SUN_H_HT0_DAE_privilege_violation_0x15 \
428 umul %i5, 4, %g5;\
429 inc %g6;\
430 save %i7, %g0, %i7; \
431 restore %i7, %g0, %i7;\
432 rd %fprs, %g2; \
433 wr %g2, 0x4, %fprs ;\
434 done; \
435 nop;
436#define H_HT0_Privileged_Action_0x37
437#define My_HT0_Privileged_Action_0x37 \
438 inc %l5;\
439 dec %g3;\
440 umul %i5, 4, %g5;\
441 save %i7, %g0, %i7; \
442 restore %i7, %g0, %i7;\
443 done; \
444 nop; nop
445#define H_HT0_Lddf_Mem_Address_Not_Aligned_0x35
446#define My_HT0_Lddf_Mem_Address_Not_Aligned_0x35 \
447 inc %l5;\
448 dec %g3;\
449 rdpr %tpc, %g2; \
450 add %g2, 0x4, %g2; \
451 wrpr %g2, %tpc; \
452 add %g2, 0x4, %g2; \
453 wrpr %g2, %tnpc; \
454 retry
455#define H_HT0_Stdf_Mem_Address_Not_Aligned_0x36
456#define My_HT0_Stdf_Mem_Address_Not_Aligned_0x36 \
457 inc %l5;\
458 dec %g3;\
459 rdpr %tpc, %g2; \
460 add %g2, 0x4, %g2; \
461 wrpr %g2, %tpc; \
462 add %g2, 0x4, %g2; \
463 wrpr %g2, %tnpc; \
464 retry
465#define H_HT0_Fp_exception_other_0x22
466#define My_HT0_Fp_exception_other_0x22 \
467 inc %l6;\
468 dec %g5;\
469 umul %i5, 4, %g2;\
470 save %i7, %g0, %i7; \
471 restore %i7, %g0, %i7;\
472 stw %g2, [%i7];\
473 done; \
474 nop
475#define H_HT0_Division_By_Zero
476#define My_HT0_Division_By_Zero \
477 inc %l6;\
478 dec %g5;\
479 umul %i5, 4, %g2;\
480 save %i7, %g0, %i7; \
481 restore %i7, %g0, %i7;\
482 done; \
483 nop; nop
484#define H_T0_Division_By_Zero
485#define My_T0_Division_By_Zero \
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_Division_By_Zero_0x28
494#define My_H_T1_Division_By_Zero_0x28 \
495 inc %l6;\
496 dec %g5;\
497 umul %i5, 4, %g2;\
498 save %i7, %g0, %i7; \
499 restore %i7, %g0, %i7;\
500 done; \
501 nop; nop
502
503#define H_T0_Division_By_Zero
504#define My_T0_Division_By_Zero\
505 inc %l6;\
506 dec %g5;\
507 umul %i5, 4, %g2;\
508 save %i7, %g0, %i7; \
509 restore %i7, %g0, %i7;\
510 done; \
511 nop; nop
512
513#define H_T1_Fp_Exception_Other_0x22
514#define My_H_T1_Fp_Exception_Other_0x22 \
515 inc %l6;\
516 dec %g5;\
517 umul %i5, 4, %g2;\
518 save %i7, %g0, %i7; \
519 restore %i7, %g0, %i7;\
520 done; \
521 nop; nop
522#define H_T1_Privileged_Opcode_0x11
523#define SUN_H_T1_Privileged_Opcode_0x11 \
524 inc %l6;\
525 dec %g5;\
526 stw %g5, [%i7];\
527 umul %i5, 4, %g2;\
528 restore %i7, %g0, %i7;\
529 save %i7, %g0, %i7; \
530 done; \
531 nop;
532
533#define H_HT0_Privileged_opcode_0x11
534#define My_HT0_Privileged_opcode_0x11 \
535 xor %i0, %l1, %g1;\
536 and %g1, 0xf, %g1; \
537 ba hh11_1; \
538 not %g0, %g2; \
539 hh11_2: done; \
540 hh11_1: xor %g1, %g2, %g2; \
541 ba hh11_2; \
542 jmp %g2;
543
544#define H_HT0_Fp_disabled_0x20
545#define My_HT0_Fp_disabled_0x20 \
546 mov 0x4, %g2 ;\
547 wr %g2, 0x0, %fprs ;\
548 sllx %g2, 10, %g3; \
549 rdpr %tstate, %g2;\
550 or %g2, %g3, %g2 ;\
551 stw %g2, [%i7];\
552 wrpr %g2, 0x0, %tstate;\
553 retry;
554
555#define H_T0_Fp_disabled_0x20
556#define My_T0_Fp_disabled_0x20 \
557 mov 0x4, %g2 ;\
558 wr %g2, 0x0, %fprs ;\
559 sllx %g2, 10, %g3; \
560 rdpr %tstate, %g2;\
561 or %g2, %g3, %g2 ;\
562 wrpr %g2, 0x0, %tstate;\
563 retry; nop
564
565#define H_T1_Fp_Disabled_0x20
566#define My_H_T1_Fp_Disabled_0x20 \
567 mov 0x4, %g2 ;\
568 wr %g2, 0x0, %fprs ;\
569 sllx %g2, 10, %g3; \
570 rdpr %tstate, %g2;\
571 or %g2, %g3, %g2 ;\
572 wrpr %g2, 0x0, %tstate;\
573 stw %g2, [%i7];\
574 retry
575
576#define H_HT0_Watchdog_Reset_0x02
577#define My_HT0_Watchdog_Reset_0x02 \
578 ba wdog_2_ext;\
579 nop;retry;nop;nop;nop;nop;nop
580
581#define H_T0_Privileged_opcode_0x11
582#define My_T0_Privileged_opcode_0x11 \
583 xor %i0, %l1, %g1;\
584 and %g1, 0xf, %g1; \
585 ba h11_1; \
586 not %g0, %g2; \
587 h11_2: done; \
588 h11_1: xor %g1, %g2, %g2; \
589 ba h11_2; \
590 jmp %g2;
591
592#define H_T1_Fp_exception_other_0x22
593#define My_T1_Fp_exception_other_0x22 \
594 inc %l6;\
595 dec %g5;\
596 umul %i5, 4, %g2;\
597 restore %i7, %g0, %i7 ; \
598 save %i7, %g0, %i7; \
599 restore %i7, %g0, %i7;\
600 ldx [%g2], %g2;\
601 done;
602
603#define H_T0_Fp_exception_other_0x22
604#define My_T0_Fp_exception_other_0x22 \
605 inc %l6;\
606 dec %g5;\
607 umul %i5, 4, %g2;\
608 save %i7, %g0, %i7; \
609 restore %i7, %g0, %i7;\
610 stw %g2, [%i7];\
611 done; \
612 nop
613
614#define H_HT0_Trap_Level_Zero_0x5f
615#define My_HT0_Trap_Level_Zero_0x5f \
616 not %g0, %g2; \
617 rdhpr %hpstate, %g3;\
618 jmp %g2;\
619 rdhpr %htstate, %g3;\
620 and %g3, 0xfe, %g3;\
621 wrhpr %g3, 0, %htstate;\
622 stw %g2, [%i7];\
623 retry
624
625#define My_Watchdog_Reset
626#define My_Watchdog_Reset \
627 ba wdog_red_ext;\
628 nop;retry;nop;nop;nop;nop;nop
629
630
631#define H_HT0_Instruction_address_range_0x0d
632#define SUN_H_HT0_Instruction_address_range_0x0d \
633 done;nop
634
635#define H_HT0_mem_address_range_0x2e
636#define SUN_H_HT0_mem_address_range_0x2e \
637 done;nop
638
639
640!!!!!!!!!!!!!!!!!!!!!! END of all handlers !!!!!!!!!!!!!!!!!!!
641
642#include "hboot.s"
643.text
644.global main
645main:
646
647 ! Set up ld/st area per thread
648 ta T_RD_THID ! Result in %o1 = r9
649 umul %r9, 256, %r31
650 setx user_data_start, %r1, %r3
651 add %r31, %r3, %r31
652 wr %r0, 0x4, %asi
653
654!Initializing integer registers
655 ldx [%r31+0], %r0
656 ldx [%r31+8], %r1
657 ldx [%r31+16], %r2
658 ldx [%r31+24], %r3
659 ldx [%r31+32], %r4
660 ldx [%r31+40], %r5
661 ldx [%r31+48], %r6
662 ldx [%r31+56], %r7
663 ldx [%r31+64], %r8
664 ldx [%r31+72], %r9
665 ldx [%r31+80], %r10
666 ldx [%r31+88], %r11
667 ldx [%r31+96], %r12
668 ldx [%r31+104], %r13
669 ldx [%r31+112], %r14
670 mov %r31, %r15
671 ldx [%r31+128], %r16
672 ldx [%r31+136], %r17
673 ldx [%r31+144], %r18
674 ldx [%r31+152], %r19
675 ldx [%r31+160], %r20
676 ldx [%r31+168], %r21
677 ldx [%r31+176], %r22
678 ldx [%r31+184], %r23
679 ldx [%r31+192], %r24
680 ldx [%r31+200], %r25
681 ldx [%r31+208], %r26
682 ldx [%r31+216], %r27
683 ldx [%r31+224], %r28
684 ldx [%r31+232], %r29
685 mov 0x31, %r14
686 mov 0xb4, %r30
687 save %r31, %r0, %r31
688 ldx [%r31+0], %r0
689 ldx [%r31+8], %r1
690 ldx [%r31+16], %r2
691 ldx [%r31+24], %r3
692 ldx [%r31+32], %r4
693 ldx [%r31+40], %r5
694 ldx [%r31+48], %r6
695 ldx [%r31+56], %r7
696 ldx [%r31+64], %r8
697 ldx [%r31+72], %r9
698 ldx [%r31+80], %r10
699 ldx [%r31+88], %r11
700 ldx [%r31+96], %r12
701 ldx [%r31+104], %r13
702 ldx [%r31+112], %r14
703 mov %r31, %r15
704 ldx [%r31+128], %r16
705 ldx [%r31+136], %r17
706 ldx [%r31+144], %r18
707 ldx [%r31+152], %r19
708 ldx [%r31+160], %r20
709 ldx [%r31+168], %r21
710 ldx [%r31+176], %r22
711 ldx [%r31+184], %r23
712 ldx [%r31+192], %r24
713 ldx [%r31+200], %r25
714 ldx [%r31+208], %r26
715 ldx [%r31+216], %r27
716 ldx [%r31+224], %r28
717 ldx [%r31+232], %r29
718 mov 0x34, %r14
719 mov 0xb5, %r30
720 save %r31, %r0, %r31
721 ldx [%r31+0], %r0
722 ldx [%r31+8], %r1
723 ldx [%r31+16], %r2
724 ldx [%r31+24], %r3
725 ldx [%r31+32], %r4
726 ldx [%r31+40], %r5
727 ldx [%r31+48], %r6
728 ldx [%r31+56], %r7
729 ldx [%r31+64], %r8
730 ldx [%r31+72], %r9
731 ldx [%r31+80], %r10
732 ldx [%r31+88], %r11
733 ldx [%r31+96], %r12
734 ldx [%r31+104], %r13
735 ldx [%r31+112], %r14
736 mov %r31, %r15
737 ldx [%r31+128], %r16
738 ldx [%r31+136], %r17
739 ldx [%r31+144], %r18
740 ldx [%r31+152], %r19
741 ldx [%r31+160], %r20
742 ldx [%r31+168], %r21
743 ldx [%r31+176], %r22
744 ldx [%r31+184], %r23
745 ldx [%r31+192], %r24
746 ldx [%r31+200], %r25
747 ldx [%r31+208], %r26
748 ldx [%r31+216], %r27
749 ldx [%r31+224], %r28
750 ldx [%r31+232], %r29
751 mov 0x30, %r14
752 mov 0x35, %r30
753 save %r31, %r0, %r31
754 ldx [%r31+0], %r0
755 ldx [%r31+8], %r1
756 ldx [%r31+16], %r2
757 ldx [%r31+24], %r3
758 ldx [%r31+32], %r4
759 ldx [%r31+40], %r5
760 ldx [%r31+48], %r6
761 ldx [%r31+56], %r7
762 ldx [%r31+64], %r8
763 ldx [%r31+72], %r9
764 ldx [%r31+80], %r10
765 ldx [%r31+88], %r11
766 ldx [%r31+96], %r12
767 ldx [%r31+104], %r13
768 ldx [%r31+112], %r14
769 mov %r31, %r15
770 ldx [%r31+128], %r16
771 ldx [%r31+136], %r17
772 ldx [%r31+144], %r18
773 ldx [%r31+152], %r19
774 ldx [%r31+160], %r20
775 ldx [%r31+168], %r21
776 ldx [%r31+176], %r22
777 ldx [%r31+184], %r23
778 ldx [%r31+192], %r24
779 ldx [%r31+200], %r25
780 ldx [%r31+208], %r26
781 ldx [%r31+216], %r27
782 ldx [%r31+224], %r28
783 ldx [%r31+232], %r29
784 mov 0x30, %r14
785 mov 0x30, %r30
786 save %r31, %r0, %r31
787 ldx [%r31+0], %r0
788 ldx [%r31+8], %r1
789 ldx [%r31+16], %r2
790 ldx [%r31+24], %r3
791 ldx [%r31+32], %r4
792 ldx [%r31+40], %r5
793 ldx [%r31+48], %r6
794 ldx [%r31+56], %r7
795 ldx [%r31+64], %r8
796 ldx [%r31+72], %r9
797 ldx [%r31+80], %r10
798 ldx [%r31+88], %r11
799 ldx [%r31+96], %r12
800 ldx [%r31+104], %r13
801 ldx [%r31+112], %r14
802 mov %r31, %r15
803 ldx [%r31+128], %r16
804 ldx [%r31+136], %r17
805 ldx [%r31+144], %r18
806 ldx [%r31+152], %r19
807 ldx [%r31+160], %r20
808 ldx [%r31+168], %r21
809 ldx [%r31+176], %r22
810 ldx [%r31+184], %r23
811 ldx [%r31+192], %r24
812 ldx [%r31+200], %r25
813 ldx [%r31+208], %r26
814 ldx [%r31+216], %r27
815 ldx [%r31+224], %r28
816 ldx [%r31+232], %r29
817 mov 0x31, %r14
818 mov 0xb3, %r30
819 save %r31, %r0, %r31
820 ldx [%r31+0], %r0
821 ldx [%r31+8], %r1
822 ldx [%r31+16], %r2
823 ldx [%r31+24], %r3
824 ldx [%r31+32], %r4
825 ldx [%r31+40], %r5
826 ldx [%r31+48], %r6
827 ldx [%r31+56], %r7
828 ldx [%r31+64], %r8
829 ldx [%r31+72], %r9
830 ldx [%r31+80], %r10
831 ldx [%r31+88], %r11
832 ldx [%r31+96], %r12
833 ldx [%r31+104], %r13
834 ldx [%r31+112], %r14
835 mov %r31, %r15
836 ldx [%r31+128], %r16
837 ldx [%r31+136], %r17
838 ldx [%r31+144], %r18
839 ldx [%r31+152], %r19
840 ldx [%r31+160], %r20
841 ldx [%r31+168], %r21
842 ldx [%r31+176], %r22
843 ldx [%r31+184], %r23
844 ldx [%r31+192], %r24
845 ldx [%r31+200], %r25
846 ldx [%r31+208], %r26
847 ldx [%r31+216], %r27
848 ldx [%r31+224], %r28
849 ldx [%r31+232], %r29
850 mov 0x31, %r14
851 mov 0x35, %r30
852 save %r31, %r0, %r31
853 ldx [%r31+0], %r0
854 ldx [%r31+8], %r1
855 ldx [%r31+16], %r2
856 ldx [%r31+24], %r3
857 ldx [%r31+32], %r4
858 ldx [%r31+40], %r5
859 ldx [%r31+48], %r6
860 ldx [%r31+56], %r7
861 ldx [%r31+64], %r8
862 ldx [%r31+72], %r9
863 ldx [%r31+80], %r10
864 ldx [%r31+88], %r11
865 ldx [%r31+96], %r12
866 ldx [%r31+104], %r13
867 ldx [%r31+112], %r14
868 mov %r31, %r15
869 ldx [%r31+128], %r16
870 ldx [%r31+136], %r17
871 ldx [%r31+144], %r18
872 ldx [%r31+152], %r19
873 ldx [%r31+160], %r20
874 ldx [%r31+168], %r21
875 ldx [%r31+176], %r22
876 ldx [%r31+184], %r23
877 ldx [%r31+192], %r24
878 ldx [%r31+200], %r25
879 ldx [%r31+208], %r26
880 ldx [%r31+216], %r27
881 ldx [%r31+224], %r28
882 ldx [%r31+232], %r29
883 mov 0xb2, %r14
884 mov 0x34, %r30
885 save %r31, %r0, %r31
886 restore
887 restore
888 restore
889!Initializing float registers
890 ldd [%r31+0], %f0
891 ldd [%r31+16], %f2
892 ldd [%r31+32], %f4
893 ldd [%r31+48], %f6
894 ldd [%r31+64], %f8
895 ldd [%r31+80], %f10
896 ldd [%r31+96], %f12
897 ldd [%r31+112], %f14
898 ldd [%r31+128], %f16
899 ldd [%r31+144], %f18
900 ldd [%r31+160], %f20
901 ldd [%r31+176], %f22
902 ldd [%r31+192], %f24
903 ldd [%r31+208], %f26
904 ldd [%r31+224], %f28
905 ldd [%r31+240], %f30
906 ta T_CHANGE_HPRIV
907!Initializing Tick Cmprs
908 mov 1, %g2
909 sllx %g2, 63, %g2
910 or %g1, %g2, %g1
911 wrhpr %g1, %g0, %hsys_tick_cmpr
912 wr %g1, %g0, %tick_cmpr
913 wr %g1, %g0, %sys_tick_cmpr
914!Initializing Trap Stack
915 wrpr 0x1, %tl
916 wrpr 0x1, %tt
917 wrpr 0x1, %tpc
918 wrpr 0x1, %tnpc
919 wrpr 0x1, %tstate
920 wrhpr 0x1, %htstate
921 wrpr 0x2, %tl
922 wrpr 0x1, %tt
923 wrpr 0x1, %tpc
924 wrpr 0x1, %tnpc
925 wrpr 0x1, %tstate
926 wrhpr 0x1, %htstate
927 wrpr 0x3, %tl
928 wrpr 0x1, %tt
929 wrpr 0x1, %tpc
930 wrpr 0x1, %tnpc
931 wrpr 0x1, %tstate
932 wrhpr 0x1, %htstate
933 wrpr 0x4, %tl
934 wrpr 0x1, %tt
935 wrpr 0x1, %tpc
936 wrpr 0x1, %tnpc
937 wrpr 0x1, %tstate
938 wrhpr 0x1, %htstate
939 wrpr 0x5, %tl
940 wrpr 0x1, %tt
941 wrpr 0x1, %tpc
942 wrpr 0x1, %tnpc
943 wrpr 0x1, %tstate
944 wrhpr 0x1, %htstate
945 wrpr 0x6, %tl
946 wrpr 0x1, %tt
947 wrpr 0x1, %tpc
948 wrpr 0x1, %tnpc
949 wrpr 0x1, %tstate
950 wrhpr 0x1, %htstate
951 wrpr 0x0, %tl
952 ta T_CHANGE_NONHPRIV
953 .word 0x8198295e ! 1: WRHPR_HPSTATE_I wrhpr %r0, 0x095e, %hpstate
954 .word 0x93d02034 ! 2: Tcc_I tne icc_or_xcc, %r0 + 52
955 .word 0x81982f1d ! 3: WRHPR_HPSTATE_I wrhpr %r0, 0x0f1d, %hpstate
956 .word 0xb4d68013 ! 4: UMULcc_R umulcc %r26, %r19, %r26
957 .word 0x90ae0002 ! 5: ANDNcc_R andncc %r24, %r2, %r8
958 .word 0x8751c000 ! 6: RDPR_TL rdpr %tl, %r3
959change_to_randtl_0:
960 ta T_CHANGE_PRIV ! macro
961 .word 0x8f902002 ! 7: WRPR_TL_I wrpr %r0, 0x0002, %tl
962 .word 0xa1902008 ! 8: WRPR_GL_I wrpr %r0, 0x0008, %-
963 .word 0x34800001 ! 9: BG bg,a <label_0x1>
964splash_lsu_1:
965 set 0xf, %r2
966 stxa %r2, [%r0] ASI_LSU_CONTROL
967 .word 0x3d400001 ! 10: FBPULE fbule,a,pn %fcc0, <label_0x1>
968 .word 0x8d90204e ! 11: WRPR_PSTATE_I wrpr %r0, 0x004e, %pstate
969splash_lsu_2:
970 set 0x13, %r2
971 stxa %r2, [%r0] ASI_LSU_CONTROL
972 .word 0x3d400001 ! 12: FBPULE fbule,a,pn %fcc0, <label_0x1>
973 ta T_CHANGE_HPRIV ! macro
974 .word 0x99902003 ! 14: WRPR_CLEANWIN_I wrpr %r0, 0x0003, %cleanwin
975 .word 0xa1902006 ! 15: WRPR_GL_I wrpr %r0, 0x0006, %-
976 .word 0x81982357 ! 16: WRHPR_HPSTATE_I wrhpr %r0, 0x0357, %hpstate
977reduce_priv_level_3:
978 .word 0x8f902001 ! 18: WRPR_TL_I wrpr %r0, 0x0001, %tl
979 ta T_CHANGE_NONHPRIV ! macro
980 .word 0x89858008 ! 17: WRTICK_R wr %r22, %r8, %tick
981 .word 0x879022f2 ! 18: WRPR_TT_I wrpr %r0, 0x02f2, %tt
982 .word 0xc697e030 ! 19: LDUHA_I lduha [%r31, + 0x0030] %asi, %r3
983 .word 0x9f802001 ! 20: SIR sir 0x0001
984 .word 0x87902138 ! 21: WRPR_TT_I wrpr %r0, 0x0138, %tt
985 .word 0x8198219f ! 22: WRHPR_HPSTATE_I wrhpr %r0, 0x019f, %hpstate
986 .word 0x86dc4005 ! 23: SMULcc_R smulcc %r17, %r5, %r3
987 invalw
988 mov 0x32, %r30
989 .word 0x93d0001e ! 24: Tcc_R tne icc_or_xcc, %r0 + %r30
990splash_tba_4:
991 ta T_CHANGE_PRIV
992 set 0x120000, %r2
993 .word 0x8b900002 ! 25: WRPR_TBA_R wrpr %r0, %r2, %tba
994 .word 0x8d902ecb ! 26: WRPR_PSTATE_I wrpr %r0, 0x0ecb, %pstate
995 .word 0x8198298e ! 27: WRHPR_HPSTATE_I wrhpr %r0, 0x098e, %hpstate
996 .word 0x879021ba ! 28: WRPR_TT_I wrpr %r0, 0x01ba, %tt
997 .word 0x91d02030 ! 29: Tcc_I ta icc_or_xcc, %r0 + 48
998 .word 0x87902276 ! 30: WRPR_TT_I wrpr %r0, 0x0276, %tt
999 .word 0xc69fc020 ! 31: LDDA_R ldda [%r31, %r0] 0x01, %r3
1000 .word 0x93902003 ! 32: WRPR_CWP_I wrpr %r0, 0x0003, %cwp
1001 .word 0x93902004 ! 33: WRPR_CWP_I wrpr %r0, 0x0004, %cwp
1002 .word 0x93d02034 ! 34: Tcc_I tne icc_or_xcc, %r0 + 52
1003 .word 0x93902004 ! 35: WRPR_CWP_I wrpr %r0, 0x0004, %cwp
1004DS_5:
1005 .word 0x20800001 ! 37: BN bn,a <label_0x1>
1006 .word 0xbfefc000 ! 36: RESTORE_R restore %r31, %r0, %r31
1007 .word 0x87902232 ! 37: WRPR_TT_I wrpr %r0, 0x0232, %tt
1008 .word 0x81982e9c ! 38: WRHPR_HPSTATE_I wrhpr %r0, 0x0e9c, %hpstate
1009 .word 0xa9514000 ! 39: RDPR_TBA rdpr %tba, %r20
1010 invalw
1011 mov 0xb3, %r30
1012 .word 0x93d0001e ! 40: Tcc_R tne icc_or_xcc, %r0 + %r30
1013 .word 0x9882c00b ! 41: ADDcc_R addcc %r11, %r11, %r12
1014 ta T_CHANGE_HPRIV ! macro
1015splash_htba_6:
1016 ta T_CHANGE_HPRIV
1017 set 0x00390000, %r2
1018 .word 0x8b980002 ! 43: WRHPR_HTBA_R wrhpr %r0, %r2, %htba
1019 .word 0x95540000 ! 44: RDPR_GL rdpr %-, %r10
1020 .word 0x83d02033 ! 45: Tcc_I te icc_or_xcc, %r0 + 51
1021 ta T_CHANGE_HPRIV ! macro
1022 .word 0xd4c804a0 ! 47: LDSBA_R ldsba [%r0, %r0] 0x25, %r10
1023 .word 0xaf50c000 ! 48: RDPR_TT rdpr %tt, %r23
1024 .word 0x8d90288c ! 49: WRPR_PSTATE_I wrpr %r0, 0x088c, %pstate
1025DS_7:
1026 .word 0x22800001 ! 51: BE be,a <label_0x1>
1027 .word 0x20800001 ! 51: BN bn,a <label_0x1>
1028 .word 0x97a00540 ! 51: FSQRTd fsqrt
1029 .word 0x8ba6c829 ! 50: FADDs fadds %f27, %f9, %f5
1030splash_htba_8:
1031 ta T_CHANGE_HPRIV
1032 set 0x80000, %r2
1033 .word 0x8b980002 ! 51: WRHPR_HTBA_R wrhpr %r0, %r2, %htba
1034 .word 0x91d02031 ! 52: Tcc_I ta icc_or_xcc, %r0 + 49
1035 .word 0xa3a14d34 ! 53: FsMULd fsmuld %f5, %f20, %f48
1036 .word 0x38700001 ! 54: BPGU <illegal instruction>
1037 .word 0x8d802004 ! 55: WRFPRS_I wr %r0, 0x0004, %fprs
1038 .word 0x8d90281d ! 56: WRPR_PSTATE_I wrpr %r0, 0x081d, %pstate
1039splash_htba_9:
1040 ta T_CHANGE_HPRIV
1041 set 0x003a0000, %r2
1042 .word 0x8b980002 ! 57: WRHPR_HTBA_R wrhpr %r0, %r2, %htba
1043 .word 0xa7b44fe0 ! 58: FONES fones %f19
1044change_to_randtl_10:
1045 ta T_CHANGE_PRIV ! macro
1046 .word 0x8f902001 ! 59: WRPR_TL_I wrpr %r0, 0x0001, %tl
1047 .word 0x28700001 ! 60: BPLEU <illegal instruction>
1048 .word 0xa1902007 ! 61: WRPR_GL_I wrpr %r0, 0x0007, %-
1049 .word 0x879021bc ! 62: WRPR_TT_I wrpr %r0, 0x01bc, %tt
1050 .word 0xa3514000 ! 63: RDPR_TBA rdpr %tba, %r17
1051DS_11:
1052 .word 0x22800001 ! 65: BE be,a <label_0x1>
1053 .word 0xbfefc000 ! 64: RESTORE_R restore %r31, %r0, %r31
1054 .word 0x93902003 ! 65: WRPR_CWP_I wrpr %r0, 0x0003, %cwp
1055 .word 0x93902006 ! 66: WRPR_CWP_I wrpr %r0, 0x0006, %cwp
1056 .word 0x83d02032 ! 67: Tcc_I te icc_or_xcc, %r0 + 50
1057 .word 0x93d02031 ! 68: Tcc_I tne icc_or_xcc, %r0 + 49
1058 .word 0xe3e7c020 ! 69: CASA_I casa [%r31] 0x 1, %r0, %r17
1059 .word 0xb7a049c3 ! 70: FDIVd fdivd %f32, %f34, %f58
1060 .word 0x91d02034 ! 71: Tcc_I ta icc_or_xcc, %r0 + 52
1061 .word 0xa5508000 ! 72: RDPR_TSTATE rdpr %tstate, %r18
1062 .word 0xb3a089f3 ! 73: FDIVq dis not found
1063
1064 invalw
1065 mov 0x32, %r30
1066 .word 0x91d0001e ! 74: Tcc_R ta icc_or_xcc, %r0 + %r30
1067 .word 0x8d902449 ! 75: WRPR_PSTATE_I wrpr %r0, 0x0449, %pstate
1068 .word 0xf24fe001 ! 76: LDSB_I ldsb [%r31 + 0x0001], %r25
1069 .word 0xaf50c000 ! 77: RDPR_TT rdpr %tt, %r23
1070 .word 0x91d02033 ! 78: Tcc_I ta icc_or_xcc, %r0 + 51
1071 .word 0x87902039 ! 79: WRPR_TT_I wrpr %r0, 0x0039, %tt
1072 .word 0xa084000d ! 80: ADDcc_R addcc %r16, %r13, %r16
1073 .word 0xe097e000 ! 81: LDUHA_I lduha [%r31, + 0x0000] %asi, %r16
1074 invalw
1075 mov 0xb4, %r30
1076 .word 0x91d0001e ! 82: Tcc_R ta icc_or_xcc, %r0 + %r30
1077 ta T_CHANGE_PRIV ! macro
1078 ta T_CHANGE_HPRIV ! macro
1079 .word 0x93902007 ! 85: WRPR_CWP_I wrpr %r0, 0x0007, %cwp
1080 .word 0xb7a049f7 ! 86: FDIVq dis not found
1081
1082 .word 0x81982d4e ! 87: WRHPR_HPSTATE_I wrhpr %r0, 0x0d4e, %hpstate
1083 .word 0x819829cc ! 88: WRHPR_HPSTATE_I wrhpr %r0, 0x09cc, %hpstate
1084 .word 0x819820d4 ! 89: WRHPR_HPSTATE_I wrhpr %r0, 0x00d4, %hpstate
1085 invalw
1086 mov 0x35, %r30
1087 .word 0x91d0001e ! 90: Tcc_R ta icc_or_xcc, %r0 + %r30
1088 .word 0x91d02032 ! 91: Tcc_I ta icc_or_xcc, %r0 + 50
1089 .word 0x93902002 ! 92: WRPR_CWP_I wrpr %r0, 0x0002, %cwp
1090 .word 0xa190200e ! 93: WRPR_GL_I wrpr %r0, 0x000e, %-
1091 .word 0x946d8014 ! 94: UDIVX_R udivx %r22, %r20, %r10
1092 .word 0x91d02035 ! 95: Tcc_I ta icc_or_xcc, %r0 + 53
1093 .word 0x93902004 ! 96: WRPR_CWP_I wrpr %r0, 0x0004, %cwp
1094 .word 0x8d902ece ! 97: WRPR_PSTATE_I wrpr %r0, 0x0ece, %pstate
1095 .word 0xab540000 ! 98: RDPR_GL rdpr %-, %r21
1096 invalw
1097 mov 0x30, %r30
1098 .word 0x93d0001e ! 99: Tcc_R tne icc_or_xcc, %r0 + %r30
1099 .word 0x93902006 ! 100: WRPR_CWP_I wrpr %r0, 0x0006, %cwp
1100splash_lsu_12:
1101 set 0x7, %r2
1102 stxa %r2, [%r0] ASI_LSU_CONTROL
1103 .word 0x3d400001 ! 101: FBPULE fbule,a,pn %fcc0, <label_0x1>
1104DS_13:
1105 .word 0x20800001 ! 103: BN bn,a <label_0x1>
1106 pdist %f6, %f2, %f6
1107 .word 0x9bb10304 ! 102: ALLIGNADDRESS alignaddr %r4, %r4, %r13
1108 .word 0x8d802000 ! 103: WRFPRS_I wr %r0, 0x0000, %fprs
1109 .word 0x8ea80009 ! 104: ANDNcc_R andncc %r0, %r9, %r7
1110 .word 0x95540000 ! 105: RDPR_GL rdpr %-, %r10
1111 .word 0x9f802001 ! 106: SIR sir 0x0001
1112 .word 0x8d902cda ! 107: WRPR_PSTATE_I wrpr %r0, 0x0cda, %pstate
1113 .word 0x8d802000 ! 108: WRFPRS_I wr %r0, 0x0000, %fprs
1114 .word 0xd407c000 ! 109: LDUW_R lduw [%r31 + %r0], %r10
1115 ta T_CHANGE_TO_TL0 ! macro
1116 .word 0xd44fc000 ! 111: LDSB_R ldsb [%r31 + %r0], %r10
1117change_to_randtl_14:
1118 ta T_CHANGE_PRIV ! macro
1119 .word 0x8f902000 ! 112: WRPR_TL_I wrpr %r0, 0x0000, %tl
1120 .word 0x81982586 ! 113: WRHPR_HPSTATE_I wrhpr %r0, 0x0586, %hpstate
1121 .word 0x91540000 ! 114: RDPR_GL rdpr %-, %r8
1122 .word 0x90d80008 ! 115: SMULcc_R smulcc %r0, %r8, %r8
1123 .word 0xb6f92001 ! 116: SDIVcc_I sdivcc %r4, 0x0001, %r27
1124 .word 0xa9b44fe6 ! 117: FONES fones %f20
1125 .word 0x87902353 ! 118: WRPR_TT_I wrpr %r0, 0x0353, %tt
1126 .word 0x819823cf ! 119: WRHPR_HPSTATE_I wrhpr %r0, 0x03cf, %hpstate
1127 otherw
1128 mov 0x34, %r30
1129 .word 0x83d0001e ! 120: Tcc_R te icc_or_xcc, %r0 + %r30
1130 .word 0x85508000 ! 121: RDPR_TSTATE rdpr %tstate, %r2
1131 .word 0x8d902859 ! 122: WRPR_PSTATE_I wrpr %r0, 0x0859, %pstate
1132change_to_randtl_15:
1133 ta T_CHANGE_HPRIV ! macro
1134 .word 0x8f902005 ! 123: WRPR_TL_I wrpr %r0, 0x0005, %tl
1135 invalw
1136 mov 0x30, %r30
1137 .word 0x83d0001e ! 124: Tcc_R te icc_or_xcc, %r0 + %r30
1138 .word 0x8d802000 ! 125: WRFPRS_I wr %r0, 0x0000, %fprs
1139 .word 0x83d02032 ! 126: Tcc_I te icc_or_xcc, %r0 + 50
1140splash_lsu_16:
1141 set 0x1b, %r2
1142 stxa %r2, [%r0] ASI_LSU_CONTROL
1143 .word 0x3d400001 ! 127: FBPULE fbule,a,pn %fcc0, <label_0x1>
1144 .word 0xc4d7e020 ! 128: LDSHA_I ldsha [%r31, + 0x0020] %asi, %r2
1145 .word 0xb3508000 ! 129: RDPR_TSTATE rdpr %tstate, %r25
1146change_to_tl1_17:
1147 ta T_CHANGE_HPRIV
1148 ta T_CHANGE_TO_TL1 ! macro
1149 .word 0x91d02030 ! 131: Tcc_I ta icc_or_xcc, %r0 + 48
1150change_to_randtl_18:
1151 ta T_CHANGE_PRIV ! macro
1152 .word 0x8f902001 ! 132: WRPR_TL_I wrpr %r0, 0x0001, %tl
1153 .word 0xf2900e40 ! 133: LDUHA_R lduha [%r0, %r0] 0x72, %r25
1154 .word 0x87902199 ! 134: WRPR_TT_I wrpr %r0, 0x0199, %tt
1155 .word 0x8d902c09 ! 135: WRPR_PSTATE_I wrpr %r0, 0x0c09, %pstate
1156 .word 0x81982d07 ! 136: WRHPR_HPSTATE_I wrhpr %r0, 0x0d07, %hpstate
1157splash_lsu_19:
1158 set 0x3, %r2
1159 stxa %r2, [%r0] ASI_LSU_CONTROL
1160 .word 0x3d400001 ! 137: FBPULE fbule,a,pn %fcc0, <label_0x1>
1161 invalw
1162 mov 0x33, %r30
1163 .word 0x91d0001e ! 138: Tcc_R ta icc_or_xcc, %r0 + %r30
1164 .word 0xa190200a ! 139: WRPR_GL_I wrpr %r0, 0x000a, %-
1165 invalw
1166 mov 0x35, %r30
1167 .word 0x83d0001e ! 140: Tcc_R te icc_or_xcc, %r0 + %r30
1168 .word 0x93d02030 ! 141: Tcc_I tne icc_or_xcc, %r0 + 48
1169 .word 0x93902007 ! 142: WRPR_CWP_I wrpr %r0, 0x0007, %cwp
1170 .word 0x93d02032 ! 143: Tcc_I tne icc_or_xcc, %r0 + 50
1171 .word 0x8d540000 ! 144: RDPR_GL rdpr %-, %r6
1172 ta T_CHANGE_TO_TL0 ! macro
1173change_to_randtl_20:
1174 ta T_CHANGE_PRIV ! macro
1175 .word 0x8f902000 ! 146: WRPR_TL_I wrpr %r0, 0x0000, %tl
1176 .word 0x8da64dd7 ! 147: FdMULq fdmulq
1177 .word 0xcc8008a0 ! 148: LDUWA_R lduwa [%r0, %r0] 0x45, %r6
1178 .word 0x8d902c55 ! 149: WRPR_PSTATE_I wrpr %r0, 0x0c55, %pstate
1179 .word 0x8d902ed2 ! 150: WRPR_PSTATE_I wrpr %r0, 0x0ed2, %pstate
1180 .word 0x93902005 ! 151: WRPR_CWP_I wrpr %r0, 0x0005, %cwp
1181 ta T_CHANGE_HPRIV ! macro
1182 .word 0x93902002 ! 153: WRPR_CWP_I wrpr %r0, 0x0002, %cwp
1183 ta T_CHANGE_TO_TL0 ! macro
1184 .word 0x819829cc ! 155: WRHPR_HPSTATE_I wrhpr %r0, 0x09cc, %hpstate
1185 .word 0x91d02033 ! 156: Tcc_I ta icc_or_xcc, %r0 + 51
1186 .word 0xcc800b40 ! 157: LDUWA_R lduwa [%r0, %r0] 0x5a, %r6
1187 .word 0xa4ab4005 ! 158: ANDNcc_R andncc %r13, %r5, %r18
1188 .word 0x8790218d ! 159: WRPR_TT_I wrpr %r0, 0x018d, %tt
1189 .word 0xa1902002 ! 160: WRPR_GL_I wrpr %r0, 0x0002, %-
1190 .word 0x83d02032 ! 161: Tcc_I te icc_or_xcc, %r0 + 50
1191 .word 0xa190200f ! 162: WRPR_GL_I wrpr %r0, 0x000f, %-
1192change_to_tl1_21:
1193 ta T_CHANGE_HPRIV
1194 ta T_CHANGE_TO_TL1 ! macro
1195 .word 0xe477c005 ! 164: STX_R stx %r18, [%r31 + %r5]
1196 .word 0x9f802001 ! 165: SIR sir 0x0001
1197 .word 0x87902199 ! 166: WRPR_TT_I wrpr %r0, 0x0199, %tt
1198 .word 0xa190200c ! 167: WRPR_GL_I wrpr %r0, 0x000c, %-
1199 .word 0x93d02032 ! 168: Tcc_I tne icc_or_xcc, %r0 + 50
1200 .word 0x87902308 ! 169: WRPR_TT_I wrpr %r0, 0x0308, %tt
1201 .word 0x91d02030 ! 170: Tcc_I ta icc_or_xcc, %r0 + 48
1202change_to_tl1_22:
1203 ta T_CHANGE_PRIV
1204 ta T_CHANGE_TO_TL1 ! macro
1205 .word 0xa1902009 ! 172: WRPR_GL_I wrpr %r0, 0x0009, %-
1206 .word 0x87802004 ! 173: WRASI_I wr %r0, 0x0004, %asi
1207 .word 0x8780201c ! 174: WRASI_I wr %r0, 0x001c, %asi
1208 .word 0x8d51c000 ! 175: RDPR_TL rdpr %tl, %r6
1209 .word 0x91d02031 ! 176: Tcc_I ta icc_or_xcc, %r0 + 49
1210 .word 0xccd7e020 ! 177: LDSHA_I ldsha [%r31, + 0x0020] %asi, %r6
1211 .word 0x38800001 ! 178: BGU bgu,a <label_0x1>
1212 .word 0xa682400a ! 179: ADDcc_R addcc %r9, %r10, %r19
1213 .word 0x879023ff ! 180: WRPR_TT_I wrpr %r0, 0x03ff, %tt
1214splash_lsu_23:
1215 set 0xb, %r2
1216 stxa %r2, [%r0] ASI_LSU_CONTROL
1217 .word 0x3d400001 ! 181: FBPULE fbule,a,pn %fcc0, <label_0x1>
1218 .word 0xa1902007 ! 182: WRPR_GL_I wrpr %r0, 0x0007, %-
1219 .word 0x87902201 ! 183: WRPR_TT_I wrpr %r0, 0x0201, %tt
1220 .word 0xe68008a0 ! 184: LDUWA_R lduwa [%r0, %r0] 0x45, %r19
1221 .word 0x93d02034 ! 185: Tcc_I tne icc_or_xcc, %r0 + 52
1222splash_lsu_24:
1223 set 0x17, %r2
1224 stxa %r2, [%r0] ASI_LSU_CONTROL
1225 .word 0x3d400001 ! 186: FBPULE fbule,a,pn %fcc0, <label_0x1>
1226 .word 0x8885e001 ! 187: ADDcc_I addcc %r23, 0x0001, %r4
1227 .word 0x8790221e ! 188: WRPR_TT_I wrpr %r0, 0x021e, %tt
1228 .word 0x8d902450 ! 189: WRPR_PSTATE_I wrpr %r0, 0x0450, %pstate
1229 .word 0x81982b04 ! 190: WRHPR_HPSTATE_I wrhpr %r0, 0x0b04, %hpstate
1230 .word 0xa1902008 ! 191: WRPR_GL_I wrpr %r0, 0x0008, %-
1231 .word 0x8afec00c ! 192: SDIVcc_R sdivcc %r27, %r12, %r5
1232reduce_priv_level_25:
1233 .word 0x8f902001 ! 194: WRPR_TL_I wrpr %r0, 0x0001, %tl
1234 ta T_CHANGE_NONHPRIV ! macro
1235 .word 0x8986401b ! 193: WRTICK_R wr %r25, %r27, %tick
1236splash_tba_26:
1237 ta T_CHANGE_PRIV
1238 set 0x120000, %r2
1239 .word 0x8b900002 ! 194: WRPR_TBA_R wrpr %r0, %r2, %tba
1240 .word 0xcb37c01b ! 195: STQF_R - %f5, [%r27, %r31]
1241 .word 0x99902002 ! 196: WRPR_CLEANWIN_I wrpr %r0, 0x0002, %cleanwin
1242 .word 0x91d02030 ! 197: Tcc_I ta icc_or_xcc, %r0 + 48
1243 .word 0x8d902a88 ! 198: WRPR_PSTATE_I wrpr %r0, 0x0a88, %pstate
1244splash_tba_27:
1245 ta T_CHANGE_PRIV
1246 set 0x003d0000, %r2
1247 .word 0x8b900002 ! 199: WRPR_TBA_R wrpr %r0, %r2, %tba
1248 .word 0x91d02030 ! 200: Tcc_I ta icc_or_xcc, %r0 + 48
1249 .word 0x2a700001 ! 201: BPCS <illegal instruction>
1250 .word 0x879021dc ! 202: WRPR_TT_I wrpr %r0, 0x01dc, %tt
1251 .word 0x87802089 ! 203: WRASI_I wr %r0, 0x0089, %asi
1252 .word 0x9ba00557 ! 204: FSQRTd fsqrt
1253 .word 0x83d02030 ! 205: Tcc_I te icc_or_xcc, %r0 + 48
1254 .word 0xda900e80 ! 206: LDUHA_R lduha [%r0, %r0] 0x74, %r13
1255 .word 0x8d504000 ! 207: RDPR_TNPC rdpr %tnpc, %r6
1256 .word 0x93902001 ! 208: WRPR_CWP_I wrpr %r0, 0x0001, %cwp
1257 .word 0x81982edc ! 209: WRHPR_HPSTATE_I wrhpr %r0, 0x0edc, %hpstate
1258 .word 0x8d902e18 ! 210: WRPR_PSTATE_I wrpr %r0, 0x0e18, %pstate
1259 .word 0x879020f7 ! 211: WRPR_TT_I wrpr %r0, 0x00f7, %tt
1260 .word 0x87508000 ! 212: RDPR_TSTATE rdpr %tstate, %r3
1261 .word 0x8780201c ! 213: WRASI_I wr %r0, 0x001c, %asi
1262 invalw
1263 mov 0x32, %r30
1264 .word 0x93d0001e ! 214: Tcc_R tne icc_or_xcc, %r0 + %r30
1265DS_28:
1266 .word 0x32800001 ! 216: BNE bne,a <label_0x1>
1267 .word 0xbfe7c000 ! 215: SAVE_R save %r31, %r0, %r31
1268 .word 0x879021a9 ! 216: WRPR_TT_I wrpr %r0, 0x01a9, %tt
1269 .word 0x81982fd5 ! 217: WRHPR_HPSTATE_I wrhpr %r0, 0x0fd5, %hpstate
1270 .word 0x22700001 ! 218: BPE <illegal instruction>
1271 .word 0x97508000 ! 219: RDPR_TSTATE rdpr %tstate, %r11
1272 .word 0x93902000 ! 220: WRPR_CWP_I wrpr %r0, 0x0000, %cwp
1273 .word 0x93d02031 ! 221: Tcc_I tne icc_or_xcc, %r0 + 49
1274 .word 0x8d902249 ! 222: WRPR_PSTATE_I wrpr %r0, 0x0249, %pstate
1275 .word 0xa1902001 ! 223: WRPR_GL_I wrpr %r0, 0x0001, %-
1276 .word 0x8a814012 ! 224: ADDcc_R addcc %r5, %r18, %r5
1277 .word 0x83508000 ! 225: RDPR_TSTATE rdpr %tstate, %r1
1278 ta T_CHANGE_HPRIV ! macro
1279 .word 0x88c26001 ! 227: ADDCcc_I addccc %r9, 0x0001, %r4
1280 otherw
1281 mov 0xb1, %r30
1282 .word 0x91d0001e ! 228: Tcc_R ta icc_or_xcc, %r0 + %r30
1283 .word 0x8da28dda ! 229: FdMULq fdmulq
1284 otherw
1285 mov 0x30, %r30
1286 .word 0x83d0001e ! 230: Tcc_R te icc_or_xcc, %r0 + %r30
1287 otherw
1288 mov 0x31, %r30
1289 .word 0x91d0001e ! 231: Tcc_R ta icc_or_xcc, %r0 + %r30
1290 .word 0xccffc03a ! 232: SWAPA_R swapa %r6, [%r31 + %r26] 0x01
1291 .word 0xa190200e ! 233: WRPR_GL_I wrpr %r0, 0x000e, %-
1292 .word 0x8d902004 ! 234: WRPR_PSTATE_I wrpr %r0, 0x0004, %pstate
1293 .word 0x8d802000 ! 235: WRFPRS_I wr %r0, 0x0000, %fprs
1294change_to_tl1_29:
1295 ta T_CHANGE_HPRIV
1296 ta T_CHANGE_TO_TL1 ! macro
1297reduce_priv_level_30:
1298 .word 0x8f902000 ! 238: WRPR_TL_I wrpr %r0, 0x0000, %tl
1299 ta T_CHANGE_NONPRIV ! macro
1300 .word 0x81b01021 ! 237: SIAM siam 1
1301 .word 0x91d02030 ! 238: Tcc_I ta icc_or_xcc, %r0 + 48
1302 .word 0x879021b4 ! 239: WRPR_TT_I wrpr %r0, 0x01b4, %tt
1303 ta T_CHANGE_TO_TL0 ! macro
1304 .word 0x99902002 ! 241: WRPR_CLEANWIN_I wrpr %r0, 0x0002, %cleanwin
1305 otherw
1306 mov 0xb3, %r30
1307 .word 0x91d0001e ! 242: Tcc_R ta icc_or_xcc, %r0 + %r30
1308 .word 0xcc7fe001 ! 243: SWAP_I swap %r6, [%r31 + 0x0001]
1309DS_31:
1310 .word 0x34800001 ! 245: BG bg,a <label_0x1>
1311 pdist %f4, %f6, %f14
1312 .word 0x8bb58311 ! 244: ALLIGNADDRESS alignaddr %r22, %r17, %r5
1313 .word 0x8b508000 ! 245: RDPR_TSTATE rdpr %tstate, %r5
1314 invalw
1315 mov 0x35, %r30
1316 .word 0x91d0001e ! 246: Tcc_R ta icc_or_xcc, %r0 + %r30
1317DS_32:
1318 nop
1319 not %g0, %g2
1320 jmp %g2
1321 .word 0x9d902005 ! 247: WRPR_WSTATE_I wrpr %r0, 0x0005, %wstate
1322 .word 0x81982856 ! 248: WRHPR_HPSTATE_I wrhpr %r0, 0x0856, %hpstate
1323 .word 0x87802080 ! 249: WRASI_I wr %r0, 0x0080, %asi
1324 .word 0x91d02032 ! 250: Tcc_I ta icc_or_xcc, %r0 + 50
1325 .word 0x89a01a6b ! 251: FqTOi fqtoi
1326 .word 0x22800001 ! 252: BE be,a <label_0x1>
1327 .word 0xc8c7e030 ! 253: LDSWA_I ldswa [%r31, + 0x0030] %asi, %r4
1328 .word 0x85540000 ! 254: RDPR_GL rdpr %-, %r2
1329 .word 0x9b514000 ! 255: RDPR_TBA rdpr %tba, %r13
1330 .word 0xda9fc020 ! 256: LDDA_R ldda [%r31, %r0] 0x01, %r13
1331 .word 0xa1902005 ! 257: WRPR_GL_I wrpr %r0, 0x0005, %-
1332 .word 0x8281e001 ! 258: ADDcc_I addcc %r7, 0x0001, %r1
1333 .word 0x8d802000 ! 259: WRFPRS_I wr %r0, 0x0000, %fprs
1334 .word 0xa1902007 ! 260: WRPR_GL_I wrpr %r0, 0x0007, %-
1335 .word 0x91d02030 ! 261: Tcc_I ta icc_or_xcc, %r0 + 48
1336 .word 0x8198240f ! 262: WRHPR_HPSTATE_I wrhpr %r0, 0x040f, %hpstate
1337 .word 0xa5508000 ! 263: RDPR_TSTATE rdpr %tstate, %r18
1338DS_33:
1339 .word 0x20800001 ! 265: BN bn,a <label_0x1>
1340 .word 0xef352001 ! 265: STQF_I - %f23, [0x0001, %r20]
1341 normalw
1342 .word 0xa5458000 ! 264: RD_SOFTINT_REG rd %softint, %r18
1343 .word 0x24800001 ! 265: BLE ble,a <label_0x1>
1344 .word 0xa190200c ! 266: WRPR_GL_I wrpr %r0, 0x000c, %-
1345 .word 0xe537c00b ! 267: STQF_R - %f18, [%r11, %r31]
1346 .word 0x93902006 ! 268: WRPR_CWP_I wrpr %r0, 0x0006, %cwp
1347 .word 0x81982fd4 ! 269: WRHPR_HPSTATE_I wrhpr %r0, 0x0fd4, %hpstate
1348 .word 0x8d90220e ! 270: WRPR_PSTATE_I wrpr %r0, 0x020e, %pstate
1349 .word 0x8751c000 ! 271: RDPR_TL rdpr %tl, %r3
1350change_to_tl1_34:
1351 ta T_CHANGE_PRIV
1352 ta T_CHANGE_TO_TL1 ! macro
1353 .word 0x9a84e001 ! 273: ADDcc_I addcc %r19, 0x0001, %r13
1354 .word 0x99a000d7 ! 274: FNEGd fnegd %f54, %f12
1355 .word 0x93902006 ! 275: WRPR_CWP_I wrpr %r0, 0x0006, %cwp
1356 .word 0x8d90200b ! 276: WRPR_PSTATE_I wrpr %r0, 0x000b, %pstate
1357 .word 0xaea9000a ! 277: ANDNcc_R andncc %r4, %r10, %r23
1358 .word 0x8fa6c9f5 ! 278: FDIVq dis not found
1359
1360 .word 0x96d88017 ! 279: SMULcc_R smulcc %r2, %r23, %r11
1361 otherw
1362 mov 0xb5, %r30
1363 .word 0x91d0001e ! 280: Tcc_R ta icc_or_xcc, %r0 + %r30
1364 .word 0x91d02031 ! 281: Tcc_I ta icc_or_xcc, %r0 + 49
1365 .word 0x82d4c01a ! 282: UMULcc_R umulcc %r19, %r26, %r1
1366 .word 0x8d9024c1 ! 283: WRPR_PSTATE_I wrpr %r0, 0x04c1, %pstate
1367 .word 0x8d902c9c ! 284: WRPR_PSTATE_I wrpr %r0, 0x0c9c, %pstate
1368 .word 0x87902318 ! 285: WRPR_TT_I wrpr %r0, 0x0318, %tt
1369 .word 0x93902002 ! 286: WRPR_CWP_I wrpr %r0, 0x0002, %cwp
1370 .word 0x879023ad ! 287: WRPR_TT_I wrpr %r0, 0x03ad, %tt
1371DS_35:
1372 .word 0x22800001 ! 289: BE be,a <label_0x1>
1373 .word 0xbfe7c000 ! 288: SAVE_R save %r31, %r0, %r31
1374 ta T_CHANGE_PRIV ! macro
1375DS_36:
1376 nop
1377 not %g0, %g2
1378 jmp %g2
1379 .word 0x9d902005 ! 290: WRPR_WSTATE_I wrpr %r0, 0x0005, %wstate
1380 .word 0x8d9026d1 ! 291: WRPR_PSTATE_I wrpr %r0, 0x06d1, %pstate
1381 .word 0x81982c95 ! 292: WRHPR_HPSTATE_I wrhpr %r0, 0x0c95, %hpstate
1382 .word 0x86a9c001 ! 293: ANDNcc_R andncc %r7, %r1, %r3
1383 .word 0xa190200c ! 294: WRPR_GL_I wrpr %r0, 0x000c, %-
1384 .word 0x2a700001 ! 295: BPCS <illegal instruction>
1385 .word 0x93902005 ! 296: WRPR_CWP_I wrpr %r0, 0x0005, %cwp
1386 otherw
1387 mov 0x35, %r30
1388 .word 0x83d0001e ! 297: Tcc_R te icc_or_xcc, %r0 + %r30
1389 otherw
1390 mov 0xb5, %r30
1391 .word 0x91d0001e ! 298: Tcc_R ta icc_or_xcc, %r0 + %r30
1392 ta T_CHANGE_HPRIV ! macro
1393 .word 0xc6c804a0 ! 300: LDSBA_R ldsba [%r0, %r0] 0x25, %r3
1394 .word 0x95a00544 ! 301: FSQRTd fsqrt
1395 .word 0x98fc0000 ! 302: SDIVcc_R sdivcc %r16, %r0, %r12
1396 .word 0x8d902a4f ! 303: WRPR_PSTATE_I wrpr %r0, 0x0a4f, %pstate
1397 .word 0x87902038 ! 304: WRPR_TT_I wrpr %r0, 0x0038, %tt
1398 .word 0x91d02035 ! 305: Tcc_I ta icc_or_xcc, %r0 + 53
1399 .word 0xd8d004a0 ! 306: LDSHA_R ldsha [%r0, %r0] 0x25, %r12
1400 otherw
1401 mov 0x34, %r30
1402 .word 0x91d0001e ! 307: Tcc_R ta icc_or_xcc, %r0 + %r30
1403 .word 0x99902001 ! 308: WRPR_CLEANWIN_I wrpr %r0, 0x0001, %cleanwin
1404 .word 0xd8d7e020 ! 309: LDSHA_I ldsha [%r31, + 0x0020] %asi, %r12
1405 .word 0x8198215c ! 310: WRHPR_HPSTATE_I wrhpr %r0, 0x015c, %hpstate
1406 .word 0x93902006 ! 311: WRPR_CWP_I wrpr %r0, 0x0006, %cwp
1407reduce_priv_level_37:
1408 .word 0x8f902001 ! 313: WRPR_TL_I wrpr %r0, 0x0001, %tl
1409 ta T_CHANGE_NONHPRIV ! macro
1410 .word 0x89a0196d ! 312: FqTOd dis not found
1411
1412 .word 0x95500000 ! 313: RDPR_TPC rdpr %tpc, %r10
1413 .word 0x93902007 ! 314: WRPR_CWP_I wrpr %r0, 0x0007, %cwp
1414splash_tba_38:
1415 ta T_CHANGE_PRIV
1416 set 0x120000, %r2
1417 .word 0x8b900002 ! 315: WRPR_TBA_R wrpr %r0, %r2, %tba
1418 .word 0xa190200c ! 316: WRPR_GL_I wrpr %r0, 0x000c, %-
1419 .word 0x819829dc ! 317: WRHPR_HPSTATE_I wrhpr %r0, 0x09dc, %hpstate
1420splash_lsu_39:
1421 set 0xb, %r2
1422 stxa %r2, [%r0] ASI_LSU_CONTROL
1423 .word 0x3d400001 ! 318: FBPULE fbule,a,pn %fcc0, <label_0x1>
1424 .word 0x8d902600 ! 319: WRPR_PSTATE_I wrpr %r0, 0x0600, %pstate
1425 .word 0x89514000 ! 320: RDPR_TBA rdpr %tba, %r4
1426 .word 0x8480c017 ! 321: ADDcc_R addcc %r3, %r23, %r2
1427 .word 0x89a049f2 ! 322: FDIVq dis not found
1428
1429 .word 0xb6828018 ! 323: ADDcc_R addcc %r10, %r24, %r27
1430 .word 0x30700001 ! 324: BPA <illegal instruction>
1431 .word 0x91d02034 ! 325: Tcc_I ta icc_or_xcc, %r0 + 52
1432 .word 0xa9508000 ! 326: RDPR_TSTATE rdpr %tstate, %r20
1433 .word 0x93902006 ! 327: WRPR_CWP_I wrpr %r0, 0x0006, %cwp
1434change_to_randtl_40:
1435 ta T_CHANGE_PRIV ! macro
1436 .word 0x8f902000 ! 328: WRPR_TL_I wrpr %r0, 0x0000, %tl
1437 .word 0x91514000 ! 329: RDPR_TBA rdpr %tba, %r8
1438 .word 0x8d802004 ! 330: WRFPRS_I wr %r0, 0x0004, %fprs
1439 .word 0x9f802001 ! 331: SIR sir 0x0001
1440DS_41:
1441 .word 0x32800001 ! 333: BNE bne,a <label_0x1>
1442 pdist %f18, %f8, %f0
1443 .word 0x87b4030c ! 332: ALLIGNADDRESS alignaddr %r16, %r12, %r3
1444change_to_tl1_42:
1445 ta T_CHANGE_PRIV
1446 ta T_CHANGE_TO_TL1 ! macro
1447DS_43:
1448 .word 0x34800001 ! 335: BG bg,a <label_0x1>
1449 pdist %f20, %f30, %f20
1450 .word 0xb1b3430a ! 334: ALLIGNADDRESS alignaddr %r13, %r10, %r24
1451 invalw
1452 mov 0x31, %r30
1453 .word 0x83d0001e ! 335: Tcc_R te icc_or_xcc, %r0 + %r30
1454 .word 0x81982fdf ! 336: WRHPR_HPSTATE_I wrhpr %r0, 0x0fdf, %hpstate
1455 .word 0x91d02030 ! 337: Tcc_I ta icc_or_xcc, %r0 + 48
1456 invalw
1457 mov 0xb1, %r30
1458 .word 0x91d0001e ! 338: Tcc_R ta icc_or_xcc, %r0 + %r30
1459 .word 0x91d02035 ! 339: Tcc_I ta icc_or_xcc, %r0 + 53
1460 .word 0x81982d5e ! 340: WRHPR_HPSTATE_I wrhpr %r0, 0x0d5e, %hpstate
1461 .word 0x95702001 ! 341: POPC_I popc 0x0001, %r10
1462 .word 0x8d508000 ! 342: RDPR_TSTATE rdpr %tstate, %r6
1463 .word 0x8d902e5c ! 343: WRPR_PSTATE_I wrpr %r0, 0x0e5c, %pstate
1464 .word 0x8f508000 ! 344: RDPR_TSTATE rdpr %tstate, %r7
1465 .word 0xb080c005 ! 345: ADDcc_R addcc %r3, %r5, %r24
1466 .word 0x87902152 ! 346: WRPR_TT_I wrpr %r0, 0x0152, %tt
1467 .word 0x8d802000 ! 347: WRFPRS_I wr %r0, 0x0000, %fprs
1468 .word 0x91d02031 ! 348: Tcc_I ta icc_or_xcc, %r0 + 49
1469 .word 0x879022ce ! 349: WRPR_TT_I wrpr %r0, 0x02ce, %tt
1470 .word 0x8ec1a001 ! 350: ADDCcc_I addccc %r6, 0x0001, %r7
1471 .word 0xce7fe001 ! 351: SWAP_I swap %r7, [%r31 + 0x0001]
1472 .word 0x2e800001 ! 352: BVS bvs,a <label_0x1>
1473 .word 0x81982c1d ! 353: WRHPR_HPSTATE_I wrhpr %r0, 0x0c1d, %hpstate
1474 .word 0x879021a2 ! 354: WRPR_TT_I wrpr %r0, 0x01a2, %tt
1475 .word 0x97a28dc1 ! 355: FdMULq fdmulq
1476splash_tba_44:
1477 ta T_CHANGE_PRIV
1478 set 0x120000, %r2
1479 .word 0x8b900002 ! 356: WRPR_TBA_R wrpr %r0, %r2, %tba
1480 otherw
1481 mov 0xb1, %r30
1482 .word 0x83d0001e ! 357: Tcc_R te icc_or_xcc, %r0 + %r30
1483 .word 0xa190200f ! 358: WRPR_GL_I wrpr %r0, 0x000f, %-
1484DS_45:
1485 .word 0x20800001 ! 360: BN bn,a <label_0x1>
1486 allclean
1487 .word 0x85b18311 ! 359: ALLIGNADDRESS alignaddr %r6, %r17, %r2
1488 .word 0x91d02035 ! 360: Tcc_I ta icc_or_xcc, %r0 + 53
1489 .word 0x8198285c ! 361: WRHPR_HPSTATE_I wrhpr %r0, 0x085c, %hpstate
1490 .word 0x97702001 ! 362: POPC_I popc 0x0001, %r11
1491 .word 0x8790218e ! 363: WRPR_TT_I wrpr %r0, 0x018e, %tt
1492 .word 0x819828cd ! 364: WRHPR_HPSTATE_I wrhpr %r0, 0x08cd, %hpstate
1493splash_tba_46:
1494 ta T_CHANGE_PRIV
1495 set 0x120000, %r2
1496 .word 0x8b900002 ! 365: WRPR_TBA_R wrpr %r0, %r2, %tba
1497 .word 0x99902001 ! 366: WRPR_CLEANWIN_I wrpr %r0, 0x0001, %cleanwin
1498 .word 0x8d802000 ! 367: WRFPRS_I wr %r0, 0x0000, %fprs
1499 .word 0x91d02035 ! 368: Tcc_I ta icc_or_xcc, %r0 + 53
1500 .word 0x91d02035 ! 369: Tcc_I ta icc_or_xcc, %r0 + 53
1501splash_htba_47:
1502 ta T_CHANGE_HPRIV
1503 set 0x80000, %r2
1504 .word 0x8b980002 ! 370: WRHPR_HTBA_R wrhpr %r0, %r2, %htba
1505 .word 0x93902007 ! 371: WRPR_CWP_I wrpr %r0, 0x0007, %cwp
1506 .word 0xd69fe001 ! 372: LDDA_I ldda [%r31, + 0x0001] %asi, %r11
1507DS_48:
1508 .word 0x20800001 ! 374: BN bn,a <label_0x1>
1509 allclean
1510 .word 0x89b5c302 ! 373: ALLIGNADDRESS alignaddr %r23, %r2, %r4
1511 .word 0x99514000 ! 374: RDPR_TBA rdpr %tba, %r12
1512 .word 0x8790210d ! 375: WRPR_TT_I wrpr %r0, 0x010d, %tt
1513 ta T_CHANGE_HPRIV ! macro
1514 .word 0x85a2c9a2 ! 377: FDIVs fdivs %f11, %f2, %f2
1515 .word 0x83d02031 ! 378: Tcc_I te icc_or_xcc, %r0 + 49
1516 .word 0x9f802001 ! 379: SIR sir 0x0001
1517 .word 0xc48008a0 ! 380: LDUWA_R lduwa [%r0, %r0] 0x45, %r2
1518 .word 0x81982844 ! 381: WRHPR_HPSTATE_I wrhpr %r0, 0x0844, %hpstate
1519change_to_tl1_49:
1520 ta T_CHANGE_HPRIV
1521 ta T_CHANGE_TO_TL1 ! macro
1522 .word 0x91d02031 ! 383: Tcc_I ta icc_or_xcc, %r0 + 49
1523 invalw
1524 mov 0x30, %r30
1525 .word 0x91d0001e ! 384: Tcc_R ta icc_or_xcc, %r0 + %r30
1526 .word 0x8ba00570 ! 385: FSQRTq fsqrt
1527 invalw
1528 mov 0x35, %r30
1529 .word 0x91d0001e ! 386: Tcc_R ta icc_or_xcc, %r0 + %r30
1530 .word 0x83a1cd21 ! 387: FsMULd fsmuld %f7, %f32, %f32
1531DS_50:
1532 .word 0x20800001 ! 389: BN bn,a <label_0x1>
1533 .word 0xe9308003 ! 389: STQF_R - %f20, [%r3, %r2]
1534 normalw
1535 .word 0x81458000 ! 388: RD_SOFTINT_REG stbar
1536 otherw
1537 mov 0x34, %r30
1538 .word 0x91d0001e ! 389: Tcc_R ta icc_or_xcc, %r0 + %r30
1539 .word 0x91d02032 ! 390: Tcc_I ta icc_or_xcc, %r0 + 50
1540 .word 0xa190200f ! 391: WRPR_GL_I wrpr %r0, 0x000f, %-
1541 .word 0x8d9024d6 ! 392: WRPR_PSTATE_I wrpr %r0, 0x04d6, %pstate
1542 .word 0x83d02035 ! 393: Tcc_I te icc_or_xcc, %r0 + 53
1543 .word 0x819829df ! 394: WRHPR_HPSTATE_I wrhpr %r0, 0x09df, %hpstate
1544 .word 0xc0800b20 ! 395: LDUWA_R lduwa [%r0, %r0] 0x59, %r0
1545 .word 0x87902230 ! 396: WRPR_TT_I wrpr %r0, 0x0230, %tt
1546 .word 0x93902002 ! 397: WRPR_CWP_I wrpr %r0, 0x0002, %cwp
1547 .word 0x8d802000 ! 398: WRFPRS_I wr %r0, 0x0000, %fprs
1548 .word 0x8d90208d ! 399: WRPR_PSTATE_I wrpr %r0, 0x008d, %pstate
1549 .word 0x8790237f ! 400: WRPR_TT_I wrpr %r0, 0x037f, %tt
1550 .word 0xaed02001 ! 401: UMULcc_I umulcc %r0, 0x0001, %r23
1551 .word 0x81982fcf ! 402: WRHPR_HPSTATE_I wrhpr %r0, 0x0fcf, %hpstate
1552 .word 0x819825ce ! 403: WRHPR_HPSTATE_I wrhpr %r0, 0x05ce, %hpstate
1553 ta T_CHANGE_PRIV ! macro
1554 .word 0xef37e001 ! 405: STQF_I - %f23, [0x0001, %r31]
1555 .word 0xee1fe001 ! 406: LDD_I ldd [%r31 + 0x0001], %r23
1556 .word 0x93540000 ! 407: RDPR_GL rdpr %-, %r9
1557 .word 0x8780201c ! 408: WRASI_I wr %r0, 0x001c, %asi
1558 .word 0x93902005 ! 409: WRPR_CWP_I wrpr %r0, 0x0005, %cwp
1559 .word 0xd27fe001 ! 410: SWAP_I swap %r9, [%r31 + 0x0001]
1560splash_lsu_51:
1561 set 0xb, %r2
1562 stxa %r2, [%r0] ASI_LSU_CONTROL
1563 .word 0x3d400001 ! 411: FBPULE fbule,a,pn %fcc0, <label_0x1>
1564 .word 0x87902307 ! 412: WRPR_TT_I wrpr %r0, 0x0307, %tt
1565 .word 0xa1902002 ! 413: WRPR_GL_I wrpr %r0, 0x0002, %-
1566 .word 0xa8d24000 ! 414: UMULcc_R umulcc %r9, %r0, %r20
1567 .word 0x93902003 ! 415: WRPR_CWP_I wrpr %r0, 0x0003, %cwp
1568splash_tba_52:
1569 ta T_CHANGE_PRIV
1570 set 0x120000, %r2
1571 .word 0x8b900002 ! 416: WRPR_TBA_R wrpr %r0, %r2, %tba
1572 .word 0x93902001 ! 417: WRPR_CWP_I wrpr %r0, 0x0001, %cwp
1573 .word 0x93902002 ! 418: WRPR_CWP_I wrpr %r0, 0x0002, %cwp
1574 otherw
1575 mov 0x34, %r30
1576 .word 0x83d0001e ! 419: Tcc_R te icc_or_xcc, %r0 + %r30
1577 .word 0xa1902005 ! 420: WRPR_GL_I wrpr %r0, 0x0005, %-
1578 .word 0x8ba00541 ! 421: FSQRTd fsqrt
1579 .word 0x8790210d ! 422: WRPR_TT_I wrpr %r0, 0x010d, %tt
1580 .word 0x8e682001 ! 423: UDIVX_I udivx %r0, 0x0001, %r7
1581 .word 0x8d902c4b ! 424: WRPR_PSTATE_I wrpr %r0, 0x0c4b, %pstate
1582 .word 0x91d02031 ! 425: Tcc_I ta icc_or_xcc, %r0 + 49
1583 .word 0x93902004 ! 426: WRPR_CWP_I wrpr %r0, 0x0004, %cwp
1584 .word 0x8790226e ! 427: WRPR_TT_I wrpr %r0, 0x026e, %tt
1585 .word 0x81982cd7 ! 428: WRHPR_HPSTATE_I wrhpr %r0, 0x0cd7, %hpstate
1586splash_htba_53:
1587 ta T_CHANGE_HPRIV
1588 set 0x80000, %r2
1589 .word 0x8b980002 ! 429: WRHPR_HTBA_R wrhpr %r0, %r2, %htba
1590 .word 0xa1902003 ! 430: WRPR_GL_I wrpr %r0, 0x0003, %-
1591 .word 0x81982b8d ! 431: WRHPR_HPSTATE_I wrhpr %r0, 0x0b8d, %hpstate
1592 .word 0xaba109a4 ! 432: FDIVs fdivs %f4, %f4, %f21
1593DS_54:
1594 nop
1595 not %g0, %g2
1596 jmp %g2
1597 .word 0x9d902003 ! 433: WRPR_WSTATE_I wrpr %r0, 0x0003, %wstate
1598reduce_priv_level_55:
1599 .word 0x8f902002 ! 435: WRPR_TL_I wrpr %r0, 0x0002, %tl
1600 ta T_CHANGE_NONHPRIV ! macro
1601 .word 0x81b01021 ! 434: SIAM siam 1
1602DS_56:
1603 .word 0x22800001 ! 436: BE be,a <label_0x1>
1604 .word 0xbfefc000 ! 435: RESTORE_R restore %r31, %r0, %r31
1605 .word 0x91d02031 ! 436: Tcc_I ta icc_or_xcc, %r0 + 49
1606 .word 0x93902000 ! 437: WRPR_CWP_I wrpr %r0, 0x0000, %cwp
1607 .word 0x879021a3 ! 438: WRPR_TT_I wrpr %r0, 0x01a3, %tt
1608 .word 0x81982394 ! 439: WRHPR_HPSTATE_I wrhpr %r0, 0x0394, %hpstate
1609 .word 0x87902129 ! 440: WRPR_TT_I wrpr %r0, 0x0129, %tt
1610 .word 0xac4a800c ! 441: MULX_R mulx %r10, %r12, %r22
1611 .word 0x9ac5e001 ! 442: ADDCcc_I addccc %r23, 0x0001, %r13
1612 otherw
1613 mov 0x32, %r30
1614 .word 0x83d0001e ! 443: Tcc_R te icc_or_xcc, %r0 + %r30
1615 .word 0x879022bc ! 444: WRPR_TT_I wrpr %r0, 0x02bc, %tt
1616 .word 0x8d9022da ! 445: WRPR_PSTATE_I wrpr %r0, 0x02da, %pstate
1617 .word 0x93540000 ! 446: RDPR_GL rdpr %-, %r9
1618 .word 0xa1902009 ! 447: WRPR_GL_I wrpr %r0, 0x0009, %-
1619 .word 0x97a009d5 ! 448: FDIVd fdivd %f0, %f52, %f42
1620 .word 0x95508000 ! 449: RDPR_TSTATE rdpr %tstate, %r10
1621 .word 0x91d02030 ! 450: Tcc_I ta icc_or_xcc, %r0 + 48
1622 .word 0xd41fc000 ! 451: LDD_R ldd [%r31 + %r0], %r10
1623 .word 0xa1902009 ! 452: WRPR_GL_I wrpr %r0, 0x0009, %-
1624 .word 0x8ba01a69 ! 453: FqTOi fqtoi
1625 .word 0x93902006 ! 454: WRPR_CWP_I wrpr %r0, 0x0006, %cwp
1626splash_tba_57:
1627 ta T_CHANGE_PRIV
1628 set 0x003e0000, %r2
1629 .word 0x8b900002 ! 455: WRPR_TBA_R wrpr %r0, %r2, %tba
1630 .word 0x9f802001 ! 456: SIR sir 0x0001
1631 .word 0x8198269e ! 457: WRHPR_HPSTATE_I wrhpr %r0, 0x069e, %hpstate
1632 .word 0x9484a001 ! 458: ADDcc_I addcc %r18, 0x0001, %r10
1633 .word 0x85a1c9b6 ! 459: FDIVs fdivs %f7, %f22, %f2
1634 .word 0xc4cfe000 ! 460: LDSBA_I ldsba [%r31, + 0x0000] %asi, %r2
1635 .word 0xa190200c ! 461: WRPR_GL_I wrpr %r0, 0x000c, %-
1636 .word 0x8d902681 ! 462: WRPR_PSTATE_I wrpr %r0, 0x0681, %pstate
1637 .word 0xa150c000 ! 463: RDPR_TT rdpr %tt, %r16
1638change_to_randtl_58:
1639 ta T_CHANGE_PRIV ! macro
1640 .word 0x8f902002 ! 464: WRPR_TL_I wrpr %r0, 0x0002, %tl
1641 .word 0x8c6ce001 ! 465: UDIVX_I udivx %r19, 0x0001, %r6
1642 .word 0x91d02035 ! 466: Tcc_I ta icc_or_xcc, %r0 + 53
1643 otherw
1644 mov 0xb1, %r30
1645 .word 0x91d0001e ! 467: Tcc_R ta icc_or_xcc, %r0 + %r30
1646 .word 0x8790216a ! 468: WRPR_TT_I wrpr %r0, 0x016a, %tt
1647 .word 0x8d902650 ! 469: WRPR_PSTATE_I wrpr %r0, 0x0650, %pstate
1648splash_tba_59:
1649 ta T_CHANGE_PRIV
1650 set 0x120000, %r2
1651 .word 0x8b900002 ! 470: WRPR_TBA_R wrpr %r0, %r2, %tba
1652 .word 0xa1902001 ! 471: WRPR_GL_I wrpr %r0, 0x0001, %-
1653 invalw
1654 mov 0xb3, %r30
1655 .word 0x83d0001e ! 472: Tcc_R te icc_or_xcc, %r0 + %r30
1656 .word 0x81982854 ! 473: WRHPR_HPSTATE_I wrhpr %r0, 0x0854, %hpstate
1657splash_lsu_60:
1658 set 0x3, %r2
1659 stxa %r2, [%r0] ASI_LSU_CONTROL
1660 .word 0x3d400001 ! 474: FBPULE fbule,a,pn %fcc0, <label_0x1>
1661 .word 0x93902004 ! 475: WRPR_CWP_I wrpr %r0, 0x0004, %cwp
1662 .word 0x96d22001 ! 476: UMULcc_I umulcc %r8, 0x0001, %r11
1663 .word 0x8950c000 ! 477: RDPR_TT rdpr %tt, %r4
1664 .word 0x95540000 ! 478: RDPR_GL rdpr %-, %r10
1665 .word 0x81982605 ! 479: WRHPR_HPSTATE_I wrhpr %r0, 0x0605, %hpstate
1666splash_lsu_61:
1667 set 0x17, %r2
1668 stxa %r2, [%r0] ASI_LSU_CONTROL
1669 .word 0x3d400001 ! 480: FBPULE fbule,a,pn %fcc0, <label_0x1>
1670 .word 0xd5e7c036 ! 481: CASA_I casa [%r31] 0x 1, %r22, %r10
1671 .word 0x9b508000 ! 482: RDPR_TSTATE rdpr %tstate, %r13
1672 .word 0x8d902a5c ! 483: WRPR_PSTATE_I wrpr %r0, 0x0a5c, %pstate
1673 .word 0x91d02033 ! 484: Tcc_I ta icc_or_xcc, %r0 + 51
1674 .word 0x83d02032 ! 485: Tcc_I te icc_or_xcc, %r0 + 50
1675 .word 0xacd52001 ! 486: UMULcc_I umulcc %r20, 0x0001, %r22
1676 .word 0x81982b96 ! 487: WRHPR_HPSTATE_I wrhpr %r0, 0x0b96, %hpstate
1677 .word 0xec8008a0 ! 488: LDUWA_R lduwa [%r0, %r0] 0x45, %r22
1678 .word 0xecc7e030 ! 489: LDSWA_I ldswa [%r31, + 0x0030] %asi, %r22
1679 .word 0x87902356 ! 490: WRPR_TT_I wrpr %r0, 0x0356, %tt
1680 .word 0x91d02031 ! 491: Tcc_I ta icc_or_xcc, %r0 + 49
1681 .word 0x8d902698 ! 492: WRPR_PSTATE_I wrpr %r0, 0x0698, %pstate
1682 .word 0x8ba5c9b1 ! 493: FDIVs fdivs %f23, %f17, %f5
1683 invalw
1684 mov 0x33, %r30
1685 .word 0x91d0001e ! 494: Tcc_R ta icc_or_xcc, %r0 + %r30
1686 .word 0x8c4e8017 ! 495: MULX_R mulx %r26, %r23, %r6
1687 .word 0x8d902e4c ! 496: WRPR_PSTATE_I wrpr %r0, 0x0e4c, %pstate
1688 .word 0x93902000 ! 497: WRPR_CWP_I wrpr %r0, 0x0000, %cwp
1689 .word 0x8d902cdd ! 498: WRPR_PSTATE_I wrpr %r0, 0x0cdd, %pstate
1690 .word 0x8d902e8a ! 499: WRPR_PSTATE_I wrpr %r0, 0x0e8a, %pstate
1691 ta T_CHANGE_TO_TL0 ! macro
1692 .word 0x8d902242 ! 501: WRPR_PSTATE_I wrpr %r0, 0x0242, %pstate
1693 .word 0xcc800c20 ! 502: LDUWA_R lduwa [%r0, %r0] 0x61, %r6
1694 .word 0x8d902287 ! 503: WRPR_PSTATE_I wrpr %r0, 0x0287, %pstate
1695 .word 0x85504000 ! 504: RDPR_TNPC rdpr %tnpc, %r2
1696 .word 0x8790219f ! 505: WRPR_TT_I wrpr %r0, 0x019f, %tt
1697 .word 0x90ac4001 ! 506: ANDNcc_R andncc %r17, %r1, %r8
1698 invalw
1699 mov 0x31, %r30
1700 .word 0x91d0001e ! 507: Tcc_R ta icc_or_xcc, %r0 + %r30
1701 .word 0x99902005 ! 508: WRPR_CLEANWIN_I wrpr %r0, 0x0005, %cleanwin
1702 .word 0x99902004 ! 509: WRPR_CLEANWIN_I wrpr %r0, 0x0004, %cleanwin
1703 .word 0x82ac400a ! 510: ANDNcc_R andncc %r17, %r10, %r1
1704 .word 0x93902004 ! 511: WRPR_CWP_I wrpr %r0, 0x0004, %cwp
1705 .word 0x20700001 ! 512: BPN <illegal instruction>
1706change_to_tl1_62:
1707 ta T_CHANGE_PRIV
1708 ta T_CHANGE_TO_TL1 ! macro
1709splash_lsu_63:
1710 set 0x7, %r2
1711 stxa %r2, [%r0] ASI_LSU_CONTROL
1712 .word 0x3d400001 ! 514: FBPULE fbule,a,pn %fcc0, <label_0x1>
1713 .word 0x9f802001 ! 515: SIR sir 0x0001
1714 .word 0x91d02035 ! 516: Tcc_I ta icc_or_xcc, %r0 + 53
1715change_to_randtl_64:
1716 ta T_CHANGE_PRIV ! macro
1717 .word 0x8f902001 ! 517: WRPR_TL_I wrpr %r0, 0x0001, %tl
1718 .word 0xa1902003 ! 518: WRPR_GL_I wrpr %r0, 0x0003, %-
1719 otherw
1720 mov 0xb5, %r30
1721 .word 0x91d0001e ! 519: Tcc_R ta icc_or_xcc, %r0 + %r30
1722 .word 0xa190200a ! 520: WRPR_GL_I wrpr %r0, 0x000a, %-
1723DS_65:
1724 .word 0x20800001 ! 522: BN bn,a <label_0x1>
1725 .word 0x32800001 ! 522: BNE bne,a <label_0x1>
1726 .word 0xdb120015 ! 522: LDQF_R - [%r8, %r21], %f13
1727 .word 0xaba64834 ! 521: FADDs fadds %f25, %f20, %f21
1728 ta T_CHANGE_PRIV ! macro
1729splash_lsu_66:
1730 set 0x3, %r2
1731 stxa %r2, [%r0] ASI_LSU_CONTROL
1732 .word 0x3d400001 ! 523: FBPULE fbule,a,pn %fcc0, <label_0x1>
1733 otherw
1734 mov 0xb4, %r30
1735 .word 0x91d0001e ! 524: Tcc_R ta icc_or_xcc, %r0 + %r30
1736 .word 0xada209b3 ! 525: FDIVs fdivs %f8, %f19, %f22
1737 .word 0xa1902000 ! 526: WRPR_GL_I wrpr %r0, 0x0000, %-
1738splash_tba_67:
1739 ta T_CHANGE_PRIV
1740 set 0x120000, %r2
1741 .word 0x8b900002 ! 527: WRPR_TBA_R wrpr %r0, %r2, %tba
1742 .word 0x8198241f ! 528: WRHPR_HPSTATE_I wrhpr %r0, 0x041f, %hpstate
1743 .word 0x93902000 ! 529: WRPR_CWP_I wrpr %r0, 0x0000, %cwp
1744 .word 0x81982c46 ! 530: WRHPR_HPSTATE_I wrhpr %r0, 0x0c46, %hpstate
1745 .word 0xa1902008 ! 531: WRPR_GL_I wrpr %r0, 0x0008, %-
1746splash_lsu_68:
1747 set 0x7, %r2
1748 stxa %r2, [%r0] ASI_LSU_CONTROL
1749 .word 0x3d400001 ! 532: FBPULE fbule,a,pn %fcc0, <label_0x1>
1750 .word 0x8d902805 ! 533: WRPR_PSTATE_I wrpr %r0, 0x0805, %pstate
1751splash_lsu_69:
1752 set 0x17, %r2
1753 stxa %r2, [%r0] ASI_LSU_CONTROL
1754 .word 0x3d400001 ! 534: FBPULE fbule,a,pn %fcc0, <label_0x1>
1755reduce_priv_level_70:
1756 .word 0x8f902001 ! 536: WRPR_TL_I wrpr %r0, 0x0001, %tl
1757 ta T_CHANGE_NONPRIV ! macro
1758 .word 0x81b01021 ! 535: SIAM siam 1
1759 .word 0x8d902e87 ! 536: WRPR_PSTATE_I wrpr %r0, 0x0e87, %pstate
1760 .word 0x91d02032 ! 537: Tcc_I ta icc_or_xcc, %r0 + 50
1761 .word 0xb5702001 ! 538: POPC_I popc 0x0001, %r26
1762 .word 0xf48fe010 ! 539: LDUBA_I lduba [%r31, + 0x0010] %asi, %r26
1763 .word 0x22700001 ! 540: BPE <illegal instruction>
1764 .word 0x30700001 ! 541: BPA <illegal instruction>
1765 .word 0x81982987 ! 542: WRHPR_HPSTATE_I wrhpr %r0, 0x0987, %hpstate
1766 otherw
1767 mov 0xb2, %r30
1768 .word 0x91d0001e ! 543: Tcc_R ta icc_or_xcc, %r0 + %r30
1769 .word 0x8caa4002 ! 544: ANDNcc_R andncc %r9, %r2, %r6
1770splash_tba_71:
1771 ta T_CHANGE_PRIV
1772 set 0x120000, %r2
1773 .word 0x8b900002 ! 545: WRPR_TBA_R wrpr %r0, %r2, %tba
1774 .word 0xaf702001 ! 546: POPC_I popc 0x0001, %r23
1775 .word 0x87902228 ! 547: WRPR_TT_I wrpr %r0, 0x0228, %tt
1776 .word 0x86844015 ! 548: ADDcc_R addcc %r17, %r21, %r3
1777 .word 0x99902005 ! 549: WRPR_CLEANWIN_I wrpr %r0, 0x0005, %cleanwin
1778 .word 0x87902072 ! 550: WRPR_TT_I wrpr %r0, 0x0072, %tt
1779 .word 0x93902005 ! 551: WRPR_CWP_I wrpr %r0, 0x0005, %cwp
1780 invalw
1781 mov 0xb4, %r30
1782 .word 0x91d0001e ! 552: Tcc_R ta icc_or_xcc, %r0 + %r30
1783 .word 0x8da189c9 ! 553: FDIVd fdivd %f6, %f40, %f6
1784 invalw
1785 mov 0x32, %r30
1786 .word 0x83d0001e ! 554: Tcc_R te icc_or_xcc, %r0 + %r30
1787 .word 0x81982b97 ! 555: WRHPR_HPSTATE_I wrhpr %r0, 0x0b97, %hpstate
1788 ta T_CHANGE_HPRIV ! macro
1789 .word 0xa7508000 ! 557: RDPR_TSTATE rdpr %tstate, %r19
1790 .word 0xe6900e80 ! 558: LDUHA_R lduha [%r0, %r0] 0x74, %r19
1791 .word 0x93902000 ! 559: WRPR_CWP_I wrpr %r0, 0x0000, %cwp
1792 .word 0x83d02033 ! 560: Tcc_I te icc_or_xcc, %r0 + 51
1793 .word 0x2c800001 ! 561: BNEG bneg,a <label_0x1>
1794 invalw
1795 mov 0x32, %r30
1796 .word 0x91d0001e ! 562: Tcc_R ta icc_or_xcc, %r0 + %r30
1797 invalw
1798 mov 0x33, %r30
1799 .word 0x93d0001e ! 563: Tcc_R tne icc_or_xcc, %r0 + %r30
1800 .word 0x9f802001 ! 564: SIR sir 0x0001
1801 .word 0xa6d34009 ! 565: UMULcc_R umulcc %r13, %r9, %r19
1802 .word 0x94d2e001 ! 566: UMULcc_I umulcc %r11, 0x0001, %r10
1803 .word 0x8d902805 ! 567: WRPR_PSTATE_I wrpr %r0, 0x0805, %pstate
1804 .word 0xd4bfc029 ! 568: STDA_R stda %r10, [%r31 + %r9] 0x01
1805 .word 0x9f802001 ! 569: SIR sir 0x0001
1806 .word 0xd4d804a0 ! 570: LDXA_R ldxa [%r0, %r0] 0x25, %r10
1807 .word 0x93902001 ! 571: WRPR_CWP_I wrpr %r0, 0x0001, %cwp
1808 .word 0x8950c000 ! 572: RDPR_TT rdpr %tt, %r4
1809 .word 0x81982295 ! 573: WRHPR_HPSTATE_I wrhpr %r0, 0x0295, %hpstate
1810reduce_priv_level_72:
1811 .word 0x8f902000 ! 575: WRPR_TL_I wrpr %r0, 0x0000, %tl
1812 ta T_CHANGE_NONPRIV ! macro
1813 .word 0xb1830000 ! 574: WR_STICK_REG_R wr %r12, %r0, %-
1814 .word 0x91d02035 ! 575: Tcc_I ta icc_or_xcc, %r0 + 53
1815 otherw
1816 mov 0x32, %r30
1817 .word 0x83d0001e ! 576: Tcc_R te icc_or_xcc, %r0 + %r30
1818 .word 0xc87fe001 ! 577: SWAP_I swap %r4, [%r31 + 0x0001]
1819 .word 0xa190200a ! 578: WRPR_GL_I wrpr %r0, 0x000a, %-
1820 .word 0x84d2000d ! 579: UMULcc_R umulcc %r8, %r13, %r2
1821 .word 0x81982854 ! 580: WRHPR_HPSTATE_I wrhpr %r0, 0x0854, %hpstate
1822 .word 0x879020ac ! 581: WRPR_TT_I wrpr %r0, 0x00ac, %tt
1823 .word 0x93902002 ! 582: WRPR_CWP_I wrpr %r0, 0x0002, %cwp
1824 .word 0x98836001 ! 583: ADDcc_I addcc %r13, 0x0001, %r12
1825 .word 0x87902076 ! 584: WRPR_TT_I wrpr %r0, 0x0076, %tt
1826 .word 0x89a189b6 ! 585: FDIVs fdivs %f6, %f22, %f4
1827 .word 0x3c800001 ! 586: BPOS bpos,a <label_0x1>
1828 .word 0x93902005 ! 587: WRPR_CWP_I wrpr %r0, 0x0005, %cwp
1829 .word 0xc8d80e80 ! 588: LDXA_R ldxa [%r0, %r0] 0x74, %r4
1830 .word 0x88d18007 ! 589: UMULcc_R umulcc %r6, %r7, %r4
1831DS_73:
1832 .word 0x20800001 ! 591: BN bn,a <label_0x1>
1833 .word 0x32800001 ! 591: BNE bne,a <label_0x1>
1834 .word 0xc515c005 ! 591: LDQF_R - [%r23, %r5], %f2
1835 .word 0x8da2482d ! 590: FADDs fadds %f9, %f13, %f6
1836 .word 0x93d02031 ! 591: Tcc_I tne icc_or_xcc, %r0 + 49
1837 .word 0x91a00566 ! 592: FSQRTq fsqrt
1838 .word 0x8d902217 ! 593: WRPR_PSTATE_I wrpr %r0, 0x0217, %pstate
1839 .word 0xa4c6e001 ! 594: ADDCcc_I addccc %r27, 0x0001, %r18
1840DS_74:
1841 .word 0x32800001 ! 596: BNE bne,a <label_0x1>
1842 pdist %f28, %f20, %f22
1843 .word 0x83b24309 ! 595: ALLIGNADDRESS alignaddr %r9, %r9, %r1
1844 .word 0x81982195 ! 596: WRHPR_HPSTATE_I wrhpr %r0, 0x0195, %hpstate
1845 .word 0x8d902c44 ! 597: WRPR_PSTATE_I wrpr %r0, 0x0c44, %pstate
1846 .word 0xc3e7c029 ! 598: CASA_I casa [%r31] 0x 1, %r9, %r1
1847 .word 0x87802080 ! 599: WRASI_I wr %r0, 0x0080, %asi
1848 .word 0x93902004 ! 600: WRPR_CWP_I wrpr %r0, 0x0004, %cwp
1849 .word 0x8d802000 ! 601: WRFPRS_I wr %r0, 0x0000, %fprs
1850 .word 0x93902002 ! 602: WRPR_CWP_I wrpr %r0, 0x0002, %cwp
1851 .word 0xa1902002 ! 603: WRPR_GL_I wrpr %r0, 0x0002, %-
1852 .word 0xc3e7c029 ! 604: CASA_I casa [%r31] 0x 1, %r9, %r1
1853 .word 0x8d90248b ! 605: WRPR_PSTATE_I wrpr %r0, 0x048b, %pstate
1854 otherw
1855 mov 0xb3, %r30
1856 .word 0x91d0001e ! 606: Tcc_R ta icc_or_xcc, %r0 + %r30
1857 .word 0x91d02035 ! 607: Tcc_I ta icc_or_xcc, %r0 + 53
1858 .word 0xa190200d ! 608: WRPR_GL_I wrpr %r0, 0x000d, %-
1859 .word 0xa369800a ! 609: SDIVX_R sdivx %r6, %r10, %r17
1860reduce_priv_level_75:
1861 .word 0x8f902002 ! 611: WRPR_TL_I wrpr %r0, 0x0002, %tl
1862 ta T_CHANGE_NONHPRIV ! macro
1863 .word 0xa1a0196a ! 610: FqTOd dis not found
1864
1865 .word 0xe0c7e010 ! 611: LDSWA_I ldswa [%r31, + 0x0010] %asi, %r16
1866 .word 0xe0d004a0 ! 612: LDSHA_R ldsha [%r0, %r0] 0x25, %r16
1867 invalw
1868 mov 0x31, %r30
1869 .word 0x91d0001e ! 613: Tcc_R ta icc_or_xcc, %r0 + %r30
1870DS_76:
1871 .word 0x22800001 ! 615: BE be,a <label_0x1>
1872 .word 0xd135a001 ! 615: STQF_I - %f8, [0x0001, %r22]
1873 normalw
1874 .word 0xa1458000 ! 614: RD_SOFTINT_REG rd %softint, %r16
1875splash_lsu_77:
1876 set 0x17, %r2
1877 stxa %r2, [%r0] ASI_LSU_CONTROL
1878 .word 0x3d400001 ! 615: FBPULE fbule,a,pn %fcc0, <label_0x1>
1879 .word 0x97514000 ! 616: RDPR_TBA rdpr %tba, %r11
1880splash_htba_78:
1881 ta T_CHANGE_HPRIV
1882 set 0x003b0000, %r2
1883 .word 0x8b980002 ! 617: WRHPR_HTBA_R wrhpr %r0, %r2, %htba
1884 .word 0x8d802000 ! 618: WRFPRS_I wr %r0, 0x0000, %fprs
1885 .word 0xa1902003 ! 619: WRPR_GL_I wrpr %r0, 0x0003, %-
1886 .word 0x91d02031 ! 620: Tcc_I ta icc_or_xcc, %r0 + 49
1887 .word 0x97a000cb ! 621: FNEGd fnegd %f42, %f42
1888 .word 0x879023a8 ! 622: WRPR_TT_I wrpr %r0, 0x03a8, %tt
1889 .word 0x8d902610 ! 623: WRPR_PSTATE_I wrpr %r0, 0x0610, %pstate
1890 .word 0xa1902001 ! 624: WRPR_GL_I wrpr %r0, 0x0001, %-
1891 .word 0xa9a00547 ! 625: FSQRTd fsqrt
1892 .word 0x81982515 ! 626: WRHPR_HPSTATE_I wrhpr %r0, 0x0515, %hpstate
1893 .word 0xe8c7e020 ! 627: LDSWA_I ldswa [%r31, + 0x0020] %asi, %r20
1894DS_79:
1895 .word 0x22800001 ! 629: BE be,a <label_0x1>
1896 .word 0xbfe7c000 ! 628: SAVE_R save %r31, %r0, %r31
1897 .word 0x8d90289b ! 629: WRPR_PSTATE_I wrpr %r0, 0x089b, %pstate
1898 .word 0x8d802000 ! 630: WRFPRS_I wr %r0, 0x0000, %fprs
1899 .word 0x99a20d27 ! 631: FsMULd fsmuld %f8, %f38, %f12
1900 .word 0x8790221e ! 632: WRPR_TT_I wrpr %r0, 0x021e, %tt
1901 .word 0xa485e001 ! 633: ADDcc_I addcc %r23, 0x0001, %r18
1902 .word 0xa1902005 ! 634: WRPR_GL_I wrpr %r0, 0x0005, %-
1903DS_80:
1904 .word 0x32800001 ! 636: BNE bne,a <label_0x1>
1905 illtrap
1906 .word 0xa3a00540 ! 636: FSQRTd fsqrt
1907 .word 0x9ba14824 ! 635: FADDs fadds %f5, %f4, %f13
1908 .word 0x8d902018 ! 636: WRPR_PSTATE_I wrpr %r0, 0x0018, %pstate
1909 .word 0xda57e001 ! 637: LDSH_I ldsh [%r31 + 0x0001], %r13
1910 .word 0x91d02035 ! 638: Tcc_I ta icc_or_xcc, %r0 + 53
1911 otherw
1912 mov 0x31, %r30
1913 .word 0x91d0001e ! 639: Tcc_R ta icc_or_xcc, %r0 + %r30
1914splash_lsu_81:
1915 set 0xf, %r2
1916 stxa %r2, [%r0] ASI_LSU_CONTROL
1917 .word 0x3d400001 ! 640: FBPULE fbule,a,pn %fcc0, <label_0x1>
1918 .word 0x8d802000 ! 641: WRFPRS_I wr %r0, 0x0000, %fprs
1919 .word 0x8350c000 ! 642: RDPR_TT rdpr %tt, %r1
1920 .word 0xa1902009 ! 643: WRPR_GL_I wrpr %r0, 0x0009, %-
1921 invalw
1922 mov 0x33, %r30
1923 .word 0x91d0001e ! 644: Tcc_R ta icc_or_xcc, %r0 + %r30
1924 .word 0xa64d4008 ! 645: MULX_R mulx %r21, %r8, %r19
1925 .word 0x879020a3 ! 646: WRPR_TT_I wrpr %r0, 0x00a3, %tt
1926 .word 0xaad84009 ! 647: SMULcc_R smulcc %r1, %r9, %r21
1927reduce_priv_level_82:
1928 .word 0x8f902002 ! 649: WRPR_TL_I wrpr %r0, 0x0002, %tl
1929 ta T_CHANGE_NONPRIV ! macro
1930 .word 0x856ea001 ! 648: SDIVX_I sdivx %r26, 0x0001, %r2
1931 .word 0x9f802001 ! 649: SIR sir 0x0001
1932 .word 0x86dd4000 ! 650: SMULcc_R smulcc %r21, %r0, %r3
1933 .word 0x81702001 ! 651: POPC_I popc 0x0001, %r0
1934 .word 0x93902007 ! 652: WRPR_CWP_I wrpr %r0, 0x0007, %cwp
1935 .word 0x93902005 ! 653: WRPR_CWP_I wrpr %r0, 0x0005, %cwp
1936 .word 0x91d02032 ! 654: Tcc_I ta icc_or_xcc, %r0 + 50
1937 otherw
1938 mov 0x32, %r30
1939 .word 0x91d0001e ! 655: Tcc_R ta icc_or_xcc, %r0 + %r30
1940splash_tba_83:
1941 ta T_CHANGE_PRIV
1942 set 0x120000, %r2
1943 .word 0x8b900002 ! 656: WRPR_TBA_R wrpr %r0, %r2, %tba
1944 .word 0x8790235b ! 657: WRPR_TT_I wrpr %r0, 0x035b, %tt
1945 .word 0x91d02033 ! 658: Tcc_I ta icc_or_xcc, %r0 + 51
1946 invalw
1947 mov 0xb0, %r30
1948 .word 0x91d0001e ! 659: Tcc_R ta icc_or_xcc, %r0 + %r30
1949 .word 0x22700001 ! 660: BPE <illegal instruction>
1950 .word 0x83508000 ! 661: RDPR_TSTATE rdpr %tstate, %r1
1951 invalw
1952 mov 0x33, %r30
1953 .word 0x91d0001e ! 662: Tcc_R ta icc_or_xcc, %r0 + %r30
1954 .word 0xb6c1e001 ! 663: ADDCcc_I addccc %r7, 0x0001, %r27
1955 .word 0x87902355 ! 664: WRPR_TT_I wrpr %r0, 0x0355, %tt
1956 .word 0x8d9026c1 ! 665: WRPR_PSTATE_I wrpr %r0, 0x06c1, %pstate
1957 .word 0xf6c004a0 ! 666: LDSWA_R ldswa [%r0, %r0] 0x25, %r27
1958 .word 0x87902315 ! 667: WRPR_TT_I wrpr %r0, 0x0315, %tt
1959 .word 0xa1902004 ! 668: WRPR_GL_I wrpr %r0, 0x0004, %-
1960 .word 0x93902000 ! 669: WRPR_CWP_I wrpr %r0, 0x0000, %cwp
1961 .word 0xb751c000 ! 670: RDPR_TL rdpr %tl, %r27
1962 invalw
1963 mov 0xb4, %r30
1964 .word 0x91d0001e ! 671: Tcc_R ta icc_or_xcc, %r0 + %r30
1965 .word 0xb7a089f8 ! 672: FDIVq dis not found
1966
1967 .word 0xf67fe001 ! 673: SWAP_I swap %r27, [%r31 + 0x0001]
1968 .word 0x81b30feb ! 674: FONES fones %f0
1969 .word 0x9f802001 ! 675: SIR sir 0x0001
1970 .word 0x93902001 ! 676: WRPR_CWP_I wrpr %r0, 0x0001, %cwp
1971 .word 0x91d02034 ! 677: Tcc_I ta icc_or_xcc, %r0 + 52
1972 .word 0x93902000 ! 678: WRPR_CWP_I wrpr %r0, 0x0000, %cwp
1973 .word 0x819825d6 ! 679: WRHPR_HPSTATE_I wrhpr %r0, 0x05d6, %hpstate
1974 invalw
1975 mov 0x34, %r30
1976 .word 0x93d0001e ! 680: Tcc_R tne icc_or_xcc, %r0 + %r30
1977 .word 0xa1902005 ! 681: WRPR_GL_I wrpr %r0, 0x0005, %-
1978 .word 0x91d02032 ! 682: Tcc_I ta icc_or_xcc, %r0 + 50
1979 invalw
1980 mov 0x34, %r30
1981 .word 0x93d0001e ! 683: Tcc_R tne icc_or_xcc, %r0 + %r30
1982DS_84:
1983 .word 0x22800001 ! 685: BE be,a <label_0x1>
1984 .word 0xcf366001 ! 685: STQF_I - %f7, [0x0001, %r25]
1985 normalw
1986 .word 0x8d458000 ! 684: RD_SOFTINT_REG rd %softint, %r6
1987 .word 0x89a6cdc4 ! 685: FdMULq fdmulq
1988 .word 0xc85fc000 ! 686: LDX_R ldx [%r31 + %r0], %r4
1989 .word 0x8280c009 ! 687: ADDcc_R addcc %r3, %r9, %r1
1990 .word 0x8fa109d3 ! 688: FDIVd fdivd %f4, %f50, %f38
1991 .word 0xce47c000 ! 689: LDSW_R ldsw [%r31 + %r0], %r7
1992 .word 0x3c700001 ! 690: BPPOS <illegal instruction>
1993 .word 0x9f802001 ! 691: SIR sir 0x0001
1994 .word 0x8790208d ! 692: WRPR_TT_I wrpr %r0, 0x008d, %tt
1995splash_htba_85:
1996 ta T_CHANGE_HPRIV
1997 set 0x80000, %r2
1998 .word 0x8b980002 ! 693: WRHPR_HTBA_R wrhpr %r0, %r2, %htba
1999 .word 0x91d02031 ! 694: Tcc_I ta icc_or_xcc, %r0 + 49
2000 .word 0x97a289b9 ! 695: FDIVs fdivs %f10, %f25, %f11
2001 .word 0x879023c9 ! 696: WRPR_TT_I wrpr %r0, 0x03c9, %tt
2002 .word 0x8d802000 ! 697: WRFPRS_I wr %r0, 0x0000, %fprs
2003 .word 0xd697e000 ! 698: LDUHA_I lduha [%r31, + 0x0000] %asi, %r11
2004 .word 0x20700001 ! 699: BPN <illegal instruction>
2005 .word 0x8198200f ! 700: WRHPR_HPSTATE_I wrhpr %r0, 0x000f, %hpstate
2006 .word 0xa1902004 ! 701: WRPR_GL_I wrpr %r0, 0x0004, %-
2007 .word 0xa1902006 ! 702: WRPR_GL_I wrpr %r0, 0x0006, %-
2008 .word 0x8d902659 ! 703: WRPR_PSTATE_I wrpr %r0, 0x0659, %pstate
2009 .word 0x97514000 ! 704: RDPR_TBA rdpr %tba, %r11
2010 ta T_CHANGE_TO_TL0 ! macro
2011splash_lsu_86:
2012 set 0x1b, %r2
2013 stxa %r2, [%r0] ASI_LSU_CONTROL
2014 .word 0x3d400001 ! 706: FBPULE fbule,a,pn %fcc0, <label_0x1>
2015 otherw
2016 mov 0xb4, %r30
2017 .word 0x91d0001e ! 707: Tcc_R ta icc_or_xcc, %r0 + %r30
2018 .word 0xd6dfe020 ! 708: LDXA_I ldxa [%r31, + 0x0020] %asi, %r11
2019 .word 0xd737c019 ! 709: STQF_R - %f11, [%r25, %r31]
2020splash_tba_87:
2021 ta T_CHANGE_PRIV
2022 set 0x003f0000, %r2
2023 .word 0x8b900002 ! 710: WRPR_TBA_R wrpr %r0, %r2, %tba
2024 .word 0x87902343 ! 711: WRPR_TT_I wrpr %r0, 0x0343, %tt
2025 .word 0x93902003 ! 712: WRPR_CWP_I wrpr %r0, 0x0003, %cwp
2026 .word 0xada609cd ! 713: FDIVd fdivd %f24, %f44, %f22
2027splash_htba_88:
2028 ta T_CHANGE_HPRIV
2029 set 0x80000, %r2
2030 .word 0x8b980002 ! 714: WRHPR_HTBA_R wrhpr %r0, %r2, %htba
2031 otherw
2032 mov 0x31, %r30
2033 .word 0x93d0001e ! 715: Tcc_R tne icc_or_xcc, %r0 + %r30
2034 .word 0x91d02030 ! 716: Tcc_I ta icc_or_xcc, %r0 + 48
2035 otherw
2036 mov 0x31, %r30
2037 .word 0x91d0001e ! 717: Tcc_R ta icc_or_xcc, %r0 + %r30
2038 .word 0x99540000 ! 718: RDPR_GL rdpr %-, %r12
2039 otherw
2040 mov 0xb3, %r30
2041 .word 0x91d0001e ! 719: Tcc_R ta icc_or_xcc, %r0 + %r30
2042 .word 0x8d9024d7 ! 720: WRPR_PSTATE_I wrpr %r0, 0x04d7, %pstate
2043splash_tba_89:
2044 ta T_CHANGE_PRIV
2045 set 0x120000, %r2
2046 .word 0x8b900002 ! 721: WRPR_TBA_R wrpr %r0, %r2, %tba
2047 invalw
2048 mov 0x33, %r30
2049 .word 0x83d0001e ! 722: Tcc_R te icc_or_xcc, %r0 + %r30
2050 .word 0x83d02035 ! 723: Tcc_I te icc_or_xcc, %r0 + 53
2051DS_90:
2052 .word 0x20800001 ! 725: BN bn,a <label_0x1>
2053 allclean
2054 .word 0x8bb14310 ! 724: ALLIGNADDRESS alignaddr %r5, %r16, %r5
2055splash_lsu_91:
2056 set 0x7, %r2
2057 stxa %r2, [%r0] ASI_LSU_CONTROL
2058 .word 0x3d400001 ! 725: FBPULE fbule,a,pn %fcc0, <label_0x1>
2059 invalw
2060 mov 0x33, %r30
2061 .word 0x91d0001e ! 726: Tcc_R ta icc_or_xcc, %r0 + %r30
2062 .word 0x8790205e ! 727: WRPR_TT_I wrpr %r0, 0x005e, %tt
2063 .word 0x8d902805 ! 728: WRPR_PSTATE_I wrpr %r0, 0x0805, %pstate
2064DS_92:
2065 .word 0x32800001 ! 730: BNE bne,a <label_0x1>
2066 .word 0xbfe7c000 ! 729: SAVE_R save %r31, %r0, %r31
2067 .word 0x8d902a42 ! 730: WRPR_PSTATE_I wrpr %r0, 0x0a42, %pstate
2068 .word 0xa1902009 ! 731: WRPR_GL_I wrpr %r0, 0x0009, %-
2069 ta T_CHANGE_HPRIV ! macro
2070 .word 0xa7a54d20 ! 733: FsMULd fsmuld %f21, %f0, %f50
2071 .word 0x93902003 ! 734: WRPR_CWP_I wrpr %r0, 0x0003, %cwp
2072 .word 0xa1902006 ! 735: WRPR_GL_I wrpr %r0, 0x0006, %-
2073 .word 0x9f802001 ! 736: SIR sir 0x0001
2074 .word 0x94498007 ! 737: MULX_R mulx %r6, %r7, %r10
2075splash_lsu_93:
2076 set 0x3, %r2
2077 stxa %r2, [%r0] ASI_LSU_CONTROL
2078 .word 0x3d400001 ! 738: FBPULE fbule,a,pn %fcc0, <label_0x1>
2079 .word 0x93902006 ! 739: WRPR_CWP_I wrpr %r0, 0x0006, %cwp
2080DS_94:
2081 .word 0x34800001 ! 741: BG bg,a <label_0x1>
2082 illtrap
2083 .word 0xd710401b ! 741: LDQF_R - [%r1, %r27], %f11
2084 .word 0x87a30835 ! 740: FADDs fadds %f12, %f21, %f3
2085DS_95:
2086 .word 0x20800001 ! 742: BN bn,a <label_0x1>
2087 .word 0x20800001 ! 742: BN bn,a <label_0x1>
2088 .word 0x93a00544 ! 742: FSQRTd fsqrt
2089 .word 0x9ba68836 ! 741: FADDs fadds %f26, %f22, %f13
2090 .word 0x99902003 ! 742: WRPR_CLEANWIN_I wrpr %r0, 0x0003, %cleanwin
2091 .word 0x93902003 ! 743: WRPR_CWP_I wrpr %r0, 0x0003, %cwp
2092 .word 0xda8008a0 ! 744: LDUWA_R lduwa [%r0, %r0] 0x45, %r13
2093splash_htba_96:
2094 ta T_CHANGE_HPRIV
2095 set 0x00380000, %r2
2096 .word 0x8b980002 ! 745: WRHPR_HTBA_R wrhpr %r0, %r2, %htba
2097 .word 0xa1902005 ! 746: WRPR_GL_I wrpr %r0, 0x0005, %-
2098splash_lsu_97:
2099 set 0x13, %r2
2100 stxa %r2, [%r0] ASI_LSU_CONTROL
2101 .word 0x3d400001 ! 747: FBPULE fbule,a,pn %fcc0, <label_0x1>
2102 invalw
2103 mov 0x32, %r30
2104 .word 0x93d0001e ! 748: Tcc_R tne icc_or_xcc, %r0 + %r30
2105 ta T_CHANGE_HPRIV ! macro
2106 .word 0x8198268d ! 750: WRHPR_HPSTATE_I wrhpr %r0, 0x068d, %hpstate
2107 .word 0x83d02031 ! 751: Tcc_I te icc_or_xcc, %r0 + 49
2108reduce_priv_level_98:
2109 .word 0x8f902001 ! 753: WRPR_TL_I wrpr %r0, 0x0001, %tl
2110 ta T_CHANGE_NONPRIV ! macro
2111 .word 0x81b01021 ! 752: SIAM siam 1
2112 .word 0x93902002 ! 753: WRPR_CWP_I wrpr %r0, 0x0002, %cwp
2113 .word 0x99902000 ! 754: WRPR_CLEANWIN_I wrpr %r0, 0x0000, %cleanwin
2114 .word 0x93d02032 ! 755: Tcc_I tne icc_or_xcc, %r0 + 50
2115 .word 0x8790213b ! 756: WRPR_TT_I wrpr %r0, 0x013b, %tt
2116 .word 0xa1902007 ! 757: WRPR_GL_I wrpr %r0, 0x0007, %-
2117 .word 0x8790212d ! 758: WRPR_TT_I wrpr %r0, 0x012d, %tt
2118 .word 0x93d02035 ! 759: Tcc_I tne icc_or_xcc, %r0 + 53
2119 .word 0x91d02033 ! 760: Tcc_I ta icc_or_xcc, %r0 + 51
2120 .word 0x83d02031 ! 761: Tcc_I te icc_or_xcc, %r0 + 49
2121 .word 0x93902000 ! 762: WRPR_CWP_I wrpr %r0, 0x0000, %cwp
2122 .word 0x83d02032 ! 763: Tcc_I te icc_or_xcc, %r0 + 50
2123 .word 0x9f802001 ! 764: SIR sir 0x0001
2124 .word 0xa0c52001 ! 765: ADDCcc_I addccc %r20, 0x0001, %r16
2125 .word 0x9f802001 ! 766: SIR sir 0x0001
2126 .word 0xa1902006 ! 767: WRPR_GL_I wrpr %r0, 0x0006, %-
2127 .word 0x879023c4 ! 768: WRPR_TT_I wrpr %r0, 0x03c4, %tt
2128 .word 0xb3504000 ! 769: RDPR_TNPC rdpr %tnpc, %r25
2129 .word 0x8790220a ! 770: WRPR_TT_I wrpr %r0, 0x020a, %tt
2130 .word 0xa190200f ! 771: WRPR_GL_I wrpr %r0, 0x000f, %-
2131 otherw
2132 mov 0x33, %r30
2133 .word 0x91d0001e ! 772: Tcc_R ta icc_or_xcc, %r0 + %r30
2134 .word 0x95500000 ! 773: RDPR_TPC rdpr %tpc, %r10
2135 .word 0x879022a6 ! 774: WRPR_TT_I wrpr %r0, 0x02a6, %tt
2136 .word 0x81982b85 ! 775: WRHPR_HPSTATE_I wrhpr %r0, 0x0b85, %hpstate
2137 .word 0xa1902000 ! 776: WRPR_GL_I wrpr %r0, 0x0000, %-
2138 .word 0x93902000 ! 777: WRPR_CWP_I wrpr %r0, 0x0000, %cwp
2139 .word 0x83d02035 ! 778: Tcc_I te icc_or_xcc, %r0 + 53
2140 otherw
2141 mov 0x31, %r30
2142 .word 0x91d0001e ! 779: Tcc_R ta icc_or_xcc, %r0 + %r30
2143 .word 0x93902006 ! 780: WRPR_CWP_I wrpr %r0, 0x0006, %cwp
2144DS_99:
2145 nop
2146 not %g0, %g2
2147 jmp %g2
2148 .word 0x9d902004 ! 781: WRPR_WSTATE_I wrpr %r0, 0x0004, %wstate
2149 .word 0x879022c2 ! 782: WRPR_TT_I wrpr %r0, 0x02c2, %tt
2150 .word 0xb5a00dc9 ! 783: FdMULq fdmulq
2151 .word 0x2e800001 ! 784: BVS bvs,a <label_0x1>
2152 .word 0x819828d6 ! 785: WRHPR_HPSTATE_I wrhpr %r0, 0x08d6, %hpstate
2153 invalw
2154 mov 0xb3, %r30
2155 .word 0x91d0001e ! 786: Tcc_R ta icc_or_xcc, %r0 + %r30
2156 .word 0x8d902a85 ! 787: WRPR_PSTATE_I wrpr %r0, 0x0a85, %pstate
2157 .word 0x81982a15 ! 788: WRHPR_HPSTATE_I wrhpr %r0, 0x0a15, %hpstate
2158 .word 0xf4ffc029 ! 789: SWAPA_R swapa %r26, [%r31 + %r9] 0x01
2159 .word 0x93902004 ! 790: WRPR_CWP_I wrpr %r0, 0x0004, %cwp
2160 .word 0x8198215d ! 791: WRHPR_HPSTATE_I wrhpr %r0, 0x015d, %hpstate
2161 .word 0x2e700001 ! 792: BPVS <illegal instruction>
2162splash_lsu_100:
2163 set 0xf, %r2
2164 stxa %r2, [%r0] ASI_LSU_CONTROL
2165 .word 0x3d400001 ! 793: FBPULE fbule,a,pn %fcc0, <label_0x1>
2166 otherw
2167 mov 0x34, %r30
2168 .word 0x91d0001e ! 794: Tcc_R ta icc_or_xcc, %r0 + %r30
2169splash_htba_101:
2170 ta T_CHANGE_HPRIV
2171 set 0x80000, %r2
2172 .word 0x8b980002 ! 795: WRHPR_HTBA_R wrhpr %r0, %r2, %htba
2173 .word 0xf497e020 ! 796: LDUHA_I lduha [%r31, + 0x0020] %asi, %r26
2174 .word 0x8d902093 ! 797: WRPR_PSTATE_I wrpr %r0, 0x0093, %pstate
2175 .word 0xa351c000 ! 798: RDPR_TL rdpr %tl, %r17
2176 .word 0x81982e95 ! 799: WRHPR_HPSTATE_I wrhpr %r0, 0x0e95, %hpstate
2177 .word 0x93d02033 ! 800: Tcc_I tne icc_or_xcc, %r0 + 51
2178 invalw
2179 mov 0xb4, %r30
2180 .word 0x91d0001e ! 801: Tcc_R ta icc_or_xcc, %r0 + %r30
2181 ta T_CHANGE_HPRIV ! macro
2182 .word 0x2e700001 ! 803: BPVS <illegal instruction>
2183DS_102:
2184 .word 0x20800001 ! 805: BN bn,a <label_0x1>
2185 illtrap
2186 .word 0xcd10400a ! 805: LDQF_R - [%r1, %r10], %f6
2187 .word 0x95a60828 ! 804: FADDs fadds %f24, %f8, %f10
2188 .word 0x906e0000 ! 805: UDIVX_R udivx %r24, %r0, %r8
2189 .word 0x2c800001 ! 806: BNEG bneg,a <label_0x1>
2190 .word 0x93902000 ! 807: WRPR_CWP_I wrpr %r0, 0x0000, %cwp
2191 .word 0x83d02032 ! 808: Tcc_I te icc_or_xcc, %r0 + 50
2192 .word 0xd0c004a0 ! 809: LDSWA_R ldswa [%r0, %r0] 0x25, %r8
2193 .word 0x93902007 ! 810: WRPR_CWP_I wrpr %r0, 0x0007, %cwp
2194 .word 0x8d802000 ! 811: WRFPRS_I wr %r0, 0x0000, %fprs
2195 .word 0x8285e001 ! 812: ADDcc_I addcc %r23, 0x0001, %r1
2196 .word 0x36800001 ! 813: BGE bge,a <label_0x1>
2197 otherw
2198 mov 0x35, %r30
2199 .word 0x91d0001e ! 814: Tcc_R ta icc_or_xcc, %r0 + %r30
2200 .word 0x8198258f ! 815: WRHPR_HPSTATE_I wrhpr %r0, 0x058f, %hpstate
2201 .word 0x83d02032 ! 816: Tcc_I te icc_or_xcc, %r0 + 50
2202DS_103:
2203 .word 0x20800001 ! 818: BN bn,a <label_0x1>
2204 pdist %f30, %f4, %f28
2205 .word 0x8bb14301 ! 817: ALLIGNADDRESS alignaddr %r5, %r1, %r5
2206 .word 0xa190200f ! 818: WRPR_GL_I wrpr %r0, 0x000f, %-
2207 .word 0x87902075 ! 819: WRPR_TT_I wrpr %r0, 0x0075, %tt
2208 .word 0x93902000 ! 820: WRPR_CWP_I wrpr %r0, 0x0000, %cwp
2209 .word 0x8d902605 ! 821: WRPR_PSTATE_I wrpr %r0, 0x0605, %pstate
2210 .word 0xac4d801a ! 822: MULX_R mulx %r22, %r26, %r22
2211 invalw
2212 mov 0x35, %r30
2213 .word 0x91d0001e ! 823: Tcc_R ta icc_or_xcc, %r0 + %r30
2214 .word 0xa1902001 ! 824: WRPR_GL_I wrpr %r0, 0x0001, %-
2215 .word 0x93902000 ! 825: WRPR_CWP_I wrpr %r0, 0x0000, %cwp
2216splash_htba_104:
2217 ta T_CHANGE_HPRIV
2218 set 0x80000, %r2
2219 .word 0x8b980002 ! 826: WRHPR_HTBA_R wrhpr %r0, %r2, %htba
2220 .word 0x93902003 ! 827: WRPR_CWP_I wrpr %r0, 0x0003, %cwp
2221 .word 0x87802010 ! 828: WRASI_I wr %r0, 0x0010, %asi
2222 otherw
2223 mov 0x35, %r30
2224 .word 0x93d0001e ! 829: Tcc_R tne icc_or_xcc, %r0 + %r30
2225change_to_randtl_105:
2226 ta T_CHANGE_HPRIV ! macro
2227 .word 0x8f902004 ! 830: WRPR_TL_I wrpr %r0, 0x0004, %tl
2228 .word 0x87902206 ! 831: WRPR_TT_I wrpr %r0, 0x0206, %tt
2229 .word 0x879020e3 ! 832: WRPR_TT_I wrpr %r0, 0x00e3, %tt
2230DS_106:
2231 .word 0x34800001 ! 834: BG bg,a <label_0x1>
2232 .word 0xbfe7c000 ! 833: SAVE_R save %r31, %r0, %r31
2233 .word 0xa190200a ! 834: WRPR_GL_I wrpr %r0, 0x000a, %-
2234 .word 0x88d1a001 ! 835: UMULcc_I umulcc %r6, 0x0001, %r4
2235splash_tba_107:
2236 ta T_CHANGE_PRIV
2237 set 0x120000, %r2
2238 .word 0x8b900002 ! 836: WRPR_TBA_R wrpr %r0, %r2, %tba
2239 .word 0x81a01a6a ! 837: FqTOi fqtoi
2240 .word 0x8d902c8a ! 838: WRPR_PSTATE_I wrpr %r0, 0x0c8a, %pstate
2241 .word 0x91d02032 ! 839: Tcc_I ta icc_or_xcc, %r0 + 50
2242splash_lsu_108:
2243 set 0x3, %r2
2244 stxa %r2, [%r0] ASI_LSU_CONTROL
2245 .word 0x3d400001 ! 840: FBPULE fbule,a,pn %fcc0, <label_0x1>
2246 .word 0x89a40dc8 ! 841: FdMULq fdmulq
2247 .word 0x8d902a5e ! 842: WRPR_PSTATE_I wrpr %r0, 0x0a5e, %pstate
2248 .word 0x81982a04 ! 843: WRHPR_HPSTATE_I wrhpr %r0, 0x0a04, %hpstate
2249 .word 0x91d02035 ! 844: Tcc_I ta icc_or_xcc, %r0 + 53
2250 .word 0x93902002 ! 845: WRPR_CWP_I wrpr %r0, 0x0002, %cwp
2251 otherw
2252 mov 0x35, %r30
2253 .word 0x91d0001e ! 846: Tcc_R ta icc_or_xcc, %r0 + %r30
2254 .word 0x22800001 ! 847: BE be,a <label_0x1>
2255 .word 0xa190200e ! 848: WRPR_GL_I wrpr %r0, 0x000e, %-
2256splash_tba_109:
2257 ta T_CHANGE_PRIV
2258 set 0x120000, %r2
2259 .word 0x8b900002 ! 849: WRPR_TBA_R wrpr %r0, %r2, %tba
2260 invalw
2261 mov 0xb3, %r30
2262 .word 0x91d0001e ! 850: Tcc_R ta icc_or_xcc, %r0 + %r30
2263 .word 0x83d02032 ! 851: Tcc_I te icc_or_xcc, %r0 + 50
2264 .word 0x93a149b1 ! 852: FDIVs fdivs %f5, %f17, %f9
2265 ta T_CHANGE_PRIV ! macro
2266 .word 0x8790212c ! 854: WRPR_TT_I wrpr %r0, 0x012c, %tt
2267 .word 0x91d02030 ! 855: Tcc_I ta icc_or_xcc, %r0 + 48
2268 .word 0xad508000 ! 856: RDPR_TSTATE rdpr %tstate, %r22
2269 .word 0x87902004 ! 857: WRPR_TT_I wrpr %r0, 0x0004, %tt
2270 .word 0xa1902006 ! 858: WRPR_GL_I wrpr %r0, 0x0006, %-
2271 .word 0x95a2c9b0 ! 859: FDIVs fdivs %f11, %f16, %f10
2272 .word 0xa1902008 ! 860: WRPR_GL_I wrpr %r0, 0x0008, %-
2273change_to_tl1_110:
2274 ta T_CHANGE_PRIV
2275 ta T_CHANGE_TO_TL1 ! macro
2276DS_111:
2277 .word 0x20800001 ! 863: BN bn,a <label_0x1>
2278 .word 0xbfefc000 ! 862: RESTORE_R restore %r31, %r0, %r31
2279 .word 0xa1902009 ! 863: WRPR_GL_I wrpr %r0, 0x0009, %-
2280 .word 0x93902005 ! 864: WRPR_CWP_I wrpr %r0, 0x0005, %cwp
2281 .word 0x83d02031 ! 865: Tcc_I te icc_or_xcc, %r0 + 49
2282 invalw
2283 mov 0x34, %r30
2284 .word 0x91d0001e ! 866: Tcc_R ta icc_or_xcc, %r0 + %r30
2285 .word 0x9ba449da ! 867: FDIVd fdivd %f48, %f26, %f44
2286 .word 0x8198229c ! 868: WRHPR_HPSTATE_I wrhpr %r0, 0x029c, %hpstate
2287splash_htba_112:
2288 ta T_CHANGE_HPRIV
2289 set 0x80000, %r2
2290 .word 0x8b980002 ! 869: WRHPR_HTBA_R wrhpr %r0, %r2, %htba
2291 otherw
2292 mov 0x30, %r30
2293 .word 0x91d0001e ! 870: Tcc_R ta icc_or_xcc, %r0 + %r30
2294 .word 0x8d802000 ! 871: WRFPRS_I wr %r0, 0x0000, %fprs
2295 .word 0xb3a00553 ! 872: FSQRTd fsqrt
2296 .word 0x93a009c3 ! 873: FDIVd fdivd %f0, %f34, %f40
2297DS_113:
2298 .word 0x32800001 ! 875: BNE bne,a <label_0x1>
2299 .word 0xd530a001 ! 875: STQF_I - %f10, [0x0001, %r2]
2300 normalw
2301 .word 0x93458000 ! 874: RD_SOFTINT_REG rd %softint, %r9
2302 .word 0x94c56001 ! 875: ADDCcc_I addccc %r21, 0x0001, %r10
2303 .word 0xd5e7c023 ! 876: CASA_I casa [%r31] 0x 1, %r3, %r10
2304 .word 0x8da64d38 ! 877: FsMULd fsmuld %f25, %f24, %f6
2305 .word 0x8198240d ! 878: WRHPR_HPSTATE_I wrhpr %r0, 0x040d, %hpstate
2306 .word 0xcc800b40 ! 879: LDUWA_R lduwa [%r0, %r0] 0x5a, %r6
2307 invalw
2308 mov 0x35, %r30
2309 .word 0x91d0001e ! 880: Tcc_R ta icc_or_xcc, %r0 + %r30
2310 .word 0x8ed6a001 ! 881: UMULcc_I umulcc %r26, 0x0001, %r7
2311 .word 0x81982bcc ! 882: WRHPR_HPSTATE_I wrhpr %r0, 0x0bcc, %hpstate
2312 .word 0x89a00d2a ! 883: FsMULd fsmuld %f0, %f10, %f4
2313 invalw
2314 mov 0x34, %r30
2315 .word 0x93d0001e ! 884: Tcc_R tne icc_or_xcc, %r0 + %r30
2316 .word 0x93902003 ! 885: WRPR_CWP_I wrpr %r0, 0x0003, %cwp
2317 .word 0x8790233c ! 886: WRPR_TT_I wrpr %r0, 0x033c, %tt
2318 .word 0x93902001 ! 887: WRPR_CWP_I wrpr %r0, 0x0001, %cwp
2319 .word 0x34800001 ! 888: BG bg,a <label_0x1>
2320 invalw
2321 mov 0x30, %r30
2322 .word 0x91d0001e ! 889: Tcc_R ta icc_or_xcc, %r0 + %r30
2323 invalw
2324 mov 0xb2, %r30
2325 .word 0x93d0001e ! 890: Tcc_R tne icc_or_xcc, %r0 + %r30
2326 .word 0x8d902205 ! 891: WRPR_PSTATE_I wrpr %r0, 0x0205, %pstate
2327 .word 0xa081e001 ! 892: ADDcc_I addcc %r7, 0x0001, %r16
2328splash_htba_114:
2329 ta T_CHANGE_HPRIV
2330 set 0x00390000, %r2
2331 .word 0x8b980002 ! 893: WRHPR_HTBA_R wrhpr %r0, %r2, %htba
2332 ta T_CHANGE_HPRIV ! macro
2333 .word 0x81982fdf ! 895: WRHPR_HPSTATE_I wrhpr %r0, 0x0fdf, %hpstate
2334 .word 0x99902002 ! 896: WRPR_CLEANWIN_I wrpr %r0, 0x0002, %cleanwin
2335 .word 0x93702001 ! 897: POPC_I popc 0x0001, %r9
2336 .word 0xa1902005 ! 898: WRPR_GL_I wrpr %r0, 0x0005, %-
2337 .word 0x879021b4 ! 899: WRPR_TT_I wrpr %r0, 0x01b4, %tt
2338 otherw
2339 mov 0x30, %r30
2340 .word 0x91d0001e ! 900: Tcc_R ta icc_or_xcc, %r0 + %r30
2341 .word 0x99902005 ! 901: WRPR_CLEANWIN_I wrpr %r0, 0x0005, %cleanwin
2342 .word 0x93d02034 ! 902: Tcc_I tne icc_or_xcc, %r0 + 52
2343 .word 0x8d902adc ! 903: WRPR_PSTATE_I wrpr %r0, 0x0adc, %pstate
2344 .word 0x91d02030 ! 904: Tcc_I ta icc_or_xcc, %r0 + 48
2345 ta T_CHANGE_HPRIV ! macro
2346 .word 0xafa049c6 ! 906: FDIVd fdivd %f32, %f6, %f54
2347 .word 0x8951c000 ! 907: RDPR_TL rdpr %tl, %r4
2348 .word 0xc88fe000 ! 908: LDUBA_I lduba [%r31, + 0x0000] %asi, %r4
2349 ta T_CHANGE_TO_TL0 ! macro
2350splash_htba_115:
2351 ta T_CHANGE_HPRIV
2352 set 0x80000, %r2
2353 .word 0x8b980002 ! 910: WRHPR_HTBA_R wrhpr %r0, %r2, %htba
2354 .word 0x93902002 ! 911: WRPR_CWP_I wrpr %r0, 0x0002, %cwp
2355 .word 0x91d02034 ! 912: Tcc_I ta icc_or_xcc, %r0 + 52
2356 .word 0xb0820005 ! 913: ADDcc_R addcc %r8, %r5, %r24
2357 .word 0x93a01a63 ! 914: FqTOi fqtoi
2358 invalw
2359 mov 0x32, %r30
2360 .word 0x93d0001e ! 915: Tcc_R tne icc_or_xcc, %r0 + %r30
2361change_to_tl1_116:
2362 ta T_CHANGE_PRIV
2363 ta T_CHANGE_TO_TL1 ! macro
2364 .word 0x87902097 ! 917: WRPR_TT_I wrpr %r0, 0x0097, %tt
2365 .word 0x8d902cd5 ! 918: WRPR_PSTATE_I wrpr %r0, 0x0cd5, %pstate
2366 .word 0xd207e001 ! 919: LDUW_I lduw [%r31 + 0x0001], %r9
2367 .word 0x8d802000 ! 920: WRFPRS_I wr %r0, 0x0000, %fprs
2368 .word 0xd2c804a0 ! 921: LDSBA_R ldsba [%r0, %r0] 0x25, %r9
2369 .word 0x9f802001 ! 922: SIR sir 0x0001
2370 .word 0x81982ec6 ! 923: WRHPR_HPSTATE_I wrhpr %r0, 0x0ec6, %hpstate
2371 .word 0xa1902001 ! 924: WRPR_GL_I wrpr %r0, 0x0001, %-
2372 .word 0xb7508000 ! 925: RDPR_TSTATE rdpr %tstate, %r27
2373 .word 0xab514000 ! 926: RDPR_TBA <illegal instruction>
2374 .word 0xa190200a ! 927: WRPR_GL_I wrpr %r0, 0x000a, %-
2375 .word 0x93902007 ! 928: WRPR_CWP_I wrpr %r0, 0x0007, %cwp
2376 .word 0xea800b60 ! 929: LDUWA_R lduwa [%r0, %r0] 0x5b, %r21
2377 .word 0xa7508000 ! 930: RDPR_TSTATE rdpr %tstate, %r19
2378 .word 0x8790220c ! 931: WRPR_TT_I wrpr %r0, 0x020c, %tt
2379 .word 0x93902002 ! 932: WRPR_CWP_I wrpr %r0, 0x0002, %cwp
2380 .word 0x8790214c ! 933: WRPR_TT_I wrpr %r0, 0x014c, %tt
2381reduce_priv_level_117:
2382 .word 0x8f902001 ! 935: WRPR_TL_I wrpr %r0, 0x0001, %tl
2383 ta T_CHANGE_NONHPRIV ! macro
2384 .word 0x916ca001 ! 934: SDIVX_I sdivx %r18, 0x0001, %r8
2385 .word 0xa1902001 ! 935: WRPR_GL_I wrpr %r0, 0x0001, %-
2386 .word 0x9ad3401a ! 936: UMULcc_R umulcc %r13, %r26, %r13
2387 .word 0x8d802000 ! 937: WRFPRS_I wr %r0, 0x0000, %fprs
2388 .word 0xa1902004 ! 938: WRPR_GL_I wrpr %r0, 0x0004, %-
2389 .word 0xda8fe030 ! 939: LDUBA_I lduba [%r31, + 0x0030] %asi, %r13
2390 .word 0xda8008a0 ! 940: LDUWA_R lduwa [%r0, %r0] 0x45, %r13
2391 .word 0xdac7e030 ! 941: LDSWA_I ldswa [%r31, + 0x0030] %asi, %r13
2392 .word 0x8790237a ! 942: WRPR_TT_I wrpr %r0, 0x037a, %tt
2393change_to_tl1_118:
2394 ta T_CHANGE_PRIV
2395 ta T_CHANGE_TO_TL1 ! macro
2396 .word 0xa1902003 ! 944: WRPR_GL_I wrpr %r0, 0x0003, %-
2397 .word 0xa1902004 ! 945: WRPR_GL_I wrpr %r0, 0x0004, %-
2398 otherw
2399 mov 0x31, %r30
2400 .word 0x91d0001e ! 946: Tcc_R ta icc_or_xcc, %r0 + %r30
2401 .word 0x91d02033 ! 947: Tcc_I ta icc_or_xcc, %r0 + 51
2402 .word 0xada589ac ! 948: FDIVs fdivs %f22, %f12, %f22
2403 .word 0x8ba489b1 ! 949: FDIVs fdivs %f18, %f17, %f5
2404 .word 0x8d802000 ! 950: WRFPRS_I wr %r0, 0x0000, %fprs
2405 .word 0x879023ff ! 951: WRPR_TT_I wrpr %r0, 0x03ff, %tt
2406 .word 0x93d02033 ! 952: Tcc_I tne icc_or_xcc, %r0 + 51
2407 .word 0x8790208c ! 953: WRPR_TT_I wrpr %r0, 0x008c, %tt
2408 .word 0x93902004 ! 954: WRPR_CWP_I wrpr %r0, 0x0004, %cwp
2409 .word 0x879023b0 ! 955: WRPR_TT_I wrpr %r0, 0x03b0, %tt
2410 .word 0x8790215a ! 956: WRPR_TT_I wrpr %r0, 0x015a, %tt
2411splash_tba_119:
2412 ta T_CHANGE_PRIV
2413 set 0x120000, %r2
2414 .word 0x8b900002 ! 957: WRPR_TBA_R wrpr %r0, %r2, %tba
2415 .word 0xca900e40 ! 958: LDUHA_R lduha [%r0, %r0] 0x72, %r5
2416splash_tba_120:
2417 ta T_CHANGE_PRIV
2418 set 0x003c0000, %r2
2419 .word 0x8b900002 ! 959: WRPR_TBA_R wrpr %r0, %r2, %tba
2420DS_121:
2421 nop
2422 not %g0, %g2
2423 jmp %g2
2424 .word 0x9d902003 ! 960: WRPR_WSTATE_I wrpr %r0, 0x0003, %wstate
2425 .word 0xb0a94009 ! 961: ANDNcc_R andncc %r5, %r9, %r24
2426 .word 0x8790227b ! 962: WRPR_TT_I wrpr %r0, 0x027b, %tt
2427 .word 0x93902001 ! 963: WRPR_CWP_I wrpr %r0, 0x0001, %cwp
2428 .word 0x8a812001 ! 964: ADDcc_I addcc %r4, 0x0001, %r5
2429 .word 0x81982a44 ! 965: WRHPR_HPSTATE_I wrhpr %r0, 0x0a44, %hpstate
2430 ta T_CHANGE_HPRIV ! macro
2431 .word 0x93902006 ! 967: WRPR_CWP_I wrpr %r0, 0x0006, %cwp
2432 .word 0xcaffc029 ! 968: SWAPA_R swapa %r5, [%r31 + %r9] 0x01
2433 .word 0xa190200e ! 969: WRPR_GL_I wrpr %r0, 0x000e, %-
2434 .word 0x93902006 ! 970: WRPR_CWP_I wrpr %r0, 0x0006, %cwp
2435 .word 0x8b50c000 ! 971: RDPR_TT rdpr %tt, %r5
2436 .word 0x8198251d ! 972: WRHPR_HPSTATE_I wrhpr %r0, 0x051d, %hpstate
2437 .word 0x87540000 ! 973: RDPR_GL rdpr %-, %r3
2438change_to_tl1_122:
2439 ta T_CHANGE_PRIV
2440 ta T_CHANGE_TO_TL1 ! macro
2441 .word 0x8790205d ! 975: WRPR_TT_I wrpr %r0, 0x005d, %tt
2442 otherw
2443 mov 0x31, %r30
2444 .word 0x83d0001e ! 976: Tcc_R te icc_or_xcc, %r0 + %r30
2445 otherw
2446 mov 0xb4, %r30
2447 .word 0x91d0001e ! 977: Tcc_R ta icc_or_xcc, %r0 + %r30
2448 .word 0xb3a28d2d ! 978: FsMULd fsmuld %f10, %f44, %f56
2449 .word 0x91d02032 ! 979: Tcc_I ta icc_or_xcc, %r0 + 50
2450 .word 0xf337e001 ! 980: STQF_I - %f25, [0x0001, %r31]
2451 .word 0x879022f4 ! 981: WRPR_TT_I wrpr %r0, 0x02f4, %tt
2452 .word 0x819828de ! 982: WRHPR_HPSTATE_I wrhpr %r0, 0x08de, %hpstate
2453change_to_tl1_123:
2454 ta T_CHANGE_HPRIV
2455 ta T_CHANGE_TO_TL1 ! macro
2456 .word 0xa190200f ! 984: WRPR_GL_I wrpr %r0, 0x000f, %-
2457 .word 0x8d902cc5 ! 985: WRPR_PSTATE_I wrpr %r0, 0x0cc5, %pstate
2458 .word 0x3e700001 ! 986: BPVC <illegal instruction>
2459 .word 0x8198200f ! 987: WRHPR_HPSTATE_I wrhpr %r0, 0x000f, %hpstate
2460 .word 0x87902081 ! 988: WRPR_TT_I wrpr %r0, 0x0081, %tt
2461change_to_randtl_124:
2462 ta T_CHANGE_PRIV ! macro
2463 .word 0x8f902001 ! 989: WRPR_TL_I wrpr %r0, 0x0001, %tl
2464 .word 0x8198295f ! 990: WRHPR_HPSTATE_I wrhpr %r0, 0x095f, %hpstate
2465 .word 0xa1902003 ! 991: WRPR_GL_I wrpr %r0, 0x0003, %-
2466 .word 0x81982144 ! 992: WRHPR_HPSTATE_I wrhpr %r0, 0x0144, %hpstate
2467 ta T_CHANGE_HPRIV ! macro
2468 .word 0x81982a1f ! 994: WRHPR_HPSTATE_I wrhpr %r0, 0x0a1f, %hpstate
2469 .word 0x85504000 ! 995: RDPR_TNPC rdpr %tnpc, %r2
2470 .word 0x91d02034 ! 996: Tcc_I ta icc_or_xcc, %r0 + 52
2471 .word 0x8e81c000 ! 997: ADDcc_R addcc %r7, %r0, %r7
2472splash_htba_125:
2473 ta T_CHANGE_HPRIV
2474 set 0x80000, %r2
2475 .word 0x8b980002 ! 998: WRHPR_HTBA_R wrhpr %r0, %r2, %htba
2476
2477
2478.global user_data_start
2479.data
2480user_data_start:
2481 .xword 0x9f19bbe2f2d53e19
2482 .xword 0x722ce78314908b8a
2483 .xword 0x6ca38e4136af15ca
2484 .xword 0x3d153a31718f3f98
2485 .xword 0x15627e363d6fe61f
2486 .xword 0x1754ab2371be26af
2487 .xword 0x9ff6c005f36d5ee6
2488 .xword 0xc57b18d9a87e7c0f
2489 .xword 0x9f835d870d566209
2490 .xword 0x237f01fe6696d68c
2491 .xword 0x792dfa01e8728b0a
2492 .xword 0x3d14e319ed20c8c7
2493 .xword 0xa2348d14973461f2
2494 .xword 0xc6b4d6b170c5d48e
2495 .xword 0x276e54dd3569f608
2496 .xword 0x298d21a570ff901a
2497 .xword 0x7462ee7655bef261
2498 .xword 0xc40899a1bb14a0a6
2499 .xword 0x5aecb8338a1e3cd2
2500 .xword 0xd15dac9125377bf4
2501 .xword 0x56d3e63aab91f53f
2502 .xword 0xd40f9f3092341815
2503 .xword 0x9c30e3f87bf574d7
2504 .xword 0x9395456772a96ae4
2505 .xword 0xda94a596d8e61854
2506 .xword 0xfcedf6b49af11f08
2507 .xword 0xf6b37aa9812395c6
2508 .xword 0xc751fe92af9bc898
2509 .xword 0x5dc05a66bf0c16d6
2510 .xword 0xf89c042f48bd284d
2511 .xword 0xac16ebffefb10d33
2512 .xword 0x75c3b44b4290c91c
2513 .xword 0x04fc22f8ae239900
2514 .xword 0x5377ef2d3ffa5d01
2515 .xword 0x4d2d6f05eed55982
2516 .xword 0x04de45e5d0f7bc02
2517 .xword 0x26aa5c4f8400a496
2518 .xword 0x9c0b6aed746dcb81
2519 .xword 0x6e9d482b0f788ab6
2520 .xword 0xf0618c6c6e0c2915
2521 .xword 0xc93e38cf81ae3149
2522 .xword 0x6ae3a8a9d4538445
2523 .xword 0xafb40c43edb1a9c7
2524 .xword 0x579e814d952a5cbe
2525 .xword 0x26bcc772e046c170
2526 .xword 0x41378806a9035bb0
2527 .xword 0x4d696a694fbade65
2528 .xword 0x683b5160e13d57dd
2529 .xword 0xdb525813e722041b
2530 .xword 0x7f2fe986fdd8987a
2531 .xword 0xd97f80a5c8554611
2532 .xword 0xed17a13016c8f2e3
2533 .xword 0x6b671b302b7fb3c2
2534 .xword 0xb017b48cdbff861b
2535 .xword 0x5793ffdbd396a04b
2536 .xword 0xb597e2c3c0ef2e11
2537 .xword 0x4e41827ace3f50f6
2538 .xword 0x6693e24f5c4c6a20
2539 .xword 0x5c438bc90a437fbb
2540 .xword 0x35f863b65b4c02f3
2541 .xword 0xfc60c67cac387374
2542 .xword 0x7cd2c6a510bc6b45
2543 .xword 0xff34593f12dcff32
2544 .xword 0x2f20682417d668d6
2545 .xword 0x1893223440e75970
2546 .xword 0xe21a66e0790d2d73
2547 .xword 0x11d6ecf8284563dd
2548 .xword 0xef317dea3dcbd1fb
2549 .xword 0x5246dba3421d3e25
2550 .xword 0x8b1d96272d9e9ea7
2551 .xword 0xac35b11feebb9c00
2552 .xword 0x61c8fa26500657d6
2553 .xword 0xd13137f8469dbd2a
2554 .xword 0xbdffdb8772fe03e1
2555 .xword 0x537d9657dd7ad741
2556 .xword 0x171142645482a893
2557 .xword 0xcd49d86d8537efe6
2558 .xword 0x75a4f924b81f6c07
2559 .xword 0x9e4e8a311744937e
2560 .xword 0x3459e102964f1782
2561 .xword 0xe73411dee567d1ba
2562 .xword 0x18dc0de2bb60899c
2563 .xword 0xeb5bbd3256eee453
2564 .xword 0x33ad435ad76ca273
2565 .xword 0xcbf1a87ceada7e5a
2566 .xword 0x1f8afb05c52e27ac
2567 .xword 0x008c4fcf2ef01f48
2568 .xword 0x5c4c6c96eca2b1dc
2569 .xword 0x17d39c9991e43631
2570 .xword 0xf0d013efa24e0571
2571 .xword 0x8d6a0bab3df0d239
2572 .xword 0x3c734c92c69745d7
2573 .xword 0x8c3ab9c23b79668a
2574 .xword 0x255cb99cb122658b
2575 .xword 0x307139a61a4a2962
2576 .xword 0x59bb6fc5c5838488
2577 .xword 0xe735cf45ede43ed0
2578 .xword 0x39fbe8ece22818f4
2579 .xword 0x1ff18723bff7ad5b
2580 .xword 0x4bf01d0fa0306eb5
2581 .xword 0xfc4a47f4b3d4fd7d
2582 .xword 0xd64f5a4a9bfbf4a0
2583 .xword 0x397771b97b97004e
2584 .xword 0xf6d779406d3bdf17
2585 .xword 0xd30946ccb7a166ff
2586 .xword 0x20a6792569bdf280
2587 .xword 0xe2d68e7f85924a19
2588 .xword 0xa4b4c41e8a7b1fcc
2589 .xword 0x00418a08835d9a3a
2590 .xword 0xb4a37d40ac7f5a98
2591 .xword 0xc150997573d038fd
2592 .xword 0x5276c2403933587a
2593 .xword 0xdd499a2d95f4db1f
2594 .xword 0x1de47833df5d489a
2595 .xword 0xa09a26774ac5e369
2596 .xword 0xab27e3e8038bfcdd
2597 .xword 0xd6216a148a3ba71a
2598 .xword 0x2bd3f3fe8037cba4
2599 .xword 0x3e19a39a17d2468c
2600 .xword 0xc901a44758b7495e
2601 .xword 0xf5809c82a01fea45
2602 .xword 0xfa1eb0ab5788e06e
2603 .xword 0x8fc5f6ad67dde4c7
2604 .xword 0x8eed9f8d823a5513
2605 .xword 0xfc6c559715e3ec24
2606 .xword 0xe800a804d0a00a76
2607 .xword 0xd4b920abaf0c879f
2608 .xword 0xd4683cae2d19edf6
2609 .xword 0xc957d2381fbf8d40
2610 .xword 0x83f72f9bb85ce103
2611 .xword 0xec190c09b709d912
2612 .xword 0xc34272a7e22126fe
2613 .xword 0xe9b6b36aed22081d
2614 .xword 0xf0df088671f8f60b
2615 .xword 0xbf1cd174d2e94d51
2616 .xword 0x3fd16ae16d7c59cc
2617 .xword 0x2bd13b5e355a57a9
2618 .xword 0x47d481232fe3ed34
2619 .xword 0xe6851b86c92c8dd0
2620 .xword 0xae1b58ec39c0cc16
2621 .xword 0xeac5b27995d7c1d1
2622 .xword 0x9b9704ca4920d40b
2623 .xword 0x1559fe8cae9eb373
2624 .xword 0x10c37a461ef082ab
2625 .xword 0x2b988a3cfb28b889
2626 .xword 0x766337ba5b91fb2b
2627 .xword 0x5c869d268079e876
2628 .xword 0xe17fecc3e748a60b
2629 .xword 0x9382dedae42e875d
2630 .xword 0xf0a899add9485084
2631 .xword 0xe0034a1748f440da
2632 .xword 0x5d6efeace10d35b0
2633 .xword 0x55cee051a5c836b4
2634 .xword 0xfda274864c81182b
2635 .xword 0x627337a566744592
2636 .xword 0xd6cc49ccaff7c564
2637 .xword 0x30d2eb8eb0bee65d
2638 .xword 0xcfa6215a720bccf1
2639 .xword 0xae28b6bbbe55997e
2640 .xword 0x3388a2477e11b6ac
2641 .xword 0xb09f3eb0567a6f4b
2642 .xword 0x7a476903beff16d3
2643 .xword 0x5903d3fee75815bf
2644 .xword 0xea35ce0b447e872c
2645 .xword 0x827cf4904dc68c7a
2646 .xword 0xd1ccbe850611801d
2647 .xword 0x407e748161349ce8
2648 .xword 0xb0867b4de42410a8
2649 .xword 0xf170daee789b582b
2650 .xword 0x7641c1e37929768e
2651 .xword 0xfa3a3003c97fe54c
2652 .xword 0xbc2dac5cc7dfa5a8
2653 .xword 0x4148a0371f3803a7
2654 .xword 0xd7ec18ac9a76fd6f
2655 .xword 0xbd97377910ac37e5
2656 .xword 0xe5a6078cba4cf4bb
2657 .xword 0x62a564e177103a27
2658 .xword 0x311c7bd2f0365eba
2659 .xword 0xa5d610df3c0d1f81
2660 .xword 0xaff1b6c01247017e
2661 .xword 0x8fdebe6bd950873c
2662 .xword 0xf971ddc8de3218ed
2663 .xword 0x28874522b407932a
2664 .xword 0xcd3b57fb1677b6cc
2665 .xword 0x6fcd26aa8e5e02e3
2666 .xword 0x95428d136486cc5d
2667 .xword 0xf7a22b7ec15cb6a5
2668 .xword 0x9609809b8dbfea46
2669 .xword 0x271d4efb885590fb
2670 .xword 0xf9a3f82257912f0b
2671 .xword 0x3e69a217d6cf8f31
2672 .xword 0xe6a80ef4e825eaa9
2673 .xword 0xdac9979e2f728e0a
2674 .xword 0x9c640fa59d37cb31
2675 .xword 0x28c85d537f588495
2676 .xword 0xf5f561472a1d89a7
2677 .xword 0x5f0dc77a69c64b6a
2678 .xword 0x813758443f0ef56f
2679 .xword 0x1da38fafba4f60b6
2680 .xword 0x519a1c5f1894a588
2681 .xword 0x9d3369a9f80d253d
2682 .xword 0x2b6fee7af2706375
2683 .xword 0xf585469b6551b465
2684 .xword 0x5d79d207e67e1cf1
2685 .xword 0x4c1a53d31de1bf88
2686 .xword 0x8eb2591aee56d7c6
2687 .xword 0x8147c0665a28eef6
2688 .xword 0x116227225ee8191b
2689 .xword 0xfa196f6f45649253
2690 .xword 0xe57bec3c09e8e27b
2691 .xword 0x30d450a7b354ddb7
2692 .xword 0xdb21d47e7f5e5617
2693 .xword 0x651bd763e92e31a5
2694 .xword 0xd56b57f676ebddec
2695 .xword 0x6390f3384e7914c8
2696 .xword 0xa1b7297052c669da
2697 .xword 0x2086be2930318ffb
2698 .xword 0xca192011e12e5abd
2699 .xword 0x0c68d3bb0a0b370f
2700 .xword 0x74a883984e55eb4e
2701 .xword 0x2a6006bcf7acaa68
2702 .xword 0x084f3b26981a15a4
2703 .xword 0x2801b4e5f329566a
2704 .xword 0x7aafde2113e0b686
2705 .xword 0x2bcbe4704ef76d52
2706 .xword 0x262ed17e3a31fc60
2707 .xword 0xc38eed1529757536
2708 .xword 0x44a14687d88c54d8
2709 .xword 0xc97503360d530ec4
2710 .xword 0x8ccf5dac96059092
2711 .xword 0xcbe1d617cbe08055
2712 .xword 0x7e7b7926216a67c8
2713 .xword 0x8c8cd45b0915c519
2714 .xword 0x9a97b04ccdf32d75
2715 .xword 0x094d2d97aaccab03
2716 .xword 0x57b84a37b34121ac
2717 .xword 0x67042c606acebbd5
2718 .xword 0xdd8bd6a7d90d1f2e
2719 .xword 0x921b81c888690186
2720 .xword 0x1f2a1091fd617e78
2721 .xword 0x9a9cc195359cc14b
2722 .xword 0x4b6b2f9fa67e682a
2723 .xword 0x61d06d7babcf0da3
2724 .xword 0x75feb4215a2dbfdd
2725 .xword 0xf6056189b0358e8b
2726 .xword 0x9864c44fd4a21b1b
2727 .xword 0x470a1dda517d626c
2728 .xword 0x191a23f5aeb1ab36
2729 .xword 0xef3f4b52052f1ee2
2730 .xword 0xb9e0bb901d31a333
2731 .xword 0xc6dffcdb36f28a63
2732 .xword 0x9df5ae7a6af614c9
2733 .xword 0x27ad1a3466300442
2734 .xword 0x5493cedb956951ba
2735 .xword 0x524d380f5393455b
2736 .xword 0x8074715be3340ec7
2737
2738
2739SECTION .MAIN
2740.text
2741 nop
2742 nop
2743 nop
2744 ta T_CHANGE_HPRIV
2745 set 0x80000, %r2
2746 wrhpr %g2, %g0, %htba
2747 ta T_GOOD_TRAP
2748 nop
2749 nop
2750 nop
2751.data
2752 .xword 0x0
2753
2754.global wdog_2_ext
2755
2756.global wdog_2_ext
2757
2758SECTION .HTRAPS
2759.text
2760htrap_5_ext:
2761 rd %pc, %g2
2762 inc %g3
2763 add %g2, htrap_5_ext_done-htrap_5_ext, %g2
2764 rdpr %tl, %g3
2765 rdpr %tstate, %g4
2766 rdhpr %htstate, %g5
2767 or %g5, 0x4, %g5
2768 inc %g3
2769 wrpr %g3, %tl
2770 wrpr %g2, %tpc
2771 wrpr %g4, %tstate
2772 wrhpr %g5, %htstate
2773 retry
2774htrap_5_ext_done:
2775 done
2776
2777wdog_2_ext:
2778 mov 0x1f, %g1
2779 stxa %g1, [%g0] ASI_LSU_CTL_REG
2780 stxa %g0, [%g0] ASI_ERROR_INJECT
2781 ! If TT != 2, then goto trap handler
2782 rdpr %tt, %g1
2783 cmp %g1, 0x2
2784 bne wdog_2_goto_handler
2785 nop
2786 ! else done
2787 done
2788wdog_2_goto_handler:
2789 rdhpr %htba, %g2
2790 sllx %g1, 5, %g1
2791 add %g1, %g2, %g2
2792 jmp %g2
2793 nop
2794
2795! Red mode other reset handler
2796! Get htba, and tt and make trap address
2797! Jump to trap handler ..
2798
2799SECTION .RED_SEC
2800.text
2801red_other_ext:
2802 ! IF TL=6, shift stack by one ..
2803 rdpr %tl, %g1
2804 cmp %g1, 6
2805 be start_tsa_shift
2806 nop
2807
2808continue_red_other:
2809 mov 0x1f, %g1
2810 stxa %g1, [%g0] ASI_LSU_CTL_REG
2811 stxa %g0, [%g0] ASI_ERROR_INJECT
2812
2813 rdpr %tt, %g1
2814 sllx %g1, 5, %g1
2815 rdhpr %htba, %g2
2816 add %g1, %g2, %g2
2817 rdhpr %hpstate, %g1
2818 jmp %g2
2819 wrhpr %g1, 0x20, %hpstate
2820 nop
2821
2822wdog_red_ext:
2823 ! Shift stack down by 1 ...
2824 rdpr %tl, %g1
2825start_tsa_shift:
2826 mov 0x2, %g2
2827
2828tsa_shift:
2829 wrpr %g2, %tl
2830 rdpr %tt, %g3
2831 rdpr %tpc, %g4
2832 rdpr %tnpc, %g5
2833 rdpr %tstate, %g6
2834 rdhpr %htstate, %g7
2835 dec %g2
2836 wrpr %g2, %tl
2837 wrpr %g3, %tt
2838 wrpr %g4, %tpc
2839 wrpr %g5, %tnpc
2840 wrpr %g6, %tstate
2841 wrhpr %g7, %htstate
2842 add %g2, 2, %g2
2843 cmp %g2, %g1
2844 ble tsa_shift
2845 nop
2846tsa_shift_done:
2847 dec %g1
2848 wrpr %g1, %tl
2849
2850 ! If TT != 2, then goto trap handler
2851 rdpr %tt, %g1
2852
2853 cmp %g1, 0x2
2854 bne continue_red_other
2855 nop
2856 ! else done
2857 mov 0x1f, %g1
2858 stxa %g1, [%g0] ASI_LSU_CTL_REG
2859 stxa %g0, [%g0] ASI_ERROR_INJECT
2860 done
2861
2862
2863
2864SECTION .MyHTRAPS_0 TEXT_VA = 0x0000000000380000, DATA_VA = 0x000000000038c000
2865attr_text {
2866 Name = .MyHTRAPS_0,
2867 hypervisor
2868}
2869
2870
2871attr_data {
2872 Name = .MyHTRAPS_0,
2873 hypervisor
2874}
2875
2876#include "htraps.s"
2877#include "tlu_htraps_ext.s"
2878
2879
2880
2881SECTION .MyHTRAPS_1 TEXT_VA = 0x0000000000390000, DATA_VA = 0x000000000039c000
2882attr_text {
2883 Name = .MyHTRAPS_1,
2884 hypervisor
2885}
2886
2887
2888attr_data {
2889 Name = .MyHTRAPS_1,
2890 hypervisor
2891}
2892
2893#include "htraps.s"
2894#include "tlu_htraps_ext.s"
2895
2896
2897
2898SECTION .MyHTRAPS_2 TEXT_VA = 0x00000000003a0000, DATA_VA = 0x00000000003ac000
2899attr_text {
2900 Name = .MyHTRAPS_2,
2901 hypervisor
2902}
2903
2904
2905attr_data {
2906 Name = .MyHTRAPS_2,
2907 hypervisor
2908}
2909
2910#include "htraps.s"
2911#include "tlu_htraps_ext.s"
2912
2913
2914
2915SECTION .MyHTRAPS_3 TEXT_VA = 0x00000000003b0000, DATA_VA = 0x00000000003bc000
2916attr_text {
2917 Name = .MyHTRAPS_3,
2918 hypervisor
2919}
2920
2921
2922attr_data {
2923 Name = .MyHTRAPS_3,
2924 hypervisor
2925}
2926
2927#include "htraps.s"
2928#include "tlu_htraps_ext.s"
2929
2930
2931
2932
2933
2934SECTION .MyTRAPS_0 TEXT_VA = 0x00000000003c0000, DATA_VA = 0x00000000003cc000
2935attr_text {
2936 Name = .MyTRAPS_0,
2937 RA = 0x00000000003c0000,
2938 PA = ra2pa(0x00000000003c0000,0),
2939 part_0_ctx_zero_tsb_config_0,
2940 TTE_G = 1,
2941 TTE_Context = 0,
2942 TTE_V = 1,
2943 TTE_Size = 0,
2944 TTE_NFO = 0,
2945 TTE_IE = 0,
2946 TTE_Soft2 = 0,
2947 TTE_Diag = 0,
2948 TTE_Soft = 0,
2949 TTE_L = 0,
2950 TTE_CP = 1,
2951 TTE_CV = 0,
2952 TTE_E = 0,
2953 TTE_P = 1,
2954 TTE_W = 1,
2955 TTE_X = 1
2956}
2957
2958
2959attr_data {
2960 Name = .MyTRAPS_0,
2961 RA = 0x00000000003cc000,
2962 PA = ra2pa(0x00000000003cc000,0),
2963 part_0_ctx_zero_tsb_config_0,
2964 TTE_G = 1,
2965 TTE_Context = 0,
2966 TTE_V = 1,
2967 TTE_Size = 0,
2968 TTE_NFO = 0,
2969 TTE_IE = 0,
2970 TTE_Soft2 = 0,
2971 TTE_Diag = 0,
2972 TTE_Soft = 0,
2973 TTE_L = 0,
2974 TTE_CP = 1,
2975 TTE_CV = 0,
2976 TTE_E = 0,
2977 TTE_P = 1,
2978 TTE_W = 1
2979}
2980
2981attr_text {
2982 Name = .MyTRAPS_0
2983 hypervisor
2984}
2985attr_data {
2986 Name = .MyTRAPS_0
2987 hypervisor
2988}
2989
2990#include "traps.s"
2991
2992
2993
2994SECTION .MyTRAPS_1 TEXT_VA = 0x00000000003d0000, DATA_VA = 0x00000000003dc000
2995attr_text {
2996 Name = .MyTRAPS_1,
2997 RA = 0x00000000003d0000,
2998 PA = ra2pa(0x00000000003d0000,0),
2999 part_0_ctx_zero_tsb_config_0,
3000 TTE_G = 1,
3001 TTE_Context = 0,
3002 TTE_V = 1,
3003 TTE_Size = 0,
3004 TTE_NFO = 0,
3005 TTE_IE = 0,
3006 TTE_Soft2 = 0,
3007 TTE_Diag = 0,
3008 TTE_Soft = 0,
3009 TTE_L = 0,
3010 TTE_CP = 1,
3011 TTE_CV = 0,
3012 TTE_E = 0,
3013 TTE_P = 1,
3014 TTE_W = 1,
3015 TTE_X = 1
3016}
3017
3018
3019attr_data {
3020 Name = .MyTRAPS_1,
3021 RA = 0x00000000003dc000,
3022 PA = ra2pa(0x00000000003dc000,0),
3023 part_0_ctx_zero_tsb_config_0,
3024 TTE_G = 1,
3025 TTE_Context = 0,
3026 TTE_V = 1,
3027 TTE_Size = 0,
3028 TTE_NFO = 0,
3029 TTE_IE = 0,
3030 TTE_Soft2 = 0,
3031 TTE_Diag = 0,
3032 TTE_Soft = 0,
3033 TTE_L = 0,
3034 TTE_CP = 1,
3035 TTE_CV = 0,
3036 TTE_E = 0,
3037 TTE_P = 1,
3038 TTE_W = 1
3039}
3040
3041attr_text {
3042 Name = .MyTRAPS_1
3043 hypervisor
3044}
3045attr_data {
3046 Name = .MyTRAPS_1
3047 hypervisor
3048}
3049
3050#include "traps.s"
3051
3052
3053
3054SECTION .MyTRAPS_2 TEXT_VA = 0x00000000003e0000, DATA_VA = 0x00000000003ec000
3055attr_text {
3056 Name = .MyTRAPS_2,
3057 RA = 0x00000000003e0000,
3058 PA = ra2pa(0x00000000003e0000,0),
3059 part_0_ctx_zero_tsb_config_0,
3060 TTE_G = 1,
3061 TTE_Context = 0,
3062 TTE_V = 1,
3063 TTE_Size = 0,
3064 TTE_NFO = 0,
3065 TTE_IE = 0,
3066 TTE_Soft2 = 0,
3067 TTE_Diag = 0,
3068 TTE_Soft = 0,
3069 TTE_L = 0,
3070 TTE_CP = 1,
3071 TTE_CV = 0,
3072 TTE_E = 0,
3073 TTE_P = 1,
3074 TTE_W = 1,
3075 TTE_X = 1
3076}
3077
3078
3079attr_data {
3080 Name = .MyTRAPS_2,
3081 RA = 0x00000000003ec000,
3082 PA = ra2pa(0x00000000003ec000,0),
3083 part_0_ctx_zero_tsb_config_0,
3084 TTE_G = 1,
3085 TTE_Context = 0,
3086 TTE_V = 1,
3087 TTE_Size = 0,
3088 TTE_NFO = 0,
3089 TTE_IE = 0,
3090 TTE_Soft2 = 0,
3091 TTE_Diag = 0,
3092 TTE_Soft = 0,
3093 TTE_L = 0,
3094 TTE_CP = 1,
3095 TTE_CV = 0,
3096 TTE_E = 0,
3097 TTE_P = 1,
3098 TTE_W = 1
3099}
3100
3101attr_text {
3102 Name = .MyTRAPS_2
3103 hypervisor
3104}
3105attr_data {
3106 Name = .MyTRAPS_2
3107 hypervisor
3108}
3109
3110#include "traps.s"
3111
3112
3113
3114SECTION .MyTRAPS_3 TEXT_VA = 0x00000000003f0000, DATA_VA = 0x00000000003fc000
3115attr_text {
3116 Name = .MyTRAPS_3,
3117 RA = 0x00000000003f0000,
3118 PA = ra2pa(0x00000000003f0000,0),
3119 part_0_ctx_zero_tsb_config_0,
3120 TTE_G = 1,
3121 TTE_Context = 0,
3122 TTE_V = 1,
3123 TTE_Size = 0,
3124 TTE_NFO = 0,
3125 TTE_IE = 0,
3126 TTE_Soft2 = 0,
3127 TTE_Diag = 0,
3128 TTE_Soft = 0,
3129 TTE_L = 0,
3130 TTE_CP = 1,
3131 TTE_CV = 0,
3132 TTE_E = 0,
3133 TTE_P = 1,
3134 TTE_W = 1,
3135 TTE_X = 1
3136}
3137
3138
3139attr_data {
3140 Name = .MyTRAPS_3,
3141 RA = 0x00000000003fc000,
3142 PA = ra2pa(0x00000000003fc000,0),
3143 part_0_ctx_zero_tsb_config_0,
3144 TTE_G = 1,
3145 TTE_Context = 0,
3146 TTE_V = 1,
3147 TTE_Size = 0,
3148 TTE_NFO = 0,
3149 TTE_IE = 0,
3150 TTE_Soft2 = 0,
3151 TTE_Diag = 0,
3152 TTE_Soft = 0,
3153 TTE_L = 0,
3154 TTE_CP = 1,
3155 TTE_CV = 0,
3156 TTE_E = 0,
3157 TTE_P = 1,
3158 TTE_W = 1
3159}
3160
3161attr_text {
3162 Name = .MyTRAPS_3
3163 hypervisor
3164}
3165attr_data {
3166 Name = .MyTRAPS_3
3167 hypervisor
3168}
3169
3170#include "traps.s"
3171
3172
3173
3174#if 0
3175!!# /*
3176!!# output of /import/bw/tools/local/indra-release/indra,1.4.11/bin/ijpp (indrajal preprocessor) - Thu May 6 10:36:57 2004
3177!!# */
3178!!#
3179!!# %%section c_declarations
3180!!#
3181!!# int label = 0;
3182!!#
3183!!# #define MyHTRAPS 0
3184!!# #define MyTRAPS 1
3185!!# #define MAIN 2
3186!!# #define HTRAPS 3
3187!!# #define RED_SEC 4
3188!!#
3189!!# %%
3190!!# %%section control
3191!!#
3192!!# %%
3193!!# %%section init
3194!!# {
3195!!#
3196!!#
3197!!# IJ_bind_thread_group("diag.j", 51, th0, 0x01);
3198!!#
3199!!# // Random 64 bits //
3200!!# IJ_set_rvar("diag.j", 54, Rv_rand_64,"64'hrrrrrrrr_rrrrrrrr");
3201!!#
3202!!# IJ_set_rvar("diag.j", 57, Rv_pdist_reg,"5'brrrr0");
3203!!#
3204!!# // TBA/HTBA values
3205!!#
3206!!# IJ_set_rvar("diag.j", 61, Rv_tba, "6'b1111kk, 16'{0}");
3207!!# IJ_set_rvar("diag.j", 62, Rv_htba, "6'b1110kk, 16'{0}");
3208!!#
3209!!# // LSU cntl reg ..
3210!!# IJ_set_rvar("diag.j", 65, Rv_lsucntl, "5'brrr11");
3211!!#
3212!!# // Register usage - use 0-27 //
3213!!# // R31 is memory pointer
3214!!# // R30 is trap number register
3215!!# //
3216!!#
3217!!# IJ_set_ropr_fld("diag.j", 72, ijdefault, Ft_Rs1, "{0..13,16..27}");
3218!!# IJ_set_ropr_fld("diag.j", 73, ijdefault, Ft_Rs2, "{0..13,16..27}");
3219!!# IJ_set_ropr_fld("diag.j", 74, ijdefault, Ft_Rd, "{0..13,16..27}");
3220!!#
3221!!# // Load/Store pointer = r31
3222!!# IJ_set_ropr_fld("diag.j", 77, Ro_ldst_ptr, Ft_Rs1, "{31}");
3223!!#
3224!!# // ASI register values
3225!!# IJ_set_ropr_fld("diag.j", 80, Ro_wrasi_i, Ft_Rs1, "{0}");
3226!!# IJ_set_ropr_fld("diag.j", 81, Ro_wrasi_i, Ft_Simm13, "{0x4, 0x10, 0x14, 0x16, 0x1c, 0x80, 0x88, 0x89}");
3227!!#
3228!!# // General Ldst ASIs to use .. 50% should be illegal ..
3229!!# IJ_set_ropr_fld("diag.j", 84, Ro_nontrap_ldasi, Ft_Imm_Asi, "{0x12,0x14, 0x16, 0x1c, 0x80, 0x88}");
3230!!# IJ_set_ropr_fld("diag.j", 85, Ro_nontrap_ldasi, Ft_Rs1, "{31}");
3231!!# IJ_set_ropr_fld("diag.j", 86, Ro_nontrap_ldasi, Ft_Rs2, "{0}");
3232!!# IJ_set_ropr_fld("diag.j", 87, Ro_nontrap_ldasi, Ft_Simm13, "{0x0}, 6'brr0000");
3233!!#
3234!!# IJ_set_ropr_fld("diag.j", 89, Ro_nontrap_ldasi_z, Ft_Imm_Asi, "{0x45, 0x53..0x64}");
3235!!# IJ_set_ropr_fld("diag.j", 90, Ro_nontrap_ldasi_z, Ft_Rs1, "{0}");
3236!!# IJ_set_ropr_fld("diag.j", 91, Ro_nontrap_ldasi_z, Ft_Rs2, "{0}");
3237!!# IJ_set_ropr_fld("diag.j", 92, Ro_nontrap_ldasi_z, Ft_Simm13, "{0x0}, 6'brr0000");
3238!!#
3239!!# // General Ldst alignment to use .. 50% should be illegal ..
3240!!# IJ_set_ropr_fld("diag.j", 95, Ro_nontrap_ld, Fm_align_Simm13, "{0x0..0x6:5,0x7:1}");
3241!!# IJ_set_ropr_fld("diag.j", 96, Ro_nontrap_ld, Ft_Rs1, "{31}");
3242!!# IJ_set_ropr_fld("diag.j", 97, Ro_nontrap_ld, Ft_Rs2, "{0}");
3243!!#
3244!!# // Trap ASI operands
3245!!# IJ_set_ropr_fld("diag.j", 100, Ro_traps_asi, Ft_Imm_Asi, "{0x25, 0x72..0x74}");
3246!!# IJ_set_ropr_fld("diag.j", 101, Ro_traps_asi, Ft_Rs1, "{0}");
3247!!# IJ_set_ropr_fld("diag.j", 102, Ro_traps_asi, Ft_Rs2, "{0}");
3248!!# IJ_set_ropr_fld("diag.j", 103, Ro_traps_asi, Ft_Simm13, "{0x25, 0x72..0x74}");
3249!!#
3250!!# // Trap #s to use
3251!!# //IJ_set_ropr_fld(Ro_traps_i, Ft_Sw_Trap, "{0x30..0x35, 0xb0..0xb5}");
3252!!# IJ_set_ropr_fld("diag.j", 107, Ro_traps_i, Ft_Sw_Trap, "{0x30..0x35}");
3253!!# IJ_set_ropr_fld("diag.j", 108, Ro_traps_i, Ft_Rs1, "{0}");
3254!!# IJ_set_ropr_fld("diag.j", 109, Ro_traps_i, Ft_Cond_f2, "{0x8:3, 0x9, 0x1}");
3255!!# IJ_set_ropr_fld("diag.j", 110, Ro_traps_r, Ft_Rs1, "{0}");
3256!!# IJ_set_ropr_fld("diag.j", 111, Ro_traps_r, Ft_Rs2, "{30}");
3257!!# IJ_set_ropr_fld("diag.j", 112, Ro_traps_r, Ft_Cond_f2, "{0x8:3, 0x9, 0x1}");
3258!!# //IJ_set_ropr_fld(Ro_traps_r, Ft_Simm13, "{0x30..0x35}");
3259!!# IJ_set_ropr_fld("diag.j", 114, Ro_traps_r, Ft_Simm13, "{0x30..0x35, 0xb0..0xb5}");
3260!!# //IJ_set_rvar(Rv_init_trap, "{0x30..0x35}");
3261!!# IJ_set_rvar("diag.j", 116, Rv_init_trap, "{0x30..0x35, 0xb0..0xb5}");
3262!!#
3263!!# // FPRS splash
3264!!# IJ_set_ropr_fld("diag.j", 119, Ro_wrfprs, Ft_Rs1, "{0}");
3265!!# IJ_set_ropr_fld("diag.j", 120, Ro_wrfprs, Ft_Simm13, "{0, 4}");
3266!!#
3267!!# // Pstate splash
3268!!# IJ_set_ropr_fld("diag.j", 123, Ro_wrpstate, Ft_Rs1, "{0}");
3269!!# IJ_set_ropr_fld("diag.j", 124, Ro_wrpstate, Ft_Simm13, "12'b0rrr0rr0rrrrr");
3270!!#
3271!!# // Hpstate splash
3272!!# IJ_set_ropr_fld("diag.j", 127, Ro_wrhpstate, Ft_Rs1, "{0}");
3273!!# IJ_set_ropr_fld("diag.j", 128, Ro_wrhpstate, Ft_Simm13, "12'brrrrrr0rr1rr");
3274!!#
3275!!# // TT splash
3276!!# IJ_set_ropr_fld("diag.j", 131, Ro_wrtt, Ft_Rs1, "{0}");
3277!!# IJ_set_ropr_fld("diag.j", 132, Ro_wrtt, Ft_Simm13, "10'brrrrrrrrrr");
3278!!#
3279!!# // GL splash
3280!!# IJ_set_ropr_fld("diag.j", 135, Ro_wrgl, Ft_Rs1, "{0}");
3281!!# IJ_set_ropr_fld("diag.j", 136, Ro_wrgl, Ft_Simm13, "4'brrrr");
3282!!#
3283!!# // TL splash
3284!!# IJ_set_ropr_fld("diag.j", 139, Ro_tl, Ft_Simm13, "{0..5}");
3285!!# IJ_set_ropr_fld("diag.j", 140, Ro_tl, Ft_Rs1, "{0}");
3286!!#
3287!!# // CWP splash
3288!!# IJ_set_ropr_fld("diag.j", 143, Ro_wrcwp, Ft_Rs1, "{0}");
3289!!# IJ_set_ropr_fld("diag.j", 144, Ro_wrcwp, Ft_Simm13, "3'brrr");
3290!!#
3291!!# IJ_set_ropr_fld("diag.j", 146, Ro_save_restore, Ft_Rs1, "{31}");
3292!!# IJ_set_ropr_fld("diag.j", 147, Ro_save_restore, Ft_Rd, "{31}");
3293!!# IJ_set_ropr_fld("diag.j", 148, Ro_save_restore, Ft_Rs2, "{0}");
3294!!#
3295!!# IJ_set_ropr_fld("diag.j", 150, Ro_winops, Ft_Rs1, "{0}");
3296!!# IJ_set_ropr_fld("diag.j", 151, Ro_winops, Ft_Simm13, "{0..5}");
3297!!#
3298!!# // {H}TBA Splash
3299!!# IJ_set_ropr_fld("diag.j", 154, Ro_tba, Ft_Rs1, "{0}");
3300!!# IJ_set_ropr_fld("diag.j", 155, Ro_tba, Ft_Rs2, "{2}");
3301!!#
3302!!# // Dest reg is %g0
3303!!# IJ_set_ropr_fld("diag.j", 158, Ro_rd0, Ft_Rd, "{0}");
3304!!#
3305!!# // Weights
3306!!# IJ_set_default_rule_wt_rvar ("diag.j", 161,"{10}");
3307!!# IJ_set_rvar("diag.j", 162, wt_high, "{90}");
3308!!# IJ_set_rvar("diag.j", 163, wt_med, "{40}");
3309!!# IJ_set_rvar("diag.j", 164, wt_low, "{10}");
3310!!#
3311!!# // Initialize registers ..
3312!!# int i, j, k;
3313!!# IJ_printf ("diag.j", 168, th0,"!Initializing integer registers\n");
3314!!# for (k=0; k<7; k++) {
3315!!# for (i = 0; i < 30; i++) {
3316!!# if (i==15) {
3317!!# IJ_printf ("diag.j", 172, th0,"\tmov %%r31, %%r15\n");
3318!!# continue;
3319!!# }
3320!!# j=i*8;
3321!!# IJ_printf ("diag.j", 176, th0,"\tldx [%%r31+%d], %%r%d\n", j,i);
3322!!# }
3323!!# IJ_printf ("diag.j", 178, th0,"\tmov 0x%rx, %%r14\n", Rv_init_trap);
3324!!# IJ_printf ("diag.j", 179, th0,"\tmov 0x%rx, %%r30\n", Rv_init_trap);
3325!!# IJ_printf ("diag.j", 180, th0,"\tsave %%r31, %%r0, %%r31\n");
3326!!# }
3327!!# for (k=0; k<3; k++) {
3328!!# IJ_printf ("diag.j", 183, th0,"\trestore\n");
3329!!# }
3330!!#
3331!!# IJ_printf ("diag.j", 186, th0,"!Initializing float registers\n");
3332!!# for (i = 0; i < 31; i=i+2) {
3333!!# j=i*8;
3334!!# IJ_printf ("diag.j", 189, th0,"\tldd [%%r31+%d], %%f%d\n", j,i);
3335!!# }
3336!!#
3337!!# IJ_printf ("diag.j", 192, th0,"\tta T_CHANGE_HPRIV \n");
3338!!# IJ_printf ("diag.j", 193, th0,"!Initializing Tick Cmprs \n");
3339!!# IJ_printf ("diag.j", 194, th0,"\tmov 1, %%g2\n");
3340!!# IJ_printf ("diag.j", 195, th0,"\tsllx %%g2, 63, %%g2\n");
3341!!# IJ_printf ("diag.j", 196, th0,"\tor %%g1, %%g2, %%g1\n");
3342!!# IJ_printf("diag.j", 197, th0, "\twrhpr %%g1, %%g0, %%hsys_tick_cmpr\n");
3343!!# IJ_printf("diag.j", 198, th0, "\twr %%g1, %%g0, %%tick_cmpr\n");
3344!!# IJ_printf("diag.j", 199, th0, "\twr %%g1, %%g0, %%sys_tick_cmpr\n");
3345!!# IJ_printf ("diag.j", 200, th0,"!Initializing Trap Stack \n");
3346!!# for (i = 1; i <=6; i++) {
3347!!# IJ_printf ("diag.j", 202, th0,"\twrpr 0x%d, %%tl\n", i);
3348!!# IJ_printf ("diag.j", 203, th0,"\twrpr 0x1, %%tt\n");
3349!!# IJ_printf ("diag.j", 204, th0,"\twrpr 0x1, %%tpc\n");
3350!!# IJ_printf ("diag.j", 205, th0,"\twrpr 0x1, %%tnpc\n");
3351!!# IJ_printf ("diag.j", 206, th0,"\twrpr 0x1, %%tstate\n");
3352!!# IJ_printf ("diag.j", 207, th0,"\twrhpr 0x1, %%htstate\n");
3353!!# }
3354!!# IJ_printf ("diag.j", 209, th0,"\twrpr 0x0, %%tl\n");
3355!!# IJ_printf ("diag.j", 210, th0,"\tta T_CHANGE_NONHPRIV \n");
3356!!#
3357!!# }
3358!!#
3359!!# %%
3360!!# %%section finish
3361!!# {
3362!!#
3363!!#
3364!!# int i;
3365!!# IJ_printf ("diag.j", 259, th0,"\n\n.global user_data_start\n.data\nuser_data_start:\n");
3366!!# for (i = 0; i < 256; i++) {
3367!!# IJ_printf ("diag.j", 261, th0,"\t.xword\t0x%016llrx\n", Rv_rand_64);
3368!!# }
3369!!#
3370!!# for (i = 0; i < 4; i++) {
3371!!# IJ_iseg_printf ("diag.j", 265,MyHTRAPS, i, th0, "#include \"htraps.s\"\n");
3372!!# IJ_iseg_printf ("diag.j", 266,MyHTRAPS, i, th0,"#include \"tlu_htraps_ext.s\"\n");
3373!!# IJ_iseg_printf ("diag.j", 267,MyTRAPS, i, th0,"#include \"traps.s\"\n");
3374!!# }
3375!!#
3376!!# }
3377!!#
3378!!# %%
3379!!# %%section map
3380!!#
3381!!# // Define some additional trap tables here ..
3382!!#
3383!!# SECTION .MyHTRAPS TEXT_VA = "42'{0}, 6'b1110jj, 16'{0}",
3384!!# DATA_VA = "42'{0}, 8'b1110jj11, 14'{0}",
3385!!# attr_text {
3386!!# Name = .MyHTRAPS,
3387!!# hypervisor
3388!!# }
3389!!# attr_data {
3390!!# Name = .MyHTRAPS,
3391!!# hypervisor
3392!!# }
3393!!#
3394!!# enumerate {
3395!!# TEXT_VA
3396!!# }
3397!!#
3398!!# SECTION .MyTRAPS TEXT_VA = "42'{0}, 6'b1111jj, 16'{0}",
3399!!# DATA_VA = "42'{0}, 8'b1111jj11, 14'{0}",
3400!!# attr_text {
3401!!# Name = .MyTRAPS,
3402!!# RA = "42'{0}, 6'b1111jj, 16'{0}",
3403!!# part_0_ctx_zero_tsb_config_0,
3404!!# TTE_G=1, TTE_Context=0, TTE_V=1, TTE_Size=0, TTE_NFO=0, TTE_IE=0,
3405!!# TTE_Soft2=0, TTE_Diag=0, TTE_Soft=0, TTE_L=0, TTE_CP=1, TTE_CV=0,
3406!!# TTE_E=0, TTE_P=1, TTE_W=1, TTE_X=1
3407!!# }
3408!!# attr_data {
3409!!# Name = .MyTRAPS,
3410!!# RA = "42'{0}, 8'b1111jj11, 14'{0}",
3411!!# part_0_ctx_zero_tsb_config_0,
3412!!# TTE_G=1, TTE_Context=0, TTE_V=1, TTE_Size=0, TTE_NFO=0, TTE_IE=0,
3413!!# TTE_Soft2=0, TTE_Diag=0, TTE_Soft=0, TTE_L=0, TTE_CP=1, TTE_CV=0,
3414!!# TTE_E=0, TTE_P=1, TTE_W=1
3415!!# }
3416!!#
3417!!# enumerate {
3418!!# TEXT_VA
3419!!# }
3420!!#
3421!!#
3422!!#
3423!!#
3424!!# %%
3425!!# %%section grammar
3426!!#
3427!!#
3428!!# block: inst | block inst
3429!!# {
3430!!# IJ_generate ("diag.j", 315, th0, $2);
3431!!# };
3432!!#
3433!!# inst: trap_asr %rvar wt_med
3434!!# | trap_asi %rvar wt_low
3435!!# | tcc %rvar wt_high
3436!!# | ldst_excp %rvar wt_low
3437!!# | ldstasi_excp %rvar wt_low
3438!!# | ldstasi_excp_z %rvar wt_low
3439!!# | change_mode %rvar wt_med
3440!!# | alu %rvar wt_high
3441!!# | branches %rvar wt_med
3442!!# | wrasi %rvar wt_low
3443!!# | splash_fprs %rvar wt_low
3444!!# | splash_pstate %rvar wt_med
3445!!# | splash_hpstate %rvar wt_med
3446!!# | splash_cwp %rvar wt_med
3447!!# | splash_gl %rvar wt_med
3448!!# | splash_tt %rvar wt_med
3449!!# | stores %rvar wt_low
3450!!# | sir %rvar wt_low
3451!!# //| splash_cmpr %rvar wt_low
3452!!# | splash_tba %rvar wt_low
3453!!# | splash_htba %rvar wt_low
3454!!# | splash_lsucnt %rvar wt_low
3455!!# ;
3456!!#
3457!!# dummy :tCHANGE_NONHPRIV | tCHANGE_NONPRIV |
3458!!# tWR_STICK_CMPR_REG_R | tWR_TICK_CMPR_REG_R
3459!!# ;
3460!!#
3461!!# sir : tSIR ;
3462!!#
3463!!# change_mode :
3464!!# reduce_priv_level
3465!!# | tCHANGE_HPRIV
3466!!# | tCHANGE_PRIV
3467!!# | change_to_tl1
3468!!# | change_to_randtl
3469!!# | tCHANGE_TO_TL0
3470!!# ;
3471!!#
3472!!# pt1: tFqTOd | tSDIVX_I | tSIAM | tWRTICK_R | tWR_STICK_REG_R
3473!!# ;
3474!!#
3475!!# reduce_priv_level: pt1
3476!!# {
3477!!# IJ_printf("diag.j", 363, th0, "reduce_priv_level_%d:\n", label);
3478!!# IJ_set_ropr_fld("diag.j", 364, Ro_tl, Ft_Simm13, "{0..2}");
3479!!# IJ_generate_from_token("diag.j", 365,1, th0, Ro_tl, tWRPR_TL_I, -1);;
3480!!# if (label%2) {
3481!!# IJ_generate_from_token("diag.j", 367,1, th0, ijdefault, tCHANGE_NONHPRIV, -1);;
3482!!# } else {
3483!!# IJ_generate_from_token("diag.j", 369,1, th0, ijdefault, tCHANGE_NONPRIV, -1);;
3484!!# }
3485!!# label++;
3486!!# }
3487!!# ;
3488!!#
3489!!# change_to_randtl: tWRPR_TL_I %ropr Ro_tl
3490!!# {
3491!!# IJ_printf("diag.j", 377, th0, "change_to_randtl_%d:\n", label);
3492!!# if (label%2) {
3493!!# IJ_set_ropr_fld("diag.j", 379, Ro_tl, Ft_Simm13, "{3..5}");
3494!!# IJ_generate_from_token("diag.j", 380,1, th0, ijdefault, tCHANGE_HPRIV, -1);;
3495!!# } else {
3496!!# IJ_set_ropr_fld("diag.j", 382, Ro_tl, Ft_Simm13, "{0..2}");
3497!!# IJ_generate_from_token("diag.j", 383,1, th0, ijdefault, tCHANGE_PRIV, -1);;
3498!!# }
3499!!# label++;
3500!!# }
3501!!# ;
3502!!#
3503!!# change_to_tl1 : tCHANGE_TO_TL1
3504!!# {
3505!!# IJ_printf("diag.j", 391, th0, "change_to_tl1_%d:\n", label);
3506!!# if (label%2) {
3507!!# IJ_printf("diag.j", 393, th0, "\tta T_CHANGE_HPRIV\n");
3508!!# } else {
3509!!# IJ_printf("diag.j", 395, th0, "\tta T_CHANGE_PRIV\n");
3510!!# }
3511!!# label++;
3512!!# }
3513!!# ;
3514!!# trap_asr :
3515!!# tRDPR_TPC
3516!!# | tRDPR_TSTATE
3517!!# | tRDPR_TT
3518!!# | tRDPR_TNPC
3519!!# | tRDPR_TBA
3520!!# | tRDPR_TL
3521!!# | tRDPR_GL
3522!!# //| tRDHPR_HTBA
3523!!# //| tRDHPR_HPSTATE
3524!!# //| tRD_TICK_CMPR_REG
3525!!# //| tRD_STICK_CMPR_REG
3526!!# //| tRD_STICK_REG %ropr Ro_rd0
3527!!# ;
3528!!#
3529!!# splash_lsucnt: tFBPULE
3530!!# {
3531!!# IJ_printf("diag.j", 417, th0, "splash_lsu_%d:\n", label);
3532!!# IJ_printf("diag.j", 418, th0, "\tset 0x%rx, %%r2\n", Rv_lsucntl);
3533!!# IJ_printf("diag.j", 419, th0, "\tstxa %%r2, [%%r0] ASI_LSU_CONTROL\n");
3534!!# label++;
3535!!# }
3536!!# ;
3537!!#
3538!!# splash_tba: tWRPR_TBA_R %ropr Ro_tba
3539!!# {
3540!!# IJ_printf("diag.j", 426, th0, "splash_tba_%d:\n", label);
3541!!# IJ_printf("diag.j", 427, th0, "\tta T_CHANGE_PRIV\n");
3542!!# if (label%3) {
3543!!# IJ_printf("diag.j", 429, th0, "\tset 0x120000, %%r2\n");
3544!!# } else {
3545!!# IJ_printf("diag.j", 431, th0, "\tset 0x%08llrx, %%r2\n", Rv_tba);
3546!!# }
3547!!# label++;
3548!!# }
3549!!# ;
3550!!# splash_htba: tWRHPR_HTBA_R %ropr Ro_tba
3551!!# {
3552!!# IJ_printf("diag.j", 438, th0, "splash_htba_%d:\n", label);
3553!!# IJ_printf("diag.j", 439, th0, "\tta T_CHANGE_HPRIV\n");
3554!!# if (label%3) {
3555!!# IJ_printf("diag.j", 441, th0, "\tset 0x80000, %%r2\n");
3556!!# } else {
3557!!# IJ_printf("diag.j", 443, th0, "\tset 0x%08llrx, %%r2\n", Rv_htba);
3558!!# }
3559!!# label++;
3560!!# }
3561!!# ;
3562!!#
3563!!# splash_cmpr: tWR_STICK_REG_I
3564!!# {
3565!!# IJ_printf("diag.j", 451, th0, "splash_cmpr_%d:\n", label);
3566!!# IJ_set_rvar("diag.j", 452, Rv_rand_60,"64'h8rrrrrrr_rrrrrrrr");
3567!!# IJ_set_ropr_fld("diag.j", 453, Ro_cmpr, Ft_Rs1, "{0}");
3568!!# IJ_set_ropr_fld("diag.j", 454, Ro_cmpr, Ft_Rs2, "{1}");
3569!!# IJ_printf ("diag.j", 455, th0,"\tnop\n\tmov 1, %%g2\n");
3570!!# IJ_printf ("diag.j", 456, th0,"\tsllx %%g2, 63, %%g2\n");
3571!!# IJ_printf ("diag.j", 457, th0,"\tor %%g1, %%g2, %%g1\n");
3572!!# if (label%2) {
3573!!# IJ_generate_from_token("diag.j", 459,1, th0, Ro_cmpr, tWR_STICK_CMPR_REG_R, tWR_TICK_CMPR_REG_R, -1);;
3574!!# } else {
3575!!# IJ_printf("diag.j", 461, th0, "\twrhpr %%g1, %%g0, %%hsys_tick_cmpr\n");
3576!!# }
3577!!# label++;
3578!!# }
3579!!#
3580!!# ;
3581!!#
3582!!# splash_gl :
3583!!# tWRPR_GL_I %ropr Ro_wrgl
3584!!# ;
3585!!# splash_tt :
3586!!# tWRPR_TT_I %ropr Ro_wrtt
3587!!# ;
3588!!# splash_fprs :
3589!!# tWRFPRS_I %ropr Ro_wrfprs
3590!!# ;
3591!!#
3592!!# splash_cwp :
3593!!# tWRPR_CWP_I %ropr Ro_wrcwp
3594!!# ;
3595!!#
3596!!# splash_pstate :
3597!!# tWRPR_PSTATE_I %ropr Ro_wrpstate
3598!!# ;
3599!!#
3600!!# splash_hpstate :
3601!!# tWRHPR_HPSTATE_I %ropr Ro_wrhpstate
3602!!# ;
3603!!#
3604!!# trap_asi :
3605!!# asi_load_r %ropr Ro_traps_asi
3606!!# ;
3607!!#
3608!!# wrasi : tWRASI_I %ropr Ro_wrasi_i
3609!!# ;
3610!!# reg_tcc : tTcc_R %ropr Ro_traps_r
3611!!# {
3612!!# if (label%2) {
3613!!# IJ_printf("diag.j", 499, th0, "\totherw\n\tmov 0x%rx, %%r30\n", Rv_init_trap);
3614!!# } else {
3615!!# IJ_printf("diag.j", 501, th0, "\tinvalw\n\tmov 0x%rx, %%r30\n", Rv_init_trap);
3616!!# }
3617!!# }
3618!!# ;
3619!!#
3620!!# tcc :
3621!!# tTcc_I %ropr Ro_traps_i
3622!!# | reg_tcc
3623!!#
3624!!# ;
3625!!#
3626!!# ldst_excp :
3627!!# ldds %ropr Ro_nontrap_ld |
3628!!# load_r %ropr Ro_nontrap_ld |
3629!!# load_i %ropr Ro_nontrap_ld
3630!!#
3631!!# ;
3632!!#
3633!!# ldstasi_excp :
3634!!# asi_load_i %ropr Ro_nontrap_ldasi
3635!!# ;
3636!!# ldstasi_excp_z :
3637!!# tLDUWA_R %ropr Ro_nontrap_ldasi_z
3638!!# ;
3639!!#
3640!!# ldds: tLDD_R | tLDD_I | tLDDA_I | tLDDA_R
3641!!# ;
3642!!#
3643!!# stores:
3644!!# stds %ropr Ro_ldst_ptr |
3645!!# stfs %ropr Ro_ldst_ptr |
3646!!# stqfs %ropr Ro_ldst_ptr |
3647!!# sts %ropr Ro_ldst_ptr
3648!!# ;
3649!!# stds: tSTDA_R | tSTDA_I | tSTD_R | tSTD_I | tSTDF_R | tSTDF_I
3650!!# ;
3651!!# stfs: tSTF_R | tSTF_I
3652!!# ;
3653!!# stqfs: tSTQF_R | tSTQF_I
3654!!# ;
3655!!# sts: tSTB_R | tSTB_I | tSTH_R | tSTH_I | tSTW_R | tSTW_I | tSTX_R | tSTX_I
3656!!#
3657!!# ;
3658!!#
3659!!# load_r: tLDSB_R | tLDSH_R | tLDSW_R | tLDUB_R | tLDUH_R | tLDUW_R | tLDX_R
3660!!# | tLDQF_R
3661!!# ;
3662!!#
3663!!# load_i: tLDSB_I | tLDSH_I | tLDSW_I | tLDUB_I | tLDUH_I | tLDUW_I | tLDX_I
3664!!# | tLDQFA_I
3665!!# ;
3666!!#
3667!!# asi_load_i: tLDSBA_I | tLDSHA_I | tLDSWA_I | tLDUBA_I | tLDUHA_I | tLDXA_I
3668!!# ;
3669!!#
3670!!# asi_load_r:tLDSBA_R | tLDSHA_R | tLDSWA_R | tLDUBA_R | tLDUHA_R | tLDXA_R
3671!!# ;
3672!!#
3673!!# asi_store_i: tSTBA_I | tSTHA_I | tSTWA_I | tSTXA_I
3674!!# ;
3675!!#
3676!!# asi_store_r: tSTBA_R | tSTHA_R | tSTWA_R | tSTXA_R
3677!!# ;
3678!!#
3679!!# alu :
3680!!# tADDcc_R | tADDcc_I | tADDCcc_I | tANDNcc_R |
3681!!# tMULX_R | tUMULcc_R | tUMULcc_I | tSDIVcc_I | tSDIVcc_R |
3682!!# tSMULcc_R | tSDIVX_R | tUDIVX_R |
3683!!# tUDIVX_I | tFDIVs | tFDIVd | tFDIVq | tSWAP_I %ropr Ro_ldst_ptr |
3684!!# tSWAPA_R %ropr Ro_ldst_ptr | tCASA_I %ropr Ro_ldst_ptr | tPOPC_I |
3685!!# tFSQRTq | tFSQRTd | tFsMULd | tFdMULq | tFqTOi | tFNEGd | tFONES
3686!!# ;
3687!!#
3688!!# br : tBA | tBLE | tBGE | tBL | tBGU | tBLEU | tBN | tBNE | tBE | tBG |
3689!!# tBCC | tBCS | tBPOS | tBNEG | tBVC | tBVS | tBPA | tBPN | tBPNE |
3690!!# tBPE | tBPG | tBPLE | tBPGE | tBPL | tBPGU | tBPLEU | tBPCC | tBPCS |
3691!!# tBPPOS | tBPNEG | tBPVC | tBPVS
3692!!# ;
3693!!#
3694!!# branches : br | br_badelay | br_longdelay;
3695!!#
3696!!# br_badelay : tRD_SOFTINT_REG
3697!!# {
3698!!# IJ_printf("diag.j", 586, th0, "DS_%d:\n", label); label++;
3699!!# IJ_generate_from_token("diag.j", 587,1, th0, ijdefault, tBN, tBNE, tBE, tBG, -1);;
3700!!# IJ_generate_from_token("diag.j", 588,1, th0, ijdefault, tSTQF_I, tSTQF_R, -1);;
3701!!# IJ_printf("diag.j", 589, th0, "\tnormalw\n");
3702!!# }
3703!!# | tALLIGNADDRESS
3704!!# {
3705!!# IJ_printf("diag.j", 593, th0, "DS_%d:\n", label); label++;
3706!!# IJ_generate_from_token("diag.j", 594,1, th0, ijdefault, tBN, tBNE, tBE, tBG, -1);;
3707!!# if (! label%3) {
3708!!# IJ_generate_from_token("diag.j", 596,1, th0, ijdefault,tFDIVd, tPOPC_I, -1);;
3709!!# } else if (label%3 == 1) {
3710!!# IJ_printf("diag.j", 598, th0, "\tallclean\n");
3711!!# } else {
3712!!# IJ_printf("diag.j", 600, th0, "\tpdist %%f%rd, %%f%rd, %%f%rd\n", Rv_pdist_reg, Rv_pdist_reg, Rv_pdist_reg);
3713!!# }
3714!!# }
3715!!# | tFADDs
3716!!# {
3717!!# IJ_printf("diag.j", 605, th0, "DS_%d:\n", label); label++;
3718!!# IJ_generate_from_token("diag.j", 606,1, th0, ijdefault, tBN, tBNE, tBE, tBG, -1);;
3719!!# if (label%2) {
3720!!# IJ_printf("diag.j", 608, th0, "\tilltrap\n");
3721!!# } else {
3722!!# IJ_generate_from_token("diag.j", 610,1, th0, ijdefault, tBN, tBNE, tBE, tBG, -1);;
3723!!# }
3724!!# IJ_generate_from_token("diag.j", 612,1, th0, ijdefault, tFSQRTd, tLDQF_R, -1);;
3725!!# }
3726!!#
3727!!# ;
3728!!#
3729!!# br_longdelay : tSAVE_R %ropr Ro_save_restore
3730!!# {
3731!!# IJ_printf("diag.j", 619, th0, "DS_%d:\n", label); label++;
3732!!# IJ_generate_from_token("diag.j", 620,1, th0, ijdefault, tBN, tBNE, tBE, tBG, -1);;
3733!!# }
3734!!# | tRESTORE_R %ropr Ro_save_restore
3735!!# {
3736!!# IJ_printf("diag.j", 624, th0, "DS_%d:\n", label); label++;
3737!!# IJ_generate_from_token("diag.j", 625,1, th0, ijdefault, tBN, tBNE, tBE, tBG, -1);;
3738!!# }
3739!!# | tWRPR_CLEANWIN_I %ropr Ro_winops | tWRPR_WSTATE_I %ropr Ro_winops
3740!!# {
3741!!# IJ_printf("diag.j", 629, th0, "DS_%d:\n", label); label++;
3742!!# IJ_printf("diag.j", 630, th0, "\tnop\n\tnot %%g0, %%g2\n");
3743!!# IJ_printf("diag.j", 631, th0, "\tjmp %%g2\n");
3744!!# }
3745!!# ;
3746!!#
3747!!#
3748!!#
3749!!# %%
3750!!# %%section cbfunc
3751!!#
3752!!# %%
3753!!# %%section stat
3754!!#
3755!!# %%
3756#endif
3757