Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / verif / diag / assembly / uarch / tlu / diag / tlu_rand05_ind_72.s
CommitLineData
86530b38
AT
1/*
2* ========== Copyright Header Begin ==========================================
3*
4* OpenSPARC T2 Processor File: tlu_rand05_ind_72.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 IMMU_SKIP_IF_NO_TTE
39#define DMMU_SKIP_IF_NO_TTE
40#define PORTABLE_CORE
41#define MAIN_PAGE_NUCLEUS_ALSO
42#define MAIN_PAGE_HV_ALSO
43#define MAIN_PAGE_VA_IS_RA_ALSO
44#define DISABLE_PART_LIMIT_CHECK
45#define MAIN_PAGE_USE_CONFIG 3
46#define PART0_Z_TSB_SIZE_3 10
47#define PART0_Z_PAGE_SIZE_3 1
48#define PART0_NZ_TSB_SIZE_3 10
49#define PART0_NZ_PAGE_SIZE_3 1
50#define PART0_Z_TSB_SIZE_1 3
51#define PART0_NZ_TSB_SIZE_1 3
52
53#define PART_0_BASE 0x0
54#define USER_PAGE_CUSTOM_MAP
55#define MAIN_BASE_TEXT_VA 0x333000000
56#define MAIN_BASE_TEXT_RA 0x033000000
57#define MAIN_BASE_DATA_VA 0x379400000
58#define MAIN_BASE_DATA_RA 0x079400000
59
60#d
61# 431 "diag.j"
62
63#define H_HT0_Instruction_real_range_0x0e
64#define SUN_H_HT0_Instruction_real_range_0x0e \
65 HT_HANDLER_RAND4_1;\
66 done;
67
68#ifndef HT_HANDLER_RAND4_1
69#define HT_HANDLER_RAND4_1 mov 0x80, %l3;\
70 b .+12;\
71 stxa %l3, [%l3]0x57 ;\
72 nop
73#endif
74
75# 5 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
76#ifndef T_HANDLER_RAND4_1
77#define T_HANDLER_RAND4_1 b .+16;\
78 sdiv %r1, %r0, %l4;nop;nop
79#endif
80#ifndef T_HANDLER_RAND7_1
81#define T_HANDLER_RAND7_1 b .+28;\
82 pdist %f4, %f6, %f20; \
83 nop; nop ; nop; nop; illtrap
84#endif
85#ifndef T_HANDLER_RAND4_2
86#define T_HANDLER_RAND4_2 save %i7, %g0, %i7; \
87 save %i7, %g0, %i7; \
88 restore %i7, %g0, %i7;\
89 restore %i7, %g0, %i7;
90#endif
91#ifndef T_HANDLER_RAND7_2
92#define T_HANDLER_RAND7_2 b .+8 ;\
93 rdpr %pstate, %l2;\
94 b .+8 ;\
95 rdpr %tstate, %l3;\
96 b .+12 ;\
97 wrpr %l3, %r0, %tstate; nop
98#endif
99#ifndef T_HANDLER_RAND4_3
100#define T_HANDLER_RAND4_3 save %i7, %g0, %i7;\
101 restore %i7, %g0, %i7;\
102 save %i7, %g0, %i7; \
103 restore %i7, %g0, %i7;
104#endif
105#ifndef T_HANDLER_RAND7_3
106#define T_HANDLER_RAND7_3 b .+8 ;\
107 rdpr %tnpc, %l2;\
108 and %l2, 0xfc0, %l2;\
109 add %i7, %l2, %l2;\
110 stda %f16,[%i7]ASI_BLOCK_AS_IF_USER_PRIMARY ;\
111 b .+8 ;\
112 stda %f0,[%i7]ASI_BLOCK_AS_IF_USER_PRIMARY_LITTLE ;
113#endif
114#ifndef T_HANDLER_RAND4_4
115#define T_HANDLER_RAND4_4 b .+4 ; b .+4; b .+4; b .+4
116#endif
117#ifndef T_HANDLER_RAND7_4
118#define T_HANDLER_RAND7_4 b .+8;\
119 save %i7, %g0, %i7; \
120 b,a .+8;\
121 b .+12;\
122 stw %i7, [%i7];\
123 b .-8;;\
124 restore %i7, %g0, %i7;
125
126#endif
127#ifndef T_HANDLER_RAND4_5
128#define T_HANDLER_RAND4_5 ldda [%r31]ASI_NUCLEUS_QUAD_LDD, %l4;\
129 sdiv %l4, %l5, %l7;\
130 add %r31, 128, %l5;\
131 stda %l4, [%i7]ASI_BLOCK_PRIMARY_LITTLE;
132#endif
133#ifndef T_HANDLER_RAND7_5
134#define T_HANDLER_RAND7_5 save %i7, %g0, %i7;\
135 rdpr %tnpc, %l2;\
136 wrpr %l2, %tpc;\
137 add %l2, 4, %l2;\
138 wrpr %l2, %tnpc;\
139 restore %i7, %g0, %i7;\
140 retry;
141#endif
142#ifndef T_HANDLER_RAND4_6
143#define T_HANDLER_RAND4_6 ldda [%r31]ASI_BLOCK_AS_IF_USER_PRIMARY, %l2;\
144 rd %fprs, %l2; \
145 wr %l2, 0x4, %fprs ;\
146 stda %f0,[%r31]ASI_BLOCK_AS_IF_USER_PRIMARY_LITTLE;
147#endif
148#ifndef T_HANDLER_RAND7_6
149#define T_HANDLER_RAND7_6 umul %o4, 2, %o5;\
150 rdpr %tnpc, %l2;\
151 wrpr %l2, %tpc;\
152 add %l2, 4, %l2;\
153 wrpr %l2, %tnpc;\
154 stw %l2, [%i7];\
155 retry;
156#endif
157!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
158#ifndef HT_HANDLER_RAND4_1
159#define HT_HANDLER_RAND4_1 mov 0x80, %l3;\
160 b .+12;\
161 stxa %l3, [%l3]0x57 ;\
162 nop
163#endif
164#ifndef HT_HANDLER_RAND7_1
165#define HT_HANDLER_RAND7_1 b .+28;\
166 pdist %f4, %f4, %f20;\
167 nop; nop ; nop; nop; illtrap
168#endif
169#ifndef HT_HANDLER_RAND4_2
170#define HT_HANDLER_RAND4_2 rdpr %tstate, %l2;\
171 b .+12;\
172 wrpr %l2, 0x800, %tstate;\
173 nop;
174#endif
175#ifndef HT_HANDLER_RAND7_2
176#define HT_HANDLER_RAND7_2 b .+8 ;\
177 rdhpr %hpstate, %l2;\
178 b .+8 ;\
179 rdhpr %htstate, %l3;\
180 b .+12 ;\
181 wrhpr %l3, %r0, %htstate; nop
182#endif
183#ifndef HT_HANDLER_RAND4_3
184#define HT_HANDLER_RAND4_3 stxa %l4, [%r31]ASI_AS_IF_USER_PRIMARY;\
185 mov 0x80, %l3;\
186 stxa %l3, [%l3]0x5f ;\
187 b .+8 ;\
188 ldxa [%r31]ASI_AS_IF_USER_PRIMARY, %l4;
189#endif
190#ifndef HT_HANDLER_RAND7_3
191#define HT_HANDLER_RAND7_3 b .+8 ;\
192 rdpr %tnpc, %l2;\
193 and %l2, 0xfc0, %l2;\
194 add %i7, %l2, %l2;\
195 stda %f16,[%i7]ASI_BLOCK_AS_IF_USER_PRIMARY ;\
196 b .+8 ;\
197 stda %f0,[%i7]ASI_BLOCK_AS_IF_USER_PRIMARY_LITTLE ;
198#endif
199#ifndef HT_HANDLER_RAND4_4
200#define HT_HANDLER_RAND4_4 ldda [%i7]ASI_BLOCK_AS_IF_USER_PRIMARY_LITTLE, %l3;\
201 b .+12 ;\
202 stxa %l3, [%g0]ASI_LSU_CONTROL; nop
203#endif
204#ifndef HT_HANDLER_RAND7_4
205#define HT_HANDLER_RAND7_4 rdpr %tnpc, %l3;\
206 and %l3, 0xff, %l3;\
207 sllx %l3, 26, %l3;\
208 ldxa [%g0]0x45, %l4;\
209 or %l3, %l4, %l3 ;\
210 stxa %l3, [%g0]0x45 ;\
211 nop;
212#endif
213#ifndef HT_HANDLER_RAND4_5
214#define HT_HANDLER_RAND4_5 ldda [%r31]ASI_NUCLEUS_QUAD_LDD, %l4;\
215 sdiv %l4, %l5, %l6;\
216 sdiv %l3, %l6, %l7;\
217 stda %f32, [%r31]ASI_BLOCK_PRIMARY_LITTLE;
218#endif
219#ifndef HT_HANDLER_RAND7_5
220#define HT_HANDLER_RAND7_5 save %i7, %g0, %i7;\
221 rdpr %tnpc, %l2;\
222 wrpr %l2, %tpc;\
223 add %l2, 4, %l2;\
224 wrpr %l2, %tnpc;\
225 restore %i7, %g0, %i7;\
226 retry;
227#endif
228#ifndef HT_HANDLER_RAND4_6
229#define HT_HANDLER_RAND4_6 ld [%r31], %l2;\
230 rd %fprs, %l2; \
231 wr %l2, 0x4, %fprs ;\
232 stda %f0,[%i7]ASI_BLOCK_AS_IF_USER_PRIMARY_LITTLE;
233#endif
234#ifndef HT_HANDLER_RAND7_6
235#define HT_HANDLER_RAND7_6 rdhpr %htstate, %o4;\
236 rdpr %tnpc, %l2;\
237 wrpr %l2, %tpc;\
238 add %l2, 4, %l2;\
239 wrpr %l2, %tnpc;\
240 wrhpr %o4, %r0, %htstate;\
241 retry;
242#endif
243
244!!!!!!!!!!!!!!!!!!!!!!!!!
245!! Disable trap checking
246#define NO_TRAPCHECK
247
248! Enable Traps
249#define ENABLE_T1_Privileged_Opcode_0x11
250#define ENABLE_T1_Fp_Disabled_0x20
251#define ENABLE_HT0_Watchdog_Reset_0x02
252
253#define FILL_TRAP_RETRY
254#define SPILL_TRAP_RETRY
255#define CLEAN_WIN_RETRY
256
257#define My_RED_Mode_Other_Reset
258#define My_RED_Mode_Other_Reset \
259 ba red_other_ext;\
260 nop;retry;nop;nop;nop;nop;nop
261
262#define H_HT0_Software_Initiated_Reset_0x04
263#define SUN_H_HT0_Software_Initiated_Reset_0x04 \
264 setx Software_Reset_Handler, %g1, %g2 ;\
265 jmp %g2 ;\
266 nop
267# 198 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
268#define H_T1_Clean_Window_0x24
269#define SUN_H_T1_Clean_Window_0x24 \
270 rdpr %cleanwin, %l1;\
271 add %l1,1,%l1;\
272 wrpr %l1, %g0, %cleanwin;\
273 retry; nop; nop; nop; nop
274
275#define H_T1_Clean_Window_0x25
276#define SUN_H_T1_Clean_Window_0x25 \
277 rdpr %cleanwin, %l1;\
278 add %l1,1,%l1;\
279 wrpr %l1, %g0, %cleanwin;\
280 retry; nop; nop; nop; nop
281
282#define H_T1_Clean_Window_0x26
283#define SUN_H_T1_Clean_Window_0x26 \
284 rdpr %cleanwin, %l1;\
285 add %l1,1,%l1;\
286 wrpr %l1, %g0, %cleanwin;\
287 retry; nop; nop; nop; nop
288
289#define H_T1_Clean_Window_0x27
290#define SUN_H_T1_Clean_Window_0x27 \
291 rdpr %cleanwin, %l1;\
292 add %l1,1,%l1;\
293 wrpr %l1, %g0, %cleanwin;\
294 retry; nop; nop; nop; nop
295# 227 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
296#define H_HT0_Tag_Overflow
297#define My_HT0_Tag_Overflow \
298 HT_HANDLER_RAND7_1 ;\
299 done
300
301#define H_T0_Tag_Overflow
302#define My_T0_Tag_Overflow \
303 T_HANDLER_RAND7_2 ;\
304 done
305
306#define H_T1_Tag_Overflow_0x23
307#define SUN_H_T1_Tag_Overflow_0x23 \
308 T_HANDLER_RAND7_3 ;\
309 done
310
311#define H_T0_Window_Spill_0_Normal_Trap
312#define SUN_H_T0_Window_Spill_0_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
313
314#define H_T0_Window_Spill_1_Normal_Trap
315#define SUN_H_T0_Window_Spill_1_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
316
317#define H_T0_Window_Spill_2_Normal_Trap
318#define SUN_H_T0_Window_Spill_2_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
319
320#define H_T0_Window_Spill_3_Normal_Trap
321#define SUN_H_T0_Window_Spill_3_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
322
323#define H_T0_Window_Spill_4_Normal_Trap
324#define SUN_H_T0_Window_Spill_4_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
325
326#define H_T0_Window_Spill_5_Normal_Trap
327#define SUN_H_T0_Window_Spill_5_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
328
329#define H_T0_Window_Spill_6_Normal_Trap
330#define SUN_H_T0_Window_Spill_6_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
331
332#define H_T0_Window_Spill_7_Normal_Trap
333#define SUN_H_T0_Window_Spill_7_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
334
335#define H_T0_Window_Spill_0_Other_Trap
336#define SUN_H_T0_Window_Spill_0_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
337
338#define H_T0_Window_Spill_1_Other_Trap
339#define SUN_H_T0_Window_Spill_1_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
340
341#define H_T0_Window_Spill_2_Other_Trap
342#define SUN_H_T0_Window_Spill_2_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
343
344#define H_T0_Window_Spill_3_Other_Trap
345#define SUN_H_T0_Window_Spill_3_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
346
347#define H_T0_Window_Spill_4_Other_Trap
348#define SUN_H_T0_Window_Spill_4_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
349
350#define H_T0_Window_Spill_5_Other_Trap
351#define SUN_H_T0_Window_Spill_5_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
352
353#define H_T0_Window_Spill_6_Other_Trap
354#define SUN_H_T0_Window_Spill_6_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
355
356#define H_T0_Window_Spill_7_Other_Trap
357#define SUN_H_T0_Window_Spill_7_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
358
359#define H_T0_Window_Fill_0_Normal_Trap
360#define SUN_H_T0_Window_Fill_0_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
361
362#define H_T0_Window_Fill_1_Normal_Trap
363#define SUN_H_T0_Window_Fill_1_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
364
365#define H_T0_Window_Fill_2_Normal_Trap
366#define SUN_H_T0_Window_Fill_2_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
367
368#define H_T0_Window_Fill_3_Normal_Trap
369#define SUN_H_T0_Window_Fill_3_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
370
371#define H_T0_Window_Fill_4_Normal_Trap
372#define SUN_H_T0_Window_Fill_4_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
373
374#define H_T0_Window_Fill_5_Normal_Trap
375#define SUN_H_T0_Window_Fill_5_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
376
377#define H_T0_Window_Fill_6_Normal_Trap
378#define SUN_H_T0_Window_Fill_6_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
379
380#define H_T0_Window_Fill_7_Normal_Trap
381#define SUN_H_T0_Window_Fill_7_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
382
383#define H_T0_Window_Fill_0_Other_Trap
384#define SUN_H_T0_Window_Fill_0_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
385
386#define H_T0_Window_Fill_1_Other_Trap
387#define SUN_H_T0_Window_Fill_1_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
388
389#define H_T0_Window_Fill_2_Other_Trap
390#define SUN_H_T0_Window_Fill_2_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
391
392#define H_T0_Window_Fill_3_Other_Trap
393#define SUN_H_T0_Window_Fill_3_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
394
395#define H_T0_Window_Fill_4_Other_Trap
396#define SUN_H_T0_Window_Fill_4_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
397
398#define H_T0_Window_Fill_5_Other_Trap
399#define SUN_H_T0_Window_Fill_5_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
400
401#define H_T0_Window_Fill_6_Other_Trap
402#define SUN_H_T0_Window_Fill_6_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
403
404#define H_T0_Window_Fill_7_Other_Trap
405#define SUN_H_T0_Window_Fill_7_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
406# 339 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
407#define H_T1_Window_Spill_0_Normal_Trap
408#define SUN_H_T1_Window_Spill_0_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
409
410#define H_T1_Window_Spill_1_Normal_Trap
411#define SUN_H_T1_Window_Spill_1_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
412
413#define H_T1_Window_Spill_2_Normal_Trap
414#define SUN_H_T1_Window_Spill_2_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
415
416#define H_T1_Window_Spill_3_Normal_Trap
417#define SUN_H_T1_Window_Spill_3_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
418
419#define H_T1_Window_Spill_4_Normal_Trap
420#define SUN_H_T1_Window_Spill_4_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
421
422#define H_T1_Window_Spill_5_Normal_Trap
423#define SUN_H_T1_Window_Spill_5_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
424
425#define H_T1_Window_Spill_6_Normal_Trap
426#define SUN_H_T1_Window_Spill_6_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
427
428#define H_T1_Window_Spill_7_Normal_Trap
429#define SUN_H_T1_Window_Spill_7_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
430
431#define H_T1_Window_Spill_0_Other_Trap
432#define SUN_H_T1_Window_Spill_0_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
433
434#define H_T1_Window_Spill_1_Other_Trap
435#define SUN_H_T1_Window_Spill_1_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
436
437#define H_T1_Window_Spill_2_Other_Trap
438#define SUN_H_T1_Window_Spill_2_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
439
440#define H_T1_Window_Spill_3_Other_Trap
441#define SUN_H_T1_Window_Spill_3_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
442
443#define H_T1_Window_Spill_4_Other_Trap
444#define SUN_H_T1_Window_Spill_4_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
445
446#define H_T1_Window_Spill_5_Other_Trap
447#define SUN_H_T1_Window_Spill_5_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
448
449#define H_T1_Window_Spill_6_Other_Trap
450#define SUN_H_T1_Window_Spill_6_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
451
452#define H_T1_Window_Spill_7_Other_Trap
453#define SUN_H_T1_Window_Spill_7_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
454
455#define H_T1_Window_Fill_0_Normal_Trap
456#define SUN_H_T1_Window_Fill_0_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
457
458#define H_T1_Window_Fill_1_Normal_Trap
459#define SUN_H_T1_Window_Fill_1_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
460
461#define H_T1_Window_Fill_2_Normal_Trap
462#define SUN_H_T1_Window_Fill_2_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
463
464#define H_T1_Window_Fill_3_Normal_Trap
465#define SUN_H_T1_Window_Fill_3_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
466
467#define H_T1_Window_Fill_4_Normal_Trap
468#define SUN_H_T1_Window_Fill_4_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
469
470#define H_T1_Window_Fill_5_Normal_Trap
471#define SUN_H_T1_Window_Fill_5_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
472
473#define H_T1_Window_Fill_6_Normal_Trap
474#define SUN_H_T1_Window_Fill_6_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
475
476#define H_T1_Window_Fill_7_Normal_Trap
477#define SUN_H_T1_Window_Fill_7_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
478
479#define H_T1_Window_Fill_0_Other_Trap
480#define SUN_H_T1_Window_Fill_0_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
481
482#define H_T1_Window_Fill_1_Other_Trap
483#define SUN_H_T1_Window_Fill_1_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
484
485#define H_T1_Window_Fill_2_Other_Trap
486#define SUN_H_T1_Window_Fill_2_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
487
488#define H_T1_Window_Fill_3_Other_Trap
489#define SUN_H_T1_Window_Fill_3_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
490
491#define H_T1_Window_Fill_4_Other_Trap
492#define SUN_H_T1_Window_Fill_4_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
493
494#define H_T1_Window_Fill_5_Other_Trap
495#define SUN_H_T1_Window_Fill_5_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
496
497#define H_T1_Window_Fill_6_Other_Trap
498#define SUN_H_T1_Window_Fill_6_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
499
500#define H_T1_Window_Fill_7_Other_Trap
501#define SUN_H_T1_Window_Fill_7_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
502
503#define H_T0_Trap_Instruction_0
504#define My_T0_Trap_Instruction_0 \
505 T_HANDLER_RAND7_5 ;\
506 done;
507
508#define H_T0_Trap_Instruction_1
509#define My_T0_Trap_Instruction_1 \
510 T_HANDLER_RAND7_6 ;\
511 done;
512
513#define H_T0_Trap_Instruction_2
514#define My_T0_Trap_Instruction_2 \
515 inc %o3;\
516 umul %o3, 2, %o4;\
517 ba 1f; \
518 save %i7, %g0, %i7; \
519 2: done; \
520 nop; \
521 1: ba 2b; \
522 restore %i7, %g0, %i7
523#define H_T0_Trap_Instruction_3
524#define My_T0_Trap_Instruction_3 \
525 save %i7, %g0, %i7 ;\
526 T_HANDLER_RAND4_5;\
527 stw %o4, [%i7];\
528 restore %i7, %g0, %i7 ;\
529 done
530#define H_T0_Trap_Instruction_4
531#define My_T0_Trap_Instruction_4 \
532 T_HANDLER_RAND7_6 ;\
533 done;
534
535#define H_T0_Trap_Instruction_5
536#define My_T0_Trap_Instruction_5 \
537 T_HANDLER_RAND4_5;\
538 done;
539
540#define H_T1_Trap_Instruction_0
541#define My_T1_Trap_Instruction_0 \
542 inc %o4;\
543 umul %o4, 2, %o5;\
544 ba 3f; \
545 save %i7, %g0, %i7; \
546 4: done; \
547 nop; \
548 3: ba 4b; \
549 restore %i7, %g0, %i7
550#define H_T1_Trap_Instruction_1
551#define My_T1_Trap_Instruction_1 \
552 T_HANDLER_RAND7_3;\
553 done
554#define H_T1_Trap_Instruction_2
555#define My_T1_Trap_Instruction_2 \
556 inc %o3;\
557 umul %o3, 2, %o4;\
558 ba 5f; \
559 save %i7, %g0, %i7; \
560 6: done; \
561 nop; \
562 5: ba 6b; \
563 restore %i7, %g0, %i7
564#define H_T1_Trap_Instruction_3
565#define My_T1_Trap_Instruction_3 \
566 T_HANDLER_RAND4_1;\
567 done;
568
569#define H_T1_Trap_Instruction_4
570#define My_T1_Trap_Instruction_4 \
571 T_HANDLER_RAND7_1;\
572 done;
573#define H_T1_Trap_Instruction_5
574#define My_T1_Trap_Instruction_5 \
575 T_HANDLER_RAND7_2;\
576 done
577#define H_HT0_Trap_Instruction_0
578#define My_HT0_Trap_Instruction_0 \
579 HT_HANDLER_RAND4_1 ;\
580 done;
581#define H_HT0_Trap_Instruction_1
582#define My_HT0_Trap_Instruction_1 \
583 HT_HANDLER_RAND4_3 ;\
584 done
585#define H_HT0_Trap_Instruction_2
586#define My_HT0_Trap_Instruction_2 \
587 HT_HANDLER_RAND7_5 ;\
588 done;
589#define H_HT0_Trap_Instruction_3
590#define My_HT0_Trap_Instruction_3 \
591 HT_HANDLER_RAND4_5 ;\
592 done
593#define H_HT0_Trap_Instruction_4
594#define My_HT0_Trap_Instruction_4 \
595 HT_HANDLER_RAND7_4 ;\
596 done
597#define H_HT0_Trap_Instruction_5
598#define My_HT0_Trap_Instruction_5 \
599 ba htrap_5_ext;\
600 nop; retry;\
601 nop; nop; nop; nop; nop
602
603#define H_HT0_Mem_Address_Not_Aligned_0x34
604#define My_HT0_Mem_Address_Not_Aligned_0x34 \
605 HT_HANDLER_RAND4_2 ;\
606 done ;
607#define H_HT0_Illegal_instruction_0x10
608#define My_HT0_Illegal_instruction_0x10 \
609 HT_HANDLER_RAND4_2 ;\
610 done;
611
612#define H_HT0_DAE_so_page_0x30
613#define My_HT0_DAE_so_page_0x30 \
614 HT_HANDLER_RAND4_2;\
615 done;
616#define H_HT0_DAE_invalid_asi_0x14
617#define SUN_H_HT0_DAE_invalid_asi_0x14 \
618 HT_HANDLER_RAND4_3 ;\
619 done
620#define H_HT0_DAE_privilege_violation_0x15
621#define SUN_H_HT0_DAE_privilege_violation_0x15 \
622 HT_HANDLER_RAND4_4 ;\
623 done;
624#define H_HT0_Privileged_Action_0x37
625#define My_HT0_Privileged_Action_0x37 \
626 done; \
627 nop; nop
628#define H_HT0_Lddf_Mem_Address_Not_Aligned_0x35
629#define My_HT0_Lddf_Mem_Address_Not_Aligned_0x35 \
630 HT_HANDLER_RAND4_3 ;\
631 done
632#define H_HT0_Stdf_Mem_Address_Not_Aligned_0x36
633#define My_HT0_Stdf_Mem_Address_Not_Aligned_0x36 \
634 HT_HANDLER_RAND7_1;\
635 done
636#define H_HT0_Fp_exception_ieee_754_0x21
637#define My_HT0_Fp_exception_ieee_754_0x21 \
638 HT_HANDLER_RAND4_2 ;\
639 done
640#define H_HT0_Fp_exception_other_0x22
641#define My_HT0_Fp_exception_other_0x22 \
642 HT_HANDLER_RAND7_2 ;\
643 done
644#define H_HT0_Division_By_Zero
645#define My_HT0_Division_By_Zero \
646 HT_HANDLER_RAND4_6;\
647 done
648#define H_T0_Division_By_Zero
649#define My_T0_Division_By_Zero \
650 T_HANDLER_RAND4_3;\
651 done
652#define H_T1_Division_By_Zero_0x28
653#define My_H_T1_Division_By_Zero_0x28 \
654 T_HANDLER_RAND4_3;\
655 done
656#define H_T0_Division_By_Zero
657#define My_T0_Division_By_Zero\
658 T_HANDLER_RAND4_4 ;\
659 done
660#define H_T0_Fp_exception_ieee_754_0x21
661#define My_T0_Fp_exception_ieee_754_0x21 \
662 T_HANDLER_RAND4_3 ;\
663 done
664#define H_T1_Fp_Exception_Ieee_754_0x21
665#define My_H_T1_Fp_Exception_Ieee_754_0x21 \
666 T_HANDLER_RAND4_4 ;\
667 done
668#define H_T1_Fp_Exception_Other_0x22
669#define My_H_T1_Fp_Exception_Other_0x22 \
670 T_HANDLER_RAND4_5 ;\
671 done
672#define H_T1_Privileged_Opcode_0x11
673#define SUN_H_T1_Privileged_Opcode_0x11 \
674 T_HANDLER_RAND4_6 ;\
675 done
676
677#define H_HT0_Privileged_opcode_0x11
678#define My_HT0_Privileged_opcode_0x11 \
679 HT_HANDLER_RAND4_1;\
680 done;
681
682#define H_HT0_Fp_disabled_0x20
683#define My_HT0_Fp_disabled_0x20 \
684 mov 0x4, %l2 ;\
685 wr %l2, 0x0, %fprs ;\
686 sllx %l2, 10, %l3; \
687 rdpr %tstate, %l2;\
688 or %l2, %l3, %l2 ;\
689 stw %l2, [%i7];\
690 wrpr %l2, 0x0, %tstate;\
691 retry;
692
693#define H_T0_Fp_disabled_0x20
694#define My_T0_Fp_disabled_0x20 \
695 mov 0x4, %l2 ;\
696 wr %l2, 0x0, %fprs ;\
697 sllx %l2, 10, %l3; \
698 rdpr %tstate, %l2;\
699 or %l2, %l3, %l2 ;\
700 wrpr %l2, 0x0, %tstate;\
701 retry; nop
702
703#define H_T1_Fp_Disabled_0x20
704#define My_H_T1_Fp_Disabled_0x20 \
705 mov 0x4, %l2 ;\
706 wr %l2, 0x0, %fprs ;\
707 sllx %l2, 10, %l3; \
708 rdpr %tstate, %l2;\
709 or %l2, %l3, %l2 ;\
710 wrpr %l2, 0x0, %tstate;\
711 stw %l2, [%i7];\
712 retry
713
714#define H_HT0_Watchdog_Reset_0x02
715#define My_HT0_Watchdog_Reset_0x02 \
716 ba wdog_2_ext;\
717 nop;retry;nop;nop;nop;nop;nop
718
719#define H_T0_Privileged_opcode_0x11
720#define My_T0_Privileged_opcode_0x11 \
721 T_HANDLER_RAND4_4;\
722 done
723
724#define H_T1_Fp_exception_other_0x22
725#define My_T1_Fp_exception_other_0x22 \
726 T_HANDLER_RAND7_3 ;\
727 done;
728
729#define H_T0_Fp_exception_other_0x22
730#define My_T0_Fp_exception_other_0x22 \
731 T_HANDLER_RAND7_4;\
732 done
733
734#define H_HT0_Trap_Level_Zero_0x5f
735#define My_HT0_Trap_Level_Zero_0x5f \
736 not %g0, %r13; \
737 rdhpr %hpstate, %l3;\
738 jmp %r13;\
739 rdhpr %htstate, %l3;\
740 and %l3, 0xfe, %l3;\
741 wrhpr %l3, 0, %htstate;\
742 stw %r13, [%i7];\
743 retry
744
745#define My_Watchdog_Reset
746#define My_Watchdog_Reset \
747 ba wdog_red_ext;\
748 nop;retry;nop;nop;nop;nop;nop
749
750#define H_HT0_Control_Transfer_Instr_0x74
751#define My_H_HT0_Control_Transfer_Instr_0x74 \
752 rdpr %tstate, %l3;\
753 mov 1, %l4;\
754 sllx %l4, 20, %l4;\
755 wrpr %l3, %l4, %tstate ;\
756 retry;nop;
757
758#define H_T0_Control_Transfer_Instr_0x74
759#define My_H_T0_Control_Transfer_Instr_0x74 \
760 rdpr %tstate, %l3;\
761 mov 1, %l4;\
762 sllx %l4, 20, %l4;\
763 wrpr %l3, %l4, %tstate ;\
764 retry;nop;
765
766#define H_T1_Control_Transfer_Instr_0x74
767#define My_H_T1_Control_Transfer_Instr_0x74 \
768 rdpr %tstate, %l3;\
769 mov 1, %l4;\
770 sllx %l4, 20, %l4;\
771 wrpr %l3, %l4, %tstate ;\
772 retry;nop;
773# 707 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
774#define H_HT0_data_access_protection_0x6c
775#define SUN_H_HT0_data_access_protection_0x6c ba daccess_prot_handler; nop
776
777#define H_HT0_PA_Watchpoint_0x61
778#define My_H_HT0_PA_Watchpoint_0x61 \
779 HT_HANDLER_RAND7_4;\
780 done
781
782#ifndef H_HT0_Data_access_error_0x32
783#define H_HT0_Data_access_error_0x32
784#define SUN_H_HT0_Data_access_error_0x32 \
785 done;nop
786#endif
787# 722 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
788#define H_T0_VA_Watchpoint_0x62
789#define My_T0_VA_Watchpoint_0x62 \
790 T_HANDLER_RAND7_5;\
791 done
792
793#define H_T1_VA_Watchpoint_0x62
794#define SUN_H_T1_VA_Watchpoint_0x62 \
795 T_HANDLER_RAND7_3;\
796 done
797
798#define H_HT0_VA_Watchpoint_0x62
799#define My_H_HT0_VA_Watchpoint_0x62 \
800 HT_HANDLER_RAND7_5;\
801 done
802
803#define H_HT0_Instruction_VA_Watchpoint_0x75
804#define SUN_H_HT0_Instruction_VA_Watchpoint_0x75 \
805 done;
806
807#define H_HT0_Instruction_Breakpoint_0x76
808#define SUN_H_HT0_Instruction_Breakpoint_0x76 \
809 rdhpr %htstate, %g1;\
810 wrhpr %g1, 0x400, %htstate;\
811 retry;nop
812# 748 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
813#define H_HT0_Instruction_address_range_0x0d
814#define SUN_H_HT0_Instruction_address_range_0x0d \
815 HT_HANDLER_RAND4_1;\
816 done;
817
818#define H_HT0_mem_real_range_0x2d
819#define SUN_H_HT0_mem_real_range_0x2d \
820 HT_HANDLER_RAND4_2;\
821 done;
822# 759 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
823#define H_HT0_mem_address_range_0x2e
824#define SUN_H_HT0_mem_address_range_0x2e \
825 HT_HANDLER_RAND4_3;\
826 done;
827
828#define H_HT0_DAE_nc_page_0x16
829#define SUN_H_HT0_DAE_nc_page_0x16 \
830 HT_HANDLER_RAND4_4;\
831 done;
832
833#define H_HT0_DAE_nfo_page_0x17
834#define SUN_H_HT0_DAE_nfo_page_0x17 \
835 HT_HANDLER_RAND4_5;\
836 done;
837# 775 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
838#define H_HT0_IAE_unauth_access_0x0b
839#define SUN_H_HT0_IAE_unauth_access_0x0b \
840 HT_HANDLER_RAND7_3;\
841 done;
842# 781 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
843#define H_HT0_IAE_nfo_page_0x0c
844#define SUN_H_HT0_IAE_nfo_page_0x0c \
845 HT_HANDLER_RAND7_6;\
846 done;
847# 787 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
848#define H_HT0_Reserved_0x3b
849#define SUN_H_HT0_Reserved_0x3b \
850 mov 0x80, %l3;\
851 stxa %l3, [%l3]0x5f ;\
852 stxa %l3, [%l3]0x57 ;\
853 done;
854# 797 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
855#define H_HT0_IAE_privilege_violation_0x08
856#define My_HT0_IAE_privilege_violation_0x08 \
857 HT_HANDLER_RAND7_2;\
858 done;
859
860#ifndef H_HT0_Instruction_Access_MMU_Error_0x71
861#define H_HT0_Instruction_Access_MMU_Error_0x71
862#define SUN_H_HT0_Instruction_Access_MMU_Error_0x71 \
863 mov 0x80, %l3;\
864 stxa %l3, [%l3]0x5f ;\
865 stxa %l3, [%l3]0x57 ;\
866 retry;
867#endif
868
869#ifndef H_HT0_Data_Access_MMU_Error_0x72
870#define H_HT0_Data_Access_MMU_Error_0x72
871#define SUN_H_HT0_Data_Access_MMU_Error_0x72 \
872 mov 0x80, %l3;\
873 stxa %l3, [%l3]0x5f ;\
874 stxa %l3, [%l3]0x57 ;\
875 retry;
876#endif
877
878!!!!!!!!!!!!!!!!!!!!!! END of all handlers !!!!!!!!!!!!!!!!!!!
879# 12 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_intr_handlers.s"
880!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
881!!!!!!!!!!!!!!!! START of Interrupt Handlers !!!!!!!!!!!!!!!!!
882
883#ifndef INT_HANDLER_RAND4_1
884#define INT_HANDLER_RAND4_1 retry; nop; nop; nop
885#endif
886#ifndef INT_HANDLER_RAND7_1
887#define INT_HANDLER_RAND7_1 mov 0x20,%g1; mov 1, %g2;stxa %g2,[%g1]0x40
888#endif
889#ifndef INT_HANDLER_RAND4_2
890#define INT_HANDLER_RAND4_2 retry; nop; nop; nop
891#endif
892#ifndef INT_HANDLER_RAND7_2
893#define INT_HANDLER_RAND7_2 mov 0x80,%g1;stxa %g0,[%g1]0x40
894#endif
895#ifndef INT_HANDLER_RAND4_3
896#define INT_HANDLER_RAND4_3 retry; nop; nop; nop
897#endif
898#ifndef INT_HANDLER_RAND7_3
899#define INT_HANDLER_RAND7_3 retry; nop; nop; nop ; nop; nop; nop
900#endif
901#define H_HT0_Externally_Initiated_Reset_0x03
902#define SUN_H_HT0_Externally_Initiated_Reset_0x03 \
903 ldxa [%g0] ASI_LSU_CTL_REG, %g1; \
904 set cregs_lsu_ctl_reg_r64, %g1; \
905 stxa %g1, [%g0] ASI_LSU_CTL_REG; \
906 retry;nop
907
908#define My_External_Reset \
909 ldxa [%g0] ASI_LSU_CTL_REG, %l5; \
910 set cregs_lsu_ctl_reg_r64, %l5; \
911 stxa %l5, [%g0] ASI_LSU_CTL_REG; \
912 retry;nop
913
914!!!!! SPU Interrupt Handlers
915
916#define H_HT0_Control_Word_Queue_Interrupt_0x3c
917#define My_HT0_Control_Word_Queue_Interrupt_0x3c \
918 INT_HANDLER_RAND7_1 ;\
919 retry ;
920
921#define H_HT0_Modular_Arithmetic_Interrupt_0x3d
922#define My_H_HT0_Modular_Arithmetic_Interrupt_0x3d \
923 INT_HANDLER_RAND7_2 ;\
924 retry ;
925# 59 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_intr_handlers.s"
926!!!!! HW interrupt handlers
927
928#define H_HT0_Interrupt_0x60
929#define My_HT0_Interrupt_0x60 \
930 ldxa [%g0] ASI_SWVR_INTR_RECEIVE, %g5 ;\
931 ldxa [%g0] ASI_SWVR_INTR_R, %g4 ;\
932 ldxa [%g0] ASI_SWVR_INTR_RECEIVE, %g3 ;\
933 INT_HANDLER_RAND4_1 ;\
934 retry;
935
936!!!!! Queue interrupt handler
937# 72 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_intr_handlers.s"
938#define H_T0_Cpu_Mondo_Trap_0x7c
939#define My_T0_Cpu_Mondo_Trap_0x7c \
940 mov 0x3c8, %g3; \
941 ldxa [%g3] 0x25, %g5; \
942 mov 0x3c0, %g3; \
943 stxa %g5, [%g3] 0x25; \
944 retry; \
945 nop; \
946 nop; \
947 nop
948
949#define H_T0_Dev_Mondo_Trap_0x7d
950#define My_T0_Dev_Mondo_Trap_0x7d \
951 mov 0x3d8, %g3; \
952 ldxa [%g3] 0x25, %g5; \
953 mov 0x3d0, %g3; \
954 stxa %g5, [%g3] 0x25; \
955 retry; \
956 nop; \
957 nop; \
958 nop
959
960#define H_T0_Resumable_Error_0x7e
961#define My_T0_Resumable_Error_0x7e \
962 mov 0x3e8, %g3; \
963 ldxa [%g3] 0x25, %g5; \
964 mov 0x3e0, %g3; \
965 stxa %g5, [%g3] 0x25; \
966 retry; \
967 nop; \
968 nop; \
969 nop
970
971#define H_T1_Cpu_Mondo_Trap_0x7c
972#define My_T1_Cpu_Mondo_Trap_0x7c \
973 mov 0x3c8, %g3; \
974 ldxa [%g3] 0x25, %g5; \
975 mov 0x3c0, %g3; \
976 stxa %g5, [%g3] 0x25; \
977 retry; \
978 nop; \
979 nop; \
980 nop
981
982#define H_T1_Dev_Mondo_Trap_0x7d
983#define My_T1_Dev_Mondo_Trap_0x7d \
984 mov 0x3d8, %g3; \
985 ldxa [%g3] 0x25, %g5; \
986 mov 0x3d0, %g3; \
987 stxa %g5, [%g3] 0x25; \
988 retry; \
989 nop; \
990 nop; \
991 nop
992
993#define H_T1_Resumable_Error_0x7e
994#define My_T1_Resumable_Error_0x7e \
995 mov 0x3e8, %g3; \
996 ldxa [%g3] 0x25, %g5; \
997 mov 0x3e0, %g3; \
998 stxa %g5, [%g3] 0x25; \
999 retry; \
1000 nop; \
1001 nop; \
1002 nop
1003
1004#define H_HT0_Reserved_0x7c
1005#define SUN_H_HT0_Reserved_0x7c \
1006 mov 0x3c8, %g3; \
1007 ldxa [%g3] 0x25, %g5; \
1008 mov 0x3c0, %g3; \
1009 stxa %g5, [%g3] 0x25; \
1010 retry; \
1011 nop; \
1012 nop; \
1013 nop
1014
1015#define H_HT0_Reserved_0x7d
1016#define SUN_H_HT0_Reserved_0x7d \
1017 mov 0x3d8, %g3; \
1018 ldxa [%g3] 0x25, %g5; \
1019 mov 0x3d0, %g3; \
1020 stxa %g5, [%g3] 0x25; \
1021 retry; \
1022 nop; \
1023 nop; \
1024 nop
1025
1026#define H_HT0_Reserved_0x7e
1027#define SUN_H_HT0_Reserved_0x7e \
1028 mov 0x3e8, %g3; \
1029 ldxa [%g3] 0x25, %g5; \
1030 mov 0x3e0, %g3; \
1031 stxa %g5, [%g3] 0x25; \
1032 retry; \
1033 nop; \
1034 nop; \
1035 nop
1036# 172 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_intr_handlers.s"
1037!!!!! Hstick-match trap handler
1038# 175 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_intr_handlers.s"
1039#define H_T0_Reserved_0x5e
1040#define My_T0_Reserved_0x5e \
1041 rdhpr %hintp, %g3; \
1042 wrhpr %g3, %g3, %hintp; \
1043 retry; \
1044 nop; \
1045 nop; \
1046 nop; \
1047 nop; \
1048 nop
1049
1050#define H_HT0_Hstick_Match_0x5e
1051#define My_HT0_Hstick_Match_0x5e \
1052 rdhpr %hintp, %g3; \
1053 wrhpr %g3, %g3, %hintp; \
1054 retry; \
1055 nop; \
1056 nop; \
1057 nop; \
1058 nop; \
1059 nop
1060
1061#define H_T0_Reserved_0x5e
1062#define My_T0_Reserved_0x5e \
1063 rdhpr %hintp, %g3; \
1064 wrhpr %g3, %g3, %hintp; \
1065 retry; \
1066 nop; \
1067 nop; \
1068 nop; \
1069 nop; \
1070 nop
1071
1072#define H_T1_Reserved_0x5e
1073#define My_T1_Reserved_0x5e \
1074 rdhpr %hintp, %g3; \
1075 wrhpr %g3, %g3, %hintp; \
1076 retry; \
1077 nop; \
1078 nop; \
1079 nop; \
1080 nop; \
1081 nop
1082# 220 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_intr_handlers.s"
1083!!!!! SW interuupt handlers
1084# 223 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_intr_handlers.s"
1085#define H_T0_Interrupt_Level_14_0x4e
1086#define My_T0_Interrupt_Level_14_0x4e \
1087 rd %softint, %g3; \
1088 sethi %hi(0x14000), %g3; \
1089 or %g3, 0x1, %g3; \
1090 wr %g3, %g0, %clear_softint; \
1091 retry; \
1092 nop; \
1093 nop; \
1094 nop
1095
1096#define H_T0_Interrupt_Level_1_0x41
1097#define My_T0_Interrupt_Level_1_0x41 \
1098 rd %softint, %g3; \
1099 or %g0, 0x2, %g3; \
1100 wr %g3, %g0, %clear_softint; \
1101 retry; \
1102 nop; \
1103 nop; \
1104 nop; \
1105 nop
1106
1107#define H_T0_Interrupt_Level_2_0x42
1108#define My_T0_Interrupt_Level_2_0x42 \
1109 rd %softint, %g3; \
1110 or %g0, 0x4, %g3; \
1111 wr %g3, %g0, %clear_softint; \
1112 retry; \
1113 nop; \
1114 nop; \
1115 nop; \
1116 nop
1117
1118#define H_T0_Interrupt_Level_3_0x43
1119#define My_T0_Interrupt_Level_3_0x43 \
1120 rd %softint, %g3; \
1121 or %g0, 0x8, %g3; \
1122 wr %g3, %g0, %clear_softint; \
1123 retry; \
1124 nop; \
1125 nop; \
1126 nop; \
1127 nop
1128
1129#define H_T0_Interrupt_Level_4_0x44
1130#define My_T0_Interrupt_Level_4_0x44 \
1131 rd %softint, %g3; \
1132 or %g0, 0x10, %g3; \
1133 wr %g3, %g0, %clear_softint; \
1134 retry; \
1135 nop; \
1136 nop; \
1137 nop; \
1138 nop
1139
1140#define H_T0_Interrupt_Level_5_0x45
1141#define My_T0_Interrupt_Level_5_0x45 \
1142 rd %softint, %g3; \
1143 or %g0, 0x20, %g3; \
1144 wr %g3, %g0, %clear_softint; \
1145 retry; \
1146 nop; \
1147 nop; \
1148 nop; \
1149 nop
1150
1151#define H_T0_Interrupt_Level_6_0x46
1152#define My_T0_Interrupt_Level_6_0x46 \
1153 rd %softint, %g3; \
1154 or %g0, 0x40, %g3; \
1155 wr %g3, %g0, %clear_softint; \
1156 retry; \
1157 nop; \
1158 nop; \
1159 nop; \
1160 nop
1161
1162#define H_T0_Interrupt_Level_7_0x47
1163#define My_T0_Interrupt_Level_7_0x47 \
1164 rd %softint, %g3; \
1165 or %g0, 0x80, %g3; \
1166 wr %g3, %g0, %clear_softint; \
1167 retry; \
1168 nop; \
1169 nop; \
1170 nop; \
1171 nop
1172
1173#define H_T0_Interrupt_Level_8_0x48
1174#define My_T0_Interrupt_Level_8_0x48 \
1175 rd %softint, %g3; \
1176 or %g0, 0x100, %g3; \
1177 wr %g3, %g0, %clear_softint; \
1178 retry; \
1179 nop; \
1180 nop; \
1181 nop; \
1182 nop
1183
1184#define H_T0_Interrupt_Level_9_0x49
1185#define My_T0_Interrupt_Level_9_0x49 \
1186 rd %softint, %g3; \
1187 or %g0, 0x200, %g3; \
1188 wr %g3, %g0, %clear_softint; \
1189 retry; \
1190 nop; \
1191 nop; \
1192 nop; \
1193 nop
1194
1195#define H_T0_Interrupt_Level_10_0x4a
1196#define My_T0_Interrupt_Level_10_0x4a \
1197 rd %softint, %g3; \
1198 or %g0, 0x400, %g3; \
1199 wr %g3, %g0, %clear_softint; \
1200 retry; \
1201 nop; \
1202 nop; \
1203 nop; \
1204 nop
1205
1206#define H_T0_Interrupt_Level_11_0x4b
1207#define My_T0_Interrupt_Level_11_0x4b \
1208 rd %softint, %g3; \
1209 or %g0, 0x800, %g3; \
1210 wr %g3, %g0, %clear_softint; \
1211 retry; \
1212 nop; \
1213 nop; \
1214 nop; \
1215 nop
1216
1217#define H_T0_Interrupt_Level_12_0x4c
1218#define My_T0_Interrupt_Level_12_0x4c \
1219 rd %softint, %g3; \
1220 sethi %hi(0x1000), %g3; \
1221 wr %g3, %g0, %clear_softint; \
1222 retry; \
1223 nop; \
1224 nop; \
1225 nop; \
1226 nop
1227
1228#define H_T0_Interrupt_Level_13_0x4d
1229#define My_T0_Interrupt_Level_13_0x4d \
1230 rd %softint, %g3; \
1231 sethi %hi(0x2000), %g3; \
1232 wr %g3, %g0, %clear_softint; \
1233 retry; \
1234 nop; \
1235 nop; \
1236 nop; \
1237 nop
1238
1239#define H_T0_Interrupt_Level_15_0x4f
1240#define My_T0_Interrupt_Level_15_0x4f \
1241 sethi %hi(0x8000), %g3; \
1242 wr %g3, %g0, %clear_softint; \
1243 wr %g0, %g0, %pic;\
1244 set 0x1ff8bfff, %g4;\
1245 wr %g4, %g0, %pcr;\
1246 retry;
1247
1248#define H_T1_Interrupt_Level_14_0x4e
1249#define My_T1_Interrupt_Level_14_0x4e \
1250 rd %softint, %g3; \
1251 sethi %hi(0x14000), %g3; \
1252 or %g3, 0x1, %g3; \
1253 wr %g3, %g0, %clear_softint; \
1254 retry; \
1255 nop; \
1256 nop; \
1257 nop
1258
1259#define H_T1_Interrupt_Level_1_0x41
1260#define My_T1_Interrupt_Level_1_0x41 \
1261 rd %softint, %g3; \
1262 or %g0, 0x2, %g3; \
1263 wr %g3, %g0, %clear_softint; \
1264 retry; \
1265 nop; \
1266 nop; \
1267 nop; \
1268 nop
1269
1270#define H_T1_Interrupt_Level_2_0x42
1271#define My_T1_Interrupt_Level_2_0x42 \
1272 rd %softint, %g3; \
1273 or %g0, 0x4, %g3; \
1274 wr %g3, %g0, %clear_softint; \
1275 retry; \
1276 nop; \
1277 nop; \
1278 nop; \
1279 nop
1280
1281#define H_T1_Interrupt_Level_3_0x43
1282#define My_T1_Interrupt_Level_3_0x43 \
1283 rd %softint, %g3; \
1284 or %g0, 0x8, %g3; \
1285 wr %g3, %g0, %clear_softint; \
1286 retry; \
1287 nop; \
1288 nop; \
1289 nop; \
1290 nop
1291
1292#define H_T1_Interrupt_Level_4_0x44
1293#define My_T1_Interrupt_Level_4_0x44 \
1294 rd %softint, %g3; \
1295 or %g0, 0x10, %g3; \
1296 wr %g3, %g0, %clear_softint; \
1297 retry; \
1298 nop; \
1299 nop; \
1300 nop; \
1301 nop
1302
1303#define H_T1_Interrupt_Level_5_0x45
1304#define My_T1_Interrupt_Level_5_0x45 \
1305 rd %softint, %g3; \
1306 or %g0, 0x20, %g3; \
1307 wr %g3, %g0, %clear_softint; \
1308 retry; \
1309 nop; \
1310 nop; \
1311 nop; \
1312 nop
1313
1314#define H_T1_Interrupt_Level_6_0x46
1315#define My_T1_Interrupt_Level_6_0x46 \
1316 rd %softint, %g3; \
1317 or %g0, 0x40, %g3; \
1318 wr %g3, %g0, %clear_softint; \
1319 retry; \
1320 nop; \
1321 nop; \
1322 nop; \
1323 nop
1324
1325#define H_T1_Interrupt_Level_7_0x47
1326#define My_T1_Interrupt_Level_7_0x47 \
1327 rd %softint, %g3; \
1328 or %g0, 0x80, %g3; \
1329 wr %g3, %g0, %clear_softint; \
1330 retry; \
1331 nop; \
1332 nop; \
1333 nop; \
1334 nop
1335
1336#define H_T1_Interrupt_Level_8_0x48
1337#define My_T1_Interrupt_Level_8_0x48 \
1338 rd %softint, %g3; \
1339 or %g0, 0x100, %g3; \
1340 wr %g3, %g0, %clear_softint; \
1341 retry; \
1342 nop; \
1343 nop; \
1344 nop; \
1345 nop
1346
1347#define H_T1_Interrupt_Level_9_0x49
1348#define My_T1_Interrupt_Level_9_0x49 \
1349 rd %softint, %g3; \
1350 or %g0, 0x200, %g3; \
1351 wr %g3, %g0, %clear_softint; \
1352 retry; \
1353 nop; \
1354 nop; \
1355 nop; \
1356 nop
1357
1358#define H_T1_Interrupt_Level_10_0x4a
1359#define My_T1_Interrupt_Level_10_0x4a \
1360 rd %softint, %g3; \
1361 or %g0, 0x400, %g3; \
1362 wr %g3, %g0, %clear_softint; \
1363 retry; \
1364 nop; \
1365 nop; \
1366 nop; \
1367 nop
1368
1369#define H_T1_Interrupt_Level_11_0x4b
1370#define My_T1_Interrupt_Level_11_0x4b \
1371 rd %softint, %g3; \
1372 or %g0, 0x800, %g3; \
1373 wr %g3, %g0, %clear_softint; \
1374 retry; \
1375 nop; \
1376 nop; \
1377 nop; \
1378 nop
1379
1380#define H_T1_Interrupt_Level_12_0x4c
1381#define My_T1_Interrupt_Level_12_0x4c \
1382 rd %softint, %g3; \
1383 sethi %hi(0x1000), %g3; \
1384 wr %g3, %g0, %clear_softint; \
1385 retry; \
1386 nop; \
1387 nop; \
1388 nop; \
1389 nop
1390
1391#define H_T1_Interrupt_Level_13_0x4d
1392#define My_T1_Interrupt_Level_13_0x4d \
1393 rd %softint, %g3; \
1394 sethi %hi(0x2000), %g3; \
1395 wr %g3, %g0, %clear_softint; \
1396 retry; \
1397 nop; \
1398 nop; \
1399 nop; \
1400 nop
1401
1402#define H_T1_Interrupt_Level_15_0x4f
1403#define My_T1_Interrupt_Level_15_0x4f \
1404 sethi %hi(0x8000), %g3; \
1405 wr %g3, %g0, %clear_softint; \
1406 wr %g0, %g0, %pic;\
1407 set 0x1ff8bfff, %g4;\
1408 wr %g4, %g0, %pcr;\
1409 retry;
1410
1411#define H_HT0_Interrupt_Level_14_0x4e
1412#define My_HT0_Interrupt_Level_14_0x4e \
1413 rd %softint, %g3; \
1414 sethi %hi(0x14000), %g3; \
1415 or %g3, 0x1, %g3; \
1416 wr %g3, %g0, %clear_softint; \
1417 retry; \
1418 nop; \
1419 nop; \
1420 nop
1421
1422#define H_HT0_Interrupt_Level_1_0x41
1423#define My_HT0_Interrupt_Level_1_0x41 \
1424 rd %softint, %g3; \
1425 or %g0, 0x2, %g3; \
1426 wr %g3, %g0, %clear_softint; \
1427 retry; \
1428 nop; \
1429 nop; \
1430 nop; \
1431 nop
1432
1433#define H_HT0_Interrupt_Level_2_0x42
1434#define My_HT0_Interrupt_Level_2_0x42 \
1435 rd %softint, %g3; \
1436 or %g0, 0x4, %g3; \
1437 wr %g3, %g0, %clear_softint; \
1438 retry; \
1439 nop; \
1440 nop; \
1441 nop; \
1442 nop
1443
1444#define H_HT0_Interrupt_Level_3_0x43
1445#define My_HT0_Interrupt_Level_3_0x43 \
1446 rd %softint, %g3; \
1447 or %g0, 0x8, %g3; \
1448 wr %g3, %g0, %clear_softint; \
1449 retry; \
1450 nop; \
1451 nop; \
1452 nop; \
1453 nop
1454
1455#define H_HT0_Interrupt_Level_4_0x44
1456#define My_HT0_Interrupt_Level_4_0x44 \
1457 rd %softint, %g3; \
1458 or %g0, 0x10, %g3; \
1459 wr %g3, %g0, %clear_softint; \
1460 retry; \
1461 nop; \
1462 nop; \
1463 nop; \
1464 nop
1465
1466#define H_HT0_Interrupt_Level_5_0x45
1467#define My_HT0_Interrupt_Level_5_0x45 \
1468 rd %softint, %g3; \
1469 or %g0, 0x20, %g3; \
1470 wr %g3, %g0, %clear_softint; \
1471 retry; \
1472 nop; \
1473 nop; \
1474 nop; \
1475 nop
1476
1477#define H_HT0_Interrupt_Level_6_0x46
1478#define My_HT0_Interrupt_Level_6_0x46 \
1479 rd %softint, %g3; \
1480 or %g0, 0x40, %g3; \
1481 wr %g3, %g0, %clear_softint; \
1482 retry; \
1483 nop; \
1484 nop; \
1485 nop; \
1486 nop
1487
1488#define H_HT0_Interrupt_Level_7_0x47
1489#define My_HT0_Interrupt_Level_7_0x47 \
1490 rd %softint, %g3; \
1491 or %g0, 0x80, %g3; \
1492 wr %g3, %g0, %clear_softint; \
1493 retry; \
1494 nop; \
1495 nop; \
1496 nop; \
1497 nop
1498
1499#define H_HT0_Interrupt_Level_8_0x48
1500#define My_HT0_Interrupt_Level_8_0x48 \
1501 rd %softint, %g3; \
1502 or %g0, 0x100, %g3; \
1503 wr %g3, %g0, %clear_softint; \
1504 retry; \
1505 nop; \
1506 nop; \
1507 nop; \
1508 nop
1509
1510#define H_HT0_Interrupt_Level_9_0x49
1511#define My_HT0_Interrupt_Level_9_0x49 \
1512 rd %softint, %g3; \
1513 or %g0, 0x200, %g3; \
1514 wr %g3, %g0, %clear_softint; \
1515 retry; \
1516 nop; \
1517 nop; \
1518 nop; \
1519 nop
1520
1521#define H_HT0_Interrupt_Level_10_0x4a
1522#define My_HT0_Interrupt_Level_10_0x4a \
1523 rd %softint, %g3; \
1524 or %g0, 0x400, %g3; \
1525 wr %g3, %g0, %clear_softint; \
1526 retry; \
1527 nop; \
1528 nop; \
1529 nop; \
1530 nop
1531
1532#define H_HT0_Interrupt_Level_11_0x4b
1533#define My_HT0_Interrupt_Level_11_0x4b \
1534 rd %softint, %g3; \
1535 or %g0, 0x800, %g3; \
1536 wr %g3, %g0, %clear_softint; \
1537 retry; \
1538 nop; \
1539 nop; \
1540 nop; \
1541 nop
1542
1543#define H_HT0_Interrupt_Level_12_0x4c
1544#define My_HT0_Interrupt_Level_12_0x4c \
1545 rd %softint, %g3; \
1546 sethi %hi(0x1000), %g3; \
1547 wr %g3, %g0, %clear_softint; \
1548 retry; \
1549 nop; \
1550 nop; \
1551 nop; \
1552 nop
1553
1554#define H_HT0_Interrupt_Level_13_0x4d
1555#define My_HT0_Interrupt_Level_13_0x4d \
1556 rd %softint, %g3; \
1557 sethi %hi(0x2000), %g3; \
1558 wr %g3, %g0, %clear_softint; \
1559 retry; \
1560 nop; \
1561 nop; \
1562 nop; \
1563 nop
1564
1565#define H_HT0_Interrupt_Level_15_0x4f
1566#define My_HT0_Interrupt_Level_15_0x4f \
1567 sethi %hi(0x8000), %g3; \
1568 wr %g3, %g0, %clear_softint; \
1569 wr %g0, %g0, %pic;\
1570 set 0x1ff8bfff, %g4;\
1571 wr %g4, %g0, %pcr;\
1572 retry;
1573# 713 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_intr_handlers.s"
1574!!!!!!!!!!!!!!!!!!!!!! END of all handlers !!!!!!!!!!!!!!!!!!!
1575# 443 "diag.j"
1576!# Steer towards main TBA on these errors ..
1577!# These are redefines ...
1578#undef SUN_H_HT0_DAE_nc_page_0x16
1579#define SUN_H_HT0_DAE_nc_page_0x16 \
1580 best_set_reg(0x120000, %r1, %r2);\
1581 wrpr %r0, %r2, %tba; \
1582 done;nop
1583
1584#undef SUN_H_HT0_DAE_nfo_page_0x17
1585#define SUN_H_HT0_DAE_nfo_page_0x17 \
1586 best_set_reg(0x120000, %r1, %r2);\
1587 wrpr %r0, %r2, %tba; \
1588 done;nop
1589
1590#undef SUN_H_HT0_IAE_unauth_access_0x0b
1591#define SUN_H_HT0_IAE_unauth_access_0x0b \
1592 set resolve_bad_tte, %g3;\
1593 jmp %g3;\
1594 nop
1595
1596#undef My_HT0_IAE_privilege_violation_0x08
1597#define My_HT0_IAE_privilege_violation_0x08 \
1598 set resolve_bad_tte, %g3;\
1599 jmp %g3;\
1600 nop
1601
1602#define H_HT0_Instruction_address_range_0x0d
1603#define SUN_H_HT0_Instruction_address_range_0x0d \
1604 rdpr %tpc, %g1;\
1605 rdpr %tnpc, %g2;\
1606 stw %g1, [%i7];\
1607 stw %g2, [%i7+4];\
1608 jmpl %r27+8, %r27;\
1609 fdivd %f0, %f4, %f4;\
1610 nop;
1611#undef SUN_H_HT0_IAE_nfo_page_0x0c
1612#define SUN_H_HT0_IAE_nfo_page_0x0c \
1613 set resolve_bad_tte, %g3;\
1614 jmp %g3;\
1615 nop
1616
1617#define H_HT0_Instruction_Invalid_TSB_Entry_0x2a
1618#define SUN_H_HT0_Instruction_Invalid_TSB_Entry_0x2a \
1619 set restore_range_regs, %g3;\
1620 jmp %g3;\
1621 nop
1622
1623#define H_HT0_Data_Invalid_TSB_Entry_0x2b
1624#define SUN_H_HT0_Data_Invalid_TSB_Entry_0x2b \
1625 set restore_range_regs, %g3;\
1626 jmp %g3;\
1627 nop
1628
1629#define H_HT0_Instruction_Access_MMU_Error_0x71 inst_access_mmu_error_handler
1630#define H_HT0_Instruction_access_error_0x0a inst_access_error_handler
1631#define H_HT0_Internal_Processor_Error_0x29 int_proc_err_handler
1632#define H_HT0_Data_Access_MMU_Error_0x72 data_access_mmu_error_handler
1633#define H_HT0_Data_access_error_0x32 data_access_error_handler
1634#define H_HT0_Hw_Corrected_Error_0x63 hw_corrected_error_handler
1635#define H_HT0_Sw_Recoverable_Error_0x40 sw_recoverable_error_handler
1636#define H_HT0_Store_Error_0x07 store_error_handler
1637
1638#include "hboot.s"
1639
1640# 501 "diag.j"
1641#define LOMEIN_TEXT_VA [0x]mpeval(MAIN_BASE_TEXT_VA&0xffffffff,16)
1642#define LOMEIN_DATA_VA [0x]mpeval(MAIN_BASE_DATA_VA&0xffffffff,16)
1643changequote([, ])dnl
1644SECTION .LOMEIN TEXT_VA=LOMEIN_TEXT_VA, DATA_VA=LOMEIN_DATA_VA
1645attr_text {
1646 Name = .LOMEIN,
1647 VA= LOMEIN_TEXT_VA,
1648 RA= MAIN_BASE_TEXT_RA,
1649 PA= ra2pa2(MAIN_BASE_TEXT_RA, 0),
1650 part_0_ctx_nonzero_tsb_config_1,
1651 part_0_ctx_zero_tsb_config_1,
1652 TTE_G=1, TTE_Context=0x44, TTE_V=1,
1653 TTE_Size=0, TTE_NFO=0, TTE_IE=0, TTE_Soft2=0, TTE_Diag=0, TTE_Soft=0,
1654 TTE_L=0, TTE_CP=1, TTE_CV=0, TTE_E=0, TTE_P=0, TTE_W=1, TTE_X=1,
1655 tsbonly
1656 }
1657attr_data {
1658 Name = .LOMEIN,
1659 VA= LOMEIN_DATA_VA,
1660 RA= MAIN_BASE_DATA_RA,
1661 PA= ra2pa2(MAIN_BASE_DATA_RA, 0),
1662 part_0_ctx_nonzero_tsb_config_2,
1663 part_0_ctx_zero_tsb_config_2
1664 TTE_G=1, TTE_Context=0x44, TTE_V=1, TTE_Size=0, TTE_NFO=0,
1665 TTE_IE=0, TTE_Soft2=0, TTE_Diag=0, TTE_Soft=0,
1666 TTE_L=0, TTE_CP=1, TTE_CV=0, TTE_E=0, TTE_P=0, TTE_W=1, TTE_X=0,
1667 tsbonly
1668 }
1669attr_data {
1670 Name = .LOMEIN,
1671 VA= LOMEIN_DATA_VA,
1672 RA= MAIN_BASE_DATA_RA,
1673 PA= ra2pa2(MAIN_BASE_DATA_RA, 0),
1674 part_0_ctx_nonzero_tsb_config_3,
1675 part_0_ctx_zero_tsb_config_3
1676 TTE_G=1, TTE_Context=0x55, TTE_V=1, TTE_Size=0, TTE_NFO=0,
1677 TTE_IE=0, TTE_Soft2=0, TTE_Diag=0, TTE_Soft=0,
1678 TTE_L=0, TTE_CP=1, TTE_CV=0, TTE_E=0, TTE_P=0, TTE_W=1, TTE_X=0,
1679 tsbonly
1680 }
1681.text
1682.align 0x100000
1683 nop
1684.data
1685 .word 0x0
1686
1687SECTION .MAIN TEXT_VA=MAIN_BASE_TEXT_VA, DATA_VA=MAIN_BASE_DATA_VA
1688attr_text {
1689 Name = .MAIN,
1690 VA=MAIN_BASE_TEXT_VA,
1691 RA= LOMEIN_TEXT_VA,
1692 PA= LOMEIN_TEXT_VA,
1693 part_0_ctx_nonzero_tsb_config_2,
1694 part_0_ctx_zero_tsb_config_2,
1695 TTE_G=1, TTE_Context=0x44, TTE_V=1,
1696 TTE_Size=0, TTE_NFO=0, TTE_IE=0, TTE_Soft2=0, TTE_Diag=0, TTE_Soft=0,
1697 TTE_L=0, TTE_CP=1, TTE_CV=0, TTE_E=0, TTE_P=0, TTE_W=1, TTE_X=1,
1698 }
1699
1700attr_data {
1701 Name = .MAIN,
1702 VA=MAIN_BASE_DATA_VA
1703 RA= LOMEIN_DATA_VA,
1704 PA= LOMEIN_DATA_VA,
1705 part_0_ctx_nonzero_tsb_config_1,
1706 part_0_ctx_zero_tsb_config_1
1707 TTE_G=1, TTE_Context=0x44, TTE_V=1, TTE_Size=0, TTE_NFO=0,
1708 TTE_IE=0, TTE_Soft2=0, TTE_Diag=0, TTE_Soft=0,
1709 TTE_L=0, TTE_CP=1, TTE_CV=0, TTE_E=0, TTE_P=0, TTE_W=1, TTE_X=0,
1710 }
1711
1712attr_data {
1713 Name = .MAIN,
1714 VA=MAIN_BASE_DATA_VA
1715 RA= LOMEIN_DATA_VA,
1716 PA= LOMEIN_DATA_VA,
1717 part_0_ctx_nonzero_tsb_config_3,
1718 part_0_ctx_zero_tsb_config_3
1719 TTE_G=1, TTE_Context=0x55, TTE_V=1, TTE_Size=0, TTE_NFO=0,
1720 TTE_IE=0, TTE_Soft2=0, TTE_Diag=0, TTE_Soft=0,
1721 TTE_L=0, TTE_CP=1, TTE_CV=0, TTE_E=0, TTE_P=0, TTE_W=1, TTE_X=0,
1722 tsbonly
1723 }
1724
1725attr_text {
1726 Name = .MAIN,
1727 VA=MAIN_BASE_TEXT_VA,
1728 hypervisor
1729}
1730
1731attr_data {
1732 Name = .MAIN,
1733 VA=MAIN_BASE_DATA_VA
1734 hypervisor
1735}
1736changequote(`,')dnl'
1737
1738.text
1739.global main
1740main:
1741
1742 ! Set up ld/st area per thread
1743 ta T_RD_THID ! Result in %o1 = r9
1744 brnz %o1, init_start
1745 mov 0xff, %r10
1746lock_sync_thds:
1747 ta T_CHANGE_HPRIV
1748 set sync_thr_counter, %r23
1749 st %r10, [%r23] !lock sync_thr_counter
1750 add %r23, 8, %r23
1751 st %r10, [%r23] !lock sync_thr_counter1
1752 add %r23, 8, %r23
1753 st %r10, [%r23] !lock sync_thr_counter2
1754 ta T_CHANGE_NONHPRIV
1755init_start:
1756 umul %r9, 256, %r31
1757 setx user_data_start, %r1, %r3
1758 add %r31, %r3, %r31
1759 wr %r0, 0x4, %asi
1760
1761!Initializing integer registers
1762 ldx [%r31+0], %r0
1763 ldx [%r31+8], %r1
1764 ldx [%r31+16], %r2
1765 ldx [%r31+24], %r3
1766 ldx [%r31+32], %r4
1767 ldx [%r31+40], %r5
1768 ldx [%r31+48], %r6
1769 ldx [%r31+56], %r7
1770 ldx [%r31+64], %r8
1771 ldx [%r31+72], %r9
1772 ldx [%r31+80], %r10
1773 ldx [%r31+88], %r11
1774 ldx [%r31+96], %r12
1775 ldx [%r31+104], %r13
1776 ldx [%r31+112], %r14
1777 mov %r31, %r15
1778 ldx [%r31+128], %r16
1779 ldx [%r31+136], %r17
1780 ldx [%r31+144], %r18
1781 ldx [%r31+152], %r19
1782 ldx [%r31+160], %r20
1783 ldx [%r31+168], %r21
1784 ldx [%r31+176], %r22
1785 ldx [%r31+184], %r23
1786 ldx [%r31+192], %r24
1787 ldx [%r31+200], %r25
1788 ldx [%r31+208], %r26
1789 ldx [%r31+216], %r27
1790 ldx [%r31+224], %r28
1791 ldx [%r31+232], %r29
1792 mov 0x33, %r14
1793 mov 0x34, %r30
1794 save %r31, %r0, %r31
1795 ldx [%r31+0], %r0
1796 ldx [%r31+8], %r1
1797 ldx [%r31+16], %r2
1798 ldx [%r31+24], %r3
1799 ldx [%r31+32], %r4
1800 ldx [%r31+40], %r5
1801 ldx [%r31+48], %r6
1802 ldx [%r31+56], %r7
1803 ldx [%r31+64], %r8
1804 ldx [%r31+72], %r9
1805 ldx [%r31+80], %r10
1806 ldx [%r31+88], %r11
1807 ldx [%r31+96], %r12
1808 ldx [%r31+104], %r13
1809 ldx [%r31+112], %r14
1810 mov %r31, %r15
1811 ldx [%r31+128], %r16
1812 ldx [%r31+136], %r17
1813 ldx [%r31+144], %r18
1814 ldx [%r31+152], %r19
1815 ldx [%r31+160], %r20
1816 ldx [%r31+168], %r21
1817 ldx [%r31+176], %r22
1818 ldx [%r31+184], %r23
1819 ldx [%r31+192], %r24
1820 ldx [%r31+200], %r25
1821 ldx [%r31+208], %r26
1822 ldx [%r31+216], %r27
1823 ldx [%r31+224], %r28
1824 ldx [%r31+232], %r29
1825 mov 0xb4, %r14
1826 mov 0x32, %r30
1827 save %r31, %r0, %r31
1828 ldx [%r31+0], %r0
1829 ldx [%r31+8], %r1
1830 ldx [%r31+16], %r2
1831 ldx [%r31+24], %r3
1832 ldx [%r31+32], %r4
1833 ldx [%r31+40], %r5
1834 ldx [%r31+48], %r6
1835 ldx [%r31+56], %r7
1836 ldx [%r31+64], %r8
1837 ldx [%r31+72], %r9
1838 ldx [%r31+80], %r10
1839 ldx [%r31+88], %r11
1840 ldx [%r31+96], %r12
1841 ldx [%r31+104], %r13
1842 ldx [%r31+112], %r14
1843 mov %r31, %r15
1844 ldx [%r31+128], %r16
1845 ldx [%r31+136], %r17
1846 ldx [%r31+144], %r18
1847 ldx [%r31+152], %r19
1848 ldx [%r31+160], %r20
1849 ldx [%r31+168], %r21
1850 ldx [%r31+176], %r22
1851 ldx [%r31+184], %r23
1852 ldx [%r31+192], %r24
1853 ldx [%r31+200], %r25
1854 ldx [%r31+208], %r26
1855 ldx [%r31+216], %r27
1856 ldx [%r31+224], %r28
1857 ldx [%r31+232], %r29
1858 mov 0x31, %r14
1859 mov 0xb3, %r30
1860 save %r31, %r0, %r31
1861 ldx [%r31+0], %r0
1862 ldx [%r31+8], %r1
1863 ldx [%r31+16], %r2
1864 ldx [%r31+24], %r3
1865 ldx [%r31+32], %r4
1866 ldx [%r31+40], %r5
1867 ldx [%r31+48], %r6
1868 ldx [%r31+56], %r7
1869 ldx [%r31+64], %r8
1870 ldx [%r31+72], %r9
1871 ldx [%r31+80], %r10
1872 ldx [%r31+88], %r11
1873 ldx [%r31+96], %r12
1874 ldx [%r31+104], %r13
1875 ldx [%r31+112], %r14
1876 mov %r31, %r15
1877 ldx [%r31+128], %r16
1878 ldx [%r31+136], %r17
1879 ldx [%r31+144], %r18
1880 ldx [%r31+152], %r19
1881 ldx [%r31+160], %r20
1882 ldx [%r31+168], %r21
1883 ldx [%r31+176], %r22
1884 ldx [%r31+184], %r23
1885 ldx [%r31+192], %r24
1886 ldx [%r31+200], %r25
1887 ldx [%r31+208], %r26
1888 ldx [%r31+216], %r27
1889 ldx [%r31+224], %r28
1890 ldx [%r31+232], %r29
1891 mov 0xb2, %r14
1892 mov 0xb2, %r30
1893 save %r31, %r0, %r31
1894 ldx [%r31+0], %r0
1895 ldx [%r31+8], %r1
1896 ldx [%r31+16], %r2
1897 ldx [%r31+24], %r3
1898 ldx [%r31+32], %r4
1899 ldx [%r31+40], %r5
1900 ldx [%r31+48], %r6
1901 ldx [%r31+56], %r7
1902 ldx [%r31+64], %r8
1903 ldx [%r31+72], %r9
1904 ldx [%r31+80], %r10
1905 ldx [%r31+88], %r11
1906 ldx [%r31+96], %r12
1907 ldx [%r31+104], %r13
1908 ldx [%r31+112], %r14
1909 mov %r31, %r15
1910 ldx [%r31+128], %r16
1911 ldx [%r31+136], %r17
1912 ldx [%r31+144], %r18
1913 ldx [%r31+152], %r19
1914 ldx [%r31+160], %r20
1915 ldx [%r31+168], %r21
1916 ldx [%r31+176], %r22
1917 ldx [%r31+184], %r23
1918 ldx [%r31+192], %r24
1919 ldx [%r31+200], %r25
1920 ldx [%r31+208], %r26
1921 ldx [%r31+216], %r27
1922 ldx [%r31+224], %r28
1923 ldx [%r31+232], %r29
1924 mov 0x32, %r14
1925 mov 0xb0, %r30
1926 save %r31, %r0, %r31
1927 ldx [%r31+0], %r0
1928 ldx [%r31+8], %r1
1929 ldx [%r31+16], %r2
1930 ldx [%r31+24], %r3
1931 ldx [%r31+32], %r4
1932 ldx [%r31+40], %r5
1933 ldx [%r31+48], %r6
1934 ldx [%r31+56], %r7
1935 ldx [%r31+64], %r8
1936 ldx [%r31+72], %r9
1937 ldx [%r31+80], %r10
1938 ldx [%r31+88], %r11
1939 ldx [%r31+96], %r12
1940 ldx [%r31+104], %r13
1941 ldx [%r31+112], %r14
1942 mov %r31, %r15
1943 ldx [%r31+128], %r16
1944 ldx [%r31+136], %r17
1945 ldx [%r31+144], %r18
1946 ldx [%r31+152], %r19
1947 ldx [%r31+160], %r20
1948 ldx [%r31+168], %r21
1949 ldx [%r31+176], %r22
1950 ldx [%r31+184], %r23
1951 ldx [%r31+192], %r24
1952 ldx [%r31+200], %r25
1953 ldx [%r31+208], %r26
1954 ldx [%r31+216], %r27
1955 ldx [%r31+224], %r28
1956 ldx [%r31+232], %r29
1957 mov 0x30, %r14
1958 mov 0xb4, %r30
1959 save %r31, %r0, %r31
1960 ldx [%r31+0], %r0
1961 ldx [%r31+8], %r1
1962 ldx [%r31+16], %r2
1963 ldx [%r31+24], %r3
1964 ldx [%r31+32], %r4
1965 ldx [%r31+40], %r5
1966 ldx [%r31+48], %r6
1967 ldx [%r31+56], %r7
1968 ldx [%r31+64], %r8
1969 ldx [%r31+72], %r9
1970 ldx [%r31+80], %r10
1971 ldx [%r31+88], %r11
1972 ldx [%r31+96], %r12
1973 ldx [%r31+104], %r13
1974 ldx [%r31+112], %r14
1975 mov %r31, %r15
1976 ldx [%r31+128], %r16
1977 ldx [%r31+136], %r17
1978 ldx [%r31+144], %r18
1979 ldx [%r31+152], %r19
1980 ldx [%r31+160], %r20
1981 ldx [%r31+168], %r21
1982 ldx [%r31+176], %r22
1983 ldx [%r31+184], %r23
1984 ldx [%r31+192], %r24
1985 ldx [%r31+200], %r25
1986 ldx [%r31+208], %r26
1987 ldx [%r31+216], %r27
1988 ldx [%r31+224], %r28
1989 ldx [%r31+232], %r29
1990 mov 0x33, %r14
1991 mov 0x33, %r30
1992 save %r31, %r0, %r31
1993 restore
1994 restore
1995 restore
1996!Initializing float registers
1997 ldd [%r31+0], %f0
1998 ldd [%r31+16], %f2
1999 ldd [%r31+32], %f4
2000 ldd [%r31+48], %f6
2001 ldd [%r31+64], %f8
2002 ldd [%r31+80], %f10
2003 ldd [%r31+96], %f12
2004 ldd [%r31+112], %f14
2005 ldd [%r31+128], %f16
2006 ldd [%r31+144], %f18
2007 ldd [%r31+160], %f20
2008 ldd [%r31+176], %f22
2009 ldd [%r31+192], %f24
2010 ldd [%r31+208], %f26
2011 ldd [%r31+224], %f28
2012 ldd [%r31+240], %f30
2013 !! Set TPC/TNPC to diag-finish in case we get to a strange TL ..
2014 ta T_CHANGE_HPRIV
2015 setx diag_finish, %r29, %r28
2016 add %r28, 4, %r29
2017 wrpr %g0, 1, %tl
2018 wrpr %r28, %tpc
2019 wrpr %r29, %tnpc
2020 wrpr %g0, 2, %tl
2021 wrpr %r28, %tpc
2022 wrpr %r29, %tnpc
2023 wrpr %g0, 3, %tl
2024 wrpr %r28, %tpc
2025 wrpr %r29, %tnpc
2026 wrpr %g0, 4, %tl
2027 wrpr %r28, %tpc
2028 wrpr %r29, %tnpc
2029 wrpr %g0, 5, %tl
2030 wrpr %r28, %tpc
2031 wrpr %r29, %tnpc
2032 wrpr %g0, 6, %tl
2033 wrpr %r28, %tpc
2034 wrpr %r29, %tnpc
2035 wrpr %g0, 0, %tl
2036
2037 !Initializing Tick Cmprs
2038 mov 1, %g2
2039 sllx %g2, 63, %g2
2040 or %g1, %g2, %g1
2041 wrhpr %g1, %g0, %hsys_tick_cmpr
2042 wr %g1, %g0, %tick_cmpr
2043 wr %g1, %g0, %sys_tick_cmpr
2044
2045 ! Set up fpr PMU traps
2046 set 0x1ff8bfff, %g2
2047 b fork_threads
2048 wr %g2, %g0, %pcr
2049
2050common_target:
2051 nop
2052 sub %r15, 8, %r20
2053 jmp %r20
2054 .word 0xa5a109d3 ! 1: FDIVd fdivd %f4, %f50, %f18
2055 nop
2056 jmp %r20
2057 nop
2058fork_threads:
2059 ta %icc, T_RD_THID
2060! fork: source strm = 0xffffffff; target strm = 0x1
2061 cmp %o1, 0
2062 setx fork_lbl_0_1, %g2, %g3
2063 be,a .+8
2064 jmp %g3
2065 nop
2066! fork: source strm = 0xffffffff; target strm = 0x2
2067 cmp %o1, 1
2068 setx fork_lbl_0_2, %g2, %g3
2069 be,a .+8
2070 jmp %g3
2071 nop
2072! fork: source strm = 0xffffffff; target strm = 0x4
2073 cmp %o1, 2
2074 setx fork_lbl_0_3, %g2, %g3
2075 be,a .+8
2076 jmp %g3
2077 nop
2078! fork: source strm = 0xffffffff; target strm = 0x8
2079 cmp %o1, 3
2080 setx fork_lbl_0_4, %g2, %g3
2081 be,a .+8
2082 jmp %g3
2083 nop
2084! fork: source strm = 0xffffffff; target strm = 0x10
2085 cmp %o1, 4
2086 setx fork_lbl_0_5, %g2, %g3
2087 be,a .+8
2088 jmp %g3
2089 nop
2090! fork: source strm = 0xffffffff; target strm = 0x20
2091 cmp %o1, 5
2092 setx fork_lbl_0_6, %g2, %g3
2093 be,a .+8
2094 jmp %g3
2095 nop
2096! fork: source strm = 0xffffffff; target strm = 0x40
2097 cmp %o1, 6
2098 setx fork_lbl_0_7, %g2, %g3
2099 be,a .+8
2100 jmp %g3
2101 nop
2102! fork: source strm = 0xffffffff; target strm = 0x80
2103 cmp %o1, 7
2104 setx fork_lbl_0_8, %g2, %g3
2105 be,a .+8
2106 jmp %g3
2107 nop
2108 setx join_lbl_0_0, %g1, %g2
2109 jmp %g2
2110 nop
2111 setx join_lbl_0_0, %g1, %g2
2112 jmp %g2
2113 nop
2114fork_lbl_0_8:
2115 ta T_CHANGE_NONHPRIV
2116br_badelay3_80_0:
2117 .word 0x34800001 ! 1: BG bg,a <label_0x1>
2118 .word 0xcb47a55b ! Random illegal ?
2119 .word 0xd1120004 ! 1: LDQF_R - [%r8, %r4], %f8
2120 .word 0x95a30834 ! 1: FADDs fadds %f12, %f20, %f10
2121 nop
2122 ta T_CHANGE_HPRIV
2123 mov 0x80, %r10
2124 set sync_thr_counter2, %r23
2125 cas [%r23],%g0,%r10 !lock
2126 brnz %r10, sma_80_1
2127 rd %asi, %r12
2128 wr %g0, 0x40, %asi
2129 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
2130 set 0x00021fff, %g1
2131 stxa %g1, [%g0 + 0x80] %asi
2132 wr %r12, %g0, %asi
2133 st %g0, [%r23]
2134sma_80_1:
2135 ta T_CHANGE_NONHPRIV
2136 .word 0xdbe7e012 ! 2: CASA_R casa [%r31] %asi, %r18, %r13
2137splash_hpstate_80_2:
2138 .word 0x23400001 ! 1: FBPNE fbne,a,pn %fcc0, <label_0x1>
2139 .word 0x81982145 ! 3: WRHPR_HPSTATE_I wrhpr %r0, 0x0145, %hpstate
2140 nop
2141 ta T_CHANGE_HPRIV
2142 mov 0x80, %r10
2143 set sync_thr_counter2, %r23
2144 cas [%r23],%g0,%r10 !lock
2145 brnz %r10, sma_80_3
2146 rd %asi, %r12
2147 wr %g0, 0x40, %asi
2148 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
2149 set 0x000e1fff, %g1
2150 stxa %g1, [%g0 + 0x80] %asi
2151 wr %r12, %g0, %asi
2152 st %g0, [%r23]
2153sma_80_3:
2154 ta T_CHANGE_NONHPRIV
2155 .word 0xdbe7e012 ! 4: CASA_R casa [%r31] %asi, %r18, %r13
2156 .word 0x93d02032 ! 5: Tcc_I tne icc_or_xcc, %r0 + 50
2157jmptr_80_4:
2158 nop
2159 best_set_reg(0xe0a00000, %r20, %r27)
2160 .word 0xb7c6c000 ! 6: JMPL_R jmpl %r27 + %r0, %r27
2161 .word 0xdb27c000 ! 7: STF_R st %f13, [%r0, %r31]
2162 otherw
2163 mov 0xb3, %r30
2164 .word 0x91d0001e ! 8: Tcc_R ta icc_or_xcc, %r0 + %r30
2165mondo_80_5:
2166 nop
2167 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2168 ta T_CHANGE_PRIV
2169 stxa %r8, [%r0+0x3d8] %asi
2170 .word 0x9d934010 ! 9: WRPR_WSTATE_R wrpr %r13, %r16, %wstate
2171 .word 0x93d020b3 ! 10: Tcc_I tne icc_or_xcc, %r0 + 179
2172pmu_80_6:
2173 nop
2174 ta T_CHANGE_PRIV
2175 setx 0xfffffbc8fffff3fd, %g1, %g7
2176 .word 0xa3800007 ! 11: WR_PERF_COUNTER_R wr %r0, %r7, %-
2177memptr_80_7:
2178 set 0x60540000, %r31
2179 .word 0x8582e119 ! 12: WRCCR_I wr %r11, 0x0119, %ccr
2180 nop
2181 ta T_CHANGE_HPRIV
2182 mov 0x80+1, %r10
2183 set sync_thr_counter1, %r23
2184 cas [%r23],%g0,%r10 !lock
2185 brnz %r10, cwq_80_8
2186 rd %asi, %r12
2187 wr %g0, 0x40, %asi
2188 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
2189 and %l1, 0x3, %l1 ! Check if busy/enabled ..
2190 cmp %l1, 1
2191 bne cwq_80_8
2192 set CWQ_BASE, %l6
2193 best_set_reg(0x20610060, %l1, %l2) !# Control Word
2194 sllx %l2, 32, %l2
2195 stx %l2, [%l6 + 0x0]
2196 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
2197 sub %l2, 0x40, %l2
2198 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
2199 wr %r12, %g0, %asi
2200 st %g0, [%r23]
2201cwq_80_8:
2202 ta T_CHANGE_NONHPRIV
2203 .word 0xa7414000 ! 13: RDPC rd %pc, %r19
2204pmu_80_9:
2205 nop
2206 setx 0xfffff971fffff4c3, %g1, %g7
2207 .word 0xa3800007 ! 14: WR_PERF_COUNTER_R wr %r0, %r7, %-
2208 nop
2209 ta T_CHANGE_HPRIV
2210 mov 0x80+1, %r10
2211 set sync_thr_counter1, %r23
2212 cas [%r23],%g0,%r10 !lock
2213 brnz %r10, cwq_80_10
2214 rd %asi, %r12
2215 wr %g0, 0x40, %asi
2216 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
2217 and %l1, 0x3, %l1 ! Check if busy/enabled ..
2218 cmp %l1, 1
2219 bne cwq_80_10
2220 set CWQ_BASE, %l6
2221 best_set_reg(0x20610070, %l1, %l2) !# Control Word
2222 sllx %l2, 32, %l2
2223 stx %l2, [%l6 + 0x0]
2224 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
2225 sub %l2, 0x40, %l2
2226 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
2227 wr %r12, %g0, %asi
2228 st %g0, [%r23]
2229cwq_80_10:
2230 ta T_CHANGE_NONHPRIV
2231 .word 0xa3414000 ! 15: RDPC rd %pc, %r17
2232mondo_80_11:
2233 nop
2234 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2235 ta T_CHANGE_PRIV
2236 stxa %r1, [%r0+0x3d0] %asi
2237 .word 0x9d94c014 ! 16: WRPR_WSTATE_R wrpr %r19, %r20, %wstate
2238br_badelay3_80_12:
2239 .word 0x20800001 ! 1: BN bn,a <label_0x1>
2240 .word 0x9b5a8483 ! Random illegal ?
2241 .word 0xa1a00554 ! 1: FSQRTd fsqrt
2242 .word 0xa3a50831 ! 17: FADDs fadds %f20, %f17, %f17
2243dvapa_80_13:
2244 nop
2245 ta T_CHANGE_HPRIV
2246 mov 0xca3, %r20
2247 mov 0x6, %r19
2248 sllx %r20, 23, %r20
2249 or %r19, %r20, %r19
2250 stxa %r19, [%g0] ASI_LSU_CONTROL
2251 mov 0x38, %r18
2252 stxa %r31, [%r18]0x58
2253 ta T_CHANGE_NONHPRIV
2254 .word 0xd8bfc031 ! 18: STDA_R stda %r12, [%r31 + %r17] 0x01
2255tagged_80_14:
2256 tsubcctv %r1, 0x1296, %r18
2257 .word 0xd807e0c4 ! 19: LDUW_I lduw [%r31 + 0x00c4], %r12
2258 .word 0xe1bfe040 ! 20: STDFA_I stda %f16, [0x0040, %r31]
2259splash_hpstate_80_15:
2260 ta T_CHANGE_NONHPRIV
2261 .word 0x2d400001 ! 1: FBPG fbg,a,pn %fcc0, <label_0x1>
2262 .word 0x81982847 ! 21: WRHPR_HPSTATE_I wrhpr %r0, 0x0847, %hpstate
2263 .word 0xd8d7e038 ! 22: LDSHA_I ldsha [%r31, + 0x0038] %asi, %r12
2264intveclr_80_16:
2265 nop
2266 ta T_CHANGE_HPRIV
2267 setx 0x9f8087c45b725017, %r1, %r28
2268 stxa %r28, [%g0] 0x72
2269 .word 0x25400001 ! 23: FBPLG fblg,a,pn %fcc0, <label_0x1>
2270 nop
2271 ta T_CHANGE_HPRIV
2272 mov 0x80+1, %r10
2273 set sync_thr_counter1, %r23
2274 cas [%r23],%g0,%r10 !lock
2275 brnz %r10, cwq_80_17
2276 rd %asi, %r12
2277 wr %g0, 0x40, %asi
2278 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
2279 and %l1, 0x3, %l1 ! Check if busy/enabled ..
2280 cmp %l1, 1
2281 bne cwq_80_17
2282 set CWQ_BASE, %l6
2283 best_set_reg(0x20610070, %l1, %l2) !# Control Word
2284 sllx %l2, 32, %l2
2285 stx %l2, [%l6 + 0x0]
2286 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
2287 sub %l2, 0x40, %l2
2288 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
2289 wr %r12, %g0, %asi
2290 st %g0, [%r23]
2291cwq_80_17:
2292 ta T_CHANGE_NONHPRIV
2293 .word 0xa7414000 ! 24: RDPC rd %pc, %r19
2294splash_htba_80_18:
2295 nop
2296 ta T_CHANGE_HPRIV
2297 setx 0x00000000002a0000, %r11, %r12
2298 .word 0x8b98000c ! 25: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
2299br_longdelay2_80_19:
2300 .word 0x22800001 ! 1: BE be,a <label_0x1>
2301 .word 0x24ccc001 ! 26: BRLEZ brlez,a,pt %r19,<label_0xcc001>
2302br_longdelay1_80_20:
2303 .word 0x26800001 ! 1: BL bl,a <label_0x1>
2304 .word 0x9d97c000 ! 27: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
2305 .word 0xb1800011 ! 28: WR_STICK_REG_R wr %r0, %r17, %-
2306 .word 0x87aa8a43 ! 29: FCMPd fcmpd %fcc<n>, %f10, %f34
2307 .word 0x93d020b4 ! 30: Tcc_I tne icc_or_xcc, %r0 + 180
2308splash_tba_80_21:
2309 ta T_CHANGE_PRIV
2310 setx 0x00000000003a0000, %r11, %r12
2311 .word 0x8b90000c ! 31: WRPR_TBA_R wrpr %r0, %r12, %tba
2312mondo_80_22:
2313 nop
2314 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2315 ta T_CHANGE_PRIV
2316 stxa %r12, [%r0+0x3c0] %asi
2317 .word 0x9d92c014 ! 32: WRPR_WSTATE_R wrpr %r11, %r20, %wstate
2318 .word 0x20700001 ! 33: BPN <illegal instruction>
2319 .word 0x91952656 ! 34: WRPR_PIL_I wrpr %r20, 0x0656, %pil
2320 .word 0x83d02033 ! 35: Tcc_I te icc_or_xcc, %r0 + 51
2321 .word 0x9f802daa ! 36: SIR sir 0x0daa
2322 nop
2323 ta T_CHANGE_HPRIV
2324 mov 0x80+1, %r10
2325 set sync_thr_counter1, %r23
2326 cas [%r23],%g0,%r10 !lock
2327 brnz %r10, cwq_80_23
2328 rd %asi, %r12
2329 wr %g0, 0x40, %asi
2330 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
2331 and %l1, 0x3, %l1 ! Check if busy/enabled ..
2332 cmp %l1, 1
2333 bne cwq_80_23
2334 set CWQ_BASE, %l6
2335 best_set_reg(0x20610020, %l1, %l2) !# Control Word
2336 sllx %l2, 32, %l2
2337 stx %l2, [%l6 + 0x0]
2338 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
2339 sub %l2, 0x40, %l2
2340 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
2341 wr %r12, %g0, %asi
2342 st %g0, [%r23]
2343cwq_80_23:
2344 ta T_CHANGE_NONHPRIV
2345 .word 0xa5414000 ! 37: RDPC rd %pc, %r18
2346 nop
2347 ta T_CHANGE_HPRIV
2348 mov 0x80+1, %r10
2349 set sync_thr_counter1, %r23
2350 cas [%r23],%g0,%r10 !lock
2351 brnz %r10, cwq_80_24
2352 rd %asi, %r12
2353 wr %g0, 0x40, %asi
2354 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
2355 and %l1, 0x3, %l1 ! Check if busy/enabled ..
2356 cmp %l1, 1
2357 bne cwq_80_24
2358 set CWQ_BASE, %l6
2359 best_set_reg(0x206100a0, %l1, %l2) !# Control Word
2360 sllx %l2, 32, %l2
2361 stx %l2, [%l6 + 0x0]
2362 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
2363 sub %l2, 0x40, %l2
2364 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
2365 wr %r12, %g0, %asi
2366 st %g0, [%r23]
2367cwq_80_24:
2368 ta T_CHANGE_NONHPRIV
2369 .word 0x97414000 ! 38: RDPC rd %pc, %r11
2370jmptr_80_25:
2371 nop
2372 best_set_reg(0xe0a00000, %r20, %r27)
2373 .word 0xb7c6c000 ! 39: JMPL_R jmpl %r27 + %r0, %r27
2374ibp_80_26:
2375 nop
2376 ta T_CHANGE_HPRIV
2377 .word 0xd03ff72a ! 40: STD_I std %r8, [%r31 + 0xfffff72a]
2378 setx 0x07e4c2c9857f3e39, %r1, %r28
2379 stxa %r28, [%g0] 0x73
2380intvec_80_27:
2381 .word 0x39400001 ! 41: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
2382 .word 0x8d903abf ! 42: WRPR_PSTATE_I wrpr %r0, 0x1abf, %pstate
2383 .word 0xd06fe03c ! 43: LDSTUB_I ldstub %r8, [%r31 + 0x003c]
2384trapasi_80_29:
2385mov 0x28, %r1 ! (VA for ASI 0x5b)
2386 .word 0xd0d84b00 ! 44: LDXA_R ldxa [%r1, %r0] 0x58, %r8
2387 nop
2388 ta T_CHANGE_HPRIV
2389 mov 0x80+1, %r10
2390 set sync_thr_counter1, %r23
2391 cas [%r23],%g0,%r10 !lock
2392 brnz %r10, cwq_80_30
2393 rd %asi, %r12
2394 wr %g0, 0x40, %asi
2395 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
2396 and %l1, 0x3, %l1 ! Check if busy/enabled ..
2397 cmp %l1, 1
2398 bne cwq_80_30
2399 set CWQ_BASE, %l6
2400 best_set_reg(0x206100c0, %l1, %l2) !# Control Word
2401 sllx %l2, 32, %l2
2402 stx %l2, [%l6 + 0x0]
2403 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
2404 sub %l2, 0x40, %l2
2405 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
2406 wr %r12, %g0, %asi
2407 st %g0, [%r23]
2408cwq_80_30:
2409 ta T_CHANGE_NONHPRIV
2410 .word 0xa3414000 ! 45: RDPC rd %pc, %r17
2411fpinit_80_31:
2412 setx fp_data_quads, %r19, %r20
2413 ldd [%r20], %f0
2414 ldd [%r20+8], %f4
2415 ld [%r20+16], %fsr
2416 ld [%r20+24], %r19
2417 wr %r19, %g0, %gsr
2418 .word 0x89a009c4 ! 46: FDIVd fdivd %f0, %f4, %f4
2419memptr_80_32:
2420 set 0x60740000, %r31
2421 .word 0x85847221 ! 47: WRCCR_I wr %r17, 0x1221, %ccr
2422mondo_80_33:
2423 nop
2424 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2425 stxa %r5, [%r0+0x3e8] %asi
2426 .word 0x9d92800d ! 48: WRPR_WSTATE_R wrpr %r10, %r13, %wstate
2427 .word 0x91948008 ! 49: WRPR_PIL_R wrpr %r18, %r8, %pil
2428 nop
2429 ta T_CHANGE_HPRIV
2430 mov 0x80, %r10
2431 set sync_thr_counter2, %r23
2432 cas [%r23],%g0,%r10 !lock
2433 brnz %r10, sma_80_35
2434 rd %asi, %r12
2435 wr %g0, 0x40, %asi
2436 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
2437 set 0x001e1fff, %g1
2438 stxa %g1, [%g0 + 0x80] %asi
2439 wr %r12, %g0, %asi
2440 st %g0, [%r23]
2441sma_80_35:
2442 ta T_CHANGE_NONHPRIV
2443 .word 0xd9e7e009 ! 50: CASA_R casa [%r31] %asi, %r9, %r12
2444donret_80_36:
2445 nop
2446 ta T_CHANGE_HPRIV ! macro
2447 rd %pc, %r12
2448 add %r12, (donretarg_80_36-donret_80_36-8), %r12
2449 mov 0x38, %r18
2450 stxa %r12, [%r18]0x58
2451 add %r12, 0x4, %r11
2452 wrpr %g0, 0x1, %tl
2453 wrpr %g0, %r12, %tpc
2454 wrpr %g0, %r11, %tnpc
2455 set (0x0061b223 | (32 << 24)), %r13
2456 rdpr %tstate, %r16
2457 mov 0x1f, %r19
2458 and %r19, %r16, %r17
2459 andn %r16, %r19, %r16
2460 or %r16, %r17, %r20
2461 wrpr %r20, %g0, %tstate
2462 wrhpr %g0, 0x8c5, %htstate
2463 ta T_CHANGE_NONHPRIV ! rand=1 (80)
2464 .word 0x22800001 ! 1: BE be,a <label_0x1>
2465 retry
2466donretarg_80_36:
2467 .word 0xd8ffe0b4 ! 51: SWAPA_I swapa %r12, [%r31 + 0x00b4] %asi
2468 nop
2469 ta T_CHANGE_HPRIV
2470 mov 0x80+1, %r10
2471 set sync_thr_counter1, %r23
2472 cas [%r23],%g0,%r10 !lock
2473 brnz %r10, cwq_80_37
2474 rd %asi, %r12
2475 wr %g0, 0x40, %asi
2476 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
2477 and %l1, 0x3, %l1 ! Check if busy/enabled ..
2478 cmp %l1, 1
2479 bne cwq_80_37
2480 set CWQ_BASE, %l6
2481 best_set_reg(0x20610010, %l1, %l2) !# Control Word
2482 sllx %l2, 32, %l2
2483 stx %l2, [%l6 + 0x0]
2484 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
2485 sub %l2, 0x40, %l2
2486 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
2487 wr %r12, %g0, %asi
2488 st %g0, [%r23]
2489cwq_80_37:
2490 ta T_CHANGE_NONHPRIV
2491 .word 0xa3414000 ! 52: RDPC rd %pc, %r17
2492mondo_80_38:
2493 nop
2494 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2495 ta T_CHANGE_PRIV
2496 stxa %r1, [%r0+0x3d8] %asi
2497 .word 0x9d94c013 ! 53: WRPR_WSTATE_R wrpr %r19, %r19, %wstate
2498 setx 0xff6c523ecb8e505d, %r1, %r28
2499 stxa %r28, [%g0] 0x73
2500intvec_80_39:
2501 .word 0x39400001 ! 54: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
2502 nop
2503 ta T_CHANGE_HPRIV
2504 mov 0x80+1, %r10
2505 set sync_thr_counter1, %r23
2506 cas [%r23],%g0,%r10 !lock
2507 brnz %r10, cwq_80_40
2508 rd %asi, %r12
2509 wr %g0, 0x40, %asi
2510 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
2511 and %l1, 0x3, %l1 ! Check if busy/enabled ..
2512 cmp %l1, 1
2513 bne cwq_80_40
2514 set CWQ_BASE, %l6
2515 best_set_reg(0x206100b0, %l1, %l2) !# Control Word
2516 sllx %l2, 32, %l2
2517 stx %l2, [%l6 + 0x0]
2518 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
2519 sub %l2, 0x40, %l2
2520 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
2521 wr %r12, %g0, %asi
2522 st %g0, [%r23]
2523cwq_80_40:
2524 ta T_CHANGE_NONHPRIV
2525 .word 0xa7414000 ! 55: RDPC rd %pc, %r19
2526 .word 0xa7a449c1 ! 56: FDIVd fdivd %f48, %f32, %f50
2527 .word 0xa9480000 ! 57: RDHPR_HPSTATE rdhpr %hpstate, %r20
2528 .word 0xa1a489c7 ! 58: FDIVd fdivd %f18, %f38, %f16
2529fpinit_80_41:
2530 setx fp_data_quads, %r19, %r20
2531 ldd [%r20], %f0
2532 ldd [%r20+8], %f4
2533 ld [%r20+16], %fsr
2534 ld [%r20+24], %r19
2535 wr %r19, %g0, %gsr
2536 .word 0xc3e82d6b ! 59: PREFETCHA_I prefetcha [%r0, + 0x0d6b] %asi, #one_read
2537 .word 0x9f802a65 ! 60: SIR sir 0x0a65
2538 nop
2539 ta T_CHANGE_HPRIV
2540 mov 0x80, %r10
2541 set sync_thr_counter2, %r23
2542 cas [%r23],%g0,%r10 !lock
2543 brnz %r10, sma_80_42
2544 rd %asi, %r12
2545 wr %g0, 0x40, %asi
2546 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
2547 set 0x000e1fff, %g1
2548 stxa %g1, [%g0 + 0x80] %asi
2549 wr %r12, %g0, %asi
2550 st %g0, [%r23]
2551sma_80_42:
2552 ta T_CHANGE_NONHPRIV
2553 .word 0xd9e7e002 ! 61: CASA_R casa [%r31] %asi, %r2, %r12
2554br_badelay2_80_43:
2555 .word 0x34800001 ! 1: BG bg,a <label_0x1>
2556 pdist %f14, %f30, %f18
2557 .word 0xa7b34314 ! 62: ALIGNADDRESS alignaddr %r13, %r20, %r19
2558 .word 0x8d802000 ! 63: WRFPRS_I wr %r0, 0x0000, %fprs
2559br_longdelay1_80_44:
2560 .word 0x26cc0001 ! 1: BRLZ brlz,a,pt %r16,<label_0xc0001>
2561 .word 0xbfefc000 ! 64: RESTORE_R restore %r31, %r0, %r31
2562 setx 0x08775cb9569fa0b1, %r1, %r28
2563 stxa %r28, [%g0] 0x73
2564intvec_80_45:
2565 .word 0x39400001 ! 65: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
2566 .word 0xe53fc000 ! 66: STDF_R std %f18, [%r0, %r31]
2567 .word 0xe49fc02d ! 67: LDDA_R ldda [%r31, %r13] 0x01, %r18
2568 nop
2569 ta T_CHANGE_HPRIV
2570 mov 0x80+1, %r10
2571 set sync_thr_counter1, %r23
2572 cas [%r23],%g0,%r10 !lock
2573 brnz %r10, cwq_80_47
2574 rd %asi, %r12
2575 wr %g0, 0x40, %asi
2576 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
2577 and %l1, 0x3, %l1 ! Check if busy/enabled ..
2578 cmp %l1, 1
2579 bne cwq_80_47
2580 set CWQ_BASE, %l6
2581 best_set_reg(0x20610070, %l1, %l2) !# Control Word
2582 sllx %l2, 32, %l2
2583 stx %l2, [%l6 + 0x0]
2584 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
2585 sub %l2, 0x40, %l2
2586 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
2587 wr %r12, %g0, %asi
2588 st %g0, [%r23]
2589cwq_80_47:
2590 ta T_CHANGE_NONHPRIV
2591 .word 0xa3414000 ! 68: RDPC rd %pc, %r17
2592 .word 0xb1800011 ! 69: WR_STICK_REG_R wr %r0, %r17, %-
2593splash_hpstate_80_48:
2594 .word 0x24800001 ! 1: BLE ble,a <label_0x1>
2595 .word 0x81982f9f ! 70: WRHPR_HPSTATE_I wrhpr %r0, 0x0f9f, %hpstate
2596intveclr_80_49:
2597 nop
2598 ta T_CHANGE_HPRIV
2599 setx 0x82a610f80fb407c7, %r1, %r28
2600 stxa %r28, [%g0] 0x72
2601 .word 0x25400001 ! 71: FBPLG fblg,a,pn %fcc0, <label_0x1>
2602 .word 0xe03fe0a2 ! 72: STD_I std %r16, [%r31 + 0x00a2]
2603splash_lsu_80_50:
2604 nop
2605 ta T_CHANGE_HPRIV
2606 set 0x5d80d1e7, %r2
2607 mov 0x1, %r1
2608 sllx %r1, 32, %r1
2609 or %r1, %r2, %r2
2610 stxa %r2, [%r0] ASI_LSU_CONTROL
2611 .word 0x3d400001 ! 73: FBPULE fbule,a,pn %fcc0, <label_0x1>
2612 .word 0xe137e001 ! 74: STQF_I - %f16, [0x0001, %r31]
2613 .word 0xe19fc2c0 ! 75: LDDFA_R ldda [%r31, %r0], %f16
2614 .word 0xe057e010 ! 76: LDSH_I ldsh [%r31 + 0x0010], %r16
2615splash_cmpr_80_51:
2616 nop
2617 setx 0xf095e88dfc337adc, %l2, %l1
2618 ta T_CHANGE_PRIV
2619 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
2620 ta T_CHANGE_NONPRIV
2621 sub %l1, 40, %g1
2622 .word 0x89900011 ! 77: WRPR_TICK_R wrpr %r0, %r17, %tick
2623splash_lsu_80_52:
2624 nop
2625 ta T_CHANGE_HPRIV
2626 set 0x29347f18, %r2
2627 mov 0x5, %r1
2628 sllx %r1, 32, %r1
2629 or %r1, %r2, %r2
2630 stxa %r2, [%r0] ASI_LSU_CONTROL
2631 ta T_CHANGE_NONHPRIV
2632 .word 0x3d400001 ! 78: FBPULE fbule,a,pn %fcc0, <label_0x1>
2633br_badelay2_80_53:
2634 .word 0x20800001 ! 1: BN bn,a <label_0x1>
2635 pdist %f2, %f18, %f26
2636 .word 0xa1b14311 ! 79: ALIGNADDRESS alignaddr %r5, %r17, %r16
2637 .word 0xe1bfe060 ! 80: STDFA_I stda %f16, [0x0060, %r31]
2638splash_cmpr_80_54:
2639 nop
2640 setx 0x64e8797ef836ad1b, %l2, %l1
2641 ta T_CHANGE_HPRIV
2642 wrhpr %l1, %g0, %hsys_tick_cmpr
2643 sub %l1, 40, %g1
2644 .word 0x89900011 ! 81: WRPR_TICK_R wrpr %r0, %r17, %tick
2645 .word 0xa7a0016a ! 82: FABSq dis not found
2646
2647 .word 0xdb3fc002 ! 83: STDF_R std %f13, [%r2, %r31]
2648 .word 0xda3fe43c ! 84: STD_I std %r13, [%r31 + 0x043c]
2649invtsb_80_57:
2650 nop
2651 ta T_CHANGE_HPRIV
2652 rd %asi, %r21
2653 wr %r0,ASI_MMU_REAL_RANGE, %asi
2654 mov 1, %r20
2655 sllx %r20, 63, %r20
2656 ldxa [ASI_MMU_REAL_RANGE_0] %asi, %r22
2657 xor %r22 ,%r20, %r22
2658 stxa %r22, [ASI_MMU_REAL_RANGE_0] %asi
2659 ldxa [ASI_MMU_REAL_RANGE_1] %asi, %r22
2660 xor %r22 ,%r20, %r22
2661 stxa %r22, [ASI_MMU_REAL_RANGE_1] %asi
2662 ldxa [ASI_MMU_REAL_RANGE_2] %asi, %r22
2663 xor %r22 ,%r20, %r22
2664 stxa %r22, [ASI_MMU_REAL_RANGE_2] %asi
2665 ldxa [ASI_MMU_REAL_RANGE_3] %asi, %r22
2666 xor %r22 ,%r20, %r22
2667 stxa %r22, [ASI_MMU_REAL_RANGE_3] %asi
2668 wr %r21, %r0, %asi
2669 ta T_CHANGE_NONHPRIV
2670 .word 0x29800001 ! 85: FBL fbl,a <label_0x1>
2671memptr_80_58:
2672 set 0x60740000, %r31
2673 .word 0x8580a672 ! 86: WRCCR_I wr %r2, 0x0672, %ccr
2674 .word 0x919462a4 ! 87: WRPR_PIL_I wrpr %r17, 0x02a4, %pil
2675 .word 0x91d020b5 ! 88: Tcc_I ta icc_or_xcc, %r0 + 181
2676splash_tba_80_59:
2677 ta T_CHANGE_PRIV
2678 setx 0x00000000003a0000, %r11, %r12
2679 .word 0x8b90000c ! 89: WRPR_TBA_R wrpr %r0, %r12, %tba
2680 .word 0xe1bfd960 ! 90: STDFA_R stda %f16, [%r0, %r31]
2681 .word 0x9f80269d ! 91: SIR sir 0x069d
2682 .word 0xda6fe08d ! 92: LDSTUB_I ldstub %r13, [%r31 + 0x008d]
2683 .word 0xda47e018 ! 93: LDSW_I ldsw [%r31 + 0x0018], %r13
2684br_longdelay1_80_60:
2685 .word 0x29400001 ! 1: FBPL fbl,a,pn %fcc0, <label_0x1>
2686 .word 0xbfefc000 ! 94: RESTORE_R restore %r31, %r0, %r31
2687 .word 0xc30fc000 ! 95: LDXFSR_R ld-fsr [%r31, %r0], %f1
2688jmptr_80_62:
2689 nop
2690 best_set_reg(0xe0a00000, %r20, %r27)
2691 .word 0xb7c6c000 ! 96: JMPL_R jmpl %r27 + %r0, %r27
2692br_badelay2_80_63:
2693 .word 0x22800001 ! 1: BE be,a <label_0x1>
2694 allclean
2695 .word 0xa3b3030c ! 97: ALIGNADDRESS alignaddr %r12, %r12, %r17
2696mondo_80_64:
2697 nop
2698 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2699 ta T_CHANGE_PRIV
2700 stxa %r20, [%r0+0x3c0] %asi
2701 .word 0x9d918013 ! 98: WRPR_WSTATE_R wrpr %r6, %r19, %wstate
2702 .word 0xe1bfe000 ! 99: STDFA_I stda %f16, [0x0000, %r31]
2703 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
2704reduce_priv_lvl_80_65:
2705 ta T_CHANGE_NONHPRIV ! macro
2706intveclr_80_66:
2707 nop
2708 ta T_CHANGE_HPRIV
2709 setx 0x93ad7ebf3b917f62, %r1, %r28
2710 stxa %r28, [%g0] 0x72
2711 .word 0x25400001 ! 101: FBPLG fblg,a,pn %fcc0, <label_0x1>
2712dvapa_80_67:
2713 nop
2714 ta T_CHANGE_HPRIV
2715 mov 0x9ce, %r20
2716 mov 0x1f, %r19
2717 sllx %r20, 23, %r20
2718 or %r19, %r20, %r19
2719 stxa %r19, [%g0] ASI_LSU_CONTROL
2720 mov 0x38, %r18
2721 stxa %r31, [%r18]0x58
2722 ta T_CHANGE_NONHPRIV
2723 .word 0xdadfc029 ! 102: LDXA_R ldxa [%r31, %r9] 0x01, %r13
2724trapasi_80_68:
2725mov 0x8, %r1 ! (VA for ASI 0x5b)
2726 .word 0xdac844a0 ! 103: LDSBA_R ldsba [%r1, %r0] 0x25, %r13
2727 .word 0xe19fc2c0 ! 104: LDDFA_R ldda [%r31, %r0], %f16
2728brcommon_80_69:
2729 ba,a .+12
2730 mov %r31, %r15
2731 ba,a .+8
2732 call common_target
2733 .word 0xdadfc029 ! 105: LDXA_R ldxa [%r31, %r9] 0x01, %r13
2734mondo_80_70:
2735 nop
2736 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2737 ta T_CHANGE_PRIV
2738 stxa %r12, [%r0+0x3d0] %asi
2739 .word 0x9d94c003 ! 106: WRPR_WSTATE_R wrpr %r19, %r3, %wstate
2740 nop
2741 ta T_CHANGE_HPRIV
2742 mov 0x80, %r10
2743 set sync_thr_counter2, %r23
2744 cas [%r23],%g0,%r10 !lock
2745 brnz %r10, sma_80_71
2746 rd %asi, %r12
2747 wr %g0, 0x40, %asi
2748 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
2749 set 0x001e1fff, %g1
2750 stxa %g1, [%g0 + 0x80] %asi
2751 wr %r12, %g0, %asi
2752 st %g0, [%r23]
2753sma_80_71:
2754 ta T_CHANGE_NONHPRIV
2755 .word 0xdbe7e010 ! 107: CASA_R casa [%r31] %asi, %r16, %r13
2756 .word 0xdb27e098 ! 108: STF_I st %f13, [0x0098, %r31]
2757 .word 0xdabfc030 ! 109: STDA_R stda %r13, [%r31 + %r16] 0x01
2758 .word 0xa3b4c490 ! 110: FCMPLE32 fcmple32 %d50, %d16, %r17
2759change_to_randtl_80_73:
2760 ta T_CHANGE_HPRIV ! macro
2761done_change_to_randtl_80_73:
2762 .word 0x8f902002 ! 111: WRPR_TL_I wrpr %r0, 0x0002, %tl
2763 .word 0xd20fe010 ! 112: LDUB_I ldub [%r31 + 0x0010], %r9
2764splash_lsu_80_74:
2765 nop
2766 ta T_CHANGE_HPRIV
2767 set 0x8cc1e008, %r2
2768 mov 0x6, %r1
2769 sllx %r1, 32, %r1
2770 or %r1, %r2, %r2
2771 stxa %r2, [%r0] ASI_LSU_CONTROL
2772 .word 0x3d400001 ! 113: FBPULE fbule,a,pn %fcc0, <label_0x1>
2773br_longdelay2_80_75:
2774 .word 0x23400001 ! 1: FBPNE fbne,a,pn %fcc0, <label_0x1>
2775 .word 0xa7a4c9c5 ! 114: FDIVd fdivd %f50, %f36, %f50
2776 .word 0xb1800011 ! 115: WR_STICK_REG_R wr %r0, %r17, %-
2777ibp_80_76:
2778 nop
2779 ta T_CHANGE_HPRIV
2780 .word 0xe11fc001 ! 116: LDDF_R ldd [%r31, %r1], %f16
2781change_to_randtl_80_77:
2782 ta T_CHANGE_HPRIV ! macro
2783done_change_to_randtl_80_77:
2784 .word 0x8f902002 ! 117: WRPR_TL_I wrpr %r0, 0x0002, %tl
2785!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_80_78) + 48, 16, 16)) -> intp(3,0,21)
2786!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_80_78)&0xffffffff) + 48, 16, 16)) -> intp(3,0,21)
2787intvec_80_78:
2788 .word 0x39400001 ! 118: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
2789 .word 0x91950011 ! 119: WRPR_PIL_R wrpr %r20, %r17, %pil
2790 .word 0x9f802936 ! 120: SIR sir 0x0936
2791 .word 0xc1bfe080 ! 121: STDFA_I stda %f0, [0x0080, %r31]
2792 nop
2793 ta T_CHANGE_HPRIV
2794 mov 0x80, %r10
2795 set sync_thr_counter2, %r23
2796 cas [%r23],%g0,%r10 !lock
2797 brnz %r10, sma_80_80
2798 rd %asi, %r12
2799 wr %g0, 0x40, %asi
2800 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
2801 set 0x00121fff, %g1
2802 stxa %g1, [%g0 + 0x80] %asi
2803 wr %r12, %g0, %asi
2804 st %g0, [%r23]
2805sma_80_80:
2806 ta T_CHANGE_NONHPRIV
2807 .word 0xd9e7e011 ! 122: CASA_R casa [%r31] %asi, %r17, %r12
2808 .word 0xd88fe010 ! 123: LDUBA_I lduba [%r31, + 0x0010] %asi, %r12
2809 nop
2810 ta T_CHANGE_HPRIV
2811 mov 0x80+1, %r10
2812 set sync_thr_counter1, %r23
2813 cas [%r23],%g0,%r10 !lock
2814 brnz %r10, cwq_80_81
2815 rd %asi, %r12
2816 wr %g0, 0x40, %asi
2817 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
2818 and %l1, 0x3, %l1 ! Check if busy/enabled ..
2819 cmp %l1, 1
2820 bne cwq_80_81
2821 set CWQ_BASE, %l6
2822 best_set_reg(0x206100b0, %l1, %l2) !# Control Word
2823 sllx %l2, 32, %l2
2824 stx %l2, [%l6 + 0x0]
2825 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
2826 sub %l2, 0x40, %l2
2827 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
2828 wr %r12, %g0, %asi
2829 st %g0, [%r23]
2830cwq_80_81:
2831 ta T_CHANGE_NONHPRIV
2832 .word 0xa1414000 ! 124: RDPC rd %pc, %r16
2833fpinit_80_82:
2834 setx fp_data_quads, %r19, %r20
2835 ldd [%r20], %f0
2836 ldd [%r20+8], %f4
2837 ld [%r20+16], %fsr
2838 ld [%r20+24], %r19
2839 wr %r19, %g0, %gsr
2840 .word 0x87a80a44 ! 125: FCMPd fcmpd %fcc<n>, %f0, %f4
2841 .word 0xb1800011 ! 126: WR_STICK_REG_R wr %r0, %r17, %-
2842 .word 0xe63fe970 ! 127: STD_I std %r19, [%r31 + 0x0970]
2843 .word 0xe737e040 ! 128: STQF_I - %f19, [0x0040, %r31]
2844 .word 0x3e800001 ! 1: BVC bvc,a <label_0x1>
2845 .word 0x8d903930 ! 129: WRPR_PSTATE_I wrpr %r0, 0x1930, %pstate
2846trapasi_80_85:
2847mov 0x0, %r1 ! (VA for ASI 0x4c)
2848 .word 0xe6d84e60 ! 130: LDXA_R ldxa [%r1, %r0] 0x73, %r19
2849!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_80_86) + 16, 16, 16)) -> intp(3,0,20)
2850!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_80_86)&0xffffffff) + 16, 16, 16)) -> intp(3,0,20)
2851intvec_80_86:
2852 .word 0x39400001 ! 131: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
2853mondo_80_87:
2854 nop
2855 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2856 stxa %r10, [%r0+0x3c0] %asi
2857 .word 0x9d928014 ! 132: WRPR_WSTATE_R wrpr %r10, %r20, %wstate
2858splash_hpstate_80_88:
2859 .word 0x81982086 ! 133: WRHPR_HPSTATE_I wrhpr %r0, 0x0086, %hpstate
2860 .word 0xe19fe060 ! 134: LDDFA_I ldda [%r31, 0x0060], %f16
2861 .word 0x91a509b3 ! 135: FDIVs fdivs %f20, %f19, %f8
2862 .word 0x95a089d4 ! 136: FDIVd fdivd %f2, %f20, %f10
2863 invalw
2864 mov 0x31, %r30
2865 .word 0x93d0001e ! 137: Tcc_R tne icc_or_xcc, %r0 + %r30
2866br_longdelay3_80_90:
2867 nop
2868 not %g0, %r12
2869 jmp %r12
2870 .word 0x99902005 ! 138: WRPR_CLEANWIN_I wrpr %r0, 0x0005, %cleanwin
2871fpinit_80_91:
2872 setx fp_data_quads, %r19, %r20
2873 ldd [%r20], %f0
2874 ldd [%r20+8], %f4
2875 ld [%r20+16], %fsr
2876 ld [%r20+24], %r19
2877 wr %r19, %g0, %gsr
2878 .word 0xc3e82812 ! 139: PREFETCHA_I prefetcha [%r0, + 0x0812] %asi, #one_read
2879 .word 0xa7a409d4 ! 140: FDIVd fdivd %f16, %f20, %f50
2880 ta T_CHANGE_NONPRIV ! macro
2881 .word 0x20800001 ! 1: BN bn,a <label_0x1>
2882 .word 0x8d90371a ! 142: WRPR_PSTATE_I wrpr %r0, 0x171a, %pstate
2883tglhtw_80_93:
2884 nop
2885 rd %asi, %l3 ! save %asi
2886 ta T_CHANGE_HPRIV
2887 wr %g0, ASI_MMU_ZERO_CONTEXT_TSB_CONFIG, %asi
2888 mov 1, %l2
2889 sllx %l2, 63, %l2
2890 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
2891 xor %l4, %l2, %l4
2892 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi
2893 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
2894 xor %l4, %l2, %l4
2895 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi
2896 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
2897 xor %l4, %l2, %l4
2898 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi
2899 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
2900 xor %l4, %l2, %l4
2901 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi
2902 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
2903 xor %l4, %l2, %l4
2904 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi
2905 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
2906 xor %l4, %l2, %l4
2907 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi
2908 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
2909 xor %l4, %l2, %l4
2910 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi
2911 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
2912 xor %l4, %l2, %l4
2913 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi
2914 ta T_CHANGE_NONHPRIV
2915 wr %g0, %l3, %asi !restore %asi
2916 .word 0x93b40994 ! 143: BSHUFFLE fmovc32 %d16, %d20, %d40
2917trapasi_80_94:
2918mov 0x8, %r1 ! (VA for ASI 0x5a)
2919 .word 0xd6c84b40 ! 144: LDSBA_R ldsba [%r1, %r0] 0x5a, %r11
2920 .word 0xa3a00162 ! 145: FABSq dis not found
2921
2922br_longdelay1_80_95:
2923 .word 0x2acc0001 ! 1: BRNZ brnz,a,pt %r16,<label_0xc0001>
2924 .word 0xbfe7c000 ! 146: SAVE_R save %r31, %r0, %r31
2925 .word 0xd6bfe076 ! 147: STDA_I stda %r11, [%r31 + 0x0076] %asi
2926 invalw
2927 mov 0xb3, %r30
2928 .word 0x93d0001e ! 148: Tcc_R tne icc_or_xcc, %r0 + %r30
2929br_longdelay1_80_96:
2930 .word 0x24c84001 ! 1: BRLEZ brlez,a,pt %r1,<label_0x84001>
2931 .word 0xbfefc000 ! 149: RESTORE_R restore %r31, %r0, %r31
2932 .word 0x91d02033 ! 150: Tcc_I ta icc_or_xcc, %r0 + 51
2933jmptr_80_97:
2934 nop
2935 best_set_reg(0xe1a00000, %r20, %r27)
2936 .word 0xb7c6c000 ! 151: JMPL_R jmpl %r27 + %r0, %r27
2937pmu_80_98:
2938 nop
2939 setx 0xffffff19fffffde8, %g1, %g7
2940 .word 0xa3800007 ! 152: WR_PERF_COUNTER_R wr %r0, %r7, %-
2941jmptr_80_99:
2942 nop
2943 best_set_reg(0xe1a00000, %r20, %r27)
2944 .word 0xb7c6c000 ! 153: JMPL_R jmpl %r27 + %r0, %r27
2945mondo_80_100:
2946 nop
2947 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2948 ta T_CHANGE_PRIV
2949 stxa %r18, [%r0+0x3e8] %asi
2950 .word 0x9d944014 ! 154: WRPR_WSTATE_R wrpr %r17, %r20, %wstate
2951 ta T_CHANGE_NONPRIV ! macro
2952 .word 0x81460000 ! 156: RD_STICK_REG stbar
2953splash_cmpr_80_101:
2954 nop
2955 setx 0x9c2b44c1c77b9cd7, %l2, %l1
2956 ta T_CHANGE_PRIV
2957 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
2958 ta T_CHANGE_NONPRIV
2959 sub %l1, 40, %g1
2960 .word 0x89900011 ! 157: WRPR_TICK_R wrpr %r0, %r17, %tick
2961 .word 0x9f8032d4 ! 158: SIR sir 0x12d4
2962brcommon_80_102:
2963 ba,a .+12
2964 mov %r31, %r15
2965 ba,a .+8
2966 call common_target
2967 .word 0xd6dfc02a ! 159: LDXA_R ldxa [%r31, %r10] 0x01, %r11
2968pmu_80_103:
2969 nop
2970 setx 0xffffff62fffff2b8, %g1, %g7
2971 .word 0xa3800007 ! 160: WR_PERF_COUNTER_R wr %r0, %r7, %-
2972 .word 0xe1bfe020 ! 161: STDFA_I stda %f16, [0x0020, %r31]
2973!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_80_104) + 0, 16, 16)) -> intp(4,0,15)
2974!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_80_104)&0xffffffff) + 0, 16, 16)) -> intp(4,0,15)
2975intvec_80_104:
2976 .word 0x39400001 ! 162: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
2977 .word 0xa1a409d4 ! 163: FDIVd fdivd %f16, %f20, %f16
2978 .word 0x8d903ccf ! 164: WRPR_PSTATE_I wrpr %r0, 0x1ccf, %pstate
2979jmptr_80_106:
2980 nop
2981 best_set_reg(0xe1a00000, %r20, %r27)
2982 .word 0xb7c6c000 ! 165: JMPL_R jmpl %r27 + %r0, %r27
2983dvapa_80_107:
2984 nop
2985 ta T_CHANGE_HPRIV
2986 mov 0xf35, %r20
2987 mov 0x13, %r19
2988 sllx %r20, 23, %r20
2989 or %r19, %r20, %r19
2990 stxa %r19, [%g0] ASI_LSU_CONTROL
2991 mov 0x38, %r18
2992 stxa %r31, [%r18]0x58
2993 ta T_CHANGE_NONHPRIV
2994 .word 0xd31fc014 ! 166: LDDF_R ldd [%r31, %r20], %f9
2995 nop
2996 ta T_CHANGE_HPRIV
2997 mov 0x80, %r10
2998 set sync_thr_counter2, %r23
2999 cas [%r23],%g0,%r10 !lock
3000 brnz %r10, sma_80_108
3001 rd %asi, %r12
3002 wr %g0, 0x40, %asi
3003 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
3004 set 0x00061fff, %g1
3005 stxa %g1, [%g0 + 0x80] %asi
3006 wr %r12, %g0, %asi
3007 st %g0, [%r23]
3008sma_80_108:
3009 ta T_CHANGE_NONHPRIV
3010 .word 0xd3e7e014 ! 167: CASA_R casa [%r31] %asi, %r20, %r9
3011 .word 0xa1a0c9d4 ! 168: FDIVd fdivd %f34, %f20, %f16
3012 .word 0x99a509d4 ! 169: FDIVd fdivd %f20, %f20, %f12
3013dvapa_80_109:
3014 nop
3015 ta T_CHANGE_HPRIV
3016 mov 0xcd5, %r20
3017 mov 0x12, %r19
3018 sllx %r20, 23, %r20
3019 or %r19, %r20, %r19
3020 stxa %r19, [%g0] ASI_LSU_CONTROL
3021 mov 0x38, %r18
3022 stxa %r31, [%r18]0x58
3023 ta T_CHANGE_NONHPRIV
3024 .word 0xc32fc003 ! 170: STXFSR_R st-sfr %f1, [%r3, %r31]
3025mondo_80_110:
3026 nop
3027 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
3028 stxa %r5, [%r0+0x3d0] %asi
3029 .word 0x9d94c012 ! 171: WRPR_WSTATE_R wrpr %r19, %r18, %wstate
3030 .word 0xe05fe038 ! 172: LDX_I ldx [%r31 + 0x0038], %r16
3031 .word 0xab818013 ! 173: WR_CLEAR_SOFTINT_R wr %r6, %r19, %clear_softint
3032intveclr_80_111:
3033 nop
3034 ta T_CHANGE_HPRIV
3035 setx 0x0f36768460364508, %r1, %r28
3036 stxa %r28, [%g0] 0x72
3037 .word 0x25400001 ! 174: FBPLG fblg,a,pn %fcc0, <label_0x1>
3038 .word 0xa5a00165 ! 175: FABSq dis not found
3039
3040 .word 0xb1800011 ! 176: WR_STICK_REG_R wr %r0, %r17, %-
3041 .word 0xe1bfc3e0 ! 177: STDFA_R stda %f16, [%r0, %r31]
3042 .word 0xb1800011 ! 178: WR_STICK_REG_R wr %r0, %r17, %-
3043 .word 0xa9a489d0 ! 179: FDIVd fdivd %f18, %f16, %f20
3044 .word 0x91d02034 ! 180: Tcc_I ta icc_or_xcc, %r0 + 52
3045 nop
3046 ta T_CHANGE_HPRIV
3047 mov 0x80, %r10
3048 set sync_thr_counter2, %r23
3049 cas [%r23],%g0,%r10 !lock
3050 brnz %r10, sma_80_112
3051 rd %asi, %r12
3052 wr %g0, 0x40, %asi
3053 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
3054 set 0x00021fff, %g1
3055 stxa %g1, [%g0 + 0x80] %asi
3056 wr %r12, %g0, %asi
3057 st %g0, [%r23]
3058sma_80_112:
3059 ta T_CHANGE_NONHPRIV
3060 .word 0xd1e7e00d ! 181: CASA_R casa [%r31] %asi, %r13, %r8
3061 .word 0x2a700001 ! 182: BPCS <illegal instruction>
3062 .word 0x8d903722 ! 183: WRPR_PSTATE_I wrpr %r0, 0x1722, %pstate
3063 .word 0x91950005 ! 184: WRPR_PIL_R wrpr %r20, %r5, %pil
3064donret_80_115:
3065 nop
3066 ta T_CHANGE_HPRIV ! macro
3067 rd %pc, %r12
3068 add %r12, (donretarg_80_115-donret_80_115-4), %r12
3069 mov 0x38, %r18
3070 stxa %r12, [%r18]0x58
3071 add %r12, 0x4, %r11
3072 wrpr %g0, 0x1, %tl
3073 wrpr %g0, %r12, %tpc
3074 wrpr %g0, %r11, %tnpc
3075 set (0x00c62f90 | (0x82 << 24)), %r13
3076 rdpr %tstate, %r16
3077 mov 0x1f, %r19
3078 and %r19, %r16, %r17
3079 andn %r16, %r19, %r16
3080 or %r16, %r17, %r20
3081 wrpr %r20, %g0, %tstate
3082 wrhpr %g0, 0x356, %htstate
3083 ta T_CHANGE_NONHPRIV ! rand=1 (80)
3084 done
3085donretarg_80_115:
3086 .word 0xd0ffe0ca ! 185: SWAPA_I swapa %r8, [%r31 + 0x00ca] %asi
3087 .word 0xc1bfdb60 ! 186: STDFA_R stda %f0, [%r0, %r31]
3088splash_cmpr_80_116:
3089 nop
3090 setx 0x0f9fcf27446f7b9c, %l2, %l1
3091 ta T_CHANGE_HPRIV
3092 wrhpr %l1, %g0, %hsys_tick_cmpr
3093 ta T_CHANGE_NONHPRIV
3094 sub %l1, 40, %g1
3095 .word 0x89900011 ! 187: WRPR_TICK_R wrpr %r0, %r17, %tick
3096trapasi_80_117:
3097mov 0x28, %r1 ! (VA for ASI 0x4c)
3098 .word 0xd0c84b60 ! 188: LDSBA_R ldsba [%r1, %r0] 0x5b, %r8
3099 nop
3100 ta T_CHANGE_HPRIV
3101 mov 0x80+1, %r10
3102 set sync_thr_counter1, %r23
3103 cas [%r23],%g0,%r10 !lock
3104 brnz %r10, cwq_80_118
3105 rd %asi, %r12
3106 wr %g0, 0x40, %asi
3107 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
3108 and %l1, 0x3, %l1 ! Check if busy/enabled ..
3109 cmp %l1, 1
3110 bne cwq_80_118
3111 set CWQ_BASE, %l6
3112 best_set_reg(0x20610030, %l1, %l2) !# Control Word
3113 sllx %l2, 32, %l2
3114 stx %l2, [%l6 + 0x0]
3115 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
3116 sub %l2, 0x40, %l2
3117 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
3118 wr %r12, %g0, %asi
3119 st %g0, [%r23]
3120cwq_80_118:
3121 ta T_CHANGE_NONHPRIV
3122 .word 0x9b414000 ! 189: RDPC rd %pc, %r13
3123 .word 0xe827e096 ! 190: STW_I stw %r20, [%r31 + 0x0096]
3124 set 0x1d23, %l3
3125 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
3126 .word 0x95b447cc ! 191: PDIST pdistn %d48, %d12, %d10
3127 .word 0xa5450000 ! 192: RD_SET_SOFTINT rd %set_softint, %r18
3128 .word 0xc1bfda00 ! 193: STDFA_R stda %f0, [%r0, %r31]
3129 .word 0xe81fc000 ! 194: LDD_R ldd [%r31 + %r0], %r20
3130 .word 0xe857e008 ! 195: LDSH_I ldsh [%r31 + 0x0008], %r20
3131 .word 0x95b4048d ! 196: FCMPLE32 fcmple32 %d16, %d44, %r10
3132 .word 0xe19fde00 ! 197: LDDFA_R ldda [%r31, %r0], %f16
3133 .word 0x9f802a07 ! 198: SIR sir 0x0a07
3134 .word 0xb1800011 ! 199: WR_STICK_REG_R wr %r0, %r17, %-
3135 .word 0x9f80216d ! 200: SIR sir 0x016d
3136jmptr_80_119:
3137 nop
3138 best_set_reg(0xe1a00000, %r20, %r27)
3139 .word 0xb7c6c000 ! 201: JMPL_R jmpl %r27 + %r0, %r27
3140br_longdelay3_80_120:
3141 nop
3142 not %g0, %r12
3143 jmp %r12
3144 .word 0x99902005 ! 202: WRPR_CLEANWIN_I wrpr %r0, 0x0005, %cleanwin
3145 .word 0xe19fda00 ! 203: LDDFA_R ldda [%r31, %r0], %f16
3146 .word 0xd437e0d6 ! 204: STH_I sth %r10, [%r31 + 0x00d6]
3147splash_tba_80_121:
3148 ta T_CHANGE_PRIV
3149 setx 0x00000000003a0000, %r11, %r12
3150 .word 0x8b90000c ! 205: WRPR_TBA_R wrpr %r0, %r12, %tba
3151tagged_80_122:
3152 tsubcctv %r2, 0x17b7, %r10
3153 .word 0xd407e0c4 ! 206: LDUW_I lduw [%r31 + 0x00c4], %r10
3154 .word 0x9f803a9f ! 207: SIR sir 0x1a9f
3155 nop
3156 ta T_CHANGE_HPRIV
3157 mov 0x80, %r10
3158 set sync_thr_counter2, %r23
3159 cas [%r23],%g0,%r10 !lock
3160 brnz %r10, sma_80_123
3161 rd %asi, %r12
3162 wr %g0, 0x40, %asi
3163 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
3164 set 0x00061fff, %g1
3165 stxa %g1, [%g0 + 0x80] %asi
3166 wr %r12, %g0, %asi
3167 st %g0, [%r23]
3168sma_80_123:
3169 ta T_CHANGE_NONHPRIV
3170 .word 0xd5e7e00a ! 208: CASA_R casa [%r31] %asi, %r10, %r10
3171jmptr_80_124:
3172 nop
3173 best_set_reg(0xe1a00000, %r20, %r27)
3174 .word 0xb7c6c000 ! 209: JMPL_R jmpl %r27 + %r0, %r27
3175 .word 0xa550c000 ! 210: RDPR_TT rdpr %tt, %r18
3176 .word 0xe137c000 ! 211: STQF_R - %f16, [%r0, %r31]
3177intveclr_80_125:
3178 nop
3179 ta T_CHANGE_HPRIV
3180 setx 0x848a4bbd24bf5651, %r1, %r28
3181 stxa %r28, [%g0] 0x72
3182 ta T_CHANGE_NONHPRIV
3183 .word 0x25400001 ! 212: FBPLG fblg,a,pn %fcc0, <label_0x1>
3184intveclr_80_126:
3185 nop
3186 ta T_CHANGE_HPRIV
3187 setx 0xc46a5ac216ea6a04, %r1, %r28
3188 stxa %r28, [%g0] 0x72
3189 .word 0x25400001 ! 213: FBPLG fblg,a,pn %fcc0, <label_0x1>
3190 .word 0x32700001 ! 214: BPNE <illegal instruction>
3191 nop
3192 mov 0x80, %g3
3193 stxa %g3, [%g3] 0x57
3194 .word 0xe05fc000 ! 215: LDX_R ldx [%r31 + %r0], %r16
3195br_longdelay3_80_127:
3196 nop
3197 not %g0, %r12
3198 jmp %r12
3199 .word 0x99902004 ! 216: WRPR_CLEANWIN_I wrpr %r0, 0x0004, %cleanwin
3200splash_lsu_80_128:
3201 nop
3202 ta T_CHANGE_HPRIV
3203 set 0xe0f39cc8, %r2
3204 mov 0x1, %r1
3205 sllx %r1, 32, %r1
3206 or %r1, %r2, %r2
3207 stxa %r2, [%r0] ASI_LSU_CONTROL
3208 .word 0x3d400001 ! 217: FBPULE fbule,a,pn %fcc0, <label_0x1>
3209 nop
3210 ta T_CHANGE_HPRIV
3211 mov 0x80, %r10
3212 set sync_thr_counter2, %r23
3213 cas [%r23],%g0,%r10 !lock
3214 brnz %r10, sma_80_129
3215 rd %asi, %r12
3216 wr %g0, 0x40, %asi
3217 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
3218 set 0x001a1fff, %g1
3219 stxa %g1, [%g0 + 0x80] %asi
3220 wr %r12, %g0, %asi
3221 st %g0, [%r23]
3222sma_80_129:
3223 ta T_CHANGE_NONHPRIV
3224 .word 0xe1e7e00a ! 218: CASA_R casa [%r31] %asi, %r10, %r16
3225pmu_80_130:
3226 nop
3227 ta T_CHANGE_PRIV
3228 setx 0xfffffbb5fffff2a6, %g1, %g7
3229 .word 0xa3800007 ! 219: WR_PERF_COUNTER_R wr %r0, %r7, %-
3230 .word 0x9194400a ! 220: WRPR_PIL_R wrpr %r17, %r10, %pil
3231 invalw
3232 mov 0x32, %r30
3233 .word 0x91d0001e ! 221: Tcc_R ta icc_or_xcc, %r0 + %r30
3234 .word 0x97a1c9aa ! 222: FDIVs fdivs %f7, %f10, %f11
3235intveclr_80_132:
3236 nop
3237 ta T_CHANGE_HPRIV
3238 setx 0x8337441f7c3be271, %r1, %r28
3239 stxa %r28, [%g0] 0x72
3240 ta T_CHANGE_NONHPRIV
3241 .word 0x25400001 ! 223: FBPLG fblg,a,pn %fcc0, <label_0x1>
3242splash_hpstate_80_133:
3243 ta T_CHANGE_NONHPRIV
3244 .word 0x819821c6 ! 224: WRHPR_HPSTATE_I wrhpr %r0, 0x01c6, %hpstate
3245!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_80_134)+56, 16, 16)) -> intp(mask2tid(0x80),1,3)
3246!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_80_134)&0xffffffff) +56, 16, 16)) -> intp(mask2tid(0x80),1,3)
3247xir_80_134:
3248 .word 0xa982b528 ! 225: WR_SET_SOFTINT_I wr %r10, 0x1528, %set_softint
3249 .word 0x95520000 ! 226: RDPR_PIL <illegal instruction>
3250pmu_80_135:
3251 nop
3252 ta T_CHANGE_PRIV
3253 setx 0xfffff285fffff5d8, %g1, %g7
3254 .word 0xa3800007 ! 227: WR_PERF_COUNTER_R wr %r0, %r7, %-
3255 .word 0x9f8026f4 ! 228: SIR sir 0x06f4
3256 .word 0xe537c000 ! 229: STQF_R - %f18, [%r0, %r31]
3257 invalw
3258 mov 0x32, %r30
3259 .word 0x91d0001e ! 230: Tcc_R ta icc_or_xcc, %r0 + %r30
3260 .word 0x97b087d2 ! 231: PDIST pdistn %d2, %d18, %d42
3261splash_hpstate_80_136:
3262 .word 0x2b400001 ! 1: FBPUG fbug,a,pn %fcc0, <label_0x1>
3263 .word 0x8198219c ! 232: WRHPR_HPSTATE_I wrhpr %r0, 0x019c, %hpstate
3264 setx 0x06c75813e0be68c3, %r1, %r28
3265 stxa %r28, [%g0] 0x73
3266intvec_80_137:
3267 .word 0x39400001 ! 233: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
3268 invalw
3269 mov 0x30, %r30
3270 .word 0x91d0001e ! 234: Tcc_R ta icc_or_xcc, %r0 + %r30
3271 .word 0xb1800011 ! 235: WR_STICK_REG_R wr %r0, %r17, %-
3272 .word 0xd80fe038 ! 236: LDUB_I ldub [%r31 + 0x0038], %r12
3273 nop
3274 ta T_CHANGE_HPRIV
3275 mov 0x80+1, %r10
3276 set sync_thr_counter1, %r23
3277 cas [%r23],%g0,%r10 !lock
3278 brnz %r10, cwq_80_138
3279 rd %asi, %r12
3280 wr %g0, 0x40, %asi
3281 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
3282 and %l1, 0x3, %l1 ! Check if busy/enabled ..
3283 cmp %l1, 1
3284 bne cwq_80_138
3285 set CWQ_BASE, %l6
3286 best_set_reg(0x20610040, %l1, %l2) !# Control Word
3287 sllx %l2, 32, %l2
3288 stx %l2, [%l6 + 0x0]
3289 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
3290 sub %l2, 0x40, %l2
3291 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
3292 wr %r12, %g0, %asi
3293 st %g0, [%r23]
3294cwq_80_138:
3295 ta T_CHANGE_NONHPRIV
3296 .word 0xa5414000 ! 237: RDPC rd %pc, %r18
3297 otherw
3298 mov 0xb2, %r30
3299 .word 0x91d0001e ! 238: Tcc_R ta icc_or_xcc, %r0 + %r30
3300 nop
3301 ta T_CHANGE_HPRIV
3302 mov 0x80, %r10
3303 set sync_thr_counter2, %r23
3304 cas [%r23],%g0,%r10 !lock
3305 brnz %r10, sma_80_139
3306 rd %asi, %r12
3307 wr %g0, 0x40, %asi
3308 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
3309 set 0x00121fff, %g1
3310 stxa %g1, [%g0 + 0x80] %asi
3311 wr %r12, %g0, %asi
3312 st %g0, [%r23]
3313sma_80_139:
3314 ta T_CHANGE_NONHPRIV
3315 .word 0xe7e7e014 ! 239: CASA_R casa [%r31] %asi, %r20, %r19
3316 .word 0xe71fc000 ! 240: LDDF_R ldd [%r31, %r0], %f19
3317 .word 0x81460000 ! 241: RD_STICK_REG stbar
3318 nop
3319 ta T_CHANGE_HPRIV
3320 mov 0x80+1, %r10
3321 set sync_thr_counter1, %r23
3322 cas [%r23],%g0,%r10 !lock
3323 brnz %r10, cwq_80_140
3324 rd %asi, %r12
3325 wr %g0, 0x40, %asi
3326 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
3327 and %l1, 0x3, %l1 ! Check if busy/enabled ..
3328 cmp %l1, 1
3329 bne cwq_80_140
3330 set CWQ_BASE, %l6
3331 best_set_reg(0x20610040, %l1, %l2) !# Control Word
3332 sllx %l2, 32, %l2
3333 stx %l2, [%l6 + 0x0]
3334 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
3335 sub %l2, 0x40, %l2
3336 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
3337 wr %r12, %g0, %asi
3338 st %g0, [%r23]
3339cwq_80_140:
3340 ta T_CHANGE_NONHPRIV
3341 .word 0x9b414000 ! 242: RDPC rd %pc, %r13
3342 .word 0x93d020b3 ! 243: Tcc_I tne icc_or_xcc, %r0 + 179
3343trapasi_80_141:
3344mov 0x3f8, %r1 ! (VA for ASI 0x25)
3345 .word 0xe0c04b00 ! 244: LDSWA_R ldswa [%r1, %r0] 0x58, %r16
3346 .word 0xa1a00170 ! 245: FABSq dis not found
3347
3348 .word 0x91d020b5 ! 246: Tcc_I ta icc_or_xcc, %r0 + 181
3349 invalw
3350 mov 0xb5, %r30
3351 .word 0x91d0001e ! 247: Tcc_R ta icc_or_xcc, %r0 + %r30
3352splash_lsu_80_142:
3353 nop
3354 ta T_CHANGE_HPRIV
3355 set 0x461074c4, %r2
3356 mov 0x1, %r1
3357 sllx %r1, 32, %r1
3358 or %r1, %r2, %r2
3359 stxa %r2, [%r0] ASI_LSU_CONTROL
3360 .word 0x3d400001 ! 248: FBPULE fbule,a,pn %fcc0, <label_0x1>
3361pmu_80_143:
3362 nop
3363 ta T_CHANGE_PRIV
3364 setx 0xfffff10efffff77f, %g1, %g7
3365 .word 0xa3800007 ! 249: WR_PERF_COUNTER_R wr %r0, %r7, %-
3366 .word 0xe1bfe020 ! 250: STDFA_I stda %f16, [0x0020, %r31]
3367 .word 0xb1800011 ! 251: WR_STICK_REG_R wr %r0, %r17, %-
3368 .word 0x91d02033 ! 252: Tcc_I ta icc_or_xcc, %r0 + 51
3369 .word 0xe1bfdc00 ! 253: STDFA_R stda %f16, [%r0, %r31]
3370memptr_80_144:
3371 set user_data_start, %r31
3372 .word 0x858533da ! 254: WRCCR_I wr %r20, 0x13da, %ccr
3373fpinit_80_145:
3374 setx fp_data_quads, %r19, %r20
3375 ldd [%r20], %f0
3376 ldd [%r20+8], %f4
3377 ld [%r20+16], %fsr
3378 ld [%r20+24], %r19
3379 wr %r19, %g0, %gsr
3380 .word 0x91b00484 ! 255: FCMPLE32 fcmple32 %d0, %d4, %r8
3381 .word 0x8d903911 ! 256: WRPR_PSTATE_I wrpr %r0, 0x1911, %pstate
3382 .word 0xe527e06c ! 257: STF_I st %f18, [0x006c, %r31]
3383splash_lsu_80_147:
3384 nop
3385 ta T_CHANGE_HPRIV
3386 set 0x2c98f77a, %r2
3387 mov 0x3, %r1
3388 sllx %r1, 32, %r1
3389 or %r1, %r2, %r2
3390 stxa %r2, [%r0] ASI_LSU_CONTROL
3391 ta T_CHANGE_NONHPRIV
3392 .word 0x3d400001 ! 258: FBPULE fbule,a,pn %fcc0, <label_0x1>
3393 .word 0xe1bfe080 ! 259: STDFA_I stda %f16, [0x0080, %r31]
3394mondo_80_148:
3395 nop
3396 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
3397 ta T_CHANGE_PRIV
3398 stxa %r1, [%r0+0x3e8] %asi
3399 .word 0x9d94c006 ! 260: WRPR_WSTATE_R wrpr %r19, %r6, %wstate
3400 .word 0x93480000 ! 261: RDHPR_HPSTATE rdhpr %hpstate, %r9
3401brcommon_80_149:
3402 ba,a .+12
3403 mov %r31, %r15
3404 ba,a .+8
3405 call common_target
3406 .word 0xe4bfc034 ! 262: STDA_R stda %r18, [%r31 + %r20] 0x01
3407 .word 0x91a0016b ! 263: FABSq dis not found
3408
3409 .word 0xa7b4c7c2 ! 264: PDIST pdistn %d50, %d2, %d50
3410 .word 0xe827e0f1 ! 265: STW_I stw %r20, [%r31 + 0x00f1]
3411 .word 0xe8cfe020 ! 266: LDSBA_I ldsba [%r31, + 0x0020] %asi, %r20
3412 .word 0x24cc8001 ! 267: BRLEZ brlez,a,pt %r18,<label_0xc8001>
3413memptr_80_150:
3414 set user_data_start, %r31
3415 .word 0x85812e7a ! 268: WRCCR_I wr %r4, 0x0e7a, %ccr
3416splash_lsu_80_151:
3417 nop
3418 ta T_CHANGE_HPRIV
3419 set 0x62772d04, %r2
3420 mov 0x6, %r1
3421 sllx %r1, 32, %r1
3422 or %r1, %r2, %r2
3423 stxa %r2, [%r0] ASI_LSU_CONTROL
3424 ta T_CHANGE_NONHPRIV
3425 .word 0x3d400001 ! 269: FBPULE fbule,a,pn %fcc0, <label_0x1>
3426 .word 0xd43fe0d5 ! 270: STD_I std %r10, [%r31 + 0x00d5]
3427 .word 0x99b407c9 ! 271: PDIST pdistn %d16, %d40, %d12
3428 .word 0xab84c012 ! 272: WR_CLEAR_SOFTINT_R wr %r19, %r18, %clear_softint
3429pmu_80_152:
3430 nop
3431 setx 0xfffff33efffff889, %g1, %g7
3432 .word 0xa3800007 ! 273: WR_PERF_COUNTER_R wr %r0, %r7, %-
3433dvapa_80_153:
3434 nop
3435 ta T_CHANGE_HPRIV
3436 mov 0xf76, %r20
3437 mov 0xa, %r19
3438 sllx %r20, 23, %r20
3439 or %r19, %r20, %r19
3440 stxa %r19, [%g0] ASI_LSU_CONTROL
3441 mov 0x38, %r18
3442 stxa %r31, [%r18]0x58
3443 ta T_CHANGE_NONHPRIV
3444 .word 0xe43ff85d ! 274: STD_I std %r18, [%r31 + 0xfffff85d]
3445 .word 0xc3ec402b ! 275: PREFETCHA_R prefetcha [%r17, %r11] 0x01, #one_read
3446jmptr_80_154:
3447 nop
3448 best_set_reg(0xe1a00000, %r20, %r27)
3449 .word 0xb7c6c000 ! 276: JMPL_R jmpl %r27 + %r0, %r27
3450 .word 0xe19fda00 ! 277: LDDFA_R ldda [%r31, %r0], %f16
3451 .word 0x9f8034ab ! 278: SIR sir 0x14ab
3452 nop
3453 ta T_CHANGE_HPRIV
3454 mov 0x80, %r10
3455 set sync_thr_counter2, %r23
3456 cas [%r23],%g0,%r10 !lock
3457 brnz %r10, sma_80_155
3458 rd %asi, %r12
3459 wr %g0, 0x40, %asi
3460 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
3461 set 0x000a1fff, %g1
3462 stxa %g1, [%g0 + 0x80] %asi
3463 wr %r12, %g0, %asi
3464 st %g0, [%r23]
3465sma_80_155:
3466 ta T_CHANGE_NONHPRIV
3467 .word 0xdbe7e010 ! 279: CASA_R casa [%r31] %asi, %r16, %r13
3468splash_tba_80_156:
3469 ta T_CHANGE_PRIV
3470 set 0x120000, %r12
3471 .word 0x8b90000c ! 280: WRPR_TBA_R wrpr %r0, %r12, %tba
3472pmu_80_157:
3473 nop
3474 setx 0xfffff7b4fffff5b8, %g1, %g7
3475 .word 0xa3800007 ! 281: WR_PERF_COUNTER_R wr %r0, %r7, %-
3476mondo_80_158:
3477 nop
3478 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
3479 stxa %r20, [%r0+0x3d0] %asi
3480 .word 0x9d950012 ! 282: WRPR_WSTATE_R wrpr %r20, %r18, %wstate
3481 nop
3482 ta T_CHANGE_HPRIV
3483 mov 0x80+1, %r10
3484 set sync_thr_counter1, %r23
3485 cas [%r23],%g0,%r10 !lock
3486 brnz %r10, cwq_80_159
3487 rd %asi, %r12
3488 wr %g0, 0x40, %asi
3489 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
3490 and %l1, 0x3, %l1 ! Check if busy/enabled ..
3491 cmp %l1, 1
3492 bne cwq_80_159
3493 set CWQ_BASE, %l6
3494 best_set_reg(0x20610050, %l1, %l2) !# Control Word
3495 sllx %l2, 32, %l2
3496 stx %l2, [%l6 + 0x0]
3497 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
3498 sub %l2, 0x40, %l2
3499 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
3500 wr %r12, %g0, %asi
3501 st %g0, [%r23]
3502cwq_80_159:
3503 ta T_CHANGE_NONHPRIV
3504 .word 0xa7414000 ! 283: RDPC rd %pc, %r19
3505 .word 0x91a00171 ! 284: FABSq dis not found
3506
3507jmptr_80_160:
3508 nop
3509 best_set_reg(0xe1a00000, %r20, %r27)
3510 .word 0xb7c6c000 ! 285: JMPL_R jmpl %r27 + %r0, %r27
3511intveclr_80_161:
3512 nop
3513 ta T_CHANGE_HPRIV
3514 setx 0x6758418cedcaf7a9, %r1, %r28
3515 stxa %r28, [%g0] 0x72
3516 .word 0x25400001 ! 286: FBPLG fblg,a,pn %fcc0, <label_0x1>
3517 .word 0xa9a309a2 ! 287: FDIVs fdivs %f12, %f2, %f20
3518 .word 0x8d903903 ! 288: WRPR_PSTATE_I wrpr %r0, 0x1903, %pstate
3519 nop
3520 ta T_CHANGE_HPRIV
3521 mov 0x80, %r10
3522 set sync_thr_counter2, %r23
3523 cas [%r23],%g0,%r10 !lock
3524 brnz %r10, sma_80_163
3525 rd %asi, %r12
3526 wr %g0, 0x40, %asi
3527 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
3528 set 0x001e1fff, %g1
3529 stxa %g1, [%g0 + 0x80] %asi
3530 wr %r12, %g0, %asi
3531 st %g0, [%r23]
3532sma_80_163:
3533 ta T_CHANGE_NONHPRIV
3534 .word 0xe9e7e010 ! 289: CASA_R casa [%r31] %asi, %r16, %r20
3535 .word 0x93a409d3 ! 290: FDIVd fdivd %f16, %f50, %f40
3536 .word 0x91944012 ! 291: WRPR_PIL_R wrpr %r17, %r18, %pil
3537 .word 0xe1bfc2c0 ! 292: STDFA_R stda %f16, [%r0, %r31]
3538donret_80_165:
3539 nop
3540 ta T_CHANGE_HPRIV ! macro
3541 rd %pc, %r12
3542 add %r12, (donretarg_80_165-donret_80_165-4), %r12
3543 mov 0x38, %r18
3544 stxa %r12, [%r18]0x58
3545 add %r12, 0x4, %r11
3546 wrpr %g0, 0x2, %tl
3547 wrpr %g0, %r12, %tpc
3548 wrpr %g0, %r11, %tnpc
3549 set (0x007f21d7 | (0x83 << 24)), %r13
3550 rdpr %tstate, %r16
3551 mov 0x1f, %r19
3552 and %r19, %r16, %r17
3553 andn %r16, %r19, %r16
3554 or %r16, %r17, %r20
3555 wrpr %r20, %g0, %tstate
3556 wrhpr %g0, 0x756, %htstate
3557 ta T_CHANGE_NONPRIV ! rand=0 (80)
3558 .word 0x39400001 ! 1: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
3559 done
3560donretarg_80_165:
3561 .word 0xd6ffe029 ! 293: SWAPA_I swapa %r11, [%r31 + 0x0029] %asi
3562br_longdelay1_80_166:
3563 .word 0x35400001 ! 1: FBPUE fbue,a,pn %fcc0, <label_0x1>
3564 .word 0x9d97c000 ! 294: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
3565 .word 0xc19fe020 ! 295: LDDFA_I ldda [%r31, 0x0020], %f0
3566 setx 0xfe60999c06d81bea, %r1, %r28
3567 stxa %r28, [%g0] 0x73
3568intvec_80_167:
3569 .word 0x39400001 ! 296: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
3570intveclr_80_168:
3571 nop
3572 ta T_CHANGE_HPRIV
3573 setx 0x9134801964ea8b9e, %r1, %r28
3574 stxa %r28, [%g0] 0x72
3575 ta T_CHANGE_NONHPRIV
3576 .word 0x25400001 ! 297: FBPLG fblg,a,pn %fcc0, <label_0x1>
3577 .word 0x26800001 ! 298: BL bl,a <label_0x1>
3578jmptr_80_169:
3579 nop
3580 best_set_reg(0xe1a00000, %r20, %r27)
3581 .word 0xb7c6c000 ! 299: JMPL_R jmpl %r27 + %r0, %r27
3582 nop
3583 ta T_CHANGE_HPRIV
3584 mov 0x80, %r10
3585 set sync_thr_counter2, %r23
3586 cas [%r23],%g0,%r10 !lock
3587 brnz %r10, sma_80_170
3588 rd %asi, %r12
3589 wr %g0, 0x40, %asi
3590 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
3591 set 0x00021fff, %g1
3592 stxa %g1, [%g0 + 0x80] %asi
3593 wr %r12, %g0, %asi
3594 st %g0, [%r23]
3595sma_80_170:
3596 ta T_CHANGE_NONHPRIV
3597 .word 0xd7e7e008 ! 300: CASA_R casa [%r31] %asi, %r8, %r11
3598 .word 0xd697e018 ! 301: LDUHA_I lduha [%r31, + 0x0018] %asi, %r11
3599 nop
3600 nop
3601 ta T_CHANGE_PRIV
3602 wrpr %g0, %g0, %gl
3603 nop
3604 nop
3605 setx join_lbl_0_0, %g1, %g2
3606 jmp %g2
3607 nop
3608fork_lbl_0_7:
3609 ta T_CHANGE_NONHPRIV
3610br_badelay3_40_0:
3611 .word 0x34800001 ! 1: BG bg,a <label_0x1>
3612 .word 0xfb6c467e ! Random illegal ?
3613 .word 0xe3130012 ! 1: LDQF_R - [%r12, %r18], %f17
3614 .word 0xa1a40825 ! 1: FADDs fadds %f16, %f5, %f16
3615 nop
3616 ta T_CHANGE_HPRIV
3617 mov 0x40, %r10
3618 set sync_thr_counter2, %r23
3619 cas [%r23],%g0,%r10 !lock
3620 brnz %r10, sma_40_1
3621 rd %asi, %r12
3622 wr %g0, 0x40, %asi
3623 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
3624 set 0x000e1fff, %g1
3625 stxa %g1, [%g0 + 0x80] %asi
3626 wr %r12, %g0, %asi
3627 st %g0, [%r23]
3628sma_40_1:
3629 ta T_CHANGE_NONHPRIV
3630 .word 0xdbe7e012 ! 2: CASA_R casa [%r31] %asi, %r18, %r13
3631splash_hpstate_40_2:
3632 .word 0x3f400001 ! 1: FBPO fbo,a,pn %fcc0, <label_0x1>
3633 .word 0x81982c4c ! 3: WRHPR_HPSTATE_I wrhpr %r0, 0x0c4c, %hpstate
3634 nop
3635 ta T_CHANGE_HPRIV
3636 mov 0x40, %r10
3637 set sync_thr_counter2, %r23
3638 cas [%r23],%g0,%r10 !lock
3639 brnz %r10, sma_40_3
3640 rd %asi, %r12
3641 wr %g0, 0x40, %asi
3642 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
3643 set 0x00021fff, %g1
3644 stxa %g1, [%g0 + 0x80] %asi
3645 wr %r12, %g0, %asi
3646 st %g0, [%r23]
3647sma_40_3:
3648 ta T_CHANGE_NONHPRIV
3649 .word 0xdbe7e012 ! 4: CASA_R casa [%r31] %asi, %r18, %r13
3650 .word 0x91d02034 ! 5: Tcc_I ta icc_or_xcc, %r0 + 52
3651jmptr_40_4:
3652 nop
3653 best_set_reg(0xe1200000, %r20, %r27)
3654 .word 0xb7c6c000 ! 6: JMPL_R jmpl %r27 + %r0, %r27
3655 .word 0xdb27c000 ! 7: STF_R st %f13, [%r0, %r31]
3656 otherw
3657 mov 0x33, %r30
3658 .word 0x93d0001e ! 8: Tcc_R tne icc_or_xcc, %r0 + %r30
3659mondo_40_5:
3660 nop
3661 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
3662 ta T_CHANGE_PRIV
3663 stxa %r4, [%r0+0x3e0] %asi
3664 .word 0x9d90c012 ! 9: WRPR_WSTATE_R wrpr %r3, %r18, %wstate
3665 .word 0x91d02034 ! 10: Tcc_I ta icc_or_xcc, %r0 + 52
3666pmu_40_6:
3667 nop
3668 ta T_CHANGE_PRIV
3669 setx 0xfffff7bcfffffc2d, %g1, %g7
3670 .word 0xa3800007 ! 11: WR_PERF_COUNTER_R wr %r0, %r7, %-
3671memptr_40_7:
3672 set 0x60540000, %r31
3673 .word 0x858462f4 ! 12: WRCCR_I wr %r17, 0x02f4, %ccr
3674 nop
3675 ta T_CHANGE_HPRIV
3676 mov 0x40+1, %r10
3677 set sync_thr_counter1, %r23
3678 cas [%r23],%g0,%r10 !lock
3679 brnz %r10, cwq_40_8
3680 rd %asi, %r12
3681 wr %g0, 0x40, %asi
3682 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
3683 and %l1, 0x3, %l1 ! Check if busy/enabled ..
3684 cmp %l1, 1
3685 bne cwq_40_8
3686 set CWQ_BASE, %l6
3687 best_set_reg(0x20610010, %l1, %l2) !# Control Word
3688 sllx %l2, 32, %l2
3689 stx %l2, [%l6 + 0x0]
3690 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
3691 sub %l2, 0x40, %l2
3692 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
3693 wr %r12, %g0, %asi
3694 st %g0, [%r23]
3695cwq_40_8:
3696 ta T_CHANGE_NONHPRIV
3697 .word 0x9b414000 ! 13: RDPC rd %pc, %r13
3698pmu_40_9:
3699 nop
3700 setx 0xfffff99bffffff8f, %g1, %g7
3701 .word 0xa3800007 ! 14: WR_PERF_COUNTER_R wr %r0, %r7, %-
3702 nop
3703 ta T_CHANGE_HPRIV
3704 mov 0x40+1, %r10
3705 set sync_thr_counter1, %r23
3706 cas [%r23],%g0,%r10 !lock
3707 brnz %r10, cwq_40_10
3708 rd %asi, %r12
3709 wr %g0, 0x40, %asi
3710 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
3711 and %l1, 0x3, %l1 ! Check if busy/enabled ..
3712 cmp %l1, 1
3713 bne cwq_40_10
3714 set CWQ_BASE, %l6
3715 best_set_reg(0x20610070, %l1, %l2) !# Control Word
3716 sllx %l2, 32, %l2
3717 stx %l2, [%l6 + 0x0]
3718 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
3719 sub %l2, 0x40, %l2
3720 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
3721 wr %r12, %g0, %asi
3722 st %g0, [%r23]
3723cwq_40_10:
3724 ta T_CHANGE_NONHPRIV
3725 .word 0xa3414000 ! 15: RDPC rd %pc, %r17
3726mondo_40_11:
3727 nop
3728 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
3729 ta T_CHANGE_PRIV
3730 stxa %r19, [%r0+0x3c8] %asi
3731 .word 0x9d920014 ! 16: WRPR_WSTATE_R wrpr %r8, %r20, %wstate
3732br_badelay3_40_12:
3733 .word 0x20800001 ! 1: BN bn,a <label_0x1>
3734 .word 0xed658824 ! Random illegal ?
3735 .word 0xa7a00549 ! 1: FSQRTd fsqrt
3736 .word 0x91a18834 ! 17: FADDs fadds %f6, %f20, %f8
3737dvapa_40_13:
3738 nop
3739 ta T_CHANGE_HPRIV
3740 mov 0x90e, %r20
3741 mov 0x5, %r19
3742 sllx %r20, 23, %r20
3743 or %r19, %r20, %r19
3744 stxa %r19, [%g0] ASI_LSU_CONTROL
3745 mov 0x38, %r18
3746 stxa %r31, [%r18]0x58
3747 ta T_CHANGE_NONHPRIV
3748 .word 0xd91fc011 ! 18: LDDF_R ldd [%r31, %r17], %f12
3749tagged_40_14:
3750 tsubcctv %r3, 0x1442, %r11
3751 .word 0xd807e072 ! 19: LDUW_I lduw [%r31 + 0x0072], %r12
3752 .word 0xe1bfe080 ! 20: STDFA_I stda %f16, [0x0080, %r31]
3753splash_hpstate_40_15:
3754 ta T_CHANGE_NONHPRIV
3755 .word 0x22cc8001 ! 1: BRZ brz,a,pt %r18,<label_0xc8001>
3756 .word 0x819825a5 ! 21: WRHPR_HPSTATE_I wrhpr %r0, 0x05a5, %hpstate
3757 .word 0xd8d7e010 ! 22: LDSHA_I ldsha [%r31, + 0x0010] %asi, %r12
3758intveclr_40_16:
3759 nop
3760 ta T_CHANGE_HPRIV
3761 setx 0xf798b36ba22202ac, %r1, %r28
3762 stxa %r28, [%g0] 0x72
3763 .word 0x25400001 ! 23: FBPLG fblg,a,pn %fcc0, <label_0x1>
3764 nop
3765 ta T_CHANGE_HPRIV
3766 mov 0x40+1, %r10
3767 set sync_thr_counter1, %r23
3768 cas [%r23],%g0,%r10 !lock
3769 brnz %r10, cwq_40_17
3770 rd %asi, %r12
3771 wr %g0, 0x40, %asi
3772 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
3773 and %l1, 0x3, %l1 ! Check if busy/enabled ..
3774 cmp %l1, 1
3775 bne cwq_40_17
3776 set CWQ_BASE, %l6
3777 best_set_reg(0x206100f0, %l1, %l2) !# Control Word
3778 sllx %l2, 32, %l2
3779 stx %l2, [%l6 + 0x0]
3780 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
3781 sub %l2, 0x40, %l2
3782 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
3783 wr %r12, %g0, %asi
3784 st %g0, [%r23]
3785cwq_40_17:
3786 ta T_CHANGE_NONHPRIV
3787 .word 0xa7414000 ! 24: RDPC rd %pc, %r19
3788splash_htba_40_18:
3789 nop
3790 ta T_CHANGE_HPRIV
3791 setx 0x0000000200280000, %r11, %r12
3792 .word 0x8b98000c ! 25: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
3793br_longdelay2_40_19:
3794 .word 0x22800001 ! 1: BE be,a <label_0x1>
3795 .word 0xe23c8007 ! 26: STD_R std %r17, [%r18 + %r7]
3796br_longdelay1_40_20:
3797 .word 0x30800001 ! 1: BA ba,a <label_0x1>
3798 .word 0xbfefc000 ! 27: RESTORE_R restore %r31, %r0, %r31
3799 .word 0xb1800011 ! 28: WR_STICK_REG_R wr %r0, %r17, %-
3800 .word 0xa5a149d2 ! 29: FDIVd fdivd %f36, %f18, %f18
3801 .word 0x83d02035 ! 30: Tcc_I te icc_or_xcc, %r0 + 53
3802splash_tba_40_21:
3803 ta T_CHANGE_PRIV
3804 setx 0x0000000400380000, %r11, %r12
3805 .word 0x8b90000c ! 31: WRPR_TBA_R wrpr %r0, %r12, %tba
3806mondo_40_22:
3807 nop
3808 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
3809 ta T_CHANGE_PRIV
3810 stxa %r17, [%r0+0x3d8] %asi
3811 .word 0x9d908012 ! 32: WRPR_WSTATE_R wrpr %r2, %r18, %wstate
3812 .word 0x20700001 ! 33: BPN <illegal instruction>
3813 .word 0x9191ef3e ! 34: WRPR_PIL_I wrpr %r7, 0x0f3e, %pil
3814 .word 0x83d02034 ! 35: Tcc_I te icc_or_xcc, %r0 + 52
3815 .word 0x9f803e25 ! 36: SIR sir 0x1e25
3816 nop
3817 ta T_CHANGE_HPRIV
3818 mov 0x40+1, %r10
3819 set sync_thr_counter1, %r23
3820 cas [%r23],%g0,%r10 !lock
3821 brnz %r10, cwq_40_23
3822 rd %asi, %r12
3823 wr %g0, 0x40, %asi
3824 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
3825 and %l1, 0x3, %l1 ! Check if busy/enabled ..
3826 cmp %l1, 1
3827 bne cwq_40_23
3828 set CWQ_BASE, %l6
3829 best_set_reg(0x20610060, %l1, %l2) !# Control Word
3830 sllx %l2, 32, %l2
3831 stx %l2, [%l6 + 0x0]
3832 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
3833 sub %l2, 0x40, %l2
3834 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
3835 wr %r12, %g0, %asi
3836 st %g0, [%r23]
3837cwq_40_23:
3838 ta T_CHANGE_NONHPRIV
3839 .word 0xa7414000 ! 37: RDPC rd %pc, %r19
3840 nop
3841 ta T_CHANGE_HPRIV
3842 mov 0x40+1, %r10
3843 set sync_thr_counter1, %r23
3844 cas [%r23],%g0,%r10 !lock
3845 brnz %r10, cwq_40_24
3846 rd %asi, %r12
3847 wr %g0, 0x40, %asi
3848 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
3849 and %l1, 0x3, %l1 ! Check if busy/enabled ..
3850 cmp %l1, 1
3851 bne cwq_40_24
3852 set CWQ_BASE, %l6
3853 best_set_reg(0x206100b0, %l1, %l2) !# Control Word
3854 sllx %l2, 32, %l2
3855 stx %l2, [%l6 + 0x0]
3856 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
3857 sub %l2, 0x40, %l2
3858 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
3859 wr %r12, %g0, %asi
3860 st %g0, [%r23]
3861cwq_40_24:
3862 ta T_CHANGE_NONHPRIV
3863 .word 0x9b414000 ! 38: RDPC rd %pc, %r13
3864jmptr_40_25:
3865 nop
3866 best_set_reg(0xe1200000, %r20, %r27)
3867 .word 0xb7c6c000 ! 39: JMPL_R jmpl %r27 + %r0, %r27
3868ibp_40_26:
3869 nop
3870 ta T_CHANGE_HPRIV
3871 .word 0xd13fc002 ! 40: STDF_R std %f8, [%r2, %r31]
3872 setx 0x7059626e2a8bd57e, %r1, %r28
3873 stxa %r28, [%g0] 0x73
3874intvec_40_27:
3875 .word 0x39400001 ! 41: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
3876 .word 0x8d902239 ! 42: WRPR_PSTATE_I wrpr %r0, 0x0239, %pstate
3877 .word 0xd06fe001 ! 43: LDSTUB_I ldstub %r8, [%r31 + 0x0001]
3878trapasi_40_29:
3879mov 0x28, %r1 ! (VA for ASI 0x5b)
3880 .word 0xd0c84b40 ! 44: LDSBA_R ldsba [%r1, %r0] 0x5a, %r8
3881 nop
3882 ta T_CHANGE_HPRIV
3883 mov 0x40+1, %r10
3884 set sync_thr_counter1, %r23
3885 cas [%r23],%g0,%r10 !lock
3886 brnz %r10, cwq_40_30
3887 rd %asi, %r12
3888 wr %g0, 0x40, %asi
3889 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
3890 and %l1, 0x3, %l1 ! Check if busy/enabled ..
3891 cmp %l1, 1
3892 bne cwq_40_30
3893 set CWQ_BASE, %l6
3894 best_set_reg(0x206100b0, %l1, %l2) !# Control Word
3895 sllx %l2, 32, %l2
3896 stx %l2, [%l6 + 0x0]
3897 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
3898 sub %l2, 0x40, %l2
3899 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
3900 wr %r12, %g0, %asi
3901 st %g0, [%r23]
3902cwq_40_30:
3903 ta T_CHANGE_NONHPRIV
3904 .word 0x99414000 ! 45: RDPC rd %pc, %r12
3905fpinit_40_31:
3906 setx fp_data_quads, %r19, %r20
3907 ldd [%r20], %f0
3908 ldd [%r20+8], %f4
3909 ld [%r20+16], %fsr
3910 ld [%r20+24], %r19
3911 wr %r19, %g0, %gsr
3912 .word 0x87a80a44 ! 46: FCMPd fcmpd %fcc<n>, %f0, %f4
3913memptr_40_32:
3914 set 0x60340000, %r31
3915 .word 0x858121a1 ! 47: WRCCR_I wr %r4, 0x01a1, %ccr
3916mondo_40_33:
3917 nop
3918 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
3919 stxa %r11, [%r0+0x3c0] %asi
3920 .word 0x9d94c002 ! 48: WRPR_WSTATE_R wrpr %r19, %r2, %wstate
3921 .word 0x9190c011 ! 49: WRPR_PIL_R wrpr %r3, %r17, %pil
3922 nop
3923 ta T_CHANGE_HPRIV
3924 mov 0x40, %r10
3925 set sync_thr_counter2, %r23
3926 cas [%r23],%g0,%r10 !lock
3927 brnz %r10, sma_40_35
3928 rd %asi, %r12
3929 wr %g0, 0x40, %asi
3930 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
3931 set 0x00121fff, %g1
3932 stxa %g1, [%g0 + 0x80] %asi
3933 wr %r12, %g0, %asi
3934 st %g0, [%r23]
3935sma_40_35:
3936 ta T_CHANGE_NONHPRIV
3937 .word 0xd9e7e009 ! 50: CASA_R casa [%r31] %asi, %r9, %r12
3938donret_40_36:
3939 nop
3940 ta T_CHANGE_HPRIV ! macro
3941 rd %pc, %r12
3942 add %r12, (donretarg_40_36-donret_40_36-8), %r12
3943 mov 0x38, %r18
3944 stxa %r12, [%r18]0x58
3945 add %r12, 0x4, %r11
3946 wrpr %g0, 0x2, %tl
3947 wrpr %g0, %r12, %tpc
3948 wrpr %g0, %r11, %tnpc
3949 set (0x00bca65f | (32 << 24)), %r13
3950 rdpr %tstate, %r16
3951 mov 0x1f, %r19
3952 and %r19, %r16, %r17
3953 andn %r16, %r19, %r16
3954 or %r16, %r17, %r20
3955 wrpr %r20, %g0, %tstate
3956 wrhpr %g0, 0x797, %htstate
3957 ta T_CHANGE_NONHPRIV ! rand=1 (40)
3958 .word 0x21400001 ! 1: FBPN fbn,a,pn %fcc0, <label_0x1>
3959 retry
3960donretarg_40_36:
3961 .word 0xd8ffe0aa ! 51: SWAPA_I swapa %r12, [%r31 + 0x00aa] %asi
3962 nop
3963 ta T_CHANGE_HPRIV
3964 mov 0x40+1, %r10
3965 set sync_thr_counter1, %r23
3966 cas [%r23],%g0,%r10 !lock
3967 brnz %r10, cwq_40_37
3968 rd %asi, %r12
3969 wr %g0, 0x40, %asi
3970 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
3971 and %l1, 0x3, %l1 ! Check if busy/enabled ..
3972 cmp %l1, 1
3973 bne cwq_40_37
3974 set CWQ_BASE, %l6
3975 best_set_reg(0x20610060, %l1, %l2) !# Control Word
3976 sllx %l2, 32, %l2
3977 stx %l2, [%l6 + 0x0]
3978 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
3979 sub %l2, 0x40, %l2
3980 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
3981 wr %r12, %g0, %asi
3982 st %g0, [%r23]
3983cwq_40_37:
3984 ta T_CHANGE_NONHPRIV
3985 .word 0x91414000 ! 52: RDPC rd %pc, %r8
3986mondo_40_38:
3987 nop
3988 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
3989 ta T_CHANGE_PRIV
3990 stxa %r9, [%r0+0x3c8] %asi
3991 .word 0x9d950013 ! 53: WRPR_WSTATE_R wrpr %r20, %r19, %wstate
3992 setx 0x55f31c0482e36ce1, %r1, %r28
3993 stxa %r28, [%g0] 0x73
3994intvec_40_39:
3995 .word 0x39400001 ! 54: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
3996 nop
3997 ta T_CHANGE_HPRIV
3998 mov 0x40+1, %r10
3999 set sync_thr_counter1, %r23
4000 cas [%r23],%g0,%r10 !lock
4001 brnz %r10, cwq_40_40
4002 rd %asi, %r12
4003 wr %g0, 0x40, %asi
4004 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
4005 and %l1, 0x3, %l1 ! Check if busy/enabled ..
4006 cmp %l1, 1
4007 bne cwq_40_40
4008 set CWQ_BASE, %l6
4009 best_set_reg(0x20610030, %l1, %l2) !# Control Word
4010 sllx %l2, 32, %l2
4011 stx %l2, [%l6 + 0x0]
4012 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
4013 sub %l2, 0x40, %l2
4014 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
4015 wr %r12, %g0, %asi
4016 st %g0, [%r23]
4017cwq_40_40:
4018 ta T_CHANGE_NONHPRIV
4019 .word 0xa7414000 ! 55: RDPC rd %pc, %r19
4020 .word 0x91a189d2 ! 56: FDIVd fdivd %f6, %f18, %f8
4021 .word 0x97480000 ! 57: RDHPR_HPSTATE rdhpr %hpstate, %r11
4022 .word 0xa9b407c5 ! 58: PDIST pdistn %d16, %d36, %d20
4023fpinit_40_41:
4024 setx fp_data_quads, %r19, %r20
4025 ldd [%r20], %f0
4026 ldd [%r20+8], %f4
4027 ld [%r20+16], %fsr
4028 ld [%r20+24], %r19
4029 wr %r19, %g0, %gsr
4030 .word 0x8da009c4 ! 59: FDIVd fdivd %f0, %f4, %f6
4031 .word 0x9f803c37 ! 60: SIR sir 0x1c37
4032 nop
4033 ta T_CHANGE_HPRIV
4034 mov 0x40, %r10
4035 set sync_thr_counter2, %r23
4036 cas [%r23],%g0,%r10 !lock
4037 brnz %r10, sma_40_42
4038 rd %asi, %r12
4039 wr %g0, 0x40, %asi
4040 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4041 set 0x00121fff, %g1
4042 stxa %g1, [%g0 + 0x80] %asi
4043 wr %r12, %g0, %asi
4044 st %g0, [%r23]
4045sma_40_42:
4046 ta T_CHANGE_NONHPRIV
4047 .word 0xd9e7e002 ! 61: CASA_R casa [%r31] %asi, %r2, %r12
4048br_badelay2_40_43:
4049 .word 0x34800001 ! 1: BG bg,a <label_0x1>
4050 pdist %f2, %f14, %f6
4051 .word 0x95b4830c ! 62: ALIGNADDRESS alignaddr %r18, %r12, %r10
4052 .word 0x8d802000 ! 63: WRFPRS_I wr %r0, 0x0000, %fprs
4053br_longdelay1_40_44:
4054 .word 0x22800001 ! 1: BE be,a <label_0x1>
4055 .word 0x9d97c000 ! 64: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
4056 setx 0x17444f20c0de16d5, %r1, %r28
4057 stxa %r28, [%g0] 0x73
4058intvec_40_45:
4059 .word 0x39400001 ! 65: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
4060 .word 0xe53fc000 ! 66: STDF_R std %f18, [%r0, %r31]
4061vahole_40_46:
4062 nop
4063 ta T_CHANGE_NONHPRIV
4064 setx vahole_target, %r18, %r27
4065 jmpl %r27+0, %r27
4066 .word 0xe49fc02d ! 67: LDDA_R ldda [%r31, %r13] 0x01, %r18
4067 nop
4068 ta T_CHANGE_HPRIV
4069 mov 0x40+1, %r10
4070 set sync_thr_counter1, %r23
4071 cas [%r23],%g0,%r10 !lock
4072 brnz %r10, cwq_40_47
4073 rd %asi, %r12
4074 wr %g0, 0x40, %asi
4075 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
4076 and %l1, 0x3, %l1 ! Check if busy/enabled ..
4077 cmp %l1, 1
4078 bne cwq_40_47
4079 set CWQ_BASE, %l6
4080 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
4081 sllx %l2, 32, %l2
4082 stx %l2, [%l6 + 0x0]
4083 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
4084 sub %l2, 0x40, %l2
4085 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
4086 wr %r12, %g0, %asi
4087 st %g0, [%r23]
4088cwq_40_47:
4089 ta T_CHANGE_NONHPRIV
4090 .word 0x97414000 ! 68: RDPC rd %pc, %r11
4091 .word 0xb1800011 ! 69: WR_STICK_REG_R wr %r0, %r17, %-
4092splash_hpstate_40_48:
4093 .word 0x29400001 ! 1: FBPL fbl,a,pn %fcc0, <label_0x1>
4094 .word 0x81982807 ! 70: WRHPR_HPSTATE_I wrhpr %r0, 0x0807, %hpstate
4095intveclr_40_49:
4096 nop
4097 ta T_CHANGE_HPRIV
4098 setx 0x962cacdd6894bb8d, %r1, %r28
4099 stxa %r28, [%g0] 0x72
4100 .word 0x25400001 ! 71: FBPLG fblg,a,pn %fcc0, <label_0x1>
4101 .word 0xe03fe030 ! 72: STD_I std %r16, [%r31 + 0x0030]
4102splash_lsu_40_50:
4103 nop
4104 ta T_CHANGE_HPRIV
4105 set 0xb1d9ea98, %r2
4106 mov 0x1, %r1
4107 sllx %r1, 32, %r1
4108 or %r1, %r2, %r2
4109 stxa %r2, [%r0] ASI_LSU_CONTROL
4110 .word 0x3d400001 ! 73: FBPULE fbule,a,pn %fcc0, <label_0x1>
4111 .word 0xe137e097 ! 74: STQF_I - %f16, [0x0097, %r31]
4112 .word 0xc1bfe040 ! 75: STDFA_I stda %f0, [0x0040, %r31]
4113 .word 0xe057e000 ! 76: LDSH_I ldsh [%r31 + 0x0000], %r16
4114splash_cmpr_40_51:
4115 nop
4116 setx 0xcca1acfcf3222734, %l2, %l1
4117 ta T_CHANGE_PRIV
4118 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
4119 ta T_CHANGE_NONPRIV
4120 sub %l1, 40, %g1
4121 .word 0x89900011 ! 77: WRPR_TICK_R wrpr %r0, %r17, %tick
4122splash_lsu_40_52:
4123 nop
4124 ta T_CHANGE_HPRIV
4125 set 0x2ee59d35, %r2
4126 mov 0x5, %r1
4127 sllx %r1, 32, %r1
4128 or %r1, %r2, %r2
4129 stxa %r2, [%r0] ASI_LSU_CONTROL
4130 ta T_CHANGE_NONHPRIV
4131 .word 0x3d400001 ! 78: FBPULE fbule,a,pn %fcc0, <label_0x1>
4132br_badelay2_40_53:
4133 .word 0x20800001 ! 1: BN bn,a <label_0x1>
4134 pdist %f16, %f18, %f30
4135 .word 0x95b28314 ! 79: ALIGNADDRESS alignaddr %r10, %r20, %r10
4136 .word 0xe1bfda00 ! 80: STDFA_R stda %f16, [%r0, %r31]
4137splash_cmpr_40_54:
4138 nop
4139 setx 0xab1dd1fbf30c3a4d, %l2, %l1
4140 ta T_CHANGE_HPRIV
4141 wrhpr %l1, %g0, %hsys_tick_cmpr
4142 sub %l1, 40, %g1
4143 .word 0x89900011 ! 81: WRPR_TICK_R wrpr %r0, %r17, %tick
4144 .word 0x97a00167 ! 82: FABSq dis not found
4145
4146vahole_40_55:
4147 nop
4148 ta T_CHANGE_NONHPRIV
4149 setx vahole_target, %r18, %r27
4150 jmpl %r27+0, %r27
4151 .word 0xdb3fc002 ! 83: STDF_R std %f13, [%r2, %r31]
4152vahole_40_56:
4153 nop
4154 ta T_CHANGE_NONHPRIV
4155 setx vahole_target, %r18, %r27
4156 jmpl %r27+0, %r27
4157 .word 0xdb3fc002 ! 84: STDF_R std %f13, [%r2, %r31]
4158invtsb_40_57:
4159 nop
4160 ta T_CHANGE_HPRIV
4161 rd %asi, %r21
4162 wr %r0,ASI_MMU_REAL_RANGE, %asi
4163 mov 1, %r20
4164 sllx %r20, 63, %r20
4165 ldxa [ASI_MMU_REAL_RANGE_0] %asi, %r22
4166 xor %r22 ,%r20, %r22
4167 stxa %r22, [ASI_MMU_REAL_RANGE_0] %asi
4168 ldxa [ASI_MMU_REAL_RANGE_1] %asi, %r22
4169 xor %r22 ,%r20, %r22
4170 stxa %r22, [ASI_MMU_REAL_RANGE_1] %asi
4171 ldxa [ASI_MMU_REAL_RANGE_2] %asi, %r22
4172 xor %r22 ,%r20, %r22
4173 stxa %r22, [ASI_MMU_REAL_RANGE_2] %asi
4174 ldxa [ASI_MMU_REAL_RANGE_3] %asi, %r22
4175 xor %r22 ,%r20, %r22
4176 stxa %r22, [ASI_MMU_REAL_RANGE_3] %asi
4177 wr %r21, %r0, %asi
4178 ta T_CHANGE_NONHPRIV
4179 .word 0x29800001 ! 85: FBL fbl,a <label_0x1>
4180memptr_40_58:
4181 set 0x60740000, %r31
4182 .word 0x8581ba0b ! 86: WRCCR_I wr %r6, 0x1a0b, %ccr
4183 .word 0x9191a65d ! 87: WRPR_PIL_I wrpr %r6, 0x065d, %pil
4184 .word 0x91d02035 ! 88: Tcc_I ta icc_or_xcc, %r0 + 53
4185splash_tba_40_59:
4186 ta T_CHANGE_PRIV
4187 setx 0x0000000400380000, %r11, %r12
4188 .word 0x8b90000c ! 89: WRPR_TBA_R wrpr %r0, %r12, %tba
4189 .word 0xc1bfe020 ! 90: STDFA_I stda %f0, [0x0020, %r31]
4190 .word 0x9f80399b ! 91: SIR sir 0x199b
4191 .word 0xda6fe0dd ! 92: LDSTUB_I ldstub %r13, [%r31 + 0x00dd]
4192 .word 0xda47e030 ! 93: LDSW_I ldsw [%r31 + 0x0030], %r13
4193br_longdelay1_40_60:
4194 .word 0x33400001 ! 1: FBPE fbe,a,pn %fcc0, <label_0x1>
4195 .word 0xbfe7c000 ! 94: SAVE_R save %r31, %r0, %r31
4196 brlz,pn %r12, skip_40_61
4197 .word 0x9f802cf9 ! 1: SIR sir 0x0cf9
4198.align 32
4199skip_40_61:
4200 .word 0xc30fc000 ! 95: LDXFSR_R ld-fsr [%r31, %r0], %f1
4201jmptr_40_62:
4202 nop
4203 best_set_reg(0xe1200000, %r20, %r27)
4204 .word 0xb7c6c000 ! 96: JMPL_R jmpl %r27 + %r0, %r27
4205br_badelay2_40_63:
4206 .word 0x22800001 ! 1: BE be,a <label_0x1>
4207 allclean
4208 .word 0xa5b18314 ! 97: ALIGNADDRESS alignaddr %r6, %r20, %r18
4209mondo_40_64:
4210 nop
4211 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4212 ta T_CHANGE_PRIV
4213 stxa %r11, [%r0+0x3c8] %asi
4214 .word 0x9d90c006 ! 98: WRPR_WSTATE_R wrpr %r3, %r6, %wstate
4215 .word 0xc1bfc3e0 ! 99: STDFA_R stda %f0, [%r0, %r31]
4216 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
4217reduce_priv_lvl_40_65:
4218 ta T_CHANGE_NONHPRIV ! macro
4219intveclr_40_66:
4220 nop
4221 ta T_CHANGE_HPRIV
4222 setx 0xc8b41f3653de00dd, %r1, %r28
4223 stxa %r28, [%g0] 0x72
4224 .word 0x25400001 ! 101: FBPLG fblg,a,pn %fcc0, <label_0x1>
4225dvapa_40_67:
4226 nop
4227 ta T_CHANGE_HPRIV
4228 mov 0xff5, %r20
4229 mov 0x5, %r19
4230 sllx %r20, 23, %r20
4231 or %r19, %r20, %r19
4232 stxa %r19, [%g0] ASI_LSU_CONTROL
4233 mov 0x38, %r18
4234 stxa %r31, [%r18]0x58
4235 ta T_CHANGE_NONHPRIV
4236 .word 0xdb1fc009 ! 102: LDDF_R ldd [%r31, %r9], %f13
4237trapasi_40_68:
4238mov 0x20, %r1 ! (VA for ASI 0x5b)
4239 .word 0xdad04b40 ! 103: LDSHA_R ldsha [%r1, %r0] 0x5a, %r13
4240 .word 0xe19fda00 ! 104: LDDFA_R ldda [%r31, %r0], %f16
4241brcommon_40_69:
4242 ba,a .+12
4243 mov %r31, %r15
4244 ba,a .+8
4245 call common_target
4246 .word 0xda3ff34b ! 105: STD_I std %r13, [%r31 + 0xfffff34b]
4247mondo_40_70:
4248 nop
4249 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4250 ta T_CHANGE_PRIV
4251 stxa %r10, [%r0+0x3e8] %asi
4252 .word 0x9d94c008 ! 106: WRPR_WSTATE_R wrpr %r19, %r8, %wstate
4253 nop
4254 ta T_CHANGE_HPRIV
4255 mov 0x40, %r10
4256 set sync_thr_counter2, %r23
4257 cas [%r23],%g0,%r10 !lock
4258 brnz %r10, sma_40_71
4259 rd %asi, %r12
4260 wr %g0, 0x40, %asi
4261 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4262 set 0x000e1fff, %g1
4263 stxa %g1, [%g0 + 0x80] %asi
4264 wr %r12, %g0, %asi
4265 st %g0, [%r23]
4266sma_40_71:
4267 ta T_CHANGE_NONHPRIV
4268 .word 0xdbe7e010 ! 107: CASA_R casa [%r31] %asi, %r16, %r13
4269 .word 0xdb27e074 ! 108: STF_I st %f13, [0x0074, %r31]
4270vahole_40_72:
4271 nop
4272 ta T_CHANGE_NONHPRIV
4273 setx vahole_target, %r18, %r27
4274 jmpl %r27+0, %r27
4275 .word 0xdbe7e010 ! 109: CASA_R casa [%r31] %asi, %r16, %r13
4276 .word 0x95b48490 ! 110: FCMPLE32 fcmple32 %d18, %d16, %r10
4277change_to_randtl_40_73:
4278 ta T_CHANGE_HPRIV ! macro
4279done_change_to_randtl_40_73:
4280 .word 0x8f902000 ! 111: WRPR_TL_I wrpr %r0, 0x0000, %tl
4281 .word 0xd20fe010 ! 112: LDUB_I ldub [%r31 + 0x0010], %r9
4282splash_lsu_40_74:
4283 nop
4284 ta T_CHANGE_HPRIV
4285 set 0xa1c44589, %r2
4286 mov 0x2, %r1
4287 sllx %r1, 32, %r1
4288 or %r1, %r2, %r2
4289 stxa %r2, [%r0] ASI_LSU_CONTROL
4290 .word 0x3d400001 ! 113: FBPULE fbule,a,pn %fcc0, <label_0x1>
4291br_longdelay2_40_75:
4292 .word 0x22800001 ! 1: BE be,a <label_0x1>
4293 .word 0x24cc0001 ! 114: BRLEZ brlez,a,pt %r16,<label_0xc0001>
4294 .word 0xb1800011 ! 115: WR_STICK_REG_R wr %r0, %r17, %-
4295ibp_40_76:
4296 nop
4297 ta T_CHANGE_HPRIV
4298 .word 0xe0dfc021 ! 116: LDXA_R ldxa [%r31, %r1] 0x01, %r16
4299change_to_randtl_40_77:
4300 ta T_CHANGE_HPRIV ! macro
4301done_change_to_randtl_40_77:
4302 .word 0x8f902000 ! 117: WRPR_TL_I wrpr %r0, 0x0000, %tl
4303!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_40_78) + 48, 16, 16)) -> intp(4,0,7)
4304!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_40_78)&0xffffffff) + 48, 16, 16)) -> intp(4,0,7)
4305intvec_40_78:
4306 .word 0x39400001 ! 118: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
4307 .word 0x91948013 ! 119: WRPR_PIL_R wrpr %r18, %r19, %pil
4308 .word 0x91a049ad ! 120: FDIVs fdivs %f1, %f13, %f8
4309 .word 0xe1bfe0c0 ! 121: STDFA_I stda %f16, [0x00c0, %r31]
4310 nop
4311 ta T_CHANGE_HPRIV
4312 mov 0x40, %r10
4313 set sync_thr_counter2, %r23
4314 cas [%r23],%g0,%r10 !lock
4315 brnz %r10, sma_40_80
4316 rd %asi, %r12
4317 wr %g0, 0x40, %asi
4318 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4319 set 0x000e1fff, %g1
4320 stxa %g1, [%g0 + 0x80] %asi
4321 wr %r12, %g0, %asi
4322 st %g0, [%r23]
4323sma_40_80:
4324 ta T_CHANGE_NONHPRIV
4325 .word 0xd9e7e011 ! 122: CASA_R casa [%r31] %asi, %r17, %r12
4326 .word 0xd88fe038 ! 123: LDUBA_I lduba [%r31, + 0x0038] %asi, %r12
4327 nop
4328 ta T_CHANGE_HPRIV
4329 mov 0x40+1, %r10
4330 set sync_thr_counter1, %r23
4331 cas [%r23],%g0,%r10 !lock
4332 brnz %r10, cwq_40_81
4333 rd %asi, %r12
4334 wr %g0, 0x40, %asi
4335 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
4336 and %l1, 0x3, %l1 ! Check if busy/enabled ..
4337 cmp %l1, 1
4338 bne cwq_40_81
4339 set CWQ_BASE, %l6
4340 best_set_reg(0x206100f0, %l1, %l2) !# Control Word
4341 sllx %l2, 32, %l2
4342 stx %l2, [%l6 + 0x0]
4343 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
4344 sub %l2, 0x40, %l2
4345 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
4346 wr %r12, %g0, %asi
4347 st %g0, [%r23]
4348cwq_40_81:
4349 ta T_CHANGE_NONHPRIV
4350 .word 0x91414000 ! 124: RDPC rd %pc, %r8
4351fpinit_40_82:
4352 setx fp_data_quads, %r19, %r20
4353 ldd [%r20], %f0
4354 ldd [%r20+8], %f4
4355 ld [%r20+16], %fsr
4356 ld [%r20+24], %r19
4357 wr %r19, %g0, %gsr
4358 .word 0xc3e82970 ! 125: PREFETCHA_I prefetcha [%r0, + 0x0970] %asi, #one_read
4359 .word 0xb1800011 ! 126: WR_STICK_REG_R wr %r0, %r17, %-
4360iaw_40_83:
4361 nop
4362 ta T_CHANGE_HPRIV
4363 mov 8, %r18
4364 rd %asi, %r12
4365 wr %r0, 0x41, %asi
4366 set sync_thr_counter, %r23
4367 mov 0x40, %r16
4368iaw_startwait40_83:
4369 cas [%r23],%g0,%r16 !lock
4370 brz,a %r16, continue_iaw_40_83
4371 mov (~0x40&0xf0), %r16
4372 ld [%r23], %r16
4373iaw_wait40_83:
4374 brnz %r16, iaw_wait40_83
4375 ld [%r23], %r16
4376 ba,a iaw_startwait40_83
4377 mov 0x40, %r16
4378continue_iaw_40_83:
4379 ldxa [%g0]0x63, %r14 !Get raw TID
4380 srlx %r14, 3, %r14 !Get CID
4381 sllx %r16, %r14, %r16 !Mask for my core only
4382 ldxa [0x58]%asi, %r17 !Running_status
4383wait_for_stat_40_83:
4384 ldxa [0x50]%asi, %r13 !Running_rw
4385 cmp %r13, %r17
4386 bne,a wait_for_stat_40_83
4387 ldxa [0x58]%asi, %r17 !Running_status
4388 stxa %r16, [0x68]%asi
4389 ldxa [0x50]%asi, %r14 !Running_rw
4390wait_for_iaw_40_83:
4391 ldxa [0x58]%asi, %r17 !Running_status
4392 cmp %r14, %r17
4393 bne,a wait_for_iaw_40_83
4394 ldxa [0x50]%asi, %r14 !Running_rw
4395iaw_doit40_83:
4396 mov 0x38, %r18
4397iaw1_40_83:
4398 best_set_reg(0x00000000e0a00000, %r20, %r19)
4399 or %r19, 0x1, %r19
4400 stxa %r19, [%r18]0x50
4401 stxa %r13, [0x50] %asi ! Running_rw
4402 st %g0, [%r23] !clear lock
4403 wr %r0, %r12, %asi ! restore %asi
4404 ta T_CHANGE_NONHPRIV
4405 .word 0xe73fc011 ! 127: STDF_R std %f19, [%r17, %r31]
4406 .word 0xe737e048 ! 128: STQF_I - %f19, [0x0048, %r31]
4407 .word 0x34800001 ! 1: BG bg,a <label_0x1>
4408 .word 0x8d903b4b ! 129: WRPR_PSTATE_I wrpr %r0, 0x1b4b, %pstate
4409trapasi_40_85:
4410mov 0x0, %r1 ! (VA for ASI 0x4c)
4411 .word 0xe6d04b60 ! 130: LDSHA_R ldsha [%r1, %r0] 0x5b, %r19
4412!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_40_86) + 24, 16, 16)) -> intp(1,0,23)
4413!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_40_86)&0xffffffff) + 24, 16, 16)) -> intp(1,0,23)
4414intvec_40_86:
4415 .word 0x39400001 ! 131: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
4416mondo_40_87:
4417 nop
4418 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4419 stxa %r5, [%r0+0x3e8] %asi
4420 .word 0x9d92c013 ! 132: WRPR_WSTATE_R wrpr %r11, %r19, %wstate
4421splash_hpstate_40_88:
4422 .word 0x81982d8e ! 133: WRHPR_HPSTATE_I wrhpr %r0, 0x0d8e, %hpstate
4423 .word 0xc19fe080 ! 134: LDDFA_I ldda [%r31, 0x0080], %f0
4424 .word 0xa9b4c7d4 ! 135: PDIST pdistn %d50, %d20, %d20
4425unsupttte_40_89:
4426 nop
4427 ta T_CHANGE_HPRIV
4428 mov 1, %r20
4429 sllx %r20, 63, %r20
4430 or %r20, 2,%r20
4431 stxa %r20, [%g0]0x54 ! I unsupported page size ..
4432 ta T_CHANGE_NONHPRIV
4433 .word 0xa1a049b2 ! 136: FDIVs fdivs %f1, %f18, %f16
4434 invalw
4435 mov 0x35, %r30
4436 .word 0x91d0001e ! 137: Tcc_R ta icc_or_xcc, %r0 + %r30
4437br_longdelay3_40_90:
4438 nop
4439 not %g0, %r12
4440 jmp %r12
4441 .word 0x99902005 ! 138: WRPR_CLEANWIN_I wrpr %r0, 0x0005, %cleanwin
4442fpinit_40_91:
4443 setx fp_data_quads, %r19, %r20
4444 ldd [%r20], %f0
4445 ldd [%r20+8], %f4
4446 ld [%r20+16], %fsr
4447 ld [%r20+24], %r19
4448 wr %r19, %g0, %gsr
4449 .word 0x87a80a44 ! 139: FCMPd fcmpd %fcc<n>, %f0, %f4
4450 .word 0xc3ecc033 ! 140: PREFETCHA_R prefetcha [%r19, %r19] 0x01, #one_read
4451 ta T_CHANGE_NONPRIV ! macro
4452 .word 0x3f400001 ! 1: FBPO fbo,a,pn %fcc0, <label_0x1>
4453 .word 0x8d903467 ! 142: WRPR_PSTATE_I wrpr %r0, 0x1467, %pstate
4454 .word 0x9bb40992 ! 143: BSHUFFLE fmovc32 %d16, %d18, %d44
4455trapasi_40_94:
4456mov 0x28, %r1 ! (VA for ASI 0x5a)
4457 .word 0xd6904b40 ! 144: LDUHA_R lduha [%r1, %r0] 0x5a, %r11
4458 .word 0xa3a0016b ! 145: FABSq dis not found
4459
4460br_longdelay1_40_95:
4461 .word 0x3f400001 ! 1: FBPO fbo,a,pn %fcc0, <label_0x1>
4462 .word 0xbfefc000 ! 146: RESTORE_R restore %r31, %r0, %r31
4463 .word 0xd6bfe06c ! 147: STDA_I stda %r11, [%r31 + 0x006c] %asi
4464 invalw
4465 mov 0xb1, %r30
4466 .word 0x93d0001e ! 148: Tcc_R tne icc_or_xcc, %r0 + %r30
4467br_longdelay1_40_96:
4468 .word 0x25400001 ! 1: FBPLG fblg,a,pn %fcc0, <label_0x1>
4469 .word 0x9d97c000 ! 149: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
4470 .word 0x91d020b5 ! 150: Tcc_I ta icc_or_xcc, %r0 + 181
4471jmptr_40_97:
4472 nop
4473 best_set_reg(0xe0200000, %r20, %r27)
4474 .word 0xb7c6c000 ! 151: JMPL_R jmpl %r27 + %r0, %r27
4475pmu_40_98:
4476 nop
4477 setx 0xfffffff5fffff874, %g1, %g7
4478 .word 0xa3800007 ! 152: WR_PERF_COUNTER_R wr %r0, %r7, %-
4479jmptr_40_99:
4480 nop
4481 best_set_reg(0xe0200000, %r20, %r27)
4482 .word 0xb7c6c000 ! 153: JMPL_R jmpl %r27 + %r0, %r27
4483mondo_40_100:
4484 nop
4485 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4486 ta T_CHANGE_PRIV
4487 stxa %r20, [%r0+0x3e0] %asi
4488 .word 0x9d94c010 ! 154: WRPR_WSTATE_R wrpr %r19, %r16, %wstate
4489 ta T_CHANGE_NONPRIV ! macro
4490 .word 0x81460000 ! 156: RD_STICK_REG stbar
4491splash_cmpr_40_101:
4492 nop
4493 setx 0x98127c4b0d35527a, %l2, %l1
4494 ta T_CHANGE_PRIV
4495 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
4496 ta T_CHANGE_NONPRIV
4497 sub %l1, 40, %g1
4498 .word 0x89900011 ! 157: WRPR_TICK_R wrpr %r0, %r17, %tick
4499 .word 0x9f802cc0 ! 158: SIR sir 0x0cc0
4500brcommon_40_102:
4501 ba,a .+12
4502 mov %r31, %r15
4503 ba,a .+8
4504 call common_target
4505 .word 0xd71fc00a ! 159: LDDF_R ldd [%r31, %r10], %f11
4506pmu_40_103:
4507 nop
4508 setx 0xfffff79dfffffbad, %g1, %g7
4509 .word 0xa3800007 ! 160: WR_PERF_COUNTER_R wr %r0, %r7, %-
4510 .word 0xc19fdc00 ! 161: LDDFA_R ldda [%r31, %r0], %f0
4511!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_40_104) + 56, 16, 16)) -> intp(3,0,31)
4512!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_40_104)&0xffffffff) + 56, 16, 16)) -> intp(3,0,31)
4513intvec_40_104:
4514 .word 0x39400001 ! 162: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
4515 .word 0xa9702488 ! 163: POPC_I popc 0x0488, %r20
4516 .word 0x8d9022c4 ! 164: WRPR_PSTATE_I wrpr %r0, 0x02c4, %pstate
4517jmptr_40_106:
4518 nop
4519 best_set_reg(0xe0200000, %r20, %r27)
4520 .word 0xb7c6c000 ! 165: JMPL_R jmpl %r27 + %r0, %r27
4521dvapa_40_107:
4522 nop
4523 ta T_CHANGE_HPRIV
4524 mov 0xcbd, %r20
4525 mov 0x1a, %r19
4526 sllx %r20, 23, %r20
4527 or %r19, %r20, %r19
4528 stxa %r19, [%g0] ASI_LSU_CONTROL
4529 mov 0x38, %r18
4530 stxa %r31, [%r18]0x58
4531 ta T_CHANGE_NONHPRIV
4532 .word 0xd33fc014 ! 166: STDF_R std %f9, [%r20, %r31]
4533 nop
4534 ta T_CHANGE_HPRIV
4535 mov 0x40, %r10
4536 set sync_thr_counter2, %r23
4537 cas [%r23],%g0,%r10 !lock
4538 brnz %r10, sma_40_108
4539 rd %asi, %r12
4540 wr %g0, 0x40, %asi
4541 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4542 set 0x00121fff, %g1
4543 stxa %g1, [%g0 + 0x80] %asi
4544 wr %r12, %g0, %asi
4545 st %g0, [%r23]
4546sma_40_108:
4547 ta T_CHANGE_NONHPRIV
4548 .word 0xd3e7e014 ! 167: CASA_R casa [%r31] %asi, %r20, %r9
4549 .word 0x99a489d2 ! 168: FDIVd fdivd %f18, %f18, %f12
4550 .word 0xa5a0c9cd ! 169: FDIVd fdivd %f34, %f44, %f18
4551dvapa_40_109:
4552 nop
4553 ta T_CHANGE_HPRIV
4554 mov 0xe67, %r20
4555 mov 0x0, %r19
4556 sllx %r20, 23, %r20
4557 or %r19, %r20, %r19
4558 stxa %r19, [%g0] ASI_LSU_CONTROL
4559 mov 0x38, %r18
4560 stxa %r31, [%r18]0x58
4561 ta T_CHANGE_NONHPRIV
4562 .word 0xc32fc003 ! 170: STXFSR_R st-sfr %f1, [%r3, %r31]
4563mondo_40_110:
4564 nop
4565 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4566 stxa %r11, [%r0+0x3c8] %asi
4567 .word 0x9d904004 ! 171: WRPR_WSTATE_R wrpr %r1, %r4, %wstate
4568 .word 0xe05fe008 ! 172: LDX_I ldx [%r31 + 0x0008], %r16
4569 .word 0xab848013 ! 173: WR_CLEAR_SOFTINT_R wr %r18, %r19, %clear_softint
4570intveclr_40_111:
4571 nop
4572 ta T_CHANGE_HPRIV
4573 setx 0xb374e7884b9deea7, %r1, %r28
4574 stxa %r28, [%g0] 0x72
4575 .word 0x25400001 ! 174: FBPLG fblg,a,pn %fcc0, <label_0x1>
4576 .word 0x97a00174 ! 175: FABSq dis not found
4577
4578 .word 0xb1800011 ! 176: WR_STICK_REG_R wr %r0, %r17, %-
4579 .word 0xe1bfdc00 ! 177: STDFA_R stda %f16, [%r0, %r31]
4580 .word 0xb1800011 ! 178: WR_STICK_REG_R wr %r0, %r17, %-
4581 .word 0x9f803f44 ! 179: SIR sir 0x1f44
4582 .word 0x91d02032 ! 180: Tcc_I ta icc_or_xcc, %r0 + 50
4583 nop
4584 ta T_CHANGE_HPRIV
4585 mov 0x40, %r10
4586 set sync_thr_counter2, %r23
4587 cas [%r23],%g0,%r10 !lock
4588 brnz %r10, sma_40_112
4589 rd %asi, %r12
4590 wr %g0, 0x40, %asi
4591 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4592 set 0x000e1fff, %g1
4593 stxa %g1, [%g0 + 0x80] %asi
4594 wr %r12, %g0, %asi
4595 st %g0, [%r23]
4596sma_40_112:
4597 ta T_CHANGE_NONHPRIV
4598 .word 0xd1e7e00d ! 181: CASA_R casa [%r31] %asi, %r13, %r8
4599 .word 0x2a700001 ! 182: BPCS <illegal instruction>
4600 .word 0x8d9022bb ! 183: WRPR_PSTATE_I wrpr %r0, 0x02bb, %pstate
4601 .word 0x91940002 ! 184: WRPR_PIL_R wrpr %r16, %r2, %pil
4602donret_40_115:
4603 nop
4604 ta T_CHANGE_HPRIV ! macro
4605 rd %pc, %r12
4606 add %r12, (donretarg_40_115-donret_40_115-4), %r12
4607 mov 0x38, %r18
4608 stxa %r12, [%r18]0x58
4609 add %r12, 0x4, %r11
4610 wrpr %g0, 0x1, %tl
4611 wrpr %g0, %r12, %tpc
4612 wrpr %g0, %r11, %tnpc
4613 set (0x00d4361b | (32 << 24)), %r13
4614 rdpr %tstate, %r16
4615 mov 0x1f, %r19
4616 and %r19, %r16, %r17
4617 andn %r16, %r19, %r16
4618 or %r16, %r17, %r20
4619 wrpr %r20, %g0, %tstate
4620 wrhpr %g0, 0x1c5, %htstate
4621 ta T_CHANGE_NONHPRIV ! rand=1 (40)
4622 done
4623donretarg_40_115:
4624 .word 0xd0ffe050 ! 185: SWAPA_I swapa %r8, [%r31 + 0x0050] %asi
4625 .word 0xe1bfd960 ! 186: STDFA_R stda %f16, [%r0, %r31]
4626splash_cmpr_40_116:
4627 nop
4628 setx 0xaba0816d9f0b02b5, %l2, %l1
4629 ta T_CHANGE_HPRIV
4630 wrhpr %l1, %g0, %hsys_tick_cmpr
4631 ta T_CHANGE_NONHPRIV
4632 sub %l1, 40, %g1
4633 .word 0x89900011 ! 187: WRPR_TICK_R wrpr %r0, %r17, %tick
4634trapasi_40_117:
4635mov 0x0, %r1 ! (VA for ASI 0x4c)
4636 .word 0xd0c04b00 ! 188: LDSWA_R ldswa [%r1, %r0] 0x58, %r8
4637 nop
4638 ta T_CHANGE_HPRIV
4639 mov 0x40+1, %r10
4640 set sync_thr_counter1, %r23
4641 cas [%r23],%g0,%r10 !lock
4642 brnz %r10, cwq_40_118
4643 rd %asi, %r12
4644 wr %g0, 0x40, %asi
4645 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
4646 and %l1, 0x3, %l1 ! Check if busy/enabled ..
4647 cmp %l1, 1
4648 bne cwq_40_118
4649 set CWQ_BASE, %l6
4650 best_set_reg(0x206100f0, %l1, %l2) !# Control Word
4651 sllx %l2, 32, %l2
4652 stx %l2, [%l6 + 0x0]
4653 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
4654 sub %l2, 0x40, %l2
4655 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
4656 wr %r12, %g0, %asi
4657 st %g0, [%r23]
4658cwq_40_118:
4659 ta T_CHANGE_NONHPRIV
4660 .word 0xa1414000 ! 189: RDPC rd %pc, %r16
4661 .word 0xe827e0d2 ! 190: STW_I stw %r20, [%r31 + 0x00d2]
4662 set 0x250c, %l3
4663 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
4664 .word 0x95b207d3 ! 191: PDIST pdistn %d8, %d50, %d10
4665 .word 0x9b450000 ! 192: RD_SET_SOFTINT rd %set_softint, %r13
4666 .word 0xe1bfda00 ! 193: STDFA_R stda %f16, [%r0, %r31]
4667 .word 0xe81fc000 ! 194: LDD_R ldd [%r31 + %r0], %r20
4668 .word 0xe857e028 ! 195: LDSH_I ldsh [%r31 + 0x0028], %r20
4669 .word 0x9f803811 ! 196: SIR sir 0x1811
4670 .word 0xe1bfd920 ! 197: STDFA_R stda %f16, [%r0, %r31]
4671 .word 0xa7a349a3 ! 198: FDIVs fdivs %f13, %f3, %f19
4672 .word 0xb1800011 ! 199: WR_STICK_REG_R wr %r0, %r17, %-
4673 .word 0x9f802f49 ! 200: SIR sir 0x0f49
4674jmptr_40_119:
4675 nop
4676 best_set_reg(0xe0200000, %r20, %r27)
4677 .word 0xb7c6c000 ! 201: JMPL_R jmpl %r27 + %r0, %r27
4678br_longdelay3_40_120:
4679 nop
4680 not %g0, %r12
4681 jmp %r12
4682 .word 0x99902001 ! 202: WRPR_CLEANWIN_I wrpr %r0, 0x0001, %cleanwin
4683 .word 0xe1bfe080 ! 203: STDFA_I stda %f16, [0x0080, %r31]
4684 .word 0xd437e0d9 ! 204: STH_I sth %r10, [%r31 + 0x00d9]
4685splash_tba_40_121:
4686 ta T_CHANGE_PRIV
4687 setx 0x0000000400380000, %r11, %r12
4688 .word 0x8b90000c ! 205: WRPR_TBA_R wrpr %r0, %r12, %tba
4689tagged_40_122:
4690 tsubcctv %r20, 0x1a0f, %r12
4691 .word 0xd407e09c ! 206: LDUW_I lduw [%r31 + 0x009c], %r10
4692 .word 0x9f802276 ! 207: SIR sir 0x0276
4693 nop
4694 ta T_CHANGE_HPRIV
4695 mov 0x40, %r10
4696 set sync_thr_counter2, %r23
4697 cas [%r23],%g0,%r10 !lock
4698 brnz %r10, sma_40_123
4699 rd %asi, %r12
4700 wr %g0, 0x40, %asi
4701 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4702 set 0x001a1fff, %g1
4703 stxa %g1, [%g0 + 0x80] %asi
4704 wr %r12, %g0, %asi
4705 st %g0, [%r23]
4706sma_40_123:
4707 ta T_CHANGE_NONHPRIV
4708 .word 0xd5e7e00a ! 208: CASA_R casa [%r31] %asi, %r10, %r10
4709jmptr_40_124:
4710 nop
4711 best_set_reg(0xe0200000, %r20, %r27)
4712 .word 0xb7c6c000 ! 209: JMPL_R jmpl %r27 + %r0, %r27
4713 .word 0x9150c000 ! 210: RDPR_TT <illegal instruction>
4714 .word 0xe137c000 ! 211: STQF_R - %f16, [%r0, %r31]
4715intveclr_40_125:
4716 nop
4717 ta T_CHANGE_HPRIV
4718 setx 0x17619bc87623309c, %r1, %r28
4719 stxa %r28, [%g0] 0x72
4720 ta T_CHANGE_NONHPRIV
4721 .word 0x25400001 ! 212: FBPLG fblg,a,pn %fcc0, <label_0x1>
4722intveclr_40_126:
4723 nop
4724 ta T_CHANGE_HPRIV
4725 setx 0x09e2cc6426cf9ace, %r1, %r28
4726 stxa %r28, [%g0] 0x72
4727 .word 0x25400001 ! 213: FBPLG fblg,a,pn %fcc0, <label_0x1>
4728 .word 0x32700001 ! 214: BPNE <illegal instruction>
4729 nop
4730 mov 0x80, %g3
4731 stxa %g3, [%g3] 0x5f
4732 .word 0xe05fc000 ! 215: LDX_R ldx [%r31 + %r0], %r16
4733br_longdelay3_40_127:
4734 nop
4735 not %g0, %r12
4736 jmp %r12
4737 .word 0x99902002 ! 216: WRPR_CLEANWIN_I wrpr %r0, 0x0002, %cleanwin
4738splash_lsu_40_128:
4739 nop
4740 ta T_CHANGE_HPRIV
4741 set 0xe56b2f79, %r2
4742 mov 0x4, %r1
4743 sllx %r1, 32, %r1
4744 or %r1, %r2, %r2
4745 stxa %r2, [%r0] ASI_LSU_CONTROL
4746 .word 0x3d400001 ! 217: FBPULE fbule,a,pn %fcc0, <label_0x1>
4747 nop
4748 ta T_CHANGE_HPRIV
4749 mov 0x40, %r10
4750 set sync_thr_counter2, %r23
4751 cas [%r23],%g0,%r10 !lock
4752 brnz %r10, sma_40_129
4753 rd %asi, %r12
4754 wr %g0, 0x40, %asi
4755 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4756 set 0x00021fff, %g1
4757 stxa %g1, [%g0 + 0x80] %asi
4758 wr %r12, %g0, %asi
4759 st %g0, [%r23]
4760sma_40_129:
4761 ta T_CHANGE_NONHPRIV
4762 .word 0xe1e7e00a ! 218: CASA_R casa [%r31] %asi, %r10, %r16
4763pmu_40_130:
4764 nop
4765 ta T_CHANGE_PRIV
4766 setx 0xfffff7e1fffff0b0, %g1, %g7
4767 .word 0xa3800007 ! 219: WR_PERF_COUNTER_R wr %r0, %r7, %-
4768 .word 0x9191c00b ! 220: WRPR_PIL_R wrpr %r7, %r11, %pil
4769 invalw
4770 mov 0xb3, %r30
4771 .word 0x93d0001e ! 221: Tcc_R tne icc_or_xcc, %r0 + %r30
4772 .word 0xa7a489d3 ! 222: FDIVd fdivd %f18, %f50, %f50
4773intveclr_40_132:
4774 nop
4775 ta T_CHANGE_HPRIV
4776 setx 0xcebbc8e25295b79b, %r1, %r28
4777 stxa %r28, [%g0] 0x72
4778 ta T_CHANGE_NONHPRIV
4779 .word 0x25400001 ! 223: FBPLG fblg,a,pn %fcc0, <label_0x1>
4780splash_hpstate_40_133:
4781 ta T_CHANGE_NONHPRIV
4782 .word 0x81982654 ! 224: WRHPR_HPSTATE_I wrhpr %r0, 0x0654, %hpstate
4783!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_40_134)+48, 16, 16)) -> intp(mask2tid(0x40),1,3)
4784!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_40_134)&0xffffffff) +48, 16, 16)) -> intp(mask2tid(0x40),1,3)
4785xir_40_134:
4786 .word 0xa984fa62 ! 225: WR_SET_SOFTINT_I wr %r19, 0x1a62, %set_softint
4787 .word 0xa3520000 ! 226: RDPR_PIL <illegal instruction>
4788pmu_40_135:
4789 nop
4790 ta T_CHANGE_PRIV
4791 setx 0xfffffd97fffffafc, %g1, %g7
4792 .word 0xa3800007 ! 227: WR_PERF_COUNTER_R wr %r0, %r7, %-
4793 .word 0x9f8037d5 ! 228: SIR sir 0x17d5
4794 .word 0xe537c000 ! 229: STQF_R - %f18, [%r0, %r31]
4795 invalw
4796 mov 0x33, %r30
4797 .word 0x83d0001e ! 230: Tcc_R te icc_or_xcc, %r0 + %r30
4798 .word 0xc3ecc02d ! 231: PREFETCHA_R prefetcha [%r19, %r13] 0x01, #one_read
4799splash_hpstate_40_136:
4800 .word 0x2ccd0001 ! 1: BRGZ brgz,a,pt %r20,<label_0xd0001>
4801 .word 0x81982344 ! 232: WRHPR_HPSTATE_I wrhpr %r0, 0x0344, %hpstate
4802 setx 0x2a1978bfeeb932f0, %r1, %r28
4803 stxa %r28, [%g0] 0x73
4804intvec_40_137:
4805 .word 0x39400001 ! 233: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
4806 invalw
4807 mov 0xb1, %r30
4808 .word 0x91d0001e ! 234: Tcc_R ta icc_or_xcc, %r0 + %r30
4809 .word 0xb1800011 ! 235: WR_STICK_REG_R wr %r0, %r17, %-
4810 .word 0xd80fe020 ! 236: LDUB_I ldub [%r31 + 0x0020], %r12
4811 nop
4812 ta T_CHANGE_HPRIV
4813 mov 0x40+1, %r10
4814 set sync_thr_counter1, %r23
4815 cas [%r23],%g0,%r10 !lock
4816 brnz %r10, cwq_40_138
4817 rd %asi, %r12
4818 wr %g0, 0x40, %asi
4819 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
4820 and %l1, 0x3, %l1 ! Check if busy/enabled ..
4821 cmp %l1, 1
4822 bne cwq_40_138
4823 set CWQ_BASE, %l6
4824 best_set_reg(0x20610030, %l1, %l2) !# Control Word
4825 sllx %l2, 32, %l2
4826 stx %l2, [%l6 + 0x0]
4827 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
4828 sub %l2, 0x40, %l2
4829 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
4830 wr %r12, %g0, %asi
4831 st %g0, [%r23]
4832cwq_40_138:
4833 ta T_CHANGE_NONHPRIV
4834 .word 0x9b414000 ! 237: RDPC rd %pc, %r13
4835 otherw
4836 mov 0xb2, %r30
4837 .word 0x91d0001e ! 238: Tcc_R ta icc_or_xcc, %r0 + %r30
4838 nop
4839 ta T_CHANGE_HPRIV
4840 mov 0x40, %r10
4841 set sync_thr_counter2, %r23
4842 cas [%r23],%g0,%r10 !lock
4843 brnz %r10, sma_40_139
4844 rd %asi, %r12
4845 wr %g0, 0x40, %asi
4846 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4847 set 0x00021fff, %g1
4848 stxa %g1, [%g0 + 0x80] %asi
4849 wr %r12, %g0, %asi
4850 st %g0, [%r23]
4851sma_40_139:
4852 ta T_CHANGE_NONHPRIV
4853 .word 0xe7e7e014 ! 239: CASA_R casa [%r31] %asi, %r20, %r19
4854 .word 0xe71fc000 ! 240: LDDF_R ldd [%r31, %r0], %f19
4855 .word 0x81460000 ! 241: RD_STICK_REG stbar
4856 nop
4857 ta T_CHANGE_HPRIV
4858 mov 0x40+1, %r10
4859 set sync_thr_counter1, %r23
4860 cas [%r23],%g0,%r10 !lock
4861 brnz %r10, cwq_40_140
4862 rd %asi, %r12
4863 wr %g0, 0x40, %asi
4864 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
4865 and %l1, 0x3, %l1 ! Check if busy/enabled ..
4866 cmp %l1, 1
4867 bne cwq_40_140
4868 set CWQ_BASE, %l6
4869 best_set_reg(0x206100c0, %l1, %l2) !# Control Word
4870 sllx %l2, 32, %l2
4871 stx %l2, [%l6 + 0x0]
4872 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
4873 sub %l2, 0x40, %l2
4874 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
4875 wr %r12, %g0, %asi
4876 st %g0, [%r23]
4877cwq_40_140:
4878 ta T_CHANGE_NONHPRIV
4879 .word 0xa5414000 ! 242: RDPC rd %pc, %r18
4880 .word 0x93d020b2 ! 243: Tcc_I tne icc_or_xcc, %r0 + 178
4881trapasi_40_141:
4882mov 0x3d8, %r1 ! (VA for ASI 0x25)
4883 .word 0xe0884e80 ! 244: LDUBA_R lduba [%r1, %r0] 0x74, %r16
4884 .word 0xa7a00173 ! 245: FABSq dis not found
4885
4886 .word 0x83d020b4 ! 246: Tcc_I te icc_or_xcc, %r0 + 180
4887 invalw
4888 mov 0x33, %r30
4889 .word 0x91d0001e ! 247: Tcc_R ta icc_or_xcc, %r0 + %r30
4890splash_lsu_40_142:
4891 nop
4892 ta T_CHANGE_HPRIV
4893 set 0xb03f2762, %r2
4894 mov 0x5, %r1
4895 sllx %r1, 32, %r1
4896 or %r1, %r2, %r2
4897 stxa %r2, [%r0] ASI_LSU_CONTROL
4898 .word 0x3d400001 ! 248: FBPULE fbule,a,pn %fcc0, <label_0x1>
4899pmu_40_143:
4900 nop
4901 ta T_CHANGE_PRIV
4902 setx 0xfffff7e2fffffdf9, %g1, %g7
4903 .word 0xa3800007 ! 249: WR_PERF_COUNTER_R wr %r0, %r7, %-
4904 .word 0xe1bfe040 ! 250: STDFA_I stda %f16, [0x0040, %r31]
4905 .word 0xb1800011 ! 251: WR_STICK_REG_R wr %r0, %r17, %-
4906 .word 0x83d02032 ! 252: Tcc_I te icc_or_xcc, %r0 + 50
4907 .word 0xe1bfde00 ! 253: STDFA_R stda %f16, [%r0, %r31]
4908memptr_40_144:
4909 set user_data_start, %r31
4910 .word 0x858439c8 ! 254: WRCCR_I wr %r16, 0x19c8, %ccr
4911fpinit_40_145:
4912 setx fp_data_quads, %r19, %r20
4913 ldd [%r20], %f0
4914 ldd [%r20+8], %f4
4915 ld [%r20+16], %fsr
4916 ld [%r20+24], %r19
4917 wr %r19, %g0, %gsr
4918 .word 0x87a80a44 ! 255: FCMPd fcmpd %fcc<n>, %f0, %f4
4919 .word 0x8d902504 ! 256: WRPR_PSTATE_I wrpr %r0, 0x0504, %pstate
4920 .word 0xe527e0ac ! 257: STF_I st %f18, [0x00ac, %r31]
4921splash_lsu_40_147:
4922 nop
4923 ta T_CHANGE_HPRIV
4924 set 0xb729712f, %r2
4925 mov 0x7, %r1
4926 sllx %r1, 32, %r1
4927 or %r1, %r2, %r2
4928 stxa %r2, [%r0] ASI_LSU_CONTROL
4929 ta T_CHANGE_NONHPRIV
4930 .word 0x3d400001 ! 258: FBPULE fbule,a,pn %fcc0, <label_0x1>
4931 .word 0xe1bfd920 ! 259: STDFA_R stda %f16, [%r0, %r31]
4932mondo_40_148:
4933 nop
4934 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4935 ta T_CHANGE_PRIV
4936 stxa %r18, [%r0+0x3e0] %asi
4937 .word 0x9d950005 ! 260: WRPR_WSTATE_R wrpr %r20, %r5, %wstate
4938 .word 0xa7480000 ! 261: RDHPR_HPSTATE rdhpr %hpstate, %r19
4939brcommon_40_149:
4940 ba,a .+12
4941 mov %r31, %r15
4942 ba,a .+8
4943 call common_target
4944 .word 0xe4bfc034 ! 262: STDA_R stda %r18, [%r31 + %r20] 0x01
4945 .word 0x97a00161 ! 263: FABSq dis not found
4946
4947 .word 0x9bb18491 ! 264: FCMPLE32 fcmple32 %d6, %d48, %r13
4948 .word 0xe827e0f7 ! 265: STW_I stw %r20, [%r31 + 0x00f7]
4949 .word 0xe8cfe008 ! 266: LDSBA_I ldsba [%r31, + 0x0008] %asi, %r20
4950 .word 0xa5b444d0 ! 267: FCMPNE32 fcmpne32 %d48, %d16, %r18
4951memptr_40_150:
4952 set user_data_start, %r31
4953 .word 0x8582b9b6 ! 268: WRCCR_I wr %r10, 0x19b6, %ccr
4954splash_lsu_40_151:
4955 nop
4956 ta T_CHANGE_HPRIV
4957 set 0x42cc8f5a, %r2
4958 mov 0x4, %r1
4959 sllx %r1, 32, %r1
4960 or %r1, %r2, %r2
4961 stxa %r2, [%r0] ASI_LSU_CONTROL
4962 ta T_CHANGE_NONHPRIV
4963 .word 0x3d400001 ! 269: FBPULE fbule,a,pn %fcc0, <label_0x1>
4964 .word 0xd43fe006 ! 270: STD_I std %r10, [%r31 + 0x0006]
4965 .word 0xa7703475 ! 271: POPC_I popc 0x1475, %r19
4966 .word 0xab834002 ! 272: WR_CLEAR_SOFTINT_R wr %r13, %r2, %clear_softint
4967pmu_40_152:
4968 nop
4969 setx 0xfffff59bfffff1da, %g1, %g7
4970 .word 0xa3800007 ! 273: WR_PERF_COUNTER_R wr %r0, %r7, %-
4971dvapa_40_153:
4972 nop
4973 ta T_CHANGE_HPRIV
4974 mov 0x81e, %r20
4975 mov 0x19, %r19
4976 sllx %r20, 23, %r20
4977 or %r19, %r20, %r19
4978 stxa %r19, [%g0] ASI_LSU_CONTROL
4979 mov 0x38, %r18
4980 stxa %r31, [%r18]0x58
4981 ta T_CHANGE_NONHPRIV
4982 .word 0xe4bfc033 ! 274: STDA_R stda %r18, [%r31 + %r19] 0x01
4983 .word 0x87ad0a53 ! 275: FCMPd fcmpd %fcc<n>, %f20, %f50
4984jmptr_40_154:
4985 nop
4986 best_set_reg(0xe0200000, %r20, %r27)
4987 .word 0xb7c6c000 ! 276: JMPL_R jmpl %r27 + %r0, %r27
4988 .word 0xe19fd960 ! 277: LDDFA_R ldda [%r31, %r0], %f16
4989 .word 0x9f80236c ! 278: SIR sir 0x036c
4990 nop
4991 ta T_CHANGE_HPRIV
4992 mov 0x40, %r10
4993 set sync_thr_counter2, %r23
4994 cas [%r23],%g0,%r10 !lock
4995 brnz %r10, sma_40_155
4996 rd %asi, %r12
4997 wr %g0, 0x40, %asi
4998 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4999 set 0x00021fff, %g1
5000 stxa %g1, [%g0 + 0x80] %asi
5001 wr %r12, %g0, %asi
5002 st %g0, [%r23]
5003sma_40_155:
5004 ta T_CHANGE_NONHPRIV
5005 .word 0xdbe7e010 ! 279: CASA_R casa [%r31] %asi, %r16, %r13
5006splash_tba_40_156:
5007 ta T_CHANGE_PRIV
5008 set 0x120000, %r12
5009 .word 0x8b90000c ! 280: WRPR_TBA_R wrpr %r0, %r12, %tba
5010pmu_40_157:
5011 nop
5012 setx 0xfffff31ffffff480, %g1, %g7
5013 .word 0xa3800007 ! 281: WR_PERF_COUNTER_R wr %r0, %r7, %-
5014mondo_40_158:
5015 nop
5016 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5017 stxa %r19, [%r0+0x3e0] %asi
5018 .word 0x9d918012 ! 282: WRPR_WSTATE_R wrpr %r6, %r18, %wstate
5019 nop
5020 ta T_CHANGE_HPRIV
5021 mov 0x40+1, %r10
5022 set sync_thr_counter1, %r23
5023 cas [%r23],%g0,%r10 !lock
5024 brnz %r10, cwq_40_159
5025 rd %asi, %r12
5026 wr %g0, 0x40, %asi
5027 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
5028 and %l1, 0x3, %l1 ! Check if busy/enabled ..
5029 cmp %l1, 1
5030 bne cwq_40_159
5031 set CWQ_BASE, %l6
5032 best_set_reg(0x20610010, %l1, %l2) !# Control Word
5033 sllx %l2, 32, %l2
5034 stx %l2, [%l6 + 0x0]
5035 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
5036 sub %l2, 0x40, %l2
5037 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
5038 wr %r12, %g0, %asi
5039 st %g0, [%r23]
5040cwq_40_159:
5041 ta T_CHANGE_NONHPRIV
5042 .word 0x95414000 ! 283: RDPC rd %pc, %r10
5043 .word 0xa5a00174 ! 284: FABSq dis not found
5044
5045jmptr_40_160:
5046 nop
5047 best_set_reg(0xe0200000, %r20, %r27)
5048 .word 0xb7c6c000 ! 285: JMPL_R jmpl %r27 + %r0, %r27
5049intveclr_40_161:
5050 nop
5051 ta T_CHANGE_HPRIV
5052 setx 0x2da2c57a7b28f198, %r1, %r28
5053 stxa %r28, [%g0] 0x72
5054 .word 0x25400001 ! 286: FBPLG fblg,a,pn %fcc0, <label_0x1>
5055 .word 0x93b50492 ! 287: FCMPLE32 fcmple32 %d20, %d18, %r9
5056 .word 0x8d903bab ! 288: WRPR_PSTATE_I wrpr %r0, 0x1bab, %pstate
5057 nop
5058 ta T_CHANGE_HPRIV
5059 mov 0x40, %r10
5060 set sync_thr_counter2, %r23
5061 cas [%r23],%g0,%r10 !lock
5062 brnz %r10, sma_40_163
5063 rd %asi, %r12
5064 wr %g0, 0x40, %asi
5065 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
5066 set 0x00061fff, %g1
5067 stxa %g1, [%g0 + 0x80] %asi
5068 wr %r12, %g0, %asi
5069 st %g0, [%r23]
5070sma_40_163:
5071 ta T_CHANGE_NONHPRIV
5072 .word 0xe9e7e010 ! 289: CASA_R casa [%r31] %asi, %r16, %r20
5073 .word 0x9ba4c9c1 ! 290: FDIVd fdivd %f50, %f32, %f44
5074 .word 0x91928012 ! 291: WRPR_PIL_R wrpr %r10, %r18, %pil
5075 .word 0xe1bfd960 ! 292: STDFA_R stda %f16, [%r0, %r31]
5076donret_40_165:
5077 nop
5078 ta T_CHANGE_HPRIV ! macro
5079 rd %pc, %r12
5080 add %r12, (donretarg_40_165-donret_40_165-4), %r12
5081 mov 0x38, %r18
5082 stxa %r12, [%r18]0x58
5083 add %r12, 0x4, %r11
5084 wrpr %g0, 0x1, %tl
5085 wrpr %g0, %r12, %tpc
5086 wrpr %g0, %r11, %tnpc
5087 set (0x007734bf | (0x80 << 24)), %r13
5088 rdpr %tstate, %r16
5089 mov 0x1f, %r19
5090 and %r19, %r16, %r17
5091 andn %r16, %r19, %r16
5092 or %r16, %r17, %r20
5093 wrpr %r20, %g0, %tstate
5094 wrhpr %g0, 0x95c, %htstate
5095 ta T_CHANGE_NONPRIV ! rand=0 (40)
5096 .word 0x2d400001 ! 1: FBPG fbg,a,pn %fcc0, <label_0x1>
5097 done
5098donretarg_40_165:
5099 .word 0xd6ffe04c ! 293: SWAPA_I swapa %r11, [%r31 + 0x004c] %asi
5100br_longdelay1_40_166:
5101 .word 0x2a800001 ! 1: BCS bcs,a <label_0x1>
5102 .word 0xbfe7c000 ! 294: SAVE_R save %r31, %r0, %r31
5103 .word 0xe19fe080 ! 295: LDDFA_I ldda [%r31, 0x0080], %f16
5104 setx 0x1518a8bddf139943, %r1, %r28
5105 stxa %r28, [%g0] 0x73
5106intvec_40_167:
5107 .word 0x39400001 ! 296: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
5108intveclr_40_168:
5109 nop
5110 ta T_CHANGE_HPRIV
5111 setx 0xa01f7bd4327a2723, %r1, %r28
5112 stxa %r28, [%g0] 0x72
5113 ta T_CHANGE_NONHPRIV
5114 .word 0x25400001 ! 297: FBPLG fblg,a,pn %fcc0, <label_0x1>
5115 .word 0x26800001 ! 298: BL bl,a <label_0x1>
5116jmptr_40_169:
5117 nop
5118 best_set_reg(0xe0200000, %r20, %r27)
5119 .word 0xb7c6c000 ! 299: JMPL_R jmpl %r27 + %r0, %r27
5120 nop
5121 ta T_CHANGE_HPRIV
5122 mov 0x40, %r10
5123 set sync_thr_counter2, %r23
5124 cas [%r23],%g0,%r10 !lock
5125 brnz %r10, sma_40_170
5126 rd %asi, %r12
5127 wr %g0, 0x40, %asi
5128 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
5129 set 0x000e1fff, %g1
5130 stxa %g1, [%g0 + 0x80] %asi
5131 wr %r12, %g0, %asi
5132 st %g0, [%r23]
5133sma_40_170:
5134 ta T_CHANGE_NONHPRIV
5135 .word 0xd7e7e008 ! 300: CASA_R casa [%r31] %asi, %r8, %r11
5136 .word 0xd697e008 ! 301: LDUHA_I lduha [%r31, + 0x0008] %asi, %r11
5137 nop
5138 nop
5139 ta T_CHANGE_PRIV
5140 wrpr %g0, %g0, %gl
5141 nop
5142 nop
5143 setx join_lbl_0_0, %g1, %g2
5144 jmp %g2
5145 nop
5146fork_lbl_0_6:
5147 ta T_CHANGE_NONHPRIV
5148br_badelay3_20_0:
5149 .word 0x34800001 ! 1: BG bg,a <label_0x1>
5150 .word 0xe5499258 ! Random illegal ?
5151 .word 0xd3104003 ! 1: LDQF_R - [%r1, %r3], %f9
5152 .word 0x91a1c825 ! 1: FADDs fadds %f7, %f5, %f8
5153 nop
5154 ta T_CHANGE_HPRIV
5155 mov 0x20, %r10
5156 set sync_thr_counter2, %r23
5157 cas [%r23],%g0,%r10 !lock
5158 brnz %r10, sma_20_1
5159 rd %asi, %r12
5160 wr %g0, 0x40, %asi
5161 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
5162 set 0x000a1fff, %g1
5163 stxa %g1, [%g0 + 0x80] %asi
5164 wr %r12, %g0, %asi
5165 st %g0, [%r23]
5166sma_20_1:
5167 ta T_CHANGE_NONHPRIV
5168 .word 0xdbe7e012 ! 2: CASA_R casa [%r31] %asi, %r18, %r13
5169splash_hpstate_20_2:
5170 .word 0x2ecc0001 ! 1: BRGEZ brgez,a,pt %r16,<label_0xc0001>
5171 .word 0x81982ec7 ! 3: WRHPR_HPSTATE_I wrhpr %r0, 0x0ec7, %hpstate
5172 nop
5173 ta T_CHANGE_HPRIV
5174 mov 0x20, %r10
5175 set sync_thr_counter2, %r23
5176 cas [%r23],%g0,%r10 !lock
5177 brnz %r10, sma_20_3
5178 rd %asi, %r12
5179 wr %g0, 0x40, %asi
5180 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
5181 set 0x00161fff, %g1
5182 stxa %g1, [%g0 + 0x80] %asi
5183 wr %r12, %g0, %asi
5184 st %g0, [%r23]
5185sma_20_3:
5186 ta T_CHANGE_NONHPRIV
5187 .word 0xdbe7e012 ! 4: CASA_R casa [%r31] %asi, %r18, %r13
5188 .word 0x91d02032 ! 5: Tcc_I ta icc_or_xcc, %r0 + 50
5189jmptr_20_4:
5190 nop
5191 best_set_reg(0xe1a00000, %r20, %r27)
5192 .word 0xb7c6c000 ! 6: JMPL_R jmpl %r27 + %r0, %r27
5193 .word 0xdb27c000 ! 7: STF_R st %f13, [%r0, %r31]
5194 otherw
5195 mov 0xb5, %r30
5196 .word 0x83d0001e ! 8: Tcc_R te icc_or_xcc, %r0 + %r30
5197mondo_20_5:
5198 nop
5199 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5200 ta T_CHANGE_PRIV
5201 stxa %r18, [%r0+0x3d8] %asi
5202 .word 0x9d948014 ! 9: WRPR_WSTATE_R wrpr %r18, %r20, %wstate
5203 .word 0x91d02033 ! 10: Tcc_I ta icc_or_xcc, %r0 + 51
5204pmu_20_6:
5205 nop
5206 ta T_CHANGE_PRIV
5207 setx 0xfffff555fffff255, %g1, %g7
5208 .word 0xa3800007 ! 11: WR_PERF_COUNTER_R wr %r0, %r7, %-
5209memptr_20_7:
5210 set 0x60340000, %r31
5211 .word 0x8581ef0e ! 12: WRCCR_I wr %r7, 0x0f0e, %ccr
5212 nop
5213 ta T_CHANGE_HPRIV
5214 mov 0x20+1, %r10
5215 set sync_thr_counter1, %r23
5216 cas [%r23],%g0,%r10 !lock
5217 brnz %r10, cwq_20_8
5218 rd %asi, %r12
5219 wr %g0, 0x40, %asi
5220 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
5221 and %l1, 0x3, %l1 ! Check if busy/enabled ..
5222 cmp %l1, 1
5223 bne cwq_20_8
5224 set CWQ_BASE, %l6
5225 best_set_reg(0x20610030, %l1, %l2) !# Control Word
5226 sllx %l2, 32, %l2
5227 stx %l2, [%l6 + 0x0]
5228 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
5229 sub %l2, 0x40, %l2
5230 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
5231 wr %r12, %g0, %asi
5232 st %g0, [%r23]
5233cwq_20_8:
5234 ta T_CHANGE_NONHPRIV
5235 .word 0x95414000 ! 13: RDPC rd %pc, %r10
5236pmu_20_9:
5237 nop
5238 setx 0xfffffa09fffff4a0, %g1, %g7
5239 .word 0xa3800007 ! 14: WR_PERF_COUNTER_R wr %r0, %r7, %-
5240 nop
5241 ta T_CHANGE_HPRIV
5242 mov 0x20+1, %r10
5243 set sync_thr_counter1, %r23
5244 cas [%r23],%g0,%r10 !lock
5245 brnz %r10, cwq_20_10
5246 rd %asi, %r12
5247 wr %g0, 0x40, %asi
5248 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
5249 and %l1, 0x3, %l1 ! Check if busy/enabled ..
5250 cmp %l1, 1
5251 bne cwq_20_10
5252 set CWQ_BASE, %l6
5253 best_set_reg(0x206100c0, %l1, %l2) !# Control Word
5254 sllx %l2, 32, %l2
5255 stx %l2, [%l6 + 0x0]
5256 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
5257 sub %l2, 0x40, %l2
5258 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
5259 wr %r12, %g0, %asi
5260 st %g0, [%r23]
5261cwq_20_10:
5262 ta T_CHANGE_NONHPRIV
5263 .word 0x97414000 ! 15: RDPC rd %pc, %r11
5264mondo_20_11:
5265 nop
5266 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5267 ta T_CHANGE_PRIV
5268 stxa %r17, [%r0+0x3e8] %asi
5269 .word 0x9d948007 ! 16: WRPR_WSTATE_R wrpr %r18, %r7, %wstate
5270br_badelay3_20_12:
5271 .word 0x20800001 ! 1: BN bn,a <label_0x1>
5272 .word 0x99740445 ! Random illegal ?
5273 .word 0x99a00552 ! 1: FSQRTd fsqrt
5274 .word 0xa5a48831 ! 17: FADDs fadds %f18, %f17, %f18
5275dvapa_20_13:
5276 nop
5277 ta T_CHANGE_HPRIV
5278 mov 0xa85, %r20
5279 mov 0x11, %r19
5280 sllx %r20, 23, %r20
5281 or %r19, %r20, %r19
5282 stxa %r19, [%g0] ASI_LSU_CONTROL
5283 mov 0x38, %r18
5284 stxa %r31, [%r18]0x58
5285 ta T_CHANGE_NONHPRIV
5286 .word 0xd897c031 ! 18: LDUHA_R lduha [%r31, %r17] 0x01, %r12
5287tagged_20_14:
5288 tsubcctv %r13, 0x1a4b, %r19
5289 .word 0xd807e037 ! 19: LDUW_I lduw [%r31 + 0x0037], %r12
5290 .word 0xe1bfe0c0 ! 20: STDFA_I stda %f16, [0x00c0, %r31]
5291splash_hpstate_20_15:
5292 ta T_CHANGE_NONHPRIV
5293 .word 0x2ec84001 ! 1: BRGEZ brgez,a,pt %r1,<label_0x84001>
5294 .word 0x819829bf ! 21: WRHPR_HPSTATE_I wrhpr %r0, 0x09bf, %hpstate
5295 .word 0xd8d7e030 ! 22: LDSHA_I ldsha [%r31, + 0x0030] %asi, %r12
5296intveclr_20_16:
5297 nop
5298 ta T_CHANGE_HPRIV
5299 setx 0xbeb8789b5a475fad, %r1, %r28
5300 stxa %r28, [%g0] 0x72
5301 .word 0x25400001 ! 23: FBPLG fblg,a,pn %fcc0, <label_0x1>
5302 nop
5303 ta T_CHANGE_HPRIV
5304 mov 0x20+1, %r10
5305 set sync_thr_counter1, %r23
5306 cas [%r23],%g0,%r10 !lock
5307 brnz %r10, cwq_20_17
5308 rd %asi, %r12
5309 wr %g0, 0x40, %asi
5310 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
5311 and %l1, 0x3, %l1 ! Check if busy/enabled ..
5312 cmp %l1, 1
5313 bne cwq_20_17
5314 set CWQ_BASE, %l6
5315 best_set_reg(0x206100e0, %l1, %l2) !# Control Word
5316 sllx %l2, 32, %l2
5317 stx %l2, [%l6 + 0x0]
5318 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
5319 sub %l2, 0x40, %l2
5320 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
5321 wr %r12, %g0, %asi
5322 st %g0, [%r23]
5323cwq_20_17:
5324 ta T_CHANGE_NONHPRIV
5325 .word 0x91414000 ! 24: RDPC rd %pc, %r8
5326splash_htba_20_18:
5327 nop
5328 ta T_CHANGE_HPRIV
5329 setx 0x00000002002a0000, %r11, %r12
5330 .word 0x8b98000c ! 25: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
5331br_longdelay2_20_19:
5332 .word 0x2acc4001 ! 1: BRNZ brnz,a,pt %r17,<label_0xc4001>
5333 .word 0x24c94001 ! 26: BRLEZ brlez,a,pt %r5,<label_0x94001>
5334br_longdelay1_20_20:
5335 .word 0x29400001 ! 1: FBPL fbl,a,pn %fcc0, <label_0x1>
5336 .word 0xbfefc000 ! 27: RESTORE_R restore %r31, %r0, %r31
5337 .word 0xb1800011 ! 28: WR_STICK_REG_R wr %r0, %r17, %-
5338 .word 0xa9b0c4c4 ! 29: FCMPNE32 fcmpne32 %d34, %d4, %r20
5339 .word 0x91d02035 ! 30: Tcc_I ta icc_or_xcc, %r0 + 53
5340splash_tba_20_21:
5341 ta T_CHANGE_PRIV
5342 setx 0x00000004003a0000, %r11, %r12
5343 .word 0x8b90000c ! 31: WRPR_TBA_R wrpr %r0, %r12, %tba
5344mondo_20_22:
5345 nop
5346 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5347 ta T_CHANGE_PRIV
5348 stxa %r4, [%r0+0x3c0] %asi
5349 .word 0x9d94c014 ! 32: WRPR_WSTATE_R wrpr %r19, %r20, %wstate
5350 .word 0x20700001 ! 33: BPN <illegal instruction>
5351 .word 0x91923285 ! 34: WRPR_PIL_I wrpr %r8, 0x1285, %pil
5352 .word 0x83d020b5 ! 35: Tcc_I te icc_or_xcc, %r0 + 181
5353 .word 0x9f8035b9 ! 36: SIR sir 0x15b9
5354 nop
5355 ta T_CHANGE_HPRIV
5356 mov 0x20+1, %r10
5357 set sync_thr_counter1, %r23
5358 cas [%r23],%g0,%r10 !lock
5359 brnz %r10, cwq_20_23
5360 rd %asi, %r12
5361 wr %g0, 0x40, %asi
5362 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
5363 and %l1, 0x3, %l1 ! Check if busy/enabled ..
5364 cmp %l1, 1
5365 bne cwq_20_23
5366 set CWQ_BASE, %l6
5367 best_set_reg(0x20610060, %l1, %l2) !# Control Word
5368 sllx %l2, 32, %l2
5369 stx %l2, [%l6 + 0x0]
5370 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
5371 sub %l2, 0x40, %l2
5372 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
5373 wr %r12, %g0, %asi
5374 st %g0, [%r23]
5375cwq_20_23:
5376 ta T_CHANGE_NONHPRIV
5377 .word 0xa9414000 ! 37: RDPC rd %pc, %r20
5378 nop
5379 ta T_CHANGE_HPRIV
5380 mov 0x20+1, %r10
5381 set sync_thr_counter1, %r23
5382 cas [%r23],%g0,%r10 !lock
5383 brnz %r10, cwq_20_24
5384 rd %asi, %r12
5385 wr %g0, 0x40, %asi
5386 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
5387 and %l1, 0x3, %l1 ! Check if busy/enabled ..
5388 cmp %l1, 1
5389 bne cwq_20_24
5390 set CWQ_BASE, %l6
5391 best_set_reg(0x206100c0, %l1, %l2) !# Control Word
5392 sllx %l2, 32, %l2
5393 stx %l2, [%l6 + 0x0]
5394 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
5395 sub %l2, 0x40, %l2
5396 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
5397 wr %r12, %g0, %asi
5398 st %g0, [%r23]
5399cwq_20_24:
5400 ta T_CHANGE_NONHPRIV
5401 .word 0xa7414000 ! 38: RDPC rd %pc, %r19
5402jmptr_20_25:
5403 nop
5404 best_set_reg(0xe1a00000, %r20, %r27)
5405 .word 0xb7c6c000 ! 39: JMPL_R jmpl %r27 + %r0, %r27
5406ibp_20_26:
5407 nop
5408 ta T_CHANGE_HPRIV
5409 .word 0xd0dfc022 ! 40: LDXA_R ldxa [%r31, %r2] 0x01, %r8
5410 setx 0x39cb7d4a16fd2a9b, %r1, %r28
5411 stxa %r28, [%g0] 0x73
5412intvec_20_27:
5413 .word 0x39400001 ! 41: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
5414 .word 0x8d903306 ! 42: WRPR_PSTATE_I wrpr %r0, 0x1306, %pstate
5415 .word 0xd06fe0fb ! 43: LDSTUB_I ldstub %r8, [%r31 + 0x00fb]
5416trapasi_20_29:
5417mov 0x28, %r1 ! (VA for ASI 0x5b)
5418 .word 0xd0d04b60 ! 44: LDSHA_R ldsha [%r1, %r0] 0x5b, %r8
5419 nop
5420 ta T_CHANGE_HPRIV
5421 mov 0x20+1, %r10
5422 set sync_thr_counter1, %r23
5423 cas [%r23],%g0,%r10 !lock
5424 brnz %r10, cwq_20_30
5425 rd %asi, %r12
5426 wr %g0, 0x40, %asi
5427 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
5428 and %l1, 0x3, %l1 ! Check if busy/enabled ..
5429 cmp %l1, 1
5430 bne cwq_20_30
5431 set CWQ_BASE, %l6
5432 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
5433 sllx %l2, 32, %l2
5434 stx %l2, [%l6 + 0x0]
5435 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
5436 sub %l2, 0x40, %l2
5437 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
5438 wr %r12, %g0, %asi
5439 st %g0, [%r23]
5440cwq_20_30:
5441 ta T_CHANGE_NONHPRIV
5442 .word 0x99414000 ! 45: RDPC rd %pc, %r12
5443fpinit_20_31:
5444 setx fp_data_quads, %r19, %r20
5445 ldd [%r20], %f0
5446 ldd [%r20+8], %f4
5447 ld [%r20+16], %fsr
5448 ld [%r20+24], %r19
5449 wr %r19, %g0, %gsr
5450 .word 0x8da009a4 ! 46: FDIVs fdivs %f0, %f4, %f6
5451memptr_20_32:
5452 set 0x60340000, %r31
5453 .word 0x8584a933 ! 47: WRCCR_I wr %r18, 0x0933, %ccr
5454mondo_20_33:
5455 nop
5456 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5457 stxa %r6, [%r0+0x3e8] %asi
5458 .word 0x9d950008 ! 48: WRPR_WSTATE_R wrpr %r20, %r8, %wstate
5459 .word 0x91918002 ! 49: WRPR_PIL_R wrpr %r6, %r2, %pil
5460 nop
5461 ta T_CHANGE_HPRIV
5462 mov 0x20, %r10
5463 set sync_thr_counter2, %r23
5464 cas [%r23],%g0,%r10 !lock
5465 brnz %r10, sma_20_35
5466 rd %asi, %r12
5467 wr %g0, 0x40, %asi
5468 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
5469 set 0x001e1fff, %g1
5470 stxa %g1, [%g0 + 0x80] %asi
5471 wr %r12, %g0, %asi
5472 st %g0, [%r23]
5473sma_20_35:
5474 ta T_CHANGE_NONHPRIV
5475 .word 0xd9e7e009 ! 50: CASA_R casa [%r31] %asi, %r9, %r12
5476donret_20_36:
5477 nop
5478 ta T_CHANGE_HPRIV ! macro
5479 rd %pc, %r12
5480 add %r12, (donretarg_20_36-donret_20_36-8), %r12
5481 mov 0x38, %r18
5482 stxa %r12, [%r18]0x58
5483 add %r12, 0x4, %r11
5484 wrpr %g0, 0x1, %tl
5485 wrpr %g0, %r12, %tpc
5486 wrpr %g0, %r11, %tnpc
5487 set (0x00207b1d | (22 << 24)), %r13
5488 rdpr %tstate, %r16
5489 mov 0x1f, %r19
5490 and %r19, %r16, %r17
5491 andn %r16, %r19, %r16
5492 or %r16, %r17, %r20
5493 wrpr %r20, %g0, %tstate
5494 wrhpr %g0, 0xedc, %htstate
5495 ta T_CHANGE_NONHPRIV ! rand=1 (20)
5496 .word 0x3c800001 ! 1: BPOS bpos,a <label_0x1>
5497 retry
5498donretarg_20_36:
5499 .word 0xd8ffe0dc ! 51: SWAPA_I swapa %r12, [%r31 + 0x00dc] %asi
5500 nop
5501 ta T_CHANGE_HPRIV
5502 mov 0x20+1, %r10
5503 set sync_thr_counter1, %r23
5504 cas [%r23],%g0,%r10 !lock
5505 brnz %r10, cwq_20_37
5506 rd %asi, %r12
5507 wr %g0, 0x40, %asi
5508 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
5509 and %l1, 0x3, %l1 ! Check if busy/enabled ..
5510 cmp %l1, 1
5511 bne cwq_20_37
5512 set CWQ_BASE, %l6
5513 best_set_reg(0x206100a0, %l1, %l2) !# Control Word
5514 sllx %l2, 32, %l2
5515 stx %l2, [%l6 + 0x0]
5516 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
5517 sub %l2, 0x40, %l2
5518 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
5519 wr %r12, %g0, %asi
5520 st %g0, [%r23]
5521cwq_20_37:
5522 ta T_CHANGE_NONHPRIV
5523 .word 0xa7414000 ! 52: RDPC rd %pc, %r19
5524mondo_20_38:
5525 nop
5526 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5527 ta T_CHANGE_PRIV
5528 stxa %r7, [%r0+0x3d0] %asi
5529 .word 0x9d940014 ! 53: WRPR_WSTATE_R wrpr %r16, %r20, %wstate
5530 setx 0xd2ca19d28d06c48f, %r1, %r28
5531 stxa %r28, [%g0] 0x73
5532intvec_20_39:
5533 .word 0x39400001 ! 54: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
5534 nop
5535 ta T_CHANGE_HPRIV
5536 mov 0x20+1, %r10
5537 set sync_thr_counter1, %r23
5538 cas [%r23],%g0,%r10 !lock
5539 brnz %r10, cwq_20_40
5540 rd %asi, %r12
5541 wr %g0, 0x40, %asi
5542 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
5543 and %l1, 0x3, %l1 ! Check if busy/enabled ..
5544 cmp %l1, 1
5545 bne cwq_20_40
5546 set CWQ_BASE, %l6
5547 best_set_reg(0x20610030, %l1, %l2) !# Control Word
5548 sllx %l2, 32, %l2
5549 stx %l2, [%l6 + 0x0]
5550 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
5551 sub %l2, 0x40, %l2
5552 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
5553 wr %r12, %g0, %asi
5554 st %g0, [%r23]
5555cwq_20_40:
5556 ta T_CHANGE_NONHPRIV
5557 .word 0xa9414000 ! 55: RDPC rd %pc, %r20
5558 .word 0x93a489cd ! 56: FDIVd fdivd %f18, %f44, %f40
5559 .word 0xa7480000 ! 57: RDHPR_HPSTATE rdhpr %hpstate, %r19
5560 .word 0xa1702f80 ! 58: POPC_I popc 0x0f80, %r16
5561fpinit_20_41:
5562 setx fp_data_quads, %r19, %r20
5563 ldd [%r20], %f0
5564 ldd [%r20+8], %f4
5565 ld [%r20+16], %fsr
5566 ld [%r20+24], %r19
5567 wr %r19, %g0, %gsr
5568 .word 0x87a80a44 ! 59: FCMPd fcmpd %fcc<n>, %f0, %f4
5569 .word 0x9f802844 ! 60: SIR sir 0x0844
5570 nop
5571 ta T_CHANGE_HPRIV
5572 mov 0x20, %r10
5573 set sync_thr_counter2, %r23
5574 cas [%r23],%g0,%r10 !lock
5575 brnz %r10, sma_20_42
5576 rd %asi, %r12
5577 wr %g0, 0x40, %asi
5578 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
5579 set 0x001a1fff, %g1
5580 stxa %g1, [%g0 + 0x80] %asi
5581 wr %r12, %g0, %asi
5582 st %g0, [%r23]
5583sma_20_42:
5584 ta T_CHANGE_NONHPRIV
5585 .word 0xd9e7e002 ! 61: CASA_R casa [%r31] %asi, %r2, %r12
5586br_badelay2_20_43:
5587 .word 0x34800001 ! 1: BG bg,a <label_0x1>
5588 pdist %f4, %f8, %f14
5589 .word 0xa9b44301 ! 62: ALIGNADDRESS alignaddr %r17, %r1, %r20
5590 .word 0x8d802004 ! 63: WRFPRS_I wr %r0, 0x0004, %fprs
5591br_longdelay1_20_44:
5592 .word 0x26800001 ! 1: BL bl,a <label_0x1>
5593 .word 0x9d97c000 ! 64: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
5594 setx 0xf25fb57fcca387fe, %r1, %r28
5595 stxa %r28, [%g0] 0x73
5596intvec_20_45:
5597 .word 0x39400001 ! 65: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
5598 .word 0xe53fc000 ! 66: STDF_R std %f18, [%r0, %r31]
5599vahole_20_46:
5600 nop
5601 ta T_CHANGE_NONHPRIV
5602 setx vahole_target, %r18, %r27
5603 jmpl %r27+0, %r27
5604 .word 0xe5e7e00d ! 67: CASA_R casa [%r31] %asi, %r13, %r18
5605 nop
5606 ta T_CHANGE_HPRIV
5607 mov 0x20+1, %r10
5608 set sync_thr_counter1, %r23
5609 cas [%r23],%g0,%r10 !lock
5610 brnz %r10, cwq_20_47
5611 rd %asi, %r12
5612 wr %g0, 0x40, %asi
5613 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
5614 and %l1, 0x3, %l1 ! Check if busy/enabled ..
5615 cmp %l1, 1
5616 bne cwq_20_47
5617 set CWQ_BASE, %l6
5618 best_set_reg(0x206100f0, %l1, %l2) !# Control Word
5619 sllx %l2, 32, %l2
5620 stx %l2, [%l6 + 0x0]
5621 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
5622 sub %l2, 0x40, %l2
5623 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
5624 wr %r12, %g0, %asi
5625 st %g0, [%r23]
5626cwq_20_47:
5627 ta T_CHANGE_NONHPRIV
5628 .word 0xa5414000 ! 68: RDPC rd %pc, %r18
5629 .word 0xb1800011 ! 69: WR_STICK_REG_R wr %r0, %r17, %-
5630splash_hpstate_20_48:
5631 .word 0x34800001 ! 1: BG bg,a <label_0x1>
5632 .word 0x81982dfe ! 70: WRHPR_HPSTATE_I wrhpr %r0, 0x0dfe, %hpstate
5633intveclr_20_49:
5634 nop
5635 ta T_CHANGE_HPRIV
5636 setx 0x3a86d959db3e642c, %r1, %r28
5637 stxa %r28, [%g0] 0x72
5638 .word 0x25400001 ! 71: FBPLG fblg,a,pn %fcc0, <label_0x1>
5639 .word 0xe03fe0c8 ! 72: STD_I std %r16, [%r31 + 0x00c8]
5640splash_lsu_20_50:
5641 nop
5642 ta T_CHANGE_HPRIV
5643 set 0x9a0f5669, %r2
5644 mov 0x4, %r1
5645 sllx %r1, 32, %r1
5646 or %r1, %r2, %r2
5647 stxa %r2, [%r0] ASI_LSU_CONTROL
5648 .word 0x3d400001 ! 73: FBPULE fbule,a,pn %fcc0, <label_0x1>
5649 .word 0xe137e0f8 ! 74: STQF_I - %f16, [0x00f8, %r31]
5650 .word 0xe1bfe060 ! 75: STDFA_I stda %f16, [0x0060, %r31]
5651 .word 0xe057e030 ! 76: LDSH_I ldsh [%r31 + 0x0030], %r16
5652splash_cmpr_20_51:
5653 nop
5654 setx 0x8e465bd79bb593be, %l2, %l1
5655 ta T_CHANGE_PRIV
5656 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
5657 ta T_CHANGE_NONPRIV
5658 sub %l1, 40, %g1
5659 .word 0x89900011 ! 77: WRPR_TICK_R wrpr %r0, %r17, %tick
5660splash_lsu_20_52:
5661 nop
5662 ta T_CHANGE_HPRIV
5663 set 0x3b7d1b7b, %r2
5664 mov 0x4, %r1
5665 sllx %r1, 32, %r1
5666 or %r1, %r2, %r2
5667 stxa %r2, [%r0] ASI_LSU_CONTROL
5668 ta T_CHANGE_NONHPRIV
5669 .word 0x3d400001 ! 78: FBPULE fbule,a,pn %fcc0, <label_0x1>
5670br_badelay2_20_53:
5671 .word 0x20800001 ! 1: BN bn,a <label_0x1>
5672 pdist %f20, %f26, %f18
5673 .word 0x91b40309 ! 79: ALIGNADDRESS alignaddr %r16, %r9, %r8
5674 .word 0xe19fda00 ! 80: LDDFA_R ldda [%r31, %r0], %f16
5675splash_cmpr_20_54:
5676 nop
5677 setx 0x50787d507ee84873, %l2, %l1
5678 ta T_CHANGE_HPRIV
5679 wrhpr %l1, %g0, %hsys_tick_cmpr
5680 sub %l1, 40, %g1
5681 .word 0x89900011 ! 81: WRPR_TICK_R wrpr %r0, %r17, %tick
5682 .word 0x97a00172 ! 82: FABSq dis not found
5683
5684vahole_20_55:
5685 nop
5686 ta T_CHANGE_NONHPRIV
5687 setx vahole_target, %r18, %r27
5688 jmpl %r27+0, %r27
5689 .word 0xda9fc022 ! 83: LDDA_R ldda [%r31, %r2] 0x01, %r13
5690vahole_20_56:
5691 nop
5692 ta T_CHANGE_NONHPRIV
5693 setx vahole_target, %r18, %r27
5694 jmpl %r27+0, %r27
5695 .word 0xdbe7e002 ! 84: CASA_R casa [%r31] %asi, %r2, %r13
5696invtsb_20_57:
5697 nop
5698 ta T_CHANGE_HPRIV
5699 rd %asi, %r21
5700 wr %r0,ASI_MMU_REAL_RANGE, %asi
5701 mov 1, %r20
5702 sllx %r20, 63, %r20
5703 ldxa [ASI_MMU_REAL_RANGE_0] %asi, %r22
5704 xor %r22 ,%r20, %r22
5705 stxa %r22, [ASI_MMU_REAL_RANGE_0] %asi
5706 ldxa [ASI_MMU_REAL_RANGE_1] %asi, %r22
5707 xor %r22 ,%r20, %r22
5708 stxa %r22, [ASI_MMU_REAL_RANGE_1] %asi
5709 ldxa [ASI_MMU_REAL_RANGE_2] %asi, %r22
5710 xor %r22 ,%r20, %r22
5711 stxa %r22, [ASI_MMU_REAL_RANGE_2] %asi
5712 ldxa [ASI_MMU_REAL_RANGE_3] %asi, %r22
5713 xor %r22 ,%r20, %r22
5714 stxa %r22, [ASI_MMU_REAL_RANGE_3] %asi
5715 wr %r21, %r0, %asi
5716 ta T_CHANGE_NONHPRIV
5717 .word 0x29800001 ! 85: FBL fbl,a <label_0x1>
5718memptr_20_58:
5719 set 0x60140000, %r31
5720 .word 0x8584fb9b ! 86: WRCCR_I wr %r19, 0x1b9b, %ccr
5721 .word 0x91912df7 ! 87: WRPR_PIL_I wrpr %r4, 0x0df7, %pil
5722 .word 0x91d02032 ! 88: Tcc_I ta icc_or_xcc, %r0 + 50
5723splash_tba_20_59:
5724 ta T_CHANGE_PRIV
5725 setx 0x00000004003a0000, %r11, %r12
5726 .word 0x8b90000c ! 89: WRPR_TBA_R wrpr %r0, %r12, %tba
5727 .word 0xc1bfe0c0 ! 90: STDFA_I stda %f0, [0x00c0, %r31]
5728 .word 0x9f8025be ! 91: SIR sir 0x05be
5729 .word 0xda6fe003 ! 92: LDSTUB_I ldstub %r13, [%r31 + 0x0003]
5730 .word 0xda47e010 ! 93: LDSW_I ldsw [%r31 + 0x0010], %r13
5731br_longdelay1_20_60:
5732 .word 0x22c94001 ! 1: BRZ brz,a,pt %r5,<label_0x94001>
5733 .word 0x9d97c000 ! 94: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
5734 fbne,a,pn %fcc0, skip_20_61
5735 .word 0x9f803811 ! 1: SIR sir 0x1811
5736.align 32
5737skip_20_61:
5738 .word 0xc36fe046 ! 95: PREFETCH_I prefetch [%r31 + 0x0046], #one_read
5739jmptr_20_62:
5740 nop
5741 best_set_reg(0xe1a00000, %r20, %r27)
5742 .word 0xb7c6c000 ! 96: JMPL_R jmpl %r27 + %r0, %r27
5743br_badelay2_20_63:
5744 .word 0x22800001 ! 1: BE be,a <label_0x1>
5745 allclean
5746 .word 0x91b30311 ! 97: ALIGNADDRESS alignaddr %r12, %r17, %r8
5747mondo_20_64:
5748 nop
5749 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5750 ta T_CHANGE_PRIV
5751 stxa %r1, [%r0+0x3c0] %asi
5752 .word 0x9d90c009 ! 98: WRPR_WSTATE_R wrpr %r3, %r9, %wstate
5753 .word 0xc1bfe000 ! 99: STDFA_I stda %f0, [0x0000, %r31]
5754 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
5755reduce_priv_lvl_20_65:
5756 ta T_CHANGE_NONHPRIV ! macro
5757intveclr_20_66:
5758 nop
5759 ta T_CHANGE_HPRIV
5760 setx 0xd4b8cfd38cd5adf1, %r1, %r28
5761 stxa %r28, [%g0] 0x72
5762 .word 0x25400001 ! 101: FBPLG fblg,a,pn %fcc0, <label_0x1>
5763dvapa_20_67:
5764 nop
5765 ta T_CHANGE_HPRIV
5766 mov 0x992, %r20
5767 mov 0x4, %r19
5768 sllx %r20, 23, %r20
5769 or %r19, %r20, %r19
5770 stxa %r19, [%g0] ASI_LSU_CONTROL
5771 mov 0x38, %r18
5772 stxa %r31, [%r18]0x58
5773 ta T_CHANGE_NONHPRIV
5774 .word 0xdb3fc009 ! 102: STDF_R std %f13, [%r9, %r31]
5775trapasi_20_68:
5776mov 0x0, %r1 ! (VA for ASI 0x5b)
5777 .word 0xdac84e40 ! 103: LDSBA_R ldsba [%r1, %r0] 0x72, %r13
5778 .word 0xc19fdc00 ! 104: LDDFA_R ldda [%r31, %r0], %f0
5779brcommon_20_69:
5780 ba,a .+12
5781 mov %r31, %r15
5782 ba,a .+8
5783 call common_target
5784 .word 0xdabfc029 ! 105: STDA_R stda %r13, [%r31 + %r9] 0x01
5785mondo_20_70:
5786 nop
5787 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5788 ta T_CHANGE_PRIV
5789 stxa %r19, [%r0+0x3c8] %asi
5790 .word 0x9d914012 ! 106: WRPR_WSTATE_R wrpr %r5, %r18, %wstate
5791 nop
5792 ta T_CHANGE_HPRIV
5793 mov 0x20, %r10
5794 set sync_thr_counter2, %r23
5795 cas [%r23],%g0,%r10 !lock
5796 brnz %r10, sma_20_71
5797 rd %asi, %r12
5798 wr %g0, 0x40, %asi
5799 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
5800 set 0x00121fff, %g1
5801 stxa %g1, [%g0 + 0x80] %asi
5802 wr %r12, %g0, %asi
5803 st %g0, [%r23]
5804sma_20_71:
5805 ta T_CHANGE_NONHPRIV
5806 .word 0xdbe7e010 ! 107: CASA_R casa [%r31] %asi, %r16, %r13
5807 .word 0xdb27e0c1 ! 108: STF_I st %f13, [0x00c1, %r31]
5808vahole_20_72:
5809 nop
5810 ta T_CHANGE_NONHPRIV
5811 setx vahole_target, %r18, %r27
5812 jmpl %r27+0, %r27
5813 .word 0xda3ff34b ! 109: STD_I std %r13, [%r31 + 0xfffff34b]
5814 .word 0xa5a0c9b0 ! 110: FDIVs fdivs %f3, %f16, %f18
5815change_to_randtl_20_73:
5816 ta T_CHANGE_HPRIV ! macro
5817done_change_to_randtl_20_73:
5818 .word 0x8f902001 ! 111: WRPR_TL_I wrpr %r0, 0x0001, %tl
5819 .word 0xd20fe018 ! 112: LDUB_I ldub [%r31 + 0x0018], %r9
5820splash_lsu_20_74:
5821 nop
5822 ta T_CHANGE_HPRIV
5823 set 0xd4b03e70, %r2
5824 mov 0x6, %r1
5825 sllx %r1, 32, %r1
5826 or %r1, %r2, %r2
5827 stxa %r2, [%r0] ASI_LSU_CONTROL
5828 .word 0x3d400001 ! 113: FBPULE fbule,a,pn %fcc0, <label_0x1>
5829br_longdelay2_20_75:
5830 .word 0x2acc0001 ! 1: BRNZ brnz,a,pt %r16,<label_0xc0001>
5831 .word 0xe03c0013 ! 114: STD_R std %r16, [%r16 + %r19]
5832 .word 0xb1800011 ! 115: WR_STICK_REG_R wr %r0, %r17, %-
5833ibp_20_76:
5834 nop
5835 ta T_CHANGE_HPRIV
5836 .word 0xe11fc001 ! 116: LDDF_R ldd [%r31, %r1], %f16
5837change_to_randtl_20_77:
5838 ta T_CHANGE_HPRIV ! macro
5839done_change_to_randtl_20_77:
5840 .word 0x8f902000 ! 117: WRPR_TL_I wrpr %r0, 0x0000, %tl
5841!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_20_78) + 0, 16, 16)) -> intp(1,0,16)
5842!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_20_78)&0xffffffff) + 0, 16, 16)) -> intp(1,0,16)
5843intvec_20_78:
5844 .word 0x39400001 ! 118: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
5845 .word 0x9194c00c ! 119: WRPR_PIL_R wrpr %r19, %r12, %pil
5846 .word 0x9f803364 ! 120: SIR sir 0x1364
5847 .word 0xc1bfe0c0 ! 121: STDFA_I stda %f0, [0x00c0, %r31]
5848 nop
5849 ta T_CHANGE_HPRIV
5850 mov 0x20, %r10
5851 set sync_thr_counter2, %r23
5852 cas [%r23],%g0,%r10 !lock
5853 brnz %r10, sma_20_80
5854 rd %asi, %r12
5855 wr %g0, 0x40, %asi
5856 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
5857 set 0x000e1fff, %g1
5858 stxa %g1, [%g0 + 0x80] %asi
5859 wr %r12, %g0, %asi
5860 st %g0, [%r23]
5861sma_20_80:
5862 ta T_CHANGE_NONHPRIV
5863 .word 0xd9e7e011 ! 122: CASA_R casa [%r31] %asi, %r17, %r12
5864 .word 0xd88fe038 ! 123: LDUBA_I lduba [%r31, + 0x0038] %asi, %r12
5865 nop
5866 ta T_CHANGE_HPRIV
5867 mov 0x20+1, %r10
5868 set sync_thr_counter1, %r23
5869 cas [%r23],%g0,%r10 !lock
5870 brnz %r10, cwq_20_81
5871 rd %asi, %r12
5872 wr %g0, 0x40, %asi
5873 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
5874 and %l1, 0x3, %l1 ! Check if busy/enabled ..
5875 cmp %l1, 1
5876 bne cwq_20_81
5877 set CWQ_BASE, %l6
5878 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
5879 sllx %l2, 32, %l2
5880 stx %l2, [%l6 + 0x0]
5881 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
5882 sub %l2, 0x40, %l2
5883 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
5884 wr %r12, %g0, %asi
5885 st %g0, [%r23]
5886cwq_20_81:
5887 ta T_CHANGE_NONHPRIV
5888 .word 0xa9414000 ! 124: RDPC rd %pc, %r20
5889fpinit_20_82:
5890 setx fp_data_quads, %r19, %r20
5891 ldd [%r20], %f0
5892 ldd [%r20+8], %f4
5893 ld [%r20+16], %fsr
5894 ld [%r20+24], %r19
5895 wr %r19, %g0, %gsr
5896 .word 0x87a80a44 ! 125: FCMPd fcmpd %fcc<n>, %f0, %f4
5897 .word 0xb1800011 ! 126: WR_STICK_REG_R wr %r0, %r17, %-
5898 .word 0xe6dfc031 ! 127: LDXA_R ldxa [%r31, %r17] 0x01, %r19
5899 .word 0xe737e078 ! 128: STQF_I - %f19, [0x0078, %r31]
5900 .word 0x33400001 ! 1: FBPE fbe,a,pn %fcc0, <label_0x1>
5901 .word 0x8d903006 ! 129: WRPR_PSTATE_I wrpr %r0, 0x1006, %pstate
5902trapasi_20_85:
5903mov 0x28, %r1 ! (VA for ASI 0x4c)
5904 .word 0xe6c84a00 ! 130: LDSBA_R ldsba [%r1, %r0] 0x50, %r19
5905!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_20_86) + 40, 16, 16)) -> intp(3,0,13)
5906!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_20_86)&0xffffffff) + 40, 16, 16)) -> intp(3,0,13)
5907intvec_20_86:
5908 .word 0x39400001 ! 131: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
5909mondo_20_87:
5910 nop
5911 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5912 stxa %r6, [%r0+0x3d0] %asi
5913 .word 0x9d91800c ! 132: WRPR_WSTATE_R wrpr %r6, %r12, %wstate
5914splash_hpstate_20_88:
5915 .word 0x81982dcd ! 133: WRHPR_HPSTATE_I wrhpr %r0, 0x0dcd, %hpstate
5916 .word 0xe19fe0e0 ! 134: LDDFA_I ldda [%r31, 0x00e0], %f16
5917 .word 0xc3ec0030 ! 135: PREFETCHA_R prefetcha [%r16, %r16] 0x01, #one_read
5918unsupttte_20_89:
5919 nop
5920 ta T_CHANGE_HPRIV
5921 mov 1, %r20
5922 sllx %r20, 63, %r20
5923 or %r20, 2,%r20
5924 stxa %r20, [%g0]0x54 ! I unsupported page size ..
5925 ta T_CHANGE_NONHPRIV
5926 .word 0x87ac8a52 ! 136: FCMPd fcmpd %fcc<n>, %f18, %f18
5927 invalw
5928 mov 0xb5, %r30
5929 .word 0x91d0001e ! 137: Tcc_R ta icc_or_xcc, %r0 + %r30
5930br_longdelay3_20_90:
5931 nop
5932 not %g0, %r12
5933 jmp %r12
5934 .word 0x99902002 ! 138: WRPR_CLEANWIN_I wrpr %r0, 0x0002, %cleanwin
5935fpinit_20_91:
5936 setx fp_data_quads, %r19, %r20
5937 ldd [%r20], %f0
5938 ldd [%r20+8], %f4
5939 ld [%r20+16], %fsr
5940 ld [%r20+24], %r19
5941 wr %r19, %g0, %gsr
5942 .word 0x8da009a4 ! 139: FDIVs fdivs %f0, %f4, %f6
5943 .word 0xa5a289b0 ! 140: FDIVs fdivs %f10, %f16, %f18
5944 ta T_CHANGE_NONPRIV ! macro
5945 .word 0x30800001 ! 1: BA ba,a <label_0x1>
5946 .word 0x8d902a75 ! 142: WRPR_PSTATE_I wrpr %r0, 0x0a75, %pstate
5947tglhtw_20_93:
5948 nop
5949 rd %asi, %l3 ! save %asi
5950 ta T_CHANGE_HPRIV
5951 wr %g0, ASI_MMU_ZERO_CONTEXT_TSB_CONFIG, %asi
5952 mov 1, %l2
5953 sllx %l2, 63, %l2
5954 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
5955 xor %l4, %l2, %l4
5956 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi
5957 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
5958 xor %l4, %l2, %l4
5959 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi
5960 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
5961 xor %l4, %l2, %l4
5962 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi
5963 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
5964 xor %l4, %l2, %l4
5965 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi
5966 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
5967 xor %l4, %l2, %l4
5968 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi
5969 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
5970 xor %l4, %l2, %l4
5971 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi
5972 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
5973 xor %l4, %l2, %l4
5974 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi
5975 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
5976 xor %l4, %l2, %l4
5977 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi
5978 ta T_CHANGE_NONHPRIV
5979 wr %g0, %l3, %asi !restore %asi
5980 .word 0x9bb48993 ! 143: BSHUFFLE fmovc32 %d18, %d50, %d44
5981trapasi_20_94:
5982mov 0x28, %r1 ! (VA for ASI 0x5a)
5983 .word 0xd6d84b00 ! 144: LDXA_R ldxa [%r1, %r0] 0x58, %r11
5984 .word 0xa9a0016b ! 145: FABSq dis not found
5985
5986br_longdelay1_20_95:
5987 .word 0x3d400001 ! 1: FBPULE fbule,a,pn %fcc0, <label_0x1>
5988 .word 0xbfe7c000 ! 146: SAVE_R save %r31, %r0, %r31
5989 .word 0xd6bfe012 ! 147: STDA_I stda %r11, [%r31 + 0x0012] %asi
5990 invalw
5991 mov 0xb4, %r30
5992 .word 0x93d0001e ! 148: Tcc_R tne icc_or_xcc, %r0 + %r30
5993br_longdelay1_20_96:
5994 .word 0x3e800001 ! 1: BVC bvc,a <label_0x1>
5995 .word 0xbfe7c000 ! 149: SAVE_R save %r31, %r0, %r31
5996 .word 0x83d020b4 ! 150: Tcc_I te icc_or_xcc, %r0 + 180
5997jmptr_20_97:
5998 nop
5999 best_set_reg(0xe0a00000, %r20, %r27)
6000 .word 0xb7c6c000 ! 151: JMPL_R jmpl %r27 + %r0, %r27
6001pmu_20_98:
6002 nop
6003 setx 0xfffffe7dfffff153, %g1, %g7
6004 .word 0xa3800007 ! 152: WR_PERF_COUNTER_R wr %r0, %r7, %-
6005jmptr_20_99:
6006 nop
6007 best_set_reg(0xe0a00000, %r20, %r27)
6008 .word 0xb7c6c000 ! 153: JMPL_R jmpl %r27 + %r0, %r27
6009mondo_20_100:
6010 nop
6011 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
6012 ta T_CHANGE_PRIV
6013 stxa %r17, [%r0+0x3e0] %asi
6014 .word 0x9d948014 ! 154: WRPR_WSTATE_R wrpr %r18, %r20, %wstate
6015 ta T_CHANGE_NONPRIV ! macro
6016 .word 0x81460000 ! 156: RD_STICK_REG stbar
6017splash_cmpr_20_101:
6018 nop
6019 setx 0xdd9622ab356adb29, %l2, %l1
6020 ta T_CHANGE_PRIV
6021 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
6022 ta T_CHANGE_NONPRIV
6023 sub %l1, 40, %g1
6024 .word 0x89900011 ! 157: WRPR_TICK_R wrpr %r0, %r17, %tick
6025 .word 0x9f80307f ! 158: SIR sir 0x107f
6026brcommon_20_102:
6027 ba,a .+12
6028 mov %r31, %r15
6029 ba,a .+8
6030 call common_target
6031 .word 0xd7e7e00a ! 159: CASA_R casa [%r31] %asi, %r10, %r11
6032pmu_20_103:
6033 nop
6034 setx 0xfffff719fffff7d4, %g1, %g7
6035 .word 0xa3800007 ! 160: WR_PERF_COUNTER_R wr %r0, %r7, %-
6036 .word 0xe1bfdc00 ! 161: STDFA_R stda %f16, [%r0, %r31]
6037!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_20_104) + 40, 16, 16)) -> intp(2,0,18)
6038!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_20_104)&0xffffffff) + 40, 16, 16)) -> intp(2,0,18)
6039intvec_20_104:
6040 .word 0x39400001 ! 162: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
6041 .word 0xa9703a4d ! 163: POPC_I popc 0x1a4d, %r20
6042 .word 0x8d902df7 ! 164: WRPR_PSTATE_I wrpr %r0, 0x0df7, %pstate
6043jmptr_20_106:
6044 nop
6045 best_set_reg(0xe0a00000, %r20, %r27)
6046 .word 0xb7c6c000 ! 165: JMPL_R jmpl %r27 + %r0, %r27
6047dvapa_20_107:
6048 nop
6049 ta T_CHANGE_HPRIV
6050 mov 0x9f2, %r20
6051 mov 0x12, %r19
6052 sllx %r20, 23, %r20
6053 or %r19, %r20, %r19
6054 stxa %r19, [%g0] ASI_LSU_CONTROL
6055 mov 0x38, %r18
6056 stxa %r31, [%r18]0x58
6057 ta T_CHANGE_NONHPRIV
6058 .word 0xd23fe3c9 ! 166: STD_I std %r9, [%r31 + 0x03c9]
6059 nop
6060 ta T_CHANGE_HPRIV
6061 mov 0x20, %r10
6062 set sync_thr_counter2, %r23
6063 cas [%r23],%g0,%r10 !lock
6064 brnz %r10, sma_20_108
6065 rd %asi, %r12
6066 wr %g0, 0x40, %asi
6067 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
6068 set 0x00021fff, %g1
6069 stxa %g1, [%g0 + 0x80] %asi
6070 wr %r12, %g0, %asi
6071 st %g0, [%r23]
6072sma_20_108:
6073 ta T_CHANGE_NONHPRIV
6074 .word 0xd3e7e014 ! 167: CASA_R casa [%r31] %asi, %r20, %r9
6075 .word 0xa5a409c7 ! 168: FDIVd fdivd %f16, %f38, %f18
6076 .word 0x95a089c8 ! 169: FDIVd fdivd %f2, %f8, %f10
6077dvapa_20_109:
6078 nop
6079 ta T_CHANGE_HPRIV
6080 mov 0xf8b, %r20
6081 mov 0x6, %r19
6082 sllx %r20, 23, %r20
6083 or %r19, %r20, %r19
6084 stxa %r19, [%g0] ASI_LSU_CONTROL
6085 mov 0x38, %r18
6086 stxa %r31, [%r18]0x58
6087 ta T_CHANGE_NONHPRIV
6088 .word 0xe1e7e003 ! 170: CASA_R casa [%r31] %asi, %r3, %r16
6089mondo_20_110:
6090 nop
6091 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
6092 stxa %r19, [%r0+0x3c0] %asi
6093 .word 0x9d934011 ! 171: WRPR_WSTATE_R wrpr %r13, %r17, %wstate
6094 .word 0xe05fe028 ! 172: LDX_I ldx [%r31 + 0x0028], %r16
6095 .word 0xab844009 ! 173: WR_CLEAR_SOFTINT_R wr %r17, %r9, %clear_softint
6096intveclr_20_111:
6097 nop
6098 ta T_CHANGE_HPRIV
6099 setx 0x8e881781efbc368b, %r1, %r28
6100 stxa %r28, [%g0] 0x72
6101 .word 0x25400001 ! 174: FBPLG fblg,a,pn %fcc0, <label_0x1>
6102 .word 0x95a00171 ! 175: FABSq dis not found
6103
6104 .word 0xb1800011 ! 176: WR_STICK_REG_R wr %r0, %r17, %-
6105 .word 0xe19fdf20 ! 177: LDDFA_R ldda [%r31, %r0], %f16
6106 .word 0xb1800011 ! 178: WR_STICK_REG_R wr %r0, %r17, %-
6107 .word 0x99a409a3 ! 179: FDIVs fdivs %f16, %f3, %f12
6108 .word 0x93d02032 ! 180: Tcc_I tne icc_or_xcc, %r0 + 50
6109 nop
6110 ta T_CHANGE_HPRIV
6111 mov 0x20, %r10
6112 set sync_thr_counter2, %r23
6113 cas [%r23],%g0,%r10 !lock
6114 brnz %r10, sma_20_112
6115 rd %asi, %r12
6116 wr %g0, 0x40, %asi
6117 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
6118 set 0x001a1fff, %g1
6119 stxa %g1, [%g0 + 0x80] %asi
6120 wr %r12, %g0, %asi
6121 st %g0, [%r23]
6122sma_20_112:
6123 ta T_CHANGE_NONHPRIV
6124 .word 0xd1e7e00d ! 181: CASA_R casa [%r31] %asi, %r13, %r8
6125 .word 0x2a700001 ! 182: BPCS <illegal instruction>
6126 .word 0x8d903dd6 ! 183: WRPR_PSTATE_I wrpr %r0, 0x1dd6, %pstate
6127 .word 0x91910014 ! 184: WRPR_PIL_R wrpr %r4, %r20, %pil
6128donret_20_115:
6129 nop
6130 ta T_CHANGE_HPRIV ! macro
6131 rd %pc, %r12
6132 add %r12, (donretarg_20_115-donret_20_115-4), %r12
6133 mov 0x38, %r18
6134 stxa %r12, [%r18]0x58
6135 add %r12, 0x4, %r11
6136 wrpr %g0, 0x1, %tl
6137 wrpr %g0, %r12, %tpc
6138 wrpr %g0, %r11, %tnpc
6139 set (0x00204931 | (0x8a << 24)), %r13
6140 rdpr %tstate, %r16
6141 mov 0x1f, %r19
6142 and %r19, %r16, %r17
6143 andn %r16, %r19, %r16
6144 or %r16, %r17, %r20
6145 wrpr %r20, %g0, %tstate
6146 wrhpr %g0, 0x94e, %htstate
6147 ta T_CHANGE_NONHPRIV ! rand=1 (20)
6148 done
6149donretarg_20_115:
6150 .word 0xd0ffe07c ! 185: SWAPA_I swapa %r8, [%r31 + 0x007c] %asi
6151 .word 0xe1bfd920 ! 186: STDFA_R stda %f16, [%r0, %r31]
6152splash_cmpr_20_116:
6153 nop
6154 setx 0x270a4324a015dbd5, %l2, %l1
6155 ta T_CHANGE_HPRIV
6156 wrhpr %l1, %g0, %hsys_tick_cmpr
6157 ta T_CHANGE_NONHPRIV
6158 sub %l1, 40, %g1
6159 .word 0x89900011 ! 187: WRPR_TICK_R wrpr %r0, %r17, %tick
6160trapasi_20_117:
6161mov 0x18, %r1 ! (VA for ASI 0x4c)
6162 .word 0xd0c84b40 ! 188: LDSBA_R ldsba [%r1, %r0] 0x5a, %r8
6163 nop
6164 ta T_CHANGE_HPRIV
6165 mov 0x20+1, %r10
6166 set sync_thr_counter1, %r23
6167 cas [%r23],%g0,%r10 !lock
6168 brnz %r10, cwq_20_118
6169 rd %asi, %r12
6170 wr %g0, 0x40, %asi
6171 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
6172 and %l1, 0x3, %l1 ! Check if busy/enabled ..
6173 cmp %l1, 1
6174 bne cwq_20_118
6175 set CWQ_BASE, %l6
6176 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
6177 sllx %l2, 32, %l2
6178 stx %l2, [%l6 + 0x0]
6179 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
6180 sub %l2, 0x40, %l2
6181 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
6182 wr %r12, %g0, %asi
6183 st %g0, [%r23]
6184cwq_20_118:
6185 ta T_CHANGE_NONHPRIV
6186 .word 0xa1414000 ! 189: RDPC rd %pc, %r16
6187 .word 0xe827e084 ! 190: STW_I stw %r20, [%r31 + 0x0084]
6188 set 0x9e5, %l3
6189 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
6190 .word 0xa9b447d0 ! 191: PDIST pdistn %d48, %d16, %d20
6191 .word 0x99450000 ! 192: RD_SET_SOFTINT rd %set_softint, %r12
6192 .word 0xe1bfd920 ! 193: STDFA_R stda %f16, [%r0, %r31]
6193 .word 0xe81fc000 ! 194: LDD_R ldd [%r31 + %r0], %r20
6194 .word 0xe857e000 ! 195: LDSH_I ldsh [%r31 + 0x0000], %r20
6195 .word 0x95b5048a ! 196: FCMPLE32 fcmple32 %d20, %d10, %r10
6196 .word 0xe19fdf20 ! 197: LDDFA_R ldda [%r31, %r0], %f16
6197 .word 0x87acca4a ! 198: FCMPd fcmpd %fcc<n>, %f50, %f10
6198 .word 0xb1800011 ! 199: WR_STICK_REG_R wr %r0, %r17, %-
6199 .word 0x9f80221e ! 200: SIR sir 0x021e
6200jmptr_20_119:
6201 nop
6202 best_set_reg(0xe0a00000, %r20, %r27)
6203 .word 0xb7c6c000 ! 201: JMPL_R jmpl %r27 + %r0, %r27
6204br_longdelay3_20_120:
6205 nop
6206 not %g0, %r12
6207 jmp %r12
6208 .word 0x99902000 ! 202: WRPR_CLEANWIN_I wrpr %r0, 0x0000, %cleanwin
6209 .word 0xc1bfe0e0 ! 203: STDFA_I stda %f0, [0x00e0, %r31]
6210 .word 0xd437e0d8 ! 204: STH_I sth %r10, [%r31 + 0x00d8]
6211splash_tba_20_121:
6212 ta T_CHANGE_PRIV
6213 setx 0x00000004003a0000, %r11, %r12
6214 .word 0x8b90000c ! 205: WRPR_TBA_R wrpr %r0, %r12, %tba
6215tagged_20_122:
6216 tsubcctv %r11, 0x1fe0, %r20
6217 .word 0xd407e03a ! 206: LDUW_I lduw [%r31 + 0x003a], %r10
6218 .word 0x9f802b32 ! 207: SIR sir 0x0b32
6219 nop
6220 ta T_CHANGE_HPRIV
6221 mov 0x20, %r10
6222 set sync_thr_counter2, %r23
6223 cas [%r23],%g0,%r10 !lock
6224 brnz %r10, sma_20_123
6225 rd %asi, %r12
6226 wr %g0, 0x40, %asi
6227 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
6228 set 0x00121fff, %g1
6229 stxa %g1, [%g0 + 0x80] %asi
6230 wr %r12, %g0, %asi
6231 st %g0, [%r23]
6232sma_20_123:
6233 ta T_CHANGE_NONHPRIV
6234 .word 0xd5e7e00a ! 208: CASA_R casa [%r31] %asi, %r10, %r10
6235jmptr_20_124:
6236 nop
6237 best_set_reg(0xe0a00000, %r20, %r27)
6238 .word 0xb7c6c000 ! 209: JMPL_R jmpl %r27 + %r0, %r27
6239 .word 0xa750c000 ! 210: RDPR_TT <illegal instruction>
6240 .word 0xe137c000 ! 211: STQF_R - %f16, [%r0, %r31]
6241intveclr_20_125:
6242 nop
6243 ta T_CHANGE_HPRIV
6244 setx 0xa50a5e0769c6a6a4, %r1, %r28
6245 stxa %r28, [%g0] 0x72
6246 ta T_CHANGE_NONHPRIV
6247 .word 0x25400001 ! 212: FBPLG fblg,a,pn %fcc0, <label_0x1>
6248intveclr_20_126:
6249 nop
6250 ta T_CHANGE_HPRIV
6251 setx 0x350e04382044045c, %r1, %r28
6252 stxa %r28, [%g0] 0x72
6253 .word 0x25400001 ! 213: FBPLG fblg,a,pn %fcc0, <label_0x1>
6254 .word 0x32700001 ! 214: BPNE <illegal instruction>
6255 nop
6256 mov 0x80, %g3
6257 stxa %g3, [%g3] 0x5f
6258 .word 0xe05fc000 ! 215: LDX_R ldx [%r31 + %r0], %r16
6259br_longdelay3_20_127:
6260 nop
6261 not %g0, %r12
6262 jmp %r12
6263 .word 0x99902004 ! 216: WRPR_CLEANWIN_I wrpr %r0, 0x0004, %cleanwin
6264splash_lsu_20_128:
6265 nop
6266 ta T_CHANGE_HPRIV
6267 set 0x3c256b73, %r2
6268 mov 0x2, %r1
6269 sllx %r1, 32, %r1
6270 or %r1, %r2, %r2
6271 stxa %r2, [%r0] ASI_LSU_CONTROL
6272 .word 0x3d400001 ! 217: FBPULE fbule,a,pn %fcc0, <label_0x1>
6273 nop
6274 ta T_CHANGE_HPRIV
6275 mov 0x20, %r10
6276 set sync_thr_counter2, %r23
6277 cas [%r23],%g0,%r10 !lock
6278 brnz %r10, sma_20_129
6279 rd %asi, %r12
6280 wr %g0, 0x40, %asi
6281 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
6282 set 0x001a1fff, %g1
6283 stxa %g1, [%g0 + 0x80] %asi
6284 wr %r12, %g0, %asi
6285 st %g0, [%r23]
6286sma_20_129:
6287 ta T_CHANGE_NONHPRIV
6288 .word 0xe1e7e00a ! 218: CASA_R casa [%r31] %asi, %r10, %r16
6289pmu_20_130:
6290 nop
6291 ta T_CHANGE_PRIV
6292 setx 0xfffff785fffff8d2, %g1, %g7
6293 .word 0xa3800007 ! 219: WR_PERF_COUNTER_R wr %r0, %r7, %-
6294 .word 0x9195000c ! 220: WRPR_PIL_R wrpr %r20, %r12, %pil
6295 invalw
6296 mov 0x32, %r30
6297 .word 0x83d0001e ! 221: Tcc_R te icc_or_xcc, %r0 + %r30
6298 .word 0x87ad0a50 ! 222: FCMPd fcmpd %fcc<n>, %f20, %f16
6299intveclr_20_132:
6300 nop
6301 ta T_CHANGE_HPRIV
6302 setx 0x2046a7e6b4a3e1c4, %r1, %r28
6303 stxa %r28, [%g0] 0x72
6304 ta T_CHANGE_NONHPRIV
6305 .word 0x25400001 ! 223: FBPLG fblg,a,pn %fcc0, <label_0x1>
6306splash_hpstate_20_133:
6307 ta T_CHANGE_NONHPRIV
6308 .word 0x81982a87 ! 224: WRHPR_HPSTATE_I wrhpr %r0, 0x0a87, %hpstate
6309!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_20_134)+40, 16, 16)) -> intp(mask2tid(0x20),1,3)
6310!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_20_134)&0xffffffff) +40, 16, 16)) -> intp(mask2tid(0x20),1,3)
6311xir_20_134:
6312 .word 0xa982f542 ! 225: WR_SET_SOFTINT_I wr %r11, 0x1542, %set_softint
6313 .word 0x95520000 ! 226: RDPR_PIL <illegal instruction>
6314pmu_20_135:
6315 nop
6316 ta T_CHANGE_PRIV
6317 setx 0xfffff924fffffafc, %g1, %g7
6318 .word 0xa3800007 ! 227: WR_PERF_COUNTER_R wr %r0, %r7, %-
6319 .word 0x9f802807 ! 228: SIR sir 0x0807
6320 .word 0xe537c000 ! 229: STQF_R - %f18, [%r0, %r31]
6321 invalw
6322 mov 0x31, %r30
6323 .word 0x91d0001e ! 230: Tcc_R ta icc_or_xcc, %r0 + %r30
6324 .word 0xc3ecc022 ! 231: PREFETCHA_R prefetcha [%r19, %r2] 0x01, #one_read
6325splash_hpstate_20_136:
6326 .word 0x3a800001 ! 1: BCC bcc,a <label_0x1>
6327 .word 0x81982e85 ! 232: WRHPR_HPSTATE_I wrhpr %r0, 0x0e85, %hpstate
6328 setx 0x259b194afc3d1f4c, %r1, %r28
6329 stxa %r28, [%g0] 0x73
6330intvec_20_137:
6331 .word 0x39400001 ! 233: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
6332 invalw
6333 mov 0xb0, %r30
6334 .word 0x93d0001e ! 234: Tcc_R tne icc_or_xcc, %r0 + %r30
6335 .word 0xb1800011 ! 235: WR_STICK_REG_R wr %r0, %r17, %-
6336 .word 0xd80fe028 ! 236: LDUB_I ldub [%r31 + 0x0028], %r12
6337 nop
6338 ta T_CHANGE_HPRIV
6339 mov 0x20+1, %r10
6340 set sync_thr_counter1, %r23
6341 cas [%r23],%g0,%r10 !lock
6342 brnz %r10, cwq_20_138
6343 rd %asi, %r12
6344 wr %g0, 0x40, %asi
6345 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
6346 and %l1, 0x3, %l1 ! Check if busy/enabled ..
6347 cmp %l1, 1
6348 bne cwq_20_138
6349 set CWQ_BASE, %l6
6350 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
6351 sllx %l2, 32, %l2
6352 stx %l2, [%l6 + 0x0]
6353 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
6354 sub %l2, 0x40, %l2
6355 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
6356 wr %r12, %g0, %asi
6357 st %g0, [%r23]
6358cwq_20_138:
6359 ta T_CHANGE_NONHPRIV
6360 .word 0x93414000 ! 237: RDPC rd %pc, %r9
6361 otherw
6362 mov 0xb1, %r30
6363 .word 0x91d0001e ! 238: Tcc_R ta icc_or_xcc, %r0 + %r30
6364 nop
6365 ta T_CHANGE_HPRIV
6366 mov 0x20, %r10
6367 set sync_thr_counter2, %r23
6368 cas [%r23],%g0,%r10 !lock
6369 brnz %r10, sma_20_139
6370 rd %asi, %r12
6371 wr %g0, 0x40, %asi
6372 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
6373 set 0x000e1fff, %g1
6374 stxa %g1, [%g0 + 0x80] %asi
6375 wr %r12, %g0, %asi
6376 st %g0, [%r23]
6377sma_20_139:
6378 ta T_CHANGE_NONHPRIV
6379 .word 0xe7e7e014 ! 239: CASA_R casa [%r31] %asi, %r20, %r19
6380 .word 0xe71fc000 ! 240: LDDF_R ldd [%r31, %r0], %f19
6381 .word 0x81460000 ! 241: RD_STICK_REG stbar
6382 nop
6383 ta T_CHANGE_HPRIV
6384 mov 0x20+1, %r10
6385 set sync_thr_counter1, %r23
6386 cas [%r23],%g0,%r10 !lock
6387 brnz %r10, cwq_20_140
6388 rd %asi, %r12
6389 wr %g0, 0x40, %asi
6390 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
6391 and %l1, 0x3, %l1 ! Check if busy/enabled ..
6392 cmp %l1, 1
6393 bne cwq_20_140
6394 set CWQ_BASE, %l6
6395 best_set_reg(0x20610070, %l1, %l2) !# Control Word
6396 sllx %l2, 32, %l2
6397 stx %l2, [%l6 + 0x0]
6398 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
6399 sub %l2, 0x40, %l2
6400 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
6401 wr %r12, %g0, %asi
6402 st %g0, [%r23]
6403cwq_20_140:
6404 ta T_CHANGE_NONHPRIV
6405 .word 0x99414000 ! 242: RDPC rd %pc, %r12
6406 .word 0x91d020b3 ! 243: Tcc_I ta icc_or_xcc, %r0 + 179
6407trapasi_20_141:
6408mov 0x3f0, %r1 ! (VA for ASI 0x25)
6409 .word 0xe0c04980 ! 244: LDSWA_R ldswa [%r1, %r0] 0x4c, %r16
6410 .word 0x97a00170 ! 245: FABSq dis not found
6411
6412 .word 0x91d02032 ! 246: Tcc_I ta icc_or_xcc, %r0 + 50
6413 invalw
6414 mov 0x34, %r30
6415 .word 0x83d0001e ! 247: Tcc_R te icc_or_xcc, %r0 + %r30
6416splash_lsu_20_142:
6417 nop
6418 ta T_CHANGE_HPRIV
6419 set 0xa52e835e, %r2
6420 mov 0x1, %r1
6421 sllx %r1, 32, %r1
6422 or %r1, %r2, %r2
6423 stxa %r2, [%r0] ASI_LSU_CONTROL
6424 .word 0x3d400001 ! 248: FBPULE fbule,a,pn %fcc0, <label_0x1>
6425pmu_20_143:
6426 nop
6427 ta T_CHANGE_PRIV
6428 setx 0xfffff4d3fffff12c, %g1, %g7
6429 .word 0xa3800007 ! 249: WR_PERF_COUNTER_R wr %r0, %r7, %-
6430 .word 0xe1bfe000 ! 250: STDFA_I stda %f16, [0x0000, %r31]
6431 .word 0xb1800011 ! 251: WR_STICK_REG_R wr %r0, %r17, %-
6432 .word 0x93d02032 ! 252: Tcc_I tne icc_or_xcc, %r0 + 50
6433 .word 0xc1bfe0a0 ! 253: STDFA_I stda %f0, [0x00a0, %r31]
6434memptr_20_144:
6435 set user_data_start, %r31
6436 .word 0x858234d0 ! 254: WRCCR_I wr %r8, 0x14d0, %ccr
6437fpinit_20_145:
6438 setx fp_data_quads, %r19, %r20
6439 ldd [%r20], %f0
6440 ldd [%r20+8], %f4
6441 ld [%r20+16], %fsr
6442 ld [%r20+24], %r19
6443 wr %r19, %g0, %gsr
6444 .word 0xc3e82190 ! 255: PREFETCHA_I prefetcha [%r0, + 0x0190] %asi, #one_read
6445 .word 0x8d902c71 ! 256: WRPR_PSTATE_I wrpr %r0, 0x0c71, %pstate
6446 .word 0xe527e066 ! 257: STF_I st %f18, [0x0066, %r31]
6447splash_lsu_20_147:
6448 nop
6449 ta T_CHANGE_HPRIV
6450 set 0x69d292bc, %r2
6451 mov 0x3, %r1
6452 sllx %r1, 32, %r1
6453 or %r1, %r2, %r2
6454 stxa %r2, [%r0] ASI_LSU_CONTROL
6455 ta T_CHANGE_NONHPRIV
6456 .word 0x3d400001 ! 258: FBPULE fbule,a,pn %fcc0, <label_0x1>
6457 .word 0xc1bfe060 ! 259: STDFA_I stda %f0, [0x0060, %r31]
6458mondo_20_148:
6459 nop
6460 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
6461 ta T_CHANGE_PRIV
6462 stxa %r4, [%r0+0x3c0] %asi
6463 .word 0x9d94c005 ! 260: WRPR_WSTATE_R wrpr %r19, %r5, %wstate
6464 .word 0xa7480000 ! 261: RDHPR_HPSTATE rdhpr %hpstate, %r19
6465brcommon_20_149:
6466 ba,a .+12
6467 mov %r31, %r15
6468 ba,a .+8
6469 call common_target
6470 .word 0xe4dfc034 ! 262: LDXA_R ldxa [%r31, %r20] 0x01, %r18
6471 .word 0x93a00174 ! 263: FABSq dis not found
6472
6473 .word 0x87acca54 ! 264: FCMPd fcmpd %fcc<n>, %f50, %f20
6474 .word 0xe827e09c ! 265: STW_I stw %r20, [%r31 + 0x009c]
6475 .word 0xe8cfe008 ! 266: LDSBA_I ldsba [%r31, + 0x0008] %asi, %r20
6476 .word 0x97b1c4d3 ! 267: FCMPNE32 fcmpne32 %d38, %d50, %r11
6477memptr_20_150:
6478 set user_data_start, %r31
6479 .word 0x85813c63 ! 268: WRCCR_I wr %r4, 0x1c63, %ccr
6480splash_lsu_20_151:
6481 nop
6482 ta T_CHANGE_HPRIV
6483 set 0x066b24f0, %r2
6484 mov 0x3, %r1
6485 sllx %r1, 32, %r1
6486 or %r1, %r2, %r2
6487 stxa %r2, [%r0] ASI_LSU_CONTROL
6488 ta T_CHANGE_NONHPRIV
6489 .word 0x3d400001 ! 269: FBPULE fbule,a,pn %fcc0, <label_0x1>
6490 .word 0xd43fe061 ! 270: STD_I std %r10, [%r31 + 0x0061]
6491 .word 0xa1b147c2 ! 271: PDIST pdistn %d36, %d2, %d16
6492 .word 0xab82400b ! 272: WR_CLEAR_SOFTINT_R wr %r9, %r11, %clear_softint
6493pmu_20_152:
6494 nop
6495 setx 0xfffffcddfffffdf1, %g1, %g7
6496 .word 0xa3800007 ! 273: WR_PERF_COUNTER_R wr %r0, %r7, %-
6497dvapa_20_153:
6498 nop
6499 ta T_CHANGE_HPRIV
6500 mov 0xe7c, %r20
6501 mov 0x18, %r19
6502 sllx %r20, 23, %r20
6503 or %r19, %r20, %r19
6504 stxa %r19, [%g0] ASI_LSU_CONTROL
6505 mov 0x38, %r18
6506 stxa %r31, [%r18]0x58
6507 ta T_CHANGE_NONHPRIV
6508 .word 0xe43ff85d ! 274: STD_I std %r18, [%r31 + 0xfffff85d]
6509 .word 0xc3e88030 ! 275: PREFETCHA_R prefetcha [%r2, %r16] 0x01, #one_read
6510jmptr_20_154:
6511 nop
6512 best_set_reg(0xe0a00000, %r20, %r27)
6513 .word 0xb7c6c000 ! 276: JMPL_R jmpl %r27 + %r0, %r27
6514 .word 0xe19fd960 ! 277: LDDFA_R ldda [%r31, %r0], %f16
6515 .word 0x9f802933 ! 278: SIR sir 0x0933
6516 nop
6517 ta T_CHANGE_HPRIV
6518 mov 0x20, %r10
6519 set sync_thr_counter2, %r23
6520 cas [%r23],%g0,%r10 !lock
6521 brnz %r10, sma_20_155
6522 rd %asi, %r12
6523 wr %g0, 0x40, %asi
6524 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
6525 set 0x00061fff, %g1
6526 stxa %g1, [%g0 + 0x80] %asi
6527 wr %r12, %g0, %asi
6528 st %g0, [%r23]
6529sma_20_155:
6530 ta T_CHANGE_NONHPRIV
6531 .word 0xdbe7e010 ! 279: CASA_R casa [%r31] %asi, %r16, %r13
6532splash_tba_20_156:
6533 ta T_CHANGE_PRIV
6534 set 0x120000, %r12
6535 .word 0x8b90000c ! 280: WRPR_TBA_R wrpr %r0, %r12, %tba
6536pmu_20_157:
6537 nop
6538 setx 0xfffff662fffff1a9, %g1, %g7
6539 .word 0xa3800007 ! 281: WR_PERF_COUNTER_R wr %r0, %r7, %-
6540mondo_20_158:
6541 nop
6542 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
6543 stxa %r4, [%r0+0x3e0] %asi
6544 .word 0x9d950012 ! 282: WRPR_WSTATE_R wrpr %r20, %r18, %wstate
6545 nop
6546 ta T_CHANGE_HPRIV
6547 mov 0x20+1, %r10
6548 set sync_thr_counter1, %r23
6549 cas [%r23],%g0,%r10 !lock
6550 brnz %r10, cwq_20_159
6551 rd %asi, %r12
6552 wr %g0, 0x40, %asi
6553 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
6554 and %l1, 0x3, %l1 ! Check if busy/enabled ..
6555 cmp %l1, 1
6556 bne cwq_20_159
6557 set CWQ_BASE, %l6
6558 best_set_reg(0x206100e0, %l1, %l2) !# Control Word
6559 sllx %l2, 32, %l2
6560 stx %l2, [%l6 + 0x0]
6561 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
6562 sub %l2, 0x40, %l2
6563 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
6564 wr %r12, %g0, %asi
6565 st %g0, [%r23]
6566cwq_20_159:
6567 ta T_CHANGE_NONHPRIV
6568 .word 0x97414000 ! 283: RDPC rd %pc, %r11
6569 .word 0x97a00167 ! 284: FABSq dis not found
6570
6571jmptr_20_160:
6572 nop
6573 best_set_reg(0xe0a00000, %r20, %r27)
6574 .word 0xb7c6c000 ! 285: JMPL_R jmpl %r27 + %r0, %r27
6575intveclr_20_161:
6576 nop
6577 ta T_CHANGE_HPRIV
6578 setx 0x0da71a6e86c1fefd, %r1, %r28
6579 stxa %r28, [%g0] 0x72
6580 .word 0x25400001 ! 286: FBPLG fblg,a,pn %fcc0, <label_0x1>
6581 .word 0xc3ec0026 ! 287: PREFETCHA_R prefetcha [%r16, %r6] 0x01, #one_read
6582 .word 0x8d903f1d ! 288: WRPR_PSTATE_I wrpr %r0, 0x1f1d, %pstate
6583 nop
6584 ta T_CHANGE_HPRIV
6585 mov 0x20, %r10
6586 set sync_thr_counter2, %r23
6587 cas [%r23],%g0,%r10 !lock
6588 brnz %r10, sma_20_163
6589 rd %asi, %r12
6590 wr %g0, 0x40, %asi
6591 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
6592 set 0x001e1fff, %g1
6593 stxa %g1, [%g0 + 0x80] %asi
6594 wr %r12, %g0, %asi
6595 st %g0, [%r23]
6596sma_20_163:
6597 ta T_CHANGE_NONHPRIV
6598 .word 0xe9e7e010 ! 289: CASA_R casa [%r31] %asi, %r16, %r20
6599 .word 0xa1a089d1 ! 290: FDIVd fdivd %f2, %f48, %f16
6600 .word 0x91914011 ! 291: WRPR_PIL_R wrpr %r5, %r17, %pil
6601 .word 0xe1bfde00 ! 292: STDFA_R stda %f16, [%r0, %r31]
6602donret_20_165:
6603 nop
6604 ta T_CHANGE_HPRIV ! macro
6605 rd %pc, %r12
6606 add %r12, (donretarg_20_165-donret_20_165-4), %r12
6607 mov 0x38, %r18
6608 stxa %r12, [%r18]0x58
6609 add %r12, 0x4, %r11
6610 wrpr %g0, 0x1, %tl
6611 wrpr %g0, %r12, %tpc
6612 wrpr %g0, %r11, %tnpc
6613 set (0x000560fa | (0x83 << 24)), %r13
6614 rdpr %tstate, %r16
6615 mov 0x1f, %r19
6616 and %r19, %r16, %r17
6617 andn %r16, %r19, %r16
6618 or %r16, %r17, %r20
6619 wrpr %r20, %g0, %tstate
6620 wrhpr %g0, 0x8c6, %htstate
6621 ta T_CHANGE_NONPRIV ! rand=0 (20)
6622 .word 0x2acd0001 ! 1: BRNZ brnz,a,pt %r20,<label_0xd0001>
6623 done
6624donretarg_20_165:
6625 .word 0xd6ffe08c ! 293: SWAPA_I swapa %r11, [%r31 + 0x008c] %asi
6626br_longdelay1_20_166:
6627 .word 0x32800001 ! 1: BNE bne,a <label_0x1>
6628 .word 0x9d97c000 ! 294: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
6629 .word 0xc19fe080 ! 295: LDDFA_I ldda [%r31, 0x0080], %f0
6630 setx 0x7f1c1adeef1b5d76, %r1, %r28
6631 stxa %r28, [%g0] 0x73
6632intvec_20_167:
6633 .word 0x39400001 ! 296: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
6634intveclr_20_168:
6635 nop
6636 ta T_CHANGE_HPRIV
6637 setx 0xb2b9bcf574ff94c6, %r1, %r28
6638 stxa %r28, [%g0] 0x72
6639 ta T_CHANGE_NONHPRIV
6640 .word 0x25400001 ! 297: FBPLG fblg,a,pn %fcc0, <label_0x1>
6641 .word 0x26800001 ! 298: BL bl,a <label_0x1>
6642jmptr_20_169:
6643 nop
6644 best_set_reg(0xe0a00000, %r20, %r27)
6645 .word 0xb7c6c000 ! 299: JMPL_R jmpl %r27 + %r0, %r27
6646 nop
6647 ta T_CHANGE_HPRIV
6648 mov 0x20, %r10
6649 set sync_thr_counter2, %r23
6650 cas [%r23],%g0,%r10 !lock
6651 brnz %r10, sma_20_170
6652 rd %asi, %r12
6653 wr %g0, 0x40, %asi
6654 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
6655 set 0x00061fff, %g1
6656 stxa %g1, [%g0 + 0x80] %asi
6657 wr %r12, %g0, %asi
6658 st %g0, [%r23]
6659sma_20_170:
6660 ta T_CHANGE_NONHPRIV
6661 .word 0xd7e7e008 ! 300: CASA_R casa [%r31] %asi, %r8, %r11
6662 .word 0xd697e000 ! 301: LDUHA_I lduha [%r31, + 0x0000] %asi, %r11
6663 nop
6664 nop
6665 ta T_CHANGE_PRIV
6666 wrpr %g0, %g0, %gl
6667 nop
6668 nop
6669 setx join_lbl_0_0, %g1, %g2
6670 jmp %g2
6671 nop
6672fork_lbl_0_5:
6673 ta T_CHANGE_NONHPRIV
6674br_badelay3_10_0:
6675 .word 0x34800001 ! 1: BG bg,a <label_0x1>
6676 .word 0xcd6fad59 ! Random illegal ?
6677 .word 0xd914400c ! 1: LDQF_R - [%r17, %r12], %f12
6678 .word 0x91a24830 ! 1: FADDs fadds %f9, %f16, %f8
6679 nop
6680 ta T_CHANGE_HPRIV
6681 mov 0x10, %r10
6682 set sync_thr_counter2, %r23
6683 cas [%r23],%g0,%r10 !lock
6684 brnz %r10, sma_10_1
6685 rd %asi, %r12
6686 wr %g0, 0x40, %asi
6687 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
6688 set 0x00061fff, %g1
6689 stxa %g1, [%g0 + 0x80] %asi
6690 wr %r12, %g0, %asi
6691 st %g0, [%r23]
6692sma_10_1:
6693 ta T_CHANGE_NONHPRIV
6694 .word 0xdbe7e012 ! 2: CASA_R casa [%r31] %asi, %r18, %r13
6695splash_hpstate_10_2:
6696 .word 0x36800001 ! 1: BGE bge,a <label_0x1>
6697 .word 0x8198230e ! 3: WRHPR_HPSTATE_I wrhpr %r0, 0x030e, %hpstate
6698 nop
6699 ta T_CHANGE_HPRIV
6700 mov 0x10, %r10
6701 set sync_thr_counter2, %r23
6702 cas [%r23],%g0,%r10 !lock
6703 brnz %r10, sma_10_3
6704 rd %asi, %r12
6705 wr %g0, 0x40, %asi
6706 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
6707 set 0x00161fff, %g1
6708 stxa %g1, [%g0 + 0x80] %asi
6709 wr %r12, %g0, %asi
6710 st %g0, [%r23]
6711sma_10_3:
6712 ta T_CHANGE_NONHPRIV
6713 .word 0xdbe7e012 ! 4: CASA_R casa [%r31] %asi, %r18, %r13
6714 .word 0x83d020b2 ! 5: Tcc_I te icc_or_xcc, %r0 + 178
6715jmptr_10_4:
6716 nop
6717 best_set_reg(0xe0200000, %r20, %r27)
6718 .word 0xb7c6c000 ! 6: JMPL_R jmpl %r27 + %r0, %r27
6719 .word 0xdb27c000 ! 7: STF_R st %f13, [%r0, %r31]
6720 otherw
6721 mov 0xb2, %r30
6722 .word 0x91d0001e ! 8: Tcc_R ta icc_or_xcc, %r0 + %r30
6723mondo_10_5:
6724 nop
6725 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
6726 ta T_CHANGE_PRIV
6727 stxa %r12, [%r0+0x3c0] %asi
6728 .word 0x9d948005 ! 9: WRPR_WSTATE_R wrpr %r18, %r5, %wstate
6729 .word 0x93d02035 ! 10: Tcc_I tne icc_or_xcc, %r0 + 53
6730pmu_10_6:
6731 nop
6732 ta T_CHANGE_PRIV
6733 setx 0xfffff751fffffb73, %g1, %g7
6734 .word 0xa3800007 ! 11: WR_PERF_COUNTER_R wr %r0, %r7, %-
6735memptr_10_7:
6736 set 0x60740000, %r31
6737 .word 0x85847c87 ! 12: WRCCR_I wr %r17, 0x1c87, %ccr
6738 nop
6739 ta T_CHANGE_HPRIV
6740 mov 0x10+1, %r10
6741 set sync_thr_counter1, %r23
6742 cas [%r23],%g0,%r10 !lock
6743 brnz %r10, cwq_10_8
6744 rd %asi, %r12
6745 wr %g0, 0x40, %asi
6746 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
6747 and %l1, 0x3, %l1 ! Check if busy/enabled ..
6748 cmp %l1, 1
6749 bne cwq_10_8
6750 set CWQ_BASE, %l6
6751 best_set_reg(0x20610000, %l1, %l2) !# Control Word
6752 sllx %l2, 32, %l2
6753 stx %l2, [%l6 + 0x0]
6754 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
6755 sub %l2, 0x40, %l2
6756 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
6757 wr %r12, %g0, %asi
6758 st %g0, [%r23]
6759cwq_10_8:
6760 ta T_CHANGE_NONHPRIV
6761 .word 0x97414000 ! 13: RDPC rd %pc, %r11
6762pmu_10_9:
6763 nop
6764 setx 0xfffffe6cfffff4dd, %g1, %g7
6765 .word 0xa3800007 ! 14: WR_PERF_COUNTER_R wr %r0, %r7, %-
6766 nop
6767 ta T_CHANGE_HPRIV
6768 mov 0x10+1, %r10
6769 set sync_thr_counter1, %r23
6770 cas [%r23],%g0,%r10 !lock
6771 brnz %r10, cwq_10_10
6772 rd %asi, %r12
6773 wr %g0, 0x40, %asi
6774 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
6775 and %l1, 0x3, %l1 ! Check if busy/enabled ..
6776 cmp %l1, 1
6777 bne cwq_10_10
6778 set CWQ_BASE, %l6
6779 best_set_reg(0x206100f0, %l1, %l2) !# Control Word
6780 sllx %l2, 32, %l2
6781 stx %l2, [%l6 + 0x0]
6782 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
6783 sub %l2, 0x40, %l2
6784 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
6785 wr %r12, %g0, %asi
6786 st %g0, [%r23]
6787cwq_10_10:
6788 ta T_CHANGE_NONHPRIV
6789 .word 0xa7414000 ! 15: RDPC rd %pc, %r19
6790mondo_10_11:
6791 nop
6792 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
6793 ta T_CHANGE_PRIV
6794 stxa %r2, [%r0+0x3e0] %asi
6795 .word 0x9d94c011 ! 16: WRPR_WSTATE_R wrpr %r19, %r17, %wstate
6796br_badelay3_10_12:
6797 .word 0x20800001 ! 1: BN bn,a <label_0x1>
6798 .word 0x8756366e ! Random illegal ?
6799 .word 0xa1a00547 ! 1: FSQRTd fsqrt
6800 .word 0x95a44834 ! 17: FADDs fadds %f17, %f20, %f10
6801dvapa_10_13:
6802 nop
6803 ta T_CHANGE_HPRIV
6804 mov 0xbd1, %r20
6805 mov 0x9, %r19
6806 sllx %r20, 23, %r20
6807 or %r19, %r20, %r19
6808 stxa %r19, [%g0] ASI_LSU_CONTROL
6809 mov 0x38, %r18
6810 stxa %r31, [%r18]0x58
6811 ta T_CHANGE_NONHPRIV
6812 .word 0xd89fc031 ! 18: LDDA_R ldda [%r31, %r17] 0x01, %r12
6813tagged_10_14:
6814 tsubcctv %r20, 0x1844, %r7
6815 .word 0xd807e0d2 ! 19: LDUW_I lduw [%r31 + 0x00d2], %r12
6816 .word 0xe1bfe040 ! 20: STDFA_I stda %f16, [0x0040, %r31]
6817splash_hpstate_10_15:
6818 ta T_CHANGE_NONHPRIV
6819 .word 0x38800001 ! 1: BGU bgu,a <label_0x1>
6820 .word 0x81982cd6 ! 21: WRHPR_HPSTATE_I wrhpr %r0, 0x0cd6, %hpstate
6821 .word 0xd8d7e030 ! 22: LDSHA_I ldsha [%r31, + 0x0030] %asi, %r12
6822intveclr_10_16:
6823 nop
6824 ta T_CHANGE_HPRIV
6825 setx 0xc8e2f9fcc0db250c, %r1, %r28
6826 stxa %r28, [%g0] 0x72
6827 .word 0x25400001 ! 23: FBPLG fblg,a,pn %fcc0, <label_0x1>
6828 nop
6829 ta T_CHANGE_HPRIV
6830 mov 0x10+1, %r10
6831 set sync_thr_counter1, %r23
6832 cas [%r23],%g0,%r10 !lock
6833 brnz %r10, cwq_10_17
6834 rd %asi, %r12
6835 wr %g0, 0x40, %asi
6836 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
6837 and %l1, 0x3, %l1 ! Check if busy/enabled ..
6838 cmp %l1, 1
6839 bne cwq_10_17
6840 set CWQ_BASE, %l6
6841 best_set_reg(0x206100b0, %l1, %l2) !# Control Word
6842 sllx %l2, 32, %l2
6843 stx %l2, [%l6 + 0x0]
6844 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
6845 sub %l2, 0x40, %l2
6846 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
6847 wr %r12, %g0, %asi
6848 st %g0, [%r23]
6849cwq_10_17:
6850 ta T_CHANGE_NONHPRIV
6851 .word 0xa3414000 ! 24: RDPC rd %pc, %r17
6852splash_htba_10_18:
6853 nop
6854 ta T_CHANGE_HPRIV
6855 setx 0x0000000000280000, %r11, %r12
6856 .word 0x8b98000c ! 25: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
6857br_longdelay2_10_19:
6858 .word 0x29400001 ! 1: FBPL fbl,a,pn %fcc0, <label_0x1>
6859 .word 0xd7e18033 ! 26: CASA_I casa [%r6] 0x 1, %r19, %r11
6860br_longdelay1_10_20:
6861 .word 0x30800001 ! 1: BA ba,a <label_0x1>
6862 .word 0xbfefc000 ! 27: RESTORE_R restore %r31, %r0, %r31
6863 .word 0xb1800011 ! 28: WR_STICK_REG_R wr %r0, %r17, %-
6864 .word 0x93b4c4c1 ! 29: FCMPNE32 fcmpne32 %d50, %d32, %r9
6865 .word 0x93d02033 ! 30: Tcc_I tne icc_or_xcc, %r0 + 51
6866splash_tba_10_21:
6867 ta T_CHANGE_PRIV
6868 setx 0x0000000000380000, %r11, %r12
6869 .word 0x8b90000c ! 31: WRPR_TBA_R wrpr %r0, %r12, %tba
6870mondo_10_22:
6871 nop
6872 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
6873 ta T_CHANGE_PRIV
6874 stxa %r10, [%r0+0x3e0] %asi
6875 .word 0x9d94c012 ! 32: WRPR_WSTATE_R wrpr %r19, %r18, %wstate
6876 .word 0x20700001 ! 33: BPN <illegal instruction>
6877 .word 0x91942843 ! 34: WRPR_PIL_I wrpr %r16, 0x0843, %pil
6878 .word 0x83d020b3 ! 35: Tcc_I te icc_or_xcc, %r0 + 179
6879 .word 0x9f802190 ! 36: SIR sir 0x0190
6880 nop
6881 ta T_CHANGE_HPRIV
6882 mov 0x10+1, %r10
6883 set sync_thr_counter1, %r23
6884 cas [%r23],%g0,%r10 !lock
6885 brnz %r10, cwq_10_23
6886 rd %asi, %r12
6887 wr %g0, 0x40, %asi
6888 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
6889 and %l1, 0x3, %l1 ! Check if busy/enabled ..
6890 cmp %l1, 1
6891 bne cwq_10_23
6892 set CWQ_BASE, %l6
6893 best_set_reg(0x20610070, %l1, %l2) !# Control Word
6894 sllx %l2, 32, %l2
6895 stx %l2, [%l6 + 0x0]
6896 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
6897 sub %l2, 0x40, %l2
6898 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
6899 wr %r12, %g0, %asi
6900 st %g0, [%r23]
6901cwq_10_23:
6902 ta T_CHANGE_NONHPRIV
6903 .word 0x99414000 ! 37: RDPC rd %pc, %r12
6904 nop
6905 ta T_CHANGE_HPRIV
6906 mov 0x10+1, %r10
6907 set sync_thr_counter1, %r23
6908 cas [%r23],%g0,%r10 !lock
6909 brnz %r10, cwq_10_24
6910 rd %asi, %r12
6911 wr %g0, 0x40, %asi
6912 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
6913 and %l1, 0x3, %l1 ! Check if busy/enabled ..
6914 cmp %l1, 1
6915 bne cwq_10_24
6916 set CWQ_BASE, %l6
6917 best_set_reg(0x206100e0, %l1, %l2) !# Control Word
6918 sllx %l2, 32, %l2
6919 stx %l2, [%l6 + 0x0]
6920 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
6921 sub %l2, 0x40, %l2
6922 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
6923 wr %r12, %g0, %asi
6924 st %g0, [%r23]
6925cwq_10_24:
6926 ta T_CHANGE_NONHPRIV
6927 .word 0x99414000 ! 38: RDPC rd %pc, %r12
6928jmptr_10_25:
6929 nop
6930 best_set_reg(0xe0200000, %r20, %r27)
6931 .word 0xb7c6c000 ! 39: JMPL_R jmpl %r27 + %r0, %r27
6932ibp_10_26:
6933 nop
6934 ta T_CHANGE_HPRIV
6935 mov 8, %r18
6936 rd %asi, %r12
6937 wr %r0, 0x41, %asi
6938 set sync_thr_counter, %r23
6939 mov 0x10, %r16
6940ibp_startwait10_26:
6941 cas [%r23],%g0,%r16 !lock
6942 brz,a %r16, continue_ibp_10_26
6943 mov (~0x10&0xf0), %r16
6944 ld [%r23], %r16
6945ibp_wait10_26:
6946 brnz %r16, ibp_wait10_26
6947 ld [%r23], %r16
6948 ba,a ibp_startwait10_26
6949 mov 0x10, %r16
6950continue_ibp_10_26:
6951 ldxa [%g0]0x63, %r14 !Get raw TID
6952 srlx %r14, 3, %r14 !Get CID
6953 sllx %r16, %r14, %r16 !Mask for my core only
6954 ldxa [0x58]%asi, %r17 !Running_status
6955wait_for_stat_10_26:
6956 ldxa [0x50]%asi, %r13 !Running_rw
6957 cmp %r13, %r17
6958 bne,a wait_for_stat_10_26
6959 ldxa [0x58]%asi, %r17 !Running_status
6960 stxa %r16, [0x68]%asi
6961 ldxa [0x50]%asi, %r14 !Running_rw
6962wait_for_ibp_10_26:
6963 ldxa [0x58]%asi, %r17 !Running_status
6964 cmp %r14, %r17
6965 bne,a wait_for_ibp_10_26
6966 ldxa [0x50]%asi, %r14 !Running_rw
6967ibp_doit10_26:
6968 best_set_reg(0x00000050d4c00021,%r19, %r20)
6969 stxa %r20, [%r18]0x42
6970 stxa %r13, [0x50] %asi ! Running_rw
6971 st %g0, [%r23] !clear lock
6972 wr %r0, %r12, %asi ! restore %asi
6973 .word 0xd1e7e002 ! 40: CASA_R casa [%r31] %asi, %r2, %r8
6974 setx 0x4267967cb8a1c7ef, %r1, %r28
6975 stxa %r28, [%g0] 0x73
6976intvec_10_27:
6977 .word 0x39400001 ! 41: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
6978 .word 0x8d9038a7 ! 42: WRPR_PSTATE_I wrpr %r0, 0x18a7, %pstate
6979 .word 0xd06fe0be ! 43: LDSTUB_I ldstub %r8, [%r31 + 0x00be]
6980trapasi_10_29:
6981mov 0x0, %r1 ! (VA for ASI 0x5b)
6982 .word 0xd0d04a00 ! 44: LDSHA_R ldsha [%r1, %r0] 0x50, %r8
6983 nop
6984 ta T_CHANGE_HPRIV
6985 mov 0x10+1, %r10
6986 set sync_thr_counter1, %r23
6987 cas [%r23],%g0,%r10 !lock
6988 brnz %r10, cwq_10_30
6989 rd %asi, %r12
6990 wr %g0, 0x40, %asi
6991 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
6992 and %l1, 0x3, %l1 ! Check if busy/enabled ..
6993 cmp %l1, 1
6994 bne cwq_10_30
6995 set CWQ_BASE, %l6
6996 best_set_reg(0x20610090, %l1, %l2) !# Control Word
6997 sllx %l2, 32, %l2
6998 stx %l2, [%l6 + 0x0]
6999 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
7000 sub %l2, 0x40, %l2
7001 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
7002 wr %r12, %g0, %asi
7003 st %g0, [%r23]
7004cwq_10_30:
7005 ta T_CHANGE_NONHPRIV
7006 .word 0x95414000 ! 45: RDPC rd %pc, %r10
7007fpinit_10_31:
7008 setx fp_data_quads, %r19, %r20
7009 ldd [%r20], %f0
7010 ldd [%r20+8], %f4
7011 ld [%r20+16], %fsr
7012 ld [%r20+24], %r19
7013 wr %r19, %g0, %gsr
7014 .word 0xc3e8372a ! 46: PREFETCHA_I prefetcha [%r0, + 0xfffff72a] %asi, #one_read
7015memptr_10_32:
7016 set 0x60140000, %r31
7017 .word 0x85823008 ! 47: WRCCR_I wr %r8, 0x1008, %ccr
7018mondo_10_33:
7019 nop
7020 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
7021 stxa %r13, [%r0+0x3d8] %asi
7022 .word 0x9d948011 ! 48: WRPR_WSTATE_R wrpr %r18, %r17, %wstate
7023 .word 0x91950013 ! 49: WRPR_PIL_R wrpr %r20, %r19, %pil
7024 nop
7025 ta T_CHANGE_HPRIV
7026 mov 0x10, %r10
7027 set sync_thr_counter2, %r23
7028 cas [%r23],%g0,%r10 !lock
7029 brnz %r10, sma_10_35
7030 rd %asi, %r12
7031 wr %g0, 0x40, %asi
7032 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
7033 set 0x00121fff, %g1
7034 stxa %g1, [%g0 + 0x80] %asi
7035 wr %r12, %g0, %asi
7036 st %g0, [%r23]
7037sma_10_35:
7038 ta T_CHANGE_NONHPRIV
7039 .word 0xd9e7e009 ! 50: CASA_R casa [%r31] %asi, %r9, %r12
7040donret_10_36:
7041 nop
7042 ta T_CHANGE_HPRIV ! macro
7043 rd %pc, %r12
7044 add %r12, (donretarg_10_36-donret_10_36-8), %r12
7045 mov 0x38, %r18
7046 stxa %r12, [%r18]0x58
7047 add %r12, 0x4, %r11
7048 wrpr %g0, 0x1, %tl
7049 wrpr %g0, %r12, %tpc
7050 wrpr %g0, %r11, %tnpc
7051 set (0x00fcbc3d | (0x82 << 24)), %r13
7052 rdpr %tstate, %r16
7053 mov 0x1f, %r19
7054 and %r19, %r16, %r17
7055 andn %r16, %r19, %r16
7056 or %r16, %r17, %r20
7057 wrpr %r20, %g0, %tstate
7058 wrhpr %g0, 0x5cd, %htstate
7059 ta T_CHANGE_NONHPRIV ! rand=1 (10)
7060 .word 0x3a800001 ! 1: BCC bcc,a <label_0x1>
7061 retry
7062donretarg_10_36:
7063 .word 0xd8ffe04e ! 51: SWAPA_I swapa %r12, [%r31 + 0x004e] %asi
7064 nop
7065 ta T_CHANGE_HPRIV
7066 mov 0x10+1, %r10
7067 set sync_thr_counter1, %r23
7068 cas [%r23],%g0,%r10 !lock
7069 brnz %r10, cwq_10_37
7070 rd %asi, %r12
7071 wr %g0, 0x40, %asi
7072 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
7073 and %l1, 0x3, %l1 ! Check if busy/enabled ..
7074 cmp %l1, 1
7075 bne cwq_10_37
7076 set CWQ_BASE, %l6
7077 best_set_reg(0x20610040, %l1, %l2) !# Control Word
7078 sllx %l2, 32, %l2
7079 stx %l2, [%l6 + 0x0]
7080 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
7081 sub %l2, 0x40, %l2
7082 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
7083 wr %r12, %g0, %asi
7084 st %g0, [%r23]
7085cwq_10_37:
7086 ta T_CHANGE_NONHPRIV
7087 .word 0x9b414000 ! 52: RDPC rd %pc, %r13
7088mondo_10_38:
7089 nop
7090 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
7091 ta T_CHANGE_PRIV
7092 stxa %r10, [%r0+0x3c0] %asi
7093 .word 0x9d92c004 ! 53: WRPR_WSTATE_R wrpr %r11, %r4, %wstate
7094 setx 0x046db05bb3f0e1e4, %r1, %r28
7095 stxa %r28, [%g0] 0x73
7096intvec_10_39:
7097 .word 0x39400001 ! 54: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
7098 nop
7099 ta T_CHANGE_HPRIV
7100 mov 0x10+1, %r10
7101 set sync_thr_counter1, %r23
7102 cas [%r23],%g0,%r10 !lock
7103 brnz %r10, cwq_10_40
7104 rd %asi, %r12
7105 wr %g0, 0x40, %asi
7106 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
7107 and %l1, 0x3, %l1 ! Check if busy/enabled ..
7108 cmp %l1, 1
7109 bne cwq_10_40
7110 set CWQ_BASE, %l6
7111 best_set_reg(0x20610090, %l1, %l2) !# Control Word
7112 sllx %l2, 32, %l2
7113 stx %l2, [%l6 + 0x0]
7114 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
7115 sub %l2, 0x40, %l2
7116 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
7117 wr %r12, %g0, %asi
7118 st %g0, [%r23]
7119cwq_10_40:
7120 ta T_CHANGE_NONHPRIV
7121 .word 0xa5414000 ! 55: RDPC rd %pc, %r18
7122 .word 0xa7a449c4 ! 56: FDIVd fdivd %f48, %f4, %f50
7123 .word 0xa9480000 ! 57: RDHPR_HPSTATE rdhpr %hpstate, %r20
7124 .word 0xa77037b0 ! 58: POPC_I popc 0x17b0, %r19
7125fpinit_10_41:
7126 setx fp_data_quads, %r19, %r20
7127 ldd [%r20], %f0
7128 ldd [%r20+8], %f4
7129 ld [%r20+16], %fsr
7130 ld [%r20+24], %r19
7131 wr %r19, %g0, %gsr
7132 .word 0x91a009a4 ! 59: FDIVs fdivs %f0, %f4, %f8
7133 .word 0x9f803c11 ! 60: SIR sir 0x1c11
7134 nop
7135 ta T_CHANGE_HPRIV
7136 mov 0x10, %r10
7137 set sync_thr_counter2, %r23
7138 cas [%r23],%g0,%r10 !lock
7139 brnz %r10, sma_10_42
7140 rd %asi, %r12
7141 wr %g0, 0x40, %asi
7142 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
7143 set 0x00021fff, %g1
7144 stxa %g1, [%g0 + 0x80] %asi
7145 wr %r12, %g0, %asi
7146 st %g0, [%r23]
7147sma_10_42:
7148 ta T_CHANGE_NONHPRIV
7149 .word 0xd9e7e002 ! 61: CASA_R casa [%r31] %asi, %r2, %r12
7150br_badelay2_10_43:
7151 .word 0x34800001 ! 1: BG bg,a <label_0x1>
7152 pdist %f20, %f12, %f22
7153 .word 0x99b1c311 ! 62: ALIGNADDRESS alignaddr %r7, %r17, %r12
7154 .word 0x8d802004 ! 63: WRFPRS_I wr %r0, 0x0004, %fprs
7155br_longdelay1_10_44:
7156 .word 0x27400001 ! 1: FBPUL fbul,a,pn %fcc0, <label_0x1>
7157 .word 0xbfe7c000 ! 64: SAVE_R save %r31, %r0, %r31
7158 setx 0xb3831e6bc1695540, %r1, %r28
7159 stxa %r28, [%g0] 0x73
7160intvec_10_45:
7161 .word 0x39400001 ! 65: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
7162 .word 0xe53fc000 ! 66: STDF_R std %f18, [%r0, %r31]
7163 .word 0xe53fc00d ! 67: STDF_R std %f18, [%r13, %r31]
7164 nop
7165 ta T_CHANGE_HPRIV
7166 mov 0x10+1, %r10
7167 set sync_thr_counter1, %r23
7168 cas [%r23],%g0,%r10 !lock
7169 brnz %r10, cwq_10_47
7170 rd %asi, %r12
7171 wr %g0, 0x40, %asi
7172 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
7173 and %l1, 0x3, %l1 ! Check if busy/enabled ..
7174 cmp %l1, 1
7175 bne cwq_10_47
7176 set CWQ_BASE, %l6
7177 best_set_reg(0x20610090, %l1, %l2) !# Control Word
7178 sllx %l2, 32, %l2
7179 stx %l2, [%l6 + 0x0]
7180 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
7181 sub %l2, 0x40, %l2
7182 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
7183 wr %r12, %g0, %asi
7184 st %g0, [%r23]
7185cwq_10_47:
7186 ta T_CHANGE_NONHPRIV
7187 .word 0xa5414000 ! 68: RDPC rd %pc, %r18
7188 .word 0xb1800011 ! 69: WR_STICK_REG_R wr %r0, %r17, %-
7189splash_hpstate_10_48:
7190 .word 0x2a800001 ! 1: BCS bcs,a <label_0x1>
7191 .word 0x81982707 ! 70: WRHPR_HPSTATE_I wrhpr %r0, 0x0707, %hpstate
7192intveclr_10_49:
7193 nop
7194 ta T_CHANGE_HPRIV
7195 setx 0x58733f4749e69d8c, %r1, %r28
7196 stxa %r28, [%g0] 0x72
7197 .word 0x25400001 ! 71: FBPLG fblg,a,pn %fcc0, <label_0x1>
7198 .word 0xe03fe080 ! 72: STD_I std %r16, [%r31 + 0x0080]
7199splash_lsu_10_50:
7200 nop
7201 ta T_CHANGE_HPRIV
7202 set 0x1f635a4e, %r2
7203 mov 0x7, %r1
7204 sllx %r1, 32, %r1
7205 or %r1, %r2, %r2
7206 stxa %r2, [%r0] ASI_LSU_CONTROL
7207 .word 0x3d400001 ! 73: FBPULE fbule,a,pn %fcc0, <label_0x1>
7208 .word 0xe137e0b0 ! 74: STQF_I - %f16, [0x00b0, %r31]
7209 .word 0xc1bfe040 ! 75: STDFA_I stda %f0, [0x0040, %r31]
7210 .word 0xe057e018 ! 76: LDSH_I ldsh [%r31 + 0x0018], %r16
7211splash_cmpr_10_51:
7212 nop
7213 setx 0xfb440045e865d887, %l2, %l1
7214 ta T_CHANGE_PRIV
7215 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
7216 ta T_CHANGE_NONPRIV
7217 sub %l1, 40, %g1
7218 .word 0x89900011 ! 77: WRPR_TICK_R wrpr %r0, %r17, %tick
7219splash_lsu_10_52:
7220 nop
7221 ta T_CHANGE_HPRIV
7222 set 0xa59cb150, %r2
7223 mov 0x4, %r1
7224 sllx %r1, 32, %r1
7225 or %r1, %r2, %r2
7226 stxa %r2, [%r0] ASI_LSU_CONTROL
7227 ta T_CHANGE_NONHPRIV
7228 .word 0x3d400001 ! 78: FBPULE fbule,a,pn %fcc0, <label_0x1>
7229br_badelay2_10_53:
7230 .word 0x20800001 ! 1: BN bn,a <label_0x1>
7231 pdist %f26, %f8, %f6
7232 .word 0x95b40311 ! 79: ALIGNADDRESS alignaddr %r16, %r17, %r10
7233 .word 0xc1bfde00 ! 80: STDFA_R stda %f0, [%r0, %r31]
7234splash_cmpr_10_54:
7235 nop
7236 setx 0xe6a8eb11b5a85ad4, %l2, %l1
7237 ta T_CHANGE_HPRIV
7238 wrhpr %l1, %g0, %hsys_tick_cmpr
7239 sub %l1, 40, %g1
7240 .word 0x89900011 ! 81: WRPR_TICK_R wrpr %r0, %r17, %tick
7241 .word 0xa1a00174 ! 82: FABSq dis not found
7242
7243 .word 0xdadfc022 ! 83: LDXA_R ldxa [%r31, %r2] 0x01, %r13
7244 .word 0xda9fc022 ! 84: LDDA_R ldda [%r31, %r2] 0x01, %r13
7245invtsb_10_57:
7246 nop
7247 ta T_CHANGE_HPRIV
7248 rd %asi, %r21
7249 wr %r0,ASI_MMU_REAL_RANGE, %asi
7250 mov 1, %r20
7251 sllx %r20, 63, %r20
7252 ldxa [ASI_MMU_REAL_RANGE_0] %asi, %r22
7253 xor %r22 ,%r20, %r22
7254 stxa %r22, [ASI_MMU_REAL_RANGE_0] %asi
7255 ldxa [ASI_MMU_REAL_RANGE_1] %asi, %r22
7256 xor %r22 ,%r20, %r22
7257 stxa %r22, [ASI_MMU_REAL_RANGE_1] %asi
7258 ldxa [ASI_MMU_REAL_RANGE_2] %asi, %r22
7259 xor %r22 ,%r20, %r22
7260 stxa %r22, [ASI_MMU_REAL_RANGE_2] %asi
7261 ldxa [ASI_MMU_REAL_RANGE_3] %asi, %r22
7262 xor %r22 ,%r20, %r22
7263 stxa %r22, [ASI_MMU_REAL_RANGE_3] %asi
7264 wr %r21, %r0, %asi
7265 ta T_CHANGE_NONHPRIV
7266 .word 0x29800001 ! 85: FBL fbl,a <label_0x1>
7267memptr_10_58:
7268 set 0x60140000, %r31
7269 .word 0x85843fd4 ! 86: WRCCR_I wr %r16, 0x1fd4, %ccr
7270 .word 0x91943272 ! 87: WRPR_PIL_I wrpr %r16, 0x1272, %pil
7271 .word 0x83d02032 ! 88: Tcc_I te icc_or_xcc, %r0 + 50
7272splash_tba_10_59:
7273 ta T_CHANGE_PRIV
7274 setx 0x0000000000380000, %r11, %r12
7275 .word 0x8b90000c ! 89: WRPR_TBA_R wrpr %r0, %r12, %tba
7276 .word 0xe1bfdc00 ! 90: STDFA_R stda %f16, [%r0, %r31]
7277 .word 0x9f8028c2 ! 91: SIR sir 0x08c2
7278 .word 0xda6fe030 ! 92: LDSTUB_I ldstub %r13, [%r31 + 0x0030]
7279 .word 0xda47e010 ! 93: LDSW_I ldsw [%r31 + 0x0010], %r13
7280br_longdelay1_10_60:
7281 .word 0x2f400001 ! 1: FBPU fbu,a,pn %fcc0, <label_0x1>
7282 .word 0xbfefc000 ! 94: RESTORE_R restore %r31, %r0, %r31
7283 .word 0xc32fc000 ! 95: STXFSR_R st-sfr %f1, [%r0, %r31]
7284jmptr_10_62:
7285 nop
7286 best_set_reg(0xe0200000, %r20, %r27)
7287 .word 0xb7c6c000 ! 96: JMPL_R jmpl %r27 + %r0, %r27
7288br_badelay2_10_63:
7289 .word 0x22800001 ! 1: BE be,a <label_0x1>
7290 allclean
7291 .word 0x95b4030c ! 97: ALIGNADDRESS alignaddr %r16, %r12, %r10
7292mondo_10_64:
7293 nop
7294 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
7295 ta T_CHANGE_PRIV
7296 stxa %r1, [%r0+0x3c0] %asi
7297 .word 0x9d944002 ! 98: WRPR_WSTATE_R wrpr %r17, %r2, %wstate
7298 .word 0xc19fde00 ! 99: LDDFA_R ldda [%r31, %r0], %f0
7299 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
7300reduce_priv_lvl_10_65:
7301 ta T_CHANGE_NONHPRIV ! macro
7302intveclr_10_66:
7303 nop
7304 ta T_CHANGE_HPRIV
7305 setx 0x5912128df877c409, %r1, %r28
7306 stxa %r28, [%g0] 0x72
7307 .word 0x25400001 ! 101: FBPLG fblg,a,pn %fcc0, <label_0x1>
7308dvapa_10_67:
7309 nop
7310 ta T_CHANGE_HPRIV
7311 mov 0xc7a, %r20
7312 mov 0x17, %r19
7313 sllx %r20, 23, %r20
7314 or %r19, %r20, %r19
7315 stxa %r19, [%g0] ASI_LSU_CONTROL
7316 mov 0x38, %r18
7317 stxa %r31, [%r18]0x58
7318 ta T_CHANGE_NONHPRIV
7319 .word 0xda9fc029 ! 102: LDDA_R ldda [%r31, %r9] 0x01, %r13
7320trapasi_10_68:
7321mov 0x28, %r1 ! (VA for ASI 0x5b)
7322 .word 0xda904980 ! 103: LDUHA_R lduha [%r1, %r0] 0x4c, %r13
7323 .word 0xc19fdc00 ! 104: LDDFA_R ldda [%r31, %r0], %f0
7324brcommon_10_69:
7325 ba,a .+12
7326 mov %r31, %r15
7327 ba,a .+8
7328 call common_target
7329 .word 0xdb3fc009 ! 105: STDF_R std %f13, [%r9, %r31]
7330mondo_10_70:
7331 nop
7332 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
7333 ta T_CHANGE_PRIV
7334 stxa %r16, [%r0+0x3e0] %asi
7335 .word 0x9d94c012 ! 106: WRPR_WSTATE_R wrpr %r19, %r18, %wstate
7336 nop
7337 ta T_CHANGE_HPRIV
7338 mov 0x10, %r10
7339 set sync_thr_counter2, %r23
7340 cas [%r23],%g0,%r10 !lock
7341 brnz %r10, sma_10_71
7342 rd %asi, %r12
7343 wr %g0, 0x40, %asi
7344 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
7345 set 0x00061fff, %g1
7346 stxa %g1, [%g0 + 0x80] %asi
7347 wr %r12, %g0, %asi
7348 st %g0, [%r23]
7349sma_10_71:
7350 ta T_CHANGE_NONHPRIV
7351 .word 0xdbe7e010 ! 107: CASA_R casa [%r31] %asi, %r16, %r13
7352 .word 0xdb27e096 ! 108: STF_I st %f13, [0x0096, %r31]
7353 .word 0xda3ff34b ! 109: STD_I std %r13, [%r31 + 0xfffff34b]
7354 .word 0xa3702f59 ! 110: POPC_I popc 0x0f59, %r17
7355change_to_randtl_10_73:
7356 ta T_CHANGE_HPRIV ! macro
7357done_change_to_randtl_10_73:
7358 .word 0x8f902000 ! 111: WRPR_TL_I wrpr %r0, 0x0000, %tl
7359 .word 0xd20fe038 ! 112: LDUB_I ldub [%r31 + 0x0038], %r9
7360splash_lsu_10_74:
7361 nop
7362 ta T_CHANGE_HPRIV
7363 set 0xba962c31, %r2
7364 mov 0x6, %r1
7365 sllx %r1, 32, %r1
7366 or %r1, %r2, %r2
7367 stxa %r2, [%r0] ASI_LSU_CONTROL
7368 .word 0x3d400001 ! 113: FBPULE fbule,a,pn %fcc0, <label_0x1>
7369br_longdelay2_10_75:
7370 .word 0x3b400001 ! 1: FBPLE fble,a,pn %fcc0, <label_0x1>
7371 .word 0x24cd0001 ! 114: BRLEZ brlez,a,pt %r20,<label_0xd0001>
7372 .word 0xb1800011 ! 115: WR_STICK_REG_R wr %r0, %r17, %-
7373ibp_10_76:
7374 nop
7375 ta T_CHANGE_HPRIV
7376 mov 8, %r18
7377 rd %asi, %r12
7378 wr %r0, 0x41, %asi
7379 set sync_thr_counter, %r23
7380 mov 0x10, %r16
7381ibp_startwait10_76:
7382 cas [%r23],%g0,%r16 !lock
7383 brz,a %r16, continue_ibp_10_76
7384 mov (~0x10&0xf0), %r16
7385 ld [%r23], %r16
7386ibp_wait10_76:
7387 brnz %r16, ibp_wait10_76
7388 ld [%r23], %r16
7389 ba,a ibp_startwait10_76
7390 mov 0x10, %r16
7391continue_ibp_10_76:
7392 ldxa [%g0]0x63, %r14 !Get raw TID
7393 srlx %r14, 3, %r14 !Get CID
7394 sllx %r16, %r14, %r16 !Mask for my core only
7395 ldxa [0x58]%asi, %r17 !Running_status
7396wait_for_stat_10_76:
7397 ldxa [0x50]%asi, %r13 !Running_rw
7398 cmp %r13, %r17
7399 bne,a wait_for_stat_10_76
7400 ldxa [0x58]%asi, %r17 !Running_status
7401 stxa %r16, [0x68]%asi
7402 ldxa [0x50]%asi, %r14 !Running_rw
7403wait_for_ibp_10_76:
7404 ldxa [0x58]%asi, %r17 !Running_status
7405 cmp %r14, %r17
7406 bne,a wait_for_ibp_10_76
7407 ldxa [0x50]%asi, %r14 !Running_rw
7408ibp_doit10_76:
7409 best_set_reg(0x00000050a3c0214d,%r19, %r20)
7410 stxa %r20, [%r18]0x42
7411 stxa %r13, [0x50] %asi ! Running_rw
7412 st %g0, [%r23] !clear lock
7413 wr %r0, %r12, %asi ! restore %asi
7414 .word 0x9f802c82 ! 116: SIR sir 0x0c82
7415change_to_randtl_10_77:
7416 ta T_CHANGE_HPRIV ! macro
7417done_change_to_randtl_10_77:
7418 .word 0x8f902002 ! 117: WRPR_TL_I wrpr %r0, 0x0002, %tl
7419!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_10_78) + 24, 16, 16)) -> intp(4,0,7)
7420!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_10_78)&0xffffffff) + 24, 16, 16)) -> intp(4,0,7)
7421intvec_10_78:
7422 .word 0x39400001 ! 118: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
7423 .word 0x9194800d ! 119: WRPR_PIL_R wrpr %r18, %r13, %pil
7424 .word 0x97b48493 ! 120: FCMPLE32 fcmple32 %d18, %d50, %r11
7425 .word 0xc19fc3e0 ! 121: LDDFA_R ldda [%r31, %r0], %f0
7426 nop
7427 ta T_CHANGE_HPRIV
7428 mov 0x10, %r10
7429 set sync_thr_counter2, %r23
7430 cas [%r23],%g0,%r10 !lock
7431 brnz %r10, sma_10_80
7432 rd %asi, %r12
7433 wr %g0, 0x40, %asi
7434 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
7435 set 0x00061fff, %g1
7436 stxa %g1, [%g0 + 0x80] %asi
7437 wr %r12, %g0, %asi
7438 st %g0, [%r23]
7439sma_10_80:
7440 ta T_CHANGE_NONHPRIV
7441 .word 0xd9e7e011 ! 122: CASA_R casa [%r31] %asi, %r17, %r12
7442 .word 0xd88fe018 ! 123: LDUBA_I lduba [%r31, + 0x0018] %asi, %r12
7443 nop
7444 ta T_CHANGE_HPRIV
7445 mov 0x10+1, %r10
7446 set sync_thr_counter1, %r23
7447 cas [%r23],%g0,%r10 !lock
7448 brnz %r10, cwq_10_81
7449 rd %asi, %r12
7450 wr %g0, 0x40, %asi
7451 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
7452 and %l1, 0x3, %l1 ! Check if busy/enabled ..
7453 cmp %l1, 1
7454 bne cwq_10_81
7455 set CWQ_BASE, %l6
7456 best_set_reg(0x20610080, %l1, %l2) !# Control Word
7457 sllx %l2, 32, %l2
7458 stx %l2, [%l6 + 0x0]
7459 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
7460 sub %l2, 0x40, %l2
7461 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
7462 wr %r12, %g0, %asi
7463 st %g0, [%r23]
7464cwq_10_81:
7465 ta T_CHANGE_NONHPRIV
7466 .word 0x93414000 ! 124: RDPC rd %pc, %r9
7467fpinit_10_82:
7468 setx fp_data_quads, %r19, %r20
7469 ldd [%r20], %f0
7470 ldd [%r20+8], %f4
7471 ld [%r20+16], %fsr
7472 ld [%r20+24], %r19
7473 wr %r19, %g0, %gsr
7474 .word 0x87a80a44 ! 125: FCMPd fcmpd %fcc<n>, %f0, %f4
7475 .word 0xb1800011 ! 126: WR_STICK_REG_R wr %r0, %r17, %-
7476 .word 0xe6dfc031 ! 127: LDXA_R ldxa [%r31, %r17] 0x01, %r19
7477 .word 0xe737e058 ! 128: STQF_I - %f19, [0x0058, %r31]
7478 .word 0x2cc94001 ! 1: BRGZ brgz,a,pt %r5,<label_0x94001>
7479 .word 0x8d903fd1 ! 129: WRPR_PSTATE_I wrpr %r0, 0x1fd1, %pstate
7480trapasi_10_85:
7481mov 0x0, %r1 ! (VA for ASI 0x4c)
7482 .word 0xe6d04b60 ! 130: LDSHA_R ldsha [%r1, %r0] 0x5b, %r19
7483!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_10_86) + 8, 16, 16)) -> intp(1,0,5)
7484!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_10_86)&0xffffffff) + 8, 16, 16)) -> intp(1,0,5)
7485intvec_10_86:
7486 .word 0x39400001 ! 131: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
7487mondo_10_87:
7488 nop
7489 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
7490 stxa %r7, [%r0+0x3d8] %asi
7491 .word 0x9d950013 ! 132: WRPR_WSTATE_R wrpr %r20, %r19, %wstate
7492splash_hpstate_10_88:
7493 .word 0x81982307 ! 133: WRHPR_HPSTATE_I wrhpr %r0, 0x0307, %hpstate
7494 .word 0xe19fe040 ! 134: LDDFA_I ldda [%r31, 0x0040], %f16
7495 .word 0xa5702812 ! 135: POPC_I popc 0x0812, %r18
7496 .word 0x99a449b2 ! 136: FDIVs fdivs %f17, %f18, %f12
7497 invalw
7498 mov 0x31, %r30
7499 .word 0x83d0001e ! 137: Tcc_R te icc_or_xcc, %r0 + %r30
7500br_longdelay3_10_90:
7501 nop
7502 not %g0, %r12
7503 jmp %r12
7504 .word 0x99902000 ! 138: WRPR_CLEANWIN_I wrpr %r0, 0x0000, %cleanwin
7505fpinit_10_91:
7506 setx fp_data_quads, %r19, %r20
7507 ldd [%r20], %f0
7508 ldd [%r20+8], %f4
7509 ld [%r20+16], %fsr
7510 ld [%r20+24], %r19
7511 wr %r19, %g0, %gsr
7512 .word 0xc3e82812 ! 139: PREFETCHA_I prefetcha [%r0, + 0x0812] %asi, #one_read
7513 .word 0x99a089b4 ! 140: FDIVs fdivs %f2, %f20, %f12
7514 ta T_CHANGE_NONPRIV ! macro
7515 .word 0x3e800001 ! 1: BVC bvc,a <label_0x1>
7516 .word 0x8d90234e ! 142: WRPR_PSTATE_I wrpr %r0, 0x034e, %pstate
7517tglhtw_10_93:
7518 nop
7519 rd %asi, %l3 ! save %asi
7520 ta T_CHANGE_HPRIV
7521 wr %g0, ASI_MMU_ZERO_CONTEXT_TSB_CONFIG, %asi
7522 mov 1, %l2
7523 sllx %l2, 63, %l2
7524 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
7525 xor %l4, %l2, %l4
7526 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi
7527 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
7528 xor %l4, %l2, %l4
7529 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi
7530 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
7531 xor %l4, %l2, %l4
7532 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi
7533 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
7534 xor %l4, %l2, %l4
7535 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi
7536 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
7537 xor %l4, %l2, %l4
7538 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi
7539 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
7540 xor %l4, %l2, %l4
7541 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi
7542 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
7543 xor %l4, %l2, %l4
7544 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi
7545 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
7546 xor %l4, %l2, %l4
7547 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi
7548 ta T_CHANGE_NONHPRIV
7549 wr %g0, %l3, %asi !restore %asi
7550 .word 0xa9b44987 ! 143: BSHUFFLE fmovc32 %d48, %d38, %d20
7551trapasi_10_94:
7552mov 0x10, %r1 ! (VA for ASI 0x5a)
7553 .word 0xd6d844a0 ! 144: LDXA_R ldxa [%r1, %r0] 0x25, %r11
7554 .word 0xa9a00174 ! 145: FABSq dis not found
7555
7556br_longdelay1_10_95:
7557 .word 0x20800001 ! 1: BN bn,a <label_0x1>
7558 .word 0x9d97c000 ! 146: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
7559 .word 0xd6bfe028 ! 147: STDA_I stda %r11, [%r31 + 0x0028] %asi
7560 invalw
7561 mov 0x35, %r30
7562 .word 0x93d0001e ! 148: Tcc_R tne icc_or_xcc, %r0 + %r30
7563br_longdelay1_10_96:
7564 .word 0x22800001 ! 1: BE be,a <label_0x1>
7565 .word 0x9d97c000 ! 149: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
7566 .word 0x93d02032 ! 150: Tcc_I tne icc_or_xcc, %r0 + 50
7567jmptr_10_97:
7568 nop
7569 best_set_reg(0xe1200000, %r20, %r27)
7570 .word 0xb7c6c000 ! 151: JMPL_R jmpl %r27 + %r0, %r27
7571pmu_10_98:
7572 nop
7573 setx 0xfffffd99fffff874, %g1, %g7
7574 .word 0xa3800007 ! 152: WR_PERF_COUNTER_R wr %r0, %r7, %-
7575jmptr_10_99:
7576 nop
7577 best_set_reg(0xe1200000, %r20, %r27)
7578 .word 0xb7c6c000 ! 153: JMPL_R jmpl %r27 + %r0, %r27
7579mondo_10_100:
7580 nop
7581 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
7582 ta T_CHANGE_PRIV
7583 stxa %r8, [%r0+0x3e8] %asi
7584 .word 0x9d92c014 ! 154: WRPR_WSTATE_R wrpr %r11, %r20, %wstate
7585 ta T_CHANGE_NONPRIV ! macro
7586 .word 0x81460000 ! 156: RD_STICK_REG stbar
7587splash_cmpr_10_101:
7588 nop
7589 setx 0x07279d1b3148b8ba, %l2, %l1
7590 ta T_CHANGE_PRIV
7591 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
7592 ta T_CHANGE_NONPRIV
7593 sub %l1, 40, %g1
7594 .word 0x89900011 ! 157: WRPR_TICK_R wrpr %r0, %r17, %tick
7595 .word 0x9f802cfb ! 158: SIR sir 0x0cfb
7596brcommon_10_102:
7597 ba,a .+12
7598 mov %r31, %r15
7599 ba,a .+8
7600 call common_target
7601 .word 0xd6dfc02a ! 159: LDXA_R ldxa [%r31, %r10] 0x01, %r11
7602pmu_10_103:
7603 nop
7604 setx 0xfffff203fffff2f8, %g1, %g7
7605 .word 0xa3800007 ! 160: WR_PERF_COUNTER_R wr %r0, %r7, %-
7606 .word 0xe1bfe0c0 ! 161: STDFA_I stda %f16, [0x00c0, %r31]
7607!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_10_104) + 40, 16, 16)) -> intp(4,0,15)
7608!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_10_104)&0xffffffff) + 40, 16, 16)) -> intp(4,0,15)
7609intvec_10_104:
7610 .word 0x39400001 ! 162: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
7611 .word 0xa570231d ! 163: POPC_I popc 0x031d, %r18
7612 .word 0x8d902d8c ! 164: WRPR_PSTATE_I wrpr %r0, 0x0d8c, %pstate
7613jmptr_10_106:
7614 nop
7615 best_set_reg(0xe1200000, %r20, %r27)
7616 .word 0xb7c6c000 ! 165: JMPL_R jmpl %r27 + %r0, %r27
7617dvapa_10_107:
7618 nop
7619 ta T_CHANGE_HPRIV
7620 mov 0xd03, %r20
7621 mov 0x1, %r19
7622 sllx %r20, 23, %r20
7623 or %r19, %r20, %r19
7624 stxa %r19, [%g0] ASI_LSU_CONTROL
7625 mov 0x38, %r18
7626 stxa %r31, [%r18]0x58
7627 ta T_CHANGE_NONHPRIV
7628 .word 0xc32fc014 ! 166: STXFSR_R st-sfr %f1, [%r20, %r31]
7629 nop
7630 ta T_CHANGE_HPRIV
7631 mov 0x10, %r10
7632 set sync_thr_counter2, %r23
7633 cas [%r23],%g0,%r10 !lock
7634 brnz %r10, sma_10_108
7635 rd %asi, %r12
7636 wr %g0, 0x40, %asi
7637 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
7638 set 0x000e1fff, %g1
7639 stxa %g1, [%g0 + 0x80] %asi
7640 wr %r12, %g0, %asi
7641 st %g0, [%r23]
7642sma_10_108:
7643 ta T_CHANGE_NONHPRIV
7644 .word 0xd3e7e014 ! 167: CASA_R casa [%r31] %asi, %r20, %r9
7645 .word 0x95a409cb ! 168: FDIVd fdivd %f16, %f42, %f10
7646 .word 0x99a1c9d2 ! 169: FDIVd fdivd %f38, %f18, %f12
7647dvapa_10_109:
7648 nop
7649 ta T_CHANGE_HPRIV
7650 mov 0xfa2, %r20
7651 mov 0x19, %r19
7652 sllx %r20, 23, %r20
7653 or %r19, %r20, %r19
7654 stxa %r19, [%g0] ASI_LSU_CONTROL
7655 mov 0x38, %r18
7656 stxa %r31, [%r18]0x58
7657 ta T_CHANGE_NONHPRIV
7658 .word 0xe09fc023 ! 170: LDDA_R ldda [%r31, %r3] 0x01, %r16
7659mondo_10_110:
7660 nop
7661 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
7662 stxa %r17, [%r0+0x3e0] %asi
7663 .word 0x9d950013 ! 171: WRPR_WSTATE_R wrpr %r20, %r19, %wstate
7664 .word 0xe05fe028 ! 172: LDX_I ldx [%r31 + 0x0028], %r16
7665 .word 0xab810007 ! 173: WR_CLEAR_SOFTINT_R wr %r4, %r7, %clear_softint
7666intveclr_10_111:
7667 nop
7668 ta T_CHANGE_HPRIV
7669 setx 0xce1cbb98405c56cb, %r1, %r28
7670 stxa %r28, [%g0] 0x72
7671 .word 0x25400001 ! 174: FBPLG fblg,a,pn %fcc0, <label_0x1>
7672 .word 0x93a00172 ! 175: FABSq dis not found
7673
7674 .word 0xb1800011 ! 176: WR_STICK_REG_R wr %r0, %r17, %-
7675 .word 0xc19fdb60 ! 177: LDDFA_R ldda [%r31, %r0], %f0
7676 .word 0xb1800011 ! 178: WR_STICK_REG_R wr %r0, %r17, %-
7677 .word 0xc3ec4034 ! 179: PREFETCHA_R prefetcha [%r17, %r20] 0x01, #one_read
7678 .word 0x83d020b5 ! 180: Tcc_I te icc_or_xcc, %r0 + 181
7679 nop
7680 ta T_CHANGE_HPRIV
7681 mov 0x10, %r10
7682 set sync_thr_counter2, %r23
7683 cas [%r23],%g0,%r10 !lock
7684 brnz %r10, sma_10_112
7685 rd %asi, %r12
7686 wr %g0, 0x40, %asi
7687 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
7688 set 0x00161fff, %g1
7689 stxa %g1, [%g0 + 0x80] %asi
7690 wr %r12, %g0, %asi
7691 st %g0, [%r23]
7692sma_10_112:
7693 ta T_CHANGE_NONHPRIV
7694 .word 0xd1e7e00d ! 181: CASA_R casa [%r31] %asi, %r13, %r8
7695 .word 0x2a700001 ! 182: BPCS <illegal instruction>
7696 .word 0x8d90267f ! 183: WRPR_PSTATE_I wrpr %r0, 0x067f, %pstate
7697 .word 0x91948011 ! 184: WRPR_PIL_R wrpr %r18, %r17, %pil
7698donret_10_115:
7699 nop
7700 ta T_CHANGE_HPRIV ! macro
7701 rd %pc, %r12
7702 add %r12, (donretarg_10_115-donret_10_115-4), %r12
7703 mov 0x38, %r18
7704 stxa %r12, [%r18]0x58
7705 add %r12, 0x4, %r11
7706 wrpr %g0, 0x2, %tl
7707 wrpr %g0, %r12, %tpc
7708 wrpr %g0, %r11, %tnpc
7709 set (0x005d39ca | (0x58 << 24)), %r13
7710 rdpr %tstate, %r16
7711 mov 0x1f, %r19
7712 and %r19, %r16, %r17
7713 andn %r16, %r19, %r16
7714 or %r16, %r17, %r20
7715 wrpr %r20, %g0, %tstate
7716 wrhpr %g0, 0xf5f, %htstate
7717 ta T_CHANGE_NONHPRIV ! rand=1 (10)
7718 done
7719donretarg_10_115:
7720 .word 0xd0ffe0ed ! 185: SWAPA_I swapa %r8, [%r31 + 0x00ed] %asi
7721 .word 0xc1bfc2c0 ! 186: STDFA_R stda %f0, [%r0, %r31]
7722splash_cmpr_10_116:
7723 nop
7724 setx 0x89c69df36f7db9fa, %l2, %l1
7725 ta T_CHANGE_HPRIV
7726 wrhpr %l1, %g0, %hsys_tick_cmpr
7727 ta T_CHANGE_NONHPRIV
7728 sub %l1, 40, %g1
7729 .word 0x89900011 ! 187: WRPR_TICK_R wrpr %r0, %r17, %tick
7730trapasi_10_117:
7731mov 0x18, %r1 ! (VA for ASI 0x4c)
7732 .word 0xd0c84b60 ! 188: LDSBA_R ldsba [%r1, %r0] 0x5b, %r8
7733 nop
7734 ta T_CHANGE_HPRIV
7735 mov 0x10+1, %r10
7736 set sync_thr_counter1, %r23
7737 cas [%r23],%g0,%r10 !lock
7738 brnz %r10, cwq_10_118
7739 rd %asi, %r12
7740 wr %g0, 0x40, %asi
7741 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
7742 and %l1, 0x3, %l1 ! Check if busy/enabled ..
7743 cmp %l1, 1
7744 bne cwq_10_118
7745 set CWQ_BASE, %l6
7746 best_set_reg(0x20610030, %l1, %l2) !# Control Word
7747 sllx %l2, 32, %l2
7748 stx %l2, [%l6 + 0x0]
7749 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
7750 sub %l2, 0x40, %l2
7751 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
7752 wr %r12, %g0, %asi
7753 st %g0, [%r23]
7754cwq_10_118:
7755 ta T_CHANGE_NONHPRIV
7756 .word 0x93414000 ! 189: RDPC rd %pc, %r9
7757 .word 0xe827e0dc ! 190: STW_I stw %r20, [%r31 + 0x00dc]
7758 set 0x32bb, %l3
7759 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
7760 .word 0x99b407d4 ! 191: PDIST pdistn %d16, %d20, %d12
7761 .word 0x97450000 ! 192: RD_SET_SOFTINT rd %set_softint, %r11
7762 .word 0xe1bfde00 ! 193: STDFA_R stda %f16, [%r0, %r31]
7763 .word 0xe81fc000 ! 194: LDD_R ldd [%r31 + %r0], %r20
7764 .word 0xe857e038 ! 195: LDSH_I ldsh [%r31 + 0x0038], %r20
7765 .word 0xa1a149ad ! 196: FDIVs fdivs %f5, %f13, %f16
7766 .word 0xc1bfe060 ! 197: STDFA_I stda %f0, [0x0060, %r31]
7767 .word 0x9ba349d3 ! 198: FDIVd fdivd %f44, %f50, %f44
7768 .word 0xb1800011 ! 199: WR_STICK_REG_R wr %r0, %r17, %-
7769 .word 0x9f802ef4 ! 200: SIR sir 0x0ef4
7770jmptr_10_119:
7771 nop
7772 best_set_reg(0xe1200000, %r20, %r27)
7773 .word 0xb7c6c000 ! 201: JMPL_R jmpl %r27 + %r0, %r27
7774br_longdelay3_10_120:
7775 nop
7776 not %g0, %r12
7777 jmp %r12
7778 .word 0x99902003 ! 202: WRPR_CLEANWIN_I wrpr %r0, 0x0003, %cleanwin
7779 .word 0xc1bfdc00 ! 203: STDFA_R stda %f0, [%r0, %r31]
7780 .word 0xd437e07e ! 204: STH_I sth %r10, [%r31 + 0x007e]
7781splash_tba_10_121:
7782 ta T_CHANGE_PRIV
7783 setx 0x0000000000380000, %r11, %r12
7784 .word 0x8b90000c ! 205: WRPR_TBA_R wrpr %r0, %r12, %tba
7785tagged_10_122:
7786 tsubcctv %r8, 0x1941, %r13
7787 .word 0xd407e0b0 ! 206: LDUW_I lduw [%r31 + 0x00b0], %r10
7788 .word 0x9f8026c0 ! 207: SIR sir 0x06c0
7789 nop
7790 ta T_CHANGE_HPRIV
7791 mov 0x10, %r10
7792 set sync_thr_counter2, %r23
7793 cas [%r23],%g0,%r10 !lock
7794 brnz %r10, sma_10_123
7795 rd %asi, %r12
7796 wr %g0, 0x40, %asi
7797 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
7798 set 0x001a1fff, %g1
7799 stxa %g1, [%g0 + 0x80] %asi
7800 wr %r12, %g0, %asi
7801 st %g0, [%r23]
7802sma_10_123:
7803 ta T_CHANGE_NONHPRIV
7804 .word 0xd5e7e00a ! 208: CASA_R casa [%r31] %asi, %r10, %r10
7805jmptr_10_124:
7806 nop
7807 best_set_reg(0xe1200000, %r20, %r27)
7808 .word 0xb7c6c000 ! 209: JMPL_R jmpl %r27 + %r0, %r27
7809 .word 0xa550c000 ! 210: RDPR_TT <illegal instruction>
7810 .word 0xe137c000 ! 211: STQF_R - %f16, [%r0, %r31]
7811intveclr_10_125:
7812 nop
7813 ta T_CHANGE_HPRIV
7814 setx 0x1b0cfa6fa9f7c1ed, %r1, %r28
7815 stxa %r28, [%g0] 0x72
7816 ta T_CHANGE_NONHPRIV
7817 .word 0x25400001 ! 212: FBPLG fblg,a,pn %fcc0, <label_0x1>
7818intveclr_10_126:
7819 nop
7820 ta T_CHANGE_HPRIV
7821 setx 0x5c4748a401173376, %r1, %r28
7822 stxa %r28, [%g0] 0x72
7823 .word 0x25400001 ! 213: FBPLG fblg,a,pn %fcc0, <label_0x1>
7824 .word 0x32700001 ! 214: BPNE <illegal instruction>
7825 nop
7826 mov 0x80, %g3
7827 stxa %g3, [%g3] 0x5f
7828 .word 0xe05fc000 ! 215: LDX_R ldx [%r31 + %r0], %r16
7829br_longdelay3_10_127:
7830 nop
7831 not %g0, %r12
7832 jmp %r12
7833 .word 0x99902002 ! 216: WRPR_CLEANWIN_I wrpr %r0, 0x0002, %cleanwin
7834splash_lsu_10_128:
7835 nop
7836 ta T_CHANGE_HPRIV
7837 set 0x2b8e3daf, %r2
7838 mov 0x2, %r1
7839 sllx %r1, 32, %r1
7840 or %r1, %r2, %r2
7841 stxa %r2, [%r0] ASI_LSU_CONTROL
7842 .word 0x3d400001 ! 217: FBPULE fbule,a,pn %fcc0, <label_0x1>
7843 nop
7844 ta T_CHANGE_HPRIV
7845 mov 0x10, %r10
7846 set sync_thr_counter2, %r23
7847 cas [%r23],%g0,%r10 !lock
7848 brnz %r10, sma_10_129
7849 rd %asi, %r12
7850 wr %g0, 0x40, %asi
7851 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
7852 set 0x00061fff, %g1
7853 stxa %g1, [%g0 + 0x80] %asi
7854 wr %r12, %g0, %asi
7855 st %g0, [%r23]
7856sma_10_129:
7857 ta T_CHANGE_NONHPRIV
7858 .word 0xe1e7e00a ! 218: CASA_R casa [%r31] %asi, %r10, %r16
7859pmu_10_130:
7860 nop
7861 ta T_CHANGE_PRIV
7862 setx 0xfffffb11fffff3d6, %g1, %g7
7863 .word 0xa3800007 ! 219: WR_PERF_COUNTER_R wr %r0, %r7, %-
7864 .word 0x9192400c ! 220: WRPR_PIL_R wrpr %r9, %r12, %pil
7865 invalw
7866 mov 0x34, %r30
7867 .word 0x91d0001e ! 221: Tcc_R ta icc_or_xcc, %r0 + %r30
7868 .word 0x87ac0a47 ! 222: FCMPd fcmpd %fcc<n>, %f16, %f38
7869intveclr_10_132:
7870 nop
7871 ta T_CHANGE_HPRIV
7872 setx 0x7d13bd5614b23d53, %r1, %r28
7873 stxa %r28, [%g0] 0x72
7874 ta T_CHANGE_NONHPRIV
7875 .word 0x25400001 ! 223: FBPLG fblg,a,pn %fcc0, <label_0x1>
7876splash_hpstate_10_133:
7877 ta T_CHANGE_NONHPRIV
7878 .word 0x81982e8f ! 224: WRHPR_HPSTATE_I wrhpr %r0, 0x0e8f, %hpstate
7879!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_10_134)+40, 16, 16)) -> intp(mask2tid(0x10),1,3)
7880!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_10_134)&0xffffffff) +40, 16, 16)) -> intp(mask2tid(0x10),1,3)
7881xir_10_134:
7882 .word 0xa984e27b ! 225: WR_SET_SOFTINT_I wr %r19, 0x027b, %set_softint
7883 .word 0x91520000 ! 226: RDPR_PIL <illegal instruction>
7884pmu_10_135:
7885 nop
7886 ta T_CHANGE_PRIV
7887 setx 0xfffffa0cfffff3cc, %g1, %g7
7888 .word 0xa3800007 ! 227: WR_PERF_COUNTER_R wr %r0, %r7, %-
7889 .word 0x9f802da9 ! 228: SIR sir 0x0da9
7890 .word 0xe537c000 ! 229: STQF_R - %f18, [%r0, %r31]
7891 invalw
7892 mov 0x34, %r30
7893 .word 0x91d0001e ! 230: Tcc_R ta icc_or_xcc, %r0 + %r30
7894 .word 0xc3e98032 ! 231: PREFETCHA_R prefetcha [%r6, %r18] 0x01, #one_read
7895splash_hpstate_10_136:
7896 .word 0x2ecc8001 ! 1: BRGEZ brgez,a,pt %r18,<label_0xc8001>
7897 .word 0x81982907 ! 232: WRHPR_HPSTATE_I wrhpr %r0, 0x0907, %hpstate
7898 setx 0x85134fb1cb0adaee, %r1, %r28
7899 stxa %r28, [%g0] 0x73
7900intvec_10_137:
7901 .word 0x39400001 ! 233: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
7902 invalw
7903 mov 0xb5, %r30
7904 .word 0x91d0001e ! 234: Tcc_R ta icc_or_xcc, %r0 + %r30
7905 .word 0xb1800011 ! 235: WR_STICK_REG_R wr %r0, %r17, %-
7906 .word 0xd80fe038 ! 236: LDUB_I ldub [%r31 + 0x0038], %r12
7907 nop
7908 ta T_CHANGE_HPRIV
7909 mov 0x10+1, %r10
7910 set sync_thr_counter1, %r23
7911 cas [%r23],%g0,%r10 !lock
7912 brnz %r10, cwq_10_138
7913 rd %asi, %r12
7914 wr %g0, 0x40, %asi
7915 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
7916 and %l1, 0x3, %l1 ! Check if busy/enabled ..
7917 cmp %l1, 1
7918 bne cwq_10_138
7919 set CWQ_BASE, %l6
7920 best_set_reg(0x206100c0, %l1, %l2) !# Control Word
7921 sllx %l2, 32, %l2
7922 stx %l2, [%l6 + 0x0]
7923 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
7924 sub %l2, 0x40, %l2
7925 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
7926 wr %r12, %g0, %asi
7927 st %g0, [%r23]
7928cwq_10_138:
7929 ta T_CHANGE_NONHPRIV
7930 .word 0xa7414000 ! 237: RDPC rd %pc, %r19
7931 otherw
7932 mov 0xb5, %r30
7933 .word 0x91d0001e ! 238: Tcc_R ta icc_or_xcc, %r0 + %r30
7934 nop
7935 ta T_CHANGE_HPRIV
7936 mov 0x10, %r10
7937 set sync_thr_counter2, %r23
7938 cas [%r23],%g0,%r10 !lock
7939 brnz %r10, sma_10_139
7940 rd %asi, %r12
7941 wr %g0, 0x40, %asi
7942 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
7943 set 0x00121fff, %g1
7944 stxa %g1, [%g0 + 0x80] %asi
7945 wr %r12, %g0, %asi
7946 st %g0, [%r23]
7947sma_10_139:
7948 ta T_CHANGE_NONHPRIV
7949 .word 0xe7e7e014 ! 239: CASA_R casa [%r31] %asi, %r20, %r19
7950 .word 0xe71fc000 ! 240: LDDF_R ldd [%r31, %r0], %f19
7951 .word 0x81460000 ! 241: RD_STICK_REG stbar
7952 nop
7953 ta T_CHANGE_HPRIV
7954 mov 0x10+1, %r10
7955 set sync_thr_counter1, %r23
7956 cas [%r23],%g0,%r10 !lock
7957 brnz %r10, cwq_10_140
7958 rd %asi, %r12
7959 wr %g0, 0x40, %asi
7960 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
7961 and %l1, 0x3, %l1 ! Check if busy/enabled ..
7962 cmp %l1, 1
7963 bne cwq_10_140
7964 set CWQ_BASE, %l6
7965 best_set_reg(0x20610030, %l1, %l2) !# Control Word
7966 sllx %l2, 32, %l2
7967 stx %l2, [%l6 + 0x0]
7968 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
7969 sub %l2, 0x40, %l2
7970 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
7971 wr %r12, %g0, %asi
7972 st %g0, [%r23]
7973cwq_10_140:
7974 ta T_CHANGE_NONHPRIV
7975 .word 0x97414000 ! 242: RDPC rd %pc, %r11
7976 .word 0x93d020b5 ! 243: Tcc_I tne icc_or_xcc, %r0 + 181
7977trapasi_10_141:
7978mov 0x3c0, %r1 ! (VA for ASI 0x25)
7979 .word 0xe0904b60 ! 244: LDUHA_R lduha [%r1, %r0] 0x5b, %r16
7980 .word 0xa5a00170 ! 245: FABSq dis not found
7981
7982 .word 0x91d02033 ! 246: Tcc_I ta icc_or_xcc, %r0 + 51
7983 invalw
7984 mov 0xb1, %r30
7985 .word 0x91d0001e ! 247: Tcc_R ta icc_or_xcc, %r0 + %r30
7986splash_lsu_10_142:
7987 nop
7988 ta T_CHANGE_HPRIV
7989 set 0x2fc20186, %r2
7990 mov 0x4, %r1
7991 sllx %r1, 32, %r1
7992 or %r1, %r2, %r2
7993 stxa %r2, [%r0] ASI_LSU_CONTROL
7994 .word 0x3d400001 ! 248: FBPULE fbule,a,pn %fcc0, <label_0x1>
7995pmu_10_143:
7996 nop
7997 ta T_CHANGE_PRIV
7998 setx 0xfffffe2cfffff006, %g1, %g7
7999 .word 0xa3800007 ! 249: WR_PERF_COUNTER_R wr %r0, %r7, %-
8000 .word 0xe1bfe040 ! 250: STDFA_I stda %f16, [0x0040, %r31]
8001 .word 0xb1800011 ! 251: WR_STICK_REG_R wr %r0, %r17, %-
8002 .word 0x83d02032 ! 252: Tcc_I te icc_or_xcc, %r0 + 50
8003 .word 0xe1bfda00 ! 253: STDFA_R stda %f16, [%r0, %r31]
8004memptr_10_144:
8005 set user_data_start, %r31
8006 .word 0x8580fcea ! 254: WRCCR_I wr %r3, 0x1cea, %ccr
8007fpinit_10_145:
8008 setx fp_data_quads, %r19, %r20
8009 ldd [%r20], %f0
8010 ldd [%r20+8], %f4
8011 ld [%r20+16], %fsr
8012 ld [%r20+24], %r19
8013 wr %r19, %g0, %gsr
8014 .word 0xc3e82190 ! 255: PREFETCHA_I prefetcha [%r0, + 0x0190] %asi, #one_read
8015 .word 0x8d903d66 ! 256: WRPR_PSTATE_I wrpr %r0, 0x1d66, %pstate
8016 .word 0xe527e0b8 ! 257: STF_I st %f18, [0x00b8, %r31]
8017splash_lsu_10_147:
8018 nop
8019 ta T_CHANGE_HPRIV
8020 set 0xcd267cee, %r2
8021 mov 0x4, %r1
8022 sllx %r1, 32, %r1
8023 or %r1, %r2, %r2
8024 stxa %r2, [%r0] ASI_LSU_CONTROL
8025 ta T_CHANGE_NONHPRIV
8026 .word 0x3d400001 ! 258: FBPULE fbule,a,pn %fcc0, <label_0x1>
8027 .word 0xe1bfe0e0 ! 259: STDFA_I stda %f16, [0x00e0, %r31]
8028mondo_10_148:
8029 nop
8030 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
8031 ta T_CHANGE_PRIV
8032 stxa %r8, [%r0+0x3e8] %asi
8033 .word 0x9d940010 ! 260: WRPR_WSTATE_R wrpr %r16, %r16, %wstate
8034 .word 0xa7480000 ! 261: RDHPR_HPSTATE rdhpr %hpstate, %r19
8035brcommon_10_149:
8036 ba,a .+12
8037 mov %r31, %r15
8038 ba,a .+8
8039 call common_target
8040 .word 0xe49fc034 ! 262: LDDA_R ldda [%r31, %r20] 0x01, %r18
8041 .word 0x97a00163 ! 263: FABSq dis not found
8042
8043 .word 0xc3ec402d ! 264: PREFETCHA_R prefetcha [%r17, %r13] 0x01, #one_read
8044 .word 0xe827e0d4 ! 265: STW_I stw %r20, [%r31 + 0x00d4]
8045 .word 0xe8cfe000 ! 266: LDSBA_I ldsba [%r31, + 0x0000] %asi, %r20
8046 .word 0x39400001 ! 267: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
8047memptr_10_150:
8048 set user_data_start, %r31
8049 .word 0x858421e5 ! 268: WRCCR_I wr %r16, 0x01e5, %ccr
8050splash_lsu_10_151:
8051 nop
8052 ta T_CHANGE_HPRIV
8053 set 0x2266bdae, %r2
8054 mov 0x5, %r1
8055 sllx %r1, 32, %r1
8056 or %r1, %r2, %r2
8057 stxa %r2, [%r0] ASI_LSU_CONTROL
8058 ta T_CHANGE_NONHPRIV
8059 .word 0x3d400001 ! 269: FBPULE fbule,a,pn %fcc0, <label_0x1>
8060 .word 0xd43fe03c ! 270: STD_I std %r10, [%r31 + 0x003c]
8061 .word 0x9ba2c9cc ! 271: FDIVd fdivd %f42, %f12, %f44
8062 .word 0xab80c003 ! 272: WR_CLEAR_SOFTINT_R wr %r3, %r3, %clear_softint
8063pmu_10_152:
8064 nop
8065 setx 0xfffff8eefffff4fb, %g1, %g7
8066 .word 0xa3800007 ! 273: WR_PERF_COUNTER_R wr %r0, %r7, %-
8067dvapa_10_153:
8068 nop
8069 ta T_CHANGE_HPRIV
8070 mov 0xf6b, %r20
8071 mov 0x2, %r19
8072 sllx %r20, 23, %r20
8073 or %r19, %r20, %r19
8074 stxa %r19, [%g0] ASI_LSU_CONTROL
8075 mov 0x38, %r18
8076 stxa %r31, [%r18]0x58
8077 ta T_CHANGE_NONHPRIV
8078 .word 0xe4bfc033 ! 274: STDA_R stda %r18, [%r31 + %r19] 0x01
8079 .word 0x9bb2c493 ! 275: FCMPLE32 fcmple32 %d42, %d50, %r13
8080jmptr_10_154:
8081 nop
8082 best_set_reg(0xe1200000, %r20, %r27)
8083 .word 0xb7c6c000 ! 276: JMPL_R jmpl %r27 + %r0, %r27
8084 .word 0xe1bfe0e0 ! 277: STDFA_I stda %f16, [0x00e0, %r31]
8085 .word 0x9f8032dd ! 278: SIR sir 0x12dd
8086 nop
8087 ta T_CHANGE_HPRIV
8088 mov 0x10, %r10
8089 set sync_thr_counter2, %r23
8090 cas [%r23],%g0,%r10 !lock
8091 brnz %r10, sma_10_155
8092 rd %asi, %r12
8093 wr %g0, 0x40, %asi
8094 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
8095 set 0x00121fff, %g1
8096 stxa %g1, [%g0 + 0x80] %asi
8097 wr %r12, %g0, %asi
8098 st %g0, [%r23]
8099sma_10_155:
8100 ta T_CHANGE_NONHPRIV
8101 .word 0xdbe7e010 ! 279: CASA_R casa [%r31] %asi, %r16, %r13
8102splash_tba_10_156:
8103 ta T_CHANGE_PRIV
8104 set 0x120000, %r12
8105 .word 0x8b90000c ! 280: WRPR_TBA_R wrpr %r0, %r12, %tba
8106pmu_10_157:
8107 nop
8108 setx 0xfffff0c3fffff881, %g1, %g7
8109 .word 0xa3800007 ! 281: WR_PERF_COUNTER_R wr %r0, %r7, %-
8110mondo_10_158:
8111 nop
8112 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
8113 stxa %r20, [%r0+0x3c8] %asi
8114 .word 0x9d90c010 ! 282: WRPR_WSTATE_R wrpr %r3, %r16, %wstate
8115 nop
8116 ta T_CHANGE_HPRIV
8117 mov 0x10+1, %r10
8118 set sync_thr_counter1, %r23
8119 cas [%r23],%g0,%r10 !lock
8120 brnz %r10, cwq_10_159
8121 rd %asi, %r12
8122 wr %g0, 0x40, %asi
8123 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
8124 and %l1, 0x3, %l1 ! Check if busy/enabled ..
8125 cmp %l1, 1
8126 bne cwq_10_159
8127 set CWQ_BASE, %l6
8128 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
8129 sllx %l2, 32, %l2
8130 stx %l2, [%l6 + 0x0]
8131 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
8132 sub %l2, 0x40, %l2
8133 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
8134 wr %r12, %g0, %asi
8135 st %g0, [%r23]
8136cwq_10_159:
8137 ta T_CHANGE_NONHPRIV
8138 .word 0x99414000 ! 283: RDPC rd %pc, %r12
8139 .word 0x91a00164 ! 284: FABSq dis not found
8140
8141jmptr_10_160:
8142 nop
8143 best_set_reg(0xe1200000, %r20, %r27)
8144 .word 0xb7c6c000 ! 285: JMPL_R jmpl %r27 + %r0, %r27
8145intveclr_10_161:
8146 nop
8147 ta T_CHANGE_HPRIV
8148 setx 0x1ca8fb376354d187, %r1, %r28
8149 stxa %r28, [%g0] 0x72
8150 .word 0x25400001 ! 286: FBPLG fblg,a,pn %fcc0, <label_0x1>
8151 .word 0xa7a309c2 ! 287: FDIVd fdivd %f12, %f2, %f50
8152 .word 0x8d9034b2 ! 288: WRPR_PSTATE_I wrpr %r0, 0x14b2, %pstate
8153 nop
8154 ta T_CHANGE_HPRIV
8155 mov 0x10, %r10
8156 set sync_thr_counter2, %r23
8157 cas [%r23],%g0,%r10 !lock
8158 brnz %r10, sma_10_163
8159 rd %asi, %r12
8160 wr %g0, 0x40, %asi
8161 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
8162 set 0x00021fff, %g1
8163 stxa %g1, [%g0 + 0x80] %asi
8164 wr %r12, %g0, %asi
8165 st %g0, [%r23]
8166sma_10_163:
8167 ta T_CHANGE_NONHPRIV
8168 .word 0xe9e7e010 ! 289: CASA_R casa [%r31] %asi, %r16, %r20
8169 .word 0xa7a089c5 ! 290: FDIVd fdivd %f2, %f36, %f50
8170 .word 0x91934012 ! 291: WRPR_PIL_R wrpr %r13, %r18, %pil
8171 .word 0xe1bfdf20 ! 292: STDFA_R stda %f16, [%r0, %r31]
8172donret_10_165:
8173 nop
8174 ta T_CHANGE_HPRIV ! macro
8175 rd %pc, %r12
8176 add %r12, (donretarg_10_165-donret_10_165-4), %r12
8177 mov 0x38, %r18
8178 stxa %r12, [%r18]0x58
8179 add %r12, 0x4, %r11
8180 wrpr %g0, 0x1, %tl
8181 wrpr %g0, %r12, %tpc
8182 wrpr %g0, %r11, %tnpc
8183 set (0x00aabba6 | (0x89 << 24)), %r13
8184 rdpr %tstate, %r16
8185 mov 0x1f, %r19
8186 and %r19, %r16, %r17
8187 andn %r16, %r19, %r16
8188 or %r16, %r17, %r20
8189 wrpr %r20, %g0, %tstate
8190 wrhpr %g0, 0x80f, %htstate
8191 ta T_CHANGE_NONPRIV ! rand=0 (10)
8192 .word 0x22cc0001 ! 1: BRZ brz,a,pt %r16,<label_0xc0001>
8193 done
8194donretarg_10_165:
8195 .word 0xd6ffe0dd ! 293: SWAPA_I swapa %r11, [%r31 + 0x00dd] %asi
8196br_longdelay1_10_166:
8197 .word 0x39400001 ! 1: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
8198 .word 0xbfefc000 ! 294: RESTORE_R restore %r31, %r0, %r31
8199 .word 0xe19fe080 ! 295: LDDFA_I ldda [%r31, 0x0080], %f16
8200 setx 0x7308d25464171ba5, %r1, %r28
8201 stxa %r28, [%g0] 0x73
8202intvec_10_167:
8203 .word 0x39400001 ! 296: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
8204intveclr_10_168:
8205 nop
8206 ta T_CHANGE_HPRIV
8207 setx 0x44a7b53ff9625b86, %r1, %r28
8208 stxa %r28, [%g0] 0x72
8209 ta T_CHANGE_NONHPRIV
8210 .word 0x25400001 ! 297: FBPLG fblg,a,pn %fcc0, <label_0x1>
8211 .word 0x26800001 ! 298: BL bl,a <label_0x1>
8212jmptr_10_169:
8213 nop
8214 best_set_reg(0xe1200000, %r20, %r27)
8215 .word 0xb7c6c000 ! 299: JMPL_R jmpl %r27 + %r0, %r27
8216 nop
8217 ta T_CHANGE_HPRIV
8218 mov 0x10, %r10
8219 set sync_thr_counter2, %r23
8220 cas [%r23],%g0,%r10 !lock
8221 brnz %r10, sma_10_170
8222 rd %asi, %r12
8223 wr %g0, 0x40, %asi
8224 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
8225 set 0x000e1fff, %g1
8226 stxa %g1, [%g0 + 0x80] %asi
8227 wr %r12, %g0, %asi
8228 st %g0, [%r23]
8229sma_10_170:
8230 ta T_CHANGE_NONHPRIV
8231 .word 0xd7e7e008 ! 300: CASA_R casa [%r31] %asi, %r8, %r11
8232 .word 0xd697e008 ! 301: LDUHA_I lduha [%r31, + 0x0008] %asi, %r11
8233 nop
8234 nop
8235 ta T_CHANGE_PRIV
8236 wrpr %g0, %g0, %gl
8237 nop
8238 nop
8239 setx join_lbl_0_0, %g1, %g2
8240 jmp %g2
8241 nop
8242fork_lbl_0_4:
8243 ta T_CHANGE_NONHPRIV
8244br_badelay3_8_0:
8245 .word 0x34800001 ! 1: BG bg,a <label_0x1>
8246 .word 0x9f749210 ! Random illegal ?
8247 .word 0xd915000a ! 1: LDQF_R - [%r20, %r10], %f12
8248 .word 0xa7a20833 ! 1: FADDs fadds %f8, %f19, %f19
8249 nop
8250 ta T_CHANGE_HPRIV
8251 mov 0x8, %r10
8252 set sync_thr_counter2, %r23
8253 cas [%r23],%g0,%r10 !lock
8254 brnz %r10, sma_8_1
8255 rd %asi, %r12
8256 wr %g0, 0x40, %asi
8257 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
8258 set 0x00121fff, %g1
8259 stxa %g1, [%g0 + 0x80] %asi
8260 wr %r12, %g0, %asi
8261 st %g0, [%r23]
8262sma_8_1:
8263 ta T_CHANGE_NONHPRIV
8264 .word 0xdbe7e012 ! 2: CASA_R casa [%r31] %asi, %r18, %r13
8265splash_hpstate_8_2:
8266 .word 0x22800001 ! 1: BE be,a <label_0x1>
8267 .word 0x8198254f ! 3: WRHPR_HPSTATE_I wrhpr %r0, 0x054f, %hpstate
8268 nop
8269 ta T_CHANGE_HPRIV
8270 mov 0x8, %r10
8271 set sync_thr_counter2, %r23
8272 cas [%r23],%g0,%r10 !lock
8273 brnz %r10, sma_8_3
8274 rd %asi, %r12
8275 wr %g0, 0x40, %asi
8276 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
8277 set 0x000e1fff, %g1
8278 stxa %g1, [%g0 + 0x80] %asi
8279 wr %r12, %g0, %asi
8280 st %g0, [%r23]
8281sma_8_3:
8282 ta T_CHANGE_NONHPRIV
8283 .word 0xdbe7e012 ! 4: CASA_R casa [%r31] %asi, %r18, %r13
8284 .word 0x91d020b3 ! 5: Tcc_I ta icc_or_xcc, %r0 + 179
8285jmptr_8_4:
8286 nop
8287 best_set_reg(0xe0a00000, %r20, %r27)
8288 .word 0xb7c6c000 ! 6: JMPL_R jmpl %r27 + %r0, %r27
8289 .word 0xdb27c000 ! 7: STF_R st %f13, [%r0, %r31]
8290 otherw
8291 mov 0xb4, %r30
8292 .word 0x91d0001e ! 8: Tcc_R ta icc_or_xcc, %r0 + %r30
8293mondo_8_5:
8294 nop
8295 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
8296 ta T_CHANGE_PRIV
8297 stxa %r12, [%r0+0x3d8] %asi
8298 .word 0x9d918014 ! 9: WRPR_WSTATE_R wrpr %r6, %r20, %wstate
8299 .word 0x91d02032 ! 10: Tcc_I ta icc_or_xcc, %r0 + 50
8300pmu_8_6:
8301 nop
8302 ta T_CHANGE_PRIV
8303 setx 0xfffff1e3fffff694, %g1, %g7
8304 .word 0xa3800007 ! 11: WR_PERF_COUNTER_R wr %r0, %r7, %-
8305memptr_8_7:
8306 set 0x60540000, %r31
8307 .word 0x8580e917 ! 12: WRCCR_I wr %r3, 0x0917, %ccr
8308 nop
8309 ta T_CHANGE_HPRIV
8310 mov 0x8+1, %r10
8311 set sync_thr_counter1, %r23
8312 cas [%r23],%g0,%r10 !lock
8313 brnz %r10, cwq_8_8
8314 rd %asi, %r12
8315 wr %g0, 0x40, %asi
8316 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
8317 and %l1, 0x3, %l1 ! Check if busy/enabled ..
8318 cmp %l1, 1
8319 bne cwq_8_8
8320 set CWQ_BASE, %l6
8321 best_set_reg(0x206100a0, %l1, %l2) !# Control Word
8322 sllx %l2, 32, %l2
8323 stx %l2, [%l6 + 0x0]
8324 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
8325 sub %l2, 0x40, %l2
8326 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
8327 wr %r12, %g0, %asi
8328 st %g0, [%r23]
8329cwq_8_8:
8330 ta T_CHANGE_NONHPRIV
8331 .word 0x99414000 ! 13: RDPC rd %pc, %r12
8332pmu_8_9:
8333 nop
8334 setx 0xfffff86cfffffc58, %g1, %g7
8335 .word 0xa3800007 ! 14: WR_PERF_COUNTER_R wr %r0, %r7, %-
8336 nop
8337 ta T_CHANGE_HPRIV
8338 mov 0x8+1, %r10
8339 set sync_thr_counter1, %r23
8340 cas [%r23],%g0,%r10 !lock
8341 brnz %r10, cwq_8_10
8342 rd %asi, %r12
8343 wr %g0, 0x40, %asi
8344 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
8345 and %l1, 0x3, %l1 ! Check if busy/enabled ..
8346 cmp %l1, 1
8347 bne cwq_8_10
8348 set CWQ_BASE, %l6
8349 best_set_reg(0x20610040, %l1, %l2) !# Control Word
8350 sllx %l2, 32, %l2
8351 stx %l2, [%l6 + 0x0]
8352 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
8353 sub %l2, 0x40, %l2
8354 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
8355 wr %r12, %g0, %asi
8356 st %g0, [%r23]
8357cwq_8_10:
8358 ta T_CHANGE_NONHPRIV
8359 .word 0x97414000 ! 15: RDPC rd %pc, %r11
8360mondo_8_11:
8361 nop
8362 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
8363 ta T_CHANGE_PRIV
8364 stxa %r6, [%r0+0x3c8] %asi
8365 .word 0x9d944011 ! 16: WRPR_WSTATE_R wrpr %r17, %r17, %wstate
8366br_badelay3_8_12:
8367 .word 0x20800001 ! 1: BN bn,a <label_0x1>
8368 .word 0xed723b17 ! Random illegal ?
8369 .word 0x93a00552 ! 1: FSQRTd fsqrt
8370 .word 0xa3a30830 ! 17: FADDs fadds %f12, %f16, %f17
8371dvapa_8_13:
8372 nop
8373 ta T_CHANGE_HPRIV
8374 mov 0xa66, %r20
8375 mov 0xc, %r19
8376 sllx %r20, 23, %r20
8377 or %r19, %r20, %r19
8378 stxa %r19, [%g0] ASI_LSU_CONTROL
8379 mov 0x38, %r18
8380 stxa %r31, [%r18]0x58
8381 ta T_CHANGE_NONHPRIV
8382 .word 0xd83ffc48 ! 18: STD_I std %r12, [%r31 + 0xfffffc48]
8383tagged_8_14:
8384 tsubcctv %r10, 0x1654, %r18
8385 .word 0xd807e028 ! 19: LDUW_I lduw [%r31 + 0x0028], %r12
8386 .word 0xe1bfe0e0 ! 20: STDFA_I stda %f16, [0x00e0, %r31]
8387splash_hpstate_8_15:
8388 ta T_CHANGE_NONHPRIV
8389 .word 0x3c800001 ! 1: BPOS bpos,a <label_0x1>
8390 .word 0x81982e74 ! 21: WRHPR_HPSTATE_I wrhpr %r0, 0x0e74, %hpstate
8391 .word 0xd8d7e008 ! 22: LDSHA_I ldsha [%r31, + 0x0008] %asi, %r12
8392intveclr_8_16:
8393 nop
8394 ta T_CHANGE_HPRIV
8395 setx 0xf2a6099ca21e882e, %r1, %r28
8396 stxa %r28, [%g0] 0x72
8397 .word 0x25400001 ! 23: FBPLG fblg,a,pn %fcc0, <label_0x1>
8398 nop
8399 ta T_CHANGE_HPRIV
8400 mov 0x8+1, %r10
8401 set sync_thr_counter1, %r23
8402 cas [%r23],%g0,%r10 !lock
8403 brnz %r10, cwq_8_17
8404 rd %asi, %r12
8405 wr %g0, 0x40, %asi
8406 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
8407 and %l1, 0x3, %l1 ! Check if busy/enabled ..
8408 cmp %l1, 1
8409 bne cwq_8_17
8410 set CWQ_BASE, %l6
8411 best_set_reg(0x20610090, %l1, %l2) !# Control Word
8412 sllx %l2, 32, %l2
8413 stx %l2, [%l6 + 0x0]
8414 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
8415 sub %l2, 0x40, %l2
8416 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
8417 wr %r12, %g0, %asi
8418 st %g0, [%r23]
8419cwq_8_17:
8420 ta T_CHANGE_NONHPRIV
8421 .word 0xa3414000 ! 24: RDPC rd %pc, %r17
8422splash_htba_8_18:
8423 nop
8424 ta T_CHANGE_HPRIV
8425 setx 0x00000000002a0000, %r11, %r12
8426 .word 0x8b98000c ! 25: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
8427br_longdelay2_8_19:
8428 .word 0x27400001 ! 1: FBPUL fbul,a,pn %fcc0, <label_0x1>
8429 .word 0x87ad0a47 ! 26: FCMPd fcmpd %fcc<n>, %f20, %f38
8430br_longdelay1_8_20:
8431 .word 0x22c98001 ! 1: BRZ brz,a,pt %r6,<label_0x98001>
8432 .word 0xbfe7c000 ! 27: SAVE_R save %r31, %r0, %r31
8433 .word 0xb1800011 ! 28: WR_STICK_REG_R wr %r0, %r17, %-
8434 .word 0x9f8030bd ! 29: SIR sir 0x10bd
8435 .word 0x91d02034 ! 30: Tcc_I ta icc_or_xcc, %r0 + 52
8436splash_tba_8_21:
8437 ta T_CHANGE_PRIV
8438 setx 0x00000000003a0000, %r11, %r12
8439 .word 0x8b90000c ! 31: WRPR_TBA_R wrpr %r0, %r12, %tba
8440mondo_8_22:
8441 nop
8442 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
8443 ta T_CHANGE_PRIV
8444 stxa %r13, [%r0+0x3d8] %asi
8445 .word 0x9d940001 ! 32: WRPR_WSTATE_R wrpr %r16, %r1, %wstate
8446 .word 0x20700001 ! 33: BPN <illegal instruction>
8447 .word 0x9190aac9 ! 34: WRPR_PIL_I wrpr %r2, 0x0ac9, %pil
8448 .word 0x83d020b5 ! 35: Tcc_I te icc_or_xcc, %r0 + 181
8449 .word 0x9f80275b ! 36: SIR sir 0x075b
8450 nop
8451 ta T_CHANGE_HPRIV
8452 mov 0x8+1, %r10
8453 set sync_thr_counter1, %r23
8454 cas [%r23],%g0,%r10 !lock
8455 brnz %r10, cwq_8_23
8456 rd %asi, %r12
8457 wr %g0, 0x40, %asi
8458 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
8459 and %l1, 0x3, %l1 ! Check if busy/enabled ..
8460 cmp %l1, 1
8461 bne cwq_8_23
8462 set CWQ_BASE, %l6
8463 best_set_reg(0x20610080, %l1, %l2) !# Control Word
8464 sllx %l2, 32, %l2
8465 stx %l2, [%l6 + 0x0]
8466 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
8467 sub %l2, 0x40, %l2
8468 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
8469 wr %r12, %g0, %asi
8470 st %g0, [%r23]
8471cwq_8_23:
8472 ta T_CHANGE_NONHPRIV
8473 .word 0x97414000 ! 37: RDPC rd %pc, %r11
8474 nop
8475 ta T_CHANGE_HPRIV
8476 mov 0x8+1, %r10
8477 set sync_thr_counter1, %r23
8478 cas [%r23],%g0,%r10 !lock
8479 brnz %r10, cwq_8_24
8480 rd %asi, %r12
8481 wr %g0, 0x40, %asi
8482 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
8483 and %l1, 0x3, %l1 ! Check if busy/enabled ..
8484 cmp %l1, 1
8485 bne cwq_8_24
8486 set CWQ_BASE, %l6
8487 best_set_reg(0x20610040, %l1, %l2) !# Control Word
8488 sllx %l2, 32, %l2
8489 stx %l2, [%l6 + 0x0]
8490 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
8491 sub %l2, 0x40, %l2
8492 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
8493 wr %r12, %g0, %asi
8494 st %g0, [%r23]
8495cwq_8_24:
8496 ta T_CHANGE_NONHPRIV
8497 .word 0xa5414000 ! 38: RDPC rd %pc, %r18
8498jmptr_8_25:
8499 nop
8500 best_set_reg(0xe0a00000, %r20, %r27)
8501 .word 0xb7c6c000 ! 39: JMPL_R jmpl %r27 + %r0, %r27
8502ibp_8_26:
8503 nop
8504 ta T_CHANGE_HPRIV
8505 .word 0xd097c022 ! 40: LDUHA_R lduha [%r31, %r2] 0x01, %r8
8506 setx 0x2864519c87572896, %r1, %r28
8507 stxa %r28, [%g0] 0x73
8508intvec_8_27:
8509 .word 0x39400001 ! 41: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
8510 .word 0x8d903a99 ! 42: WRPR_PSTATE_I wrpr %r0, 0x1a99, %pstate
8511 .word 0xd06fe03f ! 43: LDSTUB_I ldstub %r8, [%r31 + 0x003f]
8512trapasi_8_29:
8513mov 0x20, %r1 ! (VA for ASI 0x5b)
8514 .word 0xd0c84b40 ! 44: LDSBA_R ldsba [%r1, %r0] 0x5a, %r8
8515 nop
8516 ta T_CHANGE_HPRIV
8517 mov 0x8+1, %r10
8518 set sync_thr_counter1, %r23
8519 cas [%r23],%g0,%r10 !lock
8520 brnz %r10, cwq_8_30
8521 rd %asi, %r12
8522 wr %g0, 0x40, %asi
8523 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
8524 and %l1, 0x3, %l1 ! Check if busy/enabled ..
8525 cmp %l1, 1
8526 bne cwq_8_30
8527 set CWQ_BASE, %l6
8528 best_set_reg(0x206100b0, %l1, %l2) !# Control Word
8529 sllx %l2, 32, %l2
8530 stx %l2, [%l6 + 0x0]
8531 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
8532 sub %l2, 0x40, %l2
8533 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
8534 wr %r12, %g0, %asi
8535 st %g0, [%r23]
8536cwq_8_30:
8537 ta T_CHANGE_NONHPRIV
8538 .word 0xa7414000 ! 45: RDPC rd %pc, %r19
8539fpinit_8_31:
8540 setx fp_data_quads, %r19, %r20
8541 ldd [%r20], %f0
8542 ldd [%r20+8], %f4
8543 ld [%r20+16], %fsr
8544 ld [%r20+24], %r19
8545 wr %r19, %g0, %gsr
8546 .word 0x8db00484 ! 46: FCMPLE32 fcmple32 %d0, %d4, %r6
8547memptr_8_32:
8548 set 0x60140000, %r31
8549 .word 0x85852555 ! 47: WRCCR_I wr %r20, 0x0555, %ccr
8550mondo_8_33:
8551 nop
8552 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
8553 stxa %r20, [%r0+0x3e8] %asi
8554 .word 0x9d924003 ! 48: WRPR_WSTATE_R wrpr %r9, %r3, %wstate
8555 .word 0x91940012 ! 49: WRPR_PIL_R wrpr %r16, %r18, %pil
8556 nop
8557 ta T_CHANGE_HPRIV
8558 mov 0x8, %r10
8559 set sync_thr_counter2, %r23
8560 cas [%r23],%g0,%r10 !lock
8561 brnz %r10, sma_8_35
8562 rd %asi, %r12
8563 wr %g0, 0x40, %asi
8564 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
8565 set 0x00061fff, %g1
8566 stxa %g1, [%g0 + 0x80] %asi
8567 wr %r12, %g0, %asi
8568 st %g0, [%r23]
8569sma_8_35:
8570 ta T_CHANGE_NONHPRIV
8571 .word 0xd9e7e009 ! 50: CASA_R casa [%r31] %asi, %r9, %r12
8572donret_8_36:
8573 nop
8574 ta T_CHANGE_HPRIV ! macro
8575 rd %pc, %r12
8576 add %r12, (donretarg_8_36-donret_8_36-8), %r12
8577 mov 0x38, %r18
8578 stxa %r12, [%r18]0x58
8579 add %r12, 0x4, %r11
8580 wrpr %g0, 0x1, %tl
8581 wrpr %g0, %r12, %tpc
8582 wrpr %g0, %r11, %tnpc
8583 set (0x00ff87d8 | (0x82 << 24)), %r13
8584 rdpr %tstate, %r16
8585 mov 0x1f, %r19
8586 and %r19, %r16, %r17
8587 andn %r16, %r19, %r16
8588 or %r16, %r17, %r20
8589 wrpr %r20, %g0, %tstate
8590 wrhpr %g0, 0xd0d, %htstate
8591 ta T_CHANGE_NONHPRIV ! rand=1 (8)
8592 .word 0x21400001 ! 1: FBPN fbn,a,pn %fcc0, <label_0x1>
8593 retry
8594donretarg_8_36:
8595 .word 0xd8ffe0fa ! 51: SWAPA_I swapa %r12, [%r31 + 0x00fa] %asi
8596 nop
8597 ta T_CHANGE_HPRIV
8598 mov 0x8+1, %r10
8599 set sync_thr_counter1, %r23
8600 cas [%r23],%g0,%r10 !lock
8601 brnz %r10, cwq_8_37
8602 rd %asi, %r12
8603 wr %g0, 0x40, %asi
8604 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
8605 and %l1, 0x3, %l1 ! Check if busy/enabled ..
8606 cmp %l1, 1
8607 bne cwq_8_37
8608 set CWQ_BASE, %l6
8609 best_set_reg(0x20610030, %l1, %l2) !# Control Word
8610 sllx %l2, 32, %l2
8611 stx %l2, [%l6 + 0x0]
8612 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
8613 sub %l2, 0x40, %l2
8614 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
8615 wr %r12, %g0, %asi
8616 st %g0, [%r23]
8617cwq_8_37:
8618 ta T_CHANGE_NONHPRIV
8619 .word 0xa1414000 ! 52: RDPC rd %pc, %r16
8620mondo_8_38:
8621 nop
8622 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
8623 ta T_CHANGE_PRIV
8624 stxa %r18, [%r0+0x3d8] %asi
8625 .word 0x9d910012 ! 53: WRPR_WSTATE_R wrpr %r4, %r18, %wstate
8626 setx 0x066149e5f3c340c8, %r1, %r28
8627 stxa %r28, [%g0] 0x73
8628intvec_8_39:
8629 .word 0x39400001 ! 54: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
8630 nop
8631 ta T_CHANGE_HPRIV
8632 mov 0x8+1, %r10
8633 set sync_thr_counter1, %r23
8634 cas [%r23],%g0,%r10 !lock
8635 brnz %r10, cwq_8_40
8636 rd %asi, %r12
8637 wr %g0, 0x40, %asi
8638 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
8639 and %l1, 0x3, %l1 ! Check if busy/enabled ..
8640 cmp %l1, 1
8641 bne cwq_8_40
8642 set CWQ_BASE, %l6
8643 best_set_reg(0x20610020, %l1, %l2) !# Control Word
8644 sllx %l2, 32, %l2
8645 stx %l2, [%l6 + 0x0]
8646 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
8647 sub %l2, 0x40, %l2
8648 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
8649 wr %r12, %g0, %asi
8650 st %g0, [%r23]
8651cwq_8_40:
8652 ta T_CHANGE_NONHPRIV
8653 .word 0x93414000 ! 55: RDPC rd %pc, %r9
8654 .word 0xa5a149d1 ! 56: FDIVd fdivd %f36, %f48, %f18
8655 .word 0xa3480000 ! 57: RDHPR_HPSTATE rdhpr %hpstate, %r17
8656 .word 0xc3e9802d ! 58: PREFETCHA_R prefetcha [%r6, %r13] 0x01, #one_read
8657fpinit_8_41:
8658 setx fp_data_quads, %r19, %r20
8659 ldd [%r20], %f0
8660 ldd [%r20+8], %f4
8661 ld [%r20+16], %fsr
8662 ld [%r20+24], %r19
8663 wr %r19, %g0, %gsr
8664 .word 0x89b00484 ! 59: FCMPLE32 fcmple32 %d0, %d4, %r4
8665 .word 0x9f802de3 ! 60: SIR sir 0x0de3
8666 nop
8667 ta T_CHANGE_HPRIV
8668 mov 0x8, %r10
8669 set sync_thr_counter2, %r23
8670 cas [%r23],%g0,%r10 !lock
8671 brnz %r10, sma_8_42
8672 rd %asi, %r12
8673 wr %g0, 0x40, %asi
8674 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
8675 set 0x00061fff, %g1
8676 stxa %g1, [%g0 + 0x80] %asi
8677 wr %r12, %g0, %asi
8678 st %g0, [%r23]
8679sma_8_42:
8680 ta T_CHANGE_NONHPRIV
8681 .word 0xd9e7e002 ! 61: CASA_R casa [%r31] %asi, %r2, %r12
8682br_badelay2_8_43:
8683 .word 0x34800001 ! 1: BG bg,a <label_0x1>
8684 pdist %f4, %f24, %f4
8685 .word 0xa7b14314 ! 62: ALIGNADDRESS alignaddr %r5, %r20, %r19
8686 .word 0x8d802004 ! 63: WRFPRS_I wr %r0, 0x0004, %fprs
8687br_longdelay1_8_44:
8688 .word 0x36800001 ! 1: BGE bge,a <label_0x1>
8689 .word 0x9d97c000 ! 64: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
8690 setx 0x13cc9f7fdb66396c, %r1, %r28
8691 stxa %r28, [%g0] 0x73
8692intvec_8_45:
8693 .word 0x39400001 ! 65: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
8694 .word 0xe53fc000 ! 66: STDF_R std %f18, [%r0, %r31]
8695vahole_8_46:
8696 nop
8697 ta T_CHANGE_NONHPRIV
8698 setx vahole_target, %r18, %r27
8699 jmpl %r27+0, %r27
8700 .word 0xe5e7e00d ! 67: CASA_R casa [%r31] %asi, %r13, %r18
8701 nop
8702 ta T_CHANGE_HPRIV
8703 mov 0x8+1, %r10
8704 set sync_thr_counter1, %r23
8705 cas [%r23],%g0,%r10 !lock
8706 brnz %r10, cwq_8_47
8707 rd %asi, %r12
8708 wr %g0, 0x40, %asi
8709 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
8710 and %l1, 0x3, %l1 ! Check if busy/enabled ..
8711 cmp %l1, 1
8712 bne cwq_8_47
8713 set CWQ_BASE, %l6
8714 best_set_reg(0x20610050, %l1, %l2) !# Control Word
8715 sllx %l2, 32, %l2
8716 stx %l2, [%l6 + 0x0]
8717 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
8718 sub %l2, 0x40, %l2
8719 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
8720 wr %r12, %g0, %asi
8721 st %g0, [%r23]
8722cwq_8_47:
8723 ta T_CHANGE_NONHPRIV
8724 .word 0x9b414000 ! 68: RDPC rd %pc, %r13
8725 .word 0xb1800011 ! 69: WR_STICK_REG_R wr %r0, %r17, %-
8726splash_hpstate_8_48:
8727 .word 0x26cc0001 ! 1: BRLZ brlz,a,pt %r16,<label_0xc0001>
8728 .word 0x81982f4c ! 70: WRHPR_HPSTATE_I wrhpr %r0, 0x0f4c, %hpstate
8729intveclr_8_49:
8730 nop
8731 ta T_CHANGE_HPRIV
8732 setx 0x092a989780362a53, %r1, %r28
8733 stxa %r28, [%g0] 0x72
8734 .word 0x25400001 ! 71: FBPLG fblg,a,pn %fcc0, <label_0x1>
8735 .word 0xe03fe020 ! 72: STD_I std %r16, [%r31 + 0x0020]
8736splash_lsu_8_50:
8737 nop
8738 ta T_CHANGE_HPRIV
8739 set 0x6a0c33d5, %r2
8740 mov 0x1, %r1
8741 sllx %r1, 32, %r1
8742 or %r1, %r2, %r2
8743 stxa %r2, [%r0] ASI_LSU_CONTROL
8744 .word 0x3d400001 ! 73: FBPULE fbule,a,pn %fcc0, <label_0x1>
8745 .word 0xe137e0d0 ! 74: STQF_I - %f16, [0x00d0, %r31]
8746 .word 0xc19fda00 ! 75: LDDFA_R ldda [%r31, %r0], %f0
8747 .word 0xe057e008 ! 76: LDSH_I ldsh [%r31 + 0x0008], %r16
8748splash_cmpr_8_51:
8749 nop
8750 setx 0xb0a3b2504a3934e8, %l2, %l1
8751 ta T_CHANGE_PRIV
8752 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
8753 ta T_CHANGE_NONPRIV
8754 sub %l1, 40, %g1
8755 .word 0x89900011 ! 77: WRPR_TICK_R wrpr %r0, %r17, %tick
8756splash_lsu_8_52:
8757 nop
8758 ta T_CHANGE_HPRIV
8759 set 0x60d65446, %r2
8760 mov 0x4, %r1
8761 sllx %r1, 32, %r1
8762 or %r1, %r2, %r2
8763 stxa %r2, [%r0] ASI_LSU_CONTROL
8764 ta T_CHANGE_NONHPRIV
8765 .word 0x3d400001 ! 78: FBPULE fbule,a,pn %fcc0, <label_0x1>
8766br_badelay2_8_53:
8767 .word 0x20800001 ! 1: BN bn,a <label_0x1>
8768 pdist %f24, %f28, %f6
8769 .word 0x99b30312 ! 79: ALIGNADDRESS alignaddr %r12, %r18, %r12
8770 .word 0xe1bfd920 ! 80: STDFA_R stda %f16, [%r0, %r31]
8771splash_cmpr_8_54:
8772 nop
8773 setx 0x819e9ffb5aa6f286, %l2, %l1
8774 ta T_CHANGE_HPRIV
8775 wrhpr %l1, %g0, %hsys_tick_cmpr
8776 sub %l1, 40, %g1
8777 .word 0x89900011 ! 81: WRPR_TICK_R wrpr %r0, %r17, %tick
8778 .word 0x97a00167 ! 82: FABSq dis not found
8779
8780vahole_8_55:
8781 nop
8782 ta T_CHANGE_NONHPRIV
8783 setx vahole_target, %r18, %r27
8784 jmpl %r27+0, %r27
8785 .word 0xda3fe43c ! 83: STD_I std %r13, [%r31 + 0x043c]
8786vahole_8_56:
8787 nop
8788 ta T_CHANGE_NONHPRIV
8789 setx vahole_target, %r18, %r27
8790 jmpl %r27+0, %r27
8791 .word 0xdb3fc002 ! 84: STDF_R std %f13, [%r2, %r31]
8792 .word 0x29800001 ! 85: FBL fbl,a <label_0x1>
8793memptr_8_58:
8794 set 0x60740000, %r31
8795 .word 0x85832c6b ! 86: WRCCR_I wr %r12, 0x0c6b, %ccr
8796 .word 0x9190feea ! 87: WRPR_PIL_I wrpr %r3, 0x1eea, %pil
8797 .word 0x91d02032 ! 88: Tcc_I ta icc_or_xcc, %r0 + 50
8798splash_tba_8_59:
8799 ta T_CHANGE_PRIV
8800 setx 0x00000000003a0000, %r11, %r12
8801 .word 0x8b90000c ! 89: WRPR_TBA_R wrpr %r0, %r12, %tba
8802 .word 0xe1bfe000 ! 90: STDFA_I stda %f16, [0x0000, %r31]
8803 .word 0x9f80260e ! 91: SIR sir 0x060e
8804 .word 0xda6fe03d ! 92: LDSTUB_I ldstub %r13, [%r31 + 0x003d]
8805 .word 0xda47e008 ! 93: LDSW_I ldsw [%r31 + 0x0008], %r13
8806br_longdelay1_8_60:
8807 .word 0x2ec94001 ! 1: BRGEZ brgez,a,pt %r5,<label_0x94001>
8808 .word 0xbfefc000 ! 94: RESTORE_R restore %r31, %r0, %r31
8809 bg,a skip_8_61
8810 .word 0xa7b284c7 ! 1: FCMPNE32 fcmpne32 %d10, %d38, %r19
8811.align 32
8812skip_8_61:
8813 .word 0xc36fe026 ! 95: PREFETCH_I prefetch [%r31 + 0x0026], #one_read
8814jmptr_8_62:
8815 nop
8816 best_set_reg(0xe0a00000, %r20, %r27)
8817 .word 0xb7c6c000 ! 96: JMPL_R jmpl %r27 + %r0, %r27
8818br_badelay2_8_63:
8819 .word 0x22800001 ! 1: BE be,a <label_0x1>
8820 allclean
8821 .word 0x95b5030a ! 97: ALIGNADDRESS alignaddr %r20, %r10, %r10
8822mondo_8_64:
8823 nop
8824 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
8825 ta T_CHANGE_PRIV
8826 stxa %r7, [%r0+0x3c8] %asi
8827 .word 0x9d94c010 ! 98: WRPR_WSTATE_R wrpr %r19, %r16, %wstate
8828 .word 0xc1bfc2c0 ! 99: STDFA_R stda %f0, [%r0, %r31]
8829 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
8830reduce_priv_lvl_8_65:
8831 ta T_CHANGE_NONHPRIV ! macro
8832intveclr_8_66:
8833 nop
8834 ta T_CHANGE_HPRIV
8835 setx 0xf7301d227c8fcc7b, %r1, %r28
8836 stxa %r28, [%g0] 0x72
8837 .word 0x25400001 ! 101: FBPLG fblg,a,pn %fcc0, <label_0x1>
8838dvapa_8_67:
8839 nop
8840 ta T_CHANGE_HPRIV
8841 mov 0xd79, %r20
8842 mov 0x2, %r19
8843 sllx %r20, 23, %r20
8844 or %r19, %r20, %r19
8845 stxa %r19, [%g0] ASI_LSU_CONTROL
8846 mov 0x38, %r18
8847 stxa %r31, [%r18]0x58
8848 ta T_CHANGE_NONHPRIV
8849 .word 0xdb3fc009 ! 102: STDF_R std %f13, [%r9, %r31]
8850trapasi_8_68:
8851mov 0x10, %r1 ! (VA for ASI 0x5b)
8852 .word 0xda904980 ! 103: LDUHA_R lduha [%r1, %r0] 0x4c, %r13
8853 .word 0xc19fd960 ! 104: LDDFA_R ldda [%r31, %r0], %f0
8854brcommon_8_69:
8855 ba,a .+12
8856 mov %r31, %r15
8857 ba,a .+8
8858 call common_target
8859 .word 0xdadfc029 ! 105: LDXA_R ldxa [%r31, %r9] 0x01, %r13
8860mondo_8_70:
8861 nop
8862 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
8863 ta T_CHANGE_PRIV
8864 stxa %r17, [%r0+0x3c0] %asi
8865 .word 0x9d94400b ! 106: WRPR_WSTATE_R wrpr %r17, %r11, %wstate
8866 nop
8867 ta T_CHANGE_HPRIV
8868 mov 0x8, %r10
8869 set sync_thr_counter2, %r23
8870 cas [%r23],%g0,%r10 !lock
8871 brnz %r10, sma_8_71
8872 rd %asi, %r12
8873 wr %g0, 0x40, %asi
8874 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
8875 set 0x00021fff, %g1
8876 stxa %g1, [%g0 + 0x80] %asi
8877 wr %r12, %g0, %asi
8878 st %g0, [%r23]
8879sma_8_71:
8880 ta T_CHANGE_NONHPRIV
8881 .word 0xdbe7e010 ! 107: CASA_R casa [%r31] %asi, %r16, %r13
8882 .word 0xdb27e0f3 ! 108: STF_I st %f13, [0x00f3, %r31]
8883vahole_8_72:
8884 nop
8885 ta T_CHANGE_NONHPRIV
8886 setx vahole_target, %r18, %r27
8887 jmpl %r27+0, %r27
8888 .word 0xdb3fc010 ! 109: STDF_R std %f13, [%r16, %r31]
8889 .word 0x93b4c7cd ! 110: PDIST pdistn %d50, %d44, %d40
8890change_to_randtl_8_73:
8891 ta T_CHANGE_HPRIV ! macro
8892done_change_to_randtl_8_73:
8893 .word 0x8f902000 ! 111: WRPR_TL_I wrpr %r0, 0x0000, %tl
8894 .word 0xd20fe000 ! 112: LDUB_I ldub [%r31 + 0x0000], %r9
8895splash_lsu_8_74:
8896 nop
8897 ta T_CHANGE_HPRIV
8898 set 0x31e33801, %r2
8899 mov 0x6, %r1
8900 sllx %r1, 32, %r1
8901 or %r1, %r2, %r2
8902 stxa %r2, [%r0] ASI_LSU_CONTROL
8903 .word 0x3d400001 ! 113: FBPULE fbule,a,pn %fcc0, <label_0x1>
8904br_longdelay2_8_75:
8905 .word 0x26800001 ! 1: BL bl,a <label_0x1>
8906 .word 0x87acca45 ! 114: FCMPd fcmpd %fcc<n>, %f50, %f36
8907 .word 0xb1800011 ! 115: WR_STICK_REG_R wr %r0, %r17, %-
8908ibp_8_76:
8909 nop
8910 ta T_CHANGE_HPRIV
8911 .word 0xe03fec82 ! 116: STD_I std %r16, [%r31 + 0x0c82]
8912change_to_randtl_8_77:
8913 ta T_CHANGE_HPRIV ! macro
8914done_change_to_randtl_8_77:
8915 .word 0x8f902001 ! 117: WRPR_TL_I wrpr %r0, 0x0001, %tl
8916!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_8_78) + 48, 16, 16)) -> intp(0,0,26)
8917!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_8_78)&0xffffffff) + 48, 16, 16)) -> intp(0,0,26)
8918intvec_8_78:
8919 .word 0x39400001 ! 118: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
8920 .word 0x91910012 ! 119: WRPR_PIL_R wrpr %r4, %r18, %pil
8921 .word 0x95a489c4 ! 120: FDIVd fdivd %f18, %f4, %f10
8922 .word 0xe19fc2c0 ! 121: LDDFA_R ldda [%r31, %r0], %f16
8923 nop
8924 ta T_CHANGE_HPRIV
8925 mov 0x8, %r10
8926 set sync_thr_counter2, %r23
8927 cas [%r23],%g0,%r10 !lock
8928 brnz %r10, sma_8_80
8929 rd %asi, %r12
8930 wr %g0, 0x40, %asi
8931 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
8932 set 0x000a1fff, %g1
8933 stxa %g1, [%g0 + 0x80] %asi
8934 wr %r12, %g0, %asi
8935 st %g0, [%r23]
8936sma_8_80:
8937 ta T_CHANGE_NONHPRIV
8938 .word 0xd9e7e011 ! 122: CASA_R casa [%r31] %asi, %r17, %r12
8939 .word 0xd88fe010 ! 123: LDUBA_I lduba [%r31, + 0x0010] %asi, %r12
8940 nop
8941 ta T_CHANGE_HPRIV
8942 mov 0x8+1, %r10
8943 set sync_thr_counter1, %r23
8944 cas [%r23],%g0,%r10 !lock
8945 brnz %r10, cwq_8_81
8946 rd %asi, %r12
8947 wr %g0, 0x40, %asi
8948 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
8949 and %l1, 0x3, %l1 ! Check if busy/enabled ..
8950 cmp %l1, 1
8951 bne cwq_8_81
8952 set CWQ_BASE, %l6
8953 best_set_reg(0x20610050, %l1, %l2) !# Control Word
8954 sllx %l2, 32, %l2
8955 stx %l2, [%l6 + 0x0]
8956 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
8957 sub %l2, 0x40, %l2
8958 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
8959 wr %r12, %g0, %asi
8960 st %g0, [%r23]
8961cwq_8_81:
8962 ta T_CHANGE_NONHPRIV
8963 .word 0x97414000 ! 124: RDPC rd %pc, %r11
8964fpinit_8_82:
8965 setx fp_data_quads, %r19, %r20
8966 ldd [%r20], %f0
8967 ldd [%r20+8], %f4
8968 ld [%r20+16], %fsr
8969 ld [%r20+24], %r19
8970 wr %r19, %g0, %gsr
8971 .word 0x89a009c4 ! 125: FDIVd fdivd %f0, %f4, %f4
8972 .word 0xb1800011 ! 126: WR_STICK_REG_R wr %r0, %r17, %-
8973iaw_8_83:
8974 nop
8975 ta T_CHANGE_HPRIV
8976 mov 8, %r18
8977 rd %asi, %r12
8978 wr %r0, 0x41, %asi
8979 set sync_thr_counter, %r23
8980 mov 0x8, %r16
8981iaw_startwait8_83:
8982 cas [%r23],%g0,%r16 !lock
8983 brz,a %r16, continue_iaw_8_83
8984 mov (~0x8&0xf), %r16
8985 ld [%r23], %r16
8986iaw_wait8_83:
8987 brnz %r16, iaw_wait8_83
8988 ld [%r23], %r16
8989 ba,a iaw_startwait8_83
8990 mov 0x8, %r16
8991continue_iaw_8_83:
8992 ldxa [%g0]0x63, %r14 !Get raw TID
8993 srlx %r14, 3, %r14 !Get CID
8994 sllx %r16, %r14, %r16 !Mask for my core only
8995 ldxa [0x58]%asi, %r17 !Running_status
8996wait_for_stat_8_83:
8997 ldxa [0x50]%asi, %r13 !Running_rw
8998 cmp %r13, %r17
8999 bne,a wait_for_stat_8_83
9000 ldxa [0x58]%asi, %r17 !Running_status
9001 stxa %r16, [0x68]%asi
9002 ldxa [0x50]%asi, %r14 !Running_rw
9003wait_for_iaw_8_83:
9004 ldxa [0x58]%asi, %r17 !Running_status
9005 cmp %r14, %r17
9006 bne,a wait_for_iaw_8_83
9007 ldxa [0x50]%asi, %r14 !Running_rw
9008iaw_doit8_83:
9009 mov 0x38, %r18
9010iaw1_8_83:
9011 best_set_reg(0x00000000e1200000, %r20, %r19)
9012 or %r19, 0x1, %r19
9013 stxa %r19, [%r18]0x50
9014 stxa %r13, [0x50] %asi ! Running_rw
9015 st %g0, [%r23] !clear lock
9016 wr %r0, %r12, %asi ! restore %asi
9017 ta T_CHANGE_NONHPRIV
9018 .word 0xe63fe970 ! 127: STD_I std %r19, [%r31 + 0x0970]
9019 .word 0xe737e099 ! 128: STQF_I - %f19, [0x0099, %r31]
9020 .word 0x38800001 ! 1: BGU bgu,a <label_0x1>
9021 .word 0x8d90243e ! 129: WRPR_PSTATE_I wrpr %r0, 0x043e, %pstate
9022trapasi_8_85:
9023mov 0x0, %r1 ! (VA for ASI 0x4c)
9024 .word 0xe69044a0 ! 130: LDUHA_R lduha [%r1, %r0] 0x25, %r19
9025!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_8_86) + 48, 16, 16)) -> intp(0,0,30)
9026!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_8_86)&0xffffffff) + 48, 16, 16)) -> intp(0,0,30)
9027intvec_8_86:
9028 .word 0x39400001 ! 131: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
9029mondo_8_87:
9030 nop
9031 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9032 stxa %r3, [%r0+0x3c8] %asi
9033 .word 0x9d90c011 ! 132: WRPR_WSTATE_R wrpr %r3, %r17, %wstate
9034splash_hpstate_8_88:
9035 .word 0x819826cf ! 133: WRHPR_HPSTATE_I wrhpr %r0, 0x06cf, %hpstate
9036 .word 0xe19fe040 ! 134: LDDFA_I ldda [%r31, 0x0040], %f16
9037 .word 0x87a98a41 ! 135: FCMPd fcmpd %fcc<n>, %f6, %f32
9038unsupttte_8_89:
9039 nop
9040 ta T_CHANGE_HPRIV
9041 mov 1, %r20
9042 sllx %r20, 63, %r20
9043 or %r20, 2,%r20
9044 stxa %r20, [%g0]0x54 ! I unsupported page size ..
9045 ta T_CHANGE_NONHPRIV
9046 .word 0x93b24492 ! 136: FCMPLE32 fcmple32 %d40, %d18, %r9
9047 invalw
9048 mov 0x31, %r30
9049 .word 0x91d0001e ! 137: Tcc_R ta icc_or_xcc, %r0 + %r30
9050br_longdelay3_8_90:
9051 nop
9052 not %g0, %r12
9053 jmp %r12
9054 .word 0x99902002 ! 138: WRPR_CLEANWIN_I wrpr %r0, 0x0002, %cleanwin
9055fpinit_8_91:
9056 setx fp_data_quads, %r19, %r20
9057 ldd [%r20], %f0
9058 ldd [%r20+8], %f4
9059 ld [%r20+16], %fsr
9060 ld [%r20+24], %r19
9061 wr %r19, %g0, %gsr
9062 .word 0xc3e82812 ! 139: PREFETCHA_I prefetcha [%r0, + 0x0812] %asi, #one_read
9063 .word 0xa97033af ! 140: POPC_I popc 0x13af, %r20
9064 ta T_CHANGE_NONPRIV ! macro
9065 .word 0x36800001 ! 1: BGE bge,a <label_0x1>
9066 .word 0x8d903ba0 ! 142: WRPR_PSTATE_I wrpr %r0, 0x1ba0, %pstate
9067 .word 0x93b48990 ! 143: BSHUFFLE fmovc32 %d18, %d16, %d40
9068trapasi_8_94:
9069mov 0x8, %r1 ! (VA for ASI 0x5a)
9070 .word 0xd6d04b40 ! 144: LDSHA_R ldsha [%r1, %r0] 0x5a, %r11
9071 .word 0x91a00171 ! 145: FABSq dis not found
9072
9073br_longdelay1_8_95:
9074 .word 0x32800001 ! 1: BNE bne,a <label_0x1>
9075 .word 0x9d97c000 ! 146: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
9076 .word 0xd6bfe0f0 ! 147: STDA_I stda %r11, [%r31 + 0x00f0] %asi
9077 invalw
9078 mov 0xb0, %r30
9079 .word 0x91d0001e ! 148: Tcc_R ta icc_or_xcc, %r0 + %r30
9080br_longdelay1_8_96:
9081 .word 0x20800001 ! 1: BN bn,a <label_0x1>
9082 .word 0x9d97c000 ! 149: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
9083 .word 0x91d020b4 ! 150: Tcc_I ta icc_or_xcc, %r0 + 180
9084jmptr_8_97:
9085 nop
9086 best_set_reg(0xe1a00000, %r20, %r27)
9087 .word 0xb7c6c000 ! 151: JMPL_R jmpl %r27 + %r0, %r27
9088pmu_8_98:
9089 nop
9090 setx 0xfffff22dfffffe7d, %g1, %g7
9091 .word 0xa3800007 ! 152: WR_PERF_COUNTER_R wr %r0, %r7, %-
9092jmptr_8_99:
9093 nop
9094 best_set_reg(0xe1a00000, %r20, %r27)
9095 .word 0xb7c6c000 ! 153: JMPL_R jmpl %r27 + %r0, %r27
9096mondo_8_100:
9097 nop
9098 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9099 ta T_CHANGE_PRIV
9100 stxa %r18, [%r0+0x3d8] %asi
9101 .word 0x9d918012 ! 154: WRPR_WSTATE_R wrpr %r6, %r18, %wstate
9102 ta T_CHANGE_NONPRIV ! macro
9103 .word 0x81460000 ! 156: RD_STICK_REG stbar
9104splash_cmpr_8_101:
9105 nop
9106 setx 0x78db52b2b287a1e8, %l2, %l1
9107 ta T_CHANGE_PRIV
9108 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
9109 ta T_CHANGE_NONPRIV
9110 sub %l1, 40, %g1
9111 .word 0x89900011 ! 157: WRPR_TICK_R wrpr %r0, %r17, %tick
9112 .word 0x9f803744 ! 158: SIR sir 0x1744
9113brcommon_8_102:
9114 ba,a .+12
9115 mov %r31, %r15
9116 ba,a .+8
9117 call common_target
9118 .word 0xd73fc00a ! 159: STDF_R std %f11, [%r10, %r31]
9119pmu_8_103:
9120 nop
9121 setx 0xfffff15cfffff764, %g1, %g7
9122 .word 0xa3800007 ! 160: WR_PERF_COUNTER_R wr %r0, %r7, %-
9123 .word 0xe1bfdc00 ! 161: STDFA_R stda %f16, [%r0, %r31]
9124!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_8_104) + 16, 16, 16)) -> intp(3,0,29)
9125!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_8_104)&0xffffffff) + 16, 16, 16)) -> intp(3,0,29)
9126intvec_8_104:
9127 .word 0x39400001 ! 162: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
9128 .word 0xa5a4c9b4 ! 163: FDIVs fdivs %f19, %f20, %f18
9129 .word 0x8d903856 ! 164: WRPR_PSTATE_I wrpr %r0, 0x1856, %pstate
9130jmptr_8_106:
9131 nop
9132 best_set_reg(0xe1a00000, %r20, %r27)
9133 .word 0xb7c6c000 ! 165: JMPL_R jmpl %r27 + %r0, %r27
9134dvapa_8_107:
9135 nop
9136 ta T_CHANGE_HPRIV
9137 mov 0xbf7, %r20
9138 mov 0x7, %r19
9139 sllx %r20, 23, %r20
9140 or %r19, %r20, %r19
9141 stxa %r19, [%g0] ASI_LSU_CONTROL
9142 mov 0x38, %r18
9143 stxa %r31, [%r18]0x58
9144 ta T_CHANGE_NONHPRIV
9145 .word 0xd297c034 ! 166: LDUHA_R lduha [%r31, %r20] 0x01, %r9
9146 nop
9147 ta T_CHANGE_HPRIV
9148 mov 0x8, %r10
9149 set sync_thr_counter2, %r23
9150 cas [%r23],%g0,%r10 !lock
9151 brnz %r10, sma_8_108
9152 rd %asi, %r12
9153 wr %g0, 0x40, %asi
9154 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
9155 set 0x001a1fff, %g1
9156 stxa %g1, [%g0 + 0x80] %asi
9157 wr %r12, %g0, %asi
9158 st %g0, [%r23]
9159sma_8_108:
9160 ta T_CHANGE_NONHPRIV
9161 .word 0xd3e7e014 ! 167: CASA_R casa [%r31] %asi, %r20, %r9
9162 .word 0x91a049d1 ! 168: FDIVd fdivd %f32, %f48, %f8
9163 .word 0xa9a489c1 ! 169: FDIVd fdivd %f18, %f32, %f20
9164dvapa_8_109:
9165 nop
9166 ta T_CHANGE_HPRIV
9167 mov 0xad2, %r20
9168 mov 0xf, %r19
9169 sllx %r20, 23, %r20
9170 or %r19, %r20, %r19
9171 stxa %r19, [%g0] ASI_LSU_CONTROL
9172 mov 0x38, %r18
9173 stxa %r31, [%r18]0x58
9174 ta T_CHANGE_NONHPRIV
9175 .word 0xe0dfc023 ! 170: LDXA_R ldxa [%r31, %r3] 0x01, %r16
9176mondo_8_110:
9177 nop
9178 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9179 stxa %r12, [%r0+0x3c0] %asi
9180 .word 0x9d92000a ! 171: WRPR_WSTATE_R wrpr %r8, %r10, %wstate
9181 .word 0xe05fe038 ! 172: LDX_I ldx [%r31 + 0x0038], %r16
9182 .word 0xab804012 ! 173: WR_CLEAR_SOFTINT_R wr %r1, %r18, %clear_softint
9183intveclr_8_111:
9184 nop
9185 ta T_CHANGE_HPRIV
9186 setx 0xc88db8486e3a9164, %r1, %r28
9187 stxa %r28, [%g0] 0x72
9188 .word 0x25400001 ! 174: FBPLG fblg,a,pn %fcc0, <label_0x1>
9189 .word 0xa9a00173 ! 175: FABSq dis not found
9190
9191 .word 0xb1800011 ! 176: WR_STICK_REG_R wr %r0, %r17, %-
9192 .word 0xc1bfe080 ! 177: STDFA_I stda %f0, [0x0080, %r31]
9193 .word 0xb1800011 ! 178: WR_STICK_REG_R wr %r0, %r17, %-
9194 .word 0xa37025f3 ! 179: POPC_I popc 0x05f3, %r17
9195 .word 0x91d020b4 ! 180: Tcc_I ta icc_or_xcc, %r0 + 180
9196 nop
9197 ta T_CHANGE_HPRIV
9198 mov 0x8, %r10
9199 set sync_thr_counter2, %r23
9200 cas [%r23],%g0,%r10 !lock
9201 brnz %r10, sma_8_112
9202 rd %asi, %r12
9203 wr %g0, 0x40, %asi
9204 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
9205 set 0x00061fff, %g1
9206 stxa %g1, [%g0 + 0x80] %asi
9207 wr %r12, %g0, %asi
9208 st %g0, [%r23]
9209sma_8_112:
9210 ta T_CHANGE_NONHPRIV
9211 .word 0xd1e7e00d ! 181: CASA_R casa [%r31] %asi, %r13, %r8
9212 .word 0x2a700001 ! 182: BPCS <illegal instruction>
9213 .word 0x8d903531 ! 183: WRPR_PSTATE_I wrpr %r0, 0x1531, %pstate
9214 .word 0x9194c012 ! 184: WRPR_PIL_R wrpr %r19, %r18, %pil
9215donret_8_115:
9216 nop
9217 ta T_CHANGE_HPRIV ! macro
9218 rd %pc, %r12
9219 add %r12, (donretarg_8_115-donret_8_115-4), %r12
9220 mov 0x38, %r18
9221 stxa %r12, [%r18]0x58
9222 add %r12, 0x4, %r11
9223 wrpr %g0, 0x2, %tl
9224 wrpr %g0, %r12, %tpc
9225 wrpr %g0, %r11, %tnpc
9226 set (0xffb0 | (32 << 24)), %r13
9227 rdpr %tstate, %r16
9228 mov 0x1f, %r19
9229 and %r19, %r16, %r17
9230 andn %r16, %r19, %r16
9231 or %r16, %r17, %r20
9232 wrpr %r20, %g0, %tstate
9233 wrhpr %g0, 0x417, %htstate
9234 ta T_CHANGE_NONHPRIV ! rand=1 (8)
9235 done
9236donretarg_8_115:
9237 .word 0xd0ffe038 ! 185: SWAPA_I swapa %r8, [%r31 + 0x0038] %asi
9238 .word 0xc1bfc3e0 ! 186: STDFA_R stda %f0, [%r0, %r31]
9239splash_cmpr_8_116:
9240 nop
9241 setx 0x4e49959d12bcd048, %l2, %l1
9242 ta T_CHANGE_HPRIV
9243 wrhpr %l1, %g0, %hsys_tick_cmpr
9244 ta T_CHANGE_NONHPRIV
9245 sub %l1, 40, %g1
9246 .word 0x89900011 ! 187: WRPR_TICK_R wrpr %r0, %r17, %tick
9247trapasi_8_117:
9248mov 0x10, %r1 ! (VA for ASI 0x4c)
9249 .word 0xd0d044a0 ! 188: LDSHA_R ldsha [%r1, %r0] 0x25, %r8
9250 nop
9251 ta T_CHANGE_HPRIV
9252 mov 0x8+1, %r10
9253 set sync_thr_counter1, %r23
9254 cas [%r23],%g0,%r10 !lock
9255 brnz %r10, cwq_8_118
9256 rd %asi, %r12
9257 wr %g0, 0x40, %asi
9258 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
9259 and %l1, 0x3, %l1 ! Check if busy/enabled ..
9260 cmp %l1, 1
9261 bne cwq_8_118
9262 set CWQ_BASE, %l6
9263 best_set_reg(0x20610060, %l1, %l2) !# Control Word
9264 sllx %l2, 32, %l2
9265 stx %l2, [%l6 + 0x0]
9266 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
9267 sub %l2, 0x40, %l2
9268 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
9269 wr %r12, %g0, %asi
9270 st %g0, [%r23]
9271cwq_8_118:
9272 ta T_CHANGE_NONHPRIV
9273 .word 0x91414000 ! 189: RDPC rd %pc, %r8
9274 .word 0xe827e090 ! 190: STW_I stw %r20, [%r31 + 0x0090]
9275 set 0x22e0, %l3
9276 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
9277 .word 0x99b2c7d4 ! 191: PDIST pdistn %d42, %d20, %d12
9278 .word 0x93450000 ! 192: RD_SET_SOFTINT rd %set_softint, %r9
9279 .word 0xe1bfd920 ! 193: STDFA_R stda %f16, [%r0, %r31]
9280 .word 0xe81fc000 ! 194: LDD_R ldd [%r31 + %r0], %r20
9281 .word 0xe857e020 ! 195: LDSH_I ldsh [%r31 + 0x0020], %r20
9282 .word 0x93a4c9b4 ! 196: FDIVs fdivs %f19, %f20, %f9
9283 .word 0xe19fda00 ! 197: LDDFA_R ldda [%r31, %r0], %f16
9284 .word 0xa7b347d2 ! 198: PDIST pdistn %d44, %d18, %d50
9285 .word 0xb1800011 ! 199: WR_STICK_REG_R wr %r0, %r17, %-
9286 .word 0x9f802408 ! 200: SIR sir 0x0408
9287jmptr_8_119:
9288 nop
9289 best_set_reg(0xe1a00000, %r20, %r27)
9290 .word 0xb7c6c000 ! 201: JMPL_R jmpl %r27 + %r0, %r27
9291br_longdelay3_8_120:
9292 nop
9293 not %g0, %r12
9294 jmp %r12
9295 .word 0x99902003 ! 202: WRPR_CLEANWIN_I wrpr %r0, 0x0003, %cleanwin
9296 .word 0xe1bfd960 ! 203: STDFA_R stda %f16, [%r0, %r31]
9297 .word 0xd437e09a ! 204: STH_I sth %r10, [%r31 + 0x009a]
9298splash_tba_8_121:
9299 ta T_CHANGE_PRIV
9300 setx 0x00000000003a0000, %r11, %r12
9301 .word 0x8b90000c ! 205: WRPR_TBA_R wrpr %r0, %r12, %tba
9302tagged_8_122:
9303 tsubcctv %r10, 0x1653, %r7
9304 .word 0xd407e04d ! 206: LDUW_I lduw [%r31 + 0x004d], %r10
9305 .word 0x9f8030d2 ! 207: SIR sir 0x10d2
9306 nop
9307 ta T_CHANGE_HPRIV
9308 mov 0x8, %r10
9309 set sync_thr_counter2, %r23
9310 cas [%r23],%g0,%r10 !lock
9311 brnz %r10, sma_8_123
9312 rd %asi, %r12
9313 wr %g0, 0x40, %asi
9314 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
9315 set 0x001e1fff, %g1
9316 stxa %g1, [%g0 + 0x80] %asi
9317 wr %r12, %g0, %asi
9318 st %g0, [%r23]
9319sma_8_123:
9320 ta T_CHANGE_NONHPRIV
9321 .word 0xd5e7e00a ! 208: CASA_R casa [%r31] %asi, %r10, %r10
9322jmptr_8_124:
9323 nop
9324 best_set_reg(0xe1a00000, %r20, %r27)
9325 .word 0xb7c6c000 ! 209: JMPL_R jmpl %r27 + %r0, %r27
9326 .word 0xa750c000 ! 210: RDPR_TT <illegal instruction>
9327 .word 0xe137c000 ! 211: STQF_R - %f16, [%r0, %r31]
9328intveclr_8_125:
9329 nop
9330 ta T_CHANGE_HPRIV
9331 setx 0xc97ae6e671e4dce2, %r1, %r28
9332 stxa %r28, [%g0] 0x72
9333 ta T_CHANGE_NONHPRIV
9334 .word 0x25400001 ! 212: FBPLG fblg,a,pn %fcc0, <label_0x1>
9335intveclr_8_126:
9336 nop
9337 ta T_CHANGE_HPRIV
9338 setx 0xfa7d4b905b8f50fb, %r1, %r28
9339 stxa %r28, [%g0] 0x72
9340 .word 0x25400001 ! 213: FBPLG fblg,a,pn %fcc0, <label_0x1>
9341 .word 0x32700001 ! 214: BPNE <illegal instruction>
9342 nop
9343 mov 0x80, %g3
9344 stxa %g3, [%g3] 0x57
9345 .word 0xe05fc000 ! 215: LDX_R ldx [%r31 + %r0], %r16
9346br_longdelay3_8_127:
9347 nop
9348 not %g0, %r12
9349 jmp %r12
9350 .word 0x99902004 ! 216: WRPR_CLEANWIN_I wrpr %r0, 0x0004, %cleanwin
9351splash_lsu_8_128:
9352 nop
9353 ta T_CHANGE_HPRIV
9354 set 0xb9267a18, %r2
9355 mov 0x4, %r1
9356 sllx %r1, 32, %r1
9357 or %r1, %r2, %r2
9358 stxa %r2, [%r0] ASI_LSU_CONTROL
9359 .word 0x3d400001 ! 217: FBPULE fbule,a,pn %fcc0, <label_0x1>
9360 nop
9361 ta T_CHANGE_HPRIV
9362 mov 0x8, %r10
9363 set sync_thr_counter2, %r23
9364 cas [%r23],%g0,%r10 !lock
9365 brnz %r10, sma_8_129
9366 rd %asi, %r12
9367 wr %g0, 0x40, %asi
9368 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
9369 set 0x001e1fff, %g1
9370 stxa %g1, [%g0 + 0x80] %asi
9371 wr %r12, %g0, %asi
9372 st %g0, [%r23]
9373sma_8_129:
9374 ta T_CHANGE_NONHPRIV
9375 .word 0xe1e7e00a ! 218: CASA_R casa [%r31] %asi, %r10, %r16
9376pmu_8_130:
9377 nop
9378 ta T_CHANGE_PRIV
9379 setx 0xfffff45dfffff159, %g1, %g7
9380 .word 0xa3800007 ! 219: WR_PERF_COUNTER_R wr %r0, %r7, %-
9381 .word 0x91950012 ! 220: WRPR_PIL_R wrpr %r20, %r18, %pil
9382 invalw
9383 mov 0x35, %r30
9384 .word 0x91d0001e ! 221: Tcc_R ta icc_or_xcc, %r0 + %r30
9385 .word 0xc3ec0026 ! 222: PREFETCHA_R prefetcha [%r16, %r6] 0x01, #one_read
9386intveclr_8_132:
9387 nop
9388 ta T_CHANGE_HPRIV
9389 setx 0x8438b185da1945a3, %r1, %r28
9390 stxa %r28, [%g0] 0x72
9391 ta T_CHANGE_NONHPRIV
9392 .word 0x25400001 ! 223: FBPLG fblg,a,pn %fcc0, <label_0x1>
9393splash_hpstate_8_133:
9394 ta T_CHANGE_NONHPRIV
9395 .word 0x8198299f ! 224: WRHPR_HPSTATE_I wrhpr %r0, 0x099f, %hpstate
9396!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_8_134)+16, 16, 16)) -> intp(mask2tid(0x8),1,3)
9397!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_8_134)&0xffffffff) +16, 16, 16)) -> intp(mask2tid(0x8),1,3)
9398xir_8_134:
9399 .word 0xa980a98c ! 225: WR_SET_SOFTINT_I wr %r2, 0x098c, %set_softint
9400 .word 0xa3520000 ! 226: RDPR_PIL <illegal instruction>
9401pmu_8_135:
9402 nop
9403 ta T_CHANGE_PRIV
9404 setx 0xfffffb2bfffff104, %g1, %g7
9405 .word 0xa3800007 ! 227: WR_PERF_COUNTER_R wr %r0, %r7, %-
9406 .word 0x9f80339c ! 228: SIR sir 0x139c
9407 .word 0xe537c000 ! 229: STQF_R - %f18, [%r0, %r31]
9408 invalw
9409 mov 0x30, %r30
9410 .word 0x91d0001e ! 230: Tcc_R ta icc_or_xcc, %r0 + %r30
9411 .word 0xc3ec0026 ! 231: PREFETCHA_R prefetcha [%r16, %r6] 0x01, #one_read
9412splash_hpstate_8_136:
9413 .word 0x20800001 ! 1: BN bn,a <label_0x1>
9414 .word 0x81982206 ! 232: WRHPR_HPSTATE_I wrhpr %r0, 0x0206, %hpstate
9415 setx 0x25bba1a5b4dc5740, %r1, %r28
9416 stxa %r28, [%g0] 0x73
9417intvec_8_137:
9418 .word 0x39400001 ! 233: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
9419 invalw
9420 mov 0xb3, %r30
9421 .word 0x91d0001e ! 234: Tcc_R ta icc_or_xcc, %r0 + %r30
9422 .word 0xb1800011 ! 235: WR_STICK_REG_R wr %r0, %r17, %-
9423 .word 0xd80fe010 ! 236: LDUB_I ldub [%r31 + 0x0010], %r12
9424 nop
9425 ta T_CHANGE_HPRIV
9426 mov 0x8+1, %r10
9427 set sync_thr_counter1, %r23
9428 cas [%r23],%g0,%r10 !lock
9429 brnz %r10, cwq_8_138
9430 rd %asi, %r12
9431 wr %g0, 0x40, %asi
9432 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
9433 and %l1, 0x3, %l1 ! Check if busy/enabled ..
9434 cmp %l1, 1
9435 bne cwq_8_138
9436 set CWQ_BASE, %l6
9437 best_set_reg(0x20610030, %l1, %l2) !# Control Word
9438 sllx %l2, 32, %l2
9439 stx %l2, [%l6 + 0x0]
9440 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
9441 sub %l2, 0x40, %l2
9442 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
9443 wr %r12, %g0, %asi
9444 st %g0, [%r23]
9445cwq_8_138:
9446 ta T_CHANGE_NONHPRIV
9447 .word 0x95414000 ! 237: RDPC rd %pc, %r10
9448 otherw
9449 mov 0xb3, %r30
9450 .word 0x93d0001e ! 238: Tcc_R tne icc_or_xcc, %r0 + %r30
9451 nop
9452 ta T_CHANGE_HPRIV
9453 mov 0x8, %r10
9454 set sync_thr_counter2, %r23
9455 cas [%r23],%g0,%r10 !lock
9456 brnz %r10, sma_8_139
9457 rd %asi, %r12
9458 wr %g0, 0x40, %asi
9459 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
9460 set 0x00161fff, %g1
9461 stxa %g1, [%g0 + 0x80] %asi
9462 wr %r12, %g0, %asi
9463 st %g0, [%r23]
9464sma_8_139:
9465 ta T_CHANGE_NONHPRIV
9466 .word 0xe7e7e014 ! 239: CASA_R casa [%r31] %asi, %r20, %r19
9467 .word 0xe71fc000 ! 240: LDDF_R ldd [%r31, %r0], %f19
9468 .word 0x81460000 ! 241: RD_STICK_REG stbar
9469 nop
9470 ta T_CHANGE_HPRIV
9471 mov 0x8+1, %r10
9472 set sync_thr_counter1, %r23
9473 cas [%r23],%g0,%r10 !lock
9474 brnz %r10, cwq_8_140
9475 rd %asi, %r12
9476 wr %g0, 0x40, %asi
9477 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
9478 and %l1, 0x3, %l1 ! Check if busy/enabled ..
9479 cmp %l1, 1
9480 bne cwq_8_140
9481 set CWQ_BASE, %l6
9482 best_set_reg(0x206100a0, %l1, %l2) !# Control Word
9483 sllx %l2, 32, %l2
9484 stx %l2, [%l6 + 0x0]
9485 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
9486 sub %l2, 0x40, %l2
9487 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
9488 wr %r12, %g0, %asi
9489 st %g0, [%r23]
9490cwq_8_140:
9491 ta T_CHANGE_NONHPRIV
9492 .word 0x97414000 ! 242: RDPC rd %pc, %r11
9493 .word 0x93d02034 ! 243: Tcc_I tne icc_or_xcc, %r0 + 52
9494trapasi_8_141:
9495mov 0x3d0, %r1 ! (VA for ASI 0x25)
9496 .word 0xe0d84b60 ! 244: LDXA_R ldxa [%r1, %r0] 0x5b, %r16
9497 .word 0x91a00171 ! 245: FABSq dis not found
9498
9499 .word 0x93d02032 ! 246: Tcc_I tne icc_or_xcc, %r0 + 50
9500 invalw
9501 mov 0x34, %r30
9502 .word 0x91d0001e ! 247: Tcc_R ta icc_or_xcc, %r0 + %r30
9503splash_lsu_8_142:
9504 nop
9505 ta T_CHANGE_HPRIV
9506 set 0xaf0eba26, %r2
9507 mov 0x1, %r1
9508 sllx %r1, 32, %r1
9509 or %r1, %r2, %r2
9510 stxa %r2, [%r0] ASI_LSU_CONTROL
9511 .word 0x3d400001 ! 248: FBPULE fbule,a,pn %fcc0, <label_0x1>
9512pmu_8_143:
9513 nop
9514 ta T_CHANGE_PRIV
9515 setx 0xfffff498fffff98a, %g1, %g7
9516 .word 0xa3800007 ! 249: WR_PERF_COUNTER_R wr %r0, %r7, %-
9517 .word 0xe1bfe080 ! 250: STDFA_I stda %f16, [0x0080, %r31]
9518 .word 0xb1800011 ! 251: WR_STICK_REG_R wr %r0, %r17, %-
9519 .word 0x91d02033 ! 252: Tcc_I ta icc_or_xcc, %r0 + 51
9520 .word 0xc19fc3e0 ! 253: LDDFA_R ldda [%r31, %r0], %f0
9521memptr_8_144:
9522 set user_data_start, %r31
9523 .word 0x85847638 ! 254: WRCCR_I wr %r17, 0x1638, %ccr
9524fpinit_8_145:
9525 setx fp_data_quads, %r19, %r20
9526 ldd [%r20], %f0
9527 ldd [%r20+8], %f4
9528 ld [%r20+16], %fsr
9529 ld [%r20+24], %r19
9530 wr %r19, %g0, %gsr
9531 .word 0x8da009c4 ! 255: FDIVd fdivd %f0, %f4, %f6
9532 .word 0x8d903d95 ! 256: WRPR_PSTATE_I wrpr %r0, 0x1d95, %pstate
9533 .word 0xe527e048 ! 257: STF_I st %f18, [0x0048, %r31]
9534splash_lsu_8_147:
9535 nop
9536 ta T_CHANGE_HPRIV
9537 set 0x761ca8ba, %r2
9538 mov 0x3, %r1
9539 sllx %r1, 32, %r1
9540 or %r1, %r2, %r2
9541 stxa %r2, [%r0] ASI_LSU_CONTROL
9542 ta T_CHANGE_NONHPRIV
9543 .word 0x3d400001 ! 258: FBPULE fbule,a,pn %fcc0, <label_0x1>
9544 .word 0xc1bfe000 ! 259: STDFA_I stda %f0, [0x0000, %r31]
9545mondo_8_148:
9546 nop
9547 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9548 ta T_CHANGE_PRIV
9549 stxa %r13, [%r0+0x3e0] %asi
9550 .word 0x9d948006 ! 260: WRPR_WSTATE_R wrpr %r18, %r6, %wstate
9551 .word 0x95480000 ! 261: RDHPR_HPSTATE rdhpr %hpstate, %r10
9552brcommon_8_149:
9553 ba,a .+12
9554 mov %r31, %r15
9555 ba,a .+8
9556 call common_target
9557 .word 0xe5e7e014 ! 262: CASA_R casa [%r31] %asi, %r20, %r18
9558 .word 0x9ba00162 ! 263: FABSq dis not found
9559
9560 .word 0x9f803663 ! 264: SIR sir 0x1663
9561 .word 0xe827e0ec ! 265: STW_I stw %r20, [%r31 + 0x00ec]
9562 .word 0xe8cfe018 ! 266: LDSBA_I ldsba [%r31, + 0x0018] %asi, %r20
9563 .word 0x9f8020ae ! 267: SIR sir 0x00ae
9564memptr_8_150:
9565 set user_data_start, %r31
9566 .word 0x858465b7 ! 268: WRCCR_I wr %r17, 0x05b7, %ccr
9567splash_lsu_8_151:
9568 nop
9569 ta T_CHANGE_HPRIV
9570 set 0x22c8b8cb, %r2
9571 mov 0x5, %r1
9572 sllx %r1, 32, %r1
9573 or %r1, %r2, %r2
9574 stxa %r2, [%r0] ASI_LSU_CONTROL
9575 ta T_CHANGE_NONHPRIV
9576 .word 0x3d400001 ! 269: FBPULE fbule,a,pn %fcc0, <label_0x1>
9577 .word 0xd43fe0b8 ! 270: STD_I std %r10, [%r31 + 0x00b8]
9578 .word 0xa1a509b2 ! 271: FDIVs fdivs %f20, %f18, %f16
9579 .word 0xab82c011 ! 272: WR_CLEAR_SOFTINT_R wr %r11, %r17, %clear_softint
9580pmu_8_152:
9581 nop
9582 setx 0xfffff3e2fffff3de, %g1, %g7
9583 .word 0xa3800007 ! 273: WR_PERF_COUNTER_R wr %r0, %r7, %-
9584dvapa_8_153:
9585 nop
9586 ta T_CHANGE_HPRIV
9587 mov 0x804, %r20
9588 mov 0x19, %r19
9589 sllx %r20, 23, %r20
9590 or %r19, %r20, %r19
9591 stxa %r19, [%g0] ASI_LSU_CONTROL
9592 mov 0x38, %r18
9593 stxa %r31, [%r18]0x58
9594 ta T_CHANGE_NONHPRIV
9595 .word 0xe5e7e013 ! 274: CASA_R casa [%r31] %asi, %r19, %r18
9596 .word 0x87aaca4b ! 275: FCMPd fcmpd %fcc<n>, %f42, %f42
9597jmptr_8_154:
9598 nop
9599 best_set_reg(0xe1a00000, %r20, %r27)
9600 .word 0xb7c6c000 ! 276: JMPL_R jmpl %r27 + %r0, %r27
9601 .word 0xc19fda00 ! 277: LDDFA_R ldda [%r31, %r0], %f0
9602 .word 0x9f80265f ! 278: SIR sir 0x065f
9603 nop
9604 ta T_CHANGE_HPRIV
9605 mov 0x8, %r10
9606 set sync_thr_counter2, %r23
9607 cas [%r23],%g0,%r10 !lock
9608 brnz %r10, sma_8_155
9609 rd %asi, %r12
9610 wr %g0, 0x40, %asi
9611 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
9612 set 0x00121fff, %g1
9613 stxa %g1, [%g0 + 0x80] %asi
9614 wr %r12, %g0, %asi
9615 st %g0, [%r23]
9616sma_8_155:
9617 ta T_CHANGE_NONHPRIV
9618 .word 0xdbe7e010 ! 279: CASA_R casa [%r31] %asi, %r16, %r13
9619splash_tba_8_156:
9620 ta T_CHANGE_PRIV
9621 set 0x120000, %r12
9622 .word 0x8b90000c ! 280: WRPR_TBA_R wrpr %r0, %r12, %tba
9623pmu_8_157:
9624 nop
9625 setx 0xfffff695fffff58d, %g1, %g7
9626 .word 0xa3800007 ! 281: WR_PERF_COUNTER_R wr %r0, %r7, %-
9627mondo_8_158:
9628 nop
9629 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9630 stxa %r20, [%r0+0x3e0] %asi
9631 .word 0x9d944010 ! 282: WRPR_WSTATE_R wrpr %r17, %r16, %wstate
9632 nop
9633 ta T_CHANGE_HPRIV
9634 mov 0x8+1, %r10
9635 set sync_thr_counter1, %r23
9636 cas [%r23],%g0,%r10 !lock
9637 brnz %r10, cwq_8_159
9638 rd %asi, %r12
9639 wr %g0, 0x40, %asi
9640 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
9641 and %l1, 0x3, %l1 ! Check if busy/enabled ..
9642 cmp %l1, 1
9643 bne cwq_8_159
9644 set CWQ_BASE, %l6
9645 best_set_reg(0x206100b0, %l1, %l2) !# Control Word
9646 sllx %l2, 32, %l2
9647 stx %l2, [%l6 + 0x0]
9648 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
9649 sub %l2, 0x40, %l2
9650 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
9651 wr %r12, %g0, %asi
9652 st %g0, [%r23]
9653cwq_8_159:
9654 ta T_CHANGE_NONHPRIV
9655 .word 0xa9414000 ! 283: RDPC rd %pc, %r20
9656 .word 0xa3a00174 ! 284: FABSq dis not found
9657
9658jmptr_8_160:
9659 nop
9660 best_set_reg(0xe1a00000, %r20, %r27)
9661 .word 0xb7c6c000 ! 285: JMPL_R jmpl %r27 + %r0, %r27
9662intveclr_8_161:
9663 nop
9664 ta T_CHANGE_HPRIV
9665 setx 0x43800269c19d41b0, %r1, %r28
9666 stxa %r28, [%g0] 0x72
9667 .word 0x25400001 ! 286: FBPLG fblg,a,pn %fcc0, <label_0x1>
9668 .word 0xa9a189b3 ! 287: FDIVs fdivs %f6, %f19, %f20
9669 .word 0x8d903758 ! 288: WRPR_PSTATE_I wrpr %r0, 0x1758, %pstate
9670 nop
9671 ta T_CHANGE_HPRIV
9672 mov 0x8, %r10
9673 set sync_thr_counter2, %r23
9674 cas [%r23],%g0,%r10 !lock
9675 brnz %r10, sma_8_163
9676 rd %asi, %r12
9677 wr %g0, 0x40, %asi
9678 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
9679 set 0x000a1fff, %g1
9680 stxa %g1, [%g0 + 0x80] %asi
9681 wr %r12, %g0, %asi
9682 st %g0, [%r23]
9683sma_8_163:
9684 ta T_CHANGE_NONHPRIV
9685 .word 0xe9e7e010 ! 289: CASA_R casa [%r31] %asi, %r16, %r20
9686 .word 0x9ba189c2 ! 290: FDIVd fdivd %f6, %f2, %f44
9687 .word 0x9194c013 ! 291: WRPR_PIL_R wrpr %r19, %r19, %pil
9688 .word 0xc1bfd960 ! 292: STDFA_R stda %f0, [%r0, %r31]
9689donret_8_165:
9690 nop
9691 ta T_CHANGE_HPRIV ! macro
9692 rd %pc, %r12
9693 add %r12, (donretarg_8_165-donret_8_165-4), %r12
9694 mov 0x38, %r18
9695 stxa %r12, [%r18]0x58
9696 add %r12, 0x4, %r11
9697 wrpr %g0, 0x1, %tl
9698 wrpr %g0, %r12, %tpc
9699 wrpr %g0, %r11, %tnpc
9700 set (0x00794003 | (20 << 24)), %r13
9701 rdpr %tstate, %r16
9702 mov 0x1f, %r19
9703 and %r19, %r16, %r17
9704 andn %r16, %r19, %r16
9705 or %r16, %r17, %r20
9706 wrpr %r20, %g0, %tstate
9707 wrhpr %g0, 0x74c, %htstate
9708 ta T_CHANGE_NONPRIV ! rand=0 (8)
9709 .word 0x29400001 ! 1: FBPL fbl,a,pn %fcc0, <label_0x1>
9710 done
9711donretarg_8_165:
9712 .word 0xd6ffe0e2 ! 293: SWAPA_I swapa %r11, [%r31 + 0x00e2] %asi
9713br_longdelay1_8_166:
9714 .word 0x34800001 ! 1: BG bg,a <label_0x1>
9715 .word 0xbfefc000 ! 294: RESTORE_R restore %r31, %r0, %r31
9716 .word 0xe19fe0e0 ! 295: LDDFA_I ldda [%r31, 0x00e0], %f16
9717 setx 0x0ea88821216335b5, %r1, %r28
9718 stxa %r28, [%g0] 0x73
9719intvec_8_167:
9720 .word 0x39400001 ! 296: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
9721intveclr_8_168:
9722 nop
9723 ta T_CHANGE_HPRIV
9724 setx 0x58a3042429876306, %r1, %r28
9725 stxa %r28, [%g0] 0x72
9726 ta T_CHANGE_NONHPRIV
9727 .word 0x25400001 ! 297: FBPLG fblg,a,pn %fcc0, <label_0x1>
9728 .word 0x26800001 ! 298: BL bl,a <label_0x1>
9729jmptr_8_169:
9730 nop
9731 best_set_reg(0xe1a00000, %r20, %r27)
9732 .word 0xb7c6c000 ! 299: JMPL_R jmpl %r27 + %r0, %r27
9733 nop
9734 ta T_CHANGE_HPRIV
9735 mov 0x8, %r10
9736 set sync_thr_counter2, %r23
9737 cas [%r23],%g0,%r10 !lock
9738 brnz %r10, sma_8_170
9739 rd %asi, %r12
9740 wr %g0, 0x40, %asi
9741 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
9742 set 0x001a1fff, %g1
9743 stxa %g1, [%g0 + 0x80] %asi
9744 wr %r12, %g0, %asi
9745 st %g0, [%r23]
9746sma_8_170:
9747 ta T_CHANGE_NONHPRIV
9748 .word 0xd7e7e008 ! 300: CASA_R casa [%r31] %asi, %r8, %r11
9749 .word 0xd697e008 ! 301: LDUHA_I lduha [%r31, + 0x0008] %asi, %r11
9750 nop
9751 nop
9752 ta T_CHANGE_PRIV
9753 wrpr %g0, %g0, %gl
9754 nop
9755 nop
9756 setx join_lbl_0_0, %g1, %g2
9757 jmp %g2
9758 nop
9759fork_lbl_0_3:
9760 ta T_CHANGE_NONHPRIV
9761br_badelay3_4_0:
9762 .word 0x34800001 ! 1: BG bg,a <label_0x1>
9763 .word 0xf14c6226 ! Random illegal ?
9764 .word 0xe7134011 ! 1: LDQF_R - [%r13, %r17], %f19
9765 .word 0xa5a44831 ! 1: FADDs fadds %f17, %f17, %f18
9766 nop
9767 ta T_CHANGE_HPRIV
9768 mov 0x4, %r10
9769 set sync_thr_counter2, %r23
9770 cas [%r23],%g0,%r10 !lock
9771 brnz %r10, sma_4_1
9772 rd %asi, %r12
9773 wr %g0, 0x40, %asi
9774 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
9775 set 0x001a1fff, %g1
9776 stxa %g1, [%g0 + 0x80] %asi
9777 wr %r12, %g0, %asi
9778 st %g0, [%r23]
9779sma_4_1:
9780 ta T_CHANGE_NONHPRIV
9781 .word 0xdbe7e012 ! 2: CASA_R casa [%r31] %asi, %r18, %r13
9782splash_hpstate_4_2:
9783 .word 0x36800001 ! 1: BGE bge,a <label_0x1>
9784 .word 0x8198210f ! 3: WRHPR_HPSTATE_I wrhpr %r0, 0x010f, %hpstate
9785 nop
9786 ta T_CHANGE_HPRIV
9787 mov 0x4, %r10
9788 set sync_thr_counter2, %r23
9789 cas [%r23],%g0,%r10 !lock
9790 brnz %r10, sma_4_3
9791 rd %asi, %r12
9792 wr %g0, 0x40, %asi
9793 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
9794 set 0x001e1fff, %g1
9795 stxa %g1, [%g0 + 0x80] %asi
9796 wr %r12, %g0, %asi
9797 st %g0, [%r23]
9798sma_4_3:
9799 ta T_CHANGE_NONHPRIV
9800 .word 0xdbe7e012 ! 4: CASA_R casa [%r31] %asi, %r18, %r13
9801 .word 0x93d02033 ! 5: Tcc_I tne icc_or_xcc, %r0 + 51
9802jmptr_4_4:
9803 nop
9804 best_set_reg(0xe1200000, %r20, %r27)
9805 .word 0xb7c6c000 ! 6: JMPL_R jmpl %r27 + %r0, %r27
9806 .word 0xdb27c000 ! 7: STF_R st %f13, [%r0, %r31]
9807 otherw
9808 mov 0x30, %r30
9809 .word 0x91d0001e ! 8: Tcc_R ta icc_or_xcc, %r0 + %r30
9810mondo_4_5:
9811 nop
9812 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9813 ta T_CHANGE_PRIV
9814 stxa %r11, [%r0+0x3c8] %asi
9815 .word 0x9d914010 ! 9: WRPR_WSTATE_R wrpr %r5, %r16, %wstate
9816 .word 0x91d020b4 ! 10: Tcc_I ta icc_or_xcc, %r0 + 180
9817pmu_4_6:
9818 nop
9819 ta T_CHANGE_PRIV
9820 setx 0xfffff9c5fffffa82, %g1, %g7
9821 .word 0xa3800007 ! 11: WR_PERF_COUNTER_R wr %r0, %r7, %-
9822memptr_4_7:
9823 set 0x60340000, %r31
9824 .word 0x858220d1 ! 12: WRCCR_I wr %r8, 0x00d1, %ccr
9825 nop
9826 ta T_CHANGE_HPRIV
9827 mov 0x4+1, %r10
9828 set sync_thr_counter1, %r23
9829 cas [%r23],%g0,%r10 !lock
9830 brnz %r10, cwq_4_8
9831 rd %asi, %r12
9832 wr %g0, 0x40, %asi
9833 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
9834 and %l1, 0x3, %l1 ! Check if busy/enabled ..
9835 cmp %l1, 1
9836 bne cwq_4_8
9837 set CWQ_BASE, %l6
9838 best_set_reg(0x206100e0, %l1, %l2) !# Control Word
9839 sllx %l2, 32, %l2
9840 stx %l2, [%l6 + 0x0]
9841 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
9842 sub %l2, 0x40, %l2
9843 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
9844 wr %r12, %g0, %asi
9845 st %g0, [%r23]
9846cwq_4_8:
9847 ta T_CHANGE_NONHPRIV
9848 .word 0x93414000 ! 13: RDPC rd %pc, %r9
9849pmu_4_9:
9850 nop
9851 setx 0xfffff78cfffff5d0, %g1, %g7
9852 .word 0xa3800007 ! 14: WR_PERF_COUNTER_R wr %r0, %r7, %-
9853 nop
9854 ta T_CHANGE_HPRIV
9855 mov 0x4+1, %r10
9856 set sync_thr_counter1, %r23
9857 cas [%r23],%g0,%r10 !lock
9858 brnz %r10, cwq_4_10
9859 rd %asi, %r12
9860 wr %g0, 0x40, %asi
9861 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
9862 and %l1, 0x3, %l1 ! Check if busy/enabled ..
9863 cmp %l1, 1
9864 bne cwq_4_10
9865 set CWQ_BASE, %l6
9866 best_set_reg(0x206100c0, %l1, %l2) !# Control Word
9867 sllx %l2, 32, %l2
9868 stx %l2, [%l6 + 0x0]
9869 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
9870 sub %l2, 0x40, %l2
9871 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
9872 wr %r12, %g0, %asi
9873 st %g0, [%r23]
9874cwq_4_10:
9875 ta T_CHANGE_NONHPRIV
9876 .word 0x91414000 ! 15: RDPC rd %pc, %r8
9877mondo_4_11:
9878 nop
9879 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9880 ta T_CHANGE_PRIV
9881 stxa %r20, [%r0+0x3e0] %asi
9882 .word 0x9d95000d ! 16: WRPR_WSTATE_R wrpr %r20, %r13, %wstate
9883br_badelay3_4_12:
9884 .word 0x20800001 ! 1: BN bn,a <label_0x1>
9885 .word 0x9574f1fb ! Random illegal ?
9886 .word 0x99a00552 ! 1: FSQRTd fsqrt
9887 .word 0xa9a2c821 ! 17: FADDs fadds %f11, %f1, %f20
9888dvapa_4_13:
9889 nop
9890 ta T_CHANGE_HPRIV
9891 mov 0x829, %r20
9892 mov 0x9, %r19
9893 sllx %r20, 23, %r20
9894 or %r19, %r20, %r19
9895 stxa %r19, [%g0] ASI_LSU_CONTROL
9896 mov 0x38, %r18
9897 stxa %r31, [%r18]0x58
9898 ta T_CHANGE_NONHPRIV
9899 .word 0xd9e7e011 ! 18: CASA_R casa [%r31] %asi, %r17, %r12
9900tagged_4_14:
9901 tsubcctv %r8, 0x1c24, %r5
9902 .word 0xd807e0d2 ! 19: LDUW_I lduw [%r31 + 0x00d2], %r12
9903 .word 0xc1bfe040 ! 20: STDFA_I stda %f0, [0x0040, %r31]
9904splash_hpstate_4_15:
9905 ta T_CHANGE_NONHPRIV
9906 .word 0x24cc4001 ! 1: BRLEZ brlez,a,pt %r17,<label_0xc4001>
9907 .word 0x81982746 ! 21: WRHPR_HPSTATE_I wrhpr %r0, 0x0746, %hpstate
9908 .word 0xd8d7e020 ! 22: LDSHA_I ldsha [%r31, + 0x0020] %asi, %r12
9909intveclr_4_16:
9910 nop
9911 ta T_CHANGE_HPRIV
9912 setx 0xc6444776d4093033, %r1, %r28
9913 stxa %r28, [%g0] 0x72
9914 .word 0x25400001 ! 23: FBPLG fblg,a,pn %fcc0, <label_0x1>
9915 nop
9916 ta T_CHANGE_HPRIV
9917 mov 0x4+1, %r10
9918 set sync_thr_counter1, %r23
9919 cas [%r23],%g0,%r10 !lock
9920 brnz %r10, cwq_4_17
9921 rd %asi, %r12
9922 wr %g0, 0x40, %asi
9923 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
9924 and %l1, 0x3, %l1 ! Check if busy/enabled ..
9925 cmp %l1, 1
9926 bne cwq_4_17
9927 set CWQ_BASE, %l6
9928 best_set_reg(0x20610080, %l1, %l2) !# Control Word
9929 sllx %l2, 32, %l2
9930 stx %l2, [%l6 + 0x0]
9931 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
9932 sub %l2, 0x40, %l2
9933 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
9934 wr %r12, %g0, %asi
9935 st %g0, [%r23]
9936cwq_4_17:
9937 ta T_CHANGE_NONHPRIV
9938 .word 0x99414000 ! 24: RDPC rd %pc, %r12
9939splash_htba_4_18:
9940 nop
9941 ta T_CHANGE_HPRIV
9942 setx 0x0000000200280000, %r11, %r12
9943 .word 0x8b98000c ! 25: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
9944br_longdelay2_4_19:
9945 .word 0x27400001 ! 1: FBPUL fbul,a,pn %fcc0, <label_0x1>
9946 .word 0x91a4c9d1 ! 26: FDIVd fdivd %f50, %f48, %f8
9947br_longdelay1_4_20:
9948 .word 0x37400001 ! 1: FBPGE fbge,a,pn %fcc0, <label_0x1>
9949 .word 0xbfe7c000 ! 27: SAVE_R save %r31, %r0, %r31
9950 .word 0xb1800011 ! 28: WR_STICK_REG_R wr %r0, %r17, %-
9951 .word 0x39400001 ! 29: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
9952 .word 0x91d020b3 ! 30: Tcc_I ta icc_or_xcc, %r0 + 179
9953splash_tba_4_21:
9954 ta T_CHANGE_PRIV
9955 setx 0x0000000400380000, %r11, %r12
9956 .word 0x8b90000c ! 31: WRPR_TBA_R wrpr %r0, %r12, %tba
9957mondo_4_22:
9958 nop
9959 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9960 ta T_CHANGE_PRIV
9961 stxa %r3, [%r0+0x3c8] %asi
9962 .word 0x9d90c008 ! 32: WRPR_WSTATE_R wrpr %r3, %r8, %wstate
9963 .word 0x20700001 ! 33: BPN <illegal instruction>
9964 .word 0x919066ee ! 34: WRPR_PIL_I wrpr %r1, 0x06ee, %pil
9965 .word 0x91d02033 ! 35: Tcc_I ta icc_or_xcc, %r0 + 51
9966 .word 0x9f802898 ! 36: SIR sir 0x0898
9967 nop
9968 ta T_CHANGE_HPRIV
9969 mov 0x4+1, %r10
9970 set sync_thr_counter1, %r23
9971 cas [%r23],%g0,%r10 !lock
9972 brnz %r10, cwq_4_23
9973 rd %asi, %r12
9974 wr %g0, 0x40, %asi
9975 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
9976 and %l1, 0x3, %l1 ! Check if busy/enabled ..
9977 cmp %l1, 1
9978 bne cwq_4_23
9979 set CWQ_BASE, %l6
9980 best_set_reg(0x206100f0, %l1, %l2) !# Control Word
9981 sllx %l2, 32, %l2
9982 stx %l2, [%l6 + 0x0]
9983 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
9984 sub %l2, 0x40, %l2
9985 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
9986 wr %r12, %g0, %asi
9987 st %g0, [%r23]
9988cwq_4_23:
9989 ta T_CHANGE_NONHPRIV
9990 .word 0x91414000 ! 37: RDPC rd %pc, %r8
9991 nop
9992 ta T_CHANGE_HPRIV
9993 mov 0x4+1, %r10
9994 set sync_thr_counter1, %r23
9995 cas [%r23],%g0,%r10 !lock
9996 brnz %r10, cwq_4_24
9997 rd %asi, %r12
9998 wr %g0, 0x40, %asi
9999 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
10000 and %l1, 0x3, %l1 ! Check if busy/enabled ..
10001 cmp %l1, 1
10002 bne cwq_4_24
10003 set CWQ_BASE, %l6
10004 best_set_reg(0x20610000, %l1, %l2) !# Control Word
10005 sllx %l2, 32, %l2
10006 stx %l2, [%l6 + 0x0]
10007 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
10008 sub %l2, 0x40, %l2
10009 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
10010 wr %r12, %g0, %asi
10011 st %g0, [%r23]
10012cwq_4_24:
10013 ta T_CHANGE_NONHPRIV
10014 .word 0xa9414000 ! 38: RDPC rd %pc, %r20
10015jmptr_4_25:
10016 nop
10017 best_set_reg(0xe1200000, %r20, %r27)
10018 .word 0xb7c6c000 ! 39: JMPL_R jmpl %r27 + %r0, %r27
10019ibp_4_26:
10020 nop
10021 ta T_CHANGE_HPRIV
10022 mov 8, %r18
10023 rd %asi, %r12
10024 wr %r0, 0x41, %asi
10025 set sync_thr_counter, %r23
10026 mov 0x4, %r16
10027ibp_startwait4_26:
10028 cas [%r23],%g0,%r16 !lock
10029 brz,a %r16, continue_ibp_4_26
10030 mov (~0x4&0xf), %r16
10031 ld [%r23], %r16
10032ibp_wait4_26:
10033 brnz %r16, ibp_wait4_26
10034 ld [%r23], %r16
10035 ba,a ibp_startwait4_26
10036 mov 0x4, %r16
10037continue_ibp_4_26:
10038 ldxa [%g0]0x63, %r14 !Get raw TID
10039 srlx %r14, 3, %r14 !Get CID
10040 sllx %r16, %r14, %r16 !Mask for my core only
10041 ldxa [0x58]%asi, %r17 !Running_status
10042wait_for_stat_4_26:
10043 ldxa [0x50]%asi, %r13 !Running_rw
10044 cmp %r13, %r17
10045 bne,a wait_for_stat_4_26
10046 ldxa [0x58]%asi, %r17 !Running_status
10047 stxa %r16, [0x68]%asi
10048 ldxa [0x50]%asi, %r14 !Running_rw
10049wait_for_ibp_4_26:
10050 ldxa [0x58]%asi, %r17 !Running_status
10051 cmp %r14, %r17
10052 bne,a wait_for_ibp_4_26
10053 ldxa [0x50]%asi, %r14 !Running_rw
10054ibp_doit4_26:
10055 best_set_reg(0x0000005016c00214,%r19, %r20)
10056 stxa %r20, [%r18]0x42
10057 stxa %r13, [0x50] %asi ! Running_rw
10058 st %g0, [%r23] !clear lock
10059 wr %r0, %r12, %asi ! restore %asi
10060 .word 0xc32fc002 ! 40: STXFSR_R st-sfr %f1, [%r2, %r31]
10061 setx 0x56f9d125a0bbd373, %r1, %r28
10062 stxa %r28, [%g0] 0x73
10063intvec_4_27:
10064 .word 0x39400001 ! 41: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10065 .word 0x8d9033d5 ! 42: WRPR_PSTATE_I wrpr %r0, 0x13d5, %pstate
10066 .word 0xd06fe072 ! 43: LDSTUB_I ldstub %r8, [%r31 + 0x0072]
10067trapasi_4_29:
10068mov 0x8, %r1 ! (VA for ASI 0x5b)
10069 .word 0xd0c844a0 ! 44: LDSBA_R ldsba [%r1, %r0] 0x25, %r8
10070 nop
10071 ta T_CHANGE_HPRIV
10072 mov 0x4+1, %r10
10073 set sync_thr_counter1, %r23
10074 cas [%r23],%g0,%r10 !lock
10075 brnz %r10, cwq_4_30
10076 rd %asi, %r12
10077 wr %g0, 0x40, %asi
10078 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
10079 and %l1, 0x3, %l1 ! Check if busy/enabled ..
10080 cmp %l1, 1
10081 bne cwq_4_30
10082 set CWQ_BASE, %l6
10083 best_set_reg(0x20610080, %l1, %l2) !# Control Word
10084 sllx %l2, 32, %l2
10085 stx %l2, [%l6 + 0x0]
10086 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
10087 sub %l2, 0x40, %l2
10088 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
10089 wr %r12, %g0, %asi
10090 st %g0, [%r23]
10091cwq_4_30:
10092 ta T_CHANGE_NONHPRIV
10093 .word 0x99414000 ! 45: RDPC rd %pc, %r12
10094fpinit_4_31:
10095 setx fp_data_quads, %r19, %r20
10096 ldd [%r20], %f0
10097 ldd [%r20+8], %f4
10098 ld [%r20+16], %fsr
10099 ld [%r20+24], %r19
10100 wr %r19, %g0, %gsr
10101 .word 0x89b00484 ! 46: FCMPLE32 fcmple32 %d0, %d4, %r4
10102memptr_4_32:
10103 set 0x60540000, %r31
10104 .word 0x85836c09 ! 47: WRCCR_I wr %r13, 0x0c09, %ccr
10105mondo_4_33:
10106 nop
10107 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10108 stxa %r9, [%r0+0x3e8] %asi
10109 .word 0x9d930014 ! 48: WRPR_WSTATE_R wrpr %r12, %r20, %wstate
10110 .word 0x91948010 ! 49: WRPR_PIL_R wrpr %r18, %r16, %pil
10111 nop
10112 ta T_CHANGE_HPRIV
10113 mov 0x4, %r10
10114 set sync_thr_counter2, %r23
10115 cas [%r23],%g0,%r10 !lock
10116 brnz %r10, sma_4_35
10117 rd %asi, %r12
10118 wr %g0, 0x40, %asi
10119 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
10120 set 0x000a1fff, %g1
10121 stxa %g1, [%g0 + 0x80] %asi
10122 wr %r12, %g0, %asi
10123 st %g0, [%r23]
10124sma_4_35:
10125 ta T_CHANGE_NONHPRIV
10126 .word 0xd9e7e009 ! 50: CASA_R casa [%r31] %asi, %r9, %r12
10127donret_4_36:
10128 nop
10129 ta T_CHANGE_HPRIV ! macro
10130 rd %pc, %r12
10131 add %r12, (donretarg_4_36-donret_4_36-8), %r12
10132 mov 0x38, %r18
10133 stxa %r12, [%r18]0x58
10134 add %r12, 0x4, %r11
10135 wrpr %g0, 0x1, %tl
10136 wrpr %g0, %r12, %tpc
10137 wrpr %g0, %r11, %tnpc
10138 set (0x00e79014 | (0x4f << 24)), %r13
10139 rdpr %tstate, %r16
10140 mov 0x1f, %r19
10141 and %r19, %r16, %r17
10142 andn %r16, %r19, %r16
10143 or %r16, %r17, %r20
10144 wrpr %r20, %g0, %tstate
10145 wrhpr %g0, 0xe5d, %htstate
10146 ta T_CHANGE_NONHPRIV ! rand=1 (4)
10147 .word 0x36800001 ! 1: BGE bge,a <label_0x1>
10148 retry
10149donretarg_4_36:
10150 .word 0xd8ffe048 ! 51: SWAPA_I swapa %r12, [%r31 + 0x0048] %asi
10151 nop
10152 ta T_CHANGE_HPRIV
10153 mov 0x4+1, %r10
10154 set sync_thr_counter1, %r23
10155 cas [%r23],%g0,%r10 !lock
10156 brnz %r10, cwq_4_37
10157 rd %asi, %r12
10158 wr %g0, 0x40, %asi
10159 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
10160 and %l1, 0x3, %l1 ! Check if busy/enabled ..
10161 cmp %l1, 1
10162 bne cwq_4_37
10163 set CWQ_BASE, %l6
10164 best_set_reg(0x20610040, %l1, %l2) !# Control Word
10165 sllx %l2, 32, %l2
10166 stx %l2, [%l6 + 0x0]
10167 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
10168 sub %l2, 0x40, %l2
10169 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
10170 wr %r12, %g0, %asi
10171 st %g0, [%r23]
10172cwq_4_37:
10173 ta T_CHANGE_NONHPRIV
10174 .word 0xa3414000 ! 52: RDPC rd %pc, %r17
10175mondo_4_38:
10176 nop
10177 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10178 ta T_CHANGE_PRIV
10179 stxa %r4, [%r0+0x3d0] %asi
10180 .word 0x9d940006 ! 53: WRPR_WSTATE_R wrpr %r16, %r6, %wstate
10181 setx 0x0e99cdc6fea7dc3c, %r1, %r28
10182 stxa %r28, [%g0] 0x73
10183intvec_4_39:
10184 .word 0x39400001 ! 54: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10185 nop
10186 ta T_CHANGE_HPRIV
10187 mov 0x4+1, %r10
10188 set sync_thr_counter1, %r23
10189 cas [%r23],%g0,%r10 !lock
10190 brnz %r10, cwq_4_40
10191 rd %asi, %r12
10192 wr %g0, 0x40, %asi
10193 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
10194 and %l1, 0x3, %l1 ! Check if busy/enabled ..
10195 cmp %l1, 1
10196 bne cwq_4_40
10197 set CWQ_BASE, %l6
10198 best_set_reg(0x20610060, %l1, %l2) !# Control Word
10199 sllx %l2, 32, %l2
10200 stx %l2, [%l6 + 0x0]
10201 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
10202 sub %l2, 0x40, %l2
10203 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
10204 wr %r12, %g0, %asi
10205 st %g0, [%r23]
10206cwq_4_40:
10207 ta T_CHANGE_NONHPRIV
10208 .word 0xa1414000 ! 55: RDPC rd %pc, %r16
10209 .word 0x97a349d3 ! 56: FDIVd fdivd %f44, %f50, %f42
10210 .word 0xa7480000 ! 57: RDHPR_HPSTATE rdhpr %hpstate, %r19
10211 .word 0x9370376b ! 58: POPC_I popc 0x176b, %r9
10212fpinit_4_41:
10213 setx fp_data_quads, %r19, %r20
10214 ldd [%r20], %f0
10215 ldd [%r20+8], %f4
10216 ld [%r20+16], %fsr
10217 ld [%r20+24], %r19
10218 wr %r19, %g0, %gsr
10219 .word 0x89b00484 ! 59: FCMPLE32 fcmple32 %d0, %d4, %r4
10220 .word 0x9f803f10 ! 60: SIR sir 0x1f10
10221 nop
10222 ta T_CHANGE_HPRIV
10223 mov 0x4, %r10
10224 set sync_thr_counter2, %r23
10225 cas [%r23],%g0,%r10 !lock
10226 brnz %r10, sma_4_42
10227 rd %asi, %r12
10228 wr %g0, 0x40, %asi
10229 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
10230 set 0x000e1fff, %g1
10231 stxa %g1, [%g0 + 0x80] %asi
10232 wr %r12, %g0, %asi
10233 st %g0, [%r23]
10234sma_4_42:
10235 ta T_CHANGE_NONHPRIV
10236 .word 0xd9e7e002 ! 61: CASA_R casa [%r31] %asi, %r2, %r12
10237br_badelay2_4_43:
10238 .word 0x34800001 ! 1: BG bg,a <label_0x1>
10239 pdist %f10, %f14, %f14
10240 .word 0x9bb04309 ! 62: ALIGNADDRESS alignaddr %r1, %r9, %r13
10241 .word 0x8d802004 ! 63: WRFPRS_I wr %r0, 0x0004, %fprs
10242br_longdelay1_4_44:
10243 .word 0x30800001 ! 1: BA ba,a <label_0x1>
10244 .word 0x9d97c000 ! 64: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
10245 setx 0x9d68181da3c57770, %r1, %r28
10246 stxa %r28, [%g0] 0x73
10247intvec_4_45:
10248 .word 0x39400001 ! 65: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10249 .word 0xe53fc000 ! 66: STDF_R std %f18, [%r0, %r31]
10250 .word 0xe4bfc02d ! 67: STDA_R stda %r18, [%r31 + %r13] 0x01
10251 nop
10252 ta T_CHANGE_HPRIV
10253 mov 0x4+1, %r10
10254 set sync_thr_counter1, %r23
10255 cas [%r23],%g0,%r10 !lock
10256 brnz %r10, cwq_4_47
10257 rd %asi, %r12
10258 wr %g0, 0x40, %asi
10259 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
10260 and %l1, 0x3, %l1 ! Check if busy/enabled ..
10261 cmp %l1, 1
10262 bne cwq_4_47
10263 set CWQ_BASE, %l6
10264 best_set_reg(0x206100e0, %l1, %l2) !# Control Word
10265 sllx %l2, 32, %l2
10266 stx %l2, [%l6 + 0x0]
10267 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
10268 sub %l2, 0x40, %l2
10269 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
10270 wr %r12, %g0, %asi
10271 st %g0, [%r23]
10272cwq_4_47:
10273 ta T_CHANGE_NONHPRIV
10274 .word 0x93414000 ! 68: RDPC rd %pc, %r9
10275 .word 0xb1800011 ! 69: WR_STICK_REG_R wr %r0, %r17, %-
10276splash_hpstate_4_48:
10277 .word 0x27400001 ! 1: FBPUL fbul,a,pn %fcc0, <label_0x1>
10278 .word 0x8198266c ! 70: WRHPR_HPSTATE_I wrhpr %r0, 0x066c, %hpstate
10279intveclr_4_49:
10280 nop
10281 ta T_CHANGE_HPRIV
10282 setx 0x116a366bd5d8aa79, %r1, %r28
10283 stxa %r28, [%g0] 0x72
10284 .word 0x25400001 ! 71: FBPLG fblg,a,pn %fcc0, <label_0x1>
10285 .word 0xe03fe00a ! 72: STD_I std %r16, [%r31 + 0x000a]
10286splash_lsu_4_50:
10287 nop
10288 ta T_CHANGE_HPRIV
10289 set 0xec0978a6, %r2
10290 mov 0x7, %r1
10291 sllx %r1, 32, %r1
10292 or %r1, %r2, %r2
10293 stxa %r2, [%r0] ASI_LSU_CONTROL
10294 .word 0x3d400001 ! 73: FBPULE fbule,a,pn %fcc0, <label_0x1>
10295 .word 0xe137e042 ! 74: STQF_I - %f16, [0x0042, %r31]
10296 .word 0xc1bfe040 ! 75: STDFA_I stda %f0, [0x0040, %r31]
10297 .word 0xe057e010 ! 76: LDSH_I ldsh [%r31 + 0x0010], %r16
10298splash_cmpr_4_51:
10299 nop
10300 setx 0xb4bc834d572e11c8, %l2, %l1
10301 ta T_CHANGE_PRIV
10302 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
10303 ta T_CHANGE_NONPRIV
10304 sub %l1, 40, %g1
10305 .word 0x89900011 ! 77: WRPR_TICK_R wrpr %r0, %r17, %tick
10306splash_lsu_4_52:
10307 nop
10308 ta T_CHANGE_HPRIV
10309 set 0xc02f5e8f, %r2
10310 mov 0x2, %r1
10311 sllx %r1, 32, %r1
10312 or %r1, %r2, %r2
10313 stxa %r2, [%r0] ASI_LSU_CONTROL
10314 ta T_CHANGE_NONHPRIV
10315 .word 0x3d400001 ! 78: FBPULE fbule,a,pn %fcc0, <label_0x1>
10316br_badelay2_4_53:
10317 .word 0x20800001 ! 1: BN bn,a <label_0x1>
10318 pdist %f2, %f6, %f26
10319 .word 0x97b5030b ! 79: ALIGNADDRESS alignaddr %r20, %r11, %r11
10320 .word 0xe1bfd920 ! 80: STDFA_R stda %f16, [%r0, %r31]
10321splash_cmpr_4_54:
10322 nop
10323 setx 0xb403a622825bdb1d, %l2, %l1
10324 ta T_CHANGE_HPRIV
10325 wrhpr %l1, %g0, %hsys_tick_cmpr
10326 sub %l1, 40, %g1
10327 .word 0x89900011 ! 81: WRPR_TICK_R wrpr %r0, %r17, %tick
10328 .word 0x91a00171 ! 82: FABSq dis not found
10329
10330 .word 0xdb1fc002 ! 83: LDDF_R ldd [%r31, %r2], %f13
10331 .word 0xdb3fc002 ! 84: STDF_R std %f13, [%r2, %r31]
10332invtsb_4_57:
10333 nop
10334 ta T_CHANGE_HPRIV
10335 rd %asi, %r21
10336 wr %r0,ASI_MMU_REAL_RANGE, %asi
10337 mov 1, %r20
10338 sllx %r20, 63, %r20
10339 ldxa [ASI_MMU_REAL_RANGE_0] %asi, %r22
10340 xor %r22 ,%r20, %r22
10341 stxa %r22, [ASI_MMU_REAL_RANGE_0] %asi
10342 ldxa [ASI_MMU_REAL_RANGE_1] %asi, %r22
10343 xor %r22 ,%r20, %r22
10344 stxa %r22, [ASI_MMU_REAL_RANGE_1] %asi
10345 ldxa [ASI_MMU_REAL_RANGE_2] %asi, %r22
10346 xor %r22 ,%r20, %r22
10347 stxa %r22, [ASI_MMU_REAL_RANGE_2] %asi
10348 ldxa [ASI_MMU_REAL_RANGE_3] %asi, %r22
10349 xor %r22 ,%r20, %r22
10350 stxa %r22, [ASI_MMU_REAL_RANGE_3] %asi
10351 wr %r21, %r0, %asi
10352 ta T_CHANGE_NONHPRIV
10353 .word 0x29800001 ! 85: FBL fbl,a <label_0x1>
10354memptr_4_58:
10355 set 0x60740000, %r31
10356 .word 0x8581792e ! 86: WRCCR_I wr %r5, 0x192e, %ccr
10357 .word 0x9191b9c7 ! 87: WRPR_PIL_I wrpr %r6, 0x19c7, %pil
10358 .word 0x91d020b4 ! 88: Tcc_I ta icc_or_xcc, %r0 + 180
10359splash_tba_4_59:
10360 ta T_CHANGE_PRIV
10361 setx 0x0000000400380000, %r11, %r12
10362 .word 0x8b90000c ! 89: WRPR_TBA_R wrpr %r0, %r12, %tba
10363 .word 0xc1bfe060 ! 90: STDFA_I stda %f0, [0x0060, %r31]
10364 .word 0x9f803a08 ! 91: SIR sir 0x1a08
10365 .word 0xda6fe05e ! 92: LDSTUB_I ldstub %r13, [%r31 + 0x005e]
10366 .word 0xda47e008 ! 93: LDSW_I ldsw [%r31 + 0x0008], %r13
10367br_longdelay1_4_60:
10368 .word 0x29400001 ! 1: FBPL fbl,a,pn %fcc0, <label_0x1>
10369 .word 0xbfefc000 ! 94: RESTORE_R restore %r31, %r0, %r31
10370 .word 0xc30fc000 ! 95: LDXFSR_R ld-fsr [%r31, %r0], %f1
10371jmptr_4_62:
10372 nop
10373 best_set_reg(0xe1200000, %r20, %r27)
10374 .word 0xb7c6c000 ! 96: JMPL_R jmpl %r27 + %r0, %r27
10375br_badelay2_4_63:
10376 .word 0x22800001 ! 1: BE be,a <label_0x1>
10377 allclean
10378 .word 0x97b08309 ! 97: ALIGNADDRESS alignaddr %r2, %r9, %r11
10379mondo_4_64:
10380 nop
10381 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10382 ta T_CHANGE_PRIV
10383 stxa %r17, [%r0+0x3d8] %asi
10384 .word 0x9d910004 ! 98: WRPR_WSTATE_R wrpr %r4, %r4, %wstate
10385 .word 0xc19fda00 ! 99: LDDFA_R ldda [%r31, %r0], %f0
10386 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
10387reduce_priv_lvl_4_65:
10388 ta T_CHANGE_NONHPRIV ! macro
10389intveclr_4_66:
10390 nop
10391 ta T_CHANGE_HPRIV
10392 setx 0x06aad54e8fd958f0, %r1, %r28
10393 stxa %r28, [%g0] 0x72
10394 .word 0x25400001 ! 101: FBPLG fblg,a,pn %fcc0, <label_0x1>
10395dvapa_4_67:
10396 nop
10397 ta T_CHANGE_HPRIV
10398 mov 0xea4, %r20
10399 mov 0x14, %r19
10400 sllx %r20, 23, %r20
10401 or %r19, %r20, %r19
10402 stxa %r19, [%g0] ASI_LSU_CONTROL
10403 mov 0x38, %r18
10404 stxa %r31, [%r18]0x58
10405 ta T_CHANGE_NONHPRIV
10406 .word 0xdb1fc009 ! 102: LDDF_R ldd [%r31, %r9], %f13
10407trapasi_4_68:
10408mov 0x38, %r1 ! (VA for ASI 0x5b)
10409 .word 0xdac04b40 ! 103: LDSWA_R ldswa [%r1, %r0] 0x5a, %r13
10410 .word 0xe19fd960 ! 104: LDDFA_R ldda [%r31, %r0], %f16
10411brcommon_4_69:
10412 ba,a .+12
10413 mov %r31, %r15
10414 ba,a .+8
10415 call common_target
10416 .word 0xdbe7e009 ! 105: CASA_R casa [%r31] %asi, %r9, %r13
10417mondo_4_70:
10418 nop
10419 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10420 ta T_CHANGE_PRIV
10421 stxa %r16, [%r0+0x3e8] %asi
10422 .word 0x9d904012 ! 106: WRPR_WSTATE_R wrpr %r1, %r18, %wstate
10423 nop
10424 ta T_CHANGE_HPRIV
10425 mov 0x4, %r10
10426 set sync_thr_counter2, %r23
10427 cas [%r23],%g0,%r10 !lock
10428 brnz %r10, sma_4_71
10429 rd %asi, %r12
10430 wr %g0, 0x40, %asi
10431 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
10432 set 0x00061fff, %g1
10433 stxa %g1, [%g0 + 0x80] %asi
10434 wr %r12, %g0, %asi
10435 st %g0, [%r23]
10436sma_4_71:
10437 ta T_CHANGE_NONHPRIV
10438 .word 0xdbe7e010 ! 107: CASA_R casa [%r31] %asi, %r16, %r13
10439 .word 0xdb27e0f4 ! 108: STF_I st %f13, [0x00f4, %r31]
10440 .word 0xc32fc010 ! 109: STXFSR_R st-sfr %f1, [%r16, %r31]
10441 .word 0xa7b347c2 ! 110: PDIST pdistn %d44, %d2, %d50
10442change_to_randtl_4_73:
10443 ta T_CHANGE_HPRIV ! macro
10444done_change_to_randtl_4_73:
10445 .word 0x8f902000 ! 111: WRPR_TL_I wrpr %r0, 0x0000, %tl
10446 .word 0xd20fe010 ! 112: LDUB_I ldub [%r31 + 0x0010], %r9
10447splash_lsu_4_74:
10448 nop
10449 ta T_CHANGE_HPRIV
10450 set 0xa22692f8, %r2
10451 mov 0x6, %r1
10452 sllx %r1, 32, %r1
10453 or %r1, %r2, %r2
10454 stxa %r2, [%r0] ASI_LSU_CONTROL
10455 .word 0x3d400001 ! 113: FBPULE fbule,a,pn %fcc0, <label_0x1>
10456br_longdelay2_4_75:
10457 .word 0x22800001 ! 1: BE be,a <label_0x1>
10458 .word 0xc36b6c82 ! 114: PREFETCH_I prefetch [%r13 + 0x0c82], #one_read
10459 .word 0xb1800011 ! 115: WR_STICK_REG_R wr %r0, %r17, %-
10460ibp_4_76:
10461 nop
10462 ta T_CHANGE_HPRIV
10463 mov 8, %r18
10464 rd %asi, %r12
10465 wr %r0, 0x41, %asi
10466 set sync_thr_counter, %r23
10467 mov 0x4, %r16
10468ibp_startwait4_76:
10469 cas [%r23],%g0,%r16 !lock
10470 brz,a %r16, continue_ibp_4_76
10471 mov (~0x4&0xf), %r16
10472 ld [%r23], %r16
10473ibp_wait4_76:
10474 brnz %r16, ibp_wait4_76
10475 ld [%r23], %r16
10476 ba,a ibp_startwait4_76
10477 mov 0x4, %r16
10478continue_ibp_4_76:
10479 ldxa [%g0]0x63, %r14 !Get raw TID
10480 srlx %r14, 3, %r14 !Get CID
10481 sllx %r16, %r14, %r16 !Mask for my core only
10482 ldxa [0x58]%asi, %r17 !Running_status
10483wait_for_stat_4_76:
10484 ldxa [0x50]%asi, %r13 !Running_rw
10485 cmp %r13, %r17
10486 bne,a wait_for_stat_4_76
10487 ldxa [0x58]%asi, %r17 !Running_status
10488 stxa %r16, [0x68]%asi
10489 ldxa [0x50]%asi, %r14 !Running_rw
10490wait_for_ibp_4_76:
10491 ldxa [0x58]%asi, %r17 !Running_status
10492 cmp %r14, %r17
10493 bne,a wait_for_ibp_4_76
10494 ldxa [0x50]%asi, %r14 !Running_rw
10495ibp_doit4_76:
10496 best_set_reg(0x0000005002c214da,%r19, %r20)
10497 stxa %r20, [%r18]0x42
10498 stxa %r13, [0x50] %asi ! Running_rw
10499 st %g0, [%r23] !clear lock
10500 wr %r0, %r12, %asi ! restore %asi
10501 .word 0xe03fec82 ! 116: STD_I std %r16, [%r31 + 0x0c82]
10502change_to_randtl_4_77:
10503 ta T_CHANGE_HPRIV ! macro
10504done_change_to_randtl_4_77:
10505 .word 0x8f902001 ! 117: WRPR_TL_I wrpr %r0, 0x0001, %tl
10506!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_4_78) + 8, 16, 16)) -> intp(1,0,27)
10507!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_4_78)&0xffffffff) + 8, 16, 16)) -> intp(1,0,27)
10508intvec_4_78:
10509 .word 0x39400001 ! 118: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10510 .word 0x91948006 ! 119: WRPR_PIL_R wrpr %r18, %r6, %pil
10511 .word 0x9f802970 ! 120: SIR sir 0x0970
10512 .word 0xe19fdf20 ! 121: LDDFA_R ldda [%r31, %r0], %f16
10513 nop
10514 ta T_CHANGE_HPRIV
10515 mov 0x4, %r10
10516 set sync_thr_counter2, %r23
10517 cas [%r23],%g0,%r10 !lock
10518 brnz %r10, sma_4_80
10519 rd %asi, %r12
10520 wr %g0, 0x40, %asi
10521 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
10522 set 0x001e1fff, %g1
10523 stxa %g1, [%g0 + 0x80] %asi
10524 wr %r12, %g0, %asi
10525 st %g0, [%r23]
10526sma_4_80:
10527 ta T_CHANGE_NONHPRIV
10528 .word 0xd9e7e011 ! 122: CASA_R casa [%r31] %asi, %r17, %r12
10529 .word 0xd88fe020 ! 123: LDUBA_I lduba [%r31, + 0x0020] %asi, %r12
10530 nop
10531 ta T_CHANGE_HPRIV
10532 mov 0x4+1, %r10
10533 set sync_thr_counter1, %r23
10534 cas [%r23],%g0,%r10 !lock
10535 brnz %r10, cwq_4_81
10536 rd %asi, %r12
10537 wr %g0, 0x40, %asi
10538 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
10539 and %l1, 0x3, %l1 ! Check if busy/enabled ..
10540 cmp %l1, 1
10541 bne cwq_4_81
10542 set CWQ_BASE, %l6
10543 best_set_reg(0x20610010, %l1, %l2) !# Control Word
10544 sllx %l2, 32, %l2
10545 stx %l2, [%l6 + 0x0]
10546 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
10547 sub %l2, 0x40, %l2
10548 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
10549 wr %r12, %g0, %asi
10550 st %g0, [%r23]
10551cwq_4_81:
10552 ta T_CHANGE_NONHPRIV
10553 .word 0xa3414000 ! 124: RDPC rd %pc, %r17
10554fpinit_4_82:
10555 setx fp_data_quads, %r19, %r20
10556 ldd [%r20], %f0
10557 ldd [%r20+8], %f4
10558 ld [%r20+16], %fsr
10559 ld [%r20+24], %r19
10560 wr %r19, %g0, %gsr
10561 .word 0x8da009a4 ! 125: FDIVs fdivs %f0, %f4, %f6
10562 .word 0xb1800011 ! 126: WR_STICK_REG_R wr %r0, %r17, %-
10563 .word 0xe6dfc031 ! 127: LDXA_R ldxa [%r31, %r17] 0x01, %r19
10564 .word 0xe737e0ac ! 128: STQF_I - %f19, [0x00ac, %r31]
10565 .word 0x2c800001 ! 1: BNEG bneg,a <label_0x1>
10566 .word 0x8d903c1b ! 129: WRPR_PSTATE_I wrpr %r0, 0x1c1b, %pstate
10567trapasi_4_85:
10568mov 0x8, %r1 ! (VA for ASI 0x4c)
10569 .word 0xe6d84980 ! 130: LDXA_R ldxa [%r1, %r0] 0x4c, %r19
10570!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_4_86) + 8, 16, 16)) -> intp(0,0,22)
10571!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_4_86)&0xffffffff) + 8, 16, 16)) -> intp(0,0,22)
10572intvec_4_86:
10573 .word 0x39400001 ! 131: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10574mondo_4_87:
10575 nop
10576 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10577 stxa %r17, [%r0+0x3d8] %asi
10578 .word 0x9d91000d ! 132: WRPR_WSTATE_R wrpr %r4, %r13, %wstate
10579splash_hpstate_4_88:
10580 .word 0x819825df ! 133: WRHPR_HPSTATE_I wrhpr %r0, 0x05df, %hpstate
10581 .word 0xe19fe060 ! 134: LDDFA_I ldda [%r31, 0x0060], %f16
10582 .word 0xa7a449d2 ! 135: FDIVd fdivd %f48, %f18, %f50
10583 .word 0xa5b08490 ! 136: FCMPLE32 fcmple32 %d2, %d16, %r18
10584 invalw
10585 mov 0xb0, %r30
10586 .word 0x91d0001e ! 137: Tcc_R ta icc_or_xcc, %r0 + %r30
10587br_longdelay3_4_90:
10588 nop
10589 not %g0, %r12
10590 jmp %r12
10591 .word 0x99902002 ! 138: WRPR_CLEANWIN_I wrpr %r0, 0x0002, %cleanwin
10592fpinit_4_91:
10593 setx fp_data_quads, %r19, %r20
10594 ldd [%r20], %f0
10595 ldd [%r20+8], %f4
10596 ld [%r20+16], %fsr
10597 ld [%r20+24], %r19
10598 wr %r19, %g0, %gsr
10599 .word 0xc3e82812 ! 139: PREFETCHA_I prefetcha [%r0, + 0x0812] %asi, #one_read
10600 .word 0xa9a509ab ! 140: FDIVs fdivs %f20, %f11, %f20
10601 ta T_CHANGE_NONPRIV ! macro
10602 .word 0x39400001 ! 1: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10603 .word 0x8d903811 ! 142: WRPR_PSTATE_I wrpr %r0, 0x1811, %pstate
10604tglhtw_4_93:
10605 nop
10606 rd %asi, %l3 ! save %asi
10607 ta T_CHANGE_HPRIV
10608 wr %g0, ASI_MMU_ZERO_CONTEXT_TSB_CONFIG, %asi
10609 mov 1, %l2
10610 sllx %l2, 63, %l2
10611 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
10612 xor %l4, %l2, %l4
10613 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi
10614 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
10615 xor %l4, %l2, %l4
10616 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi
10617 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
10618 xor %l4, %l2, %l4
10619 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi
10620 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
10621 xor %l4, %l2, %l4
10622 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi
10623 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
10624 xor %l4, %l2, %l4
10625 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi
10626 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
10627 xor %l4, %l2, %l4
10628 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi
10629 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
10630 xor %l4, %l2, %l4
10631 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi
10632 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
10633 xor %l4, %l2, %l4
10634 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi
10635 ta T_CHANGE_NONHPRIV
10636 wr %g0, %l3, %asi !restore %asi
10637 .word 0x93b40989 ! 143: BSHUFFLE fmovc32 %d16, %d40, %d40
10638trapasi_4_94:
10639mov 0x10, %r1 ! (VA for ASI 0x5a)
10640 .word 0xd6d84e40 ! 144: LDXA_R ldxa [%r1, %r0] 0x72, %r11
10641 .word 0xa5a00166 ! 145: FABSq dis not found
10642
10643br_longdelay1_4_95:
10644 .word 0x2c800001 ! 1: BNEG bneg,a <label_0x1>
10645 .word 0xbfe7c000 ! 146: SAVE_R save %r31, %r0, %r31
10646 .word 0xd6bfe058 ! 147: STDA_I stda %r11, [%r31 + 0x0058] %asi
10647 invalw
10648 mov 0xb5, %r30
10649 .word 0x83d0001e ! 148: Tcc_R te icc_or_xcc, %r0 + %r30
10650br_longdelay1_4_96:
10651 .word 0x2e800001 ! 1: BVS bvs,a <label_0x1>
10652 .word 0xbfe7c000 ! 149: SAVE_R save %r31, %r0, %r31
10653 .word 0x83d020b3 ! 150: Tcc_I te icc_or_xcc, %r0 + 179
10654jmptr_4_97:
10655 nop
10656 best_set_reg(0xe0200000, %r20, %r27)
10657 .word 0xb7c6c000 ! 151: JMPL_R jmpl %r27 + %r0, %r27
10658pmu_4_98:
10659 nop
10660 setx 0xfffff2f5fffff8ff, %g1, %g7
10661 .word 0xa3800007 ! 152: WR_PERF_COUNTER_R wr %r0, %r7, %-
10662jmptr_4_99:
10663 nop
10664 best_set_reg(0xe0200000, %r20, %r27)
10665 .word 0xb7c6c000 ! 153: JMPL_R jmpl %r27 + %r0, %r27
10666mondo_4_100:
10667 nop
10668 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10669 ta T_CHANGE_PRIV
10670 stxa %r5, [%r0+0x3d8] %asi
10671 .word 0x9d950012 ! 154: WRPR_WSTATE_R wrpr %r20, %r18, %wstate
10672 ta T_CHANGE_NONPRIV ! macro
10673 .word 0x81460000 ! 156: RD_STICK_REG stbar
10674splash_cmpr_4_101:
10675 nop
10676 setx 0xd9d167e2ada2bb92, %l2, %l1
10677 ta T_CHANGE_PRIV
10678 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
10679 ta T_CHANGE_NONPRIV
10680 sub %l1, 40, %g1
10681 .word 0x89900011 ! 157: WRPR_TICK_R wrpr %r0, %r17, %tick
10682 .word 0x9f80373b ! 158: SIR sir 0x173b
10683brcommon_4_102:
10684 ba,a .+12
10685 mov %r31, %r15
10686 ba,a .+8
10687 call common_target
10688 .word 0xd697c02a ! 159: LDUHA_R lduha [%r31, %r10] 0x01, %r11
10689pmu_4_103:
10690 nop
10691 setx 0xfffff061fffff1df, %g1, %g7
10692 .word 0xa3800007 ! 160: WR_PERF_COUNTER_R wr %r0, %r7, %-
10693 .word 0xc1bfe0e0 ! 161: STDFA_I stda %f0, [0x00e0, %r31]
10694!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_4_104) + 32, 16, 16)) -> intp(5,0,18)
10695!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_4_104)&0xffffffff) + 32, 16, 16)) -> intp(5,0,18)
10696intvec_4_104:
10697 .word 0x39400001 ! 162: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10698 .word 0xc3eac029 ! 163: PREFETCHA_R prefetcha [%r11, %r9] 0x01, #one_read
10699 .word 0x8d903f18 ! 164: WRPR_PSTATE_I wrpr %r0, 0x1f18, %pstate
10700jmptr_4_106:
10701 nop
10702 best_set_reg(0xe0200000, %r20, %r27)
10703 .word 0xb7c6c000 ! 165: JMPL_R jmpl %r27 + %r0, %r27
10704dvapa_4_107:
10705 nop
10706 ta T_CHANGE_HPRIV
10707 mov 0xcad, %r20
10708 mov 0x1, %r19
10709 sllx %r20, 23, %r20
10710 or %r19, %r20, %r19
10711 stxa %r19, [%g0] ASI_LSU_CONTROL
10712 mov 0x38, %r18
10713 stxa %r31, [%r18]0x58
10714 ta T_CHANGE_NONHPRIV
10715 .word 0xd2dfc034 ! 166: LDXA_R ldxa [%r31, %r20] 0x01, %r9
10716 nop
10717 ta T_CHANGE_HPRIV
10718 mov 0x4, %r10
10719 set sync_thr_counter2, %r23
10720 cas [%r23],%g0,%r10 !lock
10721 brnz %r10, sma_4_108
10722 rd %asi, %r12
10723 wr %g0, 0x40, %asi
10724 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
10725 set 0x000e1fff, %g1
10726 stxa %g1, [%g0 + 0x80] %asi
10727 wr %r12, %g0, %asi
10728 st %g0, [%r23]
10729sma_4_108:
10730 ta T_CHANGE_NONHPRIV
10731 .word 0xd3e7e014 ! 167: CASA_R casa [%r31] %asi, %r20, %r9
10732 .word 0x99a189d1 ! 168: FDIVd fdivd %f6, %f48, %f12
10733 .word 0x95a089c9 ! 169: FDIVd fdivd %f2, %f40, %f10
10734dvapa_4_109:
10735 nop
10736 ta T_CHANGE_HPRIV
10737 mov 0xfff, %r20
10738 mov 0x1b, %r19
10739 sllx %r20, 23, %r20
10740 or %r19, %r20, %r19
10741 stxa %r19, [%g0] ASI_LSU_CONTROL
10742 mov 0x38, %r18
10743 stxa %r31, [%r18]0x58
10744 ta T_CHANGE_NONHPRIV
10745 .word 0xe1e7e003 ! 170: CASA_R casa [%r31] %asi, %r3, %r16
10746mondo_4_110:
10747 nop
10748 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10749 stxa %r3, [%r0+0x3c0] %asi
10750 .word 0x9d944007 ! 171: WRPR_WSTATE_R wrpr %r17, %r7, %wstate
10751 .word 0xe05fe018 ! 172: LDX_I ldx [%r31 + 0x0018], %r16
10752 .word 0xab80c013 ! 173: WR_CLEAR_SOFTINT_R wr %r3, %r19, %clear_softint
10753intveclr_4_111:
10754 nop
10755 ta T_CHANGE_HPRIV
10756 setx 0xfce69212c15f60d3, %r1, %r28
10757 stxa %r28, [%g0] 0x72
10758 .word 0x25400001 ! 174: FBPLG fblg,a,pn %fcc0, <label_0x1>
10759 .word 0xa5a00169 ! 175: FABSq dis not found
10760
10761 .word 0xb1800011 ! 176: WR_STICK_REG_R wr %r0, %r17, %-
10762 .word 0xe1bfdb60 ! 177: STDFA_R stda %f16, [%r0, %r31]
10763 .word 0xb1800011 ! 178: WR_STICK_REG_R wr %r0, %r17, %-
10764 .word 0xa7703b61 ! 179: POPC_I popc 0x1b61, %r19
10765 .word 0x91d02032 ! 180: Tcc_I ta icc_or_xcc, %r0 + 50
10766 nop
10767 ta T_CHANGE_HPRIV
10768 mov 0x4, %r10
10769 set sync_thr_counter2, %r23
10770 cas [%r23],%g0,%r10 !lock
10771 brnz %r10, sma_4_112
10772 rd %asi, %r12
10773 wr %g0, 0x40, %asi
10774 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
10775 set 0x000a1fff, %g1
10776 stxa %g1, [%g0 + 0x80] %asi
10777 wr %r12, %g0, %asi
10778 st %g0, [%r23]
10779sma_4_112:
10780 ta T_CHANGE_NONHPRIV
10781 .word 0xd1e7e00d ! 181: CASA_R casa [%r31] %asi, %r13, %r8
10782 .word 0x2a700001 ! 182: BPCS <illegal instruction>
10783 .word 0x8d903619 ! 183: WRPR_PSTATE_I wrpr %r0, 0x1619, %pstate
10784 .word 0x91950013 ! 184: WRPR_PIL_R wrpr %r20, %r19, %pil
10785donret_4_115:
10786 nop
10787 ta T_CHANGE_HPRIV ! macro
10788 rd %pc, %r12
10789 add %r12, (donretarg_4_115-donret_4_115-4), %r12
10790 mov 0x38, %r18
10791 stxa %r12, [%r18]0x58
10792 add %r12, 0x4, %r11
10793 wrpr %g0, 0x1, %tl
10794 wrpr %g0, %r12, %tpc
10795 wrpr %g0, %r11, %tnpc
10796 set (0x00e088ad | (16 << 24)), %r13
10797 rdpr %tstate, %r16
10798 mov 0x1f, %r19
10799 and %r19, %r16, %r17
10800 andn %r16, %r19, %r16
10801 or %r16, %r17, %r20
10802 wrpr %r20, %g0, %tstate
10803 wrhpr %g0, 0x4c4, %htstate
10804 ta T_CHANGE_NONHPRIV ! rand=1 (4)
10805 done
10806donretarg_4_115:
10807 .word 0xd0ffe09c ! 185: SWAPA_I swapa %r8, [%r31 + 0x009c] %asi
10808 .word 0xe1bfdb60 ! 186: STDFA_R stda %f16, [%r0, %r31]
10809splash_cmpr_4_116:
10810 nop
10811 setx 0xc89aa2de5d09216e, %l2, %l1
10812 ta T_CHANGE_HPRIV
10813 wrhpr %l1, %g0, %hsys_tick_cmpr
10814 ta T_CHANGE_NONHPRIV
10815 sub %l1, 40, %g1
10816 .word 0x89900011 ! 187: WRPR_TICK_R wrpr %r0, %r17, %tick
10817trapasi_4_117:
10818mov 0x10, %r1 ! (VA for ASI 0x4c)
10819 .word 0xd0c84a00 ! 188: LDSBA_R ldsba [%r1, %r0] 0x50, %r8
10820 nop
10821 ta T_CHANGE_HPRIV
10822 mov 0x4+1, %r10
10823 set sync_thr_counter1, %r23
10824 cas [%r23],%g0,%r10 !lock
10825 brnz %r10, cwq_4_118
10826 rd %asi, %r12
10827 wr %g0, 0x40, %asi
10828 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
10829 and %l1, 0x3, %l1 ! Check if busy/enabled ..
10830 cmp %l1, 1
10831 bne cwq_4_118
10832 set CWQ_BASE, %l6
10833 best_set_reg(0x20610030, %l1, %l2) !# Control Word
10834 sllx %l2, 32, %l2
10835 stx %l2, [%l6 + 0x0]
10836 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
10837 sub %l2, 0x40, %l2
10838 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
10839 wr %r12, %g0, %asi
10840 st %g0, [%r23]
10841cwq_4_118:
10842 ta T_CHANGE_NONHPRIV
10843 .word 0xa3414000 ! 189: RDPC rd %pc, %r17
10844 .word 0xe827e01a ! 190: STW_I stw %r20, [%r31 + 0x001a]
10845 set 0x1912, %l3
10846 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
10847 .word 0xa9b407d0 ! 191: PDIST pdistn %d16, %d16, %d20
10848 .word 0x99450000 ! 192: RD_SET_SOFTINT rd %set_softint, %r12
10849 .word 0xe1bfdb60 ! 193: STDFA_R stda %f16, [%r0, %r31]
10850 .word 0xe81fc000 ! 194: LDD_R ldd [%r31 + %r0], %r20
10851 .word 0xe857e010 ! 195: LDSH_I ldsh [%r31 + 0x0010], %r20
10852 .word 0x97b407c6 ! 196: PDIST pdistn %d16, %d6, %d42
10853 .word 0xc1bfe060 ! 197: STDFA_I stda %f0, [0x0060, %r31]
10854 .word 0xc3eb0033 ! 198: PREFETCHA_R prefetcha [%r12, %r19] 0x01, #one_read
10855 .word 0xb1800011 ! 199: WR_STICK_REG_R wr %r0, %r17, %-
10856 .word 0x9f803d14 ! 200: SIR sir 0x1d14
10857jmptr_4_119:
10858 nop
10859 best_set_reg(0xe0200000, %r20, %r27)
10860 .word 0xb7c6c000 ! 201: JMPL_R jmpl %r27 + %r0, %r27
10861br_longdelay3_4_120:
10862 nop
10863 not %g0, %r12
10864 jmp %r12
10865 .word 0x99902000 ! 202: WRPR_CLEANWIN_I wrpr %r0, 0x0000, %cleanwin
10866 .word 0xc19fde00 ! 203: LDDFA_R ldda [%r31, %r0], %f0
10867 .word 0xd437e0ac ! 204: STH_I sth %r10, [%r31 + 0x00ac]
10868splash_tba_4_121:
10869 ta T_CHANGE_PRIV
10870 setx 0x0000000400380000, %r11, %r12
10871 .word 0x8b90000c ! 205: WRPR_TBA_R wrpr %r0, %r12, %tba
10872tagged_4_122:
10873 tsubcctv %r19, 0x1f45, %r11
10874 .word 0xd407e059 ! 206: LDUW_I lduw [%r31 + 0x0059], %r10
10875 .word 0x9f803735 ! 207: SIR sir 0x1735
10876 nop
10877 ta T_CHANGE_HPRIV
10878 mov 0x4, %r10
10879 set sync_thr_counter2, %r23
10880 cas [%r23],%g0,%r10 !lock
10881 brnz %r10, sma_4_123
10882 rd %asi, %r12
10883 wr %g0, 0x40, %asi
10884 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
10885 set 0x000a1fff, %g1
10886 stxa %g1, [%g0 + 0x80] %asi
10887 wr %r12, %g0, %asi
10888 st %g0, [%r23]
10889sma_4_123:
10890 ta T_CHANGE_NONHPRIV
10891 .word 0xd5e7e00a ! 208: CASA_R casa [%r31] %asi, %r10, %r10
10892jmptr_4_124:
10893 nop
10894 best_set_reg(0xe0200000, %r20, %r27)
10895 .word 0xb7c6c000 ! 209: JMPL_R jmpl %r27 + %r0, %r27
10896 .word 0xa750c000 ! 210: RDPR_TT <illegal instruction>
10897 .word 0xe137c000 ! 211: STQF_R - %f16, [%r0, %r31]
10898intveclr_4_125:
10899 nop
10900 ta T_CHANGE_HPRIV
10901 setx 0x886e742dc6e74d74, %r1, %r28
10902 stxa %r28, [%g0] 0x72
10903 ta T_CHANGE_NONHPRIV
10904 .word 0x25400001 ! 212: FBPLG fblg,a,pn %fcc0, <label_0x1>
10905intveclr_4_126:
10906 nop
10907 ta T_CHANGE_HPRIV
10908 setx 0x4393f18a67e655f1, %r1, %r28
10909 stxa %r28, [%g0] 0x72
10910 .word 0x25400001 ! 213: FBPLG fblg,a,pn %fcc0, <label_0x1>
10911 .word 0x32700001 ! 214: BPNE <illegal instruction>
10912 nop
10913 mov 0x80, %g3
10914 stxa %g3, [%g3] 0x5f
10915 .word 0xe05fc000 ! 215: LDX_R ldx [%r31 + %r0], %r16
10916br_longdelay3_4_127:
10917 nop
10918 not %g0, %r12
10919 jmp %r12
10920 .word 0x99902002 ! 216: WRPR_CLEANWIN_I wrpr %r0, 0x0002, %cleanwin
10921splash_lsu_4_128:
10922 nop
10923 ta T_CHANGE_HPRIV
10924 set 0x8c92c40a, %r2
10925 mov 0x7, %r1
10926 sllx %r1, 32, %r1
10927 or %r1, %r2, %r2
10928 stxa %r2, [%r0] ASI_LSU_CONTROL
10929 .word 0x3d400001 ! 217: FBPULE fbule,a,pn %fcc0, <label_0x1>
10930 nop
10931 ta T_CHANGE_HPRIV
10932 mov 0x4, %r10
10933 set sync_thr_counter2, %r23
10934 cas [%r23],%g0,%r10 !lock
10935 brnz %r10, sma_4_129
10936 rd %asi, %r12
10937 wr %g0, 0x40, %asi
10938 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
10939 set 0x001a1fff, %g1
10940 stxa %g1, [%g0 + 0x80] %asi
10941 wr %r12, %g0, %asi
10942 st %g0, [%r23]
10943sma_4_129:
10944 ta T_CHANGE_NONHPRIV
10945 .word 0xe1e7e00a ! 218: CASA_R casa [%r31] %asi, %r10, %r16
10946pmu_4_130:
10947 nop
10948 ta T_CHANGE_PRIV
10949 setx 0xfffff25afffff89e, %g1, %g7
10950 .word 0xa3800007 ! 219: WR_PERF_COUNTER_R wr %r0, %r7, %-
10951 .word 0x91920005 ! 220: WRPR_PIL_R wrpr %r8, %r5, %pil
10952 invalw
10953 mov 0xb2, %r30
10954 .word 0x91d0001e ! 221: Tcc_R ta icc_or_xcc, %r0 + %r30
10955 .word 0x91a449d0 ! 222: FDIVd fdivd %f48, %f16, %f8
10956intveclr_4_132:
10957 nop
10958 ta T_CHANGE_HPRIV
10959 setx 0xc258aac339704b35, %r1, %r28
10960 stxa %r28, [%g0] 0x72
10961 ta T_CHANGE_NONHPRIV
10962 .word 0x25400001 ! 223: FBPLG fblg,a,pn %fcc0, <label_0x1>
10963splash_hpstate_4_133:
10964 ta T_CHANGE_NONHPRIV
10965 .word 0x819829dd ! 224: WRHPR_HPSTATE_I wrhpr %r0, 0x09dd, %hpstate
10966!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_4_134)+8, 16, 16)) -> intp(mask2tid(0x4),1,3)
10967!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_4_134)&0xffffffff) +8, 16, 16)) -> intp(mask2tid(0x4),1,3)
10968xir_4_134:
10969 .word 0xa984efc9 ! 225: WR_SET_SOFTINT_I wr %r19, 0x0fc9, %set_softint
10970 .word 0xa3520000 ! 226: RDPR_PIL <illegal instruction>
10971pmu_4_135:
10972 nop
10973 ta T_CHANGE_PRIV
10974 setx 0xfffff197fffffff4, %g1, %g7
10975 .word 0xa3800007 ! 227: WR_PERF_COUNTER_R wr %r0, %r7, %-
10976 .word 0x9f8031f2 ! 228: SIR sir 0x11f2
10977 .word 0xe537c000 ! 229: STQF_R - %f18, [%r0, %r31]
10978 invalw
10979 mov 0x32, %r30
10980 .word 0x91d0001e ! 230: Tcc_R ta icc_or_xcc, %r0 + %r30
10981 .word 0x9bb34494 ! 231: FCMPLE32 fcmple32 %d44, %d20, %r13
10982splash_hpstate_4_136:
10983 .word 0x2e800001 ! 1: BVS bvs,a <label_0x1>
10984 .word 0x81982047 ! 232: WRHPR_HPSTATE_I wrhpr %r0, 0x0047, %hpstate
10985 setx 0x0c2b926d321e9f18, %r1, %r28
10986 stxa %r28, [%g0] 0x73
10987intvec_4_137:
10988 .word 0x39400001 ! 233: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10989 invalw
10990 mov 0xb5, %r30
10991 .word 0x93d0001e ! 234: Tcc_R tne icc_or_xcc, %r0 + %r30
10992 .word 0xb1800011 ! 235: WR_STICK_REG_R wr %r0, %r17, %-
10993 .word 0xd80fe000 ! 236: LDUB_I ldub [%r31 + 0x0000], %r12
10994 nop
10995 ta T_CHANGE_HPRIV
10996 mov 0x4+1, %r10
10997 set sync_thr_counter1, %r23
10998 cas [%r23],%g0,%r10 !lock
10999 brnz %r10, cwq_4_138
11000 rd %asi, %r12
11001 wr %g0, 0x40, %asi
11002 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
11003 and %l1, 0x3, %l1 ! Check if busy/enabled ..
11004 cmp %l1, 1
11005 bne cwq_4_138
11006 set CWQ_BASE, %l6
11007 best_set_reg(0x206100e0, %l1, %l2) !# Control Word
11008 sllx %l2, 32, %l2
11009 stx %l2, [%l6 + 0x0]
11010 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
11011 sub %l2, 0x40, %l2
11012 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
11013 wr %r12, %g0, %asi
11014 st %g0, [%r23]
11015cwq_4_138:
11016 ta T_CHANGE_NONHPRIV
11017 .word 0xa1414000 ! 237: RDPC rd %pc, %r16
11018 otherw
11019 mov 0x31, %r30
11020 .word 0x91d0001e ! 238: Tcc_R ta icc_or_xcc, %r0 + %r30
11021 nop
11022 ta T_CHANGE_HPRIV
11023 mov 0x4, %r10
11024 set sync_thr_counter2, %r23
11025 cas [%r23],%g0,%r10 !lock
11026 brnz %r10, sma_4_139
11027 rd %asi, %r12
11028 wr %g0, 0x40, %asi
11029 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
11030 set 0x000e1fff, %g1
11031 stxa %g1, [%g0 + 0x80] %asi
11032 wr %r12, %g0, %asi
11033 st %g0, [%r23]
11034sma_4_139:
11035 ta T_CHANGE_NONHPRIV
11036 .word 0xe7e7e014 ! 239: CASA_R casa [%r31] %asi, %r20, %r19
11037 .word 0xe71fc000 ! 240: LDDF_R ldd [%r31, %r0], %f19
11038 .word 0x81460000 ! 241: RD_STICK_REG stbar
11039 nop
11040 ta T_CHANGE_HPRIV
11041 mov 0x4+1, %r10
11042 set sync_thr_counter1, %r23
11043 cas [%r23],%g0,%r10 !lock
11044 brnz %r10, cwq_4_140
11045 rd %asi, %r12
11046 wr %g0, 0x40, %asi
11047 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
11048 and %l1, 0x3, %l1 ! Check if busy/enabled ..
11049 cmp %l1, 1
11050 bne cwq_4_140
11051 set CWQ_BASE, %l6
11052 best_set_reg(0x206100e0, %l1, %l2) !# Control Word
11053 sllx %l2, 32, %l2
11054 stx %l2, [%l6 + 0x0]
11055 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
11056 sub %l2, 0x40, %l2
11057 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
11058 wr %r12, %g0, %asi
11059 st %g0, [%r23]
11060cwq_4_140:
11061 ta T_CHANGE_NONHPRIV
11062 .word 0xa5414000 ! 242: RDPC rd %pc, %r18
11063 .word 0x83d02035 ! 243: Tcc_I te icc_or_xcc, %r0 + 53
11064trapasi_4_141:
11065mov 0x3e8, %r1 ! (VA for ASI 0x25)
11066 .word 0xe0904b60 ! 244: LDUHA_R lduha [%r1, %r0] 0x5b, %r16
11067 .word 0xa1a00168 ! 245: FABSq dis not found
11068
11069 .word 0x93d02035 ! 246: Tcc_I tne icc_or_xcc, %r0 + 53
11070 invalw
11071 mov 0xb5, %r30
11072 .word 0x93d0001e ! 247: Tcc_R tne icc_or_xcc, %r0 + %r30
11073splash_lsu_4_142:
11074 nop
11075 ta T_CHANGE_HPRIV
11076 set 0x5d4aa2f8, %r2
11077 mov 0x2, %r1
11078 sllx %r1, 32, %r1
11079 or %r1, %r2, %r2
11080 stxa %r2, [%r0] ASI_LSU_CONTROL
11081 .word 0x3d400001 ! 248: FBPULE fbule,a,pn %fcc0, <label_0x1>
11082pmu_4_143:
11083 nop
11084 ta T_CHANGE_PRIV
11085 setx 0xfffffefefffff1ec, %g1, %g7
11086 .word 0xa3800007 ! 249: WR_PERF_COUNTER_R wr %r0, %r7, %-
11087 .word 0xe1bfe0e0 ! 250: STDFA_I stda %f16, [0x00e0, %r31]
11088 .word 0xb1800011 ! 251: WR_STICK_REG_R wr %r0, %r17, %-
11089 .word 0x91d020b2 ! 252: Tcc_I ta icc_or_xcc, %r0 + 178
11090 .word 0xc1bfc3e0 ! 253: STDFA_R stda %f0, [%r0, %r31]
11091memptr_4_144:
11092 set user_data_start, %r31
11093 .word 0x8584b8a6 ! 254: WRCCR_I wr %r18, 0x18a6, %ccr
11094fpinit_4_145:
11095 setx fp_data_quads, %r19, %r20
11096 ldd [%r20], %f0
11097 ldd [%r20+8], %f4
11098 ld [%r20+16], %fsr
11099 ld [%r20+24], %r19
11100 wr %r19, %g0, %gsr
11101 .word 0x8da009a4 ! 255: FDIVs fdivs %f0, %f4, %f6
11102 .word 0x8d902faa ! 256: WRPR_PSTATE_I wrpr %r0, 0x0faa, %pstate
11103 .word 0xe527e010 ! 257: STF_I st %f18, [0x0010, %r31]
11104splash_lsu_4_147:
11105 nop
11106 ta T_CHANGE_HPRIV
11107 set 0xed433bd1, %r2
11108 mov 0x3, %r1
11109 sllx %r1, 32, %r1
11110 or %r1, %r2, %r2
11111 stxa %r2, [%r0] ASI_LSU_CONTROL
11112 ta T_CHANGE_NONHPRIV
11113 .word 0x3d400001 ! 258: FBPULE fbule,a,pn %fcc0, <label_0x1>
11114 .word 0xe1bfdb60 ! 259: STDFA_R stda %f16, [%r0, %r31]
11115mondo_4_148:
11116 nop
11117 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11118 ta T_CHANGE_PRIV
11119 stxa %r9, [%r0+0x3c0] %asi
11120 .word 0x9d940014 ! 260: WRPR_WSTATE_R wrpr %r16, %r20, %wstate
11121 .word 0x95480000 ! 261: RDHPR_HPSTATE rdhpr %hpstate, %r10
11122brcommon_4_149:
11123 ba,a .+12
11124 mov %r31, %r15
11125 ba,a .+8
11126 call common_target
11127 .word 0xe43fe190 ! 262: STD_I std %r18, [%r31 + 0x0190]
11128 .word 0x91a00168 ! 263: FABSq dis not found
11129
11130 .word 0xc3ed0029 ! 264: PREFETCHA_R prefetcha [%r20, %r9] 0x01, #one_read
11131 .word 0xe827e0ae ! 265: STW_I stw %r20, [%r31 + 0x00ae]
11132 .word 0xe8cfe030 ! 266: LDSBA_I ldsba [%r31, + 0x0030] %asi, %r20
11133 .word 0x87a84a43 ! 267: FCMPd fcmpd %fcc<n>, %f32, %f34
11134memptr_4_150:
11135 set user_data_start, %r31
11136 .word 0x8584f910 ! 268: WRCCR_I wr %r19, 0x1910, %ccr
11137splash_lsu_4_151:
11138 nop
11139 ta T_CHANGE_HPRIV
11140 set 0xeccf1cb1, %r2
11141 mov 0x3, %r1
11142 sllx %r1, 32, %r1
11143 or %r1, %r2, %r2
11144 stxa %r2, [%r0] ASI_LSU_CONTROL
11145 ta T_CHANGE_NONHPRIV
11146 .word 0x3d400001 ! 269: FBPULE fbule,a,pn %fcc0, <label_0x1>
11147 .word 0xd43fe0ce ! 270: STD_I std %r10, [%r31 + 0x00ce]
11148 .word 0xa570385d ! 271: POPC_I popc 0x185d, %r18
11149 .word 0xab814001 ! 272: WR_CLEAR_SOFTINT_R wr %r5, %r1, %clear_softint
11150pmu_4_152:
11151 nop
11152 setx 0xfffff849fffff191, %g1, %g7
11153 .word 0xa3800007 ! 273: WR_PERF_COUNTER_R wr %r0, %r7, %-
11154dvapa_4_153:
11155 nop
11156 ta T_CHANGE_HPRIV
11157 mov 0xdb3, %r20
11158 mov 0x14, %r19
11159 sllx %r20, 23, %r20
11160 or %r19, %r20, %r19
11161 stxa %r19, [%g0] ASI_LSU_CONTROL
11162 mov 0x38, %r18
11163 stxa %r31, [%r18]0x58
11164 ta T_CHANGE_NONHPRIV
11165 .word 0xe51fc013 ! 274: LDDF_R ldd [%r31, %r19], %f18
11166 .word 0x87ac8a53 ! 275: FCMPd fcmpd %fcc<n>, %f18, %f50
11167jmptr_4_154:
11168 nop
11169 best_set_reg(0xe0200000, %r20, %r27)
11170 .word 0xb7c6c000 ! 276: JMPL_R jmpl %r27 + %r0, %r27
11171 .word 0xe1bfdf20 ! 277: STDFA_R stda %f16, [%r0, %r31]
11172 .word 0x9f8026b2 ! 278: SIR sir 0x06b2
11173 nop
11174 ta T_CHANGE_HPRIV
11175 mov 0x4, %r10
11176 set sync_thr_counter2, %r23
11177 cas [%r23],%g0,%r10 !lock
11178 brnz %r10, sma_4_155
11179 rd %asi, %r12
11180 wr %g0, 0x40, %asi
11181 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
11182 set 0x001a1fff, %g1
11183 stxa %g1, [%g0 + 0x80] %asi
11184 wr %r12, %g0, %asi
11185 st %g0, [%r23]
11186sma_4_155:
11187 ta T_CHANGE_NONHPRIV
11188 .word 0xdbe7e010 ! 279: CASA_R casa [%r31] %asi, %r16, %r13
11189splash_tba_4_156:
11190 ta T_CHANGE_PRIV
11191 set 0x120000, %r12
11192 .word 0x8b90000c ! 280: WRPR_TBA_R wrpr %r0, %r12, %tba
11193pmu_4_157:
11194 nop
11195 setx 0xfffffd12fffffd3e, %g1, %g7
11196 .word 0xa3800007 ! 281: WR_PERF_COUNTER_R wr %r0, %r7, %-
11197mondo_4_158:
11198 nop
11199 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11200 stxa %r19, [%r0+0x3d8] %asi
11201 .word 0x9d934011 ! 282: WRPR_WSTATE_R wrpr %r13, %r17, %wstate
11202 nop
11203 ta T_CHANGE_HPRIV
11204 mov 0x4+1, %r10
11205 set sync_thr_counter1, %r23
11206 cas [%r23],%g0,%r10 !lock
11207 brnz %r10, cwq_4_159
11208 rd %asi, %r12
11209 wr %g0, 0x40, %asi
11210 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
11211 and %l1, 0x3, %l1 ! Check if busy/enabled ..
11212 cmp %l1, 1
11213 bne cwq_4_159
11214 set CWQ_BASE, %l6
11215 best_set_reg(0x206100b0, %l1, %l2) !# Control Word
11216 sllx %l2, 32, %l2
11217 stx %l2, [%l6 + 0x0]
11218 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
11219 sub %l2, 0x40, %l2
11220 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
11221 wr %r12, %g0, %asi
11222 st %g0, [%r23]
11223cwq_4_159:
11224 ta T_CHANGE_NONHPRIV
11225 .word 0x99414000 ! 283: RDPC rd %pc, %r12
11226 .word 0x93a00166 ! 284: FABSq dis not found
11227
11228jmptr_4_160:
11229 nop
11230 best_set_reg(0xe0200000, %r20, %r27)
11231 .word 0xb7c6c000 ! 285: JMPL_R jmpl %r27 + %r0, %r27
11232intveclr_4_161:
11233 nop
11234 ta T_CHANGE_HPRIV
11235 setx 0xa8ddbda5c9f6fecc, %r1, %r28
11236 stxa %r28, [%g0] 0x72
11237 .word 0x25400001 ! 286: FBPLG fblg,a,pn %fcc0, <label_0x1>
11238 .word 0xa7a349d2 ! 287: FDIVd fdivd %f44, %f18, %f50
11239 .word 0x8d90202d ! 288: WRPR_PSTATE_I wrpr %r0, 0x002d, %pstate
11240 nop
11241 ta T_CHANGE_HPRIV
11242 mov 0x4, %r10
11243 set sync_thr_counter2, %r23
11244 cas [%r23],%g0,%r10 !lock
11245 brnz %r10, sma_4_163
11246 rd %asi, %r12
11247 wr %g0, 0x40, %asi
11248 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
11249 set 0x000e1fff, %g1
11250 stxa %g1, [%g0 + 0x80] %asi
11251 wr %r12, %g0, %asi
11252 st %g0, [%r23]
11253sma_4_163:
11254 ta T_CHANGE_NONHPRIV
11255 .word 0xe9e7e010 ! 289: CASA_R casa [%r31] %asi, %r16, %r20
11256 .word 0x95a489d1 ! 290: FDIVd fdivd %f18, %f48, %f10
11257 .word 0x91944001 ! 291: WRPR_PIL_R wrpr %r17, %r1, %pil
11258 .word 0xc1bfdb60 ! 292: STDFA_R stda %f0, [%r0, %r31]
11259donret_4_165:
11260 nop
11261 ta T_CHANGE_HPRIV ! macro
11262 rd %pc, %r12
11263 add %r12, (donretarg_4_165-donret_4_165-4), %r12
11264 mov 0x38, %r18
11265 stxa %r12, [%r18]0x58
11266 add %r12, 0x4, %r11
11267 wrpr %g0, 0x2, %tl
11268 wrpr %g0, %r12, %tpc
11269 wrpr %g0, %r11, %tnpc
11270 set (0x00d9d334 | (0x82 << 24)), %r13
11271 rdpr %tstate, %r16
11272 mov 0x1f, %r19
11273 and %r19, %r16, %r17
11274 andn %r16, %r19, %r16
11275 or %r16, %r17, %r20
11276 wrpr %r20, %g0, %tstate
11277 wrhpr %g0, 0x8cd, %htstate
11278 ta T_CHANGE_NONPRIV ! rand=0 (4)
11279 .word 0x24c84001 ! 1: BRLEZ brlez,a,pt %r1,<label_0x84001>
11280 done
11281donretarg_4_165:
11282 .word 0xd6ffe0e9 ! 293: SWAPA_I swapa %r11, [%r31 + 0x00e9] %asi
11283br_longdelay1_4_166:
11284 .word 0x2ec8c001 ! 1: BRGEZ brgez,a,pt %r3,<label_0x8c001>
11285 .word 0x9d97c000 ! 294: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
11286 .word 0xc19fe080 ! 295: LDDFA_I ldda [%r31, 0x0080], %f0
11287 setx 0xb37888d1543dbae4, %r1, %r28
11288 stxa %r28, [%g0] 0x73
11289intvec_4_167:
11290 .word 0x39400001 ! 296: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
11291intveclr_4_168:
11292 nop
11293 ta T_CHANGE_HPRIV
11294 setx 0xa74099bc25f59118, %r1, %r28
11295 stxa %r28, [%g0] 0x72
11296 ta T_CHANGE_NONHPRIV
11297 .word 0x25400001 ! 297: FBPLG fblg,a,pn %fcc0, <label_0x1>
11298 .word 0x26800001 ! 298: BL bl,a <label_0x1>
11299jmptr_4_169:
11300 nop
11301 best_set_reg(0xe0200000, %r20, %r27)
11302 .word 0xb7c6c000 ! 299: JMPL_R jmpl %r27 + %r0, %r27
11303 nop
11304 ta T_CHANGE_HPRIV
11305 mov 0x4, %r10
11306 set sync_thr_counter2, %r23
11307 cas [%r23],%g0,%r10 !lock
11308 brnz %r10, sma_4_170
11309 rd %asi, %r12
11310 wr %g0, 0x40, %asi
11311 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
11312 set 0x000e1fff, %g1
11313 stxa %g1, [%g0 + 0x80] %asi
11314 wr %r12, %g0, %asi
11315 st %g0, [%r23]
11316sma_4_170:
11317 ta T_CHANGE_NONHPRIV
11318 .word 0xd7e7e008 ! 300: CASA_R casa [%r31] %asi, %r8, %r11
11319 .word 0xd697e008 ! 301: LDUHA_I lduha [%r31, + 0x0008] %asi, %r11
11320 nop
11321 nop
11322 ta T_CHANGE_PRIV
11323 wrpr %g0, %g0, %gl
11324 nop
11325 nop
11326 setx join_lbl_0_0, %g1, %g2
11327 jmp %g2
11328 nop
11329fork_lbl_0_2:
11330 ta T_CHANGE_NONHPRIV
11331br_badelay3_2_0:
11332 .word 0x34800001 ! 1: BG bg,a <label_0x1>
11333 .word 0xdb5104b2 ! Random illegal ?
11334 .word 0xe3110011 ! 1: LDQF_R - [%r4, %r17], %f17
11335 .word 0x99a4c834 ! 1: FADDs fadds %f19, %f20, %f12
11336 nop
11337 ta T_CHANGE_HPRIV
11338 mov 0x2, %r10
11339 set sync_thr_counter2, %r23
11340 cas [%r23],%g0,%r10 !lock
11341 brnz %r10, sma_2_1
11342 rd %asi, %r12
11343 wr %g0, 0x40, %asi
11344 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
11345 set 0x00161fff, %g1
11346 stxa %g1, [%g0 + 0x80] %asi
11347 wr %r12, %g0, %asi
11348 st %g0, [%r23]
11349sma_2_1:
11350 ta T_CHANGE_NONHPRIV
11351 .word 0xdbe7e012 ! 2: CASA_R casa [%r31] %asi, %r18, %r13
11352splash_hpstate_2_2:
11353 .word 0x33400001 ! 1: FBPE fbe,a,pn %fcc0, <label_0x1>
11354 .word 0x8198241e ! 3: WRHPR_HPSTATE_I wrhpr %r0, 0x041e, %hpstate
11355 nop
11356 ta T_CHANGE_HPRIV
11357 mov 0x2, %r10
11358 set sync_thr_counter2, %r23
11359 cas [%r23],%g0,%r10 !lock
11360 brnz %r10, sma_2_3
11361 rd %asi, %r12
11362 wr %g0, 0x40, %asi
11363 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
11364 set 0x001e1fff, %g1
11365 stxa %g1, [%g0 + 0x80] %asi
11366 wr %r12, %g0, %asi
11367 st %g0, [%r23]
11368sma_2_3:
11369 ta T_CHANGE_NONHPRIV
11370 .word 0xdbe7e012 ! 4: CASA_R casa [%r31] %asi, %r18, %r13
11371 .word 0x91d02035 ! 5: Tcc_I ta icc_or_xcc, %r0 + 53
11372jmptr_2_4:
11373 nop
11374 best_set_reg(0xe1a00000, %r20, %r27)
11375 .word 0xb7c6c000 ! 6: JMPL_R jmpl %r27 + %r0, %r27
11376 .word 0xdb27c000 ! 7: STF_R st %f13, [%r0, %r31]
11377 otherw
11378 mov 0xb3, %r30
11379 .word 0x83d0001e ! 8: Tcc_R te icc_or_xcc, %r0 + %r30
11380mondo_2_5:
11381 nop
11382 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11383 ta T_CHANGE_PRIV
11384 stxa %r13, [%r0+0x3c8] %asi
11385 .word 0x9d928005 ! 9: WRPR_WSTATE_R wrpr %r10, %r5, %wstate
11386 .word 0x91d02035 ! 10: Tcc_I ta icc_or_xcc, %r0 + 53
11387pmu_2_6:
11388 nop
11389 ta T_CHANGE_PRIV
11390 setx 0xfffff338fffff6c3, %g1, %g7
11391 .word 0xa3800007 ! 11: WR_PERF_COUNTER_R wr %r0, %r7, %-
11392memptr_2_7:
11393 set 0x60140000, %r31
11394 .word 0x85846b53 ! 12: WRCCR_I wr %r17, 0x0b53, %ccr
11395 nop
11396 ta T_CHANGE_HPRIV
11397 mov 0x2+1, %r10
11398 set sync_thr_counter1, %r23
11399 cas [%r23],%g0,%r10 !lock
11400 brnz %r10, cwq_2_8
11401 rd %asi, %r12
11402 wr %g0, 0x40, %asi
11403 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
11404 and %l1, 0x3, %l1 ! Check if busy/enabled ..
11405 cmp %l1, 1
11406 bne cwq_2_8
11407 set CWQ_BASE, %l6
11408 best_set_reg(0x20610090, %l1, %l2) !# Control Word
11409 sllx %l2, 32, %l2
11410 stx %l2, [%l6 + 0x0]
11411 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
11412 sub %l2, 0x40, %l2
11413 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
11414 wr %r12, %g0, %asi
11415 st %g0, [%r23]
11416cwq_2_8:
11417 ta T_CHANGE_NONHPRIV
11418 .word 0x97414000 ! 13: RDPC rd %pc, %r11
11419pmu_2_9:
11420 nop
11421 setx 0xfffffe09fffff94a, %g1, %g7
11422 .word 0xa3800007 ! 14: WR_PERF_COUNTER_R wr %r0, %r7, %-
11423 nop
11424 ta T_CHANGE_HPRIV
11425 mov 0x2+1, %r10
11426 set sync_thr_counter1, %r23
11427 cas [%r23],%g0,%r10 !lock
11428 brnz %r10, cwq_2_10
11429 rd %asi, %r12
11430 wr %g0, 0x40, %asi
11431 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
11432 and %l1, 0x3, %l1 ! Check if busy/enabled ..
11433 cmp %l1, 1
11434 bne cwq_2_10
11435 set CWQ_BASE, %l6
11436 best_set_reg(0x20610090, %l1, %l2) !# Control Word
11437 sllx %l2, 32, %l2
11438 stx %l2, [%l6 + 0x0]
11439 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
11440 sub %l2, 0x40, %l2
11441 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
11442 wr %r12, %g0, %asi
11443 st %g0, [%r23]
11444cwq_2_10:
11445 ta T_CHANGE_NONHPRIV
11446 .word 0xa9414000 ! 15: RDPC rd %pc, %r20
11447mondo_2_11:
11448 nop
11449 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11450 ta T_CHANGE_PRIV
11451 stxa %r13, [%r0+0x3c0] %asi
11452 .word 0x9d908010 ! 16: WRPR_WSTATE_R wrpr %r2, %r16, %wstate
11453br_badelay3_2_12:
11454 .word 0x20800001 ! 1: BN bn,a <label_0x1>
11455 .word 0x97416c67 ! Random illegal ?
11456 .word 0xa9a00543 ! 1: FSQRTd fsqrt
11457 .word 0x95a48829 ! 17: FADDs fadds %f18, %f9, %f10
11458dvapa_2_13:
11459 nop
11460 ta T_CHANGE_HPRIV
11461 mov 0xbab, %r20
11462 mov 0x5, %r19
11463 sllx %r20, 23, %r20
11464 or %r19, %r20, %r19
11465 stxa %r19, [%g0] ASI_LSU_CONTROL
11466 mov 0x38, %r18
11467 stxa %r31, [%r18]0x58
11468 ta T_CHANGE_NONHPRIV
11469 .word 0xc32fc011 ! 18: STXFSR_R st-sfr %f1, [%r17, %r31]
11470tagged_2_14:
11471 tsubcctv %r3, 0x1e83, %r16
11472 .word 0xd807e0a4 ! 19: LDUW_I lduw [%r31 + 0x00a4], %r12
11473 .word 0xc1bfe0c0 ! 20: STDFA_I stda %f0, [0x00c0, %r31]
11474splash_hpstate_2_15:
11475 ta T_CHANGE_NONHPRIV
11476 .word 0x37400001 ! 1: FBPGE fbge,a,pn %fcc0, <label_0x1>
11477 .word 0x8198266d ! 21: WRHPR_HPSTATE_I wrhpr %r0, 0x066d, %hpstate
11478 .word 0xd8d7e010 ! 22: LDSHA_I ldsha [%r31, + 0x0010] %asi, %r12
11479intveclr_2_16:
11480 nop
11481 ta T_CHANGE_HPRIV
11482 setx 0xc91d81bd03c673f7, %r1, %r28
11483 stxa %r28, [%g0] 0x72
11484 .word 0x25400001 ! 23: FBPLG fblg,a,pn %fcc0, <label_0x1>
11485 nop
11486 ta T_CHANGE_HPRIV
11487 mov 0x2+1, %r10
11488 set sync_thr_counter1, %r23
11489 cas [%r23],%g0,%r10 !lock
11490 brnz %r10, cwq_2_17
11491 rd %asi, %r12
11492 wr %g0, 0x40, %asi
11493 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
11494 and %l1, 0x3, %l1 ! Check if busy/enabled ..
11495 cmp %l1, 1
11496 bne cwq_2_17
11497 set CWQ_BASE, %l6
11498 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
11499 sllx %l2, 32, %l2
11500 stx %l2, [%l6 + 0x0]
11501 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
11502 sub %l2, 0x40, %l2
11503 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
11504 wr %r12, %g0, %asi
11505 st %g0, [%r23]
11506cwq_2_17:
11507 ta T_CHANGE_NONHPRIV
11508 .word 0x95414000 ! 24: RDPC rd %pc, %r10
11509splash_htba_2_18:
11510 nop
11511 ta T_CHANGE_HPRIV
11512 setx 0x00000002002a0000, %r11, %r12
11513 .word 0x8b98000c ! 25: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
11514br_longdelay2_2_19:
11515 .word 0x2cc98001 ! 1: BRGZ brgz,a,pt %r6,<label_0x98001>
11516 .word 0x39400001 ! 26: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
11517br_longdelay1_2_20:
11518 .word 0x32800001 ! 1: BNE bne,a <label_0x1>
11519 .word 0xbfefc000 ! 27: RESTORE_R restore %r31, %r0, %r31
11520 .word 0xb1800011 ! 28: WR_STICK_REG_R wr %r0, %r17, %-
11521 .word 0x93b404d3 ! 29: FCMPNE32 fcmpne32 %d16, %d50, %r9
11522 .word 0x83d02034 ! 30: Tcc_I te icc_or_xcc, %r0 + 52
11523splash_tba_2_21:
11524 ta T_CHANGE_PRIV
11525 setx 0x00000004003a0000, %r11, %r12
11526 .word 0x8b90000c ! 31: WRPR_TBA_R wrpr %r0, %r12, %tba
11527mondo_2_22:
11528 nop
11529 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11530 ta T_CHANGE_PRIV
11531 stxa %r13, [%r0+0x3d8] %asi
11532 .word 0x9d940011 ! 32: WRPR_WSTATE_R wrpr %r16, %r17, %wstate
11533 .word 0x20700001 ! 33: BPN <illegal instruction>
11534 .word 0x91947ff0 ! 34: WRPR_PIL_I wrpr %r17, 0x1ff0, %pil
11535 .word 0x91d02032 ! 35: Tcc_I ta icc_or_xcc, %r0 + 50
11536 .word 0x9f803639 ! 36: SIR sir 0x1639
11537 nop
11538 ta T_CHANGE_HPRIV
11539 mov 0x2+1, %r10
11540 set sync_thr_counter1, %r23
11541 cas [%r23],%g0,%r10 !lock
11542 brnz %r10, cwq_2_23
11543 rd %asi, %r12
11544 wr %g0, 0x40, %asi
11545 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
11546 and %l1, 0x3, %l1 ! Check if busy/enabled ..
11547 cmp %l1, 1
11548 bne cwq_2_23
11549 set CWQ_BASE, %l6
11550 best_set_reg(0x20610080, %l1, %l2) !# Control Word
11551 sllx %l2, 32, %l2
11552 stx %l2, [%l6 + 0x0]
11553 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
11554 sub %l2, 0x40, %l2
11555 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
11556 wr %r12, %g0, %asi
11557 st %g0, [%r23]
11558cwq_2_23:
11559 ta T_CHANGE_NONHPRIV
11560 .word 0x95414000 ! 37: RDPC rd %pc, %r10
11561 nop
11562 ta T_CHANGE_HPRIV
11563 mov 0x2+1, %r10
11564 set sync_thr_counter1, %r23
11565 cas [%r23],%g0,%r10 !lock
11566 brnz %r10, cwq_2_24
11567 rd %asi, %r12
11568 wr %g0, 0x40, %asi
11569 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
11570 and %l1, 0x3, %l1 ! Check if busy/enabled ..
11571 cmp %l1, 1
11572 bne cwq_2_24
11573 set CWQ_BASE, %l6
11574 best_set_reg(0x206100f0, %l1, %l2) !# Control Word
11575 sllx %l2, 32, %l2
11576 stx %l2, [%l6 + 0x0]
11577 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
11578 sub %l2, 0x40, %l2
11579 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
11580 wr %r12, %g0, %asi
11581 st %g0, [%r23]
11582cwq_2_24:
11583 ta T_CHANGE_NONHPRIV
11584 .word 0xa3414000 ! 38: RDPC rd %pc, %r17
11585jmptr_2_25:
11586 nop
11587 best_set_reg(0xe1a00000, %r20, %r27)
11588 .word 0xb7c6c000 ! 39: JMPL_R jmpl %r27 + %r0, %r27
11589ibp_2_26:
11590 nop
11591 ta T_CHANGE_HPRIV
11592 .word 0xc32fc002 ! 40: STXFSR_R st-sfr %f1, [%r2, %r31]
11593 setx 0x44f83f9e64a335de, %r1, %r28
11594 stxa %r28, [%g0] 0x73
11595intvec_2_27:
11596 .word 0x39400001 ! 41: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
11597 .word 0x8d902334 ! 42: WRPR_PSTATE_I wrpr %r0, 0x0334, %pstate
11598 .word 0xd06fe03b ! 43: LDSTUB_I ldstub %r8, [%r31 + 0x003b]
11599trapasi_2_29:
11600mov 0x30, %r1 ! (VA for ASI 0x5b)
11601 .word 0xd0d84e60 ! 44: LDXA_R ldxa [%r1, %r0] 0x73, %r8
11602 nop
11603 ta T_CHANGE_HPRIV
11604 mov 0x2+1, %r10
11605 set sync_thr_counter1, %r23
11606 cas [%r23],%g0,%r10 !lock
11607 brnz %r10, cwq_2_30
11608 rd %asi, %r12
11609 wr %g0, 0x40, %asi
11610 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
11611 and %l1, 0x3, %l1 ! Check if busy/enabled ..
11612 cmp %l1, 1
11613 bne cwq_2_30
11614 set CWQ_BASE, %l6
11615 best_set_reg(0x20610090, %l1, %l2) !# Control Word
11616 sllx %l2, 32, %l2
11617 stx %l2, [%l6 + 0x0]
11618 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
11619 sub %l2, 0x40, %l2
11620 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
11621 wr %r12, %g0, %asi
11622 st %g0, [%r23]
11623cwq_2_30:
11624 ta T_CHANGE_NONHPRIV
11625 .word 0x9b414000 ! 45: RDPC rd %pc, %r13
11626fpinit_2_31:
11627 setx fp_data_quads, %r19, %r20
11628 ldd [%r20], %f0
11629 ldd [%r20+8], %f4
11630 ld [%r20+16], %fsr
11631 ld [%r20+24], %r19
11632 wr %r19, %g0, %gsr
11633 .word 0xc3e8372a ! 46: PREFETCHA_I prefetcha [%r0, + 0xfffff72a] %asi, #one_read
11634memptr_2_32:
11635 set 0x60340000, %r31
11636 .word 0x8582a116 ! 47: WRCCR_I wr %r10, 0x0116, %ccr
11637mondo_2_33:
11638 nop
11639 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11640 stxa %r2, [%r0+0x3d8] %asi
11641 .word 0x9d918009 ! 48: WRPR_WSTATE_R wrpr %r6, %r9, %wstate
11642 .word 0x91950012 ! 49: WRPR_PIL_R wrpr %r20, %r18, %pil
11643 nop
11644 ta T_CHANGE_HPRIV
11645 mov 0x2, %r10
11646 set sync_thr_counter2, %r23
11647 cas [%r23],%g0,%r10 !lock
11648 brnz %r10, sma_2_35
11649 rd %asi, %r12
11650 wr %g0, 0x40, %asi
11651 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
11652 set 0x000a1fff, %g1
11653 stxa %g1, [%g0 + 0x80] %asi
11654 wr %r12, %g0, %asi
11655 st %g0, [%r23]
11656sma_2_35:
11657 ta T_CHANGE_NONHPRIV
11658 .word 0xd9e7e009 ! 50: CASA_R casa [%r31] %asi, %r9, %r12
11659donret_2_36:
11660 nop
11661 ta T_CHANGE_HPRIV ! macro
11662 rd %pc, %r12
11663 add %r12, (donretarg_2_36-donret_2_36-8), %r12
11664 mov 0x38, %r18
11665 stxa %r12, [%r18]0x58
11666 add %r12, 0x4, %r11
11667 wrpr %g0, 0x1, %tl
11668 wrpr %g0, %r12, %tpc
11669 wrpr %g0, %r11, %tnpc
11670 set (0x00f7265e | (28 << 24)), %r13
11671 rdpr %tstate, %r16
11672 mov 0x1f, %r19
11673 and %r19, %r16, %r17
11674 andn %r16, %r19, %r16
11675 or %r16, %r17, %r20
11676 wrpr %r20, %g0, %tstate
11677 wrhpr %g0, 0x7c6, %htstate
11678 ta T_CHANGE_NONHPRIV ! rand=1 (2)
11679 .word 0x36800001 ! 1: BGE bge,a <label_0x1>
11680 retry
11681donretarg_2_36:
11682 .word 0xd8ffe0e6 ! 51: SWAPA_I swapa %r12, [%r31 + 0x00e6] %asi
11683 nop
11684 ta T_CHANGE_HPRIV
11685 mov 0x2+1, %r10
11686 set sync_thr_counter1, %r23
11687 cas [%r23],%g0,%r10 !lock
11688 brnz %r10, cwq_2_37
11689 rd %asi, %r12
11690 wr %g0, 0x40, %asi
11691 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
11692 and %l1, 0x3, %l1 ! Check if busy/enabled ..
11693 cmp %l1, 1
11694 bne cwq_2_37
11695 set CWQ_BASE, %l6
11696 best_set_reg(0x20610030, %l1, %l2) !# Control Word
11697 sllx %l2, 32, %l2
11698 stx %l2, [%l6 + 0x0]
11699 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
11700 sub %l2, 0x40, %l2
11701 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
11702 wr %r12, %g0, %asi
11703 st %g0, [%r23]
11704cwq_2_37:
11705 ta T_CHANGE_NONHPRIV
11706 .word 0xa3414000 ! 52: RDPC rd %pc, %r17
11707mondo_2_38:
11708 nop
11709 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11710 ta T_CHANGE_PRIV
11711 stxa %r5, [%r0+0x3d8] %asi
11712 .word 0x9d90c00d ! 53: WRPR_WSTATE_R wrpr %r3, %r13, %wstate
11713 setx 0x3d14e5b3dbb99937, %r1, %r28
11714 stxa %r28, [%g0] 0x73
11715intvec_2_39:
11716 .word 0x39400001 ! 54: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
11717 nop
11718 ta T_CHANGE_HPRIV
11719 mov 0x2+1, %r10
11720 set sync_thr_counter1, %r23
11721 cas [%r23],%g0,%r10 !lock
11722 brnz %r10, cwq_2_40
11723 rd %asi, %r12
11724 wr %g0, 0x40, %asi
11725 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
11726 and %l1, 0x3, %l1 ! Check if busy/enabled ..
11727 cmp %l1, 1
11728 bne cwq_2_40
11729 set CWQ_BASE, %l6
11730 best_set_reg(0x20610000, %l1, %l2) !# Control Word
11731 sllx %l2, 32, %l2
11732 stx %l2, [%l6 + 0x0]
11733 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
11734 sub %l2, 0x40, %l2
11735 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
11736 wr %r12, %g0, %asi
11737 st %g0, [%r23]
11738cwq_2_40:
11739 ta T_CHANGE_NONHPRIV
11740 .word 0xa7414000 ! 55: RDPC rd %pc, %r19
11741 .word 0x93a409d3 ! 56: FDIVd fdivd %f16, %f50, %f40
11742 .word 0xa3480000 ! 57: RDHPR_HPSTATE rdhpr %hpstate, %r17
11743 .word 0xa5702d6b ! 58: POPC_I popc 0x0d6b, %r18
11744fpinit_2_41:
11745 setx fp_data_quads, %r19, %r20
11746 ldd [%r20], %f0
11747 ldd [%r20+8], %f4
11748 ld [%r20+16], %fsr
11749 ld [%r20+24], %r19
11750 wr %r19, %g0, %gsr
11751 .word 0x87a80a44 ! 59: FCMPd fcmpd %fcc<n>, %f0, %f4
11752 .word 0x9f8027f8 ! 60: SIR sir 0x07f8
11753 nop
11754 ta T_CHANGE_HPRIV
11755 mov 0x2, %r10
11756 set sync_thr_counter2, %r23
11757 cas [%r23],%g0,%r10 !lock
11758 brnz %r10, sma_2_42
11759 rd %asi, %r12
11760 wr %g0, 0x40, %asi
11761 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
11762 set 0x001e1fff, %g1
11763 stxa %g1, [%g0 + 0x80] %asi
11764 wr %r12, %g0, %asi
11765 st %g0, [%r23]
11766sma_2_42:
11767 ta T_CHANGE_NONHPRIV
11768 .word 0xd9e7e002 ! 61: CASA_R casa [%r31] %asi, %r2, %r12
11769br_badelay2_2_43:
11770 .word 0x34800001 ! 1: BG bg,a <label_0x1>
11771 pdist %f12, %f20, %f30
11772 .word 0xa5b48312 ! 62: ALIGNADDRESS alignaddr %r18, %r18, %r18
11773 .word 0x8d802000 ! 63: WRFPRS_I wr %r0, 0x0000, %fprs
11774br_longdelay1_2_44:
11775 .word 0x38800001 ! 1: BGU bgu,a <label_0x1>
11776 .word 0xbfefc000 ! 64: RESTORE_R restore %r31, %r0, %r31
11777 setx 0x41fdd522bc68b013, %r1, %r28
11778 stxa %r28, [%g0] 0x73
11779intvec_2_45:
11780 .word 0x39400001 ! 65: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
11781 .word 0xe53fc000 ! 66: STDF_R std %f18, [%r0, %r31]
11782 .word 0xe497c02d ! 67: LDUHA_R lduha [%r31, %r13] 0x01, %r18
11783 nop
11784 ta T_CHANGE_HPRIV
11785 mov 0x2+1, %r10
11786 set sync_thr_counter1, %r23
11787 cas [%r23],%g0,%r10 !lock
11788 brnz %r10, cwq_2_47
11789 rd %asi, %r12
11790 wr %g0, 0x40, %asi
11791 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
11792 and %l1, 0x3, %l1 ! Check if busy/enabled ..
11793 cmp %l1, 1
11794 bne cwq_2_47
11795 set CWQ_BASE, %l6
11796 best_set_reg(0x20610090, %l1, %l2) !# Control Word
11797 sllx %l2, 32, %l2
11798 stx %l2, [%l6 + 0x0]
11799 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
11800 sub %l2, 0x40, %l2
11801 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
11802 wr %r12, %g0, %asi
11803 st %g0, [%r23]
11804cwq_2_47:
11805 ta T_CHANGE_NONHPRIV
11806 .word 0x97414000 ! 68: RDPC rd %pc, %r11
11807 .word 0xb1800011 ! 69: WR_STICK_REG_R wr %r0, %r17, %-
11808splash_hpstate_2_48:
11809 .word 0x25400001 ! 1: FBPLG fblg,a,pn %fcc0, <label_0x1>
11810 .word 0x819824c7 ! 70: WRHPR_HPSTATE_I wrhpr %r0, 0x04c7, %hpstate
11811intveclr_2_49:
11812 nop
11813 ta T_CHANGE_HPRIV
11814 setx 0x262f4f9467266f2b, %r1, %r28
11815 stxa %r28, [%g0] 0x72
11816 .word 0x25400001 ! 71: FBPLG fblg,a,pn %fcc0, <label_0x1>
11817 .word 0xe03fe0e8 ! 72: STD_I std %r16, [%r31 + 0x00e8]
11818splash_lsu_2_50:
11819 nop
11820 ta T_CHANGE_HPRIV
11821 set 0x0de411ae, %r2
11822 mov 0x4, %r1
11823 sllx %r1, 32, %r1
11824 or %r1, %r2, %r2
11825 stxa %r2, [%r0] ASI_LSU_CONTROL
11826 .word 0x3d400001 ! 73: FBPULE fbule,a,pn %fcc0, <label_0x1>
11827 .word 0xe137e000 ! 74: STQF_I - %f16, [0x0000, %r31]
11828 .word 0xc1bfda00 ! 75: STDFA_R stda %f0, [%r0, %r31]
11829 .word 0xe057e018 ! 76: LDSH_I ldsh [%r31 + 0x0018], %r16
11830splash_cmpr_2_51:
11831 nop
11832 setx 0xedbdf695084fc3cd, %l2, %l1
11833 ta T_CHANGE_PRIV
11834 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
11835 ta T_CHANGE_NONPRIV
11836 sub %l1, 40, %g1
11837 .word 0x89900011 ! 77: WRPR_TICK_R wrpr %r0, %r17, %tick
11838splash_lsu_2_52:
11839 nop
11840 ta T_CHANGE_HPRIV
11841 set 0x922960c6, %r2
11842 mov 0x7, %r1
11843 sllx %r1, 32, %r1
11844 or %r1, %r2, %r2
11845 stxa %r2, [%r0] ASI_LSU_CONTROL
11846 ta T_CHANGE_NONHPRIV
11847 .word 0x3d400001 ! 78: FBPULE fbule,a,pn %fcc0, <label_0x1>
11848br_badelay2_2_53:
11849 .word 0x20800001 ! 1: BN bn,a <label_0x1>
11850 pdist %f28, %f26, %f20
11851 .word 0x9bb3430b ! 79: ALIGNADDRESS alignaddr %r13, %r11, %r13
11852 .word 0xe19fde00 ! 80: LDDFA_R ldda [%r31, %r0], %f16
11853splash_cmpr_2_54:
11854 nop
11855 setx 0x4107460774143276, %l2, %l1
11856 ta T_CHANGE_HPRIV
11857 wrhpr %l1, %g0, %hsys_tick_cmpr
11858 sub %l1, 40, %g1
11859 .word 0x89900011 ! 81: WRPR_TICK_R wrpr %r0, %r17, %tick
11860 .word 0xa1a00165 ! 82: FABSq dis not found
11861
11862 .word 0xdb3fc002 ! 83: STDF_R std %f13, [%r2, %r31]
11863 .word 0xdadfc022 ! 84: LDXA_R ldxa [%r31, %r2] 0x01, %r13
11864 .word 0x29800001 ! 85: FBL fbl,a <label_0x1>
11865memptr_2_58:
11866 set 0x60340000, %r31
11867 .word 0x85812127 ! 86: WRCCR_I wr %r4, 0x0127, %ccr
11868 .word 0x919269c4 ! 87: WRPR_PIL_I wrpr %r9, 0x09c4, %pil
11869 .word 0x91d02033 ! 88: Tcc_I ta icc_or_xcc, %r0 + 51
11870splash_tba_2_59:
11871 ta T_CHANGE_PRIV
11872 setx 0x00000004003a0000, %r11, %r12
11873 .word 0x8b90000c ! 89: WRPR_TBA_R wrpr %r0, %r12, %tba
11874 .word 0xe1bfe000 ! 90: STDFA_I stda %f16, [0x0000, %r31]
11875 .word 0x9f803a4f ! 91: SIR sir 0x1a4f
11876 .word 0xda6fe0eb ! 92: LDSTUB_I ldstub %r13, [%r31 + 0x00eb]
11877 .word 0xda47e038 ! 93: LDSW_I ldsw [%r31 + 0x0038], %r13
11878br_longdelay1_2_60:
11879 .word 0x33400001 ! 1: FBPE fbe,a,pn %fcc0, <label_0x1>
11880 .word 0xbfefc000 ! 94: RESTORE_R restore %r31, %r0, %r31
11881 .word 0xdbe7c020 ! 95: CASA_I casa [%r31] 0x 1, %r0, %r13
11882jmptr_2_62:
11883 nop
11884 best_set_reg(0xe1a00000, %r20, %r27)
11885 .word 0xb7c6c000 ! 96: JMPL_R jmpl %r27 + %r0, %r27
11886br_badelay2_2_63:
11887 .word 0x22800001 ! 1: BE be,a <label_0x1>
11888 allclean
11889 .word 0xa3b5030c ! 97: ALIGNADDRESS alignaddr %r20, %r12, %r17
11890mondo_2_64:
11891 nop
11892 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11893 ta T_CHANGE_PRIV
11894 stxa %r18, [%r0+0x3d8] %asi
11895 .word 0x9d908011 ! 98: WRPR_WSTATE_R wrpr %r2, %r17, %wstate
11896 .word 0xc1bfc2c0 ! 99: STDFA_R stda %f0, [%r0, %r31]
11897 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
11898reduce_priv_lvl_2_65:
11899 ta T_CHANGE_NONHPRIV ! macro
11900intveclr_2_66:
11901 nop
11902 ta T_CHANGE_HPRIV
11903 setx 0xce8e572dead55391, %r1, %r28
11904 stxa %r28, [%g0] 0x72
11905 .word 0x25400001 ! 101: FBPLG fblg,a,pn %fcc0, <label_0x1>
11906dvapa_2_67:
11907 nop
11908 ta T_CHANGE_HPRIV
11909 mov 0xec4, %r20
11910 mov 0x0, %r19
11911 sllx %r20, 23, %r20
11912 or %r19, %r20, %r19
11913 stxa %r19, [%g0] ASI_LSU_CONTROL
11914 mov 0x38, %r18
11915 stxa %r31, [%r18]0x58
11916 ta T_CHANGE_NONHPRIV
11917 .word 0xdadfc029 ! 102: LDXA_R ldxa [%r31, %r9] 0x01, %r13
11918trapasi_2_68:
11919mov 0x8, %r1 ! (VA for ASI 0x5b)
11920 .word 0xda8844a0 ! 103: LDUBA_R lduba [%r1, %r0] 0x25, %r13
11921 .word 0xc19fd960 ! 104: LDDFA_R ldda [%r31, %r0], %f0
11922brcommon_2_69:
11923 ba,a .+12
11924 mov %r31, %r15
11925 ba,a .+8
11926 call common_target
11927 .word 0xdb1fc009 ! 105: LDDF_R ldd [%r31, %r9], %f13
11928mondo_2_70:
11929 nop
11930 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11931 ta T_CHANGE_PRIV
11932 stxa %r19, [%r0+0x3d0] %asi
11933 .word 0x9d940014 ! 106: WRPR_WSTATE_R wrpr %r16, %r20, %wstate
11934 nop
11935 ta T_CHANGE_HPRIV
11936 mov 0x2, %r10
11937 set sync_thr_counter2, %r23
11938 cas [%r23],%g0,%r10 !lock
11939 brnz %r10, sma_2_71
11940 rd %asi, %r12
11941 wr %g0, 0x40, %asi
11942 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
11943 set 0x00161fff, %g1
11944 stxa %g1, [%g0 + 0x80] %asi
11945 wr %r12, %g0, %asi
11946 st %g0, [%r23]
11947sma_2_71:
11948 ta T_CHANGE_NONHPRIV
11949 .word 0xdbe7e010 ! 107: CASA_R casa [%r31] %asi, %r16, %r13
11950 .word 0xdb27e0e0 ! 108: STF_I st %f13, [0x00e0, %r31]
11951 .word 0xdb3fc010 ! 109: STDF_R std %f13, [%r16, %r31]
11952 .word 0x99a509b3 ! 110: FDIVs fdivs %f20, %f19, %f12
11953change_to_randtl_2_73:
11954 ta T_CHANGE_HPRIV ! macro
11955done_change_to_randtl_2_73:
11956 .word 0x8f902000 ! 111: WRPR_TL_I wrpr %r0, 0x0000, %tl
11957 .word 0xd20fe018 ! 112: LDUB_I ldub [%r31 + 0x0018], %r9
11958splash_lsu_2_74:
11959 nop
11960 ta T_CHANGE_HPRIV
11961 set 0x981bd95a, %r2
11962 mov 0x7, %r1
11963 sllx %r1, 32, %r1
11964 or %r1, %r2, %r2
11965 stxa %r2, [%r0] ASI_LSU_CONTROL
11966 .word 0x3d400001 ! 113: FBPULE fbule,a,pn %fcc0, <label_0x1>
11967br_longdelay2_2_75:
11968 .word 0x39400001 ! 1: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
11969 .word 0x87ac8a41 ! 114: FCMPd fcmpd %fcc<n>, %f18, %f32
11970 .word 0xb1800011 ! 115: WR_STICK_REG_R wr %r0, %r17, %-
11971ibp_2_76:
11972 nop
11973 ta T_CHANGE_HPRIV
11974 .word 0xe1e7e001 ! 116: CASA_R casa [%r31] %asi, %r1, %r16
11975change_to_randtl_2_77:
11976 ta T_CHANGE_HPRIV ! macro
11977done_change_to_randtl_2_77:
11978 .word 0x8f902000 ! 117: WRPR_TL_I wrpr %r0, 0x0000, %tl
11979!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_2_78) + 56, 16, 16)) -> intp(5,0,31)
11980!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_2_78)&0xffffffff) + 56, 16, 16)) -> intp(5,0,31)
11981intvec_2_78:
11982 .word 0x39400001 ! 118: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
11983 .word 0x91944008 ! 119: WRPR_PIL_R wrpr %r17, %r8, %pil
11984 .word 0x93a249d1 ! 120: FDIVd fdivd %f40, %f48, %f40
11985 .word 0xc1bfe040 ! 121: STDFA_I stda %f0, [0x0040, %r31]
11986 nop
11987 ta T_CHANGE_HPRIV
11988 mov 0x2, %r10
11989 set sync_thr_counter2, %r23
11990 cas [%r23],%g0,%r10 !lock
11991 brnz %r10, sma_2_80
11992 rd %asi, %r12
11993 wr %g0, 0x40, %asi
11994 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
11995 set 0x001e1fff, %g1
11996 stxa %g1, [%g0 + 0x80] %asi
11997 wr %r12, %g0, %asi
11998 st %g0, [%r23]
11999sma_2_80:
12000 ta T_CHANGE_NONHPRIV
12001 .word 0xd9e7e011 ! 122: CASA_R casa [%r31] %asi, %r17, %r12
12002 .word 0xd88fe030 ! 123: LDUBA_I lduba [%r31, + 0x0030] %asi, %r12
12003 nop
12004 ta T_CHANGE_HPRIV
12005 mov 0x2+1, %r10
12006 set sync_thr_counter1, %r23
12007 cas [%r23],%g0,%r10 !lock
12008 brnz %r10, cwq_2_81
12009 rd %asi, %r12
12010 wr %g0, 0x40, %asi
12011 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
12012 and %l1, 0x3, %l1 ! Check if busy/enabled ..
12013 cmp %l1, 1
12014 bne cwq_2_81
12015 set CWQ_BASE, %l6
12016 best_set_reg(0x206100f0, %l1, %l2) !# Control Word
12017 sllx %l2, 32, %l2
12018 stx %l2, [%l6 + 0x0]
12019 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
12020 sub %l2, 0x40, %l2
12021 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
12022 wr %r12, %g0, %asi
12023 st %g0, [%r23]
12024cwq_2_81:
12025 ta T_CHANGE_NONHPRIV
12026 .word 0xa3414000 ! 124: RDPC rd %pc, %r17
12027fpinit_2_82:
12028 setx fp_data_quads, %r19, %r20
12029 ldd [%r20], %f0
12030 ldd [%r20+8], %f4
12031 ld [%r20+16], %fsr
12032 ld [%r20+24], %r19
12033 wr %r19, %g0, %gsr
12034 .word 0xc3e82970 ! 125: PREFETCHA_I prefetcha [%r0, + 0x0970] %asi, #one_read
12035 .word 0xb1800011 ! 126: WR_STICK_REG_R wr %r0, %r17, %-
12036 .word 0xe697c031 ! 127: LDUHA_R lduha [%r31, %r17] 0x01, %r19
12037 .word 0xe737e0ba ! 128: STQF_I - %f19, [0x00ba, %r31]
12038 .word 0x37400001 ! 1: FBPGE fbge,a,pn %fcc0, <label_0x1>
12039 .word 0x8d903687 ! 129: WRPR_PSTATE_I wrpr %r0, 0x1687, %pstate
12040trapasi_2_85:
12041mov 0x20, %r1 ! (VA for ASI 0x4c)
12042 .word 0xe6c84e40 ! 130: LDSBA_R ldsba [%r1, %r0] 0x72, %r19
12043!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_2_86) + 56, 16, 16)) -> intp(7,0,27)
12044!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_2_86)&0xffffffff) + 56, 16, 16)) -> intp(7,0,27)
12045intvec_2_86:
12046 .word 0x39400001 ! 131: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
12047mondo_2_87:
12048 nop
12049 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12050 stxa %r9, [%r0+0x3d0] %asi
12051 .word 0x9d90c013 ! 132: WRPR_WSTATE_R wrpr %r3, %r19, %wstate
12052splash_hpstate_2_88:
12053 .word 0x81982dd5 ! 133: WRHPR_HPSTATE_I wrhpr %r0, 0x0dd5, %hpstate
12054 .word 0xe19fe040 ! 134: LDDFA_I ldda [%r31, 0x0040], %f16
12055 .word 0x97b407d3 ! 135: PDIST pdistn %d16, %d50, %d42
12056 .word 0x87ad0a51 ! 136: FCMPd fcmpd %fcc<n>, %f20, %f48
12057 invalw
12058 mov 0x30, %r30
12059 .word 0x91d0001e ! 137: Tcc_R ta icc_or_xcc, %r0 + %r30
12060br_longdelay3_2_90:
12061 nop
12062 not %g0, %r12
12063 jmp %r12
12064 .word 0x99902005 ! 138: WRPR_CLEANWIN_I wrpr %r0, 0x0005, %cleanwin
12065fpinit_2_91:
12066 setx fp_data_quads, %r19, %r20
12067 ldd [%r20], %f0
12068 ldd [%r20+8], %f4
12069 ld [%r20+16], %fsr
12070 ld [%r20+24], %r19
12071 wr %r19, %g0, %gsr
12072 .word 0x89a009c4 ! 139: FDIVd fdivd %f0, %f4, %f4
12073 .word 0xa9702174 ! 140: POPC_I popc 0x0174, %r20
12074 ta T_CHANGE_NONPRIV ! macro
12075 .word 0x39400001 ! 1: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
12076 .word 0x8d902285 ! 142: WRPR_PSTATE_I wrpr %r0, 0x0285, %pstate
12077tglhtw_2_93:
12078 nop
12079 rd %asi, %l3 ! save %asi
12080 ta T_CHANGE_HPRIV
12081 wr %g0, ASI_MMU_ZERO_CONTEXT_TSB_CONFIG, %asi
12082 mov 1, %l2
12083 sllx %l2, 63, %l2
12084 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
12085 xor %l4, %l2, %l4
12086 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi
12087 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
12088 xor %l4, %l2, %l4
12089 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi
12090 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
12091 xor %l4, %l2, %l4
12092 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi
12093 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
12094 xor %l4, %l2, %l4
12095 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi
12096 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
12097 xor %l4, %l2, %l4
12098 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi
12099 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
12100 xor %l4, %l2, %l4
12101 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi
12102 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
12103 xor %l4, %l2, %l4
12104 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi
12105 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
12106 xor %l4, %l2, %l4
12107 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi
12108 ta T_CHANGE_NONHPRIV
12109 wr %g0, %l3, %asi !restore %asi
12110 .word 0xa9b44993 ! 143: BSHUFFLE fmovc32 %d48, %d50, %d20
12111trapasi_2_94:
12112mov 0x0, %r1 ! (VA for ASI 0x5a)
12113 .word 0xd6904b40 ! 144: LDUHA_R lduha [%r1, %r0] 0x5a, %r11
12114 .word 0xa9a0016b ! 145: FABSq dis not found
12115
12116br_longdelay1_2_95:
12117 .word 0x21400001 ! 1: FBPN fbn,a,pn %fcc0, <label_0x1>
12118 .word 0xbfefc000 ! 146: RESTORE_R restore %r31, %r0, %r31
12119 .word 0xd6bfe0f6 ! 147: STDA_I stda %r11, [%r31 + 0x00f6] %asi
12120 invalw
12121 mov 0x32, %r30
12122 .word 0x93d0001e ! 148: Tcc_R tne icc_or_xcc, %r0 + %r30
12123br_longdelay1_2_96:
12124 .word 0x35400001 ! 1: FBPUE fbue,a,pn %fcc0, <label_0x1>
12125 .word 0x9d97c000 ! 149: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
12126 .word 0x91d020b5 ! 150: Tcc_I ta icc_or_xcc, %r0 + 181
12127jmptr_2_97:
12128 nop
12129 best_set_reg(0xe0a00000, %r20, %r27)
12130 .word 0xb7c6c000 ! 151: JMPL_R jmpl %r27 + %r0, %r27
12131pmu_2_98:
12132 nop
12133 setx 0xfffff1abfffff17f, %g1, %g7
12134 .word 0xa3800007 ! 152: WR_PERF_COUNTER_R wr %r0, %r7, %-
12135jmptr_2_99:
12136 nop
12137 best_set_reg(0xe0a00000, %r20, %r27)
12138 .word 0xb7c6c000 ! 153: JMPL_R jmpl %r27 + %r0, %r27
12139mondo_2_100:
12140 nop
12141 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12142 ta T_CHANGE_PRIV
12143 stxa %r18, [%r0+0x3e0] %asi
12144 .word 0x9d918008 ! 154: WRPR_WSTATE_R wrpr %r6, %r8, %wstate
12145 ta T_CHANGE_NONPRIV ! macro
12146 .word 0x81460000 ! 156: RD_STICK_REG stbar
12147splash_cmpr_2_101:
12148 nop
12149 setx 0xa5323b27ee1d5675, %l2, %l1
12150 ta T_CHANGE_PRIV
12151 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
12152 ta T_CHANGE_NONPRIV
12153 sub %l1, 40, %g1
12154 .word 0x89900011 ! 157: WRPR_TICK_R wrpr %r0, %r17, %tick
12155 .word 0x9f803936 ! 158: SIR sir 0x1936
12156brcommon_2_102:
12157 ba,a .+12
12158 mov %r31, %r15
12159 ba,a .+8
12160 call common_target
12161 .word 0xd73fc00a ! 159: STDF_R std %f11, [%r10, %r31]
12162pmu_2_103:
12163 nop
12164 setx 0xfffff330fffff85e, %g1, %g7
12165 .word 0xa3800007 ! 160: WR_PERF_COUNTER_R wr %r0, %r7, %-
12166 .word 0xc1bfe040 ! 161: STDFA_I stda %f0, [0x0040, %r31]
12167!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_2_104) + 24, 16, 16)) -> intp(7,0,3)
12168!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_2_104)&0xffffffff) + 24, 16, 16)) -> intp(7,0,3)
12169intvec_2_104:
12170 .word 0x39400001 ! 162: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
12171 .word 0x937023c9 ! 163: POPC_I popc 0x03c9, %r9
12172 .word 0x8d9030e4 ! 164: WRPR_PSTATE_I wrpr %r0, 0x10e4, %pstate
12173jmptr_2_106:
12174 nop
12175 best_set_reg(0xe0a00000, %r20, %r27)
12176 .word 0xb7c6c000 ! 165: JMPL_R jmpl %r27 + %r0, %r27
12177dvapa_2_107:
12178 nop
12179 ta T_CHANGE_HPRIV
12180 mov 0xaf0, %r20
12181 mov 0xf, %r19
12182 sllx %r20, 23, %r20
12183 or %r19, %r20, %r19
12184 stxa %r19, [%g0] ASI_LSU_CONTROL
12185 mov 0x38, %r18
12186 stxa %r31, [%r18]0x58
12187 ta T_CHANGE_NONHPRIV
12188 .word 0xd29fc034 ! 166: LDDA_R ldda [%r31, %r20] 0x01, %r9
12189 nop
12190 ta T_CHANGE_HPRIV
12191 mov 0x2, %r10
12192 set sync_thr_counter2, %r23
12193 cas [%r23],%g0,%r10 !lock
12194 brnz %r10, sma_2_108
12195 rd %asi, %r12
12196 wr %g0, 0x40, %asi
12197 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
12198 set 0x000a1fff, %g1
12199 stxa %g1, [%g0 + 0x80] %asi
12200 wr %r12, %g0, %asi
12201 st %g0, [%r23]
12202sma_2_108:
12203 ta T_CHANGE_NONHPRIV
12204 .word 0xd3e7e014 ! 167: CASA_R casa [%r31] %asi, %r20, %r9
12205 .word 0xa7a509c8 ! 168: FDIVd fdivd %f20, %f8, %f50
12206 .word 0xa9a309cc ! 169: FDIVd fdivd %f12, %f12, %f20
12207dvapa_2_109:
12208 nop
12209 ta T_CHANGE_HPRIV
12210 mov 0x954, %r20
12211 mov 0x1f, %r19
12212 sllx %r20, 23, %r20
12213 or %r19, %r20, %r19
12214 stxa %r19, [%g0] ASI_LSU_CONTROL
12215 mov 0x38, %r18
12216 stxa %r31, [%r18]0x58
12217 ta T_CHANGE_NONHPRIV
12218 .word 0xe0dfc023 ! 170: LDXA_R ldxa [%r31, %r3] 0x01, %r16
12219mondo_2_110:
12220 nop
12221 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12222 stxa %r19, [%r0+0x3e0] %asi
12223 .word 0x9d944014 ! 171: WRPR_WSTATE_R wrpr %r17, %r20, %wstate
12224 .word 0xe05fe008 ! 172: LDX_I ldx [%r31 + 0x0008], %r16
12225 .word 0xab820013 ! 173: WR_CLEAR_SOFTINT_R wr %r8, %r19, %clear_softint
12226intveclr_2_111:
12227 nop
12228 ta T_CHANGE_HPRIV
12229 setx 0x534612aefd977272, %r1, %r28
12230 stxa %r28, [%g0] 0x72
12231 .word 0x25400001 ! 174: FBPLG fblg,a,pn %fcc0, <label_0x1>
12232 .word 0xa5a00173 ! 175: FABSq dis not found
12233
12234 .word 0xb1800011 ! 176: WR_STICK_REG_R wr %r0, %r17, %-
12235 .word 0xc1bfc2c0 ! 177: STDFA_R stda %f0, [%r0, %r31]
12236 .word 0xb1800011 ! 178: WR_STICK_REG_R wr %r0, %r17, %-
12237 .word 0x87a90a4d ! 179: FCMPd fcmpd %fcc<n>, %f4, %f44
12238 .word 0x83d02035 ! 180: Tcc_I te icc_or_xcc, %r0 + 53
12239 nop
12240 ta T_CHANGE_HPRIV
12241 mov 0x2, %r10
12242 set sync_thr_counter2, %r23
12243 cas [%r23],%g0,%r10 !lock
12244 brnz %r10, sma_2_112
12245 rd %asi, %r12
12246 wr %g0, 0x40, %asi
12247 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
12248 set 0x00121fff, %g1
12249 stxa %g1, [%g0 + 0x80] %asi
12250 wr %r12, %g0, %asi
12251 st %g0, [%r23]
12252sma_2_112:
12253 ta T_CHANGE_NONHPRIV
12254 .word 0xd1e7e00d ! 181: CASA_R casa [%r31] %asi, %r13, %r8
12255 .word 0x2a700001 ! 182: BPCS <illegal instruction>
12256 .word 0x8d902700 ! 183: WRPR_PSTATE_I wrpr %r0, 0x0700, %pstate
12257 .word 0x91950013 ! 184: WRPR_PIL_R wrpr %r20, %r19, %pil
12258donret_2_115:
12259 nop
12260 ta T_CHANGE_HPRIV ! macro
12261 rd %pc, %r12
12262 add %r12, (donretarg_2_115-donret_2_115-4), %r12
12263 mov 0x38, %r18
12264 stxa %r12, [%r18]0x58
12265 add %r12, 0x4, %r11
12266 wrpr %g0, 0x2, %tl
12267 wrpr %g0, %r12, %tpc
12268 wrpr %g0, %r11, %tnpc
12269 set (0x0016bc97 | (16 << 24)), %r13
12270 rdpr %tstate, %r16
12271 mov 0x1f, %r19
12272 and %r19, %r16, %r17
12273 andn %r16, %r19, %r16
12274 or %r16, %r17, %r20
12275 wrpr %r20, %g0, %tstate
12276 wrhpr %g0, 0x505, %htstate
12277 ta T_CHANGE_NONHPRIV ! rand=1 (2)
12278 done
12279donretarg_2_115:
12280 .word 0xd0ffe08c ! 185: SWAPA_I swapa %r8, [%r31 + 0x008c] %asi
12281 .word 0xc1bfd960 ! 186: STDFA_R stda %f0, [%r0, %r31]
12282splash_cmpr_2_116:
12283 nop
12284 setx 0xff97394a3fba7357, %l2, %l1
12285 ta T_CHANGE_HPRIV
12286 wrhpr %l1, %g0, %hsys_tick_cmpr
12287 ta T_CHANGE_NONHPRIV
12288 sub %l1, 40, %g1
12289 .word 0x89900011 ! 187: WRPR_TICK_R wrpr %r0, %r17, %tick
12290trapasi_2_117:
12291mov 0x28, %r1 ! (VA for ASI 0x4c)
12292 .word 0xd0c84a00 ! 188: LDSBA_R ldsba [%r1, %r0] 0x50, %r8
12293 nop
12294 ta T_CHANGE_HPRIV
12295 mov 0x2+1, %r10
12296 set sync_thr_counter1, %r23
12297 cas [%r23],%g0,%r10 !lock
12298 brnz %r10, cwq_2_118
12299 rd %asi, %r12
12300 wr %g0, 0x40, %asi
12301 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
12302 and %l1, 0x3, %l1 ! Check if busy/enabled ..
12303 cmp %l1, 1
12304 bne cwq_2_118
12305 set CWQ_BASE, %l6
12306 best_set_reg(0x20610030, %l1, %l2) !# Control Word
12307 sllx %l2, 32, %l2
12308 stx %l2, [%l6 + 0x0]
12309 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
12310 sub %l2, 0x40, %l2
12311 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
12312 wr %r12, %g0, %asi
12313 st %g0, [%r23]
12314cwq_2_118:
12315 ta T_CHANGE_NONHPRIV
12316 .word 0xa9414000 ! 189: RDPC rd %pc, %r20
12317 .word 0xe827e0f8 ! 190: STW_I stw %r20, [%r31 + 0x00f8]
12318 set 0x2095, %l3
12319 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
12320 .word 0x97b4c7cd ! 191: PDIST pdistn %d50, %d44, %d42
12321 .word 0x9b450000 ! 192: RD_SET_SOFTINT rd %set_softint, %r13
12322 .word 0xc1bfdc00 ! 193: STDFA_R stda %f0, [%r0, %r31]
12323 .word 0xe81fc000 ! 194: LDD_R ldd [%r31 + %r0], %r20
12324 .word 0xe857e008 ! 195: LDSH_I ldsh [%r31 + 0x0008], %r20
12325 .word 0xa3b34491 ! 196: FCMPLE32 fcmple32 %d44, %d48, %r17
12326 .word 0xc1bfd960 ! 197: STDFA_R stda %f0, [%r0, %r31]
12327 .word 0xa3703202 ! 198: POPC_I popc 0x1202, %r17
12328 .word 0xb1800011 ! 199: WR_STICK_REG_R wr %r0, %r17, %-
12329 .word 0x9f80303f ! 200: SIR sir 0x103f
12330jmptr_2_119:
12331 nop
12332 best_set_reg(0xe0a00000, %r20, %r27)
12333 .word 0xb7c6c000 ! 201: JMPL_R jmpl %r27 + %r0, %r27
12334br_longdelay3_2_120:
12335 nop
12336 not %g0, %r12
12337 jmp %r12
12338 .word 0x99902004 ! 202: WRPR_CLEANWIN_I wrpr %r0, 0x0004, %cleanwin
12339 .word 0xe1bfdc00 ! 203: STDFA_R stda %f16, [%r0, %r31]
12340 .word 0xd437e028 ! 204: STH_I sth %r10, [%r31 + 0x0028]
12341splash_tba_2_121:
12342 ta T_CHANGE_PRIV
12343 setx 0x00000004003a0000, %r11, %r12
12344 .word 0x8b90000c ! 205: WRPR_TBA_R wrpr %r0, %r12, %tba
12345tagged_2_122:
12346 tsubcctv %r20, 0x1d2f, %r20
12347 .word 0xd407e0ce ! 206: LDUW_I lduw [%r31 + 0x00ce], %r10
12348 .word 0x9f802533 ! 207: SIR sir 0x0533
12349 nop
12350 ta T_CHANGE_HPRIV
12351 mov 0x2, %r10
12352 set sync_thr_counter2, %r23
12353 cas [%r23],%g0,%r10 !lock
12354 brnz %r10, sma_2_123
12355 rd %asi, %r12
12356 wr %g0, 0x40, %asi
12357 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
12358 set 0x001a1fff, %g1
12359 stxa %g1, [%g0 + 0x80] %asi
12360 wr %r12, %g0, %asi
12361 st %g0, [%r23]
12362sma_2_123:
12363 ta T_CHANGE_NONHPRIV
12364 .word 0xd5e7e00a ! 208: CASA_R casa [%r31] %asi, %r10, %r10
12365jmptr_2_124:
12366 nop
12367 best_set_reg(0xe0a00000, %r20, %r27)
12368 .word 0xb7c6c000 ! 209: JMPL_R jmpl %r27 + %r0, %r27
12369 .word 0x9750c000 ! 210: RDPR_TT <illegal instruction>
12370 .word 0xe137c000 ! 211: STQF_R - %f16, [%r0, %r31]
12371intveclr_2_125:
12372 nop
12373 ta T_CHANGE_HPRIV
12374 setx 0xce19c9307e1c4ced, %r1, %r28
12375 stxa %r28, [%g0] 0x72
12376 ta T_CHANGE_NONHPRIV
12377 .word 0x25400001 ! 212: FBPLG fblg,a,pn %fcc0, <label_0x1>
12378intveclr_2_126:
12379 nop
12380 ta T_CHANGE_HPRIV
12381 setx 0x7899c99219cf61d6, %r1, %r28
12382 stxa %r28, [%g0] 0x72
12383 .word 0x25400001 ! 213: FBPLG fblg,a,pn %fcc0, <label_0x1>
12384 .word 0x32700001 ! 214: BPNE <illegal instruction>
12385 nop
12386 mov 0x80, %g3
12387 stxa %g3, [%g3] 0x5f
12388 .word 0xe05fc000 ! 215: LDX_R ldx [%r31 + %r0], %r16
12389br_longdelay3_2_127:
12390 nop
12391 not %g0, %r12
12392 jmp %r12
12393 .word 0x99902004 ! 216: WRPR_CLEANWIN_I wrpr %r0, 0x0004, %cleanwin
12394splash_lsu_2_128:
12395 nop
12396 ta T_CHANGE_HPRIV
12397 set 0x34467bd1, %r2
12398 mov 0x6, %r1
12399 sllx %r1, 32, %r1
12400 or %r1, %r2, %r2
12401 stxa %r2, [%r0] ASI_LSU_CONTROL
12402 .word 0x3d400001 ! 217: FBPULE fbule,a,pn %fcc0, <label_0x1>
12403 nop
12404 ta T_CHANGE_HPRIV
12405 mov 0x2, %r10
12406 set sync_thr_counter2, %r23
12407 cas [%r23],%g0,%r10 !lock
12408 brnz %r10, sma_2_129
12409 rd %asi, %r12
12410 wr %g0, 0x40, %asi
12411 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
12412 set 0x000a1fff, %g1
12413 stxa %g1, [%g0 + 0x80] %asi
12414 wr %r12, %g0, %asi
12415 st %g0, [%r23]
12416sma_2_129:
12417 ta T_CHANGE_NONHPRIV
12418 .word 0xe1e7e00a ! 218: CASA_R casa [%r31] %asi, %r10, %r16
12419pmu_2_130:
12420 nop
12421 ta T_CHANGE_PRIV
12422 setx 0xfffffea9fffff4ef, %g1, %g7
12423 .word 0xa3800007 ! 219: WR_PERF_COUNTER_R wr %r0, %r7, %-
12424 .word 0x91948014 ! 220: WRPR_PIL_R wrpr %r18, %r20, %pil
12425 invalw
12426 mov 0x35, %r30
12427 .word 0x91d0001e ! 221: Tcc_R ta icc_or_xcc, %r0 + %r30
12428 .word 0xa1b24491 ! 222: FCMPLE32 fcmple32 %d40, %d48, %r16
12429intveclr_2_132:
12430 nop
12431 ta T_CHANGE_HPRIV
12432 setx 0xec3fcaffaa762143, %r1, %r28
12433 stxa %r28, [%g0] 0x72
12434 ta T_CHANGE_NONHPRIV
12435 .word 0x25400001 ! 223: FBPLG fblg,a,pn %fcc0, <label_0x1>
12436splash_hpstate_2_133:
12437 ta T_CHANGE_NONHPRIV
12438 .word 0x81982cc4 ! 224: WRHPR_HPSTATE_I wrhpr %r0, 0x0cc4, %hpstate
12439!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_2_134)+40, 16, 16)) -> intp(mask2tid(0x2),1,3)
12440!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_2_134)&0xffffffff) +40, 16, 16)) -> intp(mask2tid(0x2),1,3)
12441xir_2_134:
12442 .word 0xa984e9ad ! 225: WR_SET_SOFTINT_I wr %r19, 0x09ad, %set_softint
12443 .word 0xa7520000 ! 226: RDPR_PIL <illegal instruction>
12444pmu_2_135:
12445 nop
12446 ta T_CHANGE_PRIV
12447 setx 0xfffff59effffffc9, %g1, %g7
12448 .word 0xa3800007 ! 227: WR_PERF_COUNTER_R wr %r0, %r7, %-
12449 .word 0x9f803497 ! 228: SIR sir 0x1497
12450 .word 0xe537c000 ! 229: STQF_R - %f18, [%r0, %r31]
12451 invalw
12452 mov 0x32, %r30
12453 .word 0x91d0001e ! 230: Tcc_R ta icc_or_xcc, %r0 + %r30
12454 .word 0xa1b507d2 ! 231: PDIST pdistn %d20, %d18, %d16
12455splash_hpstate_2_136:
12456 .word 0x38800001 ! 1: BGU bgu,a <label_0x1>
12457 .word 0x81982e9d ! 232: WRHPR_HPSTATE_I wrhpr %r0, 0x0e9d, %hpstate
12458 setx 0xfa1848405055e793, %r1, %r28
12459 stxa %r28, [%g0] 0x73
12460intvec_2_137:
12461 .word 0x39400001 ! 233: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
12462 invalw
12463 mov 0xb0, %r30
12464 .word 0x83d0001e ! 234: Tcc_R te icc_or_xcc, %r0 + %r30
12465 .word 0xb1800011 ! 235: WR_STICK_REG_R wr %r0, %r17, %-
12466 .word 0xd80fe028 ! 236: LDUB_I ldub [%r31 + 0x0028], %r12
12467 nop
12468 ta T_CHANGE_HPRIV
12469 mov 0x2+1, %r10
12470 set sync_thr_counter1, %r23
12471 cas [%r23],%g0,%r10 !lock
12472 brnz %r10, cwq_2_138
12473 rd %asi, %r12
12474 wr %g0, 0x40, %asi
12475 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
12476 and %l1, 0x3, %l1 ! Check if busy/enabled ..
12477 cmp %l1, 1
12478 bne cwq_2_138
12479 set CWQ_BASE, %l6
12480 best_set_reg(0x20610000, %l1, %l2) !# Control Word
12481 sllx %l2, 32, %l2
12482 stx %l2, [%l6 + 0x0]
12483 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
12484 sub %l2, 0x40, %l2
12485 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
12486 wr %r12, %g0, %asi
12487 st %g0, [%r23]
12488cwq_2_138:
12489 ta T_CHANGE_NONHPRIV
12490 .word 0xa9414000 ! 237: RDPC rd %pc, %r20
12491 otherw
12492 mov 0x31, %r30
12493 .word 0x91d0001e ! 238: Tcc_R ta icc_or_xcc, %r0 + %r30
12494 nop
12495 ta T_CHANGE_HPRIV
12496 mov 0x2, %r10
12497 set sync_thr_counter2, %r23
12498 cas [%r23],%g0,%r10 !lock
12499 brnz %r10, sma_2_139
12500 rd %asi, %r12
12501 wr %g0, 0x40, %asi
12502 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
12503 set 0x000e1fff, %g1
12504 stxa %g1, [%g0 + 0x80] %asi
12505 wr %r12, %g0, %asi
12506 st %g0, [%r23]
12507sma_2_139:
12508 ta T_CHANGE_NONHPRIV
12509 .word 0xe7e7e014 ! 239: CASA_R casa [%r31] %asi, %r20, %r19
12510 .word 0xe71fc000 ! 240: LDDF_R ldd [%r31, %r0], %f19
12511 .word 0x81460000 ! 241: RD_STICK_REG stbar
12512 nop
12513 ta T_CHANGE_HPRIV
12514 mov 0x2+1, %r10
12515 set sync_thr_counter1, %r23
12516 cas [%r23],%g0,%r10 !lock
12517 brnz %r10, cwq_2_140
12518 rd %asi, %r12
12519 wr %g0, 0x40, %asi
12520 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
12521 and %l1, 0x3, %l1 ! Check if busy/enabled ..
12522 cmp %l1, 1
12523 bne cwq_2_140
12524 set CWQ_BASE, %l6
12525 best_set_reg(0x20610090, %l1, %l2) !# Control Word
12526 sllx %l2, 32, %l2
12527 stx %l2, [%l6 + 0x0]
12528 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
12529 sub %l2, 0x40, %l2
12530 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
12531 wr %r12, %g0, %asi
12532 st %g0, [%r23]
12533cwq_2_140:
12534 ta T_CHANGE_NONHPRIV
12535 .word 0x9b414000 ! 242: RDPC rd %pc, %r13
12536 .word 0x91d020b3 ! 243: Tcc_I ta icc_or_xcc, %r0 + 179
12537trapasi_2_141:
12538mov 0x3e0, %r1 ! (VA for ASI 0x25)
12539 .word 0xe0c84980 ! 244: LDSBA_R ldsba [%r1, %r0] 0x4c, %r16
12540 .word 0xa5a0016b ! 245: FABSq dis not found
12541
12542 .word 0x93d02033 ! 246: Tcc_I tne icc_or_xcc, %r0 + 51
12543 invalw
12544 mov 0x30, %r30
12545 .word 0x91d0001e ! 247: Tcc_R ta icc_or_xcc, %r0 + %r30
12546splash_lsu_2_142:
12547 nop
12548 ta T_CHANGE_HPRIV
12549 set 0x29ed6258, %r2
12550 mov 0x6, %r1
12551 sllx %r1, 32, %r1
12552 or %r1, %r2, %r2
12553 stxa %r2, [%r0] ASI_LSU_CONTROL
12554 .word 0x3d400001 ! 248: FBPULE fbule,a,pn %fcc0, <label_0x1>
12555pmu_2_143:
12556 nop
12557 ta T_CHANGE_PRIV
12558 setx 0xfffffecafffff511, %g1, %g7
12559 .word 0xa3800007 ! 249: WR_PERF_COUNTER_R wr %r0, %r7, %-
12560 .word 0xe1bfe040 ! 250: STDFA_I stda %f16, [0x0040, %r31]
12561 .word 0xb1800011 ! 251: WR_STICK_REG_R wr %r0, %r17, %-
12562 .word 0x91d02033 ! 252: Tcc_I ta icc_or_xcc, %r0 + 51
12563 .word 0xe1bfe080 ! 253: STDFA_I stda %f16, [0x0080, %r31]
12564memptr_2_144:
12565 set user_data_start, %r31
12566 .word 0x8584be4e ! 254: WRCCR_I wr %r18, 0x1e4e, %ccr
12567fpinit_2_145:
12568 setx fp_data_quads, %r19, %r20
12569 ldd [%r20], %f0
12570 ldd [%r20+8], %f4
12571 ld [%r20+16], %fsr
12572 ld [%r20+24], %r19
12573 wr %r19, %g0, %gsr
12574 .word 0x91a009a4 ! 255: FDIVs fdivs %f0, %f4, %f8
12575 .word 0x8d903c14 ! 256: WRPR_PSTATE_I wrpr %r0, 0x1c14, %pstate
12576 .word 0xe527e02e ! 257: STF_I st %f18, [0x002e, %r31]
12577splash_lsu_2_147:
12578 nop
12579 ta T_CHANGE_HPRIV
12580 set 0xf194f5b3, %r2
12581 mov 0x2, %r1
12582 sllx %r1, 32, %r1
12583 or %r1, %r2, %r2
12584 stxa %r2, [%r0] ASI_LSU_CONTROL
12585 ta T_CHANGE_NONHPRIV
12586 .word 0x3d400001 ! 258: FBPULE fbule,a,pn %fcc0, <label_0x1>
12587 .word 0xe19fde00 ! 259: LDDFA_R ldda [%r31, %r0], %f16
12588mondo_2_148:
12589 nop
12590 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12591 ta T_CHANGE_PRIV
12592 stxa %r12, [%r0+0x3d0] %asi
12593 .word 0x9d930012 ! 260: WRPR_WSTATE_R wrpr %r12, %r18, %wstate
12594 .word 0xa1480000 ! 261: RDHPR_HPSTATE rdhpr %hpstate, %r16
12595brcommon_2_149:
12596 ba,a .+12
12597 mov %r31, %r15
12598 ba,a .+8
12599 call common_target
12600 .word 0xe43fe190 ! 262: STD_I std %r18, [%r31 + 0x0190]
12601 .word 0x99a00170 ! 263: FABSq dis not found
12602
12603 .word 0x997038dc ! 264: POPC_I popc 0x18dc, %r12
12604 .word 0xe827e0e4 ! 265: STW_I stw %r20, [%r31 + 0x00e4]
12605 .word 0xe8cfe028 ! 266: LDSBA_I ldsba [%r31, + 0x0028] %asi, %r20
12606 .word 0x95a349d2 ! 267: FDIVd fdivd %f44, %f18, %f10
12607memptr_2_150:
12608 set user_data_start, %r31
12609 .word 0x8584235a ! 268: WRCCR_I wr %r16, 0x035a, %ccr
12610splash_lsu_2_151:
12611 nop
12612 ta T_CHANGE_HPRIV
12613 set 0xdca83b43, %r2
12614 mov 0x6, %r1
12615 sllx %r1, 32, %r1
12616 or %r1, %r2, %r2
12617 stxa %r2, [%r0] ASI_LSU_CONTROL
12618 ta T_CHANGE_NONHPRIV
12619 .word 0x3d400001 ! 269: FBPULE fbule,a,pn %fcc0, <label_0x1>
12620 .word 0xd43fe0c0 ! 270: STD_I std %r10, [%r31 + 0x00c0]
12621 .word 0xc3e88023 ! 271: PREFETCHA_R prefetcha [%r2, %r3] 0x01, #one_read
12622 .word 0xab828011 ! 272: WR_CLEAR_SOFTINT_R wr %r10, %r17, %clear_softint
12623pmu_2_152:
12624 nop
12625 setx 0xfffff9d2fffffc4f, %g1, %g7
12626 .word 0xa3800007 ! 273: WR_PERF_COUNTER_R wr %r0, %r7, %-
12627dvapa_2_153:
12628 nop
12629 ta T_CHANGE_HPRIV
12630 mov 0xad2, %r20
12631 mov 0x15, %r19
12632 sllx %r20, 23, %r20
12633 or %r19, %r20, %r19
12634 stxa %r19, [%g0] ASI_LSU_CONTROL
12635 mov 0x38, %r18
12636 stxa %r31, [%r18]0x58
12637 ta T_CHANGE_NONHPRIV
12638 .word 0xe43ff85d ! 274: STD_I std %r18, [%r31 + 0xfffff85d]
12639 .word 0x9f803dc8 ! 275: SIR sir 0x1dc8
12640jmptr_2_154:
12641 nop
12642 best_set_reg(0xe0a00000, %r20, %r27)
12643 .word 0xb7c6c000 ! 276: JMPL_R jmpl %r27 + %r0, %r27
12644 .word 0xc1bfdf20 ! 277: STDFA_R stda %f0, [%r0, %r31]
12645 .word 0x9f80346f ! 278: SIR sir 0x146f
12646 nop
12647 ta T_CHANGE_HPRIV
12648 mov 0x2, %r10
12649 set sync_thr_counter2, %r23
12650 cas [%r23],%g0,%r10 !lock
12651 brnz %r10, sma_2_155
12652 rd %asi, %r12
12653 wr %g0, 0x40, %asi
12654 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
12655 set 0x00121fff, %g1
12656 stxa %g1, [%g0 + 0x80] %asi
12657 wr %r12, %g0, %asi
12658 st %g0, [%r23]
12659sma_2_155:
12660 ta T_CHANGE_NONHPRIV
12661 .word 0xdbe7e010 ! 279: CASA_R casa [%r31] %asi, %r16, %r13
12662splash_tba_2_156:
12663 ta T_CHANGE_PRIV
12664 set 0x120000, %r12
12665 .word 0x8b90000c ! 280: WRPR_TBA_R wrpr %r0, %r12, %tba
12666pmu_2_157:
12667 nop
12668 setx 0xfffff388fffff7b8, %g1, %g7
12669 .word 0xa3800007 ! 281: WR_PERF_COUNTER_R wr %r0, %r7, %-
12670mondo_2_158:
12671 nop
12672 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12673 stxa %r20, [%r0+0x3e0] %asi
12674 .word 0x9d94c014 ! 282: WRPR_WSTATE_R wrpr %r19, %r20, %wstate
12675 nop
12676 ta T_CHANGE_HPRIV
12677 mov 0x2+1, %r10
12678 set sync_thr_counter1, %r23
12679 cas [%r23],%g0,%r10 !lock
12680 brnz %r10, cwq_2_159
12681 rd %asi, %r12
12682 wr %g0, 0x40, %asi
12683 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
12684 and %l1, 0x3, %l1 ! Check if busy/enabled ..
12685 cmp %l1, 1
12686 bne cwq_2_159
12687 set CWQ_BASE, %l6
12688 best_set_reg(0x20610040, %l1, %l2) !# Control Word
12689 sllx %l2, 32, %l2
12690 stx %l2, [%l6 + 0x0]
12691 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
12692 sub %l2, 0x40, %l2
12693 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
12694 wr %r12, %g0, %asi
12695 st %g0, [%r23]
12696cwq_2_159:
12697 ta T_CHANGE_NONHPRIV
12698 .word 0xa1414000 ! 283: RDPC rd %pc, %r16
12699 .word 0xa5a0016a ! 284: FABSq dis not found
12700
12701jmptr_2_160:
12702 nop
12703 best_set_reg(0xe0a00000, %r20, %r27)
12704 .word 0xb7c6c000 ! 285: JMPL_R jmpl %r27 + %r0, %r27
12705intveclr_2_161:
12706 nop
12707 ta T_CHANGE_HPRIV
12708 setx 0x60a31dcc132fb63f, %r1, %r28
12709 stxa %r28, [%g0] 0x72
12710 .word 0x25400001 ! 286: FBPLG fblg,a,pn %fcc0, <label_0x1>
12711 .word 0x87ab0a41 ! 287: FCMPd fcmpd %fcc<n>, %f12, %f32
12712 .word 0x8d902b81 ! 288: WRPR_PSTATE_I wrpr %r0, 0x0b81, %pstate
12713 nop
12714 ta T_CHANGE_HPRIV
12715 mov 0x2, %r10
12716 set sync_thr_counter2, %r23
12717 cas [%r23],%g0,%r10 !lock
12718 brnz %r10, sma_2_163
12719 rd %asi, %r12
12720 wr %g0, 0x40, %asi
12721 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
12722 set 0x00161fff, %g1
12723 stxa %g1, [%g0 + 0x80] %asi
12724 wr %r12, %g0, %asi
12725 st %g0, [%r23]
12726sma_2_163:
12727 ta T_CHANGE_NONHPRIV
12728 .word 0xe9e7e010 ! 289: CASA_R casa [%r31] %asi, %r16, %r20
12729 .word 0x93a349d0 ! 290: FDIVd fdivd %f44, %f16, %f40
12730 .word 0x91944013 ! 291: WRPR_PIL_R wrpr %r17, %r19, %pil
12731 .word 0xc1bfdf20 ! 292: STDFA_R stda %f0, [%r0, %r31]
12732donret_2_165:
12733 nop
12734 ta T_CHANGE_HPRIV ! macro
12735 rd %pc, %r12
12736 add %r12, (donretarg_2_165-donret_2_165-4), %r12
12737 mov 0x38, %r18
12738 stxa %r12, [%r18]0x58
12739 add %r12, 0x4, %r11
12740 wrpr %g0, 0x2, %tl
12741 wrpr %g0, %r12, %tpc
12742 wrpr %g0, %r11, %tnpc
12743 set (0x00d22a3d | (22 << 24)), %r13
12744 rdpr %tstate, %r16
12745 mov 0x1f, %r19
12746 and %r19, %r16, %r17
12747 andn %r16, %r19, %r16
12748 or %r16, %r17, %r20
12749 wrpr %r20, %g0, %tstate
12750 wrhpr %g0, 0xf46, %htstate
12751 ta T_CHANGE_NONPRIV ! rand=0 (2)
12752 .word 0x3c800001 ! 1: BPOS bpos,a <label_0x1>
12753 done
12754donretarg_2_165:
12755 .word 0xd6ffe02c ! 293: SWAPA_I swapa %r11, [%r31 + 0x002c] %asi
12756br_longdelay1_2_166:
12757 .word 0x2a800001 ! 1: BCS bcs,a <label_0x1>
12758 .word 0x9d97c000 ! 294: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
12759 .word 0xe19fe0e0 ! 295: LDDFA_I ldda [%r31, 0x00e0], %f16
12760 setx 0xcf7967114e95e4f9, %r1, %r28
12761 stxa %r28, [%g0] 0x73
12762intvec_2_167:
12763 .word 0x39400001 ! 296: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
12764intveclr_2_168:
12765 nop
12766 ta T_CHANGE_HPRIV
12767 setx 0x46da8e2a8e042d3b, %r1, %r28
12768 stxa %r28, [%g0] 0x72
12769 ta T_CHANGE_NONHPRIV
12770 .word 0x25400001 ! 297: FBPLG fblg,a,pn %fcc0, <label_0x1>
12771 .word 0x26800001 ! 298: BL bl,a <label_0x1>
12772jmptr_2_169:
12773 nop
12774 best_set_reg(0xe0a00000, %r20, %r27)
12775 .word 0xb7c6c000 ! 299: JMPL_R jmpl %r27 + %r0, %r27
12776 nop
12777 ta T_CHANGE_HPRIV
12778 mov 0x2, %r10
12779 set sync_thr_counter2, %r23
12780 cas [%r23],%g0,%r10 !lock
12781 brnz %r10, sma_2_170
12782 rd %asi, %r12
12783 wr %g0, 0x40, %asi
12784 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
12785 set 0x000e1fff, %g1
12786 stxa %g1, [%g0 + 0x80] %asi
12787 wr %r12, %g0, %asi
12788 st %g0, [%r23]
12789sma_2_170:
12790 ta T_CHANGE_NONHPRIV
12791 .word 0xd7e7e008 ! 300: CASA_R casa [%r31] %asi, %r8, %r11
12792 .word 0xd697e038 ! 301: LDUHA_I lduha [%r31, + 0x0038] %asi, %r11
12793 nop
12794 nop
12795 ta T_CHANGE_PRIV
12796 wrpr %g0, %g0, %gl
12797 nop
12798 nop
12799 setx join_lbl_0_0, %g1, %g2
12800 jmp %g2
12801 nop
12802fork_lbl_0_1:
12803setup_cmp:
12804 rd %asi, %r12
12805 wr %r0, 0x41, %asi
12806 ldxa [0x58]%asi, %r14
12807 stxa %r14, [0x50]%asi
12808setup_spu:
12809 wr %g0, 0x40, %asi
12810 !# allocate control word queue (e.g., setup head/tail/first/last registers)
12811 set CWQ_BASE, %l6
12812
12813 !# write base addr to first, head, and tail ptr
12814 !# first store to first
12815 stxa %l6, [%g0 + ASI_SPU_CWQ_FIRST] %asi !# first store to first
12816
12817 stxa %l6, [%g0 + ASI_SPU_CWQ_HEAD] %asi !# then to head
12818 stxa %l6, [%g0 + ASI_SPU_CWQ_TAIL] %asi !# then to tail
12819 setx CWQ_LAST, %g1, %l5 !# then end of CWQ region to LAST
12820 stxa %l5, [%g0 + ASI_SPU_CWQ_LAST] %asi
12821
12822 !# set CWQ control word ([38:36] is strand ID ..)
12823 best_set_reg(0x20610020, %l1, %l2) !# Control Word
12824 sllx %l2, 32, %l2
12825
12826 !# write CWQ entry (%l6 points to CWQ)
12827 stx %l2, [%l6 + 0x0]
12828
12829 setx msg, %g1, %l2
12830 stx %l2, [%l6 + 0x8] !# source address
12831
12832 stx %g0, [%l6 + 0x10] !# Authentication Key Address (40-bit)
12833 stx %g0, [%l6 + 0x18] !# Authentication IV Address (40-bit)
12834 stx %g0, [%l6 + 0x20] !# Authentication FSAS Address (40-bit)
12835 stx %g0, [%l6 + 0x28] !# Encryption Key Address (40-bit)
12836 stx %g0, [%l6 + 0x30] !# Encryption Initialization Vector Address (40-bit)
12837
12838 setx results, %g1, %o3
12839 stx %o3, [%l6 + 0x38] !# Destination Address (40-bit)
12840
12841 membar #Sync
12842
12843 ldxa [%g0 + ASI_SPU_CWQ_TAIL] %asi, %l2
12844 add %l2, 0x40, %l2
12845 stxa %l2, [%g0 + ASI_SPU_CWQ_TAIL] %asi
12846
12847 !# Kick off the CWQ operation by writing to the CWQ_CSR
12848 !# Set the enabled bit and reset the other bits
12849 or %g0, 0x1, %g1
12850 stxa %g1, [%g0 + ASI_SPU_CWQ_CSR] %asi
12851
12852unlock_sync_thds:
12853 set sync_thr_counter2, %r23
12854 st %r0, [%r23] !unlock sync_thr_counter2
12855 sub %r23, 8, %r23
12856 st %r0, [%r23] !unlock sync_thr_counter1
12857 sub %r23, 8, %r23
12858 st %r0, [%r23] !unlock sync_thr_counter
12859
12860 wr %r0, %r12, %asi
12861 ta T_CHANGE_NONHPRIV
12862br_badelay3_1_0:
12863 .word 0x34800001 ! 1: BG bg,a <label_0x1>
12864 .word 0xa153aaaa ! Random illegal ?
12865 .word 0xe510c011 ! 1: LDQF_R - [%r3, %r17], %f18
12866 .word 0x9ba44832 ! 1: FADDs fadds %f17, %f18, %f13
12867 nop
12868 ta T_CHANGE_HPRIV
12869 mov 0x1, %r10
12870 set sync_thr_counter2, %r23
12871 cas [%r23],%g0,%r10 !lock
12872 brnz %r10, sma_1_1
12873 rd %asi, %r12
12874 wr %g0, 0x40, %asi
12875 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
12876 set 0x00161fff, %g1
12877 stxa %g1, [%g0 + 0x80] %asi
12878 wr %r12, %g0, %asi
12879 st %g0, [%r23]
12880sma_1_1:
12881 ta T_CHANGE_NONHPRIV
12882 .word 0xdbe7e012 ! 2: CASA_R casa [%r31] %asi, %r18, %r13
12883splash_hpstate_1_2:
12884 .word 0x29400001 ! 1: FBPL fbl,a,pn %fcc0, <label_0x1>
12885 .word 0x8198215c ! 3: WRHPR_HPSTATE_I wrhpr %r0, 0x015c, %hpstate
12886 nop
12887 ta T_CHANGE_HPRIV
12888 mov 0x1, %r10
12889 set sync_thr_counter2, %r23
12890 cas [%r23],%g0,%r10 !lock
12891 brnz %r10, sma_1_3
12892 rd %asi, %r12
12893 wr %g0, 0x40, %asi
12894 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
12895 set 0x00121fff, %g1
12896 stxa %g1, [%g0 + 0x80] %asi
12897 wr %r12, %g0, %asi
12898 st %g0, [%r23]
12899sma_1_3:
12900 ta T_CHANGE_NONHPRIV
12901 .word 0xdbe7e012 ! 4: CASA_R casa [%r31] %asi, %r18, %r13
12902 .word 0x91d02032 ! 5: Tcc_I ta icc_or_xcc, %r0 + 50
12903jmptr_1_4:
12904 nop
12905 best_set_reg(0xe0200000, %r20, %r27)
12906 .word 0xb7c6c000 ! 6: JMPL_R jmpl %r27 + %r0, %r27
12907 .word 0xdb27c000 ! 7: STF_R st %f13, [%r0, %r31]
12908 otherw
12909 mov 0xb1, %r30
12910 .word 0x91d0001e ! 8: Tcc_R ta icc_or_xcc, %r0 + %r30
12911mondo_1_5:
12912 nop
12913 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12914 ta T_CHANGE_PRIV
12915 stxa %r20, [%r0+0x3d0] %asi
12916 .word 0x9d930012 ! 9: WRPR_WSTATE_R wrpr %r12, %r18, %wstate
12917 .word 0x91d020b2 ! 10: Tcc_I ta icc_or_xcc, %r0 + 178
12918pmu_1_6:
12919 nop
12920 ta T_CHANGE_PRIV
12921 setx 0xfffffcdffffff7a3, %g1, %g7
12922 .word 0xa3800007 ! 11: WR_PERF_COUNTER_R wr %r0, %r7, %-
12923memptr_1_7:
12924 set 0x60340000, %r31
12925 .word 0x8580bc48 ! 12: WRCCR_I wr %r2, 0x1c48, %ccr
12926 nop
12927 ta T_CHANGE_HPRIV
12928 mov 0x1+1, %r10
12929 set sync_thr_counter1, %r23
12930 cas [%r23],%g0,%r10 !lock
12931 brnz %r10, cwq_1_8
12932 rd %asi, %r12
12933 wr %g0, 0x40, %asi
12934 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
12935 and %l1, 0x3, %l1 ! Check if busy/enabled ..
12936 cmp %l1, 1
12937 bne cwq_1_8
12938 set CWQ_BASE, %l6
12939 best_set_reg(0x206100a0, %l1, %l2) !# Control Word
12940 sllx %l2, 32, %l2
12941 stx %l2, [%l6 + 0x0]
12942 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
12943 sub %l2, 0x40, %l2
12944 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
12945 wr %r12, %g0, %asi
12946 st %g0, [%r23]
12947cwq_1_8:
12948 ta T_CHANGE_NONHPRIV
12949 .word 0xa1414000 ! 13: RDPC rd %pc, %r16
12950pmu_1_9:
12951 nop
12952 setx 0xffffff2efffff5f3, %g1, %g7
12953 .word 0xa3800007 ! 14: WR_PERF_COUNTER_R wr %r0, %r7, %-
12954 nop
12955 ta T_CHANGE_HPRIV
12956 mov 0x1+1, %r10
12957 set sync_thr_counter1, %r23
12958 cas [%r23],%g0,%r10 !lock
12959 brnz %r10, cwq_1_10
12960 rd %asi, %r12
12961 wr %g0, 0x40, %asi
12962 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
12963 and %l1, 0x3, %l1 ! Check if busy/enabled ..
12964 cmp %l1, 1
12965 bne cwq_1_10
12966 set CWQ_BASE, %l6
12967 best_set_reg(0x20610040, %l1, %l2) !# Control Word
12968 sllx %l2, 32, %l2
12969 stx %l2, [%l6 + 0x0]
12970 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
12971 sub %l2, 0x40, %l2
12972 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
12973 wr %r12, %g0, %asi
12974 st %g0, [%r23]
12975cwq_1_10:
12976 ta T_CHANGE_NONHPRIV
12977 .word 0xa9414000 ! 15: RDPC rd %pc, %r20
12978mondo_1_11:
12979 nop
12980 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12981 ta T_CHANGE_PRIV
12982 stxa %r16, [%r0+0x3e0] %asi
12983 .word 0x9d950007 ! 16: WRPR_WSTATE_R wrpr %r20, %r7, %wstate
12984br_badelay3_1_12:
12985 .word 0x20800001 ! 1: BN bn,a <label_0x1>
12986 .word 0xa75b2cfd ! Random illegal ?
12987 .word 0xa7a0054d ! 1: FSQRTd fsqrt
12988 .word 0x99a48831 ! 17: FADDs fadds %f18, %f17, %f12
12989dvapa_1_13:
12990 nop
12991 ta T_CHANGE_HPRIV
12992 mov 0xdf9, %r20
12993 mov 0x4, %r19
12994 sllx %r20, 23, %r20
12995 or %r19, %r20, %r19
12996 stxa %r19, [%g0] ASI_LSU_CONTROL
12997 mov 0x38, %r18
12998 stxa %r31, [%r18]0x58
12999 ta T_CHANGE_NONHPRIV
13000 .word 0xd897c031 ! 18: LDUHA_R lduha [%r31, %r17] 0x01, %r12
13001tagged_1_14:
13002 tsubcctv %r18, 0x164b, %r16
13003 .word 0xd807e0e4 ! 19: LDUW_I lduw [%r31 + 0x00e4], %r12
13004 .word 0xc1bfe000 ! 20: STDFA_I stda %f0, [0x0000, %r31]
13005splash_hpstate_1_15:
13006 ta T_CHANGE_NONHPRIV
13007 .word 0x2d400001 ! 1: FBPG fbg,a,pn %fcc0, <label_0x1>
13008 .word 0x81982e3e ! 21: WRHPR_HPSTATE_I wrhpr %r0, 0x0e3e, %hpstate
13009 .word 0xd8d7e008 ! 22: LDSHA_I ldsha [%r31, + 0x0008] %asi, %r12
13010intveclr_1_16:
13011 nop
13012 ta T_CHANGE_HPRIV
13013 setx 0xf8a8caa2ad7e081c, %r1, %r28
13014 stxa %r28, [%g0] 0x72
13015 .word 0x25400001 ! 23: FBPLG fblg,a,pn %fcc0, <label_0x1>
13016 nop
13017 ta T_CHANGE_HPRIV
13018 mov 0x1+1, %r10
13019 set sync_thr_counter1, %r23
13020 cas [%r23],%g0,%r10 !lock
13021 brnz %r10, cwq_1_17
13022 rd %asi, %r12
13023 wr %g0, 0x40, %asi
13024 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
13025 and %l1, 0x3, %l1 ! Check if busy/enabled ..
13026 cmp %l1, 1
13027 bne cwq_1_17
13028 set CWQ_BASE, %l6
13029 best_set_reg(0x206100a0, %l1, %l2) !# Control Word
13030 sllx %l2, 32, %l2
13031 stx %l2, [%l6 + 0x0]
13032 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
13033 sub %l2, 0x40, %l2
13034 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
13035 wr %r12, %g0, %asi
13036 st %g0, [%r23]
13037cwq_1_17:
13038 ta T_CHANGE_NONHPRIV
13039 .word 0xa1414000 ! 24: RDPC rd %pc, %r16
13040splash_htba_1_18:
13041 nop
13042 ta T_CHANGE_HPRIV
13043 setx 0x0000000000280000, %r11, %r12
13044 .word 0x8b98000c ! 25: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
13045br_longdelay2_1_19:
13046 .word 0x26cac001 ! 1: BRLZ brlz,a,pt %r11,<label_0xac001>
13047 .word 0x39400001 ! 26: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
13048br_longdelay1_1_20:
13049 .word 0x24800001 ! 1: BLE ble,a <label_0x1>
13050 .word 0x9d97c000 ! 27: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
13051 .word 0xb1800011 ! 28: WR_STICK_REG_R wr %r0, %r17, %-
13052 .word 0x24c90001 ! 29: BRLEZ brlez,a,pt %r4,<label_0x90001>
13053 .word 0x93d02032 ! 30: Tcc_I tne icc_or_xcc, %r0 + 50
13054splash_tba_1_21:
13055 ta T_CHANGE_PRIV
13056 setx 0x0000000000380000, %r11, %r12
13057 .word 0x8b90000c ! 31: WRPR_TBA_R wrpr %r0, %r12, %tba
13058mondo_1_22:
13059 nop
13060 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
13061 ta T_CHANGE_PRIV
13062 stxa %r7, [%r0+0x3c8] %asi
13063 .word 0x9d94c002 ! 32: WRPR_WSTATE_R wrpr %r19, %r2, %wstate
13064 .word 0x20700001 ! 33: BPN <illegal instruction>
13065 .word 0x91933307 ! 34: WRPR_PIL_I wrpr %r12, 0x1307, %pil
13066 .word 0x91d02035 ! 35: Tcc_I ta icc_or_xcc, %r0 + 53
13067 .word 0x9f80372a ! 36: SIR sir 0x172a
13068 nop
13069 ta T_CHANGE_HPRIV
13070 mov 0x1+1, %r10
13071 set sync_thr_counter1, %r23
13072 cas [%r23],%g0,%r10 !lock
13073 brnz %r10, cwq_1_23
13074 rd %asi, %r12
13075 wr %g0, 0x40, %asi
13076 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
13077 and %l1, 0x3, %l1 ! Check if busy/enabled ..
13078 cmp %l1, 1
13079 bne cwq_1_23
13080 set CWQ_BASE, %l6
13081 best_set_reg(0x20610060, %l1, %l2) !# Control Word
13082 sllx %l2, 32, %l2
13083 stx %l2, [%l6 + 0x0]
13084 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
13085 sub %l2, 0x40, %l2
13086 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
13087 wr %r12, %g0, %asi
13088 st %g0, [%r23]
13089cwq_1_23:
13090 ta T_CHANGE_NONHPRIV
13091 .word 0xa7414000 ! 37: RDPC rd %pc, %r19
13092 nop
13093 ta T_CHANGE_HPRIV
13094 mov 0x1+1, %r10
13095 set sync_thr_counter1, %r23
13096 cas [%r23],%g0,%r10 !lock
13097 brnz %r10, cwq_1_24
13098 rd %asi, %r12
13099 wr %g0, 0x40, %asi
13100 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
13101 and %l1, 0x3, %l1 ! Check if busy/enabled ..
13102 cmp %l1, 1
13103 bne cwq_1_24
13104 set CWQ_BASE, %l6
13105 best_set_reg(0x20610060, %l1, %l2) !# Control Word
13106 sllx %l2, 32, %l2
13107 stx %l2, [%l6 + 0x0]
13108 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
13109 sub %l2, 0x40, %l2
13110 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
13111 wr %r12, %g0, %asi
13112 st %g0, [%r23]
13113cwq_1_24:
13114 ta T_CHANGE_NONHPRIV
13115 .word 0x91414000 ! 38: RDPC rd %pc, %r8
13116jmptr_1_25:
13117 nop
13118 best_set_reg(0xe0200000, %r20, %r27)
13119 .word 0xb7c6c000 ! 39: JMPL_R jmpl %r27 + %r0, %r27
13120ibp_1_26:
13121 nop
13122 ta T_CHANGE_HPRIV
13123 .word 0xd13fc002 ! 40: STDF_R std %f8, [%r2, %r31]
13124 setx 0xe9a9e97b1029cb38, %r1, %r28
13125 stxa %r28, [%g0] 0x73
13126intvec_1_27:
13127 .word 0x39400001 ! 41: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
13128 .word 0x8d902a32 ! 42: WRPR_PSTATE_I wrpr %r0, 0x0a32, %pstate
13129 .word 0xd06fe0b1 ! 43: LDSTUB_I ldstub %r8, [%r31 + 0x00b1]
13130trapasi_1_29:
13131mov 0x0, %r1 ! (VA for ASI 0x5b)
13132 .word 0xd0904b60 ! 44: LDUHA_R lduha [%r1, %r0] 0x5b, %r8
13133 nop
13134 ta T_CHANGE_HPRIV
13135 mov 0x1+1, %r10
13136 set sync_thr_counter1, %r23
13137 cas [%r23],%g0,%r10 !lock
13138 brnz %r10, cwq_1_30
13139 rd %asi, %r12
13140 wr %g0, 0x40, %asi
13141 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
13142 and %l1, 0x3, %l1 ! Check if busy/enabled ..
13143 cmp %l1, 1
13144 bne cwq_1_30
13145 set CWQ_BASE, %l6
13146 best_set_reg(0x206100e0, %l1, %l2) !# Control Word
13147 sllx %l2, 32, %l2
13148 stx %l2, [%l6 + 0x0]
13149 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
13150 sub %l2, 0x40, %l2
13151 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
13152 wr %r12, %g0, %asi
13153 st %g0, [%r23]
13154cwq_1_30:
13155 ta T_CHANGE_NONHPRIV
13156 .word 0x99414000 ! 45: RDPC rd %pc, %r12
13157fpinit_1_31:
13158 setx fp_data_quads, %r19, %r20
13159 ldd [%r20], %f0
13160 ldd [%r20+8], %f4
13161 ld [%r20+16], %fsr
13162 ld [%r20+24], %r19
13163 wr %r19, %g0, %gsr
13164 .word 0x91b00484 ! 46: FCMPLE32 fcmple32 %d0, %d4, %r8
13165memptr_1_32:
13166 set 0x60540000, %r31
13167 .word 0x8584e598 ! 47: WRCCR_I wr %r19, 0x0598, %ccr
13168mondo_1_33:
13169 nop
13170 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
13171 stxa %r18, [%r0+0x3d0] %asi
13172 .word 0x9d944012 ! 48: WRPR_WSTATE_R wrpr %r17, %r18, %wstate
13173cmp_1_34:
13174 nop
13175 ta T_CHANGE_HPRIV
13176 rd %asi, %r12
13177 wr %r0, 0x41, %asi
13178 set sync_thr_counter, %r23
13179 mov 0x1, %r10
13180cmp_startwait1_34:
13181 cas [%r23],%g0,%r10 !lock
13182 brz,a %r10, continue_cmp_1_34
13183 ldxa [0x50]%asi, %r13 !Running_rw
13184 ld [%r23], %r10
13185cmp_wait1_34:
13186 brnz,a %r10, cmp_wait1_34
13187 ld [%r23], %r10
13188 ba,a cmp_startwait1_34
13189 mov 0x1, %r10
13190continue_cmp_1_34:
13191 ldxa [0x58]%asi, %r14 !Running_status
13192 xnor %r14, %r13, %r14 !Bits equal
13193 ldxa [0x10]%asi, %r13 !Get enabled threads
13194 andn %r13, 0xff, %r16
13195 brz,a %r16, cmp_multi_core_1_34
13196 mov 0x5f, %r17
13197 best_set_reg(0x50d16a62b70e8900, %r16, %r17)
13198cmp_multi_core_1_34:
13199 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
13200 and %r14, %r13, %r14 !Apply core-enabled mask
13201 andn %r14, 0x1, %r14 !Leave master thread
13202 stxa %r14, [0x60]%asi
13203 st %g0, [%r23] !clear lock
13204 wr %g0, %r12, %asi
13205 .word 0x9194c009 ! 49: WRPR_PIL_R wrpr %r19, %r9, %pil
13206 nop
13207 ta T_CHANGE_HPRIV
13208 mov 0x1, %r10
13209 set sync_thr_counter2, %r23
13210 cas [%r23],%g0,%r10 !lock
13211 brnz %r10, sma_1_35
13212 rd %asi, %r12
13213 wr %g0, 0x40, %asi
13214 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
13215 set 0x00121fff, %g1
13216 stxa %g1, [%g0 + 0x80] %asi
13217 wr %r12, %g0, %asi
13218 st %g0, [%r23]
13219sma_1_35:
13220 ta T_CHANGE_NONHPRIV
13221 .word 0xd9e7e009 ! 50: CASA_R casa [%r31] %asi, %r9, %r12
13222donret_1_36:
13223 nop
13224 ta T_CHANGE_HPRIV ! macro
13225 rd %pc, %r12
13226 add %r12, (donretarg_1_36-donret_1_36-8), %r12
13227 add %r12, 0x4, %r11
13228 wrpr %g0, 0x2, %tl
13229 wrpr %g0, %r12, %tpc
13230 wrpr %g0, %r11, %tnpc
13231 set (0x00186739 | (0x88 << 24)), %r13
13232 rdpr %tstate, %r16
13233 mov 0x1f, %r19
13234 and %r19, %r16, %r17
13235 andn %r16, %r19, %r16
13236 or %r16, %r17, %r20
13237 wrpr %r20, %g0, %tstate
13238 wrhpr %g0, 0x4dd, %htstate
13239 ta T_CHANGE_NONHPRIV ! rand=1 (1)
13240 .word 0x2c800001 ! 1: BNEG bneg,a <label_0x1>
13241 retry
13242donretarg_1_36:
13243 .word 0xd8ffe0cc ! 51: SWAPA_I swapa %r12, [%r31 + 0x00cc] %asi
13244 nop
13245 ta T_CHANGE_HPRIV
13246 mov 0x1+1, %r10
13247 set sync_thr_counter1, %r23
13248 cas [%r23],%g0,%r10 !lock
13249 brnz %r10, cwq_1_37
13250 rd %asi, %r12
13251 wr %g0, 0x40, %asi
13252 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
13253 and %l1, 0x3, %l1 ! Check if busy/enabled ..
13254 cmp %l1, 1
13255 bne cwq_1_37
13256 set CWQ_BASE, %l6
13257 best_set_reg(0x206100b0, %l1, %l2) !# Control Word
13258 sllx %l2, 32, %l2
13259 stx %l2, [%l6 + 0x0]
13260 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
13261 sub %l2, 0x40, %l2
13262 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
13263 wr %r12, %g0, %asi
13264 st %g0, [%r23]
13265cwq_1_37:
13266 ta T_CHANGE_NONHPRIV
13267 .word 0xa5414000 ! 52: RDPC rd %pc, %r18
13268mondo_1_38:
13269 nop
13270 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
13271 ta T_CHANGE_PRIV
13272 stxa %r16, [%r0+0x3d0] %asi
13273 .word 0x9d908014 ! 53: WRPR_WSTATE_R wrpr %r2, %r20, %wstate
13274 setx 0x3c44f00a8dc64b83, %r1, %r28
13275 stxa %r28, [%g0] 0x73
13276intvec_1_39:
13277 .word 0x39400001 ! 54: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
13278 nop
13279 ta T_CHANGE_HPRIV
13280 mov 0x1+1, %r10
13281 set sync_thr_counter1, %r23
13282 cas [%r23],%g0,%r10 !lock
13283 brnz %r10, cwq_1_40
13284 rd %asi, %r12
13285 wr %g0, 0x40, %asi
13286 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
13287 and %l1, 0x3, %l1 ! Check if busy/enabled ..
13288 cmp %l1, 1
13289 bne cwq_1_40
13290 set CWQ_BASE, %l6
13291 best_set_reg(0x20610050, %l1, %l2) !# Control Word
13292 sllx %l2, 32, %l2
13293 stx %l2, [%l6 + 0x0]
13294 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
13295 sub %l2, 0x40, %l2
13296 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
13297 wr %r12, %g0, %asi
13298 st %g0, [%r23]
13299cwq_1_40:
13300 ta T_CHANGE_NONHPRIV
13301 .word 0x97414000 ! 55: RDPC rd %pc, %r11
13302 .word 0x95a449c2 ! 56: FDIVd fdivd %f48, %f2, %f10
13303 .word 0xa5480000 ! 57: RDHPR_HPSTATE rdhpr %hpstate, %r18
13304 .word 0x99b107c2 ! 58: PDIST pdistn %d4, %d2, %d12
13305fpinit_1_41:
13306 setx fp_data_quads, %r19, %r20
13307 ldd [%r20], %f0
13308 ldd [%r20+8], %f4
13309 ld [%r20+16], %fsr
13310 ld [%r20+24], %r19
13311 wr %r19, %g0, %gsr
13312 .word 0x89b00484 ! 59: FCMPLE32 fcmple32 %d0, %d4, %r4
13313 .word 0x9f80243c ! 60: SIR sir 0x043c
13314 nop
13315 ta T_CHANGE_HPRIV
13316 mov 0x1, %r10
13317 set sync_thr_counter2, %r23
13318 cas [%r23],%g0,%r10 !lock
13319 brnz %r10, sma_1_42
13320 rd %asi, %r12
13321 wr %g0, 0x40, %asi
13322 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
13323 set 0x001a1fff, %g1
13324 stxa %g1, [%g0 + 0x80] %asi
13325 wr %r12, %g0, %asi
13326 st %g0, [%r23]
13327sma_1_42:
13328 ta T_CHANGE_NONHPRIV
13329 .word 0xd9e7e002 ! 61: CASA_R casa [%r31] %asi, %r2, %r12
13330br_badelay2_1_43:
13331 .word 0x34800001 ! 1: BG bg,a <label_0x1>
13332 pdist %f24, %f10, %f0
13333 .word 0xa5b4430d ! 62: ALIGNADDRESS alignaddr %r17, %r13, %r18
13334 .word 0x8d802004 ! 63: WRFPRS_I wr %r0, 0x0004, %fprs
13335br_longdelay1_1_44:
13336 .word 0x23400001 ! 1: FBPNE fbne,a,pn %fcc0, <label_0x1>
13337 .word 0xbfefc000 ! 64: RESTORE_R restore %r31, %r0, %r31
13338 setx 0xa038a4168835bd5e, %r1, %r28
13339 stxa %r28, [%g0] 0x73
13340intvec_1_45:
13341 .word 0x39400001 ! 65: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
13342 .word 0xe53fc000 ! 66: STDF_R std %f18, [%r0, %r31]
13343 .word 0xe497c02d ! 67: LDUHA_R lduha [%r31, %r13] 0x01, %r18
13344 nop
13345 ta T_CHANGE_HPRIV
13346 mov 0x1+1, %r10
13347 set sync_thr_counter1, %r23
13348 cas [%r23],%g0,%r10 !lock
13349 brnz %r10, cwq_1_47
13350 rd %asi, %r12
13351 wr %g0, 0x40, %asi
13352 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
13353 and %l1, 0x3, %l1 ! Check if busy/enabled ..
13354 cmp %l1, 1
13355 bne cwq_1_47
13356 set CWQ_BASE, %l6
13357 best_set_reg(0x20610070, %l1, %l2) !# Control Word
13358 sllx %l2, 32, %l2
13359 stx %l2, [%l6 + 0x0]
13360 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
13361 sub %l2, 0x40, %l2
13362 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
13363 wr %r12, %g0, %asi
13364 st %g0, [%r23]
13365cwq_1_47:
13366 ta T_CHANGE_NONHPRIV
13367 .word 0xa1414000 ! 68: RDPC rd %pc, %r16
13368 .word 0xb1800011 ! 69: WR_STICK_REG_R wr %r0, %r17, %-
13369splash_hpstate_1_48:
13370 .word 0x34800001 ! 1: BG bg,a <label_0x1>
13371 .word 0x81982acf ! 70: WRHPR_HPSTATE_I wrhpr %r0, 0x0acf, %hpstate
13372intveclr_1_49:
13373 nop
13374 ta T_CHANGE_HPRIV
13375 setx 0x2422c1583dee8bf9, %r1, %r28
13376 stxa %r28, [%g0] 0x72
13377 .word 0x25400001 ! 71: FBPLG fblg,a,pn %fcc0, <label_0x1>
13378 .word 0xe03fe070 ! 72: STD_I std %r16, [%r31 + 0x0070]
13379splash_lsu_1_50:
13380 nop
13381 ta T_CHANGE_HPRIV
13382 set 0x691d429c, %r2
13383 mov 0x4, %r1
13384 sllx %r1, 32, %r1
13385 or %r1, %r2, %r2
13386 stxa %r2, [%r0] ASI_LSU_CONTROL
13387 .word 0x3d400001 ! 73: FBPULE fbule,a,pn %fcc0, <label_0x1>
13388 .word 0xe137e0e0 ! 74: STQF_I - %f16, [0x00e0, %r31]
13389 .word 0xe1bfe0e0 ! 75: STDFA_I stda %f16, [0x00e0, %r31]
13390 .word 0xe057e010 ! 76: LDSH_I ldsh [%r31 + 0x0010], %r16
13391splash_cmpr_1_51:
13392 nop
13393 setx 0x51429bec4fe14ed5, %l2, %l1
13394 ta T_CHANGE_PRIV
13395 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
13396 ta T_CHANGE_NONPRIV
13397 sub %l1, 40, %g1
13398 .word 0x89900011 ! 77: WRPR_TICK_R wrpr %r0, %r17, %tick
13399splash_lsu_1_52:
13400 nop
13401 ta T_CHANGE_HPRIV
13402 set 0x18042dfa, %r2
13403 mov 0x6, %r1
13404 sllx %r1, 32, %r1
13405 or %r1, %r2, %r2
13406 stxa %r2, [%r0] ASI_LSU_CONTROL
13407 ta T_CHANGE_NONHPRIV
13408 .word 0x3d400001 ! 78: FBPULE fbule,a,pn %fcc0, <label_0x1>
13409br_badelay2_1_53:
13410 .word 0x20800001 ! 1: BN bn,a <label_0x1>
13411 pdist %f12, %f16, %f16
13412 .word 0x99b08303 ! 79: ALIGNADDRESS alignaddr %r2, %r3, %r12
13413 .word 0xc1bfe020 ! 80: STDFA_I stda %f0, [0x0020, %r31]
13414splash_cmpr_1_54:
13415 nop
13416 setx 0x5a8c62409879eb36, %l2, %l1
13417 ta T_CHANGE_HPRIV
13418 wrhpr %l1, %g0, %hsys_tick_cmpr
13419 sub %l1, 40, %g1
13420 .word 0x89900011 ! 81: WRPR_TICK_R wrpr %r0, %r17, %tick
13421 .word 0x9ba00162 ! 82: FABSq dis not found
13422
13423 .word 0xda9fc022 ! 83: LDDA_R ldda [%r31, %r2] 0x01, %r13
13424 .word 0xda97c022 ! 84: LDUHA_R lduha [%r31, %r2] 0x01, %r13
13425invtsb_1_57:
13426 nop
13427 ta T_CHANGE_HPRIV
13428 rd %asi, %r21
13429 wr %r0,ASI_MMU_REAL_RANGE, %asi
13430 mov 1, %r20
13431 sllx %r20, 63, %r20
13432 ldxa [ASI_MMU_REAL_RANGE_0] %asi, %r22
13433 xor %r22 ,%r20, %r22
13434 stxa %r22, [ASI_MMU_REAL_RANGE_0] %asi
13435 ldxa [ASI_MMU_REAL_RANGE_1] %asi, %r22
13436 xor %r22 ,%r20, %r22
13437 stxa %r22, [ASI_MMU_REAL_RANGE_1] %asi
13438 ldxa [ASI_MMU_REAL_RANGE_2] %asi, %r22
13439 xor %r22 ,%r20, %r22
13440 stxa %r22, [ASI_MMU_REAL_RANGE_2] %asi
13441 ldxa [ASI_MMU_REAL_RANGE_3] %asi, %r22
13442 xor %r22 ,%r20, %r22
13443 stxa %r22, [ASI_MMU_REAL_RANGE_3] %asi
13444 wr %r21, %r0, %asi
13445 ta T_CHANGE_NONHPRIV
13446 .word 0x29800001 ! 85: FBL fbl,a <label_0x1>
13447memptr_1_58:
13448 set 0x60140000, %r31
13449 .word 0x8584ad09 ! 86: WRCCR_I wr %r18, 0x0d09, %ccr
13450 .word 0x91932ed5 ! 87: WRPR_PIL_I wrpr %r12, 0x0ed5, %pil
13451 .word 0x83d02032 ! 88: Tcc_I te icc_or_xcc, %r0 + 50
13452splash_tba_1_59:
13453 ta T_CHANGE_PRIV
13454 setx 0x0000000000380000, %r11, %r12
13455 .word 0x8b90000c ! 89: WRPR_TBA_R wrpr %r0, %r12, %tba
13456 .word 0xe1bfe040 ! 90: STDFA_I stda %f16, [0x0040, %r31]
13457 .word 0x9f80334b ! 91: SIR sir 0x134b
13458 .word 0xda6fe074 ! 92: LDSTUB_I ldstub %r13, [%r31 + 0x0074]
13459 .word 0xda47e030 ! 93: LDSW_I ldsw [%r31 + 0x0030], %r13
13460br_longdelay1_1_60:
13461 .word 0x26cc0001 ! 1: BRLZ brlz,a,pt %r16,<label_0xc0001>
13462 .word 0xbfe7c000 ! 94: SAVE_R save %r31, %r0, %r31
13463 .word 0xc30fc000 ! 95: LDXFSR_R ld-fsr [%r31, %r0], %f1
13464jmptr_1_62:
13465 nop
13466 best_set_reg(0xe0200000, %r20, %r27)
13467 .word 0xb7c6c000 ! 96: JMPL_R jmpl %r27 + %r0, %r27
13468br_badelay2_1_63:
13469 .word 0x22800001 ! 1: BE be,a <label_0x1>
13470 allclean
13471 .word 0x9bb18311 ! 97: ALIGNADDRESS alignaddr %r6, %r17, %r13
13472mondo_1_64:
13473 nop
13474 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
13475 ta T_CHANGE_PRIV
13476 stxa %r16, [%r0+0x3c8] %asi
13477 .word 0x9d934009 ! 98: WRPR_WSTATE_R wrpr %r13, %r9, %wstate
13478 .word 0xe1bfdf20 ! 99: STDFA_R stda %f16, [%r0, %r31]
13479 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
13480reduce_priv_lvl_1_65:
13481 ta T_CHANGE_NONHPRIV ! macro
13482intveclr_1_66:
13483 nop
13484 ta T_CHANGE_HPRIV
13485 setx 0x7aa69c4d8961591d, %r1, %r28
13486 stxa %r28, [%g0] 0x72
13487 .word 0x25400001 ! 101: FBPLG fblg,a,pn %fcc0, <label_0x1>
13488dvapa_1_67:
13489 nop
13490 ta T_CHANGE_HPRIV
13491 mov 0xdde, %r20
13492 mov 0x1c, %r19
13493 sllx %r20, 23, %r20
13494 or %r19, %r20, %r19
13495 stxa %r19, [%g0] ASI_LSU_CONTROL
13496 mov 0x38, %r18
13497 stxa %r31, [%r18]0x58
13498 ta T_CHANGE_NONHPRIV
13499 .word 0xda3ff34b ! 102: STD_I std %r13, [%r31 + 0xfffff34b]
13500trapasi_1_68:
13501mov 0x30, %r1 ! (VA for ASI 0x5b)
13502 .word 0xdad84980 ! 103: LDXA_R ldxa [%r1, %r0] 0x4c, %r13
13503 .word 0xc19fc2c0 ! 104: LDDFA_R ldda [%r31, %r0], %f0
13504brcommon_1_69:
13505 ba,a .+12
13506 mov %r31, %r15
13507 ba,a .+8
13508 call common_target
13509 .word 0xda97c029 ! 105: LDUHA_R lduha [%r31, %r9] 0x01, %r13
13510mondo_1_70:
13511 nop
13512 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
13513 ta T_CHANGE_PRIV
13514 stxa %r2, [%r0+0x3e8] %asi
13515 .word 0x9d950010 ! 106: WRPR_WSTATE_R wrpr %r20, %r16, %wstate
13516 nop
13517 ta T_CHANGE_HPRIV
13518 mov 0x1, %r10
13519 set sync_thr_counter2, %r23
13520 cas [%r23],%g0,%r10 !lock
13521 brnz %r10, sma_1_71
13522 rd %asi, %r12
13523 wr %g0, 0x40, %asi
13524 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
13525 set 0x001e1fff, %g1
13526 stxa %g1, [%g0 + 0x80] %asi
13527 wr %r12, %g0, %asi
13528 st %g0, [%r23]
13529sma_1_71:
13530 ta T_CHANGE_NONHPRIV
13531 .word 0xdbe7e010 ! 107: CASA_R casa [%r31] %asi, %r16, %r13
13532 .word 0xdb27e09c ! 108: STF_I st %f13, [0x009c, %r31]
13533 .word 0xdadfc030 ! 109: LDXA_R ldxa [%r31, %r16] 0x01, %r13
13534 .word 0x93a449a1 ! 110: FDIVs fdivs %f17, %f1, %f9
13535change_to_randtl_1_73:
13536 ta T_CHANGE_HPRIV ! macro
13537done_change_to_randtl_1_73:
13538 .word 0x8f902001 ! 111: WRPR_TL_I wrpr %r0, 0x0001, %tl
13539 .word 0xd20fe010 ! 112: LDUB_I ldub [%r31 + 0x0010], %r9
13540splash_lsu_1_74:
13541 nop
13542 ta T_CHANGE_HPRIV
13543 set 0x3d8f931e, %r2
13544 mov 0x5, %r1
13545 sllx %r1, 32, %r1
13546 or %r1, %r2, %r2
13547 stxa %r2, [%r0] ASI_LSU_CONTROL
13548 .word 0x3d400001 ! 113: FBPULE fbule,a,pn %fcc0, <label_0x1>
13549br_longdelay2_1_75:
13550 .word 0x34800001 ! 1: BG bg,a <label_0x1>
13551 .word 0x39400001 ! 114: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
13552 .word 0xb1800011 ! 115: WR_STICK_REG_R wr %r0, %r17, %-
13553ibp_1_76:
13554 nop
13555 ta T_CHANGE_HPRIV
13556 .word 0xe11fc001 ! 116: LDDF_R ldd [%r31, %r1], %f16
13557change_to_randtl_1_77:
13558 ta T_CHANGE_HPRIV ! macro
13559done_change_to_randtl_1_77:
13560 .word 0x8f902000 ! 117: WRPR_TL_I wrpr %r0, 0x0000, %tl
13561!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_1_78) + 0, 16, 16)) -> intp(3,0,10)
13562!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_1_78)&0xffffffff) + 0, 16, 16)) -> intp(3,0,10)
13563intvec_1_78:
13564 .word 0x39400001 ! 118: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
13565cmp_1_79:
13566 nop
13567 ta T_CHANGE_HPRIV
13568 rd %asi, %r12
13569 wr %r0, 0x41, %asi
13570 set sync_thr_counter, %r23
13571 mov 0x1, %r10
13572cmp_startwait1_79:
13573 cas [%r23],%g0,%r10 !lock
13574 brz,a %r10, continue_cmp_1_79
13575 ldxa [0x50]%asi, %r13 !Running_rw
13576 ld [%r23], %r10
13577cmp_wait1_79:
13578 brnz,a %r10, cmp_wait1_79
13579 ld [%r23], %r10
13580 ba,a cmp_startwait1_79
13581 mov 0x1, %r10
13582continue_cmp_1_79:
13583 ldxa [0x58]%asi, %r14 !Running_status
13584 xnor %r14, %r13, %r14 !Bits equal
13585 ldxa [0x10]%asi, %r13 !Get enabled threads
13586 andn %r13, 0xff, %r16
13587 brz,a %r16, cmp_multi_core_1_79
13588 mov 0x6a, %r17
13589 best_set_reg(0x498bbbd25b52189b, %r16, %r17)
13590cmp_multi_core_1_79:
13591 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
13592 and %r14, %r13, %r14 !Apply core-enabled mask
13593 andn %r14, 0x1, %r14 !Leave master thread
13594 stxa %r14, [0x68]%asi
13595 st %g0, [%r23] !clear lock
13596 wr %g0, %r12, %asi
13597 ta T_CHANGE_NONHPRIV
13598 .word 0x9190c012 ! 119: WRPR_PIL_R wrpr %r3, %r18, %pil
13599 .word 0x99b2c491 ! 120: FCMPLE32 fcmple32 %d42, %d48, %r12
13600 .word 0xe1bfe080 ! 121: STDFA_I stda %f16, [0x0080, %r31]
13601 nop
13602 ta T_CHANGE_HPRIV
13603 mov 0x1, %r10
13604 set sync_thr_counter2, %r23
13605 cas [%r23],%g0,%r10 !lock
13606 brnz %r10, sma_1_80
13607 rd %asi, %r12
13608 wr %g0, 0x40, %asi
13609 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
13610 set 0x00021fff, %g1
13611 stxa %g1, [%g0 + 0x80] %asi
13612 wr %r12, %g0, %asi
13613 st %g0, [%r23]
13614sma_1_80:
13615 ta T_CHANGE_NONHPRIV
13616 .word 0xd9e7e011 ! 122: CASA_R casa [%r31] %asi, %r17, %r12
13617 .word 0xd88fe008 ! 123: LDUBA_I lduba [%r31, + 0x0008] %asi, %r12
13618 nop
13619 ta T_CHANGE_HPRIV
13620 mov 0x1+1, %r10
13621 set sync_thr_counter1, %r23
13622 cas [%r23],%g0,%r10 !lock
13623 brnz %r10, cwq_1_81
13624 rd %asi, %r12
13625 wr %g0, 0x40, %asi
13626 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
13627 and %l1, 0x3, %l1 ! Check if busy/enabled ..
13628 cmp %l1, 1
13629 bne cwq_1_81
13630 set CWQ_BASE, %l6
13631 best_set_reg(0x20610080, %l1, %l2) !# Control Word
13632 sllx %l2, 32, %l2
13633 stx %l2, [%l6 + 0x0]
13634 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
13635 sub %l2, 0x40, %l2
13636 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
13637 wr %r12, %g0, %asi
13638 st %g0, [%r23]
13639cwq_1_81:
13640 ta T_CHANGE_NONHPRIV
13641 .word 0xa7414000 ! 124: RDPC rd %pc, %r19
13642fpinit_1_82:
13643 setx fp_data_quads, %r19, %r20
13644 ldd [%r20], %f0
13645 ldd [%r20+8], %f4
13646 ld [%r20+16], %fsr
13647 ld [%r20+24], %r19
13648 wr %r19, %g0, %gsr
13649 .word 0x91a009c4 ! 125: FDIVd fdivd %f0, %f4, %f8
13650 .word 0xb1800011 ! 126: WR_STICK_REG_R wr %r0, %r17, %-
13651 .word 0xe63fe970 ! 127: STD_I std %r19, [%r31 + 0x0970]
13652 .word 0xe737e044 ! 128: STQF_I - %f19, [0x0044, %r31]
13653 .word 0x38800001 ! 1: BGU bgu,a <label_0x1>
13654 .word 0x8d90201c ! 129: WRPR_PSTATE_I wrpr %r0, 0x001c, %pstate
13655trapasi_1_85:
13656mov 0x18, %r1 ! (VA for ASI 0x4c)
13657 .word 0xe6904b40 ! 130: LDUHA_R lduha [%r1, %r0] 0x5a, %r19
13658!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_1_86) + 48, 16, 16)) -> intp(2,0,23)
13659!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_1_86)&0xffffffff) + 48, 16, 16)) -> intp(2,0,23)
13660intvec_1_86:
13661 .word 0x39400001 ! 131: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
13662mondo_1_87:
13663 nop
13664 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
13665 stxa %r10, [%r0+0x3d8] %asi
13666 .word 0x9d928011 ! 132: WRPR_WSTATE_R wrpr %r10, %r17, %wstate
13667splash_hpstate_1_88:
13668 .word 0x8198264c ! 133: WRHPR_HPSTATE_I wrhpr %r0, 0x064c, %hpstate
13669 .word 0xe19fe0c0 ! 134: LDDFA_I ldda [%r31, 0x00c0], %f16
13670 .word 0x87a8ca48 ! 135: FCMPd fcmpd %fcc<n>, %f34, %f8
13671 .word 0x87a84a53 ! 136: FCMPd fcmpd %fcc<n>, %f32, %f50
13672 invalw
13673 mov 0xb1, %r30
13674 .word 0x91d0001e ! 137: Tcc_R ta icc_or_xcc, %r0 + %r30
13675br_longdelay3_1_90:
13676 nop
13677 not %g0, %r12
13678 jmp %r12
13679 .word 0x99902002 ! 138: WRPR_CLEANWIN_I wrpr %r0, 0x0002, %cleanwin
13680fpinit_1_91:
13681 setx fp_data_quads, %r19, %r20
13682 ldd [%r20], %f0
13683 ldd [%r20+8], %f4
13684 ld [%r20+16], %fsr
13685 ld [%r20+24], %r19
13686 wr %r19, %g0, %gsr
13687 .word 0x87a80a44 ! 139: FCMPd fcmpd %fcc<n>, %f0, %f4
13688 .word 0x93a409b1 ! 140: FDIVs fdivs %f16, %f17, %f9
13689 ta T_CHANGE_NONPRIV ! macro
13690 .word 0x26800001 ! 1: BL bl,a <label_0x1>
13691 .word 0x8d902635 ! 142: WRPR_PSTATE_I wrpr %r0, 0x0635, %pstate
13692tglhtw_1_93:
13693 nop
13694 rd %asi, %l3 ! save %asi
13695 ta T_CHANGE_HPRIV
13696 wr %g0, ASI_MMU_ZERO_CONTEXT_TSB_CONFIG, %asi
13697 mov 1, %l2
13698 sllx %l2, 63, %l2
13699 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
13700 xor %l4, %l2, %l4
13701 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi
13702 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
13703 xor %l4, %l2, %l4
13704 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi
13705 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
13706 xor %l4, %l2, %l4
13707 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi
13708 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
13709 xor %l4, %l2, %l4
13710 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi
13711 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
13712 xor %l4, %l2, %l4
13713 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi
13714 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
13715 xor %l4, %l2, %l4
13716 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi
13717 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
13718 xor %l4, %l2, %l4
13719 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi
13720 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
13721 xor %l4, %l2, %l4
13722 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi
13723 ta T_CHANGE_NONHPRIV
13724 wr %g0, %l3, %asi !restore %asi
13725 .word 0x97b40992 ! 143: BSHUFFLE fmovc32 %d16, %d18, %d42
13726trapasi_1_94:
13727mov 0x28, %r1 ! (VA for ASI 0x5a)
13728 .word 0xd6904980 ! 144: LDUHA_R lduha [%r1, %r0] 0x4c, %r11
13729 .word 0x97a0016c ! 145: FABSq dis not found
13730
13731br_longdelay1_1_95:
13732 .word 0x2ccc8001 ! 1: BRGZ brgz,a,pt %r18,<label_0xc8001>
13733 .word 0xbfe7c000 ! 146: SAVE_R save %r31, %r0, %r31
13734 .word 0xd6bfe0a8 ! 147: STDA_I stda %r11, [%r31 + 0x00a8] %asi
13735 invalw
13736 mov 0xb4, %r30
13737 .word 0x83d0001e ! 148: Tcc_R te icc_or_xcc, %r0 + %r30
13738br_longdelay1_1_96:
13739 .word 0x23400001 ! 1: FBPNE fbne,a,pn %fcc0, <label_0x1>
13740 .word 0xbfe7c000 ! 149: SAVE_R save %r31, %r0, %r31
13741 .word 0x83d02034 ! 150: Tcc_I te icc_or_xcc, %r0 + 52
13742jmptr_1_97:
13743 nop
13744 best_set_reg(0xe1200000, %r20, %r27)
13745 .word 0xb7c6c000 ! 151: JMPL_R jmpl %r27 + %r0, %r27
13746pmu_1_98:
13747 nop
13748 setx 0xfffff98cfffffbee, %g1, %g7
13749 .word 0xa3800007 ! 152: WR_PERF_COUNTER_R wr %r0, %r7, %-
13750jmptr_1_99:
13751 nop
13752 best_set_reg(0xe1200000, %r20, %r27)
13753 .word 0xb7c6c000 ! 153: JMPL_R jmpl %r27 + %r0, %r27
13754mondo_1_100:
13755 nop
13756 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
13757 ta T_CHANGE_PRIV
13758 stxa %r4, [%r0+0x3c0] %asi
13759 .word 0x9d94400a ! 154: WRPR_WSTATE_R wrpr %r17, %r10, %wstate
13760 ta T_CHANGE_NONPRIV ! macro
13761 .word 0x81460000 ! 156: RD_STICK_REG stbar
13762splash_cmpr_1_101:
13763 nop
13764 setx 0xf3254b9fcb6cb179, %l2, %l1
13765 ta T_CHANGE_PRIV
13766 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
13767 ta T_CHANGE_NONPRIV
13768 sub %l1, 40, %g1
13769 .word 0x89900011 ! 157: WRPR_TICK_R wrpr %r0, %r17, %tick
13770 .word 0x9f803c99 ! 158: SIR sir 0x1c99
13771brcommon_1_102:
13772 ba,a .+12
13773 mov %r31, %r15
13774 ba,a .+8
13775 call common_target
13776 .word 0xd73fc00a ! 159: STDF_R std %f11, [%r10, %r31]
13777pmu_1_103:
13778 nop
13779 setx 0xfffff815fffff5e5, %g1, %g7
13780 .word 0xa3800007 ! 160: WR_PERF_COUNTER_R wr %r0, %r7, %-
13781 .word 0xe19fc2c0 ! 161: LDDFA_R ldda [%r31, %r0], %f16
13782!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_1_104) + 8, 16, 16)) -> intp(1,0,23)
13783!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_1_104)&0xffffffff) + 8, 16, 16)) -> intp(1,0,23)
13784intvec_1_104:
13785 .word 0x39400001 ! 162: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
13786 .word 0x93a2c9d4 ! 163: FDIVd fdivd %f42, %f20, %f40
13787 .word 0x8d903ea4 ! 164: WRPR_PSTATE_I wrpr %r0, 0x1ea4, %pstate
13788jmptr_1_106:
13789 nop
13790 best_set_reg(0xe1200000, %r20, %r27)
13791 .word 0xb7c6c000 ! 165: JMPL_R jmpl %r27 + %r0, %r27
13792dvapa_1_107:
13793 nop
13794 ta T_CHANGE_HPRIV
13795 mov 0xfda, %r20
13796 mov 0x3, %r19
13797 sllx %r20, 23, %r20
13798 or %r19, %r20, %r19
13799 stxa %r19, [%g0] ASI_LSU_CONTROL
13800 mov 0x38, %r18
13801 stxa %r31, [%r18]0x58
13802 ta T_CHANGE_NONHPRIV
13803 .word 0xd2dfc034 ! 166: LDXA_R ldxa [%r31, %r20] 0x01, %r9
13804 nop
13805 ta T_CHANGE_HPRIV
13806 mov 0x1, %r10
13807 set sync_thr_counter2, %r23
13808 cas [%r23],%g0,%r10 !lock
13809 brnz %r10, sma_1_108
13810 rd %asi, %r12
13811 wr %g0, 0x40, %asi
13812 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
13813 set 0x00161fff, %g1
13814 stxa %g1, [%g0 + 0x80] %asi
13815 wr %r12, %g0, %asi
13816 st %g0, [%r23]
13817sma_1_108:
13818 ta T_CHANGE_NONHPRIV
13819 .word 0xd3e7e014 ! 167: CASA_R casa [%r31] %asi, %r20, %r9
13820 .word 0xa9a4c9c8 ! 168: FDIVd fdivd %f50, %f8, %f20
13821 .word 0xa1a1c9c3 ! 169: FDIVd fdivd %f38, %f34, %f16
13822dvapa_1_109:
13823 nop
13824 ta T_CHANGE_HPRIV
13825 mov 0xd65, %r20
13826 mov 0x17, %r19
13827 sllx %r20, 23, %r20
13828 or %r19, %r20, %r19
13829 stxa %r19, [%g0] ASI_LSU_CONTROL
13830 mov 0x38, %r18
13831 stxa %r31, [%r18]0x58
13832 ta T_CHANGE_NONHPRIV
13833 .word 0xe03fe3c9 ! 170: STD_I std %r16, [%r31 + 0x03c9]
13834mondo_1_110:
13835 nop
13836 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
13837 stxa %r16, [%r0+0x3e0] %asi
13838 .word 0x9d948006 ! 171: WRPR_WSTATE_R wrpr %r18, %r6, %wstate
13839 .word 0xe05fe038 ! 172: LDX_I ldx [%r31 + 0x0038], %r16
13840 .word 0xab834008 ! 173: WR_CLEAR_SOFTINT_R wr %r13, %r8, %clear_softint
13841intveclr_1_111:
13842 nop
13843 ta T_CHANGE_HPRIV
13844 setx 0xdaa4bd362edae948, %r1, %r28
13845 stxa %r28, [%g0] 0x72
13846 .word 0x25400001 ! 174: FBPLG fblg,a,pn %fcc0, <label_0x1>
13847 .word 0x99a00161 ! 175: FABSq dis not found
13848
13849 .word 0xb1800011 ! 176: WR_STICK_REG_R wr %r0, %r17, %-
13850 .word 0xc19fdb60 ! 177: LDDFA_R ldda [%r31, %r0], %f0
13851 .word 0xb1800011 ! 178: WR_STICK_REG_R wr %r0, %r17, %-
13852 .word 0x91703dd2 ! 179: POPC_I popc 0x1dd2, %r8
13853 .word 0x91d020b2 ! 180: Tcc_I ta icc_or_xcc, %r0 + 178
13854 nop
13855 ta T_CHANGE_HPRIV
13856 mov 0x1, %r10
13857 set sync_thr_counter2, %r23
13858 cas [%r23],%g0,%r10 !lock
13859 brnz %r10, sma_1_112
13860 rd %asi, %r12
13861 wr %g0, 0x40, %asi
13862 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
13863 set 0x000a1fff, %g1
13864 stxa %g1, [%g0 + 0x80] %asi
13865 wr %r12, %g0, %asi
13866 st %g0, [%r23]
13867sma_1_112:
13868 ta T_CHANGE_NONHPRIV
13869 .word 0xd1e7e00d ! 181: CASA_R casa [%r31] %asi, %r13, %r8
13870 .word 0x2a700001 ! 182: BPCS <illegal instruction>
13871 .word 0x8d9033a3 ! 183: WRPR_PSTATE_I wrpr %r0, 0x13a3, %pstate
13872cmp_1_114:
13873 nop
13874 ta T_CHANGE_HPRIV
13875 rd %asi, %r12
13876 wr %r0, 0x41, %asi
13877 set sync_thr_counter, %r23
13878 mov 0x1, %r10
13879cmp_startwait1_114:
13880 cas [%r23],%g0,%r10 !lock
13881 brz,a %r10, continue_cmp_1_114
13882 ldxa [0x50]%asi, %r13 !Running_rw
13883 ld [%r23], %r10
13884cmp_wait1_114:
13885 brnz,a %r10, cmp_wait1_114
13886 ld [%r23], %r10
13887 ba,a cmp_startwait1_114
13888 mov 0x1, %r10
13889continue_cmp_1_114:
13890 ldxa [0x58]%asi, %r14 !Running_status
13891 xnor %r14, %r13, %r14 !Bits equal
13892 ldxa [0x10]%asi, %r13 !Get enabled threads
13893 andn %r13, 0xff, %r16
13894 brz,a %r16, cmp_multi_core_1_114
13895 mov 56, %r17
13896 best_set_reg(0x7fe3720e53aef871, %r16, %r17)
13897cmp_multi_core_1_114:
13898 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
13899 and %r14, %r13, %r14 !Apply core-enabled mask
13900 andn %r14, 0x1, %r14 !Leave master thread
13901 stxa %r14, [0x60]%asi
13902 st %g0, [%r23] !clear lock
13903 wr %g0, %r12, %asi
13904 ta T_CHANGE_NONHPRIV
13905 .word 0x91904012 ! 184: WRPR_PIL_R wrpr %r1, %r18, %pil
13906donret_1_115:
13907 nop
13908 ta T_CHANGE_HPRIV ! macro
13909 rd %pc, %r12
13910 add %r12, (donretarg_1_115-donret_1_115-4), %r12
13911 add %r12, 0x4, %r11
13912 wrpr %g0, 0x2, %tl
13913 wrpr %g0, %r12, %tpc
13914 wrpr %g0, %r11, %tnpc
13915 set (0x00415be4 | (28 << 24)), %r13
13916 rdpr %tstate, %r16
13917 mov 0x1f, %r19
13918 and %r19, %r16, %r17
13919 andn %r16, %r19, %r16
13920 or %r16, %r17, %r20
13921 wrpr %r20, %g0, %tstate
13922 wrhpr %g0, 0x39f, %htstate
13923 ta T_CHANGE_NONHPRIV ! rand=1 (1)
13924 done
13925donretarg_1_115:
13926 .word 0xd0ffe04d ! 185: SWAPA_I swapa %r8, [%r31 + 0x004d] %asi
13927 .word 0xe1bfc3e0 ! 186: STDFA_R stda %f16, [%r0, %r31]
13928splash_cmpr_1_116:
13929 nop
13930 setx 0x15b99b939b353800, %l2, %l1
13931 ta T_CHANGE_HPRIV
13932 wrhpr %l1, %g0, %hsys_tick_cmpr
13933 ta T_CHANGE_NONHPRIV
13934 sub %l1, 40, %g1
13935 .word 0x89900011 ! 187: WRPR_TICK_R wrpr %r0, %r17, %tick
13936trapasi_1_117:
13937mov 0x10, %r1 ! (VA for ASI 0x4c)
13938 .word 0xd09044a0 ! 188: LDUHA_R lduha [%r1, %r0] 0x25, %r8
13939 nop
13940 ta T_CHANGE_HPRIV
13941 mov 0x1+1, %r10
13942 set sync_thr_counter1, %r23
13943 cas [%r23],%g0,%r10 !lock
13944 brnz %r10, cwq_1_118
13945 rd %asi, %r12
13946 wr %g0, 0x40, %asi
13947 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
13948 and %l1, 0x3, %l1 ! Check if busy/enabled ..
13949 cmp %l1, 1
13950 bne cwq_1_118
13951 set CWQ_BASE, %l6
13952 best_set_reg(0x20610050, %l1, %l2) !# Control Word
13953 sllx %l2, 32, %l2
13954 stx %l2, [%l6 + 0x0]
13955 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
13956 sub %l2, 0x40, %l2
13957 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
13958 wr %r12, %g0, %asi
13959 st %g0, [%r23]
13960cwq_1_118:
13961 ta T_CHANGE_NONHPRIV
13962 .word 0xa9414000 ! 189: RDPC rd %pc, %r20
13963 .word 0xe827e070 ! 190: STW_I stw %r20, [%r31 + 0x0070]
13964 set 0x2679, %l3
13965 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
13966 .word 0xa5b207c5 ! 191: PDIST pdistn %d8, %d36, %d18
13967 .word 0xa9450000 ! 192: RD_SET_SOFTINT rd %set_softint, %r20
13968 .word 0xe1bfda00 ! 193: STDFA_R stda %f16, [%r0, %r31]
13969 .word 0xe81fc000 ! 194: LDD_R ldd [%r31 + %r0], %r20
13970 .word 0xe857e030 ! 195: LDSH_I ldsh [%r31 + 0x0030], %r20
13971 .word 0xc3ec802a ! 196: PREFETCHA_R prefetcha [%r18, %r10] 0x01, #one_read
13972 .word 0xc1bfc3e0 ! 197: STDFA_R stda %f0, [%r0, %r31]
13973 .word 0x95b0448a ! 198: FCMPLE32 fcmple32 %d32, %d10, %r10
13974 .word 0xb1800011 ! 199: WR_STICK_REG_R wr %r0, %r17, %-
13975 .word 0x9f803e6a ! 200: SIR sir 0x1e6a
13976jmptr_1_119:
13977 nop
13978 best_set_reg(0xe1200000, %r20, %r27)
13979 .word 0xb7c6c000 ! 201: JMPL_R jmpl %r27 + %r0, %r27
13980br_longdelay3_1_120:
13981 nop
13982 not %g0, %r12
13983 jmp %r12
13984 .word 0x99902000 ! 202: WRPR_CLEANWIN_I wrpr %r0, 0x0000, %cleanwin
13985 .word 0xc1bfd960 ! 203: STDFA_R stda %f0, [%r0, %r31]
13986 .word 0xd437e037 ! 204: STH_I sth %r10, [%r31 + 0x0037]
13987splash_tba_1_121:
13988 ta T_CHANGE_PRIV
13989 setx 0x0000000000380000, %r11, %r12
13990 .word 0x8b90000c ! 205: WRPR_TBA_R wrpr %r0, %r12, %tba
13991tagged_1_122:
13992 tsubcctv %r2, 0x1804, %r19
13993 .word 0xd407e044 ! 206: LDUW_I lduw [%r31 + 0x0044], %r10
13994 .word 0x9f803e9c ! 207: SIR sir 0x1e9c
13995 nop
13996 ta T_CHANGE_HPRIV
13997 mov 0x1, %r10
13998 set sync_thr_counter2, %r23
13999 cas [%r23],%g0,%r10 !lock
14000 brnz %r10, sma_1_123
14001 rd %asi, %r12
14002 wr %g0, 0x40, %asi
14003 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
14004 set 0x00021fff, %g1
14005 stxa %g1, [%g0 + 0x80] %asi
14006 wr %r12, %g0, %asi
14007 st %g0, [%r23]
14008sma_1_123:
14009 ta T_CHANGE_NONHPRIV
14010 .word 0xd5e7e00a ! 208: CASA_R casa [%r31] %asi, %r10, %r10
14011jmptr_1_124:
14012 nop
14013 best_set_reg(0xe1200000, %r20, %r27)
14014 .word 0xb7c6c000 ! 209: JMPL_R jmpl %r27 + %r0, %r27
14015 .word 0xa150c000 ! 210: RDPR_TT <illegal instruction>
14016 .word 0xe137c000 ! 211: STQF_R - %f16, [%r0, %r31]
14017intveclr_1_125:
14018 nop
14019 ta T_CHANGE_HPRIV
14020 setx 0x53a4920e2d9f9c79, %r1, %r28
14021 stxa %r28, [%g0] 0x72
14022 ta T_CHANGE_NONHPRIV
14023 .word 0x25400001 ! 212: FBPLG fblg,a,pn %fcc0, <label_0x1>
14024intveclr_1_126:
14025 nop
14026 ta T_CHANGE_HPRIV
14027 setx 0x838ce294a3082ef5, %r1, %r28
14028 stxa %r28, [%g0] 0x72
14029 .word 0x25400001 ! 213: FBPLG fblg,a,pn %fcc0, <label_0x1>
14030 .word 0x32700001 ! 214: BPNE <illegal instruction>
14031 nop
14032 mov 0x80, %g3
14033 stxa %g3, [%g3] 0x5f
14034 .word 0xe05fc000 ! 215: LDX_R ldx [%r31 + %r0], %r16
14035br_longdelay3_1_127:
14036 nop
14037 not %g0, %r12
14038 jmp %r12
14039 .word 0x99902002 ! 216: WRPR_CLEANWIN_I wrpr %r0, 0x0002, %cleanwin
14040splash_lsu_1_128:
14041 nop
14042 ta T_CHANGE_HPRIV
14043 set 0x5fe9243a, %r2
14044 mov 0x2, %r1
14045 sllx %r1, 32, %r1
14046 or %r1, %r2, %r2
14047 stxa %r2, [%r0] ASI_LSU_CONTROL
14048 .word 0x3d400001 ! 217: FBPULE fbule,a,pn %fcc0, <label_0x1>
14049 nop
14050 ta T_CHANGE_HPRIV
14051 mov 0x1, %r10
14052 set sync_thr_counter2, %r23
14053 cas [%r23],%g0,%r10 !lock
14054 brnz %r10, sma_1_129
14055 rd %asi, %r12
14056 wr %g0, 0x40, %asi
14057 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
14058 set 0x001a1fff, %g1
14059 stxa %g1, [%g0 + 0x80] %asi
14060 wr %r12, %g0, %asi
14061 st %g0, [%r23]
14062sma_1_129:
14063 ta T_CHANGE_NONHPRIV
14064 .word 0xe1e7e00a ! 218: CASA_R casa [%r31] %asi, %r10, %r16
14065pmu_1_130:
14066 nop
14067 ta T_CHANGE_PRIV
14068 setx 0xfffffbedfffff72a, %g1, %g7
14069 .word 0xa3800007 ! 219: WR_PERF_COUNTER_R wr %r0, %r7, %-
14070cmp_1_131:
14071 nop
14072 ta T_CHANGE_HPRIV
14073 rd %asi, %r12
14074 wr %r0, 0x41, %asi
14075 set sync_thr_counter, %r23
14076 mov 0x1, %r10
14077cmp_startwait1_131:
14078 cas [%r23],%g0,%r10 !lock
14079 brz,a %r10, continue_cmp_1_131
14080 ldxa [0x50]%asi, %r13 !Running_rw
14081 ld [%r23], %r10
14082cmp_wait1_131:
14083 brnz,a %r10, cmp_wait1_131
14084 ld [%r23], %r10
14085 ba,a cmp_startwait1_131
14086 mov 0x1, %r10
14087continue_cmp_1_131:
14088 ldxa [0x58]%asi, %r14 !Running_status
14089 xnor %r14, %r13, %r14 !Bits equal
14090 ldxa [0x10]%asi, %r13 !Get enabled threads
14091 andn %r13, 0xff, %r16
14092 brz,a %r16, cmp_multi_core_1_131
14093 mov 0xce, %r17
14094 best_set_reg(0x5e05e59f07bf71da, %r16, %r17)
14095cmp_multi_core_1_131:
14096 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
14097 and %r14, %r13, %r14 !Apply core-enabled mask
14098 andn %r14, 0x1, %r14 !Leave master thread
14099 stxa %r14, [0x68]%asi
14100 st %g0, [%r23] !clear lock
14101 wr %g0, %r12, %asi
14102 ta T_CHANGE_NONHPRIV
14103 .word 0x9195000c ! 220: WRPR_PIL_R wrpr %r20, %r12, %pil
14104 invalw
14105 mov 0xb2, %r30
14106 .word 0x83d0001e ! 221: Tcc_R te icc_or_xcc, %r0 + %r30
14107 .word 0x9b70281d ! 222: POPC_I popc 0x081d, %r13
14108intveclr_1_132:
14109 nop
14110 ta T_CHANGE_HPRIV
14111 setx 0x7540d9d2c84f2f99, %r1, %r28
14112 stxa %r28, [%g0] 0x72
14113 ta T_CHANGE_NONHPRIV
14114 .word 0x25400001 ! 223: FBPLG fblg,a,pn %fcc0, <label_0x1>
14115splash_hpstate_1_133:
14116 ta T_CHANGE_NONHPRIV
14117 .word 0x81982814 ! 224: WRHPR_HPSTATE_I wrhpr %r0, 0x0814, %hpstate
14118!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_1_134)+0, 16, 16)) -> intp(mask2tid(0x1),1,3)
14119!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_1_134)&0xffffffff) +0, 16, 16)) -> intp(mask2tid(0x1),1,3)
14120xir_1_134:
14121 .word 0xa98433c2 ! 225: WR_SET_SOFTINT_I wr %r16, 0x13c2, %set_softint
14122 .word 0xa5520000 ! 226: RDPR_PIL <illegal instruction>
14123pmu_1_135:
14124 nop
14125 ta T_CHANGE_PRIV
14126 setx 0xfffffc26fffff5ea, %g1, %g7
14127 .word 0xa3800007 ! 227: WR_PERF_COUNTER_R wr %r0, %r7, %-
14128 .word 0x9f80359f ! 228: SIR sir 0x159f
14129 .word 0xe537c000 ! 229: STQF_R - %f18, [%r0, %r31]
14130 invalw
14131 mov 0xb4, %r30
14132 .word 0x91d0001e ! 230: Tcc_R ta icc_or_xcc, %r0 + %r30
14133 .word 0x99a109d4 ! 231: FDIVd fdivd %f4, %f20, %f12
14134splash_hpstate_1_136:
14135 .word 0x39400001 ! 1: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
14136 .word 0x8198260e ! 232: WRHPR_HPSTATE_I wrhpr %r0, 0x060e, %hpstate
14137 setx 0xe54239a597d18756, %r1, %r28
14138 stxa %r28, [%g0] 0x73
14139intvec_1_137:
14140 .word 0x39400001 ! 233: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
14141 invalw
14142 mov 0x31, %r30
14143 .word 0x91d0001e ! 234: Tcc_R ta icc_or_xcc, %r0 + %r30
14144 .word 0xb1800011 ! 235: WR_STICK_REG_R wr %r0, %r17, %-
14145 .word 0xd80fe000 ! 236: LDUB_I ldub [%r31 + 0x0000], %r12
14146 nop
14147 ta T_CHANGE_HPRIV
14148 mov 0x1+1, %r10
14149 set sync_thr_counter1, %r23
14150 cas [%r23],%g0,%r10 !lock
14151 brnz %r10, cwq_1_138
14152 rd %asi, %r12
14153 wr %g0, 0x40, %asi
14154 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
14155 and %l1, 0x3, %l1 ! Check if busy/enabled ..
14156 cmp %l1, 1
14157 bne cwq_1_138
14158 set CWQ_BASE, %l6
14159 best_set_reg(0x20610060, %l1, %l2) !# Control Word
14160 sllx %l2, 32, %l2
14161 stx %l2, [%l6 + 0x0]
14162 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
14163 sub %l2, 0x40, %l2
14164 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
14165 wr %r12, %g0, %asi
14166 st %g0, [%r23]
14167cwq_1_138:
14168 ta T_CHANGE_NONHPRIV
14169 .word 0xa7414000 ! 237: RDPC rd %pc, %r19
14170 otherw
14171 mov 0x30, %r30
14172 .word 0x93d0001e ! 238: Tcc_R tne icc_or_xcc, %r0 + %r30
14173 nop
14174 ta T_CHANGE_HPRIV
14175 mov 0x1, %r10
14176 set sync_thr_counter2, %r23
14177 cas [%r23],%g0,%r10 !lock
14178 brnz %r10, sma_1_139
14179 rd %asi, %r12
14180 wr %g0, 0x40, %asi
14181 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
14182 set 0x00121fff, %g1
14183 stxa %g1, [%g0 + 0x80] %asi
14184 wr %r12, %g0, %asi
14185 st %g0, [%r23]
14186sma_1_139:
14187 ta T_CHANGE_NONHPRIV
14188 .word 0xe7e7e014 ! 239: CASA_R casa [%r31] %asi, %r20, %r19
14189 .word 0xe71fc000 ! 240: LDDF_R ldd [%r31, %r0], %f19
14190 .word 0x81460000 ! 241: RD_STICK_REG stbar
14191 nop
14192 ta T_CHANGE_HPRIV
14193 mov 0x1+1, %r10
14194 set sync_thr_counter1, %r23
14195 cas [%r23],%g0,%r10 !lock
14196 brnz %r10, cwq_1_140
14197 rd %asi, %r12
14198 wr %g0, 0x40, %asi
14199 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
14200 and %l1, 0x3, %l1 ! Check if busy/enabled ..
14201 cmp %l1, 1
14202 bne cwq_1_140
14203 set CWQ_BASE, %l6
14204 best_set_reg(0x20610000, %l1, %l2) !# Control Word
14205 sllx %l2, 32, %l2
14206 stx %l2, [%l6 + 0x0]
14207 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
14208 sub %l2, 0x40, %l2
14209 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
14210 wr %r12, %g0, %asi
14211 st %g0, [%r23]
14212cwq_1_140:
14213 ta T_CHANGE_NONHPRIV
14214 .word 0xa1414000 ! 242: RDPC rd %pc, %r16
14215 .word 0x91d02034 ! 243: Tcc_I ta icc_or_xcc, %r0 + 52
14216trapasi_1_141:
14217mov 0x3d0, %r1 ! (VA for ASI 0x25)
14218 .word 0xe0c04980 ! 244: LDSWA_R ldswa [%r1, %r0] 0x4c, %r16
14219 .word 0xa5a00174 ! 245: FABSq dis not found
14220
14221 .word 0x83d020b2 ! 246: Tcc_I te icc_or_xcc, %r0 + 178
14222 invalw
14223 mov 0x34, %r30
14224 .word 0x83d0001e ! 247: Tcc_R te icc_or_xcc, %r0 + %r30
14225splash_lsu_1_142:
14226 nop
14227 ta T_CHANGE_HPRIV
14228 set 0xa5a24c04, %r2
14229 mov 0x1, %r1
14230 sllx %r1, 32, %r1
14231 or %r1, %r2, %r2
14232 stxa %r2, [%r0] ASI_LSU_CONTROL
14233 .word 0x3d400001 ! 248: FBPULE fbule,a,pn %fcc0, <label_0x1>
14234pmu_1_143:
14235 nop
14236 ta T_CHANGE_PRIV
14237 setx 0xfffffe74fffffd36, %g1, %g7
14238 .word 0xa3800007 ! 249: WR_PERF_COUNTER_R wr %r0, %r7, %-
14239 .word 0xc1bfe000 ! 250: STDFA_I stda %f0, [0x0000, %r31]
14240 .word 0xb1800011 ! 251: WR_STICK_REG_R wr %r0, %r17, %-
14241 .word 0x91d020b5 ! 252: Tcc_I ta icc_or_xcc, %r0 + 181
14242 .word 0xe1bfe060 ! 253: STDFA_I stda %f16, [0x0060, %r31]
14243memptr_1_144:
14244 set user_data_start, %r31
14245 .word 0x8584e190 ! 254: WRCCR_I wr %r19, 0x0190, %ccr
14246fpinit_1_145:
14247 setx fp_data_quads, %r19, %r20
14248 ldd [%r20], %f0
14249 ldd [%r20+8], %f4
14250 ld [%r20+16], %fsr
14251 ld [%r20+24], %r19
14252 wr %r19, %g0, %gsr
14253 .word 0x87a80a44 ! 255: FCMPd fcmpd %fcc<n>, %f0, %f4
14254 .word 0x8d90263b ! 256: WRPR_PSTATE_I wrpr %r0, 0x063b, %pstate
14255 .word 0xe527e01d ! 257: STF_I st %f18, [0x001d, %r31]
14256splash_lsu_1_147:
14257 nop
14258 ta T_CHANGE_HPRIV
14259 set 0x2e029d96, %r2
14260 mov 0x2, %r1
14261 sllx %r1, 32, %r1
14262 or %r1, %r2, %r2
14263 stxa %r2, [%r0] ASI_LSU_CONTROL
14264 ta T_CHANGE_NONHPRIV
14265 .word 0x3d400001 ! 258: FBPULE fbule,a,pn %fcc0, <label_0x1>
14266 .word 0xc19fc2c0 ! 259: LDDFA_R ldda [%r31, %r0], %f0
14267mondo_1_148:
14268 nop
14269 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
14270 ta T_CHANGE_PRIV
14271 stxa %r17, [%r0+0x3c8] %asi
14272 .word 0x9d94c014 ! 260: WRPR_WSTATE_R wrpr %r19, %r20, %wstate
14273 .word 0xa5480000 ! 261: RDHPR_HPSTATE rdhpr %hpstate, %r18
14274brcommon_1_149:
14275 ba,a .+12
14276 mov %r31, %r15
14277 ba,a .+8
14278 call common_target
14279 .word 0xc32fc014 ! 262: STXFSR_R st-sfr %f1, [%r20, %r31]
14280 .word 0xa3a00173 ! 263: FABSq dis not found
14281
14282 .word 0xa9702192 ! 264: POPC_I popc 0x0192, %r20
14283 .word 0xe827e061 ! 265: STW_I stw %r20, [%r31 + 0x0061]
14284 .word 0xe8cfe008 ! 266: LDSBA_I ldsba [%r31, + 0x0008] %asi, %r20
14285 .word 0x9f80326b ! 267: SIR sir 0x126b
14286memptr_1_150:
14287 set user_data_start, %r31
14288 .word 0x85852887 ! 268: WRCCR_I wr %r20, 0x0887, %ccr
14289splash_lsu_1_151:
14290 nop
14291 ta T_CHANGE_HPRIV
14292 set 0x91fae941, %r2
14293 mov 0x5, %r1
14294 sllx %r1, 32, %r1
14295 or %r1, %r2, %r2
14296 stxa %r2, [%r0] ASI_LSU_CONTROL
14297 ta T_CHANGE_NONHPRIV
14298 .word 0x3d400001 ! 269: FBPULE fbule,a,pn %fcc0, <label_0x1>
14299 .word 0xd43fe0fa ! 270: STD_I std %r10, [%r31 + 0x00fa]
14300 .word 0x87acca54 ! 271: FCMPd fcmpd %fcc<n>, %f50, %f20
14301 .word 0xab850013 ! 272: WR_CLEAR_SOFTINT_R wr %r20, %r19, %clear_softint
14302pmu_1_152:
14303 nop
14304 setx 0xfffff9b8ffffff95, %g1, %g7
14305 .word 0xa3800007 ! 273: WR_PERF_COUNTER_R wr %r0, %r7, %-
14306dvapa_1_153:
14307 nop
14308 ta T_CHANGE_HPRIV
14309 mov 0xcfd, %r20
14310 mov 0x1f, %r19
14311 sllx %r20, 23, %r20
14312 or %r19, %r20, %r19
14313 stxa %r19, [%g0] ASI_LSU_CONTROL
14314 mov 0x38, %r18
14315 stxa %r31, [%r18]0x58
14316 ta T_CHANGE_NONHPRIV
14317 .word 0xe4bfc033 ! 274: STDA_R stda %r18, [%r31 + %r19] 0x01
14318 .word 0xc3ec8030 ! 275: PREFETCHA_R prefetcha [%r18, %r16] 0x01, #one_read
14319jmptr_1_154:
14320 nop
14321 best_set_reg(0xe1200000, %r20, %r27)
14322 .word 0xb7c6c000 ! 276: JMPL_R jmpl %r27 + %r0, %r27
14323 .word 0xc19fc3e0 ! 277: LDDFA_R ldda [%r31, %r0], %f0
14324 .word 0x9f803ca3 ! 278: SIR sir 0x1ca3
14325 nop
14326 ta T_CHANGE_HPRIV
14327 mov 0x1, %r10
14328 set sync_thr_counter2, %r23
14329 cas [%r23],%g0,%r10 !lock
14330 brnz %r10, sma_1_155
14331 rd %asi, %r12
14332 wr %g0, 0x40, %asi
14333 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
14334 set 0x001e1fff, %g1
14335 stxa %g1, [%g0 + 0x80] %asi
14336 wr %r12, %g0, %asi
14337 st %g0, [%r23]
14338sma_1_155:
14339 ta T_CHANGE_NONHPRIV
14340 .word 0xdbe7e010 ! 279: CASA_R casa [%r31] %asi, %r16, %r13
14341splash_tba_1_156:
14342 ta T_CHANGE_PRIV
14343 set 0x120000, %r12
14344 .word 0x8b90000c ! 280: WRPR_TBA_R wrpr %r0, %r12, %tba
14345pmu_1_157:
14346 nop
14347 setx 0xfffff8d2fffff71e, %g1, %g7
14348 .word 0xa3800007 ! 281: WR_PERF_COUNTER_R wr %r0, %r7, %-
14349mondo_1_158:
14350 nop
14351 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
14352 stxa %r11, [%r0+0x3d8] %asi
14353 .word 0x9d914014 ! 282: WRPR_WSTATE_R wrpr %r5, %r20, %wstate
14354 nop
14355 ta T_CHANGE_HPRIV
14356 mov 0x1+1, %r10
14357 set sync_thr_counter1, %r23
14358 cas [%r23],%g0,%r10 !lock
14359 brnz %r10, cwq_1_159
14360 rd %asi, %r12
14361 wr %g0, 0x40, %asi
14362 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
14363 and %l1, 0x3, %l1 ! Check if busy/enabled ..
14364 cmp %l1, 1
14365 bne cwq_1_159
14366 set CWQ_BASE, %l6
14367 best_set_reg(0x20610050, %l1, %l2) !# Control Word
14368 sllx %l2, 32, %l2
14369 stx %l2, [%l6 + 0x0]
14370 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
14371 sub %l2, 0x40, %l2
14372 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
14373 wr %r12, %g0, %asi
14374 st %g0, [%r23]
14375cwq_1_159:
14376 ta T_CHANGE_NONHPRIV
14377 .word 0x9b414000 ! 283: RDPC rd %pc, %r13
14378 .word 0xa1a00168 ! 284: FABSq dis not found
14379
14380jmptr_1_160:
14381 nop
14382 best_set_reg(0xe1200000, %r20, %r27)
14383 .word 0xb7c6c000 ! 285: JMPL_R jmpl %r27 + %r0, %r27
14384intveclr_1_161:
14385 nop
14386 ta T_CHANGE_HPRIV
14387 setx 0x431e0514ad550551, %r1, %r28
14388 stxa %r28, [%g0] 0x72
14389 .word 0x25400001 ! 286: FBPLG fblg,a,pn %fcc0, <label_0x1>
14390 .word 0xa9a4c9d0 ! 287: FDIVd fdivd %f50, %f16, %f20
14391 .word 0x8d903995 ! 288: WRPR_PSTATE_I wrpr %r0, 0x1995, %pstate
14392 nop
14393 ta T_CHANGE_HPRIV
14394 mov 0x1, %r10
14395 set sync_thr_counter2, %r23
14396 cas [%r23],%g0,%r10 !lock
14397 brnz %r10, sma_1_163
14398 rd %asi, %r12
14399 wr %g0, 0x40, %asi
14400 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
14401 set 0x000a1fff, %g1
14402 stxa %g1, [%g0 + 0x80] %asi
14403 wr %r12, %g0, %asi
14404 st %g0, [%r23]
14405sma_1_163:
14406 ta T_CHANGE_NONHPRIV
14407 .word 0xe9e7e010 ! 289: CASA_R casa [%r31] %asi, %r16, %r20
14408 .word 0x97a4c9c6 ! 290: FDIVd fdivd %f50, %f6, %f42
14409cmp_1_164:
14410 nop
14411 ta T_CHANGE_HPRIV
14412 rd %asi, %r12
14413 wr %r0, 0x41, %asi
14414 set sync_thr_counter, %r23
14415 mov 0x1, %r10
14416cmp_startwait1_164:
14417 cas [%r23],%g0,%r10 !lock
14418 brz,a %r10, continue_cmp_1_164
14419 ldxa [0x50]%asi, %r13 !Running_rw
14420 ld [%r23], %r10
14421cmp_wait1_164:
14422 brnz,a %r10, cmp_wait1_164
14423 ld [%r23], %r10
14424 ba,a cmp_startwait1_164
14425 mov 0x1, %r10
14426continue_cmp_1_164:
14427 ldxa [0x58]%asi, %r14 !Running_status
14428 xnor %r14, %r13, %r14 !Bits equal
14429 ldxa [0x10]%asi, %r13 !Get enabled threads
14430 andn %r13, 0xff, %r16
14431 brz,a %r16, cmp_multi_core_1_164
14432 mov 0xfa, %r17
14433 best_set_reg(0x1a39c28e4c2d4aa5, %r16, %r17)
14434cmp_multi_core_1_164:
14435 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
14436 and %r14, %r13, %r14 !Apply core-enabled mask
14437 andn %r14, 0x1, %r14 !Leave master thread
14438 stxa %r14, [0x60]%asi
14439 st %g0, [%r23] !clear lock
14440 wr %g0, %r12, %asi
14441 ta T_CHANGE_NONHPRIV
14442 .word 0x9192c008 ! 291: WRPR_PIL_R wrpr %r11, %r8, %pil
14443 .word 0xc1bfdb60 ! 292: STDFA_R stda %f0, [%r0, %r31]
14444donret_1_165:
14445 nop
14446 ta T_CHANGE_HPRIV ! macro
14447 rd %pc, %r12
14448 add %r12, (donretarg_1_165-donret_1_165-4), %r12
14449 add %r12, 0x4, %r11
14450 wrpr %g0, 0x1, %tl
14451 wrpr %g0, %r12, %tpc
14452 wrpr %g0, %r11, %tnpc
14453 set (0x006274c5 | (0x55 << 24)), %r13
14454 rdpr %tstate, %r16
14455 mov 0x1f, %r19
14456 and %r19, %r16, %r17
14457 andn %r16, %r19, %r16
14458 or %r16, %r17, %r20
14459 wrpr %r20, %g0, %tstate
14460 wrhpr %g0, 0x39e, %htstate
14461 ta T_CHANGE_NONPRIV ! rand=0 (1)
14462 .word 0x38800001 ! 1: BGU bgu,a <label_0x1>
14463 done
14464donretarg_1_165:
14465 .word 0xd6ffe040 ! 293: SWAPA_I swapa %r11, [%r31 + 0x0040] %asi
14466br_longdelay1_1_166:
14467 .word 0x26800001 ! 1: BL bl,a <label_0x1>
14468 .word 0xbfe7c000 ! 294: SAVE_R save %r31, %r0, %r31
14469 .word 0xc19fe040 ! 295: LDDFA_I ldda [%r31, 0x0040], %f0
14470 setx 0x02059783fb0ad534, %r1, %r28
14471 stxa %r28, [%g0] 0x73
14472intvec_1_167:
14473 .word 0x39400001 ! 296: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
14474intveclr_1_168:
14475 nop
14476 ta T_CHANGE_HPRIV
14477 setx 0xcf4e25324d53cc20, %r1, %r28
14478 stxa %r28, [%g0] 0x72
14479 ta T_CHANGE_NONHPRIV
14480 .word 0x25400001 ! 297: FBPLG fblg,a,pn %fcc0, <label_0x1>
14481 .word 0x26800001 ! 298: BL bl,a <label_0x1>
14482jmptr_1_169:
14483 nop
14484 best_set_reg(0xe1200000, %r20, %r27)
14485 .word 0xb7c6c000 ! 299: JMPL_R jmpl %r27 + %r0, %r27
14486 nop
14487 ta T_CHANGE_HPRIV
14488 mov 0x1, %r10
14489 set sync_thr_counter2, %r23
14490 cas [%r23],%g0,%r10 !lock
14491 brnz %r10, sma_1_170
14492 rd %asi, %r12
14493 wr %g0, 0x40, %asi
14494 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
14495 set 0x00061fff, %g1
14496 stxa %g1, [%g0 + 0x80] %asi
14497 wr %r12, %g0, %asi
14498 st %g0, [%r23]
14499sma_1_170:
14500 ta T_CHANGE_NONHPRIV
14501 .word 0xd7e7e008 ! 300: CASA_R casa [%r31] %asi, %r8, %r11
14502 .word 0xd697e010 ! 301: LDUHA_I lduha [%r31, + 0x0010] %asi, %r11
14503cmpenall_1_171:
14504 nop
14505 nop
14506 ta T_CHANGE_HPRIV
14507 rd %asi, %r12
14508 wr %r0, 0x41, %asi
14509 set sync_thr_counter, %r23
14510cmpenall_startwait1_171:
14511 mov 0x1, %r10
14512 cas [%r23],%g0,%r10 !lock
14513 brz,a %r10, continue_cmpenall_1_171
14514 nop
14515cmpenall_wait1_171:
14516 ld [%r23], %r10
14517 brnz %r10, cmpenall_wait1_171
14518 nop
14519 ba,a cmpenall_startwait1_171
14520continue_cmpenall_1_171:
14521 ldxa [0x58]%asi, %r14 !Running_status
14522wait_for_cmpstat_1_171:
14523 ldxa [0x50]%asi, %r13 !Running_rw
14524 cmp %r13, %r14
14525 bne,a %xcc, wait_for_cmpstat_1_171
14526 ldxa [0x58]%asi, %r14 !Running_status
14527 ldxa [0x10]%asi, %r14 !Get enabled threads
14528 stxa %r14, [0x50]%asi
14529 ldxa [0x58]%asi, %r16 !Running_status
14530wait_for_cmpstat2_1_171:
14531 cmp %r14, %r16
14532 bne,a %xcc, wait_for_cmpstat2_1_171
14533 ldxa [0x58]%asi, %r16 !Running_status
14534 st %g0, [%r23] !clear lock
14535 nop
14536 nop
14537 ta T_CHANGE_PRIV
14538 wrpr %g0, %g0, %gl
14539 nop
14540 nop
14541
14542join_lbl_0_0:
14543SECTION .MAIN
14544.text
14545diag_finish:
14546 nop
14547 nop
14548 nop
14549 ta T_CHANGE_HPRIV
14550 best_set_reg(HV_TRAP_BASE_PA, %r1, %r2)
14551 wrhpr %g2, %g0, %htba
14552 ta T_GOOD_TRAP
14553 nop
14554 nop
14555 nop
14556.data
14557 .xword 0x0
14558 ! fp data rs1, rs2, fsr, gsr quads ..
14559.global fp_data_quads
14560fp_data_quads:
14561 .xword 0x0044000000000000
14562 .xword 0x4028000000000000
14563 .xword 0x0fc0400400000000
14564 .xword 0x0000000000000000
14565 .xword 0x0041000000000000
14566 .xword 0x4022000000000000
14567 .xword 0x0600800000000000
14568 .xword 0x0000000000000000
14569 .xword 0x0220000000000000
14570 .xword 0x4140000000000000
14571 .xword 0x4fc0400400000000
14572 .xword 0x0000000000000000
14573 .xword 0x4090000000000000
14574 .xword 0x0090000000000000
14575 .xword 0x0f80400800000000
14576 .xword 0x0a00000000000000
14577.align 128
14578.global user_data_start
14579.data
14580user_data_start:
14581
14582 .xword 0x5e0cb42970bec7b5
14583 .xword 0xdaaaa6ba9aad426a
14584 .xword 0x44329127095915cf
14585 .xword 0xd2c1b71d1e640ea9
14586 .xword 0xf46d254932a1d74a
14587 .xword 0xa9bc7469cb08c897
14588 .xword 0x48cb547e25d7e75d
14589 .xword 0xca3d01d87466f44e
14590 .xword 0xb2d5c06a367eea9a
14591 .xword 0x66440fe5091ddfb0
14592 .xword 0xf36c480917c6755f
14593 .xword 0x4c342f28d7e8b9ae
14594 .xword 0x39a24f65d6cdf847
14595 .xword 0x1d6e26f4ad3ba826
14596 .xword 0x3240f4ea0ac28fe5
14597 .xword 0xaed783d269711147
14598 .xword 0xd56a0533da86550e
14599 .xword 0x9bb80b2941c066cf
14600 .xword 0xa923c710ddce4a71
14601 .xword 0x4e1a73d778c124fa
14602 .xword 0xa191e0be3872745f
14603 .xword 0x01bcb1e84da7d4f7
14604 .xword 0x7c21e5092eedc158
14605 .xword 0xb8f4de0b1031d1db
14606 .xword 0xbdd62a00dc73e4f9
14607 .xword 0x9b9cad2b4c9ee388
14608 .xword 0xd203a71a6911f11f
14609 .xword 0x6b93782606ec3187
14610 .xword 0x9b01e44e177de168
14611 .xword 0x682fbfde4e65030c
14612 .xword 0x5b55236ec0b7ef2e
14613 .xword 0x6248a4f04c6566d1
14614 .xword 0xef57a0f7fbd5f813
14615 .xword 0x442c85f6fdea76ec
14616 .xword 0xaf07437eacc65ffa
14617 .xword 0x18551f413049ccbb
14618 .xword 0x9b22eeeb177673d7
14619 .xword 0xa6b28319ec325925
14620 .xword 0x4ff68b2f46b21014
14621 .xword 0x79371d8efeab6c31
14622 .xword 0x50502f45b9c1a098
14623 .xword 0x04a48e646ede6cfc
14624 .xword 0xf5eb8906181bd807
14625 .xword 0xb2b2dc69253f79dc
14626 .xword 0x01a474b0ba9f5a44
14627 .xword 0x840754f7e69e81f0
14628 .xword 0x472d03c1ae2ba227
14629 .xword 0x350695e3de8fd29b
14630 .xword 0x9eb6c131ffbcce81
14631 .xword 0x76f3c27f93102dfa
14632 .xword 0xb22716957bd1aa37
14633 .xword 0x0b94b9040d5d1810
14634 .xword 0x60c37d1805066dea
14635 .xword 0xb78e3d6a78dc99cb
14636 .xword 0x6efc8e819a202650
14637 .xword 0x3d4dc0113995cd8f
14638 .xword 0xdf1ca1f2b442b2f5
14639 .xword 0x5ae327f4895de30c
14640 .xword 0xad3f284d42eba36c
14641 .xword 0x2e3eacbe8d2702b7
14642 .xword 0x110c979a77d94ebd
14643 .xword 0xeae6102bd5a9d69a
14644 .xword 0x48e2e8277be0413b
14645 .xword 0x4477988f41085386
14646 .xword 0x2f3f46157f85cb83
14647 .xword 0x1f10f25386759ab9
14648 .xword 0xb7787b0aaad1f2d6
14649 .xword 0x64ca319ba011dbee
14650 .xword 0x6c56997ad316baa7
14651 .xword 0x3a616245329868ed
14652 .xword 0x7dbc9ee58c79437a
14653 .xword 0x940d327d3e3c88ef
14654 .xword 0x806d2b335747cc57
14655 .xword 0xd5e715deb03b13cd
14656 .xword 0xb0fac220f1ff776d
14657 .xword 0x4d05673c335e5d2e
14658 .xword 0x4b8e9a55f8ba315e
14659 .xword 0x30c499c348e9783d
14660 .xword 0xb51d6fae96ba810f
14661 .xword 0xcb9b420e8f408242
14662 .xword 0xa021aef0cafa77bf
14663 .xword 0x7af17cd726b97a0e
14664 .xword 0x4e8825aee0cc2504
14665 .xword 0xc3d923e4f3ace000
14666 .xword 0xea8b5c79e2290cf4
14667 .xword 0x3e453b31e4ca084f
14668 .xword 0x6cb08fe9685b0967
14669 .xword 0x9d60020edea3f350
14670 .xword 0x8b3d6dd67cdb8e80
14671 .xword 0x1ba036791f597503
14672 .xword 0xe1994cc22e70ca5d
14673 .xword 0x020a87f29066372a
14674 .xword 0xdc8a6c9cf30704d7
14675 .xword 0x8bafb185e08eff5e
14676 .xword 0xe2b38167d09b39b9
14677 .xword 0x2b9aab2be87a6227
14678 .xword 0xa8ec38e10438d661
14679 .xword 0x16ada8de7b995d90
14680 .xword 0x078750ae01b1de6b
14681 .xword 0x36c173e357583ec3
14682 .xword 0x72476a042349f883
14683 .xword 0x6ea8fcf2e603cf0b
14684 .xword 0x884ec1f5255c7355
14685 .xword 0xf72322f89e665718
14686 .xword 0xe778cdbdd6ca9451
14687 .xword 0xd461d8bb2ed2e284
14688 .xword 0xd08b8aed74860ed5
14689 .xword 0x29772f5a480848fe
14690 .xword 0x1eff4dc35a09308e
14691 .xword 0xa55bcc4c2d9d5367
14692 .xword 0x600bb64a67c2b350
14693 .xword 0x26496d62fe4600d6
14694 .xword 0xfc4c770bcda76e4a
14695 .xword 0xa1891a4910ca65b6
14696 .xword 0x6b5d0d2118c0647d
14697 .xword 0x8e01f4ea58a3fb10
14698 .xword 0x953a75f526bd1b69
14699 .xword 0xecfe0e502be9aec9
14700 .xword 0x9356b4ee96ae7734
14701 .xword 0x91e8733f93c18994
14702 .xword 0x57c84ebee5636275
14703 .xword 0x416a3c0ccd828371
14704 .xword 0xc16931d12009868a
14705 .xword 0xa025c59f9b5c2fda
14706 .xword 0xda0768d17d67b183
14707 .xword 0x4f76121c6dfd4b98
14708 .xword 0x73c1d614df129543
14709 .xword 0xe466f4dddc9f642a
14710 .xword 0x901f095ca00acd84
14711 .xword 0x5a4c092ca739fa16
14712 .xword 0x27ad36683fefa2af
14713 .xword 0xa736e794dfef98fe
14714 .xword 0xbfd005b63b2198d4
14715 .xword 0x4247a7b01a91b52e
14716 .xword 0xd9e23c72c739458e
14717 .xword 0x0acfeb13c14436d5
14718 .xword 0x0de60db3cf8f88c1
14719 .xword 0xf6930e11d5cce598
14720 .xword 0xd05886a7a2d77257
14721 .xword 0x6df3d8123b96a7fb
14722 .xword 0x48676264703cde13
14723 .xword 0x83e26c834d5f9d08
14724 .xword 0x3bf7cf03ea47a9b6
14725 .xword 0xca51d3650717c8ca
14726 .xword 0x53cea7475b77c329
14727 .xword 0x4d6de56edce9d07e
14728 .xword 0xe2be870dfad513ee
14729 .xword 0x9bfa3a927ac7e194
14730 .xword 0x49eed9791e29e18e
14731 .xword 0x277dc88d5a5eeeac
14732 .xword 0x298cc358e0c45351
14733 .xword 0xb70bfd13391b8090
14734 .xword 0x7909702108d99e7e
14735 .xword 0x640ed7a43cf64b1b
14736 .xword 0xda4b1d16a98a17dc
14737 .xword 0x7aa63bb7aa2dd9c7
14738 .xword 0x96c8ac0fc7704b00
14739 .xword 0xe0ea526cec01b4a6
14740 .xword 0x8bc7a604541f9989
14741 .xword 0x7a530317b9197a6b
14742 .xword 0x6f8e1f164e7299f0
14743 .xword 0x932dc9ca95998e8d
14744 .xword 0x9961dcf4593177e0
14745 .xword 0x279c8aa5a3e0bef5
14746 .xword 0x2e9afc9b0854ddaa
14747 .xword 0xc24978888985b9e1
14748 .xword 0x8193a96d0044454e
14749 .xword 0x7f14a9606df39324
14750 .xword 0x077b8531e10ed301
14751 .xword 0x457074d3c17fdc68
14752 .xword 0xa76470070da37c94
14753 .xword 0xd6397738430be50a
14754 .xword 0xf47c37c1c6109474
14755 .xword 0xd4467f3e7c4a545c
14756 .xword 0x080e06482281c983
14757 .xword 0x046f04fc3794b1ba
14758 .xword 0xeecc4b1bc6f30636
14759 .xword 0x20ae49fbfb6e3613
14760 .xword 0x5fb027fccfc1a433
14761 .xword 0xef7fdb73d2b5fad5
14762 .xword 0x1855db0a183b8a6e
14763 .xword 0xae1372be6fce8027
14764 .xword 0xd122e902970e4848
14765 .xword 0xc6ba3aa0e9b5c5c4
14766 .xword 0xe90b8e55948aabd7
14767 .xword 0xd0c93f3119bed6b0
14768 .xword 0x6569bb4dea594714
14769 .xword 0xe964953cae1a674a
14770 .xword 0xc47bc7b322e848b5
14771 .xword 0xca4d4d415dcdf0e3
14772 .xword 0x726b092dbba2875c
14773 .xword 0xd9bed5ea33e4d596
14774 .xword 0x796f3eb09a1fee0b
14775 .xword 0x39f2a78b9b8dafcd
14776 .xword 0xc96bb6c3dbc71a3b
14777 .xword 0xd0d97ca121891d05
14778 .xword 0xea1a259f85ed305b
14779 .xword 0xf3e3c8a58456c145
14780 .xword 0x9914f92d45b5a286
14781 .xword 0x7f7ec63ccb5e0bba
14782 .xword 0x5b8fe32776cfdaed
14783 .xword 0x98a15a95bbfaefa3
14784 .xword 0x2ecfc9d3725fe6e1
14785 .xword 0xd360e9b5ac43d76f
14786 .xword 0xcfd993648994715d
14787 .xword 0x41a966433ebbb67d
14788 .xword 0x5ea74ef32d6dded7
14789 .xword 0xb20041593ce00951
14790 .xword 0x15ee1395252fdbcf
14791 .xword 0xe3a224797b66e98e
14792 .xword 0x06721833d4514d0f
14793 .xword 0x5e3055ecfa4eae84
14794 .xword 0x37d283ad29aa2e45
14795 .xword 0xf601d6b72a510490
14796 .xword 0x98f840071808642d
14797 .xword 0x95bd10c87b22709f
14798 .xword 0x527d38cea77ea4f8
14799 .xword 0x079206867a010d9d
14800 .xword 0x3d7c58ebaca92626
14801 .xword 0x8925f8b884577c57
14802 .xword 0x6603b5f243afb6d2
14803 .xword 0xdee19bc396723d6e
14804 .xword 0x760290527c03fe7a
14805 .xword 0x52e392cee44e3ca6
14806 .xword 0xdbd9a8f79d387b50
14807 .xword 0xe567e0c138faaf54
14808 .xword 0x7986b115f24c5cbf
14809 .xword 0xfc9a416142511034
14810 .xword 0xe7fab62f9e2fb550
14811 .xword 0x0f70fa05834592f6
14812 .xword 0xef2fac0bc90caf74
14813 .xword 0xb31be91a27a2180a
14814 .xword 0xcd93f7f0942719fe
14815 .xword 0x8acb6360664e2c50
14816 .xword 0x2073d07fd5f8cae0
14817 .xword 0xd3696e3a79f3c426
14818 .xword 0x5aa757a38658bc99
14819 .xword 0xa860f64940f8488a
14820 .xword 0xb07de388f31e1122
14821 .xword 0x8e75ccce5518dfea
14822 .xword 0xfcae00a9961c681f
14823 .xword 0xe431412406862709
14824 .xword 0x2fff75df93d2d8a1
14825 .xword 0xf78a59880ff88ec2
14826 .xword 0x13b7edf5e2edee93
14827 .xword 0x779a992f2e280cda
14828 .xword 0xa168933d8eed6fcb
14829 .xword 0x8ded19d47fad43e4
14830 .xword 0xa0cda3cf45830b30
14831 .xword 0x8b93655c052059c4
14832 .xword 0x18f2fd2160c5417c
14833 .xword 0x4312de6dc81ff1ff
14834 .xword 0x9a68da9b052a0470
14835 .xword 0x9e8441ddaa69936b
14836 .xword 0x264486c807d76137
14837 .xword 0xacd49af88bfa89f8
14838
14839SECTION .HTRAPS
14840.text
14841.global restore_range_regs
14842restore_range_regs:
14843 wr %g0, ASI_MMU_REAL_RANGE, %asi
14844 mov 1, %g1
14845 sllx %g1, 63, %g1
14846 ldxa [ASI_MMU_REAL_RANGE_0] %asi, %g2
14847 or %g2 ,%g1, %g2
14848 stxa %g2, [ASI_MMU_REAL_RANGE_0] %asi
14849 ldxa [ASI_MMU_REAL_RANGE_1] %asi, %g2
14850 or %g2 ,%g1, %g2
14851 stxa %g2, [ASI_MMU_REAL_RANGE_1] %asi
14852 ldxa [ASI_MMU_REAL_RANGE_2] %asi, %g2
14853 or %g2 ,%g1, %g2
14854 stxa %g2, [ASI_MMU_REAL_RANGE_2] %asi
14855 ldxa [ASI_MMU_REAL_RANGE_3] %asi, %g2
14856 or %g2 ,%g1, %g2
14857 stxa %g2, [ASI_MMU_REAL_RANGE_3] %asi
14858 retry
14859
14860.global wdog_2_ext
14861# 9 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_trap_extensions.s"
14862.global wdog_2_ext
14863.global retry_with_base_tba
14864.global resolve_bad_tte
14865
14866SECTION .HTRAPS
14867.text
14868resolve_bad_tte:
14869 !if pc[13:5]==0, then assume not a relocated handler
14870 rdpr %tpc, %r4
14871 andn %r4, 0xf, %r4
14872 sllx %r4, 49, %r5
14873 brnz,a %r5, retry_with_base_tba
14874 !assume %r27 is where we came from ..
14875 fdivd %f0, %f4, %f12
14876 jmpl %r27+8, %r0
14877 fdivs %f0, %f4, %f12
14878retry_with_base_tba:
14879 best_set_reg(TRAP_BASE_VA, %r3, %r5)
14880 cmp %r4, %r5
14881 bz htrap_5_ext_done
14882 set 0x7fff, %r3
14883 and %r4, %r3, %r4
14884 or %r5, %r4, %r4
14885 wrpr %r4, %tpc
14886 rdpr %tnpc, %r4
14887 and %r4, %r3, %r4
14888 or %r5, %r4, %r4
14889 wrpr %r4, %tnpc
14890 retry
14891
14892htrap_5_ext:
14893 rd %pc, %l2
14894 inc %l3
14895 add %l2, htrap_5_ext_done-htrap_5_ext, %l2
14896 rdpr %tl, %l3
14897 rdpr %tstate, %l4
14898 rdhpr %htstate, %l5
14899 or %l5, 0x4, %l5
14900 inc %l3
14901 wrpr %l3, %tl
14902 wrpr %l2, %tpc
14903 add %l2, 4, %l2
14904 wrpr %l2, %tnpc
14905 wrpr %l4, %tstate
14906 wrhpr %l5, %htstate
14907 retry
14908htrap_5_ext_done:
14909 done
14910
14911wdog_2_ext:
14912 mov 0x1f, %l1
14913 stxa %l1, [%g0] ASI_LSU_CTL_REG
14914 ! If TT != 2, then goto trap handler
14915 rdpr %tt, %l1
14916 cmp %l1, 0x2
14917 bne wdog_2_goto_handler
14918 nop
14919 ! else done
14920 done
14921wdog_2_goto_handler:
14922 rdhpr %htstate, %l3
14923 and %l3, 0x4, %l3 ! If previously in hpriv mode, go to hpriv
14924 brnz,a %l3, wdog_2_goto_handler_1
14925 rdhpr %htba, %l3
14926 srlx %l1, 7, %l3 ! Send priv sw traps to priv mode ..
14927 cmp %l3, 0x2 ! 0x2 = priv sw trap, 0x3=hpriv sw trap ..
14928 be,a wdog_2_goto_handler_1
14929 rdpr %tba, %l3
14930 rdhpr %htba, %l3
14931wdog_2_goto_handler_1:
14932 sllx %l1, 5, %l1
14933 add %l1, %l3, %l3
14934 jmp %l3
14935 nop
14936# 85 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_trap_extensions.s"
14937! Red mode other reset handler
14938! Get htba, and tt and make trap address
14939! Jump to trap handler ..
14940
14941SECTION .RED_SEC
14942.text
14943red_other_ext:
14944 ! IF TL=6, shift stack by one ..
14945 rdpr %tl, %l1
14946 cmp %l1, 6
14947 be start_tsa_shift
14948 nop
14949
14950continue_red_other:
14951 mov 0x1f, %l1
14952 stxa %l1, [%g0] ASI_LSU_CTL_REG
14953
14954 rdpr %tt, %l1
14955
14956 rdhpr %htstate, %l2
14957 and %l2, 0x4, %l2 ! If previously in hpriv mode, go to hpriv
14958 brnz,a %l2, red_goto_handler
14959 rdhpr %htba, %l2
14960 srlx %l1, 7, %l2 ! Send priv sw traps to priv mode ..
14961 cmp %l2, 0x2 ! 0x2 = priv sw trap, 0x3=hpriv sw trap ..
14962 be,a red_goto_handler
14963 rdpr %tba, %l2
14964 rdhpr %htba, %l2
14965red_goto_handler:
14966
14967 sllx %l1, 5, %l1
14968 add %l1, %l2, %l2
14969 rdhpr %hpstate, %l1
14970 jmp %l2
14971 wrhpr %l1, 0x20, %hpstate
14972 nop
14973
14974wdog_red_ext:
14975 ! Shift stack down by 1 ...
14976 rdpr %tl, %l1
14977 cmp %l1, 6
14978 bl wdog_end
14979start_tsa_shift:
14980 mov 0x2, %l2
14981
14982tsa_shift:
14983 wrpr %l2, %tl
14984 rdpr %tt, %l3
14985 rdpr %tpc, %l4
14986 rdpr %tnpc, %l5
14987 rdpr %tstate, %l6
14988 rdhpr %htstate, %l7
14989 dec %l2
14990 wrpr %l2, %tl
14991 wrpr %l3, %tt
14992 wrpr %l4, %tpc
14993 wrpr %l5, %tnpc
14994 wrpr %l6, %tstate
14995 wrhpr %l7, %htstate
14996 add %l2, 2, %l2
14997 cmp %l2, %l1
14998 ble tsa_shift
14999 nop
15000tsa_shift_done:
15001 dec %l1
15002 wrpr %l1, %tl
15003
15004wdog_end:
15005 ! If TT != 2, then goto trap handler
15006 rdpr %tt, %l1
15007
15008 cmp %l1, 0x2
15009 bne continue_red_other
15010 nop
15011 ! else done
15012 mov 0x1f, %l1
15013 stxa %l1, [%g0] ASI_LSU_CTL_REG
15014 done
15015# 877 "diag.j"
15016SECTION .CWQ_DATA DATA_VA =0x4000
15017attr_data {
15018 Name = .CWQ_DATA
15019 hypervisor
15020}
15021
15022.data
15023.align 16
15024.global msg
15025msg:
15026.xword 0xad32fa52374cc6ba
15027.xword 0x4cbf52280549003a
15028
15029.align 16
15030.global results
15031results:
15032.xword 0xDEADBEEFDEADBEEF
15033.xword 0xDEADBEEFDEADBEEF
15034!# CWQ data area
15035.align 64
15036.global CWQ_BASE
15037CWQ_BASE:
15038.xword 0xAAAAAAAAAAAAAAA
15039.xword 0xAAAAAAAAAAAAAAA
15040.xword 0xAAAAAAAAAAAAAAA
15041.xword 0xAAAAAAAAAAAAAAA
15042.xword 0xAAAAAAAAAAAAAAA
15043.xword 0xAAAAAAAAAAAAAAA
15044.xword 0xAAAAAAAAAAAAAAA
15045.xword 0xAAAAAAAAAAAAAAA
15046.xword 0xAAAAAAAAAAAAAAA
15047.xword 0xAAAAAAAAAAAAAAA
15048.xword 0xAAAAAAAAAAAAAAA
15049.xword 0xAAAAAAAAAAAAAAA
15050.xword 0xAAAAAAAAAAAAAAA
15051.xword 0xAAAAAAAAAAAAAAA
15052.xword 0xAAAAAAAAAAAAAAA
15053.xword 0xAAAAAAAAAAAAAAA
15054.xword 0xAAAAAAAAAAAAAAA
15055.xword 0xAAAAAAAAAAAAAAA
15056.xword 0xAAAAAAAAAAAAAAA
15057.xword 0xAAAAAAAAAAAAAAA
15058.xword 0xAAAAAAAAAAAAAAA
15059.xword 0xAAAAAAAAAAAAAAA
15060.xword 0xAAAAAAAAAAAAAAA
15061.xword 0xAAAAAAAAAAAAAAA
15062.global CWQ_LAST
15063.align 64
15064CWQ_LAST:
15065.word 0x0
15066
15067
15068
15069SECTION .MyHTRAPS_0 TEXT_VA = 0x0000000000280000, DATA_VA = 0x00000000002c0000
15070attr_text {
15071 Name = .MyHTRAPS_0,
15072 RA = 0x0000000000280000,
15073 PA = ra2pa(0x0000000000280000,0),
15074 part_0_ctx_zero_tsb_config_3,
15075 part_0_ctx_nonzero_tsb_config_3,
15076 TTE_G = 1,
15077 TTE_Context = 0,
15078 TTE_V = 1,
15079 TTE_Size = PART0_Z_PAGE_SIZE_3,
15080 TTE_NFO = 0,
15081 TTE_IE = 0,
15082 TTE_Soft2 = 0,
15083 TTE_Diag = 0,
15084 TTE_Soft = 0,
15085 TTE_L = 0,
15086 TTE_CP = 1,
15087 TTE_CV = 1,
15088 TTE_E = 1,
15089 TTE_P = 1,
15090 TTE_W = 0,
15091 TTE_X = 0
15092}
15093
15094
15095attr_data {
15096 Name = .MyHTRAPS_0,
15097 RA = 0x00000000002c0000,
15098 PA = ra2pa(0x00000000002c0000,0),
15099 part_0_ctx_zero_tsb_config_3,
15100 part_0_ctx_nonzero_tsb_config_3,
15101 TTE_G = 1,
15102 TTE_Context = 0,
15103 TTE_V = 1,
15104 TTE_Size = PART0_Z_PAGE_SIZE_3,
15105 TTE_NFO = 0,
15106 TTE_IE = 0,
15107 TTE_Soft2 = 0,
15108 TTE_Diag = 0,
15109 TTE_Soft = 0,
15110 TTE_L = 0,
15111 TTE_CP = 0,
15112 TTE_CV = 0,
15113 TTE_E = 0,
15114 TTE_P = 1,
15115 TTE_W = 0
15116}
15117
15118.text
15119#include "htraps.s"
15120#include "tlu_htraps_ext.s"
15121
15122
15123
15124SECTION .MyHTRAPS_1 TEXT_VA = 0x00000000002a0000, DATA_VA = 0x00000000002e0000
15125attr_text {
15126 Name = .MyHTRAPS_1,
15127 RA = 0x00000000002a0000,
15128 PA = ra2pa(0x00000000002a0000,0),
15129 part_0_ctx_zero_tsb_config_3,
15130 part_0_ctx_nonzero_tsb_config_3,
15131 TTE_G = 1,
15132 TTE_Context = 0,
15133 TTE_V = 1,
15134 TTE_Size = PART0_Z_PAGE_SIZE_3,
15135 TTE_NFO = 0,
15136 TTE_IE = 0,
15137 TTE_Soft2 = 0,
15138 TTE_Diag = 0,
15139 TTE_Soft = 0,
15140 TTE_L = 0,
15141 TTE_CP = 1,
15142 TTE_CV = 0,
15143 TTE_E = 1,
15144 TTE_P = 1,
15145 TTE_W = 0,
15146 TTE_X = 0
15147}
15148
15149
15150attr_data {
15151 Name = .MyHTRAPS_1,
15152 RA = 0x00000000002e0000,
15153 PA = ra2pa(0x00000000002e0000,0),
15154 part_0_ctx_zero_tsb_config_3,
15155 part_0_ctx_nonzero_tsb_config_3,
15156 TTE_G = 1,
15157 TTE_Context = 0,
15158 TTE_V = 1,
15159 TTE_Size = PART0_Z_PAGE_SIZE_3,
15160 TTE_NFO = 0,
15161 TTE_IE = 0,
15162 TTE_Soft2 = 0,
15163 TTE_Diag = 0,
15164 TTE_Soft = 0,
15165 TTE_L = 0,
15166 TTE_CP = 1,
15167 TTE_CV = 0,
15168 TTE_E = 0,
15169 TTE_P = 1,
15170 TTE_W = 0
15171}
15172
15173.text
15174#include "htraps.s"
15175#include "tlu_htraps_ext.s"
15176
15177
15178
15179SECTION .MyHTRAPS_2 TEXT_VA = 0x0000000200280000, DATA_VA = 0x00000002002c0000
15180attr_text {
15181 Name = .MyHTRAPS_2,
15182 RA = 0x0000000200280000,
15183 PA = ra2pa(0x0000000200280000,0),
15184 part_0_ctx_zero_tsb_config_3,
15185 part_0_ctx_nonzero_tsb_config_3,
15186 TTE_G = 1,
15187 TTE_Context = 0,
15188 TTE_V = 1,
15189 TTE_Size = PART0_Z_PAGE_SIZE_3,
15190 TTE_NFO = 0,
15191 TTE_IE = 0,
15192 TTE_Soft2 = 0,
15193 TTE_Diag = 0,
15194 TTE_Soft = 0,
15195 TTE_L = 0,
15196 TTE_CP = 1,
15197 TTE_CV = 0,
15198 TTE_E = 1,
15199 TTE_P = 1,
15200 TTE_W = 0,
15201 TTE_X = 0
15202}
15203
15204
15205attr_data {
15206 Name = .MyHTRAPS_2,
15207 RA = 0x00000002002c0000,
15208 PA = ra2pa(0x00000002002c0000,0),
15209 part_0_ctx_zero_tsb_config_3,
15210 part_0_ctx_nonzero_tsb_config_3,
15211 TTE_G = 1,
15212 TTE_Context = 0,
15213 TTE_V = 1,
15214 TTE_Size = PART0_Z_PAGE_SIZE_3,
15215 TTE_NFO = 0,
15216 TTE_IE = 0,
15217 TTE_Soft2 = 0,
15218 TTE_Diag = 0,
15219 TTE_Soft = 0,
15220 TTE_L = 0,
15221 TTE_CP = 1,
15222 TTE_CV = 1,
15223 TTE_E = 0,
15224 TTE_P = 1,
15225 TTE_W = 0
15226}
15227
15228.text
15229#include "htraps.s"
15230#include "tlu_htraps_ext.s"
15231
15232
15233
15234SECTION .MyHTRAPS_3 TEXT_VA = 0x00000002002a0000, DATA_VA = 0x00000002002e0000
15235attr_text {
15236 Name = .MyHTRAPS_3,
15237 RA = 0x00000002002a0000,
15238 PA = ra2pa(0x00000002002a0000,0),
15239 part_0_ctx_zero_tsb_config_3,
15240 part_0_ctx_nonzero_tsb_config_3,
15241 TTE_G = 1,
15242 TTE_Context = 0,
15243 TTE_V = 1,
15244 TTE_Size = PART0_Z_PAGE_SIZE_3,
15245 TTE_NFO = 0,
15246 TTE_IE = 0,
15247 TTE_Soft2 = 0,
15248 TTE_Diag = 0,
15249 TTE_Soft = 0,
15250 TTE_L = 0,
15251 TTE_CP = 0,
15252 TTE_CV = 0,
15253 TTE_E = 1,
15254 TTE_P = 1,
15255 TTE_W = 0,
15256 TTE_X = 0
15257}
15258
15259
15260attr_data {
15261 Name = .MyHTRAPS_3,
15262 RA = 0x00000002002e0000,
15263 PA = ra2pa(0x00000002002e0000,0),
15264 part_0_ctx_zero_tsb_config_3,
15265 part_0_ctx_nonzero_tsb_config_3,
15266 TTE_G = 1,
15267 TTE_Context = 0,
15268 TTE_V = 1,
15269 TTE_Size = PART0_Z_PAGE_SIZE_3,
15270 TTE_NFO = 0,
15271 TTE_IE = 0,
15272 TTE_Soft2 = 0,
15273 TTE_Diag = 0,
15274 TTE_Soft = 0,
15275 TTE_L = 0,
15276 TTE_CP = 1,
15277 TTE_CV = 1,
15278 TTE_E = 0,
15279 TTE_P = 1,
15280 TTE_W = 0
15281}
15282
15283.text
15284#include "htraps.s"
15285#include "tlu_htraps_ext.s"
15286
15287
15288
15289
15290
15291SECTION .MyTRAPS_0 TEXT_VA = 0x0000000000380000, DATA_VA = 0x00000000003c0000
15292attr_text {
15293 Name = .MyTRAPS_0,
15294 RA = 0x0000000000380000,
15295 PA = ra2pa(0x0000000000380000,0),
15296 part_0_ctx_zero_tsb_config_3,
15297 part_0_ctx_nonzero_tsb_config_3,
15298 TTE_G = 1,
15299 TTE_Context = 0,
15300 TTE_V = 1,
15301 TTE_Size = PART0_Z_PAGE_SIZE_3,
15302 TTE_NFO = 0,
15303 TTE_IE = 0,
15304 TTE_Soft2 = 0,
15305 TTE_Diag = 0,
15306 TTE_Soft = 0,
15307 TTE_L = 0,
15308 TTE_CP = 0,
15309 TTE_CV = 0,
15310 TTE_E = 1,
15311 TTE_P = 1,
15312 TTE_W = 1,
15313 TTE_X = 1
15314}
15315
15316
15317attr_data {
15318 Name = .MyTRAPS_0,
15319 RA = 0x00000000003c0000,
15320 PA = ra2pa(0x00000000003c0000,0),
15321 part_0_ctx_zero_tsb_config_3,
15322 part_0_ctx_nonzero_tsb_config_3,
15323 TTE_G = 1,
15324 TTE_Context = 0,
15325 TTE_V = 1,
15326 TTE_Size = PART0_Z_PAGE_SIZE_3,
15327 TTE_NFO = 1,
15328 TTE_IE = 1,
15329 TTE_Soft2 = 0,
15330 TTE_Diag = 0,
15331 TTE_Soft = 0,
15332 TTE_L = 0,
15333 TTE_CP = 0,
15334 TTE_CV = 1,
15335 TTE_E = 0,
15336 TTE_P = 1,
15337 TTE_W = 0
15338}
15339
15340#include "traps.s"
15341
15342
15343
15344SECTION .MyTRAPS_1 TEXT_VA = 0x00000000003a0000, DATA_VA = 0x00000000003e0000
15345attr_text {
15346 Name = .MyTRAPS_1,
15347 RA = 0x00000000003a0000,
15348 PA = ra2pa(0x00000000003a0000,0),
15349 part_0_ctx_zero_tsb_config_3,
15350 part_0_ctx_nonzero_tsb_config_3,
15351 TTE_G = 1,
15352 TTE_Context = 0,
15353 TTE_V = 1,
15354 TTE_Size = PART0_Z_PAGE_SIZE_3,
15355 TTE_NFO = 0,
15356 TTE_IE = 1,
15357 TTE_Soft2 = 0,
15358 TTE_Diag = 0,
15359 TTE_Soft = 0,
15360 TTE_L = 0,
15361 TTE_CP = 1,
15362 TTE_CV = 0,
15363 TTE_E = 1,
15364 TTE_P = 1,
15365 TTE_W = 0,
15366 TTE_X = 1
15367}
15368
15369
15370attr_data {
15371 Name = .MyTRAPS_1,
15372 RA = 0x00000000003e0000,
15373 PA = ra2pa(0x00000000003e0000,0),
15374 part_0_ctx_zero_tsb_config_3,
15375 part_0_ctx_nonzero_tsb_config_3,
15376 TTE_G = 1,
15377 TTE_Context = 0,
15378 TTE_V = 1,
15379 TTE_Size = PART0_Z_PAGE_SIZE_3,
15380 TTE_NFO = 0,
15381 TTE_IE = 1,
15382 TTE_Soft2 = 0,
15383 TTE_Diag = 0,
15384 TTE_Soft = 0,
15385 TTE_L = 0,
15386 TTE_CP = 0,
15387 TTE_CV = 0,
15388 TTE_E = 0,
15389 TTE_P = 1,
15390 TTE_W = 1
15391}
15392
15393#include "traps.s"
15394
15395
15396
15397SECTION .MyTRAPS_2 TEXT_VA = 0x0000000400380000, DATA_VA = 0x00000004003c0000
15398attr_text {
15399 Name = .MyTRAPS_2,
15400 RA = 0x0000000400380000,
15401 PA = ra2pa(0x0000000400380000,0),
15402 part_0_ctx_zero_tsb_config_3,
15403 part_0_ctx_nonzero_tsb_config_3,
15404 TTE_G = 1,
15405 TTE_Context = 0,
15406 TTE_V = 1,
15407 TTE_Size = PART0_Z_PAGE_SIZE_3,
15408 TTE_NFO = 1,
15409 TTE_IE = 1,
15410 TTE_Soft2 = 0,
15411 TTE_Diag = 0,
15412 TTE_Soft = 0,
15413 TTE_L = 0,
15414 TTE_CP = 1,
15415 TTE_CV = 1,
15416 TTE_E = 1,
15417 TTE_P = 1,
15418 TTE_W = 1,
15419 TTE_X = 1
15420}
15421
15422
15423attr_data {
15424 Name = .MyTRAPS_2,
15425 RA = 0x00000004003c0000,
15426 PA = ra2pa(0x00000004003c0000,0),
15427 part_0_ctx_zero_tsb_config_3,
15428 part_0_ctx_nonzero_tsb_config_3,
15429 TTE_G = 1,
15430 TTE_Context = 0,
15431 TTE_V = 1,
15432 TTE_Size = PART0_Z_PAGE_SIZE_3,
15433 TTE_NFO = 1,
15434 TTE_IE = 1,
15435 TTE_Soft2 = 0,
15436 TTE_Diag = 0,
15437 TTE_Soft = 0,
15438 TTE_L = 0,
15439 TTE_CP = 0,
15440 TTE_CV = 0,
15441 TTE_E = 0,
15442 TTE_P = 1,
15443 TTE_W = 0
15444}
15445
15446#include "traps.s"
15447
15448
15449
15450SECTION .MyTRAPS_3 TEXT_VA = 0x00000004003a0000, DATA_VA = 0x00000004003e0000
15451attr_text {
15452 Name = .MyTRAPS_3,
15453 RA = 0x00000004003a0000,
15454 PA = ra2pa(0x00000004003a0000,0),
15455 part_0_ctx_zero_tsb_config_3,
15456 part_0_ctx_nonzero_tsb_config_3,
15457 TTE_G = 1,
15458 TTE_Context = 0,
15459 TTE_V = 1,
15460 TTE_Size = PART0_Z_PAGE_SIZE_3,
15461 TTE_NFO = 1,
15462 TTE_IE = 0,
15463 TTE_Soft2 = 0,
15464 TTE_Diag = 0,
15465 TTE_Soft = 0,
15466 TTE_L = 0,
15467 TTE_CP = 0,
15468 TTE_CV = 1,
15469 TTE_E = 0,
15470 TTE_P = 1,
15471 TTE_W = 0,
15472 TTE_X = 0
15473}
15474
15475
15476attr_data {
15477 Name = .MyTRAPS_3,
15478 RA = 0x00000004003e0000,
15479 PA = ra2pa(0x00000004003e0000,0),
15480 part_0_ctx_zero_tsb_config_3,
15481 part_0_ctx_nonzero_tsb_config_3,
15482 TTE_G = 1,
15483 TTE_Context = 0,
15484 TTE_V = 1,
15485 TTE_Size = PART0_Z_PAGE_SIZE_3,
15486 TTE_NFO = 1,
15487 TTE_IE = 0,
15488 TTE_Soft2 = 0,
15489 TTE_Diag = 0,
15490 TTE_Soft = 0,
15491 TTE_L = 0,
15492 TTE_CP = 1,
15493 TTE_CV = 0,
15494 TTE_E = 0,
15495 TTE_P = 1,
15496 TTE_W = 0
15497}
15498
15499#include "traps.s"
15500
15501
15502
15503
15504
15505SECTION .MyDATA_0 TEXT_VA = 0x00000000e0140000, DATA_VA = 0x0000000060140000
15506attr_data {
15507 Name = .MyDATA_0,
15508 RA = 0x0000000170100000,
15509 PA = ra2pa(0x0000000170100000,0),
15510 part_0_ctx_zero_tsb_config_0,
15511 part_0_ctx_nonzero_tsb_config_0,
15512 TTE_G = 1,
15513 TTE_Context = PCONTEXT,
15514 TTE_V = 1,
15515 TTE_Size = 0,
15516 TTE_NFO = 1,
15517 TTE_IE = 1,
15518 TTE_Soft2 = 0,
15519 TTE_Diag = 0,
15520 TTE_Soft = 0,
15521 TTE_L = 0,
15522 TTE_CP = 0,
15523 TTE_CV = 0,
15524 TTE_E = 1,
15525 TTE_P = 1,
15526 TTE_W = 1
15527}
15528
15529
15530attr_data {
15531 Name = .MyDATA_0,
15532 RA = 0x0000000170100000,
15533 PA = ra2pa(0x0000000170100000,0),
15534 part_0_ctx_zero_tsb_config_1,
15535 part_0_ctx_nonzero_tsb_config_1,
15536 TTE_G = 1,
15537 TTE_Context = SCONTEXT,
15538 TTE_V = 1,
15539 TTE_Size = 3,
15540 TTE_NFO = 1,
15541 TTE_IE = 0,
15542 TTE_Soft2 = 0,
15543 TTE_Diag = 0,
15544 TTE_Soft = 0,
15545 TTE_L = 0,
15546 TTE_CP = 1,
15547 TTE_CV = 0,
15548 TTE_E = 1,
15549 TTE_P = 0,
15550 TTE_W = 1,
15551 tsbonly
15552}
15553
15554
15555attr_data {
15556 Name = .MyDATA_0,
15557 hypervisor
15558}
15559
15560
15561attr_text {
15562 Name = .MyDATA_0,
15563 hypervisor
15564}
15565
15566.data
15567 .xword 0x7d975c0f4ce79f51
15568 .xword 0x5f69ce29b9a82d5e
15569 .xword 0x44a98ba87fe17163
15570 .xword 0x232e779db6300fa0
15571 .xword 0x90dbb689f290e934
15572 .xword 0xa74965ef1ae5906a
15573 .xword 0x485668343b8043a9
15574 .xword 0xa7cb8d2426a41ae7
15575 .xword 0xa264713337523341
15576 .xword 0xc8fa1667997a08ae
15577 .xword 0xd187325e909876c2
15578 .xword 0x3311f6160c53e85c
15579 .xword 0x62d731d7dff8ad8b
15580 .xword 0xb6c369b41809d274
15581 .xword 0xee6ffb60320e2d4e
15582 .xword 0x6f157372b0ef0ecd
15583 .xword 0x1572c8c730da1efd
15584 .xword 0xeb066beabf2a142a
15585 .xword 0x78ef79bf2c13afdf
15586 .xword 0xe2fb8db92812c8e5
15587 .xword 0x91a07666a9739327
15588 .xword 0x3576f55e96f1419f
15589 .xword 0x20ced70dacd76103
15590 .xword 0xfada5462903ca1c0
15591 .xword 0x9f21eae82979048b
15592 .xword 0xa50ce6ec40438b96
15593 .xword 0x0c6e370c64d8c6a3
15594 .xword 0xa7bc0761eae5e3f8
15595 .xword 0x475ba2d36bec1072
15596 .xword 0xba771629b27fb8ad
15597 .xword 0xa668bd74dabec926
15598 .xword 0x66d1aeacaaaaac2b
15599
15600
15601
15602SECTION .MyDATA_1 TEXT_VA = 0x00000000e0340000, DATA_VA = 0x0000000060340000
15603attr_data {
15604 Name = .MyDATA_1,
15605 RA = 0x0000000170300000,
15606 PA = ra2pa(0x0000000170300000,0),
15607 part_0_ctx_zero_tsb_config_0,
15608 part_0_ctx_nonzero_tsb_config_0,
15609 TTE_G = 1,
15610 TTE_Context = PCONTEXT,
15611 TTE_V = 1,
15612 TTE_Size = 3,
15613 TTE_NFO = 0,
15614 TTE_IE = 1,
15615 TTE_Soft2 = 0,
15616 TTE_Diag = 0,
15617 TTE_Soft = 0,
15618 TTE_L = 0,
15619 TTE_CP = 0,
15620 TTE_CV = 1,
15621 TTE_E = 1,
15622 TTE_P = 1,
15623 TTE_W = 0
15624}
15625
15626
15627attr_data {
15628 Name = .MyDATA_1,
15629 RA = 0x0000000170300000,
15630 PA = ra2pa(0x0000000170300000,0),
15631 part_0_ctx_zero_tsb_config_1,
15632 part_0_ctx_nonzero_tsb_config_1,
15633 TTE_G = 1,
15634 TTE_Context = SCONTEXT,
15635 TTE_V = 1,
15636 TTE_Size = 0,
15637 TTE_NFO = 0,
15638 TTE_IE = 1,
15639 TTE_Soft2 = 0,
15640 TTE_Diag = 0,
15641 TTE_Soft = 0,
15642 TTE_L = 0,
15643 TTE_CP = 0,
15644 TTE_CV = 0,
15645 TTE_E = 0,
15646 TTE_P = 0,
15647 TTE_W = 0,
15648 tsbonly
15649}
15650
15651
15652attr_data {
15653 Name = .MyDATA_1,
15654 hypervisor
15655}
15656
15657
15658attr_text {
15659 Name = .MyDATA_1,
15660 hypervisor
15661}
15662
15663.data
15664 .xword 0xc84da1f86e589c42
15665 .xword 0xdceb8db057cd341b
15666 .xword 0xc35b26032b8eea7f
15667 .xword 0xb06ec9c9df7183a0
15668 .xword 0xd5885e3d01e85314
15669 .xword 0xf79f1c1db2b3650e
15670 .xword 0x7fca549eb07e26c0
15671 .xword 0x89e4ab76294c29f6
15672 .xword 0x54b0ec9c106d3b24
15673 .xword 0x372fd7d9b953682d
15674 .xword 0x998fcc8cf06c2486
15675 .xword 0x638a76e44060ca6d
15676 .xword 0x6de99b8bb9f691b0
15677 .xword 0x8342fb98b2edc8da
15678 .xword 0x9a236a3ffa63720b
15679 .xword 0xa056103eb2d58d37
15680 .xword 0xed6428f6dd38083f
15681 .xword 0x1965c4d8ba35cd8f
15682 .xword 0xf99312c9cc62cfbd
15683 .xword 0x7663321752941628
15684 .xword 0x58750fbd229a79a5
15685 .xword 0x7b5bcfb1f2397308
15686 .xword 0x01fe3e2de2bfa552
15687 .xword 0xecee1ac42bd87302
15688 .xword 0xfd511b9f8f8d8072
15689 .xword 0xac208cc80b5bc50b
15690 .xword 0x88ba5ca14e4a49c1
15691 .xword 0xd04b3ed9c011a6bc
15692 .xword 0x725af881055fa76a
15693 .xword 0xbfada8dd4a21f7fe
15694 .xword 0x8aa4520713c27c7c
15695 .xword 0x9a1192358704cd12
15696
15697
15698
15699SECTION .MyDATA_2 TEXT_VA = 0x00000000e0540000, DATA_VA = 0x0000000060540000
15700attr_data {
15701 Name = .MyDATA_2,
15702 RA = 0x0000000170500000,
15703 PA = ra2pa(0x0000000170500000,0),
15704 part_0_ctx_zero_tsb_config_0,
15705 part_0_ctx_nonzero_tsb_config_0,
15706 TTE_G = 1,
15707 TTE_Context = PCONTEXT,
15708 TTE_V = 1,
15709 TTE_Size = 5,
15710 TTE_NFO = 1,
15711 TTE_IE = 0,
15712 TTE_Soft2 = 0,
15713 TTE_Diag = 0,
15714 TTE_Soft = 0,
15715 TTE_L = 0,
15716 TTE_CP = 0,
15717 TTE_CV = 0,
15718 TTE_E = 0,
15719 TTE_P = 0,
15720 TTE_W = 1
15721}
15722
15723
15724attr_data {
15725 Name = .MyDATA_2,
15726 RA = 0x0000000170500000,
15727 PA = ra2pa(0x0000000170500000,0),
15728 part_0_ctx_zero_tsb_config_1,
15729 part_0_ctx_nonzero_tsb_config_1,
15730 TTE_G = 1,
15731 TTE_Context = SCONTEXT,
15732 TTE_V = 1,
15733 TTE_Size = 3,
15734 TTE_NFO = 0,
15735 TTE_IE = 0,
15736 TTE_Soft2 = 0,
15737 TTE_Diag = 0,
15738 TTE_Soft = 0,
15739 TTE_L = 0,
15740 TTE_CP = 0,
15741 TTE_CV = 1,
15742 TTE_E = 0,
15743 TTE_P = 0,
15744 TTE_W = 1,
15745 tsbonly
15746}
15747
15748
15749attr_data {
15750 Name = .MyDATA_2,
15751 hypervisor
15752}
15753
15754
15755attr_text {
15756 Name = .MyDATA_2,
15757 hypervisor
15758}
15759
15760.data
15761 .xword 0xb9c1f2a9e1016fa9
15762 .xword 0xf32964ff79de0948
15763 .xword 0xcabdb2e190bbd4e4
15764 .xword 0xf818cfaad8f77a20
15765 .xword 0x6e525378361e58b0
15766 .xword 0x8df894575a682156
15767 .xword 0x89c9b110e4dce85d
15768 .xword 0xbe8609c2d31ceb20
15769 .xword 0x5232283fc6625a5c
15770 .xword 0xf53bb0d961ca0682
15771 .xword 0xb212332159e4148a
15772 .xword 0x1e11f31efbbc7060
15773 .xword 0x10609b36c692b1ec
15774 .xword 0xd17e6da2cf82eb59
15775 .xword 0xd613b219cc14ce52
15776 .xword 0xd001720b77ee8358
15777 .xword 0xd89757f2587954f6
15778 .xword 0xd16c0da89ce957f8
15779 .xword 0x347942f2741a5958
15780 .xword 0xfda7c795ec8a958f
15781 .xword 0x6fd416c8f4d3e273
15782 .xword 0xefb9c04f8b8fdd64
15783 .xword 0xc22ea02c51d26b30
15784 .xword 0xcf5363c59f30dfe1
15785 .xword 0xdc2bf86cc529783c
15786 .xword 0x9c87637485ac1312
15787 .xword 0xa01056eb4dc5954f
15788 .xword 0x4ce0f11e8c3582de
15789 .xword 0x68d0bb46e216ac40
15790 .xword 0x932c02c1a5728cc0
15791 .xword 0x1b09c6d76ee1908b
15792 .xword 0xb1e4912807f25710
15793
15794
15795
15796SECTION .MyDATA_3 TEXT_VA = 0x00000000e0740000, DATA_VA = 0x0000000060740000
15797attr_data {
15798 Name = .MyDATA_3,
15799 RA = 0x0000000170700000,
15800 PA = ra2pa(0x0000000170700000,0),
15801 part_0_ctx_zero_tsb_config_0,
15802 part_0_ctx_nonzero_tsb_config_0,
15803 TTE_G = 1,
15804 TTE_Context = PCONTEXT,
15805 TTE_V = 1,
15806 TTE_Size = 1,
15807 TTE_NFO = 1,
15808 TTE_IE = 0,
15809 TTE_Soft2 = 0,
15810 TTE_Diag = 0,
15811 TTE_Soft = 0,
15812 TTE_L = 0,
15813 TTE_CP = 1,
15814 TTE_CV = 0,
15815 TTE_E = 0,
15816 TTE_P = 1,
15817 TTE_W = 1
15818}
15819
15820
15821attr_data {
15822 Name = .MyDATA_3,
15823 RA = 0x0000000170700000,
15824 PA = ra2pa(0x0000000170700000,0),
15825 part_0_ctx_zero_tsb_config_1,
15826 part_0_ctx_nonzero_tsb_config_1,
15827 TTE_G = 1,
15828 TTE_Context = SCONTEXT,
15829 TTE_V = 1,
15830 TTE_Size = 5,
15831 TTE_NFO = 1,
15832 TTE_IE = 1,
15833 TTE_Soft2 = 0,
15834 TTE_Diag = 0,
15835 TTE_Soft = 0,
15836 TTE_L = 0,
15837 TTE_CP = 0,
15838 TTE_CV = 1,
15839 TTE_E = 0,
15840 TTE_P = 0,
15841 TTE_W = 0,
15842 tsbonly
15843}
15844
15845
15846attr_data {
15847 Name = .MyDATA_3,
15848 hypervisor
15849}
15850
15851
15852attr_text {
15853 Name = .MyDATA_3,
15854 hypervisor
15855}
15856
15857.data
15858 .xword 0xc5c0385a1714ccdc
15859 .xword 0x2cab4127bd7778c2
15860 .xword 0xc989333f9a6c7ea5
15861 .xword 0x43a0337125e270ea
15862 .xword 0x18958cc820f9c2c6
15863 .xword 0x9a9442c12af8d295
15864 .xword 0xf83987708a1ba285
15865 .xword 0xe8cf464e00ce9929
15866 .xword 0x92d8f0a15ae5cb4e
15867 .xword 0x2280d7fbe5fbe1bb
15868 .xword 0x4c225e2b214489f2
15869 .xword 0x6ee0db793f4d16df
15870 .xword 0x9ffd1c88841fd490
15871 .xword 0xe23ccff2a0f9d538
15872 .xword 0x523ea82305eca2b7
15873 .xword 0xfcf9a7a7221e3495
15874 .xword 0xa8fd8a2e4dacb0d6
15875 .xword 0x3064f50df698cb89
15876 .xword 0x2e66cdc866c8ada4
15877 .xword 0x9a03e0ad0a874a82
15878 .xword 0xea6667dab6548258
15879 .xword 0x6ce026fc73cac752
15880 .xword 0x1e1e7103554b986b
15881 .xword 0xb27b0643b2e50521
15882 .xword 0xac54c3d5009cea2d
15883 .xword 0x81a851d0ed771b62
15884 .xword 0x2c1e7201f42e247e
15885 .xword 0xc057b39e0b9f47ef
15886 .xword 0xf91df0a6bb4920a0
15887 .xword 0xcda4bc6d32560d68
15888 .xword 0xdcbe5d7fd74359f0
15889 .xword 0x02437f9b37f5213c
15890
15891
15892
15893
15894
15895SECTION .MyTEXT_0 TEXT_VA = 0x00000000e0200000
15896attr_text {
15897 Name = .MyTEXT_0,
15898 RA = 0x00000000e0200000,
15899 PA = ra2pa(0x00000000e0200000,0),
15900 part_0_ctx_zero_tsb_config_1,
15901 part_0_ctx_nonzero_tsb_config_1,
15902 TTE_G = 1,
15903 TTE_Context = PCONTEXT,
15904 TTE_V = 1,
15905 TTE_Size = 1,
15906 TTE_NFO = 0,
15907 TTE_IE = 1,
15908 TTE_Soft2 = 0,
15909 TTE_Diag = 0,
15910 TTE_Soft = 0,
15911 TTE_L = 0,
15912 TTE_CP = 0,
15913 TTE_CV = 0,
15914 TTE_E = 0,
15915 TTE_P = 1,
15916 TTE_W = 1
15917}
15918
15919.text
15920nuff_said_0:
15921 fdivd %f0, %f4, %f6
15922 jmpl %r27+8, %r0
15923 fdivs %f0, %f4, %f4
15924
15925
15926
15927SECTION .MyTEXT_1 TEXT_VA = 0x00000000e0a00000
15928attr_text {
15929 Name = .MyTEXT_1,
15930 RA = 0x00000000e0a00000,
15931 PA = ra2pa(0x00000000e0a00000,0),
15932 part_0_ctx_zero_tsb_config_1,
15933 part_0_ctx_nonzero_tsb_config_1,
15934 TTE_G = 1,
15935 TTE_Context = PCONTEXT,
15936 TTE_V = 1,
15937 TTE_Size = 5,
15938 TTE_NFO = 0,
15939 TTE_IE = 0,
15940 TTE_Soft2 = 0,
15941 TTE_Diag = 0,
15942 TTE_Soft = 0,
15943 TTE_L = 0,
15944 TTE_CP = 0,
15945 TTE_CV = 1,
15946 TTE_E = 0,
15947 TTE_P = 1,
15948 TTE_W = 1
15949}
15950
15951.text
15952nuff_said_1:
15953 fdivs %f0, %f4, %f6
15954 jmpl %r27+8, %r0
15955 fdivd %f0, %f4, %f4
15956
15957
15958
15959SECTION .MyTEXT_2 TEXT_VA = 0x00000000e1200000
15960attr_text {
15961 Name = .MyTEXT_2,
15962 RA = 0x00000000e1200000,
15963 PA = ra2pa(0x00000000e1200000,0),
15964 part_0_ctx_zero_tsb_config_1,
15965 part_0_ctx_nonzero_tsb_config_1,
15966 TTE_G = 1,
15967 TTE_Context = PCONTEXT,
15968 TTE_V = 1,
15969 TTE_Size = 1,
15970 TTE_NFO = 1,
15971 TTE_IE = 0,
15972 TTE_Soft2 = 0,
15973 TTE_Diag = 0,
15974 TTE_Soft = 0,
15975 TTE_L = 0,
15976 TTE_CP = 0,
15977 TTE_CV = 0,
15978 TTE_E = 1,
15979 TTE_P = 1,
15980 TTE_W = 0
15981}
15982
15983.text
15984nuff_said_2:
15985 fdivd %f0, %f4, %f8
15986 jmpl %r27+8, %r0
15987 fdivs %f0, %f4, %f8
15988
15989
15990
15991SECTION .MyTEXT_3 TEXT_VA = 0x00000000e1a00000
15992attr_text {
15993 Name = .MyTEXT_3,
15994 RA = 0x00000000e1a00000,
15995 PA = ra2pa(0x00000000e1a00000,0),
15996 part_0_ctx_zero_tsb_config_1,
15997 part_0_ctx_nonzero_tsb_config_1,
15998 TTE_G = 1,
15999 TTE_Context = PCONTEXT,
16000 TTE_V = 1,
16001 TTE_Size = 1,
16002 TTE_NFO = 1,
16003 TTE_IE = 0,
16004 TTE_Soft2 = 0,
16005 TTE_Diag = 0,
16006 TTE_Soft = 0,
16007 TTE_L = 0,
16008 TTE_CP = 1,
16009 TTE_CV = 1,
16010 TTE_E = 0,
16011 TTE_P = 0,
16012 TTE_W = 0
16013}
16014
16015.text
16016nuff_said_3:
16017 fdivs %f0, %f4, %f4
16018 jmpl %r27+8, %r0
16019 fdivd %f0, %f4, %f8
16020
16021
16022
16023
16024
16025SECTION .VaHOLE_0 TEXT_VA = 0x00007fffffffe000
16026attr_text {
16027 Name = .VaHOLE_0,
16028 RA = 0x00000000ffffe000,
16029 PA = ra2pa(0x00000000ffffe000,0),
16030 part_0_ctx_zero_tsb_config_1,
16031 part_0_ctx_nonzero_tsb_config_1,
16032 TTE_G = 1,
16033 TTE_Context = PCONTEXT,
16034 TTE_V = 1,
16035 TTE_Size = 0,
16036 TTE_NFO = 0,
16037 TTE_IE = 1,
16038 TTE_Soft2 = 0,
16039 TTE_Diag = 0,
16040 TTE_Soft = 0,
16041 TTE_L = 0,
16042 TTE_CP = 0,
16043 TTE_CV = 1,
16044 TTE_E = 1,
16045 TTE_P = 0,
16046 TTE_W = 1,
16047 TTE_X = 1
16048}
16049
16050.text
16051.global vahole_target
16052 nop
16053.align 4096
16054 nop
16055.align 2048
16056 nop
16057.align 1024
16058 nop
16059.align 512
16060 nop
16061.align 256
16062 nop
16063.align 128
16064 nop
16065.align 64
16066 nop
16067.align 32
16068 nop
16069.align 16
16070 nop
16071vahole_target: ba vahole_target2
16072vahole_target1: nop
16073vahole_target2: nop
16074
16075
16076
16077
16078
16079SECTION .VaHOLEL_0 TEXT_VA = 0x00000000ffffe000
16080attr_text {
16081 Name = .VaHOLEL_0,
16082 RA = 0x00000000ffffe000,
16083 PA = ra2pa(0x00000000ffffe000,0),
16084 part_0_ctx_zero_tsb_config_0,
16085 part_0_ctx_nonzero_tsb_config_0,
16086 TTE_G = 1,
16087 TTE_Context = PCONTEXT,
16088 TTE_V = 1,
16089 TTE_Size = 3,
16090 TTE_NFO = 0,
16091 TTE_IE = 0,
16092 TTE_Soft2 = 0,
16093 TTE_Diag = 0,
16094 TTE_Soft = 0,
16095 TTE_L = 0,
16096 TTE_CP = 1,
16097 TTE_CV = 0,
16098 TTE_E = 1,
16099 TTE_P = 0,
16100 TTE_W = 0,
16101 TTE_X = 1,
16102 tsbonly
16103}
16104
16105.text
16106 nop
16107
16108
16109
16110SECTION .MASKEDHOLE TEXT_VA = 0x0000000100000000
16111attr_text {
16112 Name = .MASKEDHOLE,
16113 RA = 0x0000000000000000,
16114 PA = ra2pa(0x0000000000000000,0),
16115 part_0_ctx_zero_tsb_config_3,
16116 part_0_ctx_nonzero_tsb_config_3,
16117 TTE_G = 1, TTE_Context = 0x44, TTE_V = 1, TTE_Size = 1,
16118 TTE_NFO = 0, TTE_IE = 1, TTE_Soft2 = 0, TTE_Diag = 0,
16119 TTE_Soft = 0, TTE_L = 0, TTE_CP = 1, TTE_CV = 0,
16120 TTE_E = 0, TTE_P = 0, TTE_W = 1, TTE_X = 1
16121 tsbonly
16122}
16123
16124
16125.text
16126 nop
16127 nop
16128 jmpl %r27+8, %r0
16129 nop
16130 nop
16131 nop
16132 nop
16133 nop
16134
16135
16136SECTION .ZERO_0 TEXT_VA = 0x0000000000000000
16137attr_text {
16138 Name = .ZERO_0,
16139 RA = 0x0000000000000000,
16140 PA = ra2pa(0x0000000000000000,0),
16141 part_0_ctx_zero_tsb_config_1,
16142 part_0_ctx_nonzero_tsb_config_1,
16143 TTE_G = 1,
16144 TTE_Context = 0x44,
16145 TTE_V = 1,
16146 TTE_Size = 1,
16147 TTE_NFO = 0,
16148 TTE_IE = 1,
16149 TTE_Soft2 = 0,
16150 TTE_Diag = 0,
16151 TTE_Soft = 0,
16152 TTE_L = 0,
16153 TTE_CP = 0,
16154 TTE_CV = 0,
16155 TTE_E = 1,
16156 TTE_P = 0,
16157 TTE_W = 1,
16158 TTE_X = 1
16159}
16160
16161.text
16162 nop
16163 nop
16164 jmpl %r27+8, %r0
16165 nop
16166
16167
16168
16169#if 0
16170#endif
16171