Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / verif / diag / assembly / uarch / tlu / diag / tlu_rand05_ind_04_27_2.s
CommitLineData
86530b38
AT
1/*
2* ========== Copyright Header Begin ==========================================
3*
4* OpenSPARC T2 Processor File: tlu_rand05_ind_04_27_2.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# 441 "diag.j"
62#define H_HT0_Instruction_Access_MMU_Error_0x71 inst_access_mmu_error_handler
63#define H_HT0_Instruction_access_error_0x0a inst_access_error_handler
64#define H_HT0_Internal_Processor_Error_0x29 int_proc_err_handler
65#define H_HT0_Data_Access_MMU_Error_0x72 data_access_mmu_error_handler
66#define H_HT0_Data_access_error_0x32 data_access_error_handler
67#define H_HT0_Hw_Corrected_Error_0x63 hw_corrected_error_handler
68#define H_HT0_Sw_Recoverable_Error_0x40 sw_recoverable_error_handler
69#define H_HT0_Store_Error_0x07 store_error_handler
70
71#define DAE_SKIP_IF_SOCU_ERROR
72# 5 "/import/n2-aus-localdir1/somePerson/n2cdmspp/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
73#ifndef T_HANDLER_RAND4_1
74#define T_HANDLER_RAND4_1 b .+16;\
75 sdiv %r1, %r0, %l4;nop;nop
76#endif
77#ifndef T_HANDLER_RAND7_1
78#define T_HANDLER_RAND7_1 b .+28;\
79 pdist %f4, %f6, %f20; \
80 nop; nop ; nop; nop; illtrap
81#endif
82#ifndef T_HANDLER_RAND4_2
83#define T_HANDLER_RAND4_2 save %i7, %g0, %i7; \
84 save %i7, %g0, %i7; \
85 restore %i7, %g0, %i7;\
86 restore %i7, %g0, %i7;
87#endif
88#ifndef T_HANDLER_RAND7_2
89#define T_HANDLER_RAND7_2 b .+8 ;\
90 rdpr %pstate, %l2;\
91 b .+8 ;\
92 rdpr %tstate, %l3;\
93 b .+12 ;\
94 wrpr %l3, %r0, %tstate; nop
95#endif
96#ifndef T_HANDLER_RAND4_3
97#define T_HANDLER_RAND4_3 save %i7, %g0, %i7;\
98 restore %i7, %g0, %i7;\
99 save %i7, %g0, %i7; \
100 restore %i7, %g0, %i7;
101#endif
102#ifndef T_HANDLER_RAND7_3
103#define T_HANDLER_RAND7_3 b .+8 ;\
104 rdpr %tnpc, %l2;\
105 and %l2, 0xfc0, %l2;\
106 add %i7, %l2, %l2;\
107 stda %f16,[%i7]ASI_BLOCK_AS_IF_USER_PRIMARY ;\
108 b .+8 ;\
109 stda %f0,[%i7]ASI_BLOCK_AS_IF_USER_PRIMARY_LITTLE ;
110#endif
111#ifndef T_HANDLER_RAND4_4
112#define T_HANDLER_RAND4_4 b .+4 ; b .+4; b .+4; b .+4
113#endif
114#ifndef T_HANDLER_RAND7_4
115#define T_HANDLER_RAND7_4 b .+8;\
116 save %i7, %g0, %i7; \
117 b,a .+8;\
118 b .+12;\
119 stw %i7, [%i7];\
120 b .-8;;\
121 restore %i7, %g0, %i7;
122
123#endif
124#ifndef T_HANDLER_RAND4_5
125#define T_HANDLER_RAND4_5 ldda [%r31]ASI_NUCLEUS_QUAD_LDD, %l4;\
126 sdiv %l4, %l5, %l7;\
127 add %r31, 128, %l5;\
128 stda %l4, [%i7]ASI_BLOCK_PRIMARY_LITTLE;
129#endif
130#ifndef T_HANDLER_RAND7_5
131#define T_HANDLER_RAND7_5 save %i7, %g0, %i7;\
132 rdpr %tnpc, %l2;\
133 wrpr %l2, %tpc;\
134 add %l2, 4, %l2;\
135 wrpr %l2, %tnpc;\
136 restore %i7, %g0, %i7;\
137 retry;
138#endif
139#ifndef T_HANDLER_RAND4_6
140#define T_HANDLER_RAND4_6 ldda [%r31]ASI_BLOCK_AS_IF_USER_PRIMARY, %l2;\
141 rd %fprs, %l2; \
142 wr %l2, 0x4, %fprs ;\
143 stda %f0,[%r31]ASI_BLOCK_AS_IF_USER_PRIMARY_LITTLE;
144#endif
145#ifndef T_HANDLER_RAND7_6
146#define T_HANDLER_RAND7_6 umul %o4, 2, %o5;\
147 rdpr %tnpc, %l2;\
148 wrpr %l2, %tpc;\
149 add %l2, 4, %l2;\
150 wrpr %l2, %tnpc;\
151 stw %l2, [%i7];\
152 retry;
153#endif
154!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
155#ifndef HT_HANDLER_RAND4_1
156#define HT_HANDLER_RAND4_1 mov 0x80, %l3;\
157 b .+12;\
158 stxa %l3, [%l3]0x57 ;\
159 nop
160#endif
161#ifndef HT_HANDLER_RAND7_1
162#define HT_HANDLER_RAND7_1 b .+28;\
163 pdist %f4, %f4, %f20;\
164 nop; nop ; nop; nop; illtrap
165#endif
166#ifndef HT_HANDLER_RAND4_2
167#define HT_HANDLER_RAND4_2 rdpr %tstate, %l2;\
168 b .+12;\
169 wrpr %l2, 0x800, %tstate;\
170 nop;
171#endif
172#ifndef HT_HANDLER_RAND7_2
173#define HT_HANDLER_RAND7_2 b .+8 ;\
174 rdhpr %hpstate, %l2;\
175 b .+8 ;\
176 rdhpr %htstate, %l3;\
177 b .+12 ;\
178 wrhpr %l3, %r0, %htstate; nop
179#endif
180#ifndef HT_HANDLER_RAND4_3
181#define HT_HANDLER_RAND4_3 stxa %l4, [%r31]ASI_AS_IF_USER_PRIMARY;\
182 mov 0x80, %l3;\
183 stxa %l3, [%l3]0x5f ;\
184 b .+8 ;\
185 ldxa [%r31]ASI_AS_IF_USER_PRIMARY, %l4;
186#endif
187#ifndef HT_HANDLER_RAND7_3
188#define HT_HANDLER_RAND7_3 b .+8 ;\
189 rdpr %tnpc, %l2;\
190 and %l2, 0xfc0, %l2;\
191 add %i7, %l2, %l2;\
192 stda %f16,[%i7]ASI_BLOCK_AS_IF_USER_PRIMARY ;\
193 b .+8 ;\
194 stda %f0,[%i7]ASI_BLOCK_AS_IF_USER_PRIMARY_LITTLE ;
195#endif
196#ifndef HT_HANDLER_RAND4_4
197#define HT_HANDLER_RAND4_4 ldda [%i7]ASI_BLOCK_AS_IF_USER_PRIMARY_LITTLE, %l3;\
198 b .+12 ;\
199 stxa %l3, [%g0]ASI_LSU_CONTROL; nop
200#endif
201#ifndef HT_HANDLER_RAND7_4
202#define HT_HANDLER_RAND7_4 rdpr %tnpc, %l3;\
203 and %l3, 0xff, %l3;\
204 sllx %l3, 26, %l3;\
205 ldxa [%g0]0x45, %l4;\
206 or %l3, %l4, %l3 ;\
207 stxa %l3, [%g0]0x45 ;\
208 nop;
209#endif
210#ifndef HT_HANDLER_RAND4_5
211#define HT_HANDLER_RAND4_5 ldda [%r31]ASI_NUCLEUS_QUAD_LDD, %l4;\
212 sdiv %l4, %l5, %l6;\
213 sdiv %l3, %l6, %l7;\
214 stda %f32, [%r31]ASI_BLOCK_PRIMARY_LITTLE;
215#endif
216#ifndef HT_HANDLER_RAND7_5
217#define HT_HANDLER_RAND7_5 save %i7, %g0, %i7;\
218 rdpr %tnpc, %l2;\
219 wrpr %l2, %tpc;\
220 add %l2, 4, %l2;\
221 wrpr %l2, %tnpc;\
222 restore %i7, %g0, %i7;\
223 retry;
224#endif
225#ifndef HT_HANDLER_RAND4_6
226#define HT_HANDLER_RAND4_6 ld [%r31], %l2;\
227 rd %fprs, %l2; \
228 wr %l2, 0x4, %fprs ;\
229 stda %f0,[%i7]ASI_BLOCK_AS_IF_USER_PRIMARY_LITTLE;
230#endif
231#ifndef HT_HANDLER_RAND7_6
232#define HT_HANDLER_RAND7_6 rdhpr %htstate, %o4;\
233 rdpr %tnpc, %l2;\
234 wrpr %l2, %tpc;\
235 add %l2, 4, %l2;\
236 wrpr %l2, %tnpc;\
237 wrhpr %o4, %r0, %htstate;\
238 retry;
239#endif
240
241!!!!!!!!!!!!!!!!!!!!!!!!!
242!! Disable trap checking
243#define NO_TRAPCHECK
244
245! Enable Traps
246#define ENABLE_T1_Privileged_Opcode_0x11
247#define ENABLE_T1_Fp_Disabled_0x20
248#define ENABLE_HT0_Watchdog_Reset_0x02
249
250#define FILL_TRAP_RETRY
251#define SPILL_TRAP_RETRY
252#define CLEAN_WIN_RETRY
253
254#define My_RED_Mode_Other_Reset
255#define My_RED_Mode_Other_Reset \
256 ba red_other_ext;\
257 nop;retry;nop;nop;nop;nop;nop
258
259#define H_HT0_Software_Initiated_Reset_0x04
260#define SUN_H_HT0_Software_Initiated_Reset_0x04 \
261 setx Software_Reset_Handler, %g1, %g2 ;\
262 jmp %g2 ;\
263 nop
264# 198 "/import/n2-aus-localdir1/somePerson/n2cdmspp/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
265#define H_T1_Clean_Window_0x24
266#define SUN_H_T1_Clean_Window_0x24 \
267 rdpr %cleanwin, %l1;\
268 add %l1,1,%l1;\
269 wrpr %l1, %g0, %cleanwin;\
270 retry; nop; nop; nop; nop
271
272#define H_T1_Clean_Window_0x25
273#define SUN_H_T1_Clean_Window_0x25 \
274 rdpr %cleanwin, %l1;\
275 add %l1,1,%l1;\
276 wrpr %l1, %g0, %cleanwin;\
277 retry; nop; nop; nop; nop
278
279#define H_T1_Clean_Window_0x26
280#define SUN_H_T1_Clean_Window_0x26 \
281 rdpr %cleanwin, %l1;\
282 add %l1,1,%l1;\
283 wrpr %l1, %g0, %cleanwin;\
284 retry; nop; nop; nop; nop
285
286#define H_T1_Clean_Window_0x27
287#define SUN_H_T1_Clean_Window_0x27 \
288 rdpr %cleanwin, %l1;\
289 add %l1,1,%l1;\
290 wrpr %l1, %g0, %cleanwin;\
291 retry; nop; nop; nop; nop
292# 227 "/import/n2-aus-localdir1/somePerson/n2cdmspp/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
293#define H_HT0_Tag_Overflow
294#define My_HT0_Tag_Overflow \
295 HT_HANDLER_RAND7_1 ;\
296 done
297
298#define H_T0_Tag_Overflow
299#define My_T0_Tag_Overflow \
300 T_HANDLER_RAND7_2 ;\
301 done
302
303#define H_T1_Tag_Overflow_0x23
304#define SUN_H_T1_Tag_Overflow_0x23 \
305 T_HANDLER_RAND7_3 ;\
306 done
307
308#define H_T0_Window_Spill_0_Normal_Trap
309#define SUN_H_T0_Window_Spill_0_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
310
311#define H_T0_Window_Spill_1_Normal_Trap
312#define SUN_H_T0_Window_Spill_1_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
313
314#define H_T0_Window_Spill_2_Normal_Trap
315#define SUN_H_T0_Window_Spill_2_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
316
317#define H_T0_Window_Spill_3_Normal_Trap
318#define SUN_H_T0_Window_Spill_3_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
319
320#define H_T0_Window_Spill_4_Normal_Trap
321#define SUN_H_T0_Window_Spill_4_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
322
323#define H_T0_Window_Spill_5_Normal_Trap
324#define SUN_H_T0_Window_Spill_5_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
325
326#define H_T0_Window_Spill_6_Normal_Trap
327#define SUN_H_T0_Window_Spill_6_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
328
329#define H_T0_Window_Spill_7_Normal_Trap
330#define SUN_H_T0_Window_Spill_7_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
331
332#define H_T0_Window_Spill_0_Other_Trap
333#define SUN_H_T0_Window_Spill_0_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
334
335#define H_T0_Window_Spill_1_Other_Trap
336#define SUN_H_T0_Window_Spill_1_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
337
338#define H_T0_Window_Spill_2_Other_Trap
339#define SUN_H_T0_Window_Spill_2_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
340
341#define H_T0_Window_Spill_3_Other_Trap
342#define SUN_H_T0_Window_Spill_3_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
343
344#define H_T0_Window_Spill_4_Other_Trap
345#define SUN_H_T0_Window_Spill_4_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
346
347#define H_T0_Window_Spill_5_Other_Trap
348#define SUN_H_T0_Window_Spill_5_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
349
350#define H_T0_Window_Spill_6_Other_Trap
351#define SUN_H_T0_Window_Spill_6_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
352
353#define H_T0_Window_Spill_7_Other_Trap
354#define SUN_H_T0_Window_Spill_7_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
355
356#define H_T0_Window_Fill_0_Normal_Trap
357#define SUN_H_T0_Window_Fill_0_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
358
359#define H_T0_Window_Fill_1_Normal_Trap
360#define SUN_H_T0_Window_Fill_1_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
361
362#define H_T0_Window_Fill_2_Normal_Trap
363#define SUN_H_T0_Window_Fill_2_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
364
365#define H_T0_Window_Fill_3_Normal_Trap
366#define SUN_H_T0_Window_Fill_3_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
367
368#define H_T0_Window_Fill_4_Normal_Trap
369#define SUN_H_T0_Window_Fill_4_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
370
371#define H_T0_Window_Fill_5_Normal_Trap
372#define SUN_H_T0_Window_Fill_5_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
373
374#define H_T0_Window_Fill_6_Normal_Trap
375#define SUN_H_T0_Window_Fill_6_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
376
377#define H_T0_Window_Fill_7_Normal_Trap
378#define SUN_H_T0_Window_Fill_7_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
379
380#define H_T0_Window_Fill_0_Other_Trap
381#define SUN_H_T0_Window_Fill_0_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
382
383#define H_T0_Window_Fill_1_Other_Trap
384#define SUN_H_T0_Window_Fill_1_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
385
386#define H_T0_Window_Fill_2_Other_Trap
387#define SUN_H_T0_Window_Fill_2_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
388
389#define H_T0_Window_Fill_3_Other_Trap
390#define SUN_H_T0_Window_Fill_3_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
391
392#define H_T0_Window_Fill_4_Other_Trap
393#define SUN_H_T0_Window_Fill_4_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
394
395#define H_T0_Window_Fill_5_Other_Trap
396#define SUN_H_T0_Window_Fill_5_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
397
398#define H_T0_Window_Fill_6_Other_Trap
399#define SUN_H_T0_Window_Fill_6_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
400
401#define H_T0_Window_Fill_7_Other_Trap
402#define SUN_H_T0_Window_Fill_7_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
403# 339 "/import/n2-aus-localdir1/somePerson/n2cdmspp/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
404#define H_T1_Window_Spill_0_Normal_Trap
405#define SUN_H_T1_Window_Spill_0_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
406
407#define H_T1_Window_Spill_1_Normal_Trap
408#define SUN_H_T1_Window_Spill_1_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
409
410#define H_T1_Window_Spill_2_Normal_Trap
411#define SUN_H_T1_Window_Spill_2_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
412
413#define H_T1_Window_Spill_3_Normal_Trap
414#define SUN_H_T1_Window_Spill_3_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
415
416#define H_T1_Window_Spill_4_Normal_Trap
417#define SUN_H_T1_Window_Spill_4_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
418
419#define H_T1_Window_Spill_5_Normal_Trap
420#define SUN_H_T1_Window_Spill_5_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
421
422#define H_T1_Window_Spill_6_Normal_Trap
423#define SUN_H_T1_Window_Spill_6_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
424
425#define H_T1_Window_Spill_7_Normal_Trap
426#define SUN_H_T1_Window_Spill_7_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
427
428#define H_T1_Window_Spill_0_Other_Trap
429#define SUN_H_T1_Window_Spill_0_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
430
431#define H_T1_Window_Spill_1_Other_Trap
432#define SUN_H_T1_Window_Spill_1_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
433
434#define H_T1_Window_Spill_2_Other_Trap
435#define SUN_H_T1_Window_Spill_2_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
436
437#define H_T1_Window_Spill_3_Other_Trap
438#define SUN_H_T1_Window_Spill_3_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
439
440#define H_T1_Window_Spill_4_Other_Trap
441#define SUN_H_T1_Window_Spill_4_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
442
443#define H_T1_Window_Spill_5_Other_Trap
444#define SUN_H_T1_Window_Spill_5_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
445
446#define H_T1_Window_Spill_6_Other_Trap
447#define SUN_H_T1_Window_Spill_6_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
448
449#define H_T1_Window_Spill_7_Other_Trap
450#define SUN_H_T1_Window_Spill_7_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
451
452#define H_T1_Window_Fill_0_Normal_Trap
453#define SUN_H_T1_Window_Fill_0_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
454
455#define H_T1_Window_Fill_1_Normal_Trap
456#define SUN_H_T1_Window_Fill_1_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
457
458#define H_T1_Window_Fill_2_Normal_Trap
459#define SUN_H_T1_Window_Fill_2_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
460
461#define H_T1_Window_Fill_3_Normal_Trap
462#define SUN_H_T1_Window_Fill_3_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
463
464#define H_T1_Window_Fill_4_Normal_Trap
465#define SUN_H_T1_Window_Fill_4_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
466
467#define H_T1_Window_Fill_5_Normal_Trap
468#define SUN_H_T1_Window_Fill_5_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
469
470#define H_T1_Window_Fill_6_Normal_Trap
471#define SUN_H_T1_Window_Fill_6_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
472
473#define H_T1_Window_Fill_7_Normal_Trap
474#define SUN_H_T1_Window_Fill_7_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
475
476#define H_T1_Window_Fill_0_Other_Trap
477#define SUN_H_T1_Window_Fill_0_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
478
479#define H_T1_Window_Fill_1_Other_Trap
480#define SUN_H_T1_Window_Fill_1_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
481
482#define H_T1_Window_Fill_2_Other_Trap
483#define SUN_H_T1_Window_Fill_2_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
484
485#define H_T1_Window_Fill_3_Other_Trap
486#define SUN_H_T1_Window_Fill_3_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
487
488#define H_T1_Window_Fill_4_Other_Trap
489#define SUN_H_T1_Window_Fill_4_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
490
491#define H_T1_Window_Fill_5_Other_Trap
492#define SUN_H_T1_Window_Fill_5_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
493
494#define H_T1_Window_Fill_6_Other_Trap
495#define SUN_H_T1_Window_Fill_6_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
496
497#define H_T1_Window_Fill_7_Other_Trap
498#define SUN_H_T1_Window_Fill_7_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
499
500#define H_T0_Trap_Instruction_0
501#define My_T0_Trap_Instruction_0 \
502 T_HANDLER_RAND7_5 ;\
503 done;
504
505#define H_T0_Trap_Instruction_1
506#define My_T0_Trap_Instruction_1 \
507 T_HANDLER_RAND7_6 ;\
508 done;
509
510#define H_T0_Trap_Instruction_2
511#define My_T0_Trap_Instruction_2 \
512 inc %o3;\
513 umul %o3, 2, %o4;\
514 ba 1f; \
515 save %i7, %g0, %i7; \
516 2: done; \
517 nop; \
518 1: ba 2b; \
519 restore %i7, %g0, %i7
520#define H_T0_Trap_Instruction_3
521#define My_T0_Trap_Instruction_3 \
522 save %i7, %g0, %i7 ;\
523 T_HANDLER_RAND4_5;\
524 stw %o4, [%i7];\
525 restore %i7, %g0, %i7 ;\
526 done
527#define H_T0_Trap_Instruction_4
528#define My_T0_Trap_Instruction_4 \
529 T_HANDLER_RAND7_6 ;\
530 done;
531
532#define H_T0_Trap_Instruction_5
533#define My_T0_Trap_Instruction_5 \
534 T_HANDLER_RAND4_5;\
535 done;
536
537#define H_T1_Trap_Instruction_0
538#define My_T1_Trap_Instruction_0 \
539 inc %o4;\
540 umul %o4, 2, %o5;\
541 ba 3f; \
542 save %i7, %g0, %i7; \
543 4: done; \
544 nop; \
545 3: ba 4b; \
546 restore %i7, %g0, %i7
547#define H_T1_Trap_Instruction_1
548#define My_T1_Trap_Instruction_1 \
549 T_HANDLER_RAND7_3;\
550 done
551#define H_T1_Trap_Instruction_2
552#define My_T1_Trap_Instruction_2 \
553 inc %o3;\
554 umul %o3, 2, %o4;\
555 ba 5f; \
556 save %i7, %g0, %i7; \
557 6: done; \
558 nop; \
559 5: ba 6b; \
560 restore %i7, %g0, %i7
561#define H_T1_Trap_Instruction_3
562#define My_T1_Trap_Instruction_3 \
563 T_HANDLER_RAND4_1;\
564 done;
565
566#define H_T1_Trap_Instruction_4
567#define My_T1_Trap_Instruction_4 \
568 T_HANDLER_RAND7_1;\
569 done;
570#define H_T1_Trap_Instruction_5
571#define My_T1_Trap_Instruction_5 \
572 T_HANDLER_RAND7_2;\
573 done
574#define H_HT0_Trap_Instruction_0
575#define My_HT0_Trap_Instruction_0 \
576 HT_HANDLER_RAND4_1 ;\
577 done;
578#define H_HT0_Trap_Instruction_1
579#define My_HT0_Trap_Instruction_1 \
580 HT_HANDLER_RAND4_3 ;\
581 done
582#define H_HT0_Trap_Instruction_2
583#define My_HT0_Trap_Instruction_2 \
584 HT_HANDLER_RAND7_5 ;\
585 done;
586#define H_HT0_Trap_Instruction_3
587#define My_HT0_Trap_Instruction_3 \
588 HT_HANDLER_RAND4_5 ;\
589 done
590#define H_HT0_Trap_Instruction_4
591#define My_HT0_Trap_Instruction_4 \
592 HT_HANDLER_RAND7_4 ;\
593 done
594#define H_HT0_Trap_Instruction_5
595#define My_HT0_Trap_Instruction_5 \
596 ba htrap_5_ext;\
597 nop; retry;\
598 nop; nop; nop; nop; nop
599
600#define H_HT0_Mem_Address_Not_Aligned_0x34
601#define My_HT0_Mem_Address_Not_Aligned_0x34 \
602 HT_HANDLER_RAND4_2 ;\
603 done ;
604#define H_HT0_Illegal_instruction_0x10
605#define My_HT0_Illegal_instruction_0x10 \
606 HT_HANDLER_RAND4_2 ;\
607 done;
608
609#define H_HT0_DAE_so_page_0x30
610#define My_HT0_DAE_so_page_0x30 \
611 HT_HANDLER_RAND4_2;\
612 done;
613#define H_HT0_DAE_invalid_asi_0x14
614#define SUN_H_HT0_DAE_invalid_asi_0x14 \
615 HT_HANDLER_RAND4_3 ;\
616 done
617#define H_HT0_DAE_privilege_violation_0x15
618#define SUN_H_HT0_DAE_privilege_violation_0x15 \
619 HT_HANDLER_RAND4_4 ;\
620 done;
621#define H_HT0_Privileged_Action_0x37
622#define My_HT0_Privileged_Action_0x37 \
623 done; \
624 nop; nop
625#define H_HT0_Lddf_Mem_Address_Not_Aligned_0x35
626#define My_HT0_Lddf_Mem_Address_Not_Aligned_0x35 \
627 HT_HANDLER_RAND4_3 ;\
628 done
629#define H_HT0_Stdf_Mem_Address_Not_Aligned_0x36
630#define My_HT0_Stdf_Mem_Address_Not_Aligned_0x36 \
631 HT_HANDLER_RAND7_1;\
632 done
633#define H_HT0_Fp_exception_ieee_754_0x21
634#define My_HT0_Fp_exception_ieee_754_0x21 \
635 HT_HANDLER_RAND4_2 ;\
636 done
637#define H_HT0_Fp_exception_other_0x22
638#define My_HT0_Fp_exception_other_0x22 \
639 HT_HANDLER_RAND7_2 ;\
640 done
641#define H_HT0_Division_By_Zero
642#define My_HT0_Division_By_Zero \
643 HT_HANDLER_RAND4_6;\
644 done
645#define H_T0_Division_By_Zero
646#define My_T0_Division_By_Zero \
647 T_HANDLER_RAND4_3;\
648 done
649#define H_T1_Division_By_Zero_0x28
650#define My_H_T1_Division_By_Zero_0x28 \
651 T_HANDLER_RAND4_3;\
652 done
653#define H_T0_Division_By_Zero
654#define My_T0_Division_By_Zero\
655 T_HANDLER_RAND4_4 ;\
656 done
657#define H_T0_Fp_exception_ieee_754_0x21
658#define My_T0_Fp_exception_ieee_754_0x21 \
659 T_HANDLER_RAND4_3 ;\
660 done
661#define H_T1_Fp_Exception_Ieee_754_0x21
662#define My_H_T1_Fp_Exception_Ieee_754_0x21 \
663 T_HANDLER_RAND4_4 ;\
664 done
665#define H_T1_Fp_Exception_Other_0x22
666#define My_H_T1_Fp_Exception_Other_0x22 \
667 T_HANDLER_RAND4_5 ;\
668 done
669#define H_T1_Privileged_Opcode_0x11
670#define SUN_H_T1_Privileged_Opcode_0x11 \
671 T_HANDLER_RAND4_6 ;\
672 done
673
674#define H_HT0_Privileged_opcode_0x11
675#define My_HT0_Privileged_opcode_0x11 \
676 HT_HANDLER_RAND4_1;\
677 done;
678
679#define H_HT0_Fp_disabled_0x20
680#define My_HT0_Fp_disabled_0x20 \
681 mov 0x4, %l2 ;\
682 wr %l2, 0x0, %fprs ;\
683 sllx %l2, 10, %l3; \
684 rdpr %tstate, %l2;\
685 or %l2, %l3, %l2 ;\
686 stw %l2, [%i7];\
687 wrpr %l2, 0x0, %tstate;\
688 retry;
689
690#define H_T0_Fp_disabled_0x20
691#define My_T0_Fp_disabled_0x20 \
692 mov 0x4, %l2 ;\
693 wr %l2, 0x0, %fprs ;\
694 sllx %l2, 10, %l3; \
695 rdpr %tstate, %l2;\
696 or %l2, %l3, %l2 ;\
697 wrpr %l2, 0x0, %tstate;\
698 retry; nop
699
700#define H_T1_Fp_Disabled_0x20
701#define My_H_T1_Fp_Disabled_0x20 \
702 mov 0x4, %l2 ;\
703 wr %l2, 0x0, %fprs ;\
704 sllx %l2, 10, %l3; \
705 rdpr %tstate, %l2;\
706 or %l2, %l3, %l2 ;\
707 wrpr %l2, 0x0, %tstate;\
708 stw %l2, [%i7];\
709 retry
710
711#define H_HT0_Watchdog_Reset_0x02
712#define My_HT0_Watchdog_Reset_0x02 \
713 ba wdog_2_ext;\
714 nop;retry;nop;nop;nop;nop;nop
715
716#define H_T0_Privileged_opcode_0x11
717#define My_T0_Privileged_opcode_0x11 \
718 T_HANDLER_RAND4_4;\
719 done
720
721#define H_T1_Fp_exception_other_0x22
722#define My_T1_Fp_exception_other_0x22 \
723 T_HANDLER_RAND7_3 ;\
724 done;
725
726#define H_T0_Fp_exception_other_0x22
727#define My_T0_Fp_exception_other_0x22 \
728 T_HANDLER_RAND7_4;\
729 done
730
731#define H_HT0_Trap_Level_Zero_0x5f
732#define My_HT0_Trap_Level_Zero_0x5f \
733 not %g0, %r13; \
734 rdhpr %hpstate, %l3;\
735 jmp %r13;\
736 rdhpr %htstate, %l3;\
737 and %l3, 0xfe, %l3;\
738 wrhpr %l3, 0, %htstate;\
739 stw %r13, [%i7];\
740 retry
741
742#define My_Watchdog_Reset
743#define My_Watchdog_Reset \
744 ba wdog_red_ext;\
745 nop;retry;nop;nop;nop;nop;nop
746
747#define H_HT0_Control_Transfer_Instr_0x74
748#define My_H_HT0_Control_Transfer_Instr_0x74 \
749 rdpr %tstate, %l3;\
750 mov 1, %l4;\
751 sllx %l4, 20, %l4;\
752 wrpr %l3, %l4, %tstate ;\
753 retry;nop;
754
755#define H_T0_Control_Transfer_Instr_0x74
756#define My_H_T0_Control_Transfer_Instr_0x74 \
757 rdpr %tstate, %l3;\
758 mov 1, %l4;\
759 sllx %l4, 20, %l4;\
760 wrpr %l3, %l4, %tstate ;\
761 retry;nop;
762
763#define H_T1_Control_Transfer_Instr_0x74
764#define My_H_T1_Control_Transfer_Instr_0x74 \
765 rdpr %tstate, %l3;\
766 mov 1, %l4;\
767 sllx %l4, 20, %l4;\
768 wrpr %l3, %l4, %tstate ;\
769 retry;nop;
770# 707 "/import/n2-aus-localdir1/somePerson/n2cdmspp/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
771#define H_HT0_data_access_protection_0x6c
772#define SUN_H_HT0_data_access_protection_0x6c ba daccess_prot_handler; nop
773
774#define H_HT0_PA_Watchpoint_0x61
775#define My_H_HT0_PA_Watchpoint_0x61 \
776 HT_HANDLER_RAND7_4;\
777 done
778
779#ifndef H_HT0_Data_access_error_0x32
780#define H_HT0_Data_access_error_0x32
781#define SUN_H_HT0_Data_access_error_0x32 \
782 done;nop
783#endif
784# 722 "/import/n2-aus-localdir1/somePerson/n2cdmspp/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
785#define H_T0_VA_Watchpoint_0x62
786#define My_T0_VA_Watchpoint_0x62 \
787 T_HANDLER_RAND7_5;\
788 done
789
790#define H_T1_VA_Watchpoint_0x62
791#define SUN_H_T1_VA_Watchpoint_0x62 \
792 T_HANDLER_RAND7_3;\
793 done
794
795#define H_HT0_VA_Watchpoint_0x62
796#define My_H_HT0_VA_Watchpoint_0x62 \
797 HT_HANDLER_RAND7_5;\
798 done
799
800#define H_HT0_Instruction_VA_Watchpoint_0x75
801#define SUN_H_HT0_Instruction_VA_Watchpoint_0x75 \
802 done;
803
804#define H_HT0_Instruction_Breakpoint_0x76
805#define SUN_H_HT0_Instruction_Breakpoint_0x76 \
806 rdhpr %htstate, %g1;\
807 wrhpr %g1, 0x400, %htstate;\
808 retry;nop
809# 748 "/import/n2-aus-localdir1/somePerson/n2cdmspp/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
810#define H_HT0_Instruction_address_range_0x0d
811#define SUN_H_HT0_Instruction_address_range_0x0d \
812 HT_HANDLER_RAND4_1;\
813 done;
814
815#define H_HT0_Instruction_real_range_0x0e
816#define SUN_H_HT0_Instruction_real_range_0x0e \
817 HT_HANDLER_RAND4_1;\
818 done;
819
820#define H_HT0_mem_real_range_0x2d
821#define SUN_H_HT0_mem_real_range_0x2d \
822 HT_HANDLER_RAND4_2;\
823 done;
824# 764 "/import/n2-aus-localdir1/somePerson/n2cdmspp/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
825#define H_HT0_mem_address_range_0x2e
826#define SUN_H_HT0_mem_address_range_0x2e \
827 HT_HANDLER_RAND4_3;\
828 done;
829
830#define H_HT0_DAE_nc_page_0x16
831#define SUN_H_HT0_DAE_nc_page_0x16 \
832 HT_HANDLER_RAND4_4;\
833 done;
834
835#define H_HT0_DAE_nfo_page_0x17
836#define SUN_H_HT0_DAE_nfo_page_0x17 \
837 HT_HANDLER_RAND4_5;\
838 done;
839# 780 "/import/n2-aus-localdir1/somePerson/n2cdmspp/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
840#define H_HT0_IAE_unauth_access_0x0b
841#define SUN_H_HT0_IAE_unauth_access_0x0b \
842 HT_HANDLER_RAND7_3;\
843 done;
844# 786 "/import/n2-aus-localdir1/somePerson/n2cdmspp/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
845#define H_HT0_IAE_nfo_page_0x0c
846#define SUN_H_HT0_IAE_nfo_page_0x0c \
847 HT_HANDLER_RAND7_6;\
848 done;
849# 792 "/import/n2-aus-localdir1/somePerson/n2cdmspp/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
850#define H_HT0_Reserved_0x3b
851#define SUN_H_HT0_Reserved_0x3b \
852 mov 0x80, %l3;\
853 stxa %l3, [%l3]0x5f ;\
854 stxa %l3, [%l3]0x57 ;\
855 done;
856# 802 "/import/n2-aus-localdir1/somePerson/n2cdmspp/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
857#define H_HT0_IAE_privilege_violation_0x08
858#define My_HT0_IAE_privilege_violation_0x08 \
859 HT_HANDLER_RAND7_2;\
860 done;
861
862#ifndef H_HT0_Instruction_Access_MMU_Error_0x71
863#define H_HT0_Instruction_Access_MMU_Error_0x71
864#define SUN_H_HT0_Instruction_Access_MMU_Error_0x71 \
865 mov 0x80, %l3;\
866 stxa %l3, [%l3]0x5f ;\
867 stxa %l3, [%l3]0x57 ;\
868 retry;
869#endif
870
871#ifndef H_HT0_Data_Access_MMU_Error_0x72
872#define H_HT0_Data_Access_MMU_Error_0x72
873#define SUN_H_HT0_Data_Access_MMU_Error_0x72 \
874 mov 0x80, %l3;\
875 stxa %l3, [%l3]0x5f ;\
876 stxa %l3, [%l3]0x57 ;\
877 retry;
878#endif
879
880!!!!!!!!!!!!!!!!!!!!!! END of all handlers !!!!!!!!!!!!!!!!!!!
881# 12 "/import/n2-aus-localdir1/somePerson/n2cdmspp/verif/diag/assembly/include/tlu_custom_intr_handlers.s"
882!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
883!!!!!!!!!!!!!!!! START of Interrupt Handlers !!!!!!!!!!!!!!!!!
884
885#ifndef INT_HANDLER_RAND4_1
886#define INT_HANDLER_RAND4_1 retry; nop; nop; nop
887#endif
888#ifndef INT_HANDLER_RAND7_1
889#define INT_HANDLER_RAND7_1 mov 0x20,%g1; mov 1, %g2;stxa %g2,[%g1]0x40
890#endif
891#ifndef INT_HANDLER_RAND4_2
892#define INT_HANDLER_RAND4_2 retry; nop; nop; nop
893#endif
894#ifndef INT_HANDLER_RAND7_2
895#define INT_HANDLER_RAND7_2 mov 0x80,%g1;stxa %g0,[%g1]0x40
896#endif
897#ifndef INT_HANDLER_RAND4_3
898#define INT_HANDLER_RAND4_3 retry; nop; nop; nop
899#endif
900#ifndef INT_HANDLER_RAND7_3
901#define INT_HANDLER_RAND7_3 retry; nop; nop; nop ; nop; nop; nop
902#endif
903#define H_HT0_Externally_Initiated_Reset_0x03
904#define SUN_H_HT0_Externally_Initiated_Reset_0x03 \
905 ldxa [%g0] ASI_LSU_CTL_REG, %g1; \
906 set cregs_lsu_ctl_reg_r64, %g1; \
907 stxa %g1, [%g0] ASI_LSU_CTL_REG; \
908 retry;nop
909
910#define My_External_Reset \
911 ldxa [%g0] ASI_LSU_CTL_REG, %l5; \
912 set cregs_lsu_ctl_reg_r64, %l5; \
913 stxa %l5, [%g0] ASI_LSU_CTL_REG; \
914 retry;nop
915
916!!!!! SPU Interrupt Handlers
917
918#define H_HT0_Control_Word_Queue_Interrupt_0x3c
919#define My_HT0_Control_Word_Queue_Interrupt_0x3c \
920 INT_HANDLER_RAND7_1 ;\
921 retry ;
922
923#define H_HT0_Modular_Arithmetic_Interrupt_0x3d
924#define My_H_HT0_Modular_Arithmetic_Interrupt_0x3d \
925 INT_HANDLER_RAND7_2 ;\
926 retry ;
927# 59 "/import/n2-aus-localdir1/somePerson/n2cdmspp/verif/diag/assembly/include/tlu_custom_intr_handlers.s"
928!!!!! HW interrupt handlers
929
930#define H_HT0_Interrupt_0x60
931#define My_HT0_Interrupt_0x60 \
932 ldxa [%g0] ASI_SWVR_INTR_RECEIVE, %g5 ;\
933 ldxa [%g0] ASI_SWVR_INTR_R, %g4 ;\
934 ldxa [%g0] ASI_SWVR_INTR_RECEIVE, %g3 ;\
935 INT_HANDLER_RAND4_1 ;\
936 retry;
937
938!!!!! Queue interrupt handler
939# 72 "/import/n2-aus-localdir1/somePerson/n2cdmspp/verif/diag/assembly/include/tlu_custom_intr_handlers.s"
940#define H_T0_Cpu_Mondo_Trap_0x7c
941#define My_T0_Cpu_Mondo_Trap_0x7c \
942 mov 0x3c8, %g3; \
943 ldxa [%g3] 0x25, %g5; \
944 mov 0x3c0, %g3; \
945 stxa %g5, [%g3] 0x25; \
946 retry; \
947 nop; \
948 nop; \
949 nop
950
951#define H_T0_Dev_Mondo_Trap_0x7d
952#define My_T0_Dev_Mondo_Trap_0x7d \
953 mov 0x3d8, %g3; \
954 ldxa [%g3] 0x25, %g5; \
955 mov 0x3d0, %g3; \
956 stxa %g5, [%g3] 0x25; \
957 retry; \
958 nop; \
959 nop; \
960 nop
961
962#define H_T0_Resumable_Error_0x7e
963#define My_T0_Resumable_Error_0x7e \
964 mov 0x3e8, %g3; \
965 ldxa [%g3] 0x25, %g5; \
966 mov 0x3e0, %g3; \
967 stxa %g5, [%g3] 0x25; \
968 retry; \
969 nop; \
970 nop; \
971 nop
972
973#define H_T1_Cpu_Mondo_Trap_0x7c
974#define My_T1_Cpu_Mondo_Trap_0x7c \
975 mov 0x3c8, %g3; \
976 ldxa [%g3] 0x25, %g5; \
977 mov 0x3c0, %g3; \
978 stxa %g5, [%g3] 0x25; \
979 retry; \
980 nop; \
981 nop; \
982 nop
983
984#define H_T1_Dev_Mondo_Trap_0x7d
985#define My_T1_Dev_Mondo_Trap_0x7d \
986 mov 0x3d8, %g3; \
987 ldxa [%g3] 0x25, %g5; \
988 mov 0x3d0, %g3; \
989 stxa %g5, [%g3] 0x25; \
990 retry; \
991 nop; \
992 nop; \
993 nop
994
995#define H_T1_Resumable_Error_0x7e
996#define My_T1_Resumable_Error_0x7e \
997 mov 0x3e8, %g3; \
998 ldxa [%g3] 0x25, %g5; \
999 mov 0x3e0, %g3; \
1000 stxa %g5, [%g3] 0x25; \
1001 retry; \
1002 nop; \
1003 nop; \
1004 nop
1005
1006#define H_HT0_Reserved_0x7c
1007#define SUN_H_HT0_Reserved_0x7c \
1008 mov 0x3c8, %g3; \
1009 ldxa [%g3] 0x25, %g5; \
1010 mov 0x3c0, %g3; \
1011 stxa %g5, [%g3] 0x25; \
1012 retry; \
1013 nop; \
1014 nop; \
1015 nop
1016
1017#define H_HT0_Reserved_0x7d
1018#define SUN_H_HT0_Reserved_0x7d \
1019 mov 0x3d8, %g3; \
1020 ldxa [%g3] 0x25, %g5; \
1021 mov 0x3d0, %g3; \
1022 stxa %g5, [%g3] 0x25; \
1023 retry; \
1024 nop; \
1025 nop; \
1026 nop
1027
1028#define H_HT0_Reserved_0x7e
1029#define SUN_H_HT0_Reserved_0x7e \
1030 mov 0x3e8, %g3; \
1031 ldxa [%g3] 0x25, %g5; \
1032 mov 0x3e0, %g3; \
1033 stxa %g5, [%g3] 0x25; \
1034 retry; \
1035 nop; \
1036 nop; \
1037 nop
1038# 172 "/import/n2-aus-localdir1/somePerson/n2cdmspp/verif/diag/assembly/include/tlu_custom_intr_handlers.s"
1039!!!!! Hstick-match trap handler
1040# 175 "/import/n2-aus-localdir1/somePerson/n2cdmspp/verif/diag/assembly/include/tlu_custom_intr_handlers.s"
1041#define H_T0_Reserved_0x5e
1042#define My_T0_Reserved_0x5e \
1043 rdhpr %hintp, %g3; \
1044 wrhpr %g3, %g3, %hintp; \
1045 retry; \
1046 nop; \
1047 nop; \
1048 nop; \
1049 nop; \
1050 nop
1051
1052#define H_HT0_Hstick_Match_0x5e
1053#define My_HT0_Hstick_Match_0x5e \
1054 rdhpr %hintp, %g3; \
1055 wrhpr %g3, %g3, %hintp; \
1056 retry; \
1057 nop; \
1058 nop; \
1059 nop; \
1060 nop; \
1061 nop
1062
1063#define H_T0_Reserved_0x5e
1064#define My_T0_Reserved_0x5e \
1065 rdhpr %hintp, %g3; \
1066 wrhpr %g3, %g3, %hintp; \
1067 retry; \
1068 nop; \
1069 nop; \
1070 nop; \
1071 nop; \
1072 nop
1073
1074#define H_T1_Reserved_0x5e
1075#define My_T1_Reserved_0x5e \
1076 rdhpr %hintp, %g3; \
1077 wrhpr %g3, %g3, %hintp; \
1078 retry; \
1079 nop; \
1080 nop; \
1081 nop; \
1082 nop; \
1083 nop
1084# 220 "/import/n2-aus-localdir1/somePerson/n2cdmspp/verif/diag/assembly/include/tlu_custom_intr_handlers.s"
1085!!!!! SW interuupt handlers
1086# 223 "/import/n2-aus-localdir1/somePerson/n2cdmspp/verif/diag/assembly/include/tlu_custom_intr_handlers.s"
1087#define H_T0_Interrupt_Level_14_0x4e
1088#define My_T0_Interrupt_Level_14_0x4e \
1089 rd %softint, %g3; \
1090 sethi %hi(0x14000), %g3; \
1091 or %g3, 0x1, %g3; \
1092 wr %g3, %g0, %clear_softint; \
1093 retry; \
1094 nop; \
1095 nop; \
1096 nop
1097
1098#define H_T0_Interrupt_Level_1_0x41
1099#define My_T0_Interrupt_Level_1_0x41 \
1100 rd %softint, %g3; \
1101 or %g0, 0x2, %g3; \
1102 wr %g3, %g0, %clear_softint; \
1103 retry; \
1104 nop; \
1105 nop; \
1106 nop; \
1107 nop
1108
1109#define H_T0_Interrupt_Level_2_0x42
1110#define My_T0_Interrupt_Level_2_0x42 \
1111 rd %softint, %g3; \
1112 or %g0, 0x4, %g3; \
1113 wr %g3, %g0, %clear_softint; \
1114 retry; \
1115 nop; \
1116 nop; \
1117 nop; \
1118 nop
1119
1120#define H_T0_Interrupt_Level_3_0x43
1121#define My_T0_Interrupt_Level_3_0x43 \
1122 rd %softint, %g3; \
1123 or %g0, 0x8, %g3; \
1124 wr %g3, %g0, %clear_softint; \
1125 retry; \
1126 nop; \
1127 nop; \
1128 nop; \
1129 nop
1130
1131#define H_T0_Interrupt_Level_4_0x44
1132#define My_T0_Interrupt_Level_4_0x44 \
1133 rd %softint, %g3; \
1134 or %g0, 0x10, %g3; \
1135 wr %g3, %g0, %clear_softint; \
1136 retry; \
1137 nop; \
1138 nop; \
1139 nop; \
1140 nop
1141
1142#define H_T0_Interrupt_Level_5_0x45
1143#define My_T0_Interrupt_Level_5_0x45 \
1144 rd %softint, %g3; \
1145 or %g0, 0x20, %g3; \
1146 wr %g3, %g0, %clear_softint; \
1147 retry; \
1148 nop; \
1149 nop; \
1150 nop; \
1151 nop
1152
1153#define H_T0_Interrupt_Level_6_0x46
1154#define My_T0_Interrupt_Level_6_0x46 \
1155 rd %softint, %g3; \
1156 or %g0, 0x40, %g3; \
1157 wr %g3, %g0, %clear_softint; \
1158 retry; \
1159 nop; \
1160 nop; \
1161 nop; \
1162 nop
1163
1164#define H_T0_Interrupt_Level_7_0x47
1165#define My_T0_Interrupt_Level_7_0x47 \
1166 rd %softint, %g3; \
1167 or %g0, 0x80, %g3; \
1168 wr %g3, %g0, %clear_softint; \
1169 retry; \
1170 nop; \
1171 nop; \
1172 nop; \
1173 nop
1174
1175#define H_T0_Interrupt_Level_8_0x48
1176#define My_T0_Interrupt_Level_8_0x48 \
1177 rd %softint, %g3; \
1178 or %g0, 0x100, %g3; \
1179 wr %g3, %g0, %clear_softint; \
1180 retry; \
1181 nop; \
1182 nop; \
1183 nop; \
1184 nop
1185
1186#define H_T0_Interrupt_Level_9_0x49
1187#define My_T0_Interrupt_Level_9_0x49 \
1188 rd %softint, %g3; \
1189 or %g0, 0x200, %g3; \
1190 wr %g3, %g0, %clear_softint; \
1191 retry; \
1192 nop; \
1193 nop; \
1194 nop; \
1195 nop
1196
1197#define H_T0_Interrupt_Level_10_0x4a
1198#define My_T0_Interrupt_Level_10_0x4a \
1199 rd %softint, %g3; \
1200 or %g0, 0x400, %g3; \
1201 wr %g3, %g0, %clear_softint; \
1202 retry; \
1203 nop; \
1204 nop; \
1205 nop; \
1206 nop
1207
1208#define H_T0_Interrupt_Level_11_0x4b
1209#define My_T0_Interrupt_Level_11_0x4b \
1210 rd %softint, %g3; \
1211 or %g0, 0x800, %g3; \
1212 wr %g3, %g0, %clear_softint; \
1213 retry; \
1214 nop; \
1215 nop; \
1216 nop; \
1217 nop
1218
1219#define H_T0_Interrupt_Level_12_0x4c
1220#define My_T0_Interrupt_Level_12_0x4c \
1221 rd %softint, %g3; \
1222 sethi %hi(0x1000), %g3; \
1223 wr %g3, %g0, %clear_softint; \
1224 retry; \
1225 nop; \
1226 nop; \
1227 nop; \
1228 nop
1229
1230#define H_T0_Interrupt_Level_13_0x4d
1231#define My_T0_Interrupt_Level_13_0x4d \
1232 rd %softint, %g3; \
1233 sethi %hi(0x2000), %g3; \
1234 wr %g3, %g0, %clear_softint; \
1235 retry; \
1236 nop; \
1237 nop; \
1238 nop; \
1239 nop
1240
1241#define H_T0_Interrupt_Level_15_0x4f
1242#define My_T0_Interrupt_Level_15_0x4f \
1243 sethi %hi(0x8000), %g3; \
1244 wr %g3, %g0, %clear_softint; \
1245 wr %g0, %g0, %pic;\
1246 set 0x1ff8bfff, %g4;\
1247 wr %g4, %g0, %pcr;\
1248 retry;
1249
1250#define H_T1_Interrupt_Level_14_0x4e
1251#define My_T1_Interrupt_Level_14_0x4e \
1252 rd %softint, %g3; \
1253 sethi %hi(0x14000), %g3; \
1254 or %g3, 0x1, %g3; \
1255 wr %g3, %g0, %clear_softint; \
1256 retry; \
1257 nop; \
1258 nop; \
1259 nop
1260
1261#define H_T1_Interrupt_Level_1_0x41
1262#define My_T1_Interrupt_Level_1_0x41 \
1263 rd %softint, %g3; \
1264 or %g0, 0x2, %g3; \
1265 wr %g3, %g0, %clear_softint; \
1266 retry; \
1267 nop; \
1268 nop; \
1269 nop; \
1270 nop
1271
1272#define H_T1_Interrupt_Level_2_0x42
1273#define My_T1_Interrupt_Level_2_0x42 \
1274 rd %softint, %g3; \
1275 or %g0, 0x4, %g3; \
1276 wr %g3, %g0, %clear_softint; \
1277 retry; \
1278 nop; \
1279 nop; \
1280 nop; \
1281 nop
1282
1283#define H_T1_Interrupt_Level_3_0x43
1284#define My_T1_Interrupt_Level_3_0x43 \
1285 rd %softint, %g3; \
1286 or %g0, 0x8, %g3; \
1287 wr %g3, %g0, %clear_softint; \
1288 retry; \
1289 nop; \
1290 nop; \
1291 nop; \
1292 nop
1293
1294#define H_T1_Interrupt_Level_4_0x44
1295#define My_T1_Interrupt_Level_4_0x44 \
1296 rd %softint, %g3; \
1297 or %g0, 0x10, %g3; \
1298 wr %g3, %g0, %clear_softint; \
1299 retry; \
1300 nop; \
1301 nop; \
1302 nop; \
1303 nop
1304
1305#define H_T1_Interrupt_Level_5_0x45
1306#define My_T1_Interrupt_Level_5_0x45 \
1307 rd %softint, %g3; \
1308 or %g0, 0x20, %g3; \
1309 wr %g3, %g0, %clear_softint; \
1310 retry; \
1311 nop; \
1312 nop; \
1313 nop; \
1314 nop
1315
1316#define H_T1_Interrupt_Level_6_0x46
1317#define My_T1_Interrupt_Level_6_0x46 \
1318 rd %softint, %g3; \
1319 or %g0, 0x40, %g3; \
1320 wr %g3, %g0, %clear_softint; \
1321 retry; \
1322 nop; \
1323 nop; \
1324 nop; \
1325 nop
1326
1327#define H_T1_Interrupt_Level_7_0x47
1328#define My_T1_Interrupt_Level_7_0x47 \
1329 rd %softint, %g3; \
1330 or %g0, 0x80, %g3; \
1331 wr %g3, %g0, %clear_softint; \
1332 retry; \
1333 nop; \
1334 nop; \
1335 nop; \
1336 nop
1337
1338#define H_T1_Interrupt_Level_8_0x48
1339#define My_T1_Interrupt_Level_8_0x48 \
1340 rd %softint, %g3; \
1341 or %g0, 0x100, %g3; \
1342 wr %g3, %g0, %clear_softint; \
1343 retry; \
1344 nop; \
1345 nop; \
1346 nop; \
1347 nop
1348
1349#define H_T1_Interrupt_Level_9_0x49
1350#define My_T1_Interrupt_Level_9_0x49 \
1351 rd %softint, %g3; \
1352 or %g0, 0x200, %g3; \
1353 wr %g3, %g0, %clear_softint; \
1354 retry; \
1355 nop; \
1356 nop; \
1357 nop; \
1358 nop
1359
1360#define H_T1_Interrupt_Level_10_0x4a
1361#define My_T1_Interrupt_Level_10_0x4a \
1362 rd %softint, %g3; \
1363 or %g0, 0x400, %g3; \
1364 wr %g3, %g0, %clear_softint; \
1365 retry; \
1366 nop; \
1367 nop; \
1368 nop; \
1369 nop
1370
1371#define H_T1_Interrupt_Level_11_0x4b
1372#define My_T1_Interrupt_Level_11_0x4b \
1373 rd %softint, %g3; \
1374 or %g0, 0x800, %g3; \
1375 wr %g3, %g0, %clear_softint; \
1376 retry; \
1377 nop; \
1378 nop; \
1379 nop; \
1380 nop
1381
1382#define H_T1_Interrupt_Level_12_0x4c
1383#define My_T1_Interrupt_Level_12_0x4c \
1384 rd %softint, %g3; \
1385 sethi %hi(0x1000), %g3; \
1386 wr %g3, %g0, %clear_softint; \
1387 retry; \
1388 nop; \
1389 nop; \
1390 nop; \
1391 nop
1392
1393#define H_T1_Interrupt_Level_13_0x4d
1394#define My_T1_Interrupt_Level_13_0x4d \
1395 rd %softint, %g3; \
1396 sethi %hi(0x2000), %g3; \
1397 wr %g3, %g0, %clear_softint; \
1398 retry; \
1399 nop; \
1400 nop; \
1401 nop; \
1402 nop
1403
1404#define H_T1_Interrupt_Level_15_0x4f
1405#define My_T1_Interrupt_Level_15_0x4f \
1406 sethi %hi(0x8000), %g3; \
1407 wr %g3, %g0, %clear_softint; \
1408 wr %g0, %g0, %pic;\
1409 set 0x1ff8bfff, %g4;\
1410 wr %g4, %g0, %pcr;\
1411 retry;
1412
1413#define H_HT0_Interrupt_Level_14_0x4e
1414#define My_HT0_Interrupt_Level_14_0x4e \
1415 rd %softint, %g3; \
1416 sethi %hi(0x14000), %g3; \
1417 or %g3, 0x1, %g3; \
1418 wr %g3, %g0, %clear_softint; \
1419 retry; \
1420 nop; \
1421 nop; \
1422 nop
1423
1424#define H_HT0_Interrupt_Level_1_0x41
1425#define My_HT0_Interrupt_Level_1_0x41 \
1426 rd %softint, %g3; \
1427 or %g0, 0x2, %g3; \
1428 wr %g3, %g0, %clear_softint; \
1429 retry; \
1430 nop; \
1431 nop; \
1432 nop; \
1433 nop
1434
1435#define H_HT0_Interrupt_Level_2_0x42
1436#define My_HT0_Interrupt_Level_2_0x42 \
1437 rd %softint, %g3; \
1438 or %g0, 0x4, %g3; \
1439 wr %g3, %g0, %clear_softint; \
1440 retry; \
1441 nop; \
1442 nop; \
1443 nop; \
1444 nop
1445
1446#define H_HT0_Interrupt_Level_3_0x43
1447#define My_HT0_Interrupt_Level_3_0x43 \
1448 rd %softint, %g3; \
1449 or %g0, 0x8, %g3; \
1450 wr %g3, %g0, %clear_softint; \
1451 retry; \
1452 nop; \
1453 nop; \
1454 nop; \
1455 nop
1456
1457#define H_HT0_Interrupt_Level_4_0x44
1458#define My_HT0_Interrupt_Level_4_0x44 \
1459 rd %softint, %g3; \
1460 or %g0, 0x10, %g3; \
1461 wr %g3, %g0, %clear_softint; \
1462 retry; \
1463 nop; \
1464 nop; \
1465 nop; \
1466 nop
1467
1468#define H_HT0_Interrupt_Level_5_0x45
1469#define My_HT0_Interrupt_Level_5_0x45 \
1470 rd %softint, %g3; \
1471 or %g0, 0x20, %g3; \
1472 wr %g3, %g0, %clear_softint; \
1473 retry; \
1474 nop; \
1475 nop; \
1476 nop; \
1477 nop
1478
1479#define H_HT0_Interrupt_Level_6_0x46
1480#define My_HT0_Interrupt_Level_6_0x46 \
1481 rd %softint, %g3; \
1482 or %g0, 0x40, %g3; \
1483 wr %g3, %g0, %clear_softint; \
1484 retry; \
1485 nop; \
1486 nop; \
1487 nop; \
1488 nop
1489
1490#define H_HT0_Interrupt_Level_7_0x47
1491#define My_HT0_Interrupt_Level_7_0x47 \
1492 rd %softint, %g3; \
1493 or %g0, 0x80, %g3; \
1494 wr %g3, %g0, %clear_softint; \
1495 retry; \
1496 nop; \
1497 nop; \
1498 nop; \
1499 nop
1500
1501#define H_HT0_Interrupt_Level_8_0x48
1502#define My_HT0_Interrupt_Level_8_0x48 \
1503 rd %softint, %g3; \
1504 or %g0, 0x100, %g3; \
1505 wr %g3, %g0, %clear_softint; \
1506 retry; \
1507 nop; \
1508 nop; \
1509 nop; \
1510 nop
1511
1512#define H_HT0_Interrupt_Level_9_0x49
1513#define My_HT0_Interrupt_Level_9_0x49 \
1514 rd %softint, %g3; \
1515 or %g0, 0x200, %g3; \
1516 wr %g3, %g0, %clear_softint; \
1517 retry; \
1518 nop; \
1519 nop; \
1520 nop; \
1521 nop
1522
1523#define H_HT0_Interrupt_Level_10_0x4a
1524#define My_HT0_Interrupt_Level_10_0x4a \
1525 rd %softint, %g3; \
1526 or %g0, 0x400, %g3; \
1527 wr %g3, %g0, %clear_softint; \
1528 retry; \
1529 nop; \
1530 nop; \
1531 nop; \
1532 nop
1533
1534#define H_HT0_Interrupt_Level_11_0x4b
1535#define My_HT0_Interrupt_Level_11_0x4b \
1536 rd %softint, %g3; \
1537 or %g0, 0x800, %g3; \
1538 wr %g3, %g0, %clear_softint; \
1539 retry; \
1540 nop; \
1541 nop; \
1542 nop; \
1543 nop
1544
1545#define H_HT0_Interrupt_Level_12_0x4c
1546#define My_HT0_Interrupt_Level_12_0x4c \
1547 rd %softint, %g3; \
1548 sethi %hi(0x1000), %g3; \
1549 wr %g3, %g0, %clear_softint; \
1550 retry; \
1551 nop; \
1552 nop; \
1553 nop; \
1554 nop
1555
1556#define H_HT0_Interrupt_Level_13_0x4d
1557#define My_HT0_Interrupt_Level_13_0x4d \
1558 rd %softint, %g3; \
1559 sethi %hi(0x2000), %g3; \
1560 wr %g3, %g0, %clear_softint; \
1561 retry; \
1562 nop; \
1563 nop; \
1564 nop; \
1565 nop
1566
1567#define H_HT0_Interrupt_Level_15_0x4f
1568#define My_HT0_Interrupt_Level_15_0x4f \
1569 sethi %hi(0x8000), %g3; \
1570 wr %g3, %g0, %clear_softint; \
1571 wr %g0, %g0, %pic;\
1572 set 0x1ff8bfff, %g4;\
1573 wr %g4, %g0, %pcr;\
1574 retry;
1575# 713 "/import/n2-aus-localdir1/somePerson/n2cdmspp/verif/diag/assembly/include/tlu_custom_intr_handlers.s"
1576!!!!!!!!!!!!!!!!!!!!!! END of all handlers !!!!!!!!!!!!!!!!!!!
1577# 455 "diag.j"
1578!# Steer towards main TBA on these errors ..
1579!# These are redefines ...
1580#undef SUN_H_HT0_DAE_nc_page_0x16
1581#define SUN_H_HT0_DAE_nc_page_0x16 \
1582 best_set_reg(0x120000, %r1, %r2);\
1583 wrpr %r0, %r2, %tba; \
1584 done;nop
1585
1586#undef SUN_H_HT0_DAE_nfo_page_0x17
1587#define SUN_H_HT0_DAE_nfo_page_0x17 \
1588 best_set_reg(0x120000, %r1, %r2);\
1589 wrpr %r0, %r2, %tba; \
1590 done;nop
1591
1592#undef SUN_H_HT0_IAE_unauth_access_0x0b
1593#define SUN_H_HT0_IAE_unauth_access_0x0b \
1594 set resolve_bad_tte, %g3;\
1595 jmp %g3;\
1596 nop
1597
1598#undef My_HT0_IAE_privilege_violation_0x08
1599#define My_HT0_IAE_privilege_violation_0x08 \
1600 set resolve_bad_tte, %g3;\
1601 jmp %g3;\
1602 nop
1603
1604#define H_HT0_Instruction_address_range_0x0d
1605#define SUN_H_HT0_Instruction_address_range_0x0d \
1606 rdpr %tpc, %g1;\
1607 rdpr %tnpc, %g2;\
1608 stw %g1, [%i7];\
1609 stw %g2, [%i7+4];\
1610 jmpl %r27+8, %r27;\
1611 fdivd %f0, %f4, %f4;\
1612 nop;
1613
1614#define H_HT0_Instruction_real_range_0x0e
1615#define SUN_H_HT0_Instruction_real_range_0x0e \
1616 rdpr %tpc, %g1;\
1617 rdpr %tnpc, %g2;\
1618 stw %g1, [%i7];\
1619 stw %g2, [%i7+4];\
1620 jmpl %r27+8, %r27;\
1621 fdivd %f0, %f4, %f4;\
1622 nop;
1623
1624#undef SUN_H_HT0_IAE_nfo_page_0x0c
1625#define SUN_H_HT0_IAE_nfo_page_0x0c \
1626 set resolve_bad_tte, %g3;\
1627 jmp %g3;\
1628 nop
1629
1630#define H_HT0_Instruction_Invalid_TSB_Entry_0x2a
1631#define SUN_H_HT0_Instruction_Invalid_TSB_Entry_0x2a \
1632 set restore_range_regs, %g3;\
1633 jmp %g3;\
1634 nop
1635
1636#define H_HT0_Data_Invalid_TSB_Entry_0x2b
1637#define SUN_H_HT0_Data_Invalid_TSB_Entry_0x2b \
1638 set restore_range_regs, %g3;\
1639 jmp %g3;\
1640 nop
1641
1642#include "hboot.s"
1643# 522 "diag.j"
1644#define LOMEIN_TEXT_VA [0x]mpeval(MAIN_BASE_TEXT_VA&0xffffffff,16)
1645#define LOMEIN_DATA_VA [0x]mpeval(MAIN_BASE_DATA_VA&0xffffffff,16)
1646changequote([, ])dnl
1647SECTION .LOMEIN TEXT_VA=LOMEIN_TEXT_VA, DATA_VA=LOMEIN_DATA_VA
1648attr_text {
1649 Name = .LOMEIN,
1650 VA= LOMEIN_TEXT_VA,
1651 RA= MAIN_BASE_TEXT_RA,
1652 PA= ra2pa2(MAIN_BASE_TEXT_RA, 0),
1653 part_0_ctx_nonzero_tsb_config_1,
1654 part_0_ctx_zero_tsb_config_1,
1655 TTE_G=1, TTE_Context=0x44, TTE_V=1,
1656 TTE_Size=0, TTE_NFO=0, TTE_IE=0, TTE_Soft2=0, TTE_Diag=0, TTE_Soft=0,
1657 TTE_L=0, TTE_CP=1, TTE_CV=0, TTE_E=0, TTE_P=0, TTE_W=1, TTE_X=1,
1658 tsbonly
1659 }
1660attr_data {
1661 Name = .LOMEIN,
1662 VA= LOMEIN_DATA_VA,
1663 RA= MAIN_BASE_DATA_RA,
1664 PA= ra2pa2(MAIN_BASE_DATA_RA, 0),
1665 part_0_ctx_nonzero_tsb_config_2,
1666 part_0_ctx_zero_tsb_config_2
1667 TTE_G=1, TTE_Context=0x44, TTE_V=1, TTE_Size=0, TTE_NFO=0,
1668 TTE_IE=0, TTE_Soft2=0, TTE_Diag=0, TTE_Soft=0,
1669 TTE_L=0, TTE_CP=1, TTE_CV=0, TTE_E=0, TTE_P=0, TTE_W=1, TTE_X=0,
1670 tsbonly
1671 }
1672attr_data {
1673 Name = .LOMEIN,
1674 VA= LOMEIN_DATA_VA,
1675 RA= MAIN_BASE_DATA_RA,
1676 PA= ra2pa2(MAIN_BASE_DATA_RA, 0),
1677 part_0_ctx_nonzero_tsb_config_3,
1678 part_0_ctx_zero_tsb_config_3
1679 TTE_G=1, TTE_Context=0x55, TTE_V=1, TTE_Size=0, TTE_NFO=0,
1680 TTE_IE=0, TTE_Soft2=0, TTE_Diag=0, TTE_Soft=0,
1681 TTE_L=0, TTE_CP=1, TTE_CV=0, TTE_E=0, TTE_P=0, TTE_W=1, TTE_X=0,
1682 tsbonly
1683 }
1684.text
1685.align 0x100000
1686 nop
1687.data
1688 .word 0x0
1689
1690SECTION .MAIN TEXT_VA=MAIN_BASE_TEXT_VA, DATA_VA=MAIN_BASE_DATA_VA
1691attr_text {
1692 Name = .MAIN,
1693 VA=MAIN_BASE_TEXT_VA,
1694 RA= LOMEIN_TEXT_VA,
1695 PA= LOMEIN_TEXT_VA,
1696 part_0_ctx_nonzero_tsb_config_2,
1697 part_0_ctx_zero_tsb_config_2,
1698 TTE_G=1, TTE_Context=0x44, TTE_V=1,
1699 TTE_Size=0, TTE_NFO=0, TTE_IE=0, TTE_Soft2=0, TTE_Diag=0, TTE_Soft=0,
1700 TTE_L=0, TTE_CP=1, TTE_CV=0, TTE_E=0, TTE_P=0, TTE_W=1, TTE_X=1,
1701 }
1702
1703attr_data {
1704 Name = .MAIN,
1705 VA=MAIN_BASE_DATA_VA
1706 RA= LOMEIN_DATA_VA,
1707 PA= LOMEIN_DATA_VA,
1708 part_0_ctx_nonzero_tsb_config_1,
1709 part_0_ctx_zero_tsb_config_1
1710 TTE_G=1, TTE_Context=0x44, TTE_V=1, TTE_Size=0, TTE_NFO=0,
1711 TTE_IE=0, TTE_Soft2=0, TTE_Diag=0, TTE_Soft=0,
1712 TTE_L=0, TTE_CP=1, TTE_CV=0, TTE_E=0, TTE_P=0, TTE_W=1, TTE_X=0,
1713 }
1714
1715attr_data {
1716 Name = .MAIN,
1717 VA=MAIN_BASE_DATA_VA
1718 RA= LOMEIN_DATA_VA,
1719 PA= LOMEIN_DATA_VA,
1720 part_0_ctx_nonzero_tsb_config_3,
1721 part_0_ctx_zero_tsb_config_3
1722 TTE_G=1, TTE_Context=0x55, TTE_V=1, TTE_Size=0, TTE_NFO=0,
1723 TTE_IE=0, TTE_Soft2=0, TTE_Diag=0, TTE_Soft=0,
1724 TTE_L=0, TTE_CP=1, TTE_CV=0, TTE_E=0, TTE_P=0, TTE_W=1, TTE_X=0,
1725 tsbonly
1726 }
1727
1728attr_text {
1729 Name = .MAIN,
1730 VA=MAIN_BASE_TEXT_VA,
1731 hypervisor
1732}
1733
1734attr_data {
1735 Name = .MAIN,
1736 VA=MAIN_BASE_DATA_VA
1737 hypervisor
1738}
1739changequote(`,')dnl'
1740
1741.text
1742.global main
1743main:
1744
1745 ! Set up ld/st area per thread
1746 ta T_CHANGE_HPRIV
1747 ldxa [%g0]0x63, %o2
1748 and %o2, 0x7, %o1
1749 brnz %o1, init_start
1750 mov 0xff, %r10
1751lock_sync_thds:
1752 set sync_thr_counter4, %r23
1753#ifndef SPC
1754 and %o2, 0x38, %o2
1755 add %o2,%r23,%r23 !Core's sync counter
1756#endif
1757 st %r10, [%r23] !lock sync_thr_counter4
1758 add %r23, 64, %r23
1759 st %r10, [%r23] !lock sync_thr_counter5
1760 add %r23, 64, %r23
1761 st %r10, [%r23] !lock sync_thr_counter6
1762init_start:
1763 ta T_CHANGE_NONHPRIV
1764 umul %r9, 256, %r31
1765 setx user_data_start, %r1, %r3
1766 add %r31, %r3, %r31
1767 wr %r0, 0x4, %asi
1768
1769!Initializing integer registers
1770 ldx [%r31+0], %r0
1771 ldx [%r31+8], %r1
1772 ldx [%r31+16], %r2
1773 ldx [%r31+24], %r3
1774 ldx [%r31+32], %r4
1775 ldx [%r31+40], %r5
1776 ldx [%r31+48], %r6
1777 ldx [%r31+56], %r7
1778 ldx [%r31+64], %r8
1779 ldx [%r31+72], %r9
1780 ldx [%r31+80], %r10
1781 ldx [%r31+88], %r11
1782 ldx [%r31+96], %r12
1783 ldx [%r31+104], %r13
1784 ldx [%r31+112], %r14
1785 mov %r31, %r15
1786 ldx [%r31+128], %r16
1787 ldx [%r31+136], %r17
1788 ldx [%r31+144], %r18
1789 ldx [%r31+152], %r19
1790 ldx [%r31+160], %r20
1791 ldx [%r31+168], %r21
1792 ldx [%r31+176], %r22
1793 ldx [%r31+184], %r23
1794 ldx [%r31+192], %r24
1795 ldx [%r31+200], %r25
1796 ldx [%r31+208], %r26
1797 ldx [%r31+216], %r27
1798 ldx [%r31+224], %r28
1799 ldx [%r31+232], %r29
1800 mov 0xb4, %r14
1801 mov 0x35, %r30
1802 save %r31, %r0, %r31
1803 ldx [%r31+0], %r0
1804 ldx [%r31+8], %r1
1805 ldx [%r31+16], %r2
1806 ldx [%r31+24], %r3
1807 ldx [%r31+32], %r4
1808 ldx [%r31+40], %r5
1809 ldx [%r31+48], %r6
1810 ldx [%r31+56], %r7
1811 ldx [%r31+64], %r8
1812 ldx [%r31+72], %r9
1813 ldx [%r31+80], %r10
1814 ldx [%r31+88], %r11
1815 ldx [%r31+96], %r12
1816 ldx [%r31+104], %r13
1817 ldx [%r31+112], %r14
1818 mov %r31, %r15
1819 ldx [%r31+128], %r16
1820 ldx [%r31+136], %r17
1821 ldx [%r31+144], %r18
1822 ldx [%r31+152], %r19
1823 ldx [%r31+160], %r20
1824 ldx [%r31+168], %r21
1825 ldx [%r31+176], %r22
1826 ldx [%r31+184], %r23
1827 ldx [%r31+192], %r24
1828 ldx [%r31+200], %r25
1829 ldx [%r31+208], %r26
1830 ldx [%r31+216], %r27
1831 ldx [%r31+224], %r28
1832 ldx [%r31+232], %r29
1833 mov 0xb4, %r14
1834 mov 0x33, %r30
1835 save %r31, %r0, %r31
1836 ldx [%r31+0], %r0
1837 ldx [%r31+8], %r1
1838 ldx [%r31+16], %r2
1839 ldx [%r31+24], %r3
1840 ldx [%r31+32], %r4
1841 ldx [%r31+40], %r5
1842 ldx [%r31+48], %r6
1843 ldx [%r31+56], %r7
1844 ldx [%r31+64], %r8
1845 ldx [%r31+72], %r9
1846 ldx [%r31+80], %r10
1847 ldx [%r31+88], %r11
1848 ldx [%r31+96], %r12
1849 ldx [%r31+104], %r13
1850 ldx [%r31+112], %r14
1851 mov %r31, %r15
1852 ldx [%r31+128], %r16
1853 ldx [%r31+136], %r17
1854 ldx [%r31+144], %r18
1855 ldx [%r31+152], %r19
1856 ldx [%r31+160], %r20
1857 ldx [%r31+168], %r21
1858 ldx [%r31+176], %r22
1859 ldx [%r31+184], %r23
1860 ldx [%r31+192], %r24
1861 ldx [%r31+200], %r25
1862 ldx [%r31+208], %r26
1863 ldx [%r31+216], %r27
1864 ldx [%r31+224], %r28
1865 ldx [%r31+232], %r29
1866 mov 0x34, %r14
1867 mov 0xb2, %r30
1868 save %r31, %r0, %r31
1869 ldx [%r31+0], %r0
1870 ldx [%r31+8], %r1
1871 ldx [%r31+16], %r2
1872 ldx [%r31+24], %r3
1873 ldx [%r31+32], %r4
1874 ldx [%r31+40], %r5
1875 ldx [%r31+48], %r6
1876 ldx [%r31+56], %r7
1877 ldx [%r31+64], %r8
1878 ldx [%r31+72], %r9
1879 ldx [%r31+80], %r10
1880 ldx [%r31+88], %r11
1881 ldx [%r31+96], %r12
1882 ldx [%r31+104], %r13
1883 ldx [%r31+112], %r14
1884 mov %r31, %r15
1885 ldx [%r31+128], %r16
1886 ldx [%r31+136], %r17
1887 ldx [%r31+144], %r18
1888 ldx [%r31+152], %r19
1889 ldx [%r31+160], %r20
1890 ldx [%r31+168], %r21
1891 ldx [%r31+176], %r22
1892 ldx [%r31+184], %r23
1893 ldx [%r31+192], %r24
1894 ldx [%r31+200], %r25
1895 ldx [%r31+208], %r26
1896 ldx [%r31+216], %r27
1897 ldx [%r31+224], %r28
1898 ldx [%r31+232], %r29
1899 mov 0xb3, %r14
1900 mov 0xb0, %r30
1901 save %r31, %r0, %r31
1902 ldx [%r31+0], %r0
1903 ldx [%r31+8], %r1
1904 ldx [%r31+16], %r2
1905 ldx [%r31+24], %r3
1906 ldx [%r31+32], %r4
1907 ldx [%r31+40], %r5
1908 ldx [%r31+48], %r6
1909 ldx [%r31+56], %r7
1910 ldx [%r31+64], %r8
1911 ldx [%r31+72], %r9
1912 ldx [%r31+80], %r10
1913 ldx [%r31+88], %r11
1914 ldx [%r31+96], %r12
1915 ldx [%r31+104], %r13
1916 ldx [%r31+112], %r14
1917 mov %r31, %r15
1918 ldx [%r31+128], %r16
1919 ldx [%r31+136], %r17
1920 ldx [%r31+144], %r18
1921 ldx [%r31+152], %r19
1922 ldx [%r31+160], %r20
1923 ldx [%r31+168], %r21
1924 ldx [%r31+176], %r22
1925 ldx [%r31+184], %r23
1926 ldx [%r31+192], %r24
1927 ldx [%r31+200], %r25
1928 ldx [%r31+208], %r26
1929 ldx [%r31+216], %r27
1930 ldx [%r31+224], %r28
1931 ldx [%r31+232], %r29
1932 mov 0x30, %r14
1933 mov 0xb5, %r30
1934 save %r31, %r0, %r31
1935 ldx [%r31+0], %r0
1936 ldx [%r31+8], %r1
1937 ldx [%r31+16], %r2
1938 ldx [%r31+24], %r3
1939 ldx [%r31+32], %r4
1940 ldx [%r31+40], %r5
1941 ldx [%r31+48], %r6
1942 ldx [%r31+56], %r7
1943 ldx [%r31+64], %r8
1944 ldx [%r31+72], %r9
1945 ldx [%r31+80], %r10
1946 ldx [%r31+88], %r11
1947 ldx [%r31+96], %r12
1948 ldx [%r31+104], %r13
1949 ldx [%r31+112], %r14
1950 mov %r31, %r15
1951 ldx [%r31+128], %r16
1952 ldx [%r31+136], %r17
1953 ldx [%r31+144], %r18
1954 ldx [%r31+152], %r19
1955 ldx [%r31+160], %r20
1956 ldx [%r31+168], %r21
1957 ldx [%r31+176], %r22
1958 ldx [%r31+184], %r23
1959 ldx [%r31+192], %r24
1960 ldx [%r31+200], %r25
1961 ldx [%r31+208], %r26
1962 ldx [%r31+216], %r27
1963 ldx [%r31+224], %r28
1964 ldx [%r31+232], %r29
1965 mov 0xb0, %r14
1966 mov 0xb3, %r30
1967 save %r31, %r0, %r31
1968 ldx [%r31+0], %r0
1969 ldx [%r31+8], %r1
1970 ldx [%r31+16], %r2
1971 ldx [%r31+24], %r3
1972 ldx [%r31+32], %r4
1973 ldx [%r31+40], %r5
1974 ldx [%r31+48], %r6
1975 ldx [%r31+56], %r7
1976 ldx [%r31+64], %r8
1977 ldx [%r31+72], %r9
1978 ldx [%r31+80], %r10
1979 ldx [%r31+88], %r11
1980 ldx [%r31+96], %r12
1981 ldx [%r31+104], %r13
1982 ldx [%r31+112], %r14
1983 mov %r31, %r15
1984 ldx [%r31+128], %r16
1985 ldx [%r31+136], %r17
1986 ldx [%r31+144], %r18
1987 ldx [%r31+152], %r19
1988 ldx [%r31+160], %r20
1989 ldx [%r31+168], %r21
1990 ldx [%r31+176], %r22
1991 ldx [%r31+184], %r23
1992 ldx [%r31+192], %r24
1993 ldx [%r31+200], %r25
1994 ldx [%r31+208], %r26
1995 ldx [%r31+216], %r27
1996 ldx [%r31+224], %r28
1997 ldx [%r31+232], %r29
1998 mov 0xb0, %r14
1999 mov 0xb5, %r30
2000 save %r31, %r0, %r31
2001 restore
2002 restore
2003 restore
2004!Initializing float registers
2005 ldd [%r31+0], %f0
2006 ldd [%r31+16], %f2
2007 ldd [%r31+32], %f4
2008 ldd [%r31+48], %f6
2009 ldd [%r31+64], %f8
2010 ldd [%r31+80], %f10
2011 ldd [%r31+96], %f12
2012 ldd [%r31+112], %f14
2013 ldd [%r31+128], %f16
2014 ldd [%r31+144], %f18
2015 ldd [%r31+160], %f20
2016 ldd [%r31+176], %f22
2017 ldd [%r31+192], %f24
2018 ldd [%r31+208], %f26
2019 ldd [%r31+224], %f28
2020 ldd [%r31+240], %f30
2021 !! Set TPC/TNPC to diag-finish in case we get to a strange TL ..
2022 ta T_CHANGE_HPRIV
2023 setx diag_finish, %r29, %r28
2024 add %r28, 4, %r29
2025 wrpr %g0, 1, %tl
2026 wrpr %r28, %tpc
2027 wrpr %r29, %tnpc
2028 wrpr %g0, 2, %tl
2029 wrpr %r28, %tpc
2030 wrpr %r29, %tnpc
2031 wrpr %g0, 3, %tl
2032 wrpr %r28, %tpc
2033 wrpr %r29, %tnpc
2034 wrpr %g0, 4, %tl
2035 wrpr %r28, %tpc
2036 wrpr %r29, %tnpc
2037 wrpr %g0, 5, %tl
2038 wrpr %r28, %tpc
2039 wrpr %r29, %tnpc
2040 wrpr %g0, 6, %tl
2041 wrpr %r28, %tpc
2042 wrpr %r29, %tnpc
2043 wrpr %g0, 0, %tl
2044
2045 !Initializing Tick Cmprs
2046 mov 1, %g2
2047 sllx %g2, 63, %g2
2048 or %g1, %g2, %g1
2049 wrhpr %g1, %g0, %hsys_tick_cmpr
2050 wr %g1, %g0, %tick_cmpr
2051 wr %g1, %g0, %sys_tick_cmpr
2052
2053 ! Set up fpr PMU traps
2054 set 0x1ff8bfff, %g2
2055 b fork_threads
2056 wr %g2, %g0, %pcr
2057
2058common_target:
2059 nop
2060 sub %r27, 8, %r27
2061 and %r27, 8, %r12
2062 brz,a %r12, .+8
2063 lduw [%r27], %r12 ! load jmp dest into dcache - xinval
2064 jmp %r27
2065 .word 0x24ca8001 ! 1: BRLEZ brlez,a,pt %r10,<label_0xa8001>
2066 nop
2067 jmp %r27
2068 nop
2069fork_threads:
2070 ta %icc, T_RD_THID
2071! fork: source strm = 0xffffffff; target strm = 0x1
2072 cmp %o1, 0
2073 setx fork_lbl_0_1, %g2, %g3
2074 be,a .+8
2075 jmp %g3
2076 nop
2077! fork: source strm = 0xffffffff; target strm = 0x2
2078 cmp %o1, 1
2079 setx fork_lbl_0_2, %g2, %g3
2080 be,a .+8
2081 jmp %g3
2082 nop
2083! fork: source strm = 0xffffffff; target strm = 0x4
2084 cmp %o1, 2
2085 setx fork_lbl_0_3, %g2, %g3
2086 be,a .+8
2087 jmp %g3
2088 nop
2089! fork: source strm = 0xffffffff; target strm = 0x8
2090 cmp %o1, 3
2091 setx fork_lbl_0_4, %g2, %g3
2092 be,a .+8
2093 jmp %g3
2094 nop
2095! fork: source strm = 0xffffffff; target strm = 0x10
2096 cmp %o1, 4
2097 setx fork_lbl_0_5, %g2, %g3
2098 be,a .+8
2099 jmp %g3
2100 nop
2101! fork: source strm = 0xffffffff; target strm = 0x20
2102 cmp %o1, 5
2103 setx fork_lbl_0_6, %g2, %g3
2104 be,a .+8
2105 jmp %g3
2106 nop
2107! fork: source strm = 0xffffffff; target strm = 0x40
2108 cmp %o1, 6
2109 setx fork_lbl_0_7, %g2, %g3
2110 be,a .+8
2111 jmp %g3
2112 nop
2113! fork: source strm = 0xffffffff; target strm = 0x80
2114 cmp %o1, 7
2115 setx fork_lbl_0_8, %g2, %g3
2116 be,a .+8
2117 jmp %g3
2118 nop
2119 setx join_lbl_0_0, %g1, %g2
2120 jmp %g2
2121 nop
2122 setx join_lbl_0_0, %g1, %g2
2123 jmp %g2
2124 nop
2125fork_lbl_0_8:
2126 ta T_CHANGE_NONHPRIV
2127vahole_80_0:
2128 nop
2129 ta T_CHANGE_NONHPRIV
2130 setx vahole_target1, %r18, %r27
2131 jmpl %r27+0, %r27
2132 .word 0xc32fc008 ! 1: STXFSR_R st-sfr %f1, [%r8, %r31]
2133jmptr_80_1:
2134 nop
2135 best_set_reg(0xe0a00000, %r20, %r27)
2136 .word 0xb7c6c000 ! 2: JMPL_R jmpl %r27 + %r0, %r27
2137 .word 0x36800001 ! 3: BGE bge,a <label_0x1>
2138 .word 0xc1bfdc00 ! 4: STDFA_R stda %f0, [%r0, %r31]
2139 nop
2140 ta T_CHANGE_HPRIV
2141 mov 0x80, %r10
2142 set sync_thr_counter6, %r23
2143#ifndef SPC
2144 ldxa [%g0]0x63, %o1
2145 and %o1, 0x38, %o1
2146 add %o1, %r23, %r23
2147#endif
2148 cas [%r23],%g0,%r10 !lock
2149 brnz %r10, sma_80_2
2150 rd %asi, %r12
2151 wr %g0, 0x40, %asi
2152 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
2153 set 0x00021fff, %g1
2154 stxa %g1, [%g0 + 0x80] %asi
2155 wr %r12, %g0, %asi
2156 st %g0, [%r23]
2157sma_80_2:
2158 ta T_CHANGE_NONHPRIV
2159 .word 0xe5e7e013 ! 5: CASA_R casa [%r31] %asi, %r19, %r18
2160vahole_80_3:
2161 nop
2162 ta T_CHANGE_NONHPRIV
2163 setx vahole_target2, %r18, %r27
2164 jmpl %r27+0, %r27
2165 .word 0x99a209ad ! 6: FDIVs fdivs %f8, %f13, %f12
2166 .word 0xc19fe160 ! 7: LDDFA_I ldda [%r31, 0x0160], %f0
2167ibp_80_4:
2168 nop
2169 ta T_CHANGE_NONHPRIV
2170 .word 0xc1bfc3e0 ! 8: STDFA_R stda %f0, [%r0, %r31]
2171iaw_80_5:
2172 nop
2173 ta T_CHANGE_HPRIV
2174 mov 8, %r18
2175 rd %asi, %r12
2176 wr %r0, 0x41, %asi
2177 set sync_thr_counter4, %r23
2178#ifndef SPC
2179 ldxa [%g0]0x63, %r8
2180 and %r8, 0x38, %r8 ! Core ID
2181 add %r8, %r23, %r23
2182#else
2183 mov 0, %r8
2184#endif
2185 mov 0x80, %r16
2186iaw_startwait80_5:
2187 cas [%r23],%g0,%r16 !lock
2188 brz,a %r16, continue_iaw_80_5
2189 mov (~0x80&0xf0), %r16
2190 ld [%r23], %r16
2191iaw_wait80_5:
2192 brnz %r16, iaw_wait80_5
2193 ld [%r23], %r16
2194 ba iaw_startwait80_5
2195 mov 0x80, %r16
2196continue_iaw_80_5:
2197 sllx %r16, %r8, %r16 !Mask for my core only
2198 ldxa [0x58]%asi, %r17 !Running_status
2199wait_for_stat_80_5:
2200 ldxa [0x50]%asi, %r13 !Running_rw
2201 cmp %r13, %r17
2202 bne,a wait_for_stat_80_5
2203 ldxa [0x58]%asi, %r17 !Running_status
2204 stxa %r16, [0x68]%asi !Park (W1C)
2205 ldxa [0x50]%asi, %r14 !Running_rw
2206wait_for_iaw_80_5:
2207 ldxa [0x58]%asi, %r17 !Running_status
2208 cmp %r14, %r17
2209 bne,a wait_for_iaw_80_5
2210 ldxa [0x50]%asi, %r14 !Running_rw
2211iaw_doit80_5:
2212 mov 0x38, %r18
2213iaw3_80_5:
2214 setx common_target, %r20, %r19
2215 or %r19, 0x1, %r19
2216 stxa %r19, [%r18]0x50
2217 stxa %r16, [0x60] %asi ! Unpark (W1S)
2218 st %g0, [%r23] !clear lock
2219 wr %r0, %r12, %asi ! restore %asi
2220 ta T_CHANGE_NONHPRIV
2221 .word 0xe1bfd920 ! 9: STDFA_R stda %f16, [%r0, %r31]
2222pmu_80_6:
2223 nop
2224 setx 0xfffff76afffff3cd, %g1, %g7
2225 .word 0xa3800007 ! 10: WR_PERF_COUNTER_R wr %r0, %r7, %-
2226ibp_80_7:
2227 nop
2228 ta T_CHANGE_NONHPRIV
2229 .word 0xc19fdb60 ! 11: LDDFA_R ldda [%r31, %r0], %f0
2230 .word 0x9f8024e5 ! 12: SIR sir 0x04e5
2231brcommon1_80_8:
2232 nop
2233 setx common_target, %r12, %r27
2234 lduw [%r27], %r12 ! Load common dest into dcache ..
2235 ba,a .+12
2236 .word 0xa3702e80 ! 1: POPC_I popc 0x0e80, %r17
2237 ba,a .+8
2238 jmpl %r27+0, %r27
2239 .word 0xc3ec4030 ! 13: PREFETCHA_R prefetcha [%r17, %r16] 0x01, #one_read
2240 .word 0xa9540000 ! 14: RDPR_GL rdpr %-, %r20
2241splash_lsu_80_9:
2242 nop
2243 ta T_CHANGE_HPRIV
2244 set 0x79d8a39a, %r2
2245 mov 0x4, %r1
2246 sllx %r1, 32, %r1
2247 or %r1, %r2, %r2
2248 stxa %r2, [%r0] ASI_LSU_CONTROL
2249 .word 0x3d400001 ! 15: FBPULE fbule,a,pn %fcc0, <label_0x1>
2250 .word 0xe82fe0bc ! 16: STB_I stb %r20, [%r31 + 0x00bc]
2251pmu_80_10:
2252 nop
2253 setx 0xfffff2b6fffffa27, %g1, %g7
2254 .word 0xa3800007 ! 17: WR_PERF_COUNTER_R wr %r0, %r7, %-
2255 .word 0x9f8039b8 ! 18: SIR sir 0x19b8
2256 .word 0x8d903b09 ! 19: WRPR_PSTATE_I wrpr %r0, 0x1b09, %pstate
2257dvapa_80_12:
2258 nop
2259 ta T_CHANGE_HPRIV
2260 mov 0xf3f, %r20
2261 mov 0x1a, %r19
2262 sllx %r20, 23, %r20
2263 or %r19, %r20, %r19
2264 stxa %r19, [%g0] ASI_LSU_CONTROL
2265 mov 0x38, %r18
2266 stxa %r31, [%r18]0x58
2267 ta T_CHANGE_NONHPRIV
2268 .word 0xc19fde00 ! 20: LDDFA_R ldda [%r31, %r0], %f0
2269splash_cmpr_80_13:
2270 nop
2271 setx 0x454ed6ca9f890e1b, %l2, %l1
2272 ta T_CHANGE_PRIV
2273 .word 0xaf800011 ! 1: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
2274 sub %l1, 40, %g1
2275 .word 0x89900011 ! 21: WRPR_TICK_R wrpr %r0, %r17, %tick
2276donret_80_14:
2277 nop
2278 ta T_CHANGE_HPRIV ! macro
2279 rd %pc, %r12
2280 add %r12, (donretarg_80_14-donret_80_14-8), %r12
2281 mov 0x38, %r18
2282 stxa %r12, [%r18]0x58
2283 add %r12, 0x4, %r11
2284 wrpr %g0, 0x1, %tl
2285 wrpr %g0, %r12, %tpc
2286 wrpr %g0, %r11, %tnpc
2287 set (0x001c83c7 | (22 << 24)), %r13
2288 rdpr %tstate, %r16
2289 mov 0x1f, %r19
2290 and %r19, %r16, %r17
2291 andn %r16, %r19, %r16
2292 or %r16, %r17, %r20
2293 wrpr %r20, %g0, %tstate
2294 wrhpr %g0, 0xfd6, %htstate
2295 ta T_CHANGE_NONHPRIV ! rand=1 (80)
2296 .word 0x3c800001 ! 1: BPOS bpos,a <label_0x1>
2297 retry
2298donretarg_80_14:
2299 .word 0xa5a409d2 ! 22: FDIVd fdivd %f16, %f18, %f18
2300trapasi_80_15:
2301 nop
2302 mov 0x38, %r1 ! (VA for ASI 0x50)
2303 .word 0xdad04a00 ! 23: LDSHA_R ldsha [%r1, %r0] 0x50, %r13
2304dvapa_80_16:
2305 nop
2306 ta T_CHANGE_HPRIV
2307 mov 0xb92, %r20
2308 mov 0x15, %r19
2309 sllx %r20, 23, %r20
2310 or %r19, %r20, %r19
2311 stxa %r19, [%g0] ASI_LSU_CONTROL
2312 mov 0x38, %r18
2313 stxa %r31, [%r18]0x58
2314 ta T_CHANGE_NONHPRIV
2315 .word 0xdadfc02c ! 24: LDXA_R ldxa [%r31, %r12] 0x01, %r13
2316 .word 0x8d802004 ! 25: WRFPRS_I wr %r0, 0x0004, %fprs
2317 bleu skip_80_17
2318 fbug,a,pn %fcc0, skip_80_17
2319.align 512
2320skip_80_17:
2321 .word 0xdbe7c020 ! 26: CASA_I casa [%r31] 0x 1, %r0, %r13
2322splash_cmpr_80_18:
2323 nop
2324 setx 0x7d994b109efc7993, %l2, %l1
2325 ta T_CHANGE_HPRIV
2326 wrhpr %l1, %g0, %hsys_tick_cmpr
2327 sub %l1, 40, %g1
2328 .word 0x89900011 ! 27: WRPR_TICK_R wrpr %r0, %r17, %tick
2329intveclr_80_19:
2330 nop
2331 ta T_CHANGE_HPRIV
2332 setx 0xca15c265018d59e5, %r1, %r28
2333 stxa %r28, [%g0] 0x72
2334 ta T_CHANGE_NONHPRIV
2335 .word 0x25400001 ! 28: FBPLG fblg,a,pn %fcc0, <label_0x1>
2336intveclr_80_20:
2337 nop
2338 ta T_CHANGE_HPRIV
2339 setx 0x2db04a7778453a7c, %r1, %r28
2340 stxa %r28, [%g0] 0x72
2341 ta T_CHANGE_NONHPRIV
2342 .word 0x25400001 ! 29: FBPLG fblg,a,pn %fcc0, <label_0x1>
2343 nop
2344 ta T_CHANGE_HPRIV
2345 mov 0x80, %r10
2346 set sync_thr_counter6, %r23
2347#ifndef SPC
2348 ldxa [%g0]0x63, %o1
2349 and %o1, 0x38, %o1
2350 add %o1, %r23, %r23
2351#endif
2352 cas [%r23],%g0,%r10 !lock
2353 brnz %r10, sma_80_21
2354 rd %asi, %r12
2355 wr %g0, 0x40, %asi
2356 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
2357 set 0x001a1fff, %g1
2358 stxa %g1, [%g0 + 0x80] %asi
2359 wr %r12, %g0, %asi
2360 st %g0, [%r23]
2361sma_80_21:
2362 ta T_CHANGE_NONHPRIV
2363 .word 0xdbe7e014 ! 30: CASA_R casa [%r31] %asi, %r20, %r13
2364 .word 0x93a00174 ! 31: FABSq dis not found
2365
2366memptr_80_23:
2367 set 0x60740000, %r31
2368 .word 0x8581f398 ! 32: WRCCR_I wr %r7, 0x1398, %ccr
2369splash_tba_80_24:
2370 ta T_CHANGE_PRIV
2371 set 0x120000, %r12
2372 .word 0x8b90000c ! 33: WRPR_TBA_R wrpr %r0, %r12, %tba
2373 .word 0xe45fe118 ! 34: LDX_I ldx [%r31 + 0x0118], %r18
2374 .word 0x9f803a95 ! 35: SIR sir 0x1a95
2375mondo_80_25:
2376 nop
2377 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2378 stxa %r20, [%r0+0x3d0] %asi
2379 .word 0x9d91c001 ! 36: WRPR_WSTATE_R wrpr %r7, %r1, %wstate
2380donret_80_26:
2381 nop
2382 ta T_CHANGE_HPRIV ! macro
2383 rd %pc, %r12
2384 add %r12, (donretarg_80_26-donret_80_26-8), %r12
2385 mov 0x38, %r18
2386 stxa %r12, [%r18]0x58
2387 add %r12, 0x4, %r11
2388 wrpr %g0, 0x1, %tl
2389 wrpr %g0, %r12, %tpc
2390 wrpr %g0, %r11, %tnpc
2391 set (0x0035c449 | (0x83 << 24)), %r13
2392 rdpr %tstate, %r16
2393 mov 0x1f, %r19
2394 and %r19, %r16, %r17
2395 andn %r16, %r19, %r16
2396 or %r16, %r17, %r20
2397 wrpr %r20, %g0, %tstate
2398 wrhpr %g0, 0x91f, %htstate
2399 ta T_CHANGE_NONHPRIV ! rand=1 (80)
2400 retry
2401donretarg_80_26:
2402 .word 0xe46fe1a4 ! 37: LDSTUB_I ldstub %r18, [%r31 + 0x01a4]
2403donret_80_27:
2404 nop
2405 ta T_CHANGE_HPRIV ! macro
2406 rd %pc, %r12
2407 add %r12, (donretarg_80_27-donret_80_27-4), %r12
2408 mov 0x38, %r18
2409 stxa %r12, [%r18]0x58
2410 add %r12, 0x4, %r11
2411 wrpr %g0, 0x2, %tl
2412 wrpr %g0, %r12, %tpc
2413 wrpr %g0, %r11, %tnpc
2414 set (0x001c3793 | (0x58 << 24)), %r13
2415 rdpr %tstate, %r16
2416 mov 0x1f, %r19
2417 and %r19, %r16, %r17
2418 andn %r16, %r19, %r16
2419 or %r16, %r17, %r20
2420 wrpr %r20, %g0, %tstate
2421 wrhpr %g0, 0x97, %htstate
2422 ta T_CHANGE_NONHPRIV ! rand=1 (80)
2423 .word 0x2d400001 ! 1: FBPG fbg,a,pn %fcc0, <label_0x1>
2424 done
2425donretarg_80_27:
2426 .word 0xe46fe1c5 ! 38: LDSTUB_I ldstub %r18, [%r31 + 0x01c5]
2427 .word 0x9194c002 ! 39: WRPR_PIL_R wrpr %r19, %r2, %pil
2428pmu_80_29:
2429 nop
2430 ta T_CHANGE_PRIV
2431 setx 0xfffffdadfffffc1b, %g1, %g7
2432 .word 0xa3800007 ! 40: WR_PERF_COUNTER_R wr %r0, %r7, %-
2433 fbne,a,pn %fcc0, skip_80_30
2434 fbn skip_80_30
2435.align 1024
2436skip_80_30:
2437 .word 0xc36fe13e ! 41: PREFETCH_I prefetch [%r31 + 0x013e], #one_read
2438splash_tba_80_31:
2439 ta T_CHANGE_PRIV
2440 setx 0x00000000003a0000, %r11, %r12
2441 .word 0x8b90000c ! 42: WRPR_TBA_R wrpr %r0, %r12, %tba
2442intveclr_80_32:
2443 nop
2444 ta T_CHANGE_HPRIV
2445 setx 0xf8f3c096afb2e099, %r1, %r28
2446 stxa %r28, [%g0] 0x72
2447 ta T_CHANGE_NONHPRIV
2448 .word 0x25400001 ! 43: FBPLG fblg,a,pn %fcc0, <label_0x1>
2449 .word 0xe497e0f0 ! 44: LDUHA_I lduha [%r31, + 0x00f0] %asi, %r18
2450 otherw
2451 mov 0xb0, %r30
2452 .word 0x91d0001e ! 45: Tcc_R ta icc_or_xcc, %r0 + %r30
2453 .word 0xa981c00d ! 46: WR_SET_SOFTINT_R wr %r7, %r13, %set_softint
2454 nop
2455 ta T_CHANGE_HPRIV
2456 mov 0x80+1, %r10
2457 set sync_thr_counter5, %r23
2458#ifndef SPC
2459 ldxa [%g0]0x63, %o1
2460 and %o1, 0x38, %o1
2461 add %o1, %r23, %r23
2462#endif
2463 cas [%r23],%g0,%r10 !lock
2464 brnz %r10, cwq_80_33
2465 rd %asi, %r12
2466 wr %g0, 0x40, %asi
2467 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
2468 and %l1, 0x3, %l1 ! Check if busy/enabled ..
2469 cmp %l1, 1
2470 bne cwq_80_33
2471 set CWQ_BASE, %l6
2472 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
2473 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
2474 sllx %l2, 32, %l2
2475 stx %l2, [%l6 + 0x0]
2476 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
2477 sub %l2, 0x40, %l2
2478 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
2479 wr %r12, %g0, %asi
2480 st %g0, [%r23]
2481cwq_80_33:
2482 ta T_CHANGE_NONHPRIV
2483 .word 0x91414000 ! 47: RDPC rd %pc, %r8
2484tagged_80_34:
2485 tsubcctv %r7, 0x15b6, %r18
2486 .word 0xe807e0b2 ! 48: LDUW_I lduw [%r31 + 0x00b2], %r20
2487splash_lsu_80_35:
2488 nop
2489 ta T_CHANGE_HPRIV
2490 set 0x10060c22, %r2
2491 mov 0x2, %r1
2492 sllx %r1, 32, %r1
2493 or %r1, %r2, %r2
2494 stxa %r2, [%r0] ASI_LSU_CONTROL
2495 ta T_CHANGE_NONHPRIV
2496 .word 0x3d400001 ! 49: FBPULE fbule,a,pn %fcc0, <label_0x1>
2497ibp_80_36:
2498 nop
2499 .word 0x9f803105 ! 50: SIR sir 0x1105
2500 .word 0xa9a00166 ! 51: FABSq dis not found
2501
2502intveclr_80_38:
2503 nop
2504 ta T_CHANGE_HPRIV
2505 setx 0x26aae8b775bbaec4, %r1, %r28
2506 stxa %r28, [%g0] 0x72
2507 .word 0x25400001 ! 52: FBPLG fblg,a,pn %fcc0, <label_0x1>
2508mondo_80_39:
2509 nop
2510 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2511 stxa %r16, [%r0+0x3c8] %asi
2512 .word 0x9d908010 ! 53: WRPR_WSTATE_R wrpr %r2, %r16, %wstate
2513pmu_80_40:
2514 nop
2515 setx 0xfffff68ffffff017, %g1, %g7
2516 .word 0xa3800007 ! 54: WR_PERF_COUNTER_R wr %r0, %r7, %-
2517dvapa_80_41:
2518 nop
2519 ta T_CHANGE_HPRIV
2520 mov 0x9f7, %r20
2521 mov 0xa, %r19
2522 sllx %r20, 23, %r20
2523 or %r19, %r20, %r19
2524 stxa %r19, [%g0] ASI_LSU_CONTROL
2525 mov 0x38, %r18
2526 stxa %r31, [%r18]0x58
2527 ta T_CHANGE_NONHPRIV
2528 .word 0xc1bfe0c0 ! 55: STDFA_I stda %f0, [0x00c0, %r31]
2529pmu_80_42:
2530 nop
2531 setx 0xfffff91ffffffc3f, %g1, %g7
2532 .word 0xa3800007 ! 56: WR_PERF_COUNTER_R wr %r0, %r7, %-
2533tagged_80_43:
2534 taddcctv %r1, 0x1ae7, %r17
2535 .word 0xe807e090 ! 57: LDUW_I lduw [%r31 + 0x0090], %r20
2536splash_lsu_80_44:
2537 nop
2538 ta T_CHANGE_HPRIV
2539 set 0x8958f27f, %r2
2540 mov 0x4, %r1
2541 sllx %r1, 32, %r1
2542 or %r1, %r2, %r2
2543 stxa %r2, [%r0] ASI_LSU_CONTROL
2544 ta T_CHANGE_NONHPRIV
2545 .word 0x3d400001 ! 58: FBPULE fbule,a,pn %fcc0, <label_0x1>
2546trapasi_80_45:
2547 nop
2548 mov 0x3c0, %r1 ! (VA for ASI 0x25)
2549 .word 0xe8d044a0 ! 59: LDSHA_R ldsha [%r1, %r0] 0x25, %r20
2550 .word 0xa7a4c9a8 ! 60: FDIVs fdivs %f19, %f8, %f19
2551jmptr_80_46:
2552 nop
2553 best_set_reg(0xe0a00000, %r20, %r27)
2554 .word 0xb7c6c000 ! 61: JMPL_R jmpl %r27 + %r0, %r27
2555 brz,pt %r19, skip_80_47
2556 fbuge skip_80_47
2557.align 1024
2558skip_80_47:
2559 .word 0xc32fc000 ! 62: STXFSR_R st-sfr %f1, [%r0, %r31]
2560splash_cmpr_80_48:
2561 nop
2562 setx 0x72d3071e881f331c, %l2, %l1
2563 ta T_CHANGE_HPRIV
2564 wrhpr %l1, %g0, %hsys_tick_cmpr
2565 ta T_CHANGE_NONHPRIV
2566 sub %l1, 40, %g1
2567 .word 0xb1800011 ! 63: WR_STICK_REG_R wr %r0, %r17, %-
2568 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
2569reduce_priv_lvl_80_49:
2570 ta T_CHANGE_NONPRIV ! macro
2571mondo_80_50:
2572 nop
2573 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2574 ta T_CHANGE_PRIV
2575 stxa %r20, [%r0+0x3c0] %asi
2576 .word 0x9d94c009 ! 65: WRPR_WSTATE_R wrpr %r19, %r9, %wstate
2577donret_80_51:
2578 nop
2579 ta T_CHANGE_HPRIV ! macro
2580 rd %pc, %r12
2581 add %r12, (donretarg_80_51-donret_80_51-4), %r12
2582 mov 0x38, %r18
2583 stxa %r12, [%r18]0x58
2584 add %r12, 0x4, %r11
2585 wrpr %g0, 0x2, %tl
2586 wrpr %g0, %r12, %tpc
2587 wrpr %g0, %r11, %tnpc
2588 set (0x00853a1b | (0x58 << 24)), %r13
2589 rdpr %tstate, %r16
2590 mov 0x1f, %r19
2591 and %r19, %r16, %r17
2592 andn %r16, %r19, %r16
2593 or %r16, %r17, %r20
2594 wrpr %r20, %g0, %tstate
2595 wrhpr %g0, 4, %htstate
2596 ta T_CHANGE_NONHPRIV ! rand=1 (80)
2597 done
2598donretarg_80_51:
2599 .word 0xa3a449d0 ! 66: FDIVd fdivd %f48, %f16, %f48
2600brcommon1_80_52:
2601 nop
2602 setx common_target, %r12, %r27
2603 lduw [%r27], %r12 ! Load common dest into dcache ..
2604 ba,a .+12
2605 .word 0xc32ff105 ! 1: STXFSR_I st-sfr %f1, [0x1105, %r31]
2606 ba,a .+8
2607 jmpl %r27+0, %r27
2608 .word 0x87ac4a47 ! 67: FCMPd fcmpd %fcc<n>, %f48, %f38
2609jmptr_80_53:
2610 nop
2611 best_set_reg(0xe0a00000, %r20, %r27)
2612 .word 0xb7c6c000 ! 68: JMPL_R jmpl %r27 + %r0, %r27
2613splash_tba_80_54:
2614 ta T_CHANGE_PRIV
2615 setx 0x00000000003a0000, %r11, %r12
2616 .word 0x8b90000c ! 69: WRPR_TBA_R wrpr %r0, %r12, %tba
2617trapasi_80_55:
2618 nop
2619 mov 0x0, %r1 ! (VA for ASI 0x72)
2620 .word 0xd4c84e40 ! 70: LDSBA_R ldsba [%r1, %r0] 0x72, %r10
2621pmu_80_56:
2622 nop
2623 setx 0xfffff6c9fffff3ab, %g1, %g7
2624 .word 0xa3800007 ! 71: WR_PERF_COUNTER_R wr %r0, %r7, %-
2625donret_80_57:
2626 nop
2627 ta T_CHANGE_HPRIV ! macro
2628 rd %pc, %r12
2629 add %r12, (donretarg_80_57-donret_80_57-4), %r12
2630 mov 0x38, %r18
2631 stxa %r12, [%r18]0x58
2632 add %r12, 0x4, %r11
2633 wrpr %g0, 0x2, %tl
2634 wrpr %g0, %r12, %tpc
2635 wrpr %g0, %r11, %tnpc
2636 set (0x00035191 | (0x8b << 24)), %r13
2637 rdpr %tstate, %r16
2638 mov 0x1f, %r19
2639 and %r19, %r16, %r17
2640 andn %r16, %r19, %r16
2641 or %r16, %r17, %r20
2642 wrpr %r20, %g0, %tstate
2643 wrhpr %g0, 0xe57, %htstate
2644 ta T_CHANGE_NONHPRIV ! rand=1 (80)
2645 done
2646donretarg_80_57:
2647 .word 0xd4ffe011 ! 72: SWAPA_I swapa %r10, [%r31 + 0x0011] %asi
2648brcommon1_80_58:
2649 nop
2650 setx common_target, %r12, %r27
2651 lduw [%r27], %r12 ! Load common dest into dcache ..
2652 ba,a .+12
2653 .word 0xd5e7c02b ! 1: CASA_I casa [%r31] 0x 1, %r11, %r10
2654 ba,a .+8
2655 jmpl %r27+0, %r27
2656 .word 0x9f8035cc ! 73: SIR sir 0x15cc
2657 .word 0xe1bfe080 ! 74: STDFA_I stda %f16, [0x0080, %r31]
2658dvapa_80_59:
2659 nop
2660 ta T_CHANGE_HPRIV
2661 mov 0xba9, %r20
2662 mov 0x16, %r19
2663 sllx %r20, 23, %r20
2664 or %r19, %r20, %r19
2665 stxa %r19, [%g0] ASI_LSU_CONTROL
2666 mov 0x38, %r18
2667 stxa %r31, [%r18]0x58
2668 ta T_CHANGE_NONHPRIV
2669 .word 0xe0bfc033 ! 75: STDA_R stda %r16, [%r31 + %r19] 0x01
2670donret_80_60:
2671 nop
2672 ta T_CHANGE_HPRIV ! macro
2673 rd %pc, %r12
2674 add %r12, (donretarg_80_60-donret_80_60-8), %r12
2675 mov 0x38, %r18
2676 stxa %r12, [%r18]0x58
2677 add %r12, 0x4, %r11
2678 wrpr %g0, 0x2, %tl
2679 wrpr %g0, %r12, %tpc
2680 wrpr %g0, %r11, %tnpc
2681 set (0x00d24bf1 | (0x89 << 24)), %r13
2682 rdpr %tstate, %r16
2683 mov 0x1f, %r19
2684 and %r19, %r16, %r17
2685 andn %r16, %r19, %r16
2686 or %r16, %r17, %r20
2687 wrpr %r20, %g0, %tstate
2688 wrhpr %g0, 0xc9c, %htstate
2689 ta T_CHANGE_NONPRIV ! rand=0 (80)
2690 retry
2691donretarg_80_60:
2692 .word 0xe06fe07f ! 76: LDSTUB_I ldstub %r16, [%r31 + 0x007f]
2693 .word 0x8d9031f7 ! 77: WRPR_PSTATE_I wrpr %r0, 0x11f7, %pstate
2694 .word 0xe19fe000 ! 78: LDDFA_I ldda [%r31, 0x0000], %f16
2695 .word 0xe137c000 ! 79: STQF_R - %f16, [%r0, %r31]
2696jmptr_80_62:
2697 nop
2698 best_set_reg(0xe0a00000, %r20, %r27)
2699 .word 0xb7c6c000 ! 80: JMPL_R jmpl %r27 + %r0, %r27
2700vahole_80_63:
2701 nop
2702 ta T_CHANGE_NONHPRIV
2703 setx vahole_target3, %r18, %r27
2704 jmpl %r27+0, %r27
2705 .word 0xe11fc013 ! 81: LDDF_R ldd [%r31, %r19], %f16
2706 bleu skip_80_64
2707 .word 0x87a94a48 ! 1: FCMPd fcmpd %fcc<n>, %f36, %f8
2708.align 2048
2709skip_80_64:
2710 .word 0x24c94001 ! 82: BRLEZ brlez,a,pt %r5,<label_0x94001>
2711 .word 0x87802088 ! 83: WRASI_I wr %r0, 0x0088, %asi
2712 .word 0xe6dfe098 ! 84: LDXA_I ldxa [%r31, + 0x0098] %asi, %r19
2713splash_lsu_80_65:
2714 nop
2715 ta T_CHANGE_HPRIV
2716 set 0x86bdba37, %r2
2717 mov 0x2, %r1
2718 sllx %r1, 32, %r1
2719 or %r1, %r2, %r2
2720 stxa %r2, [%r0] ASI_LSU_CONTROL
2721 .word 0x3d400001 ! 85: FBPULE fbule,a,pn %fcc0, <label_0x1>
2722 .word 0x8780208b ! 86: WRASI_I wr %r0, 0x008b, %asi
2723pmu_80_66:
2724 nop
2725 ta T_CHANGE_PRIV
2726 setx 0xfffff35bfffff012, %g1, %g7
2727 .word 0xa3800007 ! 87: WR_PERF_COUNTER_R wr %r0, %r7, %-
2728intveclr_80_67:
2729 nop
2730 ta T_CHANGE_HPRIV
2731 setx 0x5d7e38bb95daa400, %r1, %r28
2732 stxa %r28, [%g0] 0x72
2733 .word 0x25400001 ! 88: FBPLG fblg,a,pn %fcc0, <label_0x1>
2734 nop
2735 ta T_CHANGE_HPRIV
2736 mov 0x80+1, %r10
2737 set sync_thr_counter5, %r23
2738#ifndef SPC
2739 ldxa [%g0]0x63, %o1
2740 and %o1, 0x38, %o1
2741 add %o1, %r23, %r23
2742#endif
2743 cas [%r23],%g0,%r10 !lock
2744 brnz %r10, cwq_80_68
2745 rd %asi, %r12
2746 wr %g0, 0x40, %asi
2747 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
2748 and %l1, 0x3, %l1 ! Check if busy/enabled ..
2749 cmp %l1, 1
2750 bne cwq_80_68
2751 set CWQ_BASE, %l6
2752 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
2753 best_set_reg(0x20610010, %l1, %l2) !# Control Word
2754 sllx %l2, 32, %l2
2755 stx %l2, [%l6 + 0x0]
2756 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
2757 sub %l2, 0x40, %l2
2758 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
2759 wr %r12, %g0, %asi
2760 st %g0, [%r23]
2761cwq_80_68:
2762 ta T_CHANGE_NONHPRIV
2763 .word 0xa9414000 ! 89: RDPC rd %pc, %r20
2764brcommon3_80_69:
2765 nop
2766 setx common_target, %r12, %r27
2767 lduw [%r27], %r12 ! Load common dest into dcache ..
2768 ba,a .+12
2769 .word 0xe46ff0aa ! 1: LDSTUB_I ldstub %r18, [%r31 + 0xfffff0aa]
2770 ba,a .+8
2771 jmpl %r27+0, %r27
2772 .word 0xe49fc02d ! 90: LDDA_R ldda [%r31, %r13] 0x01, %r18
2773pmu_80_70:
2774 nop
2775 setx 0xfffff3abfffffa0a, %g1, %g7
2776 .word 0xa3800007 ! 91: WR_PERF_COUNTER_R wr %r0, %r7, %-
2777 .word 0x91940012 ! 92: WRPR_PIL_R wrpr %r16, %r18, %pil
2778 .word 0xe43fc000 ! 93: STD_R std %r18, [%r31 + %r0]
2779mondo_80_72:
2780 nop
2781 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2782 stxa %r7, [%r0+0x3d0] %asi
2783 .word 0x9d940013 ! 94: WRPR_WSTATE_R wrpr %r16, %r19, %wstate
2784 set 0x3675, %l3
2785 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
2786 .word 0xa3b507c6 ! 95: PDIST pdistn %d20, %d6, %d48
2787vahole_80_73:
2788 nop
2789 ta T_CHANGE_NONHPRIV
2790 setx vahole_target2, %r18, %r27
2791 jmpl %r27+0, %r27
2792 .word 0xa9703fca ! 96: POPC_I popc 0x1fca, %r20
2793splash_tba_80_74:
2794 ta T_CHANGE_PRIV
2795 setx 0x00000000003a0000, %r11, %r12
2796 .word 0x8b90000c ! 97: WRPR_TBA_R wrpr %r0, %r12, %tba
2797cwp_80_75:
2798 set user_data_start, %o7
2799 .word 0x93902003 ! 98: WRPR_CWP_I wrpr %r0, 0x0003, %cwp
2800 .word 0xa9a34d33 ! 99: FsMULd fsmuld %f13, %f50, %f20
2801dvapa_80_76:
2802 nop
2803 ta T_CHANGE_HPRIV
2804 mov 0xffc, %r20
2805 mov 0x7, %r19
2806 sllx %r20, 23, %r20
2807 or %r19, %r20, %r19
2808 stxa %r19, [%g0] ASI_LSU_CONTROL
2809 mov 0x38, %r18
2810 stxa %r31, [%r18]0x58
2811 ta T_CHANGE_NONHPRIV
2812 .word 0xd8bfc02a ! 100: STDA_R stda %r12, [%r31 + %r10] 0x01
2813 .word 0xd847e1f8 ! 101: LDSW_I ldsw [%r31 + 0x01f8], %r12
2814mondo_80_77:
2815 nop
2816 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2817 stxa %r20, [%r0+0x3d0] %asi
2818 .word 0x9d950010 ! 102: WRPR_WSTATE_R wrpr %r20, %r16, %wstate
2819 .word 0x93540000 ! 103: RDPR_GL rdpr %-, %r9
2820 .word 0x9ba00161 ! 104: FABSq dis not found
2821
2822 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
2823reduce_priv_lvl_80_79:
2824 ta T_CHANGE_NONPRIV ! macro
2825mondo_80_80:
2826 nop
2827 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2828 ta T_CHANGE_PRIV
2829 stxa %r16, [%r0+0x3e0] %asi
2830 .word 0x9d904003 ! 106: WRPR_WSTATE_R wrpr %r1, %r3, %wstate
2831 setx 0xb0a24b65d6e0c5bd, %r1, %r28
2832 stxa %r28, [%g0] 0x73
2833intvec_80_81:
2834 .word 0x39400001 ! 107: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
2835 .word 0xc1bfe140 ! 108: STDFA_I stda %f0, [0x0140, %r31]
2836splash_cmpr_80_82:
2837 nop
2838 setx 0x87e600f5ba422b2c, %l2, %l1
2839 ta T_CHANGE_HPRIV
2840 wrhpr %l1, %g0, %hsys_tick_cmpr
2841 ta T_CHANGE_NONHPRIV
2842 sub %l1, 40, %g1
2843 .word 0xb1800011 ! 109: WR_STICK_REG_R wr %r0, %r17, %-
2844pmu_80_83:
2845 nop
2846 setx 0xfffff159fffffa2f, %g1, %g7
2847 .word 0xa3800007 ! 110: WR_PERF_COUNTER_R wr %r0, %r7, %-
2848 .word 0xa782b312 ! 111: WR_GRAPHICS_STATUS_REG_I wr %r10, 0x1312, %-
2849 nop
2850 ta T_CHANGE_HPRIV
2851 mov 0x80, %r10
2852 set sync_thr_counter6, %r23
2853#ifndef SPC
2854 ldxa [%g0]0x63, %o1
2855 and %o1, 0x38, %o1
2856 add %o1, %r23, %r23
2857#endif
2858 cas [%r23],%g0,%r10 !lock
2859 brnz %r10, sma_80_84
2860 rd %asi, %r12
2861 wr %g0, 0x40, %asi
2862 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
2863 set 0x00061fff, %g1
2864 stxa %g1, [%g0 + 0x80] %asi
2865 wr %r12, %g0, %asi
2866 st %g0, [%r23]
2867sma_80_84:
2868 ta T_CHANGE_NONHPRIV
2869 .word 0xe9e7e008 ! 112: CASA_R casa [%r31] %asi, %r8, %r20
2870fpinit_80_85:
2871 setx fp_data_quads, %r19, %r20
2872 ldd [%r20], %f0
2873 ldd [%r20+8], %f4
2874 ld [%r20+16], %fsr
2875 ld [%r20+24], %r19
2876 wr %r19, %g0, %gsr
2877 .word 0x87a80a44 ! 113: FCMPd fcmpd %fcc<n>, %f0, %f4
2878 nop
2879 ta T_CHANGE_HPRIV
2880 mov 0x80+1, %r10
2881 set sync_thr_counter5, %r23
2882#ifndef SPC
2883 ldxa [%g0]0x63, %o1
2884 and %o1, 0x38, %o1
2885 add %o1, %r23, %r23
2886#endif
2887 cas [%r23],%g0,%r10 !lock
2888 brnz %r10, cwq_80_86
2889 rd %asi, %r12
2890 wr %g0, 0x40, %asi
2891 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
2892 and %l1, 0x3, %l1 ! Check if busy/enabled ..
2893 cmp %l1, 1
2894 bne cwq_80_86
2895 set CWQ_BASE, %l6
2896 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
2897 best_set_reg(0x20610040, %l1, %l2) !# Control Word
2898 sllx %l2, 32, %l2
2899 stx %l2, [%l6 + 0x0]
2900 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
2901 sub %l2, 0x40, %l2
2902 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
2903 wr %r12, %g0, %asi
2904 st %g0, [%r23]
2905cwq_80_86:
2906 ta T_CHANGE_NONHPRIV
2907 .word 0x91414000 ! 114: RDPC rd %pc, %r8
2908 nop
2909 ta T_CHANGE_HPRIV
2910 mov 0x80, %r10
2911 set sync_thr_counter6, %r23
2912#ifndef SPC
2913 ldxa [%g0]0x63, %o1
2914 and %o1, 0x38, %o1
2915 add %o1, %r23, %r23
2916#endif
2917 cas [%r23],%g0,%r10 !lock
2918 brnz %r10, sma_80_87
2919 rd %asi, %r12
2920 wr %g0, 0x40, %asi
2921 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
2922 set 0x000e1fff, %g1
2923 stxa %g1, [%g0 + 0x80] %asi
2924 wr %r12, %g0, %asi
2925 st %g0, [%r23]
2926sma_80_87:
2927 ta T_CHANGE_NONHPRIV
2928 .word 0xe5e7e008 ! 115: CASA_R casa [%r31] %asi, %r8, %r18
2929 .word 0xa9818012 ! 116: WR_SET_SOFTINT_R wr %r6, %r18, %set_softint
2930vahole_80_88:
2931 nop
2932 ta T_CHANGE_NONHPRIV
2933 setx vahole_target2, %r18, %r27
2934 jmpl %r27+0, %r27
2935 .word 0x9b703d6b ! 117: POPC_I popc 0x1d6b, %r13
2936vahole_80_89:
2937 nop
2938 ta T_CHANGE_NONHPRIV
2939 setx vahole_target1, %r18, %r27
2940 jmpl %r27+0, %r27
2941 .word 0xe1bfd920 ! 118: STDFA_R stda %f16, [%r0, %r31]
2942 .word 0x91918010 ! 119: WRPR_PIL_R wrpr %r6, %r16, %pil
2943 .word 0x87802088 ! 120: WRASI_I wr %r0, 0x0088, %asi
2944pmu_80_91:
2945 nop
2946 setx 0xfffff7ccffffff01, %g1, %g7
2947 .word 0xa3800007 ! 121: WR_PERF_COUNTER_R wr %r0, %r7, %-
2948 .word 0xd68008a0 ! 122: LDUWA_R lduwa [%r0, %r0] 0x45, %r11
2949intveclr_80_92:
2950 nop
2951 ta T_CHANGE_HPRIV
2952 setx 0xd240e4d94c84d24f, %r1, %r28
2953 stxa %r28, [%g0] 0x72
2954 .word 0x25400001 ! 123: FBPLG fblg,a,pn %fcc0, <label_0x1>
2955vahole_80_93:
2956 nop
2957 ta T_CHANGE_NONHPRIV
2958 setx vahole_target0, %r18, %r27
2959 jmpl %r27+0, %r27
2960 .word 0xe19fdc00 ! 124: LDDFA_R ldda [%r31, %r0], %f16
2961 .word 0xd69fe1d8 ! 125: LDDA_I ldda [%r31, + 0x01d8] %asi, %r11
2962iaw_80_94:
2963 nop
2964 ta T_CHANGE_HPRIV
2965 mov 8, %r18
2966 rd %asi, %r12
2967 wr %r0, 0x41, %asi
2968 set sync_thr_counter4, %r23
2969#ifndef SPC
2970 ldxa [%g0]0x63, %r8
2971 and %r8, 0x38, %r8 ! Core ID
2972 add %r8, %r23, %r23
2973#else
2974 mov 0, %r8
2975#endif
2976 mov 0x80, %r16
2977iaw_startwait80_94:
2978 cas [%r23],%g0,%r16 !lock
2979 brz,a %r16, continue_iaw_80_94
2980 mov (~0x80&0xf0), %r16
2981 ld [%r23], %r16
2982iaw_wait80_94:
2983 brnz %r16, iaw_wait80_94
2984 ld [%r23], %r16
2985 ba iaw_startwait80_94
2986 mov 0x80, %r16
2987continue_iaw_80_94:
2988 sllx %r16, %r8, %r16 !Mask for my core only
2989 ldxa [0x58]%asi, %r17 !Running_status
2990wait_for_stat_80_94:
2991 ldxa [0x50]%asi, %r13 !Running_rw
2992 cmp %r13, %r17
2993 bne,a wait_for_stat_80_94
2994 ldxa [0x58]%asi, %r17 !Running_status
2995 stxa %r16, [0x68]%asi !Park (W1C)
2996 ldxa [0x50]%asi, %r14 !Running_rw
2997wait_for_iaw_80_94:
2998 ldxa [0x58]%asi, %r17 !Running_status
2999 cmp %r14, %r17
3000 bne,a wait_for_iaw_80_94
3001 ldxa [0x50]%asi, %r14 !Running_rw
3002iaw_doit80_94:
3003 mov 0x38, %r18
3004iaw3_80_94:
3005 setx common_target, %r20, %r19
3006 or %r19, 0x1, %r19
3007 stxa %r19, [%r18]0x50
3008 stxa %r16, [0x60] %asi ! Unpark (W1S)
3009 st %g0, [%r23] !clear lock
3010 wr %r0, %r12, %asi ! restore %asi
3011 ta T_CHANGE_NONHPRIV
3012 .word 0xc1bfe0c0 ! 126: STDFA_I stda %f0, [0x00c0, %r31]
3013fpinit_80_95:
3014 setx fp_data_quads, %r19, %r20
3015 ldd [%r20], %f0
3016 ldd [%r20+8], %f4
3017 ld [%r20+16], %fsr
3018 ld [%r20+24], %r19
3019 wr %r19, %g0, %gsr
3020 .word 0x8da009a4 ! 127: FDIVs fdivs %f0, %f4, %f6
3021 .word 0xd6800c40 ! 128: LDUWA_R lduwa [%r0, %r0] 0x62, %r11
3022 nop
3023 ta T_CHANGE_HPRIV
3024 mov 0x80+1, %r10
3025 set sync_thr_counter5, %r23
3026#ifndef SPC
3027 ldxa [%g0]0x63, %o1
3028 and %o1, 0x38, %o1
3029 add %o1, %r23, %r23
3030#endif
3031 cas [%r23],%g0,%r10 !lock
3032 brnz %r10, cwq_80_96
3033 rd %asi, %r12
3034 wr %g0, 0x40, %asi
3035 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
3036 and %l1, 0x3, %l1 ! Check if busy/enabled ..
3037 cmp %l1, 1
3038 bne cwq_80_96
3039 set CWQ_BASE, %l6
3040 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
3041 best_set_reg(0x20610070, %l1, %l2) !# Control Word
3042 sllx %l2, 32, %l2
3043 stx %l2, [%l6 + 0x0]
3044 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
3045 sub %l2, 0x40, %l2
3046 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
3047 wr %r12, %g0, %asi
3048 st %g0, [%r23]
3049cwq_80_96:
3050 ta T_CHANGE_NONHPRIV
3051 .word 0x99414000 ! 129: RDPC rd %pc, %r12
3052 .word 0x8d802000 ! 130: WRFPRS_I wr %r0, 0x0000, %fprs
3053pmu_80_97:
3054 nop
3055 ta T_CHANGE_PRIV
3056 setx 0xfffff997fffff25c, %g1, %g7
3057 .word 0xa3800007 ! 131: WR_PERF_COUNTER_R wr %r0, %r7, %-
3058 invalw
3059 mov 0xb5, %r30
3060 .word 0x91d0001e ! 132: Tcc_R ta icc_or_xcc, %r0 + %r30
3061splash_htba_80_98:
3062 nop
3063 ta T_CHANGE_HPRIV
3064 setx 0x00000000002a0000, %r11, %r12
3065 .word 0x8b98000c ! 133: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
3066mondo_80_99:
3067 nop
3068 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
3069 ta T_CHANGE_PRIV
3070 stxa %r16, [%r0+0x3e0] %asi
3071 .word 0x9d920011 ! 134: WRPR_WSTATE_R wrpr %r8, %r17, %wstate
3072jmptr_80_100:
3073 nop
3074 best_set_reg(0xe0a00000, %r20, %r27)
3075 .word 0xb7c6c000 ! 135: JMPL_R jmpl %r27 + %r0, %r27
3076 bpos skip_80_101
3077 fbuge,a,pn %fcc0, skip_80_101
3078.align 1024
3079skip_80_101:
3080 .word 0xc36fe042 ! 136: PREFETCH_I prefetch [%r31 + 0x0042], #one_read
3081 .word 0x93a0016c ! 137: FABSq dis not found
3082
3083 .word 0x91d02033 ! 138: Tcc_I ta icc_or_xcc, %r0 + 51
3084 .word 0xd8cfe100 ! 139: LDSBA_I ldsba [%r31, + 0x0100] %asi, %r12
3085 nop
3086 ta T_CHANGE_HPRIV
3087 mov 0x80+1, %r10
3088 set sync_thr_counter5, %r23
3089#ifndef SPC
3090 ldxa [%g0]0x63, %o1
3091 and %o1, 0x38, %o1
3092 add %o1, %r23, %r23
3093#endif
3094 cas [%r23],%g0,%r10 !lock
3095 brnz %r10, cwq_80_103
3096 rd %asi, %r12
3097 wr %g0, 0x40, %asi
3098 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
3099 and %l1, 0x3, %l1 ! Check if busy/enabled ..
3100 cmp %l1, 1
3101 bne cwq_80_103
3102 set CWQ_BASE, %l6
3103 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
3104 best_set_reg(0x206100e0, %l1, %l2) !# Control Word
3105 sllx %l2, 32, %l2
3106 stx %l2, [%l6 + 0x0]
3107 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
3108 sub %l2, 0x40, %l2
3109 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
3110 wr %r12, %g0, %asi
3111 st %g0, [%r23]
3112cwq_80_103:
3113 ta T_CHANGE_NONHPRIV
3114 .word 0x95414000 ! 140: RDPC rd %pc, %r10
3115 .word 0x8d903dd9 ! 141: WRPR_PSTATE_I wrpr %r0, 0x1dd9, %pstate
3116donret_80_105:
3117 nop
3118 ta T_CHANGE_HPRIV ! macro
3119 rd %pc, %r12
3120 add %r12, (donretarg_80_105-donret_80_105-4), %r12
3121 mov 0x38, %r18
3122 stxa %r12, [%r18]0x58
3123 add %r12, 0x4, %r11
3124 wrpr %g0, 0x2, %tl
3125 wrpr %g0, %r12, %tpc
3126 wrpr %g0, %r11, %tnpc
3127 set (0x00539e4d | (0x89 << 24)), %r13
3128 rdpr %tstate, %r16
3129 mov 0x1f, %r19
3130 and %r19, %r16, %r17
3131 andn %r16, %r19, %r16
3132 or %r16, %r17, %r20
3133 wrpr %r20, %g0, %tstate
3134 wrhpr %g0, 0x946, %htstate
3135 ta T_CHANGE_NONPRIV ! rand=0 (80)
3136 done
3137donretarg_80_105:
3138 .word 0xe66fe19b ! 142: LDSTUB_I ldstub %r19, [%r31 + 0x019b]
3139fpinit_80_106:
3140 setx fp_data_quads, %r19, %r20
3141 ldd [%r20], %f0
3142 ldd [%r20+8], %f4
3143 ld [%r20+16], %fsr
3144 ld [%r20+24], %r19
3145 wr %r19, %g0, %gsr
3146 .word 0x91a009c4 ! 143: FDIVd fdivd %f0, %f4, %f8
3147donret_80_107:
3148 nop
3149 ta T_CHANGE_HPRIV ! macro
3150 rd %pc, %r12
3151 add %r12, (donretarg_80_107-donret_80_107-4), %r12
3152 mov 0x38, %r18
3153 stxa %r12, [%r18]0x58
3154 add %r12, 0x4, %r11
3155 wrpr %g0, 0x2, %tl
3156 wrpr %g0, %r12, %tpc
3157 wrpr %g0, %r11, %tnpc
3158 set (0x0097adf9 | (0x8a << 24)), %r13
3159 rdpr %tstate, %r16
3160 mov 0x1f, %r19
3161 and %r19, %r16, %r17
3162 andn %r16, %r19, %r16
3163 or %r16, %r17, %r20
3164 wrpr %r20, %g0, %tstate
3165 wrhpr %g0, 0x56, %htstate
3166 ta T_CHANGE_NONPRIV ! rand=0 (80)
3167 done
3168donretarg_80_107:
3169 .word 0x99a189c2 ! 144: FDIVd fdivd %f6, %f2, %f12
3170 nop
3171 ta T_CHANGE_HPRIV
3172 mov 0x80, %r10
3173 set sync_thr_counter6, %r23
3174#ifndef SPC
3175 ldxa [%g0]0x63, %o1
3176 and %o1, 0x38, %o1
3177 add %o1, %r23, %r23
3178#endif
3179 cas [%r23],%g0,%r10 !lock
3180 brnz %r10, sma_80_108
3181 rd %asi, %r12
3182 wr %g0, 0x40, %asi
3183 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
3184 set 0x00061fff, %g1
3185 stxa %g1, [%g0 + 0x80] %asi
3186 wr %r12, %g0, %asi
3187 st %g0, [%r23]
3188sma_80_108:
3189 ta T_CHANGE_NONHPRIV
3190 .word 0xd5e7e012 ! 145: CASA_R casa [%r31] %asi, %r18, %r10
3191 otherw
3192 mov 0x31, %r30
3193 .word 0x91d0001e ! 146: Tcc_R ta icc_or_xcc, %r0 + %r30
3194splash_htba_80_109:
3195 nop
3196 ta T_CHANGE_HPRIV
3197 setx 0x00000000002a0000, %r11, %r12
3198 .word 0x8b98000c ! 147: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
3199ibp_80_110:
3200 nop
3201 .word 0xc19fd920 ! 148: LDDFA_R ldda [%r31, %r0], %f0
3202mondo_80_111:
3203 nop
3204 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
3205 stxa %r16, [%r0+0x3d8] %asi
3206 .word 0x9d940010 ! 149: WRPR_WSTATE_R wrpr %r16, %r16, %wstate
3207 .word 0x8d802004 ! 150: WRFPRS_I wr %r0, 0x0004, %fprs
3208 .word 0x8d90316d ! 151: WRPR_PSTATE_I wrpr %r0, 0x116d, %pstate
3209 fbue skip_80_113
3210 fbul,a,pn %fcc0, skip_80_113
3211.align 32
3212skip_80_113:
3213 .word 0xd43fc000 ! 152: STD_R std %r10, [%r31 + %r0]
3214splash_hpstate_80_114:
3215 .word 0x23400001 ! 1: FBPNE fbne,a,pn %fcc0, <label_0x1>
3216 .word 0x81982a4c ! 153: WRHPR_HPSTATE_I wrhpr %r0, 0x0a4c, %hpstate
3217cwp_80_115:
3218 set user_data_start, %o7
3219 .word 0x93902000 ! 154: WRPR_CWP_I wrpr %r0, 0x0000, %cwp
3220 .word 0x9adac013 ! 155: SMULcc_R smulcc %r11, %r19, %r13
3221 .word 0x9192400b ! 156: WRPR_PIL_R wrpr %r9, %r11, %pil
3222vahole_80_117:
3223 nop
3224 ta T_CHANGE_NONHPRIV
3225 setx vahole_target0, %r18, %r27
3226 jmpl %r27+0, %r27
3227 .word 0xe1bfe180 ! 157: STDFA_I stda %f16, [0x0180, %r31]
3228vahole_80_118:
3229 nop
3230 ta T_CHANGE_NONHPRIV
3231 setx vahole_target3, %r18, %r27
3232 jmpl %r27+0, %r27
3233 .word 0xe1bfe180 ! 158: STDFA_I stda %f16, [0x0180, %r31]
3234iaw_80_119:
3235 nop
3236 ta T_CHANGE_HPRIV
3237 mov 8, %r18
3238 rd %asi, %r12
3239 wr %r0, 0x41, %asi
3240 set sync_thr_counter4, %r23
3241#ifndef SPC
3242 ldxa [%g0]0x63, %r8
3243 and %r8, 0x38, %r8 ! Core ID
3244 add %r8, %r23, %r23
3245#else
3246 mov 0, %r8
3247#endif
3248 mov 0x80, %r16
3249iaw_startwait80_119:
3250 cas [%r23],%g0,%r16 !lock
3251 brz,a %r16, continue_iaw_80_119
3252 mov (~0x80&0xf0), %r16
3253 ld [%r23], %r16
3254iaw_wait80_119:
3255 brnz %r16, iaw_wait80_119
3256 ld [%r23], %r16
3257 ba iaw_startwait80_119
3258 mov 0x80, %r16
3259continue_iaw_80_119:
3260 sllx %r16, %r8, %r16 !Mask for my core only
3261 ldxa [0x58]%asi, %r17 !Running_status
3262wait_for_stat_80_119:
3263 ldxa [0x50]%asi, %r13 !Running_rw
3264 cmp %r13, %r17
3265 bne,a wait_for_stat_80_119
3266 ldxa [0x58]%asi, %r17 !Running_status
3267 stxa %r16, [0x68]%asi !Park (W1C)
3268 ldxa [0x50]%asi, %r14 !Running_rw
3269wait_for_iaw_80_119:
3270 ldxa [0x58]%asi, %r17 !Running_status
3271 cmp %r14, %r17
3272 bne,a wait_for_iaw_80_119
3273 ldxa [0x50]%asi, %r14 !Running_rw
3274iaw_doit80_119:
3275 mov 0x38, %r18
3276iaw4_80_119:
3277 setx common_target, %r20, %r19
3278 or %r19, 0x1, %r19
3279 stxa %r19, [%r18]0x50
3280 stxa %r16, [0x60] %asi ! Unpark (W1S)
3281 st %g0, [%r23] !clear lock
3282 wr %r0, %r12, %asi ! restore %asi
3283 ta T_CHANGE_NONHPRIV
3284 .word 0xc3e9c031 ! 159: PREFETCHA_R prefetcha [%r7, %r17] 0x01, #one_read
3285ibp_80_120:
3286 nop
3287 ta T_CHANGE_NONHPRIV
3288 .word 0xe09fc031 ! 160: LDDA_R ldda [%r31, %r17] 0x01, %r16
3289 nop
3290 ta T_CHANGE_HPRIV
3291 mov 0x80+1, %r10
3292 set sync_thr_counter5, %r23
3293#ifndef SPC
3294 ldxa [%g0]0x63, %o1
3295 and %o1, 0x38, %o1
3296 add %o1, %r23, %r23
3297#endif
3298 cas [%r23],%g0,%r10 !lock
3299 brnz %r10, cwq_80_121
3300 rd %asi, %r12
3301 wr %g0, 0x40, %asi
3302 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
3303 and %l1, 0x3, %l1 ! Check if busy/enabled ..
3304 cmp %l1, 1
3305 bne cwq_80_121
3306 set CWQ_BASE, %l6
3307 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
3308 best_set_reg(0x206100f0, %l1, %l2) !# Control Word
3309 sllx %l2, 32, %l2
3310 stx %l2, [%l6 + 0x0]
3311 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
3312 sub %l2, 0x40, %l2
3313 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
3314 wr %r12, %g0, %asi
3315 st %g0, [%r23]
3316cwq_80_121:
3317 ta T_CHANGE_NONHPRIV
3318 .word 0x95414000 ! 161: RDPC rd %pc, %r10
3319 .word 0xa9a00168 ! 162: FABSq dis not found
3320
3321 .word 0xe19fe000 ! 163: LDDFA_I ldda [%r31, 0x0000], %f16
3322mondo_80_123:
3323 nop
3324 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
3325 ta T_CHANGE_PRIV
3326 stxa %r12, [%r0+0x3d8] %asi
3327 .word 0x9d94c014 ! 164: WRPR_WSTATE_R wrpr %r19, %r20, %wstate
3328splash_tba_80_124:
3329 ta T_CHANGE_PRIV
3330 set 0x120000, %r12
3331 .word 0x8b90000c ! 165: WRPR_TBA_R wrpr %r0, %r12, %tba
3332vahole_80_125:
3333 nop
3334 ta T_CHANGE_NONHPRIV
3335 setx vahole_target1, %r18, %r27
3336 jmpl %r27+0, %r27
3337 .word 0xe1bfe0c0 ! 166: STDFA_I stda %f16, [0x00c0, %r31]
3338trapasi_80_126:
3339 nop
3340 mov 0x10, %r1 ! (VA for ASI 0x5b)
3341 .word 0xd2d84b60 ! 167: LDXA_R ldxa [%r1, %r0] 0x5b, %r9
3342ibp_80_127:
3343 nop
3344 .word 0xd31fc014 ! 168: LDDF_R ldd [%r31, %r20], %f9
3345donret_80_128:
3346 nop
3347 ta T_CHANGE_HPRIV ! macro
3348 rd %pc, %r12
3349 add %r12, (donretarg_80_128-donret_80_128-8), %r12
3350 mov 0x38, %r18
3351 stxa %r12, [%r18]0x58
3352 add %r12, 0x4, %r11
3353 wrpr %g0, 0x2, %tl
3354 wrpr %g0, %r12, %tpc
3355 wrpr %g0, %r11, %tnpc
3356 set (0x000cebe5 | (0x80 << 24)), %r13
3357 rdpr %tstate, %r16
3358 mov 0x1f, %r19
3359 and %r19, %r16, %r17
3360 andn %r16, %r19, %r16
3361 or %r16, %r17, %r20
3362 wrpr %r20, %g0, %tstate
3363 wrhpr %g0, 0x2c5, %htstate
3364 ta T_CHANGE_NONPRIV ! rand=0 (80)
3365 retry
3366donretarg_80_128:
3367 .word 0xd2ffe154 ! 169: SWAPA_I swapa %r9, [%r31 + 0x0154] %asi
3368jmptr_80_129:
3369 nop
3370 best_set_reg(0xe0a00000, %r20, %r27)
3371 .word 0xb7c6c000 ! 170: JMPL_R jmpl %r27 + %r0, %r27
3372iaw_80_130:
3373 nop
3374 ta T_CHANGE_HPRIV
3375 mov 8, %r18
3376 rd %asi, %r12
3377 wr %r0, 0x41, %asi
3378 set sync_thr_counter4, %r23
3379#ifndef SPC
3380 ldxa [%g0]0x63, %r8
3381 and %r8, 0x38, %r8 ! Core ID
3382 add %r8, %r23, %r23
3383#else
3384 mov 0, %r8
3385#endif
3386 mov 0x80, %r16
3387iaw_startwait80_130:
3388 cas [%r23],%g0,%r16 !lock
3389 brz,a %r16, continue_iaw_80_130
3390 mov (~0x80&0xf0), %r16
3391 ld [%r23], %r16
3392iaw_wait80_130:
3393 brnz %r16, iaw_wait80_130
3394 ld [%r23], %r16
3395 ba iaw_startwait80_130
3396 mov 0x80, %r16
3397continue_iaw_80_130:
3398 sllx %r16, %r8, %r16 !Mask for my core only
3399 ldxa [0x58]%asi, %r17 !Running_status
3400wait_for_stat_80_130:
3401 ldxa [0x50]%asi, %r13 !Running_rw
3402 cmp %r13, %r17
3403 bne,a wait_for_stat_80_130
3404 ldxa [0x58]%asi, %r17 !Running_status
3405 stxa %r16, [0x68]%asi !Park (W1C)
3406 ldxa [0x50]%asi, %r14 !Running_rw
3407wait_for_iaw_80_130:
3408 ldxa [0x58]%asi, %r17 !Running_status
3409 cmp %r14, %r17
3410 bne,a wait_for_iaw_80_130
3411 ldxa [0x50]%asi, %r14 !Running_rw
3412iaw_doit80_130:
3413 mov 0x38, %r18
3414iaw1_80_130:
3415 best_set_reg(0x00000000e0a00000, %r20, %r19)
3416 or %r19, 0x1, %r19
3417 stxa %r19, [%r18]0x50
3418 stxa %r16, [0x60] %asi ! Unpark (W1S)
3419 st %g0, [%r23] !clear lock
3420 wr %r0, %r12, %asi ! restore %asi
3421 ta T_CHANGE_NONHPRIV
3422 .word 0xc32fc010 ! 171: STXFSR_R st-sfr %f1, [%r16, %r31]
3423vahole_80_131:
3424 nop
3425 ta T_CHANGE_NONHPRIV
3426 setx vahole_target3, %r18, %r27
3427 jmpl %r27+0, %r27
3428 .word 0xc3ec0026 ! 172: PREFETCHA_R prefetcha [%r16, %r6] 0x01, #one_read
3429 .word 0xe727e099 ! 173: STF_I st %f19, [0x0099, %r31]
3430 nop
3431 ta T_CHANGE_HPRIV
3432 mov 0x80+1, %r10
3433 set sync_thr_counter5, %r23
3434#ifndef SPC
3435 ldxa [%g0]0x63, %o1
3436 and %o1, 0x38, %o1
3437 add %o1, %r23, %r23
3438#endif
3439 cas [%r23],%g0,%r10 !lock
3440 brnz %r10, cwq_80_132
3441 rd %asi, %r12
3442 wr %g0, 0x40, %asi
3443 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
3444 and %l1, 0x3, %l1 ! Check if busy/enabled ..
3445 cmp %l1, 1
3446 bne cwq_80_132
3447 set CWQ_BASE, %l6
3448 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
3449 best_set_reg(0x20610070, %l1, %l2) !# Control Word
3450 sllx %l2, 32, %l2
3451 stx %l2, [%l6 + 0x0]
3452 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
3453 sub %l2, 0x40, %l2
3454 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
3455 wr %r12, %g0, %asi
3456 st %g0, [%r23]
3457cwq_80_132:
3458 ta T_CHANGE_NONHPRIV
3459 .word 0x93414000 ! 174: RDPC rd %pc, %r9
3460 .word 0x87802058 ! 175: WRASI_I wr %r0, 0x0058, %asi
3461donret_80_133:
3462 nop
3463 ta T_CHANGE_HPRIV ! macro
3464 rd %pc, %r12
3465 add %r12, (donretarg_80_133-donret_80_133-4), %r12
3466 mov 0x38, %r18
3467 stxa %r12, [%r18]0x58
3468 add %r12, 0x4, %r11
3469 wrpr %g0, 0x1, %tl
3470 wrpr %g0, %r12, %tpc
3471 wrpr %g0, %r11, %tnpc
3472 set (0x00143b2e | (0x58 << 24)), %r13
3473 rdpr %tstate, %r16
3474 mov 0x1f, %r19
3475 and %r19, %r16, %r17
3476 andn %r16, %r19, %r16
3477 or %r16, %r17, %r20
3478 wrpr %r20, %g0, %tstate
3479 wrhpr %g0, 0x58c, %htstate
3480 ta T_CHANGE_NONPRIV ! rand=0 (80)
3481 .word 0x2e800001 ! 1: BVS bvs,a <label_0x1>
3482 done
3483donretarg_80_133:
3484 .word 0xa9a509d1 ! 176: FDIVd fdivd %f20, %f48, %f20
3485 .word 0xa9500000 ! 177: RDPR_TPC rdpr %tpc, %r20
3486br_badelay2_80_134:
3487 .word 0x34800001 ! 1: BG bg,a <label_0x1>
3488 pdist %f2, %f16, %f16
3489 .word 0xa9b50311 ! 178: ALIGNADDRESS alignaddr %r20, %r17, %r20
3490 setx 0x00109bdb032b9757, %r1, %r28
3491 stxa %r28, [%g0] 0x73
3492intvec_80_135:
3493 .word 0x39400001 ! 179: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
3494 fbne,a,pn %fcc0, skip_80_136
3495 fbuge skip_80_136
3496.align 128
3497skip_80_136:
3498 .word 0xc30fc000 ! 180: LDXFSR_R ld-fsr [%r31, %r0], %f1
3499 .word 0x9b500000 ! 181: RDPR_TPC rdpr %tpc, %r13
3500 .word 0xda8008a0 ! 182: LDUWA_R lduwa [%r0, %r0] 0x45, %r13
3501 .word 0x38800001 ! 183: BGU bgu,a <label_0x1>
3502intveclr_80_137:
3503 nop
3504 ta T_CHANGE_HPRIV
3505 setx 0xad1be24885983fc6, %r1, %r28
3506 stxa %r28, [%g0] 0x72
3507 ta T_CHANGE_NONHPRIV
3508 .word 0x25400001 ! 184: FBPLG fblg,a,pn %fcc0, <label_0x1>
3509 invalw
3510 mov 0x34, %r30
3511 .word 0x91d0001e ! 185: Tcc_R ta icc_or_xcc, %r0 + %r30
3512dvapa_80_138:
3513 nop
3514 ta T_CHANGE_HPRIV
3515 mov 0xb93, %r20
3516 mov 0x10, %r19
3517 sllx %r20, 23, %r20
3518 or %r19, %r20, %r19
3519 stxa %r19, [%g0] ASI_LSU_CONTROL
3520 mov 0x38, %r18
3521 stxa %r31, [%r18]0x58
3522 ta T_CHANGE_NONHPRIV
3523 .word 0xdbe7e00d ! 186: CASA_R casa [%r31] %asi, %r13, %r13
3524donret_80_139:
3525 nop
3526 ta T_CHANGE_HPRIV ! macro
3527 rd %pc, %r12
3528 add %r12, (donretarg_80_139-donret_80_139-4), %r12
3529 mov 0x38, %r18
3530 stxa %r12, [%r18]0x58
3531 add %r12, 0x4, %r11
3532 wrpr %g0, 0x1, %tl
3533 wrpr %g0, %r12, %tpc
3534 wrpr %g0, %r11, %tnpc
3535 set (0x0022d9e4 | (0x83 << 24)), %r13
3536 rdpr %tstate, %r16
3537 mov 0x1f, %r19
3538 and %r19, %r16, %r17
3539 andn %r16, %r19, %r16
3540 or %r16, %r17, %r20
3541 wrpr %r20, %g0, %tstate
3542 wrhpr %g0, 0xd15, %htstate
3543 ta T_CHANGE_NONHPRIV ! rand=1 (80)
3544 .word 0x2c800001 ! 1: BNEG bneg,a <label_0x1>
3545 done
3546donretarg_80_139:
3547 .word 0xdaffe052 ! 187: SWAPA_I swapa %r13, [%r31 + 0x0052] %asi
3548 brz,a,pt %r19, skip_80_140
3549 bg,a skip_80_140
3550.align 512
3551skip_80_140:
3552 .word 0x9f802cac ! 188: SIR sir 0x0cac
3553memptr_80_141:
3554 set user_data_start, %r31
3555 .word 0x858527f0 ! 189: WRCCR_I wr %r20, 0x07f0, %ccr
3556dvapa_80_142:
3557 nop
3558 ta T_CHANGE_HPRIV
3559 mov 0x982, %r20
3560 mov 0x15, %r19
3561 sllx %r20, 23, %r20
3562 or %r19, %r20, %r19
3563 stxa %r19, [%g0] ASI_LSU_CONTROL
3564 mov 0x38, %r18
3565 stxa %r31, [%r18]0x58
3566 ta T_CHANGE_NONHPRIV
3567 .word 0xc3e8c031 ! 190: PREFETCHA_R prefetcha [%r3, %r17] 0x01, #one_read
3568dvapa_80_143:
3569 nop
3570 ta T_CHANGE_HPRIV
3571 mov 0xfe4, %r20
3572 mov 0xa, %r19
3573 sllx %r20, 23, %r20
3574 or %r19, %r20, %r19
3575 stxa %r19, [%g0] ASI_LSU_CONTROL
3576 mov 0x38, %r18
3577 stxa %r31, [%r18]0x58
3578 ta T_CHANGE_NONHPRIV
3579 .word 0xe71fc010 ! 191: LDDF_R ldd [%r31, %r16], %f19
3580fpinit_80_144:
3581 setx fp_data_quads, %r19, %r20
3582 ldd [%r20], %f0
3583 ldd [%r20+8], %f4
3584 ld [%r20+16], %fsr
3585 ld [%r20+24], %r19
3586 wr %r19, %g0, %gsr
3587 .word 0xc3e82620 ! 192: PREFETCHA_I prefetcha [%r0, + 0x0620] %asi, #one_read
3588 .word 0xa068c002 ! 193: UDIVX_R udivx %r3, %r2, %r16
3589donret_80_145:
3590 nop
3591 ta T_CHANGE_HPRIV ! macro
3592 rd %pc, %r12
3593 add %r12, (donretarg_80_145-donret_80_145-4), %r12
3594 mov 0x38, %r18
3595 stxa %r12, [%r18]0x58
3596 add %r12, 0x4, %r11
3597 wrpr %g0, 0x2, %tl
3598 wrpr %g0, %r12, %tpc
3599 wrpr %g0, %r11, %tnpc
3600 set (0x00b99bf4 | (16 << 24)), %r13
3601 rdpr %tstate, %r16
3602 mov 0x1f, %r19
3603 and %r19, %r16, %r17
3604 andn %r16, %r19, %r16
3605 or %r16, %r17, %r20
3606 wrpr %r20, %g0, %tstate
3607 wrhpr %g0, 0x11d, %htstate
3608 ta T_CHANGE_NONHPRIV ! rand=1 (80)
3609 .word 0x2b400001 ! 1: FBPUG fbug,a,pn %fcc0, <label_0x1>
3610 done
3611donretarg_80_145:
3612 .word 0xe6ffe07a ! 194: SWAPA_I swapa %r19, [%r31 + 0x007a] %asi
3613 .word 0x91924013 ! 195: WRPR_PIL_R wrpr %r9, %r19, %pil
3614 .word 0x91910013 ! 196: WRPR_PIL_R wrpr %r4, %r19, %pil
3615iaw_80_148:
3616 nop
3617 ta T_CHANGE_HPRIV
3618 mov 8, %r18
3619 rd %asi, %r12
3620 wr %r0, 0x41, %asi
3621 set sync_thr_counter4, %r23
3622#ifndef SPC
3623 ldxa [%g0]0x63, %r8
3624 and %r8, 0x38, %r8 ! Core ID
3625 add %r8, %r23, %r23
3626#else
3627 mov 0, %r8
3628#endif
3629 mov 0x80, %r16
3630iaw_startwait80_148:
3631 cas [%r23],%g0,%r16 !lock
3632 brz,a %r16, continue_iaw_80_148
3633 mov (~0x80&0xf0), %r16
3634 ld [%r23], %r16
3635iaw_wait80_148:
3636 brnz %r16, iaw_wait80_148
3637 ld [%r23], %r16
3638 ba iaw_startwait80_148
3639 mov 0x80, %r16
3640continue_iaw_80_148:
3641 sllx %r16, %r8, %r16 !Mask for my core only
3642 ldxa [0x58]%asi, %r17 !Running_status
3643wait_for_stat_80_148:
3644 ldxa [0x50]%asi, %r13 !Running_rw
3645 cmp %r13, %r17
3646 bne,a wait_for_stat_80_148
3647 ldxa [0x58]%asi, %r17 !Running_status
3648 stxa %r16, [0x68]%asi !Park (W1C)
3649 ldxa [0x50]%asi, %r14 !Running_rw
3650wait_for_iaw_80_148:
3651 ldxa [0x58]%asi, %r17 !Running_status
3652 cmp %r14, %r17
3653 bne,a wait_for_iaw_80_148
3654 ldxa [0x50]%asi, %r14 !Running_rw
3655iaw_doit80_148:
3656 mov 0x38, %r18
3657iaw2_80_148:
3658 rdpr %tba, %r19
3659 mov 0x21, %r20
3660 sllx %r20, 5, %r20
3661 add %r20, %r19, %r19
3662 stxa %r19, [%r18]0x50
3663 stxa %r16, [0x60] %asi ! Unpark (W1S)
3664 st %g0, [%r23] !clear lock
3665 wr %r0, %r12, %asi ! restore %asi
3666 ta T_CHANGE_NONHPRIV
3667 .word 0xa3b4c48c ! 197: FCMPLE32 fcmple32 %d50, %d12, %r17
3668 .word 0x9f8030b4 ! 198: SIR sir 0x10b4
3669 .word 0x3e780001 ! 199: BPVC <illegal instruction>
3670 .word 0x87802014 ! 200: WRASI_I wr %r0, 0x0014, %asi
3671splash_hpstate_80_149:
3672 ta T_CHANGE_NONHPRIV
3673 .word 0x8198238e ! 201: WRHPR_HPSTATE_I wrhpr %r0, 0x038e, %hpstate
3674 .word 0xe697e048 ! 202: LDUHA_I lduha [%r31, + 0x0048] %asi, %r19
3675dvapa_80_150:
3676 nop
3677 ta T_CHANGE_HPRIV
3678 mov 0xe08, %r20
3679 mov 0x1, %r19
3680 sllx %r20, 23, %r20
3681 or %r19, %r20, %r19
3682 stxa %r19, [%g0] ASI_LSU_CONTROL
3683 mov 0x38, %r18
3684 stxa %r31, [%r18]0x58
3685 ta T_CHANGE_NONHPRIV
3686 .word 0xe63fede6 ! 203: STD_I std %r19, [%r31 + 0x0de6]
3687 .word 0xa7830013 ! 204: WR_GRAPHICS_STATUS_REG_R wr %r12, %r19, %-
3688brcommon2_80_152:
3689 nop
3690 setx common_target, %r12, %r27
3691 ba,a .+12
3692 .word 0x93a2c9d1 ! 1: FDIVd fdivd %f42, %f48, %f40
3693 ba,a .+8
3694 jmpl %r27+0, %r27
3695 .word 0xe19fd920 ! 205: LDDFA_R ldda [%r31, %r0], %f16
3696 .word 0xa5454000 ! 206: RD_CLEAR_SOFTINT rd %clear_softint, %r18
3697 .word 0xe897e008 ! 207: LDUHA_I lduha [%r31, + 0x0008] %asi, %r20
3698 nop
3699 ta T_CHANGE_HPRIV
3700 mov 0x80, %r10
3701 set sync_thr_counter6, %r23
3702#ifndef SPC
3703 ldxa [%g0]0x63, %o1
3704 and %o1, 0x38, %o1
3705 add %o1, %r23, %r23
3706#endif
3707 cas [%r23],%g0,%r10 !lock
3708 brnz %r10, sma_80_153
3709 rd %asi, %r12
3710 wr %g0, 0x40, %asi
3711 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
3712 set 0x00061fff, %g1
3713 stxa %g1, [%g0 + 0x80] %asi
3714 wr %r12, %g0, %asi
3715 st %g0, [%r23]
3716sma_80_153:
3717 ta T_CHANGE_NONHPRIV
3718 .word 0xe9e7e00b ! 208: CASA_R casa [%r31] %asi, %r11, %r20
3719vahole_80_154:
3720 nop
3721 ta T_CHANGE_NONHPRIV
3722 setx vahole_target3, %r18, %r27
3723 jmpl %r27+0, %r27
3724 .word 0xc19fda00 ! 209: LDDFA_R ldda [%r31, %r0], %f0
3725splash_lsu_80_155:
3726 nop
3727 ta T_CHANGE_HPRIV
3728 set 0xa8b756e4, %r2
3729 mov 0x2, %r1
3730 sllx %r1, 32, %r1
3731 or %r1, %r2, %r2
3732 stxa %r2, [%r0] ASI_LSU_CONTROL
3733 ta T_CHANGE_NONHPRIV
3734 .word 0x3d400001 ! 210: FBPULE fbule,a,pn %fcc0, <label_0x1>
3735splash_hpstate_80_156:
3736 .word 0x3e800001 ! 1: BVC bvc,a <label_0x1>
3737 .word 0x819826ec ! 211: WRHPR_HPSTATE_I wrhpr %r0, 0x06ec, %hpstate
3738fpinit_80_157:
3739 setx fp_data_quads, %r19, %r20
3740 ldd [%r20], %f0
3741 ldd [%r20+8], %f4
3742 ld [%r20+16], %fsr
3743 ld [%r20+24], %r19
3744 wr %r19, %g0, %gsr
3745 .word 0x89a009a4 ! 212: FDIVs fdivs %f0, %f4, %f4
3746splash_tba_80_158:
3747 ta T_CHANGE_PRIV
3748 setx 0x00000000003a0000, %r11, %r12
3749 .word 0x8b90000c ! 213: WRPR_TBA_R wrpr %r0, %r12, %tba
3750intveclr_80_159:
3751 nop
3752 ta T_CHANGE_HPRIV
3753 setx 0x21e46535b70770fe, %r1, %r28
3754 stxa %r28, [%g0] 0x72
3755 .word 0x25400001 ! 214: FBPLG fblg,a,pn %fcc0, <label_0x1>
3756mondo_80_160:
3757 nop
3758 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
3759 stxa %r18, [%r0+0x3e0] %asi
3760 .word 0x9d948011 ! 215: WRPR_WSTATE_R wrpr %r18, %r17, %wstate
3761iaw_80_161:
3762 nop
3763 ta T_CHANGE_HPRIV
3764 mov 8, %r18
3765 rd %asi, %r12
3766 wr %r0, 0x41, %asi
3767 set sync_thr_counter4, %r23
3768#ifndef SPC
3769 ldxa [%g0]0x63, %r8
3770 and %r8, 0x38, %r8 ! Core ID
3771 add %r8, %r23, %r23
3772#else
3773 mov 0, %r8
3774#endif
3775 mov 0x80, %r16
3776iaw_startwait80_161:
3777 cas [%r23],%g0,%r16 !lock
3778 brz,a %r16, continue_iaw_80_161
3779 mov (~0x80&0xf0), %r16
3780 ld [%r23], %r16
3781iaw_wait80_161:
3782 brnz %r16, iaw_wait80_161
3783 ld [%r23], %r16
3784 ba iaw_startwait80_161
3785 mov 0x80, %r16
3786continue_iaw_80_161:
3787 sllx %r16, %r8, %r16 !Mask for my core only
3788 ldxa [0x58]%asi, %r17 !Running_status
3789wait_for_stat_80_161:
3790 ldxa [0x50]%asi, %r13 !Running_rw
3791 cmp %r13, %r17
3792 bne,a wait_for_stat_80_161
3793 ldxa [0x58]%asi, %r17 !Running_status
3794 stxa %r16, [0x68]%asi !Park (W1C)
3795 ldxa [0x50]%asi, %r14 !Running_rw
3796wait_for_iaw_80_161:
3797 ldxa [0x58]%asi, %r17 !Running_status
3798 cmp %r14, %r17
3799 bne,a wait_for_iaw_80_161
3800 ldxa [0x50]%asi, %r14 !Running_rw
3801iaw_doit80_161:
3802 mov 0x38, %r18
3803iaw1_80_161:
3804 best_set_reg(0x00000000e1a00000, %r20, %r19)
3805 or %r19, 0x1, %r19
3806 stxa %r19, [%r18]0x50
3807 stxa %r16, [0x60] %asi ! Unpark (W1S)
3808 st %g0, [%r23] !clear lock
3809 wr %r0, %r12, %asi ! restore %asi
3810 ta T_CHANGE_NONHPRIV
3811 .word 0xc1bfde00 ! 216: STDFA_R stda %f0, [%r0, %r31]
3812pmu_80_162:
3813 nop
3814 ta T_CHANGE_PRIV
3815 setx 0xfffff88efffffcf9, %g1, %g7
3816 .word 0xa3800007 ! 217: WR_PERF_COUNTER_R wr %r0, %r7, %-
3817donret_80_163:
3818 nop
3819 ta T_CHANGE_HPRIV ! macro
3820 rd %pc, %r12
3821 add %r12, (donretarg_80_163-donret_80_163-4), %r12
3822 mov 0x38, %r18
3823 stxa %r12, [%r18]0x58
3824 add %r12, 0x4, %r11
3825 wrpr %g0, 0x1, %tl
3826 wrpr %g0, %r12, %tpc
3827 wrpr %g0, %r11, %tnpc
3828 set (0x00890b8e | (32 << 24)), %r13
3829 rdpr %tstate, %r16
3830 mov 0x1f, %r19
3831 and %r19, %r16, %r17
3832 andn %r16, %r19, %r16
3833 or %r16, %r17, %r20
3834 wrpr %r20, %g0, %tstate
3835 wrhpr %g0, 0xb95, %htstate
3836 ta T_CHANGE_NONPRIV ! rand=0 (80)
3837 .word 0x28800001 ! 1: BLEU bleu,a <label_0x1>
3838 done
3839donretarg_80_163:
3840 .word 0xa1a409d2 ! 218: FDIVd fdivd %f16, %f18, %f16
3841 invalw
3842 mov 0x30, %r30
3843 .word 0x91d0001e ! 219: Tcc_R ta icc_or_xcc, %r0 + %r30
3844 .word 0xa3464000 ! 220: RD_STICK_CMPR_REG rd %-, %r17
3845vahole_80_164:
3846 nop
3847 ta T_CHANGE_NONHPRIV
3848 setx vahole_target3, %r18, %r27
3849 jmpl %r27+0, %r27
3850 .word 0xe43fede6 ! 221: STD_I std %r18, [%r31 + 0x0de6]
3851ibp_80_165:
3852 nop
3853 .word 0xe4dfc030 ! 222: LDXA_R ldxa [%r31, %r16] 0x01, %r18
3854dvapa_80_166:
3855 nop
3856 ta T_CHANGE_HPRIV
3857 mov 0x8bb, %r20
3858 mov 0x10, %r19
3859 sllx %r20, 23, %r20
3860 or %r19, %r20, %r19
3861 stxa %r19, [%g0] ASI_LSU_CONTROL
3862 mov 0x38, %r18
3863 stxa %r31, [%r18]0x58
3864 ta T_CHANGE_NONHPRIV
3865 .word 0xe1bfe1c0 ! 223: STDFA_I stda %f16, [0x01c0, %r31]
3866 .word 0xe44fe170 ! 224: LDSB_I ldsb [%r31 + 0x0170], %r18
3867mondo_80_167:
3868 nop
3869 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
3870 ta T_CHANGE_PRIV
3871 stxa %r17, [%r0+0x3d8] %asi
3872 .word 0x9d928014 ! 225: WRPR_WSTATE_R wrpr %r10, %r20, %wstate
3873 .word 0xa0840004 ! 226: ADDcc_R addcc %r16, %r4, %r16
3874iaw_80_168:
3875 nop
3876 ta T_CHANGE_HPRIV
3877 mov 8, %r18
3878 rd %asi, %r12
3879 wr %r0, 0x41, %asi
3880 set sync_thr_counter4, %r23
3881#ifndef SPC
3882 ldxa [%g0]0x63, %r8
3883 and %r8, 0x38, %r8 ! Core ID
3884 add %r8, %r23, %r23
3885#else
3886 mov 0, %r8
3887#endif
3888 mov 0x80, %r16
3889iaw_startwait80_168:
3890 cas [%r23],%g0,%r16 !lock
3891 brz,a %r16, continue_iaw_80_168
3892 mov (~0x80&0xf0), %r16
3893 ld [%r23], %r16
3894iaw_wait80_168:
3895 brnz %r16, iaw_wait80_168
3896 ld [%r23], %r16
3897 ba iaw_startwait80_168
3898 mov 0x80, %r16
3899continue_iaw_80_168:
3900 sllx %r16, %r8, %r16 !Mask for my core only
3901 ldxa [0x58]%asi, %r17 !Running_status
3902wait_for_stat_80_168:
3903 ldxa [0x50]%asi, %r13 !Running_rw
3904 cmp %r13, %r17
3905 bne,a wait_for_stat_80_168
3906 ldxa [0x58]%asi, %r17 !Running_status
3907 stxa %r16, [0x68]%asi !Park (W1C)
3908 ldxa [0x50]%asi, %r14 !Running_rw
3909wait_for_iaw_80_168:
3910 ldxa [0x58]%asi, %r17 !Running_status
3911 cmp %r14, %r17
3912 bne,a wait_for_iaw_80_168
3913 ldxa [0x50]%asi, %r14 !Running_rw
3914iaw_doit80_168:
3915 mov 0x38, %r18
3916iaw0_80_168:
3917 rd %pc, %r19
3918 add %r19, (16+1), %r19
3919 stxa %r19, [%r18]0x50
3920 stxa %r16, [0x60] %asi ! Unpark (W1S)
3921 st %g0, [%r23] !clear lock
3922 wr %r0, %r12, %asi ! restore %asi
3923 ta T_CHANGE_NONHPRIV
3924 .word 0xdadfc030 ! 227: LDXA_R ldxa [%r31, %r16] 0x01, %r13
3925vahole_80_169:
3926 nop
3927 ta T_CHANGE_NONHPRIV
3928 setx vahole_target2, %r18, %r27
3929 jmpl %r27+0, %r27
3930 .word 0xa170243c ! 228: POPC_I popc 0x043c, %r16
3931 nop
3932 ta T_CHANGE_HPRIV
3933 mov 0x80+1, %r10
3934 set sync_thr_counter5, %r23
3935#ifndef SPC
3936 ldxa [%g0]0x63, %o1
3937 and %o1, 0x38, %o1
3938 add %o1, %r23, %r23
3939#endif
3940 cas [%r23],%g0,%r10 !lock
3941 brnz %r10, cwq_80_170
3942 rd %asi, %r12
3943 wr %g0, 0x40, %asi
3944 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
3945 and %l1, 0x3, %l1 ! Check if busy/enabled ..
3946 cmp %l1, 1
3947 bne cwq_80_170
3948 set CWQ_BASE, %l6
3949 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
3950 best_set_reg(0x20610060, %l1, %l2) !# Control Word
3951 sllx %l2, 32, %l2
3952 stx %l2, [%l6 + 0x0]
3953 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
3954 sub %l2, 0x40, %l2
3955 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
3956 wr %r12, %g0, %asi
3957 st %g0, [%r23]
3958cwq_80_170:
3959 ta T_CHANGE_NONHPRIV
3960 .word 0xa1414000 ! 229: RDPC rd %pc, %r16
3961vahole_80_171:
3962 nop
3963 ta T_CHANGE_NONHPRIV
3964 setx vahole_target0, %r18, %r27
3965 jmpl %r27+0, %r27
3966 .word 0xc32fc010 ! 230: STXFSR_R st-sfr %f1, [%r16, %r31]
3967 .word 0x9193400c ! 231: WRPR_PIL_R wrpr %r13, %r12, %pil
3968pmu_80_173:
3969 nop
3970 setx 0xfffffeaefffff28c, %g1, %g7
3971 .word 0xa3800007 ! 232: WR_PERF_COUNTER_R wr %r0, %r7, %-
3972iaw_80_174:
3973 nop
3974 ta T_CHANGE_HPRIV
3975 mov 8, %r18
3976 rd %asi, %r12
3977 wr %r0, 0x41, %asi
3978 set sync_thr_counter4, %r23
3979#ifndef SPC
3980 ldxa [%g0]0x63, %r8
3981 and %r8, 0x38, %r8 ! Core ID
3982 add %r8, %r23, %r23
3983#else
3984 mov 0, %r8
3985#endif
3986 mov 0x80, %r16
3987iaw_startwait80_174:
3988 cas [%r23],%g0,%r16 !lock
3989 brz,a %r16, continue_iaw_80_174
3990 mov (~0x80&0xf0), %r16
3991 ld [%r23], %r16
3992iaw_wait80_174:
3993 brnz %r16, iaw_wait80_174
3994 ld [%r23], %r16
3995 ba iaw_startwait80_174
3996 mov 0x80, %r16
3997continue_iaw_80_174:
3998 sllx %r16, %r8, %r16 !Mask for my core only
3999 ldxa [0x58]%asi, %r17 !Running_status
4000wait_for_stat_80_174:
4001 ldxa [0x50]%asi, %r13 !Running_rw
4002 cmp %r13, %r17
4003 bne,a wait_for_stat_80_174
4004 ldxa [0x58]%asi, %r17 !Running_status
4005 stxa %r16, [0x68]%asi !Park (W1C)
4006 ldxa [0x50]%asi, %r14 !Running_rw
4007wait_for_iaw_80_174:
4008 ldxa [0x58]%asi, %r17 !Running_status
4009 cmp %r14, %r17
4010 bne,a wait_for_iaw_80_174
4011 ldxa [0x50]%asi, %r14 !Running_rw
4012iaw_doit80_174:
4013 mov 0x38, %r18
4014iaw3_80_174:
4015 setx common_target, %r20, %r19
4016 or %r19, 0x1, %r19
4017 stxa %r19, [%r18]0x50
4018 stxa %r16, [0x60] %asi ! Unpark (W1S)
4019 st %g0, [%r23] !clear lock
4020 wr %r0, %r12, %asi ! restore %asi
4021 ta T_CHANGE_NONHPRIV
4022 .word 0xd09fc028 ! 233: LDDA_R ldda [%r31, %r8] 0x01, %r8
4023 .word 0x97694007 ! 234: SDIVX_R sdivx %r5, %r7, %r11
4024splash_cmpr_80_175:
4025 nop
4026 setx 0x37c1b9020eed8b38, %l2, %l1
4027 ta T_CHANGE_PRIV
4028 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
4029 sub %l1, 40, %g1
4030 .word 0x89900011 ! 235: WRPR_TICK_R wrpr %r0, %r17, %tick
4031#if (defined SPC || defined CMP)
4032!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_80_176) + 56, 16, 16)) -> intp(1,0,29)
4033!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_80_176)&0xffffffff) + 56, 16, 16)) -> intp(1,0,29)
4034#else
4035 setx 0x6f99056235f1f722, %r1, %r28
4036 stxa %r28, [%g0] 0x73
4037#endif
4038intvec_80_176:
4039 .word 0x39400001 ! 236: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
4040dvapa_80_177:
4041 nop
4042 ta T_CHANGE_HPRIV
4043 mov 0xcb9, %r20
4044 mov 0x2, %r19
4045 sllx %r20, 23, %r20
4046 or %r19, %r20, %r19
4047 stxa %r19, [%g0] ASI_LSU_CONTROL
4048 mov 0x38, %r18
4049 stxa %r31, [%r18]0x58
4050 ta T_CHANGE_NONHPRIV
4051 .word 0xe1bfdc00 ! 237: STDFA_R stda %f16, [%r0, %r31]
4052vahole_80_178:
4053 nop
4054 ta T_CHANGE_NONHPRIV
4055 setx vahole_target3, %r18, %r27
4056 jmpl %r27+0, %r27
4057 .word 0xe19fde00 ! 238: LDDFA_R ldda [%r31, %r0], %f16
4058fpinit_80_179:
4059 setx fp_data_quads, %r19, %r20
4060 ldd [%r20], %f0
4061 ldd [%r20+8], %f4
4062 ld [%r20+16], %fsr
4063 ld [%r20+24], %r19
4064 wr %r19, %g0, %gsr
4065 .word 0x87a80a44 ! 239: FCMPd fcmpd %fcc<n>, %f0, %f4
4066mondo_80_180:
4067 nop
4068 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4069 stxa %r6, [%r0+0x3e0] %asi
4070 .word 0x9d914006 ! 240: WRPR_WSTATE_R wrpr %r5, %r6, %wstate
4071vahole_80_181:
4072 nop
4073 ta T_CHANGE_NONHPRIV
4074 setx vahole_target1, %r18, %r27
4075 jmpl %r27+0, %r27
4076 .word 0xc1bfda00 ! 241: STDFA_R stda %f0, [%r0, %r31]
4077#if (defined SPC || defined CMP)
4078!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_80_182) + 32, 16, 16)) -> intp(5,0,0)
4079!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_80_182)&0xffffffff) + 32, 16, 16)) -> intp(5,0,0)
4080#else
4081 setx 0x3f5b99ad6fdf2cfb, %r1, %r28
4082 stxa %r28, [%g0] 0x73
4083#endif
4084intvec_80_182:
4085 .word 0x39400001 ! 242: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
4086 .word 0xe4800bc0 ! 243: LDUWA_R lduwa [%r0, %r0] 0x5e, %r18
4087intveclr_80_183:
4088 nop
4089 ta T_CHANGE_HPRIV
4090 setx 0xf7bd5121c7188f28, %r1, %r28
4091 stxa %r28, [%g0] 0x72
4092 ta T_CHANGE_NONHPRIV
4093 .word 0x25400001 ! 244: FBPLG fblg,a,pn %fcc0, <label_0x1>
4094vahole_80_184:
4095 nop
4096 ta T_CHANGE_NONHPRIV
4097 setx vahole_target3, %r18, %r27
4098 jmpl %r27+0, %r27
4099 .word 0xe4dfc02a ! 245: LDXA_R ldxa [%r31, %r10] 0x01, %r18
4100 nop
4101 ta T_CHANGE_HPRIV
4102 mov 0x80, %r10
4103 set sync_thr_counter6, %r23
4104#ifndef SPC
4105 ldxa [%g0]0x63, %o1
4106 and %o1, 0x38, %o1
4107 add %o1, %r23, %r23
4108#endif
4109 cas [%r23],%g0,%r10 !lock
4110 brnz %r10, sma_80_185
4111 rd %asi, %r12
4112 wr %g0, 0x40, %asi
4113 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4114 set 0x00021fff, %g1
4115 stxa %g1, [%g0 + 0x80] %asi
4116 wr %r12, %g0, %asi
4117 st %g0, [%r23]
4118sma_80_185:
4119 ta T_CHANGE_NONHPRIV
4120 .word 0xe5e7e011 ! 246: CASA_R casa [%r31] %asi, %r17, %r18
4121fpinit_80_186:
4122 setx fp_data_quads, %r19, %r20
4123 ldd [%r20], %f0
4124 ldd [%r20+8], %f4
4125 ld [%r20+16], %fsr
4126 ld [%r20+24], %r19
4127 wr %r19, %g0, %gsr
4128 .word 0x8db00484 ! 247: FCMPLE32 fcmple32 %d0, %d4, %r6
4129vahole_80_187:
4130 nop
4131 ta T_CHANGE_NONHPRIV
4132 setx vahole_target2, %r18, %r27
4133 jmpl %r27+0, %r27
4134 .word 0xe49fc028 ! 248: LDDA_R ldda [%r31, %r8] 0x01, %r18
4135 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
4136reduce_priv_lvl_80_188:
4137 ta T_CHANGE_NONPRIV ! macro
4138brcommon2_80_189:
4139 nop
4140 setx common_target, %r12, %r27
4141 ba,a .+12
4142 .word 0xdb12c014 ! 1: LDQF_R - [%r11, %r20], %f13
4143 ba,a .+8
4144 jmpl %r27+0, %r27
4145 .word 0xc1bfe1c0 ! 250: STDFA_I stda %f0, [0x01c0, %r31]
4146mondo_80_190:
4147 nop
4148 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4149 stxa %r16, [%r0+0x3d8] %asi
4150 .word 0x9d94c014 ! 251: WRPR_WSTATE_R wrpr %r19, %r20, %wstate
4151 setx 0x4c263b67ab4f4304, %r1, %r28
4152 stxa %r28, [%g0] 0x73
4153intvec_80_191:
4154 .word 0x39400001 ! 252: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
4155vahole_80_192:
4156 nop
4157 ta T_CHANGE_NONHPRIV
4158 setx vahole_target3, %r18, %r27
4159 jmpl %r27+0, %r27
4160 .word 0xc32fc013 ! 253: STXFSR_R st-sfr %f1, [%r19, %r31]
4161ibp_80_193:
4162 nop
4163 ta T_CHANGE_NONHPRIV
4164 .word 0xe1bfd960 ! 254: STDFA_R stda %f16, [%r0, %r31]
4165 .word 0xab842ed1 ! 255: WR_CLEAR_SOFTINT_I wr %r16, 0x0ed1, %clear_softint
4166splash_lsu_80_194:
4167 nop
4168 ta T_CHANGE_HPRIV
4169 set 0xafa34226, %r2
4170 mov 0x6, %r1
4171 sllx %r1, 32, %r1
4172 or %r1, %r2, %r2
4173 stxa %r2, [%r0] ASI_LSU_CONTROL
4174 .word 0x3d400001 ! 256: FBPULE fbule,a,pn %fcc0, <label_0x1>
4175 nop
4176 ta T_CHANGE_HPRIV
4177 mov 0x80, %r10
4178 set sync_thr_counter6, %r23
4179#ifndef SPC
4180 ldxa [%g0]0x63, %o1
4181 and %o1, 0x38, %o1
4182 add %o1, %r23, %r23
4183#endif
4184 cas [%r23],%g0,%r10 !lock
4185 brnz %r10, sma_80_195
4186 rd %asi, %r12
4187 wr %g0, 0x40, %asi
4188 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4189 set 0x00021fff, %g1
4190 stxa %g1, [%g0 + 0x80] %asi
4191 wr %r12, %g0, %asi
4192 st %g0, [%r23]
4193sma_80_195:
4194 ta T_CHANGE_NONHPRIV
4195 .word 0xe3e7e013 ! 257: CASA_R casa [%r31] %asi, %r19, %r17
4196#if (defined SPC || defined CMP)
4197!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_80_196) + 24, 16, 16)) -> intp(0,0,30)
4198!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_80_196)&0xffffffff) + 24, 16, 16)) -> intp(0,0,30)
4199#else
4200 setx 0x04090a55925af412, %r1, %r28
4201 stxa %r28, [%g0] 0x73
4202#endif
4203intvec_80_196:
4204 .word 0x39400001 ! 258: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
4205tglhtw_80_197:
4206 nop
4207 rd %asi, %l3 ! save %asi
4208 ta T_CHANGE_HPRIV
4209 wr %g0, ASI_MMU_ZERO_CONTEXT_TSB_CONFIG, %asi
4210 mov 1, %l2
4211 sllx %l2, 63, %l2
4212 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
4213 xor %l4, %l2, %l4
4214 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi
4215 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
4216 xor %l4, %l2, %l4
4217 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi
4218 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
4219 xor %l4, %l2, %l4
4220 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi
4221 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
4222 xor %l4, %l2, %l4
4223 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi
4224 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
4225 xor %l4, %l2, %l4
4226 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi
4227 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
4228 xor %l4, %l2, %l4
4229 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi
4230 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
4231 xor %l4, %l2, %l4
4232 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi
4233 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
4234 xor %l4, %l2, %l4
4235 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi
4236 ta T_CHANGE_NONHPRIV
4237 wr %g0, %l3, %asi !restore %asi
4238 .word 0xa5b4498d ! 259: BSHUFFLE fmovc32 %d48, %d44, %d18
4239 .word 0x9f802f77 ! 260: SIR sir 0x0f77
4240 nop
4241 ta T_CHANGE_HPRIV
4242 mov 0x80, %r10
4243 set sync_thr_counter6, %r23
4244#ifndef SPC
4245 ldxa [%g0]0x63, %o1
4246 and %o1, 0x38, %o1
4247 add %o1, %r23, %r23
4248#endif
4249 cas [%r23],%g0,%r10 !lock
4250 brnz %r10, sma_80_198
4251 rd %asi, %r12
4252 wr %g0, 0x40, %asi
4253 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4254 set 0x00061fff, %g1
4255 stxa %g1, [%g0 + 0x80] %asi
4256 wr %r12, %g0, %asi
4257 st %g0, [%r23]
4258sma_80_198:
4259 ta T_CHANGE_NONHPRIV
4260 .word 0xe7e7e014 ! 261: CASA_R casa [%r31] %asi, %r20, %r19
4261splash_tba_80_199:
4262 ta T_CHANGE_PRIV
4263 setx 0x00000000003a0000, %r11, %r12
4264 .word 0x8b90000c ! 262: WRPR_TBA_R wrpr %r0, %r12, %tba
4265splash_hpstate_80_200:
4266 ta T_CHANGE_NONHPRIV
4267 .word 0x81982045 ! 263: WRHPR_HPSTATE_I wrhpr %r0, 0x0045, %hpstate
4268mondo_80_201:
4269 nop
4270 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4271 ta T_CHANGE_PRIV
4272 stxa %r18, [%r0+0x3d8] %asi
4273 .word 0x9d904012 ! 264: WRPR_WSTATE_R wrpr %r1, %r18, %wstate
4274tagged_80_202:
4275 tsubcctv %r16, 0x1064, %r11
4276 .word 0xe607e0f4 ! 265: LDUW_I lduw [%r31 + 0x00f4], %r19
4277 nop
4278 mov 0x80, %g3
4279 stxa %g3, [%g3] 0x57
4280 .word 0xe65fc000 ! 266: LDX_R ldx [%r31 + %r0], %r19
4281mondo_80_203:
4282 nop
4283 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4284 stxa %r16, [%r0+0x3c8] %asi
4285 .word 0x9d928014 ! 267: WRPR_WSTATE_R wrpr %r10, %r20, %wstate
4286splash_cmpr_80_204:
4287 nop
4288 setx 0xc82e1b91b159c9ea, %l2, %l1
4289 ta T_CHANGE_HPRIV
4290 wrhpr %l1, %g0, %hsys_tick_cmpr
4291 ta T_CHANGE_NONHPRIV
4292 sub %l1, 40, %g1
4293 .word 0xb1800011 ! 268: WR_STICK_REG_R wr %r0, %r17, %-
4294intveclr_80_205:
4295 nop
4296 ta T_CHANGE_HPRIV
4297 setx 0x2d72ac66abe017e9, %r1, %r28
4298 stxa %r28, [%g0] 0x72
4299 ta T_CHANGE_NONHPRIV
4300 .word 0x25400001 ! 269: FBPLG fblg,a,pn %fcc0, <label_0x1>
4301 .word 0x8d902e52 ! 270: WRPR_PSTATE_I wrpr %r0, 0x0e52, %pstate
4302cwp_80_207:
4303 set user_data_start, %o7
4304 .word 0x93902002 ! 271: WRPR_CWP_I wrpr %r0, 0x0002, %cwp
4305#if (defined SPC || defined CMP)
4306!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_80_208) + 48, 16, 16)) -> intp(4,0,29)
4307!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_80_208)&0xffffffff) + 48, 16, 16)) -> intp(4,0,29)
4308#else
4309 setx 0x5bcb8977023a80f2, %r1, %r28
4310 stxa %r28, [%g0] 0x73
4311#endif
4312intvec_80_208:
4313 .word 0x39400001 ! 272: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
4314ibp_80_209:
4315 nop
4316 .word 0x9ba489a5 ! 273: FDIVs fdivs %f18, %f5, %f13
4317mondo_80_210:
4318 nop
4319 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4320 ta T_CHANGE_PRIV
4321 stxa %r19, [%r0+0x3c0] %asi
4322 .word 0x9d94800a ! 274: WRPR_WSTATE_R wrpr %r18, %r10, %wstate
4323ibp_80_211:
4324 nop
4325 ta T_CHANGE_NONHPRIV
4326 .word 0xc1bfdb60 ! 275: STDFA_R stda %f0, [%r0, %r31]
4327splash_lsu_80_212:
4328 nop
4329 ta T_CHANGE_HPRIV
4330 set 0xdccee6b1, %r2
4331 mov 0x3, %r1
4332 sllx %r1, 32, %r1
4333 or %r1, %r2, %r2
4334 stxa %r2, [%r0] ASI_LSU_CONTROL
4335 ta T_CHANGE_NONHPRIV
4336 .word 0x3d400001 ! 276: FBPULE fbule,a,pn %fcc0, <label_0x1>
4337 otherw
4338 mov 0x33, %r30
4339 .word 0x83d0001e ! 277: Tcc_R te icc_or_xcc, %r0 + %r30
4340trapasi_80_213:
4341 nop
4342 mov 0x18, %r1 ! (VA for ASI 0x50)
4343 .word 0xe8d84a00 ! 278: LDXA_R ldxa [%r1, %r0] 0x50, %r20
4344pmu_80_214:
4345 nop
4346 ta T_CHANGE_PRIV
4347 setx 0xfffff642ffffff9d, %g1, %g7
4348 .word 0xa3800007 ! 279: WR_PERF_COUNTER_R wr %r0, %r7, %-
4349iaw_80_215:
4350 nop
4351 ta T_CHANGE_HPRIV
4352 mov 8, %r18
4353 rd %asi, %r12
4354 wr %r0, 0x41, %asi
4355 set sync_thr_counter4, %r23
4356#ifndef SPC
4357 ldxa [%g0]0x63, %r8
4358 and %r8, 0x38, %r8 ! Core ID
4359 add %r8, %r23, %r23
4360#else
4361 mov 0, %r8
4362#endif
4363 mov 0x80, %r16
4364iaw_startwait80_215:
4365 cas [%r23],%g0,%r16 !lock
4366 brz,a %r16, continue_iaw_80_215
4367 mov (~0x80&0xf0), %r16
4368 ld [%r23], %r16
4369iaw_wait80_215:
4370 brnz %r16, iaw_wait80_215
4371 ld [%r23], %r16
4372 ba iaw_startwait80_215
4373 mov 0x80, %r16
4374continue_iaw_80_215:
4375 sllx %r16, %r8, %r16 !Mask for my core only
4376 ldxa [0x58]%asi, %r17 !Running_status
4377wait_for_stat_80_215:
4378 ldxa [0x50]%asi, %r13 !Running_rw
4379 cmp %r13, %r17
4380 bne,a wait_for_stat_80_215
4381 ldxa [0x58]%asi, %r17 !Running_status
4382 stxa %r16, [0x68]%asi !Park (W1C)
4383 ldxa [0x50]%asi, %r14 !Running_rw
4384wait_for_iaw_80_215:
4385 ldxa [0x58]%asi, %r17 !Running_status
4386 cmp %r14, %r17
4387 bne,a wait_for_iaw_80_215
4388 ldxa [0x50]%asi, %r14 !Running_rw
4389iaw_doit80_215:
4390 mov 0x38, %r18
4391iaw3_80_215:
4392 setx common_target, %r20, %r19
4393 or %r19, 0x1, %r19
4394 stxa %r19, [%r18]0x50
4395 stxa %r16, [0x60] %asi ! Unpark (W1S)
4396 st %g0, [%r23] !clear lock
4397 wr %r0, %r12, %asi ! restore %asi
4398 ta T_CHANGE_NONHPRIV
4399 .word 0xc19fda00 ! 280: LDDFA_R ldda [%r31, %r0], %f0
4400#if (defined SPC || defined CMP)
4401!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_80_216) + 8, 16, 16)) -> intp(0,0,18)
4402!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_80_216)&0xffffffff) + 8, 16, 16)) -> intp(0,0,18)
4403#else
4404 setx 0xd2fdaec1533fd4ec, %r1, %r28
4405 stxa %r28, [%g0] 0x73
4406#endif
4407intvec_80_216:
4408 .word 0x39400001 ! 281: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
4409splash_lsu_80_217:
4410 nop
4411 ta T_CHANGE_HPRIV
4412 set 0xdee832b8, %r2
4413 mov 0x5, %r1
4414 sllx %r1, 32, %r1
4415 or %r1, %r2, %r2
4416 stxa %r2, [%r0] ASI_LSU_CONTROL
4417 .word 0x3d400001 ! 282: FBPULE fbule,a,pn %fcc0, <label_0x1>
4418mondo_80_218:
4419 nop
4420 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4421 stxa %r19, [%r0+0x3c8] %asi
4422 .word 0x9d920014 ! 283: WRPR_WSTATE_R wrpr %r8, %r20, %wstate
4423vahole_80_219:
4424 nop
4425 ta T_CHANGE_NONHPRIV
4426 setx vahole_target0, %r18, %r27
4427 jmpl %r27+0, %r27
4428 .word 0xe19fdb60 ! 284: LDDFA_R ldda [%r31, %r0], %f16
4429mondo_80_220:
4430 nop
4431 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4432 ta T_CHANGE_PRIV
4433 stxa %r7, [%r0+0x3d0] %asi
4434 .word 0x9d93000a ! 285: WRPR_WSTATE_R wrpr %r12, %r10, %wstate
4435 brlez,a,pt %r13, skip_80_221
4436 .word 0x9ba089d3 ! 1: FDIVd fdivd %f2, %f50, %f44
4437.align 512
4438skip_80_221:
4439 .word 0x87a98a45 ! 286: FCMPd fcmpd %fcc<n>, %f6, %f36
4440donret_80_222:
4441 nop
4442 ta T_CHANGE_HPRIV ! macro
4443 rd %pc, %r12
4444 add %r12, (donretarg_80_222-donret_80_222-8), %r12
4445 mov 0x38, %r18
4446 stxa %r12, [%r18]0x58
4447 add %r12, 0x4, %r11
4448 wrpr %g0, 0x2, %tl
4449 wrpr %g0, %r12, %tpc
4450 wrpr %g0, %r11, %tnpc
4451 set (0x00cc7036 | (0x83 << 24)), %r13
4452 rdpr %tstate, %r16
4453 mov 0x1f, %r19
4454 and %r19, %r16, %r17
4455 andn %r16, %r19, %r16
4456 or %r16, %r17, %r20
4457 wrpr %r20, %g0, %tstate
4458 wrhpr %g0, 0x3cf, %htstate
4459 ta T_CHANGE_NONHPRIV ! rand=1 (80)
4460 retry
4461donretarg_80_222:
4462 .word 0xe86fe09e ! 287: LDSTUB_I ldstub %r20, [%r31 + 0x009e]
4463jmptr_80_223:
4464 nop
4465 best_set_reg(0xe0a00000, %r20, %r27)
4466 .word 0xb7c6c000 ! 288: JMPL_R jmpl %r27 + %r0, %r27
4467splash_cmpr_80_224:
4468 nop
4469 setx 0x97423e68b20216d9, %l2, %l1
4470 ta T_CHANGE_HPRIV
4471 wrhpr %l1, %g0, %hsys_tick_cmpr
4472 sub %l1, 40, %g1
4473 .word 0x89900011 ! 289: WRPR_TICK_R wrpr %r0, %r17, %tick
4474splash_cmpr_80_225:
4475 nop
4476 setx 0x5a634ff4428eaf11, %l2, %l1
4477 ta T_CHANGE_PRIV
4478 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
4479 ta T_CHANGE_NONPRIV
4480 sub %l1, 40, %g1
4481 .word 0x89900011 ! 290: WRPR_TICK_R wrpr %r0, %r17, %tick
4482pmu_80_226:
4483 nop
4484 setx 0xfffffe57fffff1f4, %g1, %g7
4485 .word 0xa3800007 ! 291: WR_PERF_COUNTER_R wr %r0, %r7, %-
4486pmu_80_227:
4487 nop
4488 ta T_CHANGE_PRIV
4489 setx 0xfffff006fffff6a3, %g1, %g7
4490 .word 0xa3800007 ! 292: WR_PERF_COUNTER_R wr %r0, %r7, %-
4491mondo_80_228:
4492 nop
4493 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4494 ta T_CHANGE_PRIV
4495 stxa %r11, [%r0+0x3d0] %asi
4496 .word 0x9d950003 ! 293: WRPR_WSTATE_R wrpr %r20, %r3, %wstate
4497 .word 0x87802080 ! 294: WRASI_I wr %r0, 0x0080, %asi
4498 .word 0xa1a00169 ! 295: FABSq dis not found
4499
4500donret_80_230:
4501 nop
4502 ta T_CHANGE_HPRIV ! macro
4503 rd %pc, %r12
4504 add %r12, (donretarg_80_230-donret_80_230-8), %r12
4505 mov 0x38, %r18
4506 stxa %r12, [%r18]0x58
4507 add %r12, 0x4, %r11
4508 wrpr %g0, 0x2, %tl
4509 wrpr %g0, %r12, %tpc
4510 wrpr %g0, %r11, %tnpc
4511 set (0x00795f87 | (22 << 24)), %r13
4512 rdpr %tstate, %r16
4513 mov 0x1f, %r19
4514 and %r19, %r16, %r17
4515 andn %r16, %r19, %r16
4516 or %r16, %r17, %r20
4517 wrpr %r20, %g0, %tstate
4518 wrhpr %g0, 0x606, %htstate
4519 ta T_CHANGE_NONPRIV ! rand=0 (80)
4520 .word 0x3c800001 ! 1: BPOS bpos,a <label_0x1>
4521 retry
4522donretarg_80_230:
4523 .word 0xe66fe17d ! 296: LDSTUB_I ldstub %r19, [%r31 + 0x017d]
4524vahole_80_231:
4525 nop
4526 ta T_CHANGE_NONHPRIV
4527 setx vahole_target2, %r18, %r27
4528 jmpl %r27+0, %r27
4529 .word 0xe19fde00 ! 297: LDDFA_R ldda [%r31, %r0], %f16
4530 nop
4531 ta T_CHANGE_HPRIV
4532 mov 0x80+1, %r10
4533 set sync_thr_counter5, %r23
4534#ifndef SPC
4535 ldxa [%g0]0x63, %o1
4536 and %o1, 0x38, %o1
4537 add %o1, %r23, %r23
4538#endif
4539 cas [%r23],%g0,%r10 !lock
4540 brnz %r10, cwq_80_232
4541 rd %asi, %r12
4542 wr %g0, 0x40, %asi
4543 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
4544 and %l1, 0x3, %l1 ! Check if busy/enabled ..
4545 cmp %l1, 1
4546 bne cwq_80_232
4547 set CWQ_BASE, %l6
4548 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
4549 best_set_reg(0x20610080, %l1, %l2) !# Control Word
4550 sllx %l2, 32, %l2
4551 stx %l2, [%l6 + 0x0]
4552 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
4553 sub %l2, 0x40, %l2
4554 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
4555 wr %r12, %g0, %asi
4556 st %g0, [%r23]
4557cwq_80_232:
4558 ta T_CHANGE_NONHPRIV
4559 .word 0xa5414000 ! 298: RDPC rd %pc, %r18
4560trapasi_80_233:
4561 nop
4562 mov 0x3d8, %r1 ! (VA for ASI 0x25)
4563 .word 0xdac044a0 ! 299: LDSWA_R ldswa [%r1, %r0] 0x25, %r13
4564dvapa_80_234:
4565 nop
4566 ta T_CHANGE_HPRIV
4567 mov 0xb66, %r20
4568 mov 0x5, %r19
4569 sllx %r20, 23, %r20
4570 or %r19, %r20, %r19
4571 stxa %r19, [%g0] ASI_LSU_CONTROL
4572 mov 0x38, %r18
4573 stxa %r31, [%r18]0x58
4574 ta T_CHANGE_NONHPRIV
4575 .word 0x99a509ac ! 300: FDIVs fdivs %f20, %f12, %f12
4576intveclr_80_235:
4577 nop
4578 ta T_CHANGE_HPRIV
4579 setx 0x5288e605be61d7b2, %r1, %r28
4580 stxa %r28, [%g0] 0x72
4581 ta T_CHANGE_NONHPRIV
4582 .word 0x25400001 ! 301: FBPLG fblg,a,pn %fcc0, <label_0x1>
4583mondo_80_236:
4584 nop
4585 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4586 stxa %r12, [%r0+0x3c0] %asi
4587 .word 0x9d950001 ! 302: WRPR_WSTATE_R wrpr %r20, %r1, %wstate
4588 setx 0x90ef3ab150edca6c, %r1, %r28
4589 stxa %r28, [%g0] 0x73
4590intvec_80_237:
4591 .word 0x39400001 ! 303: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
4592 .word 0xa1a00162 ! 304: FABSq dis not found
4593
4594pmu_80_239:
4595 nop
4596 ta T_CHANGE_PRIV
4597 setx 0xffffff83fffff02d, %g1, %g7
4598 .word 0xa3800007 ! 305: WR_PERF_COUNTER_R wr %r0, %r7, %-
4599pmu_80_240:
4600 nop
4601 ta T_CHANGE_PRIV
4602 setx 0xfffffe5ffffffd9a, %g1, %g7
4603 .word 0xa3800007 ! 306: WR_PERF_COUNTER_R wr %r0, %r7, %-
4604ibp_80_241:
4605 nop
4606 ta T_CHANGE_NONHPRIV
4607 .word 0xe497c031 ! 307: LDUHA_R lduha [%r31, %r17] 0x01, %r18
4608splash_tba_80_242:
4609 ta T_CHANGE_PRIV
4610 setx 0x00000000003a0000, %r11, %r12
4611 .word 0x8b90000c ! 308: WRPR_TBA_R wrpr %r0, %r12, %tba
4612change_to_randtl_80_243:
4613 ta T_CHANGE_HPRIV ! macro
4614done_change_to_randtl_80_243:
4615 .word 0x8f902002 ! 309: WRPR_TL_I wrpr %r0, 0x0002, %tl
4616 .word 0x8d802004 ! 310: WRFPRS_I wr %r0, 0x0004, %fprs
4617intveclr_80_244:
4618 nop
4619 ta T_CHANGE_HPRIV
4620 setx 0x145d2e39eb03cca6, %r1, %r28
4621 stxa %r28, [%g0] 0x72
4622 .word 0x25400001 ! 311: FBPLG fblg,a,pn %fcc0, <label_0x1>
4623vahole_80_245:
4624 nop
4625 ta T_CHANGE_NONHPRIV
4626 setx vahole_target3, %r18, %r27
4627 jmpl %r27+0, %r27
4628 .word 0xe1bfe100 ! 312: STDFA_I stda %f16, [0x0100, %r31]
4629 nop
4630 ta T_CHANGE_HPRIV
4631 mov 0x80, %r10
4632 set sync_thr_counter6, %r23
4633#ifndef SPC
4634 ldxa [%g0]0x63, %o1
4635 and %o1, 0x38, %o1
4636 add %o1, %r23, %r23
4637#endif
4638 cas [%r23],%g0,%r10 !lock
4639 brnz %r10, sma_80_246
4640 rd %asi, %r12
4641 wr %g0, 0x40, %asi
4642 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4643 set 0x00121fff, %g1
4644 stxa %g1, [%g0 + 0x80] %asi
4645 wr %r12, %g0, %asi
4646 st %g0, [%r23]
4647sma_80_246:
4648 ta T_CHANGE_NONHPRIV
4649 .word 0xe5e7e012 ! 313: CASA_R casa [%r31] %asi, %r18, %r18
4650dvapa_80_247:
4651 nop
4652 ta T_CHANGE_HPRIV
4653 mov 0xf0a, %r20
4654 mov 0x15, %r19
4655 sllx %r20, 23, %r20
4656 or %r19, %r20, %r19
4657 stxa %r19, [%g0] ASI_LSU_CONTROL
4658 mov 0x38, %r18
4659 stxa %r31, [%r18]0x58
4660 ta T_CHANGE_NONHPRIV
4661 .word 0xa3b10490 ! 314: FCMPLE32 fcmple32 %d4, %d16, %r17
4662unsupttte_80_248:
4663 nop
4664 ta T_CHANGE_HPRIV
4665 mov 1, %r20
4666 sllx %r20, 63, %r20
4667 or %r20, 2,%r20
4668 stxa %r20, [%g0]0x5c ! D unsupported page size ..
4669 ta T_CHANGE_NONHPRIV
4670 .word 0x97a349c1 ! 315: FDIVd fdivd %f44, %f32, %f42
4671ibp_80_249:
4672 nop
4673 ta T_CHANGE_NONHPRIV
4674 .word 0xc32fc00c ! 316: STXFSR_R st-sfr %f1, [%r12, %r31]
4675 .word 0x3e800001 ! 317: BVC bvc,a <label_0x1>
4676#if (defined SPC || defined CMP)
4677!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_80_250) + 32, 16, 16)) -> intp(1,0,30)
4678!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_80_250)&0xffffffff) + 32, 16, 16)) -> intp(1,0,30)
4679#else
4680 setx 0x1b9d42e77d877db6, %r1, %r28
4681 stxa %r28, [%g0] 0x73
4682#endif
4683intvec_80_250:
4684 .word 0x39400001 ! 318: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
4685ibp_80_251:
4686 nop
4687 .word 0x9f803065 ! 319: SIR sir 0x1065
4688vahole_80_252:
4689 nop
4690 ta T_CHANGE_NONHPRIV
4691 setx vahole_target2, %r18, %r27
4692 jmpl %r27+0, %r27
4693 .word 0xe1bfe140 ! 320: STDFA_I stda %f16, [0x0140, %r31]
4694 setx 0xeeab924cd8fc6eae, %r1, %r28
4695 stxa %r28, [%g0] 0x73
4696intvec_80_253:
4697 .word 0x39400001 ! 321: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
4698 .word 0xd08008a0 ! 322: LDUWA_R lduwa [%r0, %r0] 0x45, %r8
4699dvapa_80_254:
4700 nop
4701 ta T_CHANGE_HPRIV
4702 mov 0x841, %r20
4703 mov 0x1b, %r19
4704 sllx %r20, 23, %r20
4705 or %r19, %r20, %r19
4706 stxa %r19, [%g0] ASI_LSU_CONTROL
4707 mov 0x38, %r18
4708 stxa %r31, [%r18]0x58
4709 ta T_CHANGE_NONHPRIV
4710 .word 0xd13fc010 ! 323: STDF_R std %f8, [%r16, %r31]
4711 .word 0x8d802004 ! 324: WRFPRS_I wr %r0, 0x0004, %fprs
4712intveclr_80_255:
4713 nop
4714 ta T_CHANGE_HPRIV
4715 setx 0x7775f528131c225e, %r1, %r28
4716 stxa %r28, [%g0] 0x72
4717 .word 0x25400001 ! 325: FBPLG fblg,a,pn %fcc0, <label_0x1>
4718 nop
4719 ta T_CHANGE_HPRIV
4720 mov 0x80, %r10
4721 set sync_thr_counter6, %r23
4722#ifndef SPC
4723 ldxa [%g0]0x63, %o1
4724 and %o1, 0x38, %o1
4725 add %o1, %r23, %r23
4726#endif
4727 cas [%r23],%g0,%r10 !lock
4728 brnz %r10, sma_80_256
4729 rd %asi, %r12
4730 wr %g0, 0x40, %asi
4731 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4732 set 0x00061fff, %g1
4733 stxa %g1, [%g0 + 0x80] %asi
4734 wr %r12, %g0, %asi
4735 st %g0, [%r23]
4736sma_80_256:
4737 ta T_CHANGE_NONHPRIV
4738 .word 0xd1e7e009 ! 326: CASA_R casa [%r31] %asi, %r9, %r8
4739 nop
4740 ta T_CHANGE_HPRIV
4741 mov 0x80+1, %r10
4742 set sync_thr_counter5, %r23
4743#ifndef SPC
4744 ldxa [%g0]0x63, %o1
4745 and %o1, 0x38, %o1
4746 add %o1, %r23, %r23
4747#endif
4748 cas [%r23],%g0,%r10 !lock
4749 brnz %r10, cwq_80_257
4750 rd %asi, %r12
4751 wr %g0, 0x40, %asi
4752 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
4753 and %l1, 0x3, %l1 ! Check if busy/enabled ..
4754 cmp %l1, 1
4755 bne cwq_80_257
4756 set CWQ_BASE, %l6
4757 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
4758 best_set_reg(0x206100b0, %l1, %l2) !# Control Word
4759 sllx %l2, 32, %l2
4760 stx %l2, [%l6 + 0x0]
4761 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
4762 sub %l2, 0x40, %l2
4763 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
4764 wr %r12, %g0, %asi
4765 st %g0, [%r23]
4766cwq_80_257:
4767 ta T_CHANGE_NONHPRIV
4768 .word 0xa9414000 ! 327: RDPC rd %pc, %r20
4769ibp_80_258:
4770 nop
4771 ta T_CHANGE_NONHPRIV
4772 .word 0xe1bfd920 ! 328: STDFA_R stda %f16, [%r0, %r31]
4773fpinit_80_259:
4774 setx fp_data_quads, %r19, %r20
4775 ldd [%r20], %f0
4776 ldd [%r20+8], %f4
4777 ld [%r20+16], %fsr
4778 ld [%r20+24], %r19
4779 wr %r19, %g0, %gsr
4780 .word 0x8da009c4 ! 329: FDIVd fdivd %f0, %f4, %f6
4781vahole_80_260:
4782 nop
4783 ta T_CHANGE_NONHPRIV
4784 setx vahole_target1, %r18, %r27
4785 jmpl %r27+0, %r27
4786 .word 0xdb1fc011 ! 330: LDDF_R ldd [%r31, %r17], %f13
4787 .word 0xda8008a0 ! 331: LDUWA_R lduwa [%r0, %r0] 0x45, %r13
4788 .word 0xa0d526e4 ! 332: UMULcc_I umulcc %r20, 0x06e4, %r16
4789ibp_80_261:
4790 nop
4791 .word 0xa5702ed2 ! 333: POPC_I popc 0x0ed2, %r18
4792mondo_80_262:
4793 nop
4794 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4795 ta T_CHANGE_PRIV
4796 stxa %r17, [%r0+0x3d0] %asi
4797 .word 0x9d908013 ! 334: WRPR_WSTATE_R wrpr %r2, %r19, %wstate
4798mondo_80_263:
4799 nop
4800 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4801 stxa %r17, [%r0+0x3e0] %asi
4802 .word 0x9d944005 ! 335: WRPR_WSTATE_R wrpr %r17, %r5, %wstate
4803 .word 0x91524000 ! 336: RDPR_CWP rdpr %cwp, %r8
4804pmu_80_265:
4805 nop
4806 ta T_CHANGE_PRIV
4807 setx 0xfffff27dfffffe2e, %g1, %g7
4808 .word 0xa3800007 ! 337: WR_PERF_COUNTER_R wr %r0, %r7, %-
4809dvapa_80_266:
4810 nop
4811 ta T_CHANGE_HPRIV
4812 mov 0xd0c, %r20
4813 mov 0x17, %r19
4814 sllx %r20, 23, %r20
4815 or %r19, %r20, %r19
4816 stxa %r19, [%g0] ASI_LSU_CONTROL
4817 mov 0x38, %r18
4818 stxa %r31, [%r18]0x58
4819 ta T_CHANGE_NONHPRIV
4820 .word 0xd29fc02a ! 338: LDDA_R ldda [%r31, %r10] 0x01, %r9
4821splash_lsu_80_267:
4822 nop
4823 ta T_CHANGE_HPRIV
4824 set 0x59732db6, %r2
4825 mov 0x7, %r1
4826 sllx %r1, 32, %r1
4827 or %r1, %r2, %r2
4828 stxa %r2, [%r0] ASI_LSU_CONTROL
4829 ta T_CHANGE_NONHPRIV
4830 .word 0x3d400001 ! 339: FBPULE fbule,a,pn %fcc0, <label_0x1>
4831splash_tba_80_268:
4832 ta T_CHANGE_PRIV
4833 set 0x120000, %r12
4834 .word 0x8b90000c ! 340: WRPR_TBA_R wrpr %r0, %r12, %tba
4835 otherw
4836 mov 0xb2, %r30
4837 .word 0x91d0001e ! 341: Tcc_R ta icc_or_xcc, %r0 + %r30
4838donret_80_269:
4839 nop
4840 ta T_CHANGE_HPRIV ! macro
4841 rd %pc, %r12
4842 add %r12, (donretarg_80_269-donret_80_269-4), %r12
4843 mov 0x38, %r18
4844 stxa %r12, [%r18]0x58
4845 add %r12, 0x4, %r11
4846 wrpr %g0, 0x2, %tl
4847 wrpr %g0, %r12, %tpc
4848 wrpr %g0, %r11, %tnpc
4849 set (0x00e3fb79 | (0x58 << 24)), %r13
4850 rdpr %tstate, %r16
4851 mov 0x1f, %r19
4852 and %r19, %r16, %r17
4853 andn %r16, %r19, %r16
4854 or %r16, %r17, %r20
4855 wrpr %r20, %g0, %tstate
4856 wrhpr %g0, 0xbd4, %htstate
4857 ta T_CHANGE_NONPRIV ! rand=0 (80)
4858 .word 0x2e800001 ! 1: BVS bvs,a <label_0x1>
4859 done
4860donretarg_80_269:
4861 .word 0x91a289cb ! 342: FDIVd fdivd %f10, %f42, %f8
4862ibp_80_270:
4863 nop
4864 .word 0xe19fdb60 ! 343: LDDFA_R ldda [%r31, %r0], %f16
4865 .word 0x9f80292a ! 344: SIR sir 0x092a
4866splash_hpstate_80_271:
4867 .word 0x8198251e ! 345: WRHPR_HPSTATE_I wrhpr %r0, 0x051e, %hpstate
4868 nop
4869 ta T_CHANGE_HPRIV
4870 mov 0x80+1, %r10
4871 set sync_thr_counter5, %r23
4872#ifndef SPC
4873 ldxa [%g0]0x63, %o1
4874 and %o1, 0x38, %o1
4875 add %o1, %r23, %r23
4876#endif
4877 cas [%r23],%g0,%r10 !lock
4878 brnz %r10, cwq_80_272
4879 rd %asi, %r12
4880 wr %g0, 0x40, %asi
4881 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
4882 and %l1, 0x3, %l1 ! Check if busy/enabled ..
4883 cmp %l1, 1
4884 bne cwq_80_272
4885 set CWQ_BASE, %l6
4886 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
4887 best_set_reg(0x206100e0, %l1, %l2) !# Control Word
4888 sllx %l2, 32, %l2
4889 stx %l2, [%l6 + 0x0]
4890 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
4891 sub %l2, 0x40, %l2
4892 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
4893 wr %r12, %g0, %asi
4894 st %g0, [%r23]
4895cwq_80_272:
4896 ta T_CHANGE_NONHPRIV
4897 .word 0x97414000 ! 346: RDPC rd %pc, %r11
4898ibp_80_273:
4899 nop
4900 ta T_CHANGE_NONHPRIV
4901 .word 0xdabfc02d ! 347: STDA_R stda %r13, [%r31 + %r13] 0x01
4902#if (defined SPC || defined CMP)
4903!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_80_274) + 0, 16, 16)) -> intp(5,0,11)
4904!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_80_274)&0xffffffff) + 0, 16, 16)) -> intp(5,0,11)
4905#else
4906 setx 0x4febe027f1df4854, %r1, %r28
4907 stxa %r28, [%g0] 0x73
4908#endif
4909intvec_80_274:
4910 .word 0x39400001 ! 348: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
4911pmu_80_275:
4912 nop
4913 ta T_CHANGE_PRIV
4914 setx 0xfffff9fdfffffa58, %g1, %g7
4915 .word 0xa3800007 ! 349: WR_PERF_COUNTER_R wr %r0, %r7, %-
4916ibp_80_276:
4917 nop
4918 .word 0xdadfc032 ! 350: LDXA_R ldxa [%r31, %r18] 0x01, %r13
4919pmu_80_277:
4920 nop
4921 setx 0xfffffe18fffffff6, %g1, %g7
4922 .word 0xa3800007 ! 351: WR_PERF_COUNTER_R wr %r0, %r7, %-
4923 set 0x1da3, %l3
4924 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
4925 .word 0xa3b4c7c4 ! 352: PDIST pdistn %d50, %d4, %d48
4926dvapa_80_278:
4927 nop
4928 ta T_CHANGE_HPRIV
4929 mov 0xa66, %r20
4930 mov 0x6, %r19
4931 sllx %r20, 23, %r20
4932 or %r19, %r20, %r19
4933 stxa %r19, [%g0] ASI_LSU_CONTROL
4934 mov 0x38, %r18
4935 stxa %r31, [%r18]0x58
4936 ta T_CHANGE_NONHPRIV
4937 .word 0x9bb4c492 ! 353: FCMPLE32 fcmple32 %d50, %d18, %r13
4938 .word 0xe71fe0d0 ! 354: LDDF_I ldd [%r31, 0x00d0], %f19
4939pmu_80_279:
4940 nop
4941 ta T_CHANGE_PRIV
4942 setx 0xfffffa33fffffcff, %g1, %g7
4943 .word 0xa3800007 ! 355: WR_PERF_COUNTER_R wr %r0, %r7, %-
4944#if (defined SPC || defined CMP)
4945!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_80_280) + 16, 16, 16)) -> intp(7,0,3)
4946!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_80_280)&0xffffffff) + 16, 16, 16)) -> intp(7,0,3)
4947#else
4948 setx 0xeba71ed3ec95d83f, %r1, %r28
4949 stxa %r28, [%g0] 0x73
4950#endif
4951intvec_80_280:
4952 .word 0x39400001 ! 356: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
4953 .word 0xe697e048 ! 357: LDUHA_I lduha [%r31, + 0x0048] %asi, %r19
4954intveclr_80_281:
4955 nop
4956 ta T_CHANGE_HPRIV
4957 setx 0xc5f44fa962d3fac8, %r1, %r28
4958 stxa %r28, [%g0] 0x72
4959 ta T_CHANGE_NONHPRIV
4960 .word 0x25400001 ! 358: FBPLG fblg,a,pn %fcc0, <label_0x1>
4961 .word 0x3c780001 ! 359: BPPOS <illegal instruction>
4962pmu_80_282:
4963 nop
4964 setx 0xfffff219fffff1fd, %g1, %g7
4965 .word 0xa3800007 ! 360: WR_PERF_COUNTER_R wr %r0, %r7, %-
4966intveclr_80_283:
4967 nop
4968 ta T_CHANGE_HPRIV
4969 setx 0xda86457fe54a01fb, %r1, %r28
4970 stxa %r28, [%g0] 0x72
4971 ta T_CHANGE_NONHPRIV
4972 .word 0x25400001 ! 361: FBPLG fblg,a,pn %fcc0, <label_0x1>
4973 nop
4974 ta T_CHANGE_HPRIV
4975 mov 0x80+1, %r10
4976 set sync_thr_counter5, %r23
4977#ifndef SPC
4978 ldxa [%g0]0x63, %o1
4979 and %o1, 0x38, %o1
4980 add %o1, %r23, %r23
4981#endif
4982 cas [%r23],%g0,%r10 !lock
4983 brnz %r10, cwq_80_284
4984 rd %asi, %r12
4985 wr %g0, 0x40, %asi
4986 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
4987 and %l1, 0x3, %l1 ! Check if busy/enabled ..
4988 cmp %l1, 1
4989 bne cwq_80_284
4990 set CWQ_BASE, %l6
4991 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
4992 best_set_reg(0x20610050, %l1, %l2) !# Control Word
4993 sllx %l2, 32, %l2
4994 stx %l2, [%l6 + 0x0]
4995 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
4996 sub %l2, 0x40, %l2
4997 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
4998 wr %r12, %g0, %asi
4999 st %g0, [%r23]
5000cwq_80_284:
5001 ta T_CHANGE_NONHPRIV
5002 .word 0xa9414000 ! 362: RDPC rd %pc, %r20
5003 .word 0xa7450000 ! 363: RD_SET_SOFTINT rd %set_softint, %r19
5004intveclr_80_285:
5005 nop
5006 ta T_CHANGE_HPRIV
5007 setx 0xe30f2e69dce05ce4, %r1, %r28
5008 stxa %r28, [%g0] 0x72
5009 .word 0x25400001 ! 364: FBPLG fblg,a,pn %fcc0, <label_0x1>
5010fpinit_80_286:
5011 setx fp_data_quads, %r19, %r20
5012 ldd [%r20], %f0
5013 ldd [%r20+8], %f4
5014 ld [%r20+16], %fsr
5015 ld [%r20+24], %r19
5016 wr %r19, %g0, %gsr
5017 .word 0x89a009a4 ! 365: FDIVs fdivs %f0, %f4, %f4
5018ibp_80_287:
5019 nop
5020 .word 0xa5702b98 ! 366: POPC_I popc 0x0b98, %r18
5021 nop
5022 ta T_CHANGE_HPRIV
5023 mov 0x80, %r10
5024 set sync_thr_counter6, %r23
5025#ifndef SPC
5026 ldxa [%g0]0x63, %o1
5027 and %o1, 0x38, %o1
5028 add %o1, %r23, %r23
5029#endif
5030 cas [%r23],%g0,%r10 !lock
5031 brnz %r10, sma_80_288
5032 rd %asi, %r12
5033 wr %g0, 0x40, %asi
5034 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
5035 set 0x00061fff, %g1
5036 stxa %g1, [%g0 + 0x80] %asi
5037 wr %r12, %g0, %asi
5038 st %g0, [%r23]
5039sma_80_288:
5040 ta T_CHANGE_NONHPRIV
5041 .word 0xe5e7e010 ! 367: CASA_R casa [%r31] %asi, %r16, %r18
5042 .word 0x8d802004 ! 368: WRFPRS_I wr %r0, 0x0004, %fprs
5043 setx 0x9252d70a7a2ce99e, %r1, %r28
5044 stxa %r28, [%g0] 0x73
5045intvec_80_289:
5046 .word 0x39400001 ! 369: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
5047 nop
5048 ta T_CHANGE_HPRIV
5049 mov 0x80, %r10
5050 set sync_thr_counter6, %r23
5051#ifndef SPC
5052 ldxa [%g0]0x63, %o1
5053 and %o1, 0x38, %o1
5054 add %o1, %r23, %r23
5055#endif
5056 cas [%r23],%g0,%r10 !lock
5057 brnz %r10, sma_80_290
5058 rd %asi, %r12
5059 wr %g0, 0x40, %asi
5060 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
5061 set 0x001e1fff, %g1
5062 stxa %g1, [%g0 + 0x80] %asi
5063 wr %r12, %g0, %asi
5064 st %g0, [%r23]
5065sma_80_290:
5066 ta T_CHANGE_NONHPRIV
5067 .word 0xe5e7e013 ! 370: CASA_R casa [%r31] %asi, %r19, %r18
5068donret_80_291:
5069 nop
5070 ta T_CHANGE_HPRIV ! macro
5071 rd %pc, %r12
5072 add %r12, (donretarg_80_291-donret_80_291-4), %r12
5073 mov 0x38, %r18
5074 stxa %r12, [%r18]0x58
5075 add %r12, 0x4, %r11
5076 wrpr %g0, 0x2, %tl
5077 wrpr %g0, %r12, %tpc
5078 wrpr %g0, %r11, %tnpc
5079 set (0x0071e489 | (22 << 24)), %r13
5080 rdpr %tstate, %r16
5081 mov 0x1f, %r19
5082 and %r19, %r16, %r17
5083 andn %r16, %r19, %r16
5084 or %r16, %r17, %r20
5085 wrpr %r20, %g0, %tstate
5086 wrhpr %g0, 0xd4f, %htstate
5087 ta T_CHANGE_NONPRIV ! rand=0 (80)
5088 .word 0x2c800001 ! 1: BNEG bneg,a <label_0x1>
5089 done
5090donretarg_80_291:
5091 .word 0xa1a409c6 ! 371: FDIVd fdivd %f16, %f6, %f16
5092 .word 0xab84333b ! 372: WR_CLEAR_SOFTINT_I wr %r16, 0x133b, %clear_softint
5093 .word 0xd6800c80 ! 373: LDUWA_R lduwa [%r0, %r0] 0x64, %r11
5094 nop
5095 ta T_CHANGE_HPRIV
5096 mov 0x80, %r10
5097 set sync_thr_counter6, %r23
5098#ifndef SPC
5099 ldxa [%g0]0x63, %o1
5100 and %o1, 0x38, %o1
5101 add %o1, %r23, %r23
5102#endif
5103 cas [%r23],%g0,%r10 !lock
5104 brnz %r10, sma_80_292
5105 rd %asi, %r12
5106 wr %g0, 0x40, %asi
5107 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
5108 set 0x00061fff, %g1
5109 stxa %g1, [%g0 + 0x80] %asi
5110 wr %r12, %g0, %asi
5111 st %g0, [%r23]
5112sma_80_292:
5113 ta T_CHANGE_NONHPRIV
5114 .word 0xd7e7e008 ! 374: CASA_R casa [%r31] %asi, %r8, %r11
5115br_longdelay2_80_293:
5116 .word 0x35400001 ! 1: FBPUE fbue,a,pn %fcc0, <label_0x1>
5117 .word 0x24cfc001 ! 375: BRLEZ brlez,a,pt %r31,<label_0xfc001>
5118dvapa_80_294:
5119 nop
5120 ta T_CHANGE_HPRIV
5121 mov 0x825, %r20
5122 mov 0xd, %r19
5123 sllx %r20, 23, %r20
5124 or %r19, %r20, %r19
5125 stxa %r19, [%g0] ASI_LSU_CONTROL
5126 mov 0x38, %r18
5127 stxa %r31, [%r18]0x58
5128 ta T_CHANGE_NONHPRIV
5129 .word 0xd7e7e014 ! 376: CASA_R casa [%r31] %asi, %r20, %r11
5130splash_lsu_80_295:
5131 nop
5132 ta T_CHANGE_HPRIV
5133 set 0xb312396e, %r2
5134 mov 0x1, %r1
5135 sllx %r1, 32, %r1
5136 or %r1, %r2, %r2
5137 stxa %r2, [%r0] ASI_LSU_CONTROL
5138 ta T_CHANGE_NONHPRIV
5139 .word 0x3d400001 ! 377: FBPULE fbule,a,pn %fcc0, <label_0x1>
5140brcommon1_80_296:
5141 nop
5142 setx common_target, %r12, %r27
5143 lduw [%r27], %r12 ! Load common dest into dcache ..
5144 ba,a .+12
5145 .word 0x97a7c9c8 ! 1: FDIVd fdivd %f62, %f8, %f42
5146 ba,a .+8
5147 jmpl %r27+0, %r27
5148 .word 0xa1703543 ! 378: POPC_I popc 0x1543, %r16
5149 .word 0x8d802004 ! 379: WRFPRS_I wr %r0, 0x0004, %fprs
5150splash_cmpr_80_297:
5151 nop
5152 setx 0xf5e584803e94bf4f, %l2, %l1
5153 ta T_CHANGE_PRIV
5154 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
5155 ta T_CHANGE_NONPRIV
5156 sub %l1, 40, %g1
5157 .word 0x89900011 ! 380: WRPR_TICK_R wrpr %r0, %r17, %tick
5158#if (defined SPC || defined CMP)
5159!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_80_298) + 56, 16, 16)) -> intp(6,0,23)
5160!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_80_298)&0xffffffff) + 56, 16, 16)) -> intp(6,0,23)
5161#else
5162 setx 0x092d92b3bda230fc, %r1, %r28
5163 stxa %r28, [%g0] 0x73
5164#endif
5165intvec_80_298:
5166 .word 0x39400001 ! 381: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
5167 .word 0x9194800b ! 382: WRPR_PIL_R wrpr %r18, %r11, %pil
5168splash_cmpr_80_300:
5169 nop
5170 setx 0x67404f11c0fc0427, %l2, %l1
5171 ta T_CHANGE_HPRIV
5172 wrhpr %l1, %g0, %hsys_tick_cmpr
5173 ta T_CHANGE_NONHPRIV
5174 sub %l1, 40, %g1
5175 .word 0x89900011 ! 383: WRPR_TICK_R wrpr %r0, %r17, %tick
5176 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
5177reduce_priv_lvl_80_301:
5178 ta T_CHANGE_NONPRIV ! macro
5179mondo_80_302:
5180 nop
5181 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5182 ta T_CHANGE_PRIV
5183 stxa %r12, [%r0+0x3e0] %asi
5184 .word 0x9d940006 ! 385: WRPR_WSTATE_R wrpr %r16, %r6, %wstate
5185 .word 0xd037e1c4 ! 386: STH_I sth %r8, [%r31 + 0x01c4]
5186 nop
5187 mov 0x80, %g3
5188 stxa %g3, [%g3] 0x5f
5189 .word 0xd05fc000 ! 387: LDX_R ldx [%r31 + %r0], %r8
5190 setx 0x4fde0c838e69d548, %r1, %r28
5191 stxa %r28, [%g0] 0x73
5192intvec_80_303:
5193 .word 0x39400001 ! 388: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
5194 .word 0xa7a00167 ! 389: FABSq dis not found
5195
5196donret_80_305:
5197 nop
5198 ta T_CHANGE_HPRIV ! macro
5199 rd %pc, %r12
5200 add %r12, (donretarg_80_305-donret_80_305-4), %r12
5201 mov 0x38, %r18
5202 stxa %r12, [%r18]0x58
5203 add %r12, 0x4, %r11
5204 wrpr %g0, 0x1, %tl
5205 wrpr %g0, %r12, %tpc
5206 wrpr %g0, %r11, %tnpc
5207 set (0x005e317b | (0x89 << 24)), %r13
5208 rdpr %tstate, %r16
5209 mov 0x1f, %r19
5210 and %r19, %r16, %r17
5211 andn %r16, %r19, %r16
5212 or %r16, %r17, %r20
5213 wrpr %r20, %g0, %tstate
5214 wrhpr %g0, 0xa97, %htstate
5215 ta T_CHANGE_NONPRIV ! rand=0 (80)
5216 .word 0x37400001 ! 1: FBPGE fbge,a,pn %fcc0, <label_0x1>
5217 done
5218donretarg_80_305:
5219 .word 0xe8ffe144 ! 390: SWAPA_I swapa %r20, [%r31 + 0x0144] %asi
5220 .word 0xe897e0d0 ! 391: LDUHA_I lduha [%r31, + 0x00d0] %asi, %r20
5221 .word 0xe8d7e1d0 ! 392: LDSHA_I ldsha [%r31, + 0x01d0] %asi, %r20
5222pmu_80_306:
5223 nop
5224 ta T_CHANGE_PRIV
5225 setx 0xfffff993fffffd58, %g1, %g7
5226 .word 0xa3800007 ! 393: WR_PERF_COUNTER_R wr %r0, %r7, %-
5227vahole_80_307:
5228 nop
5229 ta T_CHANGE_NONHPRIV
5230 setx vahole_target2, %r18, %r27
5231 jmpl %r27+0, %r27
5232 .word 0xc1bfdc00 ! 394: STDFA_R stda %f0, [%r0, %r31]
5233trapasi_80_308:
5234 nop
5235 mov 0x20, %r1 ! (VA for ASI 0x5a)
5236 .word 0xe8884b40 ! 395: LDUBA_R lduba [%r1, %r0] 0x5a, %r20
5237trapasi_80_309:
5238 nop
5239 mov 0x38, %r1 ! (VA for ASI 0x50)
5240 .word 0xe8c04a00 ! 396: LDSWA_R ldswa [%r1, %r0] 0x50, %r20
5241ibp_80_310:
5242 nop
5243 ta T_CHANGE_NONHPRIV
5244 .word 0xe93fc013 ! 397: STDF_R std %f20, [%r19, %r31]
5245intveclr_80_311:
5246 nop
5247 ta T_CHANGE_HPRIV
5248 setx 0xdf1594e079e3bea9, %r1, %r28
5249 stxa %r28, [%g0] 0x72
5250 ta T_CHANGE_NONHPRIV
5251 .word 0x25400001 ! 398: FBPLG fblg,a,pn %fcc0, <label_0x1>
5252splash_tba_80_312:
5253 ta T_CHANGE_PRIV
5254 set 0x120000, %r12
5255 .word 0x8b90000c ! 399: WRPR_TBA_R wrpr %r0, %r12, %tba
5256pmu_80_313:
5257 nop
5258 ta T_CHANGE_PRIV
5259 setx 0xfffff82afffffd13, %g1, %g7
5260 .word 0xa3800007 ! 400: WR_PERF_COUNTER_R wr %r0, %r7, %-
5261 nop
5262 nop
5263 ta T_CHANGE_PRIV
5264 wrpr %g0, %g0, %gl
5265 nop
5266 nop
5267 setx join_lbl_0_0, %g1, %g2
5268 jmp %g2
5269 nop
5270fork_lbl_0_7:
5271 ta T_CHANGE_NONHPRIV
5272vahole_40_0:
5273 nop
5274 ta T_CHANGE_NONHPRIV
5275 setx vahole_target1, %r18, %r27
5276 jmpl %r27+0, %r27
5277 .word 0xe49fc02a ! 1: LDDA_R ldda [%r31, %r10] 0x01, %r18
5278jmptr_40_1:
5279 nop
5280 best_set_reg(0xe1200000, %r20, %r27)
5281 .word 0xb7c6c000 ! 2: JMPL_R jmpl %r27 + %r0, %r27
5282 .word 0x36800001 ! 3: BGE bge,a <label_0x1>
5283 .word 0xc1bfc2c0 ! 4: STDFA_R stda %f0, [%r0, %r31]
5284 nop
5285 ta T_CHANGE_HPRIV
5286 mov 0x40, %r10
5287 set sync_thr_counter6, %r23
5288#ifndef SPC
5289 ldxa [%g0]0x63, %o1
5290 and %o1, 0x38, %o1
5291 add %o1, %r23, %r23
5292#endif
5293 cas [%r23],%g0,%r10 !lock
5294 brnz %r10, sma_40_2
5295 rd %asi, %r12
5296 wr %g0, 0x40, %asi
5297 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
5298 set 0x000e1fff, %g1
5299 stxa %g1, [%g0 + 0x80] %asi
5300 wr %r12, %g0, %asi
5301 st %g0, [%r23]
5302sma_40_2:
5303 ta T_CHANGE_NONHPRIV
5304 .word 0xe5e7e011 ! 5: CASA_R casa [%r31] %asi, %r17, %r18
5305vahole_40_3:
5306 nop
5307 ta T_CHANGE_NONHPRIV
5308 setx vahole_target2, %r18, %r27
5309 jmpl %r27+0, %r27
5310 .word 0xa7b147d4 ! 6: PDIST pdistn %d36, %d20, %d50
5311 .word 0xc19fe160 ! 7: LDDFA_I ldda [%r31, 0x0160], %f0
5312ibp_40_4:
5313 nop
5314 ta T_CHANGE_HPRIV
5315 mov 8, %r18
5316 rd %asi, %r12
5317 wr %r0, 0x41, %asi
5318 set sync_thr_counter4, %r23
5319#ifndef SPC
5320 ldxa [%g0]0x63, %r8
5321 and %r8, 0x38, %r8 ! Core ID
5322 add %r8, %r23, %r23
5323#else
5324 mov 0, %r8
5325#endif
5326 mov 0x40, %r16
5327ibp_startwait40_4:
5328 cas [%r23],%g0,%r16 !lock
5329 brz,a %r16, continue_ibp_40_4
5330 mov (~0x40&0xf0), %r16
5331 ld [%r23], %r16
5332ibp_wait40_4:
5333 brnz %r16, ibp_wait40_4
5334 ld [%r23], %r16
5335 ba ibp_startwait40_4
5336 mov 0x40, %r16
5337continue_ibp_40_4:
5338 sllx %r16, %r8, %r16 !Mask for my core only
5339 ldxa [0x58]%asi, %r17 !Running_status
5340wait_for_stat_40_4:
5341 ldxa [0x50]%asi, %r13 !Running_rw
5342 cmp %r13, %r17
5343 bne,a wait_for_stat_40_4
5344 ldxa [0x58]%asi, %r17 !Running_status
5345 stxa %r16, [0x68]%asi !Park (W1C)
5346 ldxa [0x50]%asi, %r14 !Running_rw
5347wait_for_ibp_40_4:
5348 ldxa [0x58]%asi, %r17 !Running_status
5349 cmp %r14, %r17
5350 bne,a wait_for_ibp_40_4
5351 ldxa [0x50]%asi, %r14 !Running_rw
5352ibp_doit40_4:
5353 best_set_reg(0x00000050c4c000c9,%r19, %r20)
5354 stxa %r20, [%r18]0x42
5355 stxa %r16, [0x60] %asi !Unpark (W1S)
5356 st %g0, [%r23] !clear lock
5357 wr %r0, %r12, %asi !restore %asi
5358 ta T_CHANGE_NONHPRIV
5359 .word 0xc19fde00 ! 8: LDDFA_R ldda [%r31, %r0], %f0
5360 .word 0xe1bfc2c0 ! 9: STDFA_R stda %f16, [%r0, %r31]
5361pmu_40_6:
5362 nop
5363 setx 0xfffffc90fffffb12, %g1, %g7
5364 .word 0xa3800007 ! 10: WR_PERF_COUNTER_R wr %r0, %r7, %-
5365ibp_40_7:
5366 nop
5367 ta T_CHANGE_HPRIV
5368 mov 8, %r18
5369 rd %asi, %r12
5370 wr %r0, 0x41, %asi
5371 set sync_thr_counter4, %r23
5372#ifndef SPC
5373 ldxa [%g0]0x63, %r8
5374 and %r8, 0x38, %r8 ! Core ID
5375 add %r8, %r23, %r23
5376#else
5377 mov 0, %r8
5378#endif
5379 mov 0x40, %r16
5380ibp_startwait40_7:
5381 cas [%r23],%g0,%r16 !lock
5382 brz,a %r16, continue_ibp_40_7
5383 mov (~0x40&0xf0), %r16
5384 ld [%r23], %r16
5385ibp_wait40_7:
5386 brnz %r16, ibp_wait40_7
5387 ld [%r23], %r16
5388 ba ibp_startwait40_7
5389 mov 0x40, %r16
5390continue_ibp_40_7:
5391 sllx %r16, %r8, %r16 !Mask for my core only
5392 ldxa [0x58]%asi, %r17 !Running_status
5393wait_for_stat_40_7:
5394 ldxa [0x50]%asi, %r13 !Running_rw
5395 cmp %r13, %r17
5396 bne,a wait_for_stat_40_7
5397 ldxa [0x58]%asi, %r17 !Running_status
5398 stxa %r16, [0x68]%asi !Park (W1C)
5399 ldxa [0x50]%asi, %r14 !Running_rw
5400wait_for_ibp_40_7:
5401 ldxa [0x58]%asi, %r17 !Running_status
5402 cmp %r14, %r17
5403 bne,a wait_for_ibp_40_7
5404 ldxa [0x50]%asi, %r14 !Running_rw
5405ibp_doit40_7:
5406 best_set_reg(0x00000050c4c0c943,%r19, %r20)
5407 stxa %r20, [%r18]0x42
5408 stxa %r16, [0x60] %asi !Unpark (W1S)
5409 st %g0, [%r23] !clear lock
5410 wr %r0, %r12, %asi !restore %asi
5411 ta T_CHANGE_NONHPRIV
5412 .word 0xe19fdb60 ! 11: LDDFA_R ldda [%r31, %r0], %f16
5413 .word 0x9f803e7b ! 12: SIR sir 0x1e7b
5414brcommon1_40_8:
5415 nop
5416 setx common_target, %r12, %r27
5417 lduw [%r27], %r12 ! Load common dest into dcache ..
5418 ba,a .+12
5419 .word 0xa3702e80 ! 1: POPC_I popc 0x0e80, %r17
5420 ba,a .+8
5421 jmpl %r27+0, %r27
5422 .word 0x9ba449b2 ! 13: FDIVs fdivs %f17, %f18, %f13
5423 .word 0x99540000 ! 14: RDPR_GL <illegal instruction>
5424splash_lsu_40_9:
5425 nop
5426 ta T_CHANGE_HPRIV
5427 set 0xdd3fd247, %r2
5428 mov 0x3, %r1
5429 sllx %r1, 32, %r1
5430 or %r1, %r2, %r2
5431 stxa %r2, [%r0] ASI_LSU_CONTROL
5432 .word 0x3d400001 ! 15: FBPULE fbule,a,pn %fcc0, <label_0x1>
5433 .word 0xe82fe12c ! 16: STB_I stb %r20, [%r31 + 0x012c]
5434pmu_40_10:
5435 nop
5436 setx 0xfffffcb7fffffadd, %g1, %g7
5437 .word 0xa3800007 ! 17: WR_PERF_COUNTER_R wr %r0, %r7, %-
5438 .word 0x9f803271 ! 18: SIR sir 0x1271
5439 .word 0x8d902842 ! 19: WRPR_PSTATE_I wrpr %r0, 0x0842, %pstate
5440dvapa_40_12:
5441 nop
5442 ta T_CHANGE_HPRIV
5443 mov 0xbb8, %r20
5444 mov 0xc, %r19
5445 sllx %r20, 23, %r20
5446 or %r19, %r20, %r19
5447 stxa %r19, [%g0] ASI_LSU_CONTROL
5448 mov 0x38, %r18
5449 stxa %r31, [%r18]0x58
5450 ta T_CHANGE_NONHPRIV
5451 .word 0xe19fc2c0 ! 20: LDDFA_R ldda [%r31, %r0], %f16
5452splash_cmpr_40_13:
5453 nop
5454 setx 0xcab903d921959c5d, %l2, %l1
5455 ta T_CHANGE_PRIV
5456 .word 0xaf800011 ! 1: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
5457 sub %l1, 40, %g1
5458 .word 0x89900011 ! 21: WRPR_TICK_R wrpr %r0, %r17, %tick
5459donret_40_14:
5460 nop
5461 ta T_CHANGE_HPRIV ! macro
5462 rd %pc, %r12
5463 add %r12, (donretarg_40_14-donret_40_14-8), %r12
5464 mov 0x38, %r18
5465 stxa %r12, [%r18]0x58
5466 add %r12, 0x4, %r11
5467 wrpr %g0, 0x2, %tl
5468 wrpr %g0, %r12, %tpc
5469 wrpr %g0, %r11, %tnpc
5470 set (0x00a188a4 | (0x8b << 24)), %r13
5471 rdpr %tstate, %r16
5472 mov 0x1f, %r19
5473 and %r19, %r16, %r17
5474 andn %r16, %r19, %r16
5475 or %r16, %r17, %r20
5476 wrpr %r20, %g0, %tstate
5477 wrhpr %g0, 0xcc4, %htstate
5478 ta T_CHANGE_NONHPRIV ! rand=1 (40)
5479 .word 0x2ccc8001 ! 1: BRGZ brgz,a,pt %r18,<label_0xc8001>
5480 retry
5481donretarg_40_14:
5482 .word 0x91a489c2 ! 22: FDIVd fdivd %f18, %f2, %f8
5483trapasi_40_15:
5484 nop
5485 mov 0x38, %r1 ! (VA for ASI 0x50)
5486 .word 0xdad84a00 ! 23: LDXA_R ldxa [%r1, %r0] 0x50, %r13
5487dvapa_40_16:
5488 nop
5489 ta T_CHANGE_HPRIV
5490 mov 0xb3f, %r20
5491 mov 0x9, %r19
5492 sllx %r20, 23, %r20
5493 or %r19, %r20, %r19
5494 stxa %r19, [%g0] ASI_LSU_CONTROL
5495 mov 0x38, %r18
5496 stxa %r31, [%r18]0x58
5497 ta T_CHANGE_NONHPRIV
5498 .word 0xdb1fc00c ! 24: LDDF_R ldd [%r31, %r12], %f13
5499 .word 0x8d802004 ! 25: WRFPRS_I wr %r0, 0x0004, %fprs
5500 bl skip_40_17
5501 bvc skip_40_17
5502.align 512
5503skip_40_17:
5504 .word 0xc32fc000 ! 26: STXFSR_R st-sfr %f1, [%r0, %r31]
5505splash_cmpr_40_18:
5506 nop
5507 setx 0xa51c0d3645969233, %l2, %l1
5508 ta T_CHANGE_HPRIV
5509 wrhpr %l1, %g0, %hsys_tick_cmpr
5510 sub %l1, 40, %g1
5511 .word 0x89900011 ! 27: WRPR_TICK_R wrpr %r0, %r17, %tick
5512intveclr_40_19:
5513 nop
5514 ta T_CHANGE_HPRIV
5515 setx 0x894fbc79a9845ce0, %r1, %r28
5516 stxa %r28, [%g0] 0x72
5517 ta T_CHANGE_NONHPRIV
5518 .word 0x25400001 ! 28: FBPLG fblg,a,pn %fcc0, <label_0x1>
5519intveclr_40_20:
5520 nop
5521 ta T_CHANGE_HPRIV
5522 setx 0x066d031d968fd9cc, %r1, %r28
5523 stxa %r28, [%g0] 0x72
5524 ta T_CHANGE_NONHPRIV
5525 .word 0x25400001 ! 29: FBPLG fblg,a,pn %fcc0, <label_0x1>
5526 nop
5527 ta T_CHANGE_HPRIV
5528 mov 0x40, %r10
5529 set sync_thr_counter6, %r23
5530#ifndef SPC
5531 ldxa [%g0]0x63, %o1
5532 and %o1, 0x38, %o1
5533 add %o1, %r23, %r23
5534#endif
5535 cas [%r23],%g0,%r10 !lock
5536 brnz %r10, sma_40_21
5537 rd %asi, %r12
5538 wr %g0, 0x40, %asi
5539 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
5540 set 0x00161fff, %g1
5541 stxa %g1, [%g0 + 0x80] %asi
5542 wr %r12, %g0, %asi
5543 st %g0, [%r23]
5544sma_40_21:
5545 ta T_CHANGE_NONHPRIV
5546 .word 0xdbe7e011 ! 30: CASA_R casa [%r31] %asi, %r17, %r13
5547 .word 0xa5a0016d ! 31: FABSq dis not found
5548
5549memptr_40_23:
5550 set 0x60740000, %r31
5551 .word 0x8584adb1 ! 32: WRCCR_I wr %r18, 0x0db1, %ccr
5552splash_tba_40_24:
5553 ta T_CHANGE_PRIV
5554 set 0x120000, %r12
5555 .word 0x8b90000c ! 33: WRPR_TBA_R wrpr %r0, %r12, %tba
5556 .word 0xe45fe1c0 ! 34: LDX_I ldx [%r31 + 0x01c0], %r18
5557 .word 0x9f802eeb ! 35: SIR sir 0x0eeb
5558mondo_40_25:
5559 nop
5560 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5561 stxa %r19, [%r0+0x3e0] %asi
5562 .word 0x9d948003 ! 36: WRPR_WSTATE_R wrpr %r18, %r3, %wstate
5563donret_40_26:
5564 nop
5565 ta T_CHANGE_HPRIV ! macro
5566 rd %pc, %r12
5567 add %r12, (donretarg_40_26-donret_40_26-8), %r12
5568 mov 0x38, %r18
5569 stxa %r12, [%r18]0x58
5570 add %r12, 0x4, %r11
5571 wrpr %g0, 0x2, %tl
5572 wrpr %g0, %r12, %tpc
5573 wrpr %g0, %r11, %tnpc
5574 set (0x00bf6220 | (0x80 << 24)), %r13
5575 rdpr %tstate, %r16
5576 mov 0x1f, %r19
5577 and %r19, %r16, %r17
5578 andn %r16, %r19, %r16
5579 or %r16, %r17, %r20
5580 wrpr %r20, %g0, %tstate
5581 wrhpr %g0, 0xf4c, %htstate
5582 ta T_CHANGE_NONHPRIV ! rand=1 (40)
5583 retry
5584donretarg_40_26:
5585 .word 0xe46fe1e3 ! 37: LDSTUB_I ldstub %r18, [%r31 + 0x01e3]
5586donret_40_27:
5587 nop
5588 ta T_CHANGE_HPRIV ! macro
5589 rd %pc, %r12
5590 add %r12, (donretarg_40_27-donret_40_27-4), %r12
5591 mov 0x38, %r18
5592 stxa %r12, [%r18]0x58
5593 add %r12, 0x4, %r11
5594 wrpr %g0, 0x1, %tl
5595 wrpr %g0, %r12, %tpc
5596 wrpr %g0, %r11, %tnpc
5597 set (0x002ef766 | (0x88 << 24)), %r13
5598 rdpr %tstate, %r16
5599 mov 0x1f, %r19
5600 and %r19, %r16, %r17
5601 andn %r16, %r19, %r16
5602 or %r16, %r17, %r20
5603 wrpr %r20, %g0, %tstate
5604 wrhpr %g0, 0x185, %htstate
5605 ta T_CHANGE_NONHPRIV ! rand=1 (40)
5606 .word 0x2e800001 ! 1: BVS bvs,a <label_0x1>
5607 done
5608donretarg_40_27:
5609 .word 0xe46fe0b7 ! 38: LDSTUB_I ldstub %r18, [%r31 + 0x00b7]
5610 .word 0x91928014 ! 39: WRPR_PIL_R wrpr %r10, %r20, %pil
5611pmu_40_29:
5612 nop
5613 ta T_CHANGE_PRIV
5614 setx 0xfffff9c5fffff7f9, %g1, %g7
5615 .word 0xa3800007 ! 40: WR_PERF_COUNTER_R wr %r0, %r7, %-
5616 brz,pt %r19, skip_40_30
5617 bcs skip_40_30
5618.align 1024
5619skip_40_30:
5620 .word 0xc32fc000 ! 41: STXFSR_R st-sfr %f1, [%r0, %r31]
5621splash_tba_40_31:
5622 ta T_CHANGE_PRIV
5623 setx 0x0000000400380000, %r11, %r12
5624 .word 0x8b90000c ! 42: WRPR_TBA_R wrpr %r0, %r12, %tba
5625intveclr_40_32:
5626 nop
5627 ta T_CHANGE_HPRIV
5628 setx 0x27e128132b33ef82, %r1, %r28
5629 stxa %r28, [%g0] 0x72
5630 ta T_CHANGE_NONHPRIV
5631 .word 0x25400001 ! 43: FBPLG fblg,a,pn %fcc0, <label_0x1>
5632 .word 0xe497e0c8 ! 44: LDUHA_I lduha [%r31, + 0x00c8] %asi, %r18
5633 otherw
5634 mov 0x33, %r30
5635 .word 0x91d0001e ! 45: Tcc_R ta icc_or_xcc, %r0 + %r30
5636 .word 0xa9840006 ! 46: WR_SET_SOFTINT_R wr %r16, %r6, %set_softint
5637 nop
5638 ta T_CHANGE_HPRIV
5639 mov 0x40+1, %r10
5640 set sync_thr_counter5, %r23
5641#ifndef SPC
5642 ldxa [%g0]0x63, %o1
5643 and %o1, 0x38, %o1
5644 add %o1, %r23, %r23
5645#endif
5646 cas [%r23],%g0,%r10 !lock
5647 brnz %r10, cwq_40_33
5648 rd %asi, %r12
5649 wr %g0, 0x40, %asi
5650 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
5651 and %l1, 0x3, %l1 ! Check if busy/enabled ..
5652 cmp %l1, 1
5653 bne cwq_40_33
5654 set CWQ_BASE, %l6
5655 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
5656 best_set_reg(0x20610050, %l1, %l2) !# Control Word
5657 sllx %l2, 32, %l2
5658 stx %l2, [%l6 + 0x0]
5659 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
5660 sub %l2, 0x40, %l2
5661 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
5662 wr %r12, %g0, %asi
5663 st %g0, [%r23]
5664cwq_40_33:
5665 ta T_CHANGE_NONHPRIV
5666 .word 0xa5414000 ! 47: RDPC rd %pc, %r18
5667tagged_40_34:
5668 tsubcctv %r7, 0x1cfc, %r9
5669 .word 0xe807e13c ! 48: LDUW_I lduw [%r31 + 0x013c], %r20
5670splash_lsu_40_35:
5671 nop
5672 ta T_CHANGE_HPRIV
5673 set 0xc51657fe, %r2
5674 mov 0x4, %r1
5675 sllx %r1, 32, %r1
5676 or %r1, %r2, %r2
5677 stxa %r2, [%r0] ASI_LSU_CONTROL
5678 ta T_CHANGE_NONHPRIV
5679 .word 0x3d400001 ! 49: FBPULE fbule,a,pn %fcc0, <label_0x1>
5680ibp_40_36:
5681 nop
5682 ta T_CHANGE_HPRIV
5683 mov 8, %r18
5684 rd %asi, %r12
5685 wr %r0, 0x41, %asi
5686 set sync_thr_counter4, %r23
5687#ifndef SPC
5688 ldxa [%g0]0x63, %r8
5689 and %r8, 0x38, %r8 ! Core ID
5690 add %r8, %r23, %r23
5691#else
5692 mov 0, %r8
5693#endif
5694 mov 0x40, %r16
5695ibp_startwait40_36:
5696 cas [%r23],%g0,%r16 !lock
5697 brz,a %r16, continue_ibp_40_36
5698 mov (~0x40&0xf0), %r16
5699 ld [%r23], %r16
5700ibp_wait40_36:
5701 brnz %r16, ibp_wait40_36
5702 ld [%r23], %r16
5703 ba ibp_startwait40_36
5704 mov 0x40, %r16
5705continue_ibp_40_36:
5706 sllx %r16, %r8, %r16 !Mask for my core only
5707 ldxa [0x58]%asi, %r17 !Running_status
5708wait_for_stat_40_36:
5709 ldxa [0x50]%asi, %r13 !Running_rw
5710 cmp %r13, %r17
5711 bne,a wait_for_stat_40_36
5712 ldxa [0x58]%asi, %r17 !Running_status
5713 stxa %r16, [0x68]%asi !Park (W1C)
5714 ldxa [0x50]%asi, %r14 !Running_rw
5715wait_for_ibp_40_36:
5716 ldxa [0x58]%asi, %r17 !Running_status
5717 cmp %r14, %r17
5718 bne,a wait_for_ibp_40_36
5719 ldxa [0x50]%asi, %r14 !Running_rw
5720ibp_doit40_36:
5721 best_set_reg(0x00000050bec943bd,%r19, %r20)
5722 stxa %r20, [%r18]0x42
5723 stxa %r16, [0x60] %asi !Unpark (W1S)
5724 st %g0, [%r23] !clear lock
5725 wr %r0, %r12, %asi !restore %asi
5726 .word 0xe83ff105 ! 50: STD_I std %r20, [%r31 + 0xfffff105]
5727 .word 0xa3a00172 ! 51: FABSq dis not found
5728
5729intveclr_40_38:
5730 nop
5731 ta T_CHANGE_HPRIV
5732 setx 0xef1be569201fd170, %r1, %r28
5733 stxa %r28, [%g0] 0x72
5734 .word 0x25400001 ! 52: FBPLG fblg,a,pn %fcc0, <label_0x1>
5735mondo_40_39:
5736 nop
5737 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5738 stxa %r18, [%r0+0x3e0] %asi
5739 .word 0x9d91c011 ! 53: WRPR_WSTATE_R wrpr %r7, %r17, %wstate
5740pmu_40_40:
5741 nop
5742 setx 0xfffff212fffff10e, %g1, %g7
5743 .word 0xa3800007 ! 54: WR_PERF_COUNTER_R wr %r0, %r7, %-
5744dvapa_40_41:
5745 nop
5746 ta T_CHANGE_HPRIV
5747 mov 0xe1b, %r20
5748 mov 0xf, %r19
5749 sllx %r20, 23, %r20
5750 or %r19, %r20, %r19
5751 stxa %r19, [%g0] ASI_LSU_CONTROL
5752 mov 0x38, %r18
5753 stxa %r31, [%r18]0x58
5754 ta T_CHANGE_NONHPRIV
5755 .word 0xe19fdc00 ! 55: LDDFA_R ldda [%r31, %r0], %f16
5756pmu_40_42:
5757 nop
5758 setx 0xfffff981fffff4c2, %g1, %g7
5759 .word 0xa3800007 ! 56: WR_PERF_COUNTER_R wr %r0, %r7, %-
5760tagged_40_43:
5761 taddcctv %r16, 0x1a21, %r2
5762 .word 0xe807e1bd ! 57: LDUW_I lduw [%r31 + 0x01bd], %r20
5763splash_lsu_40_44:
5764 nop
5765 ta T_CHANGE_HPRIV
5766 set 0x1adc6873, %r2
5767 mov 0x4, %r1
5768 sllx %r1, 32, %r1
5769 or %r1, %r2, %r2
5770 stxa %r2, [%r0] ASI_LSU_CONTROL
5771 ta T_CHANGE_NONHPRIV
5772 .word 0x3d400001 ! 58: FBPULE fbule,a,pn %fcc0, <label_0x1>
5773trapasi_40_45:
5774 nop
5775 mov 0x3e0, %r1 ! (VA for ASI 0x25)
5776 .word 0xe8d844a0 ! 59: LDXA_R ldxa [%r1, %r0] 0x25, %r20
5777 .word 0xa3a409a6 ! 60: FDIVs fdivs %f16, %f6, %f17
5778jmptr_40_46:
5779 nop
5780 best_set_reg(0xe1200000, %r20, %r27)
5781 .word 0xb7c6c000 ! 61: JMPL_R jmpl %r27 + %r0, %r27
5782 fbo,a,pn %fcc0, skip_40_47
5783 .word 0x87acca54 ! 1: FCMPd fcmpd %fcc<n>, %f50, %f20
5784.align 1024
5785skip_40_47:
5786 .word 0xc32fc000 ! 62: STXFSR_R st-sfr %f1, [%r0, %r31]
5787splash_cmpr_40_48:
5788 nop
5789 setx 0x9786c681c3d06cf3, %l2, %l1
5790 ta T_CHANGE_HPRIV
5791 wrhpr %l1, %g0, %hsys_tick_cmpr
5792 ta T_CHANGE_NONHPRIV
5793 sub %l1, 40, %g1
5794 .word 0xb1800011 ! 63: WR_STICK_REG_R wr %r0, %r17, %-
5795 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
5796reduce_priv_lvl_40_49:
5797 ta T_CHANGE_NONPRIV ! macro
5798mondo_40_50:
5799 nop
5800 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5801 ta T_CHANGE_PRIV
5802 stxa %r20, [%r0+0x3d8] %asi
5803 .word 0x9d92c012 ! 65: WRPR_WSTATE_R wrpr %r11, %r18, %wstate
5804donret_40_51:
5805 nop
5806 ta T_CHANGE_HPRIV ! macro
5807 rd %pc, %r12
5808 add %r12, (donretarg_40_51-donret_40_51-4), %r12
5809 mov 0x38, %r18
5810 stxa %r12, [%r18]0x58
5811 add %r12, 0x4, %r11
5812 wrpr %g0, 0x2, %tl
5813 wrpr %g0, %r12, %tpc
5814 wrpr %g0, %r11, %tnpc
5815 set (0x007351ab | (16 << 24)), %r13
5816 rdpr %tstate, %r16
5817 mov 0x1f, %r19
5818 and %r19, %r16, %r17
5819 andn %r16, %r19, %r16
5820 or %r16, %r17, %r20
5821 wrpr %r20, %g0, %tstate
5822 wrhpr %g0, 0xf5e, %htstate
5823 ta T_CHANGE_NONHPRIV ! rand=1 (40)
5824 done
5825donretarg_40_51:
5826 .word 0x9ba409d4 ! 66: FDIVd fdivd %f16, %f20, %f44
5827brcommon1_40_52:
5828 nop
5829 setx common_target, %r12, %r27
5830 lduw [%r27], %r12 ! Load common dest into dcache ..
5831 ba,a .+12
5832 .word 0xc32ff105 ! 1: STXFSR_I st-sfr %f1, [0x1105, %r31]
5833 ba,a .+8
5834 jmpl %r27+0, %r27
5835 .word 0x87ac0a52 ! 67: FCMPd fcmpd %fcc<n>, %f16, %f18
5836jmptr_40_53:
5837 nop
5838 best_set_reg(0xe1200000, %r20, %r27)
5839 .word 0xb7c6c000 ! 68: JMPL_R jmpl %r27 + %r0, %r27
5840splash_tba_40_54:
5841 ta T_CHANGE_PRIV
5842 setx 0x0000000400380000, %r11, %r12
5843 .word 0x8b90000c ! 69: WRPR_TBA_R wrpr %r0, %r12, %tba
5844trapasi_40_55:
5845 nop
5846 mov 0x0, %r1 ! (VA for ASI 0x72)
5847 .word 0xd4d84e40 ! 70: LDXA_R ldxa [%r1, %r0] 0x72, %r10
5848pmu_40_56:
5849 nop
5850 setx 0xfffff670fffff63f, %g1, %g7
5851 .word 0xa3800007 ! 71: WR_PERF_COUNTER_R wr %r0, %r7, %-
5852donret_40_57:
5853 nop
5854 ta T_CHANGE_HPRIV ! macro
5855 rd %pc, %r12
5856 add %r12, (donretarg_40_57-donret_40_57-4), %r12
5857 mov 0x38, %r18
5858 stxa %r12, [%r18]0x58
5859 add %r12, 0x4, %r11
5860 wrpr %g0, 0x1, %tl
5861 wrpr %g0, %r12, %tpc
5862 wrpr %g0, %r11, %tnpc
5863 set (0x00e4ad7e | (16 << 24)), %r13
5864 rdpr %tstate, %r16
5865 mov 0x1f, %r19
5866 and %r19, %r16, %r17
5867 andn %r16, %r19, %r16
5868 or %r16, %r17, %r20
5869 wrpr %r20, %g0, %tstate
5870 wrhpr %g0, 0x7cc, %htstate
5871 ta T_CHANGE_NONHPRIV ! rand=1 (40)
5872 done
5873donretarg_40_57:
5874 .word 0xd4ffe079 ! 72: SWAPA_I swapa %r10, [%r31 + 0x0079] %asi
5875brcommon1_40_58:
5876 nop
5877 setx common_target, %r12, %r27
5878 lduw [%r27], %r12 ! Load common dest into dcache ..
5879 ba,a .+12
5880 .word 0xd5e7c02d ! 1: CASA_I casa [%r31] 0x 1, %r13, %r10
5881 ba,a .+8
5882 jmpl %r27+0, %r27
5883 .word 0x95a409d0 ! 73: FDIVd fdivd %f16, %f16, %f10
5884 .word 0xe1bfe000 ! 74: STDFA_I stda %f16, [0x0000, %r31]
5885dvapa_40_59:
5886 nop
5887 ta T_CHANGE_HPRIV
5888 mov 0xa81, %r20
5889 mov 0x11, %r19
5890 sllx %r20, 23, %r20
5891 or %r19, %r20, %r19
5892 stxa %r19, [%g0] ASI_LSU_CONTROL
5893 mov 0x38, %r18
5894 stxa %r31, [%r18]0x58
5895 ta T_CHANGE_NONHPRIV
5896 .word 0xe11fc011 ! 75: LDDF_R ldd [%r31, %r17], %f16
5897donret_40_60:
5898 nop
5899 ta T_CHANGE_HPRIV ! macro
5900 rd %pc, %r12
5901 add %r12, (donretarg_40_60-donret_40_60-8), %r12
5902 mov 0x38, %r18
5903 stxa %r12, [%r18]0x58
5904 add %r12, 0x4, %r11
5905 wrpr %g0, 0x1, %tl
5906 wrpr %g0, %r12, %tpc
5907 wrpr %g0, %r11, %tnpc
5908 set (0x00fd0b57 | (0x89 << 24)), %r13
5909 rdpr %tstate, %r16
5910 mov 0x1f, %r19
5911 and %r19, %r16, %r17
5912 andn %r16, %r19, %r16
5913 or %r16, %r17, %r20
5914 wrpr %r20, %g0, %tstate
5915 wrhpr %g0, 0x99e, %htstate
5916 ta T_CHANGE_NONPRIV ! rand=0 (40)
5917 retry
5918donretarg_40_60:
5919 .word 0xe06fe18f ! 76: LDSTUB_I ldstub %r16, [%r31 + 0x018f]
5920 .word 0x8d902866 ! 77: WRPR_PSTATE_I wrpr %r0, 0x0866, %pstate
5921 .word 0xe19fe060 ! 78: LDDFA_I ldda [%r31, 0x0060], %f16
5922 .word 0xe137c000 ! 79: STQF_R - %f16, [%r0, %r31]
5923jmptr_40_62:
5924 nop
5925 best_set_reg(0xe1200000, %r20, %r27)
5926 .word 0xb7c6c000 ! 80: JMPL_R jmpl %r27 + %r0, %r27
5927vahole_40_63:
5928 nop
5929 ta T_CHANGE_NONHPRIV
5930 setx vahole_target3, %r18, %r27
5931 jmpl %r27+0, %r27
5932 .word 0xe097c02a ! 81: LDUHA_R lduha [%r31, %r10] 0x01, %r16
5933 bne skip_40_64
5934 .word 0xc36cfbe5 ! 1: PREFETCH_I prefetch [%r19 + 0xfffffbe5], #one_read
5935.align 2048
5936skip_40_64:
5937 .word 0xa5b044ca ! 82: FCMPNE32 fcmpne32 %d32, %d10, %r18
5938 .word 0x87802089 ! 83: WRASI_I wr %r0, 0x0089, %asi
5939 .word 0xe6dfe028 ! 84: LDXA_I ldxa [%r31, + 0x0028] %asi, %r19
5940splash_lsu_40_65:
5941 nop
5942 ta T_CHANGE_HPRIV
5943 set 0xa078c412, %r2
5944 mov 0x5, %r1
5945 sllx %r1, 32, %r1
5946 or %r1, %r2, %r2
5947 stxa %r2, [%r0] ASI_LSU_CONTROL
5948 .word 0x3d400001 ! 85: FBPULE fbule,a,pn %fcc0, <label_0x1>
5949 .word 0x87802020 ! 86: WRASI_I wr %r0, 0x0020, %asi
5950pmu_40_66:
5951 nop
5952 ta T_CHANGE_PRIV
5953 setx 0xfffff38afffff2c7, %g1, %g7
5954 .word 0xa3800007 ! 87: WR_PERF_COUNTER_R wr %r0, %r7, %-
5955intveclr_40_67:
5956 nop
5957 ta T_CHANGE_HPRIV
5958 setx 0x9c4dccaf06868a61, %r1, %r28
5959 stxa %r28, [%g0] 0x72
5960 .word 0x25400001 ! 88: FBPLG fblg,a,pn %fcc0, <label_0x1>
5961 nop
5962 ta T_CHANGE_HPRIV
5963 mov 0x40+1, %r10
5964 set sync_thr_counter5, %r23
5965#ifndef SPC
5966 ldxa [%g0]0x63, %o1
5967 and %o1, 0x38, %o1
5968 add %o1, %r23, %r23
5969#endif
5970 cas [%r23],%g0,%r10 !lock
5971 brnz %r10, cwq_40_68
5972 rd %asi, %r12
5973 wr %g0, 0x40, %asi
5974 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
5975 and %l1, 0x3, %l1 ! Check if busy/enabled ..
5976 cmp %l1, 1
5977 bne cwq_40_68
5978 set CWQ_BASE, %l6
5979 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
5980 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
5981 sllx %l2, 32, %l2
5982 stx %l2, [%l6 + 0x0]
5983 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
5984 sub %l2, 0x40, %l2
5985 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
5986 wr %r12, %g0, %asi
5987 st %g0, [%r23]
5988cwq_40_68:
5989 ta T_CHANGE_NONHPRIV
5990 .word 0x97414000 ! 89: RDPC rd %pc, %r11
5991brcommon3_40_69:
5992 nop
5993 setx common_target, %r12, %r27
5994 lduw [%r27], %r12 ! Load common dest into dcache ..
5995 ba,a .+12
5996 .word 0xe46ff0aa ! 1: LDSTUB_I ldstub %r18, [%r31 + 0xfffff0aa]
5997 ba,a .+8
5998 jmpl %r27+0, %r27
5999 .word 0xe4dfc030 ! 90: LDXA_R ldxa [%r31, %r16] 0x01, %r18
6000pmu_40_70:
6001 nop
6002 setx 0xfffffcc0fffffb64, %g1, %g7
6003 .word 0xa3800007 ! 91: WR_PERF_COUNTER_R wr %r0, %r7, %-
6004 .word 0x91950011 ! 92: WRPR_PIL_R wrpr %r20, %r17, %pil
6005 .word 0xe43fc000 ! 93: STD_R std %r18, [%r31 + %r0]
6006mondo_40_72:
6007 nop
6008 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
6009 stxa %r2, [%r0+0x3d0] %asi
6010 .word 0x9d940013 ! 94: WRPR_WSTATE_R wrpr %r16, %r19, %wstate
6011 set 0x3fe2, %l3
6012 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
6013 .word 0x9bb407d3 ! 95: PDIST pdistn %d16, %d50, %d44
6014vahole_40_73:
6015 nop
6016 ta T_CHANGE_NONHPRIV
6017 setx vahole_target2, %r18, %r27
6018 jmpl %r27+0, %r27
6019 .word 0x87a84a42 ! 96: FCMPd fcmpd %fcc<n>, %f32, %f2
6020splash_tba_40_74:
6021 ta T_CHANGE_PRIV
6022 setx 0x0000000400380000, %r11, %r12
6023 .word 0x8b90000c ! 97: WRPR_TBA_R wrpr %r0, %r12, %tba
6024cwp_40_75:
6025 set user_data_start, %o7
6026 .word 0x93902006 ! 98: WRPR_CWP_I wrpr %r0, 0x0006, %cwp
6027 .word 0x99a50d24 ! 99: FsMULd fsmuld %f20, %f4, %f12
6028dvapa_40_76:
6029 nop
6030 ta T_CHANGE_HPRIV
6031 mov 0x891, %r20
6032 mov 0x16, %r19
6033 sllx %r20, 23, %r20
6034 or %r19, %r20, %r19
6035 stxa %r19, [%g0] ASI_LSU_CONTROL
6036 mov 0x38, %r18
6037 stxa %r31, [%r18]0x58
6038 ta T_CHANGE_NONHPRIV
6039 .word 0xd9e7e00a ! 100: CASA_R casa [%r31] %asi, %r10, %r12
6040 .word 0xd847e1a0 ! 101: LDSW_I ldsw [%r31 + 0x01a0], %r12
6041mondo_40_77:
6042 nop
6043 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
6044 stxa %r13, [%r0+0x3e8] %asi
6045 .word 0x9d92c014 ! 102: WRPR_WSTATE_R wrpr %r11, %r20, %wstate
6046 .word 0xa3540000 ! 103: RDPR_GL rdpr %-, %r17
6047 .word 0xa7a00161 ! 104: FABSq dis not found
6048
6049 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
6050reduce_priv_lvl_40_79:
6051 ta T_CHANGE_NONPRIV ! macro
6052mondo_40_80:
6053 nop
6054 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
6055 ta T_CHANGE_PRIV
6056 stxa %r18, [%r0+0x3d0] %asi
6057 .word 0x9d918011 ! 106: WRPR_WSTATE_R wrpr %r6, %r17, %wstate
6058 setx 0x6880d493858c4b61, %r1, %r28
6059 stxa %r28, [%g0] 0x73
6060intvec_40_81:
6061 .word 0x39400001 ! 107: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
6062 .word 0xc1bfe120 ! 108: STDFA_I stda %f0, [0x0120, %r31]
6063splash_cmpr_40_82:
6064 nop
6065 setx 0x487417fa613e85e1, %l2, %l1
6066 ta T_CHANGE_HPRIV
6067 wrhpr %l1, %g0, %hsys_tick_cmpr
6068 ta T_CHANGE_NONHPRIV
6069 sub %l1, 40, %g1
6070 .word 0xb1800011 ! 109: WR_STICK_REG_R wr %r0, %r17, %-
6071pmu_40_83:
6072 nop
6073 setx 0xfffff2f0fffffa2c, %g1, %g7
6074 .word 0xa3800007 ! 110: WR_PERF_COUNTER_R wr %r0, %r7, %-
6075 .word 0xa7842048 ! 111: WR_GRAPHICS_STATUS_REG_I wr %r16, 0x0048, %-
6076 nop
6077 ta T_CHANGE_HPRIV
6078 mov 0x40, %r10
6079 set sync_thr_counter6, %r23
6080#ifndef SPC
6081 ldxa [%g0]0x63, %o1
6082 and %o1, 0x38, %o1
6083 add %o1, %r23, %r23
6084#endif
6085 cas [%r23],%g0,%r10 !lock
6086 brnz %r10, sma_40_84
6087 rd %asi, %r12
6088 wr %g0, 0x40, %asi
6089 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
6090 set 0x00161fff, %g1
6091 stxa %g1, [%g0 + 0x80] %asi
6092 wr %r12, %g0, %asi
6093 st %g0, [%r23]
6094sma_40_84:
6095 ta T_CHANGE_NONHPRIV
6096 .word 0xe9e7e00a ! 112: CASA_R casa [%r31] %asi, %r10, %r20
6097fpinit_40_85:
6098 setx fp_data_quads, %r19, %r20
6099 ldd [%r20], %f0
6100 ldd [%r20+8], %f4
6101 ld [%r20+16], %fsr
6102 ld [%r20+24], %r19
6103 wr %r19, %g0, %gsr
6104 .word 0x91b00484 ! 113: FCMPLE32 fcmple32 %d0, %d4, %r8
6105 nop
6106 ta T_CHANGE_HPRIV
6107 mov 0x40+1, %r10
6108 set sync_thr_counter5, %r23
6109#ifndef SPC
6110 ldxa [%g0]0x63, %o1
6111 and %o1, 0x38, %o1
6112 add %o1, %r23, %r23
6113#endif
6114 cas [%r23],%g0,%r10 !lock
6115 brnz %r10, cwq_40_86
6116 rd %asi, %r12
6117 wr %g0, 0x40, %asi
6118 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
6119 and %l1, 0x3, %l1 ! Check if busy/enabled ..
6120 cmp %l1, 1
6121 bne cwq_40_86
6122 set CWQ_BASE, %l6
6123 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
6124 best_set_reg(0x206100f0, %l1, %l2) !# Control Word
6125 sllx %l2, 32, %l2
6126 stx %l2, [%l6 + 0x0]
6127 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
6128 sub %l2, 0x40, %l2
6129 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
6130 wr %r12, %g0, %asi
6131 st %g0, [%r23]
6132cwq_40_86:
6133 ta T_CHANGE_NONHPRIV
6134 .word 0xa7414000 ! 114: RDPC rd %pc, %r19
6135 nop
6136 ta T_CHANGE_HPRIV
6137 mov 0x40, %r10
6138 set sync_thr_counter6, %r23
6139#ifndef SPC
6140 ldxa [%g0]0x63, %o1
6141 and %o1, 0x38, %o1
6142 add %o1, %r23, %r23
6143#endif
6144 cas [%r23],%g0,%r10 !lock
6145 brnz %r10, sma_40_87
6146 rd %asi, %r12
6147 wr %g0, 0x40, %asi
6148 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
6149 set 0x00161fff, %g1
6150 stxa %g1, [%g0 + 0x80] %asi
6151 wr %r12, %g0, %asi
6152 st %g0, [%r23]
6153sma_40_87:
6154 ta T_CHANGE_NONHPRIV
6155 .word 0xe5e7e010 ! 115: CASA_R casa [%r31] %asi, %r16, %r18
6156 .word 0xa9808011 ! 116: WR_SET_SOFTINT_R wr %r2, %r17, %set_softint
6157vahole_40_88:
6158 nop
6159 ta T_CHANGE_NONHPRIV
6160 setx vahole_target2, %r18, %r27
6161 jmpl %r27+0, %r27
6162 .word 0xa3a049c4 ! 117: FDIVd fdivd %f32, %f4, %f48
6163vahole_40_89:
6164 nop
6165 ta T_CHANGE_NONHPRIV
6166 setx vahole_target1, %r18, %r27
6167 jmpl %r27+0, %r27
6168 .word 0xc1bfe0a0 ! 118: STDFA_I stda %f0, [0x00a0, %r31]
6169 .word 0x91904012 ! 119: WRPR_PIL_R wrpr %r1, %r18, %pil
6170 .word 0x87802083 ! 120: WRASI_I wr %r0, 0x0083, %asi
6171pmu_40_91:
6172 nop
6173 setx 0xffffff3ffffffcb9, %g1, %g7
6174 .word 0xa3800007 ! 121: WR_PERF_COUNTER_R wr %r0, %r7, %-
6175 .word 0xd6800b80 ! 122: LDUWA_R lduwa [%r0, %r0] 0x5c, %r11
6176intveclr_40_92:
6177 nop
6178 ta T_CHANGE_HPRIV
6179 setx 0x8c8f9c8c5868da7f, %r1, %r28
6180 stxa %r28, [%g0] 0x72
6181 .word 0x25400001 ! 123: FBPLG fblg,a,pn %fcc0, <label_0x1>
6182vahole_40_93:
6183 nop
6184 ta T_CHANGE_NONHPRIV
6185 setx vahole_target0, %r18, %r27
6186 jmpl %r27+0, %r27
6187 .word 0xc1bfe1e0 ! 124: STDFA_I stda %f0, [0x01e0, %r31]
6188 .word 0xd69fe118 ! 125: LDDA_I ldda [%r31, + 0x0118] %asi, %r11
6189 .word 0xe1bfe060 ! 126: STDFA_I stda %f16, [0x0060, %r31]
6190fpinit_40_95:
6191 setx fp_data_quads, %r19, %r20
6192 ldd [%r20], %f0
6193 ldd [%r20+8], %f4
6194 ld [%r20+16], %fsr
6195 ld [%r20+24], %r19
6196 wr %r19, %g0, %gsr
6197 .word 0x89a009c4 ! 127: FDIVd fdivd %f0, %f4, %f4
6198 .word 0xd68008a0 ! 128: LDUWA_R lduwa [%r0, %r0] 0x45, %r11
6199 nop
6200 ta T_CHANGE_HPRIV
6201 mov 0x40+1, %r10
6202 set sync_thr_counter5, %r23
6203#ifndef SPC
6204 ldxa [%g0]0x63, %o1
6205 and %o1, 0x38, %o1
6206 add %o1, %r23, %r23
6207#endif
6208 cas [%r23],%g0,%r10 !lock
6209 brnz %r10, cwq_40_96
6210 rd %asi, %r12
6211 wr %g0, 0x40, %asi
6212 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
6213 and %l1, 0x3, %l1 ! Check if busy/enabled ..
6214 cmp %l1, 1
6215 bne cwq_40_96
6216 set CWQ_BASE, %l6
6217 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
6218 best_set_reg(0x20610070, %l1, %l2) !# Control Word
6219 sllx %l2, 32, %l2
6220 stx %l2, [%l6 + 0x0]
6221 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
6222 sub %l2, 0x40, %l2
6223 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
6224 wr %r12, %g0, %asi
6225 st %g0, [%r23]
6226cwq_40_96:
6227 ta T_CHANGE_NONHPRIV
6228 .word 0xa3414000 ! 129: RDPC rd %pc, %r17
6229 .word 0x8d802004 ! 130: WRFPRS_I wr %r0, 0x0004, %fprs
6230pmu_40_97:
6231 nop
6232 ta T_CHANGE_PRIV
6233 setx 0xfffffeebfffff002, %g1, %g7
6234 .word 0xa3800007 ! 131: WR_PERF_COUNTER_R wr %r0, %r7, %-
6235 invalw
6236 mov 0x30, %r30
6237 .word 0x91d0001e ! 132: Tcc_R ta icc_or_xcc, %r0 + %r30
6238splash_htba_40_98:
6239 nop
6240 ta T_CHANGE_HPRIV
6241 setx 0x0000000200280000, %r11, %r12
6242 .word 0x8b98000c ! 133: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
6243mondo_40_99:
6244 nop
6245 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
6246 ta T_CHANGE_PRIV
6247 stxa %r1, [%r0+0x3e0] %asi
6248 .word 0x9d91400b ! 134: WRPR_WSTATE_R wrpr %r5, %r11, %wstate
6249jmptr_40_100:
6250 nop
6251 best_set_reg(0xe1200000, %r20, %r27)
6252 .word 0xb7c6c000 ! 135: JMPL_R jmpl %r27 + %r0, %r27
6253 brnz,pt %r3, skip_40_101
6254 .word 0x93a489d3 ! 1: FDIVd fdivd %f18, %f50, %f40
6255.align 1024
6256skip_40_101:
6257 .word 0xc32fc000 ! 136: STXFSR_R st-sfr %f1, [%r0, %r31]
6258 .word 0x97a00173 ! 137: FABSq dis not found
6259
6260 .word 0x91d02033 ! 138: Tcc_I ta icc_or_xcc, %r0 + 51
6261 .word 0xd8cfe1f8 ! 139: LDSBA_I ldsba [%r31, + 0x01f8] %asi, %r12
6262 nop
6263 ta T_CHANGE_HPRIV
6264 mov 0x40+1, %r10
6265 set sync_thr_counter5, %r23
6266#ifndef SPC
6267 ldxa [%g0]0x63, %o1
6268 and %o1, 0x38, %o1
6269 add %o1, %r23, %r23
6270#endif
6271 cas [%r23],%g0,%r10 !lock
6272 brnz %r10, cwq_40_103
6273 rd %asi, %r12
6274 wr %g0, 0x40, %asi
6275 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
6276 and %l1, 0x3, %l1 ! Check if busy/enabled ..
6277 cmp %l1, 1
6278 bne cwq_40_103
6279 set CWQ_BASE, %l6
6280 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
6281 best_set_reg(0x20610000, %l1, %l2) !# Control Word
6282 sllx %l2, 32, %l2
6283 stx %l2, [%l6 + 0x0]
6284 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
6285 sub %l2, 0x40, %l2
6286 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
6287 wr %r12, %g0, %asi
6288 st %g0, [%r23]
6289cwq_40_103:
6290 ta T_CHANGE_NONHPRIV
6291 .word 0x97414000 ! 140: RDPC rd %pc, %r11
6292 .word 0x8d9027c8 ! 141: WRPR_PSTATE_I wrpr %r0, 0x07c8, %pstate
6293donret_40_105:
6294 nop
6295 ta T_CHANGE_HPRIV ! macro
6296 rd %pc, %r12
6297 add %r12, (donretarg_40_105-donret_40_105-4), %r12
6298 mov 0x38, %r18
6299 stxa %r12, [%r18]0x58
6300 add %r12, 0x4, %r11
6301 wrpr %g0, 0x1, %tl
6302 wrpr %g0, %r12, %tpc
6303 wrpr %g0, %r11, %tnpc
6304 set (0x007e4cec | (0x83 << 24)), %r13
6305 rdpr %tstate, %r16
6306 mov 0x1f, %r19
6307 and %r19, %r16, %r17
6308 andn %r16, %r19, %r16
6309 or %r16, %r17, %r20
6310 wrpr %r20, %g0, %tstate
6311 wrhpr %g0, 0x15e, %htstate
6312 ta T_CHANGE_NONPRIV ! rand=0 (40)
6313 done
6314donretarg_40_105:
6315 .word 0xe66fe1e7 ! 142: LDSTUB_I ldstub %r19, [%r31 + 0x01e7]
6316fpinit_40_106:
6317 setx fp_data_quads, %r19, %r20
6318 ldd [%r20], %f0
6319 ldd [%r20+8], %f4
6320 ld [%r20+16], %fsr
6321 ld [%r20+24], %r19
6322 wr %r19, %g0, %gsr
6323 .word 0x89a009a4 ! 143: FDIVs fdivs %f0, %f4, %f4
6324donret_40_107:
6325 nop
6326 ta T_CHANGE_HPRIV ! macro
6327 rd %pc, %r12
6328 add %r12, (donretarg_40_107-donret_40_107-4), %r12
6329 mov 0x38, %r18
6330 stxa %r12, [%r18]0x58
6331 add %r12, 0x4, %r11
6332 wrpr %g0, 0x1, %tl
6333 wrpr %g0, %r12, %tpc
6334 wrpr %g0, %r11, %tnpc
6335 set (0x004fa13c | (0x55 << 24)), %r13
6336 rdpr %tstate, %r16
6337 mov 0x1f, %r19
6338 and %r19, %r16, %r17
6339 andn %r16, %r19, %r16
6340 or %r16, %r17, %r20
6341 wrpr %r20, %g0, %tstate
6342 wrhpr %g0, 0xc8e, %htstate
6343 ta T_CHANGE_NONPRIV ! rand=0 (40)
6344 done
6345donretarg_40_107:
6346 .word 0xa7a1c9c8 ! 144: FDIVd fdivd %f38, %f8, %f50
6347 nop
6348 ta T_CHANGE_HPRIV
6349 mov 0x40, %r10
6350 set sync_thr_counter6, %r23
6351#ifndef SPC
6352 ldxa [%g0]0x63, %o1
6353 and %o1, 0x38, %o1
6354 add %o1, %r23, %r23
6355#endif
6356 cas [%r23],%g0,%r10 !lock
6357 brnz %r10, sma_40_108
6358 rd %asi, %r12
6359 wr %g0, 0x40, %asi
6360 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
6361 set 0x00161fff, %g1
6362 stxa %g1, [%g0 + 0x80] %asi
6363 wr %r12, %g0, %asi
6364 st %g0, [%r23]
6365sma_40_108:
6366 ta T_CHANGE_NONHPRIV
6367 .word 0xd5e7e00c ! 145: CASA_R casa [%r31] %asi, %r12, %r10
6368 otherw
6369 mov 0x34, %r30
6370 .word 0x83d0001e ! 146: Tcc_R te icc_or_xcc, %r0 + %r30
6371splash_htba_40_109:
6372 nop
6373 ta T_CHANGE_HPRIV
6374 setx 0x0000000200280000, %r11, %r12
6375 .word 0x8b98000c ! 147: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
6376ibp_40_110:
6377 nop
6378 ta T_CHANGE_HPRIV
6379 mov 8, %r18
6380 rd %asi, %r12
6381 wr %r0, 0x41, %asi
6382 set sync_thr_counter4, %r23
6383#ifndef SPC
6384 ldxa [%g0]0x63, %r8
6385 and %r8, 0x38, %r8 ! Core ID
6386 add %r8, %r23, %r23
6387#else
6388 mov 0, %r8
6389#endif
6390 mov 0x40, %r16
6391ibp_startwait40_110:
6392 cas [%r23],%g0,%r16 !lock
6393 brz,a %r16, continue_ibp_40_110
6394 mov (~0x40&0xf0), %r16
6395 ld [%r23], %r16
6396ibp_wait40_110:
6397 brnz %r16, ibp_wait40_110
6398 ld [%r23], %r16
6399 ba ibp_startwait40_110
6400 mov 0x40, %r16
6401continue_ibp_40_110:
6402 sllx %r16, %r8, %r16 !Mask for my core only
6403 ldxa [0x58]%asi, %r17 !Running_status
6404wait_for_stat_40_110:
6405 ldxa [0x50]%asi, %r13 !Running_rw
6406 cmp %r13, %r17
6407 bne,a wait_for_stat_40_110
6408 ldxa [0x58]%asi, %r17 !Running_status
6409 stxa %r16, [0x68]%asi !Park (W1C)
6410 ldxa [0x50]%asi, %r14 !Running_rw
6411wait_for_ibp_40_110:
6412 ldxa [0x58]%asi, %r17 !Running_status
6413 cmp %r14, %r17
6414 bne,a wait_for_ibp_40_110
6415 ldxa [0x50]%asi, %r14 !Running_rw
6416ibp_doit40_110:
6417 best_set_reg(0x0000005010c3bd44,%r19, %r20)
6418 stxa %r20, [%r18]0x42
6419 stxa %r16, [0x60] %asi !Unpark (W1S)
6420 st %g0, [%r23] !clear lock
6421 wr %r0, %r12, %asi !restore %asi
6422 .word 0xc19fdf20 ! 148: LDDFA_R ldda [%r31, %r0], %f0
6423mondo_40_111:
6424 nop
6425 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
6426 stxa %r17, [%r0+0x3e8] %asi
6427 .word 0x9d95000c ! 149: WRPR_WSTATE_R wrpr %r20, %r12, %wstate
6428 .word 0x8d802004 ! 150: WRFPRS_I wr %r0, 0x0004, %fprs
6429 .word 0x8d903db4 ! 151: WRPR_PSTATE_I wrpr %r0, 0x1db4, %pstate
6430 brgez,pt %r8, skip_40_113
6431 brlez,pt %r13, skip_40_113
6432.align 32
6433skip_40_113:
6434 .word 0xc30fc000 ! 152: LDXFSR_R ld-fsr [%r31, %r0], %f1
6435splash_hpstate_40_114:
6436 .word 0x26800001 ! 1: BL bl,a <label_0x1>
6437 .word 0x81982254 ! 153: WRHPR_HPSTATE_I wrhpr %r0, 0x0254, %hpstate
6438cwp_40_115:
6439 set user_data_start, %o7
6440 .word 0x93902000 ! 154: WRPR_CWP_I wrpr %r0, 0x0000, %cwp
6441 .word 0xa6da8008 ! 155: SMULcc_R smulcc %r10, %r8, %r19
6442 .word 0x91950014 ! 156: WRPR_PIL_R wrpr %r20, %r20, %pil
6443vahole_40_117:
6444 nop
6445 ta T_CHANGE_NONHPRIV
6446 setx vahole_target0, %r18, %r27
6447 jmpl %r27+0, %r27
6448 .word 0xc1bfdb60 ! 157: STDFA_R stda %f0, [%r0, %r31]
6449vahole_40_118:
6450 nop
6451 ta T_CHANGE_NONHPRIV
6452 setx vahole_target3, %r18, %r27
6453 jmpl %r27+0, %r27
6454 .word 0xc1bfe140 ! 158: STDFA_I stda %f0, [0x0140, %r31]
6455 .word 0xa1b1c491 ! 159: FCMPLE32 fcmple32 %d38, %d48, %r16
6456ibp_40_120:
6457 nop
6458 ta T_CHANGE_HPRIV
6459 mov 8, %r18
6460 rd %asi, %r12
6461 wr %r0, 0x41, %asi
6462 set sync_thr_counter4, %r23
6463#ifndef SPC
6464 ldxa [%g0]0x63, %r8
6465 and %r8, 0x38, %r8 ! Core ID
6466 add %r8, %r23, %r23
6467#else
6468 mov 0, %r8
6469#endif
6470 mov 0x40, %r16
6471ibp_startwait40_120:
6472 cas [%r23],%g0,%r16 !lock
6473 brz,a %r16, continue_ibp_40_120
6474 mov (~0x40&0xf0), %r16
6475 ld [%r23], %r16
6476ibp_wait40_120:
6477 brnz %r16, ibp_wait40_120
6478 ld [%r23], %r16
6479 ba ibp_startwait40_120
6480 mov 0x40, %r16
6481continue_ibp_40_120:
6482 sllx %r16, %r8, %r16 !Mask for my core only
6483 ldxa [0x58]%asi, %r17 !Running_status
6484wait_for_stat_40_120:
6485 ldxa [0x50]%asi, %r13 !Running_rw
6486 cmp %r13, %r17
6487 bne,a wait_for_stat_40_120
6488 ldxa [0x58]%asi, %r17 !Running_status
6489 stxa %r16, [0x68]%asi !Park (W1C)
6490 ldxa [0x50]%asi, %r14 !Running_rw
6491wait_for_ibp_40_120:
6492 ldxa [0x58]%asi, %r17 !Running_status
6493 cmp %r14, %r17
6494 bne,a wait_for_ibp_40_120
6495 ldxa [0x50]%asi, %r14 !Running_rw
6496ibp_doit40_120:
6497 best_set_reg(0x00000050bffd440f,%r19, %r20)
6498 stxa %r20, [%r18]0x42
6499 stxa %r16, [0x60] %asi !Unpark (W1S)
6500 st %g0, [%r23] !clear lock
6501 wr %r0, %r12, %asi !restore %asi
6502 ta T_CHANGE_NONHPRIV
6503 .word 0xe0dfc030 ! 160: LDXA_R ldxa [%r31, %r16] 0x01, %r16
6504 nop
6505 ta T_CHANGE_HPRIV
6506 mov 0x40+1, %r10
6507 set sync_thr_counter5, %r23
6508#ifndef SPC
6509 ldxa [%g0]0x63, %o1
6510 and %o1, 0x38, %o1
6511 add %o1, %r23, %r23
6512#endif
6513 cas [%r23],%g0,%r10 !lock
6514 brnz %r10, cwq_40_121
6515 rd %asi, %r12
6516 wr %g0, 0x40, %asi
6517 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
6518 and %l1, 0x3, %l1 ! Check if busy/enabled ..
6519 cmp %l1, 1
6520 bne cwq_40_121
6521 set CWQ_BASE, %l6
6522 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
6523 best_set_reg(0x20610070, %l1, %l2) !# Control Word
6524 sllx %l2, 32, %l2
6525 stx %l2, [%l6 + 0x0]
6526 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
6527 sub %l2, 0x40, %l2
6528 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
6529 wr %r12, %g0, %asi
6530 st %g0, [%r23]
6531cwq_40_121:
6532 ta T_CHANGE_NONHPRIV
6533 .word 0x9b414000 ! 161: RDPC rd %pc, %r13
6534 .word 0x99a0016d ! 162: FABSq dis not found
6535
6536 .word 0xc19fe120 ! 163: LDDFA_I ldda [%r31, 0x0120], %f0
6537mondo_40_123:
6538 nop
6539 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
6540 ta T_CHANGE_PRIV
6541 stxa %r13, [%r0+0x3d8] %asi
6542 .word 0x9d950010 ! 164: WRPR_WSTATE_R wrpr %r20, %r16, %wstate
6543splash_tba_40_124:
6544 ta T_CHANGE_PRIV
6545 set 0x120000, %r12
6546 .word 0x8b90000c ! 165: WRPR_TBA_R wrpr %r0, %r12, %tba
6547vahole_40_125:
6548 nop
6549 ta T_CHANGE_NONHPRIV
6550 setx vahole_target1, %r18, %r27
6551 jmpl %r27+0, %r27
6552 .word 0xc19fc3e0 ! 166: LDDFA_R ldda [%r31, %r0], %f0
6553trapasi_40_126:
6554 nop
6555 mov 0x10, %r1 ! (VA for ASI 0x5b)
6556 .word 0xd2d04b60 ! 167: LDSHA_R ldsha [%r1, %r0] 0x5b, %r9
6557ibp_40_127:
6558 nop
6559 ta T_CHANGE_HPRIV
6560 mov 8, %r18
6561 rd %asi, %r12
6562 wr %r0, 0x41, %asi
6563 set sync_thr_counter4, %r23
6564#ifndef SPC
6565 ldxa [%g0]0x63, %r8
6566 and %r8, 0x38, %r8 ! Core ID
6567 add %r8, %r23, %r23
6568#else
6569 mov 0, %r8
6570#endif
6571 mov 0x40, %r16
6572ibp_startwait40_127:
6573 cas [%r23],%g0,%r16 !lock
6574 brz,a %r16, continue_ibp_40_127
6575 mov (~0x40&0xf0), %r16
6576 ld [%r23], %r16
6577ibp_wait40_127:
6578 brnz %r16, ibp_wait40_127
6579 ld [%r23], %r16
6580 ba ibp_startwait40_127
6581 mov 0x40, %r16
6582continue_ibp_40_127:
6583 sllx %r16, %r8, %r16 !Mask for my core only
6584 ldxa [0x58]%asi, %r17 !Running_status
6585wait_for_stat_40_127:
6586 ldxa [0x50]%asi, %r13 !Running_rw
6587 cmp %r13, %r17
6588 bne,a wait_for_stat_40_127
6589 ldxa [0x58]%asi, %r17 !Running_status
6590 stxa %r16, [0x68]%asi !Park (W1C)
6591 ldxa [0x50]%asi, %r14 !Running_rw
6592wait_for_ibp_40_127:
6593 ldxa [0x58]%asi, %r17 !Running_status
6594 cmp %r14, %r17
6595 bne,a wait_for_ibp_40_127
6596 ldxa [0x50]%asi, %r14 !Running_rw
6597ibp_doit40_127:
6598 best_set_reg(0x0000005001c40fcf,%r19, %r20)
6599 stxa %r20, [%r18]0x42
6600 stxa %r16, [0x60] %asi !Unpark (W1S)
6601 st %g0, [%r23] !clear lock
6602 wr %r0, %r12, %asi !restore %asi
6603 .word 0xd29fc032 ! 168: LDDA_R ldda [%r31, %r18] 0x01, %r9
6604donret_40_128:
6605 nop
6606 ta T_CHANGE_HPRIV ! macro
6607 rd %pc, %r12
6608 add %r12, (donretarg_40_128-donret_40_128-8), %r12
6609 mov 0x38, %r18
6610 stxa %r12, [%r18]0x58
6611 add %r12, 0x4, %r11
6612 wrpr %g0, 0x2, %tl
6613 wrpr %g0, %r12, %tpc
6614 wrpr %g0, %r11, %tnpc
6615 set (0x00d998df | (22 << 24)), %r13
6616 rdpr %tstate, %r16
6617 mov 0x1f, %r19
6618 and %r19, %r16, %r17
6619 andn %r16, %r19, %r16
6620 or %r16, %r17, %r20
6621 wrpr %r20, %g0, %tstate
6622 wrhpr %g0, 0x845, %htstate
6623 ta T_CHANGE_NONPRIV ! rand=0 (40)
6624 retry
6625donretarg_40_128:
6626 .word 0xd2ffe139 ! 169: SWAPA_I swapa %r9, [%r31 + 0x0139] %asi
6627jmptr_40_129:
6628 nop
6629 best_set_reg(0xe1200000, %r20, %r27)
6630 .word 0xb7c6c000 ! 170: JMPL_R jmpl %r27 + %r0, %r27
6631 .word 0xc32fc009 ! 171: STXFSR_R st-sfr %f1, [%r9, %r31]
6632vahole_40_131:
6633 nop
6634 ta T_CHANGE_NONHPRIV
6635 setx vahole_target3, %r18, %r27
6636 jmpl %r27+0, %r27
6637 .word 0xc3ecc030 ! 172: PREFETCHA_R prefetcha [%r19, %r16] 0x01, #one_read
6638 .word 0xe727e1bd ! 173: STF_I st %f19, [0x01bd, %r31]
6639 nop
6640 ta T_CHANGE_HPRIV
6641 mov 0x40+1, %r10
6642 set sync_thr_counter5, %r23
6643#ifndef SPC
6644 ldxa [%g0]0x63, %o1
6645 and %o1, 0x38, %o1
6646 add %o1, %r23, %r23
6647#endif
6648 cas [%r23],%g0,%r10 !lock
6649 brnz %r10, cwq_40_132
6650 rd %asi, %r12
6651 wr %g0, 0x40, %asi
6652 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
6653 and %l1, 0x3, %l1 ! Check if busy/enabled ..
6654 cmp %l1, 1
6655 bne cwq_40_132
6656 set CWQ_BASE, %l6
6657 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
6658 best_set_reg(0x20610020, %l1, %l2) !# Control Word
6659 sllx %l2, 32, %l2
6660 stx %l2, [%l6 + 0x0]
6661 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
6662 sub %l2, 0x40, %l2
6663 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
6664 wr %r12, %g0, %asi
6665 st %g0, [%r23]
6666cwq_40_132:
6667 ta T_CHANGE_NONHPRIV
6668 .word 0x9b414000 ! 174: RDPC rd %pc, %r13
6669 .word 0x87802010 ! 175: WRASI_I wr %r0, 0x0010, %asi
6670donret_40_133:
6671 nop
6672 ta T_CHANGE_HPRIV ! macro
6673 rd %pc, %r12
6674 add %r12, (donretarg_40_133-donret_40_133-4), %r12
6675 mov 0x38, %r18
6676 stxa %r12, [%r18]0x58
6677 add %r12, 0x4, %r11
6678 wrpr %g0, 0x1, %tl
6679 wrpr %g0, %r12, %tpc
6680 wrpr %g0, %r11, %tnpc
6681 set (0x00c855a1 | (22 << 24)), %r13
6682 rdpr %tstate, %r16
6683 mov 0x1f, %r19
6684 and %r19, %r16, %r17
6685 andn %r16, %r19, %r16
6686 or %r16, %r17, %r20
6687 wrpr %r20, %g0, %tstate
6688 wrhpr %g0, 0x1d5, %htstate
6689 ta T_CHANGE_NONPRIV ! rand=0 (40)
6690 .word 0x3f400001 ! 1: FBPO fbo,a,pn %fcc0, <label_0x1>
6691 done
6692donretarg_40_133:
6693 .word 0x97a449d2 ! 176: FDIVd fdivd %f48, %f18, %f42
6694 .word 0x99500000 ! 177: RDPR_TPC <illegal instruction>
6695br_badelay2_40_134:
6696 .word 0x34800001 ! 1: BG bg,a <label_0x1>
6697 pdist %f30, %f0, %f4
6698 .word 0x93b4c313 ! 178: ALIGNADDRESS alignaddr %r19, %r19, %r9
6699 setx 0x2ec924b95eb221cd, %r1, %r28
6700 stxa %r28, [%g0] 0x73
6701intvec_40_135:
6702 .word 0x39400001 ! 179: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
6703 fbule,a,pn %fcc0, skip_40_136
6704 .word 0x95a289c9 ! 1: FDIVd fdivd %f10, %f40, %f10
6705.align 128
6706skip_40_136:
6707 .word 0xc36fe0b2 ! 180: PREFETCH_I prefetch [%r31 + 0x00b2], #one_read
6708 .word 0xa3500000 ! 181: RDPR_TPC rdpr %tpc, %r17
6709 .word 0xda8008a0 ! 182: LDUWA_R lduwa [%r0, %r0] 0x45, %r13
6710 .word 0x38800001 ! 183: BGU bgu,a <label_0x1>
6711intveclr_40_137:
6712 nop
6713 ta T_CHANGE_HPRIV
6714 setx 0xe2526dae86915ca0, %r1, %r28
6715 stxa %r28, [%g0] 0x72
6716 ta T_CHANGE_NONHPRIV
6717 .word 0x25400001 ! 184: FBPLG fblg,a,pn %fcc0, <label_0x1>
6718 invalw
6719 mov 0xb3, %r30
6720 .word 0x83d0001e ! 185: Tcc_R te icc_or_xcc, %r0 + %r30
6721dvapa_40_138:
6722 nop
6723 ta T_CHANGE_HPRIV
6724 mov 0xc9a, %r20
6725 mov 0x1a, %r19
6726 sllx %r20, 23, %r20
6727 or %r19, %r20, %r19
6728 stxa %r19, [%g0] ASI_LSU_CONTROL
6729 mov 0x38, %r18
6730 stxa %r31, [%r18]0x58
6731 ta T_CHANGE_NONHPRIV
6732 .word 0xc32fc009 ! 186: STXFSR_R st-sfr %f1, [%r9, %r31]
6733donret_40_139:
6734 nop
6735 ta T_CHANGE_HPRIV ! macro
6736 rd %pc, %r12
6737 add %r12, (donretarg_40_139-donret_40_139-4), %r12
6738 mov 0x38, %r18
6739 stxa %r12, [%r18]0x58
6740 add %r12, 0x4, %r11
6741 wrpr %g0, 0x2, %tl
6742 wrpr %g0, %r12, %tpc
6743 wrpr %g0, %r11, %tnpc
6744 set (0x00ac70fa | (0x8b << 24)), %r13
6745 rdpr %tstate, %r16
6746 mov 0x1f, %r19
6747 and %r19, %r16, %r17
6748 andn %r16, %r19, %r16
6749 or %r16, %r17, %r20
6750 wrpr %r20, %g0, %tstate
6751 wrhpr %g0, 0xf8f, %htstate
6752 ta T_CHANGE_NONHPRIV ! rand=1 (40)
6753 .word 0x38800001 ! 1: BGU bgu,a <label_0x1>
6754 done
6755donretarg_40_139:
6756 .word 0xdaffe190 ! 187: SWAPA_I swapa %r13, [%r31 + 0x0190] %asi
6757 brlez,pt %r20, skip_40_140
6758 brgez,pt %r20, skip_40_140
6759.align 512
6760skip_40_140:
6761 .word 0x87ac4a52 ! 188: FCMPd fcmpd %fcc<n>, %f48, %f18
6762memptr_40_141:
6763 set user_data_start, %r31
6764 .word 0x85853c34 ! 189: WRCCR_I wr %r20, 0x1c34, %ccr
6765dvapa_40_142:
6766 nop
6767 ta T_CHANGE_HPRIV
6768 mov 0xe15, %r20
6769 mov 0x1, %r19
6770 sllx %r20, 23, %r20
6771 or %r19, %r20, %r19
6772 stxa %r19, [%g0] ASI_LSU_CONTROL
6773 mov 0x38, %r18
6774 stxa %r31, [%r18]0x58
6775 ta T_CHANGE_NONHPRIV
6776 .word 0xa9702620 ! 190: POPC_I popc 0x0620, %r20
6777dvapa_40_143:
6778 nop
6779 ta T_CHANGE_HPRIV
6780 mov 0xdea, %r20
6781 mov 0xe, %r19
6782 sllx %r20, 23, %r20
6783 or %r19, %r20, %r19
6784 stxa %r19, [%g0] ASI_LSU_CONTROL
6785 mov 0x38, %r18
6786 stxa %r31, [%r18]0x58
6787 ta T_CHANGE_NONHPRIV
6788 .word 0xe69fc02d ! 191: LDDA_R ldda [%r31, %r13] 0x01, %r19
6789fpinit_40_144:
6790 setx fp_data_quads, %r19, %r20
6791 ldd [%r20], %f0
6792 ldd [%r20+8], %f4
6793 ld [%r20+16], %fsr
6794 ld [%r20+24], %r19
6795 wr %r19, %g0, %gsr
6796 .word 0x87a80a44 ! 192: FCMPd fcmpd %fcc<n>, %f0, %f4
6797 .word 0x9469c00c ! 193: UDIVX_R udivx %r7, %r12, %r10
6798donret_40_145:
6799 nop
6800 ta T_CHANGE_HPRIV ! macro
6801 rd %pc, %r12
6802 add %r12, (donretarg_40_145-donret_40_145-4), %r12
6803 mov 0x38, %r18
6804 stxa %r12, [%r18]0x58
6805 add %r12, 0x4, %r11
6806 wrpr %g0, 0x1, %tl
6807 wrpr %g0, %r12, %tpc
6808 wrpr %g0, %r11, %tnpc
6809 set (0x00764acf | (0x80 << 24)), %r13
6810 rdpr %tstate, %r16
6811 mov 0x1f, %r19
6812 and %r19, %r16, %r17
6813 andn %r16, %r19, %r16
6814 or %r16, %r17, %r20
6815 wrpr %r20, %g0, %tstate
6816 wrhpr %g0, 0xb0d, %htstate
6817 ta T_CHANGE_NONHPRIV ! rand=1 (40)
6818 .word 0x24800001 ! 1: BLE ble,a <label_0x1>
6819 done
6820donretarg_40_145:
6821 .word 0xe6ffe160 ! 194: SWAPA_I swapa %r19, [%r31 + 0x0160] %asi
6822 .word 0x91940003 ! 195: WRPR_PIL_R wrpr %r16, %r3, %pil
6823 .word 0x91950003 ! 196: WRPR_PIL_R wrpr %r20, %r3, %pil
6824 .word 0xa9b087d1 ! 197: PDIST pdistn %d2, %d48, %d20
6825 .word 0x9f803377 ! 198: SIR sir 0x1377
6826 .word 0x3e780001 ! 199: BPVC <illegal instruction>
6827 .word 0x87802020 ! 200: WRASI_I wr %r0, 0x0020, %asi
6828splash_hpstate_40_149:
6829 ta T_CHANGE_NONHPRIV
6830 .word 0x81982095 ! 201: WRHPR_HPSTATE_I wrhpr %r0, 0x0095, %hpstate
6831 .word 0xe697e1e8 ! 202: LDUHA_I lduha [%r31, + 0x01e8] %asi, %r19
6832dvapa_40_150:
6833 nop
6834 ta T_CHANGE_HPRIV
6835 mov 0xb74, %r20
6836 mov 0x13, %r19
6837 sllx %r20, 23, %r20
6838 or %r19, %r20, %r19
6839 stxa %r19, [%g0] ASI_LSU_CONTROL
6840 mov 0x38, %r18
6841 stxa %r31, [%r18]0x58
6842 ta T_CHANGE_NONHPRIV
6843 .word 0xe73fc008 ! 203: STDF_R std %f19, [%r8, %r31]
6844 .word 0xa7840010 ! 204: WR_GRAPHICS_STATUS_REG_R wr %r16, %r16, %-
6845brcommon2_40_152:
6846 nop
6847 setx common_target, %r12, %r27
6848 ba,a .+12
6849 .word 0xa7b7c711 ! 1: FMULD8SUx16 fmuld8ulx16 %f31, %f17, %d50
6850 ba,a .+8
6851 jmpl %r27+0, %r27
6852 .word 0xc1bfdc00 ! 205: STDFA_R stda %f0, [%r0, %r31]
6853 .word 0xa3454000 ! 206: RD_CLEAR_SOFTINT rd %clear_softint, %r17
6854 .word 0xe897e130 ! 207: LDUHA_I lduha [%r31, + 0x0130] %asi, %r20
6855 nop
6856 ta T_CHANGE_HPRIV
6857 mov 0x40, %r10
6858 set sync_thr_counter6, %r23
6859#ifndef SPC
6860 ldxa [%g0]0x63, %o1
6861 and %o1, 0x38, %o1
6862 add %o1, %r23, %r23
6863#endif
6864 cas [%r23],%g0,%r10 !lock
6865 brnz %r10, sma_40_153
6866 rd %asi, %r12
6867 wr %g0, 0x40, %asi
6868 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
6869 set 0x000a1fff, %g1
6870 stxa %g1, [%g0 + 0x80] %asi
6871 wr %r12, %g0, %asi
6872 st %g0, [%r23]
6873sma_40_153:
6874 ta T_CHANGE_NONHPRIV
6875 .word 0xe9e7e00d ! 208: CASA_R casa [%r31] %asi, %r13, %r20
6876vahole_40_154:
6877 nop
6878 ta T_CHANGE_NONHPRIV
6879 setx vahole_target3, %r18, %r27
6880 jmpl %r27+0, %r27
6881 .word 0xc19fd960 ! 209: LDDFA_R ldda [%r31, %r0], %f0
6882splash_lsu_40_155:
6883 nop
6884 ta T_CHANGE_HPRIV
6885 set 0xa62f4cc1, %r2
6886 mov 0x2, %r1
6887 sllx %r1, 32, %r1
6888 or %r1, %r2, %r2
6889 stxa %r2, [%r0] ASI_LSU_CONTROL
6890 ta T_CHANGE_NONHPRIV
6891 .word 0x3d400001 ! 210: FBPULE fbule,a,pn %fcc0, <label_0x1>
6892splash_hpstate_40_156:
6893 .word 0x2ec8c001 ! 1: BRGEZ brgez,a,pt %r3,<label_0x8c001>
6894 .word 0x81982db4 ! 211: WRHPR_HPSTATE_I wrhpr %r0, 0x0db4, %hpstate
6895fpinit_40_157:
6896 setx fp_data_quads, %r19, %r20
6897 ldd [%r20], %f0
6898 ldd [%r20+8], %f4
6899 ld [%r20+16], %fsr
6900 ld [%r20+24], %r19
6901 wr %r19, %g0, %gsr
6902 .word 0x87a80a44 ! 212: FCMPd fcmpd %fcc<n>, %f0, %f4
6903splash_tba_40_158:
6904 ta T_CHANGE_PRIV
6905 setx 0x0000000400380000, %r11, %r12
6906 .word 0x8b90000c ! 213: WRPR_TBA_R wrpr %r0, %r12, %tba
6907intveclr_40_159:
6908 nop
6909 ta T_CHANGE_HPRIV
6910 setx 0xa8ece60f4978ce63, %r1, %r28
6911 stxa %r28, [%g0] 0x72
6912 .word 0x25400001 ! 214: FBPLG fblg,a,pn %fcc0, <label_0x1>
6913mondo_40_160:
6914 nop
6915 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
6916 stxa %r17, [%r0+0x3c8] %asi
6917 .word 0x9d920011 ! 215: WRPR_WSTATE_R wrpr %r8, %r17, %wstate
6918 .word 0xe19fd960 ! 216: LDDFA_R ldda [%r31, %r0], %f16
6919pmu_40_162:
6920 nop
6921 ta T_CHANGE_PRIV
6922 setx 0xfffffc60fffff59a, %g1, %g7
6923 .word 0xa3800007 ! 217: WR_PERF_COUNTER_R wr %r0, %r7, %-
6924donret_40_163:
6925 nop
6926 ta T_CHANGE_HPRIV ! macro
6927 rd %pc, %r12
6928 add %r12, (donretarg_40_163-donret_40_163-4), %r12
6929 mov 0x38, %r18
6930 stxa %r12, [%r18]0x58
6931 add %r12, 0x4, %r11
6932 wrpr %g0, 0x1, %tl
6933 wrpr %g0, %r12, %tpc
6934 wrpr %g0, %r11, %tnpc
6935 set (0x00cacfa7 | (32 << 24)), %r13
6936 rdpr %tstate, %r16
6937 mov 0x1f, %r19
6938 and %r19, %r16, %r17
6939 andn %r16, %r19, %r16
6940 or %r16, %r17, %r20
6941 wrpr %r20, %g0, %tstate
6942 wrhpr %g0, 0x1cc, %htstate
6943 ta T_CHANGE_NONPRIV ! rand=0 (40)
6944 .word 0x21400001 ! 1: FBPN fbn,a,pn %fcc0, <label_0x1>
6945 done
6946donretarg_40_163:
6947 .word 0x95a249c3 ! 218: FDIVd fdivd %f40, %f34, %f10
6948 invalw
6949 mov 0x30, %r30
6950 .word 0x91d0001e ! 219: Tcc_R ta icc_or_xcc, %r0 + %r30
6951 .word 0xa1464000 ! 220: RD_STICK_CMPR_REG rd %-, %r16
6952vahole_40_164:
6953 nop
6954 ta T_CHANGE_NONHPRIV
6955 setx vahole_target3, %r18, %r27
6956 jmpl %r27+0, %r27
6957 .word 0xe4bfc02a ! 221: STDA_R stda %r18, [%r31 + %r10] 0x01
6958ibp_40_165:
6959 nop
6960 ta T_CHANGE_HPRIV
6961 mov 8, %r18
6962 rd %asi, %r12
6963 wr %r0, 0x41, %asi
6964 set sync_thr_counter4, %r23
6965#ifndef SPC
6966 ldxa [%g0]0x63, %r8
6967 and %r8, 0x38, %r8 ! Core ID
6968 add %r8, %r23, %r23
6969#else
6970 mov 0, %r8
6971#endif
6972 mov 0x40, %r16
6973ibp_startwait40_165:
6974 cas [%r23],%g0,%r16 !lock
6975 brz,a %r16, continue_ibp_40_165
6976 mov (~0x40&0xf0), %r16
6977 ld [%r23], %r16
6978ibp_wait40_165:
6979 brnz %r16, ibp_wait40_165
6980 ld [%r23], %r16
6981 ba ibp_startwait40_165
6982 mov 0x40, %r16
6983continue_ibp_40_165:
6984 sllx %r16, %r8, %r16 !Mask for my core only
6985 ldxa [0x58]%asi, %r17 !Running_status
6986wait_for_stat_40_165:
6987 ldxa [0x50]%asi, %r13 !Running_rw
6988 cmp %r13, %r17
6989 bne,a wait_for_stat_40_165
6990 ldxa [0x58]%asi, %r17 !Running_status
6991 stxa %r16, [0x68]%asi !Park (W1C)
6992 ldxa [0x50]%asi, %r14 !Running_rw
6993wait_for_ibp_40_165:
6994 ldxa [0x58]%asi, %r17 !Running_status
6995 cmp %r14, %r17
6996 bne,a wait_for_ibp_40_165
6997 ldxa [0x50]%asi, %r14 !Running_rw
6998ibp_doit40_165:
6999 best_set_reg(0x00000050ebcfcf25,%r19, %r20)
7000 stxa %r20, [%r18]0x42
7001 stxa %r16, [0x60] %asi !Unpark (W1S)
7002 st %g0, [%r23] !clear lock
7003 wr %r0, %r12, %asi !restore %asi
7004 .word 0x9f802de6 ! 222: SIR sir 0x0de6
7005dvapa_40_166:
7006 nop
7007 ta T_CHANGE_HPRIV
7008 mov 0xadb, %r20
7009 mov 0x19, %r19
7010 sllx %r20, 23, %r20
7011 or %r19, %r20, %r19
7012 stxa %r19, [%g0] ASI_LSU_CONTROL
7013 mov 0x38, %r18
7014 stxa %r31, [%r18]0x58
7015 ta T_CHANGE_NONHPRIV
7016 .word 0xe1bfdb60 ! 223: STDFA_R stda %f16, [%r0, %r31]
7017 .word 0xe44fe178 ! 224: LDSB_I ldsb [%r31 + 0x0178], %r18
7018mondo_40_167:
7019 nop
7020 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
7021 ta T_CHANGE_PRIV
7022 stxa %r8, [%r0+0x3d0] %asi
7023 .word 0x9d948014 ! 225: WRPR_WSTATE_R wrpr %r18, %r20, %wstate
7024 .word 0x94808009 ! 226: ADDcc_R addcc %r2, %r9, %r10
7025 .word 0xda97c02c ! 227: LDUHA_R lduha [%r31, %r12] 0x01, %r13
7026vahole_40_169:
7027 nop
7028 ta T_CHANGE_NONHPRIV
7029 setx vahole_target2, %r18, %r27
7030 jmpl %r27+0, %r27
7031 .word 0x95703372 ! 228: POPC_I popc 0x1372, %r10
7032 nop
7033 ta T_CHANGE_HPRIV
7034 mov 0x40+1, %r10
7035 set sync_thr_counter5, %r23
7036#ifndef SPC
7037 ldxa [%g0]0x63, %o1
7038 and %o1, 0x38, %o1
7039 add %o1, %r23, %r23
7040#endif
7041 cas [%r23],%g0,%r10 !lock
7042 brnz %r10, cwq_40_170
7043 rd %asi, %r12
7044 wr %g0, 0x40, %asi
7045 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
7046 and %l1, 0x3, %l1 ! Check if busy/enabled ..
7047 cmp %l1, 1
7048 bne cwq_40_170
7049 set CWQ_BASE, %l6
7050 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
7051 best_set_reg(0x20610090, %l1, %l2) !# Control Word
7052 sllx %l2, 32, %l2
7053 stx %l2, [%l6 + 0x0]
7054 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
7055 sub %l2, 0x40, %l2
7056 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
7057 wr %r12, %g0, %asi
7058 st %g0, [%r23]
7059cwq_40_170:
7060 ta T_CHANGE_NONHPRIV
7061 .word 0xa5414000 ! 229: RDPC rd %pc, %r18
7062vahole_40_171:
7063 nop
7064 ta T_CHANGE_NONHPRIV
7065 setx vahole_target0, %r18, %r27
7066 jmpl %r27+0, %r27
7067 .word 0xd0bfc032 ! 230: STDA_R stda %r8, [%r31 + %r18] 0x01
7068 .word 0x91950006 ! 231: WRPR_PIL_R wrpr %r20, %r6, %pil
7069pmu_40_173:
7070 nop
7071 setx 0xfffffab0fffffe9f, %g1, %g7
7072 .word 0xa3800007 ! 232: WR_PERF_COUNTER_R wr %r0, %r7, %-
7073 .word 0xd13fc00b ! 233: STDF_R std %f8, [%r11, %r31]
7074 .word 0x936d000b ! 234: SDIVX_R sdivx %r20, %r11, %r9
7075splash_cmpr_40_175:
7076 nop
7077 setx 0xb455416a45eea12d, %l2, %l1
7078 ta T_CHANGE_PRIV
7079 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
7080 sub %l1, 40, %g1
7081 .word 0x89900011 ! 235: WRPR_TICK_R wrpr %r0, %r17, %tick
7082#if (defined SPC || defined CMP)
7083!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_40_176) + 0, 16, 16)) -> intp(4,0,6)
7084!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_40_176)&0xffffffff) + 0, 16, 16)) -> intp(4,0,6)
7085#else
7086 setx 0xc0bdfc4970f5c571, %r1, %r28
7087 stxa %r28, [%g0] 0x73
7088#endif
7089intvec_40_176:
7090 .word 0x39400001 ! 236: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
7091dvapa_40_177:
7092 nop
7093 ta T_CHANGE_HPRIV
7094 mov 0xc32, %r20
7095 mov 0x1b, %r19
7096 sllx %r20, 23, %r20
7097 or %r19, %r20, %r19
7098 stxa %r19, [%g0] ASI_LSU_CONTROL
7099 mov 0x38, %r18
7100 stxa %r31, [%r18]0x58
7101 ta T_CHANGE_NONHPRIV
7102 .word 0xc1bfd960 ! 237: STDFA_R stda %f0, [%r0, %r31]
7103vahole_40_178:
7104 nop
7105 ta T_CHANGE_NONHPRIV
7106 setx vahole_target3, %r18, %r27
7107 jmpl %r27+0, %r27
7108 .word 0xc1bfe040 ! 238: STDFA_I stda %f0, [0x0040, %r31]
7109fpinit_40_179:
7110 setx fp_data_quads, %r19, %r20
7111 ldd [%r20], %f0
7112 ldd [%r20+8], %f4
7113 ld [%r20+16], %fsr
7114 ld [%r20+24], %r19
7115 wr %r19, %g0, %gsr
7116 .word 0xc3e828df ! 239: PREFETCHA_I prefetcha [%r0, + 0x08df] %asi, #one_read
7117mondo_40_180:
7118 nop
7119 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
7120 stxa %r17, [%r0+0x3d8] %asi
7121 .word 0x9d92c008 ! 240: WRPR_WSTATE_R wrpr %r11, %r8, %wstate
7122vahole_40_181:
7123 nop
7124 ta T_CHANGE_NONHPRIV
7125 setx vahole_target1, %r18, %r27
7126 jmpl %r27+0, %r27
7127 .word 0xc19fc2c0 ! 241: LDDFA_R ldda [%r31, %r0], %f0
7128#if (defined SPC || defined CMP)
7129!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_40_182) + 8, 16, 16)) -> intp(3,0,14)
7130!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_40_182)&0xffffffff) + 8, 16, 16)) -> intp(3,0,14)
7131#else
7132 setx 0xcfb232b6859ee624, %r1, %r28
7133 stxa %r28, [%g0] 0x73
7134#endif
7135intvec_40_182:
7136 .word 0x39400001 ! 242: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
7137 .word 0xe48008a0 ! 243: LDUWA_R lduwa [%r0, %r0] 0x45, %r18
7138intveclr_40_183:
7139 nop
7140 ta T_CHANGE_HPRIV
7141 setx 0x0f82ed26d44ea5e9, %r1, %r28
7142 stxa %r28, [%g0] 0x72
7143 ta T_CHANGE_NONHPRIV
7144 .word 0x25400001 ! 244: FBPLG fblg,a,pn %fcc0, <label_0x1>
7145vahole_40_184:
7146 nop
7147 ta T_CHANGE_NONHPRIV
7148 setx vahole_target3, %r18, %r27
7149 jmpl %r27+0, %r27
7150 .word 0xe49fc028 ! 245: LDDA_R ldda [%r31, %r8] 0x01, %r18
7151 nop
7152 ta T_CHANGE_HPRIV
7153 mov 0x40, %r10
7154 set sync_thr_counter6, %r23
7155#ifndef SPC
7156 ldxa [%g0]0x63, %o1
7157 and %o1, 0x38, %o1
7158 add %o1, %r23, %r23
7159#endif
7160 cas [%r23],%g0,%r10 !lock
7161 brnz %r10, sma_40_185
7162 rd %asi, %r12
7163 wr %g0, 0x40, %asi
7164 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
7165 set 0x001e1fff, %g1
7166 stxa %g1, [%g0 + 0x80] %asi
7167 wr %r12, %g0, %asi
7168 st %g0, [%r23]
7169sma_40_185:
7170 ta T_CHANGE_NONHPRIV
7171 .word 0xe5e7e00a ! 246: CASA_R casa [%r31] %asi, %r10, %r18
7172fpinit_40_186:
7173 setx fp_data_quads, %r19, %r20
7174 ldd [%r20], %f0
7175 ldd [%r20+8], %f4
7176 ld [%r20+16], %fsr
7177 ld [%r20+24], %r19
7178 wr %r19, %g0, %gsr
7179 .word 0x87a80a44 ! 247: FCMPd fcmpd %fcc<n>, %f0, %f4
7180vahole_40_187:
7181 nop
7182 ta T_CHANGE_NONHPRIV
7183 setx vahole_target2, %r18, %r27
7184 jmpl %r27+0, %r27
7185 .word 0xc32fc00a ! 248: STXFSR_R st-sfr %f1, [%r10, %r31]
7186 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
7187reduce_priv_lvl_40_188:
7188 ta T_CHANGE_NONPRIV ! macro
7189brcommon2_40_189:
7190 nop
7191 setx common_target, %r12, %r27
7192 ba,a .+12
7193 .word 0xa5a7c9c8 ! 1: FDIVd fdivd %f62, %f8, %f18
7194 ba,a .+8
7195 jmpl %r27+0, %r27
7196 .word 0xc19fdb60 ! 250: LDDFA_R ldda [%r31, %r0], %f0
7197mondo_40_190:
7198 nop
7199 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
7200 stxa %r3, [%r0+0x3d0] %asi
7201 .word 0x9d94400c ! 251: WRPR_WSTATE_R wrpr %r17, %r12, %wstate
7202 setx 0x4405aa2c787b0a11, %r1, %r28
7203 stxa %r28, [%g0] 0x73
7204intvec_40_191:
7205 .word 0x39400001 ! 252: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
7206vahole_40_192:
7207 nop
7208 ta T_CHANGE_NONHPRIV
7209 setx vahole_target3, %r18, %r27
7210 jmpl %r27+0, %r27
7211 .word 0xe3e7e008 ! 253: CASA_R casa [%r31] %asi, %r8, %r17
7212ibp_40_193:
7213 nop
7214 ta T_CHANGE_HPRIV
7215 mov 8, %r18
7216 rd %asi, %r12
7217 wr %r0, 0x41, %asi
7218 set sync_thr_counter4, %r23
7219#ifndef SPC
7220 ldxa [%g0]0x63, %r8
7221 and %r8, 0x38, %r8 ! Core ID
7222 add %r8, %r23, %r23
7223#else
7224 mov 0, %r8
7225#endif
7226 mov 0x40, %r16
7227ibp_startwait40_193:
7228 cas [%r23],%g0,%r16 !lock
7229 brz,a %r16, continue_ibp_40_193
7230 mov (~0x40&0xf0), %r16
7231 ld [%r23], %r16
7232ibp_wait40_193:
7233 brnz %r16, ibp_wait40_193
7234 ld [%r23], %r16
7235 ba ibp_startwait40_193
7236 mov 0x40, %r16
7237continue_ibp_40_193:
7238 sllx %r16, %r8, %r16 !Mask for my core only
7239 ldxa [0x58]%asi, %r17 !Running_status
7240wait_for_stat_40_193:
7241 ldxa [0x50]%asi, %r13 !Running_rw
7242 cmp %r13, %r17
7243 bne,a wait_for_stat_40_193
7244 ldxa [0x58]%asi, %r17 !Running_status
7245 stxa %r16, [0x68]%asi !Park (W1C)
7246 ldxa [0x50]%asi, %r14 !Running_rw
7247wait_for_ibp_40_193:
7248 ldxa [0x58]%asi, %r17 !Running_status
7249 cmp %r14, %r17
7250 bne,a wait_for_ibp_40_193
7251 ldxa [0x50]%asi, %r14 !Running_rw
7252ibp_doit40_193:
7253 best_set_reg(0x0000005005cf2587,%r19, %r20)
7254 stxa %r20, [%r18]0x42
7255 stxa %r16, [0x60] %asi !Unpark (W1S)
7256 st %g0, [%r23] !clear lock
7257 wr %r0, %r12, %asi !restore %asi
7258 ta T_CHANGE_NONHPRIV
7259 .word 0xc19fda00 ! 254: LDDFA_R ldda [%r31, %r0], %f0
7260 .word 0xab84303c ! 255: WR_CLEAR_SOFTINT_I wr %r16, 0x103c, %clear_softint
7261splash_lsu_40_194:
7262 nop
7263 ta T_CHANGE_HPRIV
7264 set 0x6007f5a8, %r2
7265 mov 0x6, %r1
7266 sllx %r1, 32, %r1
7267 or %r1, %r2, %r2
7268 stxa %r2, [%r0] ASI_LSU_CONTROL
7269 .word 0x3d400001 ! 256: FBPULE fbule,a,pn %fcc0, <label_0x1>
7270 nop
7271 ta T_CHANGE_HPRIV
7272 mov 0x40, %r10
7273 set sync_thr_counter6, %r23
7274#ifndef SPC
7275 ldxa [%g0]0x63, %o1
7276 and %o1, 0x38, %o1
7277 add %o1, %r23, %r23
7278#endif
7279 cas [%r23],%g0,%r10 !lock
7280 brnz %r10, sma_40_195
7281 rd %asi, %r12
7282 wr %g0, 0x40, %asi
7283 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
7284 set 0x00161fff, %g1
7285 stxa %g1, [%g0 + 0x80] %asi
7286 wr %r12, %g0, %asi
7287 st %g0, [%r23]
7288sma_40_195:
7289 ta T_CHANGE_NONHPRIV
7290 .word 0xe3e7e010 ! 257: CASA_R casa [%r31] %asi, %r16, %r17
7291#if (defined SPC || defined CMP)
7292!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_40_196) + 32, 16, 16)) -> intp(0,0,2)
7293!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_40_196)&0xffffffff) + 32, 16, 16)) -> intp(0,0,2)
7294#else
7295 setx 0x6c87f408e85c72c4, %r1, %r28
7296 stxa %r28, [%g0] 0x73
7297#endif
7298intvec_40_196:
7299 .word 0x39400001 ! 258: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
7300 .word 0x99b40993 ! 259: BSHUFFLE fmovc32 %d16, %d50, %d12
7301 .word 0x9f8035f5 ! 260: SIR sir 0x15f5
7302 nop
7303 ta T_CHANGE_HPRIV
7304 mov 0x40, %r10
7305 set sync_thr_counter6, %r23
7306#ifndef SPC
7307 ldxa [%g0]0x63, %o1
7308 and %o1, 0x38, %o1
7309 add %o1, %r23, %r23
7310#endif
7311 cas [%r23],%g0,%r10 !lock
7312 brnz %r10, sma_40_198
7313 rd %asi, %r12
7314 wr %g0, 0x40, %asi
7315 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
7316 set 0x00161fff, %g1
7317 stxa %g1, [%g0 + 0x80] %asi
7318 wr %r12, %g0, %asi
7319 st %g0, [%r23]
7320sma_40_198:
7321 ta T_CHANGE_NONHPRIV
7322 .word 0xe7e7e00b ! 261: CASA_R casa [%r31] %asi, %r11, %r19
7323splash_tba_40_199:
7324 ta T_CHANGE_PRIV
7325 setx 0x0000000400380000, %r11, %r12
7326 .word 0x8b90000c ! 262: WRPR_TBA_R wrpr %r0, %r12, %tba
7327splash_hpstate_40_200:
7328 ta T_CHANGE_NONHPRIV
7329 .word 0x81982186 ! 263: WRHPR_HPSTATE_I wrhpr %r0, 0x0186, %hpstate
7330mondo_40_201:
7331 nop
7332 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
7333 ta T_CHANGE_PRIV
7334 stxa %r13, [%r0+0x3d0] %asi
7335 .word 0x9d910010 ! 264: WRPR_WSTATE_R wrpr %r4, %r16, %wstate
7336tagged_40_202:
7337 tsubcctv %r20, 0x1c52, %r18
7338 .word 0xe607e08c ! 265: LDUW_I lduw [%r31 + 0x008c], %r19
7339 nop
7340 mov 0x80, %g3
7341 stxa %g3, [%g3] 0x57
7342 .word 0xe65fc000 ! 266: LDX_R ldx [%r31 + %r0], %r19
7343mondo_40_203:
7344 nop
7345 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
7346 stxa %r20, [%r0+0x3d8] %asi
7347 .word 0x9d948011 ! 267: WRPR_WSTATE_R wrpr %r18, %r17, %wstate
7348splash_cmpr_40_204:
7349 nop
7350 setx 0xdfcf2b754ccf89a2, %l2, %l1
7351 ta T_CHANGE_HPRIV
7352 wrhpr %l1, %g0, %hsys_tick_cmpr
7353 ta T_CHANGE_NONHPRIV
7354 sub %l1, 40, %g1
7355 .word 0xb1800011 ! 268: WR_STICK_REG_R wr %r0, %r17, %-
7356intveclr_40_205:
7357 nop
7358 ta T_CHANGE_HPRIV
7359 setx 0x1c0faf570e9f2eaa, %r1, %r28
7360 stxa %r28, [%g0] 0x72
7361 ta T_CHANGE_NONHPRIV
7362 .word 0x25400001 ! 269: FBPLG fblg,a,pn %fcc0, <label_0x1>
7363 .word 0x8d903d03 ! 270: WRPR_PSTATE_I wrpr %r0, 0x1d03, %pstate
7364cwp_40_207:
7365 set user_data_start, %o7
7366 .word 0x93902000 ! 271: WRPR_CWP_I wrpr %r0, 0x0000, %cwp
7367#if (defined SPC || defined CMP)
7368!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_40_208) + 40, 16, 16)) -> intp(2,0,5)
7369!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_40_208)&0xffffffff) + 40, 16, 16)) -> intp(2,0,5)
7370#else
7371 setx 0x3830a5d5db0446a9, %r1, %r28
7372 stxa %r28, [%g0] 0x73
7373#endif
7374intvec_40_208:
7375 .word 0x39400001 ! 272: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
7376ibp_40_209:
7377 nop
7378 ta T_CHANGE_HPRIV
7379 mov 8, %r18
7380 rd %asi, %r12
7381 wr %r0, 0x41, %asi
7382 set sync_thr_counter4, %r23
7383#ifndef SPC
7384 ldxa [%g0]0x63, %r8
7385 and %r8, 0x38, %r8 ! Core ID
7386 add %r8, %r23, %r23
7387#else
7388 mov 0, %r8
7389#endif
7390 mov 0x40, %r16
7391ibp_startwait40_209:
7392 cas [%r23],%g0,%r16 !lock
7393 brz,a %r16, continue_ibp_40_209
7394 mov (~0x40&0xf0), %r16
7395 ld [%r23], %r16
7396ibp_wait40_209:
7397 brnz %r16, ibp_wait40_209
7398 ld [%r23], %r16
7399 ba ibp_startwait40_209
7400 mov 0x40, %r16
7401continue_ibp_40_209:
7402 sllx %r16, %r8, %r16 !Mask for my core only
7403 ldxa [0x58]%asi, %r17 !Running_status
7404wait_for_stat_40_209:
7405 ldxa [0x50]%asi, %r13 !Running_rw
7406 cmp %r13, %r17
7407 bne,a wait_for_stat_40_209
7408 ldxa [0x58]%asi, %r17 !Running_status
7409 stxa %r16, [0x68]%asi !Park (W1C)
7410 ldxa [0x50]%asi, %r14 !Running_rw
7411wait_for_ibp_40_209:
7412 ldxa [0x58]%asi, %r17 !Running_status
7413 cmp %r14, %r17
7414 bne,a wait_for_ibp_40_209
7415 ldxa [0x50]%asi, %r14 !Running_rw
7416ibp_doit40_209:
7417 best_set_reg(0x0000005007e58717,%r19, %r20)
7418 stxa %r20, [%r18]0x42
7419 stxa %r16, [0x60] %asi !Unpark (W1S)
7420 st %g0, [%r23] !clear lock
7421 wr %r0, %r12, %asi !restore %asi
7422 .word 0x93a489a7 ! 273: FDIVs fdivs %f18, %f7, %f9
7423mondo_40_210:
7424 nop
7425 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
7426 ta T_CHANGE_PRIV
7427 stxa %r3, [%r0+0x3d8] %asi
7428 .word 0x9d930011 ! 274: WRPR_WSTATE_R wrpr %r12, %r17, %wstate
7429ibp_40_211:
7430 nop
7431 ta T_CHANGE_HPRIV
7432 mov 8, %r18
7433 rd %asi, %r12
7434 wr %r0, 0x41, %asi
7435 set sync_thr_counter4, %r23
7436#ifndef SPC
7437 ldxa [%g0]0x63, %r8
7438 and %r8, 0x38, %r8 ! Core ID
7439 add %r8, %r23, %r23
7440#else
7441 mov 0, %r8
7442#endif
7443 mov 0x40, %r16
7444ibp_startwait40_211:
7445 cas [%r23],%g0,%r16 !lock
7446 brz,a %r16, continue_ibp_40_211
7447 mov (~0x40&0xf0), %r16
7448 ld [%r23], %r16
7449ibp_wait40_211:
7450 brnz %r16, ibp_wait40_211
7451 ld [%r23], %r16
7452 ba ibp_startwait40_211
7453 mov 0x40, %r16
7454continue_ibp_40_211:
7455 sllx %r16, %r8, %r16 !Mask for my core only
7456 ldxa [0x58]%asi, %r17 !Running_status
7457wait_for_stat_40_211:
7458 ldxa [0x50]%asi, %r13 !Running_rw
7459 cmp %r13, %r17
7460 bne,a wait_for_stat_40_211
7461 ldxa [0x58]%asi, %r17 !Running_status
7462 stxa %r16, [0x68]%asi !Park (W1C)
7463 ldxa [0x50]%asi, %r14 !Running_rw
7464wait_for_ibp_40_211:
7465 ldxa [0x58]%asi, %r17 !Running_status
7466 cmp %r14, %r17
7467 bne,a wait_for_ibp_40_211
7468 ldxa [0x50]%asi, %r14 !Running_rw
7469ibp_doit40_211:
7470 best_set_reg(0x00000050bac717a0,%r19, %r20)
7471 stxa %r20, [%r18]0x42
7472 stxa %r16, [0x60] %asi !Unpark (W1S)
7473 st %g0, [%r23] !clear lock
7474 wr %r0, %r12, %asi !restore %asi
7475 ta T_CHANGE_NONHPRIV
7476 .word 0xe1bfe020 ! 275: STDFA_I stda %f16, [0x0020, %r31]
7477splash_lsu_40_212:
7478 nop
7479 ta T_CHANGE_HPRIV
7480 set 0xfd80733a, %r2
7481 mov 0x2, %r1
7482 sllx %r1, 32, %r1
7483 or %r1, %r2, %r2
7484 stxa %r2, [%r0] ASI_LSU_CONTROL
7485 ta T_CHANGE_NONHPRIV
7486 .word 0x3d400001 ! 276: FBPULE fbule,a,pn %fcc0, <label_0x1>
7487 otherw
7488 mov 0x33, %r30
7489 .word 0x93d0001e ! 277: Tcc_R tne icc_or_xcc, %r0 + %r30
7490trapasi_40_213:
7491 nop
7492 mov 0x18, %r1 ! (VA for ASI 0x50)
7493 .word 0xe8d84a00 ! 278: LDXA_R ldxa [%r1, %r0] 0x50, %r20
7494pmu_40_214:
7495 nop
7496 ta T_CHANGE_PRIV
7497 setx 0xfffff74cfffff76c, %g1, %g7
7498 .word 0xa3800007 ! 279: WR_PERF_COUNTER_R wr %r0, %r7, %-
7499 .word 0xe1bfc3e0 ! 280: STDFA_R stda %f16, [%r0, %r31]
7500#if (defined SPC || defined CMP)
7501!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_40_216) + 48, 16, 16)) -> intp(0,0,14)
7502!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_40_216)&0xffffffff) + 48, 16, 16)) -> intp(0,0,14)
7503#else
7504 setx 0x0878194385cb5fdf, %r1, %r28
7505 stxa %r28, [%g0] 0x73
7506#endif
7507intvec_40_216:
7508 .word 0x39400001 ! 281: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
7509splash_lsu_40_217:
7510 nop
7511 ta T_CHANGE_HPRIV
7512 set 0x6c19ccf1, %r2
7513 mov 0x4, %r1
7514 sllx %r1, 32, %r1
7515 or %r1, %r2, %r2
7516 stxa %r2, [%r0] ASI_LSU_CONTROL
7517 .word 0x3d400001 ! 282: FBPULE fbule,a,pn %fcc0, <label_0x1>
7518mondo_40_218:
7519 nop
7520 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
7521 stxa %r17, [%r0+0x3e8] %asi
7522 .word 0x9d920012 ! 283: WRPR_WSTATE_R wrpr %r8, %r18, %wstate
7523vahole_40_219:
7524 nop
7525 ta T_CHANGE_NONHPRIV
7526 setx vahole_target0, %r18, %r27
7527 jmpl %r27+0, %r27
7528 .word 0xe1bfd920 ! 284: STDFA_R stda %f16, [%r0, %r31]
7529mondo_40_220:
7530 nop
7531 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
7532 ta T_CHANGE_PRIV
7533 stxa %r6, [%r0+0x3e0] %asi
7534 .word 0x9d94c006 ! 285: WRPR_WSTATE_R wrpr %r19, %r6, %wstate
7535 fbug skip_40_221
7536 .word 0xc368fffd ! 1: PREFETCH_I prefetch [%r3 + 0xfffffffd], #one_read
7537.align 512
7538skip_40_221:
7539 .word 0x39400001 ! 286: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
7540donret_40_222:
7541 nop
7542 ta T_CHANGE_HPRIV ! macro
7543 rd %pc, %r12
7544 add %r12, (donretarg_40_222-donret_40_222-8), %r12
7545 mov 0x38, %r18
7546 stxa %r12, [%r18]0x58
7547 add %r12, 0x4, %r11
7548 wrpr %g0, 0x2, %tl
7549 wrpr %g0, %r12, %tpc
7550 wrpr %g0, %r11, %tnpc
7551 set (0x002999df | (0x58 << 24)), %r13
7552 rdpr %tstate, %r16
7553 mov 0x1f, %r19
7554 and %r19, %r16, %r17
7555 andn %r16, %r19, %r16
7556 or %r16, %r17, %r20
7557 wrpr %r20, %g0, %tstate
7558 wrhpr %g0, 0x79c, %htstate
7559 ta T_CHANGE_NONHPRIV ! rand=1 (40)
7560 retry
7561donretarg_40_222:
7562 .word 0xe86fe05b ! 287: LDSTUB_I ldstub %r20, [%r31 + 0x005b]
7563jmptr_40_223:
7564 nop
7565 best_set_reg(0xe1200000, %r20, %r27)
7566 .word 0xb7c6c000 ! 288: JMPL_R jmpl %r27 + %r0, %r27
7567splash_cmpr_40_224:
7568 nop
7569 setx 0x5c90247db4f23a32, %l2, %l1
7570 ta T_CHANGE_HPRIV
7571 wrhpr %l1, %g0, %hsys_tick_cmpr
7572 sub %l1, 40, %g1
7573 .word 0x89900011 ! 289: WRPR_TICK_R wrpr %r0, %r17, %tick
7574splash_cmpr_40_225:
7575 nop
7576 setx 0x7fd39e6523a324b3, %l2, %l1
7577 ta T_CHANGE_PRIV
7578 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
7579 ta T_CHANGE_NONPRIV
7580 sub %l1, 40, %g1
7581 .word 0x89900011 ! 290: WRPR_TICK_R wrpr %r0, %r17, %tick
7582pmu_40_226:
7583 nop
7584 setx 0xfffff08cfffffa90, %g1, %g7
7585 .word 0xa3800007 ! 291: WR_PERF_COUNTER_R wr %r0, %r7, %-
7586pmu_40_227:
7587 nop
7588 ta T_CHANGE_PRIV
7589 setx 0xfffffef5fffffbcb, %g1, %g7
7590 .word 0xa3800007 ! 292: WR_PERF_COUNTER_R wr %r0, %r7, %-
7591mondo_40_228:
7592 nop
7593 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
7594 ta T_CHANGE_PRIV
7595 stxa %r1, [%r0+0x3c0] %asi
7596 .word 0x9d950002 ! 293: WRPR_WSTATE_R wrpr %r20, %r2, %wstate
7597 .word 0x87802055 ! 294: WRASI_I wr %r0, 0x0055, %asi
7598 .word 0xa5a00162 ! 295: FABSq dis not found
7599
7600donret_40_230:
7601 nop
7602 ta T_CHANGE_HPRIV ! macro
7603 rd %pc, %r12
7604 add %r12, (donretarg_40_230-donret_40_230-8), %r12
7605 mov 0x38, %r18
7606 stxa %r12, [%r18]0x58
7607 add %r12, 0x4, %r11
7608 wrpr %g0, 0x1, %tl
7609 wrpr %g0, %r12, %tpc
7610 wrpr %g0, %r11, %tnpc
7611 set (0x004641d6 | (28 << 24)), %r13
7612 rdpr %tstate, %r16
7613 mov 0x1f, %r19
7614 and %r19, %r16, %r17
7615 andn %r16, %r19, %r16
7616 or %r16, %r17, %r20
7617 wrpr %r20, %g0, %tstate
7618 wrhpr %g0, 0xf47, %htstate
7619 ta T_CHANGE_NONPRIV ! rand=0 (40)
7620 .word 0x2e800001 ! 1: BVS bvs,a <label_0x1>
7621 retry
7622donretarg_40_230:
7623 .word 0xe66fe0de ! 296: LDSTUB_I ldstub %r19, [%r31 + 0x00de]
7624vahole_40_231:
7625 nop
7626 ta T_CHANGE_NONHPRIV
7627 setx vahole_target2, %r18, %r27
7628 jmpl %r27+0, %r27
7629 .word 0xe1bfde00 ! 297: STDFA_R stda %f16, [%r0, %r31]
7630 nop
7631 ta T_CHANGE_HPRIV
7632 mov 0x40+1, %r10
7633 set sync_thr_counter5, %r23
7634#ifndef SPC
7635 ldxa [%g0]0x63, %o1
7636 and %o1, 0x38, %o1
7637 add %o1, %r23, %r23
7638#endif
7639 cas [%r23],%g0,%r10 !lock
7640 brnz %r10, cwq_40_232
7641 rd %asi, %r12
7642 wr %g0, 0x40, %asi
7643 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
7644 and %l1, 0x3, %l1 ! Check if busy/enabled ..
7645 cmp %l1, 1
7646 bne cwq_40_232
7647 set CWQ_BASE, %l6
7648 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
7649 best_set_reg(0x206100e0, %l1, %l2) !# Control Word
7650 sllx %l2, 32, %l2
7651 stx %l2, [%l6 + 0x0]
7652 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
7653 sub %l2, 0x40, %l2
7654 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
7655 wr %r12, %g0, %asi
7656 st %g0, [%r23]
7657cwq_40_232:
7658 ta T_CHANGE_NONHPRIV
7659 .word 0xa1414000 ! 298: RDPC rd %pc, %r16
7660trapasi_40_233:
7661 nop
7662 mov 0x3f0, %r1 ! (VA for ASI 0x25)
7663 .word 0xda8844a0 ! 299: LDUBA_R lduba [%r1, %r0] 0x25, %r13
7664dvapa_40_234:
7665 nop
7666 ta T_CHANGE_HPRIV
7667 mov 0xb3b, %r20
7668 mov 0xe, %r19
7669 sllx %r20, 23, %r20
7670 or %r19, %r20, %r19
7671 stxa %r19, [%g0] ASI_LSU_CONTROL
7672 mov 0x38, %r18
7673 stxa %r31, [%r18]0x58
7674 ta T_CHANGE_NONHPRIV
7675 .word 0xa3a109ad ! 300: FDIVs fdivs %f4, %f13, %f17
7676intveclr_40_235:
7677 nop
7678 ta T_CHANGE_HPRIV
7679 setx 0x86ace55a93e6cd19, %r1, %r28
7680 stxa %r28, [%g0] 0x72
7681 ta T_CHANGE_NONHPRIV
7682 .word 0x25400001 ! 301: FBPLG fblg,a,pn %fcc0, <label_0x1>
7683mondo_40_236:
7684 nop
7685 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
7686 stxa %r20, [%r0+0x3c8] %asi
7687 .word 0x9d91c00d ! 302: WRPR_WSTATE_R wrpr %r7, %r13, %wstate
7688 setx 0x554413fc24481202, %r1, %r28
7689 stxa %r28, [%g0] 0x73
7690intvec_40_237:
7691 .word 0x39400001 ! 303: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
7692 .word 0x95a0016c ! 304: FABSq dis not found
7693
7694pmu_40_239:
7695 nop
7696 ta T_CHANGE_PRIV
7697 setx 0xfffff205fffff05a, %g1, %g7
7698 .word 0xa3800007 ! 305: WR_PERF_COUNTER_R wr %r0, %r7, %-
7699pmu_40_240:
7700 nop
7701 ta T_CHANGE_PRIV
7702 setx 0xfffffcd7fffff0f2, %g1, %g7
7703 .word 0xa3800007 ! 306: WR_PERF_COUNTER_R wr %r0, %r7, %-
7704ibp_40_241:
7705 nop
7706 ta T_CHANGE_HPRIV
7707 mov 8, %r18
7708 rd %asi, %r12
7709 wr %r0, 0x41, %asi
7710 set sync_thr_counter4, %r23
7711#ifndef SPC
7712 ldxa [%g0]0x63, %r8
7713 and %r8, 0x38, %r8 ! Core ID
7714 add %r8, %r23, %r23
7715#else
7716 mov 0, %r8
7717#endif
7718 mov 0x40, %r16
7719ibp_startwait40_241:
7720 cas [%r23],%g0,%r16 !lock
7721 brz,a %r16, continue_ibp_40_241
7722 mov (~0x40&0xf0), %r16
7723 ld [%r23], %r16
7724ibp_wait40_241:
7725 brnz %r16, ibp_wait40_241
7726 ld [%r23], %r16
7727 ba ibp_startwait40_241
7728 mov 0x40, %r16
7729continue_ibp_40_241:
7730 sllx %r16, %r8, %r16 !Mask for my core only
7731 ldxa [0x58]%asi, %r17 !Running_status
7732wait_for_stat_40_241:
7733 ldxa [0x50]%asi, %r13 !Running_rw
7734 cmp %r13, %r17
7735 bne,a wait_for_stat_40_241
7736 ldxa [0x58]%asi, %r17 !Running_status
7737 stxa %r16, [0x68]%asi !Park (W1C)
7738 ldxa [0x50]%asi, %r14 !Running_rw
7739wait_for_ibp_40_241:
7740 ldxa [0x58]%asi, %r17 !Running_status
7741 cmp %r14, %r17
7742 bne,a wait_for_ibp_40_241
7743 ldxa [0x50]%asi, %r14 !Running_rw
7744ibp_doit40_241:
7745 best_set_reg(0x000000503fd7a0cf,%r19, %r20)
7746 stxa %r20, [%r18]0x42
7747 stxa %r16, [0x60] %asi !Unpark (W1S)
7748 st %g0, [%r23] !clear lock
7749 wr %r0, %r12, %asi !restore %asi
7750 ta T_CHANGE_NONHPRIV
7751 .word 0xe53fc008 ! 307: STDF_R std %f18, [%r8, %r31]
7752splash_tba_40_242:
7753 ta T_CHANGE_PRIV
7754 setx 0x0000000400380000, %r11, %r12
7755 .word 0x8b90000c ! 308: WRPR_TBA_R wrpr %r0, %r12, %tba
7756change_to_randtl_40_243:
7757 ta T_CHANGE_HPRIV ! macro
7758done_change_to_randtl_40_243:
7759 .word 0x8f902002 ! 309: WRPR_TL_I wrpr %r0, 0x0002, %tl
7760 .word 0x8d802000 ! 310: WRFPRS_I wr %r0, 0x0000, %fprs
7761intveclr_40_244:
7762 nop
7763 ta T_CHANGE_HPRIV
7764 setx 0xe816b966b3c82029, %r1, %r28
7765 stxa %r28, [%g0] 0x72
7766 .word 0x25400001 ! 311: FBPLG fblg,a,pn %fcc0, <label_0x1>
7767vahole_40_245:
7768 nop
7769 ta T_CHANGE_NONHPRIV
7770 setx vahole_target3, %r18, %r27
7771 jmpl %r27+0, %r27
7772 .word 0xc19fda00 ! 312: LDDFA_R ldda [%r31, %r0], %f0
7773 nop
7774 ta T_CHANGE_HPRIV
7775 mov 0x40, %r10
7776 set sync_thr_counter6, %r23
7777#ifndef SPC
7778 ldxa [%g0]0x63, %o1
7779 and %o1, 0x38, %o1
7780 add %o1, %r23, %r23
7781#endif
7782 cas [%r23],%g0,%r10 !lock
7783 brnz %r10, sma_40_246
7784 rd %asi, %r12
7785 wr %g0, 0x40, %asi
7786 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
7787 set 0x001a1fff, %g1
7788 stxa %g1, [%g0 + 0x80] %asi
7789 wr %r12, %g0, %asi
7790 st %g0, [%r23]
7791sma_40_246:
7792 ta T_CHANGE_NONHPRIV
7793 .word 0xe5e7e00a ! 313: CASA_R casa [%r31] %asi, %r10, %r18
7794dvapa_40_247:
7795 nop
7796 ta T_CHANGE_HPRIV
7797 mov 0x82a, %r20
7798 mov 0x15, %r19
7799 sllx %r20, 23, %r20
7800 or %r19, %r20, %r19
7801 stxa %r19, [%g0] ASI_LSU_CONTROL
7802 mov 0x38, %r18
7803 stxa %r31, [%r18]0x58
7804 ta T_CHANGE_NONHPRIV
7805 .word 0x93702eb2 ! 314: POPC_I popc 0x0eb2, %r9
7806unsupttte_40_248:
7807 nop
7808 ta T_CHANGE_HPRIV
7809 mov 1, %r20
7810 sllx %r20, 63, %r20
7811 or %r20, 2,%r20
7812 stxa %r20, [%g0]0x5c ! D unsupported page size ..
7813 ta T_CHANGE_NONHPRIV
7814 .word 0x99a509b1 ! 315: FDIVs fdivs %f20, %f17, %f12
7815ibp_40_249:
7816 nop
7817 ta T_CHANGE_HPRIV
7818 mov 8, %r18
7819 rd %asi, %r12
7820 wr %r0, 0x41, %asi
7821 set sync_thr_counter4, %r23
7822#ifndef SPC
7823 ldxa [%g0]0x63, %r8
7824 and %r8, 0x38, %r8 ! Core ID
7825 add %r8, %r23, %r23
7826#else
7827 mov 0, %r8
7828#endif
7829 mov 0x40, %r16
7830ibp_startwait40_249:
7831 cas [%r23],%g0,%r16 !lock
7832 brz,a %r16, continue_ibp_40_249
7833 mov (~0x40&0xf0), %r16
7834 ld [%r23], %r16
7835ibp_wait40_249:
7836 brnz %r16, ibp_wait40_249
7837 ld [%r23], %r16
7838 ba ibp_startwait40_249
7839 mov 0x40, %r16
7840continue_ibp_40_249:
7841 sllx %r16, %r8, %r16 !Mask for my core only
7842 ldxa [0x58]%asi, %r17 !Running_status
7843wait_for_stat_40_249:
7844 ldxa [0x50]%asi, %r13 !Running_rw
7845 cmp %r13, %r17
7846 bne,a wait_for_stat_40_249
7847 ldxa [0x58]%asi, %r17 !Running_status
7848 stxa %r16, [0x68]%asi !Park (W1C)
7849 ldxa [0x50]%asi, %r14 !Running_rw
7850wait_for_ibp_40_249:
7851 ldxa [0x58]%asi, %r17 !Running_status
7852 cmp %r14, %r17
7853 bne,a wait_for_ibp_40_249
7854 ldxa [0x50]%asi, %r14 !Running_rw
7855ibp_doit40_249:
7856 best_set_reg(0x000000503ee0cf40,%r19, %r20)
7857 stxa %r20, [%r18]0x42
7858 stxa %r16, [0x60] %asi !Unpark (W1S)
7859 st %g0, [%r23] !clear lock
7860 wr %r0, %r12, %asi !restore %asi
7861 ta T_CHANGE_NONHPRIV
7862 .word 0xd0bfc032 ! 316: STDA_R stda %r8, [%r31 + %r18] 0x01
7863 .word 0x3e800001 ! 317: BVC bvc,a <label_0x1>
7864#if (defined SPC || defined CMP)
7865!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_40_250) + 8, 16, 16)) -> intp(7,0,13)
7866!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_40_250)&0xffffffff) + 8, 16, 16)) -> intp(7,0,13)
7867#else
7868 setx 0x4bcbb00c933ce74d, %r1, %r28
7869 stxa %r28, [%g0] 0x73
7870#endif
7871intvec_40_250:
7872 .word 0x39400001 ! 318: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
7873ibp_40_251:
7874 nop
7875 ta T_CHANGE_HPRIV
7876 mov 8, %r18
7877 rd %asi, %r12
7878 wr %r0, 0x41, %asi
7879 set sync_thr_counter4, %r23
7880#ifndef SPC
7881 ldxa [%g0]0x63, %r8
7882 and %r8, 0x38, %r8 ! Core ID
7883 add %r8, %r23, %r23
7884#else
7885 mov 0, %r8
7886#endif
7887 mov 0x40, %r16
7888ibp_startwait40_251:
7889 cas [%r23],%g0,%r16 !lock
7890 brz,a %r16, continue_ibp_40_251
7891 mov (~0x40&0xf0), %r16
7892 ld [%r23], %r16
7893ibp_wait40_251:
7894 brnz %r16, ibp_wait40_251
7895 ld [%r23], %r16
7896 ba ibp_startwait40_251
7897 mov 0x40, %r16
7898continue_ibp_40_251:
7899 sllx %r16, %r8, %r16 !Mask for my core only
7900 ldxa [0x58]%asi, %r17 !Running_status
7901wait_for_stat_40_251:
7902 ldxa [0x50]%asi, %r13 !Running_rw
7903 cmp %r13, %r17
7904 bne,a wait_for_stat_40_251
7905 ldxa [0x58]%asi, %r17 !Running_status
7906 stxa %r16, [0x68]%asi !Park (W1C)
7907 ldxa [0x50]%asi, %r14 !Running_rw
7908wait_for_ibp_40_251:
7909 ldxa [0x58]%asi, %r17 !Running_status
7910 cmp %r14, %r17
7911 bne,a wait_for_ibp_40_251
7912 ldxa [0x50]%asi, %r14 !Running_rw
7913ibp_doit40_251:
7914 best_set_reg(0x00000050bccf4020,%r19, %r20)
7915 stxa %r20, [%r18]0x42
7916 stxa %r16, [0x60] %asi !Unpark (W1S)
7917 st %g0, [%r23] !clear lock
7918 wr %r0, %r12, %asi !restore %asi
7919 .word 0xd097c02d ! 319: LDUHA_R lduha [%r31, %r13] 0x01, %r8
7920vahole_40_252:
7921 nop
7922 ta T_CHANGE_NONHPRIV
7923 setx vahole_target2, %r18, %r27
7924 jmpl %r27+0, %r27
7925 .word 0xc19fdf20 ! 320: LDDFA_R ldda [%r31, %r0], %f0
7926 setx 0xce3c3e84c5f18732, %r1, %r28
7927 stxa %r28, [%g0] 0x73
7928intvec_40_253:
7929 .word 0x39400001 ! 321: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
7930 .word 0xd0800a60 ! 322: LDUWA_R lduwa [%r0, %r0] 0x53, %r8
7931dvapa_40_254:
7932 nop
7933 ta T_CHANGE_HPRIV
7934 mov 0x8f2, %r20
7935 mov 0x16, %r19
7936 sllx %r20, 23, %r20
7937 or %r19, %r20, %r19
7938 stxa %r19, [%g0] ASI_LSU_CONTROL
7939 mov 0x38, %r18
7940 stxa %r31, [%r18]0x58
7941 ta T_CHANGE_NONHPRIV
7942 .word 0xd13fc00b ! 323: STDF_R std %f8, [%r11, %r31]
7943 .word 0x8d802000 ! 324: WRFPRS_I wr %r0, 0x0000, %fprs
7944intveclr_40_255:
7945 nop
7946 ta T_CHANGE_HPRIV
7947 setx 0xe0ddf71811e6990b, %r1, %r28
7948 stxa %r28, [%g0] 0x72
7949 .word 0x25400001 ! 325: FBPLG fblg,a,pn %fcc0, <label_0x1>
7950 nop
7951 ta T_CHANGE_HPRIV
7952 mov 0x40, %r10
7953 set sync_thr_counter6, %r23
7954#ifndef SPC
7955 ldxa [%g0]0x63, %o1
7956 and %o1, 0x38, %o1
7957 add %o1, %r23, %r23
7958#endif
7959 cas [%r23],%g0,%r10 !lock
7960 brnz %r10, sma_40_256
7961 rd %asi, %r12
7962 wr %g0, 0x40, %asi
7963 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
7964 set 0x001e1fff, %g1
7965 stxa %g1, [%g0 + 0x80] %asi
7966 wr %r12, %g0, %asi
7967 st %g0, [%r23]
7968sma_40_256:
7969 ta T_CHANGE_NONHPRIV
7970 .word 0xd1e7e00a ! 326: CASA_R casa [%r31] %asi, %r10, %r8
7971 nop
7972 ta T_CHANGE_HPRIV
7973 mov 0x40+1, %r10
7974 set sync_thr_counter5, %r23
7975#ifndef SPC
7976 ldxa [%g0]0x63, %o1
7977 and %o1, 0x38, %o1
7978 add %o1, %r23, %r23
7979#endif
7980 cas [%r23],%g0,%r10 !lock
7981 brnz %r10, cwq_40_257
7982 rd %asi, %r12
7983 wr %g0, 0x40, %asi
7984 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
7985 and %l1, 0x3, %l1 ! Check if busy/enabled ..
7986 cmp %l1, 1
7987 bne cwq_40_257
7988 set CWQ_BASE, %l6
7989 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
7990 best_set_reg(0x206100b0, %l1, %l2) !# Control Word
7991 sllx %l2, 32, %l2
7992 stx %l2, [%l6 + 0x0]
7993 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
7994 sub %l2, 0x40, %l2
7995 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
7996 wr %r12, %g0, %asi
7997 st %g0, [%r23]
7998cwq_40_257:
7999 ta T_CHANGE_NONHPRIV
8000 .word 0xa7414000 ! 327: RDPC rd %pc, %r19
8001ibp_40_258:
8002 nop
8003 ta T_CHANGE_HPRIV
8004 mov 8, %r18
8005 rd %asi, %r12
8006 wr %r0, 0x41, %asi
8007 set sync_thr_counter4, %r23
8008#ifndef SPC
8009 ldxa [%g0]0x63, %r8
8010 and %r8, 0x38, %r8 ! Core ID
8011 add %r8, %r23, %r23
8012#else
8013 mov 0, %r8
8014#endif
8015 mov 0x40, %r16
8016ibp_startwait40_258:
8017 cas [%r23],%g0,%r16 !lock
8018 brz,a %r16, continue_ibp_40_258
8019 mov (~0x40&0xf0), %r16
8020 ld [%r23], %r16
8021ibp_wait40_258:
8022 brnz %r16, ibp_wait40_258
8023 ld [%r23], %r16
8024 ba ibp_startwait40_258
8025 mov 0x40, %r16
8026continue_ibp_40_258:
8027 sllx %r16, %r8, %r16 !Mask for my core only
8028 ldxa [0x58]%asi, %r17 !Running_status
8029wait_for_stat_40_258:
8030 ldxa [0x50]%asi, %r13 !Running_rw
8031 cmp %r13, %r17
8032 bne,a wait_for_stat_40_258
8033 ldxa [0x58]%asi, %r17 !Running_status
8034 stxa %r16, [0x68]%asi !Park (W1C)
8035 ldxa [0x50]%asi, %r14 !Running_rw
8036wait_for_ibp_40_258:
8037 ldxa [0x58]%asi, %r17 !Running_status
8038 cmp %r14, %r17
8039 bne,a wait_for_ibp_40_258
8040 ldxa [0x50]%asi, %r14 !Running_rw
8041ibp_doit40_258:
8042 best_set_reg(0x0000005031c020b6,%r19, %r20)
8043 stxa %r20, [%r18]0x42
8044 stxa %r16, [0x60] %asi !Unpark (W1S)
8045 st %g0, [%r23] !clear lock
8046 wr %r0, %r12, %asi !restore %asi
8047 ta T_CHANGE_NONHPRIV
8048 .word 0xe19fc3e0 ! 328: LDDFA_R ldda [%r31, %r0], %f16
8049fpinit_40_259:
8050 setx fp_data_quads, %r19, %r20
8051 ldd [%r20], %f0
8052 ldd [%r20+8], %f4
8053 ld [%r20+16], %fsr
8054 ld [%r20+24], %r19
8055 wr %r19, %g0, %gsr
8056 .word 0x89a009c4 ! 329: FDIVd fdivd %f0, %f4, %f4
8057vahole_40_260:
8058 nop
8059 ta T_CHANGE_NONHPRIV
8060 setx vahole_target1, %r18, %r27
8061 jmpl %r27+0, %r27
8062 .word 0xda3ff065 ! 330: STD_I std %r13, [%r31 + 0xfffff065]
8063 .word 0xda800be0 ! 331: LDUWA_R lduwa [%r0, %r0] 0x5f, %r13
8064 .word 0x96d4fd56 ! 332: UMULcc_I umulcc %r19, 0xfffffd56, %r11
8065ibp_40_261:
8066 nop
8067 ta T_CHANGE_HPRIV
8068 mov 8, %r18
8069 rd %asi, %r12
8070 wr %r0, 0x41, %asi
8071 set sync_thr_counter4, %r23
8072#ifndef SPC
8073 ldxa [%g0]0x63, %r8
8074 and %r8, 0x38, %r8 ! Core ID
8075 add %r8, %r23, %r23
8076#else
8077 mov 0, %r8
8078#endif
8079 mov 0x40, %r16
8080ibp_startwait40_261:
8081 cas [%r23],%g0,%r16 !lock
8082 brz,a %r16, continue_ibp_40_261
8083 mov (~0x40&0xf0), %r16
8084 ld [%r23], %r16
8085ibp_wait40_261:
8086 brnz %r16, ibp_wait40_261
8087 ld [%r23], %r16
8088 ba ibp_startwait40_261
8089 mov 0x40, %r16
8090continue_ibp_40_261:
8091 sllx %r16, %r8, %r16 !Mask for my core only
8092 ldxa [0x58]%asi, %r17 !Running_status
8093wait_for_stat_40_261:
8094 ldxa [0x50]%asi, %r13 !Running_rw
8095 cmp %r13, %r17
8096 bne,a wait_for_stat_40_261
8097 ldxa [0x58]%asi, %r17 !Running_status
8098 stxa %r16, [0x68]%asi !Park (W1C)
8099 ldxa [0x50]%asi, %r14 !Running_rw
8100wait_for_ibp_40_261:
8101 ldxa [0x58]%asi, %r17 !Running_status
8102 cmp %r14, %r17
8103 bne,a wait_for_ibp_40_261
8104 ldxa [0x50]%asi, %r14 !Running_rw
8105ibp_doit40_261:
8106 best_set_reg(0x0000005017e0b6e2,%r19, %r20)
8107 stxa %r20, [%r18]0x42
8108 stxa %r16, [0x60] %asi !Unpark (W1S)
8109 st %g0, [%r23] !clear lock
8110 wr %r0, %r12, %asi !restore %asi
8111 .word 0xc3ecc030 ! 333: PREFETCHA_R prefetcha [%r19, %r16] 0x01, #one_read
8112mondo_40_262:
8113 nop
8114 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
8115 ta T_CHANGE_PRIV
8116 stxa %r3, [%r0+0x3d8] %asi
8117 .word 0x9d930014 ! 334: WRPR_WSTATE_R wrpr %r12, %r20, %wstate
8118mondo_40_263:
8119 nop
8120 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
8121 stxa %r20, [%r0+0x3d8] %asi
8122 .word 0x9d930007 ! 335: WRPR_WSTATE_R wrpr %r12, %r7, %wstate
8123 .word 0x97524000 ! 336: RDPR_CWP rdpr %cwp, %r11
8124pmu_40_265:
8125 nop
8126 ta T_CHANGE_PRIV
8127 setx 0xfffffefffffffff8, %g1, %g7
8128 .word 0xa3800007 ! 337: WR_PERF_COUNTER_R wr %r0, %r7, %-
8129dvapa_40_266:
8130 nop
8131 ta T_CHANGE_HPRIV
8132 mov 0xc25, %r20
8133 mov 0x3, %r19
8134 sllx %r20, 23, %r20
8135 or %r19, %r20, %r19
8136 stxa %r19, [%g0] ASI_LSU_CONTROL
8137 mov 0x38, %r18
8138 stxa %r31, [%r18]0x58
8139 ta T_CHANGE_NONHPRIV
8140 .word 0xd297c02d ! 338: LDUHA_R lduha [%r31, %r13] 0x01, %r9
8141splash_lsu_40_267:
8142 nop
8143 ta T_CHANGE_HPRIV
8144 set 0xa5de1fb5, %r2
8145 mov 0x4, %r1
8146 sllx %r1, 32, %r1
8147 or %r1, %r2, %r2
8148 stxa %r2, [%r0] ASI_LSU_CONTROL
8149 ta T_CHANGE_NONHPRIV
8150 .word 0x3d400001 ! 339: FBPULE fbule,a,pn %fcc0, <label_0x1>
8151splash_tba_40_268:
8152 ta T_CHANGE_PRIV
8153 set 0x120000, %r12
8154 .word 0x8b90000c ! 340: WRPR_TBA_R wrpr %r0, %r12, %tba
8155 otherw
8156 mov 0x35, %r30
8157 .word 0x91d0001e ! 341: Tcc_R ta icc_or_xcc, %r0 + %r30
8158donret_40_269:
8159 nop
8160 ta T_CHANGE_HPRIV ! macro
8161 rd %pc, %r12
8162 add %r12, (donretarg_40_269-donret_40_269-4), %r12
8163 mov 0x38, %r18
8164 stxa %r12, [%r18]0x58
8165 add %r12, 0x4, %r11
8166 wrpr %g0, 0x2, %tl
8167 wrpr %g0, %r12, %tpc
8168 wrpr %g0, %r11, %tnpc
8169 set (0x009e692e | (0x83 << 24)), %r13
8170 rdpr %tstate, %r16
8171 mov 0x1f, %r19
8172 and %r19, %r16, %r17
8173 andn %r16, %r19, %r16
8174 or %r16, %r17, %r20
8175 wrpr %r20, %g0, %tstate
8176 wrhpr %g0, 0x30d, %htstate
8177 ta T_CHANGE_NONPRIV ! rand=0 (40)
8178 .word 0x2acb0001 ! 1: BRNZ brnz,a,pt %r12,<label_0xb0001>
8179 done
8180donretarg_40_269:
8181 .word 0xa3a509c6 ! 342: FDIVd fdivd %f20, %f6, %f48
8182ibp_40_270:
8183 nop
8184 ta T_CHANGE_HPRIV
8185 mov 8, %r18
8186 rd %asi, %r12
8187 wr %r0, 0x41, %asi
8188 set sync_thr_counter4, %r23
8189#ifndef SPC
8190 ldxa [%g0]0x63, %r8
8191 and %r8, 0x38, %r8 ! Core ID
8192 add %r8, %r23, %r23
8193#else
8194 mov 0, %r8
8195#endif
8196 mov 0x40, %r16
8197ibp_startwait40_270:
8198 cas [%r23],%g0,%r16 !lock
8199 brz,a %r16, continue_ibp_40_270
8200 mov (~0x40&0xf0), %r16
8201 ld [%r23], %r16
8202ibp_wait40_270:
8203 brnz %r16, ibp_wait40_270
8204 ld [%r23], %r16
8205 ba ibp_startwait40_270
8206 mov 0x40, %r16
8207continue_ibp_40_270:
8208 sllx %r16, %r8, %r16 !Mask for my core only
8209 ldxa [0x58]%asi, %r17 !Running_status
8210wait_for_stat_40_270:
8211 ldxa [0x50]%asi, %r13 !Running_rw
8212 cmp %r13, %r17
8213 bne,a wait_for_stat_40_270
8214 ldxa [0x58]%asi, %r17 !Running_status
8215 stxa %r16, [0x68]%asi !Park (W1C)
8216 ldxa [0x50]%asi, %r14 !Running_rw
8217wait_for_ibp_40_270:
8218 ldxa [0x58]%asi, %r17 !Running_status
8219 cmp %r14, %r17
8220 bne,a wait_for_ibp_40_270
8221 ldxa [0x50]%asi, %r14 !Running_rw
8222ibp_doit40_270:
8223 best_set_reg(0x00000050a8f6e250,%r19, %r20)
8224 stxa %r20, [%r18]0x42
8225 stxa %r16, [0x60] %asi !Unpark (W1S)
8226 st %g0, [%r23] !clear lock
8227 wr %r0, %r12, %asi !restore %asi
8228 .word 0xc19fdf20 ! 343: LDDFA_R ldda [%r31, %r0], %f0
8229 .word 0x9f802633 ! 344: SIR sir 0x0633
8230splash_hpstate_40_271:
8231 .word 0x81982a17 ! 345: WRHPR_HPSTATE_I wrhpr %r0, 0x0a17, %hpstate
8232 nop
8233 ta T_CHANGE_HPRIV
8234 mov 0x40+1, %r10
8235 set sync_thr_counter5, %r23
8236#ifndef SPC
8237 ldxa [%g0]0x63, %o1
8238 and %o1, 0x38, %o1
8239 add %o1, %r23, %r23
8240#endif
8241 cas [%r23],%g0,%r10 !lock
8242 brnz %r10, cwq_40_272
8243 rd %asi, %r12
8244 wr %g0, 0x40, %asi
8245 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
8246 and %l1, 0x3, %l1 ! Check if busy/enabled ..
8247 cmp %l1, 1
8248 bne cwq_40_272
8249 set CWQ_BASE, %l6
8250 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
8251 best_set_reg(0x20610030, %l1, %l2) !# Control Word
8252 sllx %l2, 32, %l2
8253 stx %l2, [%l6 + 0x0]
8254 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
8255 sub %l2, 0x40, %l2
8256 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
8257 wr %r12, %g0, %asi
8258 st %g0, [%r23]
8259cwq_40_272:
8260 ta T_CHANGE_NONHPRIV
8261 .word 0x95414000 ! 346: RDPC rd %pc, %r10
8262ibp_40_273:
8263 nop
8264 ta T_CHANGE_HPRIV
8265 mov 8, %r18
8266 rd %asi, %r12
8267 wr %r0, 0x41, %asi
8268 set sync_thr_counter4, %r23
8269#ifndef SPC
8270 ldxa [%g0]0x63, %r8
8271 and %r8, 0x38, %r8 ! Core ID
8272 add %r8, %r23, %r23
8273#else
8274 mov 0, %r8
8275#endif
8276 mov 0x40, %r16
8277ibp_startwait40_273:
8278 cas [%r23],%g0,%r16 !lock
8279 brz,a %r16, continue_ibp_40_273
8280 mov (~0x40&0xf0), %r16
8281 ld [%r23], %r16
8282ibp_wait40_273:
8283 brnz %r16, ibp_wait40_273
8284 ld [%r23], %r16
8285 ba ibp_startwait40_273
8286 mov 0x40, %r16
8287continue_ibp_40_273:
8288 sllx %r16, %r8, %r16 !Mask for my core only
8289 ldxa [0x58]%asi, %r17 !Running_status
8290wait_for_stat_40_273:
8291 ldxa [0x50]%asi, %r13 !Running_rw
8292 cmp %r13, %r17
8293 bne,a wait_for_stat_40_273
8294 ldxa [0x58]%asi, %r17 !Running_status
8295 stxa %r16, [0x68]%asi !Park (W1C)
8296 ldxa [0x50]%asi, %r14 !Running_rw
8297wait_for_ibp_40_273:
8298 ldxa [0x58]%asi, %r17 !Running_status
8299 cmp %r14, %r17
8300 bne,a wait_for_ibp_40_273
8301 ldxa [0x50]%asi, %r14 !Running_rw
8302ibp_doit40_273:
8303 best_set_reg(0x00000050dbe250c9,%r19, %r20)
8304 stxa %r20, [%r18]0x42
8305 stxa %r16, [0x60] %asi !Unpark (W1S)
8306 st %g0, [%r23] !clear lock
8307 wr %r0, %r12, %asi !restore %asi
8308 ta T_CHANGE_NONHPRIV
8309 .word 0xdabfc032 ! 347: STDA_R stda %r13, [%r31 + %r18] 0x01
8310#if (defined SPC || defined CMP)
8311!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_40_274) + 8, 16, 16)) -> intp(1,0,20)
8312!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_40_274)&0xffffffff) + 8, 16, 16)) -> intp(1,0,20)
8313#else
8314 setx 0x5741383d716fca9b, %r1, %r28
8315 stxa %r28, [%g0] 0x73
8316#endif
8317intvec_40_274:
8318 .word 0x39400001 ! 348: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
8319pmu_40_275:
8320 nop
8321 ta T_CHANGE_PRIV
8322 setx 0xffffff6bfffffffe, %g1, %g7
8323 .word 0xa3800007 ! 349: WR_PERF_COUNTER_R wr %r0, %r7, %-
8324ibp_40_276:
8325 nop
8326 ta T_CHANGE_HPRIV
8327 mov 8, %r18
8328 rd %asi, %r12
8329 wr %r0, 0x41, %asi
8330 set sync_thr_counter4, %r23
8331#ifndef SPC
8332 ldxa [%g0]0x63, %r8
8333 and %r8, 0x38, %r8 ! Core ID
8334 add %r8, %r23, %r23
8335#else
8336 mov 0, %r8
8337#endif
8338 mov 0x40, %r16
8339ibp_startwait40_276:
8340 cas [%r23],%g0,%r16 !lock
8341 brz,a %r16, continue_ibp_40_276
8342 mov (~0x40&0xf0), %r16
8343 ld [%r23], %r16
8344ibp_wait40_276:
8345 brnz %r16, ibp_wait40_276
8346 ld [%r23], %r16
8347 ba ibp_startwait40_276
8348 mov 0x40, %r16
8349continue_ibp_40_276:
8350 sllx %r16, %r8, %r16 !Mask for my core only
8351 ldxa [0x58]%asi, %r17 !Running_status
8352wait_for_stat_40_276:
8353 ldxa [0x50]%asi, %r13 !Running_rw
8354 cmp %r13, %r17
8355 bne,a wait_for_stat_40_276
8356 ldxa [0x58]%asi, %r17 !Running_status
8357 stxa %r16, [0x68]%asi !Park (W1C)
8358 ldxa [0x50]%asi, %r14 !Running_rw
8359wait_for_ibp_40_276:
8360 ldxa [0x58]%asi, %r17 !Running_status
8361 cmp %r14, %r17
8362 bne,a wait_for_ibp_40_276
8363 ldxa [0x50]%asi, %r14 !Running_rw
8364ibp_doit40_276:
8365 best_set_reg(0x00000050cdd0c9a9,%r19, %r20)
8366 stxa %r20, [%r18]0x42
8367 stxa %r16, [0x60] %asi !Unpark (W1S)
8368 st %g0, [%r23] !clear lock
8369 wr %r0, %r12, %asi !restore %asi
8370 .word 0x9f802a91 ! 350: SIR sir 0x0a91
8371pmu_40_277:
8372 nop
8373 setx 0xfffff151fffff993, %g1, %g7
8374 .word 0xa3800007 ! 351: WR_PERF_COUNTER_R wr %r0, %r7, %-
8375 set 0x9e5, %l3
8376 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
8377 .word 0x99b1c7c3 ! 352: PDIST pdistn %d38, %d34, %d12
8378dvapa_40_278:
8379 nop
8380 ta T_CHANGE_HPRIV
8381 mov 0xb75, %r20
8382 mov 0x7, %r19
8383 sllx %r20, 23, %r20
8384 or %r19, %r20, %r19
8385 stxa %r19, [%g0] ASI_LSU_CONTROL
8386 mov 0x38, %r18
8387 stxa %r31, [%r18]0x58
8388 ta T_CHANGE_NONHPRIV
8389 .word 0x97a409a4 ! 353: FDIVs fdivs %f16, %f4, %f11
8390 .word 0xe71fe110 ! 354: LDDF_I ldd [%r31, 0x0110], %f19
8391pmu_40_279:
8392 nop
8393 ta T_CHANGE_PRIV
8394 setx 0xfffff9cafffffb2d, %g1, %g7
8395 .word 0xa3800007 ! 355: WR_PERF_COUNTER_R wr %r0, %r7, %-
8396#if (defined SPC || defined CMP)
8397!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_40_280) + 40, 16, 16)) -> intp(6,0,20)
8398!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_40_280)&0xffffffff) + 40, 16, 16)) -> intp(6,0,20)
8399#else
8400 setx 0xf65e6c0b577b814b, %r1, %r28
8401 stxa %r28, [%g0] 0x73
8402#endif
8403intvec_40_280:
8404 .word 0x39400001 ! 356: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
8405 .word 0xe697e030 ! 357: LDUHA_I lduha [%r31, + 0x0030] %asi, %r19
8406intveclr_40_281:
8407 nop
8408 ta T_CHANGE_HPRIV
8409 setx 0xb8cae9a44106c778, %r1, %r28
8410 stxa %r28, [%g0] 0x72
8411 ta T_CHANGE_NONHPRIV
8412 .word 0x25400001 ! 358: FBPLG fblg,a,pn %fcc0, <label_0x1>
8413 .word 0x3c780001 ! 359: BPPOS <illegal instruction>
8414pmu_40_282:
8415 nop
8416 setx 0xfffff686fffff4c8, %g1, %g7
8417 .word 0xa3800007 ! 360: WR_PERF_COUNTER_R wr %r0, %r7, %-
8418intveclr_40_283:
8419 nop
8420 ta T_CHANGE_HPRIV
8421 setx 0x64532c127b7e79a5, %r1, %r28
8422 stxa %r28, [%g0] 0x72
8423 ta T_CHANGE_NONHPRIV
8424 .word 0x25400001 ! 361: FBPLG fblg,a,pn %fcc0, <label_0x1>
8425 nop
8426 ta T_CHANGE_HPRIV
8427 mov 0x40+1, %r10
8428 set sync_thr_counter5, %r23
8429#ifndef SPC
8430 ldxa [%g0]0x63, %o1
8431 and %o1, 0x38, %o1
8432 add %o1, %r23, %r23
8433#endif
8434 cas [%r23],%g0,%r10 !lock
8435 brnz %r10, cwq_40_284
8436 rd %asi, %r12
8437 wr %g0, 0x40, %asi
8438 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
8439 and %l1, 0x3, %l1 ! Check if busy/enabled ..
8440 cmp %l1, 1
8441 bne cwq_40_284
8442 set CWQ_BASE, %l6
8443 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
8444 best_set_reg(0x20610040, %l1, %l2) !# Control Word
8445 sllx %l2, 32, %l2
8446 stx %l2, [%l6 + 0x0]
8447 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
8448 sub %l2, 0x40, %l2
8449 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
8450 wr %r12, %g0, %asi
8451 st %g0, [%r23]
8452cwq_40_284:
8453 ta T_CHANGE_NONHPRIV
8454 .word 0x97414000 ! 362: RDPC rd %pc, %r11
8455 .word 0x9b450000 ! 363: RD_SET_SOFTINT rd %set_softint, %r13
8456intveclr_40_285:
8457 nop
8458 ta T_CHANGE_HPRIV
8459 setx 0x1d98c16403d7d226, %r1, %r28
8460 stxa %r28, [%g0] 0x72
8461 .word 0x25400001 ! 364: FBPLG fblg,a,pn %fcc0, <label_0x1>
8462fpinit_40_286:
8463 setx fp_data_quads, %r19, %r20
8464 ldd [%r20], %f0
8465 ldd [%r20+8], %f4
8466 ld [%r20+16], %fsr
8467 ld [%r20+24], %r19
8468 wr %r19, %g0, %gsr
8469 .word 0x8da009c4 ! 365: FDIVd fdivd %f0, %f4, %f6
8470ibp_40_287:
8471 nop
8472 ta T_CHANGE_HPRIV
8473 mov 8, %r18
8474 rd %asi, %r12
8475 wr %r0, 0x41, %asi
8476 set sync_thr_counter4, %r23
8477#ifndef SPC
8478 ldxa [%g0]0x63, %r8
8479 and %r8, 0x38, %r8 ! Core ID
8480 add %r8, %r23, %r23
8481#else
8482 mov 0, %r8
8483#endif
8484 mov 0x40, %r16
8485ibp_startwait40_287:
8486 cas [%r23],%g0,%r16 !lock
8487 brz,a %r16, continue_ibp_40_287
8488 mov (~0x40&0xf0), %r16
8489 ld [%r23], %r16
8490ibp_wait40_287:
8491 brnz %r16, ibp_wait40_287
8492 ld [%r23], %r16
8493 ba ibp_startwait40_287
8494 mov 0x40, %r16
8495continue_ibp_40_287:
8496 sllx %r16, %r8, %r16 !Mask for my core only
8497 ldxa [0x58]%asi, %r17 !Running_status
8498wait_for_stat_40_287:
8499 ldxa [0x50]%asi, %r13 !Running_rw
8500 cmp %r13, %r17
8501 bne,a wait_for_stat_40_287
8502 ldxa [0x58]%asi, %r17 !Running_status
8503 stxa %r16, [0x68]%asi !Park (W1C)
8504 ldxa [0x50]%asi, %r14 !Running_rw
8505wait_for_ibp_40_287:
8506 ldxa [0x58]%asi, %r17 !Running_status
8507 cmp %r14, %r17
8508 bne,a wait_for_ibp_40_287
8509 ldxa [0x50]%asi, %r14 !Running_rw
8510ibp_doit40_287:
8511 best_set_reg(0x0000005030c9a910,%r19, %r20)
8512 stxa %r20, [%r18]0x42
8513 stxa %r16, [0x60] %asi !Unpark (W1S)
8514 st %g0, [%r23] !clear lock
8515 wr %r0, %r12, %asi !restore %asi
8516 .word 0xa1b207d1 ! 366: PDIST pdistn %d8, %d48, %d16
8517 nop
8518 ta T_CHANGE_HPRIV
8519 mov 0x40, %r10
8520 set sync_thr_counter6, %r23
8521#ifndef SPC
8522 ldxa [%g0]0x63, %o1
8523 and %o1, 0x38, %o1
8524 add %o1, %r23, %r23
8525#endif
8526 cas [%r23],%g0,%r10 !lock
8527 brnz %r10, sma_40_288
8528 rd %asi, %r12
8529 wr %g0, 0x40, %asi
8530 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
8531 set 0x001e1fff, %g1
8532 stxa %g1, [%g0 + 0x80] %asi
8533 wr %r12, %g0, %asi
8534 st %g0, [%r23]
8535sma_40_288:
8536 ta T_CHANGE_NONHPRIV
8537 .word 0xe5e7e00c ! 367: CASA_R casa [%r31] %asi, %r12, %r18
8538 .word 0x8d802004 ! 368: WRFPRS_I wr %r0, 0x0004, %fprs
8539 setx 0x72ba17ebbdb1c4f8, %r1, %r28
8540 stxa %r28, [%g0] 0x73
8541intvec_40_289:
8542 .word 0x39400001 ! 369: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
8543 nop
8544 ta T_CHANGE_HPRIV
8545 mov 0x40, %r10
8546 set sync_thr_counter6, %r23
8547#ifndef SPC
8548 ldxa [%g0]0x63, %o1
8549 and %o1, 0x38, %o1
8550 add %o1, %r23, %r23
8551#endif
8552 cas [%r23],%g0,%r10 !lock
8553 brnz %r10, sma_40_290
8554 rd %asi, %r12
8555 wr %g0, 0x40, %asi
8556 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
8557 set 0x000e1fff, %g1
8558 stxa %g1, [%g0 + 0x80] %asi
8559 wr %r12, %g0, %asi
8560 st %g0, [%r23]
8561sma_40_290:
8562 ta T_CHANGE_NONHPRIV
8563 .word 0xe5e7e011 ! 370: CASA_R casa [%r31] %asi, %r17, %r18
8564donret_40_291:
8565 nop
8566 ta T_CHANGE_HPRIV ! macro
8567 rd %pc, %r12
8568 add %r12, (donretarg_40_291-donret_40_291-4), %r12
8569 mov 0x38, %r18
8570 stxa %r12, [%r18]0x58
8571 add %r12, 0x4, %r11
8572 wrpr %g0, 0x2, %tl
8573 wrpr %g0, %r12, %tpc
8574 wrpr %g0, %r11, %tnpc
8575 set (0x009e741a | (32 << 24)), %r13
8576 rdpr %tstate, %r16
8577 mov 0x1f, %r19
8578 and %r19, %r16, %r17
8579 andn %r16, %r19, %r16
8580 or %r16, %r17, %r20
8581 wrpr %r20, %g0, %tstate
8582 wrhpr %g0, 0x116, %htstate
8583 ta T_CHANGE_NONPRIV ! rand=0 (40)
8584 .word 0x24800001 ! 1: BLE ble,a <label_0x1>
8585 done
8586donretarg_40_291:
8587 .word 0xa3a049c3 ! 371: FDIVd fdivd %f32, %f34, %f48
8588 .word 0xab847649 ! 372: WR_CLEAR_SOFTINT_I wr %r17, 0x1649, %clear_softint
8589 .word 0xd6800c00 ! 373: LDUWA_R lduwa [%r0, %r0] 0x60, %r11
8590 nop
8591 ta T_CHANGE_HPRIV
8592 mov 0x40, %r10
8593 set sync_thr_counter6, %r23
8594#ifndef SPC
8595 ldxa [%g0]0x63, %o1
8596 and %o1, 0x38, %o1
8597 add %o1, %r23, %r23
8598#endif
8599 cas [%r23],%g0,%r10 !lock
8600 brnz %r10, sma_40_292
8601 rd %asi, %r12
8602 wr %g0, 0x40, %asi
8603 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
8604 set 0x000e1fff, %g1
8605 stxa %g1, [%g0 + 0x80] %asi
8606 wr %r12, %g0, %asi
8607 st %g0, [%r23]
8608sma_40_292:
8609 ta T_CHANGE_NONHPRIV
8610 .word 0xd7e7e013 ! 374: CASA_R casa [%r31] %asi, %r19, %r11
8611br_longdelay2_40_293:
8612 .word 0x3b400001 ! 1: FBPLE fble,a,pn %fcc0, <label_0x1>
8613 .word 0x39400001 ! 375: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
8614dvapa_40_294:
8615 nop
8616 ta T_CHANGE_HPRIV
8617 mov 0xd84, %r20
8618 mov 0xd, %r19
8619 sllx %r20, 23, %r20
8620 or %r19, %r20, %r19
8621 stxa %r19, [%g0] ASI_LSU_CONTROL
8622 mov 0x38, %r18
8623 stxa %r31, [%r18]0x58
8624 ta T_CHANGE_NONHPRIV
8625 .word 0xd7e7e011 ! 376: CASA_R casa [%r31] %asi, %r17, %r11
8626splash_lsu_40_295:
8627 nop
8628 ta T_CHANGE_HPRIV
8629 set 0xfb4e3fc4, %r2
8630 mov 0x1, %r1
8631 sllx %r1, 32, %r1
8632 or %r1, %r2, %r2
8633 stxa %r2, [%r0] ASI_LSU_CONTROL
8634 ta T_CHANGE_NONHPRIV
8635 .word 0x3d400001 ! 377: FBPULE fbule,a,pn %fcc0, <label_0x1>
8636brcommon1_40_296:
8637 nop
8638 setx common_target, %r12, %r27
8639 lduw [%r27], %r12 ! Load common dest into dcache ..
8640 ba,a .+12
8641 .word 0x97a7c9d0 ! 1: FDIVd fdivd %f62, %f16, %f42
8642 ba,a .+8
8643 jmpl %r27+0, %r27
8644 .word 0x93a449b4 ! 378: FDIVs fdivs %f17, %f20, %f9
8645 .word 0x8d802004 ! 379: WRFPRS_I wr %r0, 0x0004, %fprs
8646splash_cmpr_40_297:
8647 nop
8648 setx 0xe4c0a908dad5bf09, %l2, %l1
8649 ta T_CHANGE_PRIV
8650 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
8651 ta T_CHANGE_NONPRIV
8652 sub %l1, 40, %g1
8653 .word 0x89900011 ! 380: WRPR_TICK_R wrpr %r0, %r17, %tick
8654#if (defined SPC || defined CMP)
8655!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_40_298) + 16, 16, 16)) -> intp(5,0,21)
8656!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_40_298)&0xffffffff) + 16, 16, 16)) -> intp(5,0,21)
8657#else
8658 setx 0x4debfa2444db9a42, %r1, %r28
8659 stxa %r28, [%g0] 0x73
8660#endif
8661intvec_40_298:
8662 .word 0x39400001 ! 381: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
8663 .word 0x91948010 ! 382: WRPR_PIL_R wrpr %r18, %r16, %pil
8664splash_cmpr_40_300:
8665 nop
8666 setx 0x8fe89f44a99a99bc, %l2, %l1
8667 ta T_CHANGE_HPRIV
8668 wrhpr %l1, %g0, %hsys_tick_cmpr
8669 ta T_CHANGE_NONHPRIV
8670 sub %l1, 40, %g1
8671 .word 0x89900011 ! 383: WRPR_TICK_R wrpr %r0, %r17, %tick
8672 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
8673reduce_priv_lvl_40_301:
8674 ta T_CHANGE_NONPRIV ! macro
8675mondo_40_302:
8676 nop
8677 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
8678 ta T_CHANGE_PRIV
8679 stxa %r5, [%r0+0x3e8] %asi
8680 .word 0x9d95000c ! 385: WRPR_WSTATE_R wrpr %r20, %r12, %wstate
8681 .word 0xd037e1ca ! 386: STH_I sth %r8, [%r31 + 0x01ca]
8682 nop
8683 mov 0x80, %g3
8684 stxa %g3, [%g3] 0x57
8685 .word 0xd05fc000 ! 387: LDX_R ldx [%r31 + %r0], %r8
8686 setx 0x947f1192e5b6a7cb, %r1, %r28
8687 stxa %r28, [%g0] 0x73
8688intvec_40_303:
8689 .word 0x39400001 ! 388: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
8690 .word 0x97a00163 ! 389: FABSq dis not found
8691
8692donret_40_305:
8693 nop
8694 ta T_CHANGE_HPRIV ! macro
8695 rd %pc, %r12
8696 add %r12, (donretarg_40_305-donret_40_305-4), %r12
8697 mov 0x38, %r18
8698 stxa %r12, [%r18]0x58
8699 add %r12, 0x4, %r11
8700 wrpr %g0, 0x1, %tl
8701 wrpr %g0, %r12, %tpc
8702 wrpr %g0, %r11, %tnpc
8703 set (0x00c9565c | (0x55 << 24)), %r13
8704 rdpr %tstate, %r16
8705 mov 0x1f, %r19
8706 and %r19, %r16, %r17
8707 andn %r16, %r19, %r16
8708 or %r16, %r17, %r20
8709 wrpr %r20, %g0, %tstate
8710 wrhpr %g0, 0x7df, %htstate
8711 ta T_CHANGE_NONPRIV ! rand=0 (40)
8712 .word 0x33400001 ! 1: FBPE fbe,a,pn %fcc0, <label_0x1>
8713 done
8714donretarg_40_305:
8715 .word 0xe8ffe159 ! 390: SWAPA_I swapa %r20, [%r31 + 0x0159] %asi
8716 .word 0xe897e008 ! 391: LDUHA_I lduha [%r31, + 0x0008] %asi, %r20
8717 .word 0xe8d7e050 ! 392: LDSHA_I ldsha [%r31, + 0x0050] %asi, %r20
8718pmu_40_306:
8719 nop
8720 ta T_CHANGE_PRIV
8721 setx 0xfffffeaafffffe86, %g1, %g7
8722 .word 0xa3800007 ! 393: WR_PERF_COUNTER_R wr %r0, %r7, %-
8723vahole_40_307:
8724 nop
8725 ta T_CHANGE_NONHPRIV
8726 setx vahole_target2, %r18, %r27
8727 jmpl %r27+0, %r27
8728 .word 0xc1bfd960 ! 394: STDFA_R stda %f0, [%r0, %r31]
8729trapasi_40_308:
8730 nop
8731 mov 0x28, %r1 ! (VA for ASI 0x5a)
8732 .word 0xe8c84b40 ! 395: LDSBA_R ldsba [%r1, %r0] 0x5a, %r20
8733trapasi_40_309:
8734 nop
8735 mov 0x18, %r1 ! (VA for ASI 0x50)
8736 .word 0xe8d84a00 ! 396: LDXA_R ldxa [%r1, %r0] 0x50, %r20
8737ibp_40_310:
8738 nop
8739 ta T_CHANGE_HPRIV
8740 mov 8, %r18
8741 rd %asi, %r12
8742 wr %r0, 0x41, %asi
8743 set sync_thr_counter4, %r23
8744#ifndef SPC
8745 ldxa [%g0]0x63, %r8
8746 and %r8, 0x38, %r8 ! Core ID
8747 add %r8, %r23, %r23
8748#else
8749 mov 0, %r8
8750#endif
8751 mov 0x40, %r16
8752ibp_startwait40_310:
8753 cas [%r23],%g0,%r16 !lock
8754 brz,a %r16, continue_ibp_40_310
8755 mov (~0x40&0xf0), %r16
8756 ld [%r23], %r16
8757ibp_wait40_310:
8758 brnz %r16, ibp_wait40_310
8759 ld [%r23], %r16
8760 ba ibp_startwait40_310
8761 mov 0x40, %r16
8762continue_ibp_40_310:
8763 sllx %r16, %r8, %r16 !Mask for my core only
8764 ldxa [0x58]%asi, %r17 !Running_status
8765wait_for_stat_40_310:
8766 ldxa [0x50]%asi, %r13 !Running_rw
8767 cmp %r13, %r17
8768 bne,a wait_for_stat_40_310
8769 ldxa [0x58]%asi, %r17 !Running_status
8770 stxa %r16, [0x68]%asi !Park (W1C)
8771 ldxa [0x50]%asi, %r14 !Running_rw
8772wait_for_ibp_40_310:
8773 ldxa [0x58]%asi, %r17 !Running_status
8774 cmp %r14, %r17
8775 bne,a wait_for_ibp_40_310
8776 ldxa [0x50]%asi, %r14 !Running_rw
8777ibp_doit40_310:
8778 best_set_reg(0x000000503be910d3,%r19, %r20)
8779 stxa %r20, [%r18]0x42
8780 stxa %r16, [0x60] %asi !Unpark (W1S)
8781 st %g0, [%r23] !clear lock
8782 wr %r0, %r12, %asi !restore %asi
8783 ta T_CHANGE_NONHPRIV
8784 .word 0xe8bfc02c ! 397: STDA_R stda %r20, [%r31 + %r12] 0x01
8785intveclr_40_311:
8786 nop
8787 ta T_CHANGE_HPRIV
8788 setx 0xc0aa259b1f9a30b0, %r1, %r28
8789 stxa %r28, [%g0] 0x72
8790 ta T_CHANGE_NONHPRIV
8791 .word 0x25400001 ! 398: FBPLG fblg,a,pn %fcc0, <label_0x1>
8792splash_tba_40_312:
8793 ta T_CHANGE_PRIV
8794 set 0x120000, %r12
8795 .word 0x8b90000c ! 399: WRPR_TBA_R wrpr %r0, %r12, %tba
8796pmu_40_313:
8797 nop
8798 ta T_CHANGE_PRIV
8799 setx 0xfffff6fefffff3fa, %g1, %g7
8800 .word 0xa3800007 ! 400: WR_PERF_COUNTER_R wr %r0, %r7, %-
8801 nop
8802 nop
8803 ta T_CHANGE_PRIV
8804 wrpr %g0, %g0, %gl
8805 nop
8806 nop
8807 setx join_lbl_0_0, %g1, %g2
8808 jmp %g2
8809 nop
8810fork_lbl_0_6:
8811 ta T_CHANGE_NONHPRIV
8812 setx vahole_target1, %r18, %r27
8813 .word 0xe49fc028 ! 1: LDDA_R ldda [%r31, %r8] 0x01, %r18
8814jmptr_20_1:
8815 nop
8816 best_set_reg(0xe1a00000, %r20, %r27)
8817 .word 0xb7c6c000 ! 2: JMPL_R jmpl %r27 + %r0, %r27
8818 .word 0x36800001 ! 3: BGE bge,a <label_0x1>
8819 .word 0xc1bfd920 ! 4: STDFA_R stda %f0, [%r0, %r31]
8820 nop
8821 ta T_CHANGE_HPRIV
8822 mov 0x20, %r10
8823 set sync_thr_counter6, %r23
8824#ifndef SPC
8825 ldxa [%g0]0x63, %o1
8826 and %o1, 0x38, %o1
8827 add %o1, %r23, %r23
8828#endif
8829 cas [%r23],%g0,%r10 !lock
8830 brnz %r10, sma_20_2
8831 rd %asi, %r12
8832 wr %g0, 0x40, %asi
8833 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
8834 set 0x000a1fff, %g1
8835 stxa %g1, [%g0 + 0x80] %asi
8836 wr %r12, %g0, %asi
8837 st %g0, [%r23]
8838sma_20_2:
8839 ta T_CHANGE_NONHPRIV
8840 .word 0xe5e7e013 ! 5: CASA_R casa [%r31] %asi, %r19, %r18
8841 setx vahole_target2, %r18, %r27
8842 .word 0x87aa8a50 ! 6: FCMPd fcmpd %fcc<n>, %f10, %f16
8843 .word 0xe19fe120 ! 7: LDDFA_I ldda [%r31, 0x0120], %f16
8844ibp_20_4:
8845 nop
8846 ta T_CHANGE_NONHPRIV
8847 .word 0xc1bfe1c0 ! 8: STDFA_I stda %f0, [0x01c0, %r31]
8848 .word 0xe1bfc2c0 ! 9: STDFA_R stda %f16, [%r0, %r31]
8849pmu_20_6:
8850 nop
8851 setx 0xfffffbc2fffff2a4, %g1, %g7
8852 .word 0xa3800007 ! 10: WR_PERF_COUNTER_R wr %r0, %r7, %-
8853ibp_20_7:
8854 nop
8855 ta T_CHANGE_NONHPRIV
8856 .word 0xe1bfe180 ! 11: STDFA_I stda %f16, [0x0180, %r31]
8857 .word 0x9f802032 ! 12: SIR sir 0x0032
8858brcommon1_20_8:
8859 nop
8860 setx common_target, %r12, %r27
8861 lduw [%r27], %r12 ! Load common dest into dcache ..
8862 ba,a .+12
8863 .word 0xa3702e80 ! 1: POPC_I popc 0x0e80, %r17
8864 ba,a .+8
8865 jmpl %r27+0, %r27
8866 .word 0x87acca49 ! 13: FCMPd fcmpd %fcc<n>, %f50, %f40
8867 .word 0x99540000 ! 14: RDPR_GL <illegal instruction>
8868splash_lsu_20_9:
8869 nop
8870 ta T_CHANGE_HPRIV
8871 set 0xcb465b32, %r2
8872 mov 0x3, %r1
8873 sllx %r1, 32, %r1
8874 or %r1, %r2, %r2
8875 stxa %r2, [%r0] ASI_LSU_CONTROL
8876 .word 0x3d400001 ! 15: FBPULE fbule,a,pn %fcc0, <label_0x1>
8877 .word 0xe82fe1a9 ! 16: STB_I stb %r20, [%r31 + 0x01a9]
8878pmu_20_10:
8879 nop
8880 setx 0xfffff148fffff5e4, %g1, %g7
8881 .word 0xa3800007 ! 17: WR_PERF_COUNTER_R wr %r0, %r7, %-
8882 .word 0x9f80386c ! 18: SIR sir 0x186c
8883 .word 0x8d902991 ! 19: WRPR_PSTATE_I wrpr %r0, 0x0991, %pstate
8884dvapa_20_12:
8885 nop
8886 ta T_CHANGE_HPRIV
8887 mov 0x888, %r20
8888 mov 0x12, %r19
8889 sllx %r20, 23, %r20
8890 or %r19, %r20, %r19
8891 stxa %r19, [%g0] ASI_LSU_CONTROL
8892 mov 0x38, %r18
8893 stxa %r31, [%r18]0x58
8894 ta T_CHANGE_NONHPRIV
8895 .word 0xc19fc3e0 ! 20: LDDFA_R ldda [%r31, %r0], %f0
8896splash_cmpr_20_13:
8897 nop
8898 setx 0xae2deaea9a5cc814, %l2, %l1
8899 ta T_CHANGE_PRIV
8900 .word 0xaf800011 ! 1: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
8901 sub %l1, 40, %g1
8902 .word 0x89900011 ! 21: WRPR_TICK_R wrpr %r0, %r17, %tick
8903donret_20_14:
8904 nop
8905 ta T_CHANGE_HPRIV ! macro
8906 rd %pc, %r12
8907 add %r12, (donretarg_20_14-donret_20_14-8), %r12
8908 mov 0x38, %r18
8909 stxa %r12, [%r18]0x58
8910 add %r12, 0x4, %r11
8911 wrpr %g0, 0x1, %tl
8912 wrpr %g0, %r12, %tpc
8913 wrpr %g0, %r11, %tnpc
8914 set (0x0094cfdc | (32 << 24)), %r13
8915 rdpr %tstate, %r16
8916 mov 0x1f, %r19
8917 and %r19, %r16, %r17
8918 andn %r16, %r19, %r16
8919 or %r16, %r17, %r20
8920 wrpr %r20, %g0, %tstate
8921 wrhpr %g0, 0x8c5, %htstate
8922 ta T_CHANGE_NONHPRIV ! rand=1 (20)
8923 .word 0x33400001 ! 1: FBPE fbe,a,pn %fcc0, <label_0x1>
8924 retry
8925donretarg_20_14:
8926 .word 0xa5a1c9c5 ! 22: FDIVd fdivd %f38, %f36, %f18
8927trapasi_20_15:
8928 nop
8929 mov 0x38, %r1 ! (VA for ASI 0x50)
8930 .word 0xdac04a00 ! 23: LDSWA_R ldswa [%r1, %r0] 0x50, %r13
8931dvapa_20_16:
8932 nop
8933 ta T_CHANGE_HPRIV
8934 mov 0x8e3, %r20
8935 mov 0x0, %r19
8936 sllx %r20, 23, %r20
8937 or %r19, %r20, %r19
8938 stxa %r19, [%g0] ASI_LSU_CONTROL
8939 mov 0x38, %r18
8940 stxa %r31, [%r18]0x58
8941 ta T_CHANGE_NONHPRIV
8942 .word 0xda3ff293 ! 24: STD_I std %r13, [%r31 + 0xfffff293]
8943 .word 0x8d802000 ! 25: WRFPRS_I wr %r0, 0x0000, %fprs
8944 .word 0xda3fc000 ! 26: STD_R std %r13, [%r31 + %r0]
8945splash_cmpr_20_18:
8946 nop
8947 setx 0x2dd5adbb6ef13e81, %l2, %l1
8948 ta T_CHANGE_HPRIV
8949 wrhpr %l1, %g0, %hsys_tick_cmpr
8950 sub %l1, 40, %g1
8951 .word 0x89900011 ! 27: WRPR_TICK_R wrpr %r0, %r17, %tick
8952intveclr_20_19:
8953 nop
8954 ta T_CHANGE_HPRIV
8955 setx 0x84f2f10aca602d96, %r1, %r28
8956 stxa %r28, [%g0] 0x72
8957 ta T_CHANGE_NONHPRIV
8958 .word 0x25400001 ! 28: FBPLG fblg,a,pn %fcc0, <label_0x1>
8959intveclr_20_20:
8960 nop
8961 ta T_CHANGE_HPRIV
8962 setx 0xed566c52beea68dc, %r1, %r28
8963 stxa %r28, [%g0] 0x72
8964 ta T_CHANGE_NONHPRIV
8965 .word 0x25400001 ! 29: FBPLG fblg,a,pn %fcc0, <label_0x1>
8966 nop
8967 ta T_CHANGE_HPRIV
8968 mov 0x20, %r10
8969 set sync_thr_counter6, %r23
8970#ifndef SPC
8971 ldxa [%g0]0x63, %o1
8972 and %o1, 0x38, %o1
8973 add %o1, %r23, %r23
8974#endif
8975 cas [%r23],%g0,%r10 !lock
8976 brnz %r10, sma_20_21
8977 rd %asi, %r12
8978 wr %g0, 0x40, %asi
8979 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
8980 set 0x00061fff, %g1
8981 stxa %g1, [%g0 + 0x80] %asi
8982 wr %r12, %g0, %asi
8983 st %g0, [%r23]
8984sma_20_21:
8985 ta T_CHANGE_NONHPRIV
8986 .word 0xdbe7e008 ! 30: CASA_R casa [%r31] %asi, %r8, %r13
8987 .word 0x91a00164 ! 31: FABSq dis not found
8988
8989memptr_20_23:
8990 set 0x60540000, %r31
8991 .word 0x8582b62f ! 32: WRCCR_I wr %r10, 0x162f, %ccr
8992splash_tba_20_24:
8993 ta T_CHANGE_PRIV
8994 set 0x120000, %r12
8995 .word 0x8b90000c ! 33: WRPR_TBA_R wrpr %r0, %r12, %tba
8996 .word 0xe45fe1e8 ! 34: LDX_I ldx [%r31 + 0x01e8], %r18
8997 .word 0x9f803d69 ! 35: SIR sir 0x1d69
8998mondo_20_25:
8999 nop
9000 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9001 stxa %r18, [%r0+0x3d0] %asi
9002 .word 0x9d94000b ! 36: WRPR_WSTATE_R wrpr %r16, %r11, %wstate
9003donret_20_26:
9004 nop
9005 ta T_CHANGE_HPRIV ! macro
9006 rd %pc, %r12
9007 add %r12, (donretarg_20_26-donret_20_26-8), %r12
9008 mov 0x38, %r18
9009 stxa %r12, [%r18]0x58
9010 add %r12, 0x4, %r11
9011 wrpr %g0, 0x1, %tl
9012 wrpr %g0, %r12, %tpc
9013 wrpr %g0, %r11, %tnpc
9014 set (0x00ef8db5 | (0x80 << 24)), %r13
9015 rdpr %tstate, %r16
9016 mov 0x1f, %r19
9017 and %r19, %r16, %r17
9018 andn %r16, %r19, %r16
9019 or %r16, %r17, %r20
9020 wrpr %r20, %g0, %tstate
9021 wrhpr %g0, 0x54e, %htstate
9022 ta T_CHANGE_NONHPRIV ! rand=1 (20)
9023 retry
9024donretarg_20_26:
9025 .word 0xe46fe1c6 ! 37: LDSTUB_I ldstub %r18, [%r31 + 0x01c6]
9026donret_20_27:
9027 nop
9028 ta T_CHANGE_HPRIV ! macro
9029 rd %pc, %r12
9030 add %r12, (donretarg_20_27-donret_20_27-4), %r12
9031 mov 0x38, %r18
9032 stxa %r12, [%r18]0x58
9033 add %r12, 0x4, %r11
9034 wrpr %g0, 0x1, %tl
9035 wrpr %g0, %r12, %tpc
9036 wrpr %g0, %r11, %tnpc
9037 set (0x00c96453 | (28 << 24)), %r13
9038 rdpr %tstate, %r16
9039 mov 0x1f, %r19
9040 and %r19, %r16, %r17
9041 andn %r16, %r19, %r16
9042 or %r16, %r17, %r20
9043 wrpr %r20, %g0, %tstate
9044 wrhpr %g0, 0x217, %htstate
9045 ta T_CHANGE_NONHPRIV ! rand=1 (20)
9046 .word 0x22cc8001 ! 1: BRZ brz,a,pt %r18,<label_0xc8001>
9047 done
9048donretarg_20_27:
9049 .word 0xe46fe026 ! 38: LDSTUB_I ldstub %r18, [%r31 + 0x0026]
9050 .word 0x91904010 ! 39: WRPR_PIL_R wrpr %r1, %r16, %pil
9051pmu_20_29:
9052 nop
9053 ta T_CHANGE_PRIV
9054 setx 0xfffff113fffff049, %g1, %g7
9055 .word 0xa3800007 ! 40: WR_PERF_COUNTER_R wr %r0, %r7, %-
9056 .word 0xc32fc000 ! 41: STXFSR_R st-sfr %f1, [%r0, %r31]
9057splash_tba_20_31:
9058 ta T_CHANGE_PRIV
9059 setx 0x00000004003a0000, %r11, %r12
9060 .word 0x8b90000c ! 42: WRPR_TBA_R wrpr %r0, %r12, %tba
9061intveclr_20_32:
9062 nop
9063 ta T_CHANGE_HPRIV
9064 setx 0x178b960c9b5fc6f5, %r1, %r28
9065 stxa %r28, [%g0] 0x72
9066 ta T_CHANGE_NONHPRIV
9067 .word 0x25400001 ! 43: FBPLG fblg,a,pn %fcc0, <label_0x1>
9068 .word 0xe497e178 ! 44: LDUHA_I lduha [%r31, + 0x0178] %asi, %r18
9069 otherw
9070 mov 0xb1, %r30
9071 .word 0x93d0001e ! 45: Tcc_R tne icc_or_xcc, %r0 + %r30
9072 .word 0xa9818005 ! 46: WR_SET_SOFTINT_R wr %r6, %r5, %set_softint
9073 nop
9074 ta T_CHANGE_HPRIV
9075 mov 0x20+1, %r10
9076 set sync_thr_counter5, %r23
9077#ifndef SPC
9078 ldxa [%g0]0x63, %o1
9079 and %o1, 0x38, %o1
9080 add %o1, %r23, %r23
9081#endif
9082 cas [%r23],%g0,%r10 !lock
9083 brnz %r10, cwq_20_33
9084 rd %asi, %r12
9085 wr %g0, 0x40, %asi
9086 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
9087 and %l1, 0x3, %l1 ! Check if busy/enabled ..
9088 cmp %l1, 1
9089 bne cwq_20_33
9090 set CWQ_BASE, %l6
9091 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
9092 best_set_reg(0x20610040, %l1, %l2) !# Control Word
9093 sllx %l2, 32, %l2
9094 stx %l2, [%l6 + 0x0]
9095 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
9096 sub %l2, 0x40, %l2
9097 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
9098 wr %r12, %g0, %asi
9099 st %g0, [%r23]
9100cwq_20_33:
9101 ta T_CHANGE_NONHPRIV
9102 .word 0x93414000 ! 47: RDPC rd %pc, %r9
9103tagged_20_34:
9104 tsubcctv %r20, 0x1459, %r8
9105 .word 0xe807e1b4 ! 48: LDUW_I lduw [%r31 + 0x01b4], %r20
9106splash_lsu_20_35:
9107 nop
9108 ta T_CHANGE_HPRIV
9109 set 0x3f0126ed, %r2
9110 mov 0x7, %r1
9111 sllx %r1, 32, %r1
9112 or %r1, %r2, %r2
9113 stxa %r2, [%r0] ASI_LSU_CONTROL
9114 ta T_CHANGE_NONHPRIV
9115 .word 0x3d400001 ! 49: FBPULE fbule,a,pn %fcc0, <label_0x1>
9116ibp_20_36:
9117 nop
9118 .word 0x9f803105 ! 50: SIR sir 0x1105
9119 .word 0x97a00166 ! 51: FABSq dis not found
9120
9121intveclr_20_38:
9122 nop
9123 ta T_CHANGE_HPRIV
9124 setx 0xc8185a518183f55a, %r1, %r28
9125 stxa %r28, [%g0] 0x72
9126 .word 0x25400001 ! 52: FBPLG fblg,a,pn %fcc0, <label_0x1>
9127mondo_20_39:
9128 nop
9129 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9130 stxa %r4, [%r0+0x3c8] %asi
9131 .word 0x9d940006 ! 53: WRPR_WSTATE_R wrpr %r16, %r6, %wstate
9132pmu_20_40:
9133 nop
9134 setx 0xfffffaecfffff1b1, %g1, %g7
9135 .word 0xa3800007 ! 54: WR_PERF_COUNTER_R wr %r0, %r7, %-
9136dvapa_20_41:
9137 nop
9138 ta T_CHANGE_HPRIV
9139 mov 0xba6, %r20
9140 mov 0xa, %r19
9141 sllx %r20, 23, %r20
9142 or %r19, %r20, %r19
9143 stxa %r19, [%g0] ASI_LSU_CONTROL
9144 mov 0x38, %r18
9145 stxa %r31, [%r18]0x58
9146 ta T_CHANGE_NONHPRIV
9147 .word 0xe1bfdf20 ! 55: STDFA_R stda %f16, [%r0, %r31]
9148pmu_20_42:
9149 nop
9150 setx 0xfffff54dfffff357, %g1, %g7
9151 .word 0xa3800007 ! 56: WR_PERF_COUNTER_R wr %r0, %r7, %-
9152tagged_20_43:
9153 taddcctv %r7, 0x1084, %r20
9154 .word 0xe807e00c ! 57: LDUW_I lduw [%r31 + 0x000c], %r20
9155splash_lsu_20_44:
9156 nop
9157 ta T_CHANGE_HPRIV
9158 set 0xcad323d7, %r2
9159 mov 0x6, %r1
9160 sllx %r1, 32, %r1
9161 or %r1, %r2, %r2
9162 stxa %r2, [%r0] ASI_LSU_CONTROL
9163 ta T_CHANGE_NONHPRIV
9164 .word 0x3d400001 ! 58: FBPULE fbule,a,pn %fcc0, <label_0x1>
9165trapasi_20_45:
9166 nop
9167 mov 0x3c8, %r1 ! (VA for ASI 0x25)
9168 .word 0xe8d844a0 ! 59: LDXA_R ldxa [%r1, %r0] 0x25, %r20
9169 .word 0x95a409a1 ! 60: FDIVs fdivs %f16, %f1, %f10
9170jmptr_20_46:
9171 nop
9172 best_set_reg(0xe1a00000, %r20, %r27)
9173 .word 0xb7c6c000 ! 61: JMPL_R jmpl %r27 + %r0, %r27
9174 .word 0xc30fc000 ! 62: LDXFSR_R ld-fsr [%r31, %r0], %f1
9175splash_cmpr_20_48:
9176 nop
9177 setx 0xc200cb1524854531, %l2, %l1
9178 ta T_CHANGE_HPRIV
9179 wrhpr %l1, %g0, %hsys_tick_cmpr
9180 ta T_CHANGE_NONHPRIV
9181 sub %l1, 40, %g1
9182 .word 0xb1800011 ! 63: WR_STICK_REG_R wr %r0, %r17, %-
9183 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
9184reduce_priv_lvl_20_49:
9185 ta T_CHANGE_NONPRIV ! macro
9186mondo_20_50:
9187 nop
9188 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9189 ta T_CHANGE_PRIV
9190 stxa %r18, [%r0+0x3d0] %asi
9191 .word 0x9d92800a ! 65: WRPR_WSTATE_R wrpr %r10, %r10, %wstate
9192donret_20_51:
9193 nop
9194 ta T_CHANGE_HPRIV ! macro
9195 rd %pc, %r12
9196 add %r12, (donretarg_20_51-donret_20_51-4), %r12
9197 mov 0x38, %r18
9198 stxa %r12, [%r18]0x58
9199 add %r12, 0x4, %r11
9200 wrpr %g0, 0x1, %tl
9201 wrpr %g0, %r12, %tpc
9202 wrpr %g0, %r11, %tnpc
9203 set (0x0027f6e4 | (0x55 << 24)), %r13
9204 rdpr %tstate, %r16
9205 mov 0x1f, %r19
9206 and %r19, %r16, %r17
9207 andn %r16, %r19, %r16
9208 or %r16, %r17, %r20
9209 wrpr %r20, %g0, %tstate
9210 wrhpr %g0, 0x154, %htstate
9211 ta T_CHANGE_NONHPRIV ! rand=1 (20)
9212 done
9213donretarg_20_51:
9214 .word 0x93a349d0 ! 66: FDIVd fdivd %f44, %f16, %f40
9215brcommon1_20_52:
9216 nop
9217 setx common_target, %r12, %r27
9218 lduw [%r27], %r12 ! Load common dest into dcache ..
9219 ba,a .+12
9220 .word 0xc32ff105 ! 1: STXFSR_I st-sfr %f1, [0x1105, %r31]
9221 ba,a .+8
9222 jmpl %r27+0, %r27
9223 .word 0xc3e8c033 ! 67: PREFETCHA_R prefetcha [%r3, %r19] 0x01, #one_read
9224jmptr_20_53:
9225 nop
9226 best_set_reg(0xe1a00000, %r20, %r27)
9227 .word 0xb7c6c000 ! 68: JMPL_R jmpl %r27 + %r0, %r27
9228splash_tba_20_54:
9229 ta T_CHANGE_PRIV
9230 setx 0x00000004003a0000, %r11, %r12
9231 .word 0x8b90000c ! 69: WRPR_TBA_R wrpr %r0, %r12, %tba
9232trapasi_20_55:
9233 nop
9234 mov 0x0, %r1 ! (VA for ASI 0x72)
9235 .word 0xd4904e40 ! 70: LDUHA_R lduha [%r1, %r0] 0x72, %r10
9236pmu_20_56:
9237 nop
9238 setx 0xfffff266fffffbdd, %g1, %g7
9239 .word 0xa3800007 ! 71: WR_PERF_COUNTER_R wr %r0, %r7, %-
9240donret_20_57:
9241 nop
9242 ta T_CHANGE_HPRIV ! macro
9243 rd %pc, %r12
9244 add %r12, (donretarg_20_57-donret_20_57-4), %r12
9245 mov 0x38, %r18
9246 stxa %r12, [%r18]0x58
9247 add %r12, 0x4, %r11
9248 wrpr %g0, 0x2, %tl
9249 wrpr %g0, %r12, %tpc
9250 wrpr %g0, %r11, %tnpc
9251 set (0x00fcadf9 | (20 << 24)), %r13
9252 rdpr %tstate, %r16
9253 mov 0x1f, %r19
9254 and %r19, %r16, %r17
9255 andn %r16, %r19, %r16
9256 or %r16, %r17, %r20
9257 wrpr %r20, %g0, %tstate
9258 wrhpr %g0, 0x18f, %htstate
9259 ta T_CHANGE_NONHPRIV ! rand=1 (20)
9260 done
9261donretarg_20_57:
9262 .word 0xd4ffe098 ! 72: SWAPA_I swapa %r10, [%r31 + 0x0098] %asi
9263brcommon1_20_58:
9264 nop
9265 setx common_target, %r12, %r27
9266 lduw [%r27], %r12 ! Load common dest into dcache ..
9267 ba,a .+12
9268 .word 0xd5e7c033 ! 1: CASA_I casa [%r31] 0x 1, %r19, %r10
9269 ba,a .+8
9270 jmpl %r27+0, %r27
9271 .word 0x9bb44494 ! 73: FCMPLE32 fcmple32 %d48, %d20, %r13
9272 .word 0xc1bfe0a0 ! 74: STDFA_I stda %f0, [0x00a0, %r31]
9273dvapa_20_59:
9274 nop
9275 ta T_CHANGE_HPRIV
9276 mov 0xc6f, %r20
9277 mov 0x8, %r19
9278 sllx %r20, 23, %r20
9279 or %r19, %r20, %r19
9280 stxa %r19, [%g0] ASI_LSU_CONTROL
9281 mov 0x38, %r18
9282 stxa %r31, [%r18]0x58
9283 ta T_CHANGE_NONHPRIV
9284 .word 0xe03ffb51 ! 75: STD_I std %r16, [%r31 + 0xfffffb51]
9285donret_20_60:
9286 nop
9287 ta T_CHANGE_HPRIV ! macro
9288 rd %pc, %r12
9289 add %r12, (donretarg_20_60-donret_20_60-8), %r12
9290 mov 0x38, %r18
9291 stxa %r12, [%r18]0x58
9292 add %r12, 0x4, %r11
9293 wrpr %g0, 0x1, %tl
9294 wrpr %g0, %r12, %tpc
9295 wrpr %g0, %r11, %tnpc
9296 set (0x00971d9c | (0x58 << 24)), %r13
9297 rdpr %tstate, %r16
9298 mov 0x1f, %r19
9299 and %r19, %r16, %r17
9300 andn %r16, %r19, %r16
9301 or %r16, %r17, %r20
9302 wrpr %r20, %g0, %tstate
9303 wrhpr %g0, 0x6d6, %htstate
9304 ta T_CHANGE_NONPRIV ! rand=0 (20)
9305 retry
9306donretarg_20_60:
9307 .word 0xe06fe166 ! 76: LDSTUB_I ldstub %r16, [%r31 + 0x0166]
9308 .word 0x8d903a71 ! 77: WRPR_PSTATE_I wrpr %r0, 0x1a71, %pstate
9309 .word 0xc19fe120 ! 78: LDDFA_I ldda [%r31, 0x0120], %f0
9310 .word 0xe137c000 ! 79: STQF_R - %f16, [%r0, %r31]
9311jmptr_20_62:
9312 nop
9313 best_set_reg(0xe1a00000, %r20, %r27)
9314 .word 0xb7c6c000 ! 80: JMPL_R jmpl %r27 + %r0, %r27
9315 setx vahole_target3, %r18, %r27
9316 .word 0xe11fc011 ! 81: LDDF_R ldd [%r31, %r17], %f16
9317 .word 0x24cc8001 ! 82: BRLEZ brlez,a,pt %r18,<label_0xc8001>
9318 .word 0x8780208b ! 83: WRASI_I wr %r0, 0x008b, %asi
9319 .word 0xe6dfe060 ! 84: LDXA_I ldxa [%r31, + 0x0060] %asi, %r19
9320splash_lsu_20_65:
9321 nop
9322 ta T_CHANGE_HPRIV
9323 set 0xd1edb6c2, %r2
9324 mov 0x1, %r1
9325 sllx %r1, 32, %r1
9326 or %r1, %r2, %r2
9327 stxa %r2, [%r0] ASI_LSU_CONTROL
9328 .word 0x3d400001 ! 85: FBPULE fbule,a,pn %fcc0, <label_0x1>
9329 .word 0x87802004 ! 86: WRASI_I wr %r0, 0x0004, %asi
9330pmu_20_66:
9331 nop
9332 ta T_CHANGE_PRIV
9333 setx 0xfffff521fffff326, %g1, %g7
9334 .word 0xa3800007 ! 87: WR_PERF_COUNTER_R wr %r0, %r7, %-
9335intveclr_20_67:
9336 nop
9337 ta T_CHANGE_HPRIV
9338 setx 0x89379be6a5d108a8, %r1, %r28
9339 stxa %r28, [%g0] 0x72
9340 .word 0x25400001 ! 88: FBPLG fblg,a,pn %fcc0, <label_0x1>
9341 nop
9342 ta T_CHANGE_HPRIV
9343 mov 0x20+1, %r10
9344 set sync_thr_counter5, %r23
9345#ifndef SPC
9346 ldxa [%g0]0x63, %o1
9347 and %o1, 0x38, %o1
9348 add %o1, %r23, %r23
9349#endif
9350 cas [%r23],%g0,%r10 !lock
9351 brnz %r10, cwq_20_68
9352 rd %asi, %r12
9353 wr %g0, 0x40, %asi
9354 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
9355 and %l1, 0x3, %l1 ! Check if busy/enabled ..
9356 cmp %l1, 1
9357 bne cwq_20_68
9358 set CWQ_BASE, %l6
9359 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
9360 best_set_reg(0x20610060, %l1, %l2) !# Control Word
9361 sllx %l2, 32, %l2
9362 stx %l2, [%l6 + 0x0]
9363 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
9364 sub %l2, 0x40, %l2
9365 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
9366 wr %r12, %g0, %asi
9367 st %g0, [%r23]
9368cwq_20_68:
9369 ta T_CHANGE_NONHPRIV
9370 .word 0x93414000 ! 89: RDPC rd %pc, %r9
9371brcommon3_20_69:
9372 nop
9373 setx common_target, %r12, %r27
9374 lduw [%r27], %r12 ! Load common dest into dcache ..
9375 ba,a .+12
9376 .word 0xe46ff0aa ! 1: LDSTUB_I ldstub %r18, [%r31 + 0xfffff0aa]
9377 ba,a .+8
9378 jmpl %r27+0, %r27
9379 .word 0xe43ff0aa ! 90: STD_I std %r18, [%r31 + 0xfffff0aa]
9380pmu_20_70:
9381 nop
9382 setx 0xfffffd55fffff87a, %g1, %g7
9383 .word 0xa3800007 ! 91: WR_PERF_COUNTER_R wr %r0, %r7, %-
9384 .word 0x9195000d ! 92: WRPR_PIL_R wrpr %r20, %r13, %pil
9385 .word 0xe43fc000 ! 93: STD_R std %r18, [%r31 + %r0]
9386mondo_20_72:
9387 nop
9388 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9389 stxa %r13, [%r0+0x3e8] %asi
9390 .word 0x9d91800d ! 94: WRPR_WSTATE_R wrpr %r6, %r13, %wstate
9391 set 0x371a, %l3
9392 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
9393 .word 0xa9b287d2 ! 95: PDIST pdistn %d10, %d18, %d20
9394 setx vahole_target2, %r18, %r27
9395 .word 0x93a289d0 ! 96: FDIVd fdivd %f10, %f16, %f40
9396splash_tba_20_74:
9397 ta T_CHANGE_PRIV
9398 setx 0x00000004003a0000, %r11, %r12
9399 .word 0x8b90000c ! 97: WRPR_TBA_R wrpr %r0, %r12, %tba
9400cwp_20_75:
9401 set user_data_start, %o7
9402 .word 0x93902001 ! 98: WRPR_CWP_I wrpr %r0, 0x0001, %cwp
9403 .word 0xa5a08d28 ! 99: FsMULd fsmuld %f2, %f8, %f18
9404dvapa_20_76:
9405 nop
9406 ta T_CHANGE_HPRIV
9407 mov 0xb10, %r20
9408 mov 0xd, %r19
9409 sllx %r20, 23, %r20
9410 or %r19, %r20, %r19
9411 stxa %r19, [%g0] ASI_LSU_CONTROL
9412 mov 0x38, %r18
9413 stxa %r31, [%r18]0x58
9414 ta T_CHANGE_NONHPRIV
9415 .word 0xd93fc012 ! 100: STDF_R std %f12, [%r18, %r31]
9416 .word 0xd847e060 ! 101: LDSW_I ldsw [%r31 + 0x0060], %r12
9417mondo_20_77:
9418 nop
9419 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9420 stxa %r16, [%r0+0x3d8] %asi
9421 .word 0x9d950013 ! 102: WRPR_WSTATE_R wrpr %r20, %r19, %wstate
9422 .word 0xa5540000 ! 103: RDPR_GL <illegal instruction>
9423 .word 0x91a00165 ! 104: FABSq dis not found
9424
9425 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
9426reduce_priv_lvl_20_79:
9427 ta T_CHANGE_NONPRIV ! macro
9428mondo_20_80:
9429 nop
9430 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9431 ta T_CHANGE_PRIV
9432 stxa %r7, [%r0+0x3e0] %asi
9433 .word 0x9d914002 ! 106: WRPR_WSTATE_R wrpr %r5, %r2, %wstate
9434 setx 0x1621d0d6137255ea, %r1, %r28
9435 stxa %r28, [%g0] 0x73
9436intvec_20_81:
9437 .word 0x39400001 ! 107: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
9438 .word 0xc1bfe020 ! 108: STDFA_I stda %f0, [0x0020, %r31]
9439splash_cmpr_20_82:
9440 nop
9441 setx 0x669322877afe65ba, %l2, %l1
9442 ta T_CHANGE_HPRIV
9443 wrhpr %l1, %g0, %hsys_tick_cmpr
9444 ta T_CHANGE_NONHPRIV
9445 sub %l1, 40, %g1
9446 .word 0xb1800011 ! 109: WR_STICK_REG_R wr %r0, %r17, %-
9447pmu_20_83:
9448 nop
9449 setx 0xfffff74ffffffc98, %g1, %g7
9450 .word 0xa3800007 ! 110: WR_PERF_COUNTER_R wr %r0, %r7, %-
9451 .word 0xa780fbdc ! 111: WR_GRAPHICS_STATUS_REG_I wr %r3, 0x1bdc, %-
9452 nop
9453 ta T_CHANGE_HPRIV
9454 mov 0x20, %r10
9455 set sync_thr_counter6, %r23
9456#ifndef SPC
9457 ldxa [%g0]0x63, %o1
9458 and %o1, 0x38, %o1
9459 add %o1, %r23, %r23
9460#endif
9461 cas [%r23],%g0,%r10 !lock
9462 brnz %r10, sma_20_84
9463 rd %asi, %r12
9464 wr %g0, 0x40, %asi
9465 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
9466 set 0x001a1fff, %g1
9467 stxa %g1, [%g0 + 0x80] %asi
9468 wr %r12, %g0, %asi
9469 st %g0, [%r23]
9470sma_20_84:
9471 ta T_CHANGE_NONHPRIV
9472 .word 0xe9e7e013 ! 112: CASA_R casa [%r31] %asi, %r19, %r20
9473fpinit_20_85:
9474 setx fp_data_quads, %r19, %r20
9475 ldd [%r20], %f0
9476 ldd [%r20+8], %f4
9477 ld [%r20+16], %fsr
9478 ld [%r20+24], %r19
9479 wr %r19, %g0, %gsr
9480 .word 0x8db00484 ! 113: FCMPLE32 fcmple32 %d0, %d4, %r6
9481 nop
9482 ta T_CHANGE_HPRIV
9483 mov 0x20+1, %r10
9484 set sync_thr_counter5, %r23
9485#ifndef SPC
9486 ldxa [%g0]0x63, %o1
9487 and %o1, 0x38, %o1
9488 add %o1, %r23, %r23
9489#endif
9490 cas [%r23],%g0,%r10 !lock
9491 brnz %r10, cwq_20_86
9492 rd %asi, %r12
9493 wr %g0, 0x40, %asi
9494 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
9495 and %l1, 0x3, %l1 ! Check if busy/enabled ..
9496 cmp %l1, 1
9497 bne cwq_20_86
9498 set CWQ_BASE, %l6
9499 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
9500 best_set_reg(0x20610020, %l1, %l2) !# Control Word
9501 sllx %l2, 32, %l2
9502 stx %l2, [%l6 + 0x0]
9503 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
9504 sub %l2, 0x40, %l2
9505 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
9506 wr %r12, %g0, %asi
9507 st %g0, [%r23]
9508cwq_20_86:
9509 ta T_CHANGE_NONHPRIV
9510 .word 0xa9414000 ! 114: RDPC rd %pc, %r20
9511 nop
9512 ta T_CHANGE_HPRIV
9513 mov 0x20, %r10
9514 set sync_thr_counter6, %r23
9515#ifndef SPC
9516 ldxa [%g0]0x63, %o1
9517 and %o1, 0x38, %o1
9518 add %o1, %r23, %r23
9519#endif
9520 cas [%r23],%g0,%r10 !lock
9521 brnz %r10, sma_20_87
9522 rd %asi, %r12
9523 wr %g0, 0x40, %asi
9524 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
9525 set 0x00021fff, %g1
9526 stxa %g1, [%g0 + 0x80] %asi
9527 wr %r12, %g0, %asi
9528 st %g0, [%r23]
9529sma_20_87:
9530 ta T_CHANGE_NONHPRIV
9531 .word 0xe5e7e008 ! 115: CASA_R casa [%r31] %asi, %r8, %r18
9532 .word 0xa984c009 ! 116: WR_SET_SOFTINT_R wr %r19, %r9, %set_softint
9533 setx vahole_target2, %r18, %r27
9534 .word 0x91a4c9a3 ! 117: FDIVs fdivs %f19, %f3, %f8
9535 setx vahole_target1, %r18, %r27
9536 .word 0xe1bfc2c0 ! 118: STDFA_R stda %f16, [%r0, %r31]
9537 .word 0x91944006 ! 119: WRPR_PIL_R wrpr %r17, %r6, %pil
9538 .word 0x8780204f ! 120: WRASI_I wr %r0, 0x004f, %asi
9539pmu_20_91:
9540 nop
9541 setx 0xfffffcb0fffff7dc, %g1, %g7
9542 .word 0xa3800007 ! 121: WR_PERF_COUNTER_R wr %r0, %r7, %-
9543 .word 0xd6800a80 ! 122: LDUWA_R lduwa [%r0, %r0] 0x54, %r11
9544intveclr_20_92:
9545 nop
9546 ta T_CHANGE_HPRIV
9547 setx 0xc715ee4cf9bfad57, %r1, %r28
9548 stxa %r28, [%g0] 0x72
9549 .word 0x25400001 ! 123: FBPLG fblg,a,pn %fcc0, <label_0x1>
9550 setx vahole_target0, %r18, %r27
9551 .word 0xe19fda00 ! 124: LDDFA_R ldda [%r31, %r0], %f16
9552 .word 0xd69fe188 ! 125: LDDA_I ldda [%r31, + 0x0188] %asi, %r11
9553 .word 0xe1bfe020 ! 126: STDFA_I stda %f16, [0x0020, %r31]
9554fpinit_20_95:
9555 setx fp_data_quads, %r19, %r20
9556 ldd [%r20], %f0
9557 ldd [%r20+8], %f4
9558 ld [%r20+16], %fsr
9559 ld [%r20+24], %r19
9560 wr %r19, %g0, %gsr
9561 .word 0x91a009c4 ! 127: FDIVd fdivd %f0, %f4, %f8
9562 .word 0xd6800a60 ! 128: LDUWA_R lduwa [%r0, %r0] 0x53, %r11
9563 nop
9564 ta T_CHANGE_HPRIV
9565 mov 0x20+1, %r10
9566 set sync_thr_counter5, %r23
9567#ifndef SPC
9568 ldxa [%g0]0x63, %o1
9569 and %o1, 0x38, %o1
9570 add %o1, %r23, %r23
9571#endif
9572 cas [%r23],%g0,%r10 !lock
9573 brnz %r10, cwq_20_96
9574 rd %asi, %r12
9575 wr %g0, 0x40, %asi
9576 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
9577 and %l1, 0x3, %l1 ! Check if busy/enabled ..
9578 cmp %l1, 1
9579 bne cwq_20_96
9580 set CWQ_BASE, %l6
9581 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
9582 best_set_reg(0x206100b0, %l1, %l2) !# Control Word
9583 sllx %l2, 32, %l2
9584 stx %l2, [%l6 + 0x0]
9585 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
9586 sub %l2, 0x40, %l2
9587 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
9588 wr %r12, %g0, %asi
9589 st %g0, [%r23]
9590cwq_20_96:
9591 ta T_CHANGE_NONHPRIV
9592 .word 0x99414000 ! 129: RDPC rd %pc, %r12
9593 .word 0x8d802004 ! 130: WRFPRS_I wr %r0, 0x0004, %fprs
9594pmu_20_97:
9595 nop
9596 ta T_CHANGE_PRIV
9597 setx 0xfffff369ffffff33, %g1, %g7
9598 .word 0xa3800007 ! 131: WR_PERF_COUNTER_R wr %r0, %r7, %-
9599 invalw
9600 mov 0x32, %r30
9601 .word 0x93d0001e ! 132: Tcc_R tne icc_or_xcc, %r0 + %r30
9602splash_htba_20_98:
9603 nop
9604 ta T_CHANGE_HPRIV
9605 setx 0x00000002002a0000, %r11, %r12
9606 .word 0x8b98000c ! 133: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
9607mondo_20_99:
9608 nop
9609 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9610 ta T_CHANGE_PRIV
9611 stxa %r11, [%r0+0x3e0] %asi
9612 .word 0x9d944014 ! 134: WRPR_WSTATE_R wrpr %r17, %r20, %wstate
9613jmptr_20_100:
9614 nop
9615 best_set_reg(0xe1a00000, %r20, %r27)
9616 .word 0xb7c6c000 ! 135: JMPL_R jmpl %r27 + %r0, %r27
9617 .word 0xd5e7c020 ! 136: CASA_I casa [%r31] 0x 1, %r0, %r10
9618 .word 0x93a0016a ! 137: FABSq dis not found
9619
9620 .word 0x91d02034 ! 138: Tcc_I ta icc_or_xcc, %r0 + 52
9621 .word 0xd8cfe1d8 ! 139: LDSBA_I ldsba [%r31, + 0x01d8] %asi, %r12
9622 nop
9623 ta T_CHANGE_HPRIV
9624 mov 0x20+1, %r10
9625 set sync_thr_counter5, %r23
9626#ifndef SPC
9627 ldxa [%g0]0x63, %o1
9628 and %o1, 0x38, %o1
9629 add %o1, %r23, %r23
9630#endif
9631 cas [%r23],%g0,%r10 !lock
9632 brnz %r10, cwq_20_103
9633 rd %asi, %r12
9634 wr %g0, 0x40, %asi
9635 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
9636 and %l1, 0x3, %l1 ! Check if busy/enabled ..
9637 cmp %l1, 1
9638 bne cwq_20_103
9639 set CWQ_BASE, %l6
9640 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
9641 best_set_reg(0x20610080, %l1, %l2) !# Control Word
9642 sllx %l2, 32, %l2
9643 stx %l2, [%l6 + 0x0]
9644 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
9645 sub %l2, 0x40, %l2
9646 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
9647 wr %r12, %g0, %asi
9648 st %g0, [%r23]
9649cwq_20_103:
9650 ta T_CHANGE_NONHPRIV
9651 .word 0xa1414000 ! 140: RDPC rd %pc, %r16
9652 .word 0x8d902175 ! 141: WRPR_PSTATE_I wrpr %r0, 0x0175, %pstate
9653donret_20_105:
9654 nop
9655 ta T_CHANGE_HPRIV ! macro
9656 rd %pc, %r12
9657 add %r12, (donretarg_20_105-donret_20_105-4), %r12
9658 mov 0x38, %r18
9659 stxa %r12, [%r18]0x58
9660 add %r12, 0x4, %r11
9661 wrpr %g0, 0x2, %tl
9662 wrpr %g0, %r12, %tpc
9663 wrpr %g0, %r11, %tnpc
9664 set (0x00fef2af | (0x88 << 24)), %r13
9665 rdpr %tstate, %r16
9666 mov 0x1f, %r19
9667 and %r19, %r16, %r17
9668 andn %r16, %r19, %r16
9669 or %r16, %r17, %r20
9670 wrpr %r20, %g0, %tstate
9671 wrhpr %g0, 0x654, %htstate
9672 ta T_CHANGE_NONPRIV ! rand=0 (20)
9673 done
9674donretarg_20_105:
9675 .word 0xe66fe09e ! 142: LDSTUB_I ldstub %r19, [%r31 + 0x009e]
9676fpinit_20_106:
9677 setx fp_data_quads, %r19, %r20
9678 ldd [%r20], %f0
9679 ldd [%r20+8], %f4
9680 ld [%r20+16], %fsr
9681 ld [%r20+24], %r19
9682 wr %r19, %g0, %gsr
9683 .word 0x89b00484 ! 143: FCMPLE32 fcmple32 %d0, %d4, %r4
9684donret_20_107:
9685 nop
9686 ta T_CHANGE_HPRIV ! macro
9687 rd %pc, %r12
9688 add %r12, (donretarg_20_107-donret_20_107-4), %r12
9689 mov 0x38, %r18
9690 stxa %r12, [%r18]0x58
9691 add %r12, 0x4, %r11
9692 wrpr %g0, 0x1, %tl
9693 wrpr %g0, %r12, %tpc
9694 wrpr %g0, %r11, %tnpc
9695 set (0x000e41d4 | (4 << 24)), %r13
9696 rdpr %tstate, %r16
9697 mov 0x1f, %r19
9698 and %r19, %r16, %r17
9699 andn %r16, %r19, %r16
9700 or %r16, %r17, %r20
9701 wrpr %r20, %g0, %tstate
9702 wrhpr %g0, 0xa9f, %htstate
9703 ta T_CHANGE_NONPRIV ! rand=0 (20)
9704 done
9705donretarg_20_107:
9706 .word 0xa5a089c3 ! 144: FDIVd fdivd %f2, %f34, %f18
9707 nop
9708 ta T_CHANGE_HPRIV
9709 mov 0x20, %r10
9710 set sync_thr_counter6, %r23
9711#ifndef SPC
9712 ldxa [%g0]0x63, %o1
9713 and %o1, 0x38, %o1
9714 add %o1, %r23, %r23
9715#endif
9716 cas [%r23],%g0,%r10 !lock
9717 brnz %r10, sma_20_108
9718 rd %asi, %r12
9719 wr %g0, 0x40, %asi
9720 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
9721 set 0x001e1fff, %g1
9722 stxa %g1, [%g0 + 0x80] %asi
9723 wr %r12, %g0, %asi
9724 st %g0, [%r23]
9725sma_20_108:
9726 ta T_CHANGE_NONHPRIV
9727 .word 0xd5e7e010 ! 145: CASA_R casa [%r31] %asi, %r16, %r10
9728 otherw
9729 mov 0x35, %r30
9730 .word 0x91d0001e ! 146: Tcc_R ta icc_or_xcc, %r0 + %r30
9731splash_htba_20_109:
9732 nop
9733 ta T_CHANGE_HPRIV
9734 setx 0x00000002002a0000, %r11, %r12
9735 .word 0x8b98000c ! 147: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
9736ibp_20_110:
9737 nop
9738 .word 0xc1bfe1a0 ! 148: STDFA_I stda %f0, [0x01a0, %r31]
9739mondo_20_111:
9740 nop
9741 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9742 stxa %r2, [%r0+0x3d8] %asi
9743 .word 0x9d94800b ! 149: WRPR_WSTATE_R wrpr %r18, %r11, %wstate
9744 .word 0x8d802004 ! 150: WRFPRS_I wr %r0, 0x0004, %fprs
9745 .word 0x8d903747 ! 151: WRPR_PSTATE_I wrpr %r0, 0x1747, %pstate
9746 .word 0xc36fe0d1 ! 152: PREFETCH_I prefetch [%r31 + 0x00d1], #one_read
9747splash_hpstate_20_114:
9748 .word 0x24c90001 ! 1: BRLEZ brlez,a,pt %r4,<label_0x90001>
9749 .word 0x81982b17 ! 153: WRHPR_HPSTATE_I wrhpr %r0, 0x0b17, %hpstate
9750cwp_20_115:
9751 set user_data_start, %o7
9752 .word 0x93902007 ! 154: WRPR_CWP_I wrpr %r0, 0x0007, %cwp
9753 .word 0xa4dd0012 ! 155: SMULcc_R smulcc %r20, %r18, %r18
9754 .word 0x9194c012 ! 156: WRPR_PIL_R wrpr %r19, %r18, %pil
9755 setx vahole_target0, %r18, %r27
9756 .word 0xe1bfc2c0 ! 157: STDFA_R stda %f16, [%r0, %r31]
9757 setx vahole_target3, %r18, %r27
9758 .word 0xe1bfe0e0 ! 158: STDFA_I stda %f16, [0x00e0, %r31]
9759 .word 0xc3e9c023 ! 159: PREFETCHA_R prefetcha [%r7, %r3] 0x01, #one_read
9760ibp_20_120:
9761 nop
9762 ta T_CHANGE_NONHPRIV
9763 .word 0xe09fc02c ! 160: LDDA_R ldda [%r31, %r12] 0x01, %r16
9764 nop
9765 ta T_CHANGE_HPRIV
9766 mov 0x20+1, %r10
9767 set sync_thr_counter5, %r23
9768#ifndef SPC
9769 ldxa [%g0]0x63, %o1
9770 and %o1, 0x38, %o1
9771 add %o1, %r23, %r23
9772#endif
9773 cas [%r23],%g0,%r10 !lock
9774 brnz %r10, cwq_20_121
9775 rd %asi, %r12
9776 wr %g0, 0x40, %asi
9777 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
9778 and %l1, 0x3, %l1 ! Check if busy/enabled ..
9779 cmp %l1, 1
9780 bne cwq_20_121
9781 set CWQ_BASE, %l6
9782 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
9783 best_set_reg(0x20610010, %l1, %l2) !# Control Word
9784 sllx %l2, 32, %l2
9785 stx %l2, [%l6 + 0x0]
9786 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
9787 sub %l2, 0x40, %l2
9788 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
9789 wr %r12, %g0, %asi
9790 st %g0, [%r23]
9791cwq_20_121:
9792 ta T_CHANGE_NONHPRIV
9793 .word 0xa7414000 ! 161: RDPC rd %pc, %r19
9794 .word 0x99a00162 ! 162: FABSq dis not found
9795
9796 .word 0xc19fe140 ! 163: LDDFA_I ldda [%r31, 0x0140], %f0
9797mondo_20_123:
9798 nop
9799 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9800 ta T_CHANGE_PRIV
9801 stxa %r17, [%r0+0x3e0] %asi
9802 .word 0x9d930010 ! 164: WRPR_WSTATE_R wrpr %r12, %r16, %wstate
9803splash_tba_20_124:
9804 ta T_CHANGE_PRIV
9805 set 0x120000, %r12
9806 .word 0x8b90000c ! 165: WRPR_TBA_R wrpr %r0, %r12, %tba
9807 setx vahole_target1, %r18, %r27
9808 .word 0xe19fc3e0 ! 166: LDDFA_R ldda [%r31, %r0], %f16
9809trapasi_20_126:
9810 nop
9811 mov 0x8, %r1 ! (VA for ASI 0x5b)
9812 .word 0xd2904b60 ! 167: LDUHA_R lduha [%r1, %r0] 0x5b, %r9
9813ibp_20_127:
9814 nop
9815 .word 0xd3e7e00a ! 168: CASA_R casa [%r31] %asi, %r10, %r9
9816donret_20_128:
9817 nop
9818 ta T_CHANGE_HPRIV ! macro
9819 rd %pc, %r12
9820 add %r12, (donretarg_20_128-donret_20_128-8), %r12
9821 mov 0x38, %r18
9822 stxa %r12, [%r18]0x58
9823 add %r12, 0x4, %r11
9824 wrpr %g0, 0x1, %tl
9825 wrpr %g0, %r12, %tpc
9826 wrpr %g0, %r11, %tnpc
9827 set (0x00586b43 | (0x88 << 24)), %r13
9828 rdpr %tstate, %r16
9829 mov 0x1f, %r19
9830 and %r19, %r16, %r17
9831 andn %r16, %r19, %r16
9832 or %r16, %r17, %r20
9833 wrpr %r20, %g0, %tstate
9834 wrhpr %g0, 0x706, %htstate
9835 ta T_CHANGE_NONPRIV ! rand=0 (20)
9836 retry
9837donretarg_20_128:
9838 .word 0xd2ffe1d1 ! 169: SWAPA_I swapa %r9, [%r31 + 0x01d1] %asi
9839jmptr_20_129:
9840 nop
9841 best_set_reg(0xe1a00000, %r20, %r27)
9842 .word 0xb7c6c000 ! 170: JMPL_R jmpl %r27 + %r0, %r27
9843 .word 0xd3e7e009 ! 171: CASA_R casa [%r31] %asi, %r9, %r9
9844 setx vahole_target3, %r18, %r27
9845 .word 0xa5b507cd ! 172: PDIST pdistn %d20, %d44, %d18
9846 .word 0xe727e18f ! 173: STF_I st %f19, [0x018f, %r31]
9847 nop
9848 ta T_CHANGE_HPRIV
9849 mov 0x20+1, %r10
9850 set sync_thr_counter5, %r23
9851#ifndef SPC
9852 ldxa [%g0]0x63, %o1
9853 and %o1, 0x38, %o1
9854 add %o1, %r23, %r23
9855#endif
9856 cas [%r23],%g0,%r10 !lock
9857 brnz %r10, cwq_20_132
9858 rd %asi, %r12
9859 wr %g0, 0x40, %asi
9860 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
9861 and %l1, 0x3, %l1 ! Check if busy/enabled ..
9862 cmp %l1, 1
9863 bne cwq_20_132
9864 set CWQ_BASE, %l6
9865 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
9866 best_set_reg(0x20610060, %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_20_132:
9875 ta T_CHANGE_NONHPRIV
9876 .word 0x91414000 ! 174: RDPC rd %pc, %r8
9877 .word 0x87802055 ! 175: WRASI_I wr %r0, 0x0055, %asi
9878donret_20_133:
9879 nop
9880 ta T_CHANGE_HPRIV ! macro
9881 rd %pc, %r12
9882 add %r12, (donretarg_20_133-donret_20_133-4), %r12
9883 mov 0x38, %r18
9884 stxa %r12, [%r18]0x58
9885 add %r12, 0x4, %r11
9886 wrpr %g0, 0x2, %tl
9887 wrpr %g0, %r12, %tpc
9888 wrpr %g0, %r11, %tnpc
9889 set (0x002f9d1f | (0x55 << 24)), %r13
9890 rdpr %tstate, %r16
9891 mov 0x1f, %r19
9892 and %r19, %r16, %r17
9893 andn %r16, %r19, %r16
9894 or %r16, %r17, %r20
9895 wrpr %r20, %g0, %tstate
9896 wrhpr %g0, 0xc94, %htstate
9897 ta T_CHANGE_NONPRIV ! rand=0 (20)
9898 .word 0x20800001 ! 1: BN bn,a <label_0x1>
9899 done
9900donretarg_20_133:
9901 .word 0x93a489d2 ! 176: FDIVd fdivd %f18, %f18, %f40
9902 .word 0xa5500000 ! 177: RDPR_TPC <illegal instruction>
9903br_badelay2_20_134:
9904 .word 0x34800001 ! 1: BG bg,a <label_0x1>
9905 pdist %f12, %f22, %f10
9906 .word 0xa1b10314 ! 178: ALIGNADDRESS alignaddr %r4, %r20, %r16
9907 setx 0x33d8ac5aba2f1800, %r1, %r28
9908 stxa %r28, [%g0] 0x73
9909intvec_20_135:
9910 .word 0x39400001 ! 179: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
9911 .word 0xd5e7c020 ! 180: CASA_I casa [%r31] 0x 1, %r0, %r10
9912 .word 0x91500000 ! 181: RDPR_TPC <illegal instruction>
9913 .word 0xda800b80 ! 182: LDUWA_R lduwa [%r0, %r0] 0x5c, %r13
9914 .word 0x38800001 ! 183: BGU bgu,a <label_0x1>
9915intveclr_20_137:
9916 nop
9917 ta T_CHANGE_HPRIV
9918 setx 0xee05c58e0ba61856, %r1, %r28
9919 stxa %r28, [%g0] 0x72
9920 ta T_CHANGE_NONHPRIV
9921 .word 0x25400001 ! 184: FBPLG fblg,a,pn %fcc0, <label_0x1>
9922 invalw
9923 mov 0xb2, %r30
9924 .word 0x91d0001e ! 185: Tcc_R ta icc_or_xcc, %r0 + %r30
9925dvapa_20_138:
9926 nop
9927 ta T_CHANGE_HPRIV
9928 mov 0xf06, %r20
9929 mov 0x6, %r19
9930 sllx %r20, 23, %r20
9931 or %r19, %r20, %r19
9932 stxa %r19, [%g0] ASI_LSU_CONTROL
9933 mov 0x38, %r18
9934 stxa %r31, [%r18]0x58
9935 ta T_CHANGE_NONHPRIV
9936 .word 0xdb1fc00a ! 186: LDDF_R ldd [%r31, %r10], %f13
9937donret_20_139:
9938 nop
9939 ta T_CHANGE_HPRIV ! macro
9940 rd %pc, %r12
9941 add %r12, (donretarg_20_139-donret_20_139-4), %r12
9942 mov 0x38, %r18
9943 stxa %r12, [%r18]0x58
9944 add %r12, 0x4, %r11
9945 wrpr %g0, 0x1, %tl
9946 wrpr %g0, %r12, %tpc
9947 wrpr %g0, %r11, %tnpc
9948 set (0x00766b59 | (32 << 24)), %r13
9949 rdpr %tstate, %r16
9950 mov 0x1f, %r19
9951 and %r19, %r16, %r17
9952 andn %r16, %r19, %r16
9953 or %r16, %r17, %r20
9954 wrpr %r20, %g0, %tstate
9955 wrhpr %g0, 0xad4, %htstate
9956 ta T_CHANGE_NONHPRIV ! rand=1 (20)
9957 .word 0x36800001 ! 1: BGE bge,a <label_0x1>
9958 done
9959donretarg_20_139:
9960 .word 0xdaffe13f ! 187: SWAPA_I swapa %r13, [%r31 + 0x013f] %asi
9961 .word 0x91b204c3 ! 188: FCMPNE32 fcmpne32 %d8, %d34, %r8
9962memptr_20_141:
9963 set user_data_start, %r31
9964 .word 0x8581ef12 ! 189: WRCCR_I wr %r7, 0x0f12, %ccr
9965dvapa_20_142:
9966 nop
9967 ta T_CHANGE_HPRIV
9968 mov 0xe9e, %r20
9969 mov 0x1, %r19
9970 sllx %r20, 23, %r20
9971 or %r19, %r20, %r19
9972 stxa %r19, [%g0] ASI_LSU_CONTROL
9973 mov 0x38, %r18
9974 stxa %r31, [%r18]0x58
9975 ta T_CHANGE_NONHPRIV
9976 .word 0xa3a089ca ! 190: FDIVd fdivd %f2, %f10, %f48
9977dvapa_20_143:
9978 nop
9979 ta T_CHANGE_HPRIV
9980 mov 0xef3, %r20
9981 mov 0x8, %r19
9982 sllx %r20, 23, %r20
9983 or %r19, %r20, %r19
9984 stxa %r19, [%g0] ASI_LSU_CONTROL
9985 mov 0x38, %r18
9986 stxa %r31, [%r18]0x58
9987 ta T_CHANGE_NONHPRIV
9988 .word 0xe6bfc02c ! 191: STDA_R stda %r19, [%r31 + %r12] 0x01
9989fpinit_20_144:
9990 setx fp_data_quads, %r19, %r20
9991 ldd [%r20], %f0
9992 ldd [%r20+8], %f4
9993 ld [%r20+16], %fsr
9994 ld [%r20+24], %r19
9995 wr %r19, %g0, %gsr
9996 .word 0x91a009a4 ! 192: FDIVs fdivs %f0, %f4, %f8
9997 .word 0x986d0009 ! 193: UDIVX_R udivx %r20, %r9, %r12
9998donret_20_145:
9999 nop
10000 ta T_CHANGE_HPRIV ! macro
10001 rd %pc, %r12
10002 add %r12, (donretarg_20_145-donret_20_145-4), %r12
10003 mov 0x38, %r18
10004 stxa %r12, [%r18]0x58
10005 add %r12, 0x4, %r11
10006 wrpr %g0, 0x1, %tl
10007 wrpr %g0, %r12, %tpc
10008 wrpr %g0, %r11, %tnpc
10009 set (0x00edeeac | (22 << 24)), %r13
10010 rdpr %tstate, %r16
10011 mov 0x1f, %r19
10012 and %r19, %r16, %r17
10013 andn %r16, %r19, %r16
10014 or %r16, %r17, %r20
10015 wrpr %r20, %g0, %tstate
10016 wrhpr %g0, 0x2cf, %htstate
10017 ta T_CHANGE_NONHPRIV ! rand=1 (20)
10018 .word 0x33400001 ! 1: FBPE fbe,a,pn %fcc0, <label_0x1>
10019 done
10020donretarg_20_145:
10021 .word 0xe6ffe04c ! 194: SWAPA_I swapa %r19, [%r31 + 0x004c] %asi
10022 .word 0x9195000d ! 195: WRPR_PIL_R wrpr %r20, %r13, %pil
10023 .word 0x9190c013 ! 196: WRPR_PIL_R wrpr %r3, %r19, %pil
10024 .word 0x87acca48 ! 197: FCMPd fcmpd %fcc<n>, %f50, %f8
10025 .word 0x9f803f02 ! 198: SIR sir 0x1f02
10026 .word 0x3e780001 ! 199: BPVC <illegal instruction>
10027 .word 0x87802014 ! 200: WRASI_I wr %r0, 0x0014, %asi
10028splash_hpstate_20_149:
10029 ta T_CHANGE_NONHPRIV
10030 .word 0x8198280d ! 201: WRHPR_HPSTATE_I wrhpr %r0, 0x080d, %hpstate
10031 .word 0xe697e168 ! 202: LDUHA_I lduha [%r31, + 0x0168] %asi, %r19
10032dvapa_20_150:
10033 nop
10034 ta T_CHANGE_HPRIV
10035 mov 0x8a6, %r20
10036 mov 0x1e, %r19
10037 sllx %r20, 23, %r20
10038 or %r19, %r20, %r19
10039 stxa %r19, [%g0] ASI_LSU_CONTROL
10040 mov 0x38, %r18
10041 stxa %r31, [%r18]0x58
10042 ta T_CHANGE_NONHPRIV
10043 .word 0xc32fc010 ! 203: STXFSR_R st-sfr %f1, [%r16, %r31]
10044splash_decr_20_151:
10045 nop
10046 ta T_CHANGE_HPRIV
10047 mov 8, %r1
10048 stxa %r12, [%r1] 0x45
10049 .word 0xa781c010 ! 204: WR_GRAPHICS_STATUS_REG_R wr %r7, %r16, %-
10050brcommon2_20_152:
10051 nop
10052 setx common_target, %r12, %r27
10053 ba,a .+12
10054 .word 0xa7a489c3 ! 1: FDIVd fdivd %f18, %f34, %f50
10055 ba,a .+8
10056 jmpl %r27+0, %r27
10057 .word 0xc1bfe000 ! 205: STDFA_I stda %f0, [0x0000, %r31]
10058 .word 0x97454000 ! 206: RD_CLEAR_SOFTINT rd %clear_softint, %r11
10059 .word 0xe897e120 ! 207: LDUHA_I lduha [%r31, + 0x0120] %asi, %r20
10060 nop
10061 ta T_CHANGE_HPRIV
10062 mov 0x20, %r10
10063 set sync_thr_counter6, %r23
10064#ifndef SPC
10065 ldxa [%g0]0x63, %o1
10066 and %o1, 0x38, %o1
10067 add %o1, %r23, %r23
10068#endif
10069 cas [%r23],%g0,%r10 !lock
10070 brnz %r10, sma_20_153
10071 rd %asi, %r12
10072 wr %g0, 0x40, %asi
10073 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
10074 set 0x00121fff, %g1
10075 stxa %g1, [%g0 + 0x80] %asi
10076 wr %r12, %g0, %asi
10077 st %g0, [%r23]
10078sma_20_153:
10079 ta T_CHANGE_NONHPRIV
10080 .word 0xe9e7e013 ! 208: CASA_R casa [%r31] %asi, %r19, %r20
10081 setx vahole_target3, %r18, %r27
10082 .word 0xe19fda00 ! 209: LDDFA_R ldda [%r31, %r0], %f16
10083splash_lsu_20_155:
10084 nop
10085 ta T_CHANGE_HPRIV
10086 set 0x3d05cc51, %r2
10087 mov 0x7, %r1
10088 sllx %r1, 32, %r1
10089 or %r1, %r2, %r2
10090 stxa %r2, [%r0] ASI_LSU_CONTROL
10091 ta T_CHANGE_NONHPRIV
10092 .word 0x3d400001 ! 210: FBPULE fbule,a,pn %fcc0, <label_0x1>
10093splash_hpstate_20_156:
10094 .word 0x22c88001 ! 1: BRZ brz,a,pt %r2,<label_0x88001>
10095 .word 0x8198283f ! 211: WRHPR_HPSTATE_I wrhpr %r0, 0x083f, %hpstate
10096fpinit_20_157:
10097 setx fp_data_quads, %r19, %r20
10098 ldd [%r20], %f0
10099 ldd [%r20+8], %f4
10100 ld [%r20+16], %fsr
10101 ld [%r20+24], %r19
10102 wr %r19, %g0, %gsr
10103 .word 0xc3e82de6 ! 212: PREFETCHA_I prefetcha [%r0, + 0x0de6] %asi, #one_read
10104splash_tba_20_158:
10105 ta T_CHANGE_PRIV
10106 setx 0x00000004003a0000, %r11, %r12
10107 .word 0x8b90000c ! 213: WRPR_TBA_R wrpr %r0, %r12, %tba
10108intveclr_20_159:
10109 nop
10110 ta T_CHANGE_HPRIV
10111 setx 0x9926757b379a2955, %r1, %r28
10112 stxa %r28, [%g0] 0x72
10113 .word 0x25400001 ! 214: FBPLG fblg,a,pn %fcc0, <label_0x1>
10114mondo_20_160:
10115 nop
10116 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10117 stxa %r8, [%r0+0x3d8] %asi
10118 .word 0x9d94c009 ! 215: WRPR_WSTATE_R wrpr %r19, %r9, %wstate
10119 .word 0xc19fd920 ! 216: LDDFA_R ldda [%r31, %r0], %f0
10120pmu_20_162:
10121 nop
10122 ta T_CHANGE_PRIV
10123 setx 0xfffff3e4fffffa8c, %g1, %g7
10124 .word 0xa3800007 ! 217: WR_PERF_COUNTER_R wr %r0, %r7, %-
10125donret_20_163:
10126 nop
10127 ta T_CHANGE_HPRIV ! macro
10128 rd %pc, %r12
10129 add %r12, (donretarg_20_163-donret_20_163-4), %r12
10130 mov 0x38, %r18
10131 stxa %r12, [%r18]0x58
10132 add %r12, 0x4, %r11
10133 wrpr %g0, 0x2, %tl
10134 wrpr %g0, %r12, %tpc
10135 wrpr %g0, %r11, %tnpc
10136 set (0x00d1a841 | (0x82 << 24)), %r13
10137 rdpr %tstate, %r16
10138 mov 0x1f, %r19
10139 and %r19, %r16, %r17
10140 andn %r16, %r19, %r16
10141 or %r16, %r17, %r20
10142 wrpr %r20, %g0, %tstate
10143 wrhpr %g0, 0xecc, %htstate
10144 ta T_CHANGE_NONPRIV ! rand=0 (20)
10145 .word 0x2cca4001 ! 1: BRGZ brgz,a,pt %r9,<label_0xa4001>
10146 done
10147donretarg_20_163:
10148 .word 0xa3a049d1 ! 218: FDIVd fdivd %f32, %f48, %f48
10149 invalw
10150 mov 0x33, %r30
10151 .word 0x91d0001e ! 219: Tcc_R ta icc_or_xcc, %r0 + %r30
10152 .word 0x93464000 ! 220: RD_STICK_CMPR_REG rd %-, %r9
10153 setx vahole_target3, %r18, %r27
10154 .word 0xe43fede6 ! 221: STD_I std %r18, [%r31 + 0x0de6]
10155ibp_20_165:
10156 nop
10157 .word 0xe43fede6 ! 222: STD_I std %r18, [%r31 + 0x0de6]
10158dvapa_20_166:
10159 nop
10160 ta T_CHANGE_HPRIV
10161 mov 0xfac, %r20
10162 mov 0x16, %r19
10163 sllx %r20, 23, %r20
10164 or %r19, %r20, %r19
10165 stxa %r19, [%g0] ASI_LSU_CONTROL
10166 mov 0x38, %r18
10167 stxa %r31, [%r18]0x58
10168 ta T_CHANGE_NONHPRIV
10169 .word 0xe19fd920 ! 223: LDDFA_R ldda [%r31, %r0], %f16
10170 .word 0xe44fe048 ! 224: LDSB_I ldsb [%r31 + 0x0048], %r18
10171mondo_20_167:
10172 nop
10173 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10174 ta T_CHANGE_PRIV
10175 stxa %r8, [%r0+0x3e8] %asi
10176 .word 0x9d930002 ! 225: WRPR_WSTATE_R wrpr %r12, %r2, %wstate
10177 .word 0x9a830014 ! 226: ADDcc_R addcc %r12, %r20, %r13
10178 .word 0xdb3fc00d ! 227: STDF_R std %f13, [%r13, %r31]
10179 setx vahole_target2, %r18, %r27
10180 .word 0x93b1c7d0 ! 228: PDIST pdistn %d38, %d16, %d40
10181 nop
10182 ta T_CHANGE_HPRIV
10183 mov 0x20+1, %r10
10184 set sync_thr_counter5, %r23
10185#ifndef SPC
10186 ldxa [%g0]0x63, %o1
10187 and %o1, 0x38, %o1
10188 add %o1, %r23, %r23
10189#endif
10190 cas [%r23],%g0,%r10 !lock
10191 brnz %r10, cwq_20_170
10192 rd %asi, %r12
10193 wr %g0, 0x40, %asi
10194 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
10195 and %l1, 0x3, %l1 ! Check if busy/enabled ..
10196 cmp %l1, 1
10197 bne cwq_20_170
10198 set CWQ_BASE, %l6
10199 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
10200 best_set_reg(0x20610070, %l1, %l2) !# Control Word
10201 sllx %l2, 32, %l2
10202 stx %l2, [%l6 + 0x0]
10203 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
10204 sub %l2, 0x40, %l2
10205 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
10206 wr %r12, %g0, %asi
10207 st %g0, [%r23]
10208cwq_20_170:
10209 ta T_CHANGE_NONHPRIV
10210 .word 0xa5414000 ! 229: RDPC rd %pc, %r18
10211 setx vahole_target0, %r18, %r27
10212 .word 0xd1e7e009 ! 230: CASA_R casa [%r31] %asi, %r9, %r8
10213 .word 0x91920001 ! 231: WRPR_PIL_R wrpr %r8, %r1, %pil
10214pmu_20_173:
10215 nop
10216 setx 0xfffff951fffff9b8, %g1, %g7
10217 .word 0xa3800007 ! 232: WR_PERF_COUNTER_R wr %r0, %r7, %-
10218 .word 0xc32fc012 ! 233: STXFSR_R st-sfr %f1, [%r18, %r31]
10219 .word 0xa16c4010 ! 234: SDIVX_R sdivx %r17, %r16, %r16
10220splash_cmpr_20_175:
10221 nop
10222 setx 0x04cb88ff5a75fd49, %l2, %l1
10223 ta T_CHANGE_PRIV
10224 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
10225 sub %l1, 40, %g1
10226 .word 0x89900011 ! 235: WRPR_TICK_R wrpr %r0, %r17, %tick
10227#if (defined SPC || defined CMP)
10228!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_20_176) + 56, 16, 16)) -> intp(4,0,15)
10229!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_20_176)&0xffffffff) + 56, 16, 16)) -> intp(4,0,15)
10230#else
10231 setx 0x36cfe7d7b64d3bb4, %r1, %r28
10232 stxa %r28, [%g0] 0x73
10233#endif
10234intvec_20_176:
10235 .word 0x39400001 ! 236: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10236dvapa_20_177:
10237 nop
10238 ta T_CHANGE_HPRIV
10239 mov 0xfda, %r20
10240 mov 0x1f, %r19
10241 sllx %r20, 23, %r20
10242 or %r19, %r20, %r19
10243 stxa %r19, [%g0] ASI_LSU_CONTROL
10244 mov 0x38, %r18
10245 stxa %r31, [%r18]0x58
10246 ta T_CHANGE_NONHPRIV
10247 .word 0xc19fd920 ! 237: LDDFA_R ldda [%r31, %r0], %f0
10248 setx vahole_target3, %r18, %r27
10249 .word 0xe1bfd960 ! 238: STDFA_R stda %f16, [%r0, %r31]
10250fpinit_20_179:
10251 setx fp_data_quads, %r19, %r20
10252 ldd [%r20], %f0
10253 ldd [%r20+8], %f4
10254 ld [%r20+16], %fsr
10255 ld [%r20+24], %r19
10256 wr %r19, %g0, %gsr
10257 .word 0x89a009c4 ! 239: FDIVd fdivd %f0, %f4, %f4
10258mondo_20_180:
10259 nop
10260 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10261 stxa %r20, [%r0+0x3c8] %asi
10262 .word 0x9d920013 ! 240: WRPR_WSTATE_R wrpr %r8, %r19, %wstate
10263 setx vahole_target1, %r18, %r27
10264 .word 0xc1bfc2c0 ! 241: STDFA_R stda %f0, [%r0, %r31]
10265#if (defined SPC || defined CMP)
10266!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_20_182) + 16, 16, 16)) -> intp(7,0,10)
10267!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_20_182)&0xffffffff) + 16, 16, 16)) -> intp(7,0,10)
10268#else
10269 setx 0xd63cefba5b578891, %r1, %r28
10270 stxa %r28, [%g0] 0x73
10271#endif
10272intvec_20_182:
10273 .word 0x39400001 ! 242: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10274 .word 0xe4800b40 ! 243: LDUWA_R lduwa [%r0, %r0] 0x5a, %r18
10275intveclr_20_183:
10276 nop
10277 ta T_CHANGE_HPRIV
10278 setx 0x1a8c4f921bec9a47, %r1, %r28
10279 stxa %r28, [%g0] 0x72
10280 ta T_CHANGE_NONHPRIV
10281 .word 0x25400001 ! 244: FBPLG fblg,a,pn %fcc0, <label_0x1>
10282 setx vahole_target3, %r18, %r27
10283 .word 0xe4bfc033 ! 245: STDA_R stda %r18, [%r31 + %r19] 0x01
10284 nop
10285 ta T_CHANGE_HPRIV
10286 mov 0x20, %r10
10287 set sync_thr_counter6, %r23
10288#ifndef SPC
10289 ldxa [%g0]0x63, %o1
10290 and %o1, 0x38, %o1
10291 add %o1, %r23, %r23
10292#endif
10293 cas [%r23],%g0,%r10 !lock
10294 brnz %r10, sma_20_185
10295 rd %asi, %r12
10296 wr %g0, 0x40, %asi
10297 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
10298 set 0x001e1fff, %g1
10299 stxa %g1, [%g0 + 0x80] %asi
10300 wr %r12, %g0, %asi
10301 st %g0, [%r23]
10302sma_20_185:
10303 ta T_CHANGE_NONHPRIV
10304 .word 0xe5e7e011 ! 246: CASA_R casa [%r31] %asi, %r17, %r18
10305fpinit_20_186:
10306 setx fp_data_quads, %r19, %r20
10307 ldd [%r20], %f0
10308 ldd [%r20+8], %f4
10309 ld [%r20+16], %fsr
10310 ld [%r20+24], %r19
10311 wr %r19, %g0, %gsr
10312 .word 0x87a80a44 ! 247: FCMPd fcmpd %fcc<n>, %f0, %f4
10313 setx vahole_target2, %r18, %r27
10314 .word 0xe49fc033 ! 248: LDDA_R ldda [%r31, %r19] 0x01, %r18
10315 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
10316reduce_priv_lvl_20_188:
10317 ta T_CHANGE_NONPRIV ! macro
10318brcommon2_20_189:
10319 nop
10320 setx common_target, %r12, %r27
10321 ba,a .+12
10322 .word 0xe1124005 ! 1: LDQF_R - [%r9, %r5], %f16
10323 ba,a .+8
10324 jmpl %r27+0, %r27
10325 .word 0xc1bfd960 ! 250: STDFA_R stda %f0, [%r0, %r31]
10326mondo_20_190:
10327 nop
10328 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10329 stxa %r16, [%r0+0x3d8] %asi
10330 .word 0x9d94c010 ! 251: WRPR_WSTATE_R wrpr %r19, %r16, %wstate
10331 setx 0x6cdc12b7b32b8f24, %r1, %r28
10332 stxa %r28, [%g0] 0x73
10333intvec_20_191:
10334 .word 0x39400001 ! 252: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10335 setx vahole_target3, %r18, %r27
10336 .word 0xe33fc010 ! 253: STDF_R std %f17, [%r16, %r31]
10337ibp_20_193:
10338 nop
10339 ta T_CHANGE_NONHPRIV
10340 .word 0xc1bfde00 ! 254: STDFA_R stda %f0, [%r0, %r31]
10341 .word 0xab85203f ! 255: WR_CLEAR_SOFTINT_I wr %r20, 0x003f, %clear_softint
10342splash_lsu_20_194:
10343 nop
10344 ta T_CHANGE_HPRIV
10345 set 0x961a7825, %r2
10346 mov 0x7, %r1
10347 sllx %r1, 32, %r1
10348 or %r1, %r2, %r2
10349 stxa %r2, [%r0] ASI_LSU_CONTROL
10350 .word 0x3d400001 ! 256: FBPULE fbule,a,pn %fcc0, <label_0x1>
10351 nop
10352 ta T_CHANGE_HPRIV
10353 mov 0x20, %r10
10354 set sync_thr_counter6, %r23
10355#ifndef SPC
10356 ldxa [%g0]0x63, %o1
10357 and %o1, 0x38, %o1
10358 add %o1, %r23, %r23
10359#endif
10360 cas [%r23],%g0,%r10 !lock
10361 brnz %r10, sma_20_195
10362 rd %asi, %r12
10363 wr %g0, 0x40, %asi
10364 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
10365 set 0x000e1fff, %g1
10366 stxa %g1, [%g0 + 0x80] %asi
10367 wr %r12, %g0, %asi
10368 st %g0, [%r23]
10369sma_20_195:
10370 ta T_CHANGE_NONHPRIV
10371 .word 0xe3e7e00c ! 257: CASA_R casa [%r31] %asi, %r12, %r17
10372#if (defined SPC || defined CMP)
10373!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_20_196) + 24, 16, 16)) -> intp(0,0,22)
10374!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_20_196)&0xffffffff) + 24, 16, 16)) -> intp(0,0,22)
10375#else
10376 setx 0xaee74ac4a7108cd5, %r1, %r28
10377 stxa %r28, [%g0] 0x73
10378#endif
10379intvec_20_196:
10380 .word 0x39400001 ! 258: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10381 .word 0x9bb48994 ! 259: BSHUFFLE fmovc32 %d18, %d20, %d44
10382 .word 0x9f8025fa ! 260: SIR sir 0x05fa
10383 nop
10384 ta T_CHANGE_HPRIV
10385 mov 0x20, %r10
10386 set sync_thr_counter6, %r23
10387#ifndef SPC
10388 ldxa [%g0]0x63, %o1
10389 and %o1, 0x38, %o1
10390 add %o1, %r23, %r23
10391#endif
10392 cas [%r23],%g0,%r10 !lock
10393 brnz %r10, sma_20_198
10394 rd %asi, %r12
10395 wr %g0, 0x40, %asi
10396 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
10397 set 0x00121fff, %g1
10398 stxa %g1, [%g0 + 0x80] %asi
10399 wr %r12, %g0, %asi
10400 st %g0, [%r23]
10401sma_20_198:
10402 ta T_CHANGE_NONHPRIV
10403 .word 0xe7e7e013 ! 261: CASA_R casa [%r31] %asi, %r19, %r19
10404splash_tba_20_199:
10405 ta T_CHANGE_PRIV
10406 setx 0x00000004003a0000, %r11, %r12
10407 .word 0x8b90000c ! 262: WRPR_TBA_R wrpr %r0, %r12, %tba
10408splash_hpstate_20_200:
10409 ta T_CHANGE_NONHPRIV
10410 .word 0x81982547 ! 263: WRHPR_HPSTATE_I wrhpr %r0, 0x0547, %hpstate
10411mondo_20_201:
10412 nop
10413 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10414 ta T_CHANGE_PRIV
10415 stxa %r19, [%r0+0x3d0] %asi
10416 .word 0x9d908011 ! 264: WRPR_WSTATE_R wrpr %r2, %r17, %wstate
10417tagged_20_202:
10418 tsubcctv %r0, 0x11a5, %r13
10419 .word 0xe607e0ec ! 265: LDUW_I lduw [%r31 + 0x00ec], %r19
10420 nop
10421 mov 0x80, %g3
10422 stxa %g3, [%g3] 0x57
10423 .word 0xe65fc000 ! 266: LDX_R ldx [%r31 + %r0], %r19
10424mondo_20_203:
10425 nop
10426 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10427 stxa %r18, [%r0+0x3d0] %asi
10428 .word 0x9d944005 ! 267: WRPR_WSTATE_R wrpr %r17, %r5, %wstate
10429splash_cmpr_20_204:
10430 nop
10431 setx 0x18706c6e8f0f4be5, %l2, %l1
10432 ta T_CHANGE_HPRIV
10433 wrhpr %l1, %g0, %hsys_tick_cmpr
10434 ta T_CHANGE_NONHPRIV
10435 sub %l1, 40, %g1
10436 .word 0xb1800011 ! 268: WR_STICK_REG_R wr %r0, %r17, %-
10437intveclr_20_205:
10438 nop
10439 ta T_CHANGE_HPRIV
10440 setx 0xadf8a14383fbd933, %r1, %r28
10441 stxa %r28, [%g0] 0x72
10442 ta T_CHANGE_NONHPRIV
10443 .word 0x25400001 ! 269: FBPLG fblg,a,pn %fcc0, <label_0x1>
10444 .word 0x8d902171 ! 270: WRPR_PSTATE_I wrpr %r0, 0x0171, %pstate
10445cwp_20_207:
10446 set user_data_start, %o7
10447 .word 0x93902006 ! 271: WRPR_CWP_I wrpr %r0, 0x0006, %cwp
10448#if (defined SPC || defined CMP)
10449!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_20_208) + 0, 16, 16)) -> intp(3,0,24)
10450!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_20_208)&0xffffffff) + 0, 16, 16)) -> intp(3,0,24)
10451#else
10452 setx 0x257100e237fab72c, %r1, %r28
10453 stxa %r28, [%g0] 0x73
10454#endif
10455intvec_20_208:
10456 .word 0x39400001 ! 272: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10457ibp_20_209:
10458 nop
10459 .word 0xc3eb0034 ! 273: PREFETCHA_R prefetcha [%r12, %r20] 0x01, #one_read
10460mondo_20_210:
10461 nop
10462 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10463 ta T_CHANGE_PRIV
10464 stxa %r13, [%r0+0x3c0] %asi
10465 .word 0x9d944010 ! 274: WRPR_WSTATE_R wrpr %r17, %r16, %wstate
10466ibp_20_211:
10467 nop
10468 ta T_CHANGE_NONHPRIV
10469 .word 0xc1bfe160 ! 275: STDFA_I stda %f0, [0x0160, %r31]
10470splash_lsu_20_212:
10471 nop
10472 ta T_CHANGE_HPRIV
10473 set 0xa9cd1b4c, %r2
10474 mov 0x4, %r1
10475 sllx %r1, 32, %r1
10476 or %r1, %r2, %r2
10477 stxa %r2, [%r0] ASI_LSU_CONTROL
10478 ta T_CHANGE_NONHPRIV
10479 .word 0x3d400001 ! 276: FBPULE fbule,a,pn %fcc0, <label_0x1>
10480 otherw
10481 mov 0xb4, %r30
10482 .word 0x83d0001e ! 277: Tcc_R te icc_or_xcc, %r0 + %r30
10483trapasi_20_213:
10484 nop
10485 mov 0x38, %r1 ! (VA for ASI 0x50)
10486 .word 0xe8d04a00 ! 278: LDSHA_R ldsha [%r1, %r0] 0x50, %r20
10487pmu_20_214:
10488 nop
10489 ta T_CHANGE_PRIV
10490 setx 0xfffffd2efffffeef, %g1, %g7
10491 .word 0xa3800007 ! 279: WR_PERF_COUNTER_R wr %r0, %r7, %-
10492 .word 0xe1bfc3e0 ! 280: STDFA_R stda %f16, [%r0, %r31]
10493#if (defined SPC || defined CMP)
10494!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_20_216) + 48, 16, 16)) -> intp(3,0,25)
10495!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_20_216)&0xffffffff) + 48, 16, 16)) -> intp(3,0,25)
10496#else
10497 setx 0x3f0f092e8be5ab1f, %r1, %r28
10498 stxa %r28, [%g0] 0x73
10499#endif
10500intvec_20_216:
10501 .word 0x39400001 ! 281: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10502splash_lsu_20_217:
10503 nop
10504 ta T_CHANGE_HPRIV
10505 set 0x9cc6f9e9, %r2
10506 mov 0x2, %r1
10507 sllx %r1, 32, %r1
10508 or %r1, %r2, %r2
10509 stxa %r2, [%r0] ASI_LSU_CONTROL
10510 .word 0x3d400001 ! 282: FBPULE fbule,a,pn %fcc0, <label_0x1>
10511mondo_20_218:
10512 nop
10513 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10514 stxa %r19, [%r0+0x3c0] %asi
10515 .word 0x9d91c002 ! 283: WRPR_WSTATE_R wrpr %r7, %r2, %wstate
10516 setx vahole_target0, %r18, %r27
10517 .word 0xc1bfe0e0 ! 284: STDFA_I stda %f0, [0x00e0, %r31]
10518mondo_20_220:
10519 nop
10520 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10521 ta T_CHANGE_PRIV
10522 stxa %r19, [%r0+0x3e0] %asi
10523 .word 0x9d948007 ! 285: WRPR_WSTATE_R wrpr %r18, %r7, %wstate
10524 .word 0x87a88a41 ! 286: FCMPd fcmpd %fcc<n>, %f2, %f32
10525donret_20_222:
10526 nop
10527 ta T_CHANGE_HPRIV ! macro
10528 rd %pc, %r12
10529 add %r12, (donretarg_20_222-donret_20_222-8), %r12
10530 mov 0x38, %r18
10531 stxa %r12, [%r18]0x58
10532 add %r12, 0x4, %r11
10533 wrpr %g0, 0x2, %tl
10534 wrpr %g0, %r12, %tpc
10535 wrpr %g0, %r11, %tnpc
10536 set (0x004bb630 | (0x80 << 24)), %r13
10537 rdpr %tstate, %r16
10538 mov 0x1f, %r19
10539 and %r19, %r16, %r17
10540 andn %r16, %r19, %r16
10541 or %r16, %r17, %r20
10542 wrpr %r20, %g0, %tstate
10543 wrhpr %g0, 0xacf, %htstate
10544 ta T_CHANGE_NONHPRIV ! rand=1 (20)
10545 retry
10546donretarg_20_222:
10547 .word 0xe86fe149 ! 287: LDSTUB_I ldstub %r20, [%r31 + 0x0149]
10548jmptr_20_223:
10549 nop
10550 best_set_reg(0xe1a00000, %r20, %r27)
10551 .word 0xb7c6c000 ! 288: JMPL_R jmpl %r27 + %r0, %r27
10552splash_cmpr_20_224:
10553 nop
10554 setx 0x9958b810bc4d7142, %l2, %l1
10555 ta T_CHANGE_HPRIV
10556 wrhpr %l1, %g0, %hsys_tick_cmpr
10557 sub %l1, 40, %g1
10558 .word 0x89900011 ! 289: WRPR_TICK_R wrpr %r0, %r17, %tick
10559splash_cmpr_20_225:
10560 nop
10561 setx 0xca788a22e3f45d64, %l2, %l1
10562 ta T_CHANGE_PRIV
10563 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
10564 ta T_CHANGE_NONPRIV
10565 sub %l1, 40, %g1
10566 .word 0x89900011 ! 290: WRPR_TICK_R wrpr %r0, %r17, %tick
10567pmu_20_226:
10568 nop
10569 setx 0xfffff4fffffff2d7, %g1, %g7
10570 .word 0xa3800007 ! 291: WR_PERF_COUNTER_R wr %r0, %r7, %-
10571pmu_20_227:
10572 nop
10573 ta T_CHANGE_PRIV
10574 setx 0xfffff6d3fffff23e, %g1, %g7
10575 .word 0xa3800007 ! 292: WR_PERF_COUNTER_R wr %r0, %r7, %-
10576mondo_20_228:
10577 nop
10578 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10579 ta T_CHANGE_PRIV
10580 stxa %r5, [%r0+0x3c0] %asi
10581 .word 0x9d920013 ! 293: WRPR_WSTATE_R wrpr %r8, %r19, %wstate
10582 .word 0x8780204f ! 294: WRASI_I wr %r0, 0x004f, %asi
10583 .word 0x99a00161 ! 295: FABSq dis not found
10584
10585donret_20_230:
10586 nop
10587 ta T_CHANGE_HPRIV ! macro
10588 rd %pc, %r12
10589 add %r12, (donretarg_20_230-donret_20_230-8), %r12
10590 mov 0x38, %r18
10591 stxa %r12, [%r18]0x58
10592 add %r12, 0x4, %r11
10593 wrpr %g0, 0x2, %tl
10594 wrpr %g0, %r12, %tpc
10595 wrpr %g0, %r11, %tnpc
10596 set (0x00b49030 | (20 << 24)), %r13
10597 rdpr %tstate, %r16
10598 mov 0x1f, %r19
10599 and %r19, %r16, %r17
10600 andn %r16, %r19, %r16
10601 or %r16, %r17, %r20
10602 wrpr %r20, %g0, %tstate
10603 wrhpr %g0, 0xbce, %htstate
10604 ta T_CHANGE_NONPRIV ! rand=0 (20)
10605 .word 0x22800001 ! 1: BE be,a <label_0x1>
10606 retry
10607donretarg_20_230:
10608 .word 0xe66fe143 ! 296: LDSTUB_I ldstub %r19, [%r31 + 0x0143]
10609 setx vahole_target2, %r18, %r27
10610 .word 0xc19fda00 ! 297: LDDFA_R ldda [%r31, %r0], %f0
10611 nop
10612 ta T_CHANGE_HPRIV
10613 mov 0x20+1, %r10
10614 set sync_thr_counter5, %r23
10615#ifndef SPC
10616 ldxa [%g0]0x63, %o1
10617 and %o1, 0x38, %o1
10618 add %o1, %r23, %r23
10619#endif
10620 cas [%r23],%g0,%r10 !lock
10621 brnz %r10, cwq_20_232
10622 rd %asi, %r12
10623 wr %g0, 0x40, %asi
10624 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
10625 and %l1, 0x3, %l1 ! Check if busy/enabled ..
10626 cmp %l1, 1
10627 bne cwq_20_232
10628 set CWQ_BASE, %l6
10629 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
10630 best_set_reg(0x20610000, %l1, %l2) !# Control Word
10631 sllx %l2, 32, %l2
10632 stx %l2, [%l6 + 0x0]
10633 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
10634 sub %l2, 0x40, %l2
10635 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
10636 wr %r12, %g0, %asi
10637 st %g0, [%r23]
10638cwq_20_232:
10639 ta T_CHANGE_NONHPRIV
10640 .word 0xa5414000 ! 298: RDPC rd %pc, %r18
10641trapasi_20_233:
10642 nop
10643 mov 0x3d0, %r1 ! (VA for ASI 0x25)
10644 .word 0xdac044a0 ! 299: LDSWA_R ldswa [%r1, %r0] 0x25, %r13
10645dvapa_20_234:
10646 nop
10647 ta T_CHANGE_HPRIV
10648 mov 0xca0, %r20
10649 mov 0x0, %r19
10650 sllx %r20, 23, %r20
10651 or %r19, %r20, %r19
10652 stxa %r19, [%g0] ASI_LSU_CONTROL
10653 mov 0x38, %r18
10654 stxa %r31, [%r18]0x58
10655 ta T_CHANGE_NONHPRIV
10656 .word 0x97b1c491 ! 300: FCMPLE32 fcmple32 %d38, %d48, %r11
10657intveclr_20_235:
10658 nop
10659 ta T_CHANGE_HPRIV
10660 setx 0xb673664a8dbf9a6e, %r1, %r28
10661 stxa %r28, [%g0] 0x72
10662 ta T_CHANGE_NONHPRIV
10663 .word 0x25400001 ! 301: FBPLG fblg,a,pn %fcc0, <label_0x1>
10664mondo_20_236:
10665 nop
10666 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10667 stxa %r20, [%r0+0x3d0] %asi
10668 .word 0x9d92c003 ! 302: WRPR_WSTATE_R wrpr %r11, %r3, %wstate
10669 setx 0xf37cd914996a0b58, %r1, %r28
10670 stxa %r28, [%g0] 0x73
10671intvec_20_237:
10672 .word 0x39400001 ! 303: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10673 .word 0xa7a00173 ! 304: FABSq dis not found
10674
10675pmu_20_239:
10676 nop
10677 ta T_CHANGE_PRIV
10678 setx 0xfffff61cfffff8b5, %g1, %g7
10679 .word 0xa3800007 ! 305: WR_PERF_COUNTER_R wr %r0, %r7, %-
10680pmu_20_240:
10681 nop
10682 ta T_CHANGE_PRIV
10683 setx 0xfffffb07fffff644, %g1, %g7
10684 .word 0xa3800007 ! 306: WR_PERF_COUNTER_R wr %r0, %r7, %-
10685ibp_20_241:
10686 nop
10687 ta T_CHANGE_NONHPRIV
10688 .word 0xe5e7e012 ! 307: CASA_R casa [%r31] %asi, %r18, %r18
10689splash_tba_20_242:
10690 ta T_CHANGE_PRIV
10691 setx 0x00000004003a0000, %r11, %r12
10692 .word 0x8b90000c ! 308: WRPR_TBA_R wrpr %r0, %r12, %tba
10693change_to_randtl_20_243:
10694 ta T_CHANGE_HPRIV ! macro
10695done_change_to_randtl_20_243:
10696 .word 0x8f902002 ! 309: WRPR_TL_I wrpr %r0, 0x0002, %tl
10697 .word 0x8d802004 ! 310: WRFPRS_I wr %r0, 0x0004, %fprs
10698intveclr_20_244:
10699 nop
10700 ta T_CHANGE_HPRIV
10701 setx 0xd30313727b00a127, %r1, %r28
10702 stxa %r28, [%g0] 0x72
10703 .word 0x25400001 ! 311: FBPLG fblg,a,pn %fcc0, <label_0x1>
10704 setx vahole_target3, %r18, %r27
10705 .word 0xe19fd960 ! 312: LDDFA_R ldda [%r31, %r0], %f16
10706 nop
10707 ta T_CHANGE_HPRIV
10708 mov 0x20, %r10
10709 set sync_thr_counter6, %r23
10710#ifndef SPC
10711 ldxa [%g0]0x63, %o1
10712 and %o1, 0x38, %o1
10713 add %o1, %r23, %r23
10714#endif
10715 cas [%r23],%g0,%r10 !lock
10716 brnz %r10, sma_20_246
10717 rd %asi, %r12
10718 wr %g0, 0x40, %asi
10719 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
10720 set 0x000e1fff, %g1
10721 stxa %g1, [%g0 + 0x80] %asi
10722 wr %r12, %g0, %asi
10723 st %g0, [%r23]
10724sma_20_246:
10725 ta T_CHANGE_NONHPRIV
10726 .word 0xe5e7e012 ! 313: CASA_R casa [%r31] %asi, %r18, %r18
10727dvapa_20_247:
10728 nop
10729 ta T_CHANGE_HPRIV
10730 mov 0xb76, %r20
10731 mov 0xc, %r19
10732 sllx %r20, 23, %r20
10733 or %r19, %r20, %r19
10734 stxa %r19, [%g0] ASI_LSU_CONTROL
10735 mov 0x38, %r18
10736 stxa %r31, [%r18]0x58
10737 ta T_CHANGE_NONHPRIV
10738 .word 0xa9703f6c ! 314: POPC_I popc 0x1f6c, %r20
10739 .word 0xa3a509ad ! 315: FDIVs fdivs %f20, %f13, %f17
10740ibp_20_249:
10741 nop
10742 ta T_CHANGE_NONHPRIV
10743 .word 0xc32fc013 ! 316: STXFSR_R st-sfr %f1, [%r19, %r31]
10744 .word 0x3e800001 ! 317: BVC bvc,a <label_0x1>
10745#if (defined SPC || defined CMP)
10746!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_20_250) + 24, 16, 16)) -> intp(7,0,13)
10747!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_20_250)&0xffffffff) + 24, 16, 16)) -> intp(7,0,13)
10748#else
10749 setx 0xc407df13ec00b503, %r1, %r28
10750 stxa %r28, [%g0] 0x73
10751#endif
10752intvec_20_250:
10753 .word 0x39400001 ! 318: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10754ibp_20_251:
10755 nop
10756 .word 0xd11fc009 ! 319: LDDF_R ldd [%r31, %r9], %f8
10757 setx vahole_target2, %r18, %r27
10758 .word 0xc1bfc3e0 ! 320: STDFA_R stda %f0, [%r0, %r31]
10759 setx 0x3348e0e5f71885c6, %r1, %r28
10760 stxa %r28, [%g0] 0x73
10761intvec_20_253:
10762 .word 0x39400001 ! 321: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10763 .word 0xd0800c00 ! 322: LDUWA_R lduwa [%r0, %r0] 0x60, %r8
10764dvapa_20_254:
10765 nop
10766 ta T_CHANGE_HPRIV
10767 mov 0x85a, %r20
10768 mov 0xd, %r19
10769 sllx %r20, 23, %r20
10770 or %r19, %r20, %r19
10771 stxa %r19, [%g0] ASI_LSU_CONTROL
10772 mov 0x38, %r18
10773 stxa %r31, [%r18]0x58
10774 ta T_CHANGE_NONHPRIV
10775 .word 0xd097c02c ! 323: LDUHA_R lduha [%r31, %r12] 0x01, %r8
10776 .word 0x8d802004 ! 324: WRFPRS_I wr %r0, 0x0004, %fprs
10777intveclr_20_255:
10778 nop
10779 ta T_CHANGE_HPRIV
10780 setx 0x94802f42ab0271d8, %r1, %r28
10781 stxa %r28, [%g0] 0x72
10782 .word 0x25400001 ! 325: FBPLG fblg,a,pn %fcc0, <label_0x1>
10783 nop
10784 ta T_CHANGE_HPRIV
10785 mov 0x20, %r10
10786 set sync_thr_counter6, %r23
10787#ifndef SPC
10788 ldxa [%g0]0x63, %o1
10789 and %o1, 0x38, %o1
10790 add %o1, %r23, %r23
10791#endif
10792 cas [%r23],%g0,%r10 !lock
10793 brnz %r10, sma_20_256
10794 rd %asi, %r12
10795 wr %g0, 0x40, %asi
10796 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
10797 set 0x00121fff, %g1
10798 stxa %g1, [%g0 + 0x80] %asi
10799 wr %r12, %g0, %asi
10800 st %g0, [%r23]
10801sma_20_256:
10802 ta T_CHANGE_NONHPRIV
10803 .word 0xd1e7e00c ! 326: CASA_R casa [%r31] %asi, %r12, %r8
10804 nop
10805 ta T_CHANGE_HPRIV
10806 mov 0x20+1, %r10
10807 set sync_thr_counter5, %r23
10808#ifndef SPC
10809 ldxa [%g0]0x63, %o1
10810 and %o1, 0x38, %o1
10811 add %o1, %r23, %r23
10812#endif
10813 cas [%r23],%g0,%r10 !lock
10814 brnz %r10, cwq_20_257
10815 rd %asi, %r12
10816 wr %g0, 0x40, %asi
10817 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
10818 and %l1, 0x3, %l1 ! Check if busy/enabled ..
10819 cmp %l1, 1
10820 bne cwq_20_257
10821 set CWQ_BASE, %l6
10822 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
10823 best_set_reg(0x20610020, %l1, %l2) !# Control Word
10824 sllx %l2, 32, %l2
10825 stx %l2, [%l6 + 0x0]
10826 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
10827 sub %l2, 0x40, %l2
10828 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
10829 wr %r12, %g0, %asi
10830 st %g0, [%r23]
10831cwq_20_257:
10832 ta T_CHANGE_NONHPRIV
10833 .word 0x91414000 ! 327: RDPC rd %pc, %r8
10834ibp_20_258:
10835 nop
10836 ta T_CHANGE_NONHPRIV
10837 .word 0xc19fdc00 ! 328: LDDFA_R ldda [%r31, %r0], %f0
10838fpinit_20_259:
10839 setx fp_data_quads, %r19, %r20
10840 ldd [%r20], %f0
10841 ldd [%r20+8], %f4
10842 ld [%r20+16], %fsr
10843 ld [%r20+24], %r19
10844 wr %r19, %g0, %gsr
10845 .word 0xc3e83065 ! 329: PREFETCHA_I prefetcha [%r0, + 0xfffff065] %asi, #one_read
10846 setx vahole_target1, %r18, %r27
10847 .word 0xdb1fc011 ! 330: LDDF_R ldd [%r31, %r17], %f13
10848 .word 0xda800b40 ! 331: LDUWA_R lduwa [%r0, %r0] 0x5a, %r13
10849 .word 0x94d536a4 ! 332: UMULcc_I umulcc %r20, 0xfffff6a4, %r10
10850ibp_20_261:
10851 nop
10852 .word 0x95a409aa ! 333: FDIVs fdivs %f16, %f10, %f10
10853mondo_20_262:
10854 nop
10855 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10856 ta T_CHANGE_PRIV
10857 stxa %r16, [%r0+0x3d0] %asi
10858 .word 0x9d94c00a ! 334: WRPR_WSTATE_R wrpr %r19, %r10, %wstate
10859mondo_20_263:
10860 nop
10861 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10862 stxa %r10, [%r0+0x3e8] %asi
10863 .word 0x9d918013 ! 335: WRPR_WSTATE_R wrpr %r6, %r19, %wstate
10864 .word 0x9b524000 ! 336: RDPR_CWP rdpr %cwp, %r13
10865pmu_20_265:
10866 nop
10867 ta T_CHANGE_PRIV
10868 setx 0xfffff6f5fffff935, %g1, %g7
10869 .word 0xa3800007 ! 337: WR_PERF_COUNTER_R wr %r0, %r7, %-
10870dvapa_20_266:
10871 nop
10872 ta T_CHANGE_HPRIV
10873 mov 0xc9c, %r20
10874 mov 0xf, %r19
10875 sllx %r20, 23, %r20
10876 or %r19, %r20, %r19
10877 stxa %r19, [%g0] ASI_LSU_CONTROL
10878 mov 0x38, %r18
10879 stxa %r31, [%r18]0x58
10880 ta T_CHANGE_NONHPRIV
10881 .word 0xd31fc00c ! 338: LDDF_R ldd [%r31, %r12], %f9
10882splash_lsu_20_267:
10883 nop
10884 ta T_CHANGE_HPRIV
10885 set 0xdb8847d4, %r2
10886 mov 0x6, %r1
10887 sllx %r1, 32, %r1
10888 or %r1, %r2, %r2
10889 stxa %r2, [%r0] ASI_LSU_CONTROL
10890 ta T_CHANGE_NONHPRIV
10891 .word 0x3d400001 ! 339: FBPULE fbule,a,pn %fcc0, <label_0x1>
10892splash_tba_20_268:
10893 ta T_CHANGE_PRIV
10894 set 0x120000, %r12
10895 .word 0x8b90000c ! 340: WRPR_TBA_R wrpr %r0, %r12, %tba
10896 otherw
10897 mov 0x30, %r30
10898 .word 0x83d0001e ! 341: Tcc_R te icc_or_xcc, %r0 + %r30
10899donret_20_269:
10900 nop
10901 ta T_CHANGE_HPRIV ! macro
10902 rd %pc, %r12
10903 add %r12, (donretarg_20_269-donret_20_269-4), %r12
10904 mov 0x38, %r18
10905 stxa %r12, [%r18]0x58
10906 add %r12, 0x4, %r11
10907 wrpr %g0, 0x2, %tl
10908 wrpr %g0, %r12, %tpc
10909 wrpr %g0, %r11, %tnpc
10910 set (0x00800bdc | (32 << 24)), %r13
10911 rdpr %tstate, %r16
10912 mov 0x1f, %r19
10913 and %r19, %r16, %r17
10914 andn %r16, %r19, %r16
10915 or %r16, %r17, %r20
10916 wrpr %r20, %g0, %tstate
10917 wrhpr %g0, 0xa16, %htstate
10918 ta T_CHANGE_NONPRIV ! rand=0 (20)
10919 .word 0x28800001 ! 1: BLEU bleu,a <label_0x1>
10920 done
10921donretarg_20_269:
10922 .word 0x9ba309c9 ! 342: FDIVd fdivd %f12, %f40, %f44
10923ibp_20_270:
10924 nop
10925 .word 0xc1bfe0e0 ! 343: STDFA_I stda %f0, [0x00e0, %r31]
10926 .word 0x9f8030d4 ! 344: SIR sir 0x10d4
10927splash_hpstate_20_271:
10928 .word 0x81982e4f ! 345: WRHPR_HPSTATE_I wrhpr %r0, 0x0e4f, %hpstate
10929 nop
10930 ta T_CHANGE_HPRIV
10931 mov 0x20+1, %r10
10932 set sync_thr_counter5, %r23
10933#ifndef SPC
10934 ldxa [%g0]0x63, %o1
10935 and %o1, 0x38, %o1
10936 add %o1, %r23, %r23
10937#endif
10938 cas [%r23],%g0,%r10 !lock
10939 brnz %r10, cwq_20_272
10940 rd %asi, %r12
10941 wr %g0, 0x40, %asi
10942 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
10943 and %l1, 0x3, %l1 ! Check if busy/enabled ..
10944 cmp %l1, 1
10945 bne cwq_20_272
10946 set CWQ_BASE, %l6
10947 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
10948 best_set_reg(0x20610080, %l1, %l2) !# Control Word
10949 sllx %l2, 32, %l2
10950 stx %l2, [%l6 + 0x0]
10951 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
10952 sub %l2, 0x40, %l2
10953 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
10954 wr %r12, %g0, %asi
10955 st %g0, [%r23]
10956cwq_20_272:
10957 ta T_CHANGE_NONHPRIV
10958 .word 0x93414000 ! 346: RDPC rd %pc, %r9
10959ibp_20_273:
10960 nop
10961 ta T_CHANGE_NONHPRIV
10962 .word 0xda3fea91 ! 347: STD_I std %r13, [%r31 + 0x0a91]
10963#if (defined SPC || defined CMP)
10964!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_20_274) + 48, 16, 16)) -> intp(4,0,13)
10965!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_20_274)&0xffffffff) + 48, 16, 16)) -> intp(4,0,13)
10966#else
10967 setx 0x2300a8c7facc2632, %r1, %r28
10968 stxa %r28, [%g0] 0x73
10969#endif
10970intvec_20_274:
10971 .word 0x39400001 ! 348: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10972pmu_20_275:
10973 nop
10974 ta T_CHANGE_PRIV
10975 setx 0xfffff591fffff2a3, %g1, %g7
10976 .word 0xa3800007 ! 349: WR_PERF_COUNTER_R wr %r0, %r7, %-
10977ibp_20_276:
10978 nop
10979 .word 0xdb1fc008 ! 350: LDDF_R ldd [%r31, %r8], %f13
10980pmu_20_277:
10981 nop
10982 setx 0xfffffcaffffff63a, %g1, %g7
10983 .word 0xa3800007 ! 351: WR_PERF_COUNTER_R wr %r0, %r7, %-
10984 set 0x294d, %l3
10985 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
10986 .word 0xa1b447d0 ! 352: PDIST pdistn %d48, %d16, %d16
10987dvapa_20_278:
10988 nop
10989 ta T_CHANGE_HPRIV
10990 mov 0x8df, %r20
10991 mov 0x16, %r19
10992 sllx %r20, 23, %r20
10993 or %r19, %r20, %r19
10994 stxa %r19, [%g0] ASI_LSU_CONTROL
10995 mov 0x38, %r18
10996 stxa %r31, [%r18]0x58
10997 ta T_CHANGE_NONHPRIV
10998 .word 0x9f803a5d ! 353: SIR sir 0x1a5d
10999 .word 0xe71fe148 ! 354: LDDF_I ldd [%r31, 0x0148], %f19
11000pmu_20_279:
11001 nop
11002 ta T_CHANGE_PRIV
11003 setx 0xfffffb41fffff451, %g1, %g7
11004 .word 0xa3800007 ! 355: WR_PERF_COUNTER_R wr %r0, %r7, %-
11005#if (defined SPC || defined CMP)
11006!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_20_280) + 16, 16, 16)) -> intp(6,0,0)
11007!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_20_280)&0xffffffff) + 16, 16, 16)) -> intp(6,0,0)
11008#else
11009 setx 0x8d81d87ff240753e, %r1, %r28
11010 stxa %r28, [%g0] 0x73
11011#endif
11012intvec_20_280:
11013 .word 0x39400001 ! 356: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
11014 .word 0xe697e070 ! 357: LDUHA_I lduha [%r31, + 0x0070] %asi, %r19
11015intveclr_20_281:
11016 nop
11017 ta T_CHANGE_HPRIV
11018 setx 0x16850d8614f53a36, %r1, %r28
11019 stxa %r28, [%g0] 0x72
11020 ta T_CHANGE_NONHPRIV
11021 .word 0x25400001 ! 358: FBPLG fblg,a,pn %fcc0, <label_0x1>
11022 .word 0x3c780001 ! 359: BPPOS <illegal instruction>
11023pmu_20_282:
11024 nop
11025 setx 0xfffff791fffff247, %g1, %g7
11026 .word 0xa3800007 ! 360: WR_PERF_COUNTER_R wr %r0, %r7, %-
11027intveclr_20_283:
11028 nop
11029 ta T_CHANGE_HPRIV
11030 setx 0x6d75cea46d0c0b16, %r1, %r28
11031 stxa %r28, [%g0] 0x72
11032 ta T_CHANGE_NONHPRIV
11033 .word 0x25400001 ! 361: FBPLG fblg,a,pn %fcc0, <label_0x1>
11034 nop
11035 ta T_CHANGE_HPRIV
11036 mov 0x20+1, %r10
11037 set sync_thr_counter5, %r23
11038#ifndef SPC
11039 ldxa [%g0]0x63, %o1
11040 and %o1, 0x38, %o1
11041 add %o1, %r23, %r23
11042#endif
11043 cas [%r23],%g0,%r10 !lock
11044 brnz %r10, cwq_20_284
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_20_284
11051 set CWQ_BASE, %l6
11052 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
11053 best_set_reg(0x206100c0, %l1, %l2) !# Control Word
11054 sllx %l2, 32, %l2
11055 stx %l2, [%l6 + 0x0]
11056 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
11057 sub %l2, 0x40, %l2
11058 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
11059 wr %r12, %g0, %asi
11060 st %g0, [%r23]
11061cwq_20_284:
11062 ta T_CHANGE_NONHPRIV
11063 .word 0x95414000 ! 362: RDPC rd %pc, %r10
11064 .word 0xa1450000 ! 363: RD_SET_SOFTINT rd %set_softint, %r16
11065intveclr_20_285:
11066 nop
11067 ta T_CHANGE_HPRIV
11068 setx 0xd81ef743b329b3cf, %r1, %r28
11069 stxa %r28, [%g0] 0x72
11070 .word 0x25400001 ! 364: FBPLG fblg,a,pn %fcc0, <label_0x1>
11071fpinit_20_286:
11072 setx fp_data_quads, %r19, %r20
11073 ldd [%r20], %f0
11074 ldd [%r20+8], %f4
11075 ld [%r20+16], %fsr
11076 ld [%r20+24], %r19
11077 wr %r19, %g0, %gsr
11078 .word 0x87a80a44 ! 365: FCMPd fcmpd %fcc<n>, %f0, %f4
11079ibp_20_287:
11080 nop
11081 .word 0x93a309d3 ! 366: FDIVd fdivd %f12, %f50, %f40
11082 nop
11083 ta T_CHANGE_HPRIV
11084 mov 0x20, %r10
11085 set sync_thr_counter6, %r23
11086#ifndef SPC
11087 ldxa [%g0]0x63, %o1
11088 and %o1, 0x38, %o1
11089 add %o1, %r23, %r23
11090#endif
11091 cas [%r23],%g0,%r10 !lock
11092 brnz %r10, sma_20_288
11093 rd %asi, %r12
11094 wr %g0, 0x40, %asi
11095 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
11096 set 0x000e1fff, %g1
11097 stxa %g1, [%g0 + 0x80] %asi
11098 wr %r12, %g0, %asi
11099 st %g0, [%r23]
11100sma_20_288:
11101 ta T_CHANGE_NONHPRIV
11102 .word 0xe5e7e008 ! 367: CASA_R casa [%r31] %asi, %r8, %r18
11103 .word 0x8d802004 ! 368: WRFPRS_I wr %r0, 0x0004, %fprs
11104 setx 0x91ef532057bd2f3a, %r1, %r28
11105 stxa %r28, [%g0] 0x73
11106intvec_20_289:
11107 .word 0x39400001 ! 369: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
11108 nop
11109 ta T_CHANGE_HPRIV
11110 mov 0x20, %r10
11111 set sync_thr_counter6, %r23
11112#ifndef SPC
11113 ldxa [%g0]0x63, %o1
11114 and %o1, 0x38, %o1
11115 add %o1, %r23, %r23
11116#endif
11117 cas [%r23],%g0,%r10 !lock
11118 brnz %r10, sma_20_290
11119 rd %asi, %r12
11120 wr %g0, 0x40, %asi
11121 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
11122 set 0x001e1fff, %g1
11123 stxa %g1, [%g0 + 0x80] %asi
11124 wr %r12, %g0, %asi
11125 st %g0, [%r23]
11126sma_20_290:
11127 ta T_CHANGE_NONHPRIV
11128 .word 0xe5e7e013 ! 370: CASA_R casa [%r31] %asi, %r19, %r18
11129donret_20_291:
11130 nop
11131 ta T_CHANGE_HPRIV ! macro
11132 rd %pc, %r12
11133 add %r12, (donretarg_20_291-donret_20_291-4), %r12
11134 mov 0x38, %r18
11135 stxa %r12, [%r18]0x58
11136 add %r12, 0x4, %r11
11137 wrpr %g0, 0x2, %tl
11138 wrpr %g0, %r12, %tpc
11139 wrpr %g0, %r11, %tnpc
11140 set (0x00fdde97 | (28 << 24)), %r13
11141 rdpr %tstate, %r16
11142 mov 0x1f, %r19
11143 and %r19, %r16, %r17
11144 andn %r16, %r19, %r16
11145 or %r16, %r17, %r20
11146 wrpr %r20, %g0, %tstate
11147 wrhpr %g0, 0x754, %htstate
11148 ta T_CHANGE_NONPRIV ! rand=0 (20)
11149 .word 0x29400001 ! 1: FBPL fbl,a,pn %fcc0, <label_0x1>
11150 done
11151donretarg_20_291:
11152 .word 0xa3a509d3 ! 371: FDIVd fdivd %f20, %f50, %f48
11153 .word 0xab816a20 ! 372: WR_CLEAR_SOFTINT_I wr %r5, 0x0a20, %clear_softint
11154 .word 0xd68008a0 ! 373: LDUWA_R lduwa [%r0, %r0] 0x45, %r11
11155 nop
11156 ta T_CHANGE_HPRIV
11157 mov 0x20, %r10
11158 set sync_thr_counter6, %r23
11159#ifndef SPC
11160 ldxa [%g0]0x63, %o1
11161 and %o1, 0x38, %o1
11162 add %o1, %r23, %r23
11163#endif
11164 cas [%r23],%g0,%r10 !lock
11165 brnz %r10, sma_20_292
11166 rd %asi, %r12
11167 wr %g0, 0x40, %asi
11168 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
11169 set 0x00021fff, %g1
11170 stxa %g1, [%g0 + 0x80] %asi
11171 wr %r12, %g0, %asi
11172 st %g0, [%r23]
11173sma_20_292:
11174 ta T_CHANGE_NONHPRIV
11175 .word 0xd7e7e00d ! 374: CASA_R casa [%r31] %asi, %r13, %r11
11176br_longdelay2_20_293:
11177 .word 0x3c800001 ! 1: BPOS bpos,a <label_0x1>
11178 .word 0x24cfc001 ! 375: BRLEZ brlez,a,pt %r31,<label_0xfc001>
11179dvapa_20_294:
11180 nop
11181 ta T_CHANGE_HPRIV
11182 mov 0xcb5, %r20
11183 mov 0x10, %r19
11184 sllx %r20, 23, %r20
11185 or %r19, %r20, %r19
11186 stxa %r19, [%g0] ASI_LSU_CONTROL
11187 mov 0x38, %r18
11188 stxa %r31, [%r18]0x58
11189 ta T_CHANGE_NONHPRIV
11190 .word 0xd697c02b ! 376: LDUHA_R lduha [%r31, %r11] 0x01, %r11
11191splash_lsu_20_295:
11192 nop
11193 ta T_CHANGE_HPRIV
11194 set 0x8c70ddeb, %r2
11195 mov 0x5, %r1
11196 sllx %r1, 32, %r1
11197 or %r1, %r2, %r2
11198 stxa %r2, [%r0] ASI_LSU_CONTROL
11199 ta T_CHANGE_NONHPRIV
11200 .word 0x3d400001 ! 377: FBPULE fbule,a,pn %fcc0, <label_0x1>
11201brcommon1_20_296:
11202 nop
11203 setx common_target, %r12, %r27
11204 lduw [%r27], %r12 ! Load common dest into dcache ..
11205 ba,a .+12
11206 .word 0x97a7c9cb ! 1: FDIVd fdivd %f62, %f42, %f42
11207 ba,a .+8
11208 jmpl %r27+0, %r27
11209 .word 0x87ac8a44 ! 378: FCMPd fcmpd %fcc<n>, %f18, %f4
11210 .word 0x8d802000 ! 379: WRFPRS_I wr %r0, 0x0000, %fprs
11211splash_cmpr_20_297:
11212 nop
11213 setx 0x975a25b2b2ff8aed, %l2, %l1
11214 ta T_CHANGE_PRIV
11215 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
11216 ta T_CHANGE_NONPRIV
11217 sub %l1, 40, %g1
11218 .word 0x89900011 ! 380: WRPR_TICK_R wrpr %r0, %r17, %tick
11219#if (defined SPC || defined CMP)
11220!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_20_298) + 24, 16, 16)) -> intp(0,0,18)
11221!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_20_298)&0xffffffff) + 24, 16, 16)) -> intp(0,0,18)
11222#else
11223 setx 0x574b2b26108145ca, %r1, %r28
11224 stxa %r28, [%g0] 0x73
11225#endif
11226intvec_20_298:
11227 .word 0x39400001 ! 381: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
11228 .word 0x91928012 ! 382: WRPR_PIL_R wrpr %r10, %r18, %pil
11229splash_cmpr_20_300:
11230 nop
11231 setx 0x1cbbeafffbcb8c77, %l2, %l1
11232 ta T_CHANGE_HPRIV
11233 wrhpr %l1, %g0, %hsys_tick_cmpr
11234 ta T_CHANGE_NONHPRIV
11235 sub %l1, 40, %g1
11236 .word 0x89900011 ! 383: WRPR_TICK_R wrpr %r0, %r17, %tick
11237 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
11238reduce_priv_lvl_20_301:
11239 ta T_CHANGE_NONPRIV ! macro
11240mondo_20_302:
11241 nop
11242 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11243 ta T_CHANGE_PRIV
11244 stxa %r20, [%r0+0x3c8] %asi
11245 .word 0x9d92c004 ! 385: WRPR_WSTATE_R wrpr %r11, %r4, %wstate
11246 .word 0xd037e1f4 ! 386: STH_I sth %r8, [%r31 + 0x01f4]
11247 nop
11248 mov 0x80, %g3
11249 stxa %g3, [%g3] 0x57
11250 .word 0xd05fc000 ! 387: LDX_R ldx [%r31 + %r0], %r8
11251 setx 0x38c79e4fb61e6d7d, %r1, %r28
11252 stxa %r28, [%g0] 0x73
11253intvec_20_303:
11254 .word 0x39400001 ! 388: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
11255 .word 0xa7a00172 ! 389: FABSq dis not found
11256
11257donret_20_305:
11258 nop
11259 ta T_CHANGE_HPRIV ! macro
11260 rd %pc, %r12
11261 add %r12, (donretarg_20_305-donret_20_305-4), %r12
11262 mov 0x38, %r18
11263 stxa %r12, [%r18]0x58
11264 add %r12, 0x4, %r11
11265 wrpr %g0, 0x2, %tl
11266 wrpr %g0, %r12, %tpc
11267 wrpr %g0, %r11, %tnpc
11268 set (0x00ad24f7 | (28 << 24)), %r13
11269 rdpr %tstate, %r16
11270 mov 0x1f, %r19
11271 and %r19, %r16, %r17
11272 andn %r16, %r19, %r16
11273 or %r16, %r17, %r20
11274 wrpr %r20, %g0, %tstate
11275 wrhpr %g0, 0x99d, %htstate
11276 ta T_CHANGE_NONPRIV ! rand=0 (20)
11277 .word 0x35400001 ! 1: FBPUE fbue,a,pn %fcc0, <label_0x1>
11278 done
11279donretarg_20_305:
11280 .word 0xe8ffe0b7 ! 390: SWAPA_I swapa %r20, [%r31 + 0x00b7] %asi
11281 .word 0xe897e0b0 ! 391: LDUHA_I lduha [%r31, + 0x00b0] %asi, %r20
11282 .word 0xe8d7e168 ! 392: LDSHA_I ldsha [%r31, + 0x0168] %asi, %r20
11283pmu_20_306:
11284 nop
11285 ta T_CHANGE_PRIV
11286 setx 0xfffffdb7fffff85f, %g1, %g7
11287 .word 0xa3800007 ! 393: WR_PERF_COUNTER_R wr %r0, %r7, %-
11288 setx vahole_target2, %r18, %r27
11289 .word 0xc1bfe180 ! 394: STDFA_I stda %f0, [0x0180, %r31]
11290trapasi_20_308:
11291 nop
11292 mov 0x28, %r1 ! (VA for ASI 0x5a)
11293 .word 0xe8c84b40 ! 395: LDSBA_R ldsba [%r1, %r0] 0x5a, %r20
11294trapasi_20_309:
11295 nop
11296 mov 0x38, %r1 ! (VA for ASI 0x50)
11297 .word 0xe8d04a00 ! 396: LDSHA_R ldsha [%r1, %r0] 0x50, %r20
11298ibp_20_310:
11299 nop
11300 ta T_CHANGE_NONHPRIV
11301 .word 0xe89fc02d ! 397: LDDA_R ldda [%r31, %r13] 0x01, %r20
11302intveclr_20_311:
11303 nop
11304 ta T_CHANGE_HPRIV
11305 setx 0xf4ebaf505dc87dec, %r1, %r28
11306 stxa %r28, [%g0] 0x72
11307 ta T_CHANGE_NONHPRIV
11308 .word 0x25400001 ! 398: FBPLG fblg,a,pn %fcc0, <label_0x1>
11309splash_tba_20_312:
11310 ta T_CHANGE_PRIV
11311 set 0x120000, %r12
11312 .word 0x8b90000c ! 399: WRPR_TBA_R wrpr %r0, %r12, %tba
11313pmu_20_313:
11314 nop
11315 ta T_CHANGE_PRIV
11316 setx 0xfffffbf4fffff071, %g1, %g7
11317 .word 0xa3800007 ! 400: WR_PERF_COUNTER_R wr %r0, %r7, %-
11318 nop
11319 nop
11320 ta T_CHANGE_PRIV
11321 wrpr %g0, %g0, %gl
11322 nop
11323 nop
11324 setx join_lbl_0_0, %g1, %g2
11325 jmp %g2
11326 nop
11327fork_lbl_0_5:
11328 ta T_CHANGE_NONHPRIV
11329 setx vahole_target1, %r18, %r27
11330 .word 0xe49fc028 ! 1: LDDA_R ldda [%r31, %r8] 0x01, %r18
11331jmptr_10_1:
11332 nop
11333 best_set_reg(0xe0200000, %r20, %r27)
11334 .word 0xb7c6c000 ! 2: JMPL_R jmpl %r27 + %r0, %r27
11335 .word 0x36800001 ! 3: BGE bge,a <label_0x1>
11336 .word 0xc1bfc3e0 ! 4: STDFA_R stda %f0, [%r0, %r31]
11337 nop
11338 ta T_CHANGE_HPRIV
11339 mov 0x10, %r10
11340 set sync_thr_counter6, %r23
11341#ifndef SPC
11342 ldxa [%g0]0x63, %o1
11343 and %o1, 0x38, %o1
11344 add %o1, %r23, %r23
11345#endif
11346 cas [%r23],%g0,%r10 !lock
11347 brnz %r10, sma_10_2
11348 rd %asi, %r12
11349 wr %g0, 0x40, %asi
11350 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
11351 set 0x00021fff, %g1
11352 stxa %g1, [%g0 + 0x80] %asi
11353 wr %r12, %g0, %asi
11354 st %g0, [%r23]
11355sma_10_2:
11356 ta T_CHANGE_NONHPRIV
11357 .word 0xe5e7e00d ! 5: CASA_R casa [%r31] %asi, %r13, %r18
11358 setx vahole_target2, %r18, %r27
11359 .word 0xa3b507cc ! 6: PDIST pdistn %d20, %d12, %d48
11360 .word 0xe19fe1e0 ! 7: LDDFA_I ldda [%r31, 0x01e0], %f16
11361ibp_10_4:
11362 nop
11363 ta T_CHANGE_NONHPRIV
11364 .word 0xe1bfe1c0 ! 8: STDFA_I stda %f16, [0x01c0, %r31]
11365 .word 0xc1bfe0e0 ! 9: STDFA_I stda %f0, [0x00e0, %r31]
11366pmu_10_6:
11367 nop
11368 setx 0xfffff501fffffb09, %g1, %g7
11369 .word 0xa3800007 ! 10: WR_PERF_COUNTER_R wr %r0, %r7, %-
11370ibp_10_7:
11371 nop
11372 ta T_CHANGE_NONHPRIV
11373 .word 0xc1bfe180 ! 11: STDFA_I stda %f0, [0x0180, %r31]
11374 .word 0x9f8036c4 ! 12: SIR sir 0x16c4
11375brcommon1_10_8:
11376 nop
11377 setx common_target, %r12, %r27
11378 lduw [%r27], %r12 ! Load common dest into dcache ..
11379 ba,a .+12
11380 .word 0xa3702e80 ! 1: POPC_I popc 0x0e80, %r17
11381 ba,a .+8
11382 jmpl %r27+0, %r27
11383 .word 0xa1a2c9a6 ! 13: FDIVs fdivs %f11, %f6, %f16
11384 .word 0x93540000 ! 14: RDPR_GL <illegal instruction>
11385splash_lsu_10_9:
11386 nop
11387 ta T_CHANGE_HPRIV
11388 set 0x4f3384ef, %r2
11389 mov 0x3, %r1
11390 sllx %r1, 32, %r1
11391 or %r1, %r2, %r2
11392 stxa %r2, [%r0] ASI_LSU_CONTROL
11393 .word 0x3d400001 ! 15: FBPULE fbule,a,pn %fcc0, <label_0x1>
11394 .word 0xe82fe0ea ! 16: STB_I stb %r20, [%r31 + 0x00ea]
11395pmu_10_10:
11396 nop
11397 setx 0xfffffe40fffff28c, %g1, %g7
11398 .word 0xa3800007 ! 17: WR_PERF_COUNTER_R wr %r0, %r7, %-
11399 .word 0x9f802e26 ! 18: SIR sir 0x0e26
11400 .word 0x8d902574 ! 19: WRPR_PSTATE_I wrpr %r0, 0x0574, %pstate
11401dvapa_10_12:
11402 nop
11403 ta T_CHANGE_HPRIV
11404 mov 0xaec, %r20
11405 mov 0x1d, %r19
11406 sllx %r20, 23, %r20
11407 or %r19, %r20, %r19
11408 stxa %r19, [%g0] ASI_LSU_CONTROL
11409 mov 0x38, %r18
11410 stxa %r31, [%r18]0x58
11411 ta T_CHANGE_NONHPRIV
11412 .word 0xc1bfe100 ! 20: STDFA_I stda %f0, [0x0100, %r31]
11413splash_cmpr_10_13:
11414 nop
11415 setx 0x28dd8634752d74ee, %l2, %l1
11416 ta T_CHANGE_PRIV
11417 .word 0xaf800011 ! 1: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
11418 sub %l1, 40, %g1
11419 .word 0x89900011 ! 21: WRPR_TICK_R wrpr %r0, %r17, %tick
11420donret_10_14:
11421 nop
11422 ta T_CHANGE_HPRIV ! macro
11423 rd %pc, %r12
11424 add %r12, (donretarg_10_14-donret_10_14-8), %r12
11425 mov 0x38, %r18
11426 stxa %r12, [%r18]0x58
11427 add %r12, 0x4, %r11
11428 wrpr %g0, 0x2, %tl
11429 wrpr %g0, %r12, %tpc
11430 wrpr %g0, %r11, %tnpc
11431 set (0x0022a31a | (0x8b << 24)), %r13
11432 rdpr %tstate, %r16
11433 mov 0x1f, %r19
11434 and %r19, %r16, %r17
11435 andn %r16, %r19, %r16
11436 or %r16, %r17, %r20
11437 wrpr %r20, %g0, %tstate
11438 wrhpr %g0, 0x10e, %htstate
11439 ta T_CHANGE_NONHPRIV ! rand=1 (10)
11440 .word 0x2ccb0001 ! 1: BRGZ brgz,a,pt %r12,<label_0xb0001>
11441 retry
11442donretarg_10_14:
11443 .word 0xa5a249d0 ! 22: FDIVd fdivd %f40, %f16, %f18
11444trapasi_10_15:
11445 nop
11446 mov 0x18, %r1 ! (VA for ASI 0x50)
11447 .word 0xdad84a00 ! 23: LDXA_R ldxa [%r1, %r0] 0x50, %r13
11448dvapa_10_16:
11449 nop
11450 ta T_CHANGE_HPRIV
11451 mov 0x8e6, %r20
11452 mov 0xc, %r19
11453 sllx %r20, 23, %r20
11454 or %r19, %r20, %r19
11455 stxa %r19, [%g0] ASI_LSU_CONTROL
11456 mov 0x38, %r18
11457 stxa %r31, [%r18]0x58
11458 ta T_CHANGE_NONHPRIV
11459 .word 0xdabfc032 ! 24: STDA_R stda %r13, [%r31 + %r18] 0x01
11460 .word 0x8d802000 ! 25: WRFPRS_I wr %r0, 0x0000, %fprs
11461 .word 0xdbe7c020 ! 26: CASA_I casa [%r31] 0x 1, %r0, %r13
11462splash_cmpr_10_18:
11463 nop
11464 setx 0x2fd2b603d39945b5, %l2, %l1
11465 ta T_CHANGE_HPRIV
11466 wrhpr %l1, %g0, %hsys_tick_cmpr
11467 sub %l1, 40, %g1
11468 .word 0x89900011 ! 27: WRPR_TICK_R wrpr %r0, %r17, %tick
11469intveclr_10_19:
11470 nop
11471 ta T_CHANGE_HPRIV
11472 setx 0xd32d4d572206b18f, %r1, %r28
11473 stxa %r28, [%g0] 0x72
11474 ta T_CHANGE_NONHPRIV
11475 .word 0x25400001 ! 28: FBPLG fblg,a,pn %fcc0, <label_0x1>
11476intveclr_10_20:
11477 nop
11478 ta T_CHANGE_HPRIV
11479 setx 0x4829c580dbaeeaa1, %r1, %r28
11480 stxa %r28, [%g0] 0x72
11481 ta T_CHANGE_NONHPRIV
11482 .word 0x25400001 ! 29: FBPLG fblg,a,pn %fcc0, <label_0x1>
11483 nop
11484 ta T_CHANGE_HPRIV
11485 mov 0x10, %r10
11486 set sync_thr_counter6, %r23
11487#ifndef SPC
11488 ldxa [%g0]0x63, %o1
11489 and %o1, 0x38, %o1
11490 add %o1, %r23, %r23
11491#endif
11492 cas [%r23],%g0,%r10 !lock
11493 brnz %r10, sma_10_21
11494 rd %asi, %r12
11495 wr %g0, 0x40, %asi
11496 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
11497 set 0x000e1fff, %g1
11498 stxa %g1, [%g0 + 0x80] %asi
11499 wr %r12, %g0, %asi
11500 st %g0, [%r23]
11501sma_10_21:
11502 ta T_CHANGE_NONHPRIV
11503 .word 0xdbe7e014 ! 30: CASA_R casa [%r31] %asi, %r20, %r13
11504 .word 0x9ba00171 ! 31: FABSq dis not found
11505
11506memptr_10_23:
11507 set 0x60340000, %r31
11508 .word 0x85853fd0 ! 32: WRCCR_I wr %r20, 0x1fd0, %ccr
11509splash_tba_10_24:
11510 ta T_CHANGE_PRIV
11511 set 0x120000, %r12
11512 .word 0x8b90000c ! 33: WRPR_TBA_R wrpr %r0, %r12, %tba
11513 .word 0xe45fe180 ! 34: LDX_I ldx [%r31 + 0x0180], %r18
11514 .word 0x9f802539 ! 35: SIR sir 0x0539
11515mondo_10_25:
11516 nop
11517 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11518 stxa %r20, [%r0+0x3e8] %asi
11519 .word 0x9d914011 ! 36: WRPR_WSTATE_R wrpr %r5, %r17, %wstate
11520donret_10_26:
11521 nop
11522 ta T_CHANGE_HPRIV ! macro
11523 rd %pc, %r12
11524 add %r12, (donretarg_10_26-donret_10_26-8), %r12
11525 mov 0x38, %r18
11526 stxa %r12, [%r18]0x58
11527 add %r12, 0x4, %r11
11528 wrpr %g0, 0x2, %tl
11529 wrpr %g0, %r12, %tpc
11530 wrpr %g0, %r11, %tnpc
11531 set (0x00d0a67c | (0x89 << 24)), %r13
11532 rdpr %tstate, %r16
11533 mov 0x1f, %r19
11534 and %r19, %r16, %r17
11535 andn %r16, %r19, %r16
11536 or %r16, %r17, %r20
11537 wrpr %r20, %g0, %tstate
11538 wrhpr %g0, 0x2c4, %htstate
11539 ta T_CHANGE_NONHPRIV ! rand=1 (10)
11540 retry
11541donretarg_10_26:
11542 .word 0xe46fe096 ! 37: LDSTUB_I ldstub %r18, [%r31 + 0x0096]
11543donret_10_27:
11544 nop
11545 ta T_CHANGE_HPRIV ! macro
11546 rd %pc, %r12
11547 add %r12, (donretarg_10_27-donret_10_27-4), %r12
11548 mov 0x38, %r18
11549 stxa %r12, [%r18]0x58
11550 add %r12, 0x4, %r11
11551 wrpr %g0, 0x1, %tl
11552 wrpr %g0, %r12, %tpc
11553 wrpr %g0, %r11, %tnpc
11554 set (0x0023c20b | (0x83 << 24)), %r13
11555 rdpr %tstate, %r16
11556 mov 0x1f, %r19
11557 and %r19, %r16, %r17
11558 andn %r16, %r19, %r16
11559 or %r16, %r17, %r20
11560 wrpr %r20, %g0, %tstate
11561 wrhpr %g0, 0x88c, %htstate
11562 ta T_CHANGE_NONHPRIV ! rand=1 (10)
11563 .word 0x2b400001 ! 1: FBPUG fbug,a,pn %fcc0, <label_0x1>
11564 done
11565donretarg_10_27:
11566 .word 0xe46fe074 ! 38: LDSTUB_I ldstub %r18, [%r31 + 0x0074]
11567 .word 0x9194c007 ! 39: WRPR_PIL_R wrpr %r19, %r7, %pil
11568pmu_10_29:
11569 nop
11570 ta T_CHANGE_PRIV
11571 setx 0xfffffd37fffff50c, %g1, %g7
11572 .word 0xa3800007 ! 40: WR_PERF_COUNTER_R wr %r0, %r7, %-
11573 .word 0xc36fe129 ! 41: PREFETCH_I prefetch [%r31 + 0x0129], #one_read
11574splash_tba_10_31:
11575 ta T_CHANGE_PRIV
11576 setx 0x0000000000380000, %r11, %r12
11577 .word 0x8b90000c ! 42: WRPR_TBA_R wrpr %r0, %r12, %tba
11578intveclr_10_32:
11579 nop
11580 ta T_CHANGE_HPRIV
11581 setx 0x136fd2874b545d25, %r1, %r28
11582 stxa %r28, [%g0] 0x72
11583 ta T_CHANGE_NONHPRIV
11584 .word 0x25400001 ! 43: FBPLG fblg,a,pn %fcc0, <label_0x1>
11585 .word 0xe497e0a8 ! 44: LDUHA_I lduha [%r31, + 0x00a8] %asi, %r18
11586 otherw
11587 mov 0xb2, %r30
11588 .word 0x91d0001e ! 45: Tcc_R ta icc_or_xcc, %r0 + %r30
11589 .word 0xa9840004 ! 46: WR_SET_SOFTINT_R wr %r16, %r4, %set_softint
11590 nop
11591 ta T_CHANGE_HPRIV
11592 mov 0x10+1, %r10
11593 set sync_thr_counter5, %r23
11594#ifndef SPC
11595 ldxa [%g0]0x63, %o1
11596 and %o1, 0x38, %o1
11597 add %o1, %r23, %r23
11598#endif
11599 cas [%r23],%g0,%r10 !lock
11600 brnz %r10, cwq_10_33
11601 rd %asi, %r12
11602 wr %g0, 0x40, %asi
11603 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
11604 and %l1, 0x3, %l1 ! Check if busy/enabled ..
11605 cmp %l1, 1
11606 bne cwq_10_33
11607 set CWQ_BASE, %l6
11608 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
11609 best_set_reg(0x20610030, %l1, %l2) !# Control Word
11610 sllx %l2, 32, %l2
11611 stx %l2, [%l6 + 0x0]
11612 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
11613 sub %l2, 0x40, %l2
11614 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
11615 wr %r12, %g0, %asi
11616 st %g0, [%r23]
11617cwq_10_33:
11618 ta T_CHANGE_NONHPRIV
11619 .word 0xa5414000 ! 47: RDPC rd %pc, %r18
11620tagged_10_34:
11621 tsubcctv %r12, 0x1366, %r17
11622 .word 0xe807e06c ! 48: LDUW_I lduw [%r31 + 0x006c], %r20
11623splash_lsu_10_35:
11624 nop
11625 ta T_CHANGE_HPRIV
11626 set 0x0c8c21c2, %r2
11627 mov 0x4, %r1
11628 sllx %r1, 32, %r1
11629 or %r1, %r2, %r2
11630 stxa %r2, [%r0] ASI_LSU_CONTROL
11631 ta T_CHANGE_NONHPRIV
11632 .word 0x3d400001 ! 49: FBPULE fbule,a,pn %fcc0, <label_0x1>
11633ibp_10_36:
11634 nop
11635 .word 0xe91fc010 ! 50: LDDF_R ldd [%r31, %r16], %f20
11636 .word 0x95a00170 ! 51: FABSq dis not found
11637
11638intveclr_10_38:
11639 nop
11640 ta T_CHANGE_HPRIV
11641 setx 0x0ebd555f1d26ce5d, %r1, %r28
11642 stxa %r28, [%g0] 0x72
11643 .word 0x25400001 ! 52: FBPLG fblg,a,pn %fcc0, <label_0x1>
11644mondo_10_39:
11645 nop
11646 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11647 stxa %r19, [%r0+0x3e8] %asi
11648 .word 0x9d90c013 ! 53: WRPR_WSTATE_R wrpr %r3, %r19, %wstate
11649pmu_10_40:
11650 nop
11651 setx 0xffffff50fffff361, %g1, %g7
11652 .word 0xa3800007 ! 54: WR_PERF_COUNTER_R wr %r0, %r7, %-
11653dvapa_10_41:
11654 nop
11655 ta T_CHANGE_HPRIV
11656 mov 0xff2, %r20
11657 mov 0x6, %r19
11658 sllx %r20, 23, %r20
11659 or %r19, %r20, %r19
11660 stxa %r19, [%g0] ASI_LSU_CONTROL
11661 mov 0x38, %r18
11662 stxa %r31, [%r18]0x58
11663 ta T_CHANGE_NONHPRIV
11664 .word 0xe1bfe0c0 ! 55: STDFA_I stda %f16, [0x00c0, %r31]
11665pmu_10_42:
11666 nop
11667 setx 0xfffffbb3fffff061, %g1, %g7
11668 .word 0xa3800007 ! 56: WR_PERF_COUNTER_R wr %r0, %r7, %-
11669tagged_10_43:
11670 taddcctv %r20, 0x14a0, %r18
11671 .word 0xe807e0f0 ! 57: LDUW_I lduw [%r31 + 0x00f0], %r20
11672splash_lsu_10_44:
11673 nop
11674 ta T_CHANGE_HPRIV
11675 set 0xd486e460, %r2
11676 mov 0x1, %r1
11677 sllx %r1, 32, %r1
11678 or %r1, %r2, %r2
11679 stxa %r2, [%r0] ASI_LSU_CONTROL
11680 ta T_CHANGE_NONHPRIV
11681 .word 0x3d400001 ! 58: FBPULE fbule,a,pn %fcc0, <label_0x1>
11682trapasi_10_45:
11683 nop
11684 mov 0x3f8, %r1 ! (VA for ASI 0x25)
11685 .word 0xe8c844a0 ! 59: LDSBA_R ldsba [%r1, %r0] 0x25, %r20
11686 .word 0xa7a409aa ! 60: FDIVs fdivs %f16, %f10, %f19
11687jmptr_10_46:
11688 nop
11689 best_set_reg(0xe0200000, %r20, %r27)
11690 .word 0xb7c6c000 ! 61: JMPL_R jmpl %r27 + %r0, %r27
11691 .word 0xc36fe104 ! 62: PREFETCH_I prefetch [%r31 + 0x0104], #one_read
11692splash_cmpr_10_48:
11693 nop
11694 setx 0xabe0589a340bb90a, %l2, %l1
11695 ta T_CHANGE_HPRIV
11696 wrhpr %l1, %g0, %hsys_tick_cmpr
11697 ta T_CHANGE_NONHPRIV
11698 sub %l1, 40, %g1
11699 .word 0xb1800011 ! 63: WR_STICK_REG_R wr %r0, %r17, %-
11700 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
11701reduce_priv_lvl_10_49:
11702 ta T_CHANGE_NONPRIV ! macro
11703mondo_10_50:
11704 nop
11705 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11706 ta T_CHANGE_PRIV
11707 stxa %r18, [%r0+0x3c8] %asi
11708 .word 0x9d948009 ! 65: WRPR_WSTATE_R wrpr %r18, %r9, %wstate
11709donret_10_51:
11710 nop
11711 ta T_CHANGE_HPRIV ! macro
11712 rd %pc, %r12
11713 add %r12, (donretarg_10_51-donret_10_51-4), %r12
11714 mov 0x38, %r18
11715 stxa %r12, [%r18]0x58
11716 add %r12, 0x4, %r11
11717 wrpr %g0, 0x1, %tl
11718 wrpr %g0, %r12, %tpc
11719 wrpr %g0, %r11, %tnpc
11720 set (0x00c58690 | (16 << 24)), %r13
11721 rdpr %tstate, %r16
11722 mov 0x1f, %r19
11723 and %r19, %r16, %r17
11724 andn %r16, %r19, %r16
11725 or %r16, %r17, %r20
11726 wrpr %r20, %g0, %tstate
11727 wrhpr %g0, 0x39d, %htstate
11728 ta T_CHANGE_NONHPRIV ! rand=1 (10)
11729 done
11730donretarg_10_51:
11731 .word 0x95a089d4 ! 66: FDIVd fdivd %f2, %f20, %f10
11732brcommon1_10_52:
11733 nop
11734 setx common_target, %r12, %r27
11735 lduw [%r27], %r12 ! Load common dest into dcache ..
11736 ba,a .+12
11737 .word 0xc32ff105 ! 1: STXFSR_I st-sfr %f1, [0x1105, %r31]
11738 ba,a .+8
11739 jmpl %r27+0, %r27
11740 .word 0x87a94a54 ! 67: FCMPd fcmpd %fcc<n>, %f36, %f20
11741jmptr_10_53:
11742 nop
11743 best_set_reg(0xe0200000, %r20, %r27)
11744 .word 0xb7c6c000 ! 68: JMPL_R jmpl %r27 + %r0, %r27
11745splash_tba_10_54:
11746 ta T_CHANGE_PRIV
11747 setx 0x0000000000380000, %r11, %r12
11748 .word 0x8b90000c ! 69: WRPR_TBA_R wrpr %r0, %r12, %tba
11749trapasi_10_55:
11750 nop
11751 mov 0x0, %r1 ! (VA for ASI 0x72)
11752 .word 0xd4d84e40 ! 70: LDXA_R ldxa [%r1, %r0] 0x72, %r10
11753pmu_10_56:
11754 nop
11755 setx 0xffffff5ffffffe44, %g1, %g7
11756 .word 0xa3800007 ! 71: WR_PERF_COUNTER_R wr %r0, %r7, %-
11757donret_10_57:
11758 nop
11759 ta T_CHANGE_HPRIV ! macro
11760 rd %pc, %r12
11761 add %r12, (donretarg_10_57-donret_10_57-4), %r12
11762 mov 0x38, %r18
11763 stxa %r12, [%r18]0x58
11764 add %r12, 0x4, %r11
11765 wrpr %g0, 0x2, %tl
11766 wrpr %g0, %r12, %tpc
11767 wrpr %g0, %r11, %tnpc
11768 set (0x004afb98 | (0x58 << 24)), %r13
11769 rdpr %tstate, %r16
11770 mov 0x1f, %r19
11771 and %r19, %r16, %r17
11772 andn %r16, %r19, %r16
11773 or %r16, %r17, %r20
11774 wrpr %r20, %g0, %tstate
11775 wrhpr %g0, 0x84c, %htstate
11776 ta T_CHANGE_NONHPRIV ! rand=1 (10)
11777 done
11778donretarg_10_57:
11779 .word 0xd4ffe0af ! 72: SWAPA_I swapa %r10, [%r31 + 0x00af] %asi
11780brcommon1_10_58:
11781 nop
11782 setx common_target, %r12, %r27
11783 lduw [%r27], %r12 ! Load common dest into dcache ..
11784 ba,a .+12
11785 .word 0xd5e7c02d ! 1: CASA_I casa [%r31] 0x 1, %r13, %r10
11786 ba,a .+8
11787 jmpl %r27+0, %r27
11788 .word 0xa57024b1 ! 73: POPC_I popc 0x04b1, %r18
11789 .word 0xe1bfe060 ! 74: STDFA_I stda %f16, [0x0060, %r31]
11790dvapa_10_59:
11791 nop
11792 ta T_CHANGE_HPRIV
11793 mov 0xee5, %r20
11794 mov 0xf, %r19
11795 sllx %r20, 23, %r20
11796 or %r19, %r20, %r19
11797 stxa %r19, [%g0] ASI_LSU_CONTROL
11798 mov 0x38, %r18
11799 stxa %r31, [%r18]0x58
11800 ta T_CHANGE_NONHPRIV
11801 .word 0xe1e7e010 ! 75: CASA_R casa [%r31] %asi, %r16, %r16
11802donret_10_60:
11803 nop
11804 ta T_CHANGE_HPRIV ! macro
11805 rd %pc, %r12
11806 add %r12, (donretarg_10_60-donret_10_60-8), %r12
11807 mov 0x38, %r18
11808 stxa %r12, [%r18]0x58
11809 add %r12, 0x4, %r11
11810 wrpr %g0, 0x1, %tl
11811 wrpr %g0, %r12, %tpc
11812 wrpr %g0, %r11, %tnpc
11813 set (0x0094f5b0 | (0x8a << 24)), %r13
11814 rdpr %tstate, %r16
11815 mov 0x1f, %r19
11816 and %r19, %r16, %r17
11817 andn %r16, %r19, %r16
11818 or %r16, %r17, %r20
11819 wrpr %r20, %g0, %tstate
11820 wrhpr %g0, 0xf5c, %htstate
11821 ta T_CHANGE_NONPRIV ! rand=0 (10)
11822 retry
11823donretarg_10_60:
11824 .word 0xe06fe1d2 ! 76: LDSTUB_I ldstub %r16, [%r31 + 0x01d2]
11825 .word 0x8d902166 ! 77: WRPR_PSTATE_I wrpr %r0, 0x0166, %pstate
11826 .word 0xe19fe0e0 ! 78: LDDFA_I ldda [%r31, 0x00e0], %f16
11827 .word 0xe137c000 ! 79: STQF_R - %f16, [%r0, %r31]
11828jmptr_10_62:
11829 nop
11830 best_set_reg(0xe0200000, %r20, %r27)
11831 .word 0xb7c6c000 ! 80: JMPL_R jmpl %r27 + %r0, %r27
11832 setx vahole_target3, %r18, %r27
11833 .word 0xe0dfc034 ! 81: LDXA_R ldxa [%r31, %r20] 0x01, %r16
11834 .word 0x9f8030aa ! 82: SIR sir 0x10aa
11835 .word 0x87802080 ! 83: WRASI_I wr %r0, 0x0080, %asi
11836 .word 0xe6dfe1e0 ! 84: LDXA_I ldxa [%r31, + 0x01e0] %asi, %r19
11837splash_lsu_10_65:
11838 nop
11839 ta T_CHANGE_HPRIV
11840 set 0xe8cc1b71, %r2
11841 mov 0x5, %r1
11842 sllx %r1, 32, %r1
11843 or %r1, %r2, %r2
11844 stxa %r2, [%r0] ASI_LSU_CONTROL
11845 .word 0x3d400001 ! 85: FBPULE fbule,a,pn %fcc0, <label_0x1>
11846 .word 0x87802055 ! 86: WRASI_I wr %r0, 0x0055, %asi
11847pmu_10_66:
11848 nop
11849 ta T_CHANGE_PRIV
11850 setx 0xfffff814fffff734, %g1, %g7
11851 .word 0xa3800007 ! 87: WR_PERF_COUNTER_R wr %r0, %r7, %-
11852intveclr_10_67:
11853 nop
11854 ta T_CHANGE_HPRIV
11855 setx 0x89e4680a7b3618e8, %r1, %r28
11856 stxa %r28, [%g0] 0x72
11857 .word 0x25400001 ! 88: FBPLG fblg,a,pn %fcc0, <label_0x1>
11858 nop
11859 ta T_CHANGE_HPRIV
11860 mov 0x10+1, %r10
11861 set sync_thr_counter5, %r23
11862#ifndef SPC
11863 ldxa [%g0]0x63, %o1
11864 and %o1, 0x38, %o1
11865 add %o1, %r23, %r23
11866#endif
11867 cas [%r23],%g0,%r10 !lock
11868 brnz %r10, cwq_10_68
11869 rd %asi, %r12
11870 wr %g0, 0x40, %asi
11871 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
11872 and %l1, 0x3, %l1 ! Check if busy/enabled ..
11873 cmp %l1, 1
11874 bne cwq_10_68
11875 set CWQ_BASE, %l6
11876 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
11877 best_set_reg(0x20610060, %l1, %l2) !# Control Word
11878 sllx %l2, 32, %l2
11879 stx %l2, [%l6 + 0x0]
11880 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
11881 sub %l2, 0x40, %l2
11882 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
11883 wr %r12, %g0, %asi
11884 st %g0, [%r23]
11885cwq_10_68:
11886 ta T_CHANGE_NONHPRIV
11887 .word 0x93414000 ! 89: RDPC rd %pc, %r9
11888brcommon3_10_69:
11889 nop
11890 setx common_target, %r12, %r27
11891 lduw [%r27], %r12 ! Load common dest into dcache ..
11892 ba,a .+12
11893 .word 0xe46ff0aa ! 1: LDSTUB_I ldstub %r18, [%r31 + 0xfffff0aa]
11894 ba,a .+8
11895 jmpl %r27+0, %r27
11896 .word 0xe4bfc032 ! 90: STDA_R stda %r18, [%r31 + %r18] 0x01
11897pmu_10_70:
11898 nop
11899 setx 0xfffff861fffffb59, %g1, %g7
11900 .word 0xa3800007 ! 91: WR_PERF_COUNTER_R wr %r0, %r7, %-
11901 .word 0x91950012 ! 92: WRPR_PIL_R wrpr %r20, %r18, %pil
11902 .word 0xe43fc000 ! 93: STD_R std %r18, [%r31 + %r0]
11903mondo_10_72:
11904 nop
11905 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11906 stxa %r12, [%r0+0x3d0] %asi
11907 .word 0x9d91c010 ! 94: WRPR_WSTATE_R wrpr %r7, %r16, %wstate
11908 set 0x2025, %l3
11909 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
11910 .word 0xa5b347d3 ! 95: PDIST pdistn %d44, %d50, %d18
11911 setx vahole_target2, %r18, %r27
11912 .word 0x9ba0c9c3 ! 96: FDIVd fdivd %f34, %f34, %f44
11913splash_tba_10_74:
11914 ta T_CHANGE_PRIV
11915 setx 0x0000000000380000, %r11, %r12
11916 .word 0x8b90000c ! 97: WRPR_TBA_R wrpr %r0, %r12, %tba
11917cwp_10_75:
11918 set user_data_start, %o7
11919 .word 0x93902001 ! 98: WRPR_CWP_I wrpr %r0, 0x0001, %cwp
11920 .word 0xa3a28d2d ! 99: FsMULd fsmuld %f10, %f44, %f48
11921dvapa_10_76:
11922 nop
11923 ta T_CHANGE_HPRIV
11924 mov 0xf93, %r20
11925 mov 0xc, %r19
11926 sllx %r20, 23, %r20
11927 or %r19, %r20, %r19
11928 stxa %r19, [%g0] ASI_LSU_CONTROL
11929 mov 0x38, %r18
11930 stxa %r31, [%r18]0x58
11931 ta T_CHANGE_NONHPRIV
11932 .word 0xd89fc031 ! 100: LDDA_R ldda [%r31, %r17] 0x01, %r12
11933 .word 0xd847e1a8 ! 101: LDSW_I ldsw [%r31 + 0x01a8], %r12
11934mondo_10_77:
11935 nop
11936 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11937 stxa %r11, [%r0+0x3c0] %asi
11938 .word 0x9d94c014 ! 102: WRPR_WSTATE_R wrpr %r19, %r20, %wstate
11939 .word 0x95540000 ! 103: RDPR_GL <illegal instruction>
11940 .word 0xa3a00172 ! 104: FABSq dis not found
11941
11942 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
11943reduce_priv_lvl_10_79:
11944 ta T_CHANGE_NONPRIV ! macro
11945mondo_10_80:
11946 nop
11947 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11948 ta T_CHANGE_PRIV
11949 stxa %r10, [%r0+0x3c0] %asi
11950 .word 0x9d91000a ! 106: WRPR_WSTATE_R wrpr %r4, %r10, %wstate
11951 setx 0x7a12e505a91d9b16, %r1, %r28
11952 stxa %r28, [%g0] 0x73
11953intvec_10_81:
11954 .word 0x39400001 ! 107: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
11955 .word 0xc1bfe0c0 ! 108: STDFA_I stda %f0, [0x00c0, %r31]
11956splash_cmpr_10_82:
11957 nop
11958 setx 0xaeba85c2c080e781, %l2, %l1
11959 ta T_CHANGE_HPRIV
11960 wrhpr %l1, %g0, %hsys_tick_cmpr
11961 ta T_CHANGE_NONHPRIV
11962 sub %l1, 40, %g1
11963 .word 0xb1800011 ! 109: WR_STICK_REG_R wr %r0, %r17, %-
11964pmu_10_83:
11965 nop
11966 setx 0xfffffa69fffff3f4, %g1, %g7
11967 .word 0xa3800007 ! 110: WR_PERF_COUNTER_R wr %r0, %r7, %-
11968 .word 0xa7852849 ! 111: WR_GRAPHICS_STATUS_REG_I wr %r20, 0x0849, %-
11969 nop
11970 ta T_CHANGE_HPRIV
11971 mov 0x10, %r10
11972 set sync_thr_counter6, %r23
11973#ifndef SPC
11974 ldxa [%g0]0x63, %o1
11975 and %o1, 0x38, %o1
11976 add %o1, %r23, %r23
11977#endif
11978 cas [%r23],%g0,%r10 !lock
11979 brnz %r10, sma_10_84
11980 rd %asi, %r12
11981 wr %g0, 0x40, %asi
11982 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
11983 set 0x00021fff, %g1
11984 stxa %g1, [%g0 + 0x80] %asi
11985 wr %r12, %g0, %asi
11986 st %g0, [%r23]
11987sma_10_84:
11988 ta T_CHANGE_NONHPRIV
11989 .word 0xe9e7e009 ! 112: CASA_R casa [%r31] %asi, %r9, %r20
11990fpinit_10_85:
11991 setx fp_data_quads, %r19, %r20
11992 ldd [%r20], %f0
11993 ldd [%r20+8], %f4
11994 ld [%r20+16], %fsr
11995 ld [%r20+24], %r19
11996 wr %r19, %g0, %gsr
11997 .word 0xc3e83f42 ! 113: PREFETCHA_I prefetcha [%r0, + 0xffffff42] %asi, #one_read
11998 nop
11999 ta T_CHANGE_HPRIV
12000 mov 0x10+1, %r10
12001 set sync_thr_counter5, %r23
12002#ifndef SPC
12003 ldxa [%g0]0x63, %o1
12004 and %o1, 0x38, %o1
12005 add %o1, %r23, %r23
12006#endif
12007 cas [%r23],%g0,%r10 !lock
12008 brnz %r10, cwq_10_86
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_10_86
12015 set CWQ_BASE, %l6
12016 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
12017 best_set_reg(0x20610060, %l1, %l2) !# Control Word
12018 sllx %l2, 32, %l2
12019 stx %l2, [%l6 + 0x0]
12020 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
12021 sub %l2, 0x40, %l2
12022 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
12023 wr %r12, %g0, %asi
12024 st %g0, [%r23]
12025cwq_10_86:
12026 ta T_CHANGE_NONHPRIV
12027 .word 0xa5414000 ! 114: RDPC rd %pc, %r18
12028 nop
12029 ta T_CHANGE_HPRIV
12030 mov 0x10, %r10
12031 set sync_thr_counter6, %r23
12032#ifndef SPC
12033 ldxa [%g0]0x63, %o1
12034 and %o1, 0x38, %o1
12035 add %o1, %r23, %r23
12036#endif
12037 cas [%r23],%g0,%r10 !lock
12038 brnz %r10, sma_10_87
12039 rd %asi, %r12
12040 wr %g0, 0x40, %asi
12041 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
12042 set 0x000e1fff, %g1
12043 stxa %g1, [%g0 + 0x80] %asi
12044 wr %r12, %g0, %asi
12045 st %g0, [%r23]
12046sma_10_87:
12047 ta T_CHANGE_NONHPRIV
12048 .word 0xe5e7e009 ! 115: CASA_R casa [%r31] %asi, %r9, %r18
12049 .word 0xa9848014 ! 116: WR_SET_SOFTINT_R wr %r18, %r20, %set_softint
12050 setx vahole_target2, %r18, %r27
12051 .word 0x99a309b0 ! 117: FDIVs fdivs %f12, %f16, %f12
12052 setx vahole_target1, %r18, %r27
12053 .word 0xe1bfdc00 ! 118: STDFA_R stda %f16, [%r0, %r31]
12054 .word 0x9192c005 ! 119: WRPR_PIL_R wrpr %r11, %r5, %pil
12055 .word 0x87802082 ! 120: WRASI_I wr %r0, 0x0082, %asi
12056pmu_10_91:
12057 nop
12058 setx 0xfffff9a5fffff133, %g1, %g7
12059 .word 0xa3800007 ! 121: WR_PERF_COUNTER_R wr %r0, %r7, %-
12060 .word 0xd68008a0 ! 122: LDUWA_R lduwa [%r0, %r0] 0x45, %r11
12061intveclr_10_92:
12062 nop
12063 ta T_CHANGE_HPRIV
12064 setx 0x9040a7ba62824fc5, %r1, %r28
12065 stxa %r28, [%g0] 0x72
12066 .word 0x25400001 ! 123: FBPLG fblg,a,pn %fcc0, <label_0x1>
12067 setx vahole_target0, %r18, %r27
12068 .word 0xe19fdb60 ! 124: LDDFA_R ldda [%r31, %r0], %f16
12069 .word 0xd69fe0c8 ! 125: LDDA_I ldda [%r31, + 0x00c8] %asi, %r11
12070 .word 0xe19fdf20 ! 126: LDDFA_R ldda [%r31, %r0], %f16
12071fpinit_10_95:
12072 setx fp_data_quads, %r19, %r20
12073 ldd [%r20], %f0
12074 ldd [%r20+8], %f4
12075 ld [%r20+16], %fsr
12076 ld [%r20+24], %r19
12077 wr %r19, %g0, %gsr
12078 .word 0x91a009c4 ! 127: FDIVd fdivd %f0, %f4, %f8
12079 .word 0xd68008a0 ! 128: LDUWA_R lduwa [%r0, %r0] 0x45, %r11
12080 nop
12081 ta T_CHANGE_HPRIV
12082 mov 0x10+1, %r10
12083 set sync_thr_counter5, %r23
12084#ifndef SPC
12085 ldxa [%g0]0x63, %o1
12086 and %o1, 0x38, %o1
12087 add %o1, %r23, %r23
12088#endif
12089 cas [%r23],%g0,%r10 !lock
12090 brnz %r10, cwq_10_96
12091 rd %asi, %r12
12092 wr %g0, 0x40, %asi
12093 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
12094 and %l1, 0x3, %l1 ! Check if busy/enabled ..
12095 cmp %l1, 1
12096 bne cwq_10_96
12097 set CWQ_BASE, %l6
12098 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
12099 best_set_reg(0x20610090, %l1, %l2) !# Control Word
12100 sllx %l2, 32, %l2
12101 stx %l2, [%l6 + 0x0]
12102 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
12103 sub %l2, 0x40, %l2
12104 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
12105 wr %r12, %g0, %asi
12106 st %g0, [%r23]
12107cwq_10_96:
12108 ta T_CHANGE_NONHPRIV
12109 .word 0xa9414000 ! 129: RDPC rd %pc, %r20
12110 .word 0x8d802000 ! 130: WRFPRS_I wr %r0, 0x0000, %fprs
12111pmu_10_97:
12112 nop
12113 ta T_CHANGE_PRIV
12114 setx 0xfffff4cefffff1c7, %g1, %g7
12115 .word 0xa3800007 ! 131: WR_PERF_COUNTER_R wr %r0, %r7, %-
12116 invalw
12117 mov 0xb4, %r30
12118 .word 0x91d0001e ! 132: Tcc_R ta icc_or_xcc, %r0 + %r30
12119splash_htba_10_98:
12120 nop
12121 ta T_CHANGE_HPRIV
12122 setx 0x0000000000280000, %r11, %r12
12123 .word 0x8b98000c ! 133: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
12124mondo_10_99:
12125 nop
12126 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12127 ta T_CHANGE_PRIV
12128 stxa %r19, [%r0+0x3d8] %asi
12129 .word 0x9d908010 ! 134: WRPR_WSTATE_R wrpr %r2, %r16, %wstate
12130jmptr_10_100:
12131 nop
12132 best_set_reg(0xe0200000, %r20, %r27)
12133 .word 0xb7c6c000 ! 135: JMPL_R jmpl %r27 + %r0, %r27
12134 .word 0xd5e7c020 ! 136: CASA_I casa [%r31] 0x 1, %r0, %r10
12135 .word 0x91a00170 ! 137: FABSq dis not found
12136
12137 .word 0x91d020b5 ! 138: Tcc_I ta icc_or_xcc, %r0 + 181
12138 .word 0xd8cfe158 ! 139: LDSBA_I ldsba [%r31, + 0x0158] %asi, %r12
12139 nop
12140 ta T_CHANGE_HPRIV
12141 mov 0x10+1, %r10
12142 set sync_thr_counter5, %r23
12143#ifndef SPC
12144 ldxa [%g0]0x63, %o1
12145 and %o1, 0x38, %o1
12146 add %o1, %r23, %r23
12147#endif
12148 cas [%r23],%g0,%r10 !lock
12149 brnz %r10, cwq_10_103
12150 rd %asi, %r12
12151 wr %g0, 0x40, %asi
12152 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
12153 and %l1, 0x3, %l1 ! Check if busy/enabled ..
12154 cmp %l1, 1
12155 bne cwq_10_103
12156 set CWQ_BASE, %l6
12157 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
12158 best_set_reg(0x20610050, %l1, %l2) !# Control Word
12159 sllx %l2, 32, %l2
12160 stx %l2, [%l6 + 0x0]
12161 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
12162 sub %l2, 0x40, %l2
12163 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
12164 wr %r12, %g0, %asi
12165 st %g0, [%r23]
12166cwq_10_103:
12167 ta T_CHANGE_NONHPRIV
12168 .word 0xa1414000 ! 140: RDPC rd %pc, %r16
12169 .word 0x8d902925 ! 141: WRPR_PSTATE_I wrpr %r0, 0x0925, %pstate
12170donret_10_105:
12171 nop
12172 ta T_CHANGE_HPRIV ! macro
12173 rd %pc, %r12
12174 add %r12, (donretarg_10_105-donret_10_105-4), %r12
12175 mov 0x38, %r18
12176 stxa %r12, [%r18]0x58
12177 add %r12, 0x4, %r11
12178 wrpr %g0, 0x2, %tl
12179 wrpr %g0, %r12, %tpc
12180 wrpr %g0, %r11, %tnpc
12181 set (0x004be994 | (0x88 << 24)), %r13
12182 rdpr %tstate, %r16
12183 mov 0x1f, %r19
12184 and %r19, %r16, %r17
12185 andn %r16, %r19, %r16
12186 or %r16, %r17, %r20
12187 wrpr %r20, %g0, %tstate
12188 wrhpr %g0, 0x645, %htstate
12189 ta T_CHANGE_NONPRIV ! rand=0 (10)
12190 done
12191donretarg_10_105:
12192 .word 0xe66fe11e ! 142: LDSTUB_I ldstub %r19, [%r31 + 0x011e]
12193fpinit_10_106:
12194 setx fp_data_quads, %r19, %r20
12195 ldd [%r20], %f0
12196 ldd [%r20+8], %f4
12197 ld [%r20+16], %fsr
12198 ld [%r20+24], %r19
12199 wr %r19, %g0, %gsr
12200 .word 0x8da009c4 ! 143: FDIVd fdivd %f0, %f4, %f6
12201donret_10_107:
12202 nop
12203 ta T_CHANGE_HPRIV ! macro
12204 rd %pc, %r12
12205 add %r12, (donretarg_10_107-donret_10_107-4), %r12
12206 mov 0x38, %r18
12207 stxa %r12, [%r18]0x58
12208 add %r12, 0x4, %r11
12209 wrpr %g0, 0x2, %tl
12210 wrpr %g0, %r12, %tpc
12211 wrpr %g0, %r11, %tnpc
12212 set (0x00f4df09 | (0x55 << 24)), %r13
12213 rdpr %tstate, %r16
12214 mov 0x1f, %r19
12215 and %r19, %r16, %r17
12216 andn %r16, %r19, %r16
12217 or %r16, %r17, %r20
12218 wrpr %r20, %g0, %tstate
12219 wrhpr %g0, 0xad4, %htstate
12220 ta T_CHANGE_NONPRIV ! rand=0 (10)
12221 done
12222donretarg_10_107:
12223 .word 0x99a0c9cb ! 144: FDIVd fdivd %f34, %f42, %f12
12224 nop
12225 ta T_CHANGE_HPRIV
12226 mov 0x10, %r10
12227 set sync_thr_counter6, %r23
12228#ifndef SPC
12229 ldxa [%g0]0x63, %o1
12230 and %o1, 0x38, %o1
12231 add %o1, %r23, %r23
12232#endif
12233 cas [%r23],%g0,%r10 !lock
12234 brnz %r10, sma_10_108
12235 rd %asi, %r12
12236 wr %g0, 0x40, %asi
12237 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
12238 set 0x000e1fff, %g1
12239 stxa %g1, [%g0 + 0x80] %asi
12240 wr %r12, %g0, %asi
12241 st %g0, [%r23]
12242sma_10_108:
12243 ta T_CHANGE_NONHPRIV
12244 .word 0xd5e7e012 ! 145: CASA_R casa [%r31] %asi, %r18, %r10
12245 otherw
12246 mov 0x35, %r30
12247 .word 0x83d0001e ! 146: Tcc_R te icc_or_xcc, %r0 + %r30
12248splash_htba_10_109:
12249 nop
12250 ta T_CHANGE_HPRIV
12251 setx 0x0000000000280000, %r11, %r12
12252 .word 0x8b98000c ! 147: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
12253ibp_10_110:
12254 nop
12255 .word 0xc1bfc2c0 ! 148: STDFA_R stda %f0, [%r0, %r31]
12256mondo_10_111:
12257 nop
12258 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12259 stxa %r11, [%r0+0x3e0] %asi
12260 .word 0x9d950008 ! 149: WRPR_WSTATE_R wrpr %r20, %r8, %wstate
12261 .word 0x8d802004 ! 150: WRFPRS_I wr %r0, 0x0004, %fprs
12262 .word 0x8d90279f ! 151: WRPR_PSTATE_I wrpr %r0, 0x079f, %pstate
12263 .word 0xd43fc000 ! 152: STD_R std %r10, [%r31 + %r0]
12264splash_hpstate_10_114:
12265 .word 0x23400001 ! 1: FBPNE fbne,a,pn %fcc0, <label_0x1>
12266 .word 0x81982f14 ! 153: WRHPR_HPSTATE_I wrhpr %r0, 0x0f14, %hpstate
12267cwp_10_115:
12268 set user_data_start, %o7
12269 .word 0x93902005 ! 154: WRPR_CWP_I wrpr %r0, 0x0005, %cwp
12270 .word 0xa6dcc014 ! 155: SMULcc_R smulcc %r19, %r20, %r19
12271 .word 0x91928005 ! 156: WRPR_PIL_R wrpr %r10, %r5, %pil
12272 setx vahole_target0, %r18, %r27
12273 .word 0xe1bfc3e0 ! 157: STDFA_R stda %f16, [%r0, %r31]
12274 setx vahole_target3, %r18, %r27
12275 .word 0xe1bfde00 ! 158: STDFA_R stda %f16, [%r0, %r31]
12276 .word 0x93a149a8 ! 159: FDIVs fdivs %f5, %f8, %f9
12277ibp_10_120:
12278 nop
12279 ta T_CHANGE_NONHPRIV
12280 .word 0xe11fc009 ! 160: LDDF_R ldd [%r31, %r9], %f16
12281 nop
12282 ta T_CHANGE_HPRIV
12283 mov 0x10+1, %r10
12284 set sync_thr_counter5, %r23
12285#ifndef SPC
12286 ldxa [%g0]0x63, %o1
12287 and %o1, 0x38, %o1
12288 add %o1, %r23, %r23
12289#endif
12290 cas [%r23],%g0,%r10 !lock
12291 brnz %r10, cwq_10_121
12292 rd %asi, %r12
12293 wr %g0, 0x40, %asi
12294 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
12295 and %l1, 0x3, %l1 ! Check if busy/enabled ..
12296 cmp %l1, 1
12297 bne cwq_10_121
12298 set CWQ_BASE, %l6
12299 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
12300 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
12301 sllx %l2, 32, %l2
12302 stx %l2, [%l6 + 0x0]
12303 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
12304 sub %l2, 0x40, %l2
12305 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
12306 wr %r12, %g0, %asi
12307 st %g0, [%r23]
12308cwq_10_121:
12309 ta T_CHANGE_NONHPRIV
12310 .word 0x93414000 ! 161: RDPC rd %pc, %r9
12311 .word 0x91a00174 ! 162: FABSq dis not found
12312
12313 .word 0xc19fe060 ! 163: LDDFA_I ldda [%r31, 0x0060], %f0
12314mondo_10_123:
12315 nop
12316 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12317 ta T_CHANGE_PRIV
12318 stxa %r2, [%r0+0x3e0] %asi
12319 .word 0x9d904004 ! 164: WRPR_WSTATE_R wrpr %r1, %r4, %wstate
12320splash_tba_10_124:
12321 ta T_CHANGE_PRIV
12322 set 0x120000, %r12
12323 .word 0x8b90000c ! 165: WRPR_TBA_R wrpr %r0, %r12, %tba
12324 setx vahole_target1, %r18, %r27
12325 .word 0xe19fc3e0 ! 166: LDDFA_R ldda [%r31, %r0], %f16
12326trapasi_10_126:
12327 nop
12328 mov 0x38, %r1 ! (VA for ASI 0x5b)
12329 .word 0xd2c04b60 ! 167: LDSWA_R ldswa [%r1, %r0] 0x5b, %r9
12330ibp_10_127:
12331 nop
12332 .word 0xd2bfc030 ! 168: STDA_R stda %r9, [%r31 + %r16] 0x01
12333donret_10_128:
12334 nop
12335 ta T_CHANGE_HPRIV ! macro
12336 rd %pc, %r12
12337 add %r12, (donretarg_10_128-donret_10_128-8), %r12
12338 mov 0x38, %r18
12339 stxa %r12, [%r18]0x58
12340 add %r12, 0x4, %r11
12341 wrpr %g0, 0x1, %tl
12342 wrpr %g0, %r12, %tpc
12343 wrpr %g0, %r11, %tnpc
12344 set (0x005d2416 | (0x8a << 24)), %r13
12345 rdpr %tstate, %r16
12346 mov 0x1f, %r19
12347 and %r19, %r16, %r17
12348 andn %r16, %r19, %r16
12349 or %r16, %r17, %r20
12350 wrpr %r20, %g0, %tstate
12351 wrhpr %g0, 0xed4, %htstate
12352 ta T_CHANGE_NONPRIV ! rand=0 (10)
12353 retry
12354donretarg_10_128:
12355 .word 0xd2ffe074 ! 169: SWAPA_I swapa %r9, [%r31 + 0x0074] %asi
12356jmptr_10_129:
12357 nop
12358 best_set_reg(0xe0200000, %r20, %r27)
12359 .word 0xb7c6c000 ! 170: JMPL_R jmpl %r27 + %r0, %r27
12360 .word 0xd31fc010 ! 171: LDDF_R ldd [%r31, %r16], %f9
12361 setx vahole_target3, %r18, %r27
12362 .word 0x9ba4c9a2 ! 172: FDIVs fdivs %f19, %f2, %f13
12363 .word 0xe727e000 ! 173: STF_I st %f19, [0x0000, %r31]
12364 nop
12365 ta T_CHANGE_HPRIV
12366 mov 0x10+1, %r10
12367 set sync_thr_counter5, %r23
12368#ifndef SPC
12369 ldxa [%g0]0x63, %o1
12370 and %o1, 0x38, %o1
12371 add %o1, %r23, %r23
12372#endif
12373 cas [%r23],%g0,%r10 !lock
12374 brnz %r10, cwq_10_132
12375 rd %asi, %r12
12376 wr %g0, 0x40, %asi
12377 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
12378 and %l1, 0x3, %l1 ! Check if busy/enabled ..
12379 cmp %l1, 1
12380 bne cwq_10_132
12381 set CWQ_BASE, %l6
12382 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
12383 best_set_reg(0x206100b0, %l1, %l2) !# Control Word
12384 sllx %l2, 32, %l2
12385 stx %l2, [%l6 + 0x0]
12386 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
12387 sub %l2, 0x40, %l2
12388 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
12389 wr %r12, %g0, %asi
12390 st %g0, [%r23]
12391cwq_10_132:
12392 ta T_CHANGE_NONHPRIV
12393 .word 0x9b414000 ! 174: RDPC rd %pc, %r13
12394 .word 0x87802058 ! 175: WRASI_I wr %r0, 0x0058, %asi
12395donret_10_133:
12396 nop
12397 ta T_CHANGE_HPRIV ! macro
12398 rd %pc, %r12
12399 add %r12, (donretarg_10_133-donret_10_133-4), %r12
12400 mov 0x38, %r18
12401 stxa %r12, [%r18]0x58
12402 add %r12, 0x4, %r11
12403 wrpr %g0, 0x2, %tl
12404 wrpr %g0, %r12, %tpc
12405 wrpr %g0, %r11, %tnpc
12406 set (0x00f5b396 | (0x55 << 24)), %r13
12407 rdpr %tstate, %r16
12408 mov 0x1f, %r19
12409 and %r19, %r16, %r17
12410 andn %r16, %r19, %r16
12411 or %r16, %r17, %r20
12412 wrpr %r20, %g0, %tstate
12413 wrhpr %g0, 0x41f, %htstate
12414 ta T_CHANGE_NONPRIV ! rand=0 (10)
12415 .word 0x2e800001 ! 1: BVS bvs,a <label_0x1>
12416 done
12417donretarg_10_133:
12418 .word 0x93a309d1 ! 176: FDIVd fdivd %f12, %f48, %f40
12419 .word 0xa1500000 ! 177: RDPR_TPC <illegal instruction>
12420br_badelay2_10_134:
12421 .word 0x34800001 ! 1: BG bg,a <label_0x1>
12422 pdist %f4, %f24, %f16
12423 .word 0x93b4030d ! 178: ALIGNADDRESS alignaddr %r16, %r13, %r9
12424 setx 0x7275509ceae968cb, %r1, %r28
12425 stxa %r28, [%g0] 0x73
12426intvec_10_135:
12427 .word 0x39400001 ! 179: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
12428 .word 0xd5e7c020 ! 180: CASA_I casa [%r31] 0x 1, %r0, %r10
12429 .word 0xa9500000 ! 181: RDPR_TPC <illegal instruction>
12430 .word 0xda800b60 ! 182: LDUWA_R lduwa [%r0, %r0] 0x5b, %r13
12431 .word 0x38800001 ! 183: BGU bgu,a <label_0x1>
12432intveclr_10_137:
12433 nop
12434 ta T_CHANGE_HPRIV
12435 setx 0x6a03c611fd943341, %r1, %r28
12436 stxa %r28, [%g0] 0x72
12437 ta T_CHANGE_NONHPRIV
12438 .word 0x25400001 ! 184: FBPLG fblg,a,pn %fcc0, <label_0x1>
12439 invalw
12440 mov 0x32, %r30
12441 .word 0x91d0001e ! 185: Tcc_R ta icc_or_xcc, %r0 + %r30
12442dvapa_10_138:
12443 nop
12444 ta T_CHANGE_HPRIV
12445 mov 0x83e, %r20
12446 mov 0x19, %r19
12447 sllx %r20, 23, %r20
12448 or %r19, %r20, %r19
12449 stxa %r19, [%g0] ASI_LSU_CONTROL
12450 mov 0x38, %r18
12451 stxa %r31, [%r18]0x58
12452 ta T_CHANGE_NONHPRIV
12453 .word 0xda9fc02c ! 186: LDDA_R ldda [%r31, %r12] 0x01, %r13
12454donret_10_139:
12455 nop
12456 ta T_CHANGE_HPRIV ! macro
12457 rd %pc, %r12
12458 add %r12, (donretarg_10_139-donret_10_139-4), %r12
12459 mov 0x38, %r18
12460 stxa %r12, [%r18]0x58
12461 add %r12, 0x4, %r11
12462 wrpr %g0, 0x2, %tl
12463 wrpr %g0, %r12, %tpc
12464 wrpr %g0, %r11, %tnpc
12465 set (0x00c8fa50 | (0x80 << 24)), %r13
12466 rdpr %tstate, %r16
12467 mov 0x1f, %r19
12468 and %r19, %r16, %r17
12469 andn %r16, %r19, %r16
12470 or %r16, %r17, %r20
12471 wrpr %r20, %g0, %tstate
12472 wrhpr %g0, 0x11f, %htstate
12473 ta T_CHANGE_NONHPRIV ! rand=1 (10)
12474 .word 0x30800001 ! 1: BA ba,a <label_0x1>
12475 done
12476donretarg_10_139:
12477 .word 0xdaffe004 ! 187: SWAPA_I swapa %r13, [%r31 + 0x0004] %asi
12478 .word 0x24cc8001 ! 188: BRLEZ brlez,a,pt %r18,<label_0xc8001>
12479memptr_10_141:
12480 set user_data_start, %r31
12481 .word 0x8580e3bd ! 189: WRCCR_I wr %r3, 0x03bd, %ccr
12482dvapa_10_142:
12483 nop
12484 ta T_CHANGE_HPRIV
12485 mov 0x9f4, %r20
12486 mov 0xb, %r19
12487 sllx %r20, 23, %r20
12488 or %r19, %r20, %r19
12489 stxa %r19, [%g0] ASI_LSU_CONTROL
12490 mov 0x38, %r18
12491 stxa %r31, [%r18]0x58
12492 ta T_CHANGE_NONHPRIV
12493 .word 0x99b4048a ! 190: FCMPLE32 fcmple32 %d16, %d10, %r12
12494dvapa_10_143:
12495 nop
12496 ta T_CHANGE_HPRIV
12497 mov 0xf29, %r20
12498 mov 0x4, %r19
12499 sllx %r20, 23, %r20
12500 or %r19, %r20, %r19
12501 stxa %r19, [%g0] ASI_LSU_CONTROL
12502 mov 0x38, %r18
12503 stxa %r31, [%r18]0x58
12504 ta T_CHANGE_NONHPRIV
12505 .word 0xe69fc028 ! 191: LDDA_R ldda [%r31, %r8] 0x01, %r19
12506fpinit_10_144:
12507 setx fp_data_quads, %r19, %r20
12508 ldd [%r20], %f0
12509 ldd [%r20+8], %f4
12510 ld [%r20+16], %fsr
12511 ld [%r20+24], %r19
12512 wr %r19, %g0, %gsr
12513 .word 0x8da009c4 ! 192: FDIVd fdivd %f0, %f4, %f6
12514 .word 0x986c0010 ! 193: UDIVX_R udivx %r16, %r16, %r12
12515donret_10_145:
12516 nop
12517 ta T_CHANGE_HPRIV ! macro
12518 rd %pc, %r12
12519 add %r12, (donretarg_10_145-donret_10_145-4), %r12
12520 mov 0x38, %r18
12521 stxa %r12, [%r18]0x58
12522 add %r12, 0x4, %r11
12523 wrpr %g0, 0x2, %tl
12524 wrpr %g0, %r12, %tpc
12525 wrpr %g0, %r11, %tnpc
12526 set (0x0070e3e2 | (22 << 24)), %r13
12527 rdpr %tstate, %r16
12528 mov 0x1f, %r19
12529 and %r19, %r16, %r17
12530 andn %r16, %r19, %r16
12531 or %r16, %r17, %r20
12532 wrpr %r20, %g0, %tstate
12533 wrhpr %g0, 0xd8f, %htstate
12534 ta T_CHANGE_NONHPRIV ! rand=1 (10)
12535 .word 0x24800001 ! 1: BLE ble,a <label_0x1>
12536 done
12537donretarg_10_145:
12538 .word 0xe6ffe1da ! 194: SWAPA_I swapa %r19, [%r31 + 0x01da] %asi
12539 .word 0x91950007 ! 195: WRPR_PIL_R wrpr %r20, %r7, %pil
12540 .word 0x9194c003 ! 196: WRPR_PIL_R wrpr %r19, %r3, %pil
12541 .word 0xc3ea402c ! 197: PREFETCHA_R prefetcha [%r9, %r12] 0x01, #one_read
12542 .word 0x9f803789 ! 198: SIR sir 0x1789
12543 .word 0x3e780001 ! 199: BPVC <illegal instruction>
12544 .word 0x87802055 ! 200: WRASI_I wr %r0, 0x0055, %asi
12545splash_hpstate_10_149:
12546 ta T_CHANGE_NONHPRIV
12547 .word 0x81982e96 ! 201: WRHPR_HPSTATE_I wrhpr %r0, 0x0e96, %hpstate
12548 .word 0xe697e140 ! 202: LDUHA_I lduha [%r31, + 0x0140] %asi, %r19
12549dvapa_10_150:
12550 nop
12551 ta T_CHANGE_HPRIV
12552 mov 0x904, %r20
12553 mov 0x1f, %r19
12554 sllx %r20, 23, %r20
12555 or %r19, %r20, %r19
12556 stxa %r19, [%g0] ASI_LSU_CONTROL
12557 mov 0x38, %r18
12558 stxa %r31, [%r18]0x58
12559 ta T_CHANGE_NONHPRIV
12560 .word 0xe697c02a ! 203: LDUHA_R lduha [%r31, %r10] 0x01, %r19
12561splash_decr_10_151:
12562 nop
12563 ta T_CHANGE_HPRIV
12564 mov 8, %r1
12565 stxa %r13, [%r1] 0x45
12566 .word 0xa7814003 ! 204: WR_GRAPHICS_STATUS_REG_R wr %r5, %r3, %-
12567brcommon2_10_152:
12568 nop
12569 setx common_target, %r12, %r27
12570 ba,a .+12
12571 .word 0xa7b7c70c ! 1: FMULD8SUx16 fmuld8ulx16 %f31, %f12, %d50
12572 ba,a .+8
12573 jmpl %r27+0, %r27
12574 .word 0xe1bfe1e0 ! 205: STDFA_I stda %f16, [0x01e0, %r31]
12575 .word 0x91454000 ! 206: RD_CLEAR_SOFTINT rd %clear_softint, %r8
12576 .word 0xe897e070 ! 207: LDUHA_I lduha [%r31, + 0x0070] %asi, %r20
12577 nop
12578 ta T_CHANGE_HPRIV
12579 mov 0x10, %r10
12580 set sync_thr_counter6, %r23
12581#ifndef SPC
12582 ldxa [%g0]0x63, %o1
12583 and %o1, 0x38, %o1
12584 add %o1, %r23, %r23
12585#endif
12586 cas [%r23],%g0,%r10 !lock
12587 brnz %r10, sma_10_153
12588 rd %asi, %r12
12589 wr %g0, 0x40, %asi
12590 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
12591 set 0x00021fff, %g1
12592 stxa %g1, [%g0 + 0x80] %asi
12593 wr %r12, %g0, %asi
12594 st %g0, [%r23]
12595sma_10_153:
12596 ta T_CHANGE_NONHPRIV
12597 .word 0xe9e7e011 ! 208: CASA_R casa [%r31] %asi, %r17, %r20
12598 setx vahole_target3, %r18, %r27
12599 .word 0xe1bfc2c0 ! 209: STDFA_R stda %f16, [%r0, %r31]
12600splash_lsu_10_155:
12601 nop
12602 ta T_CHANGE_HPRIV
12603 set 0xd1753b85, %r2
12604 mov 0x3, %r1
12605 sllx %r1, 32, %r1
12606 or %r1, %r2, %r2
12607 stxa %r2, [%r0] ASI_LSU_CONTROL
12608 ta T_CHANGE_NONHPRIV
12609 .word 0x3d400001 ! 210: FBPULE fbule,a,pn %fcc0, <label_0x1>
12610splash_hpstate_10_156:
12611 .word 0x38800001 ! 1: BGU bgu,a <label_0x1>
12612 .word 0x81982687 ! 211: WRHPR_HPSTATE_I wrhpr %r0, 0x0687, %hpstate
12613fpinit_10_157:
12614 setx fp_data_quads, %r19, %r20
12615 ldd [%r20], %f0
12616 ldd [%r20+8], %f4
12617 ld [%r20+16], %fsr
12618 ld [%r20+24], %r19
12619 wr %r19, %g0, %gsr
12620 .word 0x87a80a44 ! 212: FCMPd fcmpd %fcc<n>, %f0, %f4
12621splash_tba_10_158:
12622 ta T_CHANGE_PRIV
12623 setx 0x0000000000380000, %r11, %r12
12624 .word 0x8b90000c ! 213: WRPR_TBA_R wrpr %r0, %r12, %tba
12625intveclr_10_159:
12626 nop
12627 ta T_CHANGE_HPRIV
12628 setx 0x60d8bf41a74abd42, %r1, %r28
12629 stxa %r28, [%g0] 0x72
12630 .word 0x25400001 ! 214: FBPLG fblg,a,pn %fcc0, <label_0x1>
12631mondo_10_160:
12632 nop
12633 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12634 stxa %r12, [%r0+0x3c8] %asi
12635 .word 0x9d948008 ! 215: WRPR_WSTATE_R wrpr %r18, %r8, %wstate
12636 .word 0xc19fdc00 ! 216: LDDFA_R ldda [%r31, %r0], %f0
12637pmu_10_162:
12638 nop
12639 ta T_CHANGE_PRIV
12640 setx 0xfffff3c4fffff8d2, %g1, %g7
12641 .word 0xa3800007 ! 217: WR_PERF_COUNTER_R wr %r0, %r7, %-
12642donret_10_163:
12643 nop
12644 ta T_CHANGE_HPRIV ! macro
12645 rd %pc, %r12
12646 add %r12, (donretarg_10_163-donret_10_163-4), %r12
12647 mov 0x38, %r18
12648 stxa %r12, [%r18]0x58
12649 add %r12, 0x4, %r11
12650 wrpr %g0, 0x2, %tl
12651 wrpr %g0, %r12, %tpc
12652 wrpr %g0, %r11, %tnpc
12653 set (0x0039a1ce | (28 << 24)), %r13
12654 rdpr %tstate, %r16
12655 mov 0x1f, %r19
12656 and %r19, %r16, %r17
12657 andn %r16, %r19, %r16
12658 or %r16, %r17, %r20
12659 wrpr %r20, %g0, %tstate
12660 wrhpr %g0, 0xc97, %htstate
12661 ta T_CHANGE_NONPRIV ! rand=0 (10)
12662 .word 0x2f400001 ! 1: FBPU fbu,a,pn %fcc0, <label_0x1>
12663 done
12664donretarg_10_163:
12665 .word 0xa9a309d0 ! 218: FDIVd fdivd %f12, %f16, %f20
12666 invalw
12667 mov 0xb4, %r30
12668 .word 0x83d0001e ! 219: Tcc_R te icc_or_xcc, %r0 + %r30
12669 .word 0x97464000 ! 220: RD_STICK_CMPR_REG rd %-, %r11
12670 setx vahole_target3, %r18, %r27
12671 .word 0xe49fc033 ! 221: LDDA_R ldda [%r31, %r19] 0x01, %r18
12672ibp_10_165:
12673 nop
12674 .word 0xe5e7e013 ! 222: CASA_R casa [%r31] %asi, %r19, %r18
12675dvapa_10_166:
12676 nop
12677 ta T_CHANGE_HPRIV
12678 mov 0xdb0, %r20
12679 mov 0xb, %r19
12680 sllx %r20, 23, %r20
12681 or %r19, %r20, %r19
12682 stxa %r19, [%g0] ASI_LSU_CONTROL
12683 mov 0x38, %r18
12684 stxa %r31, [%r18]0x58
12685 ta T_CHANGE_NONHPRIV
12686 .word 0xc19fd960 ! 223: LDDFA_R ldda [%r31, %r0], %f0
12687 .word 0xe44fe030 ! 224: LDSB_I ldsb [%r31 + 0x0030], %r18
12688mondo_10_167:
12689 nop
12690 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12691 ta T_CHANGE_PRIV
12692 stxa %r7, [%r0+0x3d8] %asi
12693 .word 0x9d948011 ! 225: WRPR_WSTATE_R wrpr %r18, %r17, %wstate
12694 .word 0x96810002 ! 226: ADDcc_R addcc %r4, %r2, %r11
12695 .word 0xdbe7e013 ! 227: CASA_R casa [%r31] %asi, %r19, %r13
12696 setx vahole_target2, %r18, %r27
12697 .word 0xa9a249a4 ! 228: FDIVs fdivs %f9, %f4, %f20
12698 nop
12699 ta T_CHANGE_HPRIV
12700 mov 0x10+1, %r10
12701 set sync_thr_counter5, %r23
12702#ifndef SPC
12703 ldxa [%g0]0x63, %o1
12704 and %o1, 0x38, %o1
12705 add %o1, %r23, %r23
12706#endif
12707 cas [%r23],%g0,%r10 !lock
12708 brnz %r10, cwq_10_170
12709 rd %asi, %r12
12710 wr %g0, 0x40, %asi
12711 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
12712 and %l1, 0x3, %l1 ! Check if busy/enabled ..
12713 cmp %l1, 1
12714 bne cwq_10_170
12715 set CWQ_BASE, %l6
12716 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
12717 best_set_reg(0x206100c0, %l1, %l2) !# Control Word
12718 sllx %l2, 32, %l2
12719 stx %l2, [%l6 + 0x0]
12720 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
12721 sub %l2, 0x40, %l2
12722 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
12723 wr %r12, %g0, %asi
12724 st %g0, [%r23]
12725cwq_10_170:
12726 ta T_CHANGE_NONHPRIV
12727 .word 0x9b414000 ! 229: RDPC rd %pc, %r13
12728 setx vahole_target0, %r18, %r27
12729 .word 0xd11fc009 ! 230: LDDF_R ldd [%r31, %r9], %f8
12730 .word 0x91944007 ! 231: WRPR_PIL_R wrpr %r17, %r7, %pil
12731pmu_10_173:
12732 nop
12733 setx 0xfffff29efffff1b0, %g1, %g7
12734 .word 0xa3800007 ! 232: WR_PERF_COUNTER_R wr %r0, %r7, %-
12735 .word 0xd1e7e011 ! 233: CASA_R casa [%r31] %asi, %r17, %r8
12736 .word 0xa36c0008 ! 234: SDIVX_R sdivx %r16, %r8, %r17
12737splash_cmpr_10_175:
12738 nop
12739 setx 0x64b71702ce05267e, %l2, %l1
12740 ta T_CHANGE_PRIV
12741 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
12742 sub %l1, 40, %g1
12743 .word 0x89900011 ! 235: WRPR_TICK_R wrpr %r0, %r17, %tick
12744#if (defined SPC || defined CMP)
12745!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_10_176) + 8, 16, 16)) -> intp(2,0,25)
12746!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_10_176)&0xffffffff) + 8, 16, 16)) -> intp(2,0,25)
12747#else
12748 setx 0x1e9ea2c32640478c, %r1, %r28
12749 stxa %r28, [%g0] 0x73
12750#endif
12751intvec_10_176:
12752 .word 0x39400001 ! 236: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
12753dvapa_10_177:
12754 nop
12755 ta T_CHANGE_HPRIV
12756 mov 0x814, %r20
12757 mov 0xc, %r19
12758 sllx %r20, 23, %r20
12759 or %r19, %r20, %r19
12760 stxa %r19, [%g0] ASI_LSU_CONTROL
12761 mov 0x38, %r18
12762 stxa %r31, [%r18]0x58
12763 ta T_CHANGE_NONHPRIV
12764 .word 0xc19fdb60 ! 237: LDDFA_R ldda [%r31, %r0], %f0
12765 setx vahole_target3, %r18, %r27
12766 .word 0xc19fdb60 ! 238: LDDFA_R ldda [%r31, %r0], %f0
12767fpinit_10_179:
12768 setx fp_data_quads, %r19, %r20
12769 ldd [%r20], %f0
12770 ldd [%r20+8], %f4
12771 ld [%r20+16], %fsr
12772 ld [%r20+24], %r19
12773 wr %r19, %g0, %gsr
12774 .word 0x8db00484 ! 239: FCMPLE32 fcmple32 %d0, %d4, %r6
12775mondo_10_180:
12776 nop
12777 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12778 stxa %r4, [%r0+0x3d0] %asi
12779 .word 0x9d910014 ! 240: WRPR_WSTATE_R wrpr %r4, %r20, %wstate
12780 setx vahole_target1, %r18, %r27
12781 .word 0xe1bfd960 ! 241: STDFA_R stda %f16, [%r0, %r31]
12782#if (defined SPC || defined CMP)
12783!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_10_182) + 48, 16, 16)) -> intp(6,0,24)
12784!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_10_182)&0xffffffff) + 48, 16, 16)) -> intp(6,0,24)
12785#else
12786 setx 0x7472af478c6c9be3, %r1, %r28
12787 stxa %r28, [%g0] 0x73
12788#endif
12789intvec_10_182:
12790 .word 0x39400001 ! 242: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
12791 .word 0xe4800ae0 ! 243: LDUWA_R lduwa [%r0, %r0] 0x57, %r18
12792intveclr_10_183:
12793 nop
12794 ta T_CHANGE_HPRIV
12795 setx 0x5441d5d054ee539e, %r1, %r28
12796 stxa %r28, [%g0] 0x72
12797 ta T_CHANGE_NONHPRIV
12798 .word 0x25400001 ! 244: FBPLG fblg,a,pn %fcc0, <label_0x1>
12799 setx vahole_target3, %r18, %r27
12800 .word 0xe4dfc02c ! 245: LDXA_R ldxa [%r31, %r12] 0x01, %r18
12801 nop
12802 ta T_CHANGE_HPRIV
12803 mov 0x10, %r10
12804 set sync_thr_counter6, %r23
12805#ifndef SPC
12806 ldxa [%g0]0x63, %o1
12807 and %o1, 0x38, %o1
12808 add %o1, %r23, %r23
12809#endif
12810 cas [%r23],%g0,%r10 !lock
12811 brnz %r10, sma_10_185
12812 rd %asi, %r12
12813 wr %g0, 0x40, %asi
12814 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
12815 set 0x00061fff, %g1
12816 stxa %g1, [%g0 + 0x80] %asi
12817 wr %r12, %g0, %asi
12818 st %g0, [%r23]
12819sma_10_185:
12820 ta T_CHANGE_NONHPRIV
12821 .word 0xe5e7e009 ! 246: CASA_R casa [%r31] %asi, %r9, %r18
12822fpinit_10_186:
12823 setx fp_data_quads, %r19, %r20
12824 ldd [%r20], %f0
12825 ldd [%r20+8], %f4
12826 ld [%r20+16], %fsr
12827 ld [%r20+24], %r19
12828 wr %r19, %g0, %gsr
12829 .word 0x8db00484 ! 247: FCMPLE32 fcmple32 %d0, %d4, %r6
12830 setx vahole_target2, %r18, %r27
12831 .word 0xc32fc010 ! 248: STXFSR_R st-sfr %f1, [%r16, %r31]
12832 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
12833reduce_priv_lvl_10_188:
12834 ta T_CHANGE_NONPRIV ! macro
12835brcommon2_10_189:
12836 nop
12837 setx common_target, %r12, %r27
12838 ba,a .+12
12839 .word 0xa5a7c9d2 ! 1: FDIVd fdivd %f62, %f18, %f18
12840 ba,a .+8
12841 jmpl %r27+0, %r27
12842 .word 0xe1bfe020 ! 250: STDFA_I stda %f16, [0x0020, %r31]
12843mondo_10_190:
12844 nop
12845 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12846 stxa %r20, [%r0+0x3c0] %asi
12847 .word 0x9d914014 ! 251: WRPR_WSTATE_R wrpr %r5, %r20, %wstate
12848 setx 0xf07340765f16734b, %r1, %r28
12849 stxa %r28, [%g0] 0x73
12850intvec_10_191:
12851 .word 0x39400001 ! 252: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
12852 setx vahole_target3, %r18, %r27
12853 .word 0xe31fc012 ! 253: LDDF_R ldd [%r31, %r18], %f17
12854ibp_10_193:
12855 nop
12856 ta T_CHANGE_NONHPRIV
12857 .word 0xc1bfe100 ! 254: STDFA_I stda %f0, [0x0100, %r31]
12858 .word 0xab8170ee ! 255: WR_CLEAR_SOFTINT_I wr %r5, 0x10ee, %clear_softint
12859splash_lsu_10_194:
12860 nop
12861 ta T_CHANGE_HPRIV
12862 set 0x87358f20, %r2
12863 mov 0x2, %r1
12864 sllx %r1, 32, %r1
12865 or %r1, %r2, %r2
12866 stxa %r2, [%r0] ASI_LSU_CONTROL
12867 .word 0x3d400001 ! 256: FBPULE fbule,a,pn %fcc0, <label_0x1>
12868 nop
12869 ta T_CHANGE_HPRIV
12870 mov 0x10, %r10
12871 set sync_thr_counter6, %r23
12872#ifndef SPC
12873 ldxa [%g0]0x63, %o1
12874 and %o1, 0x38, %o1
12875 add %o1, %r23, %r23
12876#endif
12877 cas [%r23],%g0,%r10 !lock
12878 brnz %r10, sma_10_195
12879 rd %asi, %r12
12880 wr %g0, 0x40, %asi
12881 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
12882 set 0x00161fff, %g1
12883 stxa %g1, [%g0 + 0x80] %asi
12884 wr %r12, %g0, %asi
12885 st %g0, [%r23]
12886sma_10_195:
12887 ta T_CHANGE_NONHPRIV
12888 .word 0xe3e7e00c ! 257: CASA_R casa [%r31] %asi, %r12, %r17
12889#if (defined SPC || defined CMP)
12890!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_10_196) + 56, 16, 16)) -> intp(5,0,7)
12891!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_10_196)&0xffffffff) + 56, 16, 16)) -> intp(5,0,7)
12892#else
12893 setx 0x44d784d044517702, %r1, %r28
12894 stxa %r28, [%g0] 0x73
12895#endif
12896intvec_10_196:
12897 .word 0x39400001 ! 258: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
12898 .word 0xa7b40992 ! 259: BSHUFFLE fmovc32 %d16, %d18, %d50
12899 .word 0x9f8020f8 ! 260: SIR sir 0x00f8
12900 nop
12901 ta T_CHANGE_HPRIV
12902 mov 0x10, %r10
12903 set sync_thr_counter6, %r23
12904#ifndef SPC
12905 ldxa [%g0]0x63, %o1
12906 and %o1, 0x38, %o1
12907 add %o1, %r23, %r23
12908#endif
12909 cas [%r23],%g0,%r10 !lock
12910 brnz %r10, sma_10_198
12911 rd %asi, %r12
12912 wr %g0, 0x40, %asi
12913 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
12914 set 0x001a1fff, %g1
12915 stxa %g1, [%g0 + 0x80] %asi
12916 wr %r12, %g0, %asi
12917 st %g0, [%r23]
12918sma_10_198:
12919 ta T_CHANGE_NONHPRIV
12920 .word 0xe7e7e013 ! 261: CASA_R casa [%r31] %asi, %r19, %r19
12921splash_tba_10_199:
12922 ta T_CHANGE_PRIV
12923 setx 0x0000000000380000, %r11, %r12
12924 .word 0x8b90000c ! 262: WRPR_TBA_R wrpr %r0, %r12, %tba
12925splash_hpstate_10_200:
12926 ta T_CHANGE_NONHPRIV
12927 .word 0x81982415 ! 263: WRHPR_HPSTATE_I wrhpr %r0, 0x0415, %hpstate
12928mondo_10_201:
12929 nop
12930 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12931 ta T_CHANGE_PRIV
12932 stxa %r4, [%r0+0x3d0] %asi
12933 .word 0x9d910012 ! 264: WRPR_WSTATE_R wrpr %r4, %r18, %wstate
12934tagged_10_202:
12935 tsubcctv %r19, 0x1105, %r10
12936 .word 0xe607e066 ! 265: LDUW_I lduw [%r31 + 0x0066], %r19
12937 nop
12938 mov 0x80, %g3
12939 stxa %g3, [%g3] 0x5f
12940 .word 0xe65fc000 ! 266: LDX_R ldx [%r31 + %r0], %r19
12941mondo_10_203:
12942 nop
12943 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12944 stxa %r18, [%r0+0x3d0] %asi
12945 .word 0x9d92c005 ! 267: WRPR_WSTATE_R wrpr %r11, %r5, %wstate
12946splash_cmpr_10_204:
12947 nop
12948 setx 0xfd52556832ab5d49, %l2, %l1
12949 ta T_CHANGE_HPRIV
12950 wrhpr %l1, %g0, %hsys_tick_cmpr
12951 ta T_CHANGE_NONHPRIV
12952 sub %l1, 40, %g1
12953 .word 0xb1800011 ! 268: WR_STICK_REG_R wr %r0, %r17, %-
12954intveclr_10_205:
12955 nop
12956 ta T_CHANGE_HPRIV
12957 setx 0x84a23934a865b67d, %r1, %r28
12958 stxa %r28, [%g0] 0x72
12959 ta T_CHANGE_NONHPRIV
12960 .word 0x25400001 ! 269: FBPLG fblg,a,pn %fcc0, <label_0x1>
12961 .word 0x8d902123 ! 270: WRPR_PSTATE_I wrpr %r0, 0x0123, %pstate
12962cwp_10_207:
12963 set user_data_start, %o7
12964 .word 0x93902000 ! 271: WRPR_CWP_I wrpr %r0, 0x0000, %cwp
12965#if (defined SPC || defined CMP)
12966!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_10_208) + 32, 16, 16)) -> intp(2,0,8)
12967!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_10_208)&0xffffffff) + 32, 16, 16)) -> intp(2,0,8)
12968#else
12969 setx 0x26e85a2c66bf5ce7, %r1, %r28
12970 stxa %r28, [%g0] 0x73
12971#endif
12972intvec_10_208:
12973 .word 0x39400001 ! 272: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
12974ibp_10_209:
12975 nop
12976 .word 0x99b34493 ! 273: FCMPLE32 fcmple32 %d44, %d50, %r12
12977mondo_10_210:
12978 nop
12979 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12980 ta T_CHANGE_PRIV
12981 stxa %r18, [%r0+0x3e8] %asi
12982 .word 0x9d914004 ! 274: WRPR_WSTATE_R wrpr %r5, %r4, %wstate
12983ibp_10_211:
12984 nop
12985 ta T_CHANGE_NONHPRIV
12986 .word 0xe1bfe120 ! 275: STDFA_I stda %f16, [0x0120, %r31]
12987splash_lsu_10_212:
12988 nop
12989 ta T_CHANGE_HPRIV
12990 set 0x20b15f89, %r2
12991 mov 0x6, %r1
12992 sllx %r1, 32, %r1
12993 or %r1, %r2, %r2
12994 stxa %r2, [%r0] ASI_LSU_CONTROL
12995 ta T_CHANGE_NONHPRIV
12996 .word 0x3d400001 ! 276: FBPULE fbule,a,pn %fcc0, <label_0x1>
12997 otherw
12998 mov 0x35, %r30
12999 .word 0x91d0001e ! 277: Tcc_R ta icc_or_xcc, %r0 + %r30
13000trapasi_10_213:
13001 nop
13002 mov 0x38, %r1 ! (VA for ASI 0x50)
13003 .word 0xe8904a00 ! 278: LDUHA_R lduha [%r1, %r0] 0x50, %r20
13004pmu_10_214:
13005 nop
13006 ta T_CHANGE_PRIV
13007 setx 0xfffff71efffff4fa, %g1, %g7
13008 .word 0xa3800007 ! 279: WR_PERF_COUNTER_R wr %r0, %r7, %-
13009 .word 0xe1bfe0c0 ! 280: STDFA_I stda %f16, [0x00c0, %r31]
13010#if (defined SPC || defined CMP)
13011!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_10_216) + 0, 16, 16)) -> intp(2,0,10)
13012!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_10_216)&0xffffffff) + 0, 16, 16)) -> intp(2,0,10)
13013#else
13014 setx 0xdbedf7621a80d7f6, %r1, %r28
13015 stxa %r28, [%g0] 0x73
13016#endif
13017intvec_10_216:
13018 .word 0x39400001 ! 281: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
13019splash_lsu_10_217:
13020 nop
13021 ta T_CHANGE_HPRIV
13022 set 0xe72154ad, %r2
13023 mov 0x2, %r1
13024 sllx %r1, 32, %r1
13025 or %r1, %r2, %r2
13026 stxa %r2, [%r0] ASI_LSU_CONTROL
13027 .word 0x3d400001 ! 282: FBPULE fbule,a,pn %fcc0, <label_0x1>
13028mondo_10_218:
13029 nop
13030 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
13031 stxa %r6, [%r0+0x3d0] %asi
13032 .word 0x9d91c010 ! 283: WRPR_WSTATE_R wrpr %r7, %r16, %wstate
13033 setx vahole_target0, %r18, %r27
13034 .word 0xe19fd960 ! 284: LDDFA_R ldda [%r31, %r0], %f16
13035mondo_10_220:
13036 nop
13037 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
13038 ta T_CHANGE_PRIV
13039 stxa %r2, [%r0+0x3d0] %asi
13040 .word 0x9d94000b ! 285: WRPR_WSTATE_R wrpr %r16, %r11, %wstate
13041 .word 0x24cac001 ! 286: BRLEZ brlez,a,pt %r11,<label_0xac001>
13042donret_10_222:
13043 nop
13044 ta T_CHANGE_HPRIV ! macro
13045 rd %pc, %r12
13046 add %r12, (donretarg_10_222-donret_10_222-8), %r12
13047 mov 0x38, %r18
13048 stxa %r12, [%r18]0x58
13049 add %r12, 0x4, %r11
13050 wrpr %g0, 0x2, %tl
13051 wrpr %g0, %r12, %tpc
13052 wrpr %g0, %r11, %tnpc
13053 set (0x0045e2f1 | (0x55 << 24)), %r13
13054 rdpr %tstate, %r16
13055 mov 0x1f, %r19
13056 and %r19, %r16, %r17
13057 andn %r16, %r19, %r16
13058 or %r16, %r17, %r20
13059 wrpr %r20, %g0, %tstate
13060 wrhpr %g0, 0x987, %htstate
13061 ta T_CHANGE_NONHPRIV ! rand=1 (10)
13062 retry
13063donretarg_10_222:
13064 .word 0xe86fe0f3 ! 287: LDSTUB_I ldstub %r20, [%r31 + 0x00f3]
13065jmptr_10_223:
13066 nop
13067 best_set_reg(0xe0200000, %r20, %r27)
13068 .word 0xb7c6c000 ! 288: JMPL_R jmpl %r27 + %r0, %r27
13069splash_cmpr_10_224:
13070 nop
13071 setx 0xb837ed14e1b47d2e, %l2, %l1
13072 ta T_CHANGE_HPRIV
13073 wrhpr %l1, %g0, %hsys_tick_cmpr
13074 sub %l1, 40, %g1
13075 .word 0x89900011 ! 289: WRPR_TICK_R wrpr %r0, %r17, %tick
13076splash_cmpr_10_225:
13077 nop
13078 setx 0x3f8d5d8869978889, %l2, %l1
13079 ta T_CHANGE_PRIV
13080 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
13081 ta T_CHANGE_NONPRIV
13082 sub %l1, 40, %g1
13083 .word 0x89900011 ! 290: WRPR_TICK_R wrpr %r0, %r17, %tick
13084pmu_10_226:
13085 nop
13086 setx 0xfffff48ffffff21d, %g1, %g7
13087 .word 0xa3800007 ! 291: WR_PERF_COUNTER_R wr %r0, %r7, %-
13088pmu_10_227:
13089 nop
13090 ta T_CHANGE_PRIV
13091 setx 0xfffffb08fffff252, %g1, %g7
13092 .word 0xa3800007 ! 292: WR_PERF_COUNTER_R wr %r0, %r7, %-
13093mondo_10_228:
13094 nop
13095 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
13096 ta T_CHANGE_PRIV
13097 stxa %r3, [%r0+0x3d8] %asi
13098 .word 0x9d92c004 ! 293: WRPR_WSTATE_R wrpr %r11, %r4, %wstate
13099 .word 0x8780204f ! 294: WRASI_I wr %r0, 0x004f, %asi
13100 .word 0x91a00173 ! 295: FABSq dis not found
13101
13102donret_10_230:
13103 nop
13104 ta T_CHANGE_HPRIV ! macro
13105 rd %pc, %r12
13106 add %r12, (donretarg_10_230-donret_10_230-8), %r12
13107 mov 0x38, %r18
13108 stxa %r12, [%r18]0x58
13109 add %r12, 0x4, %r11
13110 wrpr %g0, 0x2, %tl
13111 wrpr %g0, %r12, %tpc
13112 wrpr %g0, %r11, %tnpc
13113 set (0x003c96d3 | (0x88 << 24)), %r13
13114 rdpr %tstate, %r16
13115 mov 0x1f, %r19
13116 and %r19, %r16, %r17
13117 andn %r16, %r19, %r16
13118 or %r16, %r17, %r20
13119 wrpr %r20, %g0, %tstate
13120 wrhpr %g0, 0x594, %htstate
13121 ta T_CHANGE_NONPRIV ! rand=0 (10)
13122 .word 0x35400001 ! 1: FBPUE fbue,a,pn %fcc0, <label_0x1>
13123 retry
13124donretarg_10_230:
13125 .word 0xe66fe177 ! 296: LDSTUB_I ldstub %r19, [%r31 + 0x0177]
13126 setx vahole_target2, %r18, %r27
13127 .word 0xe19fd920 ! 297: LDDFA_R ldda [%r31, %r0], %f16
13128 nop
13129 ta T_CHANGE_HPRIV
13130 mov 0x10+1, %r10
13131 set sync_thr_counter5, %r23
13132#ifndef SPC
13133 ldxa [%g0]0x63, %o1
13134 and %o1, 0x38, %o1
13135 add %o1, %r23, %r23
13136#endif
13137 cas [%r23],%g0,%r10 !lock
13138 brnz %r10, cwq_10_232
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_10_232
13145 set CWQ_BASE, %l6
13146 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
13147 best_set_reg(0x206100a0, %l1, %l2) !# Control Word
13148 sllx %l2, 32, %l2
13149 stx %l2, [%l6 + 0x0]
13150 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
13151 sub %l2, 0x40, %l2
13152 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
13153 wr %r12, %g0, %asi
13154 st %g0, [%r23]
13155cwq_10_232:
13156 ta T_CHANGE_NONHPRIV
13157 .word 0x99414000 ! 298: RDPC rd %pc, %r12
13158trapasi_10_233:
13159 nop
13160 mov 0x3d8, %r1 ! (VA for ASI 0x25)
13161 .word 0xdad844a0 ! 299: LDXA_R ldxa [%r1, %r0] 0x25, %r13
13162dvapa_10_234:
13163 nop
13164 ta T_CHANGE_HPRIV
13165 mov 0xc75, %r20
13166 mov 0xe, %r19
13167 sllx %r20, 23, %r20
13168 or %r19, %r20, %r19
13169 stxa %r19, [%g0] ASI_LSU_CONTROL
13170 mov 0x38, %r18
13171 stxa %r31, [%r18]0x58
13172 ta T_CHANGE_NONHPRIV
13173 .word 0xa5a4c9c3 ! 300: FDIVd fdivd %f50, %f34, %f18
13174intveclr_10_235:
13175 nop
13176 ta T_CHANGE_HPRIV
13177 setx 0x7efdbf3956ea3889, %r1, %r28
13178 stxa %r28, [%g0] 0x72
13179 ta T_CHANGE_NONHPRIV
13180 .word 0x25400001 ! 301: FBPLG fblg,a,pn %fcc0, <label_0x1>
13181mondo_10_236:
13182 nop
13183 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
13184 stxa %r9, [%r0+0x3d0] %asi
13185 .word 0x9d920005 ! 302: WRPR_WSTATE_R wrpr %r8, %r5, %wstate
13186 setx 0xa0078c3dda773196, %r1, %r28
13187 stxa %r28, [%g0] 0x73
13188intvec_10_237:
13189 .word 0x39400001 ! 303: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
13190 .word 0x99a00172 ! 304: FABSq dis not found
13191
13192pmu_10_239:
13193 nop
13194 ta T_CHANGE_PRIV
13195 setx 0xfffff119fffffb57, %g1, %g7
13196 .word 0xa3800007 ! 305: WR_PERF_COUNTER_R wr %r0, %r7, %-
13197pmu_10_240:
13198 nop
13199 ta T_CHANGE_PRIV
13200 setx 0xfffff418fffff0cf, %g1, %g7
13201 .word 0xa3800007 ! 306: WR_PERF_COUNTER_R wr %r0, %r7, %-
13202ibp_10_241:
13203 nop
13204 ta T_CHANGE_NONHPRIV
13205 .word 0xe49fc02d ! 307: LDDA_R ldda [%r31, %r13] 0x01, %r18
13206splash_tba_10_242:
13207 ta T_CHANGE_PRIV
13208 setx 0x0000000000380000, %r11, %r12
13209 .word 0x8b90000c ! 308: WRPR_TBA_R wrpr %r0, %r12, %tba
13210change_to_randtl_10_243:
13211 ta T_CHANGE_HPRIV ! macro
13212done_change_to_randtl_10_243:
13213 .word 0x8f902002 ! 309: WRPR_TL_I wrpr %r0, 0x0002, %tl
13214 .word 0x8d802000 ! 310: WRFPRS_I wr %r0, 0x0000, %fprs
13215intveclr_10_244:
13216 nop
13217 ta T_CHANGE_HPRIV
13218 setx 0xb3ce3599a3951ac6, %r1, %r28
13219 stxa %r28, [%g0] 0x72
13220 .word 0x25400001 ! 311: FBPLG fblg,a,pn %fcc0, <label_0x1>
13221 setx vahole_target3, %r18, %r27
13222 .word 0xe1bfde00 ! 312: STDFA_R stda %f16, [%r0, %r31]
13223 nop
13224 ta T_CHANGE_HPRIV
13225 mov 0x10, %r10
13226 set sync_thr_counter6, %r23
13227#ifndef SPC
13228 ldxa [%g0]0x63, %o1
13229 and %o1, 0x38, %o1
13230 add %o1, %r23, %r23
13231#endif
13232 cas [%r23],%g0,%r10 !lock
13233 brnz %r10, sma_10_246
13234 rd %asi, %r12
13235 wr %g0, 0x40, %asi
13236 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
13237 set 0x00061fff, %g1
13238 stxa %g1, [%g0 + 0x80] %asi
13239 wr %r12, %g0, %asi
13240 st %g0, [%r23]
13241sma_10_246:
13242 ta T_CHANGE_NONHPRIV
13243 .word 0xe5e7e00c ! 313: CASA_R casa [%r31] %asi, %r12, %r18
13244dvapa_10_247:
13245 nop
13246 ta T_CHANGE_HPRIV
13247 mov 0xd62, %r20
13248 mov 0xd, %r19
13249 sllx %r20, 23, %r20
13250 or %r19, %r20, %r19
13251 stxa %r19, [%g0] ASI_LSU_CONTROL
13252 mov 0x38, %r18
13253 stxa %r31, [%r18]0x58
13254 ta T_CHANGE_NONHPRIV
13255 .word 0xa7a4c9d0 ! 314: FDIVd fdivd %f50, %f16, %f50
13256 .word 0xa9a309a2 ! 315: FDIVs fdivs %f12, %f2, %f20
13257ibp_10_249:
13258 nop
13259 ta T_CHANGE_NONHPRIV
13260 .word 0xd11fc008 ! 316: LDDF_R ldd [%r31, %r8], %f8
13261 .word 0x3e800001 ! 317: BVC bvc,a <label_0x1>
13262#if (defined SPC || defined CMP)
13263!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_10_250) + 32, 16, 16)) -> intp(0,0,31)
13264!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_10_250)&0xffffffff) + 32, 16, 16)) -> intp(0,0,31)
13265#else
13266 setx 0xc1e0b9904b2b2fbf, %r1, %r28
13267 stxa %r28, [%g0] 0x73
13268#endif
13269intvec_10_250:
13270 .word 0x39400001 ! 318: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
13271ibp_10_251:
13272 nop
13273 .word 0xc32fc010 ! 319: STXFSR_R st-sfr %f1, [%r16, %r31]
13274 setx vahole_target2, %r18, %r27
13275 .word 0xc1bfd960 ! 320: STDFA_R stda %f0, [%r0, %r31]
13276 setx 0xd554b73a4bfeb70a, %r1, %r28
13277 stxa %r28, [%g0] 0x73
13278intvec_10_253:
13279 .word 0x39400001 ! 321: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
13280 .word 0xd08008a0 ! 322: LDUWA_R lduwa [%r0, %r0] 0x45, %r8
13281dvapa_10_254:
13282 nop
13283 ta T_CHANGE_HPRIV
13284 mov 0xcc4, %r20
13285 mov 0x16, %r19
13286 sllx %r20, 23, %r20
13287 or %r19, %r20, %r19
13288 stxa %r19, [%g0] ASI_LSU_CONTROL
13289 mov 0x38, %r18
13290 stxa %r31, [%r18]0x58
13291 ta T_CHANGE_NONHPRIV
13292 .word 0xd0dfc028 ! 323: LDXA_R ldxa [%r31, %r8] 0x01, %r8
13293 .word 0x8d802004 ! 324: WRFPRS_I wr %r0, 0x0004, %fprs
13294intveclr_10_255:
13295 nop
13296 ta T_CHANGE_HPRIV
13297 setx 0xca6cfcbf36f50e02, %r1, %r28
13298 stxa %r28, [%g0] 0x72
13299 .word 0x25400001 ! 325: FBPLG fblg,a,pn %fcc0, <label_0x1>
13300 nop
13301 ta T_CHANGE_HPRIV
13302 mov 0x10, %r10
13303 set sync_thr_counter6, %r23
13304#ifndef SPC
13305 ldxa [%g0]0x63, %o1
13306 and %o1, 0x38, %o1
13307 add %o1, %r23, %r23
13308#endif
13309 cas [%r23],%g0,%r10 !lock
13310 brnz %r10, sma_10_256
13311 rd %asi, %r12
13312 wr %g0, 0x40, %asi
13313 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
13314 set 0x00121fff, %g1
13315 stxa %g1, [%g0 + 0x80] %asi
13316 wr %r12, %g0, %asi
13317 st %g0, [%r23]
13318sma_10_256:
13319 ta T_CHANGE_NONHPRIV
13320 .word 0xd1e7e013 ! 326: CASA_R casa [%r31] %asi, %r19, %r8
13321 nop
13322 ta T_CHANGE_HPRIV
13323 mov 0x10+1, %r10
13324 set sync_thr_counter5, %r23
13325#ifndef SPC
13326 ldxa [%g0]0x63, %o1
13327 and %o1, 0x38, %o1
13328 add %o1, %r23, %r23
13329#endif
13330 cas [%r23],%g0,%r10 !lock
13331 brnz %r10, cwq_10_257
13332 rd %asi, %r12
13333 wr %g0, 0x40, %asi
13334 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
13335 and %l1, 0x3, %l1 ! Check if busy/enabled ..
13336 cmp %l1, 1
13337 bne cwq_10_257
13338 set CWQ_BASE, %l6
13339 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
13340 best_set_reg(0x206100e0, %l1, %l2) !# Control Word
13341 sllx %l2, 32, %l2
13342 stx %l2, [%l6 + 0x0]
13343 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
13344 sub %l2, 0x40, %l2
13345 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
13346 wr %r12, %g0, %asi
13347 st %g0, [%r23]
13348cwq_10_257:
13349 ta T_CHANGE_NONHPRIV
13350 .word 0xa5414000 ! 327: RDPC rd %pc, %r18
13351ibp_10_258:
13352 nop
13353 ta T_CHANGE_NONHPRIV
13354 .word 0xe1bfd920 ! 328: STDFA_R stda %f16, [%r0, %r31]
13355fpinit_10_259:
13356 setx fp_data_quads, %r19, %r20
13357 ldd [%r20], %f0
13358 ldd [%r20+8], %f4
13359 ld [%r20+16], %fsr
13360 ld [%r20+24], %r19
13361 wr %r19, %g0, %gsr
13362 .word 0x87a80a44 ! 329: FCMPd fcmpd %fcc<n>, %f0, %f4
13363 setx vahole_target1, %r18, %r27
13364 .word 0xdb1fc012 ! 330: LDDF_R ldd [%r31, %r18], %f13
13365 .word 0xda8008a0 ! 331: LDUWA_R lduwa [%r0, %r0] 0x45, %r13
13366 .word 0x90d53e9c ! 332: UMULcc_I umulcc %r20, 0xfffffe9c, %r8
13367ibp_10_261:
13368 nop
13369 .word 0x93b1c491 ! 333: FCMPLE32 fcmple32 %d38, %d48, %r9
13370mondo_10_262:
13371 nop
13372 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
13373 ta T_CHANGE_PRIV
13374 stxa %r19, [%r0+0x3c0] %asi
13375 .word 0x9d94c008 ! 334: WRPR_WSTATE_R wrpr %r19, %r8, %wstate
13376mondo_10_263:
13377 nop
13378 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
13379 stxa %r9, [%r0+0x3e0] %asi
13380 .word 0x9d950003 ! 335: WRPR_WSTATE_R wrpr %r20, %r3, %wstate
13381 .word 0xa9524000 ! 336: RDPR_CWP rdpr %cwp, %r20
13382pmu_10_265:
13383 nop
13384 ta T_CHANGE_PRIV
13385 setx 0xfffffa19ffffff42, %g1, %g7
13386 .word 0xa3800007 ! 337: WR_PERF_COUNTER_R wr %r0, %r7, %-
13387dvapa_10_266:
13388 nop
13389 ta T_CHANGE_HPRIV
13390 mov 0xcf2, %r20
13391 mov 0xf, %r19
13392 sllx %r20, 23, %r20
13393 or %r19, %r20, %r19
13394 stxa %r19, [%g0] ASI_LSU_CONTROL
13395 mov 0x38, %r18
13396 stxa %r31, [%r18]0x58
13397 ta T_CHANGE_NONHPRIV
13398 .word 0xd33fc00d ! 338: STDF_R std %f9, [%r13, %r31]
13399splash_lsu_10_267:
13400 nop
13401 ta T_CHANGE_HPRIV
13402 set 0x0c57af9f, %r2
13403 mov 0x7, %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 ! 339: FBPULE fbule,a,pn %fcc0, <label_0x1>
13409splash_tba_10_268:
13410 ta T_CHANGE_PRIV
13411 set 0x120000, %r12
13412 .word 0x8b90000c ! 340: WRPR_TBA_R wrpr %r0, %r12, %tba
13413 otherw
13414 mov 0x34, %r30
13415 .word 0x93d0001e ! 341: Tcc_R tne icc_or_xcc, %r0 + %r30
13416donret_10_269:
13417 nop
13418 ta T_CHANGE_HPRIV ! macro
13419 rd %pc, %r12
13420 add %r12, (donretarg_10_269-donret_10_269-4), %r12
13421 mov 0x38, %r18
13422 stxa %r12, [%r18]0x58
13423 add %r12, 0x4, %r11
13424 wrpr %g0, 0x1, %tl
13425 wrpr %g0, %r12, %tpc
13426 wrpr %g0, %r11, %tnpc
13427 set (0x002d0251 | (16 << 24)), %r13
13428 rdpr %tstate, %r16
13429 mov 0x1f, %r19
13430 and %r19, %r16, %r17
13431 andn %r16, %r19, %r16
13432 or %r16, %r17, %r20
13433 wrpr %r20, %g0, %tstate
13434 wrhpr %g0, 0x397, %htstate
13435 ta T_CHANGE_NONPRIV ! rand=0 (10)
13436 .word 0x24c94001 ! 1: BRLEZ brlez,a,pt %r5,<label_0x94001>
13437 done
13438donretarg_10_269:
13439 .word 0xa1a1c9c4 ! 342: FDIVd fdivd %f38, %f4, %f16
13440ibp_10_270:
13441 nop
13442 .word 0xc1bfd920 ! 343: STDFA_R stda %f0, [%r0, %r31]
13443 .word 0x9f8037ae ! 344: SIR sir 0x17ae
13444splash_hpstate_10_271:
13445 .word 0x81982045 ! 345: WRHPR_HPSTATE_I wrhpr %r0, 0x0045, %hpstate
13446 nop
13447 ta T_CHANGE_HPRIV
13448 mov 0x10+1, %r10
13449 set sync_thr_counter5, %r23
13450#ifndef SPC
13451 ldxa [%g0]0x63, %o1
13452 and %o1, 0x38, %o1
13453 add %o1, %r23, %r23
13454#endif
13455 cas [%r23],%g0,%r10 !lock
13456 brnz %r10, cwq_10_272
13457 rd %asi, %r12
13458 wr %g0, 0x40, %asi
13459 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
13460 and %l1, 0x3, %l1 ! Check if busy/enabled ..
13461 cmp %l1, 1
13462 bne cwq_10_272
13463 set CWQ_BASE, %l6
13464 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
13465 best_set_reg(0x20610030, %l1, %l2) !# Control Word
13466 sllx %l2, 32, %l2
13467 stx %l2, [%l6 + 0x0]
13468 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
13469 sub %l2, 0x40, %l2
13470 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
13471 wr %r12, %g0, %asi
13472 st %g0, [%r23]
13473cwq_10_272:
13474 ta T_CHANGE_NONHPRIV
13475 .word 0x97414000 ! 346: RDPC rd %pc, %r11
13476ibp_10_273:
13477 nop
13478 ta T_CHANGE_NONHPRIV
13479 .word 0xda97c031 ! 347: LDUHA_R lduha [%r31, %r17] 0x01, %r13
13480#if (defined SPC || defined CMP)
13481!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_10_274) + 56, 16, 16)) -> intp(5,0,27)
13482!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_10_274)&0xffffffff) + 56, 16, 16)) -> intp(5,0,27)
13483#else
13484 setx 0x07192a0ddc5a0445, %r1, %r28
13485 stxa %r28, [%g0] 0x73
13486#endif
13487intvec_10_274:
13488 .word 0x39400001 ! 348: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
13489pmu_10_275:
13490 nop
13491 ta T_CHANGE_PRIV
13492 setx 0xfffff069fffff259, %g1, %g7
13493 .word 0xa3800007 ! 349: WR_PERF_COUNTER_R wr %r0, %r7, %-
13494ibp_10_276:
13495 nop
13496 .word 0xda9fc034 ! 350: LDDA_R ldda [%r31, %r20] 0x01, %r13
13497pmu_10_277:
13498 nop
13499 setx 0xfffff54dfffff5cd, %g1, %g7
13500 .word 0xa3800007 ! 351: WR_PERF_COUNTER_R wr %r0, %r7, %-
13501 set 0x3376, %l3
13502 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
13503 .word 0xa1b407d1 ! 352: PDIST pdistn %d16, %d48, %d16
13504dvapa_10_278:
13505 nop
13506 ta T_CHANGE_HPRIV
13507 mov 0x86c, %r20
13508 mov 0x3, %r19
13509 sllx %r20, 23, %r20
13510 or %r19, %r20, %r19
13511 stxa %r19, [%g0] ASI_LSU_CONTROL
13512 mov 0x38, %r18
13513 stxa %r31, [%r18]0x58
13514 ta T_CHANGE_NONHPRIV
13515 .word 0xa3a189a2 ! 353: FDIVs fdivs %f6, %f2, %f17
13516 .word 0xe71fe068 ! 354: LDDF_I ldd [%r31, 0x0068], %f19
13517pmu_10_279:
13518 nop
13519 ta T_CHANGE_PRIV
13520 setx 0xfffff66dfffff5a3, %g1, %g7
13521 .word 0xa3800007 ! 355: WR_PERF_COUNTER_R wr %r0, %r7, %-
13522#if (defined SPC || defined CMP)
13523!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_10_280) + 56, 16, 16)) -> intp(3,0,1)
13524!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_10_280)&0xffffffff) + 56, 16, 16)) -> intp(3,0,1)
13525#else
13526 setx 0x4cd15927da47b87e, %r1, %r28
13527 stxa %r28, [%g0] 0x73
13528#endif
13529intvec_10_280:
13530 .word 0x39400001 ! 356: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
13531 .word 0xe697e040 ! 357: LDUHA_I lduha [%r31, + 0x0040] %asi, %r19
13532intveclr_10_281:
13533 nop
13534 ta T_CHANGE_HPRIV
13535 setx 0xe30e8c306fbaeb8d, %r1, %r28
13536 stxa %r28, [%g0] 0x72
13537 ta T_CHANGE_NONHPRIV
13538 .word 0x25400001 ! 358: FBPLG fblg,a,pn %fcc0, <label_0x1>
13539 .word 0x3c780001 ! 359: BPPOS <illegal instruction>
13540pmu_10_282:
13541 nop
13542 setx 0xfffff4dffffff601, %g1, %g7
13543 .word 0xa3800007 ! 360: WR_PERF_COUNTER_R wr %r0, %r7, %-
13544intveclr_10_283:
13545 nop
13546 ta T_CHANGE_HPRIV
13547 setx 0xb1f999914782f6af, %r1, %r28
13548 stxa %r28, [%g0] 0x72
13549 ta T_CHANGE_NONHPRIV
13550 .word 0x25400001 ! 361: FBPLG fblg,a,pn %fcc0, <label_0x1>
13551 nop
13552 ta T_CHANGE_HPRIV
13553 mov 0x10+1, %r10
13554 set sync_thr_counter5, %r23
13555#ifndef SPC
13556 ldxa [%g0]0x63, %o1
13557 and %o1, 0x38, %o1
13558 add %o1, %r23, %r23
13559#endif
13560 cas [%r23],%g0,%r10 !lock
13561 brnz %r10, cwq_10_284
13562 rd %asi, %r12
13563 wr %g0, 0x40, %asi
13564 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
13565 and %l1, 0x3, %l1 ! Check if busy/enabled ..
13566 cmp %l1, 1
13567 bne cwq_10_284
13568 set CWQ_BASE, %l6
13569 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
13570 best_set_reg(0x20610010, %l1, %l2) !# Control Word
13571 sllx %l2, 32, %l2
13572 stx %l2, [%l6 + 0x0]
13573 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
13574 sub %l2, 0x40, %l2
13575 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
13576 wr %r12, %g0, %asi
13577 st %g0, [%r23]
13578cwq_10_284:
13579 ta T_CHANGE_NONHPRIV
13580 .word 0x95414000 ! 362: RDPC rd %pc, %r10
13581 .word 0x97450000 ! 363: RD_SET_SOFTINT rd %set_softint, %r11
13582intveclr_10_285:
13583 nop
13584 ta T_CHANGE_HPRIV
13585 setx 0x31d4e1cfedda1792, %r1, %r28
13586 stxa %r28, [%g0] 0x72
13587 .word 0x25400001 ! 364: FBPLG fblg,a,pn %fcc0, <label_0x1>
13588fpinit_10_286:
13589 setx fp_data_quads, %r19, %r20
13590 ldd [%r20], %f0
13591 ldd [%r20+8], %f4
13592 ld [%r20+16], %fsr
13593 ld [%r20+24], %r19
13594 wr %r19, %g0, %gsr
13595 .word 0x91b00484 ! 365: FCMPLE32 fcmple32 %d0, %d4, %r8
13596ibp_10_287:
13597 nop
13598 .word 0x87aa4a49 ! 366: FCMPd fcmpd %fcc<n>, %f40, %f40
13599 nop
13600 ta T_CHANGE_HPRIV
13601 mov 0x10, %r10
13602 set sync_thr_counter6, %r23
13603#ifndef SPC
13604 ldxa [%g0]0x63, %o1
13605 and %o1, 0x38, %o1
13606 add %o1, %r23, %r23
13607#endif
13608 cas [%r23],%g0,%r10 !lock
13609 brnz %r10, sma_10_288
13610 rd %asi, %r12
13611 wr %g0, 0x40, %asi
13612 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
13613 set 0x000e1fff, %g1
13614 stxa %g1, [%g0 + 0x80] %asi
13615 wr %r12, %g0, %asi
13616 st %g0, [%r23]
13617sma_10_288:
13618 ta T_CHANGE_NONHPRIV
13619 .word 0xe5e7e00b ! 367: CASA_R casa [%r31] %asi, %r11, %r18
13620 .word 0x8d802000 ! 368: WRFPRS_I wr %r0, 0x0000, %fprs
13621 setx 0xc928d0e1d9c39378, %r1, %r28
13622 stxa %r28, [%g0] 0x73
13623intvec_10_289:
13624 .word 0x39400001 ! 369: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
13625 nop
13626 ta T_CHANGE_HPRIV
13627 mov 0x10, %r10
13628 set sync_thr_counter6, %r23
13629#ifndef SPC
13630 ldxa [%g0]0x63, %o1
13631 and %o1, 0x38, %o1
13632 add %o1, %r23, %r23
13633#endif
13634 cas [%r23],%g0,%r10 !lock
13635 brnz %r10, sma_10_290
13636 rd %asi, %r12
13637 wr %g0, 0x40, %asi
13638 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
13639 set 0x00021fff, %g1
13640 stxa %g1, [%g0 + 0x80] %asi
13641 wr %r12, %g0, %asi
13642 st %g0, [%r23]
13643sma_10_290:
13644 ta T_CHANGE_NONHPRIV
13645 .word 0xe5e7e012 ! 370: CASA_R casa [%r31] %asi, %r18, %r18
13646donret_10_291:
13647 nop
13648 ta T_CHANGE_HPRIV ! macro
13649 rd %pc, %r12
13650 add %r12, (donretarg_10_291-donret_10_291-4), %r12
13651 mov 0x38, %r18
13652 stxa %r12, [%r18]0x58
13653 add %r12, 0x4, %r11
13654 wrpr %g0, 0x1, %tl
13655 wrpr %g0, %r12, %tpc
13656 wrpr %g0, %r11, %tnpc
13657 set (0x00e8d717 | (0x8a << 24)), %r13
13658 rdpr %tstate, %r16
13659 mov 0x1f, %r19
13660 and %r19, %r16, %r17
13661 andn %r16, %r19, %r16
13662 or %r16, %r17, %r20
13663 wrpr %r20, %g0, %tstate
13664 wrhpr %g0, 0xa5f, %htstate
13665 ta T_CHANGE_NONPRIV ! rand=0 (10)
13666 .word 0x38800001 ! 1: BGU bgu,a <label_0x1>
13667 done
13668donretarg_10_291:
13669 .word 0x99a309c4 ! 371: FDIVd fdivd %f12, %f4, %f12
13670 .word 0xab84fe53 ! 372: WR_CLEAR_SOFTINT_I wr %r19, 0x1e53, %clear_softint
13671 .word 0xd6800b00 ! 373: LDUWA_R lduwa [%r0, %r0] 0x58, %r11
13672 nop
13673 ta T_CHANGE_HPRIV
13674 mov 0x10, %r10
13675 set sync_thr_counter6, %r23
13676#ifndef SPC
13677 ldxa [%g0]0x63, %o1
13678 and %o1, 0x38, %o1
13679 add %o1, %r23, %r23
13680#endif
13681 cas [%r23],%g0,%r10 !lock
13682 brnz %r10, sma_10_292
13683 rd %asi, %r12
13684 wr %g0, 0x40, %asi
13685 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
13686 set 0x00021fff, %g1
13687 stxa %g1, [%g0 + 0x80] %asi
13688 wr %r12, %g0, %asi
13689 st %g0, [%r23]
13690sma_10_292:
13691 ta T_CHANGE_NONHPRIV
13692 .word 0xd7e7e008 ! 374: CASA_R casa [%r31] %asi, %r8, %r11
13693br_longdelay2_10_293:
13694 .word 0x3e800001 ! 1: BVC bvc,a <label_0x1>
13695 .word 0xd7e7c030 ! 375: CASA_I casa [%r31] 0x 1, %r16, %r11
13696dvapa_10_294:
13697 nop
13698 ta T_CHANGE_HPRIV
13699 mov 0x971, %r20
13700 mov 0x1e, %r19
13701 sllx %r20, 23, %r20
13702 or %r19, %r20, %r19
13703 stxa %r19, [%g0] ASI_LSU_CONTROL
13704 mov 0x38, %r18
13705 stxa %r31, [%r18]0x58
13706 ta T_CHANGE_NONHPRIV
13707 .word 0xd6dfc031 ! 376: LDXA_R ldxa [%r31, %r17] 0x01, %r11
13708splash_lsu_10_295:
13709 nop
13710 ta T_CHANGE_HPRIV
13711 set 0x59c4ada4, %r2
13712 mov 0x7, %r1
13713 sllx %r1, 32, %r1
13714 or %r1, %r2, %r2
13715 stxa %r2, [%r0] ASI_LSU_CONTROL
13716 ta T_CHANGE_NONHPRIV
13717 .word 0x3d400001 ! 377: FBPULE fbule,a,pn %fcc0, <label_0x1>
13718brcommon1_10_296:
13719 nop
13720 setx common_target, %r12, %r27
13721 lduw [%r27], %r12 ! Load common dest into dcache ..
13722 ba,a .+12
13723 .word 0x97a7c9cc ! 1: FDIVd fdivd %f62, %f12, %f42
13724 ba,a .+8
13725 jmpl %r27+0, %r27
13726 .word 0xa1b487c1 ! 378: PDIST pdistn %d18, %d32, %d16
13727 .word 0x8d802000 ! 379: WRFPRS_I wr %r0, 0x0000, %fprs
13728splash_cmpr_10_297:
13729 nop
13730 setx 0x9c7e2151db230c14, %l2, %l1
13731 ta T_CHANGE_PRIV
13732 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
13733 ta T_CHANGE_NONPRIV
13734 sub %l1, 40, %g1
13735 .word 0x89900011 ! 380: WRPR_TICK_R wrpr %r0, %r17, %tick
13736#if (defined SPC || defined CMP)
13737!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_10_298) + 32, 16, 16)) -> intp(2,0,13)
13738!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_10_298)&0xffffffff) + 32, 16, 16)) -> intp(2,0,13)
13739#else
13740 setx 0x7d5056ad4828e8e5, %r1, %r28
13741 stxa %r28, [%g0] 0x73
13742#endif
13743intvec_10_298:
13744 .word 0x39400001 ! 381: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
13745 .word 0x91944014 ! 382: WRPR_PIL_R wrpr %r17, %r20, %pil
13746splash_cmpr_10_300:
13747 nop
13748 setx 0xd1ef5a9782be0b90, %l2, %l1
13749 ta T_CHANGE_HPRIV
13750 wrhpr %l1, %g0, %hsys_tick_cmpr
13751 ta T_CHANGE_NONHPRIV
13752 sub %l1, 40, %g1
13753 .word 0x89900011 ! 383: WRPR_TICK_R wrpr %r0, %r17, %tick
13754 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
13755reduce_priv_lvl_10_301:
13756 ta T_CHANGE_NONPRIV ! macro
13757mondo_10_302:
13758 nop
13759 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
13760 ta T_CHANGE_PRIV
13761 stxa %r2, [%r0+0x3c0] %asi
13762 .word 0x9d924011 ! 385: WRPR_WSTATE_R wrpr %r9, %r17, %wstate
13763 .word 0xd037e0ca ! 386: STH_I sth %r8, [%r31 + 0x00ca]
13764 nop
13765 mov 0x80, %g3
13766 stxa %g3, [%g3] 0x57
13767 .word 0xd05fc000 ! 387: LDX_R ldx [%r31 + %r0], %r8
13768 setx 0xbe994f2ba5f84384, %r1, %r28
13769 stxa %r28, [%g0] 0x73
13770intvec_10_303:
13771 .word 0x39400001 ! 388: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
13772 .word 0x95a00174 ! 389: FABSq dis not found
13773
13774donret_10_305:
13775 nop
13776 ta T_CHANGE_HPRIV ! macro
13777 rd %pc, %r12
13778 add %r12, (donretarg_10_305-donret_10_305-4), %r12
13779 mov 0x38, %r18
13780 stxa %r12, [%r18]0x58
13781 add %r12, 0x4, %r11
13782 wrpr %g0, 0x2, %tl
13783 wrpr %g0, %r12, %tpc
13784 wrpr %g0, %r11, %tnpc
13785 set (0x003bac9c | (0x8b << 24)), %r13
13786 rdpr %tstate, %r16
13787 mov 0x1f, %r19
13788 and %r19, %r16, %r17
13789 andn %r16, %r19, %r16
13790 or %r16, %r17, %r20
13791 wrpr %r20, %g0, %tstate
13792 wrhpr %g0, 0x60e, %htstate
13793 ta T_CHANGE_NONPRIV ! rand=0 (10)
13794 .word 0x26800001 ! 1: BL bl,a <label_0x1>
13795 done
13796donretarg_10_305:
13797 .word 0xe8ffe11c ! 390: SWAPA_I swapa %r20, [%r31 + 0x011c] %asi
13798 .word 0xe897e098 ! 391: LDUHA_I lduha [%r31, + 0x0098] %asi, %r20
13799 .word 0xe8d7e0f0 ! 392: LDSHA_I ldsha [%r31, + 0x00f0] %asi, %r20
13800pmu_10_306:
13801 nop
13802 ta T_CHANGE_PRIV
13803 setx 0xfffff7e2fffff9a0, %g1, %g7
13804 .word 0xa3800007 ! 393: WR_PERF_COUNTER_R wr %r0, %r7, %-
13805 setx vahole_target2, %r18, %r27
13806 .word 0xe1bfde00 ! 394: STDFA_R stda %f16, [%r0, %r31]
13807trapasi_10_308:
13808 nop
13809 mov 0x28, %r1 ! (VA for ASI 0x5a)
13810 .word 0xe8d04b40 ! 395: LDSHA_R ldsha [%r1, %r0] 0x5a, %r20
13811trapasi_10_309:
13812 nop
13813 mov 0x18, %r1 ! (VA for ASI 0x50)
13814 .word 0xe8c84a00 ! 396: LDSBA_R ldsba [%r1, %r0] 0x50, %r20
13815ibp_10_310:
13816 nop
13817 ta T_CHANGE_NONHPRIV
13818 .word 0xe9e7e012 ! 397: CASA_R casa [%r31] %asi, %r18, %r20
13819intveclr_10_311:
13820 nop
13821 ta T_CHANGE_HPRIV
13822 setx 0x7b77ad22dd6977a5, %r1, %r28
13823 stxa %r28, [%g0] 0x72
13824 ta T_CHANGE_NONHPRIV
13825 .word 0x25400001 ! 398: FBPLG fblg,a,pn %fcc0, <label_0x1>
13826splash_tba_10_312:
13827 ta T_CHANGE_PRIV
13828 set 0x120000, %r12
13829 .word 0x8b90000c ! 399: WRPR_TBA_R wrpr %r0, %r12, %tba
13830pmu_10_313:
13831 nop
13832 ta T_CHANGE_PRIV
13833 setx 0xfffff2acfffff91a, %g1, %g7
13834 .word 0xa3800007 ! 400: WR_PERF_COUNTER_R wr %r0, %r7, %-
13835 nop
13836 nop
13837 ta T_CHANGE_PRIV
13838 wrpr %g0, %g0, %gl
13839 nop
13840 nop
13841 setx join_lbl_0_0, %g1, %g2
13842 jmp %g2
13843 nop
13844fork_lbl_0_4:
13845 ta T_CHANGE_NONHPRIV
13846 setx vahole_target1, %r18, %r27
13847 .word 0xe49fc032 ! 1: LDDA_R ldda [%r31, %r18] 0x01, %r18
13848jmptr_8_1:
13849 nop
13850 best_set_reg(0xe0a00000, %r20, %r27)
13851 .word 0xb7c6c000 ! 2: JMPL_R jmpl %r27 + %r0, %r27
13852 .word 0x36800001 ! 3: BGE bge,a <label_0x1>
13853 .word 0xe1bfd920 ! 4: STDFA_R stda %f16, [%r0, %r31]
13854 nop
13855 ta T_CHANGE_HPRIV
13856 mov 0x8, %r10
13857 set sync_thr_counter6, %r23
13858#ifndef SPC
13859 ldxa [%g0]0x63, %o1
13860 and %o1, 0x38, %o1
13861 add %o1, %r23, %r23
13862#endif
13863 cas [%r23],%g0,%r10 !lock
13864 brnz %r10, sma_8_2
13865 rd %asi, %r12
13866 wr %g0, 0x40, %asi
13867 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
13868 set 0x00061fff, %g1
13869 stxa %g1, [%g0 + 0x80] %asi
13870 wr %r12, %g0, %asi
13871 st %g0, [%r23]
13872sma_8_2:
13873 ta T_CHANGE_NONHPRIV
13874 .word 0xe5e7e009 ! 5: CASA_R casa [%r31] %asi, %r9, %r18
13875 setx vahole_target2, %r18, %r27
13876 .word 0x997024f4 ! 6: POPC_I popc 0x04f4, %r12
13877 .word 0xc19fe080 ! 7: LDDFA_I ldda [%r31, 0x0080], %f0
13878ibp_8_4:
13879 nop
13880 ta T_CHANGE_NONHPRIV
13881 .word 0xc1bfe120 ! 8: STDFA_I stda %f0, [0x0120, %r31]
13882 .word 0xe1bfd920 ! 9: STDFA_R stda %f16, [%r0, %r31]
13883pmu_8_6:
13884 nop
13885 setx 0xfffff0affffff54a, %g1, %g7
13886 .word 0xa3800007 ! 10: WR_PERF_COUNTER_R wr %r0, %r7, %-
13887ibp_8_7:
13888 nop
13889 ta T_CHANGE_NONHPRIV
13890 .word 0xe19fdc00 ! 11: LDDFA_R ldda [%r31, %r0], %f16
13891 .word 0x9f80389c ! 12: SIR sir 0x189c
13892brcommon1_8_8:
13893 nop
13894 setx common_target, %r12, %r27
13895 lduw [%r27], %r12 ! Load common dest into dcache ..
13896 ba,a .+12
13897 .word 0xa3702e80 ! 1: POPC_I popc 0x0e80, %r17
13898 ba,a .+8
13899 jmpl %r27+0, %r27
13900 .word 0xa7a149aa ! 13: FDIVs fdivs %f5, %f10, %f19
13901 .word 0x91540000 ! 14: RDPR_GL <illegal instruction>
13902splash_lsu_8_9:
13903 nop
13904 ta T_CHANGE_HPRIV
13905 set 0xbd2c8c95, %r2
13906 mov 0x1, %r1
13907 sllx %r1, 32, %r1
13908 or %r1, %r2, %r2
13909 stxa %r2, [%r0] ASI_LSU_CONTROL
13910 .word 0x3d400001 ! 15: FBPULE fbule,a,pn %fcc0, <label_0x1>
13911 .word 0xe82fe1e6 ! 16: STB_I stb %r20, [%r31 + 0x01e6]
13912pmu_8_10:
13913 nop
13914 setx 0xfffffef2ffffffb2, %g1, %g7
13915 .word 0xa3800007 ! 17: WR_PERF_COUNTER_R wr %r0, %r7, %-
13916 .word 0x9f803dc8 ! 18: SIR sir 0x1dc8
13917 .word 0x8d903430 ! 19: WRPR_PSTATE_I wrpr %r0, 0x1430, %pstate
13918dvapa_8_12:
13919 nop
13920 ta T_CHANGE_HPRIV
13921 mov 0xc02, %r20
13922 mov 0xd, %r19
13923 sllx %r20, 23, %r20
13924 or %r19, %r20, %r19
13925 stxa %r19, [%g0] ASI_LSU_CONTROL
13926 mov 0x38, %r18
13927 stxa %r31, [%r18]0x58
13928 ta T_CHANGE_NONHPRIV
13929 .word 0xe1bfe000 ! 20: STDFA_I stda %f16, [0x0000, %r31]
13930splash_cmpr_8_13:
13931 nop
13932 setx 0x4e40792310aa0aae, %l2, %l1
13933 ta T_CHANGE_PRIV
13934 .word 0xaf800011 ! 1: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
13935 sub %l1, 40, %g1
13936 .word 0x89900011 ! 21: WRPR_TICK_R wrpr %r0, %r17, %tick
13937donret_8_14:
13938 nop
13939 ta T_CHANGE_HPRIV ! macro
13940 rd %pc, %r12
13941 add %r12, (donretarg_8_14-donret_8_14-8), %r12
13942 mov 0x38, %r18
13943 stxa %r12, [%r18]0x58
13944 add %r12, 0x4, %r11
13945 wrpr %g0, 0x2, %tl
13946 wrpr %g0, %r12, %tpc
13947 wrpr %g0, %r11, %tnpc
13948 set (0x00870d3f | (0x83 << 24)), %r13
13949 rdpr %tstate, %r16
13950 mov 0x1f, %r19
13951 and %r19, %r16, %r17
13952 andn %r16, %r19, %r16
13953 or %r16, %r17, %r20
13954 wrpr %r20, %g0, %tstate
13955 wrhpr %g0, 0x707, %htstate
13956 ta T_CHANGE_NONHPRIV ! rand=1 (8)
13957 .word 0x2ccc8001 ! 1: BRGZ brgz,a,pt %r18,<label_0xc8001>
13958 retry
13959donretarg_8_14:
13960 .word 0x95a049c7 ! 22: FDIVd fdivd %f32, %f38, %f10
13961trapasi_8_15:
13962 nop
13963 mov 0x18, %r1 ! (VA for ASI 0x50)
13964 .word 0xda904a00 ! 23: LDUHA_R lduha [%r1, %r0] 0x50, %r13
13965dvapa_8_16:
13966 nop
13967 ta T_CHANGE_HPRIV
13968 mov 0x862, %r20
13969 mov 0x1d, %r19
13970 sllx %r20, 23, %r20
13971 or %r19, %r20, %r19
13972 stxa %r19, [%g0] ASI_LSU_CONTROL
13973 mov 0x38, %r18
13974 stxa %r31, [%r18]0x58
13975 ta T_CHANGE_NONHPRIV
13976 .word 0xda3ff293 ! 24: STD_I std %r13, [%r31 + 0xfffff293]
13977 .word 0x8d802000 ! 25: WRFPRS_I wr %r0, 0x0000, %fprs
13978 .word 0xc32fc000 ! 26: STXFSR_R st-sfr %f1, [%r0, %r31]
13979splash_cmpr_8_18:
13980 nop
13981 setx 0x3d2c53921ceab083, %l2, %l1
13982 ta T_CHANGE_HPRIV
13983 wrhpr %l1, %g0, %hsys_tick_cmpr
13984 sub %l1, 40, %g1
13985 .word 0x89900011 ! 27: WRPR_TICK_R wrpr %r0, %r17, %tick
13986intveclr_8_19:
13987 nop
13988 ta T_CHANGE_HPRIV
13989 setx 0x98f28b15bd3c1b32, %r1, %r28
13990 stxa %r28, [%g0] 0x72
13991 ta T_CHANGE_NONHPRIV
13992 .word 0x25400001 ! 28: FBPLG fblg,a,pn %fcc0, <label_0x1>
13993intveclr_8_20:
13994 nop
13995 ta T_CHANGE_HPRIV
13996 setx 0x898c04cc518558a5, %r1, %r28
13997 stxa %r28, [%g0] 0x72
13998 ta T_CHANGE_NONHPRIV
13999 .word 0x25400001 ! 29: FBPLG fblg,a,pn %fcc0, <label_0x1>
14000 nop
14001 ta T_CHANGE_HPRIV
14002 mov 0x8, %r10
14003 set sync_thr_counter6, %r23
14004#ifndef SPC
14005 ldxa [%g0]0x63, %o1
14006 and %o1, 0x38, %o1
14007 add %o1, %r23, %r23
14008#endif
14009 cas [%r23],%g0,%r10 !lock
14010 brnz %r10, sma_8_21
14011 rd %asi, %r12
14012 wr %g0, 0x40, %asi
14013 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
14014 set 0x000a1fff, %g1
14015 stxa %g1, [%g0 + 0x80] %asi
14016 wr %r12, %g0, %asi
14017 st %g0, [%r23]
14018sma_8_21:
14019 ta T_CHANGE_NONHPRIV
14020 .word 0xdbe7e012 ! 30: CASA_R casa [%r31] %asi, %r18, %r13
14021 .word 0x97a00170 ! 31: FABSq dis not found
14022
14023memptr_8_23:
14024 set 0x60740000, %r31
14025 .word 0x8580be8c ! 32: WRCCR_I wr %r2, 0x1e8c, %ccr
14026splash_tba_8_24:
14027 ta T_CHANGE_PRIV
14028 set 0x120000, %r12
14029 .word 0x8b90000c ! 33: WRPR_TBA_R wrpr %r0, %r12, %tba
14030 .word 0xe45fe1f0 ! 34: LDX_I ldx [%r31 + 0x01f0], %r18
14031 .word 0x9f8021ed ! 35: SIR sir 0x01ed
14032mondo_8_25:
14033 nop
14034 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
14035 stxa %r20, [%r0+0x3e8] %asi
14036 .word 0x9d92c00b ! 36: WRPR_WSTATE_R wrpr %r11, %r11, %wstate
14037donret_8_26:
14038 nop
14039 ta T_CHANGE_HPRIV ! macro
14040 rd %pc, %r12
14041 add %r12, (donretarg_8_26-donret_8_26-8), %r12
14042 mov 0x38, %r18
14043 stxa %r12, [%r18]0x58
14044 add %r12, 0x4, %r11
14045 wrpr %g0, 0x1, %tl
14046 wrpr %g0, %r12, %tpc
14047 wrpr %g0, %r11, %tnpc
14048 set (0x00fae713 | (4 << 24)), %r13
14049 rdpr %tstate, %r16
14050 mov 0x1f, %r19
14051 and %r19, %r16, %r17
14052 andn %r16, %r19, %r16
14053 or %r16, %r17, %r20
14054 wrpr %r20, %g0, %tstate
14055 wrhpr %g0, 0x38e, %htstate
14056 ta T_CHANGE_NONHPRIV ! rand=1 (8)
14057 retry
14058donretarg_8_26:
14059 .word 0xe46fe0c4 ! 37: LDSTUB_I ldstub %r18, [%r31 + 0x00c4]
14060donret_8_27:
14061 nop
14062 ta T_CHANGE_HPRIV ! macro
14063 rd %pc, %r12
14064 add %r12, (donretarg_8_27-donret_8_27-4), %r12
14065 mov 0x38, %r18
14066 stxa %r12, [%r18]0x58
14067 add %r12, 0x4, %r11
14068 wrpr %g0, 0x2, %tl
14069 wrpr %g0, %r12, %tpc
14070 wrpr %g0, %r11, %tnpc
14071 set (0x00310678 | (0x58 << 24)), %r13
14072 rdpr %tstate, %r16
14073 mov 0x1f, %r19
14074 and %r19, %r16, %r17
14075 andn %r16, %r19, %r16
14076 or %r16, %r17, %r20
14077 wrpr %r20, %g0, %tstate
14078 wrhpr %g0, 0x416, %htstate
14079 ta T_CHANGE_NONHPRIV ! rand=1 (8)
14080 .word 0x2cccc001 ! 1: BRGZ brgz,a,pt %r19,<label_0xcc001>
14081 done
14082donretarg_8_27:
14083 .word 0xe46fe162 ! 38: LDSTUB_I ldstub %r18, [%r31 + 0x0162]
14084 .word 0x9194c003 ! 39: WRPR_PIL_R wrpr %r19, %r3, %pil
14085pmu_8_29:
14086 nop
14087 ta T_CHANGE_PRIV
14088 setx 0xfffff0b8fffff6fc, %g1, %g7
14089 .word 0xa3800007 ! 40: WR_PERF_COUNTER_R wr %r0, %r7, %-
14090 .word 0xc32fc000 ! 41: STXFSR_R st-sfr %f1, [%r0, %r31]
14091splash_tba_8_31:
14092 ta T_CHANGE_PRIV
14093 setx 0x00000000003a0000, %r11, %r12
14094 .word 0x8b90000c ! 42: WRPR_TBA_R wrpr %r0, %r12, %tba
14095intveclr_8_32:
14096 nop
14097 ta T_CHANGE_HPRIV
14098 setx 0xa09b6d9fc7e1c7ff, %r1, %r28
14099 stxa %r28, [%g0] 0x72
14100 ta T_CHANGE_NONHPRIV
14101 .word 0x25400001 ! 43: FBPLG fblg,a,pn %fcc0, <label_0x1>
14102 .word 0xe497e180 ! 44: LDUHA_I lduha [%r31, + 0x0180] %asi, %r18
14103 otherw
14104 mov 0x32, %r30
14105 .word 0x93d0001e ! 45: Tcc_R tne icc_or_xcc, %r0 + %r30
14106 .word 0xa9818006 ! 46: WR_SET_SOFTINT_R wr %r6, %r6, %set_softint
14107 nop
14108 ta T_CHANGE_HPRIV
14109 mov 0x8+1, %r10
14110 set sync_thr_counter5, %r23
14111#ifndef SPC
14112 ldxa [%g0]0x63, %o1
14113 and %o1, 0x38, %o1
14114 add %o1, %r23, %r23
14115#endif
14116 cas [%r23],%g0,%r10 !lock
14117 brnz %r10, cwq_8_33
14118 rd %asi, %r12
14119 wr %g0, 0x40, %asi
14120 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
14121 and %l1, 0x3, %l1 ! Check if busy/enabled ..
14122 cmp %l1, 1
14123 bne cwq_8_33
14124 set CWQ_BASE, %l6
14125 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
14126 best_set_reg(0x206100e0, %l1, %l2) !# Control Word
14127 sllx %l2, 32, %l2
14128 stx %l2, [%l6 + 0x0]
14129 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
14130 sub %l2, 0x40, %l2
14131 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
14132 wr %r12, %g0, %asi
14133 st %g0, [%r23]
14134cwq_8_33:
14135 ta T_CHANGE_NONHPRIV
14136 .word 0xa3414000 ! 47: RDPC rd %pc, %r17
14137tagged_8_34:
14138 tsubcctv %r11, 0x160a, %r19
14139 .word 0xe807e066 ! 48: LDUW_I lduw [%r31 + 0x0066], %r20
14140splash_lsu_8_35:
14141 nop
14142 ta T_CHANGE_HPRIV
14143 set 0x43fa041c, %r2
14144 mov 0x2, %r1
14145 sllx %r1, 32, %r1
14146 or %r1, %r2, %r2
14147 stxa %r2, [%r0] ASI_LSU_CONTROL
14148 ta T_CHANGE_NONHPRIV
14149 .word 0x3d400001 ! 49: FBPULE fbule,a,pn %fcc0, <label_0x1>
14150ibp_8_36:
14151 nop
14152 .word 0x9f803105 ! 50: SIR sir 0x1105
14153 .word 0x95a00168 ! 51: FABSq dis not found
14154
14155intveclr_8_38:
14156 nop
14157 ta T_CHANGE_HPRIV
14158 setx 0xa458eba7281f0238, %r1, %r28
14159 stxa %r28, [%g0] 0x72
14160 .word 0x25400001 ! 52: FBPLG fblg,a,pn %fcc0, <label_0x1>
14161mondo_8_39:
14162 nop
14163 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
14164 stxa %r2, [%r0+0x3e0] %asi
14165 .word 0x9d948003 ! 53: WRPR_WSTATE_R wrpr %r18, %r3, %wstate
14166pmu_8_40:
14167 nop
14168 setx 0xfffff2d6fffffd0b, %g1, %g7
14169 .word 0xa3800007 ! 54: WR_PERF_COUNTER_R wr %r0, %r7, %-
14170dvapa_8_41:
14171 nop
14172 ta T_CHANGE_HPRIV
14173 mov 0xdb6, %r20
14174 mov 0x3, %r19
14175 sllx %r20, 23, %r20
14176 or %r19, %r20, %r19
14177 stxa %r19, [%g0] ASI_LSU_CONTROL
14178 mov 0x38, %r18
14179 stxa %r31, [%r18]0x58
14180 ta T_CHANGE_NONHPRIV
14181 .word 0xe1bfe1e0 ! 55: STDFA_I stda %f16, [0x01e0, %r31]
14182pmu_8_42:
14183 nop
14184 setx 0xfffff39ffffff68d, %g1, %g7
14185 .word 0xa3800007 ! 56: WR_PERF_COUNTER_R wr %r0, %r7, %-
14186tagged_8_43:
14187 taddcctv %r8, 0x1cc4, %r16
14188 .word 0xe807e104 ! 57: LDUW_I lduw [%r31 + 0x0104], %r20
14189splash_lsu_8_44:
14190 nop
14191 ta T_CHANGE_HPRIV
14192 set 0x2104917e, %r2
14193 mov 0x7, %r1
14194 sllx %r1, 32, %r1
14195 or %r1, %r2, %r2
14196 stxa %r2, [%r0] ASI_LSU_CONTROL
14197 ta T_CHANGE_NONHPRIV
14198 .word 0x3d400001 ! 58: FBPULE fbule,a,pn %fcc0, <label_0x1>
14199trapasi_8_45:
14200 nop
14201 mov 0x3f8, %r1 ! (VA for ASI 0x25)
14202 .word 0xe8d044a0 ! 59: LDSHA_R ldsha [%r1, %r0] 0x25, %r20
14203 .word 0x91a509a9 ! 60: FDIVs fdivs %f20, %f9, %f8
14204jmptr_8_46:
14205 nop
14206 best_set_reg(0xe0a00000, %r20, %r27)
14207 .word 0xb7c6c000 ! 61: JMPL_R jmpl %r27 + %r0, %r27
14208 .word 0xc30fc000 ! 62: LDXFSR_R ld-fsr [%r31, %r0], %f1
14209splash_cmpr_8_48:
14210 nop
14211 setx 0xcd79850309d1d8db, %l2, %l1
14212 ta T_CHANGE_HPRIV
14213 wrhpr %l1, %g0, %hsys_tick_cmpr
14214 ta T_CHANGE_NONHPRIV
14215 sub %l1, 40, %g1
14216 .word 0xb1800011 ! 63: WR_STICK_REG_R wr %r0, %r17, %-
14217 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
14218reduce_priv_lvl_8_49:
14219 ta T_CHANGE_NONPRIV ! macro
14220mondo_8_50:
14221 nop
14222 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
14223 ta T_CHANGE_PRIV
14224 stxa %r9, [%r0+0x3c8] %asi
14225 .word 0x9d92c005 ! 65: WRPR_WSTATE_R wrpr %r11, %r5, %wstate
14226donret_8_51:
14227 nop
14228 ta T_CHANGE_HPRIV ! macro
14229 rd %pc, %r12
14230 add %r12, (donretarg_8_51-donret_8_51-4), %r12
14231 mov 0x38, %r18
14232 stxa %r12, [%r18]0x58
14233 add %r12, 0x4, %r11
14234 wrpr %g0, 0x1, %tl
14235 wrpr %g0, %r12, %tpc
14236 wrpr %g0, %r11, %tnpc
14237 set (0x00f8a19c | (0x83 << 24)), %r13
14238 rdpr %tstate, %r16
14239 mov 0x1f, %r19
14240 and %r19, %r16, %r17
14241 andn %r16, %r19, %r16
14242 or %r16, %r17, %r20
14243 wrpr %r20, %g0, %tstate
14244 wrhpr %g0, 0xa8d, %htstate
14245 ta T_CHANGE_NONHPRIV ! rand=1 (8)
14246 done
14247donretarg_8_51:
14248 .word 0x97a409cb ! 66: FDIVd fdivd %f16, %f42, %f42
14249brcommon1_8_52:
14250 nop
14251 setx common_target, %r12, %r27
14252 lduw [%r27], %r12 ! Load common dest into dcache ..
14253 ba,a .+12
14254 .word 0xc32ff105 ! 1: STXFSR_I st-sfr %f1, [0x1105, %r31]
14255 ba,a .+8
14256 jmpl %r27+0, %r27
14257 .word 0x93a309b2 ! 67: FDIVs fdivs %f12, %f18, %f9
14258jmptr_8_53:
14259 nop
14260 best_set_reg(0xe0a00000, %r20, %r27)
14261 .word 0xb7c6c000 ! 68: JMPL_R jmpl %r27 + %r0, %r27
14262splash_tba_8_54:
14263 ta T_CHANGE_PRIV
14264 setx 0x00000000003a0000, %r11, %r12
14265 .word 0x8b90000c ! 69: WRPR_TBA_R wrpr %r0, %r12, %tba
14266trapasi_8_55:
14267 nop
14268 mov 0x0, %r1 ! (VA for ASI 0x72)
14269 .word 0xd4d04e40 ! 70: LDSHA_R ldsha [%r1, %r0] 0x72, %r10
14270pmu_8_56:
14271 nop
14272 setx 0xfffff4b7fffffc26, %g1, %g7
14273 .word 0xa3800007 ! 71: WR_PERF_COUNTER_R wr %r0, %r7, %-
14274donret_8_57:
14275 nop
14276 ta T_CHANGE_HPRIV ! macro
14277 rd %pc, %r12
14278 add %r12, (donretarg_8_57-donret_8_57-4), %r12
14279 mov 0x38, %r18
14280 stxa %r12, [%r18]0x58
14281 add %r12, 0x4, %r11
14282 wrpr %g0, 0x1, %tl
14283 wrpr %g0, %r12, %tpc
14284 wrpr %g0, %r11, %tnpc
14285 set (0x00d87ced | (0x88 << 24)), %r13
14286 rdpr %tstate, %r16
14287 mov 0x1f, %r19
14288 and %r19, %r16, %r17
14289 andn %r16, %r19, %r16
14290 or %r16, %r17, %r20
14291 wrpr %r20, %g0, %tstate
14292 wrhpr %g0, 0x1df, %htstate
14293 ta T_CHANGE_NONHPRIV ! rand=1 (8)
14294 done
14295donretarg_8_57:
14296 .word 0xd4ffe071 ! 72: SWAPA_I swapa %r10, [%r31 + 0x0071] %asi
14297brcommon1_8_58:
14298 nop
14299 setx common_target, %r12, %r27
14300 lduw [%r27], %r12 ! Load common dest into dcache ..
14301 ba,a .+12
14302 .word 0xd5e7c030 ! 1: CASA_I casa [%r31] 0x 1, %r16, %r10
14303 ba,a .+8
14304 jmpl %r27+0, %r27
14305 .word 0xa7a109ad ! 73: FDIVs fdivs %f4, %f13, %f19
14306 .word 0xe1bfe1c0 ! 74: STDFA_I stda %f16, [0x01c0, %r31]
14307dvapa_8_59:
14308 nop
14309 ta T_CHANGE_HPRIV
14310 mov 0x9df, %r20
14311 mov 0x7, %r19
14312 sllx %r20, 23, %r20
14313 or %r19, %r20, %r19
14314 stxa %r19, [%g0] ASI_LSU_CONTROL
14315 mov 0x38, %r18
14316 stxa %r31, [%r18]0x58
14317 ta T_CHANGE_NONHPRIV
14318 .word 0xe03ffb51 ! 75: STD_I std %r16, [%r31 + 0xfffffb51]
14319donret_8_60:
14320 nop
14321 ta T_CHANGE_HPRIV ! macro
14322 rd %pc, %r12
14323 add %r12, (donretarg_8_60-donret_8_60-8), %r12
14324 mov 0x38, %r18
14325 stxa %r12, [%r18]0x58
14326 add %r12, 0x4, %r11
14327 wrpr %g0, 0x1, %tl
14328 wrpr %g0, %r12, %tpc
14329 wrpr %g0, %r11, %tnpc
14330 set (0x0065614e | (32 << 24)), %r13
14331 rdpr %tstate, %r16
14332 mov 0x1f, %r19
14333 and %r19, %r16, %r17
14334 andn %r16, %r19, %r16
14335 or %r16, %r17, %r20
14336 wrpr %r20, %g0, %tstate
14337 wrhpr %g0, 0x894, %htstate
14338 ta T_CHANGE_NONPRIV ! rand=0 (8)
14339 retry
14340donretarg_8_60:
14341 .word 0xe06fe14d ! 76: LDSTUB_I ldstub %r16, [%r31 + 0x014d]
14342 .word 0x8d903d5b ! 77: WRPR_PSTATE_I wrpr %r0, 0x1d5b, %pstate
14343 .word 0xc19fe040 ! 78: LDDFA_I ldda [%r31, 0x0040], %f0
14344 .word 0xe137c000 ! 79: STQF_R - %f16, [%r0, %r31]
14345jmptr_8_62:
14346 nop
14347 best_set_reg(0xe0a00000, %r20, %r27)
14348 .word 0xb7c6c000 ! 80: JMPL_R jmpl %r27 + %r0, %r27
14349 setx vahole_target3, %r18, %r27
14350 .word 0xe0bfc02d ! 81: STDA_R stda %r16, [%r31 + %r13] 0x01
14351 .word 0x87ac8a48 ! 82: FCMPd fcmpd %fcc<n>, %f18, %f8
14352 .word 0x8780208b ! 83: WRASI_I wr %r0, 0x008b, %asi
14353 .word 0xe6dfe070 ! 84: LDXA_I ldxa [%r31, + 0x0070] %asi, %r19
14354splash_lsu_8_65:
14355 nop
14356 ta T_CHANGE_HPRIV
14357 set 0x95e44fff, %r2
14358 mov 0x5, %r1
14359 sllx %r1, 32, %r1
14360 or %r1, %r2, %r2
14361 stxa %r2, [%r0] ASI_LSU_CONTROL
14362 .word 0x3d400001 ! 85: FBPULE fbule,a,pn %fcc0, <label_0x1>
14363 .word 0x87802088 ! 86: WRASI_I wr %r0, 0x0088, %asi
14364pmu_8_66:
14365 nop
14366 ta T_CHANGE_PRIV
14367 setx 0xfffff5c6ffffff26, %g1, %g7
14368 .word 0xa3800007 ! 87: WR_PERF_COUNTER_R wr %r0, %r7, %-
14369intveclr_8_67:
14370 nop
14371 ta T_CHANGE_HPRIV
14372 setx 0xc09d7153f736ed03, %r1, %r28
14373 stxa %r28, [%g0] 0x72
14374 .word 0x25400001 ! 88: FBPLG fblg,a,pn %fcc0, <label_0x1>
14375 nop
14376 ta T_CHANGE_HPRIV
14377 mov 0x8+1, %r10
14378 set sync_thr_counter5, %r23
14379#ifndef SPC
14380 ldxa [%g0]0x63, %o1
14381 and %o1, 0x38, %o1
14382 add %o1, %r23, %r23
14383#endif
14384 cas [%r23],%g0,%r10 !lock
14385 brnz %r10, cwq_8_68
14386 rd %asi, %r12
14387 wr %g0, 0x40, %asi
14388 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
14389 and %l1, 0x3, %l1 ! Check if busy/enabled ..
14390 cmp %l1, 1
14391 bne cwq_8_68
14392 set CWQ_BASE, %l6
14393 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
14394 best_set_reg(0x206100e0, %l1, %l2) !# Control Word
14395 sllx %l2, 32, %l2
14396 stx %l2, [%l6 + 0x0]
14397 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
14398 sub %l2, 0x40, %l2
14399 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
14400 wr %r12, %g0, %asi
14401 st %g0, [%r23]
14402cwq_8_68:
14403 ta T_CHANGE_NONHPRIV
14404 .word 0x99414000 ! 89: RDPC rd %pc, %r12
14405brcommon3_8_69:
14406 nop
14407 setx common_target, %r12, %r27
14408 lduw [%r27], %r12 ! Load common dest into dcache ..
14409 ba,a .+12
14410 .word 0xe46ff0aa ! 1: LDSTUB_I ldstub %r18, [%r31 + 0xfffff0aa]
14411 ba,a .+8
14412 jmpl %r27+0, %r27
14413 .word 0xe4bfc02a ! 90: STDA_R stda %r18, [%r31 + %r10] 0x01
14414pmu_8_70:
14415 nop
14416 setx 0xfffffd85fffff357, %g1, %g7
14417 .word 0xa3800007 ! 91: WR_PERF_COUNTER_R wr %r0, %r7, %-
14418 .word 0x91928003 ! 92: WRPR_PIL_R wrpr %r10, %r3, %pil
14419 .word 0xe43fc000 ! 93: STD_R std %r18, [%r31 + %r0]
14420mondo_8_72:
14421 nop
14422 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
14423 stxa %r19, [%r0+0x3e0] %asi
14424 .word 0x9d94c014 ! 94: WRPR_WSTATE_R wrpr %r19, %r20, %wstate
14425 set 0x1028, %l3
14426 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
14427 .word 0x93b407d4 ! 95: PDIST pdistn %d16, %d20, %d40
14428 setx vahole_target2, %r18, %r27
14429 .word 0x91b447d1 ! 96: PDIST pdistn %d48, %d48, %d8
14430splash_tba_8_74:
14431 ta T_CHANGE_PRIV
14432 setx 0x00000000003a0000, %r11, %r12
14433 .word 0x8b90000c ! 97: WRPR_TBA_R wrpr %r0, %r12, %tba
14434cwp_8_75:
14435 set user_data_start, %o7
14436 .word 0x93902004 ! 98: WRPR_CWP_I wrpr %r0, 0x0004, %cwp
14437 .word 0x91a1cd2b ! 99: FsMULd fsmuld %f7, %f42, %f8
14438dvapa_8_76:
14439 nop
14440 ta T_CHANGE_HPRIV
14441 mov 0x952, %r20
14442 mov 0x13, %r19
14443 sllx %r20, 23, %r20
14444 or %r19, %r20, %r19
14445 stxa %r19, [%g0] ASI_LSU_CONTROL
14446 mov 0x38, %r18
14447 stxa %r31, [%r18]0x58
14448 ta T_CHANGE_NONHPRIV
14449 .word 0xd9e7e012 ! 100: CASA_R casa [%r31] %asi, %r18, %r12
14450 .word 0xd847e008 ! 101: LDSW_I ldsw [%r31 + 0x0008], %r12
14451mondo_8_77:
14452 nop
14453 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
14454 stxa %r2, [%r0+0x3c8] %asi
14455 .word 0x9d95000b ! 102: WRPR_WSTATE_R wrpr %r20, %r11, %wstate
14456 .word 0x97540000 ! 103: RDPR_GL <illegal instruction>
14457 .word 0x9ba0016b ! 104: FABSq dis not found
14458
14459 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
14460reduce_priv_lvl_8_79:
14461 ta T_CHANGE_NONPRIV ! macro
14462mondo_8_80:
14463 nop
14464 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
14465 ta T_CHANGE_PRIV
14466 stxa %r18, [%r0+0x3e8] %asi
14467 .word 0x9d944001 ! 106: WRPR_WSTATE_R wrpr %r17, %r1, %wstate
14468 setx 0x86767219b4955498, %r1, %r28
14469 stxa %r28, [%g0] 0x73
14470intvec_8_81:
14471 .word 0x39400001 ! 107: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
14472 .word 0xc1bfe120 ! 108: STDFA_I stda %f0, [0x0120, %r31]
14473splash_cmpr_8_82:
14474 nop
14475 setx 0x39a8dc7aed15d1b0, %l2, %l1
14476 ta T_CHANGE_HPRIV
14477 wrhpr %l1, %g0, %hsys_tick_cmpr
14478 ta T_CHANGE_NONHPRIV
14479 sub %l1, 40, %g1
14480 .word 0xb1800011 ! 109: WR_STICK_REG_R wr %r0, %r17, %-
14481pmu_8_83:
14482 nop
14483 setx 0xfffff690fffff406, %g1, %g7
14484 .word 0xa3800007 ! 110: WR_PERF_COUNTER_R wr %r0, %r7, %-
14485 .word 0xa785309d ! 111: WR_GRAPHICS_STATUS_REG_I wr %r20, 0x109d, %-
14486 nop
14487 ta T_CHANGE_HPRIV
14488 mov 0x8, %r10
14489 set sync_thr_counter6, %r23
14490#ifndef SPC
14491 ldxa [%g0]0x63, %o1
14492 and %o1, 0x38, %o1
14493 add %o1, %r23, %r23
14494#endif
14495 cas [%r23],%g0,%r10 !lock
14496 brnz %r10, sma_8_84
14497 rd %asi, %r12
14498 wr %g0, 0x40, %asi
14499 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
14500 set 0x001a1fff, %g1
14501 stxa %g1, [%g0 + 0x80] %asi
14502 wr %r12, %g0, %asi
14503 st %g0, [%r23]
14504sma_8_84:
14505 ta T_CHANGE_NONHPRIV
14506 .word 0xe9e7e00b ! 112: CASA_R casa [%r31] %asi, %r11, %r20
14507fpinit_8_85:
14508 setx fp_data_quads, %r19, %r20
14509 ldd [%r20], %f0
14510 ldd [%r20+8], %f4
14511 ld [%r20+16], %fsr
14512 ld [%r20+24], %r19
14513 wr %r19, %g0, %gsr
14514 .word 0x8da009c4 ! 113: FDIVd fdivd %f0, %f4, %f6
14515 nop
14516 ta T_CHANGE_HPRIV
14517 mov 0x8+1, %r10
14518 set sync_thr_counter5, %r23
14519#ifndef SPC
14520 ldxa [%g0]0x63, %o1
14521 and %o1, 0x38, %o1
14522 add %o1, %r23, %r23
14523#endif
14524 cas [%r23],%g0,%r10 !lock
14525 brnz %r10, cwq_8_86
14526 rd %asi, %r12
14527 wr %g0, 0x40, %asi
14528 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
14529 and %l1, 0x3, %l1 ! Check if busy/enabled ..
14530 cmp %l1, 1
14531 bne cwq_8_86
14532 set CWQ_BASE, %l6
14533 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
14534 best_set_reg(0x206100b0, %l1, %l2) !# Control Word
14535 sllx %l2, 32, %l2
14536 stx %l2, [%l6 + 0x0]
14537 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
14538 sub %l2, 0x40, %l2
14539 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
14540 wr %r12, %g0, %asi
14541 st %g0, [%r23]
14542cwq_8_86:
14543 ta T_CHANGE_NONHPRIV
14544 .word 0xa1414000 ! 114: RDPC rd %pc, %r16
14545 nop
14546 ta T_CHANGE_HPRIV
14547 mov 0x8, %r10
14548 set sync_thr_counter6, %r23
14549#ifndef SPC
14550 ldxa [%g0]0x63, %o1
14551 and %o1, 0x38, %o1
14552 add %o1, %r23, %r23
14553#endif
14554 cas [%r23],%g0,%r10 !lock
14555 brnz %r10, sma_8_87
14556 rd %asi, %r12
14557 wr %g0, 0x40, %asi
14558 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
14559 set 0x001e1fff, %g1
14560 stxa %g1, [%g0 + 0x80] %asi
14561 wr %r12, %g0, %asi
14562 st %g0, [%r23]
14563sma_8_87:
14564 ta T_CHANGE_NONHPRIV
14565 .word 0xe5e7e009 ! 115: CASA_R casa [%r31] %asi, %r9, %r18
14566 .word 0xa9848014 ! 116: WR_SET_SOFTINT_R wr %r18, %r20, %set_softint
14567 setx vahole_target2, %r18, %r27
14568 .word 0xc3e88030 ! 117: PREFETCHA_R prefetcha [%r2, %r16] 0x01, #one_read
14569 setx vahole_target1, %r18, %r27
14570 .word 0xc19fda00 ! 118: LDDFA_R ldda [%r31, %r0], %f0
14571 .word 0x91948011 ! 119: WRPR_PIL_R wrpr %r18, %r17, %pil
14572 .word 0x87802083 ! 120: WRASI_I wr %r0, 0x0083, %asi
14573pmu_8_91:
14574 nop
14575 setx 0xfffff13cfffff937, %g1, %g7
14576 .word 0xa3800007 ! 121: WR_PERF_COUNTER_R wr %r0, %r7, %-
14577 .word 0xd6800ae0 ! 122: LDUWA_R lduwa [%r0, %r0] 0x57, %r11
14578intveclr_8_92:
14579 nop
14580 ta T_CHANGE_HPRIV
14581 setx 0x730e310d0df25be6, %r1, %r28
14582 stxa %r28, [%g0] 0x72
14583 .word 0x25400001 ! 123: FBPLG fblg,a,pn %fcc0, <label_0x1>
14584 setx vahole_target0, %r18, %r27
14585 .word 0xe1bfe040 ! 124: STDFA_I stda %f16, [0x0040, %r31]
14586 .word 0xd69fe040 ! 125: LDDA_I ldda [%r31, + 0x0040] %asi, %r11
14587 .word 0xc1bfc3e0 ! 126: STDFA_R stda %f0, [%r0, %r31]
14588fpinit_8_95:
14589 setx fp_data_quads, %r19, %r20
14590 ldd [%r20], %f0
14591 ldd [%r20+8], %f4
14592 ld [%r20+16], %fsr
14593 ld [%r20+24], %r19
14594 wr %r19, %g0, %gsr
14595 .word 0x89a009c4 ! 127: FDIVd fdivd %f0, %f4, %f4
14596 .word 0xd68008a0 ! 128: LDUWA_R lduwa [%r0, %r0] 0x45, %r11
14597 nop
14598 ta T_CHANGE_HPRIV
14599 mov 0x8+1, %r10
14600 set sync_thr_counter5, %r23
14601#ifndef SPC
14602 ldxa [%g0]0x63, %o1
14603 and %o1, 0x38, %o1
14604 add %o1, %r23, %r23
14605#endif
14606 cas [%r23],%g0,%r10 !lock
14607 brnz %r10, cwq_8_96
14608 rd %asi, %r12
14609 wr %g0, 0x40, %asi
14610 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
14611 and %l1, 0x3, %l1 ! Check if busy/enabled ..
14612 cmp %l1, 1
14613 bne cwq_8_96
14614 set CWQ_BASE, %l6
14615 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
14616 best_set_reg(0x206100b0, %l1, %l2) !# Control Word
14617 sllx %l2, 32, %l2
14618 stx %l2, [%l6 + 0x0]
14619 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
14620 sub %l2, 0x40, %l2
14621 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
14622 wr %r12, %g0, %asi
14623 st %g0, [%r23]
14624cwq_8_96:
14625 ta T_CHANGE_NONHPRIV
14626 .word 0x91414000 ! 129: RDPC rd %pc, %r8
14627 .word 0x8d802000 ! 130: WRFPRS_I wr %r0, 0x0000, %fprs
14628pmu_8_97:
14629 nop
14630 ta T_CHANGE_PRIV
14631 setx 0xffffffcaffffff33, %g1, %g7
14632 .word 0xa3800007 ! 131: WR_PERF_COUNTER_R wr %r0, %r7, %-
14633 invalw
14634 mov 0x30, %r30
14635 .word 0x91d0001e ! 132: Tcc_R ta icc_or_xcc, %r0 + %r30
14636splash_htba_8_98:
14637 nop
14638 ta T_CHANGE_HPRIV
14639 setx 0x00000000002a0000, %r11, %r12
14640 .word 0x8b98000c ! 133: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
14641mondo_8_99:
14642 nop
14643 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
14644 ta T_CHANGE_PRIV
14645 stxa %r12, [%r0+0x3c8] %asi
14646 .word 0x9d92c010 ! 134: WRPR_WSTATE_R wrpr %r11, %r16, %wstate
14647jmptr_8_100:
14648 nop
14649 best_set_reg(0xe0a00000, %r20, %r27)
14650 .word 0xb7c6c000 ! 135: JMPL_R jmpl %r27 + %r0, %r27
14651 .word 0xc30fc000 ! 136: LDXFSR_R ld-fsr [%r31, %r0], %f1
14652 .word 0xa9a00171 ! 137: FABSq dis not found
14653
14654 .word 0x91d020b3 ! 138: Tcc_I ta icc_or_xcc, %r0 + 179
14655 .word 0xd8cfe0f8 ! 139: LDSBA_I ldsba [%r31, + 0x00f8] %asi, %r12
14656 nop
14657 ta T_CHANGE_HPRIV
14658 mov 0x8+1, %r10
14659 set sync_thr_counter5, %r23
14660#ifndef SPC
14661 ldxa [%g0]0x63, %o1
14662 and %o1, 0x38, %o1
14663 add %o1, %r23, %r23
14664#endif
14665 cas [%r23],%g0,%r10 !lock
14666 brnz %r10, cwq_8_103
14667 rd %asi, %r12
14668 wr %g0, 0x40, %asi
14669 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
14670 and %l1, 0x3, %l1 ! Check if busy/enabled ..
14671 cmp %l1, 1
14672 bne cwq_8_103
14673 set CWQ_BASE, %l6
14674 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
14675 best_set_reg(0x20610050, %l1, %l2) !# Control Word
14676 sllx %l2, 32, %l2
14677 stx %l2, [%l6 + 0x0]
14678 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
14679 sub %l2, 0x40, %l2
14680 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
14681 wr %r12, %g0, %asi
14682 st %g0, [%r23]
14683cwq_8_103:
14684 ta T_CHANGE_NONHPRIV
14685 .word 0x95414000 ! 140: RDPC rd %pc, %r10
14686 .word 0x8d902949 ! 141: WRPR_PSTATE_I wrpr %r0, 0x0949, %pstate
14687donret_8_105:
14688 nop
14689 ta T_CHANGE_HPRIV ! macro
14690 rd %pc, %r12
14691 add %r12, (donretarg_8_105-donret_8_105-4), %r12
14692 mov 0x38, %r18
14693 stxa %r12, [%r18]0x58
14694 add %r12, 0x4, %r11
14695 wrpr %g0, 0x2, %tl
14696 wrpr %g0, %r12, %tpc
14697 wrpr %g0, %r11, %tnpc
14698 set (0x002d6a6d | (0x82 << 24)), %r13
14699 rdpr %tstate, %r16
14700 mov 0x1f, %r19
14701 and %r19, %r16, %r17
14702 andn %r16, %r19, %r16
14703 or %r16, %r17, %r20
14704 wrpr %r20, %g0, %tstate
14705 wrhpr %g0, 0x45d, %htstate
14706 ta T_CHANGE_NONPRIV ! rand=0 (8)
14707 done
14708donretarg_8_105:
14709 .word 0xe66fe1f7 ! 142: LDSTUB_I ldstub %r19, [%r31 + 0x01f7]
14710fpinit_8_106:
14711 setx fp_data_quads, %r19, %r20
14712 ldd [%r20], %f0
14713 ldd [%r20+8], %f4
14714 ld [%r20+16], %fsr
14715 ld [%r20+24], %r19
14716 wr %r19, %g0, %gsr
14717 .word 0xc3e83d6b ! 143: PREFETCHA_I prefetcha [%r0, + 0xfffffd6b] %asi, #one_read
14718donret_8_107:
14719 nop
14720 ta T_CHANGE_HPRIV ! macro
14721 rd %pc, %r12
14722 add %r12, (donretarg_8_107-donret_8_107-4), %r12
14723 mov 0x38, %r18
14724 stxa %r12, [%r18]0x58
14725 add %r12, 0x4, %r11
14726 wrpr %g0, 0x2, %tl
14727 wrpr %g0, %r12, %tpc
14728 wrpr %g0, %r11, %tnpc
14729 set (0x00649221 | (0x8a << 24)), %r13
14730 rdpr %tstate, %r16
14731 mov 0x1f, %r19
14732 and %r19, %r16, %r17
14733 andn %r16, %r19, %r16
14734 or %r16, %r17, %r20
14735 wrpr %r20, %g0, %tstate
14736 wrhpr %g0, 0xb07, %htstate
14737 ta T_CHANGE_NONPRIV ! rand=0 (8)
14738 done
14739donretarg_8_107:
14740 .word 0xa7a409d4 ! 144: FDIVd fdivd %f16, %f20, %f50
14741 nop
14742 ta T_CHANGE_HPRIV
14743 mov 0x8, %r10
14744 set sync_thr_counter6, %r23
14745#ifndef SPC
14746 ldxa [%g0]0x63, %o1
14747 and %o1, 0x38, %o1
14748 add %o1, %r23, %r23
14749#endif
14750 cas [%r23],%g0,%r10 !lock
14751 brnz %r10, sma_8_108
14752 rd %asi, %r12
14753 wr %g0, 0x40, %asi
14754 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
14755 set 0x00161fff, %g1
14756 stxa %g1, [%g0 + 0x80] %asi
14757 wr %r12, %g0, %asi
14758 st %g0, [%r23]
14759sma_8_108:
14760 ta T_CHANGE_NONHPRIV
14761 .word 0xd5e7e013 ! 145: CASA_R casa [%r31] %asi, %r19, %r10
14762 otherw
14763 mov 0xb1, %r30
14764 .word 0x91d0001e ! 146: Tcc_R ta icc_or_xcc, %r0 + %r30
14765splash_htba_8_109:
14766 nop
14767 ta T_CHANGE_HPRIV
14768 setx 0x00000000002a0000, %r11, %r12
14769 .word 0x8b98000c ! 147: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
14770ibp_8_110:
14771 nop
14772 .word 0xe19fdc00 ! 148: LDDFA_R ldda [%r31, %r0], %f16
14773mondo_8_111:
14774 nop
14775 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
14776 stxa %r18, [%r0+0x3e8] %asi
14777 .word 0x9d91c004 ! 149: WRPR_WSTATE_R wrpr %r7, %r4, %wstate
14778 .word 0x8d802000 ! 150: WRFPRS_I wr %r0, 0x0000, %fprs
14779 .word 0x8d902f82 ! 151: WRPR_PSTATE_I wrpr %r0, 0x0f82, %pstate
14780 .word 0xd43fc000 ! 152: STD_R std %r10, [%r31 + %r0]
14781splash_hpstate_8_114:
14782 .word 0x2c800001 ! 1: BNEG bneg,a <label_0x1>
14783 .word 0x81982626 ! 153: WRHPR_HPSTATE_I wrhpr %r0, 0x0626, %hpstate
14784cwp_8_115:
14785 set user_data_start, %o7
14786 .word 0x93902000 ! 154: WRPR_CWP_I wrpr %r0, 0x0000, %cwp
14787 .word 0x92d88014 ! 155: SMULcc_R smulcc %r2, %r20, %r9
14788 .word 0x91950014 ! 156: WRPR_PIL_R wrpr %r20, %r20, %pil
14789 setx vahole_target0, %r18, %r27
14790 .word 0xe1bfe0e0 ! 157: STDFA_I stda %f16, [0x00e0, %r31]
14791 setx vahole_target3, %r18, %r27
14792 .word 0xe1bfe160 ! 158: STDFA_I stda %f16, [0x0160, %r31]
14793 .word 0x99703c0f ! 159: POPC_I popc 0x1c0f, %r12
14794ibp_8_120:
14795 nop
14796 ta T_CHANGE_NONHPRIV
14797 .word 0xe097c029 ! 160: LDUHA_R lduha [%r31, %r9] 0x01, %r16
14798 nop
14799 ta T_CHANGE_HPRIV
14800 mov 0x8+1, %r10
14801 set sync_thr_counter5, %r23
14802#ifndef SPC
14803 ldxa [%g0]0x63, %o1
14804 and %o1, 0x38, %o1
14805 add %o1, %r23, %r23
14806#endif
14807 cas [%r23],%g0,%r10 !lock
14808 brnz %r10, cwq_8_121
14809 rd %asi, %r12
14810 wr %g0, 0x40, %asi
14811 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
14812 and %l1, 0x3, %l1 ! Check if busy/enabled ..
14813 cmp %l1, 1
14814 bne cwq_8_121
14815 set CWQ_BASE, %l6
14816 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
14817 best_set_reg(0x206100f0, %l1, %l2) !# Control Word
14818 sllx %l2, 32, %l2
14819 stx %l2, [%l6 + 0x0]
14820 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
14821 sub %l2, 0x40, %l2
14822 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
14823 wr %r12, %g0, %asi
14824 st %g0, [%r23]
14825cwq_8_121:
14826 ta T_CHANGE_NONHPRIV
14827 .word 0xa7414000 ! 161: RDPC rd %pc, %r19
14828 .word 0xa7a00174 ! 162: FABSq dis not found
14829
14830 .word 0xc19fe0a0 ! 163: LDDFA_I ldda [%r31, 0x00a0], %f0
14831mondo_8_123:
14832 nop
14833 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
14834 ta T_CHANGE_PRIV
14835 stxa %r12, [%r0+0x3c8] %asi
14836 .word 0x9d914010 ! 164: WRPR_WSTATE_R wrpr %r5, %r16, %wstate
14837splash_tba_8_124:
14838 ta T_CHANGE_PRIV
14839 set 0x120000, %r12
14840 .word 0x8b90000c ! 165: WRPR_TBA_R wrpr %r0, %r12, %tba
14841 setx vahole_target1, %r18, %r27
14842 .word 0xc1bfd920 ! 166: STDFA_R stda %f0, [%r0, %r31]
14843trapasi_8_126:
14844 nop
14845 mov 0x0, %r1 ! (VA for ASI 0x5b)
14846 .word 0xd2c84b60 ! 167: LDSBA_R ldsba [%r1, %r0] 0x5b, %r9
14847ibp_8_127:
14848 nop
14849 .word 0xd297c02d ! 168: LDUHA_R lduha [%r31, %r13] 0x01, %r9
14850donret_8_128:
14851 nop
14852 ta T_CHANGE_HPRIV ! macro
14853 rd %pc, %r12
14854 add %r12, (donretarg_8_128-donret_8_128-8), %r12
14855 mov 0x38, %r18
14856 stxa %r12, [%r18]0x58
14857 add %r12, 0x4, %r11
14858 wrpr %g0, 0x2, %tl
14859 wrpr %g0, %r12, %tpc
14860 wrpr %g0, %r11, %tnpc
14861 set (0x008b3ccd | (0x82 << 24)), %r13
14862 rdpr %tstate, %r16
14863 mov 0x1f, %r19
14864 and %r19, %r16, %r17
14865 andn %r16, %r19, %r16
14866 or %r16, %r17, %r20
14867 wrpr %r20, %g0, %tstate
14868 wrhpr %g0, 0x61d, %htstate
14869 ta T_CHANGE_NONPRIV ! rand=0 (8)
14870 retry
14871donretarg_8_128:
14872 .word 0xd2ffe03c ! 169: SWAPA_I swapa %r9, [%r31 + 0x003c] %asi
14873jmptr_8_129:
14874 nop
14875 best_set_reg(0xe0a00000, %r20, %r27)
14876 .word 0xb7c6c000 ! 170: JMPL_R jmpl %r27 + %r0, %r27
14877 .word 0xd29fc028 ! 171: LDDA_R ldda [%r31, %r8] 0x01, %r9
14878 setx vahole_target3, %r18, %r27
14879 .word 0xc3ec0027 ! 172: PREFETCHA_R prefetcha [%r16, %r7] 0x01, #one_read
14880 .word 0xe727e0b4 ! 173: STF_I st %f19, [0x00b4, %r31]
14881 nop
14882 ta T_CHANGE_HPRIV
14883 mov 0x8+1, %r10
14884 set sync_thr_counter5, %r23
14885#ifndef SPC
14886 ldxa [%g0]0x63, %o1
14887 and %o1, 0x38, %o1
14888 add %o1, %r23, %r23
14889#endif
14890 cas [%r23],%g0,%r10 !lock
14891 brnz %r10, cwq_8_132
14892 rd %asi, %r12
14893 wr %g0, 0x40, %asi
14894 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
14895 and %l1, 0x3, %l1 ! Check if busy/enabled ..
14896 cmp %l1, 1
14897 bne cwq_8_132
14898 set CWQ_BASE, %l6
14899 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
14900 best_set_reg(0x20610090, %l1, %l2) !# Control Word
14901 sllx %l2, 32, %l2
14902 stx %l2, [%l6 + 0x0]
14903 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
14904 sub %l2, 0x40, %l2
14905 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
14906 wr %r12, %g0, %asi
14907 st %g0, [%r23]
14908cwq_8_132:
14909 ta T_CHANGE_NONHPRIV
14910 .word 0xa7414000 ! 174: RDPC rd %pc, %r19
14911 .word 0x87802014 ! 175: WRASI_I wr %r0, 0x0014, %asi
14912donret_8_133:
14913 nop
14914 ta T_CHANGE_HPRIV ! macro
14915 rd %pc, %r12
14916 add %r12, (donretarg_8_133-donret_8_133-4), %r12
14917 mov 0x38, %r18
14918 stxa %r12, [%r18]0x58
14919 add %r12, 0x4, %r11
14920 wrpr %g0, 0x2, %tl
14921 wrpr %g0, %r12, %tpc
14922 wrpr %g0, %r11, %tnpc
14923 set (0x003a7add | (0x88 << 24)), %r13
14924 rdpr %tstate, %r16
14925 mov 0x1f, %r19
14926 and %r19, %r16, %r17
14927 andn %r16, %r19, %r16
14928 or %r16, %r17, %r20
14929 wrpr %r20, %g0, %tstate
14930 wrhpr %g0, 0xb85, %htstate
14931 ta T_CHANGE_NONPRIV ! rand=0 (8)
14932 .word 0x20800001 ! 1: BN bn,a <label_0x1>
14933 done
14934donretarg_8_133:
14935 .word 0x93a189d0 ! 176: FDIVd fdivd %f6, %f16, %f40
14936 .word 0xa9500000 ! 177: RDPR_TPC <illegal instruction>
14937br_badelay2_8_134:
14938 .word 0x34800001 ! 1: BG bg,a <label_0x1>
14939 pdist %f10, %f16, %f24
14940 .word 0x99b4c310 ! 178: ALIGNADDRESS alignaddr %r19, %r16, %r12
14941 setx 0x421886e1e219c30b, %r1, %r28
14942 stxa %r28, [%g0] 0x73
14943intvec_8_135:
14944 .word 0x39400001 ! 179: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
14945 .word 0xd5e7c020 ! 180: CASA_I casa [%r31] 0x 1, %r0, %r10
14946 .word 0xa1500000 ! 181: RDPR_TPC <illegal instruction>
14947 .word 0xda800b20 ! 182: LDUWA_R lduwa [%r0, %r0] 0x59, %r13
14948 .word 0x38800001 ! 183: BGU bgu,a <label_0x1>
14949intveclr_8_137:
14950 nop
14951 ta T_CHANGE_HPRIV
14952 setx 0x6580c64842e6aa3d, %r1, %r28
14953 stxa %r28, [%g0] 0x72
14954 ta T_CHANGE_NONHPRIV
14955 .word 0x25400001 ! 184: FBPLG fblg,a,pn %fcc0, <label_0x1>
14956 invalw
14957 mov 0x31, %r30
14958 .word 0x91d0001e ! 185: Tcc_R ta icc_or_xcc, %r0 + %r30
14959dvapa_8_138:
14960 nop
14961 ta T_CHANGE_HPRIV
14962 mov 0x851, %r20
14963 mov 0x13, %r19
14964 sllx %r20, 23, %r20
14965 or %r19, %r20, %r19
14966 stxa %r19, [%g0] ASI_LSU_CONTROL
14967 mov 0x38, %r18
14968 stxa %r31, [%r18]0x58
14969 ta T_CHANGE_NONHPRIV
14970 .word 0xdabfc02d ! 186: STDA_R stda %r13, [%r31 + %r13] 0x01
14971donret_8_139:
14972 nop
14973 ta T_CHANGE_HPRIV ! macro
14974 rd %pc, %r12
14975 add %r12, (donretarg_8_139-donret_8_139-4), %r12
14976 mov 0x38, %r18
14977 stxa %r12, [%r18]0x58
14978 add %r12, 0x4, %r11
14979 wrpr %g0, 0x1, %tl
14980 wrpr %g0, %r12, %tpc
14981 wrpr %g0, %r11, %tnpc
14982 set (0x00e34e45 | (22 << 24)), %r13
14983 rdpr %tstate, %r16
14984 mov 0x1f, %r19
14985 and %r19, %r16, %r17
14986 andn %r16, %r19, %r16
14987 or %r16, %r17, %r20
14988 wrpr %r20, %g0, %tstate
14989 wrhpr %g0, 0x816, %htstate
14990 ta T_CHANGE_NONHPRIV ! rand=1 (8)
14991 .word 0x37400001 ! 1: FBPGE fbge,a,pn %fcc0, <label_0x1>
14992 done
14993donretarg_8_139:
14994 .word 0xdaffe090 ! 187: SWAPA_I swapa %r13, [%r31 + 0x0090] %asi
14995 .word 0x99a509c4 ! 188: FDIVd fdivd %f20, %f4, %f12
14996memptr_8_141:
14997 set user_data_start, %r31
14998 .word 0x8584659f ! 189: WRCCR_I wr %r17, 0x059f, %ccr
14999dvapa_8_142:
15000 nop
15001 ta T_CHANGE_HPRIV
15002 mov 0xb81, %r20
15003 mov 0x15, %r19
15004 sllx %r20, 23, %r20
15005 or %r19, %r20, %r19
15006 stxa %r19, [%g0] ASI_LSU_CONTROL
15007 mov 0x38, %r18
15008 stxa %r31, [%r18]0x58
15009 ta T_CHANGE_NONHPRIV
15010 .word 0xa1b4c486 ! 190: FCMPLE32 fcmple32 %d50, %d6, %r16
15011dvapa_8_143:
15012 nop
15013 ta T_CHANGE_HPRIV
15014 mov 0xb41, %r20
15015 mov 0x1a, %r19
15016 sllx %r20, 23, %r20
15017 or %r19, %r20, %r19
15018 stxa %r19, [%g0] ASI_LSU_CONTROL
15019 mov 0x38, %r18
15020 stxa %r31, [%r18]0x58
15021 ta T_CHANGE_NONHPRIV
15022 .word 0xe697c032 ! 191: LDUHA_R lduha [%r31, %r18] 0x01, %r19
15023fpinit_8_144:
15024 setx fp_data_quads, %r19, %r20
15025 ldd [%r20], %f0
15026 ldd [%r20+8], %f4
15027 ld [%r20+16], %fsr
15028 ld [%r20+24], %r19
15029 wr %r19, %g0, %gsr
15030 .word 0x8db00484 ! 192: FCMPLE32 fcmple32 %d0, %d4, %r6
15031 .word 0x926ac00d ! 193: UDIVX_R udivx %r11, %r13, %r9
15032donret_8_145:
15033 nop
15034 ta T_CHANGE_HPRIV ! macro
15035 rd %pc, %r12
15036 add %r12, (donretarg_8_145-donret_8_145-4), %r12
15037 mov 0x38, %r18
15038 stxa %r12, [%r18]0x58
15039 add %r12, 0x4, %r11
15040 wrpr %g0, 0x2, %tl
15041 wrpr %g0, %r12, %tpc
15042 wrpr %g0, %r11, %tnpc
15043 set (0x00176450 | (0x55 << 24)), %r13
15044 rdpr %tstate, %r16
15045 mov 0x1f, %r19
15046 and %r19, %r16, %r17
15047 andn %r16, %r19, %r16
15048 or %r16, %r17, %r20
15049 wrpr %r20, %g0, %tstate
15050 wrhpr %g0, 0xb46, %htstate
15051 ta T_CHANGE_NONHPRIV ! rand=1 (8)
15052 .word 0x20800001 ! 1: BN bn,a <label_0x1>
15053 done
15054donretarg_8_145:
15055 .word 0xe6ffe1b0 ! 194: SWAPA_I swapa %r19, [%r31 + 0x01b0] %asi
15056 .word 0x91950011 ! 195: WRPR_PIL_R wrpr %r20, %r17, %pil
15057 .word 0x91950010 ! 196: WRPR_PIL_R wrpr %r20, %r16, %pil
15058 .word 0xa5a289b2 ! 197: FDIVs fdivs %f10, %f18, %f18
15059 .word 0x9f8028c6 ! 198: SIR sir 0x08c6
15060 .word 0x3e780001 ! 199: BPVC <illegal instruction>
15061 .word 0x87802020 ! 200: WRASI_I wr %r0, 0x0020, %asi
15062splash_hpstate_8_149:
15063 ta T_CHANGE_NONHPRIV
15064 .word 0x81982a4e ! 201: WRHPR_HPSTATE_I wrhpr %r0, 0x0a4e, %hpstate
15065 .word 0xe697e108 ! 202: LDUHA_I lduha [%r31, + 0x0108] %asi, %r19
15066dvapa_8_150:
15067 nop
15068 ta T_CHANGE_HPRIV
15069 mov 0x9d6, %r20
15070 mov 0x9, %r19
15071 sllx %r20, 23, %r20
15072 or %r19, %r20, %r19
15073 stxa %r19, [%g0] ASI_LSU_CONTROL
15074 mov 0x38, %r18
15075 stxa %r31, [%r18]0x58
15076 ta T_CHANGE_NONHPRIV
15077 .word 0xe7e7e010 ! 203: CASA_R casa [%r31] %asi, %r16, %r19
15078 .word 0xa7818012 ! 204: WR_GRAPHICS_STATUS_REG_R wr %r6, %r18, %-
15079brcommon2_8_152:
15080 nop
15081 setx common_target, %r12, %r27
15082 ba,a .+12
15083 .word 0xa7a509c3 ! 1: FDIVd fdivd %f20, %f34, %f50
15084 ba,a .+8
15085 jmpl %r27+0, %r27
15086 .word 0xe1bfe0c0 ! 205: STDFA_I stda %f16, [0x00c0, %r31]
15087 .word 0x97454000 ! 206: RD_CLEAR_SOFTINT rd %clear_softint, %r11
15088 .word 0xe897e170 ! 207: LDUHA_I lduha [%r31, + 0x0170] %asi, %r20
15089 nop
15090 ta T_CHANGE_HPRIV
15091 mov 0x8, %r10
15092 set sync_thr_counter6, %r23
15093#ifndef SPC
15094 ldxa [%g0]0x63, %o1
15095 and %o1, 0x38, %o1
15096 add %o1, %r23, %r23
15097#endif
15098 cas [%r23],%g0,%r10 !lock
15099 brnz %r10, sma_8_153
15100 rd %asi, %r12
15101 wr %g0, 0x40, %asi
15102 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
15103 set 0x001e1fff, %g1
15104 stxa %g1, [%g0 + 0x80] %asi
15105 wr %r12, %g0, %asi
15106 st %g0, [%r23]
15107sma_8_153:
15108 ta T_CHANGE_NONHPRIV
15109 .word 0xe9e7e00b ! 208: CASA_R casa [%r31] %asi, %r11, %r20
15110 setx vahole_target3, %r18, %r27
15111 .word 0xe19fc3e0 ! 209: LDDFA_R ldda [%r31, %r0], %f16
15112splash_lsu_8_155:
15113 nop
15114 ta T_CHANGE_HPRIV
15115 set 0xef685986, %r2
15116 mov 0x4, %r1
15117 sllx %r1, 32, %r1
15118 or %r1, %r2, %r2
15119 stxa %r2, [%r0] ASI_LSU_CONTROL
15120 ta T_CHANGE_NONHPRIV
15121 .word 0x3d400001 ! 210: FBPULE fbule,a,pn %fcc0, <label_0x1>
15122splash_hpstate_8_156:
15123 .word 0x38800001 ! 1: BGU bgu,a <label_0x1>
15124 .word 0x81982474 ! 211: WRHPR_HPSTATE_I wrhpr %r0, 0x0474, %hpstate
15125fpinit_8_157:
15126 setx fp_data_quads, %r19, %r20
15127 ldd [%r20], %f0
15128 ldd [%r20+8], %f4
15129 ld [%r20+16], %fsr
15130 ld [%r20+24], %r19
15131 wr %r19, %g0, %gsr
15132 .word 0x87a80a44 ! 212: FCMPd fcmpd %fcc<n>, %f0, %f4
15133splash_tba_8_158:
15134 ta T_CHANGE_PRIV
15135 setx 0x00000000003a0000, %r11, %r12
15136 .word 0x8b90000c ! 213: WRPR_TBA_R wrpr %r0, %r12, %tba
15137intveclr_8_159:
15138 nop
15139 ta T_CHANGE_HPRIV
15140 setx 0x4a26e2386170ad01, %r1, %r28
15141 stxa %r28, [%g0] 0x72
15142 .word 0x25400001 ! 214: FBPLG fblg,a,pn %fcc0, <label_0x1>
15143mondo_8_160:
15144 nop
15145 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
15146 stxa %r13, [%r0+0x3e8] %asi
15147 .word 0x9d904005 ! 215: WRPR_WSTATE_R wrpr %r1, %r5, %wstate
15148 .word 0xc19fc2c0 ! 216: LDDFA_R ldda [%r31, %r0], %f0
15149pmu_8_162:
15150 nop
15151 ta T_CHANGE_PRIV
15152 setx 0xffffffdefffff205, %g1, %g7
15153 .word 0xa3800007 ! 217: WR_PERF_COUNTER_R wr %r0, %r7, %-
15154donret_8_163:
15155 nop
15156 ta T_CHANGE_HPRIV ! macro
15157 rd %pc, %r12
15158 add %r12, (donretarg_8_163-donret_8_163-4), %r12
15159 mov 0x38, %r18
15160 stxa %r12, [%r18]0x58
15161 add %r12, 0x4, %r11
15162 wrpr %g0, 0x2, %tl
15163 wrpr %g0, %r12, %tpc
15164 wrpr %g0, %r11, %tnpc
15165 set (0x0056fc30 | (0x4f << 24)), %r13
15166 rdpr %tstate, %r16
15167 mov 0x1f, %r19
15168 and %r19, %r16, %r17
15169 andn %r16, %r19, %r16
15170 or %r16, %r17, %r20
15171 wrpr %r20, %g0, %tstate
15172 wrhpr %g0, 0x38c, %htstate
15173 ta T_CHANGE_NONPRIV ! rand=0 (8)
15174 .word 0x2acd0001 ! 1: BRNZ brnz,a,pt %r20,<label_0xd0001>
15175 done
15176donretarg_8_163:
15177 .word 0xa9a249c4 ! 218: FDIVd fdivd %f40, %f4, %f20
15178 invalw
15179 mov 0xb0, %r30
15180 .word 0x91d0001e ! 219: Tcc_R ta icc_or_xcc, %r0 + %r30
15181 .word 0xa3464000 ! 220: RD_STICK_CMPR_REG rd %-, %r17
15182 setx vahole_target3, %r18, %r27
15183 .word 0xe5e7e011 ! 221: CASA_R casa [%r31] %asi, %r17, %r18
15184ibp_8_165:
15185 nop
15186 .word 0x9f802de6 ! 222: SIR sir 0x0de6
15187dvapa_8_166:
15188 nop
15189 ta T_CHANGE_HPRIV
15190 mov 0xa8a, %r20
15191 mov 0x16, %r19
15192 sllx %r20, 23, %r20
15193 or %r19, %r20, %r19
15194 stxa %r19, [%g0] ASI_LSU_CONTROL
15195 mov 0x38, %r18
15196 stxa %r31, [%r18]0x58
15197 ta T_CHANGE_NONHPRIV
15198 .word 0xc1bfe0e0 ! 223: STDFA_I stda %f0, [0x00e0, %r31]
15199 .word 0xe44fe048 ! 224: LDSB_I ldsb [%r31 + 0x0048], %r18
15200mondo_8_167:
15201 nop
15202 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
15203 ta T_CHANGE_PRIV
15204 stxa %r16, [%r0+0x3e8] %asi
15205 .word 0x9d944007 ! 225: WRPR_WSTATE_R wrpr %r17, %r7, %wstate
15206 .word 0xa6844013 ! 226: ADDcc_R addcc %r17, %r19, %r19
15207 .word 0xda3fede6 ! 227: STD_I std %r13, [%r31 + 0x0de6]
15208 setx vahole_target2, %r18, %r27
15209 .word 0x97a4c9c1 ! 228: FDIVd fdivd %f50, %f32, %f42
15210 nop
15211 ta T_CHANGE_HPRIV
15212 mov 0x8+1, %r10
15213 set sync_thr_counter5, %r23
15214#ifndef SPC
15215 ldxa [%g0]0x63, %o1
15216 and %o1, 0x38, %o1
15217 add %o1, %r23, %r23
15218#endif
15219 cas [%r23],%g0,%r10 !lock
15220 brnz %r10, cwq_8_170
15221 rd %asi, %r12
15222 wr %g0, 0x40, %asi
15223 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
15224 and %l1, 0x3, %l1 ! Check if busy/enabled ..
15225 cmp %l1, 1
15226 bne cwq_8_170
15227 set CWQ_BASE, %l6
15228 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
15229 best_set_reg(0x20610010, %l1, %l2) !# Control Word
15230 sllx %l2, 32, %l2
15231 stx %l2, [%l6 + 0x0]
15232 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
15233 sub %l2, 0x40, %l2
15234 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
15235 wr %r12, %g0, %asi
15236 st %g0, [%r23]
15237cwq_8_170:
15238 ta T_CHANGE_NONHPRIV
15239 .word 0x97414000 ! 229: RDPC rd %pc, %r11
15240 setx vahole_target0, %r18, %r27
15241 .word 0xd03fe8df ! 230: STD_I std %r8, [%r31 + 0x08df]
15242 .word 0x91948012 ! 231: WRPR_PIL_R wrpr %r18, %r18, %pil
15243pmu_8_173:
15244 nop
15245 setx 0xfffffdaefffffb5f, %g1, %g7
15246 .word 0xa3800007 ! 232: WR_PERF_COUNTER_R wr %r0, %r7, %-
15247 .word 0xd11fc00a ! 233: LDDF_R ldd [%r31, %r10], %f8
15248 .word 0x95698005 ! 234: SDIVX_R sdivx %r6, %r5, %r10
15249splash_cmpr_8_175:
15250 nop
15251 setx 0xac35a1dbb78a9905, %l2, %l1
15252 ta T_CHANGE_PRIV
15253 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
15254 sub %l1, 40, %g1
15255 .word 0x89900011 ! 235: WRPR_TICK_R wrpr %r0, %r17, %tick
15256#if (defined SPC || defined CMP)
15257!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_8_176) + 8, 16, 16)) -> intp(7,0,14)
15258!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_8_176)&0xffffffff) + 8, 16, 16)) -> intp(7,0,14)
15259#else
15260 setx 0x24c036562776db0a, %r1, %r28
15261 stxa %r28, [%g0] 0x73
15262#endif
15263intvec_8_176:
15264 .word 0x39400001 ! 236: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
15265dvapa_8_177:
15266 nop
15267 ta T_CHANGE_HPRIV
15268 mov 0xe8c, %r20
15269 mov 0x3, %r19
15270 sllx %r20, 23, %r20
15271 or %r19, %r20, %r19
15272 stxa %r19, [%g0] ASI_LSU_CONTROL
15273 mov 0x38, %r18
15274 stxa %r31, [%r18]0x58
15275 ta T_CHANGE_NONHPRIV
15276 .word 0xe19fde00 ! 237: LDDFA_R ldda [%r31, %r0], %f16
15277 setx vahole_target3, %r18, %r27
15278 .word 0xc1bfde00 ! 238: STDFA_R stda %f0, [%r0, %r31]
15279fpinit_8_179:
15280 setx fp_data_quads, %r19, %r20
15281 ldd [%r20], %f0
15282 ldd [%r20+8], %f4
15283 ld [%r20+16], %fsr
15284 ld [%r20+24], %r19
15285 wr %r19, %g0, %gsr
15286 .word 0x8da009c4 ! 239: FDIVd fdivd %f0, %f4, %f6
15287mondo_8_180:
15288 nop
15289 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
15290 stxa %r12, [%r0+0x3e8] %asi
15291 .word 0x9d94c002 ! 240: WRPR_WSTATE_R wrpr %r19, %r2, %wstate
15292 setx vahole_target1, %r18, %r27
15293 .word 0xc19fdf20 ! 241: LDDFA_R ldda [%r31, %r0], %f0
15294#if (defined SPC || defined CMP)
15295!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_8_182) + 8, 16, 16)) -> intp(2,0,8)
15296!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_8_182)&0xffffffff) + 8, 16, 16)) -> intp(2,0,8)
15297#else
15298 setx 0x588901be0ca7c680, %r1, %r28
15299 stxa %r28, [%g0] 0x73
15300#endif
15301intvec_8_182:
15302 .word 0x39400001 ! 242: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
15303 .word 0xe48008a0 ! 243: LDUWA_R lduwa [%r0, %r0] 0x45, %r18
15304intveclr_8_183:
15305 nop
15306 ta T_CHANGE_HPRIV
15307 setx 0xef6c5c1701e0bd3c, %r1, %r28
15308 stxa %r28, [%g0] 0x72
15309 ta T_CHANGE_NONHPRIV
15310 .word 0x25400001 ! 244: FBPLG fblg,a,pn %fcc0, <label_0x1>
15311 setx vahole_target3, %r18, %r27
15312 .word 0xe5e7e00a ! 245: CASA_R casa [%r31] %asi, %r10, %r18
15313 nop
15314 ta T_CHANGE_HPRIV
15315 mov 0x8, %r10
15316 set sync_thr_counter6, %r23
15317#ifndef SPC
15318 ldxa [%g0]0x63, %o1
15319 and %o1, 0x38, %o1
15320 add %o1, %r23, %r23
15321#endif
15322 cas [%r23],%g0,%r10 !lock
15323 brnz %r10, sma_8_185
15324 rd %asi, %r12
15325 wr %g0, 0x40, %asi
15326 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
15327 set 0x001e1fff, %g1
15328 stxa %g1, [%g0 + 0x80] %asi
15329 wr %r12, %g0, %asi
15330 st %g0, [%r23]
15331sma_8_185:
15332 ta T_CHANGE_NONHPRIV
15333 .word 0xe5e7e012 ! 246: CASA_R casa [%r31] %asi, %r18, %r18
15334fpinit_8_186:
15335 setx fp_data_quads, %r19, %r20
15336 ldd [%r20], %f0
15337 ldd [%r20+8], %f4
15338 ld [%r20+16], %fsr
15339 ld [%r20+24], %r19
15340 wr %r19, %g0, %gsr
15341 .word 0x91a009a4 ! 247: FDIVs fdivs %f0, %f4, %f8
15342 setx vahole_target2, %r18, %r27
15343 .word 0xe49fc032 ! 248: LDDA_R ldda [%r31, %r18] 0x01, %r18
15344 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
15345reduce_priv_lvl_8_188:
15346 ta T_CHANGE_NONPRIV ! macro
15347brcommon2_8_189:
15348 nop
15349 setx common_target, %r12, %r27
15350 ba,a .+12
15351 .word 0xd1134007 ! 1: LDQF_R - [%r13, %r7], %f8
15352 ba,a .+8
15353 jmpl %r27+0, %r27
15354 .word 0xe1bfdf20 ! 250: STDFA_R stda %f16, [%r0, %r31]
15355mondo_8_190:
15356 nop
15357 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
15358 stxa %r13, [%r0+0x3c8] %asi
15359 .word 0x9d934012 ! 251: WRPR_WSTATE_R wrpr %r13, %r18, %wstate
15360 setx 0x6de58235b5d8b330, %r1, %r28
15361 stxa %r28, [%g0] 0x73
15362intvec_8_191:
15363 .word 0x39400001 ! 252: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
15364 setx vahole_target3, %r18, %r27
15365 .word 0xe2bfc033 ! 253: STDA_R stda %r17, [%r31 + %r19] 0x01
15366ibp_8_193:
15367 nop
15368 ta T_CHANGE_NONHPRIV
15369 .word 0xc1bfe040 ! 254: STDFA_I stda %f0, [0x0040, %r31]
15370 .word 0xab853a8f ! 255: WR_CLEAR_SOFTINT_I wr %r20, 0x1a8f, %clear_softint
15371splash_lsu_8_194:
15372 nop
15373 ta T_CHANGE_HPRIV
15374 set 0xa1164839, %r2
15375 mov 0x1, %r1
15376 sllx %r1, 32, %r1
15377 or %r1, %r2, %r2
15378 stxa %r2, [%r0] ASI_LSU_CONTROL
15379 .word 0x3d400001 ! 256: FBPULE fbule,a,pn %fcc0, <label_0x1>
15380 nop
15381 ta T_CHANGE_HPRIV
15382 mov 0x8, %r10
15383 set sync_thr_counter6, %r23
15384#ifndef SPC
15385 ldxa [%g0]0x63, %o1
15386 and %o1, 0x38, %o1
15387 add %o1, %r23, %r23
15388#endif
15389 cas [%r23],%g0,%r10 !lock
15390 brnz %r10, sma_8_195
15391 rd %asi, %r12
15392 wr %g0, 0x40, %asi
15393 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
15394 set 0x000a1fff, %g1
15395 stxa %g1, [%g0 + 0x80] %asi
15396 wr %r12, %g0, %asi
15397 st %g0, [%r23]
15398sma_8_195:
15399 ta T_CHANGE_NONHPRIV
15400 .word 0xe3e7e009 ! 257: CASA_R casa [%r31] %asi, %r9, %r17
15401#if (defined SPC || defined CMP)
15402!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_8_196) + 56, 16, 16)) -> intp(2,0,17)
15403!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_8_196)&0xffffffff) + 56, 16, 16)) -> intp(2,0,17)
15404#else
15405 setx 0x17850954e9f807aa, %r1, %r28
15406 stxa %r28, [%g0] 0x73
15407#endif
15408intvec_8_196:
15409 .word 0x39400001 ! 258: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
15410tglhtw_8_197:
15411 nop
15412 rd %asi, %l3 ! save %asi
15413 ta T_CHANGE_HPRIV
15414 wr %g0, ASI_MMU_ZERO_CONTEXT_TSB_CONFIG, %asi
15415 mov 1, %l2
15416 sllx %l2, 63, %l2
15417 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
15418 xor %l4, %l2, %l4
15419 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi
15420 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
15421 xor %l4, %l2, %l4
15422 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi
15423 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
15424 xor %l4, %l2, %l4
15425 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi
15426 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
15427 xor %l4, %l2, %l4
15428 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi
15429 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
15430 xor %l4, %l2, %l4
15431 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi
15432 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
15433 xor %l4, %l2, %l4
15434 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi
15435 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
15436 xor %l4, %l2, %l4
15437 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi
15438 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
15439 xor %l4, %l2, %l4
15440 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi
15441 ta T_CHANGE_NONHPRIV
15442 wr %g0, %l3, %asi !restore %asi
15443 .word 0xa7b5098b ! 259: BSHUFFLE fmovc32 %d20, %d42, %d50
15444 .word 0x9f802be6 ! 260: SIR sir 0x0be6
15445 nop
15446 ta T_CHANGE_HPRIV
15447 mov 0x8, %r10
15448 set sync_thr_counter6, %r23
15449#ifndef SPC
15450 ldxa [%g0]0x63, %o1
15451 and %o1, 0x38, %o1
15452 add %o1, %r23, %r23
15453#endif
15454 cas [%r23],%g0,%r10 !lock
15455 brnz %r10, sma_8_198
15456 rd %asi, %r12
15457 wr %g0, 0x40, %asi
15458 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
15459 set 0x00161fff, %g1
15460 stxa %g1, [%g0 + 0x80] %asi
15461 wr %r12, %g0, %asi
15462 st %g0, [%r23]
15463sma_8_198:
15464 ta T_CHANGE_NONHPRIV
15465 .word 0xe7e7e008 ! 261: CASA_R casa [%r31] %asi, %r8, %r19
15466splash_tba_8_199:
15467 ta T_CHANGE_PRIV
15468 setx 0x00000000003a0000, %r11, %r12
15469 .word 0x8b90000c ! 262: WRPR_TBA_R wrpr %r0, %r12, %tba
15470splash_hpstate_8_200:
15471 ta T_CHANGE_NONHPRIV
15472 .word 0x8198280f ! 263: WRHPR_HPSTATE_I wrhpr %r0, 0x080f, %hpstate
15473mondo_8_201:
15474 nop
15475 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
15476 ta T_CHANGE_PRIV
15477 stxa %r2, [%r0+0x3d0] %asi
15478 .word 0x9d948013 ! 264: WRPR_WSTATE_R wrpr %r18, %r19, %wstate
15479tagged_8_202:
15480 tsubcctv %r19, 0x1d1d, %r3
15481 .word 0xe607e146 ! 265: LDUW_I lduw [%r31 + 0x0146], %r19
15482 nop
15483 mov 0x80, %g3
15484 stxa %g3, [%g3] 0x57
15485 .word 0xe65fc000 ! 266: LDX_R ldx [%r31 + %r0], %r19
15486mondo_8_203:
15487 nop
15488 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
15489 stxa %r9, [%r0+0x3e8] %asi
15490 .word 0x9d924003 ! 267: WRPR_WSTATE_R wrpr %r9, %r3, %wstate
15491splash_cmpr_8_204:
15492 nop
15493 setx 0x17b242cbc3e6a6a3, %l2, %l1
15494 ta T_CHANGE_HPRIV
15495 wrhpr %l1, %g0, %hsys_tick_cmpr
15496 ta T_CHANGE_NONHPRIV
15497 sub %l1, 40, %g1
15498 .word 0xb1800011 ! 268: WR_STICK_REG_R wr %r0, %r17, %-
15499intveclr_8_205:
15500 nop
15501 ta T_CHANGE_HPRIV
15502 setx 0x095af3d59925da24, %r1, %r28
15503 stxa %r28, [%g0] 0x72
15504 ta T_CHANGE_NONHPRIV
15505 .word 0x25400001 ! 269: FBPLG fblg,a,pn %fcc0, <label_0x1>
15506 .word 0x8d902172 ! 270: WRPR_PSTATE_I wrpr %r0, 0x0172, %pstate
15507cwp_8_207:
15508 set user_data_start, %o7
15509 .word 0x93902003 ! 271: WRPR_CWP_I wrpr %r0, 0x0003, %cwp
15510#if (defined SPC || defined CMP)
15511!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_8_208) + 48, 16, 16)) -> intp(3,0,14)
15512!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_8_208)&0xffffffff) + 48, 16, 16)) -> intp(3,0,14)
15513#else
15514 setx 0xd9fa11086022ed34, %r1, %r28
15515 stxa %r28, [%g0] 0x73
15516#endif
15517intvec_8_208:
15518 .word 0x39400001 ! 272: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
15519ibp_8_209:
15520 nop
15521 .word 0xa1b4c493 ! 273: FCMPLE32 fcmple32 %d50, %d50, %r16
15522mondo_8_210:
15523 nop
15524 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
15525 ta T_CHANGE_PRIV
15526 stxa %r18, [%r0+0x3e0] %asi
15527 .word 0x9d948008 ! 274: WRPR_WSTATE_R wrpr %r18, %r8, %wstate
15528ibp_8_211:
15529 nop
15530 ta T_CHANGE_NONHPRIV
15531 .word 0xe1bfdb60 ! 275: STDFA_R stda %f16, [%r0, %r31]
15532splash_lsu_8_212:
15533 nop
15534 ta T_CHANGE_HPRIV
15535 set 0x6e1fbd3a, %r2
15536 mov 0x4, %r1
15537 sllx %r1, 32, %r1
15538 or %r1, %r2, %r2
15539 stxa %r2, [%r0] ASI_LSU_CONTROL
15540 ta T_CHANGE_NONHPRIV
15541 .word 0x3d400001 ! 276: FBPULE fbule,a,pn %fcc0, <label_0x1>
15542 otherw
15543 mov 0xb0, %r30
15544 .word 0x83d0001e ! 277: Tcc_R te icc_or_xcc, %r0 + %r30
15545trapasi_8_213:
15546 nop
15547 mov 0x18, %r1 ! (VA for ASI 0x50)
15548 .word 0xe8c84a00 ! 278: LDSBA_R ldsba [%r1, %r0] 0x50, %r20
15549pmu_8_214:
15550 nop
15551 ta T_CHANGE_PRIV
15552 setx 0xfffff06dfffffacd, %g1, %g7
15553 .word 0xa3800007 ! 279: WR_PERF_COUNTER_R wr %r0, %r7, %-
15554 .word 0xe1bfe0a0 ! 280: STDFA_I stda %f16, [0x00a0, %r31]
15555#if (defined SPC || defined CMP)
15556!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_8_216) + 8, 16, 16)) -> intp(3,0,13)
15557!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_8_216)&0xffffffff) + 8, 16, 16)) -> intp(3,0,13)
15558#else
15559 setx 0x896038729c15b75c, %r1, %r28
15560 stxa %r28, [%g0] 0x73
15561#endif
15562intvec_8_216:
15563 .word 0x39400001 ! 281: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
15564splash_lsu_8_217:
15565 nop
15566 ta T_CHANGE_HPRIV
15567 set 0xc6076d6b, %r2
15568 mov 0x2, %r1
15569 sllx %r1, 32, %r1
15570 or %r1, %r2, %r2
15571 stxa %r2, [%r0] ASI_LSU_CONTROL
15572 .word 0x3d400001 ! 282: FBPULE fbule,a,pn %fcc0, <label_0x1>
15573mondo_8_218:
15574 nop
15575 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
15576 stxa %r19, [%r0+0x3c0] %asi
15577 .word 0x9d94c002 ! 283: WRPR_WSTATE_R wrpr %r19, %r2, %wstate
15578 setx vahole_target0, %r18, %r27
15579 .word 0xe1bfe0e0 ! 284: STDFA_I stda %f16, [0x00e0, %r31]
15580mondo_8_220:
15581 nop
15582 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
15583 ta T_CHANGE_PRIV
15584 stxa %r17, [%r0+0x3d8] %asi
15585 .word 0x9d944014 ! 285: WRPR_WSTATE_R wrpr %r17, %r20, %wstate
15586 .word 0x9f802401 ! 286: SIR sir 0x0401
15587donret_8_222:
15588 nop
15589 ta T_CHANGE_HPRIV ! macro
15590 rd %pc, %r12
15591 add %r12, (donretarg_8_222-donret_8_222-8), %r12
15592 mov 0x38, %r18
15593 stxa %r12, [%r18]0x58
15594 add %r12, 0x4, %r11
15595 wrpr %g0, 0x1, %tl
15596 wrpr %g0, %r12, %tpc
15597 wrpr %g0, %r11, %tnpc
15598 set (0x007da84b | (0x55 << 24)), %r13
15599 rdpr %tstate, %r16
15600 mov 0x1f, %r19
15601 and %r19, %r16, %r17
15602 andn %r16, %r19, %r16
15603 or %r16, %r17, %r20
15604 wrpr %r20, %g0, %tstate
15605 wrhpr %g0, 0xe44, %htstate
15606 ta T_CHANGE_NONHPRIV ! rand=1 (8)
15607 retry
15608donretarg_8_222:
15609 .word 0xe86fe01a ! 287: LDSTUB_I ldstub %r20, [%r31 + 0x001a]
15610jmptr_8_223:
15611 nop
15612 best_set_reg(0xe0a00000, %r20, %r27)
15613 .word 0xb7c6c000 ! 288: JMPL_R jmpl %r27 + %r0, %r27
15614splash_cmpr_8_224:
15615 nop
15616 setx 0xc617ffd8c39d5c8e, %l2, %l1
15617 ta T_CHANGE_HPRIV
15618 wrhpr %l1, %g0, %hsys_tick_cmpr
15619 sub %l1, 40, %g1
15620 .word 0x89900011 ! 289: WRPR_TICK_R wrpr %r0, %r17, %tick
15621splash_cmpr_8_225:
15622 nop
15623 setx 0x0557e3bf86981435, %l2, %l1
15624 ta T_CHANGE_PRIV
15625 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
15626 ta T_CHANGE_NONPRIV
15627 sub %l1, 40, %g1
15628 .word 0x89900011 ! 290: WRPR_TICK_R wrpr %r0, %r17, %tick
15629pmu_8_226:
15630 nop
15631 setx 0xfffffa5efffff2f4, %g1, %g7
15632 .word 0xa3800007 ! 291: WR_PERF_COUNTER_R wr %r0, %r7, %-
15633pmu_8_227:
15634 nop
15635 ta T_CHANGE_PRIV
15636 setx 0xfffff667ffffff72, %g1, %g7
15637 .word 0xa3800007 ! 292: WR_PERF_COUNTER_R wr %r0, %r7, %-
15638mondo_8_228:
15639 nop
15640 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
15641 ta T_CHANGE_PRIV
15642 stxa %r12, [%r0+0x3e8] %asi
15643 .word 0x9d94c001 ! 293: WRPR_WSTATE_R wrpr %r19, %r1, %wstate
15644 .word 0x87802055 ! 294: WRASI_I wr %r0, 0x0055, %asi
15645 .word 0x97a00165 ! 295: FABSq dis not found
15646
15647donret_8_230:
15648 nop
15649 ta T_CHANGE_HPRIV ! macro
15650 rd %pc, %r12
15651 add %r12, (donretarg_8_230-donret_8_230-8), %r12
15652 mov 0x38, %r18
15653 stxa %r12, [%r18]0x58
15654 add %r12, 0x4, %r11
15655 wrpr %g0, 0x1, %tl
15656 wrpr %g0, %r12, %tpc
15657 wrpr %g0, %r11, %tnpc
15658 set (0x0029f381 | (0x83 << 24)), %r13
15659 rdpr %tstate, %r16
15660 mov 0x1f, %r19
15661 and %r19, %r16, %r17
15662 andn %r16, %r19, %r16
15663 or %r16, %r17, %r20
15664 wrpr %r20, %g0, %tstate
15665 wrhpr %g0, 0x11d, %htstate
15666 ta T_CHANGE_NONPRIV ! rand=0 (8)
15667 .word 0x35400001 ! 1: FBPUE fbue,a,pn %fcc0, <label_0x1>
15668 retry
15669donretarg_8_230:
15670 .word 0xe66fe0f1 ! 296: LDSTUB_I ldstub %r19, [%r31 + 0x00f1]
15671 setx vahole_target2, %r18, %r27
15672 .word 0xc19fdb60 ! 297: LDDFA_R ldda [%r31, %r0], %f0
15673 nop
15674 ta T_CHANGE_HPRIV
15675 mov 0x8+1, %r10
15676 set sync_thr_counter5, %r23
15677#ifndef SPC
15678 ldxa [%g0]0x63, %o1
15679 and %o1, 0x38, %o1
15680 add %o1, %r23, %r23
15681#endif
15682 cas [%r23],%g0,%r10 !lock
15683 brnz %r10, cwq_8_232
15684 rd %asi, %r12
15685 wr %g0, 0x40, %asi
15686 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
15687 and %l1, 0x3, %l1 ! Check if busy/enabled ..
15688 cmp %l1, 1
15689 bne cwq_8_232
15690 set CWQ_BASE, %l6
15691 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
15692 best_set_reg(0x206100b0, %l1, %l2) !# Control Word
15693 sllx %l2, 32, %l2
15694 stx %l2, [%l6 + 0x0]
15695 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
15696 sub %l2, 0x40, %l2
15697 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
15698 wr %r12, %g0, %asi
15699 st %g0, [%r23]
15700cwq_8_232:
15701 ta T_CHANGE_NONHPRIV
15702 .word 0xa9414000 ! 298: RDPC rd %pc, %r20
15703trapasi_8_233:
15704 nop
15705 mov 0x3f0, %r1 ! (VA for ASI 0x25)
15706 .word 0xdac044a0 ! 299: LDSWA_R ldswa [%r1, %r0] 0x25, %r13
15707dvapa_8_234:
15708 nop
15709 ta T_CHANGE_HPRIV
15710 mov 0x8b4, %r20
15711 mov 0x7, %r19
15712 sllx %r20, 23, %r20
15713 or %r19, %r20, %r19
15714 stxa %r19, [%g0] ASI_LSU_CONTROL
15715 mov 0x38, %r18
15716 stxa %r31, [%r18]0x58
15717 ta T_CHANGE_NONHPRIV
15718 .word 0x9f80394d ! 300: SIR sir 0x194d
15719intveclr_8_235:
15720 nop
15721 ta T_CHANGE_HPRIV
15722 setx 0x52e519d3699eaa44, %r1, %r28
15723 stxa %r28, [%g0] 0x72
15724 ta T_CHANGE_NONHPRIV
15725 .word 0x25400001 ! 301: FBPLG fblg,a,pn %fcc0, <label_0x1>
15726mondo_8_236:
15727 nop
15728 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
15729 stxa %r18, [%r0+0x3c8] %asi
15730 .word 0x9d94000b ! 302: WRPR_WSTATE_R wrpr %r16, %r11, %wstate
15731 setx 0xf8f3420ffe8fda1c, %r1, %r28
15732 stxa %r28, [%g0] 0x73
15733intvec_8_237:
15734 .word 0x39400001 ! 303: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
15735 .word 0xa1a0016d ! 304: FABSq dis not found
15736
15737pmu_8_239:
15738 nop
15739 ta T_CHANGE_PRIV
15740 setx 0xfffff600fffff44b, %g1, %g7
15741 .word 0xa3800007 ! 305: WR_PERF_COUNTER_R wr %r0, %r7, %-
15742pmu_8_240:
15743 nop
15744 ta T_CHANGE_PRIV
15745 setx 0xfffff291ffffffe7, %g1, %g7
15746 .word 0xa3800007 ! 306: WR_PERF_COUNTER_R wr %r0, %r7, %-
15747ibp_8_241:
15748 nop
15749 ta T_CHANGE_NONHPRIV
15750 .word 0xe4bfc034 ! 307: STDA_R stda %r18, [%r31 + %r20] 0x01
15751splash_tba_8_242:
15752 ta T_CHANGE_PRIV
15753 setx 0x00000000003a0000, %r11, %r12
15754 .word 0x8b90000c ! 308: WRPR_TBA_R wrpr %r0, %r12, %tba
15755change_to_randtl_8_243:
15756 ta T_CHANGE_HPRIV ! macro
15757done_change_to_randtl_8_243:
15758 .word 0x8f902000 ! 309: WRPR_TL_I wrpr %r0, 0x0000, %tl
15759 .word 0x8d802000 ! 310: WRFPRS_I wr %r0, 0x0000, %fprs
15760intveclr_8_244:
15761 nop
15762 ta T_CHANGE_HPRIV
15763 setx 0xcfe700a0b58aec9e, %r1, %r28
15764 stxa %r28, [%g0] 0x72
15765 .word 0x25400001 ! 311: FBPLG fblg,a,pn %fcc0, <label_0x1>
15766 setx vahole_target3, %r18, %r27
15767 .word 0xc1bfdc00 ! 312: STDFA_R stda %f0, [%r0, %r31]
15768 nop
15769 ta T_CHANGE_HPRIV
15770 mov 0x8, %r10
15771 set sync_thr_counter6, %r23
15772#ifndef SPC
15773 ldxa [%g0]0x63, %o1
15774 and %o1, 0x38, %o1
15775 add %o1, %r23, %r23
15776#endif
15777 cas [%r23],%g0,%r10 !lock
15778 brnz %r10, sma_8_246
15779 rd %asi, %r12
15780 wr %g0, 0x40, %asi
15781 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
15782 set 0x001e1fff, %g1
15783 stxa %g1, [%g0 + 0x80] %asi
15784 wr %r12, %g0, %asi
15785 st %g0, [%r23]
15786sma_8_246:
15787 ta T_CHANGE_NONHPRIV
15788 .word 0xe5e7e012 ! 313: CASA_R casa [%r31] %asi, %r18, %r18
15789dvapa_8_247:
15790 nop
15791 ta T_CHANGE_HPRIV
15792 mov 0xbce, %r20
15793 mov 0x13, %r19
15794 sllx %r20, 23, %r20
15795 or %r19, %r20, %r19
15796 stxa %r19, [%g0] ASI_LSU_CONTROL
15797 mov 0x38, %r18
15798 stxa %r31, [%r18]0x58
15799 ta T_CHANGE_NONHPRIV
15800 .word 0xa1703065 ! 314: POPC_I popc 0x1065, %r16
15801 .word 0x93a449a5 ! 315: FDIVs fdivs %f17, %f5, %f9
15802ibp_8_249:
15803 nop
15804 ta T_CHANGE_NONHPRIV
15805 .word 0x9f803065 ! 316: SIR sir 0x1065
15806 .word 0x3e800001 ! 317: BVC bvc,a <label_0x1>
15807#if (defined SPC || defined CMP)
15808!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_8_250) + 40, 16, 16)) -> intp(2,0,13)
15809!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_8_250)&0xffffffff) + 40, 16, 16)) -> intp(2,0,13)
15810#else
15811 setx 0xaefd45556d7843e8, %r1, %r28
15812 stxa %r28, [%g0] 0x73
15813#endif
15814intvec_8_250:
15815 .word 0x39400001 ! 318: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
15816ibp_8_251:
15817 nop
15818 .word 0x9f803065 ! 319: SIR sir 0x1065
15819 setx vahole_target2, %r18, %r27
15820 .word 0xc1bfe000 ! 320: STDFA_I stda %f0, [0x0000, %r31]
15821 setx 0xa5ec3cd90e56f0d6, %r1, %r28
15822 stxa %r28, [%g0] 0x73
15823intvec_8_253:
15824 .word 0x39400001 ! 321: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
15825 .word 0xd0800bc0 ! 322: LDUWA_R lduwa [%r0, %r0] 0x5e, %r8
15826dvapa_8_254:
15827 nop
15828 ta T_CHANGE_HPRIV
15829 mov 0xf8c, %r20
15830 mov 0x17, %r19
15831 sllx %r20, 23, %r20
15832 or %r19, %r20, %r19
15833 stxa %r19, [%g0] ASI_LSU_CONTROL
15834 mov 0x38, %r18
15835 stxa %r31, [%r18]0x58
15836 ta T_CHANGE_NONHPRIV
15837 .word 0xd13fc011 ! 323: STDF_R std %f8, [%r17, %r31]
15838 .word 0x8d802000 ! 324: WRFPRS_I wr %r0, 0x0000, %fprs
15839intveclr_8_255:
15840 nop
15841 ta T_CHANGE_HPRIV
15842 setx 0x7eefb16312e1e9b3, %r1, %r28
15843 stxa %r28, [%g0] 0x72
15844 .word 0x25400001 ! 325: FBPLG fblg,a,pn %fcc0, <label_0x1>
15845 nop
15846 ta T_CHANGE_HPRIV
15847 mov 0x8, %r10
15848 set sync_thr_counter6, %r23
15849#ifndef SPC
15850 ldxa [%g0]0x63, %o1
15851 and %o1, 0x38, %o1
15852 add %o1, %r23, %r23
15853#endif
15854 cas [%r23],%g0,%r10 !lock
15855 brnz %r10, sma_8_256
15856 rd %asi, %r12
15857 wr %g0, 0x40, %asi
15858 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
15859 set 0x001a1fff, %g1
15860 stxa %g1, [%g0 + 0x80] %asi
15861 wr %r12, %g0, %asi
15862 st %g0, [%r23]
15863sma_8_256:
15864 ta T_CHANGE_NONHPRIV
15865 .word 0xd1e7e00b ! 326: CASA_R casa [%r31] %asi, %r11, %r8
15866 nop
15867 ta T_CHANGE_HPRIV
15868 mov 0x8+1, %r10
15869 set sync_thr_counter5, %r23
15870#ifndef SPC
15871 ldxa [%g0]0x63, %o1
15872 and %o1, 0x38, %o1
15873 add %o1, %r23, %r23
15874#endif
15875 cas [%r23],%g0,%r10 !lock
15876 brnz %r10, cwq_8_257
15877 rd %asi, %r12
15878 wr %g0, 0x40, %asi
15879 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
15880 and %l1, 0x3, %l1 ! Check if busy/enabled ..
15881 cmp %l1, 1
15882 bne cwq_8_257
15883 set CWQ_BASE, %l6
15884 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
15885 best_set_reg(0x206100c0, %l1, %l2) !# Control Word
15886 sllx %l2, 32, %l2
15887 stx %l2, [%l6 + 0x0]
15888 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
15889 sub %l2, 0x40, %l2
15890 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
15891 wr %r12, %g0, %asi
15892 st %g0, [%r23]
15893cwq_8_257:
15894 ta T_CHANGE_NONHPRIV
15895 .word 0xa3414000 ! 327: RDPC rd %pc, %r17
15896ibp_8_258:
15897 nop
15898 ta T_CHANGE_NONHPRIV
15899 .word 0xc1bfe080 ! 328: STDFA_I stda %f0, [0x0080, %r31]
15900fpinit_8_259:
15901 setx fp_data_quads, %r19, %r20
15902 ldd [%r20], %f0
15903 ldd [%r20+8], %f4
15904 ld [%r20+16], %fsr
15905 ld [%r20+24], %r19
15906 wr %r19, %g0, %gsr
15907 .word 0x87a80a44 ! 329: FCMPd fcmpd %fcc<n>, %f0, %f4
15908 setx vahole_target1, %r18, %r27
15909 .word 0xda3ff065 ! 330: STD_I std %r13, [%r31 + 0xfffff065]
15910 .word 0xda8008a0 ! 331: LDUWA_R lduwa [%r0, %r0] 0x45, %r13
15911 .word 0x96d47ab8 ! 332: UMULcc_I umulcc %r17, 0xfffffab8, %r11
15912ibp_8_261:
15913 nop
15914 .word 0x93b24491 ! 333: FCMPLE32 fcmple32 %d40, %d48, %r9
15915mondo_8_262:
15916 nop
15917 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
15918 ta T_CHANGE_PRIV
15919 stxa %r17, [%r0+0x3d8] %asi
15920 .word 0x9d950004 ! 334: WRPR_WSTATE_R wrpr %r20, %r4, %wstate
15921mondo_8_263:
15922 nop
15923 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
15924 stxa %r11, [%r0+0x3e8] %asi
15925 .word 0x9d940011 ! 335: WRPR_WSTATE_R wrpr %r16, %r17, %wstate
15926 .word 0xa3524000 ! 336: RDPR_CWP <illegal instruction>
15927pmu_8_265:
15928 nop
15929 ta T_CHANGE_PRIV
15930 setx 0xfffffe61fffff43f, %g1, %g7
15931 .word 0xa3800007 ! 337: WR_PERF_COUNTER_R wr %r0, %r7, %-
15932dvapa_8_266:
15933 nop
15934 ta T_CHANGE_HPRIV
15935 mov 0x9eb, %r20
15936 mov 0x6, %r19
15937 sllx %r20, 23, %r20
15938 or %r19, %r20, %r19
15939 stxa %r19, [%g0] ASI_LSU_CONTROL
15940 mov 0x38, %r18
15941 stxa %r31, [%r18]0x58
15942 ta T_CHANGE_NONHPRIV
15943 .word 0xd33fc013 ! 338: STDF_R std %f9, [%r19, %r31]
15944splash_lsu_8_267:
15945 nop
15946 ta T_CHANGE_HPRIV
15947 set 0x3cdaff2b, %r2
15948 mov 0x7, %r1
15949 sllx %r1, 32, %r1
15950 or %r1, %r2, %r2
15951 stxa %r2, [%r0] ASI_LSU_CONTROL
15952 ta T_CHANGE_NONHPRIV
15953 .word 0x3d400001 ! 339: FBPULE fbule,a,pn %fcc0, <label_0x1>
15954splash_tba_8_268:
15955 ta T_CHANGE_PRIV
15956 set 0x120000, %r12
15957 .word 0x8b90000c ! 340: WRPR_TBA_R wrpr %r0, %r12, %tba
15958 otherw
15959 mov 0xb0, %r30
15960 .word 0x83d0001e ! 341: Tcc_R te icc_or_xcc, %r0 + %r30
15961donret_8_269:
15962 nop
15963 ta T_CHANGE_HPRIV ! macro
15964 rd %pc, %r12
15965 add %r12, (donretarg_8_269-donret_8_269-4), %r12
15966 mov 0x38, %r18
15967 stxa %r12, [%r18]0x58
15968 add %r12, 0x4, %r11
15969 wrpr %g0, 0x1, %tl
15970 wrpr %g0, %r12, %tpc
15971 wrpr %g0, %r11, %tnpc
15972 set (0x005c3944 | (0x82 << 24)), %r13
15973 rdpr %tstate, %r16
15974 mov 0x1f, %r19
15975 and %r19, %r16, %r17
15976 andn %r16, %r19, %r16
15977 or %r16, %r17, %r20
15978 wrpr %r20, %g0, %tstate
15979 wrhpr %g0, 0xe56, %htstate
15980 ta T_CHANGE_NONPRIV ! rand=0 (8)
15981 .word 0x28800001 ! 1: BLEU bleu,a <label_0x1>
15982 done
15983donretarg_8_269:
15984 .word 0xa9a109d1 ! 342: FDIVd fdivd %f4, %f48, %f20
15985ibp_8_270:
15986 nop
15987 .word 0xc1bfe180 ! 343: STDFA_I stda %f0, [0x0180, %r31]
15988 .word 0x9f803776 ! 344: SIR sir 0x1776
15989splash_hpstate_8_271:
15990 .word 0x819821dc ! 345: WRHPR_HPSTATE_I wrhpr %r0, 0x01dc, %hpstate
15991 nop
15992 ta T_CHANGE_HPRIV
15993 mov 0x8+1, %r10
15994 set sync_thr_counter5, %r23
15995#ifndef SPC
15996 ldxa [%g0]0x63, %o1
15997 and %o1, 0x38, %o1
15998 add %o1, %r23, %r23
15999#endif
16000 cas [%r23],%g0,%r10 !lock
16001 brnz %r10, cwq_8_272
16002 rd %asi, %r12
16003 wr %g0, 0x40, %asi
16004 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
16005 and %l1, 0x3, %l1 ! Check if busy/enabled ..
16006 cmp %l1, 1
16007 bne cwq_8_272
16008 set CWQ_BASE, %l6
16009 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
16010 best_set_reg(0x206100e0, %l1, %l2) !# Control Word
16011 sllx %l2, 32, %l2
16012 stx %l2, [%l6 + 0x0]
16013 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
16014 sub %l2, 0x40, %l2
16015 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
16016 wr %r12, %g0, %asi
16017 st %g0, [%r23]
16018cwq_8_272:
16019 ta T_CHANGE_NONHPRIV
16020 .word 0xa9414000 ! 346: RDPC rd %pc, %r20
16021ibp_8_273:
16022 nop
16023 ta T_CHANGE_NONHPRIV
16024 .word 0xdbe7e00a ! 347: CASA_R casa [%r31] %asi, %r10, %r13
16025#if (defined SPC || defined CMP)
16026!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_8_274) + 24, 16, 16)) -> intp(3,0,25)
16027!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_8_274)&0xffffffff) + 24, 16, 16)) -> intp(3,0,25)
16028#else
16029 setx 0xcbb4568cc2f559f9, %r1, %r28
16030 stxa %r28, [%g0] 0x73
16031#endif
16032intvec_8_274:
16033 .word 0x39400001 ! 348: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
16034pmu_8_275:
16035 nop
16036 ta T_CHANGE_PRIV
16037 setx 0xfffff07afffff64e, %g1, %g7
16038 .word 0xa3800007 ! 349: WR_PERF_COUNTER_R wr %r0, %r7, %-
16039ibp_8_276:
16040 nop
16041 .word 0xc32fc009 ! 350: STXFSR_R st-sfr %f1, [%r9, %r31]
16042pmu_8_277:
16043 nop
16044 setx 0xfffff13ffffff7fa, %g1, %g7
16045 .word 0xa3800007 ! 351: WR_PERF_COUNTER_R wr %r0, %r7, %-
16046 set 0x115c, %l3
16047 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
16048 .word 0x93b207d3 ! 352: PDIST pdistn %d8, %d50, %d40
16049dvapa_8_278:
16050 nop
16051 ta T_CHANGE_HPRIV
16052 mov 0xc80, %r20
16053 mov 0x13, %r19
16054 sllx %r20, 23, %r20
16055 or %r19, %r20, %r19
16056 stxa %r19, [%g0] ASI_LSU_CONTROL
16057 mov 0x38, %r18
16058 stxa %r31, [%r18]0x58
16059 ta T_CHANGE_NONHPRIV
16060 .word 0x9370379a ! 353: POPC_I popc 0x179a, %r9
16061 .word 0xe71fe180 ! 354: LDDF_I ldd [%r31, 0x0180], %f19
16062pmu_8_279:
16063 nop
16064 ta T_CHANGE_PRIV
16065 setx 0xfffffefbfffffa08, %g1, %g7
16066 .word 0xa3800007 ! 355: WR_PERF_COUNTER_R wr %r0, %r7, %-
16067#if (defined SPC || defined CMP)
16068!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_8_280) + 48, 16, 16)) -> intp(6,0,9)
16069!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_8_280)&0xffffffff) + 48, 16, 16)) -> intp(6,0,9)
16070#else
16071 setx 0x22bfd1122b169e90, %r1, %r28
16072 stxa %r28, [%g0] 0x73
16073#endif
16074intvec_8_280:
16075 .word 0x39400001 ! 356: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
16076 .word 0xe697e1a0 ! 357: LDUHA_I lduha [%r31, + 0x01a0] %asi, %r19
16077intveclr_8_281:
16078 nop
16079 ta T_CHANGE_HPRIV
16080 setx 0x8fc40b06e567a690, %r1, %r28
16081 stxa %r28, [%g0] 0x72
16082 ta T_CHANGE_NONHPRIV
16083 .word 0x25400001 ! 358: FBPLG fblg,a,pn %fcc0, <label_0x1>
16084 .word 0x3c780001 ! 359: BPPOS <illegal instruction>
16085pmu_8_282:
16086 nop
16087 setx 0xfffff6c4fffffc41, %g1, %g7
16088 .word 0xa3800007 ! 360: WR_PERF_COUNTER_R wr %r0, %r7, %-
16089intveclr_8_283:
16090 nop
16091 ta T_CHANGE_HPRIV
16092 setx 0x25ff2c9b5e2eac62, %r1, %r28
16093 stxa %r28, [%g0] 0x72
16094 ta T_CHANGE_NONHPRIV
16095 .word 0x25400001 ! 361: FBPLG fblg,a,pn %fcc0, <label_0x1>
16096 nop
16097 ta T_CHANGE_HPRIV
16098 mov 0x8+1, %r10
16099 set sync_thr_counter5, %r23
16100#ifndef SPC
16101 ldxa [%g0]0x63, %o1
16102 and %o1, 0x38, %o1
16103 add %o1, %r23, %r23
16104#endif
16105 cas [%r23],%g0,%r10 !lock
16106 brnz %r10, cwq_8_284
16107 rd %asi, %r12
16108 wr %g0, 0x40, %asi
16109 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
16110 and %l1, 0x3, %l1 ! Check if busy/enabled ..
16111 cmp %l1, 1
16112 bne cwq_8_284
16113 set CWQ_BASE, %l6
16114 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
16115 best_set_reg(0x20610000, %l1, %l2) !# Control Word
16116 sllx %l2, 32, %l2
16117 stx %l2, [%l6 + 0x0]
16118 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
16119 sub %l2, 0x40, %l2
16120 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
16121 wr %r12, %g0, %asi
16122 st %g0, [%r23]
16123cwq_8_284:
16124 ta T_CHANGE_NONHPRIV
16125 .word 0xa1414000 ! 362: RDPC rd %pc, %r16
16126 .word 0xa3450000 ! 363: RD_SET_SOFTINT rd %set_softint, %r17
16127intveclr_8_285:
16128 nop
16129 ta T_CHANGE_HPRIV
16130 setx 0x008d11e8a29099ad, %r1, %r28
16131 stxa %r28, [%g0] 0x72
16132 .word 0x25400001 ! 364: FBPLG fblg,a,pn %fcc0, <label_0x1>
16133fpinit_8_286:
16134 setx fp_data_quads, %r19, %r20
16135 ldd [%r20], %f0
16136 ldd [%r20+8], %f4
16137 ld [%r20+16], %fsr
16138 ld [%r20+24], %r19
16139 wr %r19, %g0, %gsr
16140 .word 0x89a009a4 ! 365: FDIVs fdivs %f0, %f4, %f4
16141ibp_8_287:
16142 nop
16143 .word 0x95a449c8 ! 366: FDIVd fdivd %f48, %f8, %f10
16144 nop
16145 ta T_CHANGE_HPRIV
16146 mov 0x8, %r10
16147 set sync_thr_counter6, %r23
16148#ifndef SPC
16149 ldxa [%g0]0x63, %o1
16150 and %o1, 0x38, %o1
16151 add %o1, %r23, %r23
16152#endif
16153 cas [%r23],%g0,%r10 !lock
16154 brnz %r10, sma_8_288
16155 rd %asi, %r12
16156 wr %g0, 0x40, %asi
16157 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
16158 set 0x000e1fff, %g1
16159 stxa %g1, [%g0 + 0x80] %asi
16160 wr %r12, %g0, %asi
16161 st %g0, [%r23]
16162sma_8_288:
16163 ta T_CHANGE_NONHPRIV
16164 .word 0xe5e7e012 ! 367: CASA_R casa [%r31] %asi, %r18, %r18
16165 .word 0x8d802004 ! 368: WRFPRS_I wr %r0, 0x0004, %fprs
16166 setx 0x091254e8f256722d, %r1, %r28
16167 stxa %r28, [%g0] 0x73
16168intvec_8_289:
16169 .word 0x39400001 ! 369: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
16170 nop
16171 ta T_CHANGE_HPRIV
16172 mov 0x8, %r10
16173 set sync_thr_counter6, %r23
16174#ifndef SPC
16175 ldxa [%g0]0x63, %o1
16176 and %o1, 0x38, %o1
16177 add %o1, %r23, %r23
16178#endif
16179 cas [%r23],%g0,%r10 !lock
16180 brnz %r10, sma_8_290
16181 rd %asi, %r12
16182 wr %g0, 0x40, %asi
16183 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
16184 set 0x000e1fff, %g1
16185 stxa %g1, [%g0 + 0x80] %asi
16186 wr %r12, %g0, %asi
16187 st %g0, [%r23]
16188sma_8_290:
16189 ta T_CHANGE_NONHPRIV
16190 .word 0xe5e7e013 ! 370: CASA_R casa [%r31] %asi, %r19, %r18
16191donret_8_291:
16192 nop
16193 ta T_CHANGE_HPRIV ! macro
16194 rd %pc, %r12
16195 add %r12, (donretarg_8_291-donret_8_291-4), %r12
16196 mov 0x38, %r18
16197 stxa %r12, [%r18]0x58
16198 add %r12, 0x4, %r11
16199 wrpr %g0, 0x1, %tl
16200 wrpr %g0, %r12, %tpc
16201 wrpr %g0, %r11, %tnpc
16202 set (0x0040c27a | (4 << 24)), %r13
16203 rdpr %tstate, %r16
16204 mov 0x1f, %r19
16205 and %r19, %r16, %r17
16206 andn %r16, %r19, %r16
16207 or %r16, %r17, %r20
16208 wrpr %r20, %g0, %tstate
16209 wrhpr %g0, 0xc9f, %htstate
16210 ta T_CHANGE_NONPRIV ! rand=0 (8)
16211 .word 0x2a800001 ! 1: BCS bcs,a <label_0x1>
16212 done
16213donretarg_8_291:
16214 .word 0x99a509d0 ! 371: FDIVd fdivd %f20, %f16, %f12
16215 .word 0xab847fe1 ! 372: WR_CLEAR_SOFTINT_I wr %r17, 0x1fe1, %clear_softint
16216 .word 0xd68008a0 ! 373: LDUWA_R lduwa [%r0, %r0] 0x45, %r11
16217 nop
16218 ta T_CHANGE_HPRIV
16219 mov 0x8, %r10
16220 set sync_thr_counter6, %r23
16221#ifndef SPC
16222 ldxa [%g0]0x63, %o1
16223 and %o1, 0x38, %o1
16224 add %o1, %r23, %r23
16225#endif
16226 cas [%r23],%g0,%r10 !lock
16227 brnz %r10, sma_8_292
16228 rd %asi, %r12
16229 wr %g0, 0x40, %asi
16230 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
16231 set 0x00121fff, %g1
16232 stxa %g1, [%g0 + 0x80] %asi
16233 wr %r12, %g0, %asi
16234 st %g0, [%r23]
16235sma_8_292:
16236 ta T_CHANGE_NONHPRIV
16237 .word 0xd7e7e012 ! 374: CASA_R casa [%r31] %asi, %r18, %r11
16238br_longdelay2_8_293:
16239 .word 0x3a800001 ! 1: BCC bcc,a <label_0x1>
16240 .word 0x97a7c9ca ! 375: FDIVd fdivd %f62, %f10, %f42
16241dvapa_8_294:
16242 nop
16243 ta T_CHANGE_HPRIV
16244 mov 0xa76, %r20
16245 mov 0x10, %r19
16246 sllx %r20, 23, %r20
16247 or %r19, %r20, %r19
16248 stxa %r19, [%g0] ASI_LSU_CONTROL
16249 mov 0x38, %r18
16250 stxa %r31, [%r18]0x58
16251 ta T_CHANGE_NONHPRIV
16252 .word 0xd6dfc031 ! 376: LDXA_R ldxa [%r31, %r17] 0x01, %r11
16253splash_lsu_8_295:
16254 nop
16255 ta T_CHANGE_HPRIV
16256 set 0x7a1657d2, %r2
16257 mov 0x6, %r1
16258 sllx %r1, 32, %r1
16259 or %r1, %r2, %r2
16260 stxa %r2, [%r0] ASI_LSU_CONTROL
16261 ta T_CHANGE_NONHPRIV
16262 .word 0x3d400001 ! 377: FBPULE fbule,a,pn %fcc0, <label_0x1>
16263brcommon1_8_296:
16264 nop
16265 setx common_target, %r12, %r27
16266 lduw [%r27], %r12 ! Load common dest into dcache ..
16267 ba,a .+12
16268 .word 0x97a7c9cb ! 1: FDIVd fdivd %f62, %f42, %f42
16269 ba,a .+8
16270 jmpl %r27+0, %r27
16271 .word 0x9f803214 ! 378: SIR sir 0x1214
16272 .word 0x8d802004 ! 379: WRFPRS_I wr %r0, 0x0004, %fprs
16273splash_cmpr_8_297:
16274 nop
16275 setx 0x48d73dde454692a5, %l2, %l1
16276 ta T_CHANGE_PRIV
16277 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
16278 ta T_CHANGE_NONPRIV
16279 sub %l1, 40, %g1
16280 .word 0x89900011 ! 380: WRPR_TICK_R wrpr %r0, %r17, %tick
16281#if (defined SPC || defined CMP)
16282!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_8_298) + 8, 16, 16)) -> intp(5,0,15)
16283!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_8_298)&0xffffffff) + 8, 16, 16)) -> intp(5,0,15)
16284#else
16285 setx 0x1d0e66188bbce231, %r1, %r28
16286 stxa %r28, [%g0] 0x73
16287#endif
16288intvec_8_298:
16289 .word 0x39400001 ! 381: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
16290 .word 0x9194400c ! 382: WRPR_PIL_R wrpr %r17, %r12, %pil
16291splash_cmpr_8_300:
16292 nop
16293 setx 0x75cfb9cc09f35d44, %l2, %l1
16294 ta T_CHANGE_HPRIV
16295 wrhpr %l1, %g0, %hsys_tick_cmpr
16296 ta T_CHANGE_NONHPRIV
16297 sub %l1, 40, %g1
16298 .word 0x89900011 ! 383: WRPR_TICK_R wrpr %r0, %r17, %tick
16299 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
16300reduce_priv_lvl_8_301:
16301 ta T_CHANGE_NONPRIV ! macro
16302mondo_8_302:
16303 nop
16304 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
16305 ta T_CHANGE_PRIV
16306 stxa %r10, [%r0+0x3c8] %asi
16307 .word 0x9d930011 ! 385: WRPR_WSTATE_R wrpr %r12, %r17, %wstate
16308 .word 0xd037e182 ! 386: STH_I sth %r8, [%r31 + 0x0182]
16309 nop
16310 mov 0x80, %g3
16311 stxa %g3, [%g3] 0x5f
16312 .word 0xd05fc000 ! 387: LDX_R ldx [%r31 + %r0], %r8
16313 setx 0x03308d535a4517da, %r1, %r28
16314 stxa %r28, [%g0] 0x73
16315intvec_8_303:
16316 .word 0x39400001 ! 388: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
16317 .word 0xa3a0016a ! 389: FABSq dis not found
16318
16319donret_8_305:
16320 nop
16321 ta T_CHANGE_HPRIV ! macro
16322 rd %pc, %r12
16323 add %r12, (donretarg_8_305-donret_8_305-4), %r12
16324 mov 0x38, %r18
16325 stxa %r12, [%r18]0x58
16326 add %r12, 0x4, %r11
16327 wrpr %g0, 0x2, %tl
16328 wrpr %g0, %r12, %tpc
16329 wrpr %g0, %r11, %tnpc
16330 set (0x003eea37 | (0x82 << 24)), %r13
16331 rdpr %tstate, %r16
16332 mov 0x1f, %r19
16333 and %r19, %r16, %r17
16334 andn %r16, %r19, %r16
16335 or %r16, %r17, %r20
16336 wrpr %r20, %g0, %tstate
16337 wrhpr %g0, 0x847, %htstate
16338 ta T_CHANGE_NONPRIV ! rand=0 (8)
16339 .word 0x2acc8001 ! 1: BRNZ brnz,a,pt %r18,<label_0xc8001>
16340 done
16341donretarg_8_305:
16342 .word 0xe8ffe16e ! 390: SWAPA_I swapa %r20, [%r31 + 0x016e] %asi
16343 .word 0xe897e010 ! 391: LDUHA_I lduha [%r31, + 0x0010] %asi, %r20
16344 .word 0xe8d7e150 ! 392: LDSHA_I ldsha [%r31, + 0x0150] %asi, %r20
16345pmu_8_306:
16346 nop
16347 ta T_CHANGE_PRIV
16348 setx 0xfffff357fffff584, %g1, %g7
16349 .word 0xa3800007 ! 393: WR_PERF_COUNTER_R wr %r0, %r7, %-
16350 setx vahole_target2, %r18, %r27
16351 .word 0xe1bfe040 ! 394: STDFA_I stda %f16, [0x0040, %r31]
16352trapasi_8_308:
16353 nop
16354 mov 0x30, %r1 ! (VA for ASI 0x5a)
16355 .word 0xe8d04b40 ! 395: LDSHA_R ldsha [%r1, %r0] 0x5a, %r20
16356trapasi_8_309:
16357 nop
16358 mov 0x18, %r1 ! (VA for ASI 0x50)
16359 .word 0xe8d04a00 ! 396: LDSHA_R ldsha [%r1, %r0] 0x50, %r20
16360ibp_8_310:
16361 nop
16362 ta T_CHANGE_NONHPRIV
16363 .word 0xe89fc029 ! 397: LDDA_R ldda [%r31, %r9] 0x01, %r20
16364intveclr_8_311:
16365 nop
16366 ta T_CHANGE_HPRIV
16367 setx 0xa982c923172ba1f1, %r1, %r28
16368 stxa %r28, [%g0] 0x72
16369 ta T_CHANGE_NONHPRIV
16370 .word 0x25400001 ! 398: FBPLG fblg,a,pn %fcc0, <label_0x1>
16371splash_tba_8_312:
16372 ta T_CHANGE_PRIV
16373 set 0x120000, %r12
16374 .word 0x8b90000c ! 399: WRPR_TBA_R wrpr %r0, %r12, %tba
16375pmu_8_313:
16376 nop
16377 ta T_CHANGE_PRIV
16378 setx 0xfffff928fffff9ae, %g1, %g7
16379 .word 0xa3800007 ! 400: WR_PERF_COUNTER_R wr %r0, %r7, %-
16380 nop
16381 nop
16382 ta T_CHANGE_PRIV
16383 wrpr %g0, %g0, %gl
16384 nop
16385 nop
16386 setx join_lbl_0_0, %g1, %g2
16387 jmp %g2
16388 nop
16389fork_lbl_0_3:
16390 rd %asi, %r12
16391#ifdef XIR_RND_CORES
16392setup_xir_4:
16393 setx 0x0b7168470089775c, %r1, %r28
16394 mov 0x30, %r17
16395 stxa %r28, [%r17] 0x41
16396#endif
16397setup_spu_4:
16398 wr %g0, 0x40, %asi
16399 !# allocate control word queue (e.g., setup head/tail/first/last registers)
16400 set CWQ_BASE, %l6
16401
16402 !# write base addr to first, head, and tail ptr
16403 !# first store to first
16404 stxa %l6, [%g0 + ASI_SPU_CWQ_FIRST] %asi !# first store to first
16405
16406 stxa %l6, [%g0 + ASI_SPU_CWQ_HEAD] %asi !# then to head
16407 stxa %l6, [%g0 + ASI_SPU_CWQ_TAIL] %asi !# then to tail
16408 setx CWQ_LAST, %g1, %l5 !# then end of CWQ region to LAST
16409 stxa %l5, [%g0 + ASI_SPU_CWQ_LAST] %asi
16410
16411 !# set CWQ control word ([38:36] is strand ID ..)
16412 best_set_reg(0x20610000, %l1, %l2) !# Control Word
16413 sllx %l2, 32, %l2
16414
16415 !# write CWQ entry (%l6 points to CWQ)
16416 stx %l2, [%l6 + 0x0]
16417
16418 setx msg, %g1, %l2
16419 stx %l2, [%l6 + 0x8] !# source address
16420
16421 stx %g0, [%l6 + 0x10] !# Authentication Key Address (40-bit)
16422 stx %g0, [%l6 + 0x18] !# Authentication IV Address (40-bit)
16423 stx %g0, [%l6 + 0x20] !# Authentication FSAS Address (40-bit)
16424 stx %g0, [%l6 + 0x28] !# Encryption Key Address (40-bit)
16425 stx %g0, [%l6 + 0x30] !# Encryption Initialization Vector Address (40-bit)
16426
16427 setx results, %g1, %o3
16428 stx %o3, [%l6 + 0x38] !# Destination Address (40-bit)
16429
16430 membar #Sync
16431
16432 ldxa [%g0 + ASI_SPU_CWQ_TAIL] %asi, %l2
16433 add %l2, 0x40, %l2
16434 stxa %l2, [%g0 + ASI_SPU_CWQ_TAIL] %asi
16435
16436 !# Kick off the CWQ operation by writing to the CWQ_CSR
16437 !# Set the enabled bit and reset the other bits
16438 or %g0, 0x1, %g1
16439 stxa %g1, [%g0 + ASI_SPU_CWQ_CSR] %asi
16440
16441unlock_sync_thds_4:
16442 set sync_thr_counter6, %r23
16443#ifndef SPC
16444 ldxa [%g0]0x63, %o2
16445 and %o2, 0x38, %o2
16446 add %o2, %r23, %r23
16447#endif
16448 st %r0, [%r23] !unlock sync_thr_counter6
16449 sub %r23, 64, %r23
16450 st %r0, [%r23] !unlock sync_thr_counter5
16451 sub %r23, 64, %r23
16452 st %r0, [%r23] !unlock sync_thr_counter4
16453
16454 wr %r0, %r12, %asi
16455 ta T_CHANGE_NONHPRIV
16456 setx vahole_target1, %r18, %r27
16457 .word 0xe497c02c ! 1: LDUHA_R lduha [%r31, %r12] 0x01, %r18
16458jmptr_4_1:
16459 nop
16460 best_set_reg(0xe1200000, %r20, %r27)
16461 .word 0xb7c6c000 ! 2: JMPL_R jmpl %r27 + %r0, %r27
16462 .word 0x36800001 ! 3: BGE bge,a <label_0x1>
16463 .word 0xe1bfc2c0 ! 4: STDFA_R stda %f16, [%r0, %r31]
16464 nop
16465 ta T_CHANGE_HPRIV
16466 mov 0x4, %r10
16467 set sync_thr_counter6, %r23
16468#ifndef SPC
16469 ldxa [%g0]0x63, %o1
16470 and %o1, 0x38, %o1
16471 add %o1, %r23, %r23
16472#endif
16473 cas [%r23],%g0,%r10 !lock
16474 brnz %r10, sma_4_2
16475 rd %asi, %r12
16476 wr %g0, 0x40, %asi
16477 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
16478 set 0x00121fff, %g1
16479 stxa %g1, [%g0 + 0x80] %asi
16480 wr %r12, %g0, %asi
16481 st %g0, [%r23]
16482sma_4_2:
16483 ta T_CHANGE_NONHPRIV
16484 .word 0xe5e7e011 ! 5: CASA_R casa [%r31] %asi, %r17, %r18
16485 setx vahole_target2, %r18, %r27
16486 .word 0xa9a309a9 ! 6: FDIVs fdivs %f12, %f9, %f20
16487 .word 0xe19fe1c0 ! 7: LDDFA_I ldda [%r31, 0x01c0], %f16
16488ibp_4_4:
16489 nop
16490 ta T_CHANGE_NONHPRIV
16491 .word 0xe19fda00 ! 8: LDDFA_R ldda [%r31, %r0], %f16
16492iaw_4_5:
16493 nop
16494 ta T_CHANGE_HPRIV
16495 mov 8, %r18
16496 rd %asi, %r12
16497 wr %r0, 0x41, %asi
16498 set sync_thr_counter4, %r23
16499#ifndef SPC
16500 ldxa [%g0]0x63, %r8
16501 and %r8, 0x38, %r8 ! Core ID
16502 add %r8, %r23, %r23
16503#else
16504 mov 0, %r8
16505#endif
16506 mov 0x4, %r16
16507iaw_startwait4_5:
16508 cas [%r23],%g0,%r16 !lock
16509 brz,a %r16, continue_iaw_4_5
16510 mov (~0x4&0xf), %r16
16511 ld [%r23], %r16
16512iaw_wait4_5:
16513 brnz %r16, iaw_wait4_5
16514 ld [%r23], %r16
16515 ba iaw_startwait4_5
16516 mov 0x4, %r16
16517continue_iaw_4_5:
16518 sllx %r16, %r8, %r16 !Mask for my core only
16519 ldxa [0x58]%asi, %r17 !Running_status
16520wait_for_stat_4_5:
16521 ldxa [0x50]%asi, %r13 !Running_rw
16522 cmp %r13, %r17
16523 bne,a wait_for_stat_4_5
16524 ldxa [0x58]%asi, %r17 !Running_status
16525 stxa %r16, [0x68]%asi !Park (W1C)
16526 ldxa [0x50]%asi, %r14 !Running_rw
16527wait_for_iaw_4_5:
16528 ldxa [0x58]%asi, %r17 !Running_status
16529 cmp %r14, %r17
16530 bne,a wait_for_iaw_4_5
16531 ldxa [0x50]%asi, %r14 !Running_rw
16532iaw_doit4_5:
16533 mov 0x38, %r18
16534iaw3_4_5:
16535 setx common_target, %r20, %r19
16536 or %r19, 0x1, %r19
16537 stxa %r19, [%r18]0x50
16538 stxa %r16, [0x60] %asi ! Unpark (W1S)
16539 st %g0, [%r23] !clear lock
16540 wr %r0, %r12, %asi ! restore %asi
16541 ta T_CHANGE_NONHPRIV
16542 .word 0xe1bfe020 ! 9: STDFA_I stda %f16, [0x0020, %r31]
16543pmu_4_6:
16544 nop
16545 setx 0xffffff90fffffaef, %g1, %g7
16546 .word 0xa3800007 ! 10: WR_PERF_COUNTER_R wr %r0, %r7, %-
16547ibp_4_7:
16548 nop
16549 ta T_CHANGE_NONHPRIV
16550 .word 0xc1bfe000 ! 11: STDFA_I stda %f0, [0x0000, %r31]
16551 .word 0x9f8036c1 ! 12: SIR sir 0x16c1
16552brcommon1_4_8:
16553 nop
16554 setx common_target, %r12, %r27
16555 lduw [%r27], %r12 ! Load common dest into dcache ..
16556 ba,a .+12
16557 .word 0xa3702e80 ! 1: POPC_I popc 0x0e80, %r17
16558 ba,a .+8
16559 jmpl %r27+0, %r27
16560 .word 0xa7a489aa ! 13: FDIVs fdivs %f18, %f10, %f19
16561 .word 0xa7540000 ! 14: RDPR_GL <illegal instruction>
16562splash_lsu_4_9:
16563 nop
16564 ta T_CHANGE_HPRIV
16565 set 0xf236ee58, %r2
16566 mov 0x3, %r1
16567 sllx %r1, 32, %r1
16568 or %r1, %r2, %r2
16569 stxa %r2, [%r0] ASI_LSU_CONTROL
16570 .word 0x3d400001 ! 15: FBPULE fbule,a,pn %fcc0, <label_0x1>
16571 .word 0xe82fe063 ! 16: STB_I stb %r20, [%r31 + 0x0063]
16572pmu_4_10:
16573 nop
16574 setx 0xfffff676fffff63a, %g1, %g7
16575 .word 0xa3800007 ! 17: WR_PERF_COUNTER_R wr %r0, %r7, %-
16576 .word 0x9f80397a ! 18: SIR sir 0x197a
16577 .word 0x8d903076 ! 19: WRPR_PSTATE_I wrpr %r0, 0x1076, %pstate
16578dvapa_4_12:
16579 nop
16580 ta T_CHANGE_HPRIV
16581 mov 0xffe, %r20
16582 mov 0xd, %r19
16583 sllx %r20, 23, %r20
16584 or %r19, %r20, %r19
16585 stxa %r19, [%g0] ASI_LSU_CONTROL
16586 mov 0x38, %r18
16587 stxa %r31, [%r18]0x58
16588 ta T_CHANGE_NONHPRIV
16589 .word 0xc19fdc00 ! 20: LDDFA_R ldda [%r31, %r0], %f0
16590splash_cmpr_4_13:
16591 nop
16592 setx 0xac48165d5e75bf31, %l2, %l1
16593 ta T_CHANGE_PRIV
16594 .word 0xaf800011 ! 1: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
16595 sub %l1, 40, %g1
16596 .word 0x89900011 ! 21: WRPR_TICK_R wrpr %r0, %r17, %tick
16597donret_4_14:
16598 nop
16599 ta T_CHANGE_HPRIV ! macro
16600 rd %pc, %r12
16601 add %r12, (donretarg_4_14-donret_4_14-8), %r12
16602 mov 0x38, %r18
16603 stxa %r12, [%r18]0x58
16604 add %r12, 0x4, %r11
16605 wrpr %g0, 0x1, %tl
16606 wrpr %g0, %r12, %tpc
16607 wrpr %g0, %r11, %tnpc
16608 set (0x00cd574a | (0x88 << 24)), %r13
16609 rdpr %tstate, %r16
16610 mov 0x1f, %r19
16611 and %r19, %r16, %r17
16612 andn %r16, %r19, %r16
16613 or %r16, %r17, %r20
16614 wrpr %r20, %g0, %tstate
16615 wrhpr %g0, 0x446, %htstate
16616 ta T_CHANGE_NONHPRIV ! rand=1 (4)
16617 .word 0x3c800001 ! 1: BPOS bpos,a <label_0x1>
16618 retry
16619donretarg_4_14:
16620 .word 0x9ba0c9d4 ! 22: FDIVd fdivd %f34, %f20, %f44
16621trapasi_4_15:
16622 nop
16623 mov 0x38, %r1 ! (VA for ASI 0x50)
16624 .word 0xdad84a00 ! 23: LDXA_R ldxa [%r1, %r0] 0x50, %r13
16625dvapa_4_16:
16626 nop
16627 ta T_CHANGE_HPRIV
16628 mov 0xbc9, %r20
16629 mov 0x18, %r19
16630 sllx %r20, 23, %r20
16631 or %r19, %r20, %r19
16632 stxa %r19, [%g0] ASI_LSU_CONTROL
16633 mov 0x38, %r18
16634 stxa %r31, [%r18]0x58
16635 ta T_CHANGE_NONHPRIV
16636 .word 0xdabfc029 ! 24: STDA_R stda %r13, [%r31 + %r9] 0x01
16637 .word 0x8d802004 ! 25: WRFPRS_I wr %r0, 0x0004, %fprs
16638 .word 0xdbe7c020 ! 26: CASA_I casa [%r31] 0x 1, %r0, %r13
16639splash_cmpr_4_18:
16640 nop
16641 setx 0x2e17df1330594be1, %l2, %l1
16642 ta T_CHANGE_HPRIV
16643 wrhpr %l1, %g0, %hsys_tick_cmpr
16644 sub %l1, 40, %g1
16645 .word 0x89900011 ! 27: WRPR_TICK_R wrpr %r0, %r17, %tick
16646intveclr_4_19:
16647 nop
16648 ta T_CHANGE_HPRIV
16649 setx 0x4b72d20da624d163, %r1, %r28
16650 stxa %r28, [%g0] 0x72
16651 ta T_CHANGE_NONHPRIV
16652 .word 0x25400001 ! 28: FBPLG fblg,a,pn %fcc0, <label_0x1>
16653intveclr_4_20:
16654 nop
16655 ta T_CHANGE_HPRIV
16656 setx 0xd2e73c3e91ad1616, %r1, %r28
16657 stxa %r28, [%g0] 0x72
16658 ta T_CHANGE_NONHPRIV
16659 .word 0x25400001 ! 29: FBPLG fblg,a,pn %fcc0, <label_0x1>
16660 nop
16661 ta T_CHANGE_HPRIV
16662 mov 0x4, %r10
16663 set sync_thr_counter6, %r23
16664#ifndef SPC
16665 ldxa [%g0]0x63, %o1
16666 and %o1, 0x38, %o1
16667 add %o1, %r23, %r23
16668#endif
16669 cas [%r23],%g0,%r10 !lock
16670 brnz %r10, sma_4_21
16671 rd %asi, %r12
16672 wr %g0, 0x40, %asi
16673 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
16674 set 0x000e1fff, %g1
16675 stxa %g1, [%g0 + 0x80] %asi
16676 wr %r12, %g0, %asi
16677 st %g0, [%r23]
16678sma_4_21:
16679 ta T_CHANGE_NONHPRIV
16680 .word 0xdbe7e009 ! 30: CASA_R casa [%r31] %asi, %r9, %r13
16681cmp_4_22:
16682 nop
16683 ta T_CHANGE_HPRIV
16684 rd %asi, %r12
16685 wr %r0, 0x41, %asi
16686 set sync_thr_counter4, %r23
16687#ifndef SPC
16688 ldxa [%g0]0x63, %r8
16689 and %r8, 0x38, %r8 ! Core ID
16690 add %r8, %r23, %r23
16691 mov 0xff, %r9
16692 xor %r9, 0x4, %r9
16693 sllx %r9, %r8, %r9 ! My core mask
16694#else
16695 mov 0, %r8
16696 mov 0xff, %r9
16697 xor %r9, 0x4, %r9 ! My core mask
16698#endif
16699 mov 0x4, %r10
16700cmp_startwait4_22:
16701 cas [%r23],%g0,%r10 !lock
16702 brz,a %r10, continue_cmp_4_22
16703 ldxa [0x50]%asi, %r13 !Running_rw
16704 ld [%r23], %r10
16705cmp_wait4_22:
16706 brnz,a %r10, cmp_wait4_22
16707 ld [%r23], %r10
16708 ba cmp_startwait4_22
16709 mov 0x4, %r10
16710continue_cmp_4_22:
16711 ldxa [0x58]%asi, %r14 !Running_status
16712 xnor %r14, %r13, %r14 !Bits equal
16713 brz,a %r8, cmp_multi_core_4_22
16714 mov 52, %r17
16715 best_set_reg(0xca51726d2f7ba96c, %r16, %r17)
16716cmp_multi_core_4_22:
16717 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
16718 and %r14, %r9, %r14 !Apply core-mask
16719 stxa %r14, [0x60]%asi
16720 st %g0, [%r23] !clear lock
16721 wr %g0, %r12, %asi
16722 .word 0xa3a00173 ! 31: FABSq dis not found
16723
16724memptr_4_23:
16725 set 0x60340000, %r31
16726 .word 0x8581f7bb ! 32: WRCCR_I wr %r7, 0x17bb, %ccr
16727splash_tba_4_24:
16728 ta T_CHANGE_PRIV
16729 set 0x120000, %r12
16730 .word 0x8b90000c ! 33: WRPR_TBA_R wrpr %r0, %r12, %tba
16731 .word 0xe45fe150 ! 34: LDX_I ldx [%r31 + 0x0150], %r18
16732 .word 0x9f803192 ! 35: SIR sir 0x1192
16733mondo_4_25:
16734 nop
16735 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
16736 stxa %r17, [%r0+0x3e0] %asi
16737 .word 0x9d940011 ! 36: WRPR_WSTATE_R wrpr %r16, %r17, %wstate
16738donret_4_26:
16739 nop
16740 ta T_CHANGE_HPRIV ! macro
16741 rd %pc, %r12
16742 add %r12, (donretarg_4_26-donret_4_26-8), %r12
16743 mov 0x38, %r18
16744 stxa %r12, [%r18]0x58
16745 add %r12, 0x4, %r11
16746 wrpr %g0, 0x1, %tl
16747 wrpr %g0, %r12, %tpc
16748 wrpr %g0, %r11, %tnpc
16749 set (0x0046fb7b | (0x58 << 24)), %r13
16750 rdpr %tstate, %r16
16751 mov 0x1f, %r19
16752 and %r19, %r16, %r17
16753 andn %r16, %r19, %r16
16754 or %r16, %r17, %r20
16755 wrpr %r20, %g0, %tstate
16756 wrhpr %g0, 23, %htstate
16757 ta T_CHANGE_NONHPRIV ! rand=1 (4)
16758 retry
16759donretarg_4_26:
16760 .word 0xe46fe086 ! 37: LDSTUB_I ldstub %r18, [%r31 + 0x0086]
16761donret_4_27:
16762 nop
16763 ta T_CHANGE_HPRIV ! macro
16764 rd %pc, %r12
16765 add %r12, (donretarg_4_27-donret_4_27-4), %r12
16766 mov 0x38, %r18
16767 stxa %r12, [%r18]0x58
16768 add %r12, 0x4, %r11
16769 wrpr %g0, 0x1, %tl
16770 wrpr %g0, %r12, %tpc
16771 wrpr %g0, %r11, %tnpc
16772 set (0x00d61de1 | (0x58 << 24)), %r13
16773 rdpr %tstate, %r16
16774 mov 0x1f, %r19
16775 and %r19, %r16, %r17
16776 andn %r16, %r19, %r16
16777 or %r16, %r17, %r20
16778 wrpr %r20, %g0, %tstate
16779 wrhpr %g0, 0x85c, %htstate
16780 ta T_CHANGE_NONHPRIV ! rand=1 (4)
16781 .word 0x34800001 ! 1: BG bg,a <label_0x1>
16782 done
16783donretarg_4_27:
16784 .word 0xe46fe119 ! 38: LDSTUB_I ldstub %r18, [%r31 + 0x0119]
16785cmp_4_28:
16786 nop
16787 ta T_CHANGE_HPRIV
16788 rd %asi, %r12
16789 wr %r0, 0x41, %asi
16790 set sync_thr_counter4, %r23
16791#ifndef SPC
16792 ldxa [%g0]0x63, %r8
16793 and %r8, 0x38, %r8 ! Core ID
16794 add %r8, %r23, %r23
16795 mov 0xff, %r9
16796 xor %r9, 0x4, %r9
16797 sllx %r9, %r8, %r9 ! My core mask
16798#else
16799 mov 0, %r8
16800 mov 0xff, %r9
16801 xor %r9, 0x4, %r9 ! My core mask
16802#endif
16803 mov 0x4, %r10
16804cmp_startwait4_28:
16805 cas [%r23],%g0,%r10 !lock
16806 brz,a %r10, continue_cmp_4_28
16807 ldxa [0x50]%asi, %r13 !Running_rw
16808 ld [%r23], %r10
16809cmp_wait4_28:
16810 brnz,a %r10, cmp_wait4_28
16811 ld [%r23], %r10
16812 ba cmp_startwait4_28
16813 mov 0x4, %r10
16814continue_cmp_4_28:
16815 ldxa [0x58]%asi, %r14 !Running_status
16816 xnor %r14, %r13, %r14 !Bits equal
16817 brz,a %r8, cmp_multi_core_4_28
16818 mov 40, %r17
16819 best_set_reg(0x6e19ad6427e8ab6f, %r16, %r17)
16820cmp_multi_core_4_28:
16821 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
16822 and %r14, %r9, %r14 !Apply core-mask
16823 stxa %r14, [0x60]%asi
16824 st %g0, [%r23] !clear lock
16825 wr %g0, %r12, %asi
16826 .word 0x91930011 ! 39: WRPR_PIL_R wrpr %r12, %r17, %pil
16827pmu_4_29:
16828 nop
16829 ta T_CHANGE_PRIV
16830 setx 0xfffff74dfffff480, %g1, %g7
16831 .word 0xa3800007 ! 40: WR_PERF_COUNTER_R wr %r0, %r7, %-
16832 .word 0xc32fc000 ! 41: STXFSR_R st-sfr %f1, [%r0, %r31]
16833splash_tba_4_31:
16834 ta T_CHANGE_PRIV
16835 setx 0x0000000400380000, %r11, %r12
16836 .word 0x8b90000c ! 42: WRPR_TBA_R wrpr %r0, %r12, %tba
16837intveclr_4_32:
16838 nop
16839 ta T_CHANGE_HPRIV
16840 setx 0xddc19fb703e143f0, %r1, %r28
16841 stxa %r28, [%g0] 0x72
16842 ta T_CHANGE_NONHPRIV
16843 .word 0x25400001 ! 43: FBPLG fblg,a,pn %fcc0, <label_0x1>
16844 .word 0xe497e1f0 ! 44: LDUHA_I lduha [%r31, + 0x01f0] %asi, %r18
16845 otherw
16846 mov 0xb4, %r30
16847 .word 0x83d0001e ! 45: Tcc_R te icc_or_xcc, %r0 + %r30
16848 .word 0xa9804011 ! 46: WR_SET_SOFTINT_R wr %r1, %r17, %set_softint
16849 nop
16850 ta T_CHANGE_HPRIV
16851 mov 0x4+1, %r10
16852 set sync_thr_counter5, %r23
16853#ifndef SPC
16854 ldxa [%g0]0x63, %o1
16855 and %o1, 0x38, %o1
16856 add %o1, %r23, %r23
16857#endif
16858 cas [%r23],%g0,%r10 !lock
16859 brnz %r10, cwq_4_33
16860 rd %asi, %r12
16861 wr %g0, 0x40, %asi
16862 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
16863 and %l1, 0x3, %l1 ! Check if busy/enabled ..
16864 cmp %l1, 1
16865 bne cwq_4_33
16866 set CWQ_BASE, %l6
16867 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
16868 best_set_reg(0x20610060, %l1, %l2) !# Control Word
16869 sllx %l2, 32, %l2
16870 stx %l2, [%l6 + 0x0]
16871 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
16872 sub %l2, 0x40, %l2
16873 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
16874 wr %r12, %g0, %asi
16875 st %g0, [%r23]
16876cwq_4_33:
16877 ta T_CHANGE_NONHPRIV
16878 .word 0xa7414000 ! 47: RDPC rd %pc, %r19
16879tagged_4_34:
16880 tsubcctv %r3, 0x14ed, %r17
16881 .word 0xe807e1cc ! 48: LDUW_I lduw [%r31 + 0x01cc], %r20
16882splash_lsu_4_35:
16883 nop
16884 ta T_CHANGE_HPRIV
16885 set 0x674f8bc6, %r2
16886 mov 0x2, %r1
16887 sllx %r1, 32, %r1
16888 or %r1, %r2, %r2
16889 stxa %r2, [%r0] ASI_LSU_CONTROL
16890 ta T_CHANGE_NONHPRIV
16891 .word 0x3d400001 ! 49: FBPULE fbule,a,pn %fcc0, <label_0x1>
16892ibp_4_36:
16893 nop
16894 .word 0x9f803105 ! 50: SIR sir 0x1105
16895cmp_4_37:
16896 nop
16897 ta T_CHANGE_HPRIV
16898 rd %asi, %r12
16899 wr %r0, 0x41, %asi
16900 set sync_thr_counter4, %r23
16901#ifndef SPC
16902 ldxa [%g0]0x63, %r8
16903 and %r8, 0x38, %r8 ! Core ID
16904 add %r8, %r23, %r23
16905 mov 0xff, %r9
16906 xor %r9, 0x4, %r9
16907 sllx %r9, %r8, %r9 ! My core mask
16908#else
16909 mov 0, %r8
16910 mov 0xff, %r9
16911 xor %r9, 0x4, %r9 ! My core mask
16912#endif
16913 mov 0x4, %r10
16914cmp_startwait4_37:
16915 cas [%r23],%g0,%r10 !lock
16916 brz,a %r10, continue_cmp_4_37
16917 ldxa [0x50]%asi, %r13 !Running_rw
16918 ld [%r23], %r10
16919cmp_wait4_37:
16920 brnz,a %r10, cmp_wait4_37
16921 ld [%r23], %r10
16922 ba cmp_startwait4_37
16923 mov 0x4, %r10
16924continue_cmp_4_37:
16925 ldxa [0x58]%asi, %r14 !Running_status
16926 xnor %r14, %r13, %r14 !Bits equal
16927 brz,a %r8, cmp_multi_core_4_37
16928 mov 0x79, %r17
16929 best_set_reg(0x890cce537194423a, %r16, %r17)
16930cmp_multi_core_4_37:
16931 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
16932 and %r14, %r9, %r14 !Apply core-mask
16933 stxa %r14, [0x68]%asi
16934 st %g0, [%r23] !clear lock
16935 wr %g0, %r12, %asi
16936 .word 0xa7a00164 ! 51: FABSq dis not found
16937
16938intveclr_4_38:
16939 nop
16940 ta T_CHANGE_HPRIV
16941 setx 0x1b3f5efce02f5ba5, %r1, %r28
16942 stxa %r28, [%g0] 0x72
16943 .word 0x25400001 ! 52: FBPLG fblg,a,pn %fcc0, <label_0x1>
16944mondo_4_39:
16945 nop
16946 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
16947 stxa %r12, [%r0+0x3e0] %asi
16948 .word 0x9d908013 ! 53: WRPR_WSTATE_R wrpr %r2, %r19, %wstate
16949pmu_4_40:
16950 nop
16951 setx 0xfffffae1fffff345, %g1, %g7
16952 .word 0xa3800007 ! 54: WR_PERF_COUNTER_R wr %r0, %r7, %-
16953dvapa_4_41:
16954 nop
16955 ta T_CHANGE_HPRIV
16956 mov 0xede, %r20
16957 mov 0x15, %r19
16958 sllx %r20, 23, %r20
16959 or %r19, %r20, %r19
16960 stxa %r19, [%g0] ASI_LSU_CONTROL
16961 mov 0x38, %r18
16962 stxa %r31, [%r18]0x58
16963 ta T_CHANGE_NONHPRIV
16964 .word 0xe1bfdc00 ! 55: STDFA_R stda %f16, [%r0, %r31]
16965pmu_4_42:
16966 nop
16967 setx 0xfffffba4fffff2e5, %g1, %g7
16968 .word 0xa3800007 ! 56: WR_PERF_COUNTER_R wr %r0, %r7, %-
16969tagged_4_43:
16970 taddcctv %r18, 0x1f81, %r16
16971 .word 0xe807e0f4 ! 57: LDUW_I lduw [%r31 + 0x00f4], %r20
16972splash_lsu_4_44:
16973 nop
16974 ta T_CHANGE_HPRIV
16975 set 0x8eac52ba, %r2
16976 mov 0x7, %r1
16977 sllx %r1, 32, %r1
16978 or %r1, %r2, %r2
16979 stxa %r2, [%r0] ASI_LSU_CONTROL
16980 ta T_CHANGE_NONHPRIV
16981 .word 0x3d400001 ! 58: FBPULE fbule,a,pn %fcc0, <label_0x1>
16982trapasi_4_45:
16983 nop
16984 mov 0x3d0, %r1 ! (VA for ASI 0x25)
16985 .word 0xe8d044a0 ! 59: LDSHA_R ldsha [%r1, %r0] 0x25, %r20
16986 .word 0xa1a2c9b2 ! 60: FDIVs fdivs %f11, %f18, %f16
16987jmptr_4_46:
16988 nop
16989 best_set_reg(0xe1200000, %r20, %r27)
16990 .word 0xb7c6c000 ! 61: JMPL_R jmpl %r27 + %r0, %r27
16991 .word 0xd23fc000 ! 62: STD_R std %r9, [%r31 + %r0]
16992splash_cmpr_4_48:
16993 nop
16994 setx 0x99b8a69051177e29, %l2, %l1
16995 ta T_CHANGE_HPRIV
16996 wrhpr %l1, %g0, %hsys_tick_cmpr
16997 ta T_CHANGE_NONHPRIV
16998 sub %l1, 40, %g1
16999 .word 0xb1800011 ! 63: WR_STICK_REG_R wr %r0, %r17, %-
17000 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
17001reduce_priv_lvl_4_49:
17002 ta T_CHANGE_NONPRIV ! macro
17003mondo_4_50:
17004 nop
17005 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
17006 ta T_CHANGE_PRIV
17007 stxa %r16, [%r0+0x3d8] %asi
17008 .word 0x9d940010 ! 65: WRPR_WSTATE_R wrpr %r16, %r16, %wstate
17009donret_4_51:
17010 nop
17011 ta T_CHANGE_HPRIV ! macro
17012 rd %pc, %r12
17013 add %r12, (donretarg_4_51-donret_4_51-4), %r12
17014 mov 0x38, %r18
17015 stxa %r12, [%r18]0x58
17016 add %r12, 0x4, %r11
17017 wrpr %g0, 0x1, %tl
17018 wrpr %g0, %r12, %tpc
17019 wrpr %g0, %r11, %tnpc
17020 set (0x00e73934 | (16 << 24)), %r13
17021 rdpr %tstate, %r16
17022 mov 0x1f, %r19
17023 and %r19, %r16, %r17
17024 andn %r16, %r19, %r16
17025 or %r16, %r17, %r20
17026 wrpr %r20, %g0, %tstate
17027 wrhpr %g0, 0x707, %htstate
17028 ta T_CHANGE_NONHPRIV ! rand=1 (4)
17029 done
17030donretarg_4_51:
17031 .word 0x97a4c9d1 ! 66: FDIVd fdivd %f50, %f48, %f42
17032brcommon1_4_52:
17033 nop
17034 setx common_target, %r12, %r27
17035 lduw [%r27], %r12 ! Load common dest into dcache ..
17036 ba,a .+12
17037 .word 0xc32ff105 ! 1: STXFSR_I st-sfr %f1, [0x1105, %r31]
17038 ba,a .+8
17039 jmpl %r27+0, %r27
17040 .word 0xa9a189c8 ! 67: FDIVd fdivd %f6, %f8, %f20
17041jmptr_4_53:
17042 nop
17043 best_set_reg(0xe1200000, %r20, %r27)
17044 .word 0xb7c6c000 ! 68: JMPL_R jmpl %r27 + %r0, %r27
17045splash_tba_4_54:
17046 ta T_CHANGE_PRIV
17047 setx 0x0000000400380000, %r11, %r12
17048 .word 0x8b90000c ! 69: WRPR_TBA_R wrpr %r0, %r12, %tba
17049trapasi_4_55:
17050 nop
17051 mov 0x0, %r1 ! (VA for ASI 0x72)
17052 .word 0xd4884e40 ! 70: LDUBA_R lduba [%r1, %r0] 0x72, %r10
17053pmu_4_56:
17054 nop
17055 setx 0xfffff1b6fffffa1f, %g1, %g7
17056 .word 0xa3800007 ! 71: WR_PERF_COUNTER_R wr %r0, %r7, %-
17057donret_4_57:
17058 nop
17059 ta T_CHANGE_HPRIV ! macro
17060 rd %pc, %r12
17061 add %r12, (donretarg_4_57-donret_4_57-4), %r12
17062 mov 0x38, %r18
17063 stxa %r12, [%r18]0x58
17064 add %r12, 0x4, %r11
17065 wrpr %g0, 0x2, %tl
17066 wrpr %g0, %r12, %tpc
17067 wrpr %g0, %r11, %tnpc
17068 set (0x002046b1 | (0x8a << 24)), %r13
17069 rdpr %tstate, %r16
17070 mov 0x1f, %r19
17071 and %r19, %r16, %r17
17072 andn %r16, %r19, %r16
17073 or %r16, %r17, %r20
17074 wrpr %r20, %g0, %tstate
17075 wrhpr %g0, 0xe84, %htstate
17076 ta T_CHANGE_NONHPRIV ! rand=1 (4)
17077 done
17078donretarg_4_57:
17079 .word 0xd4ffe054 ! 72: SWAPA_I swapa %r10, [%r31 + 0x0054] %asi
17080brcommon1_4_58:
17081 nop
17082 setx common_target, %r12, %r27
17083 lduw [%r27], %r12 ! Load common dest into dcache ..
17084 ba,a .+12
17085 .word 0xd5e7c030 ! 1: CASA_I casa [%r31] 0x 1, %r16, %r10
17086 ba,a .+8
17087 jmpl %r27+0, %r27
17088 .word 0x95a449b0 ! 73: FDIVs fdivs %f17, %f16, %f10
17089 .word 0xc1bfe020 ! 74: STDFA_I stda %f0, [0x0020, %r31]
17090dvapa_4_59:
17091 nop
17092 ta T_CHANGE_HPRIV
17093 mov 0xd72, %r20
17094 mov 0x7, %r19
17095 sllx %r20, 23, %r20
17096 or %r19, %r20, %r19
17097 stxa %r19, [%g0] ASI_LSU_CONTROL
17098 mov 0x38, %r18
17099 stxa %r31, [%r18]0x58
17100 ta T_CHANGE_NONHPRIV
17101 .word 0xe0dfc033 ! 75: LDXA_R ldxa [%r31, %r19] 0x01, %r16
17102donret_4_60:
17103 nop
17104 ta T_CHANGE_HPRIV ! macro
17105 rd %pc, %r12
17106 add %r12, (donretarg_4_60-donret_4_60-8), %r12
17107 mov 0x38, %r18
17108 stxa %r12, [%r18]0x58
17109 add %r12, 0x4, %r11
17110 wrpr %g0, 0x1, %tl
17111 wrpr %g0, %r12, %tpc
17112 wrpr %g0, %r11, %tnpc
17113 set (0x00b156f4 | (0x58 << 24)), %r13
17114 rdpr %tstate, %r16
17115 mov 0x1f, %r19
17116 and %r19, %r16, %r17
17117 andn %r16, %r19, %r16
17118 or %r16, %r17, %r20
17119 wrpr %r20, %g0, %tstate
17120 wrhpr %g0, 0x95, %htstate
17121 ta T_CHANGE_NONPRIV ! rand=0 (4)
17122 retry
17123donretarg_4_60:
17124 .word 0xe06fe017 ! 76: LDSTUB_I ldstub %r16, [%r31 + 0x0017]
17125 .word 0x8d9028da ! 77: WRPR_PSTATE_I wrpr %r0, 0x08da, %pstate
17126 .word 0xe19fe1c0 ! 78: LDDFA_I ldda [%r31, 0x01c0], %f16
17127 .word 0xe137c000 ! 79: STQF_R - %f16, [%r0, %r31]
17128jmptr_4_62:
17129 nop
17130 best_set_reg(0xe1200000, %r20, %r27)
17131 .word 0xb7c6c000 ! 80: JMPL_R jmpl %r27 + %r0, %r27
17132 setx vahole_target3, %r18, %r27
17133 .word 0xe11fc00b ! 81: LDDF_R ldd [%r31, %r11], %f16
17134 .word 0x24ca4001 ! 82: BRLEZ brlez,a,pt %r9,<label_0xa4001>
17135 .word 0x87802014 ! 83: WRASI_I wr %r0, 0x0014, %asi
17136 .word 0xe6dfe060 ! 84: LDXA_I ldxa [%r31, + 0x0060] %asi, %r19
17137splash_lsu_4_65:
17138 nop
17139 ta T_CHANGE_HPRIV
17140 set 0xbdedf1d6, %r2
17141 mov 0x1, %r1
17142 sllx %r1, 32, %r1
17143 or %r1, %r2, %r2
17144 stxa %r2, [%r0] ASI_LSU_CONTROL
17145 .word 0x3d400001 ! 85: FBPULE fbule,a,pn %fcc0, <label_0x1>
17146 .word 0x8780208a ! 86: WRASI_I wr %r0, 0x008a, %asi
17147pmu_4_66:
17148 nop
17149 ta T_CHANGE_PRIV
17150 setx 0xfffffb08fffffa38, %g1, %g7
17151 .word 0xa3800007 ! 87: WR_PERF_COUNTER_R wr %r0, %r7, %-
17152intveclr_4_67:
17153 nop
17154 ta T_CHANGE_HPRIV
17155 setx 0x9685c30746876693, %r1, %r28
17156 stxa %r28, [%g0] 0x72
17157 .word 0x25400001 ! 88: FBPLG fblg,a,pn %fcc0, <label_0x1>
17158 nop
17159 ta T_CHANGE_HPRIV
17160 mov 0x4+1, %r10
17161 set sync_thr_counter5, %r23
17162#ifndef SPC
17163 ldxa [%g0]0x63, %o1
17164 and %o1, 0x38, %o1
17165 add %o1, %r23, %r23
17166#endif
17167 cas [%r23],%g0,%r10 !lock
17168 brnz %r10, cwq_4_68
17169 rd %asi, %r12
17170 wr %g0, 0x40, %asi
17171 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
17172 and %l1, 0x3, %l1 ! Check if busy/enabled ..
17173 cmp %l1, 1
17174 bne cwq_4_68
17175 set CWQ_BASE, %l6
17176 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
17177 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
17178 sllx %l2, 32, %l2
17179 stx %l2, [%l6 + 0x0]
17180 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
17181 sub %l2, 0x40, %l2
17182 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
17183 wr %r12, %g0, %asi
17184 st %g0, [%r23]
17185cwq_4_68:
17186 ta T_CHANGE_NONHPRIV
17187 .word 0xa5414000 ! 89: RDPC rd %pc, %r18
17188brcommon3_4_69:
17189 nop
17190 setx common_target, %r12, %r27
17191 lduw [%r27], %r12 ! Load common dest into dcache ..
17192 ba,a .+12
17193 .word 0xe46ff0aa ! 1: LDSTUB_I ldstub %r18, [%r31 + 0xfffff0aa]
17194 ba,a .+8
17195 jmpl %r27+0, %r27
17196 .word 0xe497c028 ! 90: LDUHA_R lduha [%r31, %r8] 0x01, %r18
17197pmu_4_70:
17198 nop
17199 setx 0xfffff25cfffff3fe, %g1, %g7
17200 .word 0xa3800007 ! 91: WR_PERF_COUNTER_R wr %r0, %r7, %-
17201cmp_4_71:
17202 nop
17203 ta T_CHANGE_HPRIV
17204 rd %asi, %r12
17205 wr %r0, 0x41, %asi
17206 set sync_thr_counter4, %r23
17207#ifndef SPC
17208 ldxa [%g0]0x63, %r8
17209 and %r8, 0x38, %r8 ! Core ID
17210 add %r8, %r23, %r23
17211 mov 0xff, %r9
17212 xor %r9, 0x4, %r9
17213 sllx %r9, %r8, %r9 ! My core mask
17214#else
17215 mov 0, %r8
17216 mov 0xff, %r9
17217 xor %r9, 0x4, %r9 ! My core mask
17218#endif
17219 mov 0x4, %r10
17220cmp_startwait4_71:
17221 cas [%r23],%g0,%r10 !lock
17222 brz,a %r10, continue_cmp_4_71
17223 ldxa [0x50]%asi, %r13 !Running_rw
17224 ld [%r23], %r10
17225cmp_wait4_71:
17226 brnz,a %r10, cmp_wait4_71
17227 ld [%r23], %r10
17228 ba cmp_startwait4_71
17229 mov 0x4, %r10
17230continue_cmp_4_71:
17231 ldxa [0x58]%asi, %r14 !Running_status
17232 xnor %r14, %r13, %r14 !Bits equal
17233 brz,a %r8, cmp_multi_core_4_71
17234 mov 0x7a, %r17
17235 best_set_reg(0xf1a17ba2cbfa2296, %r16, %r17)
17236cmp_multi_core_4_71:
17237 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
17238 and %r14, %r9, %r14 !Apply core-mask
17239 stxa %r14, [0x68]%asi
17240 st %g0, [%r23] !clear lock
17241 wr %g0, %r12, %asi
17242 ta T_CHANGE_NONHPRIV
17243 .word 0x91908010 ! 92: WRPR_PIL_R wrpr %r2, %r16, %pil
17244 .word 0xe43fc000 ! 93: STD_R std %r18, [%r31 + %r0]
17245mondo_4_72:
17246 nop
17247 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
17248 stxa %r7, [%r0+0x3c0] %asi
17249 .word 0x9d91800c ! 94: WRPR_WSTATE_R wrpr %r6, %r12, %wstate
17250 set 0xba8, %l3
17251 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
17252 .word 0xa9b487cb ! 95: PDIST pdistn %d18, %d42, %d20
17253 setx vahole_target2, %r18, %r27
17254 .word 0x9bb447ca ! 96: PDIST pdistn %d48, %d10, %d44
17255splash_tba_4_74:
17256 ta T_CHANGE_PRIV
17257 setx 0x0000000400380000, %r11, %r12
17258 .word 0x8b90000c ! 97: WRPR_TBA_R wrpr %r0, %r12, %tba
17259cwp_4_75:
17260 set user_data_start, %o7
17261 .word 0x93902004 ! 98: WRPR_CWP_I wrpr %r0, 0x0004, %cwp
17262 .word 0xa1a2cd30 ! 99: FsMULd fsmuld %f11, %f16, %f16
17263dvapa_4_76:
17264 nop
17265 ta T_CHANGE_HPRIV
17266 mov 0x8d8, %r20
17267 mov 0x1f, %r19
17268 sllx %r20, 23, %r20
17269 or %r19, %r20, %r19
17270 stxa %r19, [%g0] ASI_LSU_CONTROL
17271 mov 0x38, %r18
17272 stxa %r31, [%r18]0x58
17273 ta T_CHANGE_NONHPRIV
17274 .word 0xd83fffca ! 100: STD_I std %r12, [%r31 + 0xffffffca]
17275 .word 0xd847e088 ! 101: LDSW_I ldsw [%r31 + 0x0088], %r12
17276mondo_4_77:
17277 nop
17278 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
17279 stxa %r19, [%r0+0x3d8] %asi
17280 .word 0x9d950001 ! 102: WRPR_WSTATE_R wrpr %r20, %r1, %wstate
17281 .word 0x99540000 ! 103: RDPR_GL <illegal instruction>
17282cmp_4_78:
17283 nop
17284 ta T_CHANGE_HPRIV
17285 rd %asi, %r12
17286 wr %r0, 0x41, %asi
17287 set sync_thr_counter4, %r23
17288#ifndef SPC
17289 ldxa [%g0]0x63, %r8
17290 and %r8, 0x38, %r8 ! Core ID
17291 add %r8, %r23, %r23
17292 mov 0xff, %r9
17293 xor %r9, 0x4, %r9
17294 sllx %r9, %r8, %r9 ! My core mask
17295#else
17296 mov 0, %r8
17297 mov 0xff, %r9
17298 xor %r9, 0x4, %r9 ! My core mask
17299#endif
17300 mov 0x4, %r10
17301cmp_startwait4_78:
17302 cas [%r23],%g0,%r10 !lock
17303 brz,a %r10, continue_cmp_4_78
17304 ldxa [0x50]%asi, %r13 !Running_rw
17305 ld [%r23], %r10
17306cmp_wait4_78:
17307 brnz,a %r10, cmp_wait4_78
17308 ld [%r23], %r10
17309 ba cmp_startwait4_78
17310 mov 0x4, %r10
17311continue_cmp_4_78:
17312 ldxa [0x58]%asi, %r14 !Running_status
17313 xnor %r14, %r13, %r14 !Bits equal
17314 brz,a %r8, cmp_multi_core_4_78
17315 mov 0xcf, %r17
17316 best_set_reg(0xf85e8804403391a2, %r16, %r17)
17317cmp_multi_core_4_78:
17318 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
17319 and %r14, %r9, %r14 !Apply core-mask
17320 stxa %r14, [0x60]%asi
17321 st %g0, [%r23] !clear lock
17322 wr %g0, %r12, %asi
17323 ta T_CHANGE_NONHPRIV
17324 .word 0x93a0016a ! 104: FABSq dis not found
17325
17326 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
17327reduce_priv_lvl_4_79:
17328 ta T_CHANGE_NONPRIV ! macro
17329mondo_4_80:
17330 nop
17331 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
17332 ta T_CHANGE_PRIV
17333 stxa %r17, [%r0+0x3d0] %asi
17334 .word 0x9d92800a ! 106: WRPR_WSTATE_R wrpr %r10, %r10, %wstate
17335 setx 0x05fffc650aa904a0, %r1, %r28
17336 stxa %r28, [%g0] 0x73
17337intvec_4_81:
17338 .word 0x39400001 ! 107: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
17339 .word 0xe1bfe140 ! 108: STDFA_I stda %f16, [0x0140, %r31]
17340splash_cmpr_4_82:
17341 nop
17342 setx 0x24e3fb5dbf7673fa, %l2, %l1
17343 ta T_CHANGE_HPRIV
17344 wrhpr %l1, %g0, %hsys_tick_cmpr
17345 ta T_CHANGE_NONHPRIV
17346 sub %l1, 40, %g1
17347 .word 0xb1800011 ! 109: WR_STICK_REG_R wr %r0, %r17, %-
17348pmu_4_83:
17349 nop
17350 setx 0xfffff3bbfffff6bc, %g1, %g7
17351 .word 0xa3800007 ! 110: WR_PERF_COUNTER_R wr %r0, %r7, %-
17352 .word 0xa7842e43 ! 111: WR_GRAPHICS_STATUS_REG_I wr %r16, 0x0e43, %-
17353 nop
17354 ta T_CHANGE_HPRIV
17355 mov 0x4, %r10
17356 set sync_thr_counter6, %r23
17357#ifndef SPC
17358 ldxa [%g0]0x63, %o1
17359 and %o1, 0x38, %o1
17360 add %o1, %r23, %r23
17361#endif
17362 cas [%r23],%g0,%r10 !lock
17363 brnz %r10, sma_4_84
17364 rd %asi, %r12
17365 wr %g0, 0x40, %asi
17366 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
17367 set 0x00121fff, %g1
17368 stxa %g1, [%g0 + 0x80] %asi
17369 wr %r12, %g0, %asi
17370 st %g0, [%r23]
17371sma_4_84:
17372 ta T_CHANGE_NONHPRIV
17373 .word 0xe9e7e00d ! 112: CASA_R casa [%r31] %asi, %r13, %r20
17374fpinit_4_85:
17375 setx fp_data_quads, %r19, %r20
17376 ldd [%r20], %f0
17377 ldd [%r20+8], %f4
17378 ld [%r20+16], %fsr
17379 ld [%r20+24], %r19
17380 wr %r19, %g0, %gsr
17381 .word 0xc3e83f42 ! 113: PREFETCHA_I prefetcha [%r0, + 0xffffff42] %asi, #one_read
17382 nop
17383 ta T_CHANGE_HPRIV
17384 mov 0x4+1, %r10
17385 set sync_thr_counter5, %r23
17386#ifndef SPC
17387 ldxa [%g0]0x63, %o1
17388 and %o1, 0x38, %o1
17389 add %o1, %r23, %r23
17390#endif
17391 cas [%r23],%g0,%r10 !lock
17392 brnz %r10, cwq_4_86
17393 rd %asi, %r12
17394 wr %g0, 0x40, %asi
17395 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
17396 and %l1, 0x3, %l1 ! Check if busy/enabled ..
17397 cmp %l1, 1
17398 bne cwq_4_86
17399 set CWQ_BASE, %l6
17400 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
17401 best_set_reg(0x20610010, %l1, %l2) !# Control Word
17402 sllx %l2, 32, %l2
17403 stx %l2, [%l6 + 0x0]
17404 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
17405 sub %l2, 0x40, %l2
17406 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
17407 wr %r12, %g0, %asi
17408 st %g0, [%r23]
17409cwq_4_86:
17410 ta T_CHANGE_NONHPRIV
17411 .word 0xa7414000 ! 114: RDPC rd %pc, %r19
17412 nop
17413 ta T_CHANGE_HPRIV
17414 mov 0x4, %r10
17415 set sync_thr_counter6, %r23
17416#ifndef SPC
17417 ldxa [%g0]0x63, %o1
17418 and %o1, 0x38, %o1
17419 add %o1, %r23, %r23
17420#endif
17421 cas [%r23],%g0,%r10 !lock
17422 brnz %r10, sma_4_87
17423 rd %asi, %r12
17424 wr %g0, 0x40, %asi
17425 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
17426 set 0x001a1fff, %g1
17427 stxa %g1, [%g0 + 0x80] %asi
17428 wr %r12, %g0, %asi
17429 st %g0, [%r23]
17430sma_4_87:
17431 ta T_CHANGE_NONHPRIV
17432 .word 0xe5e7e008 ! 115: CASA_R casa [%r31] %asi, %r8, %r18
17433 .word 0xa980c004 ! 116: WR_SET_SOFTINT_R wr %r3, %r4, %set_softint
17434 setx vahole_target2, %r18, %r27
17435 .word 0x97b44483 ! 117: FCMPLE32 fcmple32 %d48, %d34, %r11
17436 setx vahole_target1, %r18, %r27
17437 .word 0xe1bfd920 ! 118: STDFA_R stda %f16, [%r0, %r31]
17438cmp_4_90:
17439 nop
17440 ta T_CHANGE_HPRIV
17441 rd %asi, %r12
17442 wr %r0, 0x41, %asi
17443 set sync_thr_counter4, %r23
17444#ifndef SPC
17445 ldxa [%g0]0x63, %r8
17446 and %r8, 0x38, %r8 ! Core ID
17447 add %r8, %r23, %r23
17448 mov 0xff, %r9
17449 xor %r9, 0x4, %r9
17450 sllx %r9, %r8, %r9 ! My core mask
17451#else
17452 mov 0, %r8
17453 mov 0xff, %r9
17454 xor %r9, 0x4, %r9 ! My core mask
17455#endif
17456 mov 0x4, %r10
17457cmp_startwait4_90:
17458 cas [%r23],%g0,%r10 !lock
17459 brz,a %r10, continue_cmp_4_90
17460 ldxa [0x50]%asi, %r13 !Running_rw
17461 ld [%r23], %r10
17462cmp_wait4_90:
17463 brnz,a %r10, cmp_wait4_90
17464 ld [%r23], %r10
17465 ba cmp_startwait4_90
17466 mov 0x4, %r10
17467continue_cmp_4_90:
17468 ldxa [0x58]%asi, %r14 !Running_status
17469 xnor %r14, %r13, %r14 !Bits equal
17470 brz,a %r8, cmp_multi_core_4_90
17471 mov 0x4f, %r17
17472 best_set_reg(0x1e2de543d6ac39c9, %r16, %r17)
17473cmp_multi_core_4_90:
17474 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
17475 and %r14, %r9, %r14 !Apply core-mask
17476 stxa %r14, [0x60]%asi
17477 st %g0, [%r23] !clear lock
17478 wr %g0, %r12, %asi
17479 .word 0x9190c001 ! 119: WRPR_PIL_R wrpr %r3, %r1, %pil
17480 .word 0x87802082 ! 120: WRASI_I wr %r0, 0x0082, %asi
17481pmu_4_91:
17482 nop
17483 setx 0xfffff2d6fffff468, %g1, %g7
17484 .word 0xa3800007 ! 121: WR_PERF_COUNTER_R wr %r0, %r7, %-
17485 .word 0xd6800c80 ! 122: LDUWA_R lduwa [%r0, %r0] 0x64, %r11
17486intveclr_4_92:
17487 nop
17488 ta T_CHANGE_HPRIV
17489 setx 0xebbadff6e57364cd, %r1, %r28
17490 stxa %r28, [%g0] 0x72
17491 .word 0x25400001 ! 123: FBPLG fblg,a,pn %fcc0, <label_0x1>
17492 setx vahole_target0, %r18, %r27
17493 .word 0xe1bfe0a0 ! 124: STDFA_I stda %f16, [0x00a0, %r31]
17494 .word 0xd69fe0e8 ! 125: LDDA_I ldda [%r31, + 0x00e8] %asi, %r11
17495iaw_4_94:
17496 nop
17497 ta T_CHANGE_HPRIV
17498 mov 8, %r18
17499 rd %asi, %r12
17500 wr %r0, 0x41, %asi
17501 set sync_thr_counter4, %r23
17502#ifndef SPC
17503 ldxa [%g0]0x63, %r8
17504 and %r8, 0x38, %r8 ! Core ID
17505 add %r8, %r23, %r23
17506#else
17507 mov 0, %r8
17508#endif
17509 mov 0x4, %r16
17510iaw_startwait4_94:
17511 cas [%r23],%g0,%r16 !lock
17512 brz,a %r16, continue_iaw_4_94
17513 mov (~0x4&0xf), %r16
17514 ld [%r23], %r16
17515iaw_wait4_94:
17516 brnz %r16, iaw_wait4_94
17517 ld [%r23], %r16
17518 ba iaw_startwait4_94
17519 mov 0x4, %r16
17520continue_iaw_4_94:
17521 sllx %r16, %r8, %r16 !Mask for my core only
17522 ldxa [0x58]%asi, %r17 !Running_status
17523wait_for_stat_4_94:
17524 ldxa [0x50]%asi, %r13 !Running_rw
17525 cmp %r13, %r17
17526 bne,a wait_for_stat_4_94
17527 ldxa [0x58]%asi, %r17 !Running_status
17528 stxa %r16, [0x68]%asi !Park (W1C)
17529 ldxa [0x50]%asi, %r14 !Running_rw
17530wait_for_iaw_4_94:
17531 ldxa [0x58]%asi, %r17 !Running_status
17532 cmp %r14, %r17
17533 bne,a wait_for_iaw_4_94
17534 ldxa [0x50]%asi, %r14 !Running_rw
17535iaw_doit4_94:
17536 mov 0x38, %r18
17537iaw3_4_94:
17538 setx common_target, %r20, %r19
17539 or %r19, 0x1, %r19
17540 stxa %r19, [%r18]0x50
17541 stxa %r16, [0x60] %asi ! Unpark (W1S)
17542 st %g0, [%r23] !clear lock
17543 wr %r0, %r12, %asi ! restore %asi
17544 ta T_CHANGE_NONHPRIV
17545 .word 0xc19fdf20 ! 126: LDDFA_R ldda [%r31, %r0], %f0
17546fpinit_4_95:
17547 setx fp_data_quads, %r19, %r20
17548 ldd [%r20], %f0
17549 ldd [%r20+8], %f4
17550 ld [%r20+16], %fsr
17551 ld [%r20+24], %r19
17552 wr %r19, %g0, %gsr
17553 .word 0xc3e83d6b ! 127: PREFETCHA_I prefetcha [%r0, + 0xfffffd6b] %asi, #one_read
17554 .word 0xd6800a80 ! 128: LDUWA_R lduwa [%r0, %r0] 0x54, %r11
17555 nop
17556 ta T_CHANGE_HPRIV
17557 mov 0x4+1, %r10
17558 set sync_thr_counter5, %r23
17559#ifndef SPC
17560 ldxa [%g0]0x63, %o1
17561 and %o1, 0x38, %o1
17562 add %o1, %r23, %r23
17563#endif
17564 cas [%r23],%g0,%r10 !lock
17565 brnz %r10, cwq_4_96
17566 rd %asi, %r12
17567 wr %g0, 0x40, %asi
17568 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
17569 and %l1, 0x3, %l1 ! Check if busy/enabled ..
17570 cmp %l1, 1
17571 bne cwq_4_96
17572 set CWQ_BASE, %l6
17573 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
17574 best_set_reg(0x206100f0, %l1, %l2) !# Control Word
17575 sllx %l2, 32, %l2
17576 stx %l2, [%l6 + 0x0]
17577 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
17578 sub %l2, 0x40, %l2
17579 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
17580 wr %r12, %g0, %asi
17581 st %g0, [%r23]
17582cwq_4_96:
17583 ta T_CHANGE_NONHPRIV
17584 .word 0xa7414000 ! 129: RDPC rd %pc, %r19
17585 .word 0x8d802000 ! 130: WRFPRS_I wr %r0, 0x0000, %fprs
17586pmu_4_97:
17587 nop
17588 ta T_CHANGE_PRIV
17589 setx 0xfffffc99fffff290, %g1, %g7
17590 .word 0xa3800007 ! 131: WR_PERF_COUNTER_R wr %r0, %r7, %-
17591 invalw
17592 mov 0x31, %r30
17593 .word 0x91d0001e ! 132: Tcc_R ta icc_or_xcc, %r0 + %r30
17594splash_htba_4_98:
17595 nop
17596 ta T_CHANGE_HPRIV
17597 setx 0x0000000200280000, %r11, %r12
17598 .word 0x8b98000c ! 133: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
17599mondo_4_99:
17600 nop
17601 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
17602 ta T_CHANGE_PRIV
17603 stxa %r8, [%r0+0x3d8] %asi
17604 .word 0x9d91c005 ! 134: WRPR_WSTATE_R wrpr %r7, %r5, %wstate
17605jmptr_4_100:
17606 nop
17607 best_set_reg(0xe1200000, %r20, %r27)
17608 .word 0xb7c6c000 ! 135: JMPL_R jmpl %r27 + %r0, %r27
17609 .word 0xc30fc000 ! 136: LDXFSR_R ld-fsr [%r31, %r0], %f1
17610cmp_4_102:
17611 nop
17612 ta T_CHANGE_HPRIV
17613 rd %asi, %r12
17614 wr %r0, 0x41, %asi
17615 set sync_thr_counter4, %r23
17616#ifndef SPC
17617 ldxa [%g0]0x63, %r8
17618 and %r8, 0x38, %r8 ! Core ID
17619 add %r8, %r23, %r23
17620 mov 0xff, %r9
17621 xor %r9, 0x4, %r9
17622 sllx %r9, %r8, %r9 ! My core mask
17623#else
17624 mov 0, %r8
17625 mov 0xff, %r9
17626 xor %r9, 0x4, %r9 ! My core mask
17627#endif
17628 mov 0x4, %r10
17629cmp_startwait4_102:
17630 cas [%r23],%g0,%r10 !lock
17631 brz,a %r10, continue_cmp_4_102
17632 ldxa [0x50]%asi, %r13 !Running_rw
17633 ld [%r23], %r10
17634cmp_wait4_102:
17635 brnz,a %r10, cmp_wait4_102
17636 ld [%r23], %r10
17637 ba cmp_startwait4_102
17638 mov 0x4, %r10
17639continue_cmp_4_102:
17640 ldxa [0x58]%asi, %r14 !Running_status
17641 xnor %r14, %r13, %r14 !Bits equal
17642 brz,a %r8, cmp_multi_core_4_102
17643 mov 35, %r17
17644 best_set_reg(0xab6e3784b3b0c2e9, %r16, %r17)
17645cmp_multi_core_4_102:
17646 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
17647 and %r14, %r9, %r14 !Apply core-mask
17648 stxa %r14, [0x60]%asi
17649 st %g0, [%r23] !clear lock
17650 wr %g0, %r12, %asi
17651 .word 0x99a00169 ! 137: FABSq dis not found
17652
17653 .word 0x91d020b5 ! 138: Tcc_I ta icc_or_xcc, %r0 + 181
17654 .word 0xd8cfe0b0 ! 139: LDSBA_I ldsba [%r31, + 0x00b0] %asi, %r12
17655 nop
17656 ta T_CHANGE_HPRIV
17657 mov 0x4+1, %r10
17658 set sync_thr_counter5, %r23
17659#ifndef SPC
17660 ldxa [%g0]0x63, %o1
17661 and %o1, 0x38, %o1
17662 add %o1, %r23, %r23
17663#endif
17664 cas [%r23],%g0,%r10 !lock
17665 brnz %r10, cwq_4_103
17666 rd %asi, %r12
17667 wr %g0, 0x40, %asi
17668 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
17669 and %l1, 0x3, %l1 ! Check if busy/enabled ..
17670 cmp %l1, 1
17671 bne cwq_4_103
17672 set CWQ_BASE, %l6
17673 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
17674 best_set_reg(0x20610050, %l1, %l2) !# Control Word
17675 sllx %l2, 32, %l2
17676 stx %l2, [%l6 + 0x0]
17677 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
17678 sub %l2, 0x40, %l2
17679 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
17680 wr %r12, %g0, %asi
17681 st %g0, [%r23]
17682cwq_4_103:
17683 ta T_CHANGE_NONHPRIV
17684 .word 0xa3414000 ! 140: RDPC rd %pc, %r17
17685 .word 0x8d902d0c ! 141: WRPR_PSTATE_I wrpr %r0, 0x0d0c, %pstate
17686donret_4_105:
17687 nop
17688 ta T_CHANGE_HPRIV ! macro
17689 rd %pc, %r12
17690 add %r12, (donretarg_4_105-donret_4_105-4), %r12
17691 mov 0x38, %r18
17692 stxa %r12, [%r18]0x58
17693 add %r12, 0x4, %r11
17694 wrpr %g0, 0x1, %tl
17695 wrpr %g0, %r12, %tpc
17696 wrpr %g0, %r11, %tnpc
17697 set (0x00a56a8b | (0x4f << 24)), %r13
17698 rdpr %tstate, %r16
17699 mov 0x1f, %r19
17700 and %r19, %r16, %r17
17701 andn %r16, %r19, %r16
17702 or %r16, %r17, %r20
17703 wrpr %r20, %g0, %tstate
17704 wrhpr %g0, 0x797, %htstate
17705 ta T_CHANGE_NONPRIV ! rand=0 (4)
17706 done
17707donretarg_4_105:
17708 .word 0xe66fe123 ! 142: LDSTUB_I ldstub %r19, [%r31 + 0x0123]
17709fpinit_4_106:
17710 setx fp_data_quads, %r19, %r20
17711 ldd [%r20], %f0
17712 ldd [%r20+8], %f4
17713 ld [%r20+16], %fsr
17714 ld [%r20+24], %r19
17715 wr %r19, %g0, %gsr
17716 .word 0x8db00484 ! 143: FCMPLE32 fcmple32 %d0, %d4, %r6
17717donret_4_107:
17718 nop
17719 ta T_CHANGE_HPRIV ! macro
17720 rd %pc, %r12
17721 add %r12, (donretarg_4_107-donret_4_107-4), %r12
17722 mov 0x38, %r18
17723 stxa %r12, [%r18]0x58
17724 add %r12, 0x4, %r11
17725 wrpr %g0, 0x2, %tl
17726 wrpr %g0, %r12, %tpc
17727 wrpr %g0, %r11, %tnpc
17728 set (0x00b8c2f4 | (4 << 24)), %r13
17729 rdpr %tstate, %r16
17730 mov 0x1f, %r19
17731 and %r19, %r16, %r17
17732 andn %r16, %r19, %r16
17733 or %r16, %r17, %r20
17734 wrpr %r20, %g0, %tstate
17735 wrhpr %g0, 0xb1d, %htstate
17736 ta T_CHANGE_NONPRIV ! rand=0 (4)
17737 done
17738donretarg_4_107:
17739 .word 0xa1a0c9c2 ! 144: FDIVd fdivd %f34, %f2, %f16
17740 nop
17741 ta T_CHANGE_HPRIV
17742 mov 0x4, %r10
17743 set sync_thr_counter6, %r23
17744#ifndef SPC
17745 ldxa [%g0]0x63, %o1
17746 and %o1, 0x38, %o1
17747 add %o1, %r23, %r23
17748#endif
17749 cas [%r23],%g0,%r10 !lock
17750 brnz %r10, sma_4_108
17751 rd %asi, %r12
17752 wr %g0, 0x40, %asi
17753 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
17754 set 0x00161fff, %g1
17755 stxa %g1, [%g0 + 0x80] %asi
17756 wr %r12, %g0, %asi
17757 st %g0, [%r23]
17758sma_4_108:
17759 ta T_CHANGE_NONHPRIV
17760 .word 0xd5e7e014 ! 145: CASA_R casa [%r31] %asi, %r20, %r10
17761 otherw
17762 mov 0xb2, %r30
17763 .word 0x91d0001e ! 146: Tcc_R ta icc_or_xcc, %r0 + %r30
17764splash_htba_4_109:
17765 nop
17766 ta T_CHANGE_HPRIV
17767 setx 0x0000000200280000, %r11, %r12
17768 .word 0x8b98000c ! 147: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
17769ibp_4_110:
17770 nop
17771 .word 0xc1bfe120 ! 148: STDFA_I stda %f0, [0x0120, %r31]
17772mondo_4_111:
17773 nop
17774 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
17775 stxa %r19, [%r0+0x3d8] %asi
17776 .word 0x9d924003 ! 149: WRPR_WSTATE_R wrpr %r9, %r3, %wstate
17777 .word 0x8d802000 ! 150: WRFPRS_I wr %r0, 0x0000, %fprs
17778 .word 0x8d903a95 ! 151: WRPR_PSTATE_I wrpr %r0, 0x1a95, %pstate
17779 .word 0xc36fe0e0 ! 152: PREFETCH_I prefetch [%r31 + 0x00e0], #one_read
17780splash_hpstate_4_114:
17781 .word 0x21400001 ! 1: FBPN fbn,a,pn %fcc0, <label_0x1>
17782 .word 0x8198245f ! 153: WRHPR_HPSTATE_I wrhpr %r0, 0x045f, %hpstate
17783cwp_4_115:
17784 set user_data_start, %o7
17785 .word 0x93902007 ! 154: WRPR_CWP_I wrpr %r0, 0x0007, %cwp
17786 .word 0x94dc8013 ! 155: SMULcc_R smulcc %r18, %r19, %r10
17787cmp_4_116:
17788 nop
17789 ta T_CHANGE_HPRIV
17790 rd %asi, %r12
17791 wr %r0, 0x41, %asi
17792 set sync_thr_counter4, %r23
17793#ifndef SPC
17794 ldxa [%g0]0x63, %r8
17795 and %r8, 0x38, %r8 ! Core ID
17796 add %r8, %r23, %r23
17797 mov 0xff, %r9
17798 xor %r9, 0x4, %r9
17799 sllx %r9, %r8, %r9 ! My core mask
17800#else
17801 mov 0, %r8
17802 mov 0xff, %r9
17803 xor %r9, 0x4, %r9 ! My core mask
17804#endif
17805 mov 0x4, %r10
17806cmp_startwait4_116:
17807 cas [%r23],%g0,%r10 !lock
17808 brz,a %r10, continue_cmp_4_116
17809 ldxa [0x50]%asi, %r13 !Running_rw
17810 ld [%r23], %r10
17811cmp_wait4_116:
17812 brnz,a %r10, cmp_wait4_116
17813 ld [%r23], %r10
17814 ba cmp_startwait4_116
17815 mov 0x4, %r10
17816continue_cmp_4_116:
17817 ldxa [0x58]%asi, %r14 !Running_status
17818 xnor %r14, %r13, %r14 !Bits equal
17819 brz,a %r8, cmp_multi_core_4_116
17820 mov 0x9f, %r17
17821 best_set_reg(0x5585cc0aff207fe3, %r16, %r17)
17822cmp_multi_core_4_116:
17823 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
17824 and %r14, %r9, %r14 !Apply core-mask
17825 stxa %r14, [0x60]%asi
17826 st %g0, [%r23] !clear lock
17827 wr %g0, %r12, %asi
17828 .word 0x91948012 ! 156: WRPR_PIL_R wrpr %r18, %r18, %pil
17829 setx vahole_target0, %r18, %r27
17830 .word 0xc1bfe1a0 ! 157: STDFA_I stda %f0, [0x01a0, %r31]
17831 setx vahole_target3, %r18, %r27
17832 .word 0xc1bfe160 ! 158: STDFA_I stda %f0, [0x0160, %r31]
17833iaw_4_119:
17834 nop
17835 ta T_CHANGE_HPRIV
17836 mov 8, %r18
17837 rd %asi, %r12
17838 wr %r0, 0x41, %asi
17839 set sync_thr_counter4, %r23
17840#ifndef SPC
17841 ldxa [%g0]0x63, %r8
17842 and %r8, 0x38, %r8 ! Core ID
17843 add %r8, %r23, %r23
17844#else
17845 mov 0, %r8
17846#endif
17847 mov 0x4, %r16
17848iaw_startwait4_119:
17849 cas [%r23],%g0,%r16 !lock
17850 brz,a %r16, continue_iaw_4_119
17851 mov (~0x4&0xf), %r16
17852 ld [%r23], %r16
17853iaw_wait4_119:
17854 brnz %r16, iaw_wait4_119
17855 ld [%r23], %r16
17856 ba iaw_startwait4_119
17857 mov 0x4, %r16
17858continue_iaw_4_119:
17859 sllx %r16, %r8, %r16 !Mask for my core only
17860 ldxa [0x58]%asi, %r17 !Running_status
17861wait_for_stat_4_119:
17862 ldxa [0x50]%asi, %r13 !Running_rw
17863 cmp %r13, %r17
17864 bne,a wait_for_stat_4_119
17865 ldxa [0x58]%asi, %r17 !Running_status
17866 stxa %r16, [0x68]%asi !Park (W1C)
17867 ldxa [0x50]%asi, %r14 !Running_rw
17868wait_for_iaw_4_119:
17869 ldxa [0x58]%asi, %r17 !Running_status
17870 cmp %r14, %r17
17871 bne,a wait_for_iaw_4_119
17872 ldxa [0x50]%asi, %r14 !Running_rw
17873iaw_doit4_119:
17874 mov 0x38, %r18
17875iaw4_4_119:
17876 setx common_target, %r20, %r19
17877 or %r19, 0x1, %r19
17878 stxa %r19, [%r18]0x50
17879 stxa %r16, [0x60] %asi ! Unpark (W1S)
17880 st %g0, [%r23] !clear lock
17881 wr %r0, %r12, %asi ! restore %asi
17882 ta T_CHANGE_NONHPRIV
17883 .word 0xa1a4c9b4 ! 159: FDIVs fdivs %f19, %f20, %f16
17884ibp_4_120:
17885 nop
17886 ta T_CHANGE_NONHPRIV
17887 .word 0xe097c031 ! 160: LDUHA_R lduha [%r31, %r17] 0x01, %r16
17888 nop
17889 ta T_CHANGE_HPRIV
17890 mov 0x4+1, %r10
17891 set sync_thr_counter5, %r23
17892#ifndef SPC
17893 ldxa [%g0]0x63, %o1
17894 and %o1, 0x38, %o1
17895 add %o1, %r23, %r23
17896#endif
17897 cas [%r23],%g0,%r10 !lock
17898 brnz %r10, cwq_4_121
17899 rd %asi, %r12
17900 wr %g0, 0x40, %asi
17901 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
17902 and %l1, 0x3, %l1 ! Check if busy/enabled ..
17903 cmp %l1, 1
17904 bne cwq_4_121
17905 set CWQ_BASE, %l6
17906 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
17907 best_set_reg(0x206100f0, %l1, %l2) !# Control Word
17908 sllx %l2, 32, %l2
17909 stx %l2, [%l6 + 0x0]
17910 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
17911 sub %l2, 0x40, %l2
17912 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
17913 wr %r12, %g0, %asi
17914 st %g0, [%r23]
17915cwq_4_121:
17916 ta T_CHANGE_NONHPRIV
17917 .word 0x97414000 ! 161: RDPC rd %pc, %r11
17918cmp_4_122:
17919 nop
17920 ta T_CHANGE_HPRIV
17921 rd %asi, %r12
17922 wr %r0, 0x41, %asi
17923 set sync_thr_counter4, %r23
17924#ifndef SPC
17925 ldxa [%g0]0x63, %r8
17926 and %r8, 0x38, %r8 ! Core ID
17927 add %r8, %r23, %r23
17928 mov 0xff, %r9
17929 xor %r9, 0x4, %r9
17930 sllx %r9, %r8, %r9 ! My core mask
17931#else
17932 mov 0, %r8
17933 mov 0xff, %r9
17934 xor %r9, 0x4, %r9 ! My core mask
17935#endif
17936 mov 0x4, %r10
17937cmp_startwait4_122:
17938 cas [%r23],%g0,%r10 !lock
17939 brz,a %r10, continue_cmp_4_122
17940 ldxa [0x50]%asi, %r13 !Running_rw
17941 ld [%r23], %r10
17942cmp_wait4_122:
17943 brnz,a %r10, cmp_wait4_122
17944 ld [%r23], %r10
17945 ba cmp_startwait4_122
17946 mov 0x4, %r10
17947continue_cmp_4_122:
17948 ldxa [0x58]%asi, %r14 !Running_status
17949 xnor %r14, %r13, %r14 !Bits equal
17950 brz,a %r8, cmp_multi_core_4_122
17951 mov 0x80, %r17
17952 best_set_reg(0xc248c4cc98ae5134, %r16, %r17)
17953cmp_multi_core_4_122:
17954 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
17955 and %r14, %r9, %r14 !Apply core-mask
17956 stxa %r14, [0x60]%asi
17957 st %g0, [%r23] !clear lock
17958 wr %g0, %r12, %asi
17959 ta T_CHANGE_NONHPRIV
17960 .word 0xa5a00170 ! 162: FABSq dis not found
17961
17962 .word 0xe19fe0c0 ! 163: LDDFA_I ldda [%r31, 0x00c0], %f16
17963mondo_4_123:
17964 nop
17965 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
17966 ta T_CHANGE_PRIV
17967 stxa %r1, [%r0+0x3c0] %asi
17968 .word 0x9d934013 ! 164: WRPR_WSTATE_R wrpr %r13, %r19, %wstate
17969splash_tba_4_124:
17970 ta T_CHANGE_PRIV
17971 set 0x120000, %r12
17972 .word 0x8b90000c ! 165: WRPR_TBA_R wrpr %r0, %r12, %tba
17973 setx vahole_target1, %r18, %r27
17974 .word 0xe19fdb60 ! 166: LDDFA_R ldda [%r31, %r0], %f16
17975trapasi_4_126:
17976 nop
17977 mov 0x0, %r1 ! (VA for ASI 0x5b)
17978 .word 0xd2c04b60 ! 167: LDSWA_R ldswa [%r1, %r0] 0x5b, %r9
17979ibp_4_127:
17980 nop
17981 .word 0xd2bfc02a ! 168: STDA_R stda %r9, [%r31 + %r10] 0x01
17982donret_4_128:
17983 nop
17984 ta T_CHANGE_HPRIV ! macro
17985 rd %pc, %r12
17986 add %r12, (donretarg_4_128-donret_4_128-8), %r12
17987 mov 0x38, %r18
17988 stxa %r12, [%r18]0x58
17989 add %r12, 0x4, %r11
17990 wrpr %g0, 0x2, %tl
17991 wrpr %g0, %r12, %tpc
17992 wrpr %g0, %r11, %tnpc
17993 set (0x0064ae8a | (28 << 24)), %r13
17994 rdpr %tstate, %r16
17995 mov 0x1f, %r19
17996 and %r19, %r16, %r17
17997 andn %r16, %r19, %r16
17998 or %r16, %r17, %r20
17999 wrpr %r20, %g0, %tstate
18000 wrhpr %g0, 0x3cf, %htstate
18001 ta T_CHANGE_NONPRIV ! rand=0 (4)
18002 retry
18003donretarg_4_128:
18004 .word 0xd2ffe1fc ! 169: SWAPA_I swapa %r9, [%r31 + 0x01fc] %asi
18005jmptr_4_129:
18006 nop
18007 best_set_reg(0xe1200000, %r20, %r27)
18008 .word 0xb7c6c000 ! 170: JMPL_R jmpl %r27 + %r0, %r27
18009iaw_4_130:
18010 nop
18011 ta T_CHANGE_HPRIV
18012 mov 8, %r18
18013 rd %asi, %r12
18014 wr %r0, 0x41, %asi
18015 set sync_thr_counter4, %r23
18016#ifndef SPC
18017 ldxa [%g0]0x63, %r8
18018 and %r8, 0x38, %r8 ! Core ID
18019 add %r8, %r23, %r23
18020#else
18021 mov 0, %r8
18022#endif
18023 mov 0x4, %r16
18024iaw_startwait4_130:
18025 cas [%r23],%g0,%r16 !lock
18026 brz,a %r16, continue_iaw_4_130
18027 mov (~0x4&0xf), %r16
18028 ld [%r23], %r16
18029iaw_wait4_130:
18030 brnz %r16, iaw_wait4_130
18031 ld [%r23], %r16
18032 ba iaw_startwait4_130
18033 mov 0x4, %r16
18034continue_iaw_4_130:
18035 sllx %r16, %r8, %r16 !Mask for my core only
18036 ldxa [0x58]%asi, %r17 !Running_status
18037wait_for_stat_4_130:
18038 ldxa [0x50]%asi, %r13 !Running_rw
18039 cmp %r13, %r17
18040 bne,a wait_for_stat_4_130
18041 ldxa [0x58]%asi, %r17 !Running_status
18042 stxa %r16, [0x68]%asi !Park (W1C)
18043 ldxa [0x50]%asi, %r14 !Running_rw
18044wait_for_iaw_4_130:
18045 ldxa [0x58]%asi, %r17 !Running_status
18046 cmp %r14, %r17
18047 bne,a wait_for_iaw_4_130
18048 ldxa [0x50]%asi, %r14 !Running_rw
18049iaw_doit4_130:
18050 mov 0x38, %r18
18051iaw1_4_130:
18052 best_set_reg(0x00000000e1200000, %r20, %r19)
18053 or %r19, 0x1, %r19
18054 stxa %r19, [%r18]0x50
18055 stxa %r16, [0x60] %asi ! Unpark (W1S)
18056 st %g0, [%r23] !clear lock
18057 wr %r0, %r12, %asi ! restore %asi
18058 ta T_CHANGE_NONHPRIV
18059 .word 0xc32fc00c ! 171: STXFSR_R st-sfr %f1, [%r12, %r31]
18060 setx vahole_target3, %r18, %r27
18061 .word 0xa3a449d1 ! 172: FDIVd fdivd %f48, %f48, %f48
18062 .word 0xe727e1c8 ! 173: STF_I st %f19, [0x01c8, %r31]
18063 nop
18064 ta T_CHANGE_HPRIV
18065 mov 0x4+1, %r10
18066 set sync_thr_counter5, %r23
18067#ifndef SPC
18068 ldxa [%g0]0x63, %o1
18069 and %o1, 0x38, %o1
18070 add %o1, %r23, %r23
18071#endif
18072 cas [%r23],%g0,%r10 !lock
18073 brnz %r10, cwq_4_132
18074 rd %asi, %r12
18075 wr %g0, 0x40, %asi
18076 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
18077 and %l1, 0x3, %l1 ! Check if busy/enabled ..
18078 cmp %l1, 1
18079 bne cwq_4_132
18080 set CWQ_BASE, %l6
18081 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
18082 best_set_reg(0x206100f0, %l1, %l2) !# Control Word
18083 sllx %l2, 32, %l2
18084 stx %l2, [%l6 + 0x0]
18085 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
18086 sub %l2, 0x40, %l2
18087 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
18088 wr %r12, %g0, %asi
18089 st %g0, [%r23]
18090cwq_4_132:
18091 ta T_CHANGE_NONHPRIV
18092 .word 0x93414000 ! 174: RDPC rd %pc, %r9
18093 .word 0x87802083 ! 175: WRASI_I wr %r0, 0x0083, %asi
18094donret_4_133:
18095 nop
18096 ta T_CHANGE_HPRIV ! macro
18097 rd %pc, %r12
18098 add %r12, (donretarg_4_133-donret_4_133-4), %r12
18099 mov 0x38, %r18
18100 stxa %r12, [%r18]0x58
18101 add %r12, 0x4, %r11
18102 wrpr %g0, 0x1, %tl
18103 wrpr %g0, %r12, %tpc
18104 wrpr %g0, %r11, %tnpc
18105 set (0x00101e21 | (16 << 24)), %r13
18106 rdpr %tstate, %r16
18107 mov 0x1f, %r19
18108 and %r19, %r16, %r17
18109 andn %r16, %r19, %r16
18110 or %r16, %r17, %r20
18111 wrpr %r20, %g0, %tstate
18112 wrhpr %g0, 0x11c, %htstate
18113 ta T_CHANGE_NONPRIV ! rand=0 (4)
18114 .word 0x29400001 ! 1: FBPL fbl,a,pn %fcc0, <label_0x1>
18115 done
18116donretarg_4_133:
18117 .word 0xa7a4c9d2 ! 176: FDIVd fdivd %f50, %f18, %f50
18118 .word 0xa7500000 ! 177: RDPR_TPC <illegal instruction>
18119br_badelay2_4_134:
18120 .word 0x34800001 ! 1: BG bg,a <label_0x1>
18121 pdist %f28, %f26, %f2
18122 .word 0x9bb4c309 ! 178: ALIGNADDRESS alignaddr %r19, %r9, %r13
18123 setx 0xb24514680ec153dc, %r1, %r28
18124 stxa %r28, [%g0] 0x73
18125intvec_4_135:
18126 .word 0x39400001 ! 179: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
18127 .word 0xc36fe0b4 ! 180: PREFETCH_I prefetch [%r31 + 0x00b4], #one_read
18128 .word 0xa5500000 ! 181: RDPR_TPC <illegal instruction>
18129 .word 0xda800c00 ! 182: LDUWA_R lduwa [%r0, %r0] 0x60, %r13
18130 .word 0x38800001 ! 183: BGU bgu,a <label_0x1>
18131intveclr_4_137:
18132 nop
18133 ta T_CHANGE_HPRIV
18134 setx 0x4f60545a14ec2651, %r1, %r28
18135 stxa %r28, [%g0] 0x72
18136 ta T_CHANGE_NONHPRIV
18137 .word 0x25400001 ! 184: FBPLG fblg,a,pn %fcc0, <label_0x1>
18138 invalw
18139 mov 0xb3, %r30
18140 .word 0x91d0001e ! 185: Tcc_R ta icc_or_xcc, %r0 + %r30
18141dvapa_4_138:
18142 nop
18143 ta T_CHANGE_HPRIV
18144 mov 0xd31, %r20
18145 mov 0x12, %r19
18146 sllx %r20, 23, %r20
18147 or %r19, %r20, %r19
18148 stxa %r19, [%g0] ASI_LSU_CONTROL
18149 mov 0x38, %r18
18150 stxa %r31, [%r18]0x58
18151 ta T_CHANGE_NONHPRIV
18152 .word 0xc32fc009 ! 186: STXFSR_R st-sfr %f1, [%r9, %r31]
18153donret_4_139:
18154 nop
18155 ta T_CHANGE_HPRIV ! macro
18156 rd %pc, %r12
18157 add %r12, (donretarg_4_139-donret_4_139-4), %r12
18158 mov 0x38, %r18
18159 stxa %r12, [%r18]0x58
18160 add %r12, 0x4, %r11
18161 wrpr %g0, 0x2, %tl
18162 wrpr %g0, %r12, %tpc
18163 wrpr %g0, %r11, %tnpc
18164 set (0x00fcebab | (0x4f << 24)), %r13
18165 rdpr %tstate, %r16
18166 mov 0x1f, %r19
18167 and %r19, %r16, %r17
18168 andn %r16, %r19, %r16
18169 or %r16, %r17, %r20
18170 wrpr %r20, %g0, %tstate
18171 wrhpr %g0, 0x645, %htstate
18172 ta T_CHANGE_NONHPRIV ! rand=1 (4)
18173 .word 0x35400001 ! 1: FBPUE fbue,a,pn %fcc0, <label_0x1>
18174 done
18175donretarg_4_139:
18176 .word 0xdaffe020 ! 187: SWAPA_I swapa %r13, [%r31 + 0x0020] %asi
18177 .word 0x9f803d21 ! 188: SIR sir 0x1d21
18178memptr_4_141:
18179 set user_data_start, %r31
18180 .word 0x8580ae7d ! 189: WRCCR_I wr %r2, 0x0e7d, %ccr
18181dvapa_4_142:
18182 nop
18183 ta T_CHANGE_HPRIV
18184 mov 0xeb2, %r20
18185 mov 0x19, %r19
18186 sllx %r20, 23, %r20
18187 or %r19, %r20, %r19
18188 stxa %r19, [%g0] ASI_LSU_CONTROL
18189 mov 0x38, %r18
18190 stxa %r31, [%r18]0x58
18191 ta T_CHANGE_NONHPRIV
18192 .word 0xa3a449d4 ! 190: FDIVd fdivd %f48, %f20, %f48
18193dvapa_4_143:
18194 nop
18195 ta T_CHANGE_HPRIV
18196 mov 0xd04, %r20
18197 mov 0x14, %r19
18198 sllx %r20, 23, %r20
18199 or %r19, %r20, %r19
18200 stxa %r19, [%g0] ASI_LSU_CONTROL
18201 mov 0x38, %r18
18202 stxa %r31, [%r18]0x58
18203 ta T_CHANGE_NONHPRIV
18204 .word 0xe73fc00b ! 191: STDF_R std %f19, [%r11, %r31]
18205fpinit_4_144:
18206 setx fp_data_quads, %r19, %r20
18207 ldd [%r20], %f0
18208 ldd [%r20+8], %f4
18209 ld [%r20+16], %fsr
18210 ld [%r20+24], %r19
18211 wr %r19, %g0, %gsr
18212 .word 0x91a009a4 ! 192: FDIVs fdivs %f0, %f4, %f8
18213 .word 0xa66ac002 ! 193: UDIVX_R udivx %r11, %r2, %r19
18214donret_4_145:
18215 nop
18216 ta T_CHANGE_HPRIV ! macro
18217 rd %pc, %r12
18218 add %r12, (donretarg_4_145-donret_4_145-4), %r12
18219 mov 0x38, %r18
18220 stxa %r12, [%r18]0x58
18221 add %r12, 0x4, %r11
18222 wrpr %g0, 0x2, %tl
18223 wrpr %g0, %r12, %tpc
18224 wrpr %g0, %r11, %tnpc
18225 set (0x00ad7905 | (22 << 24)), %r13
18226 rdpr %tstate, %r16
18227 mov 0x1f, %r19
18228 and %r19, %r16, %r17
18229 andn %r16, %r19, %r16
18230 or %r16, %r17, %r20
18231 wrpr %r20, %g0, %tstate
18232 wrhpr %g0, 0xc1e, %htstate
18233 ta T_CHANGE_NONHPRIV ! rand=1 (4)
18234 .word 0x2c800001 ! 1: BNEG bneg,a <label_0x1>
18235 done
18236donretarg_4_145:
18237 .word 0xe6ffe010 ! 194: SWAPA_I swapa %r19, [%r31 + 0x0010] %asi
18238cmp_4_146:
18239 nop
18240 ta T_CHANGE_HPRIV
18241 rd %asi, %r12
18242 wr %r0, 0x41, %asi
18243 set sync_thr_counter4, %r23
18244#ifndef SPC
18245 ldxa [%g0]0x63, %r8
18246 and %r8, 0x38, %r8 ! Core ID
18247 add %r8, %r23, %r23
18248 mov 0xff, %r9
18249 xor %r9, 0x4, %r9
18250 sllx %r9, %r8, %r9 ! My core mask
18251#else
18252 mov 0, %r8
18253 mov 0xff, %r9
18254 xor %r9, 0x4, %r9 ! My core mask
18255#endif
18256 mov 0x4, %r10
18257cmp_startwait4_146:
18258 cas [%r23],%g0,%r10 !lock
18259 brz,a %r10, continue_cmp_4_146
18260 ldxa [0x50]%asi, %r13 !Running_rw
18261 ld [%r23], %r10
18262cmp_wait4_146:
18263 brnz,a %r10, cmp_wait4_146
18264 ld [%r23], %r10
18265 ba cmp_startwait4_146
18266 mov 0x4, %r10
18267continue_cmp_4_146:
18268 ldxa [0x58]%asi, %r14 !Running_status
18269 xnor %r14, %r13, %r14 !Bits equal
18270 brz,a %r8, cmp_multi_core_4_146
18271 mov 0x90, %r17
18272 best_set_reg(0xcc0805518aef2600, %r16, %r17)
18273cmp_multi_core_4_146:
18274 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
18275 and %r14, %r9, %r14 !Apply core-mask
18276 stxa %r14, [0x60]%asi
18277 st %g0, [%r23] !clear lock
18278 wr %g0, %r12, %asi
18279 .word 0x9190400c ! 195: WRPR_PIL_R wrpr %r1, %r12, %pil
18280cmp_4_147:
18281 nop
18282 ta T_CHANGE_HPRIV
18283 rd %asi, %r12
18284 wr %r0, 0x41, %asi
18285 set sync_thr_counter4, %r23
18286#ifndef SPC
18287 ldxa [%g0]0x63, %r8
18288 and %r8, 0x38, %r8 ! Core ID
18289 add %r8, %r23, %r23
18290 mov 0xff, %r9
18291 xor %r9, 0x4, %r9
18292 sllx %r9, %r8, %r9 ! My core mask
18293#else
18294 mov 0, %r8
18295 mov 0xff, %r9
18296 xor %r9, 0x4, %r9 ! My core mask
18297#endif
18298 mov 0x4, %r10
18299cmp_startwait4_147:
18300 cas [%r23],%g0,%r10 !lock
18301 brz,a %r10, continue_cmp_4_147
18302 ldxa [0x50]%asi, %r13 !Running_rw
18303 ld [%r23], %r10
18304cmp_wait4_147:
18305 brnz,a %r10, cmp_wait4_147
18306 ld [%r23], %r10
18307 ba cmp_startwait4_147
18308 mov 0x4, %r10
18309continue_cmp_4_147:
18310 ldxa [0x58]%asi, %r14 !Running_status
18311 xnor %r14, %r13, %r14 !Bits equal
18312 brz,a %r8, cmp_multi_core_4_147
18313 mov 22, %r17
18314 best_set_reg(0x388131eac9052441, %r16, %r17)
18315cmp_multi_core_4_147:
18316 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
18317 and %r14, %r9, %r14 !Apply core-mask
18318 stxa %r14, [0x68]%asi
18319 st %g0, [%r23] !clear lock
18320 wr %g0, %r12, %asi
18321 .word 0x91948013 ! 196: WRPR_PIL_R wrpr %r18, %r19, %pil
18322iaw_4_148:
18323 nop
18324 ta T_CHANGE_HPRIV
18325 mov 8, %r18
18326 rd %asi, %r12
18327 wr %r0, 0x41, %asi
18328 set sync_thr_counter4, %r23
18329#ifndef SPC
18330 ldxa [%g0]0x63, %r8
18331 and %r8, 0x38, %r8 ! Core ID
18332 add %r8, %r23, %r23
18333#else
18334 mov 0, %r8
18335#endif
18336 mov 0x4, %r16
18337iaw_startwait4_148:
18338 cas [%r23],%g0,%r16 !lock
18339 brz,a %r16, continue_iaw_4_148
18340 mov (~0x4&0xf), %r16
18341 ld [%r23], %r16
18342iaw_wait4_148:
18343 brnz %r16, iaw_wait4_148
18344 ld [%r23], %r16
18345 ba iaw_startwait4_148
18346 mov 0x4, %r16
18347continue_iaw_4_148:
18348 sllx %r16, %r8, %r16 !Mask for my core only
18349 ldxa [0x58]%asi, %r17 !Running_status
18350wait_for_stat_4_148:
18351 ldxa [0x50]%asi, %r13 !Running_rw
18352 cmp %r13, %r17
18353 bne,a wait_for_stat_4_148
18354 ldxa [0x58]%asi, %r17 !Running_status
18355 stxa %r16, [0x68]%asi !Park (W1C)
18356 ldxa [0x50]%asi, %r14 !Running_rw
18357wait_for_iaw_4_148:
18358 ldxa [0x58]%asi, %r17 !Running_status
18359 cmp %r14, %r17
18360 bne,a wait_for_iaw_4_148
18361 ldxa [0x50]%asi, %r14 !Running_rw
18362iaw_doit4_148:
18363 mov 0x38, %r18
18364iaw2_4_148:
18365 rdpr %tba, %r19
18366 mov 0x320, %r20
18367 sllx %r20, 5, %r20
18368 add %r20, %r19, %r19
18369 stxa %r19, [%r18]0x50
18370 stxa %r16, [0x60] %asi ! Unpark (W1S)
18371 st %g0, [%r23] !clear lock
18372 wr %r0, %r12, %asi ! restore %asi
18373 ta T_CHANGE_NONHPRIV
18374 .word 0x87a88a4d ! 197: FCMPd fcmpd %fcc<n>, %f2, %f44
18375 .word 0x9f803fbb ! 198: SIR sir 0x1fbb
18376 .word 0x3e780001 ! 199: BPVC <illegal instruction>
18377 .word 0x87802058 ! 200: WRASI_I wr %r0, 0x0058, %asi
18378splash_hpstate_4_149:
18379 ta T_CHANGE_NONHPRIV
18380 .word 0x819824df ! 201: WRHPR_HPSTATE_I wrhpr %r0, 0x04df, %hpstate
18381 .word 0xe697e0e0 ! 202: LDUHA_I lduha [%r31, + 0x00e0] %asi, %r19
18382dvapa_4_150:
18383 nop
18384 ta T_CHANGE_HPRIV
18385 mov 0xfa5, %r20
18386 mov 0xe, %r19
18387 sllx %r20, 23, %r20
18388 or %r19, %r20, %r19
18389 stxa %r19, [%g0] ASI_LSU_CONTROL
18390 mov 0x38, %r18
18391 stxa %r31, [%r18]0x58
18392 ta T_CHANGE_NONHPRIV
18393 .word 0xe63fede6 ! 203: STD_I std %r19, [%r31 + 0x0de6]
18394 .word 0xa7830012 ! 204: WR_GRAPHICS_STATUS_REG_R wr %r12, %r18, %-
18395brcommon2_4_152:
18396 nop
18397 setx common_target, %r12, %r27
18398 ba,a .+12
18399 .word 0xa7b7c70d ! 1: FMULD8SUx16 fmuld8ulx16 %f31, %f13, %d50
18400 ba,a .+8
18401 jmpl %r27+0, %r27
18402 .word 0xe1bfdc00 ! 205: STDFA_R stda %f16, [%r0, %r31]
18403 .word 0x99454000 ! 206: RD_CLEAR_SOFTINT rd %clear_softint, %r12
18404 .word 0xe897e138 ! 207: LDUHA_I lduha [%r31, + 0x0138] %asi, %r20
18405 nop
18406 ta T_CHANGE_HPRIV
18407 mov 0x4, %r10
18408 set sync_thr_counter6, %r23
18409#ifndef SPC
18410 ldxa [%g0]0x63, %o1
18411 and %o1, 0x38, %o1
18412 add %o1, %r23, %r23
18413#endif
18414 cas [%r23],%g0,%r10 !lock
18415 brnz %r10, sma_4_153
18416 rd %asi, %r12
18417 wr %g0, 0x40, %asi
18418 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
18419 set 0x00121fff, %g1
18420 stxa %g1, [%g0 + 0x80] %asi
18421 wr %r12, %g0, %asi
18422 st %g0, [%r23]
18423sma_4_153:
18424 ta T_CHANGE_NONHPRIV
18425 .word 0xe9e7e012 ! 208: CASA_R casa [%r31] %asi, %r18, %r20
18426 setx vahole_target3, %r18, %r27
18427 .word 0xe1bfe020 ! 209: STDFA_I stda %f16, [0x0020, %r31]
18428splash_lsu_4_155:
18429 nop
18430 ta T_CHANGE_HPRIV
18431 set 0xf905f5dc, %r2
18432 mov 0x6, %r1
18433 sllx %r1, 32, %r1
18434 or %r1, %r2, %r2
18435 stxa %r2, [%r0] ASI_LSU_CONTROL
18436 ta T_CHANGE_NONHPRIV
18437 .word 0x3d400001 ! 210: FBPULE fbule,a,pn %fcc0, <label_0x1>
18438splash_hpstate_4_156:
18439 .word 0x24ca4001 ! 1: BRLEZ brlez,a,pt %r9,<label_0xa4001>
18440 .word 0x819821ef ! 211: WRHPR_HPSTATE_I wrhpr %r0, 0x01ef, %hpstate
18441fpinit_4_157:
18442 setx fp_data_quads, %r19, %r20
18443 ldd [%r20], %f0
18444 ldd [%r20+8], %f4
18445 ld [%r20+16], %fsr
18446 ld [%r20+24], %r19
18447 wr %r19, %g0, %gsr
18448 .word 0xc3e82de6 ! 212: PREFETCHA_I prefetcha [%r0, + 0x0de6] %asi, #one_read
18449splash_tba_4_158:
18450 ta T_CHANGE_PRIV
18451 setx 0x0000000400380000, %r11, %r12
18452 .word 0x8b90000c ! 213: WRPR_TBA_R wrpr %r0, %r12, %tba
18453intveclr_4_159:
18454 nop
18455 ta T_CHANGE_HPRIV
18456 setx 0xb7c661ecfeaca0a7, %r1, %r28
18457 stxa %r28, [%g0] 0x72
18458 .word 0x25400001 ! 214: FBPLG fblg,a,pn %fcc0, <label_0x1>
18459mondo_4_160:
18460 nop
18461 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
18462 stxa %r3, [%r0+0x3c8] %asi
18463 .word 0x9d950001 ! 215: WRPR_WSTATE_R wrpr %r20, %r1, %wstate
18464iaw_4_161:
18465 nop
18466 ta T_CHANGE_HPRIV
18467 mov 8, %r18
18468 rd %asi, %r12
18469 wr %r0, 0x41, %asi
18470 set sync_thr_counter4, %r23
18471#ifndef SPC
18472 ldxa [%g0]0x63, %r8
18473 and %r8, 0x38, %r8 ! Core ID
18474 add %r8, %r23, %r23
18475#else
18476 mov 0, %r8
18477#endif
18478 mov 0x4, %r16
18479iaw_startwait4_161:
18480 cas [%r23],%g0,%r16 !lock
18481 brz,a %r16, continue_iaw_4_161
18482 mov (~0x4&0xf), %r16
18483 ld [%r23], %r16
18484iaw_wait4_161:
18485 brnz %r16, iaw_wait4_161
18486 ld [%r23], %r16
18487 ba iaw_startwait4_161
18488 mov 0x4, %r16
18489continue_iaw_4_161:
18490 sllx %r16, %r8, %r16 !Mask for my core only
18491 ldxa [0x58]%asi, %r17 !Running_status
18492wait_for_stat_4_161:
18493 ldxa [0x50]%asi, %r13 !Running_rw
18494 cmp %r13, %r17
18495 bne,a wait_for_stat_4_161
18496 ldxa [0x58]%asi, %r17 !Running_status
18497 stxa %r16, [0x68]%asi !Park (W1C)
18498 ldxa [0x50]%asi, %r14 !Running_rw
18499wait_for_iaw_4_161:
18500 ldxa [0x58]%asi, %r17 !Running_status
18501 cmp %r14, %r17
18502 bne,a wait_for_iaw_4_161
18503 ldxa [0x50]%asi, %r14 !Running_rw
18504iaw_doit4_161:
18505 mov 0x38, %r18
18506iaw1_4_161:
18507 best_set_reg(0x00000000e0200000, %r20, %r19)
18508 or %r19, 0x1, %r19
18509 stxa %r19, [%r18]0x50
18510 stxa %r16, [0x60] %asi ! Unpark (W1S)
18511 st %g0, [%r23] !clear lock
18512 wr %r0, %r12, %asi ! restore %asi
18513 ta T_CHANGE_NONHPRIV
18514 .word 0xc1bfc3e0 ! 216: STDFA_R stda %f0, [%r0, %r31]
18515pmu_4_162:
18516 nop
18517 ta T_CHANGE_PRIV
18518 setx 0xfffffeccfffff9e2, %g1, %g7
18519 .word 0xa3800007 ! 217: WR_PERF_COUNTER_R wr %r0, %r7, %-
18520donret_4_163:
18521 nop
18522 ta T_CHANGE_HPRIV ! macro
18523 rd %pc, %r12
18524 add %r12, (donretarg_4_163-donret_4_163-4), %r12
18525 mov 0x38, %r18
18526 stxa %r12, [%r18]0x58
18527 add %r12, 0x4, %r11
18528 wrpr %g0, 0x2, %tl
18529 wrpr %g0, %r12, %tpc
18530 wrpr %g0, %r11, %tnpc
18531 set (0x000c6a68 | (0x55 << 24)), %r13
18532 rdpr %tstate, %r16
18533 mov 0x1f, %r19
18534 and %r19, %r16, %r17
18535 andn %r16, %r19, %r16
18536 or %r16, %r17, %r20
18537 wrpr %r20, %g0, %tstate
18538 wrhpr %g0, 0xbc6, %htstate
18539 ta T_CHANGE_NONPRIV ! rand=0 (4)
18540 .word 0x3c800001 ! 1: BPOS bpos,a <label_0x1>
18541 done
18542donretarg_4_163:
18543 .word 0x9ba189c8 ! 218: FDIVd fdivd %f6, %f8, %f44
18544 invalw
18545 mov 0x30, %r30
18546 .word 0x91d0001e ! 219: Tcc_R ta icc_or_xcc, %r0 + %r30
18547 .word 0xa7464000 ! 220: RD_STICK_CMPR_REG rd %-, %r19
18548 setx vahole_target3, %r18, %r27
18549 .word 0xc32fc00a ! 221: STXFSR_R st-sfr %f1, [%r10, %r31]
18550ibp_4_165:
18551 nop
18552 .word 0xc32fc00a ! 222: STXFSR_R st-sfr %f1, [%r10, %r31]
18553dvapa_4_166:
18554 nop
18555 ta T_CHANGE_HPRIV
18556 mov 0xd2a, %r20
18557 mov 0x16, %r19
18558 sllx %r20, 23, %r20
18559 or %r19, %r20, %r19
18560 stxa %r19, [%g0] ASI_LSU_CONTROL
18561 mov 0x38, %r18
18562 stxa %r31, [%r18]0x58
18563 ta T_CHANGE_NONHPRIV
18564 .word 0xe1bfdf20 ! 223: STDFA_R stda %f16, [%r0, %r31]
18565 .word 0xe44fe000 ! 224: LDSB_I ldsb [%r31 + 0x0000], %r18
18566mondo_4_167:
18567 nop
18568 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
18569 ta T_CHANGE_PRIV
18570 stxa %r10, [%r0+0x3d0] %asi
18571 .word 0x9d914009 ! 225: WRPR_WSTATE_R wrpr %r5, %r9, %wstate
18572 .word 0x94850014 ! 226: ADDcc_R addcc %r20, %r20, %r10
18573iaw_4_168:
18574 nop
18575 ta T_CHANGE_HPRIV
18576 mov 8, %r18
18577 rd %asi, %r12
18578 wr %r0, 0x41, %asi
18579 set sync_thr_counter4, %r23
18580#ifndef SPC
18581 ldxa [%g0]0x63, %r8
18582 and %r8, 0x38, %r8 ! Core ID
18583 add %r8, %r23, %r23
18584#else
18585 mov 0, %r8
18586#endif
18587 mov 0x4, %r16
18588iaw_startwait4_168:
18589 cas [%r23],%g0,%r16 !lock
18590 brz,a %r16, continue_iaw_4_168
18591 mov (~0x4&0xf), %r16
18592 ld [%r23], %r16
18593iaw_wait4_168:
18594 brnz %r16, iaw_wait4_168
18595 ld [%r23], %r16
18596 ba iaw_startwait4_168
18597 mov 0x4, %r16
18598continue_iaw_4_168:
18599 sllx %r16, %r8, %r16 !Mask for my core only
18600 ldxa [0x58]%asi, %r17 !Running_status
18601wait_for_stat_4_168:
18602 ldxa [0x50]%asi, %r13 !Running_rw
18603 cmp %r13, %r17
18604 bne,a wait_for_stat_4_168
18605 ldxa [0x58]%asi, %r17 !Running_status
18606 stxa %r16, [0x68]%asi !Park (W1C)
18607 ldxa [0x50]%asi, %r14 !Running_rw
18608wait_for_iaw_4_168:
18609 ldxa [0x58]%asi, %r17 !Running_status
18610 cmp %r14, %r17
18611 bne,a wait_for_iaw_4_168
18612 ldxa [0x50]%asi, %r14 !Running_rw
18613iaw_doit4_168:
18614 mov 0x38, %r18
18615iaw0_4_168:
18616 rd %pc, %r19
18617 add %r19, (16+1), %r19
18618 stxa %r19, [%r18]0x50
18619 stxa %r16, [0x60] %asi ! Unpark (W1S)
18620 st %g0, [%r23] !clear lock
18621 wr %r0, %r12, %asi ! restore %asi
18622 ta T_CHANGE_NONHPRIV
18623 .word 0xdabfc02d ! 227: STDA_R stda %r13, [%r31 + %r13] 0x01
18624 setx vahole_target2, %r18, %r27
18625 .word 0xa17028df ! 228: POPC_I popc 0x08df, %r16
18626 nop
18627 ta T_CHANGE_HPRIV
18628 mov 0x4+1, %r10
18629 set sync_thr_counter5, %r23
18630#ifndef SPC
18631 ldxa [%g0]0x63, %o1
18632 and %o1, 0x38, %o1
18633 add %o1, %r23, %r23
18634#endif
18635 cas [%r23],%g0,%r10 !lock
18636 brnz %r10, cwq_4_170
18637 rd %asi, %r12
18638 wr %g0, 0x40, %asi
18639 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
18640 and %l1, 0x3, %l1 ! Check if busy/enabled ..
18641 cmp %l1, 1
18642 bne cwq_4_170
18643 set CWQ_BASE, %l6
18644 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
18645 best_set_reg(0x206100b0, %l1, %l2) !# Control Word
18646 sllx %l2, 32, %l2
18647 stx %l2, [%l6 + 0x0]
18648 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
18649 sub %l2, 0x40, %l2
18650 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
18651 wr %r12, %g0, %asi
18652 st %g0, [%r23]
18653cwq_4_170:
18654 ta T_CHANGE_NONHPRIV
18655 .word 0x95414000 ! 229: RDPC rd %pc, %r10
18656 setx vahole_target0, %r18, %r27
18657 .word 0xd03fe8df ! 230: STD_I std %r8, [%r31 + 0x08df]
18658cmp_4_172:
18659 nop
18660 ta T_CHANGE_HPRIV
18661 rd %asi, %r12
18662 wr %r0, 0x41, %asi
18663 set sync_thr_counter4, %r23
18664#ifndef SPC
18665 ldxa [%g0]0x63, %r8
18666 and %r8, 0x38, %r8 ! Core ID
18667 add %r8, %r23, %r23
18668 mov 0xff, %r9
18669 xor %r9, 0x4, %r9
18670 sllx %r9, %r8, %r9 ! My core mask
18671#else
18672 mov 0, %r8
18673 mov 0xff, %r9
18674 xor %r9, 0x4, %r9 ! My core mask
18675#endif
18676 mov 0x4, %r10
18677cmp_startwait4_172:
18678 cas [%r23],%g0,%r10 !lock
18679 brz,a %r10, continue_cmp_4_172
18680 ldxa [0x50]%asi, %r13 !Running_rw
18681 ld [%r23], %r10
18682cmp_wait4_172:
18683 brnz,a %r10, cmp_wait4_172
18684 ld [%r23], %r10
18685 ba cmp_startwait4_172
18686 mov 0x4, %r10
18687continue_cmp_4_172:
18688 ldxa [0x58]%asi, %r14 !Running_status
18689 xnor %r14, %r13, %r14 !Bits equal
18690 brz,a %r8, cmp_multi_core_4_172
18691 mov 0xc6, %r17
18692 best_set_reg(0xd461a59b9cb3e762, %r16, %r17)
18693cmp_multi_core_4_172:
18694 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
18695 and %r14, %r9, %r14 !Apply core-mask
18696 stxa %r14, [0x60]%asi
18697 st %g0, [%r23] !clear lock
18698 wr %g0, %r12, %asi
18699 .word 0x91930012 ! 231: WRPR_PIL_R wrpr %r12, %r18, %pil
18700pmu_4_173:
18701 nop
18702 setx 0xfffffee2fffff907, %g1, %g7
18703 .word 0xa3800007 ! 232: WR_PERF_COUNTER_R wr %r0, %r7, %-
18704iaw_4_174:
18705 nop
18706 ta T_CHANGE_HPRIV
18707 mov 8, %r18
18708 rd %asi, %r12
18709 wr %r0, 0x41, %asi
18710 set sync_thr_counter4, %r23
18711#ifndef SPC
18712 ldxa [%g0]0x63, %r8
18713 and %r8, 0x38, %r8 ! Core ID
18714 add %r8, %r23, %r23
18715#else
18716 mov 0, %r8
18717#endif
18718 mov 0x4, %r16
18719iaw_startwait4_174:
18720 cas [%r23],%g0,%r16 !lock
18721 brz,a %r16, continue_iaw_4_174
18722 mov (~0x4&0xf), %r16
18723 ld [%r23], %r16
18724iaw_wait4_174:
18725 brnz %r16, iaw_wait4_174
18726 ld [%r23], %r16
18727 ba iaw_startwait4_174
18728 mov 0x4, %r16
18729continue_iaw_4_174:
18730 sllx %r16, %r8, %r16 !Mask for my core only
18731 ldxa [0x58]%asi, %r17 !Running_status
18732wait_for_stat_4_174:
18733 ldxa [0x50]%asi, %r13 !Running_rw
18734 cmp %r13, %r17
18735 bne,a wait_for_stat_4_174
18736 ldxa [0x58]%asi, %r17 !Running_status
18737 stxa %r16, [0x68]%asi !Park (W1C)
18738 ldxa [0x50]%asi, %r14 !Running_rw
18739wait_for_iaw_4_174:
18740 ldxa [0x58]%asi, %r17 !Running_status
18741 cmp %r14, %r17
18742 bne,a wait_for_iaw_4_174
18743 ldxa [0x50]%asi, %r14 !Running_rw
18744iaw_doit4_174:
18745 mov 0x38, %r18
18746iaw3_4_174:
18747 setx common_target, %r20, %r19
18748 or %r19, 0x1, %r19
18749 stxa %r19, [%r18]0x50
18750 stxa %r16, [0x60] %asi ! Unpark (W1S)
18751 st %g0, [%r23] !clear lock
18752 wr %r0, %r12, %asi ! restore %asi
18753 ta T_CHANGE_NONHPRIV
18754 .word 0xd097c029 ! 233: LDUHA_R lduha [%r31, %r9] 0x01, %r8
18755 .word 0xa16c8010 ! 234: SDIVX_R sdivx %r18, %r16, %r16
18756splash_cmpr_4_175:
18757 nop
18758 setx 0x908c5fd0444df8f8, %l2, %l1
18759 ta T_CHANGE_PRIV
18760 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
18761 sub %l1, 40, %g1
18762 .word 0x89900011 ! 235: WRPR_TICK_R wrpr %r0, %r17, %tick
18763#if (defined SPC || defined CMP)
18764!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_4_176) + 16, 16, 16)) -> intp(4,0,7)
18765!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_4_176)&0xffffffff) + 16, 16, 16)) -> intp(4,0,7)
18766#else
18767 setx 0x18fe9551b90ff81f, %r1, %r28
18768 stxa %r28, [%g0] 0x73
18769#endif
18770intvec_4_176:
18771 .word 0x39400001 ! 236: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
18772dvapa_4_177:
18773 nop
18774 ta T_CHANGE_HPRIV
18775 mov 0xf3b, %r20
18776 mov 0x1e, %r19
18777 sllx %r20, 23, %r20
18778 or %r19, %r20, %r19
18779 stxa %r19, [%g0] ASI_LSU_CONTROL
18780 mov 0x38, %r18
18781 stxa %r31, [%r18]0x58
18782 ta T_CHANGE_NONHPRIV
18783 .word 0xc1bfe000 ! 237: STDFA_I stda %f0, [0x0000, %r31]
18784 setx vahole_target3, %r18, %r27
18785 .word 0xc1bfd920 ! 238: STDFA_R stda %f0, [%r0, %r31]
18786fpinit_4_179:
18787 setx fp_data_quads, %r19, %r20
18788 ldd [%r20], %f0
18789 ldd [%r20+8], %f4
18790 ld [%r20+16], %fsr
18791 ld [%r20+24], %r19
18792 wr %r19, %g0, %gsr
18793 .word 0x89b00484 ! 239: FCMPLE32 fcmple32 %d0, %d4, %r4
18794mondo_4_180:
18795 nop
18796 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
18797 stxa %r19, [%r0+0x3d0] %asi
18798 .word 0x9d914005 ! 240: WRPR_WSTATE_R wrpr %r5, %r5, %wstate
18799 setx vahole_target1, %r18, %r27
18800 .word 0xc19fdf20 ! 241: LDDFA_R ldda [%r31, %r0], %f0
18801#if (defined SPC || defined CMP)
18802!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_4_182) + 32, 16, 16)) -> intp(2,0,21)
18803!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_4_182)&0xffffffff) + 32, 16, 16)) -> intp(2,0,21)
18804#else
18805 setx 0xb7e3429c6e25c964, %r1, %r28
18806 stxa %r28, [%g0] 0x73
18807#endif
18808intvec_4_182:
18809 .word 0x39400001 ! 242: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
18810 .word 0xe48008a0 ! 243: LDUWA_R lduwa [%r0, %r0] 0x45, %r18
18811intveclr_4_183:
18812 nop
18813 ta T_CHANGE_HPRIV
18814 setx 0xf7b15643b8acdf9e, %r1, %r28
18815 stxa %r28, [%g0] 0x72
18816 ta T_CHANGE_NONHPRIV
18817 .word 0x25400001 ! 244: FBPLG fblg,a,pn %fcc0, <label_0x1>
18818 setx vahole_target3, %r18, %r27
18819 .word 0xe43fe8df ! 245: STD_I std %r18, [%r31 + 0x08df]
18820 nop
18821 ta T_CHANGE_HPRIV
18822 mov 0x4, %r10
18823 set sync_thr_counter6, %r23
18824#ifndef SPC
18825 ldxa [%g0]0x63, %o1
18826 and %o1, 0x38, %o1
18827 add %o1, %r23, %r23
18828#endif
18829 cas [%r23],%g0,%r10 !lock
18830 brnz %r10, sma_4_185
18831 rd %asi, %r12
18832 wr %g0, 0x40, %asi
18833 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
18834 set 0x000a1fff, %g1
18835 stxa %g1, [%g0 + 0x80] %asi
18836 wr %r12, %g0, %asi
18837 st %g0, [%r23]
18838sma_4_185:
18839 ta T_CHANGE_NONHPRIV
18840 .word 0xe5e7e00c ! 246: CASA_R casa [%r31] %asi, %r12, %r18
18841fpinit_4_186:
18842 setx fp_data_quads, %r19, %r20
18843 ldd [%r20], %f0
18844 ldd [%r20+8], %f4
18845 ld [%r20+16], %fsr
18846 ld [%r20+24], %r19
18847 wr %r19, %g0, %gsr
18848 .word 0x91a009a4 ! 247: FDIVs fdivs %f0, %f4, %f8
18849 setx vahole_target2, %r18, %r27
18850 .word 0xe49fc02a ! 248: LDDA_R ldda [%r31, %r10] 0x01, %r18
18851 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
18852reduce_priv_lvl_4_188:
18853 ta T_CHANGE_NONPRIV ! macro
18854brcommon2_4_189:
18855 nop
18856 setx common_target, %r12, %r27
18857 ba,a .+12
18858 .word 0xa5a7c9d1 ! 1: FDIVd fdivd %f62, %f48, %f18
18859 ba,a .+8
18860 jmpl %r27+0, %r27
18861 .word 0xc1bfda00 ! 250: STDFA_R stda %f0, [%r0, %r31]
18862mondo_4_190:
18863 nop
18864 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
18865 stxa %r9, [%r0+0x3c8] %asi
18866 .word 0x9d92000b ! 251: WRPR_WSTATE_R wrpr %r8, %r11, %wstate
18867 setx 0x67d6624c9950cc8d, %r1, %r28
18868 stxa %r28, [%g0] 0x73
18869intvec_4_191:
18870 .word 0x39400001 ! 252: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
18871 setx vahole_target3, %r18, %r27
18872 .word 0xe33fc00a ! 253: STDF_R std %f17, [%r10, %r31]
18873ibp_4_193:
18874 nop
18875 ta T_CHANGE_NONHPRIV
18876 .word 0xc19fd920 ! 254: LDDFA_R ldda [%r31, %r0], %f0
18877 .word 0xab81f929 ! 255: WR_CLEAR_SOFTINT_I wr %r7, 0x1929, %clear_softint
18878splash_lsu_4_194:
18879 nop
18880 ta T_CHANGE_HPRIV
18881 set 0xfd126a9e, %r2
18882 mov 0x1, %r1
18883 sllx %r1, 32, %r1
18884 or %r1, %r2, %r2
18885 stxa %r2, [%r0] ASI_LSU_CONTROL
18886 .word 0x3d400001 ! 256: FBPULE fbule,a,pn %fcc0, <label_0x1>
18887 nop
18888 ta T_CHANGE_HPRIV
18889 mov 0x4, %r10
18890 set sync_thr_counter6, %r23
18891#ifndef SPC
18892 ldxa [%g0]0x63, %o1
18893 and %o1, 0x38, %o1
18894 add %o1, %r23, %r23
18895#endif
18896 cas [%r23],%g0,%r10 !lock
18897 brnz %r10, sma_4_195
18898 rd %asi, %r12
18899 wr %g0, 0x40, %asi
18900 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
18901 set 0x000e1fff, %g1
18902 stxa %g1, [%g0 + 0x80] %asi
18903 wr %r12, %g0, %asi
18904 st %g0, [%r23]
18905sma_4_195:
18906 ta T_CHANGE_NONHPRIV
18907 .word 0xe3e7e013 ! 257: CASA_R casa [%r31] %asi, %r19, %r17
18908#if (defined SPC || defined CMP)
18909!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_4_196) + 16, 16, 16)) -> intp(1,0,6)
18910!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_4_196)&0xffffffff) + 16, 16, 16)) -> intp(1,0,6)
18911#else
18912 setx 0x567080e2941a9336, %r1, %r28
18913 stxa %r28, [%g0] 0x73
18914#endif
18915intvec_4_196:
18916 .word 0x39400001 ! 258: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
18917 .word 0xa5b5098d ! 259: BSHUFFLE fmovc32 %d20, %d44, %d18
18918 .word 0x9f803372 ! 260: SIR sir 0x1372
18919 nop
18920 ta T_CHANGE_HPRIV
18921 mov 0x4, %r10
18922 set sync_thr_counter6, %r23
18923#ifndef SPC
18924 ldxa [%g0]0x63, %o1
18925 and %o1, 0x38, %o1
18926 add %o1, %r23, %r23
18927#endif
18928 cas [%r23],%g0,%r10 !lock
18929 brnz %r10, sma_4_198
18930 rd %asi, %r12
18931 wr %g0, 0x40, %asi
18932 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
18933 set 0x001e1fff, %g1
18934 stxa %g1, [%g0 + 0x80] %asi
18935 wr %r12, %g0, %asi
18936 st %g0, [%r23]
18937sma_4_198:
18938 ta T_CHANGE_NONHPRIV
18939 .word 0xe7e7e011 ! 261: CASA_R casa [%r31] %asi, %r17, %r19
18940splash_tba_4_199:
18941 ta T_CHANGE_PRIV
18942 setx 0x0000000400380000, %r11, %r12
18943 .word 0x8b90000c ! 262: WRPR_TBA_R wrpr %r0, %r12, %tba
18944splash_hpstate_4_200:
18945 ta T_CHANGE_NONHPRIV
18946 .word 0x81982515 ! 263: WRHPR_HPSTATE_I wrhpr %r0, 0x0515, %hpstate
18947mondo_4_201:
18948 nop
18949 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
18950 ta T_CHANGE_PRIV
18951 stxa %r6, [%r0+0x3e0] %asi
18952 .word 0x9d93000d ! 264: WRPR_WSTATE_R wrpr %r12, %r13, %wstate
18953tagged_4_202:
18954 tsubcctv %r17, 0x110b, %r10
18955 .word 0xe607e01c ! 265: LDUW_I lduw [%r31 + 0x001c], %r19
18956 nop
18957 mov 0x80, %g3
18958 stxa %g3, [%g3] 0x5f
18959 .word 0xe65fc000 ! 266: LDX_R ldx [%r31 + %r0], %r19
18960mondo_4_203:
18961 nop
18962 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
18963 stxa %r5, [%r0+0x3e8] %asi
18964 .word 0x9d908013 ! 267: WRPR_WSTATE_R wrpr %r2, %r19, %wstate
18965splash_cmpr_4_204:
18966 nop
18967 setx 0xb37b8523a7cbacfe, %l2, %l1
18968 ta T_CHANGE_HPRIV
18969 wrhpr %l1, %g0, %hsys_tick_cmpr
18970 ta T_CHANGE_NONHPRIV
18971 sub %l1, 40, %g1
18972 .word 0xb1800011 ! 268: WR_STICK_REG_R wr %r0, %r17, %-
18973intveclr_4_205:
18974 nop
18975 ta T_CHANGE_HPRIV
18976 setx 0x61aa35b311422547, %r1, %r28
18977 stxa %r28, [%g0] 0x72
18978 ta T_CHANGE_NONHPRIV
18979 .word 0x25400001 ! 269: FBPLG fblg,a,pn %fcc0, <label_0x1>
18980 .word 0x8d902689 ! 270: WRPR_PSTATE_I wrpr %r0, 0x0689, %pstate
18981cwp_4_207:
18982 set user_data_start, %o7
18983 .word 0x93902000 ! 271: WRPR_CWP_I wrpr %r0, 0x0000, %cwp
18984#if (defined SPC || defined CMP)
18985!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_4_208) + 40, 16, 16)) -> intp(2,0,16)
18986!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_4_208)&0xffffffff) + 40, 16, 16)) -> intp(2,0,16)
18987#else
18988 setx 0x9b6389eb6170a752, %r1, %r28
18989 stxa %r28, [%g0] 0x73
18990#endif
18991intvec_4_208:
18992 .word 0x39400001 ! 272: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
18993ibp_4_209:
18994 nop
18995 .word 0x9ba509c5 ! 273: FDIVd fdivd %f20, %f36, %f44
18996mondo_4_210:
18997 nop
18998 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
18999 ta T_CHANGE_PRIV
19000 stxa %r12, [%r0+0x3d8] %asi
19001 .word 0x9d928004 ! 274: WRPR_WSTATE_R wrpr %r10, %r4, %wstate
19002ibp_4_211:
19003 nop
19004 ta T_CHANGE_NONHPRIV
19005 .word 0xe1bfda00 ! 275: STDFA_R stda %f16, [%r0, %r31]
19006splash_lsu_4_212:
19007 nop
19008 ta T_CHANGE_HPRIV
19009 set 0x54cc255c, %r2
19010 mov 0x3, %r1
19011 sllx %r1, 32, %r1
19012 or %r1, %r2, %r2
19013 stxa %r2, [%r0] ASI_LSU_CONTROL
19014 ta T_CHANGE_NONHPRIV
19015 .word 0x3d400001 ! 276: FBPULE fbule,a,pn %fcc0, <label_0x1>
19016 otherw
19017 mov 0x34, %r30
19018 .word 0x91d0001e ! 277: Tcc_R ta icc_or_xcc, %r0 + %r30
19019trapasi_4_213:
19020 nop
19021 mov 0x18, %r1 ! (VA for ASI 0x50)
19022 .word 0xe8884a00 ! 278: LDUBA_R lduba [%r1, %r0] 0x50, %r20
19023pmu_4_214:
19024 nop
19025 ta T_CHANGE_PRIV
19026 setx 0xfffff8dffffffe2b, %g1, %g7
19027 .word 0xa3800007 ! 279: WR_PERF_COUNTER_R wr %r0, %r7, %-
19028iaw_4_215:
19029 nop
19030 ta T_CHANGE_HPRIV
19031 mov 8, %r18
19032 rd %asi, %r12
19033 wr %r0, 0x41, %asi
19034 set sync_thr_counter4, %r23
19035#ifndef SPC
19036 ldxa [%g0]0x63, %r8
19037 and %r8, 0x38, %r8 ! Core ID
19038 add %r8, %r23, %r23
19039#else
19040 mov 0, %r8
19041#endif
19042 mov 0x4, %r16
19043iaw_startwait4_215:
19044 cas [%r23],%g0,%r16 !lock
19045 brz,a %r16, continue_iaw_4_215
19046 mov (~0x4&0xf), %r16
19047 ld [%r23], %r16
19048iaw_wait4_215:
19049 brnz %r16, iaw_wait4_215
19050 ld [%r23], %r16
19051 ba iaw_startwait4_215
19052 mov 0x4, %r16
19053continue_iaw_4_215:
19054 sllx %r16, %r8, %r16 !Mask for my core only
19055 ldxa [0x58]%asi, %r17 !Running_status
19056wait_for_stat_4_215:
19057 ldxa [0x50]%asi, %r13 !Running_rw
19058 cmp %r13, %r17
19059 bne,a wait_for_stat_4_215
19060 ldxa [0x58]%asi, %r17 !Running_status
19061 stxa %r16, [0x68]%asi !Park (W1C)
19062 ldxa [0x50]%asi, %r14 !Running_rw
19063wait_for_iaw_4_215:
19064 ldxa [0x58]%asi, %r17 !Running_status
19065 cmp %r14, %r17
19066 bne,a wait_for_iaw_4_215
19067 ldxa [0x50]%asi, %r14 !Running_rw
19068iaw_doit4_215:
19069 mov 0x38, %r18
19070iaw3_4_215:
19071 setx common_target, %r20, %r19
19072 or %r19, 0x1, %r19
19073 stxa %r19, [%r18]0x50
19074 stxa %r16, [0x60] %asi ! Unpark (W1S)
19075 st %g0, [%r23] !clear lock
19076 wr %r0, %r12, %asi ! restore %asi
19077 ta T_CHANGE_NONHPRIV
19078 .word 0xe1bfd960 ! 280: STDFA_R stda %f16, [%r0, %r31]
19079#if (defined SPC || defined CMP)
19080!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_4_216) + 32, 16, 16)) -> intp(4,0,13)
19081!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_4_216)&0xffffffff) + 32, 16, 16)) -> intp(4,0,13)
19082#else
19083 setx 0x23b5648afb1111d1, %r1, %r28
19084 stxa %r28, [%g0] 0x73
19085#endif
19086intvec_4_216:
19087 .word 0x39400001 ! 281: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
19088splash_lsu_4_217:
19089 nop
19090 ta T_CHANGE_HPRIV
19091 set 0xba702a4c, %r2
19092 mov 0x2, %r1
19093 sllx %r1, 32, %r1
19094 or %r1, %r2, %r2
19095 stxa %r2, [%r0] ASI_LSU_CONTROL
19096 .word 0x3d400001 ! 282: FBPULE fbule,a,pn %fcc0, <label_0x1>
19097mondo_4_218:
19098 nop
19099 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
19100 stxa %r20, [%r0+0x3e0] %asi
19101 .word 0x9d948002 ! 283: WRPR_WSTATE_R wrpr %r18, %r2, %wstate
19102 setx vahole_target0, %r18, %r27
19103 .word 0xc1bfdf20 ! 284: STDFA_R stda %f0, [%r0, %r31]
19104mondo_4_220:
19105 nop
19106 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
19107 ta T_CHANGE_PRIV
19108 stxa %r8, [%r0+0x3c8] %asi
19109 .word 0x9d908010 ! 285: WRPR_WSTATE_R wrpr %r2, %r16, %wstate
19110 .word 0x9f803262 ! 286: SIR sir 0x1262
19111donret_4_222:
19112 nop
19113 ta T_CHANGE_HPRIV ! macro
19114 rd %pc, %r12
19115 add %r12, (donretarg_4_222-donret_4_222-8), %r12
19116 mov 0x38, %r18
19117 stxa %r12, [%r18]0x58
19118 add %r12, 0x4, %r11
19119 wrpr %g0, 0x2, %tl
19120 wrpr %g0, %r12, %tpc
19121 wrpr %g0, %r11, %tnpc
19122 set (0x005a9101 | (32 << 24)), %r13
19123 rdpr %tstate, %r16
19124 mov 0x1f, %r19
19125 and %r19, %r16, %r17
19126 andn %r16, %r19, %r16
19127 or %r16, %r17, %r20
19128 wrpr %r20, %g0, %tstate
19129 wrhpr %g0, 0x507, %htstate
19130 ta T_CHANGE_NONHPRIV ! rand=1 (4)
19131 retry
19132donretarg_4_222:
19133 .word 0xe86fe140 ! 287: LDSTUB_I ldstub %r20, [%r31 + 0x0140]
19134jmptr_4_223:
19135 nop
19136 best_set_reg(0xe1200000, %r20, %r27)
19137 .word 0xb7c6c000 ! 288: JMPL_R jmpl %r27 + %r0, %r27
19138splash_cmpr_4_224:
19139 nop
19140 setx 0xbc0af9c137e84021, %l2, %l1
19141 ta T_CHANGE_HPRIV
19142 wrhpr %l1, %g0, %hsys_tick_cmpr
19143 sub %l1, 40, %g1
19144 .word 0x89900011 ! 289: WRPR_TICK_R wrpr %r0, %r17, %tick
19145splash_cmpr_4_225:
19146 nop
19147 setx 0x244186072a12e8c7, %l2, %l1
19148 ta T_CHANGE_PRIV
19149 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
19150 ta T_CHANGE_NONPRIV
19151 sub %l1, 40, %g1
19152 .word 0x89900011 ! 290: WRPR_TICK_R wrpr %r0, %r17, %tick
19153pmu_4_226:
19154 nop
19155 setx 0xffffff46fffffcc4, %g1, %g7
19156 .word 0xa3800007 ! 291: WR_PERF_COUNTER_R wr %r0, %r7, %-
19157pmu_4_227:
19158 nop
19159 ta T_CHANGE_PRIV
19160 setx 0xfffff64dfffffc43, %g1, %g7
19161 .word 0xa3800007 ! 292: WR_PERF_COUNTER_R wr %r0, %r7, %-
19162mondo_4_228:
19163 nop
19164 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
19165 ta T_CHANGE_PRIV
19166 stxa %r17, [%r0+0x3c0] %asi
19167 .word 0x9d944011 ! 293: WRPR_WSTATE_R wrpr %r17, %r17, %wstate
19168 .word 0x87802014 ! 294: WRASI_I wr %r0, 0x0014, %asi
19169cmp_4_229:
19170 nop
19171 ta T_CHANGE_HPRIV
19172 rd %asi, %r12
19173 wr %r0, 0x41, %asi
19174 set sync_thr_counter4, %r23
19175#ifndef SPC
19176 ldxa [%g0]0x63, %r8
19177 and %r8, 0x38, %r8 ! Core ID
19178 add %r8, %r23, %r23
19179 mov 0xff, %r9
19180 xor %r9, 0x4, %r9
19181 sllx %r9, %r8, %r9 ! My core mask
19182#else
19183 mov 0, %r8
19184 mov 0xff, %r9
19185 xor %r9, 0x4, %r9 ! My core mask
19186#endif
19187 mov 0x4, %r10
19188cmp_startwait4_229:
19189 cas [%r23],%g0,%r10 !lock
19190 brz,a %r10, continue_cmp_4_229
19191 ldxa [0x50]%asi, %r13 !Running_rw
19192 ld [%r23], %r10
19193cmp_wait4_229:
19194 brnz,a %r10, cmp_wait4_229
19195 ld [%r23], %r10
19196 ba cmp_startwait4_229
19197 mov 0x4, %r10
19198continue_cmp_4_229:
19199 ldxa [0x58]%asi, %r14 !Running_status
19200 xnor %r14, %r13, %r14 !Bits equal
19201 brz,a %r8, cmp_multi_core_4_229
19202 mov 0xeb, %r17
19203 best_set_reg(0xc737a944cfdcfcb5, %r16, %r17)
19204cmp_multi_core_4_229:
19205 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
19206 and %r14, %r9, %r14 !Apply core-mask
19207 stxa %r14, [0x68]%asi
19208 st %g0, [%r23] !clear lock
19209 wr %g0, %r12, %asi
19210 ta T_CHANGE_NONHPRIV
19211 .word 0x91a00169 ! 295: FABSq dis not found
19212
19213donret_4_230:
19214 nop
19215 ta T_CHANGE_HPRIV ! macro
19216 rd %pc, %r12
19217 add %r12, (donretarg_4_230-donret_4_230-8), %r12
19218 mov 0x38, %r18
19219 stxa %r12, [%r18]0x58
19220 add %r12, 0x4, %r11
19221 wrpr %g0, 0x2, %tl
19222 wrpr %g0, %r12, %tpc
19223 wrpr %g0, %r11, %tnpc
19224 set (0x006f845b | (0x4f << 24)), %r13
19225 rdpr %tstate, %r16
19226 mov 0x1f, %r19
19227 and %r19, %r16, %r17
19228 andn %r16, %r19, %r16
19229 or %r16, %r17, %r20
19230 wrpr %r20, %g0, %tstate
19231 wrhpr %g0, 0x44d, %htstate
19232 ta T_CHANGE_NONPRIV ! rand=0 (4)
19233 .word 0x34800001 ! 1: BG bg,a <label_0x1>
19234 retry
19235donretarg_4_230:
19236 .word 0xe66fe1b9 ! 296: LDSTUB_I ldstub %r19, [%r31 + 0x01b9]
19237 setx vahole_target2, %r18, %r27
19238 .word 0xc19fde00 ! 297: LDDFA_R ldda [%r31, %r0], %f0
19239 nop
19240 ta T_CHANGE_HPRIV
19241 mov 0x4+1, %r10
19242 set sync_thr_counter5, %r23
19243#ifndef SPC
19244 ldxa [%g0]0x63, %o1
19245 and %o1, 0x38, %o1
19246 add %o1, %r23, %r23
19247#endif
19248 cas [%r23],%g0,%r10 !lock
19249 brnz %r10, cwq_4_232
19250 rd %asi, %r12
19251 wr %g0, 0x40, %asi
19252 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
19253 and %l1, 0x3, %l1 ! Check if busy/enabled ..
19254 cmp %l1, 1
19255 bne cwq_4_232
19256 set CWQ_BASE, %l6
19257 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
19258 best_set_reg(0x20610040, %l1, %l2) !# Control Word
19259 sllx %l2, 32, %l2
19260 stx %l2, [%l6 + 0x0]
19261 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
19262 sub %l2, 0x40, %l2
19263 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
19264 wr %r12, %g0, %asi
19265 st %g0, [%r23]
19266cwq_4_232:
19267 ta T_CHANGE_NONHPRIV
19268 .word 0x9b414000 ! 298: RDPC rd %pc, %r13
19269trapasi_4_233:
19270 nop
19271 mov 0x3d8, %r1 ! (VA for ASI 0x25)
19272 .word 0xda8844a0 ! 299: LDUBA_R lduba [%r1, %r0] 0x25, %r13
19273dvapa_4_234:
19274 nop
19275 ta T_CHANGE_HPRIV
19276 mov 0x869, %r20
19277 mov 0xe, %r19
19278 sllx %r20, 23, %r20
19279 or %r19, %r20, %r19
19280 stxa %r19, [%g0] ASI_LSU_CONTROL
19281 mov 0x38, %r18
19282 stxa %r31, [%r18]0x58
19283 ta T_CHANGE_NONHPRIV
19284 .word 0xa3a189c8 ! 300: FDIVd fdivd %f6, %f8, %f48
19285intveclr_4_235:
19286 nop
19287 ta T_CHANGE_HPRIV
19288 setx 0x08c00246f0938b5c, %r1, %r28
19289 stxa %r28, [%g0] 0x72
19290 ta T_CHANGE_NONHPRIV
19291 .word 0x25400001 ! 301: FBPLG fblg,a,pn %fcc0, <label_0x1>
19292mondo_4_236:
19293 nop
19294 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
19295 stxa %r17, [%r0+0x3c8] %asi
19296 .word 0x9d934005 ! 302: WRPR_WSTATE_R wrpr %r13, %r5, %wstate
19297 setx 0x014dae02e40eb315, %r1, %r28
19298 stxa %r28, [%g0] 0x73
19299intvec_4_237:
19300 .word 0x39400001 ! 303: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
19301cmp_4_238:
19302 nop
19303 ta T_CHANGE_HPRIV
19304 rd %asi, %r12
19305 wr %r0, 0x41, %asi
19306 set sync_thr_counter4, %r23
19307#ifndef SPC
19308 ldxa [%g0]0x63, %r8
19309 and %r8, 0x38, %r8 ! Core ID
19310 add %r8, %r23, %r23
19311 mov 0xff, %r9
19312 xor %r9, 0x4, %r9
19313 sllx %r9, %r8, %r9 ! My core mask
19314#else
19315 mov 0, %r8
19316 mov 0xff, %r9
19317 xor %r9, 0x4, %r9 ! My core mask
19318#endif
19319 mov 0x4, %r10
19320cmp_startwait4_238:
19321 cas [%r23],%g0,%r10 !lock
19322 brz,a %r10, continue_cmp_4_238
19323 ldxa [0x50]%asi, %r13 !Running_rw
19324 ld [%r23], %r10
19325cmp_wait4_238:
19326 brnz,a %r10, cmp_wait4_238
19327 ld [%r23], %r10
19328 ba cmp_startwait4_238
19329 mov 0x4, %r10
19330continue_cmp_4_238:
19331 ldxa [0x58]%asi, %r14 !Running_status
19332 xnor %r14, %r13, %r14 !Bits equal
19333 brz,a %r8, cmp_multi_core_4_238
19334 mov 0xd1, %r17
19335 best_set_reg(0x3bf199c1fffc5210, %r16, %r17)
19336cmp_multi_core_4_238:
19337 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
19338 and %r14, %r9, %r14 !Apply core-mask
19339 stxa %r14, [0x60]%asi
19340 st %g0, [%r23] !clear lock
19341 wr %g0, %r12, %asi
19342 ta T_CHANGE_NONHPRIV
19343 .word 0x9ba00162 ! 304: FABSq dis not found
19344
19345pmu_4_239:
19346 nop
19347 ta T_CHANGE_PRIV
19348 setx 0xfffffd22fffff85d, %g1, %g7
19349 .word 0xa3800007 ! 305: WR_PERF_COUNTER_R wr %r0, %r7, %-
19350pmu_4_240:
19351 nop
19352 ta T_CHANGE_PRIV
19353 setx 0xfffffd83fffffa08, %g1, %g7
19354 .word 0xa3800007 ! 306: WR_PERF_COUNTER_R wr %r0, %r7, %-
19355ibp_4_241:
19356 nop
19357 ta T_CHANGE_NONHPRIV
19358 .word 0xe497c033 ! 307: LDUHA_R lduha [%r31, %r19] 0x01, %r18
19359splash_tba_4_242:
19360 ta T_CHANGE_PRIV
19361 setx 0x0000000400380000, %r11, %r12
19362 .word 0x8b90000c ! 308: WRPR_TBA_R wrpr %r0, %r12, %tba
19363change_to_randtl_4_243:
19364 ta T_CHANGE_HPRIV ! macro
19365done_change_to_randtl_4_243:
19366 .word 0x8f902002 ! 309: WRPR_TL_I wrpr %r0, 0x0002, %tl
19367 .word 0x8d802000 ! 310: WRFPRS_I wr %r0, 0x0000, %fprs
19368intveclr_4_244:
19369 nop
19370 ta T_CHANGE_HPRIV
19371 setx 0xeee00aa1b4912ae9, %r1, %r28
19372 stxa %r28, [%g0] 0x72
19373 .word 0x25400001 ! 311: FBPLG fblg,a,pn %fcc0, <label_0x1>
19374 setx vahole_target3, %r18, %r27
19375 .word 0xc1bfc3e0 ! 312: STDFA_R stda %f0, [%r0, %r31]
19376 nop
19377 ta T_CHANGE_HPRIV
19378 mov 0x4, %r10
19379 set sync_thr_counter6, %r23
19380#ifndef SPC
19381 ldxa [%g0]0x63, %o1
19382 and %o1, 0x38, %o1
19383 add %o1, %r23, %r23
19384#endif
19385 cas [%r23],%g0,%r10 !lock
19386 brnz %r10, sma_4_246
19387 rd %asi, %r12
19388 wr %g0, 0x40, %asi
19389 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
19390 set 0x00061fff, %g1
19391 stxa %g1, [%g0 + 0x80] %asi
19392 wr %r12, %g0, %asi
19393 st %g0, [%r23]
19394sma_4_246:
19395 ta T_CHANGE_NONHPRIV
19396 .word 0xe5e7e00d ! 313: CASA_R casa [%r31] %asi, %r13, %r18
19397dvapa_4_247:
19398 nop
19399 ta T_CHANGE_HPRIV
19400 mov 0xc21, %r20
19401 mov 0x16, %r19
19402 sllx %r20, 23, %r20
19403 or %r19, %r20, %r19
19404 stxa %r19, [%g0] ASI_LSU_CONTROL
19405 mov 0x38, %r18
19406 stxa %r31, [%r18]0x58
19407 ta T_CHANGE_NONHPRIV
19408 .word 0xa5a309b0 ! 314: FDIVs fdivs %f12, %f16, %f18
19409 .word 0x87a9ca54 ! 315: FCMPd fcmpd %fcc<n>, %f38, %f20
19410ibp_4_249:
19411 nop
19412 ta T_CHANGE_NONHPRIV
19413 .word 0xd03ff065 ! 316: STD_I std %r8, [%r31 + 0xfffff065]
19414 .word 0x3e800001 ! 317: BVC bvc,a <label_0x1>
19415#if (defined SPC || defined CMP)
19416!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_4_250) + 48, 16, 16)) -> intp(7,0,6)
19417!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_4_250)&0xffffffff) + 48, 16, 16)) -> intp(7,0,6)
19418#else
19419 setx 0xb16a7430ff1877c7, %r1, %r28
19420 stxa %r28, [%g0] 0x73
19421#endif
19422intvec_4_250:
19423 .word 0x39400001 ! 318: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
19424ibp_4_251:
19425 nop
19426 .word 0xd0bfc028 ! 319: STDA_R stda %r8, [%r31 + %r8] 0x01
19427 setx vahole_target2, %r18, %r27
19428 .word 0xc1bfe0a0 ! 320: STDFA_I stda %f0, [0x00a0, %r31]
19429 setx 0x2d8c747106718213, %r1, %r28
19430 stxa %r28, [%g0] 0x73
19431intvec_4_253:
19432 .word 0x39400001 ! 321: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
19433 .word 0xd08008a0 ! 322: LDUWA_R lduwa [%r0, %r0] 0x45, %r8
19434dvapa_4_254:
19435 nop
19436 ta T_CHANGE_HPRIV
19437 mov 0x80f, %r20
19438 mov 0x1a, %r19
19439 sllx %r20, 23, %r20
19440 or %r19, %r20, %r19
19441 stxa %r19, [%g0] ASI_LSU_CONTROL
19442 mov 0x38, %r18
19443 stxa %r31, [%r18]0x58
19444 ta T_CHANGE_NONHPRIV
19445 .word 0xd03ff065 ! 323: STD_I std %r8, [%r31 + 0xfffff065]
19446 .word 0x8d802000 ! 324: WRFPRS_I wr %r0, 0x0000, %fprs
19447intveclr_4_255:
19448 nop
19449 ta T_CHANGE_HPRIV
19450 setx 0xe0c4d8095e130f3e, %r1, %r28
19451 stxa %r28, [%g0] 0x72
19452 .word 0x25400001 ! 325: FBPLG fblg,a,pn %fcc0, <label_0x1>
19453 nop
19454 ta T_CHANGE_HPRIV
19455 mov 0x4, %r10
19456 set sync_thr_counter6, %r23
19457#ifndef SPC
19458 ldxa [%g0]0x63, %o1
19459 and %o1, 0x38, %o1
19460 add %o1, %r23, %r23
19461#endif
19462 cas [%r23],%g0,%r10 !lock
19463 brnz %r10, sma_4_256
19464 rd %asi, %r12
19465 wr %g0, 0x40, %asi
19466 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
19467 set 0x000a1fff, %g1
19468 stxa %g1, [%g0 + 0x80] %asi
19469 wr %r12, %g0, %asi
19470 st %g0, [%r23]
19471sma_4_256:
19472 ta T_CHANGE_NONHPRIV
19473 .word 0xd1e7e010 ! 326: CASA_R casa [%r31] %asi, %r16, %r8
19474 nop
19475 ta T_CHANGE_HPRIV
19476 mov 0x4+1, %r10
19477 set sync_thr_counter5, %r23
19478#ifndef SPC
19479 ldxa [%g0]0x63, %o1
19480 and %o1, 0x38, %o1
19481 add %o1, %r23, %r23
19482#endif
19483 cas [%r23],%g0,%r10 !lock
19484 brnz %r10, cwq_4_257
19485 rd %asi, %r12
19486 wr %g0, 0x40, %asi
19487 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
19488 and %l1, 0x3, %l1 ! Check if busy/enabled ..
19489 cmp %l1, 1
19490 bne cwq_4_257
19491 set CWQ_BASE, %l6
19492 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
19493 best_set_reg(0x20610060, %l1, %l2) !# Control Word
19494 sllx %l2, 32, %l2
19495 stx %l2, [%l6 + 0x0]
19496 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
19497 sub %l2, 0x40, %l2
19498 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
19499 wr %r12, %g0, %asi
19500 st %g0, [%r23]
19501cwq_4_257:
19502 ta T_CHANGE_NONHPRIV
19503 .word 0x97414000 ! 327: RDPC rd %pc, %r11
19504ibp_4_258:
19505 nop
19506 ta T_CHANGE_NONHPRIV
19507 .word 0xc1bfe020 ! 328: STDFA_I stda %f0, [0x0020, %r31]
19508fpinit_4_259:
19509 setx fp_data_quads, %r19, %r20
19510 ldd [%r20], %f0
19511 ldd [%r20+8], %f4
19512 ld [%r20+16], %fsr
19513 ld [%r20+24], %r19
19514 wr %r19, %g0, %gsr
19515 .word 0x8db00484 ! 329: FCMPLE32 fcmple32 %d0, %d4, %r6
19516 setx vahole_target1, %r18, %r27
19517 .word 0xdb1fc010 ! 330: LDDF_R ldd [%r31, %r16], %f13
19518 .word 0xda8008a0 ! 331: LDUWA_R lduwa [%r0, %r0] 0x45, %r13
19519 .word 0x96d27170 ! 332: UMULcc_I umulcc %r9, 0xfffff170, %r11
19520ibp_4_261:
19521 nop
19522 .word 0x87a8ca50 ! 333: FCMPd fcmpd %fcc<n>, %f34, %f16
19523mondo_4_262:
19524 nop
19525 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
19526 ta T_CHANGE_PRIV
19527 stxa %r19, [%r0+0x3d8] %asi
19528 .word 0x9d918011 ! 334: WRPR_WSTATE_R wrpr %r6, %r17, %wstate
19529mondo_4_263:
19530 nop
19531 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
19532 stxa %r17, [%r0+0x3c0] %asi
19533 .word 0x9d940014 ! 335: WRPR_WSTATE_R wrpr %r16, %r20, %wstate
19534cerer_4_264:
19535 nop
19536 ta T_CHANGE_HPRIV
19537 best_set_reg(0x8e534e9fd1d052eb, %r16, %r17)
19538 sethi %hi(0x20008000), %r16 ! Set ITTM/DTTM
19539 sllx %r16, 32, %r16
19540 or %r16, %r17, %r17
19541 mov 0x10, %r16
19542 stxa %r17, [%r16]0x4c
19543 .word 0x91524000 ! 336: RDPR_CWP <illegal instruction>
19544pmu_4_265:
19545 nop
19546 ta T_CHANGE_PRIV
19547 setx 0xfffff951fffff04f, %g1, %g7
19548 .word 0xa3800007 ! 337: WR_PERF_COUNTER_R wr %r0, %r7, %-
19549dvapa_4_266:
19550 nop
19551 ta T_CHANGE_HPRIV
19552 mov 0xa1c, %r20
19553 mov 0x17, %r19
19554 sllx %r20, 23, %r20
19555 or %r19, %r20, %r19
19556 stxa %r19, [%g0] ASI_LSU_CONTROL
19557 mov 0x38, %r18
19558 stxa %r31, [%r18]0x58
19559 ta T_CHANGE_NONHPRIV
19560 .word 0xd3e7e008 ! 338: CASA_R casa [%r31] %asi, %r8, %r9
19561splash_lsu_4_267:
19562 nop
19563 ta T_CHANGE_HPRIV
19564 set 0x43ef3e8f, %r2
19565 mov 0x5, %r1
19566 sllx %r1, 32, %r1
19567 or %r1, %r2, %r2
19568 stxa %r2, [%r0] ASI_LSU_CONTROL
19569 ta T_CHANGE_NONHPRIV
19570 .word 0x3d400001 ! 339: FBPULE fbule,a,pn %fcc0, <label_0x1>
19571splash_tba_4_268:
19572 ta T_CHANGE_PRIV
19573 set 0x120000, %r12
19574 .word 0x8b90000c ! 340: WRPR_TBA_R wrpr %r0, %r12, %tba
19575 otherw
19576 mov 0xb0, %r30
19577 .word 0x91d0001e ! 341: Tcc_R ta icc_or_xcc, %r0 + %r30
19578donret_4_269:
19579 nop
19580 ta T_CHANGE_HPRIV ! macro
19581 rd %pc, %r12
19582 add %r12, (donretarg_4_269-donret_4_269-4), %r12
19583 mov 0x38, %r18
19584 stxa %r12, [%r18]0x58
19585 add %r12, 0x4, %r11
19586 wrpr %g0, 0x2, %tl
19587 wrpr %g0, %r12, %tpc
19588 wrpr %g0, %r11, %tnpc
19589 set (0x002c7ffe | (20 << 24)), %r13
19590 rdpr %tstate, %r16
19591 mov 0x1f, %r19
19592 and %r19, %r16, %r17
19593 andn %r16, %r19, %r16
19594 or %r16, %r17, %r20
19595 wrpr %r20, %g0, %tstate
19596 wrhpr %g0, 0xb0e, %htstate
19597 ta T_CHANGE_NONPRIV ! rand=0 (4)
19598 .word 0x3f400001 ! 1: FBPO fbo,a,pn %fcc0, <label_0x1>
19599 done
19600donretarg_4_269:
19601 .word 0xa5a4c9c8 ! 342: FDIVd fdivd %f50, %f8, %f18
19602ibp_4_270:
19603 nop
19604 .word 0xc19fda00 ! 343: LDDFA_R ldda [%r31, %r0], %f0
19605 .word 0x9f80246b ! 344: SIR sir 0x046b
19606splash_hpstate_4_271:
19607 .word 0x81982e47 ! 345: WRHPR_HPSTATE_I wrhpr %r0, 0x0e47, %hpstate
19608 nop
19609 ta T_CHANGE_HPRIV
19610 mov 0x4+1, %r10
19611 set sync_thr_counter5, %r23
19612#ifndef SPC
19613 ldxa [%g0]0x63, %o1
19614 and %o1, 0x38, %o1
19615 add %o1, %r23, %r23
19616#endif
19617 cas [%r23],%g0,%r10 !lock
19618 brnz %r10, cwq_4_272
19619 rd %asi, %r12
19620 wr %g0, 0x40, %asi
19621 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
19622 and %l1, 0x3, %l1 ! Check if busy/enabled ..
19623 cmp %l1, 1
19624 bne cwq_4_272
19625 set CWQ_BASE, %l6
19626 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
19627 best_set_reg(0x206100c0, %l1, %l2) !# Control Word
19628 sllx %l2, 32, %l2
19629 stx %l2, [%l6 + 0x0]
19630 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
19631 sub %l2, 0x40, %l2
19632 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
19633 wr %r12, %g0, %asi
19634 st %g0, [%r23]
19635cwq_4_272:
19636 ta T_CHANGE_NONHPRIV
19637 .word 0x91414000 ! 346: RDPC rd %pc, %r8
19638ibp_4_273:
19639 nop
19640 ta T_CHANGE_NONHPRIV
19641 .word 0xdbe7e008 ! 347: CASA_R casa [%r31] %asi, %r8, %r13
19642#if (defined SPC || defined CMP)
19643!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_4_274) + 24, 16, 16)) -> intp(5,0,2)
19644!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_4_274)&0xffffffff) + 24, 16, 16)) -> intp(5,0,2)
19645#else
19646 setx 0x7b8aa93c2571c083, %r1, %r28
19647 stxa %r28, [%g0] 0x73
19648#endif
19649intvec_4_274:
19650 .word 0x39400001 ! 348: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
19651pmu_4_275:
19652 nop
19653 ta T_CHANGE_PRIV
19654 setx 0xfffffbbbfffff829, %g1, %g7
19655 .word 0xa3800007 ! 349: WR_PERF_COUNTER_R wr %r0, %r7, %-
19656ibp_4_276:
19657 nop
19658 .word 0x9f802a91 ! 350: SIR sir 0x0a91
19659pmu_4_277:
19660 nop
19661 setx 0xfffff3c4fffffb4c, %g1, %g7
19662 .word 0xa3800007 ! 351: WR_PERF_COUNTER_R wr %r0, %r7, %-
19663 set 0x1285, %l3
19664 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
19665 .word 0xa1b187d0 ! 352: PDIST pdistn %d6, %d16, %d16
19666dvapa_4_278:
19667 nop
19668 ta T_CHANGE_HPRIV
19669 mov 0xc11, %r20
19670 mov 0x0, %r19
19671 sllx %r20, 23, %r20
19672 or %r19, %r20, %r19
19673 stxa %r19, [%g0] ASI_LSU_CONTROL
19674 mov 0x38, %r18
19675 stxa %r31, [%r18]0x58
19676 ta T_CHANGE_NONHPRIV
19677 .word 0xa3a409b0 ! 353: FDIVs fdivs %f16, %f16, %f17
19678 .word 0xe71fe100 ! 354: LDDF_I ldd [%r31, 0x0100], %f19
19679pmu_4_279:
19680 nop
19681 ta T_CHANGE_PRIV
19682 setx 0xfffffa77fffff65a, %g1, %g7
19683 .word 0xa3800007 ! 355: WR_PERF_COUNTER_R wr %r0, %r7, %-
19684#if (defined SPC || defined CMP)
19685!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_4_280) + 24, 16, 16)) -> intp(6,0,23)
19686!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_4_280)&0xffffffff) + 24, 16, 16)) -> intp(6,0,23)
19687#else
19688 setx 0xc000718fb9b9f497, %r1, %r28
19689 stxa %r28, [%g0] 0x73
19690#endif
19691intvec_4_280:
19692 .word 0x39400001 ! 356: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
19693 .word 0xe697e198 ! 357: LDUHA_I lduha [%r31, + 0x0198] %asi, %r19
19694intveclr_4_281:
19695 nop
19696 ta T_CHANGE_HPRIV
19697 setx 0x36148e6b01ceabdc, %r1, %r28
19698 stxa %r28, [%g0] 0x72
19699 ta T_CHANGE_NONHPRIV
19700 .word 0x25400001 ! 358: FBPLG fblg,a,pn %fcc0, <label_0x1>
19701 .word 0x3c780001 ! 359: BPPOS <illegal instruction>
19702pmu_4_282:
19703 nop
19704 setx 0xfffffbf8fffff9f8, %g1, %g7
19705 .word 0xa3800007 ! 360: WR_PERF_COUNTER_R wr %r0, %r7, %-
19706intveclr_4_283:
19707 nop
19708 ta T_CHANGE_HPRIV
19709 setx 0xa1a111ac77cc6147, %r1, %r28
19710 stxa %r28, [%g0] 0x72
19711 ta T_CHANGE_NONHPRIV
19712 .word 0x25400001 ! 361: FBPLG fblg,a,pn %fcc0, <label_0x1>
19713 nop
19714 ta T_CHANGE_HPRIV
19715 mov 0x4+1, %r10
19716 set sync_thr_counter5, %r23
19717#ifndef SPC
19718 ldxa [%g0]0x63, %o1
19719 and %o1, 0x38, %o1
19720 add %o1, %r23, %r23
19721#endif
19722 cas [%r23],%g0,%r10 !lock
19723 brnz %r10, cwq_4_284
19724 rd %asi, %r12
19725 wr %g0, 0x40, %asi
19726 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
19727 and %l1, 0x3, %l1 ! Check if busy/enabled ..
19728 cmp %l1, 1
19729 bne cwq_4_284
19730 set CWQ_BASE, %l6
19731 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
19732 best_set_reg(0x20610020, %l1, %l2) !# Control Word
19733 sllx %l2, 32, %l2
19734 stx %l2, [%l6 + 0x0]
19735 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
19736 sub %l2, 0x40, %l2
19737 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
19738 wr %r12, %g0, %asi
19739 st %g0, [%r23]
19740cwq_4_284:
19741 ta T_CHANGE_NONHPRIV
19742 .word 0xa1414000 ! 362: RDPC rd %pc, %r16
19743 .word 0x9b450000 ! 363: RD_SET_SOFTINT rd %set_softint, %r13
19744intveclr_4_285:
19745 nop
19746 ta T_CHANGE_HPRIV
19747 setx 0x40f6a921ef7afe12, %r1, %r28
19748 stxa %r28, [%g0] 0x72
19749 .word 0x25400001 ! 364: FBPLG fblg,a,pn %fcc0, <label_0x1>
19750fpinit_4_286:
19751 setx fp_data_quads, %r19, %r20
19752 ldd [%r20], %f0
19753 ldd [%r20+8], %f4
19754 ld [%r20+16], %fsr
19755 ld [%r20+24], %r19
19756 wr %r19, %g0, %gsr
19757 .word 0x8da009a4 ! 365: FDIVs fdivs %f0, %f4, %f6
19758ibp_4_287:
19759 nop
19760 .word 0xc3ed0025 ! 366: PREFETCHA_R prefetcha [%r20, %r5] 0x01, #one_read
19761 nop
19762 ta T_CHANGE_HPRIV
19763 mov 0x4, %r10
19764 set sync_thr_counter6, %r23
19765#ifndef SPC
19766 ldxa [%g0]0x63, %o1
19767 and %o1, 0x38, %o1
19768 add %o1, %r23, %r23
19769#endif
19770 cas [%r23],%g0,%r10 !lock
19771 brnz %r10, sma_4_288
19772 rd %asi, %r12
19773 wr %g0, 0x40, %asi
19774 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
19775 set 0x00121fff, %g1
19776 stxa %g1, [%g0 + 0x80] %asi
19777 wr %r12, %g0, %asi
19778 st %g0, [%r23]
19779sma_4_288:
19780 ta T_CHANGE_NONHPRIV
19781 .word 0xe5e7e014 ! 367: CASA_R casa [%r31] %asi, %r20, %r18
19782 .word 0x8d802000 ! 368: WRFPRS_I wr %r0, 0x0000, %fprs
19783 setx 0x9137a4ebafda787c, %r1, %r28
19784 stxa %r28, [%g0] 0x73
19785intvec_4_289:
19786 .word 0x39400001 ! 369: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
19787 nop
19788 ta T_CHANGE_HPRIV
19789 mov 0x4, %r10
19790 set sync_thr_counter6, %r23
19791#ifndef SPC
19792 ldxa [%g0]0x63, %o1
19793 and %o1, 0x38, %o1
19794 add %o1, %r23, %r23
19795#endif
19796 cas [%r23],%g0,%r10 !lock
19797 brnz %r10, sma_4_290
19798 rd %asi, %r12
19799 wr %g0, 0x40, %asi
19800 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
19801 set 0x000a1fff, %g1
19802 stxa %g1, [%g0 + 0x80] %asi
19803 wr %r12, %g0, %asi
19804 st %g0, [%r23]
19805sma_4_290:
19806 ta T_CHANGE_NONHPRIV
19807 .word 0xe5e7e014 ! 370: CASA_R casa [%r31] %asi, %r20, %r18
19808donret_4_291:
19809 nop
19810 ta T_CHANGE_HPRIV ! macro
19811 rd %pc, %r12
19812 add %r12, (donretarg_4_291-donret_4_291-4), %r12
19813 mov 0x38, %r18
19814 stxa %r12, [%r18]0x58
19815 add %r12, 0x4, %r11
19816 wrpr %g0, 0x2, %tl
19817 wrpr %g0, %r12, %tpc
19818 wrpr %g0, %r11, %tnpc
19819 set (0x0062ff43 | (20 << 24)), %r13
19820 rdpr %tstate, %r16
19821 mov 0x1f, %r19
19822 and %r19, %r16, %r17
19823 andn %r16, %r19, %r16
19824 or %r16, %r17, %r20
19825 wrpr %r20, %g0, %tstate
19826 wrhpr %g0, 0xb45, %htstate
19827 ta T_CHANGE_NONPRIV ! rand=0 (4)
19828 .word 0x3a800001 ! 1: BCC bcc,a <label_0x1>
19829 done
19830donretarg_4_291:
19831 .word 0x91a209d3 ! 371: FDIVd fdivd %f8, %f50, %f8
19832 .word 0xab842a5a ! 372: WR_CLEAR_SOFTINT_I wr %r16, 0x0a5a, %clear_softint
19833 .word 0xd6800be0 ! 373: LDUWA_R lduwa [%r0, %r0] 0x5f, %r11
19834 nop
19835 ta T_CHANGE_HPRIV
19836 mov 0x4, %r10
19837 set sync_thr_counter6, %r23
19838#ifndef SPC
19839 ldxa [%g0]0x63, %o1
19840 and %o1, 0x38, %o1
19841 add %o1, %r23, %r23
19842#endif
19843 cas [%r23],%g0,%r10 !lock
19844 brnz %r10, sma_4_292
19845 rd %asi, %r12
19846 wr %g0, 0x40, %asi
19847 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
19848 set 0x00021fff, %g1
19849 stxa %g1, [%g0 + 0x80] %asi
19850 wr %r12, %g0, %asi
19851 st %g0, [%r23]
19852sma_4_292:
19853 ta T_CHANGE_NONHPRIV
19854 .word 0xd7e7e00a ! 374: CASA_R casa [%r31] %asi, %r10, %r11
19855br_longdelay2_4_293:
19856 .word 0x2aca0001 ! 1: BRNZ brnz,a,pt %r8,<label_0xa0001>
19857 .word 0xc36ff2e3 ! 375: PREFETCH_I prefetch [%r31 + 0xfffff2e3], #one_read
19858dvapa_4_294:
19859 nop
19860 ta T_CHANGE_HPRIV
19861 mov 0xa7c, %r20
19862 mov 0x11, %r19
19863 sllx %r20, 23, %r20
19864 or %r19, %r20, %r19
19865 stxa %r19, [%g0] ASI_LSU_CONTROL
19866 mov 0x38, %r18
19867 stxa %r31, [%r18]0x58
19868 ta T_CHANGE_NONHPRIV
19869 .word 0xd71fc00b ! 376: LDDF_R ldd [%r31, %r11], %f11
19870splash_lsu_4_295:
19871 nop
19872 ta T_CHANGE_HPRIV
19873 set 0xb4a5fae5, %r2
19874 mov 0x6, %r1
19875 sllx %r1, 32, %r1
19876 or %r1, %r2, %r2
19877 stxa %r2, [%r0] ASI_LSU_CONTROL
19878 ta T_CHANGE_NONHPRIV
19879 .word 0x3d400001 ! 377: FBPULE fbule,a,pn %fcc0, <label_0x1>
19880brcommon1_4_296:
19881 nop
19882 setx common_target, %r12, %r27
19883 lduw [%r27], %r12 ! Load common dest into dcache ..
19884 ba,a .+12
19885 .word 0x97a7c9cb ! 1: FDIVd fdivd %f62, %f42, %f42
19886 ba,a .+8
19887 jmpl %r27+0, %r27
19888 .word 0x9170311f ! 378: POPC_I popc 0x111f, %r8
19889 .word 0x8d802004 ! 379: WRFPRS_I wr %r0, 0x0004, %fprs
19890splash_cmpr_4_297:
19891 nop
19892 setx 0xadba537871e52668, %l2, %l1
19893 ta T_CHANGE_PRIV
19894 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
19895 ta T_CHANGE_NONPRIV
19896 sub %l1, 40, %g1
19897 .word 0x89900011 ! 380: WRPR_TICK_R wrpr %r0, %r17, %tick
19898#if (defined SPC || defined CMP)
19899!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_4_298) + 0, 16, 16)) -> intp(0,0,26)
19900!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_4_298)&0xffffffff) + 0, 16, 16)) -> intp(0,0,26)
19901#else
19902 setx 0x53d0e6b08de532c7, %r1, %r28
19903 stxa %r28, [%g0] 0x73
19904#endif
19905intvec_4_298:
19906 .word 0x39400001 ! 381: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
19907cmp_4_299:
19908 nop
19909 ta T_CHANGE_HPRIV
19910 rd %asi, %r12
19911 wr %r0, 0x41, %asi
19912 set sync_thr_counter4, %r23
19913#ifndef SPC
19914 ldxa [%g0]0x63, %r8
19915 and %r8, 0x38, %r8 ! Core ID
19916 add %r8, %r23, %r23
19917 mov 0xff, %r9
19918 xor %r9, 0x4, %r9
19919 sllx %r9, %r8, %r9 ! My core mask
19920#else
19921 mov 0, %r8
19922 mov 0xff, %r9
19923 xor %r9, 0x4, %r9 ! My core mask
19924#endif
19925 mov 0x4, %r10
19926cmp_startwait4_299:
19927 cas [%r23],%g0,%r10 !lock
19928 brz,a %r10, continue_cmp_4_299
19929 ldxa [0x50]%asi, %r13 !Running_rw
19930 ld [%r23], %r10
19931cmp_wait4_299:
19932 brnz,a %r10, cmp_wait4_299
19933 ld [%r23], %r10
19934 ba cmp_startwait4_299
19935 mov 0x4, %r10
19936continue_cmp_4_299:
19937 ldxa [0x58]%asi, %r14 !Running_status
19938 xnor %r14, %r13, %r14 !Bits equal
19939 brz,a %r8, cmp_multi_core_4_299
19940 mov 0x65, %r17
19941 best_set_reg(0x7265519d48830e5b, %r16, %r17)
19942cmp_multi_core_4_299:
19943 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
19944 and %r14, %r9, %r14 !Apply core-mask
19945 stxa %r14, [0x68]%asi
19946 st %g0, [%r23] !clear lock
19947 wr %g0, %r12, %asi
19948 .word 0x9194c014 ! 382: WRPR_PIL_R wrpr %r19, %r20, %pil
19949splash_cmpr_4_300:
19950 nop
19951 setx 0xdb906bd3dcd0de16, %l2, %l1
19952 ta T_CHANGE_HPRIV
19953 wrhpr %l1, %g0, %hsys_tick_cmpr
19954 ta T_CHANGE_NONHPRIV
19955 sub %l1, 40, %g1
19956 .word 0x89900011 ! 383: WRPR_TICK_R wrpr %r0, %r17, %tick
19957 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
19958reduce_priv_lvl_4_301:
19959 ta T_CHANGE_NONPRIV ! macro
19960mondo_4_302:
19961 nop
19962 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
19963 ta T_CHANGE_PRIV
19964 stxa %r5, [%r0+0x3e8] %asi
19965 .word 0x9d930007 ! 385: WRPR_WSTATE_R wrpr %r12, %r7, %wstate
19966 .word 0xd037e087 ! 386: STH_I sth %r8, [%r31 + 0x0087]
19967 nop
19968 mov 0x80, %g3
19969 stxa %g3, [%g3] 0x5f
19970 .word 0xd05fc000 ! 387: LDX_R ldx [%r31 + %r0], %r8
19971 setx 0x0eee5ccee19f7d71, %r1, %r28
19972 stxa %r28, [%g0] 0x73
19973intvec_4_303:
19974 .word 0x39400001 ! 388: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
19975cmp_4_304:
19976 nop
19977 ta T_CHANGE_HPRIV
19978 rd %asi, %r12
19979 wr %r0, 0x41, %asi
19980 set sync_thr_counter4, %r23
19981#ifndef SPC
19982 ldxa [%g0]0x63, %r8
19983 and %r8, 0x38, %r8 ! Core ID
19984 add %r8, %r23, %r23
19985 mov 0xff, %r9
19986 xor %r9, 0x4, %r9
19987 sllx %r9, %r8, %r9 ! My core mask
19988#else
19989 mov 0, %r8
19990 mov 0xff, %r9
19991 xor %r9, 0x4, %r9 ! My core mask
19992#endif
19993 mov 0x4, %r10
19994cmp_startwait4_304:
19995 cas [%r23],%g0,%r10 !lock
19996 brz,a %r10, continue_cmp_4_304
19997 ldxa [0x50]%asi, %r13 !Running_rw
19998 ld [%r23], %r10
19999cmp_wait4_304:
20000 brnz,a %r10, cmp_wait4_304
20001 ld [%r23], %r10
20002 ba cmp_startwait4_304
20003 mov 0x4, %r10
20004continue_cmp_4_304:
20005 ldxa [0x58]%asi, %r14 !Running_status
20006 xnor %r14, %r13, %r14 !Bits equal
20007 brz,a %r8, cmp_multi_core_4_304
20008 mov 0xb4, %r17
20009 best_set_reg(0x2279c6e22161ce73, %r16, %r17)
20010cmp_multi_core_4_304:
20011 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
20012 and %r14, %r9, %r14 !Apply core-mask
20013 stxa %r14, [0x60]%asi
20014 st %g0, [%r23] !clear lock
20015 wr %g0, %r12, %asi
20016 ta T_CHANGE_NONHPRIV
20017 .word 0x91a00170 ! 389: FABSq dis not found
20018
20019donret_4_305:
20020 nop
20021 ta T_CHANGE_HPRIV ! macro
20022 rd %pc, %r12
20023 add %r12, (donretarg_4_305-donret_4_305-4), %r12
20024 mov 0x38, %r18
20025 stxa %r12, [%r18]0x58
20026 add %r12, 0x4, %r11
20027 wrpr %g0, 0x1, %tl
20028 wrpr %g0, %r12, %tpc
20029 wrpr %g0, %r11, %tnpc
20030 set (0x00d7bb70 | (22 << 24)), %r13
20031 rdpr %tstate, %r16
20032 mov 0x1f, %r19
20033 and %r19, %r16, %r17
20034 andn %r16, %r19, %r16
20035 or %r16, %r17, %r20
20036 wrpr %r20, %g0, %tstate
20037 wrhpr %g0, 0x505, %htstate
20038 ta T_CHANGE_NONPRIV ! rand=0 (4)
20039 .word 0x37400001 ! 1: FBPGE fbge,a,pn %fcc0, <label_0x1>
20040 done
20041donretarg_4_305:
20042 .word 0xe8ffe008 ! 390: SWAPA_I swapa %r20, [%r31 + 0x0008] %asi
20043 .word 0xe897e080 ! 391: LDUHA_I lduha [%r31, + 0x0080] %asi, %r20
20044 .word 0xe8d7e1d0 ! 392: LDSHA_I ldsha [%r31, + 0x01d0] %asi, %r20
20045pmu_4_306:
20046 nop
20047 ta T_CHANGE_PRIV
20048 setx 0xfffff478fffff4fe, %g1, %g7
20049 .word 0xa3800007 ! 393: WR_PERF_COUNTER_R wr %r0, %r7, %-
20050 setx vahole_target2, %r18, %r27
20051 .word 0xe1bfe0a0 ! 394: STDFA_I stda %f16, [0x00a0, %r31]
20052trapasi_4_308:
20053 nop
20054 mov 0x10, %r1 ! (VA for ASI 0x5a)
20055 .word 0xe8c04b40 ! 395: LDSWA_R ldswa [%r1, %r0] 0x5a, %r20
20056trapasi_4_309:
20057 nop
20058 mov 0x38, %r1 ! (VA for ASI 0x50)
20059 .word 0xe8904a00 ! 396: LDUHA_R lduha [%r1, %r0] 0x50, %r20
20060ibp_4_310:
20061 nop
20062 ta T_CHANGE_NONHPRIV
20063 .word 0xe89fc02c ! 397: LDDA_R ldda [%r31, %r12] 0x01, %r20
20064intveclr_4_311:
20065 nop
20066 ta T_CHANGE_HPRIV
20067 setx 0xd3287d679fb0c350, %r1, %r28
20068 stxa %r28, [%g0] 0x72
20069 ta T_CHANGE_NONHPRIV
20070 .word 0x25400001 ! 398: FBPLG fblg,a,pn %fcc0, <label_0x1>
20071splash_tba_4_312:
20072 ta T_CHANGE_PRIV
20073 set 0x120000, %r12
20074 .word 0x8b90000c ! 399: WRPR_TBA_R wrpr %r0, %r12, %tba
20075pmu_4_313:
20076 nop
20077 ta T_CHANGE_PRIV
20078 setx 0xfffff339fffffcad, %g1, %g7
20079 .word 0xa3800007 ! 400: WR_PERF_COUNTER_R wr %r0, %r7, %-
20080cmpenall_4_314:
20081 nop
20082 nop
20083 ta T_CHANGE_HPRIV
20084 rd %asi, %r12
20085 wr %r0, 0x41, %asi
20086 set sync_thr_counter4, %r23
20087#ifndef SPC
20088 ldxa [%g0]0x63, %r8
20089 and %r8, 0x38, %r8 ! Core ID
20090 add %r8, %r23, %r23
20091 mov 0xff, %r9
20092 sllx %r9, %r8, %r9 ! My core mask
20093#else
20094 mov 0xff, %r9 ! My core mask
20095#endif
20096cmpenall_startwait4_314:
20097 mov 0x4, %r10
20098 cas [%r23],%g0,%r10 !lock
20099 brz,a %r10, continue_cmpenall_4_314
20100 nop
20101cmpenall_wait4_314:
20102 ld [%r23], %r10
20103 brnz %r10, cmpenall_wait4_314
20104 nop
20105 ba,a cmpenall_startwait4_314
20106continue_cmpenall_4_314:
20107 ldxa [0x58]%asi, %r14 !Running_status
20108wait_for_cmpstat_4_314:
20109 ldxa [0x50]%asi, %r13 !Running_rw
20110 cmp %r13, %r14
20111 bne,a %xcc, wait_for_cmpstat_4_314
20112 ldxa [0x58]%asi, %r14 !Running_status
20113 ldxa [0x10]%asi, %r14 !Get enabled threads
20114 and %r14, %r9, %r14 !My core mask
20115 stxa %r14, [0x60]%asi !W1S
20116 ldxa [0x58]%asi, %r16 !Running_status
20117wait_for_cmpstat2_4_314:
20118 and %r16, %r9, %r16 !My core mask
20119 cmp %r14, %r16
20120 bne,a %xcc, wait_for_cmpstat2_4_314
20121 ldxa [0x58]%asi, %r16 !Running_status
20122 st %g0, [%r23] !clear lock
20123 nop
20124 nop
20125 ta T_CHANGE_PRIV
20126 wrpr %g0, %g0, %gl
20127 nop
20128 nop
20129 setx join_lbl_0_0, %g1, %g2
20130 jmp %g2
20131 nop
20132fork_lbl_0_2:
20133 ta T_CHANGE_NONHPRIV
20134vahole_2_0:
20135 nop
20136 ta T_CHANGE_NONHPRIV
20137 setx vahole_target1, %r18, %r27
20138 jmpl %r27+0, %r27
20139 .word 0xc32fc011 ! 1: STXFSR_R st-sfr %f1, [%r17, %r31]
20140jmptr_2_1:
20141 nop
20142 best_set_reg(0xe1a00000, %r20, %r27)
20143 .word 0xb7c6c000 ! 2: JMPL_R jmpl %r27 + %r0, %r27
20144 .word 0x36800001 ! 3: BGE bge,a <label_0x1>
20145 .word 0xc1bfd920 ! 4: STDFA_R stda %f0, [%r0, %r31]
20146 nop
20147 ta T_CHANGE_HPRIV
20148 mov 0x2, %r10
20149 set sync_thr_counter6, %r23
20150#ifndef SPC
20151 ldxa [%g0]0x63, %o1
20152 and %o1, 0x38, %o1
20153 add %o1, %r23, %r23
20154#endif
20155 cas [%r23],%g0,%r10 !lock
20156 brnz %r10, sma_2_2
20157 rd %asi, %r12
20158 wr %g0, 0x40, %asi
20159 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
20160 set 0x000a1fff, %g1
20161 stxa %g1, [%g0 + 0x80] %asi
20162 wr %r12, %g0, %asi
20163 st %g0, [%r23]
20164sma_2_2:
20165 ta T_CHANGE_NONHPRIV
20166 .word 0xe5e7e009 ! 5: CASA_R casa [%r31] %asi, %r9, %r18
20167vahole_2_3:
20168 nop
20169 ta T_CHANGE_NONHPRIV
20170 setx vahole_target2, %r18, %r27
20171 jmpl %r27+0, %r27
20172 .word 0xa7b447d3 ! 6: PDIST pdistn %d48, %d50, %d50
20173 .word 0xc19fe120 ! 7: LDDFA_I ldda [%r31, 0x0120], %f0
20174ibp_2_4:
20175 nop
20176 ta T_CHANGE_HPRIV
20177 mov 8, %r18
20178 rd %asi, %r12
20179 wr %r0, 0x41, %asi
20180 set sync_thr_counter4, %r23
20181#ifndef SPC
20182 ldxa [%g0]0x63, %r8
20183 and %r8, 0x38, %r8 ! Core ID
20184 add %r8, %r23, %r23
20185#else
20186 mov 0, %r8
20187#endif
20188 mov 0x2, %r16
20189ibp_startwait2_4:
20190 cas [%r23],%g0,%r16 !lock
20191 brz,a %r16, continue_ibp_2_4
20192 mov (~0x2&0xf), %r16
20193 ld [%r23], %r16
20194ibp_wait2_4:
20195 brnz %r16, ibp_wait2_4
20196 ld [%r23], %r16
20197 ba ibp_startwait2_4
20198 mov 0x2, %r16
20199continue_ibp_2_4:
20200 sllx %r16, %r8, %r16 !Mask for my core only
20201 ldxa [0x58]%asi, %r17 !Running_status
20202wait_for_stat_2_4:
20203 ldxa [0x50]%asi, %r13 !Running_rw
20204 cmp %r13, %r17
20205 bne,a wait_for_stat_2_4
20206 ldxa [0x58]%asi, %r17 !Running_status
20207 stxa %r16, [0x68]%asi !Park (W1C)
20208 ldxa [0x50]%asi, %r14 !Running_rw
20209wait_for_ibp_2_4:
20210 ldxa [0x58]%asi, %r17 !Running_status
20211 cmp %r14, %r17
20212 bne,a wait_for_ibp_2_4
20213 ldxa [0x50]%asi, %r14 !Running_rw
20214ibp_doit2_4:
20215 best_set_reg(0x0000005016c00c94,%r19, %r20)
20216 stxa %r20, [%r18]0x42
20217 stxa %r16, [0x60] %asi !Unpark (W1S)
20218 st %g0, [%r23] !clear lock
20219 wr %r0, %r12, %asi !restore %asi
20220 ta T_CHANGE_NONHPRIV
20221 .word 0xe1bfd960 ! 8: STDFA_R stda %f16, [%r0, %r31]
20222 .word 0xe1bfe1e0 ! 9: STDFA_I stda %f16, [0x01e0, %r31]
20223pmu_2_6:
20224 nop
20225 setx 0xfffff2d9ffffffdf, %g1, %g7
20226 .word 0xa3800007 ! 10: WR_PERF_COUNTER_R wr %r0, %r7, %-
20227ibp_2_7:
20228 nop
20229 ta T_CHANGE_HPRIV
20230 mov 8, %r18
20231 rd %asi, %r12
20232 wr %r0, 0x41, %asi
20233 set sync_thr_counter4, %r23
20234#ifndef SPC
20235 ldxa [%g0]0x63, %r8
20236 and %r8, 0x38, %r8 ! Core ID
20237 add %r8, %r23, %r23
20238#else
20239 mov 0, %r8
20240#endif
20241 mov 0x2, %r16
20242ibp_startwait2_7:
20243 cas [%r23],%g0,%r16 !lock
20244 brz,a %r16, continue_ibp_2_7
20245 mov (~0x2&0xf), %r16
20246 ld [%r23], %r16
20247ibp_wait2_7:
20248 brnz %r16, ibp_wait2_7
20249 ld [%r23], %r16
20250 ba ibp_startwait2_7
20251 mov 0x2, %r16
20252continue_ibp_2_7:
20253 sllx %r16, %r8, %r16 !Mask for my core only
20254 ldxa [0x58]%asi, %r17 !Running_status
20255wait_for_stat_2_7:
20256 ldxa [0x50]%asi, %r13 !Running_rw
20257 cmp %r13, %r17
20258 bne,a wait_for_stat_2_7
20259 ldxa [0x58]%asi, %r17 !Running_status
20260 stxa %r16, [0x68]%asi !Park (W1C)
20261 ldxa [0x50]%asi, %r14 !Running_rw
20262wait_for_ibp_2_7:
20263 ldxa [0x58]%asi, %r17 !Running_status
20264 cmp %r14, %r17
20265 bne,a wait_for_ibp_2_7
20266 ldxa [0x50]%asi, %r14 !Running_rw
20267ibp_doit2_7:
20268 best_set_reg(0x00000050dfcc943b,%r19, %r20)
20269 stxa %r20, [%r18]0x42
20270 stxa %r16, [0x60] %asi !Unpark (W1S)
20271 st %g0, [%r23] !clear lock
20272 wr %r0, %r12, %asi !restore %asi
20273 ta T_CHANGE_NONHPRIV
20274 .word 0xe1bfe1e0 ! 11: STDFA_I stda %f16, [0x01e0, %r31]
20275 .word 0x9f8027f7 ! 12: SIR sir 0x07f7
20276brcommon1_2_8:
20277 nop
20278 setx common_target, %r12, %r27
20279 lduw [%r27], %r12 ! Load common dest into dcache ..
20280 ba,a .+12
20281 .word 0xa3702e80 ! 1: POPC_I popc 0x0e80, %r17
20282 ba,a .+8
20283 jmpl %r27+0, %r27
20284 .word 0x9ba509b1 ! 13: FDIVs fdivs %f20, %f17, %f13
20285 .word 0xa1540000 ! 14: RDPR_GL <illegal instruction>
20286splash_lsu_2_9:
20287 nop
20288 ta T_CHANGE_HPRIV
20289 set 0x03966933, %r2
20290 mov 0x3, %r1
20291 sllx %r1, 32, %r1
20292 or %r1, %r2, %r2
20293 stxa %r2, [%r0] ASI_LSU_CONTROL
20294 .word 0x3d400001 ! 15: FBPULE fbule,a,pn %fcc0, <label_0x1>
20295 .word 0xe82fe13d ! 16: STB_I stb %r20, [%r31 + 0x013d]
20296pmu_2_10:
20297 nop
20298 setx 0xfffffe25fffffabd, %g1, %g7
20299 .word 0xa3800007 ! 17: WR_PERF_COUNTER_R wr %r0, %r7, %-
20300 .word 0x9f80342c ! 18: SIR sir 0x142c
20301 .word 0x8d903800 ! 19: WRPR_PSTATE_I wrpr %r0, 0x1800, %pstate
20302dvapa_2_12:
20303 nop
20304 ta T_CHANGE_HPRIV
20305 mov 0xea5, %r20
20306 mov 0x12, %r19
20307 sllx %r20, 23, %r20
20308 or %r19, %r20, %r19
20309 stxa %r19, [%g0] ASI_LSU_CONTROL
20310 mov 0x38, %r18
20311 stxa %r31, [%r18]0x58
20312 ta T_CHANGE_NONHPRIV
20313 .word 0xe19fd960 ! 20: LDDFA_R ldda [%r31, %r0], %f16
20314splash_cmpr_2_13:
20315 nop
20316 setx 0x194ffaeb1e1587bf, %l2, %l1
20317 ta T_CHANGE_PRIV
20318 .word 0xaf800011 ! 1: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
20319 sub %l1, 40, %g1
20320 .word 0x89900011 ! 21: WRPR_TICK_R wrpr %r0, %r17, %tick
20321donret_2_14:
20322 nop
20323 ta T_CHANGE_HPRIV ! macro
20324 rd %pc, %r12
20325 add %r12, (donretarg_2_14-donret_2_14-8), %r12
20326 mov 0x38, %r18
20327 stxa %r12, [%r18]0x58
20328 add %r12, 0x4, %r11
20329 wrpr %g0, 0x2, %tl
20330 wrpr %g0, %r12, %tpc
20331 wrpr %g0, %r11, %tnpc
20332 set (0x0054f59c | (0x88 << 24)), %r13
20333 rdpr %tstate, %r16
20334 mov 0x1f, %r19
20335 and %r19, %r16, %r17
20336 andn %r16, %r19, %r16
20337 or %r16, %r17, %r20
20338 wrpr %r20, %g0, %tstate
20339 wrhpr %g0, 0x306, %htstate
20340 ta T_CHANGE_NONHPRIV ! rand=1 (2)
20341 .word 0x30800001 ! 1: BA ba,a <label_0x1>
20342 retry
20343donretarg_2_14:
20344 .word 0x99a189d4 ! 22: FDIVd fdivd %f6, %f20, %f12
20345trapasi_2_15:
20346 nop
20347 mov 0x18, %r1 ! (VA for ASI 0x50)
20348 .word 0xdad84a00 ! 23: LDXA_R ldxa [%r1, %r0] 0x50, %r13
20349dvapa_2_16:
20350 nop
20351 ta T_CHANGE_HPRIV
20352 mov 0xebc, %r20
20353 mov 0x10, %r19
20354 sllx %r20, 23, %r20
20355 or %r19, %r20, %r19
20356 stxa %r19, [%g0] ASI_LSU_CONTROL
20357 mov 0x38, %r18
20358 stxa %r31, [%r18]0x58
20359 ta T_CHANGE_NONHPRIV
20360 .word 0xdb3fc014 ! 24: STDF_R std %f13, [%r20, %r31]
20361 .word 0x8d802004 ! 25: WRFPRS_I wr %r0, 0x0004, %fprs
20362 brlez,pt %r18, skip_2_17
20363 fbul,a,pn %fcc0, skip_2_17
20364.align 512
20365skip_2_17:
20366 .word 0xc36fe1f3 ! 26: PREFETCH_I prefetch [%r31 + 0x01f3], #one_read
20367splash_cmpr_2_18:
20368 nop
20369 setx 0x22df0ab1eb266f7c, %l2, %l1
20370 ta T_CHANGE_HPRIV
20371 wrhpr %l1, %g0, %hsys_tick_cmpr
20372 sub %l1, 40, %g1
20373 .word 0x89900011 ! 27: WRPR_TICK_R wrpr %r0, %r17, %tick
20374intveclr_2_19:
20375 nop
20376 ta T_CHANGE_HPRIV
20377 setx 0x73d80c63c1ab2b9a, %r1, %r28
20378 stxa %r28, [%g0] 0x72
20379 ta T_CHANGE_NONHPRIV
20380 .word 0x25400001 ! 28: FBPLG fblg,a,pn %fcc0, <label_0x1>
20381intveclr_2_20:
20382 nop
20383 ta T_CHANGE_HPRIV
20384 setx 0xe33d40e081d11e39, %r1, %r28
20385 stxa %r28, [%g0] 0x72
20386 ta T_CHANGE_NONHPRIV
20387 .word 0x25400001 ! 29: FBPLG fblg,a,pn %fcc0, <label_0x1>
20388 nop
20389 ta T_CHANGE_HPRIV
20390 mov 0x2, %r10
20391 set sync_thr_counter6, %r23
20392#ifndef SPC
20393 ldxa [%g0]0x63, %o1
20394 and %o1, 0x38, %o1
20395 add %o1, %r23, %r23
20396#endif
20397 cas [%r23],%g0,%r10 !lock
20398 brnz %r10, sma_2_21
20399 rd %asi, %r12
20400 wr %g0, 0x40, %asi
20401 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
20402 set 0x000e1fff, %g1
20403 stxa %g1, [%g0 + 0x80] %asi
20404 wr %r12, %g0, %asi
20405 st %g0, [%r23]
20406sma_2_21:
20407 ta T_CHANGE_NONHPRIV
20408 .word 0xdbe7e00d ! 30: CASA_R casa [%r31] %asi, %r13, %r13
20409 .word 0xa3a00174 ! 31: FABSq dis not found
20410
20411memptr_2_23:
20412 set 0x60740000, %r31
20413 .word 0x85852d28 ! 32: WRCCR_I wr %r20, 0x0d28, %ccr
20414splash_tba_2_24:
20415 ta T_CHANGE_PRIV
20416 set 0x120000, %r12
20417 .word 0x8b90000c ! 33: WRPR_TBA_R wrpr %r0, %r12, %tba
20418 .word 0xe45fe0b0 ! 34: LDX_I ldx [%r31 + 0x00b0], %r18
20419 .word 0x9f802891 ! 35: SIR sir 0x0891
20420mondo_2_25:
20421 nop
20422 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
20423 stxa %r3, [%r0+0x3c0] %asi
20424 .word 0x9d93000a ! 36: WRPR_WSTATE_R wrpr %r12, %r10, %wstate
20425donret_2_26:
20426 nop
20427 ta T_CHANGE_HPRIV ! macro
20428 rd %pc, %r12
20429 add %r12, (donretarg_2_26-donret_2_26-8), %r12
20430 mov 0x38, %r18
20431 stxa %r12, [%r18]0x58
20432 add %r12, 0x4, %r11
20433 wrpr %g0, 0x1, %tl
20434 wrpr %g0, %r12, %tpc
20435 wrpr %g0, %r11, %tnpc
20436 set (0x009be317 | (0x4f << 24)), %r13
20437 rdpr %tstate, %r16
20438 mov 0x1f, %r19
20439 and %r19, %r16, %r17
20440 andn %r16, %r19, %r16
20441 or %r16, %r17, %r20
20442 wrpr %r20, %g0, %tstate
20443 wrhpr %g0, 0x585, %htstate
20444 ta T_CHANGE_NONHPRIV ! rand=1 (2)
20445 retry
20446donretarg_2_26:
20447 .word 0xe46fe018 ! 37: LDSTUB_I ldstub %r18, [%r31 + 0x0018]
20448donret_2_27:
20449 nop
20450 ta T_CHANGE_HPRIV ! macro
20451 rd %pc, %r12
20452 add %r12, (donretarg_2_27-donret_2_27-4), %r12
20453 mov 0x38, %r18
20454 stxa %r12, [%r18]0x58
20455 add %r12, 0x4, %r11
20456 wrpr %g0, 0x2, %tl
20457 wrpr %g0, %r12, %tpc
20458 wrpr %g0, %r11, %tnpc
20459 set (0x0034d6a4 | (0x58 << 24)), %r13
20460 rdpr %tstate, %r16
20461 mov 0x1f, %r19
20462 and %r19, %r16, %r17
20463 andn %r16, %r19, %r16
20464 or %r16, %r17, %r20
20465 wrpr %r20, %g0, %tstate
20466 wrhpr %g0, 0x61f, %htstate
20467 ta T_CHANGE_NONHPRIV ! rand=1 (2)
20468 .word 0x33400001 ! 1: FBPE fbe,a,pn %fcc0, <label_0x1>
20469 done
20470donretarg_2_27:
20471 .word 0xe46fe012 ! 38: LDSTUB_I ldstub %r18, [%r31 + 0x0012]
20472 .word 0x91948006 ! 39: WRPR_PIL_R wrpr %r18, %r6, %pil
20473pmu_2_29:
20474 nop
20475 ta T_CHANGE_PRIV
20476 setx 0xfffff2a8fffff7c1, %g1, %g7
20477 .word 0xa3800007 ! 40: WR_PERF_COUNTER_R wr %r0, %r7, %-
20478 bl,a skip_2_30
20479 ble skip_2_30
20480.align 1024
20481skip_2_30:
20482 .word 0xe5e7c020 ! 41: CASA_I casa [%r31] 0x 1, %r0, %r18
20483splash_tba_2_31:
20484 ta T_CHANGE_PRIV
20485 setx 0x00000004003a0000, %r11, %r12
20486 .word 0x8b90000c ! 42: WRPR_TBA_R wrpr %r0, %r12, %tba
20487intveclr_2_32:
20488 nop
20489 ta T_CHANGE_HPRIV
20490 setx 0x2f03081a2cdcb783, %r1, %r28
20491 stxa %r28, [%g0] 0x72
20492 ta T_CHANGE_NONHPRIV
20493 .word 0x25400001 ! 43: FBPLG fblg,a,pn %fcc0, <label_0x1>
20494 .word 0xe497e1e8 ! 44: LDUHA_I lduha [%r31, + 0x01e8] %asi, %r18
20495 otherw
20496 mov 0xb5, %r30
20497 .word 0x91d0001e ! 45: Tcc_R ta icc_or_xcc, %r0 + %r30
20498 .word 0xa984400a ! 46: WR_SET_SOFTINT_R wr %r17, %r10, %set_softint
20499 nop
20500 ta T_CHANGE_HPRIV
20501 mov 0x2+1, %r10
20502 set sync_thr_counter5, %r23
20503#ifndef SPC
20504 ldxa [%g0]0x63, %o1
20505 and %o1, 0x38, %o1
20506 add %o1, %r23, %r23
20507#endif
20508 cas [%r23],%g0,%r10 !lock
20509 brnz %r10, cwq_2_33
20510 rd %asi, %r12
20511 wr %g0, 0x40, %asi
20512 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
20513 and %l1, 0x3, %l1 ! Check if busy/enabled ..
20514 cmp %l1, 1
20515 bne cwq_2_33
20516 set CWQ_BASE, %l6
20517 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
20518 best_set_reg(0x20610030, %l1, %l2) !# Control Word
20519 sllx %l2, 32, %l2
20520 stx %l2, [%l6 + 0x0]
20521 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
20522 sub %l2, 0x40, %l2
20523 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
20524 wr %r12, %g0, %asi
20525 st %g0, [%r23]
20526cwq_2_33:
20527 ta T_CHANGE_NONHPRIV
20528 .word 0xa1414000 ! 47: RDPC rd %pc, %r16
20529tagged_2_34:
20530 tsubcctv %r19, 0x1c50, %r11
20531 .word 0xe807e014 ! 48: LDUW_I lduw [%r31 + 0x0014], %r20
20532splash_lsu_2_35:
20533 nop
20534 ta T_CHANGE_HPRIV
20535 set 0xba4bc5d5, %r2
20536 mov 0x7, %r1
20537 sllx %r1, 32, %r1
20538 or %r1, %r2, %r2
20539 stxa %r2, [%r0] ASI_LSU_CONTROL
20540 ta T_CHANGE_NONHPRIV
20541 .word 0x3d400001 ! 49: FBPULE fbule,a,pn %fcc0, <label_0x1>
20542ibp_2_36:
20543 nop
20544 ta T_CHANGE_HPRIV
20545 mov 8, %r18
20546 rd %asi, %r12
20547 wr %r0, 0x41, %asi
20548 set sync_thr_counter4, %r23
20549#ifndef SPC
20550 ldxa [%g0]0x63, %r8
20551 and %r8, 0x38, %r8 ! Core ID
20552 add %r8, %r23, %r23
20553#else
20554 mov 0, %r8
20555#endif
20556 mov 0x2, %r16
20557ibp_startwait2_36:
20558 cas [%r23],%g0,%r16 !lock
20559 brz,a %r16, continue_ibp_2_36
20560 mov (~0x2&0xf), %r16
20561 ld [%r23], %r16
20562ibp_wait2_36:
20563 brnz %r16, ibp_wait2_36
20564 ld [%r23], %r16
20565 ba ibp_startwait2_36
20566 mov 0x2, %r16
20567continue_ibp_2_36:
20568 sllx %r16, %r8, %r16 !Mask for my core only
20569 ldxa [0x58]%asi, %r17 !Running_status
20570wait_for_stat_2_36:
20571 ldxa [0x50]%asi, %r13 !Running_rw
20572 cmp %r13, %r17
20573 bne,a wait_for_stat_2_36
20574 ldxa [0x58]%asi, %r17 !Running_status
20575 stxa %r16, [0x68]%asi !Park (W1C)
20576 ldxa [0x50]%asi, %r14 !Running_rw
20577wait_for_ibp_2_36:
20578 ldxa [0x58]%asi, %r17 !Running_status
20579 cmp %r14, %r17
20580 bne,a wait_for_ibp_2_36
20581 ldxa [0x50]%asi, %r14 !Running_rw
20582ibp_doit2_36:
20583 best_set_reg(0x0000005005d43bd4,%r19, %r20)
20584 stxa %r20, [%r18]0x42
20585 stxa %r16, [0x60] %asi !Unpark (W1S)
20586 st %g0, [%r23] !clear lock
20587 wr %r0, %r12, %asi !restore %asi
20588 .word 0xe897c02b ! 50: LDUHA_R lduha [%r31, %r11] 0x01, %r20
20589 .word 0xa9a00172 ! 51: FABSq dis not found
20590
20591intveclr_2_38:
20592 nop
20593 ta T_CHANGE_HPRIV
20594 setx 0x175c89ee02639c92, %r1, %r28
20595 stxa %r28, [%g0] 0x72
20596 .word 0x25400001 ! 52: FBPLG fblg,a,pn %fcc0, <label_0x1>
20597mondo_2_39:
20598 nop
20599 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
20600 stxa %r3, [%r0+0x3c8] %asi
20601 .word 0x9d92800b ! 53: WRPR_WSTATE_R wrpr %r10, %r11, %wstate
20602pmu_2_40:
20603 nop
20604 setx 0xfffffe80fffff024, %g1, %g7
20605 .word 0xa3800007 ! 54: WR_PERF_COUNTER_R wr %r0, %r7, %-
20606dvapa_2_41:
20607 nop
20608 ta T_CHANGE_HPRIV
20609 mov 0xad4, %r20
20610 mov 0x8, %r19
20611 sllx %r20, 23, %r20
20612 or %r19, %r20, %r19
20613 stxa %r19, [%g0] ASI_LSU_CONTROL
20614 mov 0x38, %r18
20615 stxa %r31, [%r18]0x58
20616 ta T_CHANGE_NONHPRIV
20617 .word 0xe1bfe140 ! 55: STDFA_I stda %f16, [0x0140, %r31]
20618pmu_2_42:
20619 nop
20620 setx 0xfffff677fffff15e, %g1, %g7
20621 .word 0xa3800007 ! 56: WR_PERF_COUNTER_R wr %r0, %r7, %-
20622tagged_2_43:
20623 taddcctv %r1, 0x107f, %r20
20624 .word 0xe807e17d ! 57: LDUW_I lduw [%r31 + 0x017d], %r20
20625splash_lsu_2_44:
20626 nop
20627 ta T_CHANGE_HPRIV
20628 set 0x590d04eb, %r2
20629 mov 0x7, %r1
20630 sllx %r1, 32, %r1
20631 or %r1, %r2, %r2
20632 stxa %r2, [%r0] ASI_LSU_CONTROL
20633 ta T_CHANGE_NONHPRIV
20634 .word 0x3d400001 ! 58: FBPULE fbule,a,pn %fcc0, <label_0x1>
20635trapasi_2_45:
20636 nop
20637 mov 0x3f8, %r1 ! (VA for ASI 0x25)
20638 .word 0xe8c844a0 ! 59: LDSBA_R ldsba [%r1, %r0] 0x25, %r20
20639 .word 0xa5a449b0 ! 60: FDIVs fdivs %f17, %f16, %f18
20640jmptr_2_46:
20641 nop
20642 best_set_reg(0xe1a00000, %r20, %r27)
20643 .word 0xb7c6c000 ! 61: JMPL_R jmpl %r27 + %r0, %r27
20644 fbuge skip_2_47
20645 .word 0x91b084ca ! 1: FCMPNE32 fcmpne32 %d2, %d10, %r8
20646.align 1024
20647skip_2_47:
20648 .word 0xc30fc000 ! 62: LDXFSR_R ld-fsr [%r31, %r0], %f1
20649splash_cmpr_2_48:
20650 nop
20651 setx 0x881d3b9df1d18188, %l2, %l1
20652 ta T_CHANGE_HPRIV
20653 wrhpr %l1, %g0, %hsys_tick_cmpr
20654 ta T_CHANGE_NONHPRIV
20655 sub %l1, 40, %g1
20656 .word 0xb1800011 ! 63: WR_STICK_REG_R wr %r0, %r17, %-
20657 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
20658reduce_priv_lvl_2_49:
20659 ta T_CHANGE_NONPRIV ! macro
20660mondo_2_50:
20661 nop
20662 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
20663 ta T_CHANGE_PRIV
20664 stxa %r17, [%r0+0x3e0] %asi
20665 .word 0x9d950012 ! 65: WRPR_WSTATE_R wrpr %r20, %r18, %wstate
20666donret_2_51:
20667 nop
20668 ta T_CHANGE_HPRIV ! macro
20669 rd %pc, %r12
20670 add %r12, (donretarg_2_51-donret_2_51-4), %r12
20671 mov 0x38, %r18
20672 stxa %r12, [%r18]0x58
20673 add %r12, 0x4, %r11
20674 wrpr %g0, 0x2, %tl
20675 wrpr %g0, %r12, %tpc
20676 wrpr %g0, %r11, %tnpc
20677 set (0x00c699bb | (0x4f << 24)), %r13
20678 rdpr %tstate, %r16
20679 mov 0x1f, %r19
20680 and %r19, %r16, %r17
20681 andn %r16, %r19, %r16
20682 or %r16, %r17, %r20
20683 wrpr %r20, %g0, %tstate
20684 wrhpr %g0, 0x24f, %htstate
20685 ta T_CHANGE_NONHPRIV ! rand=1 (2)
20686 done
20687donretarg_2_51:
20688 .word 0xa1a109d4 ! 66: FDIVd fdivd %f4, %f20, %f16
20689brcommon1_2_52:
20690 nop
20691 setx common_target, %r12, %r27
20692 lduw [%r27], %r12 ! Load common dest into dcache ..
20693 ba,a .+12
20694 .word 0xc32ff105 ! 1: STXFSR_I st-sfr %f1, [0x1105, %r31]
20695 ba,a .+8
20696 jmpl %r27+0, %r27
20697 .word 0xa5b3048d ! 67: FCMPLE32 fcmple32 %d12, %d44, %r18
20698jmptr_2_53:
20699 nop
20700 best_set_reg(0xe1a00000, %r20, %r27)
20701 .word 0xb7c6c000 ! 68: JMPL_R jmpl %r27 + %r0, %r27
20702splash_tba_2_54:
20703 ta T_CHANGE_PRIV
20704 setx 0x00000004003a0000, %r11, %r12
20705 .word 0x8b90000c ! 69: WRPR_TBA_R wrpr %r0, %r12, %tba
20706trapasi_2_55:
20707 nop
20708 mov 0x0, %r1 ! (VA for ASI 0x72)
20709 .word 0xd4904e40 ! 70: LDUHA_R lduha [%r1, %r0] 0x72, %r10
20710pmu_2_56:
20711 nop
20712 setx 0xfffff65cfffffd34, %g1, %g7
20713 .word 0xa3800007 ! 71: WR_PERF_COUNTER_R wr %r0, %r7, %-
20714donret_2_57:
20715 nop
20716 ta T_CHANGE_HPRIV ! macro
20717 rd %pc, %r12
20718 add %r12, (donretarg_2_57-donret_2_57-4), %r12
20719 mov 0x38, %r18
20720 stxa %r12, [%r18]0x58
20721 add %r12, 0x4, %r11
20722 wrpr %g0, 0x2, %tl
20723 wrpr %g0, %r12, %tpc
20724 wrpr %g0, %r11, %tnpc
20725 set (0x00e999a8 | (0x58 << 24)), %r13
20726 rdpr %tstate, %r16
20727 mov 0x1f, %r19
20728 and %r19, %r16, %r17
20729 andn %r16, %r19, %r16
20730 or %r16, %r17, %r20
20731 wrpr %r20, %g0, %tstate
20732 wrhpr %g0, 23, %htstate
20733 ta T_CHANGE_NONHPRIV ! rand=1 (2)
20734 done
20735donretarg_2_57:
20736 .word 0xd4ffe14c ! 72: SWAPA_I swapa %r10, [%r31 + 0x014c] %asi
20737brcommon1_2_58:
20738 nop
20739 setx common_target, %r12, %r27
20740 lduw [%r27], %r12 ! Load common dest into dcache ..
20741 ba,a .+12
20742 .word 0xd5e7c031 ! 1: CASA_I casa [%r31] 0x 1, %r17, %r10
20743 ba,a .+8
20744 jmpl %r27+0, %r27
20745 .word 0xa1b40490 ! 73: FCMPLE32 fcmple32 %d16, %d16, %r16
20746 .word 0xe1bfe140 ! 74: STDFA_I stda %f16, [0x0140, %r31]
20747dvapa_2_59:
20748 nop
20749 ta T_CHANGE_HPRIV
20750 mov 0x89d, %r20
20751 mov 0x15, %r19
20752 sllx %r20, 23, %r20
20753 or %r19, %r20, %r19
20754 stxa %r19, [%g0] ASI_LSU_CONTROL
20755 mov 0x38, %r18
20756 stxa %r31, [%r18]0x58
20757 ta T_CHANGE_NONHPRIV
20758 .word 0xe0bfc032 ! 75: STDA_R stda %r16, [%r31 + %r18] 0x01
20759donret_2_60:
20760 nop
20761 ta T_CHANGE_HPRIV ! macro
20762 rd %pc, %r12
20763 add %r12, (donretarg_2_60-donret_2_60-8), %r12
20764 mov 0x38, %r18
20765 stxa %r12, [%r18]0x58
20766 add %r12, 0x4, %r11
20767 wrpr %g0, 0x1, %tl
20768 wrpr %g0, %r12, %tpc
20769 wrpr %g0, %r11, %tnpc
20770 set (0x00bfe1a0 | (22 << 24)), %r13
20771 rdpr %tstate, %r16
20772 mov 0x1f, %r19
20773 and %r19, %r16, %r17
20774 andn %r16, %r19, %r16
20775 or %r16, %r17, %r20
20776 wrpr %r20, %g0, %tstate
20777 wrhpr %g0, 0x4d4, %htstate
20778 ta T_CHANGE_NONPRIV ! rand=0 (2)
20779 retry
20780donretarg_2_60:
20781 .word 0xe06fe07c ! 76: LDSTUB_I ldstub %r16, [%r31 + 0x007c]
20782 .word 0x8d9023a9 ! 77: WRPR_PSTATE_I wrpr %r0, 0x03a9, %pstate
20783 .word 0xc19fe180 ! 78: LDDFA_I ldda [%r31, 0x0180], %f0
20784 .word 0xe137c000 ! 79: STQF_R - %f16, [%r0, %r31]
20785jmptr_2_62:
20786 nop
20787 best_set_reg(0xe1a00000, %r20, %r27)
20788 .word 0xb7c6c000 ! 80: JMPL_R jmpl %r27 + %r0, %r27
20789vahole_2_63:
20790 nop
20791 ta T_CHANGE_NONHPRIV
20792 setx vahole_target3, %r18, %r27
20793 jmpl %r27+0, %r27
20794 .word 0xe097c033 ! 81: LDUHA_R lduha [%r31, %r19] 0x01, %r16
20795 fblg skip_2_64
20796 fbuge,a,pn %fcc0, skip_2_64
20797.align 2048
20798skip_2_64:
20799 .word 0x87a84a43 ! 82: FCMPd fcmpd %fcc<n>, %f32, %f34
20800 .word 0x87802089 ! 83: WRASI_I wr %r0, 0x0089, %asi
20801 .word 0xe6dfe140 ! 84: LDXA_I ldxa [%r31, + 0x0140] %asi, %r19
20802splash_lsu_2_65:
20803 nop
20804 ta T_CHANGE_HPRIV
20805 set 0xbf2d4fff, %r2
20806 mov 0x7, %r1
20807 sllx %r1, 32, %r1
20808 or %r1, %r2, %r2
20809 stxa %r2, [%r0] ASI_LSU_CONTROL
20810 .word 0x3d400001 ! 85: FBPULE fbule,a,pn %fcc0, <label_0x1>
20811 .word 0x8780208b ! 86: WRASI_I wr %r0, 0x008b, %asi
20812pmu_2_66:
20813 nop
20814 ta T_CHANGE_PRIV
20815 setx 0xfffff99cfffff7e9, %g1, %g7
20816 .word 0xa3800007 ! 87: WR_PERF_COUNTER_R wr %r0, %r7, %-
20817intveclr_2_67:
20818 nop
20819 ta T_CHANGE_HPRIV
20820 setx 0x4778aee9be5c862b, %r1, %r28
20821 stxa %r28, [%g0] 0x72
20822 .word 0x25400001 ! 88: FBPLG fblg,a,pn %fcc0, <label_0x1>
20823 nop
20824 ta T_CHANGE_HPRIV
20825 mov 0x2+1, %r10
20826 set sync_thr_counter5, %r23
20827#ifndef SPC
20828 ldxa [%g0]0x63, %o1
20829 and %o1, 0x38, %o1
20830 add %o1, %r23, %r23
20831#endif
20832 cas [%r23],%g0,%r10 !lock
20833 brnz %r10, cwq_2_68
20834 rd %asi, %r12
20835 wr %g0, 0x40, %asi
20836 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
20837 and %l1, 0x3, %l1 ! Check if busy/enabled ..
20838 cmp %l1, 1
20839 bne cwq_2_68
20840 set CWQ_BASE, %l6
20841 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
20842 best_set_reg(0x20610030, %l1, %l2) !# Control Word
20843 sllx %l2, 32, %l2
20844 stx %l2, [%l6 + 0x0]
20845 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
20846 sub %l2, 0x40, %l2
20847 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
20848 wr %r12, %g0, %asi
20849 st %g0, [%r23]
20850cwq_2_68:
20851 ta T_CHANGE_NONHPRIV
20852 .word 0xa1414000 ! 89: RDPC rd %pc, %r16
20853brcommon3_2_69:
20854 nop
20855 setx common_target, %r12, %r27
20856 lduw [%r27], %r12 ! Load common dest into dcache ..
20857 ba,a .+12
20858 .word 0xe46ff0aa ! 1: LDSTUB_I ldstub %r18, [%r31 + 0xfffff0aa]
20859 ba,a .+8
20860 jmpl %r27+0, %r27
20861 .word 0xe5e7e00c ! 90: CASA_R casa [%r31] %asi, %r12, %r18
20862pmu_2_70:
20863 nop
20864 setx 0xfffff02ffffff385, %g1, %g7
20865 .word 0xa3800007 ! 91: WR_PERF_COUNTER_R wr %r0, %r7, %-
20866 .word 0x9194400c ! 92: WRPR_PIL_R wrpr %r17, %r12, %pil
20867 .word 0xe43fc000 ! 93: STD_R std %r18, [%r31 + %r0]
20868mondo_2_72:
20869 nop
20870 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
20871 stxa %r16, [%r0+0x3e0] %asi
20872 .word 0x9d94c010 ! 94: WRPR_WSTATE_R wrpr %r19, %r16, %wstate
20873 set 0x1c72, %l3
20874 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
20875 .word 0xa3b407c5 ! 95: PDIST pdistn %d16, %d36, %d48
20876vahole_2_73:
20877 nop
20878 ta T_CHANGE_NONHPRIV
20879 setx vahole_target2, %r18, %r27
20880 jmpl %r27+0, %r27
20881 .word 0x95b0c7ca ! 96: PDIST pdistn %d34, %d10, %d10
20882splash_tba_2_74:
20883 ta T_CHANGE_PRIV
20884 setx 0x00000004003a0000, %r11, %r12
20885 .word 0x8b90000c ! 97: WRPR_TBA_R wrpr %r0, %r12, %tba
20886cwp_2_75:
20887 set user_data_start, %o7
20888 .word 0x93902005 ! 98: WRPR_CWP_I wrpr %r0, 0x0005, %cwp
20889 .word 0x99a14d31 ! 99: FsMULd fsmuld %f5, %f48, %f12
20890dvapa_2_76:
20891 nop
20892 ta T_CHANGE_HPRIV
20893 mov 0xac7, %r20
20894 mov 0x1a, %r19
20895 sllx %r20, 23, %r20
20896 or %r19, %r20, %r19
20897 stxa %r19, [%g0] ASI_LSU_CONTROL
20898 mov 0x38, %r18
20899 stxa %r31, [%r18]0x58
20900 ta T_CHANGE_NONHPRIV
20901 .word 0xd8dfc02b ! 100: LDXA_R ldxa [%r31, %r11] 0x01, %r12
20902 .word 0xd847e048 ! 101: LDSW_I ldsw [%r31 + 0x0048], %r12
20903mondo_2_77:
20904 nop
20905 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
20906 stxa %r1, [%r0+0x3c0] %asi
20907 .word 0x9d92c014 ! 102: WRPR_WSTATE_R wrpr %r11, %r20, %wstate
20908 .word 0xa9540000 ! 103: RDPR_GL <illegal instruction>
20909 .word 0x97a00170 ! 104: FABSq dis not found
20910
20911 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
20912reduce_priv_lvl_2_79:
20913 ta T_CHANGE_NONPRIV ! macro
20914mondo_2_80:
20915 nop
20916 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
20917 ta T_CHANGE_PRIV
20918 stxa %r18, [%r0+0x3c0] %asi
20919 .word 0x9d904008 ! 106: WRPR_WSTATE_R wrpr %r1, %r8, %wstate
20920 setx 0xccca1e52d5ae1567, %r1, %r28
20921 stxa %r28, [%g0] 0x73
20922intvec_2_81:
20923 .word 0x39400001 ! 107: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
20924 .word 0xe1bfe020 ! 108: STDFA_I stda %f16, [0x0020, %r31]
20925splash_cmpr_2_82:
20926 nop
20927 setx 0x9db3d4ac83dfb6ff, %l2, %l1
20928 ta T_CHANGE_HPRIV
20929 wrhpr %l1, %g0, %hsys_tick_cmpr
20930 ta T_CHANGE_NONHPRIV
20931 sub %l1, 40, %g1
20932 .word 0xb1800011 ! 109: WR_STICK_REG_R wr %r0, %r17, %-
20933pmu_2_83:
20934 nop
20935 setx 0xfffff064fffff14d, %g1, %g7
20936 .word 0xa3800007 ! 110: WR_PERF_COUNTER_R wr %r0, %r7, %-
20937 .word 0xa785212c ! 111: WR_GRAPHICS_STATUS_REG_I wr %r20, 0x012c, %-
20938 nop
20939 ta T_CHANGE_HPRIV
20940 mov 0x2, %r10
20941 set sync_thr_counter6, %r23
20942#ifndef SPC
20943 ldxa [%g0]0x63, %o1
20944 and %o1, 0x38, %o1
20945 add %o1, %r23, %r23
20946#endif
20947 cas [%r23],%g0,%r10 !lock
20948 brnz %r10, sma_2_84
20949 rd %asi, %r12
20950 wr %g0, 0x40, %asi
20951 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
20952 set 0x000e1fff, %g1
20953 stxa %g1, [%g0 + 0x80] %asi
20954 wr %r12, %g0, %asi
20955 st %g0, [%r23]
20956sma_2_84:
20957 ta T_CHANGE_NONHPRIV
20958 .word 0xe9e7e00b ! 112: CASA_R casa [%r31] %asi, %r11, %r20
20959fpinit_2_85:
20960 setx fp_data_quads, %r19, %r20
20961 ldd [%r20], %f0
20962 ldd [%r20+8], %f4
20963 ld [%r20+16], %fsr
20964 ld [%r20+24], %r19
20965 wr %r19, %g0, %gsr
20966 .word 0x8da009c4 ! 113: FDIVd fdivd %f0, %f4, %f6
20967 nop
20968 ta T_CHANGE_HPRIV
20969 mov 0x2+1, %r10
20970 set sync_thr_counter5, %r23
20971#ifndef SPC
20972 ldxa [%g0]0x63, %o1
20973 and %o1, 0x38, %o1
20974 add %o1, %r23, %r23
20975#endif
20976 cas [%r23],%g0,%r10 !lock
20977 brnz %r10, cwq_2_86
20978 rd %asi, %r12
20979 wr %g0, 0x40, %asi
20980 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
20981 and %l1, 0x3, %l1 ! Check if busy/enabled ..
20982 cmp %l1, 1
20983 bne cwq_2_86
20984 set CWQ_BASE, %l6
20985 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
20986 best_set_reg(0x20610030, %l1, %l2) !# Control Word
20987 sllx %l2, 32, %l2
20988 stx %l2, [%l6 + 0x0]
20989 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
20990 sub %l2, 0x40, %l2
20991 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
20992 wr %r12, %g0, %asi
20993 st %g0, [%r23]
20994cwq_2_86:
20995 ta T_CHANGE_NONHPRIV
20996 .word 0x93414000 ! 114: RDPC rd %pc, %r9
20997 nop
20998 ta T_CHANGE_HPRIV
20999 mov 0x2, %r10
21000 set sync_thr_counter6, %r23
21001#ifndef SPC
21002 ldxa [%g0]0x63, %o1
21003 and %o1, 0x38, %o1
21004 add %o1, %r23, %r23
21005#endif
21006 cas [%r23],%g0,%r10 !lock
21007 brnz %r10, sma_2_87
21008 rd %asi, %r12
21009 wr %g0, 0x40, %asi
21010 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
21011 set 0x00021fff, %g1
21012 stxa %g1, [%g0 + 0x80] %asi
21013 wr %r12, %g0, %asi
21014 st %g0, [%r23]
21015sma_2_87:
21016 ta T_CHANGE_NONHPRIV
21017 .word 0xe5e7e00c ! 115: CASA_R casa [%r31] %asi, %r12, %r18
21018 .word 0xa981000c ! 116: WR_SET_SOFTINT_R wr %r4, %r12, %set_softint
21019vahole_2_88:
21020 nop
21021 ta T_CHANGE_NONHPRIV
21022 setx vahole_target2, %r18, %r27
21023 jmpl %r27+0, %r27
21024 .word 0x87a88a51 ! 117: FCMPd fcmpd %fcc<n>, %f2, %f48
21025vahole_2_89:
21026 nop
21027 ta T_CHANGE_NONHPRIV
21028 setx vahole_target1, %r18, %r27
21029 jmpl %r27+0, %r27
21030 .word 0xe1bfe040 ! 118: STDFA_I stda %f16, [0x0040, %r31]
21031 .word 0x9190c00d ! 119: WRPR_PIL_R wrpr %r3, %r13, %pil
21032 .word 0x87802083 ! 120: WRASI_I wr %r0, 0x0083, %asi
21033pmu_2_91:
21034 nop
21035 setx 0xfffffb18fffff9bb, %g1, %g7
21036 .word 0xa3800007 ! 121: WR_PERF_COUNTER_R wr %r0, %r7, %-
21037 .word 0xd6800a60 ! 122: LDUWA_R lduwa [%r0, %r0] 0x53, %r11
21038intveclr_2_92:
21039 nop
21040 ta T_CHANGE_HPRIV
21041 setx 0x3eba91aefc263adf, %r1, %r28
21042 stxa %r28, [%g0] 0x72
21043 .word 0x25400001 ! 123: FBPLG fblg,a,pn %fcc0, <label_0x1>
21044vahole_2_93:
21045 nop
21046 ta T_CHANGE_NONHPRIV
21047 setx vahole_target0, %r18, %r27
21048 jmpl %r27+0, %r27
21049 .word 0xe1bfde00 ! 124: STDFA_R stda %f16, [%r0, %r31]
21050 .word 0xd69fe0f0 ! 125: LDDA_I ldda [%r31, + 0x00f0] %asi, %r11
21051 .word 0xe1bfe1a0 ! 126: STDFA_I stda %f16, [0x01a0, %r31]
21052fpinit_2_95:
21053 setx fp_data_quads, %r19, %r20
21054 ldd [%r20], %f0
21055 ldd [%r20+8], %f4
21056 ld [%r20+16], %fsr
21057 ld [%r20+24], %r19
21058 wr %r19, %g0, %gsr
21059 .word 0xc3e83d6b ! 127: PREFETCHA_I prefetcha [%r0, + 0xfffffd6b] %asi, #one_read
21060 .word 0xd68008a0 ! 128: LDUWA_R lduwa [%r0, %r0] 0x45, %r11
21061 nop
21062 ta T_CHANGE_HPRIV
21063 mov 0x2+1, %r10
21064 set sync_thr_counter5, %r23
21065#ifndef SPC
21066 ldxa [%g0]0x63, %o1
21067 and %o1, 0x38, %o1
21068 add %o1, %r23, %r23
21069#endif
21070 cas [%r23],%g0,%r10 !lock
21071 brnz %r10, cwq_2_96
21072 rd %asi, %r12
21073 wr %g0, 0x40, %asi
21074 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
21075 and %l1, 0x3, %l1 ! Check if busy/enabled ..
21076 cmp %l1, 1
21077 bne cwq_2_96
21078 set CWQ_BASE, %l6
21079 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
21080 best_set_reg(0x206100e0, %l1, %l2) !# Control Word
21081 sllx %l2, 32, %l2
21082 stx %l2, [%l6 + 0x0]
21083 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
21084 sub %l2, 0x40, %l2
21085 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
21086 wr %r12, %g0, %asi
21087 st %g0, [%r23]
21088cwq_2_96:
21089 ta T_CHANGE_NONHPRIV
21090 .word 0x99414000 ! 129: RDPC rd %pc, %r12
21091 .word 0x8d802000 ! 130: WRFPRS_I wr %r0, 0x0000, %fprs
21092pmu_2_97:
21093 nop
21094 ta T_CHANGE_PRIV
21095 setx 0xfffff785fffff285, %g1, %g7
21096 .word 0xa3800007 ! 131: WR_PERF_COUNTER_R wr %r0, %r7, %-
21097 invalw
21098 mov 0x35, %r30
21099 .word 0x83d0001e ! 132: Tcc_R te icc_or_xcc, %r0 + %r30
21100splash_htba_2_98:
21101 nop
21102 ta T_CHANGE_HPRIV
21103 setx 0x00000002002a0000, %r11, %r12
21104 .word 0x8b98000c ! 133: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
21105mondo_2_99:
21106 nop
21107 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
21108 ta T_CHANGE_PRIV
21109 stxa %r20, [%r0+0x3d8] %asi
21110 .word 0x9d940013 ! 134: WRPR_WSTATE_R wrpr %r16, %r19, %wstate
21111jmptr_2_100:
21112 nop
21113 best_set_reg(0xe1a00000, %r20, %r27)
21114 .word 0xb7c6c000 ! 135: JMPL_R jmpl %r27 + %r0, %r27
21115 bneg,a skip_2_101
21116 fbuge,a,pn %fcc0, skip_2_101
21117.align 1024
21118skip_2_101:
21119 .word 0xc36fe051 ! 136: PREFETCH_I prefetch [%r31 + 0x0051], #one_read
21120 .word 0xa5a00174 ! 137: FABSq dis not found
21121
21122 .word 0x93d020b4 ! 138: Tcc_I tne icc_or_xcc, %r0 + 180
21123 .word 0xd8cfe1e8 ! 139: LDSBA_I ldsba [%r31, + 0x01e8] %asi, %r12
21124 nop
21125 ta T_CHANGE_HPRIV
21126 mov 0x2+1, %r10
21127 set sync_thr_counter5, %r23
21128#ifndef SPC
21129 ldxa [%g0]0x63, %o1
21130 and %o1, 0x38, %o1
21131 add %o1, %r23, %r23
21132#endif
21133 cas [%r23],%g0,%r10 !lock
21134 brnz %r10, cwq_2_103
21135 rd %asi, %r12
21136 wr %g0, 0x40, %asi
21137 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
21138 and %l1, 0x3, %l1 ! Check if busy/enabled ..
21139 cmp %l1, 1
21140 bne cwq_2_103
21141 set CWQ_BASE, %l6
21142 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
21143 best_set_reg(0x20610030, %l1, %l2) !# Control Word
21144 sllx %l2, 32, %l2
21145 stx %l2, [%l6 + 0x0]
21146 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
21147 sub %l2, 0x40, %l2
21148 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
21149 wr %r12, %g0, %asi
21150 st %g0, [%r23]
21151cwq_2_103:
21152 ta T_CHANGE_NONHPRIV
21153 .word 0xa5414000 ! 140: RDPC rd %pc, %r18
21154 .word 0x8d903019 ! 141: WRPR_PSTATE_I wrpr %r0, 0x1019, %pstate
21155donret_2_105:
21156 nop
21157 ta T_CHANGE_HPRIV ! macro
21158 rd %pc, %r12
21159 add %r12, (donretarg_2_105-donret_2_105-4), %r12
21160 mov 0x38, %r18
21161 stxa %r12, [%r18]0x58
21162 add %r12, 0x4, %r11
21163 wrpr %g0, 0x2, %tl
21164 wrpr %g0, %r12, %tpc
21165 wrpr %g0, %r11, %tnpc
21166 set (0x00a1c9f8 | (0x82 << 24)), %r13
21167 rdpr %tstate, %r16
21168 mov 0x1f, %r19
21169 and %r19, %r16, %r17
21170 andn %r16, %r19, %r16
21171 or %r16, %r17, %r20
21172 wrpr %r20, %g0, %tstate
21173 wrhpr %g0, 0x407, %htstate
21174 ta T_CHANGE_NONPRIV ! rand=0 (2)
21175 done
21176donretarg_2_105:
21177 .word 0xe66fe1dd ! 142: LDSTUB_I ldstub %r19, [%r31 + 0x01dd]
21178fpinit_2_106:
21179 setx fp_data_quads, %r19, %r20
21180 ldd [%r20], %f0
21181 ldd [%r20+8], %f4
21182 ld [%r20+16], %fsr
21183 ld [%r20+24], %r19
21184 wr %r19, %g0, %gsr
21185 .word 0x87a80a44 ! 143: FCMPd fcmpd %fcc<n>, %f0, %f4
21186donret_2_107:
21187 nop
21188 ta T_CHANGE_HPRIV ! macro
21189 rd %pc, %r12
21190 add %r12, (donretarg_2_107-donret_2_107-4), %r12
21191 mov 0x38, %r18
21192 stxa %r12, [%r18]0x58
21193 add %r12, 0x4, %r11
21194 wrpr %g0, 0x2, %tl
21195 wrpr %g0, %r12, %tpc
21196 wrpr %g0, %r11, %tnpc
21197 set (0x0025e78c | (0x8a << 24)), %r13
21198 rdpr %tstate, %r16
21199 mov 0x1f, %r19
21200 and %r19, %r16, %r17
21201 andn %r16, %r19, %r16
21202 or %r16, %r17, %r20
21203 wrpr %r20, %g0, %tstate
21204 wrhpr %g0, 0xd97, %htstate
21205 ta T_CHANGE_NONPRIV ! rand=0 (2)
21206 done
21207donretarg_2_107:
21208 .word 0x91a189d3 ! 144: FDIVd fdivd %f6, %f50, %f8
21209 nop
21210 ta T_CHANGE_HPRIV
21211 mov 0x2, %r10
21212 set sync_thr_counter6, %r23
21213#ifndef SPC
21214 ldxa [%g0]0x63, %o1
21215 and %o1, 0x38, %o1
21216 add %o1, %r23, %r23
21217#endif
21218 cas [%r23],%g0,%r10 !lock
21219 brnz %r10, sma_2_108
21220 rd %asi, %r12
21221 wr %g0, 0x40, %asi
21222 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
21223 set 0x000a1fff, %g1
21224 stxa %g1, [%g0 + 0x80] %asi
21225 wr %r12, %g0, %asi
21226 st %g0, [%r23]
21227sma_2_108:
21228 ta T_CHANGE_NONHPRIV
21229 .word 0xd5e7e00a ! 145: CASA_R casa [%r31] %asi, %r10, %r10
21230 otherw
21231 mov 0xb5, %r30
21232 .word 0x91d0001e ! 146: Tcc_R ta icc_or_xcc, %r0 + %r30
21233splash_htba_2_109:
21234 nop
21235 ta T_CHANGE_HPRIV
21236 setx 0x00000002002a0000, %r11, %r12
21237 .word 0x8b98000c ! 147: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
21238ibp_2_110:
21239 nop
21240 ta T_CHANGE_HPRIV
21241 mov 8, %r18
21242 rd %asi, %r12
21243 wr %r0, 0x41, %asi
21244 set sync_thr_counter4, %r23
21245#ifndef SPC
21246 ldxa [%g0]0x63, %r8
21247 and %r8, 0x38, %r8 ! Core ID
21248 add %r8, %r23, %r23
21249#else
21250 mov 0, %r8
21251#endif
21252 mov 0x2, %r16
21253ibp_startwait2_110:
21254 cas [%r23],%g0,%r16 !lock
21255 brz,a %r16, continue_ibp_2_110
21256 mov (~0x2&0xf), %r16
21257 ld [%r23], %r16
21258ibp_wait2_110:
21259 brnz %r16, ibp_wait2_110
21260 ld [%r23], %r16
21261 ba ibp_startwait2_110
21262 mov 0x2, %r16
21263continue_ibp_2_110:
21264 sllx %r16, %r8, %r16 !Mask for my core only
21265 ldxa [0x58]%asi, %r17 !Running_status
21266wait_for_stat_2_110:
21267 ldxa [0x50]%asi, %r13 !Running_rw
21268 cmp %r13, %r17
21269 bne,a wait_for_stat_2_110
21270 ldxa [0x58]%asi, %r17 !Running_status
21271 stxa %r16, [0x68]%asi !Park (W1C)
21272 ldxa [0x50]%asi, %r14 !Running_rw
21273wait_for_ibp_2_110:
21274 ldxa [0x58]%asi, %r17 !Running_status
21275 cmp %r14, %r17
21276 bne,a wait_for_ibp_2_110
21277 ldxa [0x50]%asi, %r14 !Running_rw
21278ibp_doit2_110:
21279 best_set_reg(0x00000050defbd440,%r19, %r20)
21280 stxa %r20, [%r18]0x42
21281 stxa %r16, [0x60] %asi !Unpark (W1S)
21282 st %g0, [%r23] !clear lock
21283 wr %r0, %r12, %asi !restore %asi
21284 .word 0xc1bfe160 ! 148: STDFA_I stda %f0, [0x0160, %r31]
21285mondo_2_111:
21286 nop
21287 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
21288 stxa %r20, [%r0+0x3e8] %asi
21289 .word 0x9d948011 ! 149: WRPR_WSTATE_R wrpr %r18, %r17, %wstate
21290 .word 0x8d802004 ! 150: WRFPRS_I wr %r0, 0x0004, %fprs
21291 .word 0x8d902d08 ! 151: WRPR_PSTATE_I wrpr %r0, 0x0d08, %pstate
21292 brlz,pt %r16, skip_2_113
21293 fbne,a,pn %fcc0, skip_2_113
21294.align 32
21295skip_2_113:
21296 .word 0xc36fe17b ! 152: PREFETCH_I prefetch [%r31 + 0x017b], #one_read
21297splash_hpstate_2_114:
21298 .word 0x21400001 ! 1: FBPN fbn,a,pn %fcc0, <label_0x1>
21299 .word 0x81982207 ! 153: WRHPR_HPSTATE_I wrhpr %r0, 0x0207, %hpstate
21300cwp_2_115:
21301 set user_data_start, %o7
21302 .word 0x93902000 ! 154: WRPR_CWP_I wrpr %r0, 0x0000, %cwp
21303 .word 0x92d8c011 ! 155: SMULcc_R smulcc %r3, %r17, %r9
21304 .word 0x9194c014 ! 156: WRPR_PIL_R wrpr %r19, %r20, %pil
21305vahole_2_117:
21306 nop
21307 ta T_CHANGE_NONHPRIV
21308 setx vahole_target0, %r18, %r27
21309 jmpl %r27+0, %r27
21310 .word 0xc1bfd960 ! 157: STDFA_R stda %f0, [%r0, %r31]
21311vahole_2_118:
21312 nop
21313 ta T_CHANGE_NONHPRIV
21314 setx vahole_target3, %r18, %r27
21315 jmpl %r27+0, %r27
21316 .word 0xc1bfe000 ! 158: STDFA_I stda %f0, [0x0000, %r31]
21317 .word 0x87ac8a53 ! 159: FCMPd fcmpd %fcc<n>, %f18, %f50
21318ibp_2_120:
21319 nop
21320 ta T_CHANGE_HPRIV
21321 mov 8, %r18
21322 rd %asi, %r12
21323 wr %r0, 0x41, %asi
21324 set sync_thr_counter4, %r23
21325#ifndef SPC
21326 ldxa [%g0]0x63, %r8
21327 and %r8, 0x38, %r8 ! Core ID
21328 add %r8, %r23, %r23
21329#else
21330 mov 0, %r8
21331#endif
21332 mov 0x2, %r16
21333ibp_startwait2_120:
21334 cas [%r23],%g0,%r16 !lock
21335 brz,a %r16, continue_ibp_2_120
21336 mov (~0x2&0xf), %r16
21337 ld [%r23], %r16
21338ibp_wait2_120:
21339 brnz %r16, ibp_wait2_120
21340 ld [%r23], %r16
21341 ba ibp_startwait2_120
21342 mov 0x2, %r16
21343continue_ibp_2_120:
21344 sllx %r16, %r8, %r16 !Mask for my core only
21345 ldxa [0x58]%asi, %r17 !Running_status
21346wait_for_stat_2_120:
21347 ldxa [0x50]%asi, %r13 !Running_rw
21348 cmp %r13, %r17
21349 bne,a wait_for_stat_2_120
21350 ldxa [0x58]%asi, %r17 !Running_status
21351 stxa %r16, [0x68]%asi !Park (W1C)
21352 ldxa [0x50]%asi, %r14 !Running_rw
21353wait_for_ibp_2_120:
21354 ldxa [0x58]%asi, %r17 !Running_status
21355 cmp %r14, %r17
21356 bne,a wait_for_ibp_2_120
21357 ldxa [0x50]%asi, %r14 !Running_rw
21358ibp_doit2_120:
21359 best_set_reg(0x000000503dd440fc,%r19, %r20)
21360 stxa %r20, [%r18]0x42
21361 stxa %r16, [0x60] %asi !Unpark (W1S)
21362 st %g0, [%r23] !clear lock
21363 wr %r0, %r12, %asi !restore %asi
21364 ta T_CHANGE_NONHPRIV
21365 .word 0xe13fc012 ! 160: STDF_R std %f16, [%r18, %r31]
21366 nop
21367 ta T_CHANGE_HPRIV
21368 mov 0x2+1, %r10
21369 set sync_thr_counter5, %r23
21370#ifndef SPC
21371 ldxa [%g0]0x63, %o1
21372 and %o1, 0x38, %o1
21373 add %o1, %r23, %r23
21374#endif
21375 cas [%r23],%g0,%r10 !lock
21376 brnz %r10, cwq_2_121
21377 rd %asi, %r12
21378 wr %g0, 0x40, %asi
21379 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
21380 and %l1, 0x3, %l1 ! Check if busy/enabled ..
21381 cmp %l1, 1
21382 bne cwq_2_121
21383 set CWQ_BASE, %l6
21384 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
21385 best_set_reg(0x20610090, %l1, %l2) !# Control Word
21386 sllx %l2, 32, %l2
21387 stx %l2, [%l6 + 0x0]
21388 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
21389 sub %l2, 0x40, %l2
21390 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
21391 wr %r12, %g0, %asi
21392 st %g0, [%r23]
21393cwq_2_121:
21394 ta T_CHANGE_NONHPRIV
21395 .word 0x97414000 ! 161: RDPC rd %pc, %r11
21396 .word 0x99a00172 ! 162: FABSq dis not found
21397
21398 .word 0xe19fe000 ! 163: LDDFA_I ldda [%r31, 0x0000], %f16
21399mondo_2_123:
21400 nop
21401 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
21402 ta T_CHANGE_PRIV
21403 stxa %r18, [%r0+0x3c0] %asi
21404 .word 0x9d950005 ! 164: WRPR_WSTATE_R wrpr %r20, %r5, %wstate
21405splash_tba_2_124:
21406 ta T_CHANGE_PRIV
21407 set 0x120000, %r12
21408 .word 0x8b90000c ! 165: WRPR_TBA_R wrpr %r0, %r12, %tba
21409vahole_2_125:
21410 nop
21411 ta T_CHANGE_NONHPRIV
21412 setx vahole_target1, %r18, %r27
21413 jmpl %r27+0, %r27
21414 .word 0xe19fc2c0 ! 166: LDDFA_R ldda [%r31, %r0], %f16
21415trapasi_2_126:
21416 nop
21417 mov 0x10, %r1 ! (VA for ASI 0x5b)
21418 .word 0xd2c84b60 ! 167: LDSBA_R ldsba [%r1, %r0] 0x5b, %r9
21419ibp_2_127:
21420 nop
21421 ta T_CHANGE_HPRIV
21422 mov 8, %r18
21423 rd %asi, %r12
21424 wr %r0, 0x41, %asi
21425 set sync_thr_counter4, %r23
21426#ifndef SPC
21427 ldxa [%g0]0x63, %r8
21428 and %r8, 0x38, %r8 ! Core ID
21429 add %r8, %r23, %r23
21430#else
21431 mov 0, %r8
21432#endif
21433 mov 0x2, %r16
21434ibp_startwait2_127:
21435 cas [%r23],%g0,%r16 !lock
21436 brz,a %r16, continue_ibp_2_127
21437 mov (~0x2&0xf), %r16
21438 ld [%r23], %r16
21439ibp_wait2_127:
21440 brnz %r16, ibp_wait2_127
21441 ld [%r23], %r16
21442 ba ibp_startwait2_127
21443 mov 0x2, %r16
21444continue_ibp_2_127:
21445 sllx %r16, %r8, %r16 !Mask for my core only
21446 ldxa [0x58]%asi, %r17 !Running_status
21447wait_for_stat_2_127:
21448 ldxa [0x50]%asi, %r13 !Running_rw
21449 cmp %r13, %r17
21450 bne,a wait_for_stat_2_127
21451 ldxa [0x58]%asi, %r17 !Running_status
21452 stxa %r16, [0x68]%asi !Park (W1C)
21453 ldxa [0x50]%asi, %r14 !Running_rw
21454wait_for_ibp_2_127:
21455 ldxa [0x58]%asi, %r17 !Running_status
21456 cmp %r14, %r17
21457 bne,a wait_for_ibp_2_127
21458 ldxa [0x50]%asi, %r14 !Running_rw
21459ibp_doit2_127:
21460 best_set_reg(0x000000501fc0fcf2,%r19, %r20)
21461 stxa %r20, [%r18]0x42
21462 stxa %r16, [0x60] %asi !Unpark (W1S)
21463 st %g0, [%r23] !clear lock
21464 wr %r0, %r12, %asi !restore %asi
21465 .word 0xd297c02c ! 168: LDUHA_R lduha [%r31, %r12] 0x01, %r9
21466donret_2_128:
21467 nop
21468 ta T_CHANGE_HPRIV ! macro
21469 rd %pc, %r12
21470 add %r12, (donretarg_2_128-donret_2_128-8), %r12
21471 mov 0x38, %r18
21472 stxa %r12, [%r18]0x58
21473 add %r12, 0x4, %r11
21474 wrpr %g0, 0x1, %tl
21475 wrpr %g0, %r12, %tpc
21476 wrpr %g0, %r11, %tnpc
21477 set (0x005f1218 | (0x82 << 24)), %r13
21478 rdpr %tstate, %r16
21479 mov 0x1f, %r19
21480 and %r19, %r16, %r17
21481 andn %r16, %r19, %r16
21482 or %r16, %r17, %r20
21483 wrpr %r20, %g0, %tstate
21484 wrhpr %g0, 0xe1e, %htstate
21485 ta T_CHANGE_NONPRIV ! rand=0 (2)
21486 retry
21487donretarg_2_128:
21488 .word 0xd2ffe10a ! 169: SWAPA_I swapa %r9, [%r31 + 0x010a] %asi
21489jmptr_2_129:
21490 nop
21491 best_set_reg(0xe1a00000, %r20, %r27)
21492 .word 0xb7c6c000 ! 170: JMPL_R jmpl %r27 + %r0, %r27
21493 .word 0xd2bfc029 ! 171: STDA_R stda %r9, [%r31 + %r9] 0x01
21494vahole_2_131:
21495 nop
21496 ta T_CHANGE_NONHPRIV
21497 setx vahole_target3, %r18, %r27
21498 jmpl %r27+0, %r27
21499 .word 0xa9b507d2 ! 172: PDIST pdistn %d20, %d18, %d20
21500 .word 0xe727e007 ! 173: STF_I st %f19, [0x0007, %r31]
21501 nop
21502 ta T_CHANGE_HPRIV
21503 mov 0x2+1, %r10
21504 set sync_thr_counter5, %r23
21505#ifndef SPC
21506 ldxa [%g0]0x63, %o1
21507 and %o1, 0x38, %o1
21508 add %o1, %r23, %r23
21509#endif
21510 cas [%r23],%g0,%r10 !lock
21511 brnz %r10, cwq_2_132
21512 rd %asi, %r12
21513 wr %g0, 0x40, %asi
21514 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
21515 and %l1, 0x3, %l1 ! Check if busy/enabled ..
21516 cmp %l1, 1
21517 bne cwq_2_132
21518 set CWQ_BASE, %l6
21519 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
21520 best_set_reg(0x20610070, %l1, %l2) !# Control Word
21521 sllx %l2, 32, %l2
21522 stx %l2, [%l6 + 0x0]
21523 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
21524 sub %l2, 0x40, %l2
21525 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
21526 wr %r12, %g0, %asi
21527 st %g0, [%r23]
21528cwq_2_132:
21529 ta T_CHANGE_NONHPRIV
21530 .word 0x91414000 ! 174: RDPC rd %pc, %r8
21531 .word 0x87802014 ! 175: WRASI_I wr %r0, 0x0014, %asi
21532donret_2_133:
21533 nop
21534 ta T_CHANGE_HPRIV ! macro
21535 rd %pc, %r12
21536 add %r12, (donretarg_2_133-donret_2_133-4), %r12
21537 mov 0x38, %r18
21538 stxa %r12, [%r18]0x58
21539 add %r12, 0x4, %r11
21540 wrpr %g0, 0x1, %tl
21541 wrpr %g0, %r12, %tpc
21542 wrpr %g0, %r11, %tnpc
21543 set (0x00cf647e | (22 << 24)), %r13
21544 rdpr %tstate, %r16
21545 mov 0x1f, %r19
21546 and %r19, %r16, %r17
21547 andn %r16, %r19, %r16
21548 or %r16, %r17, %r20
21549 wrpr %r20, %g0, %tstate
21550 wrhpr %g0, 0x657, %htstate
21551 ta T_CHANGE_NONPRIV ! rand=0 (2)
21552 .word 0x21400001 ! 1: FBPN fbn,a,pn %fcc0, <label_0x1>
21553 done
21554donretarg_2_133:
21555 .word 0xa7a309cc ! 176: FDIVd fdivd %f12, %f12, %f50
21556 .word 0xa3500000 ! 177: RDPR_TPC <illegal instruction>
21557br_badelay2_2_134:
21558 .word 0x34800001 ! 1: BG bg,a <label_0x1>
21559 pdist %f20, %f6, %f26
21560 .word 0x9bb2430c ! 178: ALIGNADDRESS alignaddr %r9, %r12, %r13
21561 setx 0x74e975fd6d6aea3e, %r1, %r28
21562 stxa %r28, [%g0] 0x73
21563intvec_2_135:
21564 .word 0x39400001 ! 179: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
21565 fbue,a,pn %fcc0, skip_2_136
21566 brlez,a,pt %r18, skip_2_136
21567.align 128
21568skip_2_136:
21569 .word 0xd5e7c020 ! 180: CASA_I casa [%r31] 0x 1, %r0, %r10
21570 .word 0x99500000 ! 181: RDPR_TPC <illegal instruction>
21571 .word 0xda8008a0 ! 182: LDUWA_R lduwa [%r0, %r0] 0x45, %r13
21572 .word 0x38800001 ! 183: BGU bgu,a <label_0x1>
21573intveclr_2_137:
21574 nop
21575 ta T_CHANGE_HPRIV
21576 setx 0xaf0f935d7b6081e7, %r1, %r28
21577 stxa %r28, [%g0] 0x72
21578 ta T_CHANGE_NONHPRIV
21579 .word 0x25400001 ! 184: FBPLG fblg,a,pn %fcc0, <label_0x1>
21580 invalw
21581 mov 0x32, %r30
21582 .word 0x93d0001e ! 185: Tcc_R tne icc_or_xcc, %r0 + %r30
21583dvapa_2_138:
21584 nop
21585 ta T_CHANGE_HPRIV
21586 mov 0x88e, %r20
21587 mov 0x11, %r19
21588 sllx %r20, 23, %r20
21589 or %r19, %r20, %r19
21590 stxa %r19, [%g0] ASI_LSU_CONTROL
21591 mov 0x38, %r18
21592 stxa %r31, [%r18]0x58
21593 ta T_CHANGE_NONHPRIV
21594 .word 0xdb3fc014 ! 186: STDF_R std %f13, [%r20, %r31]
21595donret_2_139:
21596 nop
21597 ta T_CHANGE_HPRIV ! macro
21598 rd %pc, %r12
21599 add %r12, (donretarg_2_139-donret_2_139-4), %r12
21600 mov 0x38, %r18
21601 stxa %r12, [%r18]0x58
21602 add %r12, 0x4, %r11
21603 wrpr %g0, 0x2, %tl
21604 wrpr %g0, %r12, %tpc
21605 wrpr %g0, %r11, %tnpc
21606 set (0x0058adbc | (0x55 << 24)), %r13
21607 rdpr %tstate, %r16
21608 mov 0x1f, %r19
21609 and %r19, %r16, %r17
21610 andn %r16, %r19, %r16
21611 or %r16, %r17, %r20
21612 wrpr %r20, %g0, %tstate
21613 wrhpr %g0, 0xbde, %htstate
21614 ta T_CHANGE_NONHPRIV ! rand=1 (2)
21615 .word 0x35400001 ! 1: FBPUE fbue,a,pn %fcc0, <label_0x1>
21616 done
21617donretarg_2_139:
21618 .word 0xdaffe0b0 ! 187: SWAPA_I swapa %r13, [%r31 + 0x00b0] %asi
21619 bneg skip_2_140
21620 fbl skip_2_140
21621.align 512
21622skip_2_140:
21623 .word 0x9f802eb6 ! 188: SIR sir 0x0eb6
21624memptr_2_141:
21625 set user_data_start, %r31
21626 .word 0x858461b7 ! 189: WRCCR_I wr %r17, 0x01b7, %ccr
21627dvapa_2_142:
21628 nop
21629 ta T_CHANGE_HPRIV
21630 mov 0x8b7, %r20
21631 mov 0x16, %r19
21632 sllx %r20, 23, %r20
21633 or %r19, %r20, %r19
21634 stxa %r19, [%g0] ASI_LSU_CONTROL
21635 mov 0x38, %r18
21636 stxa %r31, [%r18]0x58
21637 ta T_CHANGE_NONHPRIV
21638 .word 0xa7a449d4 ! 190: FDIVd fdivd %f48, %f20, %f50
21639dvapa_2_143:
21640 nop
21641 ta T_CHANGE_HPRIV
21642 mov 0xa01, %r20
21643 mov 0x6, %r19
21644 sllx %r20, 23, %r20
21645 or %r19, %r20, %r19
21646 stxa %r19, [%g0] ASI_LSU_CONTROL
21647 mov 0x38, %r18
21648 stxa %r31, [%r18]0x58
21649 ta T_CHANGE_NONHPRIV
21650 .word 0xc32fc00c ! 191: STXFSR_R st-sfr %f1, [%r12, %r31]
21651fpinit_2_144:
21652 setx fp_data_quads, %r19, %r20
21653 ldd [%r20], %f0
21654 ldd [%r20+8], %f4
21655 ld [%r20+16], %fsr
21656 ld [%r20+24], %r19
21657 wr %r19, %g0, %gsr
21658 .word 0x87a80a44 ! 192: FCMPd fcmpd %fcc<n>, %f0, %f4
21659 .word 0x986a8011 ! 193: UDIVX_R udivx %r10, %r17, %r12
21660donret_2_145:
21661 nop
21662 ta T_CHANGE_HPRIV ! macro
21663 rd %pc, %r12
21664 add %r12, (donretarg_2_145-donret_2_145-4), %r12
21665 mov 0x38, %r18
21666 stxa %r12, [%r18]0x58
21667 add %r12, 0x4, %r11
21668 wrpr %g0, 0x1, %tl
21669 wrpr %g0, %r12, %tpc
21670 wrpr %g0, %r11, %tnpc
21671 set (0x00600eea | (20 << 24)), %r13
21672 rdpr %tstate, %r16
21673 mov 0x1f, %r19
21674 and %r19, %r16, %r17
21675 andn %r16, %r19, %r16
21676 or %r16, %r17, %r20
21677 wrpr %r20, %g0, %tstate
21678 wrhpr %g0, 0xf0c, %htstate
21679 ta T_CHANGE_NONHPRIV ! rand=1 (2)
21680 .word 0x38800001 ! 1: BGU bgu,a <label_0x1>
21681 done
21682donretarg_2_145:
21683 .word 0xe6ffe191 ! 194: SWAPA_I swapa %r19, [%r31 + 0x0191] %asi
21684 .word 0x91920004 ! 195: WRPR_PIL_R wrpr %r8, %r4, %pil
21685 .word 0x91948011 ! 196: WRPR_PIL_R wrpr %r18, %r17, %pil
21686 .word 0x95b507c7 ! 197: PDIST pdistn %d20, %d38, %d10
21687 .word 0x9f802b1c ! 198: SIR sir 0x0b1c
21688 .word 0x3e780001 ! 199: BPVC <illegal instruction>
21689 .word 0x87802010 ! 200: WRASI_I wr %r0, 0x0010, %asi
21690splash_hpstate_2_149:
21691 ta T_CHANGE_NONHPRIV
21692 .word 0x8198249c ! 201: WRHPR_HPSTATE_I wrhpr %r0, 0x049c, %hpstate
21693 .word 0xe697e038 ! 202: LDUHA_I lduha [%r31, + 0x0038] %asi, %r19
21694dvapa_2_150:
21695 nop
21696 ta T_CHANGE_HPRIV
21697 mov 0xde3, %r20
21698 mov 0xc, %r19
21699 sllx %r20, 23, %r20
21700 or %r19, %r20, %r19
21701 stxa %r19, [%g0] ASI_LSU_CONTROL
21702 mov 0x38, %r18
21703 stxa %r31, [%r18]0x58
21704 ta T_CHANGE_NONHPRIV
21705 .word 0xe73fc012 ! 203: STDF_R std %f19, [%r18, %r31]
21706splash_decr_2_151:
21707 nop
21708 ta T_CHANGE_HPRIV
21709 mov 8, %r1
21710 stxa %r15, [%r1] 0x45
21711 .word 0xa7818010 ! 204: WR_GRAPHICS_STATUS_REG_R wr %r6, %r16, %-
21712brcommon2_2_152:
21713 nop
21714 setx common_target, %r12, %r27
21715 ba,a .+12
21716 .word 0x99a309c1 ! 1: FDIVd fdivd %f12, %f32, %f12
21717 ba,a .+8
21718 jmpl %r27+0, %r27
21719 .word 0xe19fd960 ! 205: LDDFA_R ldda [%r31, %r0], %f16
21720 .word 0x97454000 ! 206: RD_CLEAR_SOFTINT rd %clear_softint, %r11
21721 .word 0xe897e1f0 ! 207: LDUHA_I lduha [%r31, + 0x01f0] %asi, %r20
21722 nop
21723 ta T_CHANGE_HPRIV
21724 mov 0x2, %r10
21725 set sync_thr_counter6, %r23
21726#ifndef SPC
21727 ldxa [%g0]0x63, %o1
21728 and %o1, 0x38, %o1
21729 add %o1, %r23, %r23
21730#endif
21731 cas [%r23],%g0,%r10 !lock
21732 brnz %r10, sma_2_153
21733 rd %asi, %r12
21734 wr %g0, 0x40, %asi
21735 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
21736 set 0x00061fff, %g1
21737 stxa %g1, [%g0 + 0x80] %asi
21738 wr %r12, %g0, %asi
21739 st %g0, [%r23]
21740sma_2_153:
21741 ta T_CHANGE_NONHPRIV
21742 .word 0xe9e7e014 ! 208: CASA_R casa [%r31] %asi, %r20, %r20
21743vahole_2_154:
21744 nop
21745 ta T_CHANGE_NONHPRIV
21746 setx vahole_target3, %r18, %r27
21747 jmpl %r27+0, %r27
21748 .word 0xc1bfe160 ! 209: STDFA_I stda %f0, [0x0160, %r31]
21749splash_lsu_2_155:
21750 nop
21751 ta T_CHANGE_HPRIV
21752 set 0xc12b330f, %r2
21753 mov 0x7, %r1
21754 sllx %r1, 32, %r1
21755 or %r1, %r2, %r2
21756 stxa %r2, [%r0] ASI_LSU_CONTROL
21757 ta T_CHANGE_NONHPRIV
21758 .word 0x3d400001 ! 210: FBPULE fbule,a,pn %fcc0, <label_0x1>
21759splash_hpstate_2_156:
21760 .word 0x24800001 ! 1: BLE ble,a <label_0x1>
21761 .word 0x81982dfe ! 211: WRHPR_HPSTATE_I wrhpr %r0, 0x0dfe, %hpstate
21762fpinit_2_157:
21763 setx fp_data_quads, %r19, %r20
21764 ldd [%r20], %f0
21765 ldd [%r20+8], %f4
21766 ld [%r20+16], %fsr
21767 ld [%r20+24], %r19
21768 wr %r19, %g0, %gsr
21769 .word 0xc3e82de6 ! 212: PREFETCHA_I prefetcha [%r0, + 0x0de6] %asi, #one_read
21770splash_tba_2_158:
21771 ta T_CHANGE_PRIV
21772 setx 0x00000004003a0000, %r11, %r12
21773 .word 0x8b90000c ! 213: WRPR_TBA_R wrpr %r0, %r12, %tba
21774intveclr_2_159:
21775 nop
21776 ta T_CHANGE_HPRIV
21777 setx 0x249f866ba527daa9, %r1, %r28
21778 stxa %r28, [%g0] 0x72
21779 .word 0x25400001 ! 214: FBPLG fblg,a,pn %fcc0, <label_0x1>
21780mondo_2_160:
21781 nop
21782 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
21783 stxa %r20, [%r0+0x3d8] %asi
21784 .word 0x9d934002 ! 215: WRPR_WSTATE_R wrpr %r13, %r2, %wstate
21785 .word 0xc1bfe080 ! 216: STDFA_I stda %f0, [0x0080, %r31]
21786pmu_2_162:
21787 nop
21788 ta T_CHANGE_PRIV
21789 setx 0xfffff2d8fffff180, %g1, %g7
21790 .word 0xa3800007 ! 217: WR_PERF_COUNTER_R wr %r0, %r7, %-
21791donret_2_163:
21792 nop
21793 ta T_CHANGE_HPRIV ! macro
21794 rd %pc, %r12
21795 add %r12, (donretarg_2_163-donret_2_163-4), %r12
21796 mov 0x38, %r18
21797 stxa %r12, [%r18]0x58
21798 add %r12, 0x4, %r11
21799 wrpr %g0, 0x2, %tl
21800 wrpr %g0, %r12, %tpc
21801 wrpr %g0, %r11, %tnpc
21802 set (0x00c512f7 | (0x4f << 24)), %r13
21803 rdpr %tstate, %r16
21804 mov 0x1f, %r19
21805 and %r19, %r16, %r17
21806 andn %r16, %r19, %r16
21807 or %r16, %r17, %r20
21808 wrpr %r20, %g0, %tstate
21809 wrhpr %g0, 0xad6, %htstate
21810 ta T_CHANGE_NONPRIV ! rand=0 (2)
21811 .word 0x20800001 ! 1: BN bn,a <label_0x1>
21812 done
21813donretarg_2_163:
21814 .word 0x9ba109ca ! 218: FDIVd fdivd %f4, %f10, %f44
21815 invalw
21816 mov 0xb2, %r30
21817 .word 0x91d0001e ! 219: Tcc_R ta icc_or_xcc, %r0 + %r30
21818 .word 0xa1464000 ! 220: RD_STICK_CMPR_REG rd %-, %r16
21819vahole_2_164:
21820 nop
21821 ta T_CHANGE_NONHPRIV
21822 setx vahole_target3, %r18, %r27
21823 jmpl %r27+0, %r27
21824 .word 0xe4dfc030 ! 221: LDXA_R ldxa [%r31, %r16] 0x01, %r18
21825ibp_2_165:
21826 nop
21827 ta T_CHANGE_HPRIV
21828 mov 8, %r18
21829 rd %asi, %r12
21830 wr %r0, 0x41, %asi
21831 set sync_thr_counter4, %r23
21832#ifndef SPC
21833 ldxa [%g0]0x63, %r8
21834 and %r8, 0x38, %r8 ! Core ID
21835 add %r8, %r23, %r23
21836#else
21837 mov 0, %r8
21838#endif
21839 mov 0x2, %r16
21840ibp_startwait2_165:
21841 cas [%r23],%g0,%r16 !lock
21842 brz,a %r16, continue_ibp_2_165
21843 mov (~0x2&0xf), %r16
21844 ld [%r23], %r16
21845ibp_wait2_165:
21846 brnz %r16, ibp_wait2_165
21847 ld [%r23], %r16
21848 ba ibp_startwait2_165
21849 mov 0x2, %r16
21850continue_ibp_2_165:
21851 sllx %r16, %r8, %r16 !Mask for my core only
21852 ldxa [0x58]%asi, %r17 !Running_status
21853wait_for_stat_2_165:
21854 ldxa [0x50]%asi, %r13 !Running_rw
21855 cmp %r13, %r17
21856 bne,a wait_for_stat_2_165
21857 ldxa [0x58]%asi, %r17 !Running_status
21858 stxa %r16, [0x68]%asi !Park (W1C)
21859 ldxa [0x50]%asi, %r14 !Running_rw
21860wait_for_ibp_2_165:
21861 ldxa [0x58]%asi, %r17 !Running_status
21862 cmp %r14, %r17
21863 bne,a wait_for_ibp_2_165
21864 ldxa [0x50]%asi, %r14 !Running_rw
21865ibp_doit2_165:
21866 best_set_reg(0x00000050fffcf258,%r19, %r20)
21867 stxa %r20, [%r18]0x42
21868 stxa %r16, [0x60] %asi !Unpark (W1S)
21869 st %g0, [%r23] !clear lock
21870 wr %r0, %r12, %asi !restore %asi
21871 .word 0xe5e7e00d ! 222: CASA_R casa [%r31] %asi, %r13, %r18
21872dvapa_2_166:
21873 nop
21874 ta T_CHANGE_HPRIV
21875 mov 0x9e8, %r20
21876 mov 0x6, %r19
21877 sllx %r20, 23, %r20
21878 or %r19, %r20, %r19
21879 stxa %r19, [%g0] ASI_LSU_CONTROL
21880 mov 0x38, %r18
21881 stxa %r31, [%r18]0x58
21882 ta T_CHANGE_NONHPRIV
21883 .word 0xc19fde00 ! 223: LDDFA_R ldda [%r31, %r0], %f0
21884 .word 0xe44fe020 ! 224: LDSB_I ldsb [%r31 + 0x0020], %r18
21885mondo_2_167:
21886 nop
21887 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
21888 ta T_CHANGE_PRIV
21889 stxa %r17, [%r0+0x3d0] %asi
21890 .word 0x9d910011 ! 225: WRPR_WSTATE_R wrpr %r4, %r17, %wstate
21891 .word 0x9880c006 ! 226: ADDcc_R addcc %r3, %r6, %r12
21892 .word 0xda97c032 ! 227: LDUHA_R lduha [%r31, %r18] 0x01, %r13
21893vahole_2_169:
21894 nop
21895 ta T_CHANGE_NONHPRIV
21896 setx vahole_target2, %r18, %r27
21897 jmpl %r27+0, %r27
21898 .word 0x87aaca54 ! 228: FCMPd fcmpd %fcc<n>, %f42, %f20
21899 nop
21900 ta T_CHANGE_HPRIV
21901 mov 0x2+1, %r10
21902 set sync_thr_counter5, %r23
21903#ifndef SPC
21904 ldxa [%g0]0x63, %o1
21905 and %o1, 0x38, %o1
21906 add %o1, %r23, %r23
21907#endif
21908 cas [%r23],%g0,%r10 !lock
21909 brnz %r10, cwq_2_170
21910 rd %asi, %r12
21911 wr %g0, 0x40, %asi
21912 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
21913 and %l1, 0x3, %l1 ! Check if busy/enabled ..
21914 cmp %l1, 1
21915 bne cwq_2_170
21916 set CWQ_BASE, %l6
21917 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
21918 best_set_reg(0x20610050, %l1, %l2) !# Control Word
21919 sllx %l2, 32, %l2
21920 stx %l2, [%l6 + 0x0]
21921 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
21922 sub %l2, 0x40, %l2
21923 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
21924 wr %r12, %g0, %asi
21925 st %g0, [%r23]
21926cwq_2_170:
21927 ta T_CHANGE_NONHPRIV
21928 .word 0xa7414000 ! 229: RDPC rd %pc, %r19
21929vahole_2_171:
21930 nop
21931 ta T_CHANGE_NONHPRIV
21932 setx vahole_target0, %r18, %r27
21933 jmpl %r27+0, %r27
21934 .word 0xd1e7e013 ! 230: CASA_R casa [%r31] %asi, %r19, %r8
21935 .word 0x91950005 ! 231: WRPR_PIL_R wrpr %r20, %r5, %pil
21936pmu_2_173:
21937 nop
21938 setx 0xfffff463fffffaf9, %g1, %g7
21939 .word 0xa3800007 ! 232: WR_PERF_COUNTER_R wr %r0, %r7, %-
21940 .word 0xd097c028 ! 233: LDUHA_R lduha [%r31, %r8] 0x01, %r8
21941 .word 0xa7694014 ! 234: SDIVX_R sdivx %r5, %r20, %r19
21942splash_cmpr_2_175:
21943 nop
21944 setx 0x11eaa1b9f78a7257, %l2, %l1
21945 ta T_CHANGE_PRIV
21946 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
21947 sub %l1, 40, %g1
21948 .word 0x89900011 ! 235: WRPR_TICK_R wrpr %r0, %r17, %tick
21949#if (defined SPC || defined CMP)
21950!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_2_176) + 48, 16, 16)) -> intp(0,0,20)
21951!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_2_176)&0xffffffff) + 48, 16, 16)) -> intp(0,0,20)
21952#else
21953 setx 0xb0431e9cd91558d4, %r1, %r28
21954 stxa %r28, [%g0] 0x73
21955#endif
21956intvec_2_176:
21957 .word 0x39400001 ! 236: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
21958dvapa_2_177:
21959 nop
21960 ta T_CHANGE_HPRIV
21961 mov 0xdce, %r20
21962 mov 0x6, %r19
21963 sllx %r20, 23, %r20
21964 or %r19, %r20, %r19
21965 stxa %r19, [%g0] ASI_LSU_CONTROL
21966 mov 0x38, %r18
21967 stxa %r31, [%r18]0x58
21968 ta T_CHANGE_NONHPRIV
21969 .word 0xc1bfda00 ! 237: STDFA_R stda %f0, [%r0, %r31]
21970vahole_2_178:
21971 nop
21972 ta T_CHANGE_NONHPRIV
21973 setx vahole_target3, %r18, %r27
21974 jmpl %r27+0, %r27
21975 .word 0xe1bfdb60 ! 238: STDFA_R stda %f16, [%r0, %r31]
21976fpinit_2_179:
21977 setx fp_data_quads, %r19, %r20
21978 ldd [%r20], %f0
21979 ldd [%r20+8], %f4
21980 ld [%r20+16], %fsr
21981 ld [%r20+24], %r19
21982 wr %r19, %g0, %gsr
21983 .word 0x87a80a44 ! 239: FCMPd fcmpd %fcc<n>, %f0, %f4
21984mondo_2_180:
21985 nop
21986 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
21987 stxa %r10, [%r0+0x3d0] %asi
21988 .word 0x9d924012 ! 240: WRPR_WSTATE_R wrpr %r9, %r18, %wstate
21989vahole_2_181:
21990 nop
21991 ta T_CHANGE_NONHPRIV
21992 setx vahole_target1, %r18, %r27
21993 jmpl %r27+0, %r27
21994 .word 0xe1bfe1e0 ! 241: STDFA_I stda %f16, [0x01e0, %r31]
21995#if (defined SPC || defined CMP)
21996!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_2_182) + 48, 16, 16)) -> intp(6,0,24)
21997!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_2_182)&0xffffffff) + 48, 16, 16)) -> intp(6,0,24)
21998#else
21999 setx 0x5cfb97ccc9ff1169, %r1, %r28
22000 stxa %r28, [%g0] 0x73
22001#endif
22002intvec_2_182:
22003 .word 0x39400001 ! 242: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
22004 .word 0xe4800b00 ! 243: LDUWA_R lduwa [%r0, %r0] 0x58, %r18
22005intveclr_2_183:
22006 nop
22007 ta T_CHANGE_HPRIV
22008 setx 0x0826a16b9fb45b4c, %r1, %r28
22009 stxa %r28, [%g0] 0x72
22010 ta T_CHANGE_NONHPRIV
22011 .word 0x25400001 ! 244: FBPLG fblg,a,pn %fcc0, <label_0x1>
22012vahole_2_184:
22013 nop
22014 ta T_CHANGE_NONHPRIV
22015 setx vahole_target3, %r18, %r27
22016 jmpl %r27+0, %r27
22017 .word 0xe4bfc028 ! 245: STDA_R stda %r18, [%r31 + %r8] 0x01
22018 nop
22019 ta T_CHANGE_HPRIV
22020 mov 0x2, %r10
22021 set sync_thr_counter6, %r23
22022#ifndef SPC
22023 ldxa [%g0]0x63, %o1
22024 and %o1, 0x38, %o1
22025 add %o1, %r23, %r23
22026#endif
22027 cas [%r23],%g0,%r10 !lock
22028 brnz %r10, sma_2_185
22029 rd %asi, %r12
22030 wr %g0, 0x40, %asi
22031 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
22032 set 0x000e1fff, %g1
22033 stxa %g1, [%g0 + 0x80] %asi
22034 wr %r12, %g0, %asi
22035 st %g0, [%r23]
22036sma_2_185:
22037 ta T_CHANGE_NONHPRIV
22038 .word 0xe5e7e013 ! 246: CASA_R casa [%r31] %asi, %r19, %r18
22039fpinit_2_186:
22040 setx fp_data_quads, %r19, %r20
22041 ldd [%r20], %f0
22042 ldd [%r20+8], %f4
22043 ld [%r20+16], %fsr
22044 ld [%r20+24], %r19
22045 wr %r19, %g0, %gsr
22046 .word 0x91a009c4 ! 247: FDIVd fdivd %f0, %f4, %f8
22047vahole_2_187:
22048 nop
22049 ta T_CHANGE_NONHPRIV
22050 setx vahole_target2, %r18, %r27
22051 jmpl %r27+0, %r27
22052 .word 0xe4bfc030 ! 248: STDA_R stda %r18, [%r31 + %r16] 0x01
22053 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
22054reduce_priv_lvl_2_188:
22055 ta T_CHANGE_NONPRIV ! macro
22056brcommon2_2_189:
22057 nop
22058 setx common_target, %r12, %r27
22059 ba,a .+12
22060 .word 0xe315000c ! 1: LDQF_R - [%r20, %r12], %f17
22061 ba,a .+8
22062 jmpl %r27+0, %r27
22063 .word 0xe19fc2c0 ! 250: LDDFA_R ldda [%r31, %r0], %f16
22064mondo_2_190:
22065 nop
22066 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
22067 stxa %r12, [%r0+0x3e8] %asi
22068 .word 0x9d92c013 ! 251: WRPR_WSTATE_R wrpr %r11, %r19, %wstate
22069 setx 0x872ac762eefa42a3, %r1, %r28
22070 stxa %r28, [%g0] 0x73
22071intvec_2_191:
22072 .word 0x39400001 ! 252: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
22073vahole_2_192:
22074 nop
22075 ta T_CHANGE_NONHPRIV
22076 setx vahole_target3, %r18, %r27
22077 jmpl %r27+0, %r27
22078 .word 0xe2dfc028 ! 253: LDXA_R ldxa [%r31, %r8] 0x01, %r17
22079ibp_2_193:
22080 nop
22081 ta T_CHANGE_HPRIV
22082 mov 8, %r18
22083 rd %asi, %r12
22084 wr %r0, 0x41, %asi
22085 set sync_thr_counter4, %r23
22086#ifndef SPC
22087 ldxa [%g0]0x63, %r8
22088 and %r8, 0x38, %r8 ! Core ID
22089 add %r8, %r23, %r23
22090#else
22091 mov 0, %r8
22092#endif
22093 mov 0x2, %r16
22094ibp_startwait2_193:
22095 cas [%r23],%g0,%r16 !lock
22096 brz,a %r16, continue_ibp_2_193
22097 mov (~0x2&0xf), %r16
22098 ld [%r23], %r16
22099ibp_wait2_193:
22100 brnz %r16, ibp_wait2_193
22101 ld [%r23], %r16
22102 ba ibp_startwait2_193
22103 mov 0x2, %r16
22104continue_ibp_2_193:
22105 sllx %r16, %r8, %r16 !Mask for my core only
22106 ldxa [0x58]%asi, %r17 !Running_status
22107wait_for_stat_2_193:
22108 ldxa [0x50]%asi, %r13 !Running_rw
22109 cmp %r13, %r17
22110 bne,a wait_for_stat_2_193
22111 ldxa [0x58]%asi, %r17 !Running_status
22112 stxa %r16, [0x68]%asi !Park (W1C)
22113 ldxa [0x50]%asi, %r14 !Running_rw
22114wait_for_ibp_2_193:
22115 ldxa [0x58]%asi, %r17 !Running_status
22116 cmp %r14, %r17
22117 bne,a wait_for_ibp_2_193
22118 ldxa [0x50]%asi, %r14 !Running_rw
22119ibp_doit2_193:
22120 best_set_reg(0x000000503ff25871,%r19, %r20)
22121 stxa %r20, [%r18]0x42
22122 stxa %r16, [0x60] %asi !Unpark (W1S)
22123 st %g0, [%r23] !clear lock
22124 wr %r0, %r12, %asi !restore %asi
22125 ta T_CHANGE_NONHPRIV
22126 .word 0xc19fdf20 ! 254: LDDFA_R ldda [%r31, %r0], %f0
22127 .word 0xab81eda5 ! 255: WR_CLEAR_SOFTINT_I wr %r7, 0x0da5, %clear_softint
22128splash_lsu_2_194:
22129 nop
22130 ta T_CHANGE_HPRIV
22131 set 0x37bde5ff, %r2
22132 mov 0x7, %r1
22133 sllx %r1, 32, %r1
22134 or %r1, %r2, %r2
22135 stxa %r2, [%r0] ASI_LSU_CONTROL
22136 .word 0x3d400001 ! 256: FBPULE fbule,a,pn %fcc0, <label_0x1>
22137 nop
22138 ta T_CHANGE_HPRIV
22139 mov 0x2, %r10
22140 set sync_thr_counter6, %r23
22141#ifndef SPC
22142 ldxa [%g0]0x63, %o1
22143 and %o1, 0x38, %o1
22144 add %o1, %r23, %r23
22145#endif
22146 cas [%r23],%g0,%r10 !lock
22147 brnz %r10, sma_2_195
22148 rd %asi, %r12
22149 wr %g0, 0x40, %asi
22150 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
22151 set 0x00121fff, %g1
22152 stxa %g1, [%g0 + 0x80] %asi
22153 wr %r12, %g0, %asi
22154 st %g0, [%r23]
22155sma_2_195:
22156 ta T_CHANGE_NONHPRIV
22157 .word 0xe3e7e013 ! 257: CASA_R casa [%r31] %asi, %r19, %r17
22158#if (defined SPC || defined CMP)
22159!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_2_196) + 56, 16, 16)) -> intp(7,0,10)
22160!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_2_196)&0xffffffff) + 56, 16, 16)) -> intp(7,0,10)
22161#else
22162 setx 0x792b245f066b7f33, %r1, %r28
22163 stxa %r28, [%g0] 0x73
22164#endif
22165intvec_2_196:
22166 .word 0x39400001 ! 258: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
22167 .word 0xa9b14990 ! 259: BSHUFFLE fmovc32 %d36, %d16, %d20
22168 .word 0x9f802fd2 ! 260: SIR sir 0x0fd2
22169 nop
22170 ta T_CHANGE_HPRIV
22171 mov 0x2, %r10
22172 set sync_thr_counter6, %r23
22173#ifndef SPC
22174 ldxa [%g0]0x63, %o1
22175 and %o1, 0x38, %o1
22176 add %o1, %r23, %r23
22177#endif
22178 cas [%r23],%g0,%r10 !lock
22179 brnz %r10, sma_2_198
22180 rd %asi, %r12
22181 wr %g0, 0x40, %asi
22182 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
22183 set 0x00021fff, %g1
22184 stxa %g1, [%g0 + 0x80] %asi
22185 wr %r12, %g0, %asi
22186 st %g0, [%r23]
22187sma_2_198:
22188 ta T_CHANGE_NONHPRIV
22189 .word 0xe7e7e014 ! 261: CASA_R casa [%r31] %asi, %r20, %r19
22190splash_tba_2_199:
22191 ta T_CHANGE_PRIV
22192 setx 0x00000004003a0000, %r11, %r12
22193 .word 0x8b90000c ! 262: WRPR_TBA_R wrpr %r0, %r12, %tba
22194splash_hpstate_2_200:
22195 ta T_CHANGE_NONHPRIV
22196 .word 0x8198208d ! 263: WRHPR_HPSTATE_I wrhpr %r0, 0x008d, %hpstate
22197mondo_2_201:
22198 nop
22199 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
22200 ta T_CHANGE_PRIV
22201 stxa %r2, [%r0+0x3e8] %asi
22202 .word 0x9d940009 ! 264: WRPR_WSTATE_R wrpr %r16, %r9, %wstate
22203tagged_2_202:
22204 tsubcctv %r18, 0x1140, %r12
22205 .word 0xe607e188 ! 265: LDUW_I lduw [%r31 + 0x0188], %r19
22206 nop
22207 mov 0x80, %g3
22208 stxa %g3, [%g3] 0x57
22209 .word 0xe65fc000 ! 266: LDX_R ldx [%r31 + %r0], %r19
22210mondo_2_203:
22211 nop
22212 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
22213 stxa %r19, [%r0+0x3d8] %asi
22214 .word 0x9d91800d ! 267: WRPR_WSTATE_R wrpr %r6, %r13, %wstate
22215splash_cmpr_2_204:
22216 nop
22217 setx 0x8af00f9ba591837d, %l2, %l1
22218 ta T_CHANGE_HPRIV
22219 wrhpr %l1, %g0, %hsys_tick_cmpr
22220 ta T_CHANGE_NONHPRIV
22221 sub %l1, 40, %g1
22222 .word 0xb1800011 ! 268: WR_STICK_REG_R wr %r0, %r17, %-
22223intveclr_2_205:
22224 nop
22225 ta T_CHANGE_HPRIV
22226 setx 0x8acf16563e706f63, %r1, %r28
22227 stxa %r28, [%g0] 0x72
22228 ta T_CHANGE_NONHPRIV
22229 .word 0x25400001 ! 269: FBPLG fblg,a,pn %fcc0, <label_0x1>
22230 .word 0x8d9034ee ! 270: WRPR_PSTATE_I wrpr %r0, 0x14ee, %pstate
22231cwp_2_207:
22232 set user_data_start, %o7
22233 .word 0x93902001 ! 271: WRPR_CWP_I wrpr %r0, 0x0001, %cwp
22234#if (defined SPC || defined CMP)
22235!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_2_208) + 0, 16, 16)) -> intp(4,0,10)
22236!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_2_208)&0xffffffff) + 0, 16, 16)) -> intp(4,0,10)
22237#else
22238 setx 0x93b1f97119a0b72d, %r1, %r28
22239 stxa %r28, [%g0] 0x73
22240#endif
22241intvec_2_208:
22242 .word 0x39400001 ! 272: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
22243ibp_2_209:
22244 nop
22245 ta T_CHANGE_HPRIV
22246 mov 8, %r18
22247 rd %asi, %r12
22248 wr %r0, 0x41, %asi
22249 set sync_thr_counter4, %r23
22250#ifndef SPC
22251 ldxa [%g0]0x63, %r8
22252 and %r8, 0x38, %r8 ! Core ID
22253 add %r8, %r23, %r23
22254#else
22255 mov 0, %r8
22256#endif
22257 mov 0x2, %r16
22258ibp_startwait2_209:
22259 cas [%r23],%g0,%r16 !lock
22260 brz,a %r16, continue_ibp_2_209
22261 mov (~0x2&0xf), %r16
22262 ld [%r23], %r16
22263ibp_wait2_209:
22264 brnz %r16, ibp_wait2_209
22265 ld [%r23], %r16
22266 ba ibp_startwait2_209
22267 mov 0x2, %r16
22268continue_ibp_2_209:
22269 sllx %r16, %r8, %r16 !Mask for my core only
22270 ldxa [0x58]%asi, %r17 !Running_status
22271wait_for_stat_2_209:
22272 ldxa [0x50]%asi, %r13 !Running_rw
22273 cmp %r13, %r17
22274 bne,a wait_for_stat_2_209
22275 ldxa [0x58]%asi, %r17 !Running_status
22276 stxa %r16, [0x68]%asi !Park (W1C)
22277 ldxa [0x50]%asi, %r14 !Running_rw
22278wait_for_ibp_2_209:
22279 ldxa [0x58]%asi, %r17 !Running_status
22280 cmp %r14, %r17
22281 bne,a wait_for_ibp_2_209
22282 ldxa [0x50]%asi, %r14 !Running_rw
22283ibp_doit2_209:
22284 best_set_reg(0x0000005086d8717a,%r19, %r20)
22285 stxa %r20, [%r18]0x42
22286 stxa %r16, [0x60] %asi !Unpark (W1S)
22287 st %g0, [%r23] !clear lock
22288 wr %r0, %r12, %asi !restore %asi
22289 .word 0xc3e98033 ! 273: PREFETCHA_R prefetcha [%r6, %r19] 0x01, #one_read
22290mondo_2_210:
22291 nop
22292 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
22293 ta T_CHANGE_PRIV
22294 stxa %r18, [%r0+0x3c0] %asi
22295 .word 0x9d95000d ! 274: WRPR_WSTATE_R wrpr %r20, %r13, %wstate
22296ibp_2_211:
22297 nop
22298 ta T_CHANGE_HPRIV
22299 mov 8, %r18
22300 rd %asi, %r12
22301 wr %r0, 0x41, %asi
22302 set sync_thr_counter4, %r23
22303#ifndef SPC
22304 ldxa [%g0]0x63, %r8
22305 and %r8, 0x38, %r8 ! Core ID
22306 add %r8, %r23, %r23
22307#else
22308 mov 0, %r8
22309#endif
22310 mov 0x2, %r16
22311ibp_startwait2_211:
22312 cas [%r23],%g0,%r16 !lock
22313 brz,a %r16, continue_ibp_2_211
22314 mov (~0x2&0xf), %r16
22315 ld [%r23], %r16
22316ibp_wait2_211:
22317 brnz %r16, ibp_wait2_211
22318 ld [%r23], %r16
22319 ba ibp_startwait2_211
22320 mov 0x2, %r16
22321continue_ibp_2_211:
22322 sllx %r16, %r8, %r16 !Mask for my core only
22323 ldxa [0x58]%asi, %r17 !Running_status
22324wait_for_stat_2_211:
22325 ldxa [0x50]%asi, %r13 !Running_rw
22326 cmp %r13, %r17
22327 bne,a wait_for_stat_2_211
22328 ldxa [0x58]%asi, %r17 !Running_status
22329 stxa %r16, [0x68]%asi !Park (W1C)
22330 ldxa [0x50]%asi, %r14 !Running_rw
22331wait_for_ibp_2_211:
22332 ldxa [0x58]%asi, %r17 !Running_status
22333 cmp %r14, %r17
22334 bne,a wait_for_ibp_2_211
22335 ldxa [0x50]%asi, %r14 !Running_rw
22336ibp_doit2_211:
22337 best_set_reg(0x0000005031f17a0c,%r19, %r20)
22338 stxa %r20, [%r18]0x42
22339 stxa %r16, [0x60] %asi !Unpark (W1S)
22340 st %g0, [%r23] !clear lock
22341 wr %r0, %r12, %asi !restore %asi
22342 ta T_CHANGE_NONHPRIV
22343 .word 0xc1bfe020 ! 275: STDFA_I stda %f0, [0x0020, %r31]
22344splash_lsu_2_212:
22345 nop
22346 ta T_CHANGE_HPRIV
22347 set 0x6d5ffb74, %r2
22348 mov 0x2, %r1
22349 sllx %r1, 32, %r1
22350 or %r1, %r2, %r2
22351 stxa %r2, [%r0] ASI_LSU_CONTROL
22352 ta T_CHANGE_NONHPRIV
22353 .word 0x3d400001 ! 276: FBPULE fbule,a,pn %fcc0, <label_0x1>
22354 otherw
22355 mov 0x33, %r30
22356 .word 0x91d0001e ! 277: Tcc_R ta icc_or_xcc, %r0 + %r30
22357trapasi_2_213:
22358 nop
22359 mov 0x18, %r1 ! (VA for ASI 0x50)
22360 .word 0xe8d04a00 ! 278: LDSHA_R ldsha [%r1, %r0] 0x50, %r20
22361pmu_2_214:
22362 nop
22363 ta T_CHANGE_PRIV
22364 setx 0xfffff386fffffe66, %g1, %g7
22365 .word 0xa3800007 ! 279: WR_PERF_COUNTER_R wr %r0, %r7, %-
22366 .word 0xe1bfc2c0 ! 280: STDFA_R stda %f16, [%r0, %r31]
22367#if (defined SPC || defined CMP)
22368!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_2_216) + 16, 16, 16)) -> intp(4,0,23)
22369!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_2_216)&0xffffffff) + 16, 16, 16)) -> intp(4,0,23)
22370#else
22371 setx 0xbfcfeb6770951465, %r1, %r28
22372 stxa %r28, [%g0] 0x73
22373#endif
22374intvec_2_216:
22375 .word 0x39400001 ! 281: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
22376splash_lsu_2_217:
22377 nop
22378 ta T_CHANGE_HPRIV
22379 set 0x1fa67c01, %r2
22380 mov 0x2, %r1
22381 sllx %r1, 32, %r1
22382 or %r1, %r2, %r2
22383 stxa %r2, [%r0] ASI_LSU_CONTROL
22384 .word 0x3d400001 ! 282: FBPULE fbule,a,pn %fcc0, <label_0x1>
22385mondo_2_218:
22386 nop
22387 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
22388 stxa %r19, [%r0+0x3e8] %asi
22389 .word 0x9d924013 ! 283: WRPR_WSTATE_R wrpr %r9, %r19, %wstate
22390vahole_2_219:
22391 nop
22392 ta T_CHANGE_NONHPRIV
22393 setx vahole_target0, %r18, %r27
22394 jmpl %r27+0, %r27
22395 .word 0xc1bfc2c0 ! 284: STDFA_R stda %f0, [%r0, %r31]
22396mondo_2_220:
22397 nop
22398 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
22399 ta T_CHANGE_PRIV
22400 stxa %r17, [%r0+0x3e0] %asi
22401 .word 0x9d94c014 ! 285: WRPR_WSTATE_R wrpr %r19, %r20, %wstate
22402 ble,a skip_2_221
22403 .word 0x95b404d0 ! 1: FCMPNE32 fcmpne32 %d16, %d16, %r10
22404.align 512
22405skip_2_221:
22406 .word 0xc368ae4e ! 286: PREFETCH_I prefetch [%r2 + 0x0e4e], #one_read
22407donret_2_222:
22408 nop
22409 ta T_CHANGE_HPRIV ! macro
22410 rd %pc, %r12
22411 add %r12, (donretarg_2_222-donret_2_222-8), %r12
22412 mov 0x38, %r18
22413 stxa %r12, [%r18]0x58
22414 add %r12, 0x4, %r11
22415 wrpr %g0, 0x1, %tl
22416 wrpr %g0, %r12, %tpc
22417 wrpr %g0, %r11, %tnpc
22418 set (0x0085c062 | (0x8b << 24)), %r13
22419 rdpr %tstate, %r16
22420 mov 0x1f, %r19
22421 and %r19, %r16, %r17
22422 andn %r16, %r19, %r16
22423 or %r16, %r17, %r20
22424 wrpr %r20, %g0, %tstate
22425 wrhpr %g0, 0xf1f, %htstate
22426 ta T_CHANGE_NONHPRIV ! rand=1 (2)
22427 retry
22428donretarg_2_222:
22429 .word 0xe86fe0ec ! 287: LDSTUB_I ldstub %r20, [%r31 + 0x00ec]
22430jmptr_2_223:
22431 nop
22432 best_set_reg(0xe1a00000, %r20, %r27)
22433 .word 0xb7c6c000 ! 288: JMPL_R jmpl %r27 + %r0, %r27
22434splash_cmpr_2_224:
22435 nop
22436 setx 0x61f07ef2f116d468, %l2, %l1
22437 ta T_CHANGE_HPRIV
22438 wrhpr %l1, %g0, %hsys_tick_cmpr
22439 sub %l1, 40, %g1
22440 .word 0x89900011 ! 289: WRPR_TICK_R wrpr %r0, %r17, %tick
22441splash_cmpr_2_225:
22442 nop
22443 setx 0x38b51210842002f0, %l2, %l1
22444 ta T_CHANGE_PRIV
22445 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
22446 ta T_CHANGE_NONPRIV
22447 sub %l1, 40, %g1
22448 .word 0x89900011 ! 290: WRPR_TICK_R wrpr %r0, %r17, %tick
22449pmu_2_226:
22450 nop
22451 setx 0xfffffba3fffff95c, %g1, %g7
22452 .word 0xa3800007 ! 291: WR_PERF_COUNTER_R wr %r0, %r7, %-
22453pmu_2_227:
22454 nop
22455 ta T_CHANGE_PRIV
22456 setx 0xfffff186fffff248, %g1, %g7
22457 .word 0xa3800007 ! 292: WR_PERF_COUNTER_R wr %r0, %r7, %-
22458mondo_2_228:
22459 nop
22460 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
22461 ta T_CHANGE_PRIV
22462 stxa %r5, [%r0+0x3e8] %asi
22463 .word 0x9d944003 ! 293: WRPR_WSTATE_R wrpr %r17, %r3, %wstate
22464 .word 0x87802014 ! 294: WRASI_I wr %r0, 0x0014, %asi
22465 .word 0x99a00174 ! 295: FABSq dis not found
22466
22467donret_2_230:
22468 nop
22469 ta T_CHANGE_HPRIV ! macro
22470 rd %pc, %r12
22471 add %r12, (donretarg_2_230-donret_2_230-8), %r12
22472 mov 0x38, %r18
22473 stxa %r12, [%r18]0x58
22474 add %r12, 0x4, %r11
22475 wrpr %g0, 0x1, %tl
22476 wrpr %g0, %r12, %tpc
22477 wrpr %g0, %r11, %tnpc
22478 set (0x007405d6 | (0x80 << 24)), %r13
22479 rdpr %tstate, %r16
22480 mov 0x1f, %r19
22481 and %r19, %r16, %r17
22482 andn %r16, %r19, %r16
22483 or %r16, %r17, %r20
22484 wrpr %r20, %g0, %tstate
22485 wrhpr %g0, 0x40e, %htstate
22486 ta T_CHANGE_NONPRIV ! rand=0 (2)
22487 .word 0x29400001 ! 1: FBPL fbl,a,pn %fcc0, <label_0x1>
22488 retry
22489donretarg_2_230:
22490 .word 0xe66fe02d ! 296: LDSTUB_I ldstub %r19, [%r31 + 0x002d]
22491vahole_2_231:
22492 nop
22493 ta T_CHANGE_NONHPRIV
22494 setx vahole_target2, %r18, %r27
22495 jmpl %r27+0, %r27
22496 .word 0xe1bfdf20 ! 297: STDFA_R stda %f16, [%r0, %r31]
22497 nop
22498 ta T_CHANGE_HPRIV
22499 mov 0x2+1, %r10
22500 set sync_thr_counter5, %r23
22501#ifndef SPC
22502 ldxa [%g0]0x63, %o1
22503 and %o1, 0x38, %o1
22504 add %o1, %r23, %r23
22505#endif
22506 cas [%r23],%g0,%r10 !lock
22507 brnz %r10, cwq_2_232
22508 rd %asi, %r12
22509 wr %g0, 0x40, %asi
22510 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
22511 and %l1, 0x3, %l1 ! Check if busy/enabled ..
22512 cmp %l1, 1
22513 bne cwq_2_232
22514 set CWQ_BASE, %l6
22515 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
22516 best_set_reg(0x20610010, %l1, %l2) !# Control Word
22517 sllx %l2, 32, %l2
22518 stx %l2, [%l6 + 0x0]
22519 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
22520 sub %l2, 0x40, %l2
22521 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
22522 wr %r12, %g0, %asi
22523 st %g0, [%r23]
22524cwq_2_232:
22525 ta T_CHANGE_NONHPRIV
22526 .word 0xa9414000 ! 298: RDPC rd %pc, %r20
22527trapasi_2_233:
22528 nop
22529 mov 0x3c8, %r1 ! (VA for ASI 0x25)
22530 .word 0xdac044a0 ! 299: LDSWA_R ldswa [%r1, %r0] 0x25, %r13
22531dvapa_2_234:
22532 nop
22533 ta T_CHANGE_HPRIV
22534 mov 0x93b, %r20
22535 mov 0x10, %r19
22536 sllx %r20, 23, %r20
22537 or %r19, %r20, %r19
22538 stxa %r19, [%g0] ASI_LSU_CONTROL
22539 mov 0x38, %r18
22540 stxa %r31, [%r18]0x58
22541 ta T_CHANGE_NONHPRIV
22542 .word 0x91703040 ! 300: POPC_I popc 0x1040, %r8
22543intveclr_2_235:
22544 nop
22545 ta T_CHANGE_HPRIV
22546 setx 0x5e30004bff962057, %r1, %r28
22547 stxa %r28, [%g0] 0x72
22548 ta T_CHANGE_NONHPRIV
22549 .word 0x25400001 ! 301: FBPLG fblg,a,pn %fcc0, <label_0x1>
22550mondo_2_236:
22551 nop
22552 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
22553 stxa %r1, [%r0+0x3d0] %asi
22554 .word 0x9d94000d ! 302: WRPR_WSTATE_R wrpr %r16, %r13, %wstate
22555 setx 0xd0fd75be6d048fdd, %r1, %r28
22556 stxa %r28, [%g0] 0x73
22557intvec_2_237:
22558 .word 0x39400001 ! 303: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
22559 .word 0xa5a00170 ! 304: FABSq dis not found
22560
22561pmu_2_239:
22562 nop
22563 ta T_CHANGE_PRIV
22564 setx 0xfffff70ffffff59f, %g1, %g7
22565 .word 0xa3800007 ! 305: WR_PERF_COUNTER_R wr %r0, %r7, %-
22566pmu_2_240:
22567 nop
22568 ta T_CHANGE_PRIV
22569 setx 0xfffff268fffff877, %g1, %g7
22570 .word 0xa3800007 ! 306: WR_PERF_COUNTER_R wr %r0, %r7, %-
22571ibp_2_241:
22572 nop
22573 ta T_CHANGE_HPRIV
22574 mov 8, %r18
22575 rd %asi, %r12
22576 wr %r0, 0x41, %asi
22577 set sync_thr_counter4, %r23
22578#ifndef SPC
22579 ldxa [%g0]0x63, %r8
22580 and %r8, 0x38, %r8 ! Core ID
22581 add %r8, %r23, %r23
22582#else
22583 mov 0, %r8
22584#endif
22585 mov 0x2, %r16
22586ibp_startwait2_241:
22587 cas [%r23],%g0,%r16 !lock
22588 brz,a %r16, continue_ibp_2_241
22589 mov (~0x2&0xf), %r16
22590 ld [%r23], %r16
22591ibp_wait2_241:
22592 brnz %r16, ibp_wait2_241
22593 ld [%r23], %r16
22594 ba ibp_startwait2_241
22595 mov 0x2, %r16
22596continue_ibp_2_241:
22597 sllx %r16, %r8, %r16 !Mask for my core only
22598 ldxa [0x58]%asi, %r17 !Running_status
22599wait_for_stat_2_241:
22600 ldxa [0x50]%asi, %r13 !Running_rw
22601 cmp %r13, %r17
22602 bne,a wait_for_stat_2_241
22603 ldxa [0x58]%asi, %r17 !Running_status
22604 stxa %r16, [0x68]%asi !Park (W1C)
22605 ldxa [0x50]%asi, %r14 !Running_rw
22606wait_for_ibp_2_241:
22607 ldxa [0x58]%asi, %r17 !Running_status
22608 cmp %r14, %r17
22609 bne,a wait_for_ibp_2_241
22610 ldxa [0x50]%asi, %r14 !Running_rw
22611ibp_doit2_241:
22612 best_set_reg(0x000000503bfa0cf4,%r19, %r20)
22613 stxa %r20, [%r18]0x42
22614 stxa %r16, [0x60] %asi !Unpark (W1S)
22615 st %g0, [%r23] !clear lock
22616 wr %r0, %r12, %asi !restore %asi
22617 ta T_CHANGE_NONHPRIV
22618 .word 0xe49fc033 ! 307: LDDA_R ldda [%r31, %r19] 0x01, %r18
22619splash_tba_2_242:
22620 ta T_CHANGE_PRIV
22621 setx 0x00000004003a0000, %r11, %r12
22622 .word 0x8b90000c ! 308: WRPR_TBA_R wrpr %r0, %r12, %tba
22623change_to_randtl_2_243:
22624 ta T_CHANGE_HPRIV ! macro
22625done_change_to_randtl_2_243:
22626 .word 0x8f902002 ! 309: WRPR_TL_I wrpr %r0, 0x0002, %tl
22627 .word 0x8d802000 ! 310: WRFPRS_I wr %r0, 0x0000, %fprs
22628intveclr_2_244:
22629 nop
22630 ta T_CHANGE_HPRIV
22631 setx 0xa54795f5c9cc043a, %r1, %r28
22632 stxa %r28, [%g0] 0x72
22633 .word 0x25400001 ! 311: FBPLG fblg,a,pn %fcc0, <label_0x1>
22634vahole_2_245:
22635 nop
22636 ta T_CHANGE_NONHPRIV
22637 setx vahole_target3, %r18, %r27
22638 jmpl %r27+0, %r27
22639 .word 0xc1bfe120 ! 312: STDFA_I stda %f0, [0x0120, %r31]
22640 nop
22641 ta T_CHANGE_HPRIV
22642 mov 0x2, %r10
22643 set sync_thr_counter6, %r23
22644#ifndef SPC
22645 ldxa [%g0]0x63, %o1
22646 and %o1, 0x38, %o1
22647 add %o1, %r23, %r23
22648#endif
22649 cas [%r23],%g0,%r10 !lock
22650 brnz %r10, sma_2_246
22651 rd %asi, %r12
22652 wr %g0, 0x40, %asi
22653 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
22654 set 0x000a1fff, %g1
22655 stxa %g1, [%g0 + 0x80] %asi
22656 wr %r12, %g0, %asi
22657 st %g0, [%r23]
22658sma_2_246:
22659 ta T_CHANGE_NONHPRIV
22660 .word 0xe5e7e013 ! 313: CASA_R casa [%r31] %asi, %r19, %r18
22661dvapa_2_247:
22662 nop
22663 ta T_CHANGE_HPRIV
22664 mov 0x9a6, %r20
22665 mov 0xe, %r19
22666 sllx %r20, 23, %r20
22667 or %r19, %r20, %r19
22668 stxa %r19, [%g0] ASI_LSU_CONTROL
22669 mov 0x38, %r18
22670 stxa %r31, [%r18]0x58
22671 ta T_CHANGE_NONHPRIV
22672 .word 0x95a0c9d1 ! 314: FDIVd fdivd %f34, %f48, %f10
22673unsupttte_2_248:
22674 nop
22675 ta T_CHANGE_HPRIV
22676 mov 1, %r20
22677 sllx %r20, 63, %r20
22678 or %r20, 2,%r20
22679 stxa %r20, [%g0]0x5c ! D unsupported page size ..
22680 ta T_CHANGE_NONHPRIV
22681 .word 0x95a509d3 ! 315: FDIVd fdivd %f20, %f50, %f10
22682ibp_2_249:
22683 nop
22684 ta T_CHANGE_HPRIV
22685 mov 8, %r18
22686 rd %asi, %r12
22687 wr %r0, 0x41, %asi
22688 set sync_thr_counter4, %r23
22689#ifndef SPC
22690 ldxa [%g0]0x63, %r8
22691 and %r8, 0x38, %r8 ! Core ID
22692 add %r8, %r23, %r23
22693#else
22694 mov 0, %r8
22695#endif
22696 mov 0x2, %r16
22697ibp_startwait2_249:
22698 cas [%r23],%g0,%r16 !lock
22699 brz,a %r16, continue_ibp_2_249
22700 mov (~0x2&0xf), %r16
22701 ld [%r23], %r16
22702ibp_wait2_249:
22703 brnz %r16, ibp_wait2_249
22704 ld [%r23], %r16
22705 ba ibp_startwait2_249
22706 mov 0x2, %r16
22707continue_ibp_2_249:
22708 sllx %r16, %r8, %r16 !Mask for my core only
22709 ldxa [0x58]%asi, %r17 !Running_status
22710wait_for_stat_2_249:
22711 ldxa [0x50]%asi, %r13 !Running_rw
22712 cmp %r13, %r17
22713 bne,a wait_for_stat_2_249
22714 ldxa [0x58]%asi, %r17 !Running_status
22715 stxa %r16, [0x68]%asi !Park (W1C)
22716 ldxa [0x50]%asi, %r14 !Running_rw
22717wait_for_ibp_2_249:
22718 ldxa [0x58]%asi, %r17 !Running_status
22719 cmp %r14, %r17
22720 bne,a wait_for_ibp_2_249
22721 ldxa [0x50]%asi, %r14 !Running_rw
22722ibp_doit2_249:
22723 best_set_reg(0x0000005091ccf402,%r19, %r20)
22724 stxa %r20, [%r18]0x42
22725 stxa %r16, [0x60] %asi !Unpark (W1S)
22726 st %g0, [%r23] !clear lock
22727 wr %r0, %r12, %asi !restore %asi
22728 ta T_CHANGE_NONHPRIV
22729 .word 0xd1e7e010 ! 316: CASA_R casa [%r31] %asi, %r16, %r8
22730 .word 0x3e800001 ! 317: BVC bvc,a <label_0x1>
22731#if (defined SPC || defined CMP)
22732!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_2_250) + 56, 16, 16)) -> intp(1,0,24)
22733!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_2_250)&0xffffffff) + 56, 16, 16)) -> intp(1,0,24)
22734#else
22735 setx 0x5c952df3ae9649f7, %r1, %r28
22736 stxa %r28, [%g0] 0x73
22737#endif
22738intvec_2_250:
22739 .word 0x39400001 ! 318: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
22740ibp_2_251:
22741 nop
22742 ta T_CHANGE_HPRIV
22743 mov 8, %r18
22744 rd %asi, %r12
22745 wr %r0, 0x41, %asi
22746 set sync_thr_counter4, %r23
22747#ifndef SPC
22748 ldxa [%g0]0x63, %r8
22749 and %r8, 0x38, %r8 ! Core ID
22750 add %r8, %r23, %r23
22751#else
22752 mov 0, %r8
22753#endif
22754 mov 0x2, %r16
22755ibp_startwait2_251:
22756 cas [%r23],%g0,%r16 !lock
22757 brz,a %r16, continue_ibp_2_251
22758 mov (~0x2&0xf), %r16
22759 ld [%r23], %r16
22760ibp_wait2_251:
22761 brnz %r16, ibp_wait2_251
22762 ld [%r23], %r16
22763 ba ibp_startwait2_251
22764 mov 0x2, %r16
22765continue_ibp_2_251:
22766 sllx %r16, %r8, %r16 !Mask for my core only
22767 ldxa [0x58]%asi, %r17 !Running_status
22768wait_for_stat_2_251:
22769 ldxa [0x50]%asi, %r13 !Running_rw
22770 cmp %r13, %r17
22771 bne,a wait_for_stat_2_251
22772 ldxa [0x58]%asi, %r17 !Running_status
22773 stxa %r16, [0x68]%asi !Park (W1C)
22774 ldxa [0x50]%asi, %r14 !Running_rw
22775wait_for_ibp_2_251:
22776 ldxa [0x58]%asi, %r17 !Running_status
22777 cmp %r14, %r17
22778 bne,a wait_for_ibp_2_251
22779 ldxa [0x50]%asi, %r14 !Running_rw
22780ibp_doit2_251:
22781 best_set_reg(0x00000050cef4020b,%r19, %r20)
22782 stxa %r20, [%r18]0x42
22783 stxa %r16, [0x60] %asi !Unpark (W1S)
22784 st %g0, [%r23] !clear lock
22785 wr %r0, %r12, %asi !restore %asi
22786 .word 0xd13fc011 ! 319: STDF_R std %f8, [%r17, %r31]
22787vahole_2_252:
22788 nop
22789 ta T_CHANGE_NONHPRIV
22790 setx vahole_target2, %r18, %r27
22791 jmpl %r27+0, %r27
22792 .word 0xe19fc3e0 ! 320: LDDFA_R ldda [%r31, %r0], %f16
22793 setx 0x633f82bd43fba210, %r1, %r28
22794 stxa %r28, [%g0] 0x73
22795intvec_2_253:
22796 .word 0x39400001 ! 321: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
22797 .word 0xd0800c20 ! 322: LDUWA_R lduwa [%r0, %r0] 0x61, %r8
22798dvapa_2_254:
22799 nop
22800 ta T_CHANGE_HPRIV
22801 mov 0xe84, %r20
22802 mov 0x14, %r19
22803 sllx %r20, 23, %r20
22804 or %r19, %r20, %r19
22805 stxa %r19, [%g0] ASI_LSU_CONTROL
22806 mov 0x38, %r18
22807 stxa %r31, [%r18]0x58
22808 ta T_CHANGE_NONHPRIV
22809 .word 0xd0bfc02b ! 323: STDA_R stda %r8, [%r31 + %r11] 0x01
22810 .word 0x8d802004 ! 324: WRFPRS_I wr %r0, 0x0004, %fprs
22811intveclr_2_255:
22812 nop
22813 ta T_CHANGE_HPRIV
22814 setx 0x9119b4941c839bd4, %r1, %r28
22815 stxa %r28, [%g0] 0x72
22816 .word 0x25400001 ! 325: FBPLG fblg,a,pn %fcc0, <label_0x1>
22817 nop
22818 ta T_CHANGE_HPRIV
22819 mov 0x2, %r10
22820 set sync_thr_counter6, %r23
22821#ifndef SPC
22822 ldxa [%g0]0x63, %o1
22823 and %o1, 0x38, %o1
22824 add %o1, %r23, %r23
22825#endif
22826 cas [%r23],%g0,%r10 !lock
22827 brnz %r10, sma_2_256
22828 rd %asi, %r12
22829 wr %g0, 0x40, %asi
22830 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
22831 set 0x001a1fff, %g1
22832 stxa %g1, [%g0 + 0x80] %asi
22833 wr %r12, %g0, %asi
22834 st %g0, [%r23]
22835sma_2_256:
22836 ta T_CHANGE_NONHPRIV
22837 .word 0xd1e7e00d ! 326: CASA_R casa [%r31] %asi, %r13, %r8
22838 nop
22839 ta T_CHANGE_HPRIV
22840 mov 0x2+1, %r10
22841 set sync_thr_counter5, %r23
22842#ifndef SPC
22843 ldxa [%g0]0x63, %o1
22844 and %o1, 0x38, %o1
22845 add %o1, %r23, %r23
22846#endif
22847 cas [%r23],%g0,%r10 !lock
22848 brnz %r10, cwq_2_257
22849 rd %asi, %r12
22850 wr %g0, 0x40, %asi
22851 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
22852 and %l1, 0x3, %l1 ! Check if busy/enabled ..
22853 cmp %l1, 1
22854 bne cwq_2_257
22855 set CWQ_BASE, %l6
22856 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
22857 best_set_reg(0x20610030, %l1, %l2) !# Control Word
22858 sllx %l2, 32, %l2
22859 stx %l2, [%l6 + 0x0]
22860 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
22861 sub %l2, 0x40, %l2
22862 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
22863 wr %r12, %g0, %asi
22864 st %g0, [%r23]
22865cwq_2_257:
22866 ta T_CHANGE_NONHPRIV
22867 .word 0x97414000 ! 327: RDPC rd %pc, %r11
22868ibp_2_258:
22869 nop
22870 ta T_CHANGE_HPRIV
22871 mov 8, %r18
22872 rd %asi, %r12
22873 wr %r0, 0x41, %asi
22874 set sync_thr_counter4, %r23
22875#ifndef SPC
22876 ldxa [%g0]0x63, %r8
22877 and %r8, 0x38, %r8 ! Core ID
22878 add %r8, %r23, %r23
22879#else
22880 mov 0, %r8
22881#endif
22882 mov 0x2, %r16
22883ibp_startwait2_258:
22884 cas [%r23],%g0,%r16 !lock
22885 brz,a %r16, continue_ibp_2_258
22886 mov (~0x2&0xf), %r16
22887 ld [%r23], %r16
22888ibp_wait2_258:
22889 brnz %r16, ibp_wait2_258
22890 ld [%r23], %r16
22891 ba ibp_startwait2_258
22892 mov 0x2, %r16
22893continue_ibp_2_258:
22894 sllx %r16, %r8, %r16 !Mask for my core only
22895 ldxa [0x58]%asi, %r17 !Running_status
22896wait_for_stat_2_258:
22897 ldxa [0x50]%asi, %r13 !Running_rw
22898 cmp %r13, %r17
22899 bne,a wait_for_stat_2_258
22900 ldxa [0x58]%asi, %r17 !Running_status
22901 stxa %r16, [0x68]%asi !Park (W1C)
22902 ldxa [0x50]%asi, %r14 !Running_rw
22903wait_for_ibp_2_258:
22904 ldxa [0x58]%asi, %r17 !Running_status
22905 cmp %r14, %r17
22906 bne,a wait_for_ibp_2_258
22907 ldxa [0x50]%asi, %r14 !Running_rw
22908ibp_doit2_258:
22909 best_set_reg(0x0000005008c20b6e,%r19, %r20)
22910 stxa %r20, [%r18]0x42
22911 stxa %r16, [0x60] %asi !Unpark (W1S)
22912 st %g0, [%r23] !clear lock
22913 wr %r0, %r12, %asi !restore %asi
22914 ta T_CHANGE_NONHPRIV
22915 .word 0xc19fd920 ! 328: LDDFA_R ldda [%r31, %r0], %f0
22916fpinit_2_259:
22917 setx fp_data_quads, %r19, %r20
22918 ldd [%r20], %f0
22919 ldd [%r20+8], %f4
22920 ld [%r20+16], %fsr
22921 ld [%r20+24], %r19
22922 wr %r19, %g0, %gsr
22923 .word 0x91a009a4 ! 329: FDIVs fdivs %f0, %f4, %f8
22924vahole_2_260:
22925 nop
22926 ta T_CHANGE_NONHPRIV
22927 setx vahole_target1, %r18, %r27
22928 jmpl %r27+0, %r27
22929 .word 0xdadfc034 ! 330: LDXA_R ldxa [%r31, %r20] 0x01, %r13
22930 .word 0xda800c60 ! 331: LDUWA_R lduwa [%r0, %r0] 0x63, %r13
22931 .word 0x9ad47884 ! 332: UMULcc_I umulcc %r17, 0xfffff884, %r13
22932ibp_2_261:
22933 nop
22934 ta T_CHANGE_HPRIV
22935 mov 8, %r18
22936 rd %asi, %r12
22937 wr %r0, 0x41, %asi
22938 set sync_thr_counter4, %r23
22939#ifndef SPC
22940 ldxa [%g0]0x63, %r8
22941 and %r8, 0x38, %r8 ! Core ID
22942 add %r8, %r23, %r23
22943#else
22944 mov 0, %r8
22945#endif
22946 mov 0x2, %r16
22947ibp_startwait2_261:
22948 cas [%r23],%g0,%r16 !lock
22949 brz,a %r16, continue_ibp_2_261
22950 mov (~0x2&0xf), %r16
22951 ld [%r23], %r16
22952ibp_wait2_261:
22953 brnz %r16, ibp_wait2_261
22954 ld [%r23], %r16
22955 ba ibp_startwait2_261
22956 mov 0x2, %r16
22957continue_ibp_2_261:
22958 sllx %r16, %r8, %r16 !Mask for my core only
22959 ldxa [0x58]%asi, %r17 !Running_status
22960wait_for_stat_2_261:
22961 ldxa [0x50]%asi, %r13 !Running_rw
22962 cmp %r13, %r17
22963 bne,a wait_for_stat_2_261
22964 ldxa [0x58]%asi, %r17 !Running_status
22965 stxa %r16, [0x68]%asi !Park (W1C)
22966 ldxa [0x50]%asi, %r14 !Running_rw
22967wait_for_ibp_2_261:
22968 ldxa [0x58]%asi, %r17 !Running_status
22969 cmp %r14, %r17
22970 bne,a wait_for_ibp_2_261
22971 ldxa [0x50]%asi, %r14 !Running_rw
22972ibp_doit2_261:
22973 best_set_reg(0x0000005086cb6e25,%r19, %r20)
22974 stxa %r20, [%r18]0x42
22975 stxa %r16, [0x60] %asi !Unpark (W1S)
22976 st %g0, [%r23] !clear lock
22977 wr %r0, %r12, %asi !restore %asi
22978 .word 0x9bb04489 ! 333: FCMPLE32 fcmple32 %d32, %d40, %r13
22979mondo_2_262:
22980 nop
22981 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
22982 ta T_CHANGE_PRIV
22983 stxa %r8, [%r0+0x3c0] %asi
22984 .word 0x9d920007 ! 334: WRPR_WSTATE_R wrpr %r8, %r7, %wstate
22985mondo_2_263:
22986 nop
22987 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
22988 stxa %r2, [%r0+0x3d0] %asi
22989 .word 0x9d94c002 ! 335: WRPR_WSTATE_R wrpr %r19, %r2, %wstate
22990 .word 0x9b524000 ! 336: RDPR_CWP <illegal instruction>
22991pmu_2_265:
22992 nop
22993 ta T_CHANGE_PRIV
22994 setx 0xffffff5cfffff803, %g1, %g7
22995 .word 0xa3800007 ! 337: WR_PERF_COUNTER_R wr %r0, %r7, %-
22996dvapa_2_266:
22997 nop
22998 ta T_CHANGE_HPRIV
22999 mov 0xa0f, %r20
23000 mov 0xe, %r19
23001 sllx %r20, 23, %r20
23002 or %r19, %r20, %r19
23003 stxa %r19, [%g0] ASI_LSU_CONTROL
23004 mov 0x38, %r18
23005 stxa %r31, [%r18]0x58
23006 ta T_CHANGE_NONHPRIV
23007 .word 0xd2bfc032 ! 338: STDA_R stda %r9, [%r31 + %r18] 0x01
23008splash_lsu_2_267:
23009 nop
23010 ta T_CHANGE_HPRIV
23011 set 0x66d745c0, %r2
23012 mov 0x7, %r1
23013 sllx %r1, 32, %r1
23014 or %r1, %r2, %r2
23015 stxa %r2, [%r0] ASI_LSU_CONTROL
23016 ta T_CHANGE_NONHPRIV
23017 .word 0x3d400001 ! 339: FBPULE fbule,a,pn %fcc0, <label_0x1>
23018splash_tba_2_268:
23019 ta T_CHANGE_PRIV
23020 set 0x120000, %r12
23021 .word 0x8b90000c ! 340: WRPR_TBA_R wrpr %r0, %r12, %tba
23022 otherw
23023 mov 0xb0, %r30
23024 .word 0x93d0001e ! 341: Tcc_R tne icc_or_xcc, %r0 + %r30
23025donret_2_269:
23026 nop
23027 ta T_CHANGE_HPRIV ! macro
23028 rd %pc, %r12
23029 add %r12, (donretarg_2_269-donret_2_269-4), %r12
23030 mov 0x38, %r18
23031 stxa %r12, [%r18]0x58
23032 add %r12, 0x4, %r11
23033 wrpr %g0, 0x1, %tl
23034 wrpr %g0, %r12, %tpc
23035 wrpr %g0, %r11, %tnpc
23036 set (0x00a895c8 | (0x83 << 24)), %r13
23037 rdpr %tstate, %r16
23038 mov 0x1f, %r19
23039 and %r19, %r16, %r17
23040 andn %r16, %r19, %r16
23041 or %r16, %r17, %r20
23042 wrpr %r20, %g0, %tstate
23043 wrhpr %g0, 0xb05, %htstate
23044 ta T_CHANGE_NONPRIV ! rand=0 (2)
23045 .word 0x2ecc0001 ! 1: BRGEZ brgez,a,pt %r16,<label_0xc0001>
23046 done
23047donretarg_2_269:
23048 .word 0x9ba449d0 ! 342: FDIVd fdivd %f48, %f16, %f44
23049ibp_2_270:
23050 nop
23051 ta T_CHANGE_HPRIV
23052 mov 8, %r18
23053 rd %asi, %r12
23054 wr %r0, 0x41, %asi
23055 set sync_thr_counter4, %r23
23056#ifndef SPC
23057 ldxa [%g0]0x63, %r8
23058 and %r8, 0x38, %r8 ! Core ID
23059 add %r8, %r23, %r23
23060#else
23061 mov 0, %r8
23062#endif
23063 mov 0x2, %r16
23064ibp_startwait2_270:
23065 cas [%r23],%g0,%r16 !lock
23066 brz,a %r16, continue_ibp_2_270
23067 mov (~0x2&0xf), %r16
23068 ld [%r23], %r16
23069ibp_wait2_270:
23070 brnz %r16, ibp_wait2_270
23071 ld [%r23], %r16
23072 ba ibp_startwait2_270
23073 mov 0x2, %r16
23074continue_ibp_2_270:
23075 sllx %r16, %r8, %r16 !Mask for my core only
23076 ldxa [0x58]%asi, %r17 !Running_status
23077wait_for_stat_2_270:
23078 ldxa [0x50]%asi, %r13 !Running_rw
23079 cmp %r13, %r17
23080 bne,a wait_for_stat_2_270
23081 ldxa [0x58]%asi, %r17 !Running_status
23082 stxa %r16, [0x68]%asi !Park (W1C)
23083 ldxa [0x50]%asi, %r14 !Running_rw
23084wait_for_ibp_2_270:
23085 ldxa [0x58]%asi, %r17 !Running_status
23086 cmp %r14, %r17
23087 bne,a wait_for_ibp_2_270
23088 ldxa [0x50]%asi, %r14 !Running_rw
23089ibp_doit2_270:
23090 best_set_reg(0x00000050c7ee250c,%r19, %r20)
23091 stxa %r20, [%r18]0x42
23092 stxa %r16, [0x60] %asi !Unpark (W1S)
23093 st %g0, [%r23] !clear lock
23094 wr %r0, %r12, %asi !restore %asi
23095 .word 0xe19fc2c0 ! 343: LDDFA_R ldda [%r31, %r0], %f16
23096 .word 0x9f80291a ! 344: SIR sir 0x091a
23097splash_hpstate_2_271:
23098 .word 0x81982885 ! 345: WRHPR_HPSTATE_I wrhpr %r0, 0x0885, %hpstate
23099 nop
23100 ta T_CHANGE_HPRIV
23101 mov 0x2+1, %r10
23102 set sync_thr_counter5, %r23
23103#ifndef SPC
23104 ldxa [%g0]0x63, %o1
23105 and %o1, 0x38, %o1
23106 add %o1, %r23, %r23
23107#endif
23108 cas [%r23],%g0,%r10 !lock
23109 brnz %r10, cwq_2_272
23110 rd %asi, %r12
23111 wr %g0, 0x40, %asi
23112 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
23113 and %l1, 0x3, %l1 ! Check if busy/enabled ..
23114 cmp %l1, 1
23115 bne cwq_2_272
23116 set CWQ_BASE, %l6
23117 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
23118 best_set_reg(0x206100a0, %l1, %l2) !# Control Word
23119 sllx %l2, 32, %l2
23120 stx %l2, [%l6 + 0x0]
23121 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
23122 sub %l2, 0x40, %l2
23123 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
23124 wr %r12, %g0, %asi
23125 st %g0, [%r23]
23126cwq_2_272:
23127 ta T_CHANGE_NONHPRIV
23128 .word 0x91414000 ! 346: RDPC rd %pc, %r8
23129ibp_2_273:
23130 nop
23131 ta T_CHANGE_HPRIV
23132 mov 8, %r18
23133 rd %asi, %r12
23134 wr %r0, 0x41, %asi
23135 set sync_thr_counter4, %r23
23136#ifndef SPC
23137 ldxa [%g0]0x63, %r8
23138 and %r8, 0x38, %r8 ! Core ID
23139 add %r8, %r23, %r23
23140#else
23141 mov 0, %r8
23142#endif
23143 mov 0x2, %r16
23144ibp_startwait2_273:
23145 cas [%r23],%g0,%r16 !lock
23146 brz,a %r16, continue_ibp_2_273
23147 mov (~0x2&0xf), %r16
23148 ld [%r23], %r16
23149ibp_wait2_273:
23150 brnz %r16, ibp_wait2_273
23151 ld [%r23], %r16
23152 ba ibp_startwait2_273
23153 mov 0x2, %r16
23154continue_ibp_2_273:
23155 sllx %r16, %r8, %r16 !Mask for my core only
23156 ldxa [0x58]%asi, %r17 !Running_status
23157wait_for_stat_2_273:
23158 ldxa [0x50]%asi, %r13 !Running_rw
23159 cmp %r13, %r17
23160 bne,a wait_for_stat_2_273
23161 ldxa [0x58]%asi, %r17 !Running_status
23162 stxa %r16, [0x68]%asi !Park (W1C)
23163 ldxa [0x50]%asi, %r14 !Running_rw
23164wait_for_ibp_2_273:
23165 ldxa [0x58]%asi, %r17 !Running_status
23166 cmp %r14, %r17
23167 bne,a wait_for_ibp_2_273
23168 ldxa [0x50]%asi, %r14 !Running_rw
23169ibp_doit2_273:
23170 best_set_reg(0x0000005099e50c9a,%r19, %r20)
23171 stxa %r20, [%r18]0x42
23172 stxa %r16, [0x60] %asi !Unpark (W1S)
23173 st %g0, [%r23] !clear lock
23174 wr %r0, %r12, %asi !restore %asi
23175 ta T_CHANGE_NONHPRIV
23176 .word 0xdabfc02c ! 347: STDA_R stda %r13, [%r31 + %r12] 0x01
23177#if (defined SPC || defined CMP)
23178!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_2_274) + 32, 16, 16)) -> intp(0,0,11)
23179!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_2_274)&0xffffffff) + 32, 16, 16)) -> intp(0,0,11)
23180#else
23181 setx 0x64e54e7f14798736, %r1, %r28
23182 stxa %r28, [%g0] 0x73
23183#endif
23184intvec_2_274:
23185 .word 0x39400001 ! 348: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
23186pmu_2_275:
23187 nop
23188 ta T_CHANGE_PRIV
23189 setx 0xfffff3ebfffff9a0, %g1, %g7
23190 .word 0xa3800007 ! 349: WR_PERF_COUNTER_R wr %r0, %r7, %-
23191ibp_2_276:
23192 nop
23193 ta T_CHANGE_HPRIV
23194 mov 8, %r18
23195 rd %asi, %r12
23196 wr %r0, 0x41, %asi
23197 set sync_thr_counter4, %r23
23198#ifndef SPC
23199 ldxa [%g0]0x63, %r8
23200 and %r8, 0x38, %r8 ! Core ID
23201 add %r8, %r23, %r23
23202#else
23203 mov 0, %r8
23204#endif
23205 mov 0x2, %r16
23206ibp_startwait2_276:
23207 cas [%r23],%g0,%r16 !lock
23208 brz,a %r16, continue_ibp_2_276
23209 mov (~0x2&0xf), %r16
23210 ld [%r23], %r16
23211ibp_wait2_276:
23212 brnz %r16, ibp_wait2_276
23213 ld [%r23], %r16
23214 ba ibp_startwait2_276
23215 mov 0x2, %r16
23216continue_ibp_2_276:
23217 sllx %r16, %r8, %r16 !Mask for my core only
23218 ldxa [0x58]%asi, %r17 !Running_status
23219wait_for_stat_2_276:
23220 ldxa [0x50]%asi, %r13 !Running_rw
23221 cmp %r13, %r17
23222 bne,a wait_for_stat_2_276
23223 ldxa [0x58]%asi, %r17 !Running_status
23224 stxa %r16, [0x68]%asi !Park (W1C)
23225 ldxa [0x50]%asi, %r14 !Running_rw
23226wait_for_ibp_2_276:
23227 ldxa [0x58]%asi, %r17 !Running_status
23228 cmp %r14, %r17
23229 bne,a wait_for_ibp_2_276
23230 ldxa [0x50]%asi, %r14 !Running_rw
23231ibp_doit2_276:
23232 best_set_reg(0x00000050e6cc9a91,%r19, %r20)
23233 stxa %r20, [%r18]0x42
23234 stxa %r16, [0x60] %asi !Unpark (W1S)
23235 st %g0, [%r23] !clear lock
23236 wr %r0, %r12, %asi !restore %asi
23237 .word 0xdabfc031 ! 350: STDA_R stda %r13, [%r31 + %r17] 0x01
23238pmu_2_277:
23239 nop
23240 setx 0xfffffd53fffff34c, %g1, %g7
23241 .word 0xa3800007 ! 351: WR_PERF_COUNTER_R wr %r0, %r7, %-
23242 set 0x35f8, %l3
23243 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
23244 .word 0x99b447c1 ! 352: PDIST pdistn %d48, %d32, %d12
23245dvapa_2_278:
23246 nop
23247 ta T_CHANGE_HPRIV
23248 mov 0x822, %r20
23249 mov 0xc, %r19
23250 sllx %r20, 23, %r20
23251 or %r19, %r20, %r19
23252 stxa %r19, [%g0] ASI_LSU_CONTROL
23253 mov 0x38, %r18
23254 stxa %r31, [%r18]0x58
23255 ta T_CHANGE_NONHPRIV
23256 .word 0x95b1c494 ! 353: FCMPLE32 fcmple32 %d38, %d20, %r10
23257 .word 0xe71fe140 ! 354: LDDF_I ldd [%r31, 0x0140], %f19
23258pmu_2_279:
23259 nop
23260 ta T_CHANGE_PRIV
23261 setx 0xfffff274fffff314, %g1, %g7
23262 .word 0xa3800007 ! 355: WR_PERF_COUNTER_R wr %r0, %r7, %-
23263#if (defined SPC || defined CMP)
23264!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_2_280) + 32, 16, 16)) -> intp(5,0,17)
23265!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_2_280)&0xffffffff) + 32, 16, 16)) -> intp(5,0,17)
23266#else
23267 setx 0xe545b3c4a325f4dd, %r1, %r28
23268 stxa %r28, [%g0] 0x73
23269#endif
23270intvec_2_280:
23271 .word 0x39400001 ! 356: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
23272 .word 0xe697e1c0 ! 357: LDUHA_I lduha [%r31, + 0x01c0] %asi, %r19
23273intveclr_2_281:
23274 nop
23275 ta T_CHANGE_HPRIV
23276 setx 0xd30e1074e4c32221, %r1, %r28
23277 stxa %r28, [%g0] 0x72
23278 ta T_CHANGE_NONHPRIV
23279 .word 0x25400001 ! 358: FBPLG fblg,a,pn %fcc0, <label_0x1>
23280 .word 0x3c780001 ! 359: BPPOS <illegal instruction>
23281pmu_2_282:
23282 nop
23283 setx 0xfffffbcdfffff16a, %g1, %g7
23284 .word 0xa3800007 ! 360: WR_PERF_COUNTER_R wr %r0, %r7, %-
23285intveclr_2_283:
23286 nop
23287 ta T_CHANGE_HPRIV
23288 setx 0xeed4d1ff9d7bd105, %r1, %r28
23289 stxa %r28, [%g0] 0x72
23290 ta T_CHANGE_NONHPRIV
23291 .word 0x25400001 ! 361: FBPLG fblg,a,pn %fcc0, <label_0x1>
23292 nop
23293 ta T_CHANGE_HPRIV
23294 mov 0x2+1, %r10
23295 set sync_thr_counter5, %r23
23296#ifndef SPC
23297 ldxa [%g0]0x63, %o1
23298 and %o1, 0x38, %o1
23299 add %o1, %r23, %r23
23300#endif
23301 cas [%r23],%g0,%r10 !lock
23302 brnz %r10, cwq_2_284
23303 rd %asi, %r12
23304 wr %g0, 0x40, %asi
23305 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
23306 and %l1, 0x3, %l1 ! Check if busy/enabled ..
23307 cmp %l1, 1
23308 bne cwq_2_284
23309 set CWQ_BASE, %l6
23310 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
23311 best_set_reg(0x20610010, %l1, %l2) !# Control Word
23312 sllx %l2, 32, %l2
23313 stx %l2, [%l6 + 0x0]
23314 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
23315 sub %l2, 0x40, %l2
23316 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
23317 wr %r12, %g0, %asi
23318 st %g0, [%r23]
23319cwq_2_284:
23320 ta T_CHANGE_NONHPRIV
23321 .word 0x97414000 ! 362: RDPC rd %pc, %r11
23322 .word 0xa1450000 ! 363: RD_SET_SOFTINT rd %set_softint, %r16
23323intveclr_2_285:
23324 nop
23325 ta T_CHANGE_HPRIV
23326 setx 0xd19e5515b6f9233b, %r1, %r28
23327 stxa %r28, [%g0] 0x72
23328 .word 0x25400001 ! 364: FBPLG fblg,a,pn %fcc0, <label_0x1>
23329fpinit_2_286:
23330 setx fp_data_quads, %r19, %r20
23331 ldd [%r20], %f0
23332 ldd [%r20+8], %f4
23333 ld [%r20+16], %fsr
23334 ld [%r20+24], %r19
23335 wr %r19, %g0, %gsr
23336 .word 0x89a009a4 ! 365: FDIVs fdivs %f0, %f4, %f4
23337ibp_2_287:
23338 nop
23339 ta T_CHANGE_HPRIV
23340 mov 8, %r18
23341 rd %asi, %r12
23342 wr %r0, 0x41, %asi
23343 set sync_thr_counter4, %r23
23344#ifndef SPC
23345 ldxa [%g0]0x63, %r8
23346 and %r8, 0x38, %r8 ! Core ID
23347 add %r8, %r23, %r23
23348#else
23349 mov 0, %r8
23350#endif
23351 mov 0x2, %r16
23352ibp_startwait2_287:
23353 cas [%r23],%g0,%r16 !lock
23354 brz,a %r16, continue_ibp_2_287
23355 mov (~0x2&0xf), %r16
23356 ld [%r23], %r16
23357ibp_wait2_287:
23358 brnz %r16, ibp_wait2_287
23359 ld [%r23], %r16
23360 ba ibp_startwait2_287
23361 mov 0x2, %r16
23362continue_ibp_2_287:
23363 sllx %r16, %r8, %r16 !Mask for my core only
23364 ldxa [0x58]%asi, %r17 !Running_status
23365wait_for_stat_2_287:
23366 ldxa [0x50]%asi, %r13 !Running_rw
23367 cmp %r13, %r17
23368 bne,a wait_for_stat_2_287
23369 ldxa [0x58]%asi, %r17 !Running_status
23370 stxa %r16, [0x68]%asi !Park (W1C)
23371 ldxa [0x50]%asi, %r14 !Running_rw
23372wait_for_ibp_2_287:
23373 ldxa [0x58]%asi, %r17 !Running_status
23374 cmp %r14, %r17
23375 bne,a wait_for_ibp_2_287
23376 ldxa [0x50]%asi, %r14 !Running_rw
23377ibp_doit2_287:
23378 best_set_reg(0x00000050beda910d,%r19, %r20)
23379 stxa %r20, [%r18]0x42
23380 stxa %r16, [0x60] %asi !Unpark (W1S)
23381 st %g0, [%r23] !clear lock
23382 wr %r0, %r12, %asi !restore %asi
23383 .word 0x9bb107d2 ! 366: PDIST pdistn %d4, %d18, %d44
23384 nop
23385 ta T_CHANGE_HPRIV
23386 mov 0x2, %r10
23387 set sync_thr_counter6, %r23
23388#ifndef SPC
23389 ldxa [%g0]0x63, %o1
23390 and %o1, 0x38, %o1
23391 add %o1, %r23, %r23
23392#endif
23393 cas [%r23],%g0,%r10 !lock
23394 brnz %r10, sma_2_288
23395 rd %asi, %r12
23396 wr %g0, 0x40, %asi
23397 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
23398 set 0x000e1fff, %g1
23399 stxa %g1, [%g0 + 0x80] %asi
23400 wr %r12, %g0, %asi
23401 st %g0, [%r23]
23402sma_2_288:
23403 ta T_CHANGE_NONHPRIV
23404 .word 0xe5e7e011 ! 367: CASA_R casa [%r31] %asi, %r17, %r18
23405 .word 0x8d802004 ! 368: WRFPRS_I wr %r0, 0x0004, %fprs
23406 setx 0x518c1976771b5f76, %r1, %r28
23407 stxa %r28, [%g0] 0x73
23408intvec_2_289:
23409 .word 0x39400001 ! 369: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
23410 nop
23411 ta T_CHANGE_HPRIV
23412 mov 0x2, %r10
23413 set sync_thr_counter6, %r23
23414#ifndef SPC
23415 ldxa [%g0]0x63, %o1
23416 and %o1, 0x38, %o1
23417 add %o1, %r23, %r23
23418#endif
23419 cas [%r23],%g0,%r10 !lock
23420 brnz %r10, sma_2_290
23421 rd %asi, %r12
23422 wr %g0, 0x40, %asi
23423 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
23424 set 0x00021fff, %g1
23425 stxa %g1, [%g0 + 0x80] %asi
23426 wr %r12, %g0, %asi
23427 st %g0, [%r23]
23428sma_2_290:
23429 ta T_CHANGE_NONHPRIV
23430 .word 0xe5e7e010 ! 370: CASA_R casa [%r31] %asi, %r16, %r18
23431donret_2_291:
23432 nop
23433 ta T_CHANGE_HPRIV ! macro
23434 rd %pc, %r12
23435 add %r12, (donretarg_2_291-donret_2_291-4), %r12
23436 mov 0x38, %r18
23437 stxa %r12, [%r18]0x58
23438 add %r12, 0x4, %r11
23439 wrpr %g0, 0x2, %tl
23440 wrpr %g0, %r12, %tpc
23441 wrpr %g0, %r11, %tnpc
23442 set (0x009bc826 | (0x58 << 24)), %r13
23443 rdpr %tstate, %r16
23444 mov 0x1f, %r19
23445 and %r19, %r16, %r17
23446 andn %r16, %r19, %r16
23447 or %r16, %r17, %r20
23448 wrpr %r20, %g0, %tstate
23449 wrhpr %g0, 0x57, %htstate
23450 ta T_CHANGE_NONPRIV ! rand=0 (2)
23451 .word 0x24800001 ! 1: BLE ble,a <label_0x1>
23452 done
23453donretarg_2_291:
23454 .word 0xa7a509d0 ! 371: FDIVd fdivd %f20, %f16, %f50
23455 .word 0xab82a5f3 ! 372: WR_CLEAR_SOFTINT_I wr %r10, 0x05f3, %clear_softint
23456 .word 0xd68008a0 ! 373: LDUWA_R lduwa [%r0, %r0] 0x45, %r11
23457 nop
23458 ta T_CHANGE_HPRIV
23459 mov 0x2, %r10
23460 set sync_thr_counter6, %r23
23461#ifndef SPC
23462 ldxa [%g0]0x63, %o1
23463 and %o1, 0x38, %o1
23464 add %o1, %r23, %r23
23465#endif
23466 cas [%r23],%g0,%r10 !lock
23467 brnz %r10, sma_2_292
23468 rd %asi, %r12
23469 wr %g0, 0x40, %asi
23470 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
23471 set 0x00161fff, %g1
23472 stxa %g1, [%g0 + 0x80] %asi
23473 wr %r12, %g0, %asi
23474 st %g0, [%r23]
23475sma_2_292:
23476 ta T_CHANGE_NONHPRIV
23477 .word 0xd7e7e011 ! 374: CASA_R casa [%r31] %asi, %r17, %r11
23478br_longdelay2_2_293:
23479 .word 0x26cb4001 ! 1: BRLZ brlz,a,pt %r13,<label_0xb4001>
23480 .word 0xd63fc009 ! 375: STD_R std %r11, [%r31 + %r9]
23481dvapa_2_294:
23482 nop
23483 ta T_CHANGE_HPRIV
23484 mov 0x810, %r20
23485 mov 0x6, %r19
23486 sllx %r20, 23, %r20
23487 or %r19, %r20, %r19
23488 stxa %r19, [%g0] ASI_LSU_CONTROL
23489 mov 0x38, %r18
23490 stxa %r31, [%r18]0x58
23491 ta T_CHANGE_NONHPRIV
23492 .word 0xc32fc00c ! 376: STXFSR_R st-sfr %f1, [%r12, %r31]
23493splash_lsu_2_295:
23494 nop
23495 ta T_CHANGE_HPRIV
23496 set 0xea0da992, %r2
23497 mov 0x2, %r1
23498 sllx %r1, 32, %r1
23499 or %r1, %r2, %r2
23500 stxa %r2, [%r0] ASI_LSU_CONTROL
23501 ta T_CHANGE_NONHPRIV
23502 .word 0x3d400001 ! 377: FBPULE fbule,a,pn %fcc0, <label_0x1>
23503brcommon1_2_296:
23504 nop
23505 setx common_target, %r12, %r27
23506 lduw [%r27], %r12 ! Load common dest into dcache ..
23507 ba,a .+12
23508 .word 0x97a7c9d3 ! 1: FDIVd fdivd %f62, %f50, %f42
23509 ba,a .+8
23510 jmpl %r27+0, %r27
23511 .word 0x9f803ad2 ! 378: SIR sir 0x1ad2
23512 .word 0x8d802000 ! 379: WRFPRS_I wr %r0, 0x0000, %fprs
23513splash_cmpr_2_297:
23514 nop
23515 setx 0x8159dba128b7eca3, %l2, %l1
23516 ta T_CHANGE_PRIV
23517 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
23518 ta T_CHANGE_NONPRIV
23519 sub %l1, 40, %g1
23520 .word 0x89900011 ! 380: WRPR_TICK_R wrpr %r0, %r17, %tick
23521#if (defined SPC || defined CMP)
23522!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_2_298) + 48, 16, 16)) -> intp(1,0,6)
23523!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_2_298)&0xffffffff) + 48, 16, 16)) -> intp(1,0,6)
23524#else
23525 setx 0x2048847a5bff1c89, %r1, %r28
23526 stxa %r28, [%g0] 0x73
23527#endif
23528intvec_2_298:
23529 .word 0x39400001 ! 381: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
23530 .word 0x91944004 ! 382: WRPR_PIL_R wrpr %r17, %r4, %pil
23531splash_cmpr_2_300:
23532 nop
23533 setx 0xc278c1446c5c0e45, %l2, %l1
23534 ta T_CHANGE_HPRIV
23535 wrhpr %l1, %g0, %hsys_tick_cmpr
23536 ta T_CHANGE_NONHPRIV
23537 sub %l1, 40, %g1
23538 .word 0x89900011 ! 383: WRPR_TICK_R wrpr %r0, %r17, %tick
23539 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
23540reduce_priv_lvl_2_301:
23541 ta T_CHANGE_NONPRIV ! macro
23542mondo_2_302:
23543 nop
23544 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
23545 ta T_CHANGE_PRIV
23546 stxa %r16, [%r0+0x3e0] %asi
23547 .word 0x9d91c007 ! 385: WRPR_WSTATE_R wrpr %r7, %r7, %wstate
23548 .word 0xd037e122 ! 386: STH_I sth %r8, [%r31 + 0x0122]
23549 nop
23550 mov 0x80, %g3
23551 stxa %g3, [%g3] 0x5f
23552 .word 0xd05fc000 ! 387: LDX_R ldx [%r31 + %r0], %r8
23553 setx 0x514f8760c85d6c55, %r1, %r28
23554 stxa %r28, [%g0] 0x73
23555intvec_2_303:
23556 .word 0x39400001 ! 388: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
23557 .word 0xa9a00166 ! 389: FABSq dis not found
23558
23559donret_2_305:
23560 nop
23561 ta T_CHANGE_HPRIV ! macro
23562 rd %pc, %r12
23563 add %r12, (donretarg_2_305-donret_2_305-4), %r12
23564 mov 0x38, %r18
23565 stxa %r12, [%r18]0x58
23566 add %r12, 0x4, %r11
23567 wrpr %g0, 0x2, %tl
23568 wrpr %g0, %r12, %tpc
23569 wrpr %g0, %r11, %tnpc
23570 set (0x00556663 | (32 << 24)), %r13
23571 rdpr %tstate, %r16
23572 mov 0x1f, %r19
23573 and %r19, %r16, %r17
23574 andn %r16, %r19, %r16
23575 or %r16, %r17, %r20
23576 wrpr %r20, %g0, %tstate
23577 wrhpr %g0, 0x11f, %htstate
23578 ta T_CHANGE_NONPRIV ! rand=0 (2)
23579 .word 0x29400001 ! 1: FBPL fbl,a,pn %fcc0, <label_0x1>
23580 done
23581donretarg_2_305:
23582 .word 0xe8ffe0c5 ! 390: SWAPA_I swapa %r20, [%r31 + 0x00c5] %asi
23583 .word 0xe897e100 ! 391: LDUHA_I lduha [%r31, + 0x0100] %asi, %r20
23584 .word 0xe8d7e1a0 ! 392: LDSHA_I ldsha [%r31, + 0x01a0] %asi, %r20
23585pmu_2_306:
23586 nop
23587 ta T_CHANGE_PRIV
23588 setx 0xffffff8cfffff949, %g1, %g7
23589 .word 0xa3800007 ! 393: WR_PERF_COUNTER_R wr %r0, %r7, %-
23590vahole_2_307:
23591 nop
23592 ta T_CHANGE_NONHPRIV
23593 setx vahole_target2, %r18, %r27
23594 jmpl %r27+0, %r27
23595 .word 0xe1bfd920 ! 394: STDFA_R stda %f16, [%r0, %r31]
23596trapasi_2_308:
23597 nop
23598 mov 0x20, %r1 ! (VA for ASI 0x5a)
23599 .word 0xe8d84b40 ! 395: LDXA_R ldxa [%r1, %r0] 0x5a, %r20
23600trapasi_2_309:
23601 nop
23602 mov 0x38, %r1 ! (VA for ASI 0x50)
23603 .word 0xe8904a00 ! 396: LDUHA_R lduha [%r1, %r0] 0x50, %r20
23604ibp_2_310:
23605 nop
23606 ta T_CHANGE_HPRIV
23607 mov 8, %r18
23608 rd %asi, %r12
23609 wr %r0, 0x41, %asi
23610 set sync_thr_counter4, %r23
23611#ifndef SPC
23612 ldxa [%g0]0x63, %r8
23613 and %r8, 0x38, %r8 ! Core ID
23614 add %r8, %r23, %r23
23615#else
23616 mov 0, %r8
23617#endif
23618 mov 0x2, %r16
23619ibp_startwait2_310:
23620 cas [%r23],%g0,%r16 !lock
23621 brz,a %r16, continue_ibp_2_310
23622 mov (~0x2&0xf), %r16
23623 ld [%r23], %r16
23624ibp_wait2_310:
23625 brnz %r16, ibp_wait2_310
23626 ld [%r23], %r16
23627 ba ibp_startwait2_310
23628 mov 0x2, %r16
23629continue_ibp_2_310:
23630 sllx %r16, %r8, %r16 !Mask for my core only
23631 ldxa [0x58]%asi, %r17 !Running_status
23632wait_for_stat_2_310:
23633 ldxa [0x50]%asi, %r13 !Running_rw
23634 cmp %r13, %r17
23635 bne,a wait_for_stat_2_310
23636 ldxa [0x58]%asi, %r17 !Running_status
23637 stxa %r16, [0x68]%asi !Park (W1C)
23638 ldxa [0x50]%asi, %r14 !Running_rw
23639wait_for_ibp_2_310:
23640 ldxa [0x58]%asi, %r17 !Running_status
23641 cmp %r14, %r17
23642 bne,a wait_for_ibp_2_310
23643 ldxa [0x50]%asi, %r14 !Running_rw
23644ibp_doit2_310:
23645 best_set_reg(0x00000050fcd10d3b,%r19, %r20)
23646 stxa %r20, [%r18]0x42
23647 stxa %r16, [0x60] %asi !Unpark (W1S)
23648 st %g0, [%r23] !clear lock
23649 wr %r0, %r12, %asi !restore %asi
23650 ta T_CHANGE_NONHPRIV
23651 .word 0xe897c02b ! 397: LDUHA_R lduha [%r31, %r11] 0x01, %r20
23652intveclr_2_311:
23653 nop
23654 ta T_CHANGE_HPRIV
23655 setx 0x0629e7026ed56ad4, %r1, %r28
23656 stxa %r28, [%g0] 0x72
23657 ta T_CHANGE_NONHPRIV
23658 .word 0x25400001 ! 398: FBPLG fblg,a,pn %fcc0, <label_0x1>
23659splash_tba_2_312:
23660 ta T_CHANGE_PRIV
23661 set 0x120000, %r12
23662 .word 0x8b90000c ! 399: WRPR_TBA_R wrpr %r0, %r12, %tba
23663pmu_2_313:
23664 nop
23665 ta T_CHANGE_PRIV
23666 setx 0xfffffb39fffff89d, %g1, %g7
23667 .word 0xa3800007 ! 400: WR_PERF_COUNTER_R wr %r0, %r7, %-
23668 nop
23669 nop
23670 ta T_CHANGE_PRIV
23671 wrpr %g0, %g0, %gl
23672 nop
23673 nop
23674 setx join_lbl_0_0, %g1, %g2
23675 jmp %g2
23676 nop
23677fork_lbl_0_1:
23678 ta T_CHANGE_NONHPRIV
23679vahole_1_0:
23680 nop
23681 ta T_CHANGE_NONHPRIV
23682 setx vahole_target1, %r18, %r27
23683 jmpl %r27+0, %r27
23684 .word 0xe4dfc028 ! 1: LDXA_R ldxa [%r31, %r8] 0x01, %r18
23685jmptr_1_1:
23686 nop
23687 best_set_reg(0xe0200000, %r20, %r27)
23688 .word 0xb7c6c000 ! 2: JMPL_R jmpl %r27 + %r0, %r27
23689 .word 0x36800001 ! 3: BGE bge,a <label_0x1>
23690 .word 0xe1bfc3e0 ! 4: STDFA_R stda %f16, [%r0, %r31]
23691 nop
23692 ta T_CHANGE_HPRIV
23693 mov 0x1, %r10
23694 set sync_thr_counter6, %r23
23695#ifndef SPC
23696 ldxa [%g0]0x63, %o1
23697 and %o1, 0x38, %o1
23698 add %o1, %r23, %r23
23699#endif
23700 cas [%r23],%g0,%r10 !lock
23701 brnz %r10, sma_1_2
23702 rd %asi, %r12
23703 wr %g0, 0x40, %asi
23704 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
23705 set 0x00061fff, %g1
23706 stxa %g1, [%g0 + 0x80] %asi
23707 wr %r12, %g0, %asi
23708 st %g0, [%r23]
23709sma_1_2:
23710 ta T_CHANGE_NONHPRIV
23711 .word 0xe5e7e00a ! 5: CASA_R casa [%r31] %asi, %r10, %r18
23712vahole_1_3:
23713 nop
23714 ta T_CHANGE_NONHPRIV
23715 setx vahole_target2, %r18, %r27
23716 jmpl %r27+0, %r27
23717 .word 0xa3a049a2 ! 6: FDIVs fdivs %f1, %f2, %f17
23718 .word 0xc19fe060 ! 7: LDDFA_I ldda [%r31, 0x0060], %f0
23719ibp_1_4:
23720 nop
23721 ta T_CHANGE_NONHPRIV
23722 .word 0xc1bfe020 ! 8: STDFA_I stda %f0, [0x0020, %r31]
23723 .word 0xe19fc2c0 ! 9: LDDFA_R ldda [%r31, %r0], %f16
23724pmu_1_6:
23725 nop
23726 setx 0xfffffe10fffff605, %g1, %g7
23727 .word 0xa3800007 ! 10: WR_PERF_COUNTER_R wr %r0, %r7, %-
23728ibp_1_7:
23729 nop
23730 ta T_CHANGE_NONHPRIV
23731 .word 0xe1bfc2c0 ! 11: STDFA_R stda %f16, [%r0, %r31]
23732 .word 0x9f802e80 ! 12: SIR sir 0x0e80
23733brcommon1_1_8:
23734 nop
23735 setx common_target, %r12, %r27
23736 lduw [%r27], %r12 ! Load common dest into dcache ..
23737 ba,a .+12
23738 .word 0xa3702e80 ! 1: POPC_I popc 0x0e80, %r17
23739 ba,a .+8
23740 jmpl %r27+0, %r27
23741 .word 0x93a409aa ! 13: FDIVs fdivs %f16, %f10, %f9
23742 .word 0xa9540000 ! 14: RDPR_GL <illegal instruction>
23743splash_lsu_1_9:
23744 nop
23745 ta T_CHANGE_HPRIV
23746 set 0xd5bd5598, %r2
23747 mov 0x7, %r1
23748 sllx %r1, 32, %r1
23749 or %r1, %r2, %r2
23750 stxa %r2, [%r0] ASI_LSU_CONTROL
23751 .word 0x3d400001 ! 15: FBPULE fbule,a,pn %fcc0, <label_0x1>
23752 .word 0xe82fe06b ! 16: STB_I stb %r20, [%r31 + 0x006b]
23753pmu_1_10:
23754 nop
23755 setx 0xfffff3d7fffff800, %g1, %g7
23756 .word 0xa3800007 ! 17: WR_PERF_COUNTER_R wr %r0, %r7, %-
23757 .word 0x9f803293 ! 18: SIR sir 0x1293
23758 .word 0x8d9022d8 ! 19: WRPR_PSTATE_I wrpr %r0, 0x02d8, %pstate
23759dvapa_1_12:
23760 nop
23761 ta T_CHANGE_HPRIV
23762 mov 0xde3, %r20
23763 mov 0x7, %r19
23764 sllx %r20, 23, %r20
23765 or %r19, %r20, %r19
23766 stxa %r19, [%g0] ASI_LSU_CONTROL
23767 mov 0x38, %r18
23768 stxa %r31, [%r18]0x58
23769 ta T_CHANGE_NONHPRIV
23770 .word 0xc1bfd920 ! 20: STDFA_R stda %f0, [%r0, %r31]
23771splash_cmpr_1_13:
23772 nop
23773 setx 0xf1c461dbfc89117c, %l2, %l1
23774 ta T_CHANGE_PRIV
23775 .word 0xaf800011 ! 1: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
23776 sub %l1, 40, %g1
23777 .word 0x89900011 ! 21: WRPR_TICK_R wrpr %r0, %r17, %tick
23778donret_1_14:
23779 nop
23780 ta T_CHANGE_HPRIV ! macro
23781 rd %pc, %r12
23782 add %r12, (donretarg_1_14-donret_1_14-8), %r12
23783 add %r12, 0x4, %r11
23784 wrpr %g0, 0x2, %tl
23785 wrpr %g0, %r12, %tpc
23786 wrpr %g0, %r11, %tnpc
23787 set (0x00208d54 | (0x8b << 24)), %r13
23788 rdpr %tstate, %r16
23789 mov 0x1f, %r19
23790 and %r19, %r16, %r17
23791 andn %r16, %r19, %r16
23792 or %r16, %r17, %r20
23793 wrpr %r20, %g0, %tstate
23794 wrhpr %g0, 0x495, %htstate
23795 ta T_CHANGE_NONHPRIV ! rand=1 (1)
23796 .word 0x22cd0001 ! 1: BRZ brz,a,pt %r20,<label_0xd0001>
23797 retry
23798donretarg_1_14:
23799 .word 0x9ba409c8 ! 22: FDIVd fdivd %f16, %f8, %f44
23800trapasi_1_15:
23801 nop
23802 mov 0x38, %r1 ! (VA for ASI 0x50)
23803 .word 0xdac04a00 ! 23: LDSWA_R ldswa [%r1, %r0] 0x50, %r13
23804dvapa_1_16:
23805 nop
23806 ta T_CHANGE_HPRIV
23807 mov 0x9b8, %r20
23808 mov 0x9, %r19
23809 sllx %r20, 23, %r20
23810 or %r19, %r20, %r19
23811 stxa %r19, [%g0] ASI_LSU_CONTROL
23812 mov 0x38, %r18
23813 stxa %r31, [%r18]0x58
23814 ta T_CHANGE_NONHPRIV
23815 .word 0xdb1fc00a ! 24: LDDF_R ldd [%r31, %r10], %f13
23816 .word 0x8d802004 ! 25: WRFPRS_I wr %r0, 0x0004, %fprs
23817 bg skip_1_17
23818 brlez,a,pn %r20, skip_1_17
23819.align 512
23820skip_1_17:
23821 .word 0xc36fe130 ! 26: PREFETCH_I prefetch [%r31 + 0x0130], #one_read
23822splash_cmpr_1_18:
23823 nop
23824 setx 0x4a79d11b9805e619, %l2, %l1
23825 ta T_CHANGE_HPRIV
23826 wrhpr %l1, %g0, %hsys_tick_cmpr
23827 sub %l1, 40, %g1
23828 .word 0x89900011 ! 27: WRPR_TICK_R wrpr %r0, %r17, %tick
23829intveclr_1_19:
23830 nop
23831 ta T_CHANGE_HPRIV
23832 setx 0x4a0371e4c3b37b41, %r1, %r28
23833 stxa %r28, [%g0] 0x72
23834 ta T_CHANGE_NONHPRIV
23835 .word 0x25400001 ! 28: FBPLG fblg,a,pn %fcc0, <label_0x1>
23836intveclr_1_20:
23837 nop
23838 ta T_CHANGE_HPRIV
23839 setx 0x1a60dbc58d87c854, %r1, %r28
23840 stxa %r28, [%g0] 0x72
23841 ta T_CHANGE_NONHPRIV
23842 .word 0x25400001 ! 29: FBPLG fblg,a,pn %fcc0, <label_0x1>
23843 nop
23844 ta T_CHANGE_HPRIV
23845 mov 0x1, %r10
23846 set sync_thr_counter6, %r23
23847#ifndef SPC
23848 ldxa [%g0]0x63, %o1
23849 and %o1, 0x38, %o1
23850 add %o1, %r23, %r23
23851#endif
23852 cas [%r23],%g0,%r10 !lock
23853 brnz %r10, sma_1_21
23854 rd %asi, %r12
23855 wr %g0, 0x40, %asi
23856 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
23857 set 0x00121fff, %g1
23858 stxa %g1, [%g0 + 0x80] %asi
23859 wr %r12, %g0, %asi
23860 st %g0, [%r23]
23861sma_1_21:
23862 ta T_CHANGE_NONHPRIV
23863 .word 0xdbe7e00b ! 30: CASA_R casa [%r31] %asi, %r11, %r13
23864 .word 0xa5a00166 ! 31: FABSq dis not found
23865
23866memptr_1_23:
23867 set 0x60140000, %r31
23868 .word 0x85806ef1 ! 32: WRCCR_I wr %r1, 0x0ef1, %ccr
23869splash_tba_1_24:
23870 ta T_CHANGE_PRIV
23871 set 0x120000, %r12
23872 .word 0x8b90000c ! 33: WRPR_TBA_R wrpr %r0, %r12, %tba
23873 .word 0xe45fe150 ! 34: LDX_I ldx [%r31 + 0x0150], %r18
23874 .word 0x9f803105 ! 35: SIR sir 0x1105
23875mondo_1_25:
23876 nop
23877 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
23878 stxa %r16, [%r0+0x3d0] %asi
23879 .word 0x9d94c008 ! 36: WRPR_WSTATE_R wrpr %r19, %r8, %wstate
23880donret_1_26:
23881 nop
23882 ta T_CHANGE_HPRIV ! macro
23883 rd %pc, %r12
23884 add %r12, (donretarg_1_26-donret_1_26-8), %r12
23885 add %r12, 0x4, %r11
23886 wrpr %g0, 0x2, %tl
23887 wrpr %g0, %r12, %tpc
23888 wrpr %g0, %r11, %tnpc
23889 set (0x00386284 | (0x55 << 24)), %r13
23890 rdpr %tstate, %r16
23891 mov 0x1f, %r19
23892 and %r19, %r16, %r17
23893 andn %r16, %r19, %r16
23894 or %r16, %r17, %r20
23895 wrpr %r20, %g0, %tstate
23896 wrhpr %g0, 0x387, %htstate
23897 ta T_CHANGE_NONHPRIV ! rand=1 (1)
23898 retry
23899donretarg_1_26:
23900 .word 0xe46fe03a ! 37: LDSTUB_I ldstub %r18, [%r31 + 0x003a]
23901donret_1_27:
23902 nop
23903 ta T_CHANGE_HPRIV ! macro
23904 rd %pc, %r12
23905 add %r12, (donretarg_1_27-donret_1_27-4), %r12
23906 add %r12, 0x4, %r11
23907 wrpr %g0, 0x1, %tl
23908 wrpr %g0, %r12, %tpc
23909 wrpr %g0, %r11, %tnpc
23910 set (0x00eb4c08 | (0x58 << 24)), %r13
23911 rdpr %tstate, %r16
23912 mov 0x1f, %r19
23913 and %r19, %r16, %r17
23914 andn %r16, %r19, %r16
23915 or %r16, %r17, %r20
23916 wrpr %r20, %g0, %tstate
23917 wrhpr %g0, 0x70e, %htstate
23918 ta T_CHANGE_NONHPRIV ! rand=1 (1)
23919 .word 0x2accc001 ! 1: BRNZ brnz,a,pt %r19,<label_0xcc001>
23920 done
23921donretarg_1_27:
23922 .word 0xe46fe107 ! 38: LDSTUB_I ldstub %r18, [%r31 + 0x0107]
23923 .word 0x91934013 ! 39: WRPR_PIL_R wrpr %r13, %r19, %pil
23924pmu_1_29:
23925 nop
23926 ta T_CHANGE_PRIV
23927 setx 0xfffff4f2fffffa55, %g1, %g7
23928 .word 0xa3800007 ! 40: WR_PERF_COUNTER_R wr %r0, %r7, %-
23929 bge skip_1_30
23930 brz,pt %r7, skip_1_30
23931.align 1024
23932skip_1_30:
23933 .word 0xc36fe18e ! 41: PREFETCH_I prefetch [%r31 + 0x018e], #one_read
23934splash_tba_1_31:
23935 ta T_CHANGE_PRIV
23936 setx 0x0000000000380000, %r11, %r12
23937 .word 0x8b90000c ! 42: WRPR_TBA_R wrpr %r0, %r12, %tba
23938intveclr_1_32:
23939 nop
23940 ta T_CHANGE_HPRIV
23941 setx 0x0eff3abc436756bc, %r1, %r28
23942 stxa %r28, [%g0] 0x72
23943 ta T_CHANGE_NONHPRIV
23944 .word 0x25400001 ! 43: FBPLG fblg,a,pn %fcc0, <label_0x1>
23945 .word 0xe497e130 ! 44: LDUHA_I lduha [%r31, + 0x0130] %asi, %r18
23946 otherw
23947 mov 0xb4, %r30
23948 .word 0x91d0001e ! 45: Tcc_R ta icc_or_xcc, %r0 + %r30
23949 .word 0xa985000b ! 46: WR_SET_SOFTINT_R wr %r20, %r11, %set_softint
23950 nop
23951 ta T_CHANGE_HPRIV
23952 mov 0x1+1, %r10
23953 set sync_thr_counter5, %r23
23954#ifndef SPC
23955 ldxa [%g0]0x63, %o1
23956 and %o1, 0x38, %o1
23957 add %o1, %r23, %r23
23958#endif
23959 cas [%r23],%g0,%r10 !lock
23960 brnz %r10, cwq_1_33
23961 rd %asi, %r12
23962 wr %g0, 0x40, %asi
23963 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
23964 and %l1, 0x3, %l1 ! Check if busy/enabled ..
23965 cmp %l1, 1
23966 bne cwq_1_33
23967 set CWQ_BASE, %l6
23968 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
23969 best_set_reg(0x20610030, %l1, %l2) !# Control Word
23970 sllx %l2, 32, %l2
23971 stx %l2, [%l6 + 0x0]
23972 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
23973 sub %l2, 0x40, %l2
23974 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
23975 wr %r12, %g0, %asi
23976 st %g0, [%r23]
23977cwq_1_33:
23978 ta T_CHANGE_NONHPRIV
23979 .word 0xa9414000 ! 47: RDPC rd %pc, %r20
23980tagged_1_34:
23981 tsubcctv %r9, 0x1155, %r1
23982 .word 0xe807e17c ! 48: LDUW_I lduw [%r31 + 0x017c], %r20
23983splash_lsu_1_35:
23984 nop
23985 ta T_CHANGE_HPRIV
23986 set 0x5a36a532, %r2
23987 mov 0x3, %r1
23988 sllx %r1, 32, %r1
23989 or %r1, %r2, %r2
23990 stxa %r2, [%r0] ASI_LSU_CONTROL
23991 ta T_CHANGE_NONHPRIV
23992 .word 0x3d400001 ! 49: FBPULE fbule,a,pn %fcc0, <label_0x1>
23993ibp_1_36:
23994 nop
23995 .word 0xe8dfc033 ! 50: LDXA_R ldxa [%r31, %r19] 0x01, %r20
23996 .word 0xa9a00170 ! 51: FABSq dis not found
23997
23998intveclr_1_38:
23999 nop
24000 ta T_CHANGE_HPRIV
24001 setx 0x8b2876107e59a825, %r1, %r28
24002 stxa %r28, [%g0] 0x72
24003 .word 0x25400001 ! 52: FBPLG fblg,a,pn %fcc0, <label_0x1>
24004mondo_1_39:
24005 nop
24006 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
24007 stxa %r10, [%r0+0x3c8] %asi
24008 .word 0x9d944011 ! 53: WRPR_WSTATE_R wrpr %r17, %r17, %wstate
24009pmu_1_40:
24010 nop
24011 setx 0xfffff470fffffdb3, %g1, %g7
24012 .word 0xa3800007 ! 54: WR_PERF_COUNTER_R wr %r0, %r7, %-
24013dvapa_1_41:
24014 nop
24015 ta T_CHANGE_HPRIV
24016 mov 0xab3, %r20
24017 mov 0x19, %r19
24018 sllx %r20, 23, %r20
24019 or %r19, %r20, %r19
24020 stxa %r19, [%g0] ASI_LSU_CONTROL
24021 mov 0x38, %r18
24022 stxa %r31, [%r18]0x58
24023 ta T_CHANGE_NONHPRIV
24024 .word 0xe19fdf20 ! 55: LDDFA_R ldda [%r31, %r0], %f16
24025pmu_1_42:
24026 nop
24027 setx 0xfffffacdfffffa62, %g1, %g7
24028 .word 0xa3800007 ! 56: WR_PERF_COUNTER_R wr %r0, %r7, %-
24029tagged_1_43:
24030 taddcctv %r18, 0x1f7f, %r16
24031 .word 0xe807e0c1 ! 57: LDUW_I lduw [%r31 + 0x00c1], %r20
24032splash_lsu_1_44:
24033 nop
24034 ta T_CHANGE_HPRIV
24035 set 0x2e991a0b, %r2
24036 mov 0x5, %r1
24037 sllx %r1, 32, %r1
24038 or %r1, %r2, %r2
24039 stxa %r2, [%r0] ASI_LSU_CONTROL
24040 ta T_CHANGE_NONHPRIV
24041 .word 0x3d400001 ! 58: FBPULE fbule,a,pn %fcc0, <label_0x1>
24042trapasi_1_45:
24043 nop
24044 mov 0x3f0, %r1 ! (VA for ASI 0x25)
24045 .word 0xe89044a0 ! 59: LDUHA_R lduha [%r1, %r0] 0x25, %r20
24046 .word 0x93a309b4 ! 60: FDIVs fdivs %f12, %f20, %f9
24047jmptr_1_46:
24048 nop
24049 best_set_reg(0xe0200000, %r20, %r27)
24050 .word 0xb7c6c000 ! 61: JMPL_R jmpl %r27 + %r0, %r27
24051 fbu,a,pn %fcc0, skip_1_47
24052 .word 0x91b504cb ! 1: FCMPNE32 fcmpne32 %d20, %d42, %r8
24053.align 1024
24054skip_1_47:
24055 .word 0xc30fc000 ! 62: LDXFSR_R ld-fsr [%r31, %r0], %f1
24056splash_cmpr_1_48:
24057 nop
24058 setx 0x043f069b2f5f48c9, %l2, %l1
24059 ta T_CHANGE_HPRIV
24060 wrhpr %l1, %g0, %hsys_tick_cmpr
24061 ta T_CHANGE_NONHPRIV
24062 sub %l1, 40, %g1
24063 .word 0xb1800011 ! 63: WR_STICK_REG_R wr %r0, %r17, %-
24064 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
24065reduce_priv_lvl_1_49:
24066 ta T_CHANGE_NONPRIV ! macro
24067mondo_1_50:
24068 nop
24069 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
24070 ta T_CHANGE_PRIV
24071 stxa %r11, [%r0+0x3c8] %asi
24072 .word 0x9d914014 ! 65: WRPR_WSTATE_R wrpr %r5, %r20, %wstate
24073donret_1_51:
24074 nop
24075 ta T_CHANGE_HPRIV ! macro
24076 rd %pc, %r12
24077 add %r12, (donretarg_1_51-donret_1_51-4), %r12
24078 add %r12, 0x4, %r11
24079 wrpr %g0, 0x1, %tl
24080 wrpr %g0, %r12, %tpc
24081 wrpr %g0, %r11, %tnpc
24082 set (0x007419ee | (0x80 << 24)), %r13
24083 rdpr %tstate, %r16
24084 mov 0x1f, %r19
24085 and %r19, %r16, %r17
24086 andn %r16, %r19, %r16
24087 or %r16, %r17, %r20
24088 wrpr %r20, %g0, %tstate
24089 wrhpr %g0, 0x70e, %htstate
24090 ta T_CHANGE_NONHPRIV ! rand=1 (1)
24091 done
24092donretarg_1_51:
24093 .word 0x93a449d0 ! 66: FDIVd fdivd %f48, %f16, %f40
24094brcommon1_1_52:
24095 nop
24096 setx common_target, %r12, %r27
24097 lduw [%r27], %r12 ! Load common dest into dcache ..
24098 ba,a .+12
24099 .word 0xc32ff105 ! 1: STXFSR_I st-sfr %f1, [0x1105, %r31]
24100 ba,a .+8
24101 jmpl %r27+0, %r27
24102 .word 0x95a449d3 ! 67: FDIVd fdivd %f48, %f50, %f10
24103jmptr_1_53:
24104 nop
24105 best_set_reg(0xe0200000, %r20, %r27)
24106 .word 0xb7c6c000 ! 68: JMPL_R jmpl %r27 + %r0, %r27
24107splash_tba_1_54:
24108 ta T_CHANGE_PRIV
24109 setx 0x0000000000380000, %r11, %r12
24110 .word 0x8b90000c ! 69: WRPR_TBA_R wrpr %r0, %r12, %tba
24111trapasi_1_55:
24112 nop
24113 mov 0x0, %r1 ! (VA for ASI 0x72)
24114 .word 0xd4d84e40 ! 70: LDXA_R ldxa [%r1, %r0] 0x72, %r10
24115pmu_1_56:
24116 nop
24117 setx 0xfffffd61ffffff40, %g1, %g7
24118 .word 0xa3800007 ! 71: WR_PERF_COUNTER_R wr %r0, %r7, %-
24119donret_1_57:
24120 nop
24121 ta T_CHANGE_HPRIV ! macro
24122 rd %pc, %r12
24123 add %r12, (donretarg_1_57-donret_1_57-4), %r12
24124 add %r12, 0x4, %r11
24125 wrpr %g0, 0x1, %tl
24126 wrpr %g0, %r12, %tpc
24127 wrpr %g0, %r11, %tnpc
24128 set (0x00d3ac04 | (22 << 24)), %r13
24129 rdpr %tstate, %r16
24130 mov 0x1f, %r19
24131 and %r19, %r16, %r17
24132 andn %r16, %r19, %r16
24133 or %r16, %r17, %r20
24134 wrpr %r20, %g0, %tstate
24135 wrhpr %g0, 0x905, %htstate
24136 ta T_CHANGE_NONHPRIV ! rand=1 (1)
24137 done
24138donretarg_1_57:
24139 .word 0xd4ffe032 ! 72: SWAPA_I swapa %r10, [%r31 + 0x0032] %asi
24140brcommon1_1_58:
24141 nop
24142 setx common_target, %r12, %r27
24143 lduw [%r27], %r12 ! Load common dest into dcache ..
24144 ba,a .+12
24145 .word 0xd5e7c02b ! 1: CASA_I casa [%r31] 0x 1, %r11, %r10
24146 ba,a .+8
24147 jmpl %r27+0, %r27
24148 .word 0x9f803b51 ! 73: SIR sir 0x1b51
24149 .word 0xe1bfe0e0 ! 74: STDFA_I stda %f16, [0x00e0, %r31]
24150dvapa_1_59:
24151 nop
24152 ta T_CHANGE_HPRIV
24153 mov 0xc1d, %r20
24154 mov 0x1c, %r19
24155 sllx %r20, 23, %r20
24156 or %r19, %r20, %r19
24157 stxa %r19, [%g0] ASI_LSU_CONTROL
24158 mov 0x38, %r18
24159 stxa %r31, [%r18]0x58
24160 ta T_CHANGE_NONHPRIV
24161 .word 0xe1e7e014 ! 75: CASA_R casa [%r31] %asi, %r20, %r16
24162donret_1_60:
24163 nop
24164 ta T_CHANGE_HPRIV ! macro
24165 rd %pc, %r12
24166 add %r12, (donretarg_1_60-donret_1_60-8), %r12
24167 add %r12, 0x4, %r11
24168 wrpr %g0, 0x2, %tl
24169 wrpr %g0, %r12, %tpc
24170 wrpr %g0, %r11, %tnpc
24171 set (0x000fbf2c | (0x55 << 24)), %r13
24172 rdpr %tstate, %r16
24173 mov 0x1f, %r19
24174 and %r19, %r16, %r17
24175 andn %r16, %r19, %r16
24176 or %r16, %r17, %r20
24177 wrpr %r20, %g0, %tstate
24178 wrhpr %g0, 0x4dc, %htstate
24179 ta T_CHANGE_NONPRIV ! rand=0 (1)
24180 retry
24181donretarg_1_60:
24182 .word 0xe06fe1ca ! 76: LDSTUB_I ldstub %r16, [%r31 + 0x01ca]
24183 .word 0x8d903f54 ! 77: WRPR_PSTATE_I wrpr %r0, 0x1f54, %pstate
24184 .word 0xc19fe060 ! 78: LDDFA_I ldda [%r31, 0x0060], %f0
24185 .word 0xe137c000 ! 79: STQF_R - %f16, [%r0, %r31]
24186jmptr_1_62:
24187 nop
24188 best_set_reg(0xe0200000, %r20, %r27)
24189 .word 0xb7c6c000 ! 80: JMPL_R jmpl %r27 + %r0, %r27
24190vahole_1_63:
24191 nop
24192 ta T_CHANGE_NONHPRIV
24193 setx vahole_target3, %r18, %r27
24194 jmpl %r27+0, %r27
24195 .word 0xe13fc014 ! 81: STDF_R std %f16, [%r20, %r31]
24196 fbuge skip_1_64
24197 .word 0xa1a089c1 ! 1: FDIVd fdivd %f2, %f32, %f16
24198.align 2048
24199skip_1_64:
24200 .word 0xa7b504d2 ! 82: FCMPNE32 fcmpne32 %d20, %d18, %r19
24201 .word 0x87802014 ! 83: WRASI_I wr %r0, 0x0014, %asi
24202 .word 0xe6dfe168 ! 84: LDXA_I ldxa [%r31, + 0x0168] %asi, %r19
24203splash_lsu_1_65:
24204 nop
24205 ta T_CHANGE_HPRIV
24206 set 0xdac21b51, %r2
24207 mov 0x1, %r1
24208 sllx %r1, 32, %r1
24209 or %r1, %r2, %r2
24210 stxa %r2, [%r0] ASI_LSU_CONTROL
24211 .word 0x3d400001 ! 85: FBPULE fbule,a,pn %fcc0, <label_0x1>
24212 .word 0x87802089 ! 86: WRASI_I wr %r0, 0x0089, %asi
24213pmu_1_66:
24214 nop
24215 ta T_CHANGE_PRIV
24216 setx 0xfffffc63fffff1f0, %g1, %g7
24217 .word 0xa3800007 ! 87: WR_PERF_COUNTER_R wr %r0, %r7, %-
24218intveclr_1_67:
24219 nop
24220 ta T_CHANGE_HPRIV
24221 setx 0x770a7fc28987215a, %r1, %r28
24222 stxa %r28, [%g0] 0x72
24223 .word 0x25400001 ! 88: FBPLG fblg,a,pn %fcc0, <label_0x1>
24224 nop
24225 ta T_CHANGE_HPRIV
24226 mov 0x1+1, %r10
24227 set sync_thr_counter5, %r23
24228#ifndef SPC
24229 ldxa [%g0]0x63, %o1
24230 and %o1, 0x38, %o1
24231 add %o1, %r23, %r23
24232#endif
24233 cas [%r23],%g0,%r10 !lock
24234 brnz %r10, cwq_1_68
24235 rd %asi, %r12
24236 wr %g0, 0x40, %asi
24237 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
24238 and %l1, 0x3, %l1 ! Check if busy/enabled ..
24239 cmp %l1, 1
24240 bne cwq_1_68
24241 set CWQ_BASE, %l6
24242 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
24243 best_set_reg(0x20610060, %l1, %l2) !# Control Word
24244 sllx %l2, 32, %l2
24245 stx %l2, [%l6 + 0x0]
24246 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
24247 sub %l2, 0x40, %l2
24248 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
24249 wr %r12, %g0, %asi
24250 st %g0, [%r23]
24251cwq_1_68:
24252 ta T_CHANGE_NONHPRIV
24253 .word 0xa5414000 ! 89: RDPC rd %pc, %r18
24254brcommon3_1_69:
24255 nop
24256 setx common_target, %r12, %r27
24257 lduw [%r27], %r12 ! Load common dest into dcache ..
24258 ba,a .+12
24259 .word 0xe46ff0aa ! 1: LDSTUB_I ldstub %r18, [%r31 + 0xfffff0aa]
24260 ba,a .+8
24261 jmpl %r27+0, %r27
24262 .word 0xc32fc012 ! 90: STXFSR_R st-sfr %f1, [%r18, %r31]
24263pmu_1_70:
24264 nop
24265 setx 0xfffff9bbfffff47b, %g1, %g7
24266 .word 0xa3800007 ! 91: WR_PERF_COUNTER_R wr %r0, %r7, %-
24267 .word 0x91940006 ! 92: WRPR_PIL_R wrpr %r16, %r6, %pil
24268 .word 0xe43fc000 ! 93: STD_R std %r18, [%r31 + %r0]
24269mondo_1_72:
24270 nop
24271 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
24272 stxa %r17, [%r0+0x3e8] %asi
24273 .word 0x9d950002 ! 94: WRPR_WSTATE_R wrpr %r20, %r2, %wstate
24274 set 0xd65, %l3
24275 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
24276 .word 0x97b487cc ! 95: PDIST pdistn %d18, %d12, %d42
24277vahole_1_73:
24278 nop
24279 ta T_CHANGE_NONHPRIV
24280 setx vahole_target2, %r18, %r27
24281 jmpl %r27+0, %r27
24282 .word 0xa9b0c494 ! 96: FCMPLE32 fcmple32 %d34, %d20, %r20
24283splash_tba_1_74:
24284 ta T_CHANGE_PRIV
24285 setx 0x0000000000380000, %r11, %r12
24286 .word 0x8b90000c ! 97: WRPR_TBA_R wrpr %r0, %r12, %tba
24287cwp_1_75:
24288 set user_data_start, %o7
24289 .word 0x93902004 ! 98: WRPR_CWP_I wrpr %r0, 0x0004, %cwp
24290 .word 0x99a48d32 ! 99: FsMULd fsmuld %f18, %f18, %f12
24291dvapa_1_76:
24292 nop
24293 ta T_CHANGE_HPRIV
24294 mov 0xab3, %r20
24295 mov 0x4, %r19
24296 sllx %r20, 23, %r20
24297 or %r19, %r20, %r19
24298 stxa %r19, [%g0] ASI_LSU_CONTROL
24299 mov 0x38, %r18
24300 stxa %r31, [%r18]0x58
24301 ta T_CHANGE_NONHPRIV
24302 .word 0xd8dfc02d ! 100: LDXA_R ldxa [%r31, %r13] 0x01, %r12
24303 .word 0xd847e108 ! 101: LDSW_I ldsw [%r31 + 0x0108], %r12
24304mondo_1_77:
24305 nop
24306 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
24307 stxa %r17, [%r0+0x3c8] %asi
24308 .word 0x9d918012 ! 102: WRPR_WSTATE_R wrpr %r6, %r18, %wstate
24309 .word 0xa7540000 ! 103: RDPR_GL <illegal instruction>
24310 .word 0xa9a00173 ! 104: FABSq dis not found
24311
24312 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
24313reduce_priv_lvl_1_79:
24314 ta T_CHANGE_NONPRIV ! macro
24315mondo_1_80:
24316 nop
24317 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
24318 ta T_CHANGE_PRIV
24319 stxa %r4, [%r0+0x3e8] %asi
24320 .word 0x9d914010 ! 106: WRPR_WSTATE_R wrpr %r5, %r16, %wstate
24321 setx 0x2e16c3fd68752a08, %r1, %r28
24322 stxa %r28, [%g0] 0x73
24323intvec_1_81:
24324 .word 0x39400001 ! 107: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
24325 .word 0xc1bfe1e0 ! 108: STDFA_I stda %f0, [0x01e0, %r31]
24326splash_cmpr_1_82:
24327 nop
24328 setx 0x5e8c0a182cc5dcf7, %l2, %l1
24329 ta T_CHANGE_HPRIV
24330 wrhpr %l1, %g0, %hsys_tick_cmpr
24331 ta T_CHANGE_NONHPRIV
24332 sub %l1, 40, %g1
24333 .word 0xb1800011 ! 109: WR_STICK_REG_R wr %r0, %r17, %-
24334pmu_1_83:
24335 nop
24336 setx 0xfffff221fffff5aa, %g1, %g7
24337 .word 0xa3800007 ! 110: WR_PERF_COUNTER_R wr %r0, %r7, %-
24338 .word 0xa7847f42 ! 111: WR_GRAPHICS_STATUS_REG_I wr %r17, 0x1f42, %-
24339 nop
24340 ta T_CHANGE_HPRIV
24341 mov 0x1, %r10
24342 set sync_thr_counter6, %r23
24343#ifndef SPC
24344 ldxa [%g0]0x63, %o1
24345 and %o1, 0x38, %o1
24346 add %o1, %r23, %r23
24347#endif
24348 cas [%r23],%g0,%r10 !lock
24349 brnz %r10, sma_1_84
24350 rd %asi, %r12
24351 wr %g0, 0x40, %asi
24352 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
24353 set 0x001e1fff, %g1
24354 stxa %g1, [%g0 + 0x80] %asi
24355 wr %r12, %g0, %asi
24356 st %g0, [%r23]
24357sma_1_84:
24358 ta T_CHANGE_NONHPRIV
24359 .word 0xe9e7e010 ! 112: CASA_R casa [%r31] %asi, %r16, %r20
24360fpinit_1_85:
24361 setx fp_data_quads, %r19, %r20
24362 ldd [%r20], %f0
24363 ldd [%r20+8], %f4
24364 ld [%r20+16], %fsr
24365 ld [%r20+24], %r19
24366 wr %r19, %g0, %gsr
24367 .word 0x8da009c4 ! 113: FDIVd fdivd %f0, %f4, %f6
24368 nop
24369 ta T_CHANGE_HPRIV
24370 mov 0x1+1, %r10
24371 set sync_thr_counter5, %r23
24372#ifndef SPC
24373 ldxa [%g0]0x63, %o1
24374 and %o1, 0x38, %o1
24375 add %o1, %r23, %r23
24376#endif
24377 cas [%r23],%g0,%r10 !lock
24378 brnz %r10, cwq_1_86
24379 rd %asi, %r12
24380 wr %g0, 0x40, %asi
24381 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
24382 and %l1, 0x3, %l1 ! Check if busy/enabled ..
24383 cmp %l1, 1
24384 bne cwq_1_86
24385 set CWQ_BASE, %l6
24386 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
24387 best_set_reg(0x20610030, %l1, %l2) !# Control Word
24388 sllx %l2, 32, %l2
24389 stx %l2, [%l6 + 0x0]
24390 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
24391 sub %l2, 0x40, %l2
24392 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
24393 wr %r12, %g0, %asi
24394 st %g0, [%r23]
24395cwq_1_86:
24396 ta T_CHANGE_NONHPRIV
24397 .word 0xa5414000 ! 114: RDPC rd %pc, %r18
24398 nop
24399 ta T_CHANGE_HPRIV
24400 mov 0x1, %r10
24401 set sync_thr_counter6, %r23
24402#ifndef SPC
24403 ldxa [%g0]0x63, %o1
24404 and %o1, 0x38, %o1
24405 add %o1, %r23, %r23
24406#endif
24407 cas [%r23],%g0,%r10 !lock
24408 brnz %r10, sma_1_87
24409 rd %asi, %r12
24410 wr %g0, 0x40, %asi
24411 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
24412 set 0x001a1fff, %g1
24413 stxa %g1, [%g0 + 0x80] %asi
24414 wr %r12, %g0, %asi
24415 st %g0, [%r23]
24416sma_1_87:
24417 ta T_CHANGE_NONHPRIV
24418 .word 0xe5e7e00a ! 115: CASA_R casa [%r31] %asi, %r10, %r18
24419 .word 0xa9834013 ! 116: WR_SET_SOFTINT_R wr %r13, %r19, %set_softint
24420vahole_1_88:
24421 nop
24422 ta T_CHANGE_NONHPRIV
24423 setx vahole_target2, %r18, %r27
24424 jmpl %r27+0, %r27
24425 .word 0x87ac4a45 ! 117: FCMPd fcmpd %fcc<n>, %f48, %f36
24426vahole_1_89:
24427 nop
24428 ta T_CHANGE_NONHPRIV
24429 setx vahole_target1, %r18, %r27
24430 jmpl %r27+0, %r27
24431 .word 0xe1bfe1c0 ! 118: STDFA_I stda %f16, [0x01c0, %r31]
24432 .word 0x91930002 ! 119: WRPR_PIL_R wrpr %r12, %r2, %pil
24433 .word 0x87802010 ! 120: WRASI_I wr %r0, 0x0010, %asi
24434pmu_1_91:
24435 nop
24436 setx 0xfffffbd9fffffd43, %g1, %g7
24437 .word 0xa3800007 ! 121: WR_PERF_COUNTER_R wr %r0, %r7, %-
24438 .word 0xd6800bc0 ! 122: LDUWA_R lduwa [%r0, %r0] 0x5e, %r11
24439intveclr_1_92:
24440 nop
24441 ta T_CHANGE_HPRIV
24442 setx 0x659b328efc64e1cb, %r1, %r28
24443 stxa %r28, [%g0] 0x72
24444 .word 0x25400001 ! 123: FBPLG fblg,a,pn %fcc0, <label_0x1>
24445vahole_1_93:
24446 nop
24447 ta T_CHANGE_NONHPRIV
24448 setx vahole_target0, %r18, %r27
24449 jmpl %r27+0, %r27
24450 .word 0xe1bfd920 ! 124: STDFA_R stda %f16, [%r0, %r31]
24451 .word 0xd69fe160 ! 125: LDDA_I ldda [%r31, + 0x0160] %asi, %r11
24452 .word 0xc1bfe1c0 ! 126: STDFA_I stda %f0, [0x01c0, %r31]
24453fpinit_1_95:
24454 setx fp_data_quads, %r19, %r20
24455 ldd [%r20], %f0
24456 ldd [%r20+8], %f4
24457 ld [%r20+16], %fsr
24458 ld [%r20+24], %r19
24459 wr %r19, %g0, %gsr
24460 .word 0x89a009a4 ! 127: FDIVs fdivs %f0, %f4, %f4
24461 .word 0xd68008a0 ! 128: LDUWA_R lduwa [%r0, %r0] 0x45, %r11
24462 nop
24463 ta T_CHANGE_HPRIV
24464 mov 0x1+1, %r10
24465 set sync_thr_counter5, %r23
24466#ifndef SPC
24467 ldxa [%g0]0x63, %o1
24468 and %o1, 0x38, %o1
24469 add %o1, %r23, %r23
24470#endif
24471 cas [%r23],%g0,%r10 !lock
24472 brnz %r10, cwq_1_96
24473 rd %asi, %r12
24474 wr %g0, 0x40, %asi
24475 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
24476 and %l1, 0x3, %l1 ! Check if busy/enabled ..
24477 cmp %l1, 1
24478 bne cwq_1_96
24479 set CWQ_BASE, %l6
24480 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
24481 best_set_reg(0x20610040, %l1, %l2) !# Control Word
24482 sllx %l2, 32, %l2
24483 stx %l2, [%l6 + 0x0]
24484 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
24485 sub %l2, 0x40, %l2
24486 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
24487 wr %r12, %g0, %asi
24488 st %g0, [%r23]
24489cwq_1_96:
24490 ta T_CHANGE_NONHPRIV
24491 .word 0x95414000 ! 129: RDPC rd %pc, %r10
24492 .word 0x8d802004 ! 130: WRFPRS_I wr %r0, 0x0004, %fprs
24493pmu_1_97:
24494 nop
24495 ta T_CHANGE_PRIV
24496 setx 0xfffffb19fffff716, %g1, %g7
24497 .word 0xa3800007 ! 131: WR_PERF_COUNTER_R wr %r0, %r7, %-
24498 invalw
24499 mov 0xb0, %r30
24500 .word 0x91d0001e ! 132: Tcc_R ta icc_or_xcc, %r0 + %r30
24501splash_htba_1_98:
24502 nop
24503 ta T_CHANGE_HPRIV
24504 setx 0x0000000000280000, %r11, %r12
24505 .word 0x8b98000c ! 133: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
24506mondo_1_99:
24507 nop
24508 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
24509 ta T_CHANGE_PRIV
24510 stxa %r16, [%r0+0x3d8] %asi
24511 .word 0x9d93000d ! 134: WRPR_WSTATE_R wrpr %r12, %r13, %wstate
24512jmptr_1_100:
24513 nop
24514 best_set_reg(0xe0200000, %r20, %r27)
24515 .word 0xb7c6c000 ! 135: JMPL_R jmpl %r27 + %r0, %r27
24516 fbl,a,pn %fcc0, skip_1_101
24517 brlez,a,pn %r11, skip_1_101
24518.align 1024
24519skip_1_101:
24520 .word 0xc30fc000 ! 136: LDXFSR_R ld-fsr [%r31, %r0], %f1
24521 .word 0x99a00168 ! 137: FABSq dis not found
24522
24523 .word 0x91d02034 ! 138: Tcc_I ta icc_or_xcc, %r0 + 52
24524 .word 0xd8cfe0e0 ! 139: LDSBA_I ldsba [%r31, + 0x00e0] %asi, %r12
24525 nop
24526 ta T_CHANGE_HPRIV
24527 mov 0x1+1, %r10
24528 set sync_thr_counter5, %r23
24529#ifndef SPC
24530 ldxa [%g0]0x63, %o1
24531 and %o1, 0x38, %o1
24532 add %o1, %r23, %r23
24533#endif
24534 cas [%r23],%g0,%r10 !lock
24535 brnz %r10, cwq_1_103
24536 rd %asi, %r12
24537 wr %g0, 0x40, %asi
24538 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
24539 and %l1, 0x3, %l1 ! Check if busy/enabled ..
24540 cmp %l1, 1
24541 bne cwq_1_103
24542 set CWQ_BASE, %l6
24543 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
24544 best_set_reg(0x20610080, %l1, %l2) !# Control Word
24545 sllx %l2, 32, %l2
24546 stx %l2, [%l6 + 0x0]
24547 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
24548 sub %l2, 0x40, %l2
24549 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
24550 wr %r12, %g0, %asi
24551 st %g0, [%r23]
24552cwq_1_103:
24553 ta T_CHANGE_NONHPRIV
24554 .word 0xa7414000 ! 140: RDPC rd %pc, %r19
24555 .word 0x8d903179 ! 141: WRPR_PSTATE_I wrpr %r0, 0x1179, %pstate
24556donret_1_105:
24557 nop
24558 ta T_CHANGE_HPRIV ! macro
24559 rd %pc, %r12
24560 add %r12, (donretarg_1_105-donret_1_105-4), %r12
24561 add %r12, 0x4, %r11
24562 wrpr %g0, 0x2, %tl
24563 wrpr %g0, %r12, %tpc
24564 wrpr %g0, %r11, %tnpc
24565 set (0x00c15ac6 | (0x55 << 24)), %r13
24566 rdpr %tstate, %r16
24567 mov 0x1f, %r19
24568 and %r19, %r16, %r17
24569 andn %r16, %r19, %r16
24570 or %r16, %r17, %r20
24571 wrpr %r20, %g0, %tstate
24572 wrhpr %g0, 0x7c7, %htstate
24573 ta T_CHANGE_NONPRIV ! rand=0 (1)
24574 done
24575donretarg_1_105:
24576 .word 0xe66fe1d7 ! 142: LDSTUB_I ldstub %r19, [%r31 + 0x01d7]
24577fpinit_1_106:
24578 setx fp_data_quads, %r19, %r20
24579 ldd [%r20], %f0
24580 ldd [%r20+8], %f4
24581 ld [%r20+16], %fsr
24582 ld [%r20+24], %r19
24583 wr %r19, %g0, %gsr
24584 .word 0xc3e83d6b ! 143: PREFETCHA_I prefetcha [%r0, + 0xfffffd6b] %asi, #one_read
24585donret_1_107:
24586 nop
24587 ta T_CHANGE_HPRIV ! macro
24588 rd %pc, %r12
24589 add %r12, (donretarg_1_107-donret_1_107-4), %r12
24590 add %r12, 0x4, %r11
24591 wrpr %g0, 0x2, %tl
24592 wrpr %g0, %r12, %tpc
24593 wrpr %g0, %r11, %tnpc
24594 set (0x00b79592 | (0x88 << 24)), %r13
24595 rdpr %tstate, %r16
24596 mov 0x1f, %r19
24597 and %r19, %r16, %r17
24598 andn %r16, %r19, %r16
24599 or %r16, %r17, %r20
24600 wrpr %r20, %g0, %tstate
24601 wrhpr %g0, 0xe8e, %htstate
24602 ta T_CHANGE_NONPRIV ! rand=0 (1)
24603 done
24604donretarg_1_107:
24605 .word 0x95a249c6 ! 144: FDIVd fdivd %f40, %f6, %f10
24606 nop
24607 ta T_CHANGE_HPRIV
24608 mov 0x1, %r10
24609 set sync_thr_counter6, %r23
24610#ifndef SPC
24611 ldxa [%g0]0x63, %o1
24612 and %o1, 0x38, %o1
24613 add %o1, %r23, %r23
24614#endif
24615 cas [%r23],%g0,%r10 !lock
24616 brnz %r10, sma_1_108
24617 rd %asi, %r12
24618 wr %g0, 0x40, %asi
24619 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
24620 set 0x000e1fff, %g1
24621 stxa %g1, [%g0 + 0x80] %asi
24622 wr %r12, %g0, %asi
24623 st %g0, [%r23]
24624sma_1_108:
24625 ta T_CHANGE_NONHPRIV
24626 .word 0xd5e7e00a ! 145: CASA_R casa [%r31] %asi, %r10, %r10
24627 otherw
24628 mov 0xb3, %r30
24629 .word 0x93d0001e ! 146: Tcc_R tne icc_or_xcc, %r0 + %r30
24630splash_htba_1_109:
24631 nop
24632 ta T_CHANGE_HPRIV
24633 setx 0x0000000000280000, %r11, %r12
24634 .word 0x8b98000c ! 147: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
24635ibp_1_110:
24636 nop
24637 .word 0xe1bfe140 ! 148: STDFA_I stda %f16, [0x0140, %r31]
24638mondo_1_111:
24639 nop
24640 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
24641 stxa %r19, [%r0+0x3c8] %asi
24642 .word 0x9d90c013 ! 149: WRPR_WSTATE_R wrpr %r3, %r19, %wstate
24643 .word 0x8d802000 ! 150: WRFPRS_I wr %r0, 0x0000, %fprs
24644 .word 0x8d903b22 ! 151: WRPR_PSTATE_I wrpr %r0, 0x1b22, %pstate
24645 fbne skip_1_113
24646 fblg skip_1_113
24647.align 32
24648skip_1_113:
24649 .word 0xc32fc000 ! 152: STXFSR_R st-sfr %f1, [%r0, %r31]
24650splash_hpstate_1_114:
24651 .word 0x33400001 ! 1: FBPE fbe,a,pn %fcc0, <label_0x1>
24652 .word 0x819823ed ! 153: WRHPR_HPSTATE_I wrhpr %r0, 0x03ed, %hpstate
24653cwp_1_115:
24654 set user_data_start, %o7
24655 .word 0x93902000 ! 154: WRPR_CWP_I wrpr %r0, 0x0000, %cwp
24656 .word 0xa2dc0014 ! 155: SMULcc_R smulcc %r16, %r20, %r17
24657 .word 0x91950014 ! 156: WRPR_PIL_R wrpr %r20, %r20, %pil
24658vahole_1_117:
24659 nop
24660 ta T_CHANGE_NONHPRIV
24661 setx vahole_target0, %r18, %r27
24662 jmpl %r27+0, %r27
24663 .word 0xc19fc2c0 ! 157: LDDFA_R ldda [%r31, %r0], %f0
24664vahole_1_118:
24665 nop
24666 ta T_CHANGE_NONHPRIV
24667 setx vahole_target3, %r18, %r27
24668 jmpl %r27+0, %r27
24669 .word 0xc19fd920 ! 158: LDDFA_R ldda [%r31, %r0], %f0
24670 .word 0x87ac0a51 ! 159: FCMPd fcmpd %fcc<n>, %f16, %f48
24671ibp_1_120:
24672 nop
24673 ta T_CHANGE_NONHPRIV
24674 .word 0xe03ffc0f ! 160: STD_I std %r16, [%r31 + 0xfffffc0f]
24675 nop
24676 ta T_CHANGE_HPRIV
24677 mov 0x1+1, %r10
24678 set sync_thr_counter5, %r23
24679#ifndef SPC
24680 ldxa [%g0]0x63, %o1
24681 and %o1, 0x38, %o1
24682 add %o1, %r23, %r23
24683#endif
24684 cas [%r23],%g0,%r10 !lock
24685 brnz %r10, cwq_1_121
24686 rd %asi, %r12
24687 wr %g0, 0x40, %asi
24688 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
24689 and %l1, 0x3, %l1 ! Check if busy/enabled ..
24690 cmp %l1, 1
24691 bne cwq_1_121
24692 set CWQ_BASE, %l6
24693 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
24694 best_set_reg(0x206100e0, %l1, %l2) !# Control Word
24695 sllx %l2, 32, %l2
24696 stx %l2, [%l6 + 0x0]
24697 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
24698 sub %l2, 0x40, %l2
24699 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
24700 wr %r12, %g0, %asi
24701 st %g0, [%r23]
24702cwq_1_121:
24703 ta T_CHANGE_NONHPRIV
24704 .word 0x95414000 ! 161: RDPC rd %pc, %r10
24705 .word 0x93a00169 ! 162: FABSq dis not found
24706
24707 .word 0xe19fe1c0 ! 163: LDDFA_I ldda [%r31, 0x01c0], %f16
24708mondo_1_123:
24709 nop
24710 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
24711 ta T_CHANGE_PRIV
24712 stxa %r12, [%r0+0x3d0] %asi
24713 .word 0x9d91c012 ! 164: WRPR_WSTATE_R wrpr %r7, %r18, %wstate
24714splash_tba_1_124:
24715 ta T_CHANGE_PRIV
24716 set 0x120000, %r12
24717 .word 0x8b90000c ! 165: WRPR_TBA_R wrpr %r0, %r12, %tba
24718vahole_1_125:
24719 nop
24720 ta T_CHANGE_NONHPRIV
24721 setx vahole_target1, %r18, %r27
24722 jmpl %r27+0, %r27
24723 .word 0xe1bfde00 ! 166: STDFA_R stda %f16, [%r0, %r31]
24724trapasi_1_126:
24725 nop
24726 mov 0x20, %r1 ! (VA for ASI 0x5b)
24727 .word 0xd2c04b60 ! 167: LDSWA_R ldswa [%r1, %r0] 0x5b, %r9
24728ibp_1_127:
24729 nop
24730 .word 0x9f803c0f ! 168: SIR sir 0x1c0f
24731donret_1_128:
24732 nop
24733 ta T_CHANGE_HPRIV ! macro
24734 rd %pc, %r12
24735 add %r12, (donretarg_1_128-donret_1_128-8), %r12
24736 add %r12, 0x4, %r11
24737 wrpr %g0, 0x2, %tl
24738 wrpr %g0, %r12, %tpc
24739 wrpr %g0, %r11, %tnpc
24740 set (0x003aef2d | (0x8a << 24)), %r13
24741 rdpr %tstate, %r16
24742 mov 0x1f, %r19
24743 and %r19, %r16, %r17
24744 andn %r16, %r19, %r16
24745 or %r16, %r17, %r20
24746 wrpr %r20, %g0, %tstate
24747 wrhpr %g0, 0x3c5, %htstate
24748 ta T_CHANGE_NONPRIV ! rand=0 (1)
24749 retry
24750donretarg_1_128:
24751 .word 0xd2ffe1f2 ! 169: SWAPA_I swapa %r9, [%r31 + 0x01f2] %asi
24752jmptr_1_129:
24753 nop
24754 best_set_reg(0xe0200000, %r20, %r27)
24755 .word 0xb7c6c000 ! 170: JMPL_R jmpl %r27 + %r0, %r27
24756 .word 0xc32fc014 ! 171: STXFSR_R st-sfr %f1, [%r20, %r31]
24757vahole_1_131:
24758 nop
24759 ta T_CHANGE_NONHPRIV
24760 setx vahole_target3, %r18, %r27
24761 jmpl %r27+0, %r27
24762 .word 0xa7a409a7 ! 172: FDIVs fdivs %f16, %f7, %f19
24763 .word 0xe727e098 ! 173: STF_I st %f19, [0x0098, %r31]
24764 nop
24765 ta T_CHANGE_HPRIV
24766 mov 0x1+1, %r10
24767 set sync_thr_counter5, %r23
24768#ifndef SPC
24769 ldxa [%g0]0x63, %o1
24770 and %o1, 0x38, %o1
24771 add %o1, %r23, %r23
24772#endif
24773 cas [%r23],%g0,%r10 !lock
24774 brnz %r10, cwq_1_132
24775 rd %asi, %r12
24776 wr %g0, 0x40, %asi
24777 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
24778 and %l1, 0x3, %l1 ! Check if busy/enabled ..
24779 cmp %l1, 1
24780 bne cwq_1_132
24781 set CWQ_BASE, %l6
24782 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
24783 best_set_reg(0x206100e0, %l1, %l2) !# Control Word
24784 sllx %l2, 32, %l2
24785 stx %l2, [%l6 + 0x0]
24786 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
24787 sub %l2, 0x40, %l2
24788 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
24789 wr %r12, %g0, %asi
24790 st %g0, [%r23]
24791cwq_1_132:
24792 ta T_CHANGE_NONHPRIV
24793 .word 0x95414000 ! 174: RDPC rd %pc, %r10
24794 .word 0x87802055 ! 175: WRASI_I wr %r0, 0x0055, %asi
24795donret_1_133:
24796 nop
24797 ta T_CHANGE_HPRIV ! macro
24798 rd %pc, %r12
24799 add %r12, (donretarg_1_133-donret_1_133-4), %r12
24800 add %r12, 0x4, %r11
24801 wrpr %g0, 0x1, %tl
24802 wrpr %g0, %r12, %tpc
24803 wrpr %g0, %r11, %tnpc
24804 set (0x00485a62 | (0x80 << 24)), %r13
24805 rdpr %tstate, %r16
24806 mov 0x1f, %r19
24807 and %r19, %r16, %r17
24808 andn %r16, %r19, %r16
24809 or %r16, %r17, %r20
24810 wrpr %r20, %g0, %tstate
24811 wrhpr %g0, 0xc1d, %htstate
24812 ta T_CHANGE_NONPRIV ! rand=0 (1)
24813 .word 0x22ccc001 ! 1: BRZ brz,a,pt %r19,<label_0xcc001>
24814 done
24815donretarg_1_133:
24816 .word 0x99a209cd ! 176: FDIVd fdivd %f8, %f44, %f12
24817 .word 0x93500000 ! 177: RDPR_TPC <illegal instruction>
24818br_badelay2_1_134:
24819 .word 0x34800001 ! 1: BG bg,a <label_0x1>
24820 pdist %f0, %f12, %f30
24821 .word 0x95b44312 ! 178: ALIGNADDRESS alignaddr %r17, %r18, %r10
24822 setx 0xba0ff0773aae87bc, %r1, %r28
24823 stxa %r28, [%g0] 0x73
24824intvec_1_135:
24825 .word 0x39400001 ! 179: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
24826 fbge skip_1_136
24827 .word 0x87ac4a51 ! 1: FCMPd fcmpd %fcc<n>, %f48, %f48
24828.align 128
24829skip_1_136:
24830 .word 0xc36fe07a ! 180: PREFETCH_I prefetch [%r31 + 0x007a], #one_read
24831 .word 0x9b500000 ! 181: RDPR_TPC <illegal instruction>
24832 .word 0xda8008a0 ! 182: LDUWA_R lduwa [%r0, %r0] 0x45, %r13
24833 .word 0x38800001 ! 183: BGU bgu,a <label_0x1>
24834intveclr_1_137:
24835 nop
24836 ta T_CHANGE_HPRIV
24837 setx 0xf4da6d24be34f681, %r1, %r28
24838 stxa %r28, [%g0] 0x72
24839 ta T_CHANGE_NONHPRIV
24840 .word 0x25400001 ! 184: FBPLG fblg,a,pn %fcc0, <label_0x1>
24841 invalw
24842 mov 0xb0, %r30
24843 .word 0x93d0001e ! 185: Tcc_R tne icc_or_xcc, %r0 + %r30
24844dvapa_1_138:
24845 nop
24846 ta T_CHANGE_HPRIV
24847 mov 0x909, %r20
24848 mov 0x15, %r19
24849 sllx %r20, 23, %r20
24850 or %r19, %r20, %r19
24851 stxa %r19, [%g0] ASI_LSU_CONTROL
24852 mov 0x38, %r18
24853 stxa %r31, [%r18]0x58
24854 ta T_CHANGE_NONHPRIV
24855 .word 0xdabfc032 ! 186: STDA_R stda %r13, [%r31 + %r18] 0x01
24856donret_1_139:
24857 nop
24858 ta T_CHANGE_HPRIV ! macro
24859 rd %pc, %r12
24860 add %r12, (donretarg_1_139-donret_1_139-4), %r12
24861 add %r12, 0x4, %r11
24862 wrpr %g0, 0x2, %tl
24863 wrpr %g0, %r12, %tpc
24864 wrpr %g0, %r11, %tnpc
24865 set (0x001514b0 | (0x80 << 24)), %r13
24866 rdpr %tstate, %r16
24867 mov 0x1f, %r19
24868 and %r19, %r16, %r17
24869 andn %r16, %r19, %r16
24870 or %r16, %r17, %r20
24871 wrpr %r20, %g0, %tstate
24872 wrhpr %g0, 0x656, %htstate
24873 ta T_CHANGE_NONHPRIV ! rand=1 (1)
24874 .word 0x24800001 ! 1: BLE ble,a <label_0x1>
24875 done
24876donretarg_1_139:
24877 .word 0xdaffe1d0 ! 187: SWAPA_I swapa %r13, [%r31 + 0x01d0] %asi
24878 fblg skip_1_140
24879 ble skip_1_140
24880.align 512
24881skip_1_140:
24882 .word 0xa7b244ca ! 188: FCMPNE32 fcmpne32 %d40, %d10, %r19
24883memptr_1_141:
24884 set user_data_start, %r31
24885 .word 0x8581b0f4 ! 189: WRCCR_I wr %r6, 0x10f4, %ccr
24886dvapa_1_142:
24887 nop
24888 ta T_CHANGE_HPRIV
24889 mov 0x9c2, %r20
24890 mov 0x1, %r19
24891 sllx %r20, 23, %r20
24892 or %r19, %r20, %r19
24893 stxa %r19, [%g0] ASI_LSU_CONTROL
24894 mov 0x38, %r18
24895 stxa %r31, [%r18]0x58
24896 ta T_CHANGE_NONHPRIV
24897 .word 0x87a84a4a ! 190: FCMPd fcmpd %fcc<n>, %f32, %f10
24898dvapa_1_143:
24899 nop
24900 ta T_CHANGE_HPRIV
24901 mov 0xcfb, %r20
24902 mov 0x1b, %r19
24903 sllx %r20, 23, %r20
24904 or %r19, %r20, %r19
24905 stxa %r19, [%g0] ASI_LSU_CONTROL
24906 mov 0x38, %r18
24907 stxa %r31, [%r18]0x58
24908 ta T_CHANGE_NONHPRIV
24909 .word 0xe7e7e00b ! 191: CASA_R casa [%r31] %asi, %r11, %r19
24910fpinit_1_144:
24911 setx fp_data_quads, %r19, %r20
24912 ldd [%r20], %f0
24913 ldd [%r20+8], %f4
24914 ld [%r20+16], %fsr
24915 ld [%r20+24], %r19
24916 wr %r19, %g0, %gsr
24917 .word 0xc3e82620 ! 192: PREFETCHA_I prefetcha [%r0, + 0x0620] %asi, #one_read
24918 .word 0xa66c000d ! 193: UDIVX_R udivx %r16, %r13, %r19
24919donret_1_145:
24920 nop
24921 ta T_CHANGE_HPRIV ! macro
24922 rd %pc, %r12
24923 add %r12, (donretarg_1_145-donret_1_145-4), %r12
24924 add %r12, 0x4, %r11
24925 wrpr %g0, 0x2, %tl
24926 wrpr %g0, %r12, %tpc
24927 wrpr %g0, %r11, %tnpc
24928 set (0x00019ee1 | (4 << 24)), %r13
24929 rdpr %tstate, %r16
24930 mov 0x1f, %r19
24931 and %r19, %r16, %r17
24932 andn %r16, %r19, %r16
24933 or %r16, %r17, %r20
24934 wrpr %r20, %g0, %tstate
24935 wrhpr %g0, 0xc5, %htstate
24936 ta T_CHANGE_NONHPRIV ! rand=1 (1)
24937 .word 0x3a800001 ! 1: BCC bcc,a <label_0x1>
24938 done
24939donretarg_1_145:
24940 .word 0xe6ffe0d4 ! 194: SWAPA_I swapa %r19, [%r31 + 0x00d4] %asi
24941 .word 0x91910007 ! 195: WRPR_PIL_R wrpr %r4, %r7, %pil
24942 .word 0x91908010 ! 196: WRPR_PIL_R wrpr %r2, %r16, %pil
24943 .word 0xa7a2c9b1 ! 197: FDIVs fdivs %f11, %f17, %f19
24944 .word 0x9f802de6 ! 198: SIR sir 0x0de6
24945 .word 0x3e780001 ! 199: BPVC <illegal instruction>
24946 .word 0x87802055 ! 200: WRASI_I wr %r0, 0x0055, %asi
24947splash_hpstate_1_149:
24948 ta T_CHANGE_NONHPRIV
24949 .word 0x8198249f ! 201: WRHPR_HPSTATE_I wrhpr %r0, 0x049f, %hpstate
24950 .word 0xe697e148 ! 202: LDUHA_I lduha [%r31, + 0x0148] %asi, %r19
24951dvapa_1_150:
24952 nop
24953 ta T_CHANGE_HPRIV
24954 mov 0xd24, %r20
24955 mov 0x1a, %r19
24956 sllx %r20, 23, %r20
24957 or %r19, %r20, %r19
24958 stxa %r19, [%g0] ASI_LSU_CONTROL
24959 mov 0x38, %r18
24960 stxa %r31, [%r18]0x58
24961 ta T_CHANGE_NONHPRIV
24962 .word 0xe69fc02c ! 203: LDDA_R ldda [%r31, %r12] 0x01, %r19
24963 .word 0xa7828010 ! 204: WR_GRAPHICS_STATUS_REG_R wr %r10, %r16, %-
24964brcommon2_1_152:
24965 nop
24966 setx common_target, %r12, %r27
24967 ba,a .+12
24968 .word 0xa7b7c712 ! 1: FMULD8SUx16 fmuld8ulx16 %f31, %f18, %d50
24969 ba,a .+8
24970 jmpl %r27+0, %r27
24971 .word 0xc19fdb60 ! 205: LDDFA_R ldda [%r31, %r0], %f0
24972 .word 0xa9454000 ! 206: RD_CLEAR_SOFTINT rd %clear_softint, %r20
24973 .word 0xe897e120 ! 207: LDUHA_I lduha [%r31, + 0x0120] %asi, %r20
24974 nop
24975 ta T_CHANGE_HPRIV
24976 mov 0x1, %r10
24977 set sync_thr_counter6, %r23
24978#ifndef SPC
24979 ldxa [%g0]0x63, %o1
24980 and %o1, 0x38, %o1
24981 add %o1, %r23, %r23
24982#endif
24983 cas [%r23],%g0,%r10 !lock
24984 brnz %r10, sma_1_153
24985 rd %asi, %r12
24986 wr %g0, 0x40, %asi
24987 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
24988 set 0x00021fff, %g1
24989 stxa %g1, [%g0 + 0x80] %asi
24990 wr %r12, %g0, %asi
24991 st %g0, [%r23]
24992sma_1_153:
24993 ta T_CHANGE_NONHPRIV
24994 .word 0xe9e7e00b ! 208: CASA_R casa [%r31] %asi, %r11, %r20
24995vahole_1_154:
24996 nop
24997 ta T_CHANGE_NONHPRIV
24998 setx vahole_target3, %r18, %r27
24999 jmpl %r27+0, %r27
25000 .word 0xe1bfd920 ! 209: STDFA_R stda %f16, [%r0, %r31]
25001splash_lsu_1_155:
25002 nop
25003 ta T_CHANGE_HPRIV
25004 set 0x0cd5618c, %r2
25005 mov 0x3, %r1
25006 sllx %r1, 32, %r1
25007 or %r1, %r2, %r2
25008 stxa %r2, [%r0] ASI_LSU_CONTROL
25009 ta T_CHANGE_NONHPRIV
25010 .word 0x3d400001 ! 210: FBPULE fbule,a,pn %fcc0, <label_0x1>
25011splash_hpstate_1_156:
25012 .word 0x34800001 ! 1: BG bg,a <label_0x1>
25013 .word 0x81982896 ! 211: WRHPR_HPSTATE_I wrhpr %r0, 0x0896, %hpstate
25014fpinit_1_157:
25015 setx fp_data_quads, %r19, %r20
25016 ldd [%r20], %f0
25017 ldd [%r20+8], %f4
25018 ld [%r20+16], %fsr
25019 ld [%r20+24], %r19
25020 wr %r19, %g0, %gsr
25021 .word 0x8da009c4 ! 212: FDIVd fdivd %f0, %f4, %f6
25022splash_tba_1_158:
25023 ta T_CHANGE_PRIV
25024 setx 0x0000000000380000, %r11, %r12
25025 .word 0x8b90000c ! 213: WRPR_TBA_R wrpr %r0, %r12, %tba
25026intveclr_1_159:
25027 nop
25028 ta T_CHANGE_HPRIV
25029 setx 0xb4ab9829a0f1cbe3, %r1, %r28
25030 stxa %r28, [%g0] 0x72
25031 .word 0x25400001 ! 214: FBPLG fblg,a,pn %fcc0, <label_0x1>
25032mondo_1_160:
25033 nop
25034 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
25035 stxa %r17, [%r0+0x3d8] %asi
25036 .word 0x9d914003 ! 215: WRPR_WSTATE_R wrpr %r5, %r3, %wstate
25037 .word 0xc1bfc2c0 ! 216: STDFA_R stda %f0, [%r0, %r31]
25038pmu_1_162:
25039 nop
25040 ta T_CHANGE_PRIV
25041 setx 0xfffffeb1fffff604, %g1, %g7
25042 .word 0xa3800007 ! 217: WR_PERF_COUNTER_R wr %r0, %r7, %-
25043donret_1_163:
25044 nop
25045 ta T_CHANGE_HPRIV ! macro
25046 rd %pc, %r12
25047 add %r12, (donretarg_1_163-donret_1_163-4), %r12
25048 add %r12, 0x4, %r11
25049 wrpr %g0, 0x1, %tl
25050 wrpr %g0, %r12, %tpc
25051 wrpr %g0, %r11, %tnpc
25052 set (0x0005823a | (0x88 << 24)), %r13
25053 rdpr %tstate, %r16
25054 mov 0x1f, %r19
25055 and %r19, %r16, %r17
25056 andn %r16, %r19, %r16
25057 or %r16, %r17, %r20
25058 wrpr %r20, %g0, %tstate
25059 wrhpr %g0, 0xe4d, %htstate
25060 ta T_CHANGE_NONPRIV ! rand=0 (1)
25061 .word 0x2f400001 ! 1: FBPU fbu,a,pn %fcc0, <label_0x1>
25062 done
25063donretarg_1_163:
25064 .word 0xa5a449cd ! 218: FDIVd fdivd %f48, %f44, %f18
25065 invalw
25066 mov 0xb3, %r30
25067 .word 0x93d0001e ! 219: Tcc_R tne icc_or_xcc, %r0 + %r30
25068 .word 0xa5464000 ! 220: RD_STICK_CMPR_REG rd %-, %r18
25069vahole_1_164:
25070 nop
25071 ta T_CHANGE_NONHPRIV
25072 setx vahole_target3, %r18, %r27
25073 jmpl %r27+0, %r27
25074 .word 0xe4bfc032 ! 221: STDA_R stda %r18, [%r31 + %r18] 0x01
25075ibp_1_165:
25076 nop
25077 .word 0xe49fc02b ! 222: LDDA_R ldda [%r31, %r11] 0x01, %r18
25078dvapa_1_166:
25079 nop
25080 ta T_CHANGE_HPRIV
25081 mov 0xcff, %r20
25082 mov 0x14, %r19
25083 sllx %r20, 23, %r20
25084 or %r19, %r20, %r19
25085 stxa %r19, [%g0] ASI_LSU_CONTROL
25086 mov 0x38, %r18
25087 stxa %r31, [%r18]0x58
25088 ta T_CHANGE_NONHPRIV
25089 .word 0xe1bfe0a0 ! 223: STDFA_I stda %f16, [0x00a0, %r31]
25090 .word 0xe44fe1c8 ! 224: LDSB_I ldsb [%r31 + 0x01c8], %r18
25091mondo_1_167:
25092 nop
25093 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
25094 ta T_CHANGE_PRIV
25095 stxa %r19, [%r0+0x3c8] %asi
25096 .word 0x9d934002 ! 225: WRPR_WSTATE_R wrpr %r13, %r2, %wstate
25097 .word 0x9a828007 ! 226: ADDcc_R addcc %r10, %r7, %r13
25098 .word 0xdadfc028 ! 227: LDXA_R ldxa [%r31, %r8] 0x01, %r13
25099vahole_1_169:
25100 nop
25101 ta T_CHANGE_NONHPRIV
25102 setx vahole_target2, %r18, %r27
25103 jmpl %r27+0, %r27
25104 .word 0x87ad0a52 ! 228: FCMPd fcmpd %fcc<n>, %f20, %f18
25105 nop
25106 ta T_CHANGE_HPRIV
25107 mov 0x1+1, %r10
25108 set sync_thr_counter5, %r23
25109#ifndef SPC
25110 ldxa [%g0]0x63, %o1
25111 and %o1, 0x38, %o1
25112 add %o1, %r23, %r23
25113#endif
25114 cas [%r23],%g0,%r10 !lock
25115 brnz %r10, cwq_1_170
25116 rd %asi, %r12
25117 wr %g0, 0x40, %asi
25118 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
25119 and %l1, 0x3, %l1 ! Check if busy/enabled ..
25120 cmp %l1, 1
25121 bne cwq_1_170
25122 set CWQ_BASE, %l6
25123 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
25124 best_set_reg(0x206100e0, %l1, %l2) !# Control Word
25125 sllx %l2, 32, %l2
25126 stx %l2, [%l6 + 0x0]
25127 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
25128 sub %l2, 0x40, %l2
25129 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
25130 wr %r12, %g0, %asi
25131 st %g0, [%r23]
25132cwq_1_170:
25133 ta T_CHANGE_NONHPRIV
25134 .word 0x91414000 ! 229: RDPC rd %pc, %r8
25135vahole_1_171:
25136 nop
25137 ta T_CHANGE_NONHPRIV
25138 setx vahole_target0, %r18, %r27
25139 jmpl %r27+0, %r27
25140 .word 0xd11fc008 ! 230: LDDF_R ldd [%r31, %r8], %f8
25141 .word 0x91934014 ! 231: WRPR_PIL_R wrpr %r13, %r20, %pil
25142pmu_1_173:
25143 nop
25144 setx 0xfffff084fffff77a, %g1, %g7
25145 .word 0xa3800007 ! 232: WR_PERF_COUNTER_R wr %r0, %r7, %-
25146 .word 0xc32fc014 ! 233: STXFSR_R st-sfr %f1, [%r20, %r31]
25147 .word 0xa568c013 ! 234: SDIVX_R sdivx %r3, %r19, %r18
25148splash_cmpr_1_175:
25149 nop
25150 setx 0xfa9740f3f931439b, %l2, %l1
25151 ta T_CHANGE_PRIV
25152 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
25153 sub %l1, 40, %g1
25154 .word 0x89900011 ! 235: WRPR_TICK_R wrpr %r0, %r17, %tick
25155#if (defined SPC || defined CMP)
25156!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_1_176) + 8, 16, 16)) -> intp(4,0,31)
25157!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_1_176)&0xffffffff) + 8, 16, 16)) -> intp(4,0,31)
25158#else
25159 setx 0xcecd09d67f6d6d91, %r1, %r28
25160 stxa %r28, [%g0] 0x73
25161#endif
25162intvec_1_176:
25163 .word 0x39400001 ! 236: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
25164dvapa_1_177:
25165 nop
25166 ta T_CHANGE_HPRIV
25167 mov 0xe9b, %r20
25168 mov 0x10, %r19
25169 sllx %r20, 23, %r20
25170 or %r19, %r20, %r19
25171 stxa %r19, [%g0] ASI_LSU_CONTROL
25172 mov 0x38, %r18
25173 stxa %r31, [%r18]0x58
25174 ta T_CHANGE_NONHPRIV
25175 .word 0xe1bfd960 ! 237: STDFA_R stda %f16, [%r0, %r31]
25176vahole_1_178:
25177 nop
25178 ta T_CHANGE_NONHPRIV
25179 setx vahole_target3, %r18, %r27
25180 jmpl %r27+0, %r27
25181 .word 0xe19fde00 ! 238: LDDFA_R ldda [%r31, %r0], %f16
25182fpinit_1_179:
25183 setx fp_data_quads, %r19, %r20
25184 ldd [%r20], %f0
25185 ldd [%r20+8], %f4
25186 ld [%r20+16], %fsr
25187 ld [%r20+24], %r19
25188 wr %r19, %g0, %gsr
25189 .word 0x8da009c4 ! 239: FDIVd fdivd %f0, %f4, %f6
25190mondo_1_180:
25191 nop
25192 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
25193 stxa %r2, [%r0+0x3d0] %asi
25194 .word 0x9d920011 ! 240: WRPR_WSTATE_R wrpr %r8, %r17, %wstate
25195vahole_1_181:
25196 nop
25197 ta T_CHANGE_NONHPRIV
25198 setx vahole_target1, %r18, %r27
25199 jmpl %r27+0, %r27
25200 .word 0xe19fda00 ! 241: LDDFA_R ldda [%r31, %r0], %f16
25201#if (defined SPC || defined CMP)
25202!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_1_182) + 48, 16, 16)) -> intp(3,0,25)
25203!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_1_182)&0xffffffff) + 48, 16, 16)) -> intp(3,0,25)
25204#else
25205 setx 0x28d34a0877c21438, %r1, %r28
25206 stxa %r28, [%g0] 0x73
25207#endif
25208intvec_1_182:
25209 .word 0x39400001 ! 242: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
25210 .word 0xe4800be0 ! 243: LDUWA_R lduwa [%r0, %r0] 0x5f, %r18
25211intveclr_1_183:
25212 nop
25213 ta T_CHANGE_HPRIV
25214 setx 0xe5cc17aeaa50f654, %r1, %r28
25215 stxa %r28, [%g0] 0x72
25216 ta T_CHANGE_NONHPRIV
25217 .word 0x25400001 ! 244: FBPLG fblg,a,pn %fcc0, <label_0x1>
25218vahole_1_184:
25219 nop
25220 ta T_CHANGE_NONHPRIV
25221 setx vahole_target3, %r18, %r27
25222 jmpl %r27+0, %r27
25223 .word 0xc32fc011 ! 245: STXFSR_R st-sfr %f1, [%r17, %r31]
25224 nop
25225 ta T_CHANGE_HPRIV
25226 mov 0x1, %r10
25227 set sync_thr_counter6, %r23
25228#ifndef SPC
25229 ldxa [%g0]0x63, %o1
25230 and %o1, 0x38, %o1
25231 add %o1, %r23, %r23
25232#endif
25233 cas [%r23],%g0,%r10 !lock
25234 brnz %r10, sma_1_185
25235 rd %asi, %r12
25236 wr %g0, 0x40, %asi
25237 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
25238 set 0x000a1fff, %g1
25239 stxa %g1, [%g0 + 0x80] %asi
25240 wr %r12, %g0, %asi
25241 st %g0, [%r23]
25242sma_1_185:
25243 ta T_CHANGE_NONHPRIV
25244 .word 0xe5e7e009 ! 246: CASA_R casa [%r31] %asi, %r9, %r18
25245fpinit_1_186:
25246 setx fp_data_quads, %r19, %r20
25247 ldd [%r20], %f0
25248 ldd [%r20+8], %f4
25249 ld [%r20+16], %fsr
25250 ld [%r20+24], %r19
25251 wr %r19, %g0, %gsr
25252 .word 0x87a80a44 ! 247: FCMPd fcmpd %fcc<n>, %f0, %f4
25253vahole_1_187:
25254 nop
25255 ta T_CHANGE_NONHPRIV
25256 setx vahole_target2, %r18, %r27
25257 jmpl %r27+0, %r27
25258 .word 0xe49fc02d ! 248: LDDA_R ldda [%r31, %r13] 0x01, %r18
25259 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
25260reduce_priv_lvl_1_188:
25261 ta T_CHANGE_NONPRIV ! macro
25262brcommon2_1_189:
25263 nop
25264 setx common_target, %r12, %r27
25265 ba,a .+12
25266 .word 0xa5a7c9ca ! 1: FDIVd fdivd %f62, %f10, %f18
25267 ba,a .+8
25268 jmpl %r27+0, %r27
25269 .word 0xc1bfd920 ! 250: STDFA_R stda %f0, [%r0, %r31]
25270mondo_1_190:
25271 nop
25272 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
25273 stxa %r20, [%r0+0x3d8] %asi
25274 .word 0x9d940013 ! 251: WRPR_WSTATE_R wrpr %r16, %r19, %wstate
25275 setx 0xa95e423003ea0030, %r1, %r28
25276 stxa %r28, [%g0] 0x73
25277intvec_1_191:
25278 .word 0x39400001 ! 252: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
25279vahole_1_192:
25280 nop
25281 ta T_CHANGE_NONHPRIV
25282 setx vahole_target3, %r18, %r27
25283 jmpl %r27+0, %r27
25284 .word 0xe29fc029 ! 253: LDDA_R ldda [%r31, %r9] 0x01, %r17
25285ibp_1_193:
25286 nop
25287 ta T_CHANGE_NONHPRIV
25288 .word 0xe1bfde00 ! 254: STDFA_R stda %f16, [%r0, %r31]
25289 .word 0xab8362b6 ! 255: WR_CLEAR_SOFTINT_I wr %r13, 0x02b6, %clear_softint
25290splash_lsu_1_194:
25291 nop
25292 ta T_CHANGE_HPRIV
25293 set 0xde1f3ae7, %r2
25294 mov 0x3, %r1
25295 sllx %r1, 32, %r1
25296 or %r1, %r2, %r2
25297 stxa %r2, [%r0] ASI_LSU_CONTROL
25298 .word 0x3d400001 ! 256: FBPULE fbule,a,pn %fcc0, <label_0x1>
25299 nop
25300 ta T_CHANGE_HPRIV
25301 mov 0x1, %r10
25302 set sync_thr_counter6, %r23
25303#ifndef SPC
25304 ldxa [%g0]0x63, %o1
25305 and %o1, 0x38, %o1
25306 add %o1, %r23, %r23
25307#endif
25308 cas [%r23],%g0,%r10 !lock
25309 brnz %r10, sma_1_195
25310 rd %asi, %r12
25311 wr %g0, 0x40, %asi
25312 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
25313 set 0x00061fff, %g1
25314 stxa %g1, [%g0 + 0x80] %asi
25315 wr %r12, %g0, %asi
25316 st %g0, [%r23]
25317sma_1_195:
25318 ta T_CHANGE_NONHPRIV
25319 .word 0xe3e7e00b ! 257: CASA_R casa [%r31] %asi, %r11, %r17
25320#if (defined SPC || defined CMP)
25321!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_1_196) + 0, 16, 16)) -> intp(7,0,24)
25322!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_1_196)&0xffffffff) + 0, 16, 16)) -> intp(7,0,24)
25323#else
25324 setx 0xf4d48f6685c91882, %r1, %r28
25325 stxa %r28, [%g0] 0x73
25326#endif
25327intvec_1_196:
25328 .word 0x39400001 ! 258: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
25329tglhtw_1_197:
25330 nop
25331 rd %asi, %l3 ! save %asi
25332 ta T_CHANGE_HPRIV
25333 wr %g0, ASI_MMU_ZERO_CONTEXT_TSB_CONFIG, %asi
25334 mov 1, %l2
25335 sllx %l2, 63, %l2
25336 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
25337 xor %l4, %l2, %l4
25338 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi
25339 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
25340 xor %l4, %l2, %l4
25341 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi
25342 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
25343 xor %l4, %l2, %l4
25344 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi
25345 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
25346 xor %l4, %l2, %l4
25347 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi
25348 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
25349 xor %l4, %l2, %l4
25350 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi
25351 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
25352 xor %l4, %l2, %l4
25353 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi
25354 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
25355 xor %l4, %l2, %l4
25356 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi
25357 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
25358 xor %l4, %l2, %l4
25359 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi
25360 ta T_CHANGE_NONHPRIV
25361 wr %g0, %l3, %asi !restore %asi
25362 .word 0xa7b4c993 ! 259: BSHUFFLE fmovc32 %d50, %d50, %d50
25363 .word 0x9f80235c ! 260: SIR sir 0x035c
25364 nop
25365 ta T_CHANGE_HPRIV
25366 mov 0x1, %r10
25367 set sync_thr_counter6, %r23
25368#ifndef SPC
25369 ldxa [%g0]0x63, %o1
25370 and %o1, 0x38, %o1
25371 add %o1, %r23, %r23
25372#endif
25373 cas [%r23],%g0,%r10 !lock
25374 brnz %r10, sma_1_198
25375 rd %asi, %r12
25376 wr %g0, 0x40, %asi
25377 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
25378 set 0x00161fff, %g1
25379 stxa %g1, [%g0 + 0x80] %asi
25380 wr %r12, %g0, %asi
25381 st %g0, [%r23]
25382sma_1_198:
25383 ta T_CHANGE_NONHPRIV
25384 .word 0xe7e7e00a ! 261: CASA_R casa [%r31] %asi, %r10, %r19
25385splash_tba_1_199:
25386 ta T_CHANGE_PRIV
25387 setx 0x0000000000380000, %r11, %r12
25388 .word 0x8b90000c ! 262: WRPR_TBA_R wrpr %r0, %r12, %tba
25389splash_hpstate_1_200:
25390 ta T_CHANGE_NONHPRIV
25391 .word 0x81982807 ! 263: WRHPR_HPSTATE_I wrhpr %r0, 0x0807, %hpstate
25392mondo_1_201:
25393 nop
25394 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
25395 ta T_CHANGE_PRIV
25396 stxa %r5, [%r0+0x3d8] %asi
25397 .word 0x9d92c002 ! 264: WRPR_WSTATE_R wrpr %r11, %r2, %wstate
25398tagged_1_202:
25399 tsubcctv %r5, 0x1397, %r18
25400 .word 0xe607e0e4 ! 265: LDUW_I lduw [%r31 + 0x00e4], %r19
25401 nop
25402 mov 0x80, %g3
25403 stxa %g3, [%g3] 0x5f
25404 .word 0xe65fc000 ! 266: LDX_R ldx [%r31 + %r0], %r19
25405mondo_1_203:
25406 nop
25407 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
25408 stxa %r2, [%r0+0x3c0] %asi
25409 .word 0x9d94c011 ! 267: WRPR_WSTATE_R wrpr %r19, %r17, %wstate
25410splash_cmpr_1_204:
25411 nop
25412 setx 0xe36024e67f15c4c8, %l2, %l1
25413 ta T_CHANGE_HPRIV
25414 wrhpr %l1, %g0, %hsys_tick_cmpr
25415 ta T_CHANGE_NONHPRIV
25416 sub %l1, 40, %g1
25417 .word 0xb1800011 ! 268: WR_STICK_REG_R wr %r0, %r17, %-
25418intveclr_1_205:
25419 nop
25420 ta T_CHANGE_HPRIV
25421 setx 0x70245bab58e915a3, %r1, %r28
25422 stxa %r28, [%g0] 0x72
25423 ta T_CHANGE_NONHPRIV
25424 .word 0x25400001 ! 269: FBPLG fblg,a,pn %fcc0, <label_0x1>
25425 .word 0x8d902327 ! 270: WRPR_PSTATE_I wrpr %r0, 0x0327, %pstate
25426cwp_1_207:
25427 set user_data_start, %o7
25428 .word 0x93902001 ! 271: WRPR_CWP_I wrpr %r0, 0x0001, %cwp
25429#if (defined SPC || defined CMP)
25430!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_1_208) + 16, 16, 16)) -> intp(6,0,0)
25431!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_1_208)&0xffffffff) + 16, 16, 16)) -> intp(6,0,0)
25432#else
25433 setx 0xe6b19cd490c3ec8b, %r1, %r28
25434 stxa %r28, [%g0] 0x73
25435#endif
25436intvec_1_208:
25437 .word 0x39400001 ! 272: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
25438ibp_1_209:
25439 nop
25440 .word 0xa9b287cb ! 273: PDIST pdistn %d10, %d42, %d20
25441mondo_1_210:
25442 nop
25443 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
25444 ta T_CHANGE_PRIV
25445 stxa %r9, [%r0+0x3d0] %asi
25446 .word 0x9d90c012 ! 274: WRPR_WSTATE_R wrpr %r3, %r18, %wstate
25447ibp_1_211:
25448 nop
25449 ta T_CHANGE_NONHPRIV
25450 .word 0xc19fc2c0 ! 275: LDDFA_R ldda [%r31, %r0], %f0
25451splash_lsu_1_212:
25452 nop
25453 ta T_CHANGE_HPRIV
25454 set 0x689a0fef, %r2
25455 mov 0x1, %r1
25456 sllx %r1, 32, %r1
25457 or %r1, %r2, %r2
25458 stxa %r2, [%r0] ASI_LSU_CONTROL
25459 ta T_CHANGE_NONHPRIV
25460 .word 0x3d400001 ! 276: FBPULE fbule,a,pn %fcc0, <label_0x1>
25461 otherw
25462 mov 0x33, %r30
25463 .word 0x93d0001e ! 277: Tcc_R tne icc_or_xcc, %r0 + %r30
25464trapasi_1_213:
25465 nop
25466 mov 0x38, %r1 ! (VA for ASI 0x50)
25467 .word 0xe8c04a00 ! 278: LDSWA_R ldswa [%r1, %r0] 0x50, %r20
25468pmu_1_214:
25469 nop
25470 ta T_CHANGE_PRIV
25471 setx 0xfffff570fffff31c, %g1, %g7
25472 .word 0xa3800007 ! 279: WR_PERF_COUNTER_R wr %r0, %r7, %-
25473 .word 0xc1bfe1e0 ! 280: STDFA_I stda %f0, [0x01e0, %r31]
25474#if (defined SPC || defined CMP)
25475!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_1_216) + 40, 16, 16)) -> intp(7,0,31)
25476!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_1_216)&0xffffffff) + 40, 16, 16)) -> intp(7,0,31)
25477#else
25478 setx 0x548b6834bd2e5277, %r1, %r28
25479 stxa %r28, [%g0] 0x73
25480#endif
25481intvec_1_216:
25482 .word 0x39400001 ! 281: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
25483splash_lsu_1_217:
25484 nop
25485 ta T_CHANGE_HPRIV
25486 set 0xdeb37925, %r2
25487 mov 0x5, %r1
25488 sllx %r1, 32, %r1
25489 or %r1, %r2, %r2
25490 stxa %r2, [%r0] ASI_LSU_CONTROL
25491 .word 0x3d400001 ! 282: FBPULE fbule,a,pn %fcc0, <label_0x1>
25492mondo_1_218:
25493 nop
25494 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
25495 stxa %r20, [%r0+0x3d8] %asi
25496 .word 0x9d94c006 ! 283: WRPR_WSTATE_R wrpr %r19, %r6, %wstate
25497vahole_1_219:
25498 nop
25499 ta T_CHANGE_NONHPRIV
25500 setx vahole_target0, %r18, %r27
25501 jmpl %r27+0, %r27
25502 .word 0xc1bfdf20 ! 284: STDFA_R stda %f0, [%r0, %r31]
25503mondo_1_220:
25504 nop
25505 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
25506 ta T_CHANGE_PRIV
25507 stxa %r17, [%r0+0x3c8] %asi
25508 .word 0x9d948001 ! 285: WRPR_WSTATE_R wrpr %r18, %r1, %wstate
25509 fbn skip_1_221
25510 .word 0x9bb284c3 ! 1: FCMPNE32 fcmpne32 %d10, %d34, %r13
25511.align 512
25512skip_1_221:
25513 .word 0x39400001 ! 286: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
25514donret_1_222:
25515 nop
25516 ta T_CHANGE_HPRIV ! macro
25517 rd %pc, %r12
25518 add %r12, (donretarg_1_222-donret_1_222-8), %r12
25519 add %r12, 0x4, %r11
25520 wrpr %g0, 0x1, %tl
25521 wrpr %g0, %r12, %tpc
25522 wrpr %g0, %r11, %tnpc
25523 set (0x0063e667 | (0x80 << 24)), %r13
25524 rdpr %tstate, %r16
25525 mov 0x1f, %r19
25526 and %r19, %r16, %r17
25527 andn %r16, %r19, %r16
25528 or %r16, %r17, %r20
25529 wrpr %r20, %g0, %tstate
25530 wrhpr %g0, 0xd06, %htstate
25531 ta T_CHANGE_NONHPRIV ! rand=1 (1)
25532 retry
25533donretarg_1_222:
25534 .word 0xe86fe0e5 ! 287: LDSTUB_I ldstub %r20, [%r31 + 0x00e5]
25535jmptr_1_223:
25536 nop
25537 best_set_reg(0xe0200000, %r20, %r27)
25538 .word 0xb7c6c000 ! 288: JMPL_R jmpl %r27 + %r0, %r27
25539splash_cmpr_1_224:
25540 nop
25541 setx 0x21c1ccba4a32eabd, %l2, %l1
25542 ta T_CHANGE_HPRIV
25543 wrhpr %l1, %g0, %hsys_tick_cmpr
25544 sub %l1, 40, %g1
25545 .word 0x89900011 ! 289: WRPR_TICK_R wrpr %r0, %r17, %tick
25546splash_cmpr_1_225:
25547 nop
25548 setx 0x11c2d17a7cddfd90, %l2, %l1
25549 ta T_CHANGE_PRIV
25550 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
25551 ta T_CHANGE_NONPRIV
25552 sub %l1, 40, %g1
25553 .word 0x89900011 ! 290: WRPR_TICK_R wrpr %r0, %r17, %tick
25554pmu_1_226:
25555 nop
25556 setx 0xffffff03fffff312, %g1, %g7
25557 .word 0xa3800007 ! 291: WR_PERF_COUNTER_R wr %r0, %r7, %-
25558pmu_1_227:
25559 nop
25560 ta T_CHANGE_PRIV
25561 setx 0xfffff5acfffff529, %g1, %g7
25562 .word 0xa3800007 ! 292: WR_PERF_COUNTER_R wr %r0, %r7, %-
25563mondo_1_228:
25564 nop
25565 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
25566 ta T_CHANGE_PRIV
25567 stxa %r20, [%r0+0x3d0] %asi
25568 .word 0x9d904011 ! 293: WRPR_WSTATE_R wrpr %r1, %r17, %wstate
25569 .word 0x87802055 ! 294: WRASI_I wr %r0, 0x0055, %asi
25570 .word 0xa7a00170 ! 295: FABSq dis not found
25571
25572donret_1_230:
25573 nop
25574 ta T_CHANGE_HPRIV ! macro
25575 rd %pc, %r12
25576 add %r12, (donretarg_1_230-donret_1_230-8), %r12
25577 add %r12, 0x4, %r11
25578 wrpr %g0, 0x2, %tl
25579 wrpr %g0, %r12, %tpc
25580 wrpr %g0, %r11, %tnpc
25581 set (0x00a7da4a | (0x58 << 24)), %r13
25582 rdpr %tstate, %r16
25583 mov 0x1f, %r19
25584 and %r19, %r16, %r17
25585 andn %r16, %r19, %r16
25586 or %r16, %r17, %r20
25587 wrpr %r20, %g0, %tstate
25588 wrhpr %g0, 0xa8e, %htstate
25589 ta T_CHANGE_NONPRIV ! rand=0 (1)
25590 .word 0x2d400001 ! 1: FBPG fbg,a,pn %fcc0, <label_0x1>
25591 retry
25592donretarg_1_230:
25593 .word 0xe66fe064 ! 296: LDSTUB_I ldstub %r19, [%r31 + 0x0064]
25594vahole_1_231:
25595 nop
25596 ta T_CHANGE_NONHPRIV
25597 setx vahole_target2, %r18, %r27
25598 jmpl %r27+0, %r27
25599 .word 0xe1bfd920 ! 297: STDFA_R stda %f16, [%r0, %r31]
25600 nop
25601 ta T_CHANGE_HPRIV
25602 mov 0x1+1, %r10
25603 set sync_thr_counter5, %r23
25604#ifndef SPC
25605 ldxa [%g0]0x63, %o1
25606 and %o1, 0x38, %o1
25607 add %o1, %r23, %r23
25608#endif
25609 cas [%r23],%g0,%r10 !lock
25610 brnz %r10, cwq_1_232
25611 rd %asi, %r12
25612 wr %g0, 0x40, %asi
25613 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
25614 and %l1, 0x3, %l1 ! Check if busy/enabled ..
25615 cmp %l1, 1
25616 bne cwq_1_232
25617 set CWQ_BASE, %l6
25618 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
25619 best_set_reg(0x20610090, %l1, %l2) !# Control Word
25620 sllx %l2, 32, %l2
25621 stx %l2, [%l6 + 0x0]
25622 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
25623 sub %l2, 0x40, %l2
25624 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
25625 wr %r12, %g0, %asi
25626 st %g0, [%r23]
25627cwq_1_232:
25628 ta T_CHANGE_NONHPRIV
25629 .word 0x9b414000 ! 298: RDPC rd %pc, %r13
25630trapasi_1_233:
25631 nop
25632 mov 0x3f0, %r1 ! (VA for ASI 0x25)
25633 .word 0xdac044a0 ! 299: LDSWA_R ldswa [%r1, %r0] 0x25, %r13
25634dvapa_1_234:
25635 nop
25636 ta T_CHANGE_HPRIV
25637 mov 0xa4d, %r20
25638 mov 0x19, %r19
25639 sllx %r20, 23, %r20
25640 or %r19, %r20, %r19
25641 stxa %r19, [%g0] ASI_LSU_CONTROL
25642 mov 0x38, %r18
25643 stxa %r31, [%r18]0x58
25644 ta T_CHANGE_NONHPRIV
25645 .word 0xc3ec4031 ! 300: PREFETCHA_R prefetcha [%r17, %r17] 0x01, #one_read
25646intveclr_1_235:
25647 nop
25648 ta T_CHANGE_HPRIV
25649 setx 0x43c4139f34e038a5, %r1, %r28
25650 stxa %r28, [%g0] 0x72
25651 ta T_CHANGE_NONHPRIV
25652 .word 0x25400001 ! 301: FBPLG fblg,a,pn %fcc0, <label_0x1>
25653mondo_1_236:
25654 nop
25655 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
25656 stxa %r5, [%r0+0x3d8] %asi
25657 .word 0x9d910014 ! 302: WRPR_WSTATE_R wrpr %r4, %r20, %wstate
25658 setx 0xb4c8b35fd2d407f3, %r1, %r28
25659 stxa %r28, [%g0] 0x73
25660intvec_1_237:
25661 .word 0x39400001 ! 303: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
25662 .word 0xa5a00174 ! 304: FABSq dis not found
25663
25664pmu_1_239:
25665 nop
25666 ta T_CHANGE_PRIV
25667 setx 0xfffffd6ffffff823, %g1, %g7
25668 .word 0xa3800007 ! 305: WR_PERF_COUNTER_R wr %r0, %r7, %-
25669pmu_1_240:
25670 nop
25671 ta T_CHANGE_PRIV
25672 setx 0xffffff19fffff58a, %g1, %g7
25673 .word 0xa3800007 ! 306: WR_PERF_COUNTER_R wr %r0, %r7, %-
25674ibp_1_241:
25675 nop
25676 ta T_CHANGE_NONHPRIV
25677 .word 0xe5e7e010 ! 307: CASA_R casa [%r31] %asi, %r16, %r18
25678splash_tba_1_242:
25679 ta T_CHANGE_PRIV
25680 setx 0x0000000000380000, %r11, %r12
25681 .word 0x8b90000c ! 308: WRPR_TBA_R wrpr %r0, %r12, %tba
25682change_to_randtl_1_243:
25683 ta T_CHANGE_HPRIV ! macro
25684done_change_to_randtl_1_243:
25685 .word 0x8f902000 ! 309: WRPR_TL_I wrpr %r0, 0x0000, %tl
25686 .word 0x8d802000 ! 310: WRFPRS_I wr %r0, 0x0000, %fprs
25687intveclr_1_244:
25688 nop
25689 ta T_CHANGE_HPRIV
25690 setx 0x54267970a1e4c0fe, %r1, %r28
25691 stxa %r28, [%g0] 0x72
25692 .word 0x25400001 ! 311: FBPLG fblg,a,pn %fcc0, <label_0x1>
25693vahole_1_245:
25694 nop
25695 ta T_CHANGE_NONHPRIV
25696 setx vahole_target3, %r18, %r27
25697 jmpl %r27+0, %r27
25698 .word 0xc1bfdc00 ! 312: STDFA_R stda %f0, [%r0, %r31]
25699 nop
25700 ta T_CHANGE_HPRIV
25701 mov 0x1, %r10
25702 set sync_thr_counter6, %r23
25703#ifndef SPC
25704 ldxa [%g0]0x63, %o1
25705 and %o1, 0x38, %o1
25706 add %o1, %r23, %r23
25707#endif
25708 cas [%r23],%g0,%r10 !lock
25709 brnz %r10, sma_1_246
25710 rd %asi, %r12
25711 wr %g0, 0x40, %asi
25712 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
25713 set 0x000e1fff, %g1
25714 stxa %g1, [%g0 + 0x80] %asi
25715 wr %r12, %g0, %asi
25716 st %g0, [%r23]
25717sma_1_246:
25718 ta T_CHANGE_NONHPRIV
25719 .word 0xe5e7e00c ! 313: CASA_R casa [%r31] %asi, %r12, %r18
25720dvapa_1_247:
25721 nop
25722 ta T_CHANGE_HPRIV
25723 mov 0xecd, %r20
25724 mov 0xe, %r19
25725 sllx %r20, 23, %r20
25726 or %r19, %r20, %r19
25727 stxa %r19, [%g0] ASI_LSU_CONTROL
25728 mov 0x38, %r18
25729 stxa %r31, [%r18]0x58
25730 ta T_CHANGE_NONHPRIV
25731 .word 0x91a4c9d1 ! 314: FDIVd fdivd %f50, %f48, %f8
25732unsupttte_1_248:
25733 nop
25734 ta T_CHANGE_HPRIV
25735 mov 1, %r20
25736 sllx %r20, 63, %r20
25737 or %r20, 2,%r20
25738 stxa %r20, [%g0]0x5c ! D unsupported page size ..
25739 ta T_CHANGE_NONHPRIV
25740 .word 0x91a449b1 ! 315: FDIVs fdivs %f17, %f17, %f8
25741ibp_1_249:
25742 nop
25743 ta T_CHANGE_NONHPRIV
25744 .word 0xd0bfc02c ! 316: STDA_R stda %r8, [%r31 + %r12] 0x01
25745 .word 0x3e800001 ! 317: BVC bvc,a <label_0x1>
25746#if (defined SPC || defined CMP)
25747!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_1_250) + 8, 16, 16)) -> intp(4,0,0)
25748!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_1_250)&0xffffffff) + 8, 16, 16)) -> intp(4,0,0)
25749#else
25750 setx 0x2b6de432d5037210, %r1, %r28
25751 stxa %r28, [%g0] 0x73
25752#endif
25753intvec_1_250:
25754 .word 0x39400001 ! 318: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
25755ibp_1_251:
25756 nop
25757 .word 0xd1e7e00c ! 319: CASA_R casa [%r31] %asi, %r12, %r8
25758vahole_1_252:
25759 nop
25760 ta T_CHANGE_NONHPRIV
25761 setx vahole_target2, %r18, %r27
25762 jmpl %r27+0, %r27
25763 .word 0xc1bfd960 ! 320: STDFA_R stda %f0, [%r0, %r31]
25764 setx 0x6b0889d5af4dd969, %r1, %r28
25765 stxa %r28, [%g0] 0x73
25766intvec_1_253:
25767 .word 0x39400001 ! 321: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
25768 .word 0xd0800c40 ! 322: LDUWA_R lduwa [%r0, %r0] 0x62, %r8
25769dvapa_1_254:
25770 nop
25771 ta T_CHANGE_HPRIV
25772 mov 0x8be, %r20
25773 mov 0x15, %r19
25774 sllx %r20, 23, %r20
25775 or %r19, %r20, %r19
25776 stxa %r19, [%g0] ASI_LSU_CONTROL
25777 mov 0x38, %r18
25778 stxa %r31, [%r18]0x58
25779 ta T_CHANGE_NONHPRIV
25780 .word 0xd09fc02d ! 323: LDDA_R ldda [%r31, %r13] 0x01, %r8
25781 .word 0x8d802004 ! 324: WRFPRS_I wr %r0, 0x0004, %fprs
25782intveclr_1_255:
25783 nop
25784 ta T_CHANGE_HPRIV
25785 setx 0x8cdc9f9f4097377a, %r1, %r28
25786 stxa %r28, [%g0] 0x72
25787 .word 0x25400001 ! 325: FBPLG fblg,a,pn %fcc0, <label_0x1>
25788 nop
25789 ta T_CHANGE_HPRIV
25790 mov 0x1, %r10
25791 set sync_thr_counter6, %r23
25792#ifndef SPC
25793 ldxa [%g0]0x63, %o1
25794 and %o1, 0x38, %o1
25795 add %o1, %r23, %r23
25796#endif
25797 cas [%r23],%g0,%r10 !lock
25798 brnz %r10, sma_1_256
25799 rd %asi, %r12
25800 wr %g0, 0x40, %asi
25801 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
25802 set 0x001e1fff, %g1
25803 stxa %g1, [%g0 + 0x80] %asi
25804 wr %r12, %g0, %asi
25805 st %g0, [%r23]
25806sma_1_256:
25807 ta T_CHANGE_NONHPRIV
25808 .word 0xd1e7e013 ! 326: CASA_R casa [%r31] %asi, %r19, %r8
25809 nop
25810 ta T_CHANGE_HPRIV
25811 mov 0x1+1, %r10
25812 set sync_thr_counter5, %r23
25813#ifndef SPC
25814 ldxa [%g0]0x63, %o1
25815 and %o1, 0x38, %o1
25816 add %o1, %r23, %r23
25817#endif
25818 cas [%r23],%g0,%r10 !lock
25819 brnz %r10, cwq_1_257
25820 rd %asi, %r12
25821 wr %g0, 0x40, %asi
25822 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
25823 and %l1, 0x3, %l1 ! Check if busy/enabled ..
25824 cmp %l1, 1
25825 bne cwq_1_257
25826 set CWQ_BASE, %l6
25827 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
25828 best_set_reg(0x20610010, %l1, %l2) !# Control Word
25829 sllx %l2, 32, %l2
25830 stx %l2, [%l6 + 0x0]
25831 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
25832 sub %l2, 0x40, %l2
25833 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
25834 wr %r12, %g0, %asi
25835 st %g0, [%r23]
25836cwq_1_257:
25837 ta T_CHANGE_NONHPRIV
25838 .word 0x9b414000 ! 327: RDPC rd %pc, %r13
25839ibp_1_258:
25840 nop
25841 ta T_CHANGE_NONHPRIV
25842 .word 0xe1bfe1a0 ! 328: STDFA_I stda %f16, [0x01a0, %r31]
25843fpinit_1_259:
25844 setx fp_data_quads, %r19, %r20
25845 ldd [%r20], %f0
25846 ldd [%r20+8], %f4
25847 ld [%r20+16], %fsr
25848 ld [%r20+24], %r19
25849 wr %r19, %g0, %gsr
25850 .word 0x87a80a44 ! 329: FCMPd fcmpd %fcc<n>, %f0, %f4
25851vahole_1_260:
25852 nop
25853 ta T_CHANGE_NONHPRIV
25854 setx vahole_target1, %r18, %r27
25855 jmpl %r27+0, %r27
25856 .word 0xda97c034 ! 330: LDUHA_R lduha [%r31, %r20] 0x01, %r13
25857 .word 0xda8008a0 ! 331: LDUWA_R lduwa [%r0, %r0] 0x45, %r13
25858 .word 0xa8d2fa50 ! 332: UMULcc_I umulcc %r11, 0xfffffa50, %r20
25859ibp_1_261:
25860 nop
25861 .word 0xc3eac022 ! 333: PREFETCHA_R prefetcha [%r11, %r2] 0x01, #one_read
25862mondo_1_262:
25863 nop
25864 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
25865 ta T_CHANGE_PRIV
25866 stxa %r5, [%r0+0x3c8] %asi
25867 .word 0x9d94400d ! 334: WRPR_WSTATE_R wrpr %r17, %r13, %wstate
25868mondo_1_263:
25869 nop
25870 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
25871 stxa %r8, [%r0+0x3e0] %asi
25872 .word 0x9d940012 ! 335: WRPR_WSTATE_R wrpr %r16, %r18, %wstate
25873 .word 0x93524000 ! 336: RDPR_CWP <illegal instruction>
25874pmu_1_265:
25875 nop
25876 ta T_CHANGE_PRIV
25877 setx 0xfffff8e8fffffb24, %g1, %g7
25878 .word 0xa3800007 ! 337: WR_PERF_COUNTER_R wr %r0, %r7, %-
25879dvapa_1_266:
25880 nop
25881 ta T_CHANGE_HPRIV
25882 mov 0xdca, %r20
25883 mov 0x19, %r19
25884 sllx %r20, 23, %r20
25885 or %r19, %r20, %r19
25886 stxa %r19, [%g0] ASI_LSU_CONTROL
25887 mov 0x38, %r18
25888 stxa %r31, [%r18]0x58
25889 ta T_CHANGE_NONHPRIV
25890 .word 0xd33fc010 ! 338: STDF_R std %f9, [%r16, %r31]
25891splash_lsu_1_267:
25892 nop
25893 ta T_CHANGE_HPRIV
25894 set 0x878e6dc2, %r2
25895 mov 0x3, %r1
25896 sllx %r1, 32, %r1
25897 or %r1, %r2, %r2
25898 stxa %r2, [%r0] ASI_LSU_CONTROL
25899 ta T_CHANGE_NONHPRIV
25900 .word 0x3d400001 ! 339: FBPULE fbule,a,pn %fcc0, <label_0x1>
25901splash_tba_1_268:
25902 ta T_CHANGE_PRIV
25903 set 0x120000, %r12
25904 .word 0x8b90000c ! 340: WRPR_TBA_R wrpr %r0, %r12, %tba
25905 otherw
25906 mov 0x31, %r30
25907 .word 0x83d0001e ! 341: Tcc_R te icc_or_xcc, %r0 + %r30
25908donret_1_269:
25909 nop
25910 ta T_CHANGE_HPRIV ! macro
25911 rd %pc, %r12
25912 add %r12, (donretarg_1_269-donret_1_269-4), %r12
25913 add %r12, 0x4, %r11
25914 wrpr %g0, 0x2, %tl
25915 wrpr %g0, %r12, %tpc
25916 wrpr %g0, %r11, %tnpc
25917 set (0x00350a43 | (20 << 24)), %r13
25918 rdpr %tstate, %r16
25919 mov 0x1f, %r19
25920 and %r19, %r16, %r17
25921 andn %r16, %r19, %r16
25922 or %r16, %r17, %r20
25923 wrpr %r20, %g0, %tstate
25924 wrhpr %g0, 0xf5f, %htstate
25925 ta T_CHANGE_NONPRIV ! rand=0 (1)
25926 .word 0x36800001 ! 1: BGE bge,a <label_0x1>
25927 done
25928donretarg_1_269:
25929 .word 0xa5a289d2 ! 342: FDIVd fdivd %f10, %f18, %f18
25930ibp_1_270:
25931 nop
25932 .word 0xe19fda00 ! 343: LDDFA_R ldda [%r31, %r0], %f16
25933 .word 0x9f802a91 ! 344: SIR sir 0x0a91
25934splash_hpstate_1_271:
25935 .word 0x81982fd4 ! 345: WRHPR_HPSTATE_I wrhpr %r0, 0x0fd4, %hpstate
25936 nop
25937 ta T_CHANGE_HPRIV
25938 mov 0x1+1, %r10
25939 set sync_thr_counter5, %r23
25940#ifndef SPC
25941 ldxa [%g0]0x63, %o1
25942 and %o1, 0x38, %o1
25943 add %o1, %r23, %r23
25944#endif
25945 cas [%r23],%g0,%r10 !lock
25946 brnz %r10, cwq_1_272
25947 rd %asi, %r12
25948 wr %g0, 0x40, %asi
25949 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
25950 and %l1, 0x3, %l1 ! Check if busy/enabled ..
25951 cmp %l1, 1
25952 bne cwq_1_272
25953 set CWQ_BASE, %l6
25954 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
25955 best_set_reg(0x20610020, %l1, %l2) !# Control Word
25956 sllx %l2, 32, %l2
25957 stx %l2, [%l6 + 0x0]
25958 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
25959 sub %l2, 0x40, %l2
25960 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
25961 wr %r12, %g0, %asi
25962 st %g0, [%r23]
25963cwq_1_272:
25964 ta T_CHANGE_NONHPRIV
25965 .word 0x9b414000 ! 346: RDPC rd %pc, %r13
25966ibp_1_273:
25967 nop
25968 ta T_CHANGE_NONHPRIV
25969 .word 0x9f802a91 ! 347: SIR sir 0x0a91
25970#if (defined SPC || defined CMP)
25971!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_1_274) + 48, 16, 16)) -> intp(0,0,9)
25972!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_1_274)&0xffffffff) + 48, 16, 16)) -> intp(0,0,9)
25973#else
25974 setx 0x560fc6c2ed9b8f52, %r1, %r28
25975 stxa %r28, [%g0] 0x73
25976#endif
25977intvec_1_274:
25978 .word 0x39400001 ! 348: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
25979pmu_1_275:
25980 nop
25981 ta T_CHANGE_PRIV
25982 setx 0xfffff1d7fffff92d, %g1, %g7
25983 .word 0xa3800007 ! 349: WR_PERF_COUNTER_R wr %r0, %r7, %-
25984ibp_1_276:
25985 nop
25986 .word 0xdb3fc009 ! 350: STDF_R std %f13, [%r9, %r31]
25987pmu_1_277:
25988 nop
25989 setx 0xfffffad9fffffd18, %g1, %g7
25990 .word 0xa3800007 ! 351: WR_PERF_COUNTER_R wr %r0, %r7, %-
25991 set 0x3135, %l3
25992 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
25993 .word 0xa7b4c7d1 ! 352: PDIST pdistn %d50, %d48, %d50
25994dvapa_1_278:
25995 nop
25996 ta T_CHANGE_HPRIV
25997 mov 0x94d, %r20
25998 mov 0x1a, %r19
25999 sllx %r20, 23, %r20
26000 or %r19, %r20, %r19
26001 stxa %r19, [%g0] ASI_LSU_CONTROL
26002 mov 0x38, %r18
26003 stxa %r31, [%r18]0x58
26004 ta T_CHANGE_NONHPRIV
26005 .word 0xa7702304 ! 353: POPC_I popc 0x0304, %r19
26006 .word 0xe71fe1f0 ! 354: LDDF_I ldd [%r31, 0x01f0], %f19
26007pmu_1_279:
26008 nop
26009 ta T_CHANGE_PRIV
26010 setx 0xfffffbb9fffff277, %g1, %g7
26011 .word 0xa3800007 ! 355: WR_PERF_COUNTER_R wr %r0, %r7, %-
26012#if (defined SPC || defined CMP)
26013!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_1_280) + 8, 16, 16)) -> intp(4,0,11)
26014!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_1_280)&0xffffffff) + 8, 16, 16)) -> intp(4,0,11)
26015#else
26016 setx 0xcfe4a9d8b72512a4, %r1, %r28
26017 stxa %r28, [%g0] 0x73
26018#endif
26019intvec_1_280:
26020 .word 0x39400001 ! 356: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
26021 .word 0xe697e0b8 ! 357: LDUHA_I lduha [%r31, + 0x00b8] %asi, %r19
26022intveclr_1_281:
26023 nop
26024 ta T_CHANGE_HPRIV
26025 setx 0x000725d76b5cc6ee, %r1, %r28
26026 stxa %r28, [%g0] 0x72
26027 ta T_CHANGE_NONHPRIV
26028 .word 0x25400001 ! 358: FBPLG fblg,a,pn %fcc0, <label_0x1>
26029 .word 0x3c780001 ! 359: BPPOS <illegal instruction>
26030pmu_1_282:
26031 nop
26032 setx 0xfffffbc1fffffdc4, %g1, %g7
26033 .word 0xa3800007 ! 360: WR_PERF_COUNTER_R wr %r0, %r7, %-
26034intveclr_1_283:
26035 nop
26036 ta T_CHANGE_HPRIV
26037 setx 0x1d0e37246c14cd45, %r1, %r28
26038 stxa %r28, [%g0] 0x72
26039 ta T_CHANGE_NONHPRIV
26040 .word 0x25400001 ! 361: FBPLG fblg,a,pn %fcc0, <label_0x1>
26041 nop
26042 ta T_CHANGE_HPRIV
26043 mov 0x1+1, %r10
26044 set sync_thr_counter5, %r23
26045#ifndef SPC
26046 ldxa [%g0]0x63, %o1
26047 and %o1, 0x38, %o1
26048 add %o1, %r23, %r23
26049#endif
26050 cas [%r23],%g0,%r10 !lock
26051 brnz %r10, cwq_1_284
26052 rd %asi, %r12
26053 wr %g0, 0x40, %asi
26054 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
26055 and %l1, 0x3, %l1 ! Check if busy/enabled ..
26056 cmp %l1, 1
26057 bne cwq_1_284
26058 set CWQ_BASE, %l6
26059 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
26060 best_set_reg(0x206100b0, %l1, %l2) !# Control Word
26061 sllx %l2, 32, %l2
26062 stx %l2, [%l6 + 0x0]
26063 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
26064 sub %l2, 0x40, %l2
26065 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
26066 wr %r12, %g0, %asi
26067 st %g0, [%r23]
26068cwq_1_284:
26069 ta T_CHANGE_NONHPRIV
26070 .word 0xa1414000 ! 362: RDPC rd %pc, %r16
26071 .word 0xa5450000 ! 363: RD_SET_SOFTINT rd %set_softint, %r18
26072intveclr_1_285:
26073 nop
26074 ta T_CHANGE_HPRIV
26075 setx 0x364214c20f78843f, %r1, %r28
26076 stxa %r28, [%g0] 0x72
26077 .word 0x25400001 ! 364: FBPLG fblg,a,pn %fcc0, <label_0x1>
26078fpinit_1_286:
26079 setx fp_data_quads, %r19, %r20
26080 ldd [%r20], %f0
26081 ldd [%r20+8], %f4
26082 ld [%r20+16], %fsr
26083 ld [%r20+24], %r19
26084 wr %r19, %g0, %gsr
26085 .word 0x89a009a4 ! 365: FDIVs fdivs %f0, %f4, %f4
26086ibp_1_287:
26087 nop
26088 .word 0xa5a409c1 ! 366: FDIVd fdivd %f16, %f32, %f18
26089 nop
26090 ta T_CHANGE_HPRIV
26091 mov 0x1, %r10
26092 set sync_thr_counter6, %r23
26093#ifndef SPC
26094 ldxa [%g0]0x63, %o1
26095 and %o1, 0x38, %o1
26096 add %o1, %r23, %r23
26097#endif
26098 cas [%r23],%g0,%r10 !lock
26099 brnz %r10, sma_1_288
26100 rd %asi, %r12
26101 wr %g0, 0x40, %asi
26102 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
26103 set 0x000a1fff, %g1
26104 stxa %g1, [%g0 + 0x80] %asi
26105 wr %r12, %g0, %asi
26106 st %g0, [%r23]
26107sma_1_288:
26108 ta T_CHANGE_NONHPRIV
26109 .word 0xe5e7e010 ! 367: CASA_R casa [%r31] %asi, %r16, %r18
26110 .word 0x8d802000 ! 368: WRFPRS_I wr %r0, 0x0000, %fprs
26111 setx 0xce2de3aeea99f1b0, %r1, %r28
26112 stxa %r28, [%g0] 0x73
26113intvec_1_289:
26114 .word 0x39400001 ! 369: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
26115 nop
26116 ta T_CHANGE_HPRIV
26117 mov 0x1, %r10
26118 set sync_thr_counter6, %r23
26119#ifndef SPC
26120 ldxa [%g0]0x63, %o1
26121 and %o1, 0x38, %o1
26122 add %o1, %r23, %r23
26123#endif
26124 cas [%r23],%g0,%r10 !lock
26125 brnz %r10, sma_1_290
26126 rd %asi, %r12
26127 wr %g0, 0x40, %asi
26128 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
26129 set 0x00121fff, %g1
26130 stxa %g1, [%g0 + 0x80] %asi
26131 wr %r12, %g0, %asi
26132 st %g0, [%r23]
26133sma_1_290:
26134 ta T_CHANGE_NONHPRIV
26135 .word 0xe5e7e012 ! 370: CASA_R casa [%r31] %asi, %r18, %r18
26136donret_1_291:
26137 nop
26138 ta T_CHANGE_HPRIV ! macro
26139 rd %pc, %r12
26140 add %r12, (donretarg_1_291-donret_1_291-4), %r12
26141 add %r12, 0x4, %r11
26142 wrpr %g0, 0x2, %tl
26143 wrpr %g0, %r12, %tpc
26144 wrpr %g0, %r11, %tnpc
26145 set (0x00cc242c | (32 << 24)), %r13
26146 rdpr %tstate, %r16
26147 mov 0x1f, %r19
26148 and %r19, %r16, %r17
26149 andn %r16, %r19, %r16
26150 or %r16, %r17, %r20
26151 wrpr %r20, %g0, %tstate
26152 wrhpr %g0, 0x25f, %htstate
26153 ta T_CHANGE_NONPRIV ! rand=0 (1)
26154 .word 0x3c800001 ! 1: BPOS bpos,a <label_0x1>
26155 done
26156donretarg_1_291:
26157 .word 0x97a489ca ! 371: FDIVd fdivd %f18, %f10, %f42
26158 .word 0xab84b2e3 ! 372: WR_CLEAR_SOFTINT_I wr %r18, 0x12e3, %clear_softint
26159 .word 0xd6800aa0 ! 373: LDUWA_R lduwa [%r0, %r0] 0x55, %r11
26160 nop
26161 ta T_CHANGE_HPRIV
26162 mov 0x1, %r10
26163 set sync_thr_counter6, %r23
26164#ifndef SPC
26165 ldxa [%g0]0x63, %o1
26166 and %o1, 0x38, %o1
26167 add %o1, %r23, %r23
26168#endif
26169 cas [%r23],%g0,%r10 !lock
26170 brnz %r10, sma_1_292
26171 rd %asi, %r12
26172 wr %g0, 0x40, %asi
26173 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
26174 set 0x000a1fff, %g1
26175 stxa %g1, [%g0 + 0x80] %asi
26176 wr %r12, %g0, %asi
26177 st %g0, [%r23]
26178sma_1_292:
26179 ta T_CHANGE_NONHPRIV
26180 .word 0xd7e7e009 ! 374: CASA_R casa [%r31] %asi, %r9, %r11
26181br_longdelay2_1_293:
26182 .word 0x24c94001 ! 1: BRLEZ brlez,a,pt %r5,<label_0x94001>
26183 .word 0xc36ff2e3 ! 375: PREFETCH_I prefetch [%r31 + 0xfffff2e3], #one_read
26184dvapa_1_294:
26185 nop
26186 ta T_CHANGE_HPRIV
26187 mov 0xcdb, %r20
26188 mov 0x13, %r19
26189 sllx %r20, 23, %r20
26190 or %r19, %r20, %r19
26191 stxa %r19, [%g0] ASI_LSU_CONTROL
26192 mov 0x38, %r18
26193 stxa %r31, [%r18]0x58
26194 ta T_CHANGE_NONHPRIV
26195 .word 0xd6dfc032 ! 376: LDXA_R ldxa [%r31, %r18] 0x01, %r11
26196splash_lsu_1_295:
26197 nop
26198 ta T_CHANGE_HPRIV
26199 set 0x88546b03, %r2
26200 mov 0x1, %r1
26201 sllx %r1, 32, %r1
26202 or %r1, %r2, %r2
26203 stxa %r2, [%r0] ASI_LSU_CONTROL
26204 ta T_CHANGE_NONHPRIV
26205 .word 0x3d400001 ! 377: FBPULE fbule,a,pn %fcc0, <label_0x1>
26206brcommon1_1_296:
26207 nop
26208 setx common_target, %r12, %r27
26209 lduw [%r27], %r12 ! Load common dest into dcache ..
26210 ba,a .+12
26211 .word 0x97a7c9d0 ! 1: FDIVd fdivd %f62, %f16, %f42
26212 ba,a .+8
26213 jmpl %r27+0, %r27
26214 .word 0x87acca41 ! 378: FCMPd fcmpd %fcc<n>, %f50, %f32
26215 .word 0x8d802004 ! 379: WRFPRS_I wr %r0, 0x0004, %fprs
26216splash_cmpr_1_297:
26217 nop
26218 setx 0x3f826a8dba90f03d, %l2, %l1
26219 ta T_CHANGE_PRIV
26220 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
26221 ta T_CHANGE_NONPRIV
26222 sub %l1, 40, %g1
26223 .word 0x89900011 ! 380: WRPR_TICK_R wrpr %r0, %r17, %tick
26224#if (defined SPC || defined CMP)
26225!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_1_298) + 16, 16, 16)) -> intp(6,0,31)
26226!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_1_298)&0xffffffff) + 16, 16, 16)) -> intp(6,0,31)
26227#else
26228 setx 0xb02649c88eed381e, %r1, %r28
26229 stxa %r28, [%g0] 0x73
26230#endif
26231intvec_1_298:
26232 .word 0x39400001 ! 381: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
26233 .word 0x9193000d ! 382: WRPR_PIL_R wrpr %r12, %r13, %pil
26234splash_cmpr_1_300:
26235 nop
26236 setx 0xa1d40de65e998c92, %l2, %l1
26237 ta T_CHANGE_HPRIV
26238 wrhpr %l1, %g0, %hsys_tick_cmpr
26239 ta T_CHANGE_NONHPRIV
26240 sub %l1, 40, %g1
26241 .word 0x89900011 ! 383: WRPR_TICK_R wrpr %r0, %r17, %tick
26242 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
26243reduce_priv_lvl_1_301:
26244 ta T_CHANGE_NONPRIV ! macro
26245mondo_1_302:
26246 nop
26247 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
26248 ta T_CHANGE_PRIV
26249 stxa %r12, [%r0+0x3c0] %asi
26250 .word 0x9d948003 ! 385: WRPR_WSTATE_R wrpr %r18, %r3, %wstate
26251 .word 0xd037e1fc ! 386: STH_I sth %r8, [%r31 + 0x01fc]
26252 nop
26253 mov 0x80, %g3
26254 stxa %g3, [%g3] 0x57
26255 .word 0xd05fc000 ! 387: LDX_R ldx [%r31 + %r0], %r8
26256 setx 0x19993bb2b17d6791, %r1, %r28
26257 stxa %r28, [%g0] 0x73
26258intvec_1_303:
26259 .word 0x39400001 ! 388: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
26260 .word 0xa9a0016b ! 389: FABSq dis not found
26261
26262donret_1_305:
26263 nop
26264 ta T_CHANGE_HPRIV ! macro
26265 rd %pc, %r12
26266 add %r12, (donretarg_1_305-donret_1_305-4), %r12
26267 add %r12, 0x4, %r11
26268 wrpr %g0, 0x1, %tl
26269 wrpr %g0, %r12, %tpc
26270 wrpr %g0, %r11, %tnpc
26271 set (0x008af0c0 | (22 << 24)), %r13
26272 rdpr %tstate, %r16
26273 mov 0x1f, %r19
26274 and %r19, %r16, %r17
26275 andn %r16, %r19, %r16
26276 or %r16, %r17, %r20
26277 wrpr %r20, %g0, %tstate
26278 wrhpr %g0, 0x286, %htstate
26279 ta T_CHANGE_NONPRIV ! rand=0 (1)
26280 .word 0x2f400001 ! 1: FBPU fbu,a,pn %fcc0, <label_0x1>
26281 done
26282donretarg_1_305:
26283 .word 0xe8ffe02c ! 390: SWAPA_I swapa %r20, [%r31 + 0x002c] %asi
26284 .word 0xe897e140 ! 391: LDUHA_I lduha [%r31, + 0x0140] %asi, %r20
26285 .word 0xe8d7e158 ! 392: LDSHA_I ldsha [%r31, + 0x0158] %asi, %r20
26286pmu_1_306:
26287 nop
26288 ta T_CHANGE_PRIV
26289 setx 0xfffff941fffff174, %g1, %g7
26290 .word 0xa3800007 ! 393: WR_PERF_COUNTER_R wr %r0, %r7, %-
26291vahole_1_307:
26292 nop
26293 ta T_CHANGE_NONHPRIV
26294 setx vahole_target2, %r18, %r27
26295 jmpl %r27+0, %r27
26296 .word 0xc1bfe0a0 ! 394: STDFA_I stda %f0, [0x00a0, %r31]
26297trapasi_1_308:
26298 nop
26299 mov 0x30, %r1 ! (VA for ASI 0x5a)
26300 .word 0xe8884b40 ! 395: LDUBA_R lduba [%r1, %r0] 0x5a, %r20
26301trapasi_1_309:
26302 nop
26303 mov 0x18, %r1 ! (VA for ASI 0x50)
26304 .word 0xe8d04a00 ! 396: LDSHA_R ldsha [%r1, %r0] 0x50, %r20
26305ibp_1_310:
26306 nop
26307 ta T_CHANGE_NONHPRIV
26308 .word 0xe9e7e013 ! 397: CASA_R casa [%r31] %asi, %r19, %r20
26309intveclr_1_311:
26310 nop
26311 ta T_CHANGE_HPRIV
26312 setx 0xebd13ee7bc2c86d9, %r1, %r28
26313 stxa %r28, [%g0] 0x72
26314 ta T_CHANGE_NONHPRIV
26315 .word 0x25400001 ! 398: FBPLG fblg,a,pn %fcc0, <label_0x1>
26316splash_tba_1_312:
26317 ta T_CHANGE_PRIV
26318 set 0x120000, %r12
26319 .word 0x8b90000c ! 399: WRPR_TBA_R wrpr %r0, %r12, %tba
26320pmu_1_313:
26321 nop
26322 ta T_CHANGE_PRIV
26323 setx 0xfffff065fffff4fe, %g1, %g7
26324 .word 0xa3800007 ! 400: WR_PERF_COUNTER_R wr %r0, %r7, %-
26325 nop
26326 nop
26327 ta T_CHANGE_PRIV
26328 wrpr %g0, %g0, %gl
26329 nop
26330 nop
26331
26332join_lbl_0_0:
26333SECTION .MAIN
26334.text
26335diag_finish:
26336 nop
26337 nop
26338 nop
26339 ta T_CHANGE_HPRIV
26340 best_set_reg(HV_TRAP_BASE_PA, %r1, %r2)
26341 wrhpr %g2, %g0, %htba
26342 ta T_GOOD_TRAP
26343 nop
26344 nop
26345 nop
26346.data
26347 .xword 0x0
26348 ! fp data rs1, rs2, fsr, gsr quads ..
26349.global fp_data_quads
26350fp_data_quads:
26351 .xword 0x0044000000000000
26352 .xword 0x4028000000000000
26353 .xword 0x0fc0400400000000
26354 .xword 0x0000000000000000
26355 .xword 0x0041000000000000
26356 .xword 0x4022000000000000
26357 .xword 0x0600800000000000
26358 .xword 0x0000000000000000
26359 .xword 0x0220000000000000
26360 .xword 0x4140000000000000
26361 .xword 0x4fc0400400000000
26362 .xword 0x0000000000000000
26363 .xword 0x4090000000000000
26364 .xword 0x0090000000000000
26365 .xword 0x0f80400800000000
26366 .xword 0x0a00000000000000
26367.align 128
26368.global user_data_start
26369.data
26370user_data_start:
26371
26372 .xword 0x242d832d0f3c1231
26373 .xword 0xc26b78aa3a9d9a01
26374 .xword 0xfc5cfc9cb186acc2
26375 .xword 0xafdba8ff0def4739
26376 .xword 0xd8674e2168396c67
26377 .xword 0xca2da4833f508057
26378 .xword 0xa740603a6df9d040
26379 .xword 0xa6449f3a2fe41f82
26380 .xword 0x5e125e636e0221a0
26381 .xword 0xce9e9d981cde1380
26382 .xword 0x5fe070d5633a90ef
26383 .xword 0x5927805a5b300227
26384 .xword 0x63585c4645bf81a1
26385 .xword 0x39b377c80b936143
26386 .xword 0xa97cf91cd8fc78a0
26387 .xword 0x00d6f7e07c8badfa
26388 .xword 0xa80989457d11d9ad
26389 .xword 0x18f6ed21c5efda64
26390 .xword 0x0890e5a8a84c4dad
26391 .xword 0xec34b6b59f25578a
26392 .xword 0xfd4e1481cba6317a
26393 .xword 0x116e0e3351b2212a
26394 .xword 0x9ee600e09fe73016
26395 .xword 0x93335e6ddbe1dcbb
26396 .xword 0xc773e3858dff987d
26397 .xword 0xcc12b2c77a46385d
26398 .xword 0x6288264598873286
26399 .xword 0xe4f61897616d600e
26400 .xword 0x2a47e1e112b1327a
26401 .xword 0xbee6e491050cca1f
26402 .xword 0x58abb5d9d4cd0916
26403 .xword 0xefd45bfd51a56f36
26404 .xword 0xf451491a55f5ae99
26405 .xword 0xd0c4a0e11aed020c
26406 .xword 0xb5563abf8faac6e5
26407 .xword 0x54ef77045256f4e4
26408 .xword 0x7d2898631c942065
26409 .xword 0x46201e5fb596405d
26410 .xword 0x9f7438234b9dbbc6
26411 .xword 0x535d813da48743e1
26412 .xword 0xbce40828cc658689
26413 .xword 0x00d6c9f8b3748eb8
26414 .xword 0x3752f5599bb9be8a
26415 .xword 0xd835fc8a2f75f96f
26416 .xword 0x5e47ee62717bd8b2
26417 .xword 0xa9440e85aac10d96
26418 .xword 0x9e6e1efad753635d
26419 .xword 0xed555983f6cdc993
26420 .xword 0x8f5bf9789068a204
26421 .xword 0x626080ba00a0c416
26422 .xword 0xece76836732ccf39
26423 .xword 0x355804f329784dc1
26424 .xword 0x9626805d125440cf
26425 .xword 0xa1f1d1e64b94c2c5
26426 .xword 0xa001f75b185d5a3f
26427 .xword 0x302cc6c78614eedd
26428 .xword 0x4cc738a97bf554dd
26429 .xword 0x425e216f45676b88
26430 .xword 0x25be5895dee1e083
26431 .xword 0x2ad2bbde3470dc45
26432 .xword 0xcdd034e1516a3c51
26433 .xword 0x7d6a400bcb847580
26434 .xword 0x1f5652b691b525ab
26435 .xword 0x0ce76c935d860534
26436 .xword 0x39bbb1b2016430cf
26437 .xword 0x36fdecb45e65d5c9
26438 .xword 0xdc27a26ba6c0aaa3
26439 .xword 0x528a2b8af3ff4383
26440 .xword 0xee449f1d06f3980c
26441 .xword 0xbb30d21ab2946da1
26442 .xword 0x32dc55cdf5ada672
26443 .xword 0xff97eda5d6ea6772
26444 .xword 0xf830b08f8e869750
26445 .xword 0x56d0d578fa9f0fc4
26446 .xword 0xca053a07a7d54714
26447 .xword 0x262c64ca8f4ad727
26448 .xword 0x587cea28ab23260f
26449 .xword 0x22eea47865fef973
26450 .xword 0xe31b8cb4caea0405
26451 .xword 0x4099ab2d3be00b1d
26452 .xword 0x52bc29f8b75e5fe4
26453 .xword 0x4ddf2431d30974b8
26454 .xword 0x8cfa677c0a3fbbd9
26455 .xword 0xd39721822393e86a
26456 .xword 0x91eb7e4951dd60d5
26457 .xword 0x711d9aedfb59aee3
26458 .xword 0x09ab9b3de37511da
26459 .xword 0x9c4cf2095a1d55f7
26460 .xword 0xdfa0dd11375e00cb
26461 .xword 0xb1519a7abd8a93fd
26462 .xword 0xa68bf384ef162179
26463 .xword 0x77ce54b93945ea40
26464 .xword 0x656341022bc5aea0
26465 .xword 0xcb0151dba4970337
26466 .xword 0x34e2ff37ecea483f
26467 .xword 0x0bf0499ca7a7b66c
26468 .xword 0x8e0dd0100395125a
26469 .xword 0x0bb5ff8bce1cd4c3
26470 .xword 0x9d2c0915e4d5907d
26471 .xword 0x80ed567600a640b8
26472 .xword 0x35444d2b8e65c3da
26473 .xword 0xcbcf6e434d0714d8
26474 .xword 0x90a4cb8b6440d73d
26475 .xword 0xadcba1228bc5ab83
26476 .xword 0xa279ce21d8bac0f6
26477 .xword 0xf6ffa8f60904ef5a
26478 .xword 0xa1ddeea57c5b637f
26479 .xword 0x63d3fc36d9fe5544
26480 .xword 0xf2a8c6fa8bafb1d5
26481 .xword 0x4a3cbc45126dcc5f
26482 .xword 0xbaad567f91b4aa04
26483 .xword 0x08e1c5321f9427a0
26484 .xword 0x7c88ad4a3e8ad92b
26485 .xword 0xf863892b44463241
26486 .xword 0x60ddb30b0f2712f7
26487 .xword 0x60bb1df7f5d8c0a3
26488 .xword 0x2b442d53454a4823
26489 .xword 0x3ed2152f2c83242c
26490 .xword 0xc1da0f0243bec78e
26491 .xword 0x85a3bc98c53733c3
26492 .xword 0x9b68515146219ac4
26493 .xword 0x90292149ca915a12
26494 .xword 0x2ceef826ddf9a4ee
26495 .xword 0xe155701ff1a5bac4
26496 .xword 0xf2f9cea577385785
26497 .xword 0x8d06ae7b2e387ac7
26498 .xword 0x007c1f5a13ac35b6
26499 .xword 0x4c65cfc09db4d241
26500 .xword 0x63921a379d1a2ee0
26501 .xword 0xf7f96093c78e440d
26502 .xword 0x549f4a6bdfe945f1
26503 .xword 0x347204b68931c31b
26504 .xword 0x429ed4538a93512b
26505 .xword 0x03d1b7cd0a208793
26506 .xword 0xf6ad0f4424214e87
26507 .xword 0xb285a5b8df501a48
26508 .xword 0x978c3388a8da8b69
26509 .xword 0xf10d0ddceb08f806
26510 .xword 0x0983eb1a6f0171c1
26511 .xword 0xde5c42a4c21f6f19
26512 .xword 0xbca5c8f2fdd4a6aa
26513 .xword 0xc3f2cf704a91355b
26514 .xword 0xa435f275b0bc2c9f
26515 .xword 0xab64fbe50dc6884b
26516 .xword 0xc107528df1b25a13
26517 .xword 0x86b5f2f7a09d1f00
26518 .xword 0xe4a5e1047a6f69b3
26519 .xword 0x2d02bade6c5fc9bd
26520 .xword 0xdc63ed05edd81e37
26521 .xword 0x23332662cd325bbc
26522 .xword 0x04a8b69c5b3aeea5
26523 .xword 0x38821bd5e606f84f
26524 .xword 0xe5181877e23ea098
26525 .xword 0x8feb66375ac7dfb4
26526 .xword 0x004442dfa87f013b
26527 .xword 0x050d7e5035893813
26528 .xword 0x0fd9b18e1b0f62a3
26529 .xword 0xa0837b10b8547bc2
26530 .xword 0x3855164f613e80ed
26531 .xword 0x9ac858122ca1f345
26532 .xword 0x5abe27032996dd97
26533 .xword 0xfcd123c8e69c7d64
26534 .xword 0x85c2a855198dd476
26535 .xword 0xd028f61ea93434fa
26536 .xword 0xaaa480b17bd49644
26537 .xword 0xd355f8b258ed9c92
26538 .xword 0x1984ed40e4186173
26539 .xword 0x733781b8c7272f11
26540 .xword 0x1b2417b3df76df06
26541 .xword 0x78e1cf13de2a73f1
26542 .xword 0xd0d33c76e9bbc785
26543 .xword 0x1c667e7ecc0067c0
26544 .xword 0x5b2324196181bfb6
26545 .xword 0xcee77981b22a97de
26546 .xword 0xbeb029037fdc47fa
26547 .xword 0x32e2a502d93d34fd
26548 .xword 0xd644ca7a094b88e3
26549 .xword 0xd2fcbc616dd5781a
26550 .xword 0x855df0dcdf998536
26551 .xword 0x8371ca162440f2ed
26552 .xword 0x6196c5fa1ba3a822
26553 .xword 0x399c2bc8327c16b0
26554 .xword 0xaeecbeac2bacdca3
26555 .xword 0x9ee8363383f8ff06
26556 .xword 0x8bff25235d469e84
26557 .xword 0xfe59e601a06ea5e9
26558 .xword 0xf9a96dc153940bfc
26559 .xword 0x0a6d515e37e4b695
26560 .xword 0xacd74b8ce394dd3a
26561 .xword 0x3c4bbb50d6b3688d
26562 .xword 0x17fca77ecb127ded
26563 .xword 0xfc399b1b0201cf1d
26564 .xword 0x217d0eaf0c9ebd6b
26565 .xword 0x64c6c6a078a9fd6d
26566 .xword 0xc989b34237f6d111
26567 .xword 0xf4d2f93bba95731a
26568 .xword 0x2aaff6b61b023a5e
26569 .xword 0xa52be5454f693f76
26570 .xword 0x191e913dee9611e9
26571 .xword 0x4c19517d547d6c1c
26572 .xword 0x0f6ccad40eed070f
26573 .xword 0x29f7454a2b0d41de
26574 .xword 0x41509ce2cbaa96e7
26575 .xword 0xeb8f25f2dca6c271
26576 .xword 0xae5aa572f6860bd4
26577 .xword 0x1d45aba19ff0fa4d
26578 .xword 0xfa4d2d7b8284e0b8
26579 .xword 0x8730b2b47d7a9fb1
26580 .xword 0x9cd1f311a3e63e57
26581 .xword 0x7aa0ad29f2a94700
26582 .xword 0xaf2a24d4c994c736
26583 .xword 0x2ce0414c5fc20b0a
26584 .xword 0xf151cb3640062a01
26585 .xword 0x91eae1bf352ed44e
26586 .xword 0xbf8aedfce8ba8dff
26587 .xword 0xcfb15a8fd3ba822d
26588 .xword 0x39c857f40754cd73
26589 .xword 0x3f8cfacea2c0f5d6
26590 .xword 0xc09b5cc6f6beb282
26591 .xword 0x393697c23f777211
26592 .xword 0x312346993ce6bfcf
26593 .xword 0x4fa5dcddee0fcdd5
26594 .xword 0x0766547ea17c8523
26595 .xword 0x3f11e54b54e3c912
26596 .xword 0x1848d8678bdf1bc7
26597 .xword 0x3cb522dbc5c7c83b
26598 .xword 0x7579bb6aa8a75298
26599 .xword 0x844bbd74a5190100
26600 .xword 0xf409e01ce33f098d
26601 .xword 0x90d7a613ace5676b
26602 .xword 0x71f23026371bde0f
26603 .xword 0x638c3d3ad3b81b03
26604 .xword 0xa51ad02783ec8bba
26605 .xword 0x81c657c04ecb1673
26606 .xword 0xb89c351697ebf130
26607 .xword 0x2487ad6f948360d4
26608 .xword 0x4e24bfd915830fa7
26609 .xword 0xe3ba99caa3a6b33a
26610 .xword 0xd36784d74e043a8e
26611 .xword 0x70a9caf28bb1fccc
26612 .xword 0x0faafae094119172
26613 .xword 0x2861da63c5e91e45
26614 .xword 0x26b397d7b163c9da
26615 .xword 0xefa8694a07d53feb
26616 .xword 0x743cb67450cc8a18
26617 .xword 0x03e0eb566a216690
26618 .xword 0x204f492880bd7ed0
26619 .xword 0x1ee9d61aab82e492
26620 .xword 0xaeaf32b5f6de2344
26621 .xword 0xbca9fc0cd4c5666e
26622 .xword 0x87bc7999408e8e4d
26623 .xword 0x15c3d21b20a28099
26624 .xword 0xec776adaccffc241
26625 .xword 0x3c63632d49983ab7
26626 .xword 0xdd1ffbdab045f338
26627 .xword 0xea81e604892cb89b
26628
26629SECTION .HTRAPS
26630.text
26631.global restore_range_regs
26632restore_range_regs:
26633 wr %g0, ASI_MMU_REAL_RANGE, %asi
26634 mov 1, %g1
26635 sllx %g1, 63, %g1
26636 ldxa [ASI_MMU_REAL_RANGE_0] %asi, %g2
26637 or %g2 ,%g1, %g2
26638 stxa %g2, [ASI_MMU_REAL_RANGE_0] %asi
26639 ldxa [ASI_MMU_REAL_RANGE_1] %asi, %g2
26640 or %g2 ,%g1, %g2
26641 stxa %g2, [ASI_MMU_REAL_RANGE_1] %asi
26642 ldxa [ASI_MMU_REAL_RANGE_2] %asi, %g2
26643 or %g2 ,%g1, %g2
26644 stxa %g2, [ASI_MMU_REAL_RANGE_2] %asi
26645 ldxa [ASI_MMU_REAL_RANGE_3] %asi, %g2
26646 or %g2 ,%g1, %g2
26647 stxa %g2, [ASI_MMU_REAL_RANGE_3] %asi
26648 retry
26649
26650.global wdog_2_ext
26651# 9 "/import/n2-aus-localdir1/somePerson/n2cdmspp/verif/diag/assembly/include/tlu_custom_trap_extensions.s"
26652.global wdog_2_ext
26653.global retry_with_base_tba
26654.global resolve_bad_tte
26655
26656SECTION .HTRAPS
26657.text
26658resolve_bad_tte:
26659 !if pc[13:5]==0, then assume not a relocated handler
26660 rdpr %tpc, %r4
26661 andn %r4, 0xf, %r4
26662 sllx %r4, 49, %r5
26663 brnz,a %r5, retry_with_base_tba
26664 !assume %r27 is where we came from ..
26665 fdivd %f0, %f4, %f12
26666 jmpl %r27+8, %r0
26667 fdivs %f0, %f4, %f12
26668retry_with_base_tba:
26669 best_set_reg(TRAP_BASE_VA, %r3, %r5)
26670 cmp %r4, %r5
26671 bz htrap_5_ext_done
26672 set 0x7fff, %r3
26673 and %r4, %r3, %r4
26674 or %r5, %r4, %r4
26675 wrpr %r4, %tpc
26676 rdpr %tnpc, %r4
26677 and %r4, %r3, %r4
26678 or %r5, %r4, %r4
26679 wrpr %r4, %tnpc
26680 retry
26681
26682htrap_5_ext:
26683 rd %pc, %l2
26684 inc %l3
26685 add %l2, htrap_5_ext_done-htrap_5_ext, %l2
26686 rdpr %tl, %l3
26687 rdpr %tstate, %l4
26688 rdhpr %htstate, %l5
26689 or %l5, 0x4, %l5
26690 inc %l3
26691 wrpr %l3, %tl
26692 wrpr %l2, %tpc
26693 add %l2, 4, %l2
26694 wrpr %l2, %tnpc
26695 wrpr %l4, %tstate
26696 wrhpr %l5, %htstate
26697 retry
26698htrap_5_ext_done:
26699 done
26700
26701wdog_2_ext:
26702 mov 0x1f, %l1
26703 stxa %l1, [%g0] ASI_LSU_CTL_REG
26704 ! If TT != 2, then goto trap handler
26705 rdpr %tt, %l1
26706 cmp %l1, 0x2
26707 bne wdog_2_goto_handler
26708 nop
26709 ! else done
26710 done
26711wdog_2_goto_handler:
26712 rdhpr %htstate, %l3
26713 and %l3, 0x4, %l3 ! If previously in hpriv mode, go to hpriv
26714 brnz,a %l3, wdog_2_goto_handler_1
26715 rdhpr %htba, %l3
26716 srlx %l1, 7, %l3 ! Send priv sw traps to priv mode ..
26717 cmp %l3, 0x2 ! 0x2 = priv sw trap, 0x3=hpriv sw trap ..
26718 be,a wdog_2_goto_handler_1
26719 rdpr %tba, %l3
26720 rdhpr %htba, %l3
26721wdog_2_goto_handler_1:
26722 sllx %l1, 5, %l1
26723 add %l1, %l3, %l3
26724 jmp %l3
26725 nop
26726# 85 "/import/n2-aus-localdir1/somePerson/n2cdmspp/verif/diag/assembly/include/tlu_custom_trap_extensions.s"
26727! Red mode other reset handler
26728! Get htba, and tt and make trap address
26729! Jump to trap handler ..
26730
26731SECTION .RED_SEC
26732.text
26733red_other_ext:
26734 ! IF TL=6, shift stack by one ..
26735 rdpr %tl, %l1
26736 cmp %l1, 6
26737 be start_tsa_shift
26738 nop
26739
26740continue_red_other:
26741 mov 0x1f, %l1
26742 stxa %l1, [%g0] ASI_LSU_CTL_REG
26743
26744 rdpr %tt, %l1
26745
26746 rdhpr %htstate, %l2
26747 and %l2, 0x4, %l2 ! If previously in hpriv mode, go to hpriv
26748 brnz,a %l2, red_goto_handler
26749 rdhpr %htba, %l2
26750 srlx %l1, 7, %l2 ! Send priv sw traps to priv mode ..
26751 cmp %l2, 0x2 ! 0x2 = priv sw trap, 0x3=hpriv sw trap ..
26752 be,a red_goto_handler
26753 rdpr %tba, %l2
26754 rdhpr %htba, %l2
26755red_goto_handler:
26756
26757 sllx %l1, 5, %l1
26758 add %l1, %l2, %l2
26759 rdhpr %hpstate, %l1
26760 jmp %l2
26761 wrhpr %l1, 0x20, %hpstate
26762 nop
26763
26764wdog_red_ext:
26765 ! Shift stack down by 1 ...
26766 rdpr %tl, %l1
26767 cmp %l1, 6
26768 bl wdog_end
26769start_tsa_shift:
26770 mov 0x2, %l2
26771
26772tsa_shift:
26773 wrpr %l2, %tl
26774 rdpr %tt, %l3
26775 rdpr %tpc, %l4
26776 rdpr %tnpc, %l5
26777 rdpr %tstate, %l6
26778 rdhpr %htstate, %l7
26779 dec %l2
26780 wrpr %l2, %tl
26781 wrpr %l3, %tt
26782 wrpr %l4, %tpc
26783 wrpr %l5, %tnpc
26784 wrpr %l6, %tstate
26785 wrhpr %l7, %htstate
26786 add %l2, 2, %l2
26787 cmp %l2, %l1
26788 ble tsa_shift
26789 nop
26790tsa_shift_done:
26791 dec %l1
26792 wrpr %l1, %tl
26793
26794wdog_end:
26795 ! If TT != 2, then goto trap handler
26796 rdpr %tt, %l1
26797
26798 cmp %l1, 0x2
26799 bne continue_red_other
26800 nop
26801 ! else done
26802 mov 0x1f, %l1
26803 stxa %l1, [%g0] ASI_LSU_CTL_REG
26804 done
26805# 925 "diag.j"
26806SECTION .CWQ_DATA DATA_VA =0x4000
26807attr_data {
26808 Name = .CWQ_DATA
26809 hypervisor
26810}
26811
26812.data
26813.align 16
26814.global msg
26815msg:
26816.xword 0xad32fa52374cc6ba
26817.xword 0x4cbf52280549003a
26818
26819.align 16
26820.global results
26821results:
26822.xword 0xDEADBEEFDEADBEEF
26823.xword 0xDEADBEEFDEADBEEF
26824!# CWQ data area
26825.align 64
26826.global CWQ_BASE
26827CWQ_BASE:
26828.xword 0xAAAAAAAAAAAAAAA
26829.xword 0xAAAAAAAAAAAAAAA
26830.xword 0xAAAAAAAAAAAAAAA
26831.xword 0xAAAAAAAAAAAAAAA
26832.xword 0xAAAAAAAAAAAAAAA
26833.xword 0xAAAAAAAAAAAAAAA
26834.xword 0xAAAAAAAAAAAAAAA
26835.xword 0xAAAAAAAAAAAAAAA
26836.xword 0xAAAAAAAAAAAAAAA
26837.xword 0xAAAAAAAAAAAAAAA
26838.xword 0xAAAAAAAAAAAAAAA
26839.xword 0xAAAAAAAAAAAAAAA
26840.xword 0xAAAAAAAAAAAAAAA
26841.xword 0xAAAAAAAAAAAAAAA
26842.xword 0xAAAAAAAAAAAAAAA
26843.xword 0xAAAAAAAAAAAAAAA
26844.xword 0xAAAAAAAAAAAAAAA
26845.xword 0xAAAAAAAAAAAAAAA
26846.xword 0xAAAAAAAAAAAAAAA
26847.xword 0xAAAAAAAAAAAAAAA
26848.xword 0xAAAAAAAAAAAAAAA
26849.xword 0xAAAAAAAAAAAAAAA
26850.xword 0xAAAAAAAAAAAAAAA
26851.xword 0xAAAAAAAAAAAAAAA
26852.global CWQ_LAST
26853.align 64
26854CWQ_LAST:
26855.word 0x0
26856
26857
26858
26859SECTION .MyHTRAPS_0 TEXT_VA = 0x0000000000280000, DATA_VA = 0x00000000002c0000
26860attr_text {
26861 Name = .MyHTRAPS_0,
26862 RA = 0x0000000000280000,
26863 PA = ra2pa(0x0000000000280000,0),
26864 part_0_ctx_zero_tsb_config_3,
26865 part_0_ctx_nonzero_tsb_config_3,
26866 TTE_G = 1,
26867 TTE_Context = 0,
26868 TTE_V = 1,
26869 TTE_Size = PART0_Z_PAGE_SIZE_3,
26870 TTE_NFO = 0,
26871 TTE_IE = 0,
26872 TTE_Soft2 = 0,
26873 TTE_Diag = 0,
26874 TTE_Soft = 0,
26875 TTE_L = 0,
26876 TTE_CP = 0,
26877 TTE_CV = 1,
26878 TTE_E = 0,
26879 TTE_P = 1,
26880 TTE_W = 0,
26881 TTE_X = 0
26882}
26883
26884
26885attr_data {
26886 Name = .MyHTRAPS_0,
26887 RA = 0x00000000002c0000,
26888 PA = ra2pa(0x00000000002c0000,0),
26889 part_0_ctx_zero_tsb_config_3,
26890 part_0_ctx_nonzero_tsb_config_3,
26891 TTE_G = 1,
26892 TTE_Context = 0,
26893 TTE_V = 1,
26894 TTE_Size = PART0_Z_PAGE_SIZE_3,
26895 TTE_NFO = 0,
26896 TTE_IE = 0,
26897 TTE_Soft2 = 0,
26898 TTE_Diag = 0,
26899 TTE_Soft = 0,
26900 TTE_L = 0,
26901 TTE_CP = 0,
26902 TTE_CV = 0,
26903 TTE_E = 0,
26904 TTE_P = 1,
26905 TTE_W = 0
26906}
26907
26908.text
26909#include "htraps.s"
26910#include "tlu_htraps_ext.s"
26911
26912
26913
26914SECTION .MyHTRAPS_1 TEXT_VA = 0x00000000002a0000, DATA_VA = 0x00000000002e0000
26915attr_text {
26916 Name = .MyHTRAPS_1,
26917 RA = 0x00000000002a0000,
26918 PA = ra2pa(0x00000000002a0000,0),
26919 part_0_ctx_zero_tsb_config_3,
26920 part_0_ctx_nonzero_tsb_config_3,
26921 TTE_G = 1,
26922 TTE_Context = 0,
26923 TTE_V = 1,
26924 TTE_Size = PART0_Z_PAGE_SIZE_3,
26925 TTE_NFO = 0,
26926 TTE_IE = 0,
26927 TTE_Soft2 = 0,
26928 TTE_Diag = 0,
26929 TTE_Soft = 0,
26930 TTE_L = 0,
26931 TTE_CP = 0,
26932 TTE_CV = 1,
26933 TTE_E = 0,
26934 TTE_P = 1,
26935 TTE_W = 0,
26936 TTE_X = 0
26937}
26938
26939
26940attr_data {
26941 Name = .MyHTRAPS_1,
26942 RA = 0x00000000002e0000,
26943 PA = ra2pa(0x00000000002e0000,0),
26944 part_0_ctx_zero_tsb_config_3,
26945 part_0_ctx_nonzero_tsb_config_3,
26946 TTE_G = 1,
26947 TTE_Context = 0,
26948 TTE_V = 1,
26949 TTE_Size = PART0_Z_PAGE_SIZE_3,
26950 TTE_NFO = 0,
26951 TTE_IE = 0,
26952 TTE_Soft2 = 0,
26953 TTE_Diag = 0,
26954 TTE_Soft = 0,
26955 TTE_L = 0,
26956 TTE_CP = 1,
26957 TTE_CV = 0,
26958 TTE_E = 0,
26959 TTE_P = 1,
26960 TTE_W = 0
26961}
26962
26963.text
26964#include "htraps.s"
26965#include "tlu_htraps_ext.s"
26966
26967
26968
26969SECTION .MyHTRAPS_2 TEXT_VA = 0x0000000200280000, DATA_VA = 0x00000002002c0000
26970attr_text {
26971 Name = .MyHTRAPS_2,
26972 RA = 0x0000000200280000,
26973 PA = ra2pa(0x0000000200280000,0),
26974 part_0_ctx_zero_tsb_config_3,
26975 part_0_ctx_nonzero_tsb_config_3,
26976 TTE_G = 1,
26977 TTE_Context = 0,
26978 TTE_V = 1,
26979 TTE_Size = PART0_Z_PAGE_SIZE_3,
26980 TTE_NFO = 0,
26981 TTE_IE = 0,
26982 TTE_Soft2 = 0,
26983 TTE_Diag = 0,
26984 TTE_Soft = 0,
26985 TTE_L = 0,
26986 TTE_CP = 1,
26987 TTE_CV = 0,
26988 TTE_E = 0,
26989 TTE_P = 1,
26990 TTE_W = 0,
26991 TTE_X = 0
26992}
26993
26994
26995attr_data {
26996 Name = .MyHTRAPS_2,
26997 RA = 0x00000002002c0000,
26998 PA = ra2pa(0x00000002002c0000,0),
26999 part_0_ctx_zero_tsb_config_3,
27000 part_0_ctx_nonzero_tsb_config_3,
27001 TTE_G = 1,
27002 TTE_Context = 0,
27003 TTE_V = 1,
27004 TTE_Size = PART0_Z_PAGE_SIZE_3,
27005 TTE_NFO = 0,
27006 TTE_IE = 0,
27007 TTE_Soft2 = 0,
27008 TTE_Diag = 0,
27009 TTE_Soft = 0,
27010 TTE_L = 0,
27011 TTE_CP = 0,
27012 TTE_CV = 0,
27013 TTE_E = 0,
27014 TTE_P = 1,
27015 TTE_W = 0
27016}
27017
27018.text
27019#include "htraps.s"
27020#include "tlu_htraps_ext.s"
27021
27022
27023
27024SECTION .MyHTRAPS_3 TEXT_VA = 0x00000002002a0000, DATA_VA = 0x00000002002e0000
27025attr_text {
27026 Name = .MyHTRAPS_3,
27027 RA = 0x00000002002a0000,
27028 PA = ra2pa(0x00000002002a0000,0),
27029 part_0_ctx_zero_tsb_config_3,
27030 part_0_ctx_nonzero_tsb_config_3,
27031 TTE_G = 1,
27032 TTE_Context = 0,
27033 TTE_V = 1,
27034 TTE_Size = PART0_Z_PAGE_SIZE_3,
27035 TTE_NFO = 0,
27036 TTE_IE = 0,
27037 TTE_Soft2 = 0,
27038 TTE_Diag = 0,
27039 TTE_Soft = 0,
27040 TTE_L = 0,
27041 TTE_CP = 1,
27042 TTE_CV = 1,
27043 TTE_E = 1,
27044 TTE_P = 1,
27045 TTE_W = 0,
27046 TTE_X = 0
27047}
27048
27049
27050attr_data {
27051 Name = .MyHTRAPS_3,
27052 RA = 0x00000002002e0000,
27053 PA = ra2pa(0x00000002002e0000,0),
27054 part_0_ctx_zero_tsb_config_3,
27055 part_0_ctx_nonzero_tsb_config_3,
27056 TTE_G = 1,
27057 TTE_Context = 0,
27058 TTE_V = 1,
27059 TTE_Size = PART0_Z_PAGE_SIZE_3,
27060 TTE_NFO = 0,
27061 TTE_IE = 0,
27062 TTE_Soft2 = 0,
27063 TTE_Diag = 0,
27064 TTE_Soft = 0,
27065 TTE_L = 0,
27066 TTE_CP = 1,
27067 TTE_CV = 0,
27068 TTE_E = 0,
27069 TTE_P = 1,
27070 TTE_W = 0
27071}
27072
27073.text
27074#include "htraps.s"
27075#include "tlu_htraps_ext.s"
27076
27077
27078
27079
27080
27081SECTION .MyTRAPS_0 TEXT_VA = 0x0000000000380000, DATA_VA = 0x00000000003c0000
27082attr_text {
27083 Name = .MyTRAPS_0,
27084 RA = 0x0000000000380000,
27085 PA = ra2pa(0x0000000000380000,0),
27086 part_0_ctx_zero_tsb_config_3,
27087 part_0_ctx_nonzero_tsb_config_3,
27088 TTE_G = 1,
27089 TTE_Context = 0,
27090 TTE_V = 1,
27091 TTE_Size = PART0_Z_PAGE_SIZE_3,
27092 TTE_NFO = 0,
27093 TTE_IE = 1,
27094 TTE_Soft2 = 0,
27095 TTE_Diag = 0,
27096 TTE_Soft = 0,
27097 TTE_L = 0,
27098 TTE_CP = 0,
27099 TTE_CV = 1,
27100 TTE_E = 0,
27101 TTE_P = 1,
27102 TTE_W = 0,
27103 TTE_X = 0
27104}
27105
27106
27107attr_data {
27108 Name = .MyTRAPS_0,
27109 RA = 0x00000000003c0000,
27110 PA = ra2pa(0x00000000003c0000,0),
27111 part_0_ctx_zero_tsb_config_3,
27112 part_0_ctx_nonzero_tsb_config_3,
27113 TTE_G = 1,
27114 TTE_Context = 0,
27115 TTE_V = 1,
27116 TTE_Size = PART0_Z_PAGE_SIZE_3,
27117 TTE_NFO = 1,
27118 TTE_IE = 1,
27119 TTE_Soft2 = 0,
27120 TTE_Diag = 0,
27121 TTE_Soft = 0,
27122 TTE_L = 0,
27123 TTE_CP = 0,
27124 TTE_CV = 0,
27125 TTE_E = 0,
27126 TTE_P = 1,
27127 TTE_W = 1
27128}
27129
27130#include "traps.s"
27131
27132
27133
27134SECTION .MyTRAPS_1 TEXT_VA = 0x00000000003a0000, DATA_VA = 0x00000000003e0000
27135attr_text {
27136 Name = .MyTRAPS_1,
27137 RA = 0x00000000003a0000,
27138 PA = ra2pa(0x00000000003a0000,0),
27139 part_0_ctx_zero_tsb_config_3,
27140 part_0_ctx_nonzero_tsb_config_3,
27141 TTE_G = 1,
27142 TTE_Context = 0,
27143 TTE_V = 1,
27144 TTE_Size = PART0_Z_PAGE_SIZE_3,
27145 TTE_NFO = 1,
27146 TTE_IE = 1,
27147 TTE_Soft2 = 0,
27148 TTE_Diag = 0,
27149 TTE_Soft = 0,
27150 TTE_L = 0,
27151 TTE_CP = 0,
27152 TTE_CV = 0,
27153 TTE_E = 1,
27154 TTE_P = 0,
27155 TTE_W = 1,
27156 TTE_X = 0
27157}
27158
27159
27160attr_data {
27161 Name = .MyTRAPS_1,
27162 RA = 0x00000000003e0000,
27163 PA = ra2pa(0x00000000003e0000,0),
27164 part_0_ctx_zero_tsb_config_3,
27165 part_0_ctx_nonzero_tsb_config_3,
27166 TTE_G = 1,
27167 TTE_Context = 0,
27168 TTE_V = 1,
27169 TTE_Size = PART0_Z_PAGE_SIZE_3,
27170 TTE_NFO = 1,
27171 TTE_IE = 1,
27172 TTE_Soft2 = 0,
27173 TTE_Diag = 0,
27174 TTE_Soft = 0,
27175 TTE_L = 0,
27176 TTE_CP = 0,
27177 TTE_CV = 1,
27178 TTE_E = 0,
27179 TTE_P = 1,
27180 TTE_W = 0
27181}
27182
27183#include "traps.s"
27184
27185
27186
27187SECTION .MyTRAPS_2 TEXT_VA = 0x0000000400380000, DATA_VA = 0x00000004003c0000
27188attr_text {
27189 Name = .MyTRAPS_2,
27190 RA = 0x0000000400380000,
27191 PA = ra2pa(0x0000000400380000,0),
27192 part_0_ctx_zero_tsb_config_3,
27193 part_0_ctx_nonzero_tsb_config_3,
27194 TTE_G = 1,
27195 TTE_Context = 0,
27196 TTE_V = 1,
27197 TTE_Size = PART0_Z_PAGE_SIZE_3,
27198 TTE_NFO = 0,
27199 TTE_IE = 1,
27200 TTE_Soft2 = 0,
27201 TTE_Diag = 0,
27202 TTE_Soft = 0,
27203 TTE_L = 0,
27204 TTE_CP = 1,
27205 TTE_CV = 0,
27206 TTE_E = 0,
27207 TTE_P = 0,
27208 TTE_W = 0,
27209 TTE_X = 1
27210}
27211
27212
27213attr_data {
27214 Name = .MyTRAPS_2,
27215 RA = 0x00000004003c0000,
27216 PA = ra2pa(0x00000004003c0000,0),
27217 part_0_ctx_zero_tsb_config_3,
27218 part_0_ctx_nonzero_tsb_config_3,
27219 TTE_G = 1,
27220 TTE_Context = 0,
27221 TTE_V = 1,
27222 TTE_Size = PART0_Z_PAGE_SIZE_3,
27223 TTE_NFO = 0,
27224 TTE_IE = 1,
27225 TTE_Soft2 = 0,
27226 TTE_Diag = 0,
27227 TTE_Soft = 0,
27228 TTE_L = 0,
27229 TTE_CP = 0,
27230 TTE_CV = 0,
27231 TTE_E = 0,
27232 TTE_P = 1,
27233 TTE_W = 1
27234}
27235
27236#include "traps.s"
27237
27238
27239
27240SECTION .MyTRAPS_3 TEXT_VA = 0x00000004003a0000, DATA_VA = 0x00000004003e0000
27241attr_text {
27242 Name = .MyTRAPS_3,
27243 RA = 0x00000004003a0000,
27244 PA = ra2pa(0x00000004003a0000,0),
27245 part_0_ctx_zero_tsb_config_3,
27246 part_0_ctx_nonzero_tsb_config_3,
27247 TTE_G = 1,
27248 TTE_Context = 0,
27249 TTE_V = 1,
27250 TTE_Size = PART0_Z_PAGE_SIZE_3,
27251 TTE_NFO = 1,
27252 TTE_IE = 1,
27253 TTE_Soft2 = 0,
27254 TTE_Diag = 0,
27255 TTE_Soft = 0,
27256 TTE_L = 0,
27257 TTE_CP = 1,
27258 TTE_CV = 1,
27259 TTE_E = 1,
27260 TTE_P = 0,
27261 TTE_W = 0,
27262 TTE_X = 1
27263}
27264
27265
27266attr_data {
27267 Name = .MyTRAPS_3,
27268 RA = 0x00000004003e0000,
27269 PA = ra2pa(0x00000004003e0000,0),
27270 part_0_ctx_zero_tsb_config_3,
27271 part_0_ctx_nonzero_tsb_config_3,
27272 TTE_G = 1,
27273 TTE_Context = 0,
27274 TTE_V = 1,
27275 TTE_Size = PART0_Z_PAGE_SIZE_3,
27276 TTE_NFO = 1,
27277 TTE_IE = 0,
27278 TTE_Soft2 = 0,
27279 TTE_Diag = 0,
27280 TTE_Soft = 0,
27281 TTE_L = 0,
27282 TTE_CP = 1,
27283 TTE_CV = 1,
27284 TTE_E = 0,
27285 TTE_P = 1,
27286 TTE_W = 1
27287}
27288
27289#include "traps.s"
27290
27291
27292
27293
27294
27295SECTION .MyDATA_0 TEXT_VA = 0x00000000e0140000, DATA_VA = 0x0000000060140000
27296attr_data {
27297 Name = .MyDATA_0,
27298 RA = 0x0000000170100000,
27299 PA = ra2pa(0x0000000170100000,0),
27300 part_0_ctx_zero_tsb_config_0,
27301 part_0_ctx_nonzero_tsb_config_0,
27302 TTE_G = 1,
27303 TTE_Context = PCONTEXT,
27304 TTE_V = 1,
27305 TTE_Size = 0,
27306 TTE_NFO = 1,
27307 TTE_IE = 1,
27308 TTE_Soft2 = 0,
27309 TTE_Diag = 0,
27310 TTE_Soft = 0,
27311 TTE_L = 0,
27312 TTE_CP = 0,
27313 TTE_CV = 1,
27314 TTE_E = 1,
27315 TTE_P = 1,
27316 TTE_W = 1
27317}
27318
27319
27320attr_data {
27321 Name = .MyDATA_0,
27322 RA = 0x0000000170100000,
27323 PA = ra2pa(0x0000000170100000,0),
27324 part_0_ctx_zero_tsb_config_1,
27325 part_0_ctx_nonzero_tsb_config_1,
27326 TTE_G = 1,
27327 TTE_Context = SCONTEXT,
27328 TTE_V = 1,
27329 TTE_Size = 0,
27330 TTE_NFO = 0,
27331 TTE_IE = 0,
27332 TTE_Soft2 = 0,
27333 TTE_Diag = 0,
27334 TTE_Soft = 0,
27335 TTE_L = 0,
27336 TTE_CP = 1,
27337 TTE_CV = 0,
27338 TTE_E = 1,
27339 TTE_P = 0,
27340 TTE_W = 1,
27341 tsbonly
27342}
27343
27344
27345attr_data {
27346 Name = .MyDATA_0,
27347 hypervisor
27348}
27349
27350
27351attr_text {
27352 Name = .MyDATA_0,
27353 hypervisor
27354}
27355
27356.data
27357 .xword 0xf86d0317bddb635d
27358 .xword 0x5094f9c74a6e9f84
27359 .xword 0xd8a88f2789345f85
27360 .xword 0xf14f61dadc44c098
27361 .xword 0x587c5ed02e9cffbf
27362 .xword 0x60b6ec24a8456402
27363 .xword 0x870ee9b7151780b9
27364 .xword 0x7515ce34c7387358
27365 .xword 0x40664fd9d4b29d4e
27366 .xword 0xdcfc5ac1f0fc6839
27367 .xword 0x38caf6f4c38c7e30
27368 .xword 0x275cbd4b6048614e
27369 .xword 0xd6c534e4d89eceac
27370 .xword 0x11f008b172f6b04c
27371 .xword 0x0b8a0de73340e9f6
27372 .xword 0x081d99ba89ba46c7
27373 .xword 0x9495540080ee76f9
27374 .xword 0x475e3b486a90c287
27375 .xword 0x924a2953ab44c82e
27376 .xword 0xae73c7a04e286518
27377 .xword 0x664969df7d639612
27378 .xword 0x7bf0f67515374eb4
27379 .xword 0x835c4ffe266d49c4
27380 .xword 0x90d516a9173b4cda
27381 .xword 0x510340040920cc37
27382 .xword 0x7478c2fbabbcfb66
27383 .xword 0x1f9b3163f9c254c0
27384 .xword 0x128496a0377508ae
27385 .xword 0x126d2b422c7f898a
27386 .xword 0x83fe45471a62fdeb
27387 .xword 0xf5d5d6c6cfe38813
27388 .xword 0xb1259e045a856568
27389
27390
27391
27392SECTION .MyDATA_1 TEXT_VA = 0x00000000e0340000, DATA_VA = 0x0000000060340000
27393attr_data {
27394 Name = .MyDATA_1,
27395 RA = 0x0000000170300000,
27396 PA = ra2pa(0x0000000170300000,0),
27397 part_0_ctx_zero_tsb_config_0,
27398 part_0_ctx_nonzero_tsb_config_0,
27399 TTE_G = 1,
27400 TTE_Context = PCONTEXT,
27401 TTE_V = 1,
27402 TTE_Size = 5,
27403 TTE_NFO = 1,
27404 TTE_IE = 1,
27405 TTE_Soft2 = 0,
27406 TTE_Diag = 0,
27407 TTE_Soft = 0,
27408 TTE_L = 0,
27409 TTE_CP = 0,
27410 TTE_CV = 0,
27411 TTE_E = 1,
27412 TTE_P = 0,
27413 TTE_W = 1
27414}
27415
27416
27417attr_data {
27418 Name = .MyDATA_1,
27419 RA = 0x0000000170300000,
27420 PA = ra2pa(0x0000000170300000,0),
27421 part_0_ctx_zero_tsb_config_1,
27422 part_0_ctx_nonzero_tsb_config_1,
27423 TTE_G = 1,
27424 TTE_Context = SCONTEXT,
27425 TTE_V = 1,
27426 TTE_Size = 1,
27427 TTE_NFO = 0,
27428 TTE_IE = 0,
27429 TTE_Soft2 = 0,
27430 TTE_Diag = 0,
27431 TTE_Soft = 0,
27432 TTE_L = 0,
27433 TTE_CP = 0,
27434 TTE_CV = 0,
27435 TTE_E = 0,
27436 TTE_P = 0,
27437 TTE_W = 0,
27438 tsbonly
27439}
27440
27441
27442attr_data {
27443 Name = .MyDATA_1,
27444 hypervisor
27445}
27446
27447
27448attr_text {
27449 Name = .MyDATA_1,
27450 hypervisor
27451}
27452
27453.data
27454 .xword 0xb4da7341051ef967
27455 .xword 0xd09a4cb6e9723ec3
27456 .xword 0x41409d7226511d89
27457 .xword 0x836d2ab96f227457
27458 .xword 0x8909fd1a528a6674
27459 .xword 0xe3d5857fa694b667
27460 .xword 0xf2531ce71bc29bd7
27461 .xword 0x3ade7d3aa734b9e6
27462 .xword 0xf09889fb56b5808c
27463 .xword 0x78d270c4daa2eca8
27464 .xword 0x745b4a7ba3dd42d1
27465 .xword 0x54571ef03f510445
27466 .xword 0x01be6bcf0cd7d0cd
27467 .xword 0x1aecc4f670ab4010
27468 .xword 0x5d7f588a68efaef7
27469 .xword 0x2d07d68cc4f9d36f
27470 .xword 0xc0cda0d1f9d25d40
27471 .xword 0x5c4a9e8c53bf2f4f
27472 .xword 0xc834483f958b416d
27473 .xword 0x4d8a901f31b483d9
27474 .xword 0x75232d218a65a28a
27475 .xword 0x2c432404147fe03c
27476 .xword 0x768b87547c8e33f4
27477 .xword 0xf791f7d174dbfd4b
27478 .xword 0x8a11d7ab35d51e0d
27479 .xword 0x0519edbfa18815af
27480 .xword 0x25e39298a23a2702
27481 .xword 0xa679cc46109a3df1
27482 .xword 0x876aba9895cd2331
27483 .xword 0xd49865b6932a6d0d
27484 .xword 0x606640ce21034864
27485 .xword 0xac5fd628e8e1e19b
27486
27487
27488
27489SECTION .MyDATA_2 TEXT_VA = 0x00000000e0540000, DATA_VA = 0x0000000060540000
27490attr_data {
27491 Name = .MyDATA_2,
27492 RA = 0x0000000170500000,
27493 PA = ra2pa(0x0000000170500000,0),
27494 part_0_ctx_zero_tsb_config_0,
27495 part_0_ctx_nonzero_tsb_config_0,
27496 TTE_G = 1,
27497 TTE_Context = PCONTEXT,
27498 TTE_V = 1,
27499 TTE_Size = 1,
27500 TTE_NFO = 0,
27501 TTE_IE = 1,
27502 TTE_Soft2 = 0,
27503 TTE_Diag = 0,
27504 TTE_Soft = 0,
27505 TTE_L = 0,
27506 TTE_CP = 1,
27507 TTE_CV = 1,
27508 TTE_E = 0,
27509 TTE_P = 0,
27510 TTE_W = 0
27511}
27512
27513
27514attr_data {
27515 Name = .MyDATA_2,
27516 RA = 0x0000000170500000,
27517 PA = ra2pa(0x0000000170500000,0),
27518 part_0_ctx_zero_tsb_config_1,
27519 part_0_ctx_nonzero_tsb_config_1,
27520 TTE_G = 1,
27521 TTE_Context = SCONTEXT,
27522 TTE_V = 1,
27523 TTE_Size = 0,
27524 TTE_NFO = 1,
27525 TTE_IE = 0,
27526 TTE_Soft2 = 0,
27527 TTE_Diag = 0,
27528 TTE_Soft = 0,
27529 TTE_L = 0,
27530 TTE_CP = 0,
27531 TTE_CV = 0,
27532 TTE_E = 1,
27533 TTE_P = 1,
27534 TTE_W = 1,
27535 tsbonly
27536}
27537
27538
27539attr_data {
27540 Name = .MyDATA_2,
27541 hypervisor
27542}
27543
27544
27545attr_text {
27546 Name = .MyDATA_2,
27547 hypervisor
27548}
27549
27550.data
27551 .xword 0x395bbec7a91e0660
27552 .xword 0x68f68df60d06ef89
27553 .xword 0x142f3d20d55cfc52
27554 .xword 0xd6af92592657f5cb
27555 .xword 0x1c4eaba5ccc2b55b
27556 .xword 0xb1d737544ae92ce1
27557 .xword 0x6f88ffefddfedf2a
27558 .xword 0x902e83a0dece5481
27559 .xword 0xc4243d16907a51d7
27560 .xword 0x34beb038288139b8
27561 .xword 0x627e7f64ce8475f5
27562 .xword 0xb830ca1d6a93605d
27563 .xword 0xb122a145cca59d91
27564 .xword 0x31eedd568946d3f6
27565 .xword 0x6d06c0d2ea2ff5f8
27566 .xword 0x62a0abbb427f2ce6
27567 .xword 0x0f33e2685f1c2914
27568 .xword 0xe2d35a7a9073f19e
27569 .xword 0x82bd3c98353fe56f
27570 .xword 0x7abf731b2b477f04
27571 .xword 0xd765b8adcada1e44
27572 .xword 0xaf18d4ff035ae8ac
27573 .xword 0xc67cf5bd32cf85d0
27574 .xword 0xeec78cf619052566
27575 .xword 0xbd9fc4cd02ef498f
27576 .xword 0xf6007e01e3f45801
27577 .xword 0x1d1a03ecba6b9d20
27578 .xword 0x766690a39d2ebf3a
27579 .xword 0xbec08804e079bb85
27580 .xword 0xd8ebb73807a4a1e6
27581 .xword 0x957e937d06674de6
27582 .xword 0x73322a0ea168cfa6
27583
27584
27585
27586SECTION .MyDATA_3 TEXT_VA = 0x00000000e0740000, DATA_VA = 0x0000000060740000
27587attr_data {
27588 Name = .MyDATA_3,
27589 RA = 0x0000000170700000,
27590 PA = ra2pa(0x0000000170700000,0),
27591 part_0_ctx_zero_tsb_config_0,
27592 part_0_ctx_nonzero_tsb_config_0,
27593 TTE_G = 1,
27594 TTE_Context = PCONTEXT,
27595 TTE_V = 1,
27596 TTE_Size = 3,
27597 TTE_NFO = 1,
27598 TTE_IE = 1,
27599 TTE_Soft2 = 0,
27600 TTE_Diag = 0,
27601 TTE_Soft = 0,
27602 TTE_L = 0,
27603 TTE_CP = 0,
27604 TTE_CV = 1,
27605 TTE_E = 0,
27606 TTE_P = 0,
27607 TTE_W = 0
27608}
27609
27610
27611attr_data {
27612 Name = .MyDATA_3,
27613 RA = 0x0000000170700000,
27614 PA = ra2pa(0x0000000170700000,0),
27615 part_0_ctx_zero_tsb_config_1,
27616 part_0_ctx_nonzero_tsb_config_1,
27617 TTE_G = 1,
27618 TTE_Context = SCONTEXT,
27619 TTE_V = 1,
27620 TTE_Size = 0,
27621 TTE_NFO = 0,
27622 TTE_IE = 0,
27623 TTE_Soft2 = 0,
27624 TTE_Diag = 0,
27625 TTE_Soft = 0,
27626 TTE_L = 0,
27627 TTE_CP = 0,
27628 TTE_CV = 1,
27629 TTE_E = 1,
27630 TTE_P = 1,
27631 TTE_W = 1,
27632 tsbonly
27633}
27634
27635
27636attr_data {
27637 Name = .MyDATA_3,
27638 hypervisor
27639}
27640
27641
27642attr_text {
27643 Name = .MyDATA_3,
27644 hypervisor
27645}
27646
27647.data
27648 .xword 0xb46005bd0bf9a45a
27649 .xword 0x39eec0fd8374226c
27650 .xword 0x6daea9592ed865ad
27651 .xword 0xf9a784a2942efeaa
27652 .xword 0x828d6debdbaeda20
27653 .xword 0x8006e98ae899b9ff
27654 .xword 0x895a27318cbc887c
27655 .xword 0x910ff0b0ade2a572
27656 .xword 0x2eef19c0d265cc7d
27657 .xword 0xacda7f40d822aa21
27658 .xword 0xf35ad28dfc637648
27659 .xword 0xf18b636078685c26
27660 .xword 0xeabfdcac220af003
27661 .xword 0x9e8f2040e3b76df9
27662 .xword 0x27afbbc28e75fb53
27663 .xword 0xfe244c883a9e4768
27664 .xword 0xcff4291d0ccd3e7d
27665 .xword 0xa008bc4fbc992536
27666 .xword 0x2fa0870539554189
27667 .xword 0x60c6dade50a4250d
27668 .xword 0x60d19ce5c4b98919
27669 .xword 0xa345e2efa63a14e8
27670 .xword 0x986d3930edb04023
27671 .xword 0xb2d965b7f6b30b9a
27672 .xword 0x8a49b32b4d763404
27673 .xword 0x90012e1364b6ead9
27674 .xword 0x74525a0fc5dcaec0
27675 .xword 0x1a02e24b05bd73c4
27676 .xword 0xe6420dc74e54d132
27677 .xword 0x7b5be5cbf435e061
27678 .xword 0x31314c14b1167aff
27679 .xword 0x4d1a5d565f59907a
27680
27681
27682
27683
27684
27685SECTION .MyTEXT_0 TEXT_VA = 0x00000000e0200000
27686attr_text {
27687 Name = .MyTEXT_0,
27688 RA = 0x00000000e0200000,
27689 PA = ra2pa(0x00000000e0200000,0),
27690 part_0_ctx_zero_tsb_config_1,
27691 part_0_ctx_nonzero_tsb_config_1,
27692 TTE_G = 1,
27693 TTE_Context = PCONTEXT,
27694 TTE_V = 1,
27695 TTE_Size = 1,
27696 TTE_NFO = 0,
27697 TTE_IE = 0,
27698 TTE_Soft2 = 0,
27699 TTE_Diag = 0,
27700 TTE_Soft = 0,
27701 TTE_L = 0,
27702 TTE_CP = 1,
27703 TTE_CV = 0,
27704 TTE_E = 1,
27705 TTE_P = 0,
27706 TTE_W = 1
27707}
27708
27709.text
27710nuff_said_0:
27711 fdivd %f0, %f4, %f8
27712 jmpl %r27+8, %r0
27713 fdivs %f0, %f4, %f6
27714
27715
27716
27717SECTION .MyTEXT_1 TEXT_VA = 0x00000000e0a00000
27718attr_text {
27719 Name = .MyTEXT_1,
27720 RA = 0x00000000e0a00000,
27721 PA = ra2pa(0x00000000e0a00000,0),
27722 part_0_ctx_zero_tsb_config_1,
27723 part_0_ctx_nonzero_tsb_config_1,
27724 TTE_G = 1,
27725 TTE_Context = PCONTEXT,
27726 TTE_V = 1,
27727 TTE_Size = 0,
27728 TTE_NFO = 0,
27729 TTE_IE = 1,
27730 TTE_Soft2 = 0,
27731 TTE_Diag = 0,
27732 TTE_Soft = 0,
27733 TTE_L = 0,
27734 TTE_CP = 1,
27735 TTE_CV = 0,
27736 TTE_E = 1,
27737 TTE_P = 0,
27738 TTE_W = 1
27739}
27740
27741.text
27742nuff_said_1:
27743 fdivs %f0, %f4, %f8
27744 jmpl %r27+8, %r0
27745 fdivd %f0, %f4, %f6
27746
27747
27748
27749SECTION .MyTEXT_2 TEXT_VA = 0x00000000e1200000
27750attr_text {
27751 Name = .MyTEXT_2,
27752 RA = 0x00000000e1200000,
27753 PA = ra2pa(0x00000000e1200000,0),
27754 part_0_ctx_zero_tsb_config_1,
27755 part_0_ctx_nonzero_tsb_config_1,
27756 TTE_G = 1,
27757 TTE_Context = PCONTEXT,
27758 TTE_V = 1,
27759 TTE_Size = 3,
27760 TTE_NFO = 0,
27761 TTE_IE = 1,
27762 TTE_Soft2 = 0,
27763 TTE_Diag = 0,
27764 TTE_Soft = 0,
27765 TTE_L = 0,
27766 TTE_CP = 1,
27767 TTE_CV = 0,
27768 TTE_E = 1,
27769 TTE_P = 1,
27770 TTE_W = 0
27771}
27772
27773.text
27774nuff_said_2:
27775 fdivd %f0, %f4, %f4
27776 jmpl %r27+8, %r0
27777 fdivs %f0, %f4, %f6
27778
27779
27780
27781SECTION .MyTEXT_3 TEXT_VA = 0x00000000e1a00000
27782attr_text {
27783 Name = .MyTEXT_3,
27784 RA = 0x00000000e1a00000,
27785 PA = ra2pa(0x00000000e1a00000,0),
27786 part_0_ctx_zero_tsb_config_1,
27787 part_0_ctx_nonzero_tsb_config_1,
27788 TTE_G = 1,
27789 TTE_Context = PCONTEXT,
27790 TTE_V = 1,
27791 TTE_Size = 1,
27792 TTE_NFO = 0,
27793 TTE_IE = 0,
27794 TTE_Soft2 = 0,
27795 TTE_Diag = 0,
27796 TTE_Soft = 0,
27797 TTE_L = 0,
27798 TTE_CP = 1,
27799 TTE_CV = 0,
27800 TTE_E = 1,
27801 TTE_P = 1,
27802 TTE_W = 1
27803}
27804
27805.text
27806nuff_said_3:
27807 fdivs %f0, %f4, %f4
27808 jmpl %r27+8, %r0
27809 fdivd %f0, %f4, %f8
27810
27811
27812
27813
27814
27815SECTION .VaHOLE_0 TEXT_VA = 0x00007fffffffe000
27816attr_text {
27817 Name = .VaHOLE_0,
27818 RA = 0x00000000ffffe000,
27819 PA = ra2pa(0x00000000ffffe000,0),
27820 part_0_ctx_zero_tsb_config_1,
27821 part_0_ctx_nonzero_tsb_config_1,
27822 TTE_G = 1,
27823 TTE_Context = PCONTEXT,
27824 TTE_V = 1,
27825 TTE_Size = 0,
27826 TTE_NFO = 0,
27827 TTE_IE = 0,
27828 TTE_Soft2 = 0,
27829 TTE_Diag = 0,
27830 TTE_Soft = 0,
27831 TTE_L = 0,
27832 TTE_CP = 1,
27833 TTE_CV = 1,
27834 TTE_E = 1,
27835 TTE_P = 0,
27836 TTE_W = 0,
27837 TTE_X = 1
27838}
27839
27840.text
27841.global vahole_target0
27842.text
27843.global vahole_target1
27844.text
27845.global vahole_target2
27846.text
27847.global vahole_target3
27848 nop
27849.align 4096
27850 nop
27851.align 2048
27852 nop
27853.align 1024
27854 nop
27855.align 512
27856 nop
27857.align 256
27858 nop
27859.align 128
27860 nop
27861.align 64
27862 nop
27863 nop
27864.align 16
27865 nop;nop;nop
27866vahole_target0: nop;nop
27867vahole_target1: nop
27868vahole_target2: nop;nop;nop
27869vahole_target3: nop;nop;nop
27870
27871
27872
27873
27874
27875SECTION .VaHOLEL_0 TEXT_VA = 0x00000000ffffe000
27876attr_text {
27877 Name = .VaHOLEL_0,
27878 RA = 0x00000000ffffe000,
27879 PA = ra2pa(0x00000000ffffe000,0),
27880 part_0_ctx_zero_tsb_config_0,
27881 part_0_ctx_nonzero_tsb_config_0,
27882 TTE_G = 1,
27883 TTE_Context = PCONTEXT,
27884 TTE_V = 1,
27885 TTE_Size = 5,
27886 TTE_NFO = 0,
27887 TTE_IE = 1,
27888 TTE_Soft2 = 0,
27889 TTE_Diag = 0,
27890 TTE_Soft = 0,
27891 TTE_L = 0,
27892 TTE_CP = 0,
27893 TTE_CV = 1,
27894 TTE_E = 1,
27895 TTE_P = 0,
27896 TTE_W = 0,
27897 TTE_X = 1,
27898 tsbonly
27899}
27900
27901.text
27902 nop
27903
27904
27905
27906SECTION .MASKEDHOLE TEXT_VA = 0x0000000100000000
27907attr_text {
27908 Name = .MASKEDHOLE,
27909 RA = 0x0000000000000000,
27910 PA = ra2pa(0x0000000000000000,0),
27911 part_0_ctx_zero_tsb_config_3,
27912 part_0_ctx_nonzero_tsb_config_3,
27913 TTE_G = 1, TTE_Context = 0x44, TTE_V = 1, TTE_Size = 1,
27914 TTE_NFO = 0, TTE_IE = 1, TTE_Soft2 = 0, TTE_Diag = 0,
27915 TTE_Soft = 0, TTE_L = 0, TTE_CP = 1, TTE_CV = 0,
27916 TTE_E = 0, TTE_P = 0, TTE_W = 1, TTE_X = 1
27917 tsbonly
27918}
27919
27920
27921.text
27922 nop
27923 nop
27924 jmpl %r27+8, %r0
27925 nop
27926 nop
27927 nop
27928 nop
27929 nop
27930
27931
27932SECTION .ZERO_0 TEXT_VA = 0x0000000000000000
27933attr_text {
27934 Name = .ZERO_0,
27935 RA = 0x0000000000000000,
27936 PA = ra2pa(0x0000000000000000,0),
27937 part_0_ctx_zero_tsb_config_1,
27938 part_0_ctx_nonzero_tsb_config_1,
27939 TTE_G = 1,
27940 TTE_Context = 0x44,
27941 TTE_V = 1,
27942 TTE_Size = 3,
27943 TTE_NFO = 0,
27944 TTE_IE = 0,
27945 TTE_Soft2 = 0,
27946 TTE_Diag = 0,
27947 TTE_Soft = 0,
27948 TTE_L = 0,
27949 TTE_CP = 0,
27950 TTE_CV = 0,
27951 TTE_E = 1,
27952 TTE_P = 0,
27953 TTE_W = 1,
27954 TTE_X = 1
27955}
27956
27957.text
27958 nop
27959 nop
27960 jmpl %r27+8, %r0
27961 nop
27962
27963
27964
27965#if 0
27966#endif
27967