Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / verif / diag / assembly / uarch / tlu / diag / tlu_rand05_ind_85.s
CommitLineData
86530b38
AT
1/*
2* ========== Copyright Header Begin ==========================================
3*
4* OpenSPARC T2 Processor File: tlu_rand05_ind_85.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# 464 "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/n2cdmspp2/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/n2cdmspp2/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/n2cdmspp2/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/n2cdmspp2/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/n2cdmspp2/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/n2cdmspp2/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/n2cdmspp2/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/n2cdmspp2/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/n2cdmspp2/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/n2cdmspp2/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/n2cdmspp2/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/n2cdmspp2/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/n2cdmspp2/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/n2cdmspp2/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/n2cdmspp2/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/n2cdmspp2/verif/diag/assembly/include/tlu_custom_intr_handlers.s"
1039!!!!! Hstick-match trap handler
1040# 175 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/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/n2cdmspp2/verif/diag/assembly/include/tlu_custom_intr_handlers.s"
1085!!!!! SW interuupt handlers
1086# 223 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/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/n2cdmspp2/verif/diag/assembly/include/tlu_custom_intr_handlers.s"
1576!!!!!!!!!!!!!!!!!!!!!! END of all handlers !!!!!!!!!!!!!!!!!!!
1577# 478 "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# 545 "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 0x35, %r14
1801 mov 0x31, %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 0x31, %r14
1834 mov 0x31, %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 0x30, %r14
1867 mov 0xb0, %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 0xb4, %r14
1900 mov 0xb2, %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 0xb0, %r14
1933 mov 0x31, %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 0xb3, %r14
1966 mov 0xb4, %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 0x33, %r14
1999 mov 0x32, %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 0x9f803c1b ! 1: SIR sir 0x1c1b
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
2127 .word 0xe8800b20 ! 1: LDUWA_R lduwa [%r0, %r0] 0x59, %r20
2128 .word 0xa7a00173 ! 2: FABSq dis not found
2129
2130ibp_80_1:
2131 nop
2132 ta T_CHANGE_HPRIV
2133 mov 8, %r18
2134 rd %asi, %r12
2135 wr %r0, 0x41, %asi
2136 set sync_thr_counter4, %r23
2137#ifndef SPC
2138 ldxa [%g0]0x63, %r8
2139 and %r8, 0x38, %r8 ! Core ID
2140 add %r8, %r23, %r23
2141#else
2142 mov 0, %r8
2143#endif
2144 mov 0x80, %r16
2145ibp_startwait80_1:
2146 cas [%r23],%g0,%r16 !lock
2147 brz,a %r16, continue_ibp_80_1
2148 mov (~0x80&0xf0), %r16
2149 ld [%r23], %r16
2150ibp_wait80_1:
2151 brnz %r16, ibp_wait80_1
2152 ld [%r23], %r16
2153 ba ibp_startwait80_1
2154 mov 0x80, %r16
2155continue_ibp_80_1:
2156 sllx %r16, %r8, %r16 !Mask for my core only
2157 ldxa [0x58]%asi, %r17 !Running_status
2158wait_for_stat_80_1:
2159 ldxa [0x50]%asi, %r13 !Running_rw
2160 cmp %r13, %r17
2161 bne,a wait_for_stat_80_1
2162 ldxa [0x58]%asi, %r17 !Running_status
2163 stxa %r16, [0x68]%asi !Park (W1C)
2164 ldxa [0x50]%asi, %r14 !Running_rw
2165wait_for_ibp_80_1:
2166 ldxa [0x58]%asi, %r17 !Running_status
2167 cmp %r14, %r17
2168 bne,a wait_for_ibp_80_1
2169 ldxa [0x50]%asi, %r14 !Running_rw
2170ibp_doit80_1:
2171 best_set_reg(0x00000040f1c000f1,%r19, %r20)
2172 stxa %r20, [%r18]0x42
2173 stxa %r16, [0x60] %asi !Unpark (W1S)
2174 st %g0, [%r23] !clear lock
2175 wr %r0, %r12, %asi !restore %asi
2176 ta T_CHANGE_NONHPRIV
2177 .word 0x9f803c1b ! 3: SIR sir 0x1c1b
2178donret_80_2:
2179 nop
2180 ta T_CHANGE_HPRIV ! macro
2181 rd %pc, %r12
2182 add %r12, (donretarg_80_2-donret_80_2-8), %r12
2183 mov 0x38, %r18
2184 stxa %r12, [%r18]0x58
2185 add %r12, 0x4, %r11
2186 wrpr %g0, 0x1, %tl
2187 wrpr %g0, %r12, %tpc
2188 wrpr %g0, %r11, %tnpc
2189 set (0x009a3da2 | (0x83 << 24)), %r13
2190 rdpr %tstate, %r16
2191 mov 0x1f, %r19
2192 and %r19, %r16, %r17
2193 andn %r16, %r19, %r16
2194 or %r16, %r17, %r20
2195 wrpr %r20, %g0, %tstate
2196 wrhpr %g0, 0x4d5, %htstate
2197 ta T_CHANGE_NONHPRIV ! rand=1 (80)
2198 .word 0x20800001 ! 1: BN bn,a <label_0x1>
2199 retry
2200donretarg_80_2:
2201 .word 0xe26fe191 ! 4: LDSTUB_I ldstub %r17, [%r31 + 0x0191]
2202 setx 0x09d85aeb9971b5b9, %r1, %r28
2203 stxa %r28, [%g0] 0x73
2204intvec_80_3:
2205 .word 0x39400001 ! 5: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
2206mondo_80_4:
2207 nop
2208 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2209 stxa %r17, [%r0+0x3c8] %asi
2210 .word 0x9d908005 ! 6: WRPR_WSTATE_R wrpr %r2, %r5, %wstate
2211pmu_80_5:
2212 nop
2213 ta T_CHANGE_PRIV
2214 setx 0xfffffeedfffffc6f, %g1, %g7
2215 .word 0xa3800007 ! 7: WR_PERF_COUNTER_R wr %r0, %r7, %-
2216 .word 0xa6fcb402 ! 8: SDIVcc_I sdivcc %r18, 0xfffff402, %r19
2217splash_cmpr_80_6:
2218 mov 1, %r18
2219 sllx %r18, 63, %r18
2220 rd %tick, %r17
2221 add %r17, 0x70, %r17
2222 or %r17, %r18, %r17
2223 ta T_CHANGE_HPRIV
2224 wrhpr %r17, %g0, %hsys_tick_cmpr
2225 ta T_CHANGE_PRIV
2226 .word 0xaf800011 ! 9: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
2227 nop
2228 ta T_CHANGE_HPRIV
2229 mov 0x80+1, %r10
2230 set sync_thr_counter5, %r23
2231#ifndef SPC
2232 ldxa [%g0]0x63, %o1
2233 and %o1, 0x38, %o1
2234 add %o1, %r23, %r23
2235#endif
2236 cas [%r23],%g0,%r10 !lock
2237 brnz %r10, cwq_80_7
2238 rd %asi, %r12
2239 wr %g0, 0x40, %asi
2240 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
2241 and %l1, 0x3, %l1 ! Check if busy/enabled ..
2242 cmp %l1, 1
2243 bne cwq_80_7
2244 set CWQ_BASE, %l6
2245 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
2246 best_set_reg(0x20610040, %l1, %l2) !# Control Word
2247 sllx %l2, 32, %l2
2248 stx %l2, [%l6 + 0x0]
2249 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
2250 sub %l2, 0x40, %l2
2251 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
2252 wr %r12, %g0, %asi
2253 st %g0, [%r23]
2254cwq_80_7:
2255 ta T_CHANGE_NONHPRIV
2256 .word 0x99414000 ! 10: RDPC rd %pc, %r12
2257pmu_80_8:
2258 nop
2259 setx 0xffffff1ffffff5d8, %g1, %g7
2260 .word 0xa3800007 ! 11: WR_PERF_COUNTER_R wr %r0, %r7, %-
2261 .word 0xa5a00174 ! 12: FABSq dis not found
2262
2263ibp_80_10:
2264 nop
2265 ta T_CHANGE_HPRIV
2266 mov 8, %r18
2267 rd %asi, %r12
2268 wr %r0, 0x41, %asi
2269 set sync_thr_counter4, %r23
2270#ifndef SPC
2271 ldxa [%g0]0x63, %r8
2272 and %r8, 0x38, %r8 ! Core ID
2273 add %r8, %r23, %r23
2274#else
2275 mov 0, %r8
2276#endif
2277 mov 0x80, %r16
2278ibp_startwait80_10:
2279 cas [%r23],%g0,%r16 !lock
2280 brz,a %r16, continue_ibp_80_10
2281 mov (~0x80&0xf0), %r16
2282 ld [%r23], %r16
2283ibp_wait80_10:
2284 brnz %r16, ibp_wait80_10
2285 ld [%r23], %r16
2286 ba ibp_startwait80_10
2287 mov 0x80, %r16
2288continue_ibp_80_10:
2289 sllx %r16, %r8, %r16 !Mask for my core only
2290 ldxa [0x58]%asi, %r17 !Running_status
2291wait_for_stat_80_10:
2292 ldxa [0x50]%asi, %r13 !Running_rw
2293 cmp %r13, %r17
2294 bne,a wait_for_stat_80_10
2295 ldxa [0x58]%asi, %r17 !Running_status
2296 stxa %r16, [0x68]%asi !Park (W1C)
2297 ldxa [0x50]%asi, %r14 !Running_rw
2298wait_for_ibp_80_10:
2299 ldxa [0x58]%asi, %r17 !Running_status
2300 cmp %r14, %r17
2301 bne,a wait_for_ibp_80_10
2302 ldxa [0x50]%asi, %r14 !Running_rw
2303ibp_doit80_10:
2304 best_set_reg(0x00000040cfc0f1c1,%r19, %r20)
2305 stxa %r20, [%r18]0x42
2306 stxa %r16, [0x60] %asi !Unpark (W1S)
2307 st %g0, [%r23] !clear lock
2308 wr %r0, %r12, %asi !restore %asi
2309 .word 0xc1bfdc00 ! 13: STDFA_R stda %f0, [%r0, %r31]
2310trapasi_80_11:
2311 nop
2312 mov 0x0, %r1 ! (VA for ASI 0x4c)
2313 .word 0xe2c04980 ! 14: LDSWA_R ldswa [%r1, %r0] 0x4c, %r17
2314splash_cmpr_80_12:
2315 mov 0, %r18
2316 sllx %r18, 63, %r18
2317 rd %tick, %r17
2318 add %r17, 0x80, %r17
2319 or %r17, %r18, %r17
2320 .word 0xaf800011 ! 15: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
2321 .word 0xc3ed0028 ! 16: PREFETCHA_R prefetcha [%r20, %r8] 0x01, #one_read
2322pmu_80_14:
2323 nop
2324 setx 0xfffff709fffffed4, %g1, %g7
2325 .word 0xa3800007 ! 17: WR_PERF_COUNTER_R wr %r0, %r7, %-
2326 .word 0x27400001 ! 1: FBPUL fbul,a,pn %fcc0, <label_0x1>
2327 .word 0x8d903fd1 ! 18: WRPR_PSTATE_I wrpr %r0, 0x1fd1, %pstate
2328splash_cmpr_80_16:
2329 mov 1, %r18
2330 sllx %r18, 63, %r18
2331 rd %tick, %r17
2332 add %r17, 0x80, %r17
2333 or %r17, %r18, %r17
2334 ta T_CHANGE_HPRIV
2335 wrhpr %r17, %g0, %hsys_tick_cmpr
2336 .word 0xb3800011 ! 19: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
2337 .word 0xd01fc000 ! 20: LDD_R ldd [%r31 + %r0], %r8
2338splash_lsu_80_17:
2339 nop
2340 ta T_CHANGE_HPRIV
2341 set 0xdda79529, %r2
2342 mov 0x6, %r1
2343 sllx %r1, 32, %r1
2344 or %r1, %r2, %r2
2345 stxa %r2, [%r0] ASI_LSU_CONTROL
2346 ta T_CHANGE_NONHPRIV
2347 .word 0x3d400001 ! 21: FBPULE fbule,a,pn %fcc0, <label_0x1>
2348ibp_80_18:
2349 nop
2350 ta T_CHANGE_HPRIV
2351 mov 8, %r18
2352 rd %asi, %r12
2353 wr %r0, 0x41, %asi
2354 set sync_thr_counter4, %r23
2355#ifndef SPC
2356 ldxa [%g0]0x63, %r8
2357 and %r8, 0x38, %r8 ! Core ID
2358 add %r8, %r23, %r23
2359#else
2360 mov 0, %r8
2361#endif
2362 mov 0x80, %r16
2363ibp_startwait80_18:
2364 cas [%r23],%g0,%r16 !lock
2365 brz,a %r16, continue_ibp_80_18
2366 mov (~0x80&0xf0), %r16
2367 ld [%r23], %r16
2368ibp_wait80_18:
2369 brnz %r16, ibp_wait80_18
2370 ld [%r23], %r16
2371 ba ibp_startwait80_18
2372 mov 0x80, %r16
2373continue_ibp_80_18:
2374 sllx %r16, %r8, %r16 !Mask for my core only
2375 ldxa [0x58]%asi, %r17 !Running_status
2376wait_for_stat_80_18:
2377 ldxa [0x50]%asi, %r13 !Running_rw
2378 cmp %r13, %r17
2379 bne,a wait_for_stat_80_18
2380 ldxa [0x58]%asi, %r17 !Running_status
2381 stxa %r16, [0x68]%asi !Park (W1C)
2382 ldxa [0x50]%asi, %r14 !Running_rw
2383wait_for_ibp_80_18:
2384 ldxa [0x58]%asi, %r17 !Running_status
2385 cmp %r14, %r17
2386 bne,a wait_for_ibp_80_18
2387 ldxa [0x50]%asi, %r14 !Running_rw
2388ibp_doit80_18:
2389 best_set_reg(0x0000004037f1c1ec,%r19, %r20)
2390 stxa %r20, [%r18]0x42
2391 stxa %r16, [0x60] %asi !Unpark (W1S)
2392 st %g0, [%r23] !clear lock
2393 wr %r0, %r12, %asi !restore %asi
2394 .word 0x87aa8a54 ! 22: FCMPd fcmpd %fcc<n>, %f10, %f20
2395fpinit_80_19:
2396 setx fp_data_quads, %r19, %r20
2397 ldd [%r20], %f0
2398 ldd [%r20+8], %f4
2399 ld [%r20+16], %fsr
2400 ld [%r20+24], %r19
2401 wr %r19, %g0, %gsr
2402 .word 0x91a009c4 ! 23: FDIVd fdivd %f0, %f4, %f8
2403mondo_80_20:
2404 nop
2405 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2406 ta T_CHANGE_PRIV
2407 stxa %r4, [%r0+0x3c8] %asi
2408 .word 0x9d94000d ! 24: WRPR_WSTATE_R wrpr %r16, %r13, %wstate
2409intveclr_80_21:
2410 nop
2411 ta T_CHANGE_HPRIV
2412 setx 0x93b7cf0f12d0b54b, %r1, %r28
2413 stxa %r28, [%g0] 0x72
2414 .word 0x25400001 ! 25: FBPLG fblg,a,pn %fcc0, <label_0x1>
2415pmu_80_22:
2416 nop
2417 ta T_CHANGE_PRIV
2418 setx 0xfffffbc3ffffff1e, %g1, %g7
2419 .word 0xa3800007 ! 26: WR_PERF_COUNTER_R wr %r0, %r7, %-
2420splash_tba_80_23:
2421 ta T_CHANGE_PRIV
2422 setx 0x00000000003a0000, %r11, %r12
2423 .word 0x8b90000c ! 27: WRPR_TBA_R wrpr %r0, %r12, %tba
2424trapasi_80_24:
2425 nop
2426 mov 0x8, %r1 ! (VA for ASI 0x4c)
2427 .word 0xdac04980 ! 28: LDSWA_R ldswa [%r1, %r0] 0x4c, %r13
2428 .word 0x8780208a ! 29: WRASI_I wr %r0, 0x008a, %asi
2429ibp_80_25:
2430 nop
2431 ta T_CHANGE_HPRIV
2432 mov 8, %r18
2433 rd %asi, %r12
2434 wr %r0, 0x41, %asi
2435 set sync_thr_counter4, %r23
2436#ifndef SPC
2437 ldxa [%g0]0x63, %r8
2438 and %r8, 0x38, %r8 ! Core ID
2439 add %r8, %r23, %r23
2440#else
2441 mov 0, %r8
2442#endif
2443 mov 0x80, %r16
2444ibp_startwait80_25:
2445 cas [%r23],%g0,%r16 !lock
2446 brz,a %r16, continue_ibp_80_25
2447 mov (~0x80&0xf0), %r16
2448 ld [%r23], %r16
2449ibp_wait80_25:
2450 brnz %r16, ibp_wait80_25
2451 ld [%r23], %r16
2452 ba ibp_startwait80_25
2453 mov 0x80, %r16
2454continue_ibp_80_25:
2455 sllx %r16, %r8, %r16 !Mask for my core only
2456 ldxa [0x58]%asi, %r17 !Running_status
2457wait_for_stat_80_25:
2458 ldxa [0x50]%asi, %r13 !Running_rw
2459 cmp %r13, %r17
2460 bne,a wait_for_stat_80_25
2461 ldxa [0x58]%asi, %r17 !Running_status
2462 stxa %r16, [0x68]%asi !Park (W1C)
2463 ldxa [0x50]%asi, %r14 !Running_rw
2464wait_for_ibp_80_25:
2465 ldxa [0x58]%asi, %r17 !Running_status
2466 cmp %r14, %r17
2467 bne,a wait_for_ibp_80_25
2468 ldxa [0x50]%asi, %r14 !Running_rw
2469ibp_doit80_25:
2470 best_set_reg(0x00000040aec1ec7f,%r19, %r20)
2471 stxa %r20, [%r18]0x42
2472 stxa %r16, [0x60] %asi !Unpark (W1S)
2473 st %g0, [%r23] !clear lock
2474 wr %r0, %r12, %asi !restore %asi
2475 ta T_CHANGE_NONHPRIV
2476 .word 0xe19fd960 ! 30: LDDFA_R ldda [%r31, %r0], %f16
2477dvapa_80_26:
2478 nop
2479 ta T_CHANGE_HPRIV
2480 mov 0xcbf, %r20
2481 mov 0x1d, %r19
2482 sllx %r20, 23, %r20
2483 or %r19, %r20, %r19
2484 stxa %r19, [%g0] ASI_LSU_CONTROL
2485 mov 0x38, %r18
2486 stxa %r31, [%r18]0x58
2487 ta T_CHANGE_NONHPRIV
2488 .word 0xda3ffa91 ! 31: STD_I std %r13, [%r31 + 0xfffffa91]
2489 nop
2490 ta T_CHANGE_HPRIV
2491 mov 0x80+1, %r10
2492 set sync_thr_counter5, %r23
2493#ifndef SPC
2494 ldxa [%g0]0x63, %o1
2495 and %o1, 0x38, %o1
2496 add %o1, %r23, %r23
2497#endif
2498 cas [%r23],%g0,%r10 !lock
2499 brnz %r10, cwq_80_27
2500 rd %asi, %r12
2501 wr %g0, 0x40, %asi
2502 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
2503 and %l1, 0x3, %l1 ! Check if busy/enabled ..
2504 cmp %l1, 1
2505 bne cwq_80_27
2506 set CWQ_BASE, %l6
2507 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
2508 best_set_reg(0x20610080, %l1, %l2) !# Control Word
2509 sllx %l2, 32, %l2
2510 stx %l2, [%l6 + 0x0]
2511 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
2512 sub %l2, 0x40, %l2
2513 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
2514 wr %r12, %g0, %asi
2515 st %g0, [%r23]
2516cwq_80_27:
2517 ta T_CHANGE_NONHPRIV
2518 .word 0x99414000 ! 32: RDPC rd %pc, %r12
2519 .word 0x8d9031d5 ! 33: WRPR_PSTATE_I wrpr %r0, 0x11d5, %pstate
2520 .word 0x93a00169 ! 34: FABSq dis not found
2521
2522#if (defined SPC || defined CMP)
2523!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_80_30) + 48, 16, 16)) -> intp(6,0,11)
2524!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_80_30)&0xffffffff) + 48, 16, 16)) -> intp(6,0,11)
2525#else
2526 setx 0xca8ab9d3398722c4, %r1, %r28
2527 stxa %r28, [%g0] 0x73
2528#endif
2529intvec_80_30:
2530 .word 0x39400001 ! 35: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
2531tglhtw_80_31:
2532 nop
2533 rd %asi, %l3 ! save %asi
2534 ta T_CHANGE_HPRIV
2535 wr %g0, ASI_MMU_ZERO_CONTEXT_TSB_CONFIG, %asi
2536 mov 1, %l2
2537 sllx %l2, 63, %l2
2538 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
2539 xor %l4, %l2, %l4
2540 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi
2541 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
2542 xor %l4, %l2, %l4
2543 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi
2544 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
2545 xor %l4, %l2, %l4
2546 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi
2547 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
2548 xor %l4, %l2, %l4
2549 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi
2550 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
2551 xor %l4, %l2, %l4
2552 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi
2553 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
2554 xor %l4, %l2, %l4
2555 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi
2556 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
2557 xor %l4, %l2, %l4
2558 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi
2559 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
2560 xor %l4, %l2, %l4
2561 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi
2562 ta T_CHANGE_NONHPRIV
2563 wr %g0, %l3, %asi !restore %asi
2564 .word 0x95b4c992 ! 36: BSHUFFLE fmovc32 %d50, %d18, %d10
2565 .word 0x8d802000 ! 37: WRFPRS_I wr %r0, 0x0000, %fprs
2566 .word 0xd44fe050 ! 38: LDSB_I ldsb [%r31 + 0x0050], %r10
2567splash_cmpr_80_32:
2568 mov 1, %r18
2569 sllx %r18, 63, %r18
2570 rd %tick, %r17
2571 add %r17, 0x50, %r17
2572 or %r17, %r18, %r17
2573 ta T_CHANGE_HPRIV
2574 wrhpr %r17, %g0, %hsys_tick_cmpr
2575 .word 0xb3800011 ! 39: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
2576 setx 0x39ab3da55cf9c32a, %r1, %r28
2577 stxa %r28, [%g0] 0x73
2578intvec_80_33:
2579 .word 0x39400001 ! 40: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
2580 .word 0x8d802000 ! 41: WRFPRS_I wr %r0, 0x0000, %fprs
2581pmu_80_34:
2582 nop
2583 setx 0xfffff0f4fffff65c, %g1, %g7
2584 .word 0xa3800007 ! 42: WR_PERF_COUNTER_R wr %r0, %r7, %-
2585jmptr_80_35:
2586 nop
2587 best_set_reg(0xe0a00000, %r20, %r27)
2588 .word 0xb7c6c000 ! 43: JMPL_R jmpl %r27 + %r0, %r27
2589 .word 0xd4c7e0b8 ! 44: LDSWA_I ldswa [%r31, + 0x00b8] %asi, %r10
2590 .word 0xc30fc000 ! 45: LDXFSR_R ld-fsr [%r31, %r0], %f1
2591fpinit_80_36:
2592 setx fp_data_quads, %r19, %r20
2593 ldd [%r20], %f0
2594 ldd [%r20+8], %f4
2595 ld [%r20+16], %fsr
2596 ld [%r20+24], %r19
2597 wr %r19, %g0, %gsr
2598 .word 0xc3e83a91 ! 46: PREFETCHA_I prefetcha [%r0, + 0xfffffa91] %asi, #one_read
2599cwp_80_37:
2600 set user_data_start, %o7
2601 .word 0x93902006 ! 47: WRPR_CWP_I wrpr %r0, 0x0006, %cwp
2602ibp_80_38:
2603 nop
2604 ta T_CHANGE_HPRIV
2605 mov 8, %r18
2606 rd %asi, %r12
2607 wr %r0, 0x41, %asi
2608 set sync_thr_counter4, %r23
2609#ifndef SPC
2610 ldxa [%g0]0x63, %r8
2611 and %r8, 0x38, %r8 ! Core ID
2612 add %r8, %r23, %r23
2613#else
2614 mov 0, %r8
2615#endif
2616 mov 0x80, %r16
2617ibp_startwait80_38:
2618 cas [%r23],%g0,%r16 !lock
2619 brz,a %r16, continue_ibp_80_38
2620 mov (~0x80&0xf0), %r16
2621 ld [%r23], %r16
2622ibp_wait80_38:
2623 brnz %r16, ibp_wait80_38
2624 ld [%r23], %r16
2625 ba ibp_startwait80_38
2626 mov 0x80, %r16
2627continue_ibp_80_38:
2628 sllx %r16, %r8, %r16 !Mask for my core only
2629 ldxa [0x58]%asi, %r17 !Running_status
2630wait_for_stat_80_38:
2631 ldxa [0x50]%asi, %r13 !Running_rw
2632 cmp %r13, %r17
2633 bne,a wait_for_stat_80_38
2634 ldxa [0x58]%asi, %r17 !Running_status
2635 stxa %r16, [0x68]%asi !Park (W1C)
2636 ldxa [0x50]%asi, %r14 !Running_rw
2637wait_for_ibp_80_38:
2638 ldxa [0x58]%asi, %r17 !Running_status
2639 cmp %r14, %r17
2640 bne,a wait_for_ibp_80_38
2641 ldxa [0x50]%asi, %r14 !Running_rw
2642ibp_doit80_38:
2643 best_set_reg(0x00000040d7ec7f49,%r19, %r20)
2644 stxa %r20, [%r18]0x42
2645 stxa %r16, [0x60] %asi !Unpark (W1S)
2646 st %g0, [%r23] !clear lock
2647 wr %r0, %r12, %asi !restore %asi
2648 .word 0xd53fc012 ! 48: STDF_R std %f10, [%r18, %r31]
2649pmu_80_39:
2650 nop
2651 setx 0xfffffcfcfffff2cb, %g1, %g7
2652 .word 0xa3800007 ! 49: WR_PERF_COUNTER_R wr %r0, %r7, %-
2653fpinit_80_40:
2654 setx fp_data_quads, %r19, %r20
2655 ldd [%r20], %f0
2656 ldd [%r20+8], %f4
2657 ld [%r20+16], %fsr
2658 ld [%r20+24], %r19
2659 wr %r19, %g0, %gsr
2660 .word 0x8da009a4 ! 50: FDIVs fdivs %f0, %f4, %f6
2661 nop
2662 ta T_CHANGE_HPRIV
2663 mov 0x80+1, %r10
2664 set sync_thr_counter5, %r23
2665#ifndef SPC
2666 ldxa [%g0]0x63, %o1
2667 and %o1, 0x38, %o1
2668 add %o1, %r23, %r23
2669#endif
2670 cas [%r23],%g0,%r10 !lock
2671 brnz %r10, cwq_80_41
2672 rd %asi, %r12
2673 wr %g0, 0x40, %asi
2674 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
2675 and %l1, 0x3, %l1 ! Check if busy/enabled ..
2676 cmp %l1, 1
2677 bne cwq_80_41
2678 set CWQ_BASE, %l6
2679 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
2680 best_set_reg(0x206100e0, %l1, %l2) !# Control Word
2681 sllx %l2, 32, %l2
2682 stx %l2, [%l6 + 0x0]
2683 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
2684 sub %l2, 0x40, %l2
2685 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
2686 wr %r12, %g0, %asi
2687 st %g0, [%r23]
2688cwq_80_41:
2689 ta T_CHANGE_NONHPRIV
2690 .word 0xa7414000 ! 51: RDPC rd %pc, %r19
2691 .word 0x91948013 ! 52: WRPR_PIL_R wrpr %r18, %r19, %pil
2692mondo_80_43:
2693 nop
2694 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2695 ta T_CHANGE_PRIV
2696 stxa %r20, [%r0+0x3e0] %asi
2697 .word 0x9d90c007 ! 53: WRPR_WSTATE_R wrpr %r3, %r7, %wstate
2698dvapa_80_44:
2699 nop
2700 ta T_CHANGE_HPRIV
2701 mov 0xa03, %r20
2702 mov 0x1b, %r19
2703 sllx %r20, 23, %r20
2704 or %r19, %r20, %r19
2705 stxa %r19, [%g0] ASI_LSU_CONTROL
2706 mov 0x38, %r18
2707 stxa %r31, [%r18]0x58
2708 ta T_CHANGE_NONHPRIV
2709 .word 0xe1bfc2c0 ! 54: STDFA_R stda %f16, [%r0, %r31]
2710ibp_80_45:
2711 nop
2712 ta T_CHANGE_HPRIV
2713 mov 8, %r18
2714 rd %asi, %r12
2715 wr %r0, 0x41, %asi
2716 set sync_thr_counter4, %r23
2717#ifndef SPC
2718 ldxa [%g0]0x63, %r8
2719 and %r8, 0x38, %r8 ! Core ID
2720 add %r8, %r23, %r23
2721#else
2722 mov 0, %r8
2723#endif
2724 mov 0x80, %r16
2725ibp_startwait80_45:
2726 cas [%r23],%g0,%r16 !lock
2727 brz,a %r16, continue_ibp_80_45
2728 mov (~0x80&0xf0), %r16
2729 ld [%r23], %r16
2730ibp_wait80_45:
2731 brnz %r16, ibp_wait80_45
2732 ld [%r23], %r16
2733 ba ibp_startwait80_45
2734 mov 0x80, %r16
2735continue_ibp_80_45:
2736 sllx %r16, %r8, %r16 !Mask for my core only
2737 ldxa [0x58]%asi, %r17 !Running_status
2738wait_for_stat_80_45:
2739 ldxa [0x50]%asi, %r13 !Running_rw
2740 cmp %r13, %r17
2741 bne,a wait_for_stat_80_45
2742 ldxa [0x58]%asi, %r17 !Running_status
2743 stxa %r16, [0x68]%asi !Park (W1C)
2744 ldxa [0x50]%asi, %r14 !Running_rw
2745wait_for_ibp_80_45:
2746 ldxa [0x58]%asi, %r17 !Running_status
2747 cmp %r14, %r17
2748 bne,a wait_for_ibp_80_45
2749 ldxa [0x50]%asi, %r14 !Running_rw
2750ibp_doit80_45:
2751 best_set_reg(0x0000005031ff49ef,%r19, %r20)
2752 stxa %r20, [%r18]0x42
2753 stxa %r16, [0x60] %asi !Unpark (W1S)
2754 st %g0, [%r23] !clear lock
2755 wr %r0, %r12, %asi !restore %asi
2756 ta T_CHANGE_NONHPRIV
2757 .word 0xc1bfdc00 ! 55: STDFA_R stda %f0, [%r0, %r31]
2758 nop
2759 ta T_CHANGE_HPRIV
2760 mov 0x80, %r10
2761 set sync_thr_counter6, %r23
2762#ifndef SPC
2763 ldxa [%g0]0x63, %o1
2764 and %o1, 0x38, %o1
2765 add %o1, %r23, %r23
2766#endif
2767 cas [%r23],%g0,%r10 !lock
2768 brnz %r10, sma_80_46
2769 rd %asi, %r12
2770 wr %g0, 0x40, %asi
2771 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
2772 set 0x00121fff, %g1
2773 stxa %g1, [%g0 + 0x80] %asi
2774 wr %r12, %g0, %asi
2775 st %g0, [%r23]
2776sma_80_46:
2777 ta T_CHANGE_NONHPRIV
2778 .word 0xe9e7e012 ! 56: CASA_R casa [%r31] %asi, %r18, %r20
2779 .word 0x21400001 ! 1: FBPN fbn,a,pn %fcc0, <label_0x1>
2780 .word 0x8d902b57 ! 57: WRPR_PSTATE_I wrpr %r0, 0x0b57, %pstate
2781splash_lsu_80_48:
2782 nop
2783 ta T_CHANGE_HPRIV
2784 set 0x0f89b547, %r2
2785 mov 0x5, %r1
2786 sllx %r1, 32, %r1
2787 or %r1, %r2, %r2
2788 stxa %r2, [%r0] ASI_LSU_CONTROL
2789 ta T_CHANGE_NONHPRIV
2790 .word 0x3d400001 ! 58: FBPULE fbule,a,pn %fcc0, <label_0x1>
2791vahole_80_49:
2792 nop
2793 ta T_CHANGE_NONHPRIV
2794 setx vahole_target2, %r18, %r27
2795 jmpl %r27+0, %r27
2796 .word 0xc3eac034 ! 59: PREFETCHA_R prefetcha [%r11, %r20] 0x01, #one_read
2797splash_hpstate_80_50:
2798 ta T_CHANGE_NONHPRIV
2799 .word 0x24800001 ! 1: BLE ble,a <label_0x1>
2800 .word 0x81982e9d ! 60: WRHPR_HPSTATE_I wrhpr %r0, 0x0e9d, %hpstate
2801vahole_80_51:
2802 nop
2803 ta T_CHANGE_NONHPRIV
2804 setx vahole_target0, %r18, %r27
2805 jmpl %r27+0, %r27
2806 .word 0xc1bfe160 ! 61: STDFA_I stda %f0, [0x0160, %r31]
2807splash_lsu_80_52:
2808 nop
2809 ta T_CHANGE_HPRIV
2810 set 0x21152f18, %r2
2811 mov 0x5, %r1
2812 sllx %r1, 32, %r1
2813 or %r1, %r2, %r2
2814 stxa %r2, [%r0] ASI_LSU_CONTROL
2815 ta T_CHANGE_NONHPRIV
2816 .word 0x3d400001 ! 62: FBPULE fbule,a,pn %fcc0, <label_0x1>
2817 nop
2818 ta T_CHANGE_HPRIV
2819 mov 0x80+1, %r10
2820 set sync_thr_counter5, %r23
2821#ifndef SPC
2822 ldxa [%g0]0x63, %o1
2823 and %o1, 0x38, %o1
2824 add %o1, %r23, %r23
2825#endif
2826 cas [%r23],%g0,%r10 !lock
2827 brnz %r10, cwq_80_53
2828 rd %asi, %r12
2829 wr %g0, 0x40, %asi
2830 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
2831 and %l1, 0x3, %l1 ! Check if busy/enabled ..
2832 cmp %l1, 1
2833 bne cwq_80_53
2834 set CWQ_BASE, %l6
2835 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
2836 best_set_reg(0x20610030, %l1, %l2) !# Control Word
2837 sllx %l2, 32, %l2
2838 stx %l2, [%l6 + 0x0]
2839 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
2840 sub %l2, 0x40, %l2
2841 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
2842 wr %r12, %g0, %asi
2843 st %g0, [%r23]
2844cwq_80_53:
2845 ta T_CHANGE_NONHPRIV
2846 .word 0xa3414000 ! 63: RDPC rd %pc, %r17
2847cwp_80_54:
2848 set user_data_start, %o7
2849 .word 0x93902006 ! 64: WRPR_CWP_I wrpr %r0, 0x0006, %cwp
2850 setx 0x9fe5eaa94a0f7f0c, %r1, %r28
2851 stxa %r28, [%g0] 0x73
2852intvec_80_55:
2853 .word 0x39400001 ! 65: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
2854vahole_80_56:
2855 nop
2856 ta T_CHANGE_NONHPRIV
2857 setx vahole_target1, %r18, %r27
2858 jmpl %r27+0, %r27
2859 .word 0xd51fc013 ! 66: LDDF_R ldd [%r31, %r19], %f10
2860 .word 0x89800011 ! 67: WRTICK_R wr %r0, %r17, %tick
2861tagged_80_58:
2862 tsubcctv %r4, 0x1951, %r20
2863 .word 0xd407e0c6 ! 68: LDUW_I lduw [%r31 + 0x00c6], %r10
2864jmptr_80_59:
2865 nop
2866 best_set_reg(0xe0a00000, %r20, %r27)
2867 .word 0xb7c6c000 ! 69: JMPL_R jmpl %r27 + %r0, %r27
2868mondo_80_60:
2869 nop
2870 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2871 stxa %r2, [%r0+0x3d0] %asi
2872 .word 0x9d90c011 ! 70: WRPR_WSTATE_R wrpr %r3, %r17, %wstate
2873donret_80_61:
2874 nop
2875 ta T_CHANGE_HPRIV ! macro
2876 rd %pc, %r12
2877 add %r12, (donretarg_80_61-donret_80_61-4), %r12
2878 mov 0x38, %r18
2879 stxa %r12, [%r18]0x58
2880 add %r12, 0x4, %r11
2881 wrpr %g0, 0x1, %tl
2882 wrpr %g0, %r12, %tpc
2883 wrpr %g0, %r11, %tnpc
2884 set (0x008a5dc8 | (16 << 24)), %r13
2885 rdpr %tstate, %r16
2886 mov 0x1f, %r19
2887 and %r19, %r16, %r17
2888 andn %r16, %r19, %r16
2889 or %r16, %r17, %r20
2890 wrpr %r20, %g0, %tstate
2891 wrhpr %g0, 0xf37, %htstate
2892 ta T_CHANGE_NONPRIV ! rand=0 (80)
2893 done
2894donretarg_80_61:
2895 .word 0xd4ffe06a ! 71: SWAPA_I swapa %r10, [%r31 + 0x006a] %asi
2896ibp_80_62:
2897 nop
2898 ta T_CHANGE_HPRIV
2899 mov 8, %r18
2900 rd %asi, %r12
2901 wr %r0, 0x41, %asi
2902 set sync_thr_counter4, %r23
2903#ifndef SPC
2904 ldxa [%g0]0x63, %r8
2905 and %r8, 0x38, %r8 ! Core ID
2906 add %r8, %r23, %r23
2907#else
2908 mov 0, %r8
2909#endif
2910 mov 0x80, %r16
2911ibp_startwait80_62:
2912 cas [%r23],%g0,%r16 !lock
2913 brz,a %r16, continue_ibp_80_62
2914 mov (~0x80&0xf0), %r16
2915 ld [%r23], %r16
2916ibp_wait80_62:
2917 brnz %r16, ibp_wait80_62
2918 ld [%r23], %r16
2919 ba ibp_startwait80_62
2920 mov 0x80, %r16
2921continue_ibp_80_62:
2922 sllx %r16, %r8, %r16 !Mask for my core only
2923 ldxa [0x58]%asi, %r17 !Running_status
2924wait_for_stat_80_62:
2925 ldxa [0x50]%asi, %r13 !Running_rw
2926 cmp %r13, %r17
2927 bne,a wait_for_stat_80_62
2928 ldxa [0x58]%asi, %r17 !Running_status
2929 stxa %r16, [0x68]%asi !Park (W1C)
2930 ldxa [0x50]%asi, %r14 !Running_rw
2931wait_for_ibp_80_62:
2932 ldxa [0x58]%asi, %r17 !Running_status
2933 cmp %r14, %r17
2934 bne,a wait_for_ibp_80_62
2935 ldxa [0x50]%asi, %r14 !Running_rw
2936ibp_doit80_62:
2937 best_set_reg(0x00000050cec9efc9,%r19, %r20)
2938 stxa %r20, [%r18]0x42
2939 stxa %r16, [0x60] %asi !Unpark (W1S)
2940 st %g0, [%r23] !clear lock
2941 wr %r0, %r12, %asi !restore %asi
2942 .word 0x87ac4a52 ! 72: FCMPd fcmpd %fcc<n>, %f48, %f18
2943 .word 0x2ac94001 ! 1: BRNZ brnz,a,pt %r5,<label_0x94001>
2944 .word 0x8d903cdd ! 73: WRPR_PSTATE_I wrpr %r0, 0x1cdd, %pstate
2945dvapa_80_64:
2946 nop
2947 ta T_CHANGE_HPRIV
2948 mov 0xa87, %r20
2949 mov 0xd, %r19
2950 sllx %r20, 23, %r20
2951 or %r19, %r20, %r19
2952 stxa %r19, [%g0] ASI_LSU_CONTROL
2953 mov 0x38, %r18
2954 stxa %r31, [%r18]0x58
2955 ta T_CHANGE_NONHPRIV
2956 .word 0xc1bfe0e0 ! 74: STDFA_I stda %f0, [0x00e0, %r31]
2957vahole_80_65:
2958 nop
2959 ta T_CHANGE_NONHPRIV
2960 setx vahole_target1, %r18, %r27
2961 jmpl %r27+0, %r27
2962 .word 0x91b0c7c1 ! 75: PDIST pdistn %d34, %d32, %d8
2963pmu_80_66:
2964 nop
2965 setx 0xfffff41ffffffa37, %g1, %g7
2966 .word 0xa3800007 ! 76: WR_PERF_COUNTER_R wr %r0, %r7, %-
2967donret_80_67:
2968 nop
2969 ta T_CHANGE_HPRIV ! macro
2970 rd %pc, %r12
2971 add %r12, (donretarg_80_67-donret_80_67-4), %r12
2972 mov 0x38, %r18
2973 stxa %r12, [%r18]0x58
2974 add %r12, 0x4, %r11
2975 wrpr %g0, 0x1, %tl
2976 wrpr %g0, %r12, %tpc
2977 wrpr %g0, %r11, %tnpc
2978 set (0x00cdbece | (0x4f << 24)), %r13
2979 rdpr %tstate, %r16
2980 mov 0x1f, %r19
2981 and %r19, %r16, %r17
2982 andn %r16, %r19, %r16
2983 or %r16, %r17, %r20
2984 wrpr %r20, %g0, %tstate
2985 wrhpr %g0, 0x78e, %htstate
2986 ta T_CHANGE_NONHPRIV ! rand=1 (80)
2987 .word 0x2f400001 ! 1: FBPU fbu,a,pn %fcc0, <label_0x1>
2988 done
2989donretarg_80_67:
2990 .word 0xd2ffe122 ! 77: SWAPA_I swapa %r9, [%r31 + 0x0122] %asi
2991 nop
2992 ta T_CHANGE_HPRIV
2993 mov 0x80+1, %r10
2994 set sync_thr_counter5, %r23
2995#ifndef SPC
2996 ldxa [%g0]0x63, %o1
2997 and %o1, 0x38, %o1
2998 add %o1, %r23, %r23
2999#endif
3000 cas [%r23],%g0,%r10 !lock
3001 brnz %r10, cwq_80_68
3002 rd %asi, %r12
3003 wr %g0, 0x40, %asi
3004 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
3005 and %l1, 0x3, %l1 ! Check if busy/enabled ..
3006 cmp %l1, 1
3007 bne cwq_80_68
3008 set CWQ_BASE, %l6
3009 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
3010 best_set_reg(0x20610050, %l1, %l2) !# Control Word
3011 sllx %l2, 32, %l2
3012 stx %l2, [%l6 + 0x0]
3013 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
3014 sub %l2, 0x40, %l2
3015 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
3016 wr %r12, %g0, %asi
3017 st %g0, [%r23]
3018cwq_80_68:
3019 ta T_CHANGE_NONHPRIV
3020 .word 0x93414000 ! 78: RDPC rd %pc, %r9
3021 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
3022reduce_priv_lvl_80_69:
3023 ta T_CHANGE_NONHPRIV ! macro
3024trapasi_80_70:
3025 nop
3026 mov 0x38, %r1 ! (VA for ASI 0x50)
3027 .word 0xe4c84a00 ! 80: LDSBA_R ldsba [%r1, %r0] 0x50, %r18
3028tglhtw_80_71:
3029 nop
3030 rd %asi, %l3 ! save %asi
3031 ta T_CHANGE_HPRIV
3032 wr %g0, ASI_MMU_ZERO_CONTEXT_TSB_CONFIG, %asi
3033 mov 1, %l2
3034 sllx %l2, 63, %l2
3035 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
3036 xor %l4, %l2, %l4
3037 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi
3038 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
3039 xor %l4, %l2, %l4
3040 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi
3041 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
3042 xor %l4, %l2, %l4
3043 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi
3044 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
3045 xor %l4, %l2, %l4
3046 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi
3047 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
3048 xor %l4, %l2, %l4
3049 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi
3050 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
3051 xor %l4, %l2, %l4
3052 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi
3053 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
3054 xor %l4, %l2, %l4
3055 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi
3056 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
3057 xor %l4, %l2, %l4
3058 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi
3059 ta T_CHANGE_NONHPRIV
3060 wr %g0, %l3, %asi !restore %asi
3061 .word 0xa7b48992 ! 81: BSHUFFLE fmovc32 %d18, %d18, %d50
3062pmu_80_72:
3063 nop
3064 ta T_CHANGE_PRIV
3065 setx 0xfffff0b4fffff3b1, %g1, %g7
3066 .word 0xa3800007 ! 82: WR_PERF_COUNTER_R wr %r0, %r7, %-
3067tagged_80_73:
3068 taddcctv %r18, 0x10ff, %r17
3069 .word 0xd607e18d ! 83: LDUW_I lduw [%r31 + 0x018d], %r11
3070#if (defined SPC || defined CMP)
3071!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_80_74) + 8, 16, 16)) -> intp(6,0,19)
3072!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_80_74)&0xffffffff) + 8, 16, 16)) -> intp(6,0,19)
3073#else
3074 setx 0xa5387089d14d1132, %r1, %r28
3075 stxa %r28, [%g0] 0x73
3076#endif
3077intvec_80_74:
3078 .word 0x39400001 ! 84: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
3079 .word 0x83d02033 ! 85: Tcc_I te icc_or_xcc, %r0 + 51
3080 set 0x723, %l3
3081 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
3082 .word 0xa1b487d4 ! 86: PDIST pdistn %d18, %d20, %d16
3083 .word 0x91918010 ! 87: WRPR_PIL_R wrpr %r6, %r16, %pil
3084 .word 0x91934014 ! 88: WRPR_PIL_R wrpr %r13, %r20, %pil
3085pmu_80_77:
3086 nop
3087 ta T_CHANGE_PRIV
3088 setx 0xfffff2f3fffff559, %g1, %g7
3089 .word 0xa3800007 ! 89: WR_PERF_COUNTER_R wr %r0, %r7, %-
3090 .word 0x22780001 ! 90: BPE <illegal instruction>
3091vahole_80_78:
3092 nop
3093 ta T_CHANGE_NONHPRIV
3094 setx vahole_target3, %r18, %r27
3095 jmpl %r27+0, %r27
3096 .word 0xc32fc013 ! 91: STXFSR_R st-sfr %f1, [%r19, %r31]
3097ibp_80_79:
3098 nop
3099 ta T_CHANGE_HPRIV
3100 mov 8, %r18
3101 rd %asi, %r12
3102 wr %r0, 0x41, %asi
3103 set sync_thr_counter4, %r23
3104#ifndef SPC
3105 ldxa [%g0]0x63, %r8
3106 and %r8, 0x38, %r8 ! Core ID
3107 add %r8, %r23, %r23
3108#else
3109 mov 0, %r8
3110#endif
3111 mov 0x80, %r16
3112ibp_startwait80_79:
3113 cas [%r23],%g0,%r16 !lock
3114 brz,a %r16, continue_ibp_80_79
3115 mov (~0x80&0xf0), %r16
3116 ld [%r23], %r16
3117ibp_wait80_79:
3118 brnz %r16, ibp_wait80_79
3119 ld [%r23], %r16
3120 ba ibp_startwait80_79
3121 mov 0x80, %r16
3122continue_ibp_80_79:
3123 sllx %r16, %r8, %r16 !Mask for my core only
3124 ldxa [0x58]%asi, %r17 !Running_status
3125wait_for_stat_80_79:
3126 ldxa [0x50]%asi, %r13 !Running_rw
3127 cmp %r13, %r17
3128 bne,a wait_for_stat_80_79
3129 ldxa [0x58]%asi, %r17 !Running_status
3130 stxa %r16, [0x68]%asi !Park (W1C)
3131 ldxa [0x50]%asi, %r14 !Running_rw
3132wait_for_ibp_80_79:
3133 ldxa [0x58]%asi, %r17 !Running_status
3134 cmp %r14, %r17
3135 bne,a wait_for_ibp_80_79
3136 ldxa [0x50]%asi, %r14 !Running_rw
3137ibp_doit80_79:
3138 best_set_reg(0x0000004083efc962,%r19, %r20)
3139 stxa %r20, [%r18]0x42
3140 stxa %r16, [0x60] %asi !Unpark (W1S)
3141 st %g0, [%r23] !clear lock
3142 wr %r0, %r12, %asi !restore %asi
3143 ta T_CHANGE_NONHPRIV
3144 .word 0xc3eb4027 ! 92: PREFETCHA_R prefetcha [%r13, %r7] 0x01, #one_read
3145splash_lsu_80_80:
3146 nop
3147 ta T_CHANGE_HPRIV
3148 set 0x73121487, %r2
3149 mov 0x4, %r1
3150 sllx %r1, 32, %r1
3151 or %r1, %r2, %r2
3152 stxa %r2, [%r0] ASI_LSU_CONTROL
3153 .word 0x3d400001 ! 93: FBPULE fbule,a,pn %fcc0, <label_0x1>
3154splash_lsu_80_81:
3155 nop
3156 ta T_CHANGE_HPRIV
3157 set 0x94f3c77d, %r2
3158 mov 0x4, %r1
3159 sllx %r1, 32, %r1
3160 or %r1, %r2, %r2
3161 stxa %r2, [%r0] ASI_LSU_CONTROL
3162 .word 0x3d400001 ! 94: FBPULE fbule,a,pn %fcc0, <label_0x1>
3163 .word 0x81460000 ! 95: RD_STICK_REG stbar
3164splash_lsu_80_82:
3165 nop
3166 ta T_CHANGE_HPRIV
3167 set 0x81cb8c63, %r2
3168 mov 0x6, %r1
3169 sllx %r1, 32, %r1
3170 or %r1, %r2, %r2
3171 stxa %r2, [%r0] ASI_LSU_CONTROL
3172 ta T_CHANGE_NONHPRIV
3173 .word 0x3d400001 ! 96: FBPULE fbule,a,pn %fcc0, <label_0x1>
3174 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
3175reduce_priv_lvl_80_83:
3176 ta T_CHANGE_NONHPRIV ! macro
3177 .word 0x29800001 ! 98: FBL fbl,a <label_0x1>
3178splash_hpstate_80_85:
3179 .word 0x22800001 ! 1: BE be,a <label_0x1>
3180 .word 0x81982102 ! 99: WRHPR_HPSTATE_I wrhpr %r0, 0x0102, %hpstate
3181 .word 0xe01fe120 ! 100: LDD_I ldd [%r31 + 0x0120], %r16
3182 .word 0xe09fe048 ! 101: LDDA_I ldda [%r31, + 0x0048] %asi, %r16
3183ibp_80_86:
3184 nop
3185 ta T_CHANGE_HPRIV
3186 mov 8, %r18
3187 rd %asi, %r12
3188 wr %r0, 0x41, %asi
3189 set sync_thr_counter4, %r23
3190#ifndef SPC
3191 ldxa [%g0]0x63, %r8
3192 and %r8, 0x38, %r8 ! Core ID
3193 add %r8, %r23, %r23
3194#else
3195 mov 0, %r8
3196#endif
3197 mov 0x80, %r16
3198ibp_startwait80_86:
3199 cas [%r23],%g0,%r16 !lock
3200 brz,a %r16, continue_ibp_80_86
3201 mov (~0x80&0xf0), %r16
3202 ld [%r23], %r16
3203ibp_wait80_86:
3204 brnz %r16, ibp_wait80_86
3205 ld [%r23], %r16
3206 ba ibp_startwait80_86
3207 mov 0x80, %r16
3208continue_ibp_80_86:
3209 sllx %r16, %r8, %r16 !Mask for my core only
3210 ldxa [0x58]%asi, %r17 !Running_status
3211wait_for_stat_80_86:
3212 ldxa [0x50]%asi, %r13 !Running_rw
3213 cmp %r13, %r17
3214 bne,a wait_for_stat_80_86
3215 ldxa [0x58]%asi, %r17 !Running_status
3216 stxa %r16, [0x68]%asi !Park (W1C)
3217 ldxa [0x50]%asi, %r14 !Running_rw
3218wait_for_ibp_80_86:
3219 ldxa [0x58]%asi, %r17 !Running_status
3220 cmp %r14, %r17
3221 bne,a wait_for_ibp_80_86
3222 ldxa [0x50]%asi, %r14 !Running_rw
3223ibp_doit80_86:
3224 best_set_reg(0x0000004025c9623f,%r19, %r20)
3225 stxa %r20, [%r18]0x42
3226 stxa %r16, [0x60] %asi !Unpark (W1S)
3227 st %g0, [%r23] !clear lock
3228 wr %r0, %r12, %asi !restore %asi
3229 .word 0xe19fde00 ! 102: LDDFA_R ldda [%r31, %r0], %f16
3230 .word 0x91d020b2 ! 103: Tcc_I ta icc_or_xcc, %r0 + 178
3231 nop
3232 ta T_CHANGE_HPRIV
3233 mov 0x80, %r10
3234 set sync_thr_counter6, %r23
3235#ifndef SPC
3236 ldxa [%g0]0x63, %o1
3237 and %o1, 0x38, %o1
3238 add %o1, %r23, %r23
3239#endif
3240 cas [%r23],%g0,%r10 !lock
3241 brnz %r10, sma_80_87
3242 rd %asi, %r12
3243 wr %g0, 0x40, %asi
3244 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
3245 set 0x000a1fff, %g1
3246 stxa %g1, [%g0 + 0x80] %asi
3247 wr %r12, %g0, %asi
3248 st %g0, [%r23]
3249sma_80_87:
3250 ta T_CHANGE_NONHPRIV
3251 .word 0xe1e7e012 ! 104: CASA_R casa [%r31] %asi, %r18, %r16
3252 .word 0x91948009 ! 105: WRPR_PIL_R wrpr %r18, %r9, %pil
3253pmu_80_89:
3254 nop
3255 setx 0xfffff574fffff8ca, %g1, %g7
3256 .word 0xa3800007 ! 106: WR_PERF_COUNTER_R wr %r0, %r7, %-
3257 .word 0xc30fc000 ! 107: LDXFSR_R ld-fsr [%r31, %r0], %f1
3258 .word 0x29400001 ! 1: FBPL fbl,a,pn %fcc0, <label_0x1>
3259 .word 0x8d903dcb ! 108: WRPR_PSTATE_I wrpr %r0, 0x1dcb, %pstate
3260intveclr_80_91:
3261 nop
3262 ta T_CHANGE_HPRIV
3263 setx 0xa423b7e8a8ad1bf2, %r1, %r28
3264 stxa %r28, [%g0] 0x72
3265 ta T_CHANGE_NONHPRIV
3266 .word 0x25400001 ! 109: FBPLG fblg,a,pn %fcc0, <label_0x1>
3267brcommon2_80_92:
3268 nop
3269 setx common_target, %r12, %r27
3270 ba,a .+12
3271 .word 0xe3140011 ! 1: LDQF_R - [%r16, %r17], %f17
3272 ba,a .+8
3273 jmpl %r27+0, %r27
3274 .word 0xe1bfe0c0 ! 110: STDFA_I stda %f16, [0x00c0, %r31]
3275pmu_80_93:
3276 nop
3277 ta T_CHANGE_PRIV
3278 setx 0xfffff9b0fffff269, %g1, %g7
3279 .word 0xa3800007 ! 111: WR_PERF_COUNTER_R wr %r0, %r7, %-
3280vahole_80_94:
3281 nop
3282 ta T_CHANGE_NONHPRIV
3283 setx vahole_target2, %r18, %r27
3284 jmpl %r27+0, %r27
3285 .word 0xe8bfc028 ! 112: STDA_R stda %r20, [%r31 + %r8] 0x01
3286 fbl skip_80_95
3287 .word 0x9f802627 ! 1: SIR sir 0x0627
3288.align 2048
3289skip_80_95:
3290 .word 0xc36cf3b5 ! 113: PREFETCH_I prefetch [%r19 + 0xfffff3b5], #one_read
3291dvapa_80_96:
3292 nop
3293 ta T_CHANGE_HPRIV
3294 mov 0xa7e, %r20
3295 mov 0x6, %r19
3296 sllx %r20, 23, %r20
3297 or %r19, %r20, %r19
3298 stxa %r19, [%g0] ASI_LSU_CONTROL
3299 mov 0x38, %r18
3300 stxa %r31, [%r18]0x58
3301 ta T_CHANGE_NONHPRIV
3302 .word 0x95a109a6 ! 114: FDIVs fdivs %f4, %f6, %f10
3303splash_cmpr_80_97:
3304 mov 1, %r18
3305 sllx %r18, 63, %r18
3306 rd %tick, %r17
3307 add %r17, 0x80, %r17
3308 or %r17, %r18, %r17
3309 ta T_CHANGE_PRIV
3310 .word 0xb3800011 ! 115: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
3311vahole_80_98:
3312 nop
3313 ta T_CHANGE_NONHPRIV
3314 setx vahole_target1, %r18, %r27
3315 jmpl %r27+0, %r27
3316 .word 0xd31fc009 ! 116: LDDF_R ldd [%r31, %r9], %f9
3317vahole_80_99:
3318 nop
3319 ta T_CHANGE_NONHPRIV
3320 setx vahole_target0, %r18, %r27
3321 jmpl %r27+0, %r27
3322 .word 0xc19fd960 ! 117: LDDFA_R ldda [%r31, %r0], %f0
3323mondo_80_100:
3324 nop
3325 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
3326 stxa %r17, [%r0+0x3e0] %asi
3327 .word 0x9d924010 ! 118: WRPR_WSTATE_R wrpr %r9, %r16, %wstate
3328trapasi_80_101:
3329 nop
3330 mov 0x18, %r1 ! (VA for ASI 0x50)
3331 .word 0xd2d84a00 ! 119: LDXA_R ldxa [%r1, %r0] 0x50, %r9
3332splash_cmpr_80_102:
3333 mov 1, %r18
3334 sllx %r18, 63, %r18
3335 rd %tick, %r17
3336 add %r17, 0x80, %r17
3337 or %r17, %r18, %r17
3338 .word 0xaf800011 ! 120: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
3339 nop
3340 ta T_CHANGE_HPRIV
3341 mov 0x80, %r10
3342 set sync_thr_counter6, %r23
3343#ifndef SPC
3344 ldxa [%g0]0x63, %o1
3345 and %o1, 0x38, %o1
3346 add %o1, %r23, %r23
3347#endif
3348 cas [%r23],%g0,%r10 !lock
3349 brnz %r10, sma_80_103
3350 rd %asi, %r12
3351 wr %g0, 0x40, %asi
3352 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
3353 set 0x000a1fff, %g1
3354 stxa %g1, [%g0 + 0x80] %asi
3355 wr %r12, %g0, %asi
3356 st %g0, [%r23]
3357sma_80_103:
3358 ta T_CHANGE_NONHPRIV
3359 .word 0xd3e7e008 ! 121: CASA_R casa [%r31] %asi, %r8, %r9
3360dvapa_80_104:
3361 nop
3362 ta T_CHANGE_HPRIV
3363 mov 0xe06, %r20
3364 mov 0x1b, %r19
3365 sllx %r20, 23, %r20
3366 or %r19, %r20, %r19
3367 stxa %r19, [%g0] ASI_LSU_CONTROL
3368 mov 0x38, %r18
3369 stxa %r31, [%r18]0x58
3370 ta T_CHANGE_NONHPRIV
3371 .word 0x91a189ab ! 122: FDIVs fdivs %f6, %f11, %f8
3372splash_hpstate_80_105:
3373 .word 0x2ac98001 ! 1: BRNZ brnz,a,pt %r6,<label_0x98001>
3374 .word 0x81982864 ! 123: WRHPR_HPSTATE_I wrhpr %r0, 0x0864, %hpstate
3375 .word 0xe19fd920 ! 124: LDDFA_R ldda [%r31, %r0], %f16
3376mondo_80_107:
3377 nop
3378 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
3379 ta T_CHANGE_PRIV
3380 stxa %r13, [%r0+0x3e0] %asi
3381 .word 0x9d910013 ! 125: WRPR_WSTATE_R wrpr %r4, %r19, %wstate
3382splash_tba_80_108:
3383 ta T_CHANGE_PRIV
3384 set 0x120000, %r12
3385 .word 0x8b90000c ! 126: WRPR_TBA_R wrpr %r0, %r12, %tba
3386 .word 0xa3500000 ! 127: RDPR_TPC rdpr %tpc, %r17
3387brcommon2_80_109:
3388 nop
3389 setx common_target, %r12, %r27
3390 ba,a .+12
3391 .word 0x97a00545 ! 1: FSQRTd fsqrt
3392 ba,a .+8
3393 jmpl %r27+0, %r27
3394 .word 0xe1bfdb60 ! 128: STDFA_R stda %f16, [%r0, %r31]
3395splash_hpstate_80_110:
3396 .word 0x81983244 ! 129: WRHPR_HPSTATE_I wrhpr %r0, 0x1244, %hpstate
3397 .word 0x89800011 ! 130: WRTICK_R wr %r0, %r17, %tick
3398 .word 0xc19fe100 ! 131: LDDFA_I ldda [%r31, 0x0100], %f0
3399 .word 0xa3a00162 ! 132: FABSq dis not found
3400
3401 setx 0xe819a43f5e50f46d, %r1, %r28
3402 stxa %r28, [%g0] 0x73
3403intvec_80_113:
3404 .word 0x39400001 ! 133: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
3405fpinit_80_114:
3406 setx fp_data_quads, %r19, %r20
3407 ldd [%r20], %f0
3408 ldd [%r20+8], %f4
3409 ld [%r20+16], %fsr
3410 ld [%r20+24], %r19
3411 wr %r19, %g0, %gsr
3412 .word 0x87a80a44 ! 134: FCMPd fcmpd %fcc<n>, %f0, %f4
3413 .word 0x8d9025af ! 135: WRPR_PSTATE_I wrpr %r0, 0x05af, %pstate
3414 bvs,a skip_80_116
3415 brgz,a,pn %r1, skip_80_116
3416.align 2048
3417skip_80_116:
3418 .word 0xc36fe194 ! 136: PREFETCH_I prefetch [%r31 + 0x0194], #one_read
3419intveclr_80_117:
3420 nop
3421 ta T_CHANGE_HPRIV
3422 setx 0x3a74b34d25e15e5e, %r1, %r28
3423 stxa %r28, [%g0] 0x72
3424 .word 0x25400001 ! 137: FBPLG fblg,a,pn %fcc0, <label_0x1>
3425pmu_80_118:
3426 nop
3427 setx 0xfffff3b3fffffc5b, %g1, %g7
3428 .word 0xa3800007 ! 138: WR_PERF_COUNTER_R wr %r0, %r7, %-
3429ibp_80_119:
3430 nop
3431 ta T_CHANGE_HPRIV
3432 mov 8, %r18
3433 rd %asi, %r12
3434 wr %r0, 0x41, %asi
3435 set sync_thr_counter4, %r23
3436#ifndef SPC
3437 ldxa [%g0]0x63, %r8
3438 and %r8, 0x38, %r8 ! Core ID
3439 add %r8, %r23, %r23
3440#else
3441 mov 0, %r8
3442#endif
3443 mov 0x80, %r16
3444ibp_startwait80_119:
3445 cas [%r23],%g0,%r16 !lock
3446 brz,a %r16, continue_ibp_80_119
3447 mov (~0x80&0xf0), %r16
3448 ld [%r23], %r16
3449ibp_wait80_119:
3450 brnz %r16, ibp_wait80_119
3451 ld [%r23], %r16
3452 ba ibp_startwait80_119
3453 mov 0x80, %r16
3454continue_ibp_80_119:
3455 sllx %r16, %r8, %r16 !Mask for my core only
3456 ldxa [0x58]%asi, %r17 !Running_status
3457wait_for_stat_80_119:
3458 ldxa [0x50]%asi, %r13 !Running_rw
3459 cmp %r13, %r17
3460 bne,a wait_for_stat_80_119
3461 ldxa [0x58]%asi, %r17 !Running_status
3462 stxa %r16, [0x68]%asi !Park (W1C)
3463 ldxa [0x50]%asi, %r14 !Running_rw
3464wait_for_ibp_80_119:
3465 ldxa [0x58]%asi, %r17 !Running_status
3466 cmp %r14, %r17
3467 bne,a wait_for_ibp_80_119
3468 ldxa [0x50]%asi, %r14 !Running_rw
3469ibp_doit80_119:
3470 best_set_reg(0x00000050d2e23f40,%r19, %r20)
3471 stxa %r20, [%r18]0x42
3472 stxa %r16, [0x60] %asi !Unpark (W1S)
3473 st %g0, [%r23] !clear lock
3474 wr %r0, %r12, %asi !restore %asi
3475 ta T_CHANGE_NONHPRIV
3476 .word 0x95a309c4 ! 139: FDIVd fdivd %f12, %f4, %f10
3477splash_lsu_80_120:
3478 nop
3479 ta T_CHANGE_HPRIV
3480 set 0xd8646f0b, %r2
3481 mov 0x7, %r1
3482 sllx %r1, 32, %r1
3483 or %r1, %r2, %r2
3484 stxa %r2, [%r0] ASI_LSU_CONTROL
3485 ta T_CHANGE_NONHPRIV
3486 .word 0x3d400001 ! 140: FBPULE fbule,a,pn %fcc0, <label_0x1>
3487pmu_80_121:
3488 nop
3489 ta T_CHANGE_PRIV
3490 setx 0xfffffcacfffff353, %g1, %g7
3491 .word 0xa3800007 ! 141: WR_PERF_COUNTER_R wr %r0, %r7, %-
3492unsupttte_80_122:
3493 nop
3494 ta T_CHANGE_HPRIV
3495 mov 1, %r20
3496 sllx %r20, 63, %r20
3497 or %r20, 2,%r20
3498 stxa %r20, [%g0]0x54 ! I unsupported page size ..
3499 ta T_CHANGE_NONHPRIV
3500 .word 0xc3e84033 ! 142: PREFETCHA_R prefetcha [%r1, %r19] 0x01, #one_read
3501splash_cmpr_80_123:
3502 mov 1, %r18
3503 sllx %r18, 63, %r18
3504 rd %tick, %r17
3505 add %r17, 0x60, %r17
3506 or %r17, %r18, %r17
3507 ta T_CHANGE_PRIV
3508 .word 0xaf800011 ! 143: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
3509 .word 0xd47ffbe8 ! 144: SWAP_I swap %r10, [%r31 + 0xfffffbe8]
3510splash_cmpr_80_124:
3511 mov 1, %r18
3512 sllx %r18, 63, %r18
3513 rd %tick, %r17
3514 add %r17, 0x50, %r17
3515 or %r17, %r18, %r17
3516 ta T_CHANGE_HPRIV
3517 wrhpr %r17, %g0, %hsys_tick_cmpr
3518 .word 0xb3800011 ! 145: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
3519 .word 0x97524000 ! 146: RDPR_CWP <illegal instruction>
3520intveclr_80_126:
3521 nop
3522 ta T_CHANGE_HPRIV
3523 setx 0x4dce4ba9a987e194, %r1, %r28
3524 stxa %r28, [%g0] 0x72
3525 ta T_CHANGE_NONHPRIV
3526 .word 0x25400001 ! 147: FBPLG fblg,a,pn %fcc0, <label_0x1>
3527memptr_80_127:
3528 set 0x60540000, %r31
3529 .word 0x8582f8d7 ! 148: WRCCR_I wr %r11, 0x18d7, %ccr
3530 .word 0x87802004 ! 149: WRASI_I wr %r0, 0x0004, %asi
3531intveclr_80_128:
3532 nop
3533 ta T_CHANGE_HPRIV
3534 setx 0xe03eb98dff8172bc, %r1, %r28
3535 stxa %r28, [%g0] 0x72
3536 ta T_CHANGE_NONHPRIV
3537 .word 0x25400001 ! 150: FBPLG fblg,a,pn %fcc0, <label_0x1>
3538 .word 0xe08008a0 ! 151: LDUWA_R lduwa [%r0, %r0] 0x45, %r16
3539mondo_80_129:
3540 nop
3541 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
3542 stxa %r8, [%r0+0x3d8] %asi
3543 .word 0x9d940009 ! 152: WRPR_WSTATE_R wrpr %r16, %r9, %wstate
3544vahole_80_130:
3545 nop
3546 ta T_CHANGE_NONHPRIV
3547 setx vahole_target3, %r18, %r27
3548 jmpl %r27+0, %r27
3549 .word 0xe1bfdb60 ! 153: STDFA_R stda %f16, [%r0, %r31]
3550 .word 0xe08fe068 ! 154: LDUBA_I lduba [%r31, + 0x0068] %asi, %r16
3551 .word 0x91d020b3 ! 155: Tcc_I ta icc_or_xcc, %r0 + 179
3552 nop
3553 ta T_CHANGE_HPRIV
3554 mov 0x80+1, %r10
3555 set sync_thr_counter5, %r23
3556#ifndef SPC
3557 ldxa [%g0]0x63, %o1
3558 and %o1, 0x38, %o1
3559 add %o1, %r23, %r23
3560#endif
3561 cas [%r23],%g0,%r10 !lock
3562 brnz %r10, cwq_80_131
3563 rd %asi, %r12
3564 wr %g0, 0x40, %asi
3565 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
3566 and %l1, 0x3, %l1 ! Check if busy/enabled ..
3567 cmp %l1, 1
3568 bne cwq_80_131
3569 set CWQ_BASE, %l6
3570 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
3571 best_set_reg(0x20610010, %l1, %l2) !# Control Word
3572 sllx %l2, 32, %l2
3573 stx %l2, [%l6 + 0x0]
3574 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
3575 sub %l2, 0x40, %l2
3576 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
3577 wr %r12, %g0, %asi
3578 st %g0, [%r23]
3579cwq_80_131:
3580 ta T_CHANGE_NONHPRIV
3581 .word 0x99414000 ! 156: RDPC rd %pc, %r12
3582ibp_80_132:
3583 nop
3584 ta T_CHANGE_HPRIV
3585 mov 8, %r18
3586 rd %asi, %r12
3587 wr %r0, 0x41, %asi
3588 set sync_thr_counter4, %r23
3589#ifndef SPC
3590 ldxa [%g0]0x63, %r8
3591 and %r8, 0x38, %r8 ! Core ID
3592 add %r8, %r23, %r23
3593#else
3594 mov 0, %r8
3595#endif
3596 mov 0x80, %r16
3597ibp_startwait80_132:
3598 cas [%r23],%g0,%r16 !lock
3599 brz,a %r16, continue_ibp_80_132
3600 mov (~0x80&0xf0), %r16
3601 ld [%r23], %r16
3602ibp_wait80_132:
3603 brnz %r16, ibp_wait80_132
3604 ld [%r23], %r16
3605 ba ibp_startwait80_132
3606 mov 0x80, %r16
3607continue_ibp_80_132:
3608 sllx %r16, %r8, %r16 !Mask for my core only
3609 ldxa [0x58]%asi, %r17 !Running_status
3610wait_for_stat_80_132:
3611 ldxa [0x50]%asi, %r13 !Running_rw
3612 cmp %r13, %r17
3613 bne,a wait_for_stat_80_132
3614 ldxa [0x58]%asi, %r17 !Running_status
3615 stxa %r16, [0x68]%asi !Park (W1C)
3616 ldxa [0x50]%asi, %r14 !Running_rw
3617wait_for_ibp_80_132:
3618 ldxa [0x58]%asi, %r17 !Running_status
3619 cmp %r14, %r17
3620 bne,a wait_for_ibp_80_132
3621 ldxa [0x50]%asi, %r14 !Running_rw
3622ibp_doit80_132:
3623 best_set_reg(0x000000400cff401f,%r19, %r20)
3624 stxa %r20, [%r18]0x42
3625 stxa %r16, [0x60] %asi !Unpark (W1S)
3626 st %g0, [%r23] !clear lock
3627 wr %r0, %r12, %asi !restore %asi
3628 .word 0xa7703058 ! 157: POPC_I popc 0x1058, %r19
3629splash_lsu_80_133:
3630 nop
3631 ta T_CHANGE_HPRIV
3632 set 0x484e11b1, %r2
3633 mov 0x6, %r1
3634 sllx %r1, 32, %r1
3635 or %r1, %r2, %r2
3636 stxa %r2, [%r0] ASI_LSU_CONTROL
3637 .word 0x3d400001 ! 158: FBPULE fbule,a,pn %fcc0, <label_0x1>
3638 .word 0xe8800b00 ! 159: LDUWA_R lduwa [%r0, %r0] 0x58, %r20
3639vahole_80_134:
3640 nop
3641 ta T_CHANGE_NONHPRIV
3642 setx vahole_target1, %r18, %r27
3643 jmpl %r27+0, %r27
3644 .word 0xe1bfdb60 ! 160: STDFA_R stda %f16, [%r0, %r31]
3645brcommon1_80_135:
3646 nop
3647 setx common_target, %r12, %r27
3648 lduw [%r27], %r12 ! Load common dest into dcache ..
3649 ba,a .+12
3650 .word 0xe86ff5c6 ! 1: LDSTUB_I ldstub %r20, [%r31 + 0xfffff5c6]
3651 ba,a .+8
3652 jmpl %r27+0, %r27
3653 .word 0x91b207c3 ! 161: PDIST pdistn %d8, %d34, %d8
3654splash_hpstate_80_136:
3655 .word 0x81982dbf ! 162: WRHPR_HPSTATE_I wrhpr %r0, 0x0dbf, %hpstate
3656 .word 0xd497e138 ! 163: LDUHA_I lduha [%r31, + 0x0138] %asi, %r10
3657vahole_80_137:
3658 nop
3659 ta T_CHANGE_NONHPRIV
3660 setx vahole_target1, %r18, %r27
3661 jmpl %r27+0, %r27
3662 .word 0xe1bfe0c0 ! 164: STDFA_I stda %f16, [0x00c0, %r31]
3663pmu_80_138:
3664 nop
3665 setx 0xfffffd9afffffd50, %g1, %g7
3666 .word 0xa3800007 ! 165: WR_PERF_COUNTER_R wr %r0, %r7, %-
3667vahole_80_139:
3668 nop
3669 ta T_CHANGE_NONHPRIV
3670 setx vahole_target0, %r18, %r27
3671 jmpl %r27+0, %r27
3672 .word 0xd43fe47f ! 166: STD_I std %r10, [%r31 + 0x047f]
3673intveclr_80_140:
3674 nop
3675 ta T_CHANGE_HPRIV
3676 setx 0x5618ad9d24769767, %r1, %r28
3677 stxa %r28, [%g0] 0x72
3678 ta T_CHANGE_NONHPRIV
3679 .word 0x25400001 ! 167: FBPLG fblg,a,pn %fcc0, <label_0x1>
3680 .word 0x8d903510 ! 168: WRPR_PSTATE_I wrpr %r0, 0x1510, %pstate
3681 .word 0x87802004 ! 169: WRASI_I wr %r0, 0x0004, %asi
3682ibp_80_142:
3683 nop
3684 ta T_CHANGE_HPRIV
3685 mov 8, %r18
3686 rd %asi, %r12
3687 wr %r0, 0x41, %asi
3688 set sync_thr_counter4, %r23
3689#ifndef SPC
3690 ldxa [%g0]0x63, %r8
3691 and %r8, 0x38, %r8 ! Core ID
3692 add %r8, %r23, %r23
3693#else
3694 mov 0, %r8
3695#endif
3696 mov 0x80, %r16
3697ibp_startwait80_142:
3698 cas [%r23],%g0,%r16 !lock
3699 brz,a %r16, continue_ibp_80_142
3700 mov (~0x80&0xf0), %r16
3701 ld [%r23], %r16
3702ibp_wait80_142:
3703 brnz %r16, ibp_wait80_142
3704 ld [%r23], %r16
3705 ba ibp_startwait80_142
3706 mov 0x80, %r16
3707continue_ibp_80_142:
3708 sllx %r16, %r8, %r16 !Mask for my core only
3709 ldxa [0x58]%asi, %r17 !Running_status
3710wait_for_stat_80_142:
3711 ldxa [0x50]%asi, %r13 !Running_rw
3712 cmp %r13, %r17
3713 bne,a wait_for_stat_80_142
3714 ldxa [0x58]%asi, %r17 !Running_status
3715 stxa %r16, [0x68]%asi !Park (W1C)
3716 ldxa [0x50]%asi, %r14 !Running_rw
3717wait_for_ibp_80_142:
3718 ldxa [0x58]%asi, %r17 !Running_status
3719 cmp %r14, %r17
3720 bne,a wait_for_ibp_80_142
3721 ldxa [0x50]%asi, %r14 !Running_rw
3722ibp_doit80_142:
3723 best_set_reg(0x00000040d2c01f3b,%r19, %r20)
3724 stxa %r20, [%r18]0x42
3725 stxa %r16, [0x60] %asi !Unpark (W1S)
3726 st %g0, [%r23] !clear lock
3727 wr %r0, %r12, %asi !restore %asi
3728 ta T_CHANGE_NONHPRIV
3729 .word 0x87ab4a50 ! 170: FCMPd fcmpd %fcc<n>, %f44, %f16
3730 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
3731reduce_priv_lvl_80_143:
3732 ta T_CHANGE_NONPRIV ! macro
3733fpinit_80_144:
3734 setx fp_data_quads, %r19, %r20
3735 ldd [%r20], %f0
3736 ldd [%r20+8], %f4
3737 ld [%r20+16], %fsr
3738 ld [%r20+24], %r19
3739 wr %r19, %g0, %gsr
3740 .word 0x89a009c4 ! 172: FDIVd fdivd %f0, %f4, %f4
3741dvapa_80_145:
3742 nop
3743 ta T_CHANGE_HPRIV
3744 mov 0xea1, %r20
3745 mov 0x14, %r19
3746 sllx %r20, 23, %r20
3747 or %r19, %r20, %r19
3748 stxa %r19, [%g0] ASI_LSU_CONTROL
3749 mov 0x38, %r18
3750 stxa %r31, [%r18]0x58
3751 ta T_CHANGE_NONHPRIV
3752 .word 0xe51fc012 ! 173: LDDF_R ldd [%r31, %r18], %f18
3753intveclr_80_146:
3754 nop
3755 ta T_CHANGE_HPRIV
3756 setx 0xd7234b3400407a37, %r1, %r28
3757 stxa %r28, [%g0] 0x72
3758 ta T_CHANGE_NONHPRIV
3759 .word 0x25400001 ! 174: FBPLG fblg,a,pn %fcc0, <label_0x1>
3760 .word 0xe51fe0d0 ! 175: LDDF_I ldd [%r31, 0x00d0], %f18
3761donret_80_147:
3762 nop
3763 ta T_CHANGE_HPRIV ! macro
3764 rd %pc, %r12
3765 add %r12, (donretarg_80_147-donret_80_147-4), %r12
3766 mov 0x38, %r18
3767 stxa %r12, [%r18]0x58
3768 add %r12, 0x4, %r11
3769 wrpr %g0, 0x2, %tl
3770 wrpr %g0, %r12, %tpc
3771 wrpr %g0, %r11, %tnpc
3772 set (0x00d30b8b | (22 << 24)), %r13
3773 rdpr %tstate, %r16
3774 mov 0x1f, %r19
3775 and %r19, %r16, %r17
3776 andn %r16, %r19, %r16
3777 or %r16, %r17, %r20
3778 wrpr %r20, %g0, %tstate
3779 wrhpr %g0, 0x134c, %htstate
3780 ta T_CHANGE_NONHPRIV ! rand=1 (80)
3781 done
3782donretarg_80_147:
3783 .word 0xe4ffe14d ! 176: SWAPA_I swapa %r18, [%r31 + 0x014d] %asi
3784 .word 0xe19fe1e0 ! 177: LDDFA_I ldda [%r31, 0x01e0], %f16
3785 .word 0x93d02033 ! 178: Tcc_I tne icc_or_xcc, %r0 + 51
3786fpinit_80_148:
3787 setx fp_data_quads, %r19, %r20
3788 ldd [%r20], %f0
3789 ldd [%r20+8], %f4
3790 ld [%r20+16], %fsr
3791 ld [%r20+24], %r19
3792 wr %r19, %g0, %gsr
3793 .word 0x91b00484 ! 179: FCMPLE32 fcmple32 %d0, %d4, %r8
3794splash_cmpr_80_149:
3795 mov 1, %r18
3796 sllx %r18, 63, %r18
3797 rd %tick, %r17
3798 add %r17, 0x60, %r17
3799 or %r17, %r18, %r17
3800 ta T_CHANGE_PRIV
3801 .word 0xb3800011 ! 180: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
3802 nop
3803 ta T_CHANGE_HPRIV
3804 mov 0x80+1, %r10
3805 set sync_thr_counter5, %r23
3806#ifndef SPC
3807 ldxa [%g0]0x63, %o1
3808 and %o1, 0x38, %o1
3809 add %o1, %r23, %r23
3810#endif
3811 cas [%r23],%g0,%r10 !lock
3812 brnz %r10, cwq_80_150
3813 rd %asi, %r12
3814 wr %g0, 0x40, %asi
3815 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
3816 and %l1, 0x3, %l1 ! Check if busy/enabled ..
3817 cmp %l1, 1
3818 bne cwq_80_150
3819 set CWQ_BASE, %l6
3820 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
3821 best_set_reg(0x20610000, %l1, %l2) !# Control Word
3822 sllx %l2, 32, %l2
3823 stx %l2, [%l6 + 0x0]
3824 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
3825 sub %l2, 0x40, %l2
3826 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
3827 wr %r12, %g0, %asi
3828 st %g0, [%r23]
3829cwq_80_150:
3830 ta T_CHANGE_NONHPRIV
3831 .word 0x91414000 ! 181: RDPC rd %pc, %r8
3832unsupttte_80_151:
3833 nop
3834 ta T_CHANGE_HPRIV
3835 mov 1, %r20
3836 sllx %r20, 63, %r20
3837 or %r20, 2,%r20
3838 stxa %r20, [%g0]0x5c ! D unsupported page size ..
3839 ta T_CHANGE_NONHPRIV
3840 .word 0xc3ecc025 ! 182: PREFETCHA_R prefetcha [%r19, %r5] 0x01, #one_read
3841 .word 0xa7a00171 ! 183: FABSq dis not found
3842
3843vahole_80_153:
3844 nop
3845 ta T_CHANGE_NONHPRIV
3846 setx vahole_target2, %r18, %r27
3847 jmpl %r27+0, %r27
3848 .word 0xc1bfc2c0 ! 184: STDFA_R stda %f0, [%r0, %r31]
3849mondo_80_154:
3850 nop
3851 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
3852 ta T_CHANGE_PRIV
3853 stxa %r18, [%r0+0x3e0] %asi
3854 .word 0x9d934013 ! 185: WRPR_WSTATE_R wrpr %r13, %r19, %wstate
3855 .word 0xe19fc2c0 ! 186: LDDFA_R ldda [%r31, %r0], %f16
3856 nop
3857 ta T_CHANGE_HPRIV
3858 mov 0x80, %r10
3859 set sync_thr_counter6, %r23
3860#ifndef SPC
3861 ldxa [%g0]0x63, %o1
3862 and %o1, 0x38, %o1
3863 add %o1, %r23, %r23
3864#endif
3865 cas [%r23],%g0,%r10 !lock
3866 brnz %r10, sma_80_156
3867 rd %asi, %r12
3868 wr %g0, 0x40, %asi
3869 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
3870 set 0x001a1fff, %g1
3871 stxa %g1, [%g0 + 0x80] %asi
3872 wr %r12, %g0, %asi
3873 st %g0, [%r23]
3874sma_80_156:
3875 ta T_CHANGE_NONHPRIV
3876 .word 0xdbe7e012 ! 187: CASA_R casa [%r31] %asi, %r18, %r13
3877pmu_80_157:
3878 nop
3879 ta T_CHANGE_PRIV
3880 setx 0xfffffcadfffffccb, %g1, %g7
3881 .word 0xa3800007 ! 188: WR_PERF_COUNTER_R wr %r0, %r7, %-
3882br_badelay1_80_158:
3883 .word 0x39400001 ! 1: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
3884 .word 0x3d400001 ! 1: FBPULE fbule,a,pn %fcc0, <label_0x1>
3885 .word 0xda3fc013 ! 1: STD_R std %r13, [%r31 + %r19]
3886 normalw
3887 .word 0xa7458000 ! 189: RD_SOFTINT_REG rd %softint, %r19
3888 .word 0x91944013 ! 190: WRPR_PIL_R wrpr %r17, %r19, %pil
3889splash_cmpr_80_160:
3890 mov 1, %r18
3891 sllx %r18, 63, %r18
3892 rd %tick, %r17
3893 add %r17, 0x70, %r17
3894 or %r17, %r18, %r17
3895 ta T_CHANGE_PRIV
3896 .word 0xb3800011 ! 191: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
3897splash_cmpr_80_161:
3898 mov 1, %r18
3899 sllx %r18, 63, %r18
3900 rd %tick, %r17
3901 add %r17, 0x50, %r17
3902 or %r17, %r18, %r17
3903 .word 0xb3800011 ! 192: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
3904ibp_80_162:
3905 nop
3906 ta T_CHANGE_HPRIV
3907 mov 8, %r18
3908 rd %asi, %r12
3909 wr %r0, 0x41, %asi
3910 set sync_thr_counter4, %r23
3911#ifndef SPC
3912 ldxa [%g0]0x63, %r8
3913 and %r8, 0x38, %r8 ! Core ID
3914 add %r8, %r23, %r23
3915#else
3916 mov 0, %r8
3917#endif
3918 mov 0x80, %r16
3919ibp_startwait80_162:
3920 cas [%r23],%g0,%r16 !lock
3921 brz,a %r16, continue_ibp_80_162
3922 mov (~0x80&0xf0), %r16
3923 ld [%r23], %r16
3924ibp_wait80_162:
3925 brnz %r16, ibp_wait80_162
3926 ld [%r23], %r16
3927 ba ibp_startwait80_162
3928 mov 0x80, %r16
3929continue_ibp_80_162:
3930 sllx %r16, %r8, %r16 !Mask for my core only
3931 ldxa [0x58]%asi, %r17 !Running_status
3932wait_for_stat_80_162:
3933 ldxa [0x50]%asi, %r13 !Running_rw
3934 cmp %r13, %r17
3935 bne,a wait_for_stat_80_162
3936 ldxa [0x58]%asi, %r17 !Running_status
3937 stxa %r16, [0x68]%asi !Park (W1C)
3938 ldxa [0x50]%asi, %r14 !Running_rw
3939wait_for_ibp_80_162:
3940 ldxa [0x58]%asi, %r17 !Running_status
3941 cmp %r14, %r17
3942 bne,a wait_for_ibp_80_162
3943 ldxa [0x50]%asi, %r14 !Running_rw
3944ibp_doit80_162:
3945 best_set_reg(0x00000040cedf3b9c,%r19, %r20)
3946 stxa %r20, [%r18]0x42
3947 stxa %r16, [0x60] %asi !Unpark (W1S)
3948 st %g0, [%r23] !clear lock
3949 wr %r0, %r12, %asi !restore %asi
3950 .word 0xa9b207cd ! 193: PDIST pdistn %d8, %d44, %d20
3951 .word 0x89800011 ! 194: WRTICK_R wr %r0, %r17, %tick
3952ibp_80_164:
3953 nop
3954 ta T_CHANGE_HPRIV
3955 mov 8, %r18
3956 rd %asi, %r12
3957 wr %r0, 0x41, %asi
3958 set sync_thr_counter4, %r23
3959#ifndef SPC
3960 ldxa [%g0]0x63, %r8
3961 and %r8, 0x38, %r8 ! Core ID
3962 add %r8, %r23, %r23
3963#else
3964 mov 0, %r8
3965#endif
3966 mov 0x80, %r16
3967ibp_startwait80_164:
3968 cas [%r23],%g0,%r16 !lock
3969 brz,a %r16, continue_ibp_80_164
3970 mov (~0x80&0xf0), %r16
3971 ld [%r23], %r16
3972ibp_wait80_164:
3973 brnz %r16, ibp_wait80_164
3974 ld [%r23], %r16
3975 ba ibp_startwait80_164
3976 mov 0x80, %r16
3977continue_ibp_80_164:
3978 sllx %r16, %r8, %r16 !Mask for my core only
3979 ldxa [0x58]%asi, %r17 !Running_status
3980wait_for_stat_80_164:
3981 ldxa [0x50]%asi, %r13 !Running_rw
3982 cmp %r13, %r17
3983 bne,a wait_for_stat_80_164
3984 ldxa [0x58]%asi, %r17 !Running_status
3985 stxa %r16, [0x68]%asi !Park (W1C)
3986 ldxa [0x50]%asi, %r14 !Running_rw
3987wait_for_ibp_80_164:
3988 ldxa [0x58]%asi, %r17 !Running_status
3989 cmp %r14, %r17
3990 bne,a wait_for_ibp_80_164
3991 ldxa [0x50]%asi, %r14 !Running_rw
3992ibp_doit80_164:
3993 best_set_reg(0x00000050ddfb9c22,%r19, %r20)
3994 stxa %r20, [%r18]0x42
3995 stxa %r16, [0x60] %asi !Unpark (W1S)
3996 st %g0, [%r23] !clear lock
3997 wr %r0, %r12, %asi !restore %asi
3998 .word 0xc19fdc00 ! 195: LDDFA_R ldda [%r31, %r0], %f0
3999 nop
4000 ta T_CHANGE_HPRIV
4001 mov 0x80, %r10
4002 set sync_thr_counter6, %r23
4003#ifndef SPC
4004 ldxa [%g0]0x63, %o1
4005 and %o1, 0x38, %o1
4006 add %o1, %r23, %r23
4007#endif
4008 cas [%r23],%g0,%r10 !lock
4009 brnz %r10, sma_80_165
4010 rd %asi, %r12
4011 wr %g0, 0x40, %asi
4012 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4013 set 0x00161fff, %g1
4014 stxa %g1, [%g0 + 0x80] %asi
4015 wr %r12, %g0, %asi
4016 st %g0, [%r23]
4017sma_80_165:
4018 ta T_CHANGE_NONHPRIV
4019 .word 0xe9e7e014 ! 196: CASA_R casa [%r31] %asi, %r20, %r20
4020splash_tba_80_166:
4021 ta T_CHANGE_PRIV
4022 setx 0x00000000003a0000, %r11, %r12
4023 .word 0x8b90000c ! 197: WRPR_TBA_R wrpr %r0, %r12, %tba
4024intveclr_80_167:
4025 nop
4026 ta T_CHANGE_HPRIV
4027 setx 0xc12f99f79b3a3e76, %r1, %r28
4028 stxa %r28, [%g0] 0x72
4029 ta T_CHANGE_NONHPRIV
4030 .word 0x25400001 ! 198: FBPLG fblg,a,pn %fcc0, <label_0x1>
4031fpinit_80_168:
4032 setx fp_data_quads, %r19, %r20
4033 ldd [%r20], %f0
4034 ldd [%r20+8], %f4
4035 ld [%r20+16], %fsr
4036 ld [%r20+24], %r19
4037 wr %r19, %g0, %gsr
4038 .word 0x89a009a4 ! 199: FDIVs fdivs %f0, %f4, %f4
4039 .word 0x99a00164 ! 200: FABSq dis not found
4040
4041trapasi_80_170:
4042 nop
4043 mov 0x28, %r1 ! (VA for ASI 0x4c)
4044 .word 0xe0904980 ! 201: LDUHA_R lduha [%r1, %r0] 0x4c, %r16
4045splash_tba_80_171:
4046 ta T_CHANGE_PRIV
4047 setx 0x00000000003a0000, %r11, %r12
4048 .word 0x8b90000c ! 202: WRPR_TBA_R wrpr %r0, %r12, %tba
4049 .word 0xe197e1a0 ! 203: LDQFA_I - [%r31, 0x01a0], %f16
4050 .word 0x8780201c ! 204: WRASI_I wr %r0, 0x001c, %asi
4051 .word 0xa5454000 ! 205: RD_CLEAR_SOFTINT rd %clear_softint, %r18
4052memptr_80_172:
4053 set 0x60540000, %r31
4054 .word 0x8581a964 ! 206: WRCCR_I wr %r6, 0x0964, %ccr
4055splash_cmpr_80_173:
4056 mov 1, %r18
4057 sllx %r18, 63, %r18
4058 rd %tick, %r17
4059 add %r17, 0x70, %r17
4060 or %r17, %r18, %r17
4061 .word 0xaf800011 ! 207: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
4062 .word 0x89800011 ! 208: WRTICK_R wr %r0, %r17, %tick
4063pmu_80_175:
4064 nop
4065 setx 0xfffff2bffffff519, %g1, %g7
4066 .word 0xa3800007 ! 209: WR_PERF_COUNTER_R wr %r0, %r7, %-
4067 nop
4068 ta T_CHANGE_HPRIV
4069 mov 0x80+1, %r10
4070 set sync_thr_counter5, %r23
4071#ifndef SPC
4072 ldxa [%g0]0x63, %o1
4073 and %o1, 0x38, %o1
4074 add %o1, %r23, %r23
4075#endif
4076 cas [%r23],%g0,%r10 !lock
4077 brnz %r10, cwq_80_176
4078 rd %asi, %r12
4079 wr %g0, 0x40, %asi
4080 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
4081 and %l1, 0x3, %l1 ! Check if busy/enabled ..
4082 cmp %l1, 1
4083 bne cwq_80_176
4084 set CWQ_BASE, %l6
4085 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
4086 best_set_reg(0x20610060, %l1, %l2) !# Control Word
4087 sllx %l2, 32, %l2
4088 stx %l2, [%l6 + 0x0]
4089 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
4090 sub %l2, 0x40, %l2
4091 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
4092 wr %r12, %g0, %asi
4093 st %g0, [%r23]
4094cwq_80_176:
4095 ta T_CHANGE_NONHPRIV
4096 .word 0xa3414000 ! 210: RDPC rd %pc, %r17
4097 .word 0x91d020b4 ! 211: Tcc_I ta icc_or_xcc, %r0 + 180
4098 .word 0x89800011 ! 212: WRTICK_R wr %r0, %r17, %tick
4099vahole_80_178:
4100 nop
4101 ta T_CHANGE_NONHPRIV
4102 setx vahole_target2, %r18, %r27
4103 jmpl %r27+0, %r27
4104 .word 0xa1b08482 ! 213: FCMPLE32 fcmple32 %d2, %d2, %r16
4105 .word 0xda800a80 ! 214: LDUWA_R lduwa [%r0, %r0] 0x54, %r13
4106pmu_80_179:
4107 nop
4108 setx 0xfffffe2bfffff01f, %g1, %g7
4109 .word 0xa3800007 ! 215: WR_PERF_COUNTER_R wr %r0, %r7, %-
4110brcommon3_80_180:
4111 nop
4112 setx common_target, %r12, %r27
4113 lduw [%r27], %r12 ! Load common dest into dcache ..
4114 ba,a .+12
4115 .word 0xdbe7c028 ! 1: CASA_I casa [%r31] 0x 1, %r8, %r13
4116 ba,a .+8
4117 jmpl %r27+0, %r27
4118 .word 0xdb1fc00c ! 216: LDDF_R ldd [%r31, %r12], %f13
4119trapasi_80_181:
4120 nop
4121 mov 0x3e0, %r1 ! (VA for ASI 0x25)
4122 .word 0xdac844a0 ! 217: LDSBA_R ldsba [%r1, %r0] 0x25, %r13
4123pmu_80_182:
4124 nop
4125 setx 0xfffff9aefffffaf1, %g1, %g7
4126 .word 0xa3800007 ! 218: WR_PERF_COUNTER_R wr %r0, %r7, %-
4127donret_80_183:
4128 nop
4129 ta T_CHANGE_HPRIV ! macro
4130 rd %pc, %r12
4131 add %r12, (donretarg_80_183-donret_80_183-4), %r12
4132 mov 0x38, %r18
4133 stxa %r12, [%r18]0x58
4134 add %r12, 0x4, %r11
4135 wrpr %g0, 0x2, %tl
4136 wrpr %g0, %r12, %tpc
4137 wrpr %g0, %r11, %tnpc
4138 set (0x004c0c61 | (4 << 24)), %r13
4139 rdpr %tstate, %r16
4140 mov 0x1f, %r19
4141 and %r19, %r16, %r17
4142 andn %r16, %r19, %r16
4143 or %r16, %r17, %r20
4144 wrpr %r20, %g0, %tstate
4145 wrhpr %g0, 0x6af, %htstate
4146 ta T_CHANGE_NONPRIV ! rand=0 (80)
4147 .word 0x3e800001 ! 1: BVC bvc,a <label_0x1>
4148 done
4149donretarg_80_183:
4150 .word 0xda6fe092 ! 219: LDSTUB_I ldstub %r13, [%r31 + 0x0092]
4151 nop
4152 ta T_CHANGE_HPRIV
4153 mov 0x80, %r10
4154 set sync_thr_counter6, %r23
4155#ifndef SPC
4156 ldxa [%g0]0x63, %o1
4157 and %o1, 0x38, %o1
4158 add %o1, %r23, %r23
4159#endif
4160 cas [%r23],%g0,%r10 !lock
4161 brnz %r10, sma_80_184
4162 rd %asi, %r12
4163 wr %g0, 0x40, %asi
4164 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4165 set 0x001a1fff, %g1
4166 stxa %g1, [%g0 + 0x80] %asi
4167 wr %r12, %g0, %asi
4168 st %g0, [%r23]
4169sma_80_184:
4170 ta T_CHANGE_NONHPRIV
4171 .word 0xdbe7e010 ! 220: CASA_R casa [%r31] %asi, %r16, %r13
4172 nop
4173 ta T_CHANGE_HPRIV
4174 mov 0x80+1, %r10
4175 set sync_thr_counter5, %r23
4176#ifndef SPC
4177 ldxa [%g0]0x63, %o1
4178 and %o1, 0x38, %o1
4179 add %o1, %r23, %r23
4180#endif
4181 cas [%r23],%g0,%r10 !lock
4182 brnz %r10, cwq_80_185
4183 rd %asi, %r12
4184 wr %g0, 0x40, %asi
4185 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
4186 and %l1, 0x3, %l1 ! Check if busy/enabled ..
4187 cmp %l1, 1
4188 bne cwq_80_185
4189 set CWQ_BASE, %l6
4190 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
4191 best_set_reg(0x20610060, %l1, %l2) !# Control Word
4192 sllx %l2, 32, %l2
4193 stx %l2, [%l6 + 0x0]
4194 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
4195 sub %l2, 0x40, %l2
4196 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
4197 wr %r12, %g0, %asi
4198 st %g0, [%r23]
4199cwq_80_185:
4200 ta T_CHANGE_NONHPRIV
4201 .word 0xa3414000 ! 221: RDPC rd %pc, %r17
4202ibp_80_186:
4203 nop
4204 ta T_CHANGE_HPRIV
4205 mov 8, %r18
4206 rd %asi, %r12
4207 wr %r0, 0x41, %asi
4208 set sync_thr_counter4, %r23
4209#ifndef SPC
4210 ldxa [%g0]0x63, %r8
4211 and %r8, 0x38, %r8 ! Core ID
4212 add %r8, %r23, %r23
4213#else
4214 mov 0, %r8
4215#endif
4216 mov 0x80, %r16
4217ibp_startwait80_186:
4218 cas [%r23],%g0,%r16 !lock
4219 brz,a %r16, continue_ibp_80_186
4220 mov (~0x80&0xf0), %r16
4221 ld [%r23], %r16
4222ibp_wait80_186:
4223 brnz %r16, ibp_wait80_186
4224 ld [%r23], %r16
4225 ba ibp_startwait80_186
4226 mov 0x80, %r16
4227continue_ibp_80_186:
4228 sllx %r16, %r8, %r16 !Mask for my core only
4229 ldxa [0x58]%asi, %r17 !Running_status
4230wait_for_stat_80_186:
4231 ldxa [0x50]%asi, %r13 !Running_rw
4232 cmp %r13, %r17
4233 bne,a wait_for_stat_80_186
4234 ldxa [0x58]%asi, %r17 !Running_status
4235 stxa %r16, [0x68]%asi !Park (W1C)
4236 ldxa [0x50]%asi, %r14 !Running_rw
4237wait_for_ibp_80_186:
4238 ldxa [0x58]%asi, %r17 !Running_status
4239 cmp %r14, %r17
4240 bne,a wait_for_ibp_80_186
4241 ldxa [0x50]%asi, %r14 !Running_rw
4242ibp_doit80_186:
4243 best_set_reg(0x00000040bbdc226e,%r19, %r20)
4244 stxa %r20, [%r18]0x42
4245 stxa %r16, [0x60] %asi !Unpark (W1S)
4246 st %g0, [%r23] !clear lock
4247 wr %r0, %r12, %asi !restore %asi
4248 ta T_CHANGE_NONHPRIV
4249 .word 0xc3ea0023 ! 222: PREFETCHA_R prefetcha [%r8, %r3] 0x01, #one_read
4250 .word 0xe0bfc020 ! 223: STDA_R stda %r16, [%r31 + %r0] 0x01
4251 .word 0x8d90389d ! 224: WRPR_PSTATE_I wrpr %r0, 0x189d, %pstate
4252 .word 0x89800011 ! 225: WRTICK_R wr %r0, %r17, %tick
4253ibp_80_189:
4254 nop
4255 ta T_CHANGE_HPRIV
4256 mov 8, %r18
4257 rd %asi, %r12
4258 wr %r0, 0x41, %asi
4259 set sync_thr_counter4, %r23
4260#ifndef SPC
4261 ldxa [%g0]0x63, %r8
4262 and %r8, 0x38, %r8 ! Core ID
4263 add %r8, %r23, %r23
4264#else
4265 mov 0, %r8
4266#endif
4267 mov 0x80, %r16
4268ibp_startwait80_189:
4269 cas [%r23],%g0,%r16 !lock
4270 brz,a %r16, continue_ibp_80_189
4271 mov (~0x80&0xf0), %r16
4272 ld [%r23], %r16
4273ibp_wait80_189:
4274 brnz %r16, ibp_wait80_189
4275 ld [%r23], %r16
4276 ba ibp_startwait80_189
4277 mov 0x80, %r16
4278continue_ibp_80_189:
4279 sllx %r16, %r8, %r16 !Mask for my core only
4280 ldxa [0x58]%asi, %r17 !Running_status
4281wait_for_stat_80_189:
4282 ldxa [0x50]%asi, %r13 !Running_rw
4283 cmp %r13, %r17
4284 bne,a wait_for_stat_80_189
4285 ldxa [0x58]%asi, %r17 !Running_status
4286 stxa %r16, [0x68]%asi !Park (W1C)
4287 ldxa [0x50]%asi, %r14 !Running_rw
4288wait_for_ibp_80_189:
4289 ldxa [0x58]%asi, %r17 !Running_status
4290 cmp %r14, %r17
4291 bne,a wait_for_ibp_80_189
4292 ldxa [0x50]%asi, %r14 !Running_rw
4293ibp_doit80_189:
4294 best_set_reg(0x00000040f9e26e84,%r19, %r20)
4295 stxa %r20, [%r18]0x42
4296 stxa %r16, [0x60] %asi !Unpark (W1S)
4297 st %g0, [%r23] !clear lock
4298 wr %r0, %r12, %asi !restore %asi
4299 .word 0xe19fdf20 ! 226: LDDFA_R ldda [%r31, %r0], %f16
4300 .word 0xc30fc000 ! 227: LDXFSR_R ld-fsr [%r31, %r0], %f1
4301brcommon3_80_190:
4302 nop
4303 setx common_target, %r12, %r27
4304 lduw [%r27], %r12 ! Load common dest into dcache ..
4305 ba,a .+12
4306 .word 0xe06ff3fd ! 1: LDSTUB_I ldstub %r16, [%r31 + 0xfffff3fd]
4307 ba,a .+8
4308 jmpl %r27+0, %r27
4309 .word 0xe1e7e013 ! 228: CASA_R casa [%r31] %asi, %r19, %r16
4310 .word 0xa1902009 ! 229: WRPR_GL_I wrpr %r0, 0x0009, %-
4311splash_cmpr_80_191:
4312 mov 1, %r18
4313 sllx %r18, 63, %r18
4314 rd %tick, %r17
4315 add %r17, 0x60, %r17
4316 or %r17, %r18, %r17
4317 ta T_CHANGE_PRIV
4318 .word 0xaf800011 ! 230: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
4319splash_lsu_80_192:
4320 nop
4321 ta T_CHANGE_HPRIV
4322 set 0x8bc2395b, %r2
4323 mov 0x4, %r1
4324 sllx %r1, 32, %r1
4325 or %r1, %r2, %r2
4326 stxa %r2, [%r0] ASI_LSU_CONTROL
4327 .word 0x3d400001 ! 231: FBPULE fbule,a,pn %fcc0, <label_0x1>
4328vahole_80_193:
4329 nop
4330 ta T_CHANGE_NONHPRIV
4331 setx vahole_target3, %r18, %r27
4332 jmpl %r27+0, %r27
4333 .word 0x91703251 ! 232: POPC_I popc 0x1251, %r8
4334jmptr_80_194:
4335 nop
4336 best_set_reg(0xe0a00000, %r20, %r27)
4337 .word 0xb7c6c000 ! 233: JMPL_R jmpl %r27 + %r0, %r27
4338dvapa_80_195:
4339 nop
4340 ta T_CHANGE_HPRIV
4341 mov 0xc53, %r20
4342 mov 0x10, %r19
4343 sllx %r20, 23, %r20
4344 or %r19, %r20, %r19
4345 stxa %r19, [%g0] ASI_LSU_CONTROL
4346 mov 0x38, %r18
4347 stxa %r31, [%r18]0x58
4348 ta T_CHANGE_NONHPRIV
4349 .word 0xe2dfc034 ! 234: LDXA_R ldxa [%r31, %r20] 0x01, %r17
4350 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
4351reduce_priv_lvl_80_196:
4352 ta T_CHANGE_NONPRIV ! macro
4353 nop
4354 ta T_CHANGE_HPRIV
4355 mov 0x80, %r10
4356 set sync_thr_counter6, %r23
4357#ifndef SPC
4358 ldxa [%g0]0x63, %o1
4359 and %o1, 0x38, %o1
4360 add %o1, %r23, %r23
4361#endif
4362 cas [%r23],%g0,%r10 !lock
4363 brnz %r10, sma_80_197
4364 rd %asi, %r12
4365 wr %g0, 0x40, %asi
4366 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4367 set 0x00061fff, %g1
4368 stxa %g1, [%g0 + 0x80] %asi
4369 wr %r12, %g0, %asi
4370 st %g0, [%r23]
4371sma_80_197:
4372 ta T_CHANGE_NONHPRIV
4373 .word 0xe3e7e00c ! 236: CASA_R casa [%r31] %asi, %r12, %r17
4374 nop
4375 ta T_CHANGE_HPRIV
4376 mov 0x80, %r10
4377 set sync_thr_counter6, %r23
4378#ifndef SPC
4379 ldxa [%g0]0x63, %o1
4380 and %o1, 0x38, %o1
4381 add %o1, %r23, %r23
4382#endif
4383 cas [%r23],%g0,%r10 !lock
4384 brnz %r10, sma_80_198
4385 rd %asi, %r12
4386 wr %g0, 0x40, %asi
4387 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4388 set 0x00021fff, %g1
4389 stxa %g1, [%g0 + 0x80] %asi
4390 wr %r12, %g0, %asi
4391 st %g0, [%r23]
4392sma_80_198:
4393 ta T_CHANGE_NONHPRIV
4394 .word 0xe3e7e013 ! 237: CASA_R casa [%r31] %asi, %r19, %r17
4395 setx 0x437da3156e01da1a, %r1, %r28
4396 stxa %r28, [%g0] 0x73
4397intvec_80_199:
4398 .word 0x39400001 ! 238: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
4399brcommon2_80_200:
4400 nop
4401 setx common_target, %r12, %r27
4402 ba,a .+12
4403 .word 0xd112400d ! 1: LDQF_R - [%r9, %r13], %f8
4404 ba,a .+8
4405 jmpl %r27+0, %r27
4406 .word 0xe1bfe160 ! 239: STDFA_I stda %f16, [0x0160, %r31]
4407 nop
4408 ta T_CHANGE_HPRIV
4409 mov 0x80, %r10
4410 set sync_thr_counter6, %r23
4411#ifndef SPC
4412 ldxa [%g0]0x63, %o1
4413 and %o1, 0x38, %o1
4414 add %o1, %r23, %r23
4415#endif
4416 cas [%r23],%g0,%r10 !lock
4417 brnz %r10, sma_80_201
4418 rd %asi, %r12
4419 wr %g0, 0x40, %asi
4420 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4421 set 0x001a1fff, %g1
4422 stxa %g1, [%g0 + 0x80] %asi
4423 wr %r12, %g0, %asi
4424 st %g0, [%r23]
4425sma_80_201:
4426 ta T_CHANGE_NONHPRIV
4427 .word 0xe3e7e012 ! 240: CASA_R casa [%r31] %asi, %r18, %r17
4428 .word 0x87802016 ! 241: WRASI_I wr %r0, 0x0016, %asi
4429 .word 0xe327c000 ! 242: STF_R st %f17, [%r0, %r31]
4430donret_80_202:
4431 nop
4432 ta T_CHANGE_HPRIV ! macro
4433 rd %pc, %r12
4434 add %r12, (donretarg_80_202-donret_80_202-8), %r12
4435 mov 0x38, %r18
4436 stxa %r12, [%r18]0x58
4437 add %r12, 0x4, %r11
4438 wrpr %g0, 0x2, %tl
4439 wrpr %g0, %r12, %tpc
4440 wrpr %g0, %r11, %tnpc
4441 set (0x00406df7 | (32 << 24)), %r13
4442 rdpr %tstate, %r16
4443 mov 0x1f, %r19
4444 and %r19, %r16, %r17
4445 andn %r16, %r19, %r16
4446 or %r16, %r17, %r20
4447 wrpr %r20, %g0, %tstate
4448 wrhpr %g0, 0x1205, %htstate
4449 ta T_CHANGE_NONPRIV ! rand=0 (80)
4450 retry
4451donretarg_80_202:
4452 .word 0xa9a4c9c9 ! 243: FDIVd fdivd %f50, %f40, %f20
4453 .word 0xe0dfe148 ! 244: LDXA_I ldxa [%r31, + 0x0148] %asi, %r16
4454pmu_80_203:
4455 nop
4456 ta T_CHANGE_PRIV
4457 setx 0xfffff4a1fffff9e0, %g1, %g7
4458 .word 0xa3800007 ! 245: WR_PERF_COUNTER_R wr %r0, %r7, %-
4459change_to_randtl_80_204:
4460 ta T_CHANGE_PRIV ! macro
4461done_change_to_randtl_80_204:
4462 .word 0x8f902000 ! 246: WRPR_TL_I wrpr %r0, 0x0000, %tl
4463pmu_80_205:
4464 nop
4465 ta T_CHANGE_PRIV
4466 setx 0xfffff446fffff216, %g1, %g7
4467 .word 0xa3800007 ! 247: WR_PERF_COUNTER_R wr %r0, %r7, %-
4468 nop
4469 ta T_CHANGE_HPRIV
4470 mov 0x80+1, %r10
4471 set sync_thr_counter5, %r23
4472#ifndef SPC
4473 ldxa [%g0]0x63, %o1
4474 and %o1, 0x38, %o1
4475 add %o1, %r23, %r23
4476#endif
4477 cas [%r23],%g0,%r10 !lock
4478 brnz %r10, cwq_80_206
4479 rd %asi, %r12
4480 wr %g0, 0x40, %asi
4481 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
4482 and %l1, 0x3, %l1 ! Check if busy/enabled ..
4483 cmp %l1, 1
4484 bne cwq_80_206
4485 set CWQ_BASE, %l6
4486 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
4487 best_set_reg(0x206100b0, %l1, %l2) !# Control Word
4488 sllx %l2, 32, %l2
4489 stx %l2, [%l6 + 0x0]
4490 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
4491 sub %l2, 0x40, %l2
4492 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
4493 wr %r12, %g0, %asi
4494 st %g0, [%r23]
4495cwq_80_206:
4496 ta T_CHANGE_NONHPRIV
4497 .word 0x99414000 ! 248: RDPC rd %pc, %r12
4498donret_80_207:
4499 nop
4500 ta T_CHANGE_HPRIV ! macro
4501 rd %pc, %r12
4502 add %r12, (donretarg_80_207-donret_80_207-4), %r12
4503 mov 0x38, %r18
4504 stxa %r12, [%r18]0x58
4505 add %r12, 0x4, %r11
4506 wrpr %g0, 0x1, %tl
4507 wrpr %g0, %r12, %tpc
4508 wrpr %g0, %r11, %tnpc
4509 set (0x000d8153 | (4 << 24)), %r13
4510 rdpr %tstate, %r16
4511 mov 0x1f, %r19
4512 and %r19, %r16, %r17
4513 andn %r16, %r19, %r16
4514 or %r16, %r17, %r20
4515 wrpr %r20, %g0, %tstate
4516 wrhpr %g0, 0x1f9d, %htstate
4517 ta T_CHANGE_NONHPRIV ! rand=1 (80)
4518 done
4519donretarg_80_207:
4520 .word 0xa1a209ca ! 249: FDIVd fdivd %f8, %f10, %f16
4521ibp_80_208:
4522 nop
4523 ta T_CHANGE_HPRIV
4524 mov 8, %r18
4525 rd %asi, %r12
4526 wr %r0, 0x41, %asi
4527 set sync_thr_counter4, %r23
4528#ifndef SPC
4529 ldxa [%g0]0x63, %r8
4530 and %r8, 0x38, %r8 ! Core ID
4531 add %r8, %r23, %r23
4532#else
4533 mov 0, %r8
4534#endif
4535 mov 0x80, %r16
4536ibp_startwait80_208:
4537 cas [%r23],%g0,%r16 !lock
4538 brz,a %r16, continue_ibp_80_208
4539 mov (~0x80&0xf0), %r16
4540 ld [%r23], %r16
4541ibp_wait80_208:
4542 brnz %r16, ibp_wait80_208
4543 ld [%r23], %r16
4544 ba ibp_startwait80_208
4545 mov 0x80, %r16
4546continue_ibp_80_208:
4547 sllx %r16, %r8, %r16 !Mask for my core only
4548 ldxa [0x58]%asi, %r17 !Running_status
4549wait_for_stat_80_208:
4550 ldxa [0x50]%asi, %r13 !Running_rw
4551 cmp %r13, %r17
4552 bne,a wait_for_stat_80_208
4553 ldxa [0x58]%asi, %r17 !Running_status
4554 stxa %r16, [0x68]%asi !Park (W1C)
4555 ldxa [0x50]%asi, %r14 !Running_rw
4556wait_for_ibp_80_208:
4557 ldxa [0x58]%asi, %r17 !Running_status
4558 cmp %r14, %r17
4559 bne,a wait_for_ibp_80_208
4560 ldxa [0x50]%asi, %r14 !Running_rw
4561ibp_doit80_208:
4562 best_set_reg(0x0000005081ee8493,%r19, %r20)
4563 stxa %r20, [%r18]0x42
4564 stxa %r16, [0x60] %asi !Unpark (W1S)
4565 st %g0, [%r23] !clear lock
4566 wr %r0, %r12, %asi !restore %asi
4567 ta T_CHANGE_NONHPRIV
4568 .word 0xa5a4c9b3 ! 250: FDIVs fdivs %f19, %f19, %f18
4569fpinit_80_209:
4570 setx fp_data_quads, %r19, %r20
4571 ldd [%r20], %f0
4572 ldd [%r20+8], %f4
4573 ld [%r20+16], %fsr
4574 ld [%r20+24], %r19
4575 wr %r19, %g0, %gsr
4576 .word 0x89b00484 ! 251: FCMPLE32 fcmple32 %d0, %d4, %r4
4577change_to_randtl_80_210:
4578 ta T_CHANGE_PRIV ! macro
4579done_change_to_randtl_80_210:
4580 .word 0x8f902000 ! 252: WRPR_TL_I wrpr %r0, 0x0000, %tl
4581 nop
4582 ta T_CHANGE_HPRIV
4583 mov 0x80+1, %r10
4584 set sync_thr_counter5, %r23
4585#ifndef SPC
4586 ldxa [%g0]0x63, %o1
4587 and %o1, 0x38, %o1
4588 add %o1, %r23, %r23
4589#endif
4590 cas [%r23],%g0,%r10 !lock
4591 brnz %r10, cwq_80_211
4592 rd %asi, %r12
4593 wr %g0, 0x40, %asi
4594 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
4595 and %l1, 0x3, %l1 ! Check if busy/enabled ..
4596 cmp %l1, 1
4597 bne cwq_80_211
4598 set CWQ_BASE, %l6
4599 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
4600 best_set_reg(0x20610060, %l1, %l2) !# Control Word
4601 sllx %l2, 32, %l2
4602 stx %l2, [%l6 + 0x0]
4603 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
4604 sub %l2, 0x40, %l2
4605 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
4606 wr %r12, %g0, %asi
4607 st %g0, [%r23]
4608cwq_80_211:
4609 ta T_CHANGE_NONHPRIV
4610 .word 0xa7414000 ! 253: RDPC rd %pc, %r19
4611memptr_80_212:
4612 set 0x60340000, %r31
4613 .word 0x85826f5e ! 254: WRCCR_I wr %r9, 0x0f5e, %ccr
4614dvapa_80_213:
4615 nop
4616 ta T_CHANGE_HPRIV
4617 mov 0xe5f, %r20
4618 mov 0x13, %r19
4619 sllx %r20, 23, %r20
4620 or %r19, %r20, %r19
4621 stxa %r19, [%g0] ASI_LSU_CONTROL
4622 mov 0x38, %r18
4623 stxa %r31, [%r18]0x58
4624 ta T_CHANGE_NONHPRIV
4625 .word 0x9f802b3d ! 255: SIR sir 0x0b3d
4626donret_80_214:
4627 nop
4628 ta T_CHANGE_HPRIV ! macro
4629 rd %pc, %r12
4630 add %r12, (donretarg_80_214-donret_80_214-8), %r12
4631 mov 0x38, %r18
4632 stxa %r12, [%r18]0x58
4633 add %r12, 0x4, %r11
4634 wrpr %g0, 0x2, %tl
4635 wrpr %g0, %r12, %tpc
4636 wrpr %g0, %r11, %tnpc
4637 set (0x00c6d151 | (0x88 << 24)), %r13
4638 rdpr %tstate, %r16
4639 mov 0x1f, %r19
4640 and %r19, %r16, %r17
4641 andn %r16, %r19, %r16
4642 or %r16, %r17, %r20
4643 wrpr %r20, %g0, %tstate
4644 wrhpr %g0, 0x1e49, %htstate
4645 ta T_CHANGE_NONHPRIV ! rand=1 (80)
4646 retry
4647donretarg_80_214:
4648 .word 0xa9a149ca ! 256: FDIVd fdivd %f36, %f10, %f20
4649 .word 0xda3fe138 ! 257: STD_I std %r13, [%r31 + 0x0138]
4650dvapa_80_215:
4651 nop
4652 ta T_CHANGE_HPRIV
4653 mov 0xceb, %r20
4654 mov 0x4, %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 0xdadfc034 ! 258: LDXA_R ldxa [%r31, %r20] 0x01, %r13
4662 .word 0xc19fde00 ! 259: LDDFA_R ldda [%r31, %r0], %f0
4663 nop
4664 ta T_CHANGE_HPRIV
4665 mov 0x80, %r10
4666 set sync_thr_counter6, %r23
4667#ifndef SPC
4668 ldxa [%g0]0x63, %o1
4669 and %o1, 0x38, %o1
4670 add %o1, %r23, %r23
4671#endif
4672 cas [%r23],%g0,%r10 !lock
4673 brnz %r10, sma_80_216
4674 rd %asi, %r12
4675 wr %g0, 0x40, %asi
4676 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4677 set 0x00061fff, %g1
4678 stxa %g1, [%g0 + 0x80] %asi
4679 wr %r12, %g0, %asi
4680 st %g0, [%r23]
4681sma_80_216:
4682 ta T_CHANGE_NONHPRIV
4683 .word 0xdbe7e013 ! 260: CASA_R casa [%r31] %asi, %r19, %r13
4684pmu_80_217:
4685 nop
4686 ta T_CHANGE_PRIV
4687 setx 0xfffff164fffff265, %g1, %g7
4688 .word 0xa3800007 ! 261: WR_PERF_COUNTER_R wr %r0, %r7, %-
4689 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
4690reduce_priv_lvl_80_218:
4691 ta T_CHANGE_NONHPRIV ! macro
4692pmu_80_219:
4693 nop
4694 ta T_CHANGE_PRIV
4695 setx 0xfffff8f8fffff8c3, %g1, %g7
4696 .word 0xa3800007 ! 263: WR_PERF_COUNTER_R wr %r0, %r7, %-
4697pmu_80_220:
4698 nop
4699 setx 0xfffff628fffffcc8, %g1, %g7
4700 .word 0xa3800007 ! 264: WR_PERF_COUNTER_R wr %r0, %r7, %-
4701 setx 0x682aca028e3e378d, %r1, %r28
4702 stxa %r28, [%g0] 0x73
4703intvec_80_221:
4704 .word 0x39400001 ! 265: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
4705splash_lsu_80_222:
4706 nop
4707 ta T_CHANGE_HPRIV
4708 set 0x28e81d67, %r2
4709 mov 0x1, %r1
4710 sllx %r1, 32, %r1
4711 or %r1, %r2, %r2
4712 stxa %r2, [%r0] ASI_LSU_CONTROL
4713 ta T_CHANGE_NONHPRIV
4714 .word 0x3d400001 ! 266: FBPULE fbule,a,pn %fcc0, <label_0x1>
4715ibp_80_223:
4716 nop
4717 ta T_CHANGE_HPRIV
4718 mov 8, %r18
4719 rd %asi, %r12
4720 wr %r0, 0x41, %asi
4721 set sync_thr_counter4, %r23
4722#ifndef SPC
4723 ldxa [%g0]0x63, %r8
4724 and %r8, 0x38, %r8 ! Core ID
4725 add %r8, %r23, %r23
4726#else
4727 mov 0, %r8
4728#endif
4729 mov 0x80, %r16
4730ibp_startwait80_223:
4731 cas [%r23],%g0,%r16 !lock
4732 brz,a %r16, continue_ibp_80_223
4733 mov (~0x80&0xf0), %r16
4734 ld [%r23], %r16
4735ibp_wait80_223:
4736 brnz %r16, ibp_wait80_223
4737 ld [%r23], %r16
4738 ba ibp_startwait80_223
4739 mov 0x80, %r16
4740continue_ibp_80_223:
4741 sllx %r16, %r8, %r16 !Mask for my core only
4742 ldxa [0x58]%asi, %r17 !Running_status
4743wait_for_stat_80_223:
4744 ldxa [0x50]%asi, %r13 !Running_rw
4745 cmp %r13, %r17
4746 bne,a wait_for_stat_80_223
4747 ldxa [0x58]%asi, %r17 !Running_status
4748 stxa %r16, [0x68]%asi !Park (W1C)
4749 ldxa [0x50]%asi, %r14 !Running_rw
4750wait_for_ibp_80_223:
4751 ldxa [0x58]%asi, %r17 !Running_status
4752 cmp %r14, %r17
4753 bne,a wait_for_ibp_80_223
4754 ldxa [0x50]%asi, %r14 !Running_rw
4755ibp_doit80_223:
4756 best_set_reg(0x00000050b3c4931e,%r19, %r20)
4757 stxa %r20, [%r18]0x42
4758 stxa %r16, [0x60] %asi !Unpark (W1S)
4759 st %g0, [%r23] !clear lock
4760 wr %r0, %r12, %asi !restore %asi
4761 ta T_CHANGE_NONHPRIV
4762 .word 0xc1bfc2c0 ! 267: STDFA_R stda %f0, [%r0, %r31]
4763mondo_80_224:
4764 nop
4765 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4766 ta T_CHANGE_PRIV
4767 stxa %r4, [%r0+0x3d8] %asi
4768 .word 0x9d94c013 ! 268: WRPR_WSTATE_R wrpr %r19, %r19, %wstate
4769donret_80_225:
4770 nop
4771 ta T_CHANGE_HPRIV ! macro
4772 rd %pc, %r12
4773 add %r12, (donretarg_80_225-donret_80_225-4), %r12
4774 mov 0x38, %r18
4775 stxa %r12, [%r18]0x58
4776 add %r12, 0x4, %r11
4777 wrpr %g0, 0x2, %tl
4778 wrpr %g0, %r12, %tpc
4779 wrpr %g0, %r11, %tnpc
4780 set (0x0048f8ae | (22 << 24)), %r13
4781 rdpr %tstate, %r16
4782 mov 0x1f, %r19
4783 and %r19, %r16, %r17
4784 andn %r16, %r19, %r16
4785 or %r16, %r17, %r20
4786 wrpr %r20, %g0, %tstate
4787 wrhpr %g0, 0x601, %htstate
4788 ta T_CHANGE_NONPRIV ! rand=0 (80)
4789 .word 0x21400001 ! 1: FBPN fbn,a,pn %fcc0, <label_0x1>
4790 done
4791donretarg_80_225:
4792 .word 0xda6fe173 ! 269: LDSTUB_I ldstub %r13, [%r31 + 0x0173]
4793#if (defined SPC || defined CMP)
4794!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_80_226) + 48, 16, 16)) -> intp(3,0,30)
4795!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_80_226)&0xffffffff) + 48, 16, 16)) -> intp(3,0,30)
4796#else
4797 setx 0xfbe2487a59104ef8, %r1, %r28
4798 stxa %r28, [%g0] 0x73
4799#endif
4800intvec_80_226:
4801 .word 0x39400001 ! 270: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
4802 .word 0x89800011 ! 271: WRTICK_R wr %r0, %r17, %tick
4803 .word 0xda9fe008 ! 272: LDDA_I ldda [%r31, + 0x0008] %asi, %r13
4804intveclr_80_228:
4805 nop
4806 ta T_CHANGE_HPRIV
4807 setx 0x41fbd729a01f2259, %r1, %r28
4808 stxa %r28, [%g0] 0x72
4809 .word 0x25400001 ! 273: FBPLG fblg,a,pn %fcc0, <label_0x1>
4810dvapa_80_229:
4811 nop
4812 ta T_CHANGE_HPRIV
4813 mov 0xd08, %r20
4814 mov 0x1, %r19
4815 sllx %r20, 23, %r20
4816 or %r19, %r20, %r19
4817 stxa %r19, [%g0] ASI_LSU_CONTROL
4818 mov 0x38, %r18
4819 stxa %r31, [%r18]0x58
4820 ta T_CHANGE_NONHPRIV
4821 .word 0x87ac4a50 ! 274: FCMPd fcmpd %fcc<n>, %f48, %f16
4822 .word 0x81b01021 ! 275: SIAM siam 1
4823splash_hpstate_80_230:
4824 .word 0x819836c5 ! 276: WRHPR_HPSTATE_I wrhpr %r0, 0x16c5, %hpstate
4825 .word 0xe4800c20 ! 277: LDUWA_R lduwa [%r0, %r0] 0x61, %r18
4826 nop
4827 ta T_CHANGE_HPRIV
4828 mov 0x80, %r10
4829 set sync_thr_counter6, %r23
4830#ifndef SPC
4831 ldxa [%g0]0x63, %o1
4832 and %o1, 0x38, %o1
4833 add %o1, %r23, %r23
4834#endif
4835 cas [%r23],%g0,%r10 !lock
4836 brnz %r10, sma_80_231
4837 rd %asi, %r12
4838 wr %g0, 0x40, %asi
4839 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4840 set 0x00061fff, %g1
4841 stxa %g1, [%g0 + 0x80] %asi
4842 wr %r12, %g0, %asi
4843 st %g0, [%r23]
4844sma_80_231:
4845 ta T_CHANGE_NONHPRIV
4846 .word 0xe5e7e012 ! 278: CASA_R casa [%r31] %asi, %r18, %r18
4847 invalw
4848 mov 0x30, %r30
4849 .word 0x93d0001e ! 279: Tcc_R tne icc_or_xcc, %r0 + %r30
4850brcommon2_80_232:
4851 nop
4852 setx common_target, %r12, %r27
4853 ba,a .+12
4854 .word 0xe1150010 ! 1: LDQF_R - [%r20, %r16], %f16
4855 ba,a .+8
4856 jmpl %r27+0, %r27
4857 .word 0xe1bfe0c0 ! 280: STDFA_I stda %f16, [0x00c0, %r31]
4858vahole_80_233:
4859 nop
4860 ta T_CHANGE_NONHPRIV
4861 setx vahole_target0, %r18, %r27
4862 jmpl %r27+0, %r27
4863 .word 0xc19fd920 ! 281: LDDFA_R ldda [%r31, %r0], %f0
4864 nop
4865 ta T_CHANGE_HPRIV
4866 mov 0x80, %r10
4867 set sync_thr_counter6, %r23
4868#ifndef SPC
4869 ldxa [%g0]0x63, %o1
4870 and %o1, 0x38, %o1
4871 add %o1, %r23, %r23
4872#endif
4873 cas [%r23],%g0,%r10 !lock
4874 brnz %r10, sma_80_234
4875 rd %asi, %r12
4876 wr %g0, 0x40, %asi
4877 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4878 set 0x001e1fff, %g1
4879 stxa %g1, [%g0 + 0x80] %asi
4880 wr %r12, %g0, %asi
4881 st %g0, [%r23]
4882sma_80_234:
4883 ta T_CHANGE_NONHPRIV
4884 .word 0xd9e7e00d ! 282: CASA_R casa [%r31] %asi, %r13, %r12
4885splash_lsu_80_235:
4886 nop
4887 ta T_CHANGE_HPRIV
4888 set 0x402045e7, %r2
4889 mov 0x4, %r1
4890 sllx %r1, 32, %r1
4891 or %r1, %r2, %r2
4892 stxa %r2, [%r0] ASI_LSU_CONTROL
4893 ta T_CHANGE_NONHPRIV
4894 .word 0x3d400001 ! 283: FBPULE fbule,a,pn %fcc0, <label_0x1>
4895 .word 0xe1bfc2c0 ! 284: STDFA_R stda %f16, [%r0, %r31]
4896 .word 0x8d902811 ! 285: WRPR_PSTATE_I wrpr %r0, 0x0811, %pstate
4897memptr_80_237:
4898 set user_data_start, %r31
4899 .word 0x85846322 ! 286: WRCCR_I wr %r17, 0x0322, %ccr
4900memptr_80_238:
4901 set 0x60340000, %r31
4902 .word 0x8584aee8 ! 287: WRCCR_I wr %r18, 0x0ee8, %ccr
4903 .word 0xa780800b ! 288: WR_GRAPHICS_STATUS_REG_R wr %r2, %r11, %-
4904 brz,pt %r13, skip_80_240
4905 fbuge skip_80_240
4906.align 32
4907skip_80_240:
4908 .word 0xc36a6374 ! 289: PREFETCH_I prefetch [%r9 + 0x0374], #one_read
4909intveclr_80_241:
4910 nop
4911 ta T_CHANGE_HPRIV
4912 setx 0xa112885afb9b9383, %r1, %r28
4913 stxa %r28, [%g0] 0x72
4914 ta T_CHANGE_NONHPRIV
4915 .word 0x25400001 ! 290: FBPLG fblg,a,pn %fcc0, <label_0x1>
4916 nop
4917 ta T_CHANGE_HPRIV
4918 mov 0x80, %r10
4919 set sync_thr_counter6, %r23
4920#ifndef SPC
4921 ldxa [%g0]0x63, %o1
4922 and %o1, 0x38, %o1
4923 add %o1, %r23, %r23
4924#endif
4925 cas [%r23],%g0,%r10 !lock
4926 brnz %r10, sma_80_242
4927 rd %asi, %r12
4928 wr %g0, 0x40, %asi
4929 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4930 set 0x00061fff, %g1
4931 stxa %g1, [%g0 + 0x80] %asi
4932 wr %r12, %g0, %asi
4933 st %g0, [%r23]
4934sma_80_242:
4935 ta T_CHANGE_NONHPRIV
4936 .word 0xd5e7e012 ! 291: CASA_R casa [%r31] %asi, %r18, %r10
4937 .word 0x8d802000 ! 292: WRFPRS_I wr %r0, 0x0000, %fprs
4938pmu_80_243:
4939 nop
4940 setx 0xfffffb37fffff136, %g1, %g7
4941 .word 0xa3800007 ! 293: WR_PERF_COUNTER_R wr %r0, %r7, %-
4942#if (defined SPC || defined CMP)
4943!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_80_244) + 24, 16, 16)) -> intp(4,0,6)
4944!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_80_244)&0xffffffff) + 24, 16, 16)) -> intp(4,0,6)
4945#else
4946 setx 0xe67cbb1cf32c02ae, %r1, %r28
4947 stxa %r28, [%g0] 0x73
4948#endif
4949intvec_80_244:
4950 .word 0x39400001 ! 294: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
4951 .word 0x8d802000 ! 295: WRFPRS_I wr %r0, 0x0000, %fprs
4952mondo_80_245:
4953 nop
4954 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4955 stxa %r3, [%r0+0x3e8] %asi
4956 .word 0x9d94c00b ! 296: WRPR_WSTATE_R wrpr %r19, %r11, %wstate
4957 .word 0xa7524000 ! 297: RDPR_CWP rdpr %cwp, %r19
4958pmu_80_247:
4959 nop
4960 setx 0xfffffe01fffff49f, %g1, %g7
4961 .word 0xa3800007 ! 298: WR_PERF_COUNTER_R wr %r0, %r7, %-
4962br_longdelay3_80_248:
4963 nop
4964 not %g0, %r12
4965 jmp %r12
4966 .word 0x99902000 ! 299: WRPR_CLEANWIN_I wrpr %r0, 0x0000, %cleanwin
4967 setx 0xd72cf5c47656224e, %r1, %r28
4968 stxa %r28, [%g0] 0x73
4969intvec_80_249:
4970 .word 0x39400001 ! 300: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
4971 fbne skip_80_250
4972 .word 0xc36c707f ! 1: PREFETCH_I prefetch [%r17 + 0xfffff07f], #one_read
4973.align 1024
4974skip_80_250:
4975 .word 0x87ac4a43 ! 301: FCMPd fcmpd %fcc<n>, %f48, %f34
4976ibp_80_251:
4977 nop
4978 ta T_CHANGE_HPRIV
4979 mov 8, %r18
4980 rd %asi, %r12
4981 wr %r0, 0x41, %asi
4982 set sync_thr_counter4, %r23
4983#ifndef SPC
4984 ldxa [%g0]0x63, %r8
4985 and %r8, 0x38, %r8 ! Core ID
4986 add %r8, %r23, %r23
4987#else
4988 mov 0, %r8
4989#endif
4990 mov 0x80, %r16
4991ibp_startwait80_251:
4992 cas [%r23],%g0,%r16 !lock
4993 brz,a %r16, continue_ibp_80_251
4994 mov (~0x80&0xf0), %r16
4995 ld [%r23], %r16
4996ibp_wait80_251:
4997 brnz %r16, ibp_wait80_251
4998 ld [%r23], %r16
4999 ba ibp_startwait80_251
5000 mov 0x80, %r16
5001continue_ibp_80_251:
5002 sllx %r16, %r8, %r16 !Mask for my core only
5003 ldxa [0x58]%asi, %r17 !Running_status
5004wait_for_stat_80_251:
5005 ldxa [0x50]%asi, %r13 !Running_rw
5006 cmp %r13, %r17
5007 bne,a wait_for_stat_80_251
5008 ldxa [0x58]%asi, %r17 !Running_status
5009 stxa %r16, [0x68]%asi !Park (W1C)
5010 ldxa [0x50]%asi, %r14 !Running_rw
5011wait_for_ibp_80_251:
5012 ldxa [0x58]%asi, %r17 !Running_status
5013 cmp %r14, %r17
5014 bne,a wait_for_ibp_80_251
5015 ldxa [0x50]%asi, %r14 !Running_rw
5016ibp_doit80_251:
5017 best_set_reg(0x0000004036d31e67,%r19, %r20)
5018 stxa %r20, [%r18]0x42
5019 stxa %r16, [0x60] %asi !Unpark (W1S)
5020 st %g0, [%r23] !clear lock
5021 wr %r0, %r12, %asi !restore %asi
5022 .word 0xc1bfd920 ! 302: STDFA_R stda %f0, [%r0, %r31]
5023dvapa_80_252:
5024 nop
5025 ta T_CHANGE_HPRIV
5026 mov 0x9ea, %r20
5027 mov 0x12, %r19
5028 sllx %r20, 23, %r20
5029 or %r19, %r20, %r19
5030 stxa %r19, [%g0] ASI_LSU_CONTROL
5031 mov 0x38, %r18
5032 stxa %r31, [%r18]0x58
5033 ta T_CHANGE_NONHPRIV
5034 .word 0x87a94a51 ! 303: FCMPd fcmpd %fcc<n>, %f36, %f48
5035 nop
5036 ta T_CHANGE_HPRIV
5037 mov 0x80+1, %r10
5038 set sync_thr_counter5, %r23
5039#ifndef SPC
5040 ldxa [%g0]0x63, %o1
5041 and %o1, 0x38, %o1
5042 add %o1, %r23, %r23
5043#endif
5044 cas [%r23],%g0,%r10 !lock
5045 brnz %r10, cwq_80_253
5046 rd %asi, %r12
5047 wr %g0, 0x40, %asi
5048 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
5049 and %l1, 0x3, %l1 ! Check if busy/enabled ..
5050 cmp %l1, 1
5051 bne cwq_80_253
5052 set CWQ_BASE, %l6
5053 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
5054 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
5055 sllx %l2, 32, %l2
5056 stx %l2, [%l6 + 0x0]
5057 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
5058 sub %l2, 0x40, %l2
5059 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
5060 wr %r12, %g0, %asi
5061 st %g0, [%r23]
5062cwq_80_253:
5063 ta T_CHANGE_NONHPRIV
5064 .word 0x99414000 ! 304: RDPC rd %pc, %r12
5065pmu_80_254:
5066 nop
5067 setx 0xfffff984fffff08e, %g1, %g7
5068 .word 0xa3800007 ! 305: WR_PERF_COUNTER_R wr %r0, %r7, %-
5069jmptr_80_255:
5070 nop
5071 best_set_reg(0xe0a00000, %r20, %r27)
5072 .word 0xb7c6c000 ! 306: JMPL_R jmpl %r27 + %r0, %r27
5073 nop
5074 ta T_CHANGE_HPRIV
5075 mov 0x80+1, %r10
5076 set sync_thr_counter5, %r23
5077#ifndef SPC
5078 ldxa [%g0]0x63, %o1
5079 and %o1, 0x38, %o1
5080 add %o1, %r23, %r23
5081#endif
5082 cas [%r23],%g0,%r10 !lock
5083 brnz %r10, cwq_80_256
5084 rd %asi, %r12
5085 wr %g0, 0x40, %asi
5086 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
5087 and %l1, 0x3, %l1 ! Check if busy/enabled ..
5088 cmp %l1, 1
5089 bne cwq_80_256
5090 set CWQ_BASE, %l6
5091 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
5092 best_set_reg(0x20610040, %l1, %l2) !# Control Word
5093 sllx %l2, 32, %l2
5094 stx %l2, [%l6 + 0x0]
5095 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
5096 sub %l2, 0x40, %l2
5097 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
5098 wr %r12, %g0, %asi
5099 st %g0, [%r23]
5100cwq_80_256:
5101 ta T_CHANGE_NONHPRIV
5102 .word 0xa5414000 ! 307: RDPC rd %pc, %r18
5103splash_hpstate_80_257:
5104 ta T_CHANGE_NONHPRIV
5105 .word 0x81982ec7 ! 308: WRHPR_HPSTATE_I wrhpr %r0, 0x0ec7, %hpstate
5106 .word 0xe077c000 ! 309: STX_R stx %r16, [%r31 + %r0]
5107 .word 0xa5a00170 ! 310: FABSq dis not found
5108
5109 .word 0x91d020b5 ! 311: Tcc_I ta icc_or_xcc, %r0 + 181
5110intveclr_80_259:
5111 nop
5112 ta T_CHANGE_HPRIV
5113 setx 0x4b98e96a976cad46, %r1, %r28
5114 stxa %r28, [%g0] 0x72
5115 .word 0x25400001 ! 312: FBPLG fblg,a,pn %fcc0, <label_0x1>
5116ibp_80_260:
5117 nop
5118 ta T_CHANGE_HPRIV
5119 mov 8, %r18
5120 rd %asi, %r12
5121 wr %r0, 0x41, %asi
5122 set sync_thr_counter4, %r23
5123#ifndef SPC
5124 ldxa [%g0]0x63, %r8
5125 and %r8, 0x38, %r8 ! Core ID
5126 add %r8, %r23, %r23
5127#else
5128 mov 0, %r8
5129#endif
5130 mov 0x80, %r16
5131ibp_startwait80_260:
5132 cas [%r23],%g0,%r16 !lock
5133 brz,a %r16, continue_ibp_80_260
5134 mov (~0x80&0xf0), %r16
5135 ld [%r23], %r16
5136ibp_wait80_260:
5137 brnz %r16, ibp_wait80_260
5138 ld [%r23], %r16
5139 ba ibp_startwait80_260
5140 mov 0x80, %r16
5141continue_ibp_80_260:
5142 sllx %r16, %r8, %r16 !Mask for my core only
5143 ldxa [0x58]%asi, %r17 !Running_status
5144wait_for_stat_80_260:
5145 ldxa [0x50]%asi, %r13 !Running_rw
5146 cmp %r13, %r17
5147 bne,a wait_for_stat_80_260
5148 ldxa [0x58]%asi, %r17 !Running_status
5149 stxa %r16, [0x68]%asi !Park (W1C)
5150 ldxa [0x50]%asi, %r14 !Running_rw
5151wait_for_ibp_80_260:
5152 ldxa [0x58]%asi, %r17 !Running_status
5153 cmp %r14, %r17
5154 bne,a wait_for_ibp_80_260
5155 ldxa [0x50]%asi, %r14 !Running_rw
5156ibp_doit80_260:
5157 best_set_reg(0x0000004083de6780,%r19, %r20)
5158 stxa %r20, [%r18]0x42
5159 stxa %r16, [0x60] %asi !Unpark (W1S)
5160 st %g0, [%r23] !clear lock
5161 wr %r0, %r12, %asi !restore %asi
5162 .word 0xc1bfde00 ! 313: STDFA_R stda %f0, [%r0, %r31]
5163jmptr_80_261:
5164 nop
5165 best_set_reg(0xe0a00000, %r20, %r27)
5166 .word 0xb7c6c000 ! 314: JMPL_R jmpl %r27 + %r0, %r27
5167mondo_80_262:
5168 nop
5169 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5170 stxa %r10, [%r0+0x3e0] %asi
5171 .word 0x9d948007 ! 315: WRPR_WSTATE_R wrpr %r18, %r7, %wstate
5172ibp_80_263:
5173 nop
5174 ta T_CHANGE_HPRIV
5175 mov 8, %r18
5176 rd %asi, %r12
5177 wr %r0, 0x41, %asi
5178 set sync_thr_counter4, %r23
5179#ifndef SPC
5180 ldxa [%g0]0x63, %r8
5181 and %r8, 0x38, %r8 ! Core ID
5182 add %r8, %r23, %r23
5183#else
5184 mov 0, %r8
5185#endif
5186 mov 0x80, %r16
5187ibp_startwait80_263:
5188 cas [%r23],%g0,%r16 !lock
5189 brz,a %r16, continue_ibp_80_263
5190 mov (~0x80&0xf0), %r16
5191 ld [%r23], %r16
5192ibp_wait80_263:
5193 brnz %r16, ibp_wait80_263
5194 ld [%r23], %r16
5195 ba ibp_startwait80_263
5196 mov 0x80, %r16
5197continue_ibp_80_263:
5198 sllx %r16, %r8, %r16 !Mask for my core only
5199 ldxa [0x58]%asi, %r17 !Running_status
5200wait_for_stat_80_263:
5201 ldxa [0x50]%asi, %r13 !Running_rw
5202 cmp %r13, %r17
5203 bne,a wait_for_stat_80_263
5204 ldxa [0x58]%asi, %r17 !Running_status
5205 stxa %r16, [0x68]%asi !Park (W1C)
5206 ldxa [0x50]%asi, %r14 !Running_rw
5207wait_for_ibp_80_263:
5208 ldxa [0x58]%asi, %r17 !Running_status
5209 cmp %r14, %r17
5210 bne,a wait_for_ibp_80_263
5211 ldxa [0x50]%asi, %r14 !Running_rw
5212ibp_doit80_263:
5213 best_set_reg(0x0000004026e78083,%r19, %r20)
5214 stxa %r20, [%r18]0x42
5215 stxa %r16, [0x60] %asi !Unpark (W1S)
5216 st %g0, [%r23] !clear lock
5217 wr %r0, %r12, %asi !restore %asi
5218 .word 0xe1bfe1e0 ! 316: STDFA_I stda %f16, [0x01e0, %r31]
5219 .word 0xe127e112 ! 317: STF_I st %f16, [0x0112, %r31]
5220 .word 0xe04fc000 ! 318: LDSB_R ldsb [%r31 + %r0], %r16
5221ibp_80_264:
5222 nop
5223 ta T_CHANGE_HPRIV
5224 mov 8, %r18
5225 rd %asi, %r12
5226 wr %r0, 0x41, %asi
5227 set sync_thr_counter4, %r23
5228#ifndef SPC
5229 ldxa [%g0]0x63, %r8
5230 and %r8, 0x38, %r8 ! Core ID
5231 add %r8, %r23, %r23
5232#else
5233 mov 0, %r8
5234#endif
5235 mov 0x80, %r16
5236ibp_startwait80_264:
5237 cas [%r23],%g0,%r16 !lock
5238 brz,a %r16, continue_ibp_80_264
5239 mov (~0x80&0xf0), %r16
5240 ld [%r23], %r16
5241ibp_wait80_264:
5242 brnz %r16, ibp_wait80_264
5243 ld [%r23], %r16
5244 ba ibp_startwait80_264
5245 mov 0x80, %r16
5246continue_ibp_80_264:
5247 sllx %r16, %r8, %r16 !Mask for my core only
5248 ldxa [0x58]%asi, %r17 !Running_status
5249wait_for_stat_80_264:
5250 ldxa [0x50]%asi, %r13 !Running_rw
5251 cmp %r13, %r17
5252 bne,a wait_for_stat_80_264
5253 ldxa [0x58]%asi, %r17 !Running_status
5254 stxa %r16, [0x68]%asi !Park (W1C)
5255 ldxa [0x50]%asi, %r14 !Running_rw
5256wait_for_ibp_80_264:
5257 ldxa [0x58]%asi, %r17 !Running_status
5258 cmp %r14, %r17
5259 bne,a wait_for_ibp_80_264
5260 ldxa [0x50]%asi, %r14 !Running_rw
5261ibp_doit80_264:
5262 best_set_reg(0x00000040b5c08345,%r19, %r20)
5263 stxa %r20, [%r18]0x42
5264 stxa %r16, [0x60] %asi !Unpark (W1S)
5265 st %g0, [%r23] !clear lock
5266 wr %r0, %r12, %asi !restore %asi
5267 ta T_CHANGE_NONHPRIV
5268 .word 0xe13fc013 ! 319: STDF_R std %f16, [%r19, %r31]
5269 .word 0xc1bfde00 ! 320: STDFA_R stda %f0, [%r0, %r31]
5270vahole_80_266:
5271 nop
5272 ta T_CHANGE_NONHPRIV
5273 setx vahole_target1, %r18, %r27
5274 jmpl %r27+0, %r27
5275 .word 0xe1bfe080 ! 321: STDFA_I stda %f16, [0x0080, %r31]
5276intveclr_80_267:
5277 nop
5278 ta T_CHANGE_HPRIV
5279 setx 0x7cd4c980c08c708e, %r1, %r28
5280 stxa %r28, [%g0] 0x72
5281 .word 0x25400001 ! 322: FBPLG fblg,a,pn %fcc0, <label_0x1>
5282pmu_80_268:
5283 nop
5284 setx 0xfffff3aafffffc97, %g1, %g7
5285 .word 0xa3800007 ! 323: WR_PERF_COUNTER_R wr %r0, %r7, %-
5286 .word 0xa1a000c6 ! 324: FNEGd fnegd %f6, %f16
5287intveclr_80_269:
5288 nop
5289 ta T_CHANGE_HPRIV
5290 setx 0x8c84f5e3091ee343, %r1, %r28
5291 stxa %r28, [%g0] 0x72
5292 .word 0x25400001 ! 325: FBPLG fblg,a,pn %fcc0, <label_0x1>
5293tagged_80_270:
5294 tsubcctv %r13, 0x1e58, %r8
5295 .word 0xd807e148 ! 326: LDUW_I lduw [%r31 + 0x0148], %r12
5296 setx 0xb6d436a43644fd24, %r1, %r28
5297 stxa %r28, [%g0] 0x73
5298intvec_80_271:
5299 .word 0x39400001 ! 327: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
5300brcommon2_80_272:
5301 nop
5302 setx common_target, %r12, %r27
5303 ba,a .+12
5304 .word 0xa3a00549 ! 1: FSQRTd fsqrt
5305 ba,a .+8
5306 jmpl %r27+0, %r27
5307 .word 0xc1bfd920 ! 328: STDFA_R stda %f0, [%r0, %r31]
5308 nop
5309 ta T_CHANGE_HPRIV
5310 mov 0x80, %r10
5311 set sync_thr_counter6, %r23
5312#ifndef SPC
5313 ldxa [%g0]0x63, %o1
5314 and %o1, 0x38, %o1
5315 add %o1, %r23, %r23
5316#endif
5317 cas [%r23],%g0,%r10 !lock
5318 brnz %r10, sma_80_273
5319 rd %asi, %r12
5320 wr %g0, 0x40, %asi
5321 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
5322 set 0x001a1fff, %g1
5323 stxa %g1, [%g0 + 0x80] %asi
5324 wr %r12, %g0, %asi
5325 st %g0, [%r23]
5326sma_80_273:
5327 ta T_CHANGE_NONHPRIV
5328 .word 0xd5e7e014 ! 329: CASA_R casa [%r31] %asi, %r20, %r10
5329dvapa_80_274:
5330 nop
5331 ta T_CHANGE_HPRIV
5332 mov 0xd5d, %r20
5333 mov 0x1b, %r19
5334 sllx %r20, 23, %r20
5335 or %r19, %r20, %r19
5336 stxa %r19, [%g0] ASI_LSU_CONTROL
5337 mov 0x38, %r18
5338 stxa %r31, [%r18]0x58
5339 ta T_CHANGE_NONHPRIV
5340 .word 0x9f803b35 ! 330: SIR sir 0x1b35
5341vahole_80_275:
5342 nop
5343 ta T_CHANGE_NONHPRIV
5344 setx vahole_target3, %r18, %r27
5345 jmpl %r27+0, %r27
5346 .word 0x87a84a41 ! 331: FCMPd fcmpd %fcc<n>, %f32, %f32
5347dvapa_80_276:
5348 nop
5349 ta T_CHANGE_HPRIV
5350 mov 0xf5b, %r20
5351 mov 0xd, %r19
5352 sllx %r20, 23, %r20
5353 or %r19, %r20, %r19
5354 stxa %r19, [%g0] ASI_LSU_CONTROL
5355 mov 0x38, %r18
5356 stxa %r31, [%r18]0x58
5357 ta T_CHANGE_NONHPRIV
5358 .word 0xe1bfd960 ! 332: STDFA_R stda %f16, [%r0, %r31]
5359splash_cmpr_80_277:
5360 mov 1, %r18
5361 sllx %r18, 63, %r18
5362 rd %tick, %r17
5363 add %r17, 0x70, %r17
5364 or %r17, %r18, %r17
5365 ta T_CHANGE_PRIV
5366 .word 0xb3800011 ! 333: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
5367 .word 0x9b520000 ! 334: RDPR_PIL <illegal instruction>
5368splash_cmpr_80_278:
5369 mov 1, %r18
5370 sllx %r18, 63, %r18
5371 rd %tick, %r17
5372 add %r17, 0x80, %r17
5373 or %r17, %r18, %r17
5374 ta T_CHANGE_PRIV
5375 .word 0xb3800011 ! 335: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
5376 .word 0xa7703814 ! 336: POPC_I popc 0x1814, %r19
5377vahole_80_279:
5378 nop
5379 ta T_CHANGE_NONHPRIV
5380 setx vahole_target1, %r18, %r27
5381 jmpl %r27+0, %r27
5382 .word 0xc3ec0034 ! 337: PREFETCHA_R prefetcha [%r16, %r20] 0x01, #one_read
5383jmptr_80_280:
5384 nop
5385 best_set_reg(0xe1a00000, %r20, %r27)
5386 .word 0xb7c6c000 ! 338: JMPL_R jmpl %r27 + %r0, %r27
5387 .word 0x8d903255 ! 339: WRPR_PSTATE_I wrpr %r0, 0x1255, %pstate
5388ceter_80_282:
5389 nop
5390 ta T_CHANGE_HPRIV
5391 mov 7, %r17
5392 sllx %r17, 60, %r17
5393 mov 0x18, %r16
5394 stxa %r17, [%r16]0x4c
5395 .word 0xa3410000 ! 340: RDTICK rd %tick, %r17
5396 .word 0x99b107c5 ! 341: PDIST pdistn %d4, %d36, %d12
5397 .word 0xd847e1e0 ! 342: LDSW_I ldsw [%r31 + 0x01e0], %r12
5398 .word 0x9195000b ! 343: WRPR_PIL_R wrpr %r20, %r11, %pil
5399 .word 0xd837e070 ! 344: STH_I sth %r12, [%r31 + 0x0070]
5400ibp_80_285:
5401 nop
5402 ta T_CHANGE_HPRIV
5403 mov 8, %r18
5404 rd %asi, %r12
5405 wr %r0, 0x41, %asi
5406 set sync_thr_counter4, %r23
5407#ifndef SPC
5408 ldxa [%g0]0x63, %r8
5409 and %r8, 0x38, %r8 ! Core ID
5410 add %r8, %r23, %r23
5411#else
5412 mov 0, %r8
5413#endif
5414 mov 0x80, %r16
5415ibp_startwait80_285:
5416 cas [%r23],%g0,%r16 !lock
5417 brz,a %r16, continue_ibp_80_285
5418 mov (~0x80&0xf0), %r16
5419 ld [%r23], %r16
5420ibp_wait80_285:
5421 brnz %r16, ibp_wait80_285
5422 ld [%r23], %r16
5423 ba ibp_startwait80_285
5424 mov 0x80, %r16
5425continue_ibp_80_285:
5426 sllx %r16, %r8, %r16 !Mask for my core only
5427 ldxa [0x58]%asi, %r17 !Running_status
5428wait_for_stat_80_285:
5429 ldxa [0x50]%asi, %r13 !Running_rw
5430 cmp %r13, %r17
5431 bne,a wait_for_stat_80_285
5432 ldxa [0x58]%asi, %r17 !Running_status
5433 stxa %r16, [0x68]%asi !Park (W1C)
5434 ldxa [0x50]%asi, %r14 !Running_rw
5435wait_for_ibp_80_285:
5436 ldxa [0x58]%asi, %r17 !Running_status
5437 cmp %r14, %r17
5438 bne,a wait_for_ibp_80_285
5439 ldxa [0x50]%asi, %r14 !Running_rw
5440ibp_doit80_285:
5441 best_set_reg(0x0000005020c3458f,%r19, %r20)
5442 stxa %r20, [%r18]0x42
5443 stxa %r16, [0x60] %asi !Unpark (W1S)
5444 st %g0, [%r23] !clear lock
5445 wr %r0, %r12, %asi !restore %asi
5446 .word 0x87ac0a4b ! 345: FCMPd fcmpd %fcc<n>, %f16, %f42
5447 fblg,a,pn %fcc0, skip_80_286
5448 fbge,a,pn %fcc0, skip_80_286
5449.align 512
5450skip_80_286:
5451 .word 0x97a109c8 ! 346: FDIVd fdivd %f4, %f8, %f42
5452 .word 0xd337e088 ! 347: STQF_I - %f9, [0x0088, %r31]
5453donret_80_287:
5454 nop
5455 ta T_CHANGE_HPRIV ! macro
5456 rd %pc, %r12
5457 add %r12, (donretarg_80_287-donret_80_287-4), %r12
5458 mov 0x38, %r18
5459 stxa %r12, [%r18]0x58
5460 add %r12, 0x4, %r11
5461 wrpr %g0, 0x2, %tl
5462 wrpr %g0, %r12, %tpc
5463 wrpr %g0, %r11, %tnpc
5464 set (0x00b16245 | (0x80 << 24)), %r13
5465 rdpr %tstate, %r16
5466 mov 0x1f, %r19
5467 and %r19, %r16, %r17
5468 andn %r16, %r19, %r16
5469 or %r16, %r17, %r20
5470 wrpr %r20, %g0, %tstate
5471 wrhpr %g0, 0xf5d, %htstate
5472 ta T_CHANGE_NONHPRIV ! rand=1 (80)
5473 .word 0x30800001 ! 1: BA ba,a <label_0x1>
5474 done
5475donretarg_80_287:
5476 .word 0xd2ffe0b8 ! 348: SWAPA_I swapa %r9, [%r31 + 0x00b8] %asi
5477 .word 0xd28008a0 ! 349: LDUWA_R lduwa [%r0, %r0] 0x45, %r9
5478 .word 0x8d802000 ! 350: WRFPRS_I wr %r0, 0x0000, %fprs
5479dvapa_80_288:
5480 nop
5481 ta T_CHANGE_HPRIV
5482 mov 0xb9a, %r20
5483 mov 0x1d, %r19
5484 sllx %r20, 23, %r20
5485 or %r19, %r20, %r19
5486 stxa %r19, [%g0] ASI_LSU_CONTROL
5487 mov 0x38, %r18
5488 stxa %r31, [%r18]0x58
5489 ta T_CHANGE_NONHPRIV
5490 .word 0xd2dfc02d ! 351: LDXA_R ldxa [%r31, %r13] 0x01, %r9
5491 .word 0xa7a00173 ! 352: FABSq dis not found
5492
5493 .word 0xe1bfe020 ! 353: STDFA_I stda %f16, [0x0020, %r31]
5494brcommon2_80_291:
5495 nop
5496 setx common_target, %r12, %r27
5497 ba,a .+12
5498 .word 0xe3144010 ! 1: LDQF_R - [%r17, %r16], %f17
5499 ba,a .+8
5500 jmpl %r27+0, %r27
5501 .word 0xe1bfc3e0 ! 354: STDFA_R stda %f16, [%r0, %r31]
5502donret_80_292:
5503 nop
5504 ta T_CHANGE_HPRIV ! macro
5505 rd %pc, %r12
5506 add %r12, (donretarg_80_292-donret_80_292-8), %r12
5507 mov 0x38, %r18
5508 stxa %r12, [%r18]0x58
5509 add %r12, 0x4, %r11
5510 wrpr %g0, 0x2, %tl
5511 wrpr %g0, %r12, %tpc
5512 wrpr %g0, %r11, %tnpc
5513 set (0x001a7f12 | (0x83 << 24)), %r13
5514 rdpr %tstate, %r16
5515 mov 0x1f, %r19
5516 and %r19, %r16, %r17
5517 andn %r16, %r19, %r16
5518 or %r16, %r17, %r20
5519 wrpr %r20, %g0, %tstate
5520 wrhpr %g0, 0x144c, %htstate
5521 ta T_CHANGE_NONHPRIV ! rand=1 (80)
5522 retry
5523donretarg_80_292:
5524 .word 0x97a189d0 ! 355: FDIVd fdivd %f6, %f16, %f42
5525pmu_80_293:
5526 nop
5527 setx 0xfffffaabfffff994, %g1, %g7
5528 .word 0xa3800007 ! 356: WR_PERF_COUNTER_R wr %r0, %r7, %-
5529donret_80_294:
5530 nop
5531 ta T_CHANGE_HPRIV ! macro
5532 rd %pc, %r12
5533 add %r12, (donretarg_80_294-donret_80_294-8), %r12
5534 mov 0x38, %r18
5535 stxa %r12, [%r18]0x58
5536 add %r12, 0x4, %r11
5537 wrpr %g0, 0x2, %tl
5538 wrpr %g0, %r12, %tpc
5539 wrpr %g0, %r11, %tnpc
5540 set (0x00c60cac | (4 << 24)), %r13
5541 rdpr %tstate, %r16
5542 mov 0x1f, %r19
5543 and %r19, %r16, %r17
5544 andn %r16, %r19, %r16
5545 or %r16, %r17, %r20
5546 wrpr %r20, %g0, %tstate
5547 wrhpr %g0, 0x14d7, %htstate
5548 ta T_CHANGE_NONHPRIV ! rand=1 (80)
5549 retry
5550donretarg_80_294:
5551 .word 0xe46fe1ca ! 357: LDSTUB_I ldstub %r18, [%r31 + 0x01ca]
5552 nop
5553 ta T_CHANGE_HPRIV
5554 mov 0x80, %r10
5555 set sync_thr_counter6, %r23
5556#ifndef SPC
5557 ldxa [%g0]0x63, %o1
5558 and %o1, 0x38, %o1
5559 add %o1, %r23, %r23
5560#endif
5561 cas [%r23],%g0,%r10 !lock
5562 brnz %r10, sma_80_295
5563 rd %asi, %r12
5564 wr %g0, 0x40, %asi
5565 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
5566 set 0x00161fff, %g1
5567 stxa %g1, [%g0 + 0x80] %asi
5568 wr %r12, %g0, %asi
5569 st %g0, [%r23]
5570sma_80_295:
5571 ta T_CHANGE_NONHPRIV
5572 .word 0xe5e7e013 ! 358: CASA_R casa [%r31] %asi, %r19, %r18
5573 .word 0x22800001 ! 359: BE be,a <label_0x1>
5574 nop
5575 ta T_CHANGE_HPRIV
5576 mov 0x80+1, %r10
5577 set sync_thr_counter5, %r23
5578#ifndef SPC
5579 ldxa [%g0]0x63, %o1
5580 and %o1, 0x38, %o1
5581 add %o1, %r23, %r23
5582#endif
5583 cas [%r23],%g0,%r10 !lock
5584 brnz %r10, cwq_80_296
5585 rd %asi, %r12
5586 wr %g0, 0x40, %asi
5587 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
5588 and %l1, 0x3, %l1 ! Check if busy/enabled ..
5589 cmp %l1, 1
5590 bne cwq_80_296
5591 set CWQ_BASE, %l6
5592 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
5593 best_set_reg(0x20610080, %l1, %l2) !# Control Word
5594 sllx %l2, 32, %l2
5595 stx %l2, [%l6 + 0x0]
5596 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
5597 sub %l2, 0x40, %l2
5598 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
5599 wr %r12, %g0, %asi
5600 st %g0, [%r23]
5601cwq_80_296:
5602 ta T_CHANGE_NONHPRIV
5603 .word 0xa1414000 ! 360: RDPC rd %pc, %r16
5604splash_cmpr_80_297:
5605 mov 1, %r18
5606 sllx %r18, 63, %r18
5607 rd %tick, %r17
5608 add %r17, 0x70, %r17
5609 or %r17, %r18, %r17
5610 ta T_CHANGE_PRIV
5611 .word 0xaf800011 ! 361: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
5612mondo_80_298:
5613 nop
5614 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5615 ta T_CHANGE_PRIV
5616 stxa %r3, [%r0+0x3c0] %asi
5617 .word 0x9d904002 ! 362: WRPR_WSTATE_R wrpr %r1, %r2, %wstate
5618brcommon3_80_299:
5619 nop
5620 setx common_target, %r12, %r27
5621 lduw [%r27], %r12 ! Load common dest into dcache ..
5622 ba,a .+12
5623 .word 0xdb37c00d ! 1: STQF_R - %f13, [%r13, %r31]
5624 ba,a .+8
5625 jmpl %r27+0, %r27
5626 .word 0xdadfc031 ! 363: LDXA_R ldxa [%r31, %r17] 0x01, %r13
5627intveclr_80_300:
5628 nop
5629 ta T_CHANGE_HPRIV
5630 setx 0x18abeba080102bff, %r1, %r28
5631 stxa %r28, [%g0] 0x72
5632 ta T_CHANGE_NONHPRIV
5633 .word 0x25400001 ! 364: FBPLG fblg,a,pn %fcc0, <label_0x1>
5634 .word 0x89800011 ! 365: WRTICK_R wr %r0, %r17, %tick
5635splash_lsu_80_302:
5636 nop
5637 ta T_CHANGE_HPRIV
5638 set 0xa0356dba, %r2
5639 mov 0x2, %r1
5640 sllx %r1, 32, %r1
5641 or %r1, %r2, %r2
5642 stxa %r2, [%r0] ASI_LSU_CONTROL
5643 .word 0x3d400001 ! 366: FBPULE fbule,a,pn %fcc0, <label_0x1>
5644 nop
5645 ta T_CHANGE_HPRIV
5646 mov 0x80+1, %r10
5647 set sync_thr_counter5, %r23
5648#ifndef SPC
5649 ldxa [%g0]0x63, %o1
5650 and %o1, 0x38, %o1
5651 add %o1, %r23, %r23
5652#endif
5653 cas [%r23],%g0,%r10 !lock
5654 brnz %r10, cwq_80_303
5655 rd %asi, %r12
5656 wr %g0, 0x40, %asi
5657 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
5658 and %l1, 0x3, %l1 ! Check if busy/enabled ..
5659 cmp %l1, 1
5660 bne cwq_80_303
5661 set CWQ_BASE, %l6
5662 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
5663 best_set_reg(0x20610070, %l1, %l2) !# Control Word
5664 sllx %l2, 32, %l2
5665 stx %l2, [%l6 + 0x0]
5666 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
5667 sub %l2, 0x40, %l2
5668 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
5669 wr %r12, %g0, %asi
5670 st %g0, [%r23]
5671cwq_80_303:
5672 ta T_CHANGE_NONHPRIV
5673 .word 0x95414000 ! 367: RDPC rd %pc, %r10
5674 set 0x2032, %l3
5675 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
5676 .word 0x9bb087cb ! 368: PDIST pdistn %d2, %d42, %d44
5677splash_lsu_80_304:
5678 nop
5679 ta T_CHANGE_HPRIV
5680 set 0xc07dcaee, %r2
5681 mov 0x3, %r1
5682 sllx %r1, 32, %r1
5683 or %r1, %r2, %r2
5684 stxa %r2, [%r0] ASI_LSU_CONTROL
5685 ta T_CHANGE_NONHPRIV
5686 .word 0x3d400001 ! 369: FBPULE fbule,a,pn %fcc0, <label_0x1>
5687br_longdelay4_80_305:
5688 nop
5689 not %g0, %r12
5690 jmp %r12
5691 .word 0x9d902003 ! 370: WRPR_WSTATE_I wrpr %r0, 0x0003, %wstate
5692dvapa_80_306:
5693 nop
5694 ta T_CHANGE_HPRIV
5695 mov 0xc53, %r20
5696 mov 0x8, %r19
5697 sllx %r20, 23, %r20
5698 or %r19, %r20, %r19
5699 stxa %r19, [%g0] ASI_LSU_CONTROL
5700 mov 0x38, %r18
5701 stxa %r31, [%r18]0x58
5702 ta T_CHANGE_NONHPRIV
5703 .word 0x87ab4a52 ! 371: FCMPd fcmpd %fcc<n>, %f44, %f18
5704pmu_80_307:
5705 nop
5706 setx 0xfffff035fffffad7, %g1, %g7
5707 .word 0xa3800007 ! 372: WR_PERF_COUNTER_R wr %r0, %r7, %-
5708pmu_80_308:
5709 nop
5710 setx 0xfffff82dfffffea2, %g1, %g7
5711 .word 0xa3800007 ! 373: WR_PERF_COUNTER_R wr %r0, %r7, %-
5712vahole_80_309:
5713 nop
5714 ta T_CHANGE_NONHPRIV
5715 setx vahole_target2, %r18, %r27
5716 jmpl %r27+0, %r27
5717 .word 0xc1bfc2c0 ! 374: STDFA_R stda %f0, [%r0, %r31]
5718tagged_80_310:
5719 tsubcctv %r2, 0x1d97, %r9
5720 .word 0xd407e170 ! 375: LDUW_I lduw [%r31 + 0x0170], %r10
5721 nop
5722 ta T_CHANGE_HPRIV
5723 mov 0x80+1, %r10
5724 set sync_thr_counter5, %r23
5725#ifndef SPC
5726 ldxa [%g0]0x63, %o1
5727 and %o1, 0x38, %o1
5728 add %o1, %r23, %r23
5729#endif
5730 cas [%r23],%g0,%r10 !lock
5731 brnz %r10, cwq_80_311
5732 rd %asi, %r12
5733 wr %g0, 0x40, %asi
5734 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
5735 and %l1, 0x3, %l1 ! Check if busy/enabled ..
5736 cmp %l1, 1
5737 bne cwq_80_311
5738 set CWQ_BASE, %l6
5739 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
5740 best_set_reg(0x20610080, %l1, %l2) !# Control Word
5741 sllx %l2, 32, %l2
5742 stx %l2, [%l6 + 0x0]
5743 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
5744 sub %l2, 0x40, %l2
5745 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
5746 wr %r12, %g0, %asi
5747 st %g0, [%r23]
5748cwq_80_311:
5749 ta T_CHANGE_NONHPRIV
5750 .word 0xa9414000 ! 376: RDPC rd %pc, %r20
5751trapasi_80_312:
5752 nop
5753 mov 0x0, %r1 ! (VA for ASI 0x5b)
5754 .word 0xd8c84b60 ! 377: LDSBA_R ldsba [%r1, %r0] 0x5b, %r12
5755 .word 0x35400001 ! 1: FBPUE fbue,a,pn %fcc0, <label_0x1>
5756 .word 0x8d903567 ! 378: WRPR_PSTATE_I wrpr %r0, 0x1567, %pstate
5757 .word 0xd93fc00d ! 379: STDF_R std %f12, [%r13, %r31]
5758mondo_80_315:
5759 nop
5760 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5761 ta T_CHANGE_PRIV
5762 stxa %r16, [%r0+0x3c0] %asi
5763 .word 0x9d904010 ! 380: WRPR_WSTATE_R wrpr %r1, %r16, %wstate
5764fpinit_80_316:
5765 setx fp_data_quads, %r19, %r20
5766 ldd [%r20], %f0
5767 ldd [%r20+8], %f4
5768 ld [%r20+16], %fsr
5769 ld [%r20+24], %r19
5770 wr %r19, %g0, %gsr
5771 .word 0xc3e8333a ! 381: PREFETCHA_I prefetcha [%r0, + 0xfffff33a] %asi, #one_read
5772dvapa_80_317:
5773 nop
5774 ta T_CHANGE_HPRIV
5775 mov 0xa07, %r20
5776 mov 0x11, %r19
5777 sllx %r20, 23, %r20
5778 or %r19, %r20, %r19
5779 stxa %r19, [%g0] ASI_LSU_CONTROL
5780 mov 0x38, %r18
5781 stxa %r31, [%r18]0x58
5782 ta T_CHANGE_NONHPRIV
5783 .word 0xc1bfde00 ! 382: STDFA_R stda %f0, [%r0, %r31]
5784 .word 0x8d902c23 ! 383: WRPR_PSTATE_I wrpr %r0, 0x0c23, %pstate
5785pmu_80_319:
5786 nop
5787 setx 0xfffff6d9fffffec1, %g1, %g7
5788 .word 0xa3800007 ! 384: WR_PERF_COUNTER_R wr %r0, %r7, %-
5789 .word 0xd8d7e1e8 ! 385: LDSHA_I ldsha [%r31, + 0x01e8] %asi, %r12
5790 .word 0x8d90353c ! 386: WRPR_PSTATE_I wrpr %r0, 0x153c, %pstate
5791fpinit_80_321:
5792 setx fp_data_quads, %r19, %r20
5793 ldd [%r20], %f0
5794 ldd [%r20+8], %f4
5795 ld [%r20+16], %fsr
5796 ld [%r20+24], %r19
5797 wr %r19, %g0, %gsr
5798 .word 0xc3e8333a ! 387: PREFETCHA_I prefetcha [%r0, + 0xfffff33a] %asi, #one_read
5799 .word 0xe19fc3e0 ! 388: LDDFA_R ldda [%r31, %r0], %f16
5800 .word 0xa3b44549 ! 389: FCMPEQ16 fcmpeq16 %d48, %d40, %r17
5801donret_80_322:
5802 nop
5803 ta T_CHANGE_HPRIV ! macro
5804 rd %pc, %r12
5805 add %r12, (donretarg_80_322-donret_80_322-8), %r12
5806 mov 0x38, %r18
5807 stxa %r12, [%r18]0x58
5808 add %r12, 0x4, %r11
5809 wrpr %g0, 0x2, %tl
5810 wrpr %g0, %r12, %tpc
5811 wrpr %g0, %r11, %tnpc
5812 set (0x00e487be | (0x89 << 24)), %r13
5813 rdpr %tstate, %r16
5814 mov 0x1f, %r19
5815 and %r19, %r16, %r17
5816 andn %r16, %r19, %r16
5817 or %r16, %r17, %r20
5818 wrpr %r20, %g0, %tstate
5819 wrhpr %g0, 0x4f, %htstate
5820 ta T_CHANGE_NONPRIV ! rand=0 (80)
5821 .word 0x2e800001 ! 1: BVS bvs,a <label_0x1>
5822 retry
5823donretarg_80_322:
5824 .word 0xe8ffe092 ! 390: SWAPA_I swapa %r20, [%r31 + 0x0092] %asi
5825 .word 0xa145c000 ! 391: RD_TICK_CMPR_REG rd %-, %r16
5826 .word 0xab83000a ! 392: WR_CLEAR_SOFTINT_R wr %r12, %r10, %clear_softint
5827 setx 0x6218b9700a873462, %r1, %r28
5828 stxa %r28, [%g0] 0x73
5829intvec_80_323:
5830 .word 0x39400001 ! 393: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
5831 .word 0xc32fc012 ! 394: STXFSR_R st-sfr %f1, [%r18, %r31]
5832 setx 0x61704647858b8c7a, %r1, %r28
5833 stxa %r28, [%g0] 0x73
5834intvec_80_325:
5835 .word 0x39400001 ! 395: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
5836 .word 0xa1524000 ! 396: RDPR_CWP rdpr %cwp, %r16
5837dvapa_80_327:
5838 nop
5839 ta T_CHANGE_HPRIV
5840 mov 0xed5, %r20
5841 mov 0x4, %r19
5842 sllx %r20, 23, %r20
5843 or %r19, %r20, %r19
5844 stxa %r19, [%g0] ASI_LSU_CONTROL
5845 mov 0x38, %r18
5846 stxa %r31, [%r18]0x58
5847 ta T_CHANGE_NONHPRIV
5848 .word 0xe1bfe000 ! 397: STDFA_I stda %f16, [0x0000, %r31]
5849fpinit_80_328:
5850 setx fp_data_quads, %r19, %r20
5851 ldd [%r20], %f0
5852 ldd [%r20+8], %f4
5853 ld [%r20+16], %fsr
5854 ld [%r20+24], %r19
5855 wr %r19, %g0, %gsr
5856 .word 0x8da009c4 ! 398: FDIVd fdivd %f0, %f4, %f6
5857 .word 0xe7e7e011 ! 399: CASA_R casa [%r31] %asi, %r17, %r19
5858unsupttte_80_330:
5859 nop
5860 ta T_CHANGE_HPRIV
5861 mov 1, %r20
5862 sllx %r20, 63, %r20
5863 or %r20, 2,%r20
5864 stxa %r20, [%g0]0x5c ! D unsupported page size ..
5865 ta T_CHANGE_NONHPRIV
5866 .word 0x95a489c7 ! 400: FDIVd fdivd %f18, %f38, %f10
5867vahole_80_331:
5868 nop
5869 ta T_CHANGE_NONHPRIV
5870 setx vahole_target2, %r18, %r27
5871 jmpl %r27+0, %r27
5872 .word 0xc19fd960 ! 401: LDDFA_R ldda [%r31, %r0], %f0
5873 nop
5874 nop
5875 ta T_CHANGE_PRIV
5876 wrpr %g0, %g0, %gl
5877 nop
5878 nop
5879 setx join_lbl_0_0, %g1, %g2
5880 jmp %g2
5881 nop
5882fork_lbl_0_7:
5883 ta T_CHANGE_NONHPRIV
5884 .word 0xe88008a0 ! 1: LDUWA_R lduwa [%r0, %r0] 0x45, %r20
5885 .word 0xa9a0016c ! 2: FABSq dis not found
5886
5887ibp_40_1:
5888 nop
5889 ta T_CHANGE_NONHPRIV
5890 .word 0xe31fc00c ! 3: LDDF_R ldd [%r31, %r12], %f17
5891donret_40_2:
5892 nop
5893 ta T_CHANGE_HPRIV ! macro
5894 rd %pc, %r12
5895 add %r12, (donretarg_40_2-donret_40_2-8), %r12
5896 mov 0x38, %r18
5897 stxa %r12, [%r18]0x58
5898 add %r12, 0x4, %r11
5899 wrpr %g0, 0x1, %tl
5900 wrpr %g0, %r12, %tpc
5901 wrpr %g0, %r11, %tnpc
5902 set (0x0041178f | (20 << 24)), %r13
5903 rdpr %tstate, %r16
5904 mov 0x1f, %r19
5905 and %r19, %r16, %r17
5906 andn %r16, %r19, %r16
5907 or %r16, %r17, %r20
5908 wrpr %r20, %g0, %tstate
5909 wrhpr %g0, 0x1669, %htstate
5910 ta T_CHANGE_NONHPRIV ! rand=1 (40)
5911 .word 0x28800001 ! 1: BLEU bleu,a <label_0x1>
5912 retry
5913donretarg_40_2:
5914 .word 0xe26fe0b7 ! 4: LDSTUB_I ldstub %r17, [%r31 + 0x00b7]
5915 setx 0xbf7c6f06e1996c34, %r1, %r28
5916 stxa %r28, [%g0] 0x73
5917intvec_40_3:
5918 .word 0x39400001 ! 5: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
5919mondo_40_4:
5920 nop
5921 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5922 stxa %r13, [%r0+0x3c0] %asi
5923 .word 0x9d94c007 ! 6: WRPR_WSTATE_R wrpr %r19, %r7, %wstate
5924pmu_40_5:
5925 nop
5926 ta T_CHANGE_PRIV
5927 setx 0xfffff645fffff62c, %g1, %g7
5928 .word 0xa3800007 ! 7: WR_PERF_COUNTER_R wr %r0, %r7, %-
5929 .word 0x90fcea55 ! 8: SDIVcc_I sdivcc %r19, 0x0a55, %r8
5930splash_cmpr_40_6:
5931 mov 1, %r18
5932 sllx %r18, 63, %r18
5933 rd %tick, %r17
5934 add %r17, 0x80, %r17
5935 or %r17, %r18, %r17
5936 ta T_CHANGE_HPRIV
5937 wrhpr %r17, %g0, %hsys_tick_cmpr
5938 ta T_CHANGE_PRIV
5939 .word 0xaf800011 ! 9: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
5940 nop
5941 ta T_CHANGE_HPRIV
5942 mov 0x40+1, %r10
5943 set sync_thr_counter5, %r23
5944#ifndef SPC
5945 ldxa [%g0]0x63, %o1
5946 and %o1, 0x38, %o1
5947 add %o1, %r23, %r23
5948#endif
5949 cas [%r23],%g0,%r10 !lock
5950 brnz %r10, cwq_40_7
5951 rd %asi, %r12
5952 wr %g0, 0x40, %asi
5953 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
5954 and %l1, 0x3, %l1 ! Check if busy/enabled ..
5955 cmp %l1, 1
5956 bne cwq_40_7
5957 set CWQ_BASE, %l6
5958 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
5959 best_set_reg(0x20610080, %l1, %l2) !# Control Word
5960 sllx %l2, 32, %l2
5961 stx %l2, [%l6 + 0x0]
5962 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
5963 sub %l2, 0x40, %l2
5964 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
5965 wr %r12, %g0, %asi
5966 st %g0, [%r23]
5967cwq_40_7:
5968 ta T_CHANGE_NONHPRIV
5969 .word 0x99414000 ! 10: RDPC rd %pc, %r12
5970pmu_40_8:
5971 nop
5972 setx 0xfffff54afffff3e8, %g1, %g7
5973 .word 0xa3800007 ! 11: WR_PERF_COUNTER_R wr %r0, %r7, %-
5974 .word 0x95a0016b ! 12: FABSq dis not found
5975
5976ibp_40_10:
5977 nop
5978 .word 0xe1bfdb60 ! 13: STDFA_R stda %f16, [%r0, %r31]
5979trapasi_40_11:
5980 nop
5981 mov 0x10, %r1 ! (VA for ASI 0x4c)
5982 .word 0xe2d04980 ! 14: LDSHA_R ldsha [%r1, %r0] 0x4c, %r17
5983splash_cmpr_40_12:
5984 mov 1, %r18
5985 sllx %r18, 63, %r18
5986 rd %tick, %r17
5987 add %r17, 0x50, %r17
5988 or %r17, %r18, %r17
5989 .word 0xaf800011 ! 15: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
5990iaw_40_13:
5991 nop
5992 ta T_CHANGE_HPRIV
5993 mov 8, %r18
5994 rd %asi, %r12
5995 wr %r0, 0x41, %asi
5996 set sync_thr_counter4, %r23
5997#ifndef SPC
5998 ldxa [%g0]0x63, %r8
5999 and %r8, 0x38, %r8 ! Core ID
6000 add %r8, %r23, %r23
6001#else
6002 mov 0, %r8
6003#endif
6004 mov 0x40, %r16
6005iaw_startwait40_13:
6006 cas [%r23],%g0,%r16 !lock
6007 brz,a %r16, continue_iaw_40_13
6008 mov (~0x40&0xf0), %r16
6009 ld [%r23], %r16
6010iaw_wait40_13:
6011 brnz %r16, iaw_wait40_13
6012 ld [%r23], %r16
6013 ba iaw_startwait40_13
6014 mov 0x40, %r16
6015continue_iaw_40_13:
6016 sllx %r16, %r8, %r16 !Mask for my core only
6017 ldxa [0x58]%asi, %r17 !Running_status
6018wait_for_stat_40_13:
6019 ldxa [0x50]%asi, %r13 !Running_rw
6020 cmp %r13, %r17
6021 bne,a wait_for_stat_40_13
6022 ldxa [0x58]%asi, %r17 !Running_status
6023 stxa %r16, [0x68]%asi !Park (W1C)
6024 ldxa [0x50]%asi, %r14 !Running_rw
6025wait_for_iaw_40_13:
6026 ldxa [0x58]%asi, %r17 !Running_status
6027 cmp %r14, %r17
6028 bne,a wait_for_iaw_40_13
6029 ldxa [0x50]%asi, %r14 !Running_rw
6030iaw_doit40_13:
6031 mov 0x38, %r18
6032iaw3_40_13:
6033 setx vahole_target0, %r20, %r19
6034 or %r19, 0x1, %r19
6035 stxa %r19, [%r18]0x50
6036 stxa %r16, [0x60] %asi ! Unpark (W1S)
6037 st %g0, [%r23] !clear lock
6038 wr %r0, %r12, %asi ! restore %asi
6039 ta T_CHANGE_NONHPRIV
6040 .word 0x87aa4a45 ! 16: FCMPd fcmpd %fcc<n>, %f40, %f36
6041pmu_40_14:
6042 nop
6043 setx 0xfffff64cfffff3cd, %g1, %g7
6044 .word 0xa3800007 ! 17: WR_PERF_COUNTER_R wr %r0, %r7, %-
6045 .word 0x22c88001 ! 1: BRZ brz,a,pt %r2,<label_0x88001>
6046 .word 0x8d903467 ! 18: WRPR_PSTATE_I wrpr %r0, 0x1467, %pstate
6047splash_cmpr_40_16:
6048 mov 1, %r18
6049 sllx %r18, 63, %r18
6050 rd %tick, %r17
6051 add %r17, 0x50, %r17
6052 or %r17, %r18, %r17
6053 ta T_CHANGE_HPRIV
6054 wrhpr %r17, %g0, %hsys_tick_cmpr
6055 .word 0xaf800011 ! 19: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
6056 .word 0xd01fc000 ! 20: LDD_R ldd [%r31 + %r0], %r8
6057splash_lsu_40_17:
6058 nop
6059 ta T_CHANGE_HPRIV
6060 set 0x1aeb1787, %r2
6061 mov 0x4, %r1
6062 sllx %r1, 32, %r1
6063 or %r1, %r2, %r2
6064 stxa %r2, [%r0] ASI_LSU_CONTROL
6065 ta T_CHANGE_NONHPRIV
6066 .word 0x3d400001 ! 21: FBPULE fbule,a,pn %fcc0, <label_0x1>
6067ibp_40_18:
6068 nop
6069 .word 0xa3b447d0 ! 22: PDIST pdistn %d48, %d16, %d48
6070fpinit_40_19:
6071 setx fp_data_quads, %r19, %r20
6072 ldd [%r20], %f0
6073 ldd [%r20+8], %f4
6074 ld [%r20+16], %fsr
6075 ld [%r20+24], %r19
6076 wr %r19, %g0, %gsr
6077 .word 0xc3e83a91 ! 23: PREFETCHA_I prefetcha [%r0, + 0xfffffa91] %asi, #one_read
6078mondo_40_20:
6079 nop
6080 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
6081 ta T_CHANGE_PRIV
6082 stxa %r1, [%r0+0x3c8] %asi
6083 .word 0x9d944009 ! 24: WRPR_WSTATE_R wrpr %r17, %r9, %wstate
6084intveclr_40_21:
6085 nop
6086 ta T_CHANGE_HPRIV
6087 setx 0xd1be4ca3423a46de, %r1, %r28
6088 stxa %r28, [%g0] 0x72
6089 .word 0x25400001 ! 25: FBPLG fblg,a,pn %fcc0, <label_0x1>
6090pmu_40_22:
6091 nop
6092 ta T_CHANGE_PRIV
6093 setx 0xfffff321fffff8f5, %g1, %g7
6094 .word 0xa3800007 ! 26: WR_PERF_COUNTER_R wr %r0, %r7, %-
6095splash_tba_40_23:
6096 ta T_CHANGE_PRIV
6097 setx 0x0000000400380000, %r11, %r12
6098 .word 0x8b90000c ! 27: WRPR_TBA_R wrpr %r0, %r12, %tba
6099trapasi_40_24:
6100 nop
6101 mov 0x10, %r1 ! (VA for ASI 0x4c)
6102 .word 0xda884980 ! 28: LDUBA_R lduba [%r1, %r0] 0x4c, %r13
6103 .word 0x8780208a ! 29: WRASI_I wr %r0, 0x008a, %asi
6104ibp_40_25:
6105 nop
6106 ta T_CHANGE_NONHPRIV
6107 .word 0xc1bfe1a0 ! 30: STDFA_I stda %f0, [0x01a0, %r31]
6108dvapa_40_26:
6109 nop
6110 ta T_CHANGE_HPRIV
6111 mov 0x8ef, %r20
6112 mov 0x10, %r19
6113 sllx %r20, 23, %r20
6114 or %r19, %r20, %r19
6115 stxa %r19, [%g0] ASI_LSU_CONTROL
6116 mov 0x38, %r18
6117 stxa %r31, [%r18]0x58
6118 ta T_CHANGE_NONHPRIV
6119 .word 0xdb3fc008 ! 31: STDF_R std %f13, [%r8, %r31]
6120 nop
6121 ta T_CHANGE_HPRIV
6122 mov 0x40+1, %r10
6123 set sync_thr_counter5, %r23
6124#ifndef SPC
6125 ldxa [%g0]0x63, %o1
6126 and %o1, 0x38, %o1
6127 add %o1, %r23, %r23
6128#endif
6129 cas [%r23],%g0,%r10 !lock
6130 brnz %r10, cwq_40_27
6131 rd %asi, %r12
6132 wr %g0, 0x40, %asi
6133 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
6134 and %l1, 0x3, %l1 ! Check if busy/enabled ..
6135 cmp %l1, 1
6136 bne cwq_40_27
6137 set CWQ_BASE, %l6
6138 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
6139 best_set_reg(0x20610010, %l1, %l2) !# Control Word
6140 sllx %l2, 32, %l2
6141 stx %l2, [%l6 + 0x0]
6142 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
6143 sub %l2, 0x40, %l2
6144 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
6145 wr %r12, %g0, %asi
6146 st %g0, [%r23]
6147cwq_40_27:
6148 ta T_CHANGE_NONHPRIV
6149 .word 0x93414000 ! 32: RDPC rd %pc, %r9
6150 .word 0x8d903775 ! 33: WRPR_PSTATE_I wrpr %r0, 0x1775, %pstate
6151 .word 0xa9a0016b ! 34: FABSq dis not found
6152
6153#if (defined SPC || defined CMP)
6154!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_40_30) + 40, 16, 16)) -> intp(3,0,18)
6155!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_40_30)&0xffffffff) + 40, 16, 16)) -> intp(3,0,18)
6156#else
6157 setx 0xf797b0b6b9c6f359, %r1, %r28
6158 stxa %r28, [%g0] 0x73
6159#endif
6160intvec_40_30:
6161 .word 0x39400001 ! 35: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
6162 .word 0x99b10981 ! 36: BSHUFFLE fmovc32 %d4, %d32, %d12
6163 .word 0x8d802004 ! 37: WRFPRS_I wr %r0, 0x0004, %fprs
6164 .word 0xd44fe170 ! 38: LDSB_I ldsb [%r31 + 0x0170], %r10
6165splash_cmpr_40_32:
6166 mov 1, %r18
6167 sllx %r18, 63, %r18
6168 rd %tick, %r17
6169 add %r17, 0x80, %r17
6170 or %r17, %r18, %r17
6171 ta T_CHANGE_HPRIV
6172 wrhpr %r17, %g0, %hsys_tick_cmpr
6173 .word 0xb3800011 ! 39: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
6174 setx 0x4cb948355a024d05, %r1, %r28
6175 stxa %r28, [%g0] 0x73
6176intvec_40_33:
6177 .word 0x39400001 ! 40: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
6178 .word 0x8d802000 ! 41: WRFPRS_I wr %r0, 0x0000, %fprs
6179pmu_40_34:
6180 nop
6181 setx 0xfffff361fffffcb9, %g1, %g7
6182 .word 0xa3800007 ! 42: WR_PERF_COUNTER_R wr %r0, %r7, %-
6183jmptr_40_35:
6184 nop
6185 best_set_reg(0xe1200000, %r20, %r27)
6186 .word 0xb7c6c000 ! 43: JMPL_R jmpl %r27 + %r0, %r27
6187 .word 0xd4c7e040 ! 44: LDSWA_I ldswa [%r31, + 0x0040] %asi, %r10
6188 .word 0xc30fc000 ! 45: LDXFSR_R ld-fsr [%r31, %r0], %f1
6189fpinit_40_36:
6190 setx fp_data_quads, %r19, %r20
6191 ldd [%r20], %f0
6192 ldd [%r20+8], %f4
6193 ld [%r20+16], %fsr
6194 ld [%r20+24], %r19
6195 wr %r19, %g0, %gsr
6196 .word 0x89a009c4 ! 46: FDIVd fdivd %f0, %f4, %f4
6197cwp_40_37:
6198 set user_data_start, %o7
6199 .word 0x93902005 ! 47: WRPR_CWP_I wrpr %r0, 0x0005, %cwp
6200ibp_40_38:
6201 nop
6202 .word 0xd43ffa91 ! 48: STD_I std %r10, [%r31 + 0xfffffa91]
6203pmu_40_39:
6204 nop
6205 setx 0xfffff18cffffff18, %g1, %g7
6206 .word 0xa3800007 ! 49: WR_PERF_COUNTER_R wr %r0, %r7, %-
6207fpinit_40_40:
6208 setx fp_data_quads, %r19, %r20
6209 ldd [%r20], %f0
6210 ldd [%r20+8], %f4
6211 ld [%r20+16], %fsr
6212 ld [%r20+24], %r19
6213 wr %r19, %g0, %gsr
6214 .word 0x91a009c4 ! 50: FDIVd fdivd %f0, %f4, %f8
6215 nop
6216 ta T_CHANGE_HPRIV
6217 mov 0x40+1, %r10
6218 set sync_thr_counter5, %r23
6219#ifndef SPC
6220 ldxa [%g0]0x63, %o1
6221 and %o1, 0x38, %o1
6222 add %o1, %r23, %r23
6223#endif
6224 cas [%r23],%g0,%r10 !lock
6225 brnz %r10, cwq_40_41
6226 rd %asi, %r12
6227 wr %g0, 0x40, %asi
6228 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
6229 and %l1, 0x3, %l1 ! Check if busy/enabled ..
6230 cmp %l1, 1
6231 bne cwq_40_41
6232 set CWQ_BASE, %l6
6233 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
6234 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
6235 sllx %l2, 32, %l2
6236 stx %l2, [%l6 + 0x0]
6237 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
6238 sub %l2, 0x40, %l2
6239 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
6240 wr %r12, %g0, %asi
6241 st %g0, [%r23]
6242cwq_40_41:
6243 ta T_CHANGE_NONHPRIV
6244 .word 0x97414000 ! 51: RDPC rd %pc, %r11
6245 .word 0x91944010 ! 52: WRPR_PIL_R wrpr %r17, %r16, %pil
6246mondo_40_43:
6247 nop
6248 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
6249 ta T_CHANGE_PRIV
6250 stxa %r2, [%r0+0x3d8] %asi
6251 .word 0x9d924001 ! 53: WRPR_WSTATE_R wrpr %r9, %r1, %wstate
6252dvapa_40_44:
6253 nop
6254 ta T_CHANGE_HPRIV
6255 mov 0xabc, %r20
6256 mov 0x8, %r19
6257 sllx %r20, 23, %r20
6258 or %r19, %r20, %r19
6259 stxa %r19, [%g0] ASI_LSU_CONTROL
6260 mov 0x38, %r18
6261 stxa %r31, [%r18]0x58
6262 ta T_CHANGE_NONHPRIV
6263 .word 0xc1bfdf20 ! 54: STDFA_R stda %f0, [%r0, %r31]
6264ibp_40_45:
6265 nop
6266 ta T_CHANGE_NONHPRIV
6267 .word 0xc1bfe180 ! 55: STDFA_I stda %f0, [0x0180, %r31]
6268 nop
6269 ta T_CHANGE_HPRIV
6270 mov 0x40, %r10
6271 set sync_thr_counter6, %r23
6272#ifndef SPC
6273 ldxa [%g0]0x63, %o1
6274 and %o1, 0x38, %o1
6275 add %o1, %r23, %r23
6276#endif
6277 cas [%r23],%g0,%r10 !lock
6278 brnz %r10, sma_40_46
6279 rd %asi, %r12
6280 wr %g0, 0x40, %asi
6281 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
6282 set 0x00061fff, %g1
6283 stxa %g1, [%g0 + 0x80] %asi
6284 wr %r12, %g0, %asi
6285 st %g0, [%r23]
6286sma_40_46:
6287 ta T_CHANGE_NONHPRIV
6288 .word 0xe9e7e00a ! 56: CASA_R casa [%r31] %asi, %r10, %r20
6289 .word 0x2c800001 ! 1: BNEG bneg,a <label_0x1>
6290 .word 0x8d902b35 ! 57: WRPR_PSTATE_I wrpr %r0, 0x0b35, %pstate
6291splash_lsu_40_48:
6292 nop
6293 ta T_CHANGE_HPRIV
6294 set 0x25a85820, %r2
6295 mov 0x4, %r1
6296 sllx %r1, 32, %r1
6297 or %r1, %r2, %r2
6298 stxa %r2, [%r0] ASI_LSU_CONTROL
6299 ta T_CHANGE_NONHPRIV
6300 .word 0x3d400001 ! 58: FBPULE fbule,a,pn %fcc0, <label_0x1>
6301vahole_40_49:
6302 nop
6303 ta T_CHANGE_NONHPRIV
6304 setx vahole_target2, %r18, %r27
6305 jmpl %r27+0, %r27
6306 .word 0xc3e88030 ! 59: PREFETCHA_R prefetcha [%r2, %r16] 0x01, #one_read
6307splash_hpstate_40_50:
6308 ta T_CHANGE_NONHPRIV
6309 .word 0x23400001 ! 1: FBPNE fbne,a,pn %fcc0, <label_0x1>
6310 .word 0x8198264d ! 60: WRHPR_HPSTATE_I wrhpr %r0, 0x064d, %hpstate
6311vahole_40_51:
6312 nop
6313 ta T_CHANGE_NONHPRIV
6314 setx vahole_target0, %r18, %r27
6315 jmpl %r27+0, %r27
6316 .word 0xc19fd960 ! 61: LDDFA_R ldda [%r31, %r0], %f0
6317splash_lsu_40_52:
6318 nop
6319 ta T_CHANGE_HPRIV
6320 set 0x47af3b0c, %r2
6321 mov 0x1, %r1
6322 sllx %r1, 32, %r1
6323 or %r1, %r2, %r2
6324 stxa %r2, [%r0] ASI_LSU_CONTROL
6325 ta T_CHANGE_NONHPRIV
6326 .word 0x3d400001 ! 62: FBPULE fbule,a,pn %fcc0, <label_0x1>
6327 nop
6328 ta T_CHANGE_HPRIV
6329 mov 0x40+1, %r10
6330 set sync_thr_counter5, %r23
6331#ifndef SPC
6332 ldxa [%g0]0x63, %o1
6333 and %o1, 0x38, %o1
6334 add %o1, %r23, %r23
6335#endif
6336 cas [%r23],%g0,%r10 !lock
6337 brnz %r10, cwq_40_53
6338 rd %asi, %r12
6339 wr %g0, 0x40, %asi
6340 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
6341 and %l1, 0x3, %l1 ! Check if busy/enabled ..
6342 cmp %l1, 1
6343 bne cwq_40_53
6344 set CWQ_BASE, %l6
6345 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
6346 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
6347 sllx %l2, 32, %l2
6348 stx %l2, [%l6 + 0x0]
6349 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
6350 sub %l2, 0x40, %l2
6351 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
6352 wr %r12, %g0, %asi
6353 st %g0, [%r23]
6354cwq_40_53:
6355 ta T_CHANGE_NONHPRIV
6356 .word 0x9b414000 ! 63: RDPC rd %pc, %r13
6357cwp_40_54:
6358 set user_data_start, %o7
6359 .word 0x93902005 ! 64: WRPR_CWP_I wrpr %r0, 0x0005, %cwp
6360 setx 0x52988f5767262d99, %r1, %r28
6361 stxa %r28, [%g0] 0x73
6362intvec_40_55:
6363 .word 0x39400001 ! 65: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
6364vahole_40_56:
6365 nop
6366 ta T_CHANGE_NONHPRIV
6367 setx vahole_target1, %r18, %r27
6368 jmpl %r27+0, %r27
6369 .word 0xd497c02b ! 66: LDUHA_R lduha [%r31, %r11] 0x01, %r10
6370 .word 0x89800011 ! 67: WRTICK_R wr %r0, %r17, %tick
6371tagged_40_58:
6372 tsubcctv %r7, 0x17c8, %r4
6373 .word 0xd407e111 ! 68: LDUW_I lduw [%r31 + 0x0111], %r10
6374jmptr_40_59:
6375 nop
6376 best_set_reg(0xe1200000, %r20, %r27)
6377 .word 0xb7c6c000 ! 69: JMPL_R jmpl %r27 + %r0, %r27
6378mondo_40_60:
6379 nop
6380 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
6381 stxa %r5, [%r0+0x3c0] %asi
6382 .word 0x9d920005 ! 70: WRPR_WSTATE_R wrpr %r8, %r5, %wstate
6383donret_40_61:
6384 nop
6385 ta T_CHANGE_HPRIV ! macro
6386 rd %pc, %r12
6387 add %r12, (donretarg_40_61-donret_40_61-4), %r12
6388 mov 0x38, %r18
6389 stxa %r12, [%r18]0x58
6390 add %r12, 0x4, %r11
6391 wrpr %g0, 0x1, %tl
6392 wrpr %g0, %r12, %tpc
6393 wrpr %g0, %r11, %tnpc
6394 set (0x006eb230 | (20 << 24)), %r13
6395 rdpr %tstate, %r16
6396 mov 0x1f, %r19
6397 and %r19, %r16, %r17
6398 andn %r16, %r19, %r16
6399 or %r16, %r17, %r20
6400 wrpr %r20, %g0, %tstate
6401 wrhpr %g0, 0xed8, %htstate
6402 ta T_CHANGE_NONPRIV ! rand=0 (40)
6403 done
6404donretarg_40_61:
6405 .word 0xd4ffe0f6 ! 71: SWAPA_I swapa %r10, [%r31 + 0x00f6] %asi
6406ibp_40_62:
6407 nop
6408 .word 0xc3eb4033 ! 72: PREFETCHA_R prefetcha [%r13, %r19] 0x01, #one_read
6409 .word 0x3c800001 ! 1: BPOS bpos,a <label_0x1>
6410 .word 0x8d902701 ! 73: WRPR_PSTATE_I wrpr %r0, 0x0701, %pstate
6411dvapa_40_64:
6412 nop
6413 ta T_CHANGE_HPRIV
6414 mov 0xd27, %r20
6415 mov 0xe, %r19
6416 sllx %r20, 23, %r20
6417 or %r19, %r20, %r19
6418 stxa %r19, [%g0] ASI_LSU_CONTROL
6419 mov 0x38, %r18
6420 stxa %r31, [%r18]0x58
6421 ta T_CHANGE_NONHPRIV
6422 .word 0xe1bfe1c0 ! 74: STDFA_I stda %f16, [0x01c0, %r31]
6423vahole_40_65:
6424 nop
6425 ta T_CHANGE_NONHPRIV
6426 setx vahole_target1, %r18, %r27
6427 jmpl %r27+0, %r27
6428 .word 0x87a8ca50 ! 75: FCMPd fcmpd %fcc<n>, %f34, %f16
6429pmu_40_66:
6430 nop
6431 setx 0xffffffc9fffffbf6, %g1, %g7
6432 .word 0xa3800007 ! 76: WR_PERF_COUNTER_R wr %r0, %r7, %-
6433donret_40_67:
6434 nop
6435 ta T_CHANGE_HPRIV ! macro
6436 rd %pc, %r12
6437 add %r12, (donretarg_40_67-donret_40_67-4), %r12
6438 mov 0x38, %r18
6439 stxa %r12, [%r18]0x58
6440 add %r12, 0x4, %r11
6441 wrpr %g0, 0x2, %tl
6442 wrpr %g0, %r12, %tpc
6443 wrpr %g0, %r11, %tnpc
6444 set (0x00040978 | (0x8b << 24)), %r13
6445 rdpr %tstate, %r16
6446 mov 0x1f, %r19
6447 and %r19, %r16, %r17
6448 andn %r16, %r19, %r16
6449 or %r16, %r17, %r20
6450 wrpr %r20, %g0, %tstate
6451 wrhpr %g0, 0xefd, %htstate
6452 ta T_CHANGE_NONHPRIV ! rand=1 (40)
6453 .word 0x33400001 ! 1: FBPE fbe,a,pn %fcc0, <label_0x1>
6454 done
6455donretarg_40_67:
6456 .word 0xd2ffe0b2 ! 77: SWAPA_I swapa %r9, [%r31 + 0x00b2] %asi
6457 nop
6458 ta T_CHANGE_HPRIV
6459 mov 0x40+1, %r10
6460 set sync_thr_counter5, %r23
6461#ifndef SPC
6462 ldxa [%g0]0x63, %o1
6463 and %o1, 0x38, %o1
6464 add %o1, %r23, %r23
6465#endif
6466 cas [%r23],%g0,%r10 !lock
6467 brnz %r10, cwq_40_68
6468 rd %asi, %r12
6469 wr %g0, 0x40, %asi
6470 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
6471 and %l1, 0x3, %l1 ! Check if busy/enabled ..
6472 cmp %l1, 1
6473 bne cwq_40_68
6474 set CWQ_BASE, %l6
6475 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
6476 best_set_reg(0x206100b0, %l1, %l2) !# Control Word
6477 sllx %l2, 32, %l2
6478 stx %l2, [%l6 + 0x0]
6479 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
6480 sub %l2, 0x40, %l2
6481 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
6482 wr %r12, %g0, %asi
6483 st %g0, [%r23]
6484cwq_40_68:
6485 ta T_CHANGE_NONHPRIV
6486 .word 0x93414000 ! 78: RDPC rd %pc, %r9
6487 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
6488reduce_priv_lvl_40_69:
6489 ta T_CHANGE_NONHPRIV ! macro
6490trapasi_40_70:
6491 nop
6492 mov 0x38, %r1 ! (VA for ASI 0x50)
6493 .word 0xe4c04a00 ! 80: LDSWA_R ldswa [%r1, %r0] 0x50, %r18
6494 .word 0xa9b40993 ! 81: BSHUFFLE fmovc32 %d16, %d50, %d20
6495pmu_40_72:
6496 nop
6497 ta T_CHANGE_PRIV
6498 setx 0xfffff69bfffffc03, %g1, %g7
6499 .word 0xa3800007 ! 82: WR_PERF_COUNTER_R wr %r0, %r7, %-
6500tagged_40_73:
6501 taddcctv %r8, 0x14f5, %r17
6502 .word 0xd607e0c0 ! 83: LDUW_I lduw [%r31 + 0x00c0], %r11
6503#if (defined SPC || defined CMP)
6504!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_40_74) + 8, 16, 16)) -> intp(0,0,13)
6505!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_40_74)&0xffffffff) + 8, 16, 16)) -> intp(0,0,13)
6506#else
6507 setx 0xda3da70ee63c99fa, %r1, %r28
6508 stxa %r28, [%g0] 0x73
6509#endif
6510intvec_40_74:
6511 .word 0x39400001 ! 84: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
6512 .word 0x93d02035 ! 85: Tcc_I tne icc_or_xcc, %r0 + 53
6513 set 0x3eb9, %l3
6514 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
6515 .word 0x93b487d2 ! 86: PDIST pdistn %d18, %d18, %d40
6516 .word 0x91918010 ! 87: WRPR_PIL_R wrpr %r6, %r16, %pil
6517 .word 0x9193000d ! 88: WRPR_PIL_R wrpr %r12, %r13, %pil
6518pmu_40_77:
6519 nop
6520 ta T_CHANGE_PRIV
6521 setx 0xfffffc2afffff8fa, %g1, %g7
6522 .word 0xa3800007 ! 89: WR_PERF_COUNTER_R wr %r0, %r7, %-
6523 .word 0x22780001 ! 90: BPE <illegal instruction>
6524vahole_40_78:
6525 nop
6526 ta T_CHANGE_NONHPRIV
6527 setx vahole_target3, %r18, %r27
6528 jmpl %r27+0, %r27
6529 .word 0xd33fc00b ! 91: STDF_R std %f9, [%r11, %r31]
6530ibp_40_79:
6531 nop
6532 ta T_CHANGE_NONHPRIV
6533 .word 0xc3e8c033 ! 92: PREFETCHA_R prefetcha [%r3, %r19] 0x01, #one_read
6534splash_lsu_40_80:
6535 nop
6536 ta T_CHANGE_HPRIV
6537 set 0xbaa3ad62, %r2
6538 mov 0x5, %r1
6539 sllx %r1, 32, %r1
6540 or %r1, %r2, %r2
6541 stxa %r2, [%r0] ASI_LSU_CONTROL
6542 .word 0x3d400001 ! 93: FBPULE fbule,a,pn %fcc0, <label_0x1>
6543splash_lsu_40_81:
6544 nop
6545 ta T_CHANGE_HPRIV
6546 set 0x2ea6cad8, %r2
6547 mov 0x7, %r1
6548 sllx %r1, 32, %r1
6549 or %r1, %r2, %r2
6550 stxa %r2, [%r0] ASI_LSU_CONTROL
6551 .word 0x3d400001 ! 94: FBPULE fbule,a,pn %fcc0, <label_0x1>
6552 .word 0x81460000 ! 95: RD_STICK_REG stbar
6553splash_lsu_40_82:
6554 nop
6555 ta T_CHANGE_HPRIV
6556 set 0xc307e3ac, %r2
6557 mov 0x6, %r1
6558 sllx %r1, 32, %r1
6559 or %r1, %r2, %r2
6560 stxa %r2, [%r0] ASI_LSU_CONTROL
6561 ta T_CHANGE_NONHPRIV
6562 .word 0x3d400001 ! 96: FBPULE fbule,a,pn %fcc0, <label_0x1>
6563 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
6564reduce_priv_lvl_40_83:
6565 ta T_CHANGE_NONHPRIV ! macro
6566invtsb_40_84:
6567 nop
6568 ta T_CHANGE_HPRIV
6569 rd %asi, %r21
6570 wr %r0,ASI_MMU_REAL_RANGE, %asi
6571 mov 1, %r20
6572 sllx %r20, 63, %r20
6573 ldxa [ASI_MMU_REAL_RANGE_0] %asi, %r22
6574 xor %r22 ,%r20, %r22
6575 stxa %r22, [ASI_MMU_REAL_RANGE_0] %asi
6576 ldxa [ASI_MMU_REAL_RANGE_1] %asi, %r22
6577 xor %r22 ,%r20, %r22
6578 stxa %r22, [ASI_MMU_REAL_RANGE_1] %asi
6579 ldxa [ASI_MMU_REAL_RANGE_2] %asi, %r22
6580 xor %r22 ,%r20, %r22
6581 stxa %r22, [ASI_MMU_REAL_RANGE_2] %asi
6582 ldxa [ASI_MMU_REAL_RANGE_3] %asi, %r22
6583 xor %r22 ,%r20, %r22
6584 stxa %r22, [ASI_MMU_REAL_RANGE_3] %asi
6585 wr %r21, %r0, %asi
6586 ta T_CHANGE_NONHPRIV
6587 .word 0x29800001 ! 98: FBL fbl,a <label_0x1>
6588splash_hpstate_40_85:
6589 .word 0x26800001 ! 1: BL bl,a <label_0x1>
6590 .word 0x8198375e ! 99: WRHPR_HPSTATE_I wrhpr %r0, 0x175e, %hpstate
6591 .word 0xe01fe010 ! 100: LDD_I ldd [%r31 + 0x0010], %r16
6592 .word 0xe09fe188 ! 101: LDDA_I ldda [%r31, + 0x0188] %asi, %r16
6593ibp_40_86:
6594 nop
6595 .word 0xc19fc2c0 ! 102: LDDFA_R ldda [%r31, %r0], %f0
6596 .word 0x91d020b5 ! 103: Tcc_I ta icc_or_xcc, %r0 + 181
6597 nop
6598 ta T_CHANGE_HPRIV
6599 mov 0x40, %r10
6600 set sync_thr_counter6, %r23
6601#ifndef SPC
6602 ldxa [%g0]0x63, %o1
6603 and %o1, 0x38, %o1
6604 add %o1, %r23, %r23
6605#endif
6606 cas [%r23],%g0,%r10 !lock
6607 brnz %r10, sma_40_87
6608 rd %asi, %r12
6609 wr %g0, 0x40, %asi
6610 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
6611 set 0x00021fff, %g1
6612 stxa %g1, [%g0 + 0x80] %asi
6613 wr %r12, %g0, %asi
6614 st %g0, [%r23]
6615sma_40_87:
6616 ta T_CHANGE_NONHPRIV
6617 .word 0xe1e7e013 ! 104: CASA_R casa [%r31] %asi, %r19, %r16
6618 .word 0x91948010 ! 105: WRPR_PIL_R wrpr %r18, %r16, %pil
6619pmu_40_89:
6620 nop
6621 setx 0xfffffbfbfffff89a, %g1, %g7
6622 .word 0xa3800007 ! 106: WR_PERF_COUNTER_R wr %r0, %r7, %-
6623 .word 0xc30fc000 ! 107: LDXFSR_R ld-fsr [%r31, %r0], %f1
6624 .word 0x20800001 ! 1: BN bn,a <label_0x1>
6625 .word 0x8d90254d ! 108: WRPR_PSTATE_I wrpr %r0, 0x054d, %pstate
6626intveclr_40_91:
6627 nop
6628 ta T_CHANGE_HPRIV
6629 setx 0xde2870902f76cc3a, %r1, %r28
6630 stxa %r28, [%g0] 0x72
6631 ta T_CHANGE_NONHPRIV
6632 .word 0x25400001 ! 109: FBPLG fblg,a,pn %fcc0, <label_0x1>
6633brcommon2_40_92:
6634 nop
6635 setx common_target, %r12, %r27
6636 ba,a .+12
6637 .word 0xa1a7c973 ! 1: FMULq dis not found
6638
6639 ba,a .+8
6640 jmpl %r27+0, %r27
6641 .word 0xe1bfe000 ! 110: STDFA_I stda %f16, [0x0000, %r31]
6642pmu_40_93:
6643 nop
6644 ta T_CHANGE_PRIV
6645 setx 0xfffff03dfffff50f, %g1, %g7
6646 .word 0xa3800007 ! 111: WR_PERF_COUNTER_R wr %r0, %r7, %-
6647vahole_40_94:
6648 nop
6649 ta T_CHANGE_NONHPRIV
6650 setx vahole_target2, %r18, %r27
6651 jmpl %r27+0, %r27
6652 .word 0xc32fc00d ! 112: STXFSR_R st-sfr %f1, [%r13, %r31]
6653 be,a skip_40_95
6654 .word 0xc368ea2d ! 1: PREFETCH_I prefetch [%r3 + 0x0a2d], #one_read
6655.align 2048
6656skip_40_95:
6657 .word 0x24cc4001 ! 113: BRLEZ brlez,a,pt %r17,<label_0xc4001>
6658dvapa_40_96:
6659 nop
6660 ta T_CHANGE_HPRIV
6661 mov 0xb98, %r20
6662 mov 0x1f, %r19
6663 sllx %r20, 23, %r20
6664 or %r19, %r20, %r19
6665 stxa %r19, [%g0] ASI_LSU_CONTROL
6666 mov 0x38, %r18
6667 stxa %r31, [%r18]0x58
6668 ta T_CHANGE_NONHPRIV
6669 .word 0xa9a249d3 ! 114: FDIVd fdivd %f40, %f50, %f20
6670splash_cmpr_40_97:
6671 mov 1, %r18
6672 sllx %r18, 63, %r18
6673 rd %tick, %r17
6674 add %r17, 0x80, %r17
6675 or %r17, %r18, %r17
6676 ta T_CHANGE_PRIV
6677 .word 0xb3800011 ! 115: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
6678vahole_40_98:
6679 nop
6680 ta T_CHANGE_NONHPRIV
6681 setx vahole_target1, %r18, %r27
6682 jmpl %r27+0, %r27
6683 .word 0xd3e7e00a ! 116: CASA_R casa [%r31] %asi, %r10, %r9
6684vahole_40_99:
6685 nop
6686 ta T_CHANGE_NONHPRIV
6687 setx vahole_target0, %r18, %r27
6688 jmpl %r27+0, %r27
6689 .word 0xc1bfdc00 ! 117: STDFA_R stda %f0, [%r0, %r31]
6690mondo_40_100:
6691 nop
6692 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
6693 stxa %r8, [%r0+0x3d0] %asi
6694 .word 0x9d940012 ! 118: WRPR_WSTATE_R wrpr %r16, %r18, %wstate
6695trapasi_40_101:
6696 nop
6697 mov 0x38, %r1 ! (VA for ASI 0x50)
6698 .word 0xd2884a00 ! 119: LDUBA_R lduba [%r1, %r0] 0x50, %r9
6699splash_cmpr_40_102:
6700 mov 0, %r18
6701 sllx %r18, 63, %r18
6702 rd %tick, %r17
6703 add %r17, 0x70, %r17
6704 or %r17, %r18, %r17
6705 .word 0xaf800011 ! 120: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
6706 nop
6707 ta T_CHANGE_HPRIV
6708 mov 0x40, %r10
6709 set sync_thr_counter6, %r23
6710#ifndef SPC
6711 ldxa [%g0]0x63, %o1
6712 and %o1, 0x38, %o1
6713 add %o1, %r23, %r23
6714#endif
6715 cas [%r23],%g0,%r10 !lock
6716 brnz %r10, sma_40_103
6717 rd %asi, %r12
6718 wr %g0, 0x40, %asi
6719 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
6720 set 0x001a1fff, %g1
6721 stxa %g1, [%g0 + 0x80] %asi
6722 wr %r12, %g0, %asi
6723 st %g0, [%r23]
6724sma_40_103:
6725 ta T_CHANGE_NONHPRIV
6726 .word 0xd3e7e00b ! 121: CASA_R casa [%r31] %asi, %r11, %r9
6727dvapa_40_104:
6728 nop
6729 ta T_CHANGE_HPRIV
6730 mov 0x80b, %r20
6731 mov 0xf, %r19
6732 sllx %r20, 23, %r20
6733 or %r19, %r20, %r19
6734 stxa %r19, [%g0] ASI_LSU_CONTROL
6735 mov 0x38, %r18
6736 stxa %r31, [%r18]0x58
6737 ta T_CHANGE_NONHPRIV
6738 .word 0x87ad0a4b ! 122: FCMPd fcmpd %fcc<n>, %f20, %f42
6739splash_hpstate_40_105:
6740 .word 0x2cc9c001 ! 1: BRGZ brgz,a,pt %r7,<label_0x9c001>
6741 .word 0x81983d55 ! 123: WRHPR_HPSTATE_I wrhpr %r0, 0x1d55, %hpstate
6742iaw_40_106:
6743 nop
6744 ta T_CHANGE_HPRIV
6745 mov 8, %r18
6746 rd %asi, %r12
6747 wr %r0, 0x41, %asi
6748 set sync_thr_counter4, %r23
6749#ifndef SPC
6750 ldxa [%g0]0x63, %r8
6751 and %r8, 0x38, %r8 ! Core ID
6752 add %r8, %r23, %r23
6753#else
6754 mov 0, %r8
6755#endif
6756 mov 0x40, %r16
6757iaw_startwait40_106:
6758 cas [%r23],%g0,%r16 !lock
6759 brz,a %r16, continue_iaw_40_106
6760 mov (~0x40&0xf0), %r16
6761 ld [%r23], %r16
6762iaw_wait40_106:
6763 brnz %r16, iaw_wait40_106
6764 ld [%r23], %r16
6765 ba iaw_startwait40_106
6766 mov 0x40, %r16
6767continue_iaw_40_106:
6768 sllx %r16, %r8, %r16 !Mask for my core only
6769 ldxa [0x58]%asi, %r17 !Running_status
6770wait_for_stat_40_106:
6771 ldxa [0x50]%asi, %r13 !Running_rw
6772 cmp %r13, %r17
6773 bne,a wait_for_stat_40_106
6774 ldxa [0x58]%asi, %r17 !Running_status
6775 stxa %r16, [0x68]%asi !Park (W1C)
6776 ldxa [0x50]%asi, %r14 !Running_rw
6777wait_for_iaw_40_106:
6778 ldxa [0x58]%asi, %r17 !Running_status
6779 cmp %r14, %r17
6780 bne,a wait_for_iaw_40_106
6781 ldxa [0x50]%asi, %r14 !Running_rw
6782iaw_doit40_106:
6783 mov 0x38, %r18
6784iaw1_40_106:
6785 best_set_reg(0x00000000e0a00000, %r20, %r19)
6786 or %r19, 0x1, %r19
6787 stxa %r19, [%r18]0x50
6788 stxa %r16, [0x60] %asi ! Unpark (W1S)
6789 st %g0, [%r23] !clear lock
6790 wr %r0, %r12, %asi ! restore %asi
6791 ta T_CHANGE_NONHPRIV
6792 .word 0xe19fde00 ! 124: LDDFA_R ldda [%r31, %r0], %f16
6793mondo_40_107:
6794 nop
6795 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
6796 ta T_CHANGE_PRIV
6797 stxa %r11, [%r0+0x3e0] %asi
6798 .word 0x9d914011 ! 125: WRPR_WSTATE_R wrpr %r5, %r17, %wstate
6799splash_tba_40_108:
6800 ta T_CHANGE_PRIV
6801 set 0x120000, %r12
6802 .word 0x8b90000c ! 126: WRPR_TBA_R wrpr %r0, %r12, %tba
6803 .word 0x9b500000 ! 127: RDPR_TPC <illegal instruction>
6804brcommon2_40_109:
6805 nop
6806 setx common_target, %r12, %r27
6807 ba,a .+12
6808 .word 0x81dfc00a ! 1: FLUSH_R flush
6809 ba,a .+8
6810 jmpl %r27+0, %r27
6811 .word 0xc19fc3e0 ! 128: LDDFA_R ldda [%r31, %r0], %f0
6812splash_hpstate_40_110:
6813 .word 0x819837cd ! 129: WRHPR_HPSTATE_I wrhpr %r0, 0x17cd, %hpstate
6814 .word 0x89800011 ! 130: WRTICK_R wr %r0, %r17, %tick
6815 .word 0xc19fe120 ! 131: LDDFA_I ldda [%r31, 0x0120], %f0
6816 .word 0xa9a00171 ! 132: FABSq dis not found
6817
6818 setx 0xd609eaf8a482755f, %r1, %r28
6819 stxa %r28, [%g0] 0x73
6820intvec_40_113:
6821 .word 0x39400001 ! 133: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
6822fpinit_40_114:
6823 setx fp_data_quads, %r19, %r20
6824 ldd [%r20], %f0
6825 ldd [%r20+8], %f4
6826 ld [%r20+16], %fsr
6827 ld [%r20+24], %r19
6828 wr %r19, %g0, %gsr
6829 .word 0xc3e8217a ! 134: PREFETCHA_I prefetcha [%r0, + 0x017a] %asi, #one_read
6830 .word 0x8d903b8a ! 135: WRPR_PSTATE_I wrpr %r0, 0x1b8a, %pstate
6831 be skip_40_116
6832 fbne,a,pn %fcc0, skip_40_116
6833.align 2048
6834skip_40_116:
6835 .word 0xd9e7c020 ! 136: CASA_I casa [%r31] 0x 1, %r0, %r12
6836intveclr_40_117:
6837 nop
6838 ta T_CHANGE_HPRIV
6839 setx 0xebd8275bba30ebda, %r1, %r28
6840 stxa %r28, [%g0] 0x72
6841 .word 0x25400001 ! 137: FBPLG fblg,a,pn %fcc0, <label_0x1>
6842pmu_40_118:
6843 nop
6844 setx 0xfffff3bafffff068, %g1, %g7
6845 .word 0xa3800007 ! 138: WR_PERF_COUNTER_R wr %r0, %r7, %-
6846ibp_40_119:
6847 nop
6848 ta T_CHANGE_NONHPRIV
6849 .word 0xa5a409ad ! 139: FDIVs fdivs %f16, %f13, %f18
6850splash_lsu_40_120:
6851 nop
6852 ta T_CHANGE_HPRIV
6853 set 0x28477cd1, %r2
6854 mov 0x2, %r1
6855 sllx %r1, 32, %r1
6856 or %r1, %r2, %r2
6857 stxa %r2, [%r0] ASI_LSU_CONTROL
6858 ta T_CHANGE_NONHPRIV
6859 .word 0x3d400001 ! 140: FBPULE fbule,a,pn %fcc0, <label_0x1>
6860pmu_40_121:
6861 nop
6862 ta T_CHANGE_PRIV
6863 setx 0xfffffde9fffffa7e, %g1, %g7
6864 .word 0xa3800007 ! 141: WR_PERF_COUNTER_R wr %r0, %r7, %-
6865unsupttte_40_122:
6866 nop
6867 ta T_CHANGE_HPRIV
6868 mov 1, %r20
6869 sllx %r20, 63, %r20
6870 or %r20, 2,%r20
6871 stxa %r20, [%g0]0x54 ! I unsupported page size ..
6872 ta T_CHANGE_NONHPRIV
6873 .word 0xa7a509a8 ! 142: FDIVs fdivs %f20, %f8, %f19
6874splash_cmpr_40_123:
6875 mov 0, %r18
6876 sllx %r18, 63, %r18
6877 rd %tick, %r17
6878 add %r17, 0x80, %r17
6879 or %r17, %r18, %r17
6880 ta T_CHANGE_PRIV
6881 .word 0xb3800011 ! 143: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
6882 .word 0xd47ffbe8 ! 144: SWAP_I swap %r10, [%r31 + 0xfffffbe8]
6883splash_cmpr_40_124:
6884 mov 1, %r18
6885 sllx %r18, 63, %r18
6886 rd %tick, %r17
6887 add %r17, 0x70, %r17
6888 or %r17, %r18, %r17
6889 ta T_CHANGE_HPRIV
6890 wrhpr %r17, %g0, %hsys_tick_cmpr
6891 .word 0xb3800011 ! 145: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
6892 .word 0x9b524000 ! 146: RDPR_CWP <illegal instruction>
6893intveclr_40_126:
6894 nop
6895 ta T_CHANGE_HPRIV
6896 setx 0x80a7e9645e335166, %r1, %r28
6897 stxa %r28, [%g0] 0x72
6898 ta T_CHANGE_NONHPRIV
6899 .word 0x25400001 ! 147: FBPLG fblg,a,pn %fcc0, <label_0x1>
6900memptr_40_127:
6901 set 0x60340000, %r31
6902 .word 0x8584660a ! 148: WRCCR_I wr %r17, 0x060a, %ccr
6903 .word 0x87802016 ! 149: WRASI_I wr %r0, 0x0016, %asi
6904intveclr_40_128:
6905 nop
6906 ta T_CHANGE_HPRIV
6907 setx 0xec472644dd93190e, %r1, %r28
6908 stxa %r28, [%g0] 0x72
6909 ta T_CHANGE_NONHPRIV
6910 .word 0x25400001 ! 150: FBPLG fblg,a,pn %fcc0, <label_0x1>
6911 .word 0xe08008a0 ! 151: LDUWA_R lduwa [%r0, %r0] 0x45, %r16
6912mondo_40_129:
6913 nop
6914 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
6915 stxa %r9, [%r0+0x3d8] %asi
6916 .word 0x9d940007 ! 152: WRPR_WSTATE_R wrpr %r16, %r7, %wstate
6917vahole_40_130:
6918 nop
6919 ta T_CHANGE_NONHPRIV
6920 setx vahole_target3, %r18, %r27
6921 jmpl %r27+0, %r27
6922 .word 0xc1bfdf20 ! 153: STDFA_R stda %f0, [%r0, %r31]
6923 .word 0xe08fe168 ! 154: LDUBA_I lduba [%r31, + 0x0168] %asi, %r16
6924 .word 0x91d02032 ! 155: Tcc_I ta icc_or_xcc, %r0 + 50
6925 nop
6926 ta T_CHANGE_HPRIV
6927 mov 0x40+1, %r10
6928 set sync_thr_counter5, %r23
6929#ifndef SPC
6930 ldxa [%g0]0x63, %o1
6931 and %o1, 0x38, %o1
6932 add %o1, %r23, %r23
6933#endif
6934 cas [%r23],%g0,%r10 !lock
6935 brnz %r10, cwq_40_131
6936 rd %asi, %r12
6937 wr %g0, 0x40, %asi
6938 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
6939 and %l1, 0x3, %l1 ! Check if busy/enabled ..
6940 cmp %l1, 1
6941 bne cwq_40_131
6942 set CWQ_BASE, %l6
6943 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
6944 best_set_reg(0x20610030, %l1, %l2) !# Control Word
6945 sllx %l2, 32, %l2
6946 stx %l2, [%l6 + 0x0]
6947 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
6948 sub %l2, 0x40, %l2
6949 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
6950 wr %r12, %g0, %asi
6951 st %g0, [%r23]
6952cwq_40_131:
6953 ta T_CHANGE_NONHPRIV
6954 .word 0x95414000 ! 156: RDPC rd %pc, %r10
6955ibp_40_132:
6956 nop
6957 .word 0xa3b087c6 ! 157: PDIST pdistn %d2, %d6, %d48
6958splash_lsu_40_133:
6959 nop
6960 ta T_CHANGE_HPRIV
6961 set 0x2e403536, %r2
6962 mov 0x3, %r1
6963 sllx %r1, 32, %r1
6964 or %r1, %r2, %r2
6965 stxa %r2, [%r0] ASI_LSU_CONTROL
6966 .word 0x3d400001 ! 158: FBPULE fbule,a,pn %fcc0, <label_0x1>
6967 .word 0xe8800a80 ! 159: LDUWA_R lduwa [%r0, %r0] 0x54, %r20
6968vahole_40_134:
6969 nop
6970 ta T_CHANGE_NONHPRIV
6971 setx vahole_target1, %r18, %r27
6972 jmpl %r27+0, %r27
6973 .word 0xc19fda00 ! 160: LDDFA_R ldda [%r31, %r0], %f0
6974brcommon1_40_135:
6975 nop
6976 setx common_target, %r12, %r27
6977 lduw [%r27], %r12 ! Load common dest into dcache ..
6978 ba,a .+12
6979 .word 0xe86ff5c6 ! 1: LDSTUB_I ldstub %r20, [%r31 + 0xfffff5c6]
6980 ba,a .+8
6981 jmpl %r27+0, %r27
6982 .word 0xa3b487d1 ! 161: PDIST pdistn %d18, %d48, %d48
6983splash_hpstate_40_136:
6984 .word 0x8198351e ! 162: WRHPR_HPSTATE_I wrhpr %r0, 0x151e, %hpstate
6985 .word 0xd497e008 ! 163: LDUHA_I lduha [%r31, + 0x0008] %asi, %r10
6986vahole_40_137:
6987 nop
6988 ta T_CHANGE_NONHPRIV
6989 setx vahole_target1, %r18, %r27
6990 jmpl %r27+0, %r27
6991 .word 0xe1bfc2c0 ! 164: STDFA_R stda %f16, [%r0, %r31]
6992pmu_40_138:
6993 nop
6994 setx 0xfffffbfefffff524, %g1, %g7
6995 .word 0xa3800007 ! 165: WR_PERF_COUNTER_R wr %r0, %r7, %-
6996vahole_40_139:
6997 nop
6998 ta T_CHANGE_NONHPRIV
6999 setx vahole_target0, %r18, %r27
7000 jmpl %r27+0, %r27
7001 .word 0xd4dfc033 ! 166: LDXA_R ldxa [%r31, %r19] 0x01, %r10
7002intveclr_40_140:
7003 nop
7004 ta T_CHANGE_HPRIV
7005 setx 0x1b21f459b14a3295, %r1, %r28
7006 stxa %r28, [%g0] 0x72
7007 ta T_CHANGE_NONHPRIV
7008 .word 0x25400001 ! 167: FBPLG fblg,a,pn %fcc0, <label_0x1>
7009 .word 0x8d903d05 ! 168: WRPR_PSTATE_I wrpr %r0, 0x1d05, %pstate
7010 .word 0x8780204f ! 169: WRASI_I wr %r0, 0x004f, %asi
7011ibp_40_142:
7012 nop
7013 ta T_CHANGE_NONHPRIV
7014 .word 0x99a049d3 ! 170: FDIVd fdivd %f32, %f50, %f12
7015 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
7016reduce_priv_lvl_40_143:
7017 ta T_CHANGE_NONPRIV ! macro
7018fpinit_40_144:
7019 setx fp_data_quads, %r19, %r20
7020 ldd [%r20], %f0
7021 ldd [%r20+8], %f4
7022 ld [%r20+16], %fsr
7023 ld [%r20+24], %r19
7024 wr %r19, %g0, %gsr
7025 .word 0x8db00484 ! 172: FCMPLE32 fcmple32 %d0, %d4, %r6
7026dvapa_40_145:
7027 nop
7028 ta T_CHANGE_HPRIV
7029 mov 0xdff, %r20
7030 mov 0x1b, %r19
7031 sllx %r20, 23, %r20
7032 or %r19, %r20, %r19
7033 stxa %r19, [%g0] ASI_LSU_CONTROL
7034 mov 0x38, %r18
7035 stxa %r31, [%r18]0x58
7036 ta T_CHANGE_NONHPRIV
7037 .word 0xc32fc00c ! 173: STXFSR_R st-sfr %f1, [%r12, %r31]
7038intveclr_40_146:
7039 nop
7040 ta T_CHANGE_HPRIV
7041 setx 0x211bf1268cf1f345, %r1, %r28
7042 stxa %r28, [%g0] 0x72
7043 ta T_CHANGE_NONHPRIV
7044 .word 0x25400001 ! 174: FBPLG fblg,a,pn %fcc0, <label_0x1>
7045 .word 0xe51fe008 ! 175: LDDF_I ldd [%r31, 0x0008], %f18
7046donret_40_147:
7047 nop
7048 ta T_CHANGE_HPRIV ! macro
7049 rd %pc, %r12
7050 add %r12, (donretarg_40_147-donret_40_147-4), %r12
7051 mov 0x38, %r18
7052 stxa %r12, [%r18]0x58
7053 add %r12, 0x4, %r11
7054 wrpr %g0, 0x1, %tl
7055 wrpr %g0, %r12, %tpc
7056 wrpr %g0, %r11, %tnpc
7057 set (0x00a54ea1 | (0x82 << 24)), %r13
7058 rdpr %tstate, %r16
7059 mov 0x1f, %r19
7060 and %r19, %r16, %r17
7061 andn %r16, %r19, %r16
7062 or %r16, %r17, %r20
7063 wrpr %r20, %g0, %tstate
7064 wrhpr %g0, 0xb5d, %htstate
7065 ta T_CHANGE_NONHPRIV ! rand=1 (40)
7066 done
7067donretarg_40_147:
7068 .word 0xe4ffe0ac ! 176: SWAPA_I swapa %r18, [%r31 + 0x00ac] %asi
7069 .word 0xc19fe100 ! 177: LDDFA_I ldda [%r31, 0x0100], %f0
7070 .word 0x83d020b2 ! 178: Tcc_I te icc_or_xcc, %r0 + 178
7071fpinit_40_148:
7072 setx fp_data_quads, %r19, %r20
7073 ldd [%r20], %f0
7074 ldd [%r20+8], %f4
7075 ld [%r20+16], %fsr
7076 ld [%r20+24], %r19
7077 wr %r19, %g0, %gsr
7078 .word 0x87a80a44 ! 179: FCMPd fcmpd %fcc<n>, %f0, %f4
7079splash_cmpr_40_149:
7080 mov 1, %r18
7081 sllx %r18, 63, %r18
7082 rd %tick, %r17
7083 add %r17, 0x70, %r17
7084 or %r17, %r18, %r17
7085 ta T_CHANGE_PRIV
7086 .word 0xb3800011 ! 180: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
7087 nop
7088 ta T_CHANGE_HPRIV
7089 mov 0x40+1, %r10
7090 set sync_thr_counter5, %r23
7091#ifndef SPC
7092 ldxa [%g0]0x63, %o1
7093 and %o1, 0x38, %o1
7094 add %o1, %r23, %r23
7095#endif
7096 cas [%r23],%g0,%r10 !lock
7097 brnz %r10, cwq_40_150
7098 rd %asi, %r12
7099 wr %g0, 0x40, %asi
7100 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
7101 and %l1, 0x3, %l1 ! Check if busy/enabled ..
7102 cmp %l1, 1
7103 bne cwq_40_150
7104 set CWQ_BASE, %l6
7105 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
7106 best_set_reg(0x20610020, %l1, %l2) !# Control Word
7107 sllx %l2, 32, %l2
7108 stx %l2, [%l6 + 0x0]
7109 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
7110 sub %l2, 0x40, %l2
7111 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
7112 wr %r12, %g0, %asi
7113 st %g0, [%r23]
7114cwq_40_150:
7115 ta T_CHANGE_NONHPRIV
7116 .word 0x9b414000 ! 181: RDPC rd %pc, %r13
7117unsupttte_40_151:
7118 nop
7119 ta T_CHANGE_HPRIV
7120 mov 1, %r20
7121 sllx %r20, 63, %r20
7122 or %r20, 2,%r20
7123 stxa %r20, [%g0]0x5c ! D unsupported page size ..
7124 ta T_CHANGE_NONHPRIV
7125 .word 0xa5a309d2 ! 182: FDIVd fdivd %f12, %f18, %f18
7126 .word 0xa3a0016c ! 183: FABSq dis not found
7127
7128vahole_40_153:
7129 nop
7130 ta T_CHANGE_NONHPRIV
7131 setx vahole_target2, %r18, %r27
7132 jmpl %r27+0, %r27
7133 .word 0xc1bfe0c0 ! 184: STDFA_I stda %f0, [0x00c0, %r31]
7134mondo_40_154:
7135 nop
7136 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
7137 ta T_CHANGE_PRIV
7138 stxa %r16, [%r0+0x3d8] %asi
7139 .word 0x9d944011 ! 185: WRPR_WSTATE_R wrpr %r17, %r17, %wstate
7140iaw_40_155:
7141 nop
7142 ta T_CHANGE_HPRIV
7143 mov 8, %r18
7144 rd %asi, %r12
7145 wr %r0, 0x41, %asi
7146 set sync_thr_counter4, %r23
7147#ifndef SPC
7148 ldxa [%g0]0x63, %r8
7149 and %r8, 0x38, %r8 ! Core ID
7150 add %r8, %r23, %r23
7151#else
7152 mov 0, %r8
7153#endif
7154 mov 0x40, %r16
7155iaw_startwait40_155:
7156 cas [%r23],%g0,%r16 !lock
7157 brz,a %r16, continue_iaw_40_155
7158 mov (~0x40&0xf0), %r16
7159 ld [%r23], %r16
7160iaw_wait40_155:
7161 brnz %r16, iaw_wait40_155
7162 ld [%r23], %r16
7163 ba iaw_startwait40_155
7164 mov 0x40, %r16
7165continue_iaw_40_155:
7166 sllx %r16, %r8, %r16 !Mask for my core only
7167 ldxa [0x58]%asi, %r17 !Running_status
7168wait_for_stat_40_155:
7169 ldxa [0x50]%asi, %r13 !Running_rw
7170 cmp %r13, %r17
7171 bne,a wait_for_stat_40_155
7172 ldxa [0x58]%asi, %r17 !Running_status
7173 stxa %r16, [0x68]%asi !Park (W1C)
7174 ldxa [0x50]%asi, %r14 !Running_rw
7175wait_for_iaw_40_155:
7176 ldxa [0x58]%asi, %r17 !Running_status
7177 cmp %r14, %r17
7178 bne,a wait_for_iaw_40_155
7179 ldxa [0x50]%asi, %r14 !Running_rw
7180iaw_doit40_155:
7181 mov 0x38, %r18
7182iaw1_40_155:
7183 best_set_reg(0x00000000e1a00000, %r20, %r19)
7184 or %r19, 0x1, %r19
7185 stxa %r19, [%r18]0x50
7186 stxa %r16, [0x60] %asi ! Unpark (W1S)
7187 st %g0, [%r23] !clear lock
7188 wr %r0, %r12, %asi ! restore %asi
7189 ta T_CHANGE_NONHPRIV
7190 .word 0xc19fdf20 ! 186: LDDFA_R ldda [%r31, %r0], %f0
7191 nop
7192 ta T_CHANGE_HPRIV
7193 mov 0x40, %r10
7194 set sync_thr_counter6, %r23
7195#ifndef SPC
7196 ldxa [%g0]0x63, %o1
7197 and %o1, 0x38, %o1
7198 add %o1, %r23, %r23
7199#endif
7200 cas [%r23],%g0,%r10 !lock
7201 brnz %r10, sma_40_156
7202 rd %asi, %r12
7203 wr %g0, 0x40, %asi
7204 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
7205 set 0x001e1fff, %g1
7206 stxa %g1, [%g0 + 0x80] %asi
7207 wr %r12, %g0, %asi
7208 st %g0, [%r23]
7209sma_40_156:
7210 ta T_CHANGE_NONHPRIV
7211 .word 0xdbe7e00a ! 187: CASA_R casa [%r31] %asi, %r10, %r13
7212pmu_40_157:
7213 nop
7214 ta T_CHANGE_PRIV
7215 setx 0xffffff27fffff369, %g1, %g7
7216 .word 0xa3800007 ! 188: WR_PERF_COUNTER_R wr %r0, %r7, %-
7217br_badelay1_40_158:
7218 .word 0xc36fe47f ! 1: PREFETCH_I prefetch [%r31 + 0x047f], #one_read
7219 .word 0x24c88001 ! 1: BRLEZ brlez,a,pt %r2,<label_0x88001>
7220 .word 0x24cfc001 ! 1: BRLEZ brlez,a,pt %r31,<label_0xfc001>
7221 normalw
7222 .word 0xa9458000 ! 189: RD_SOFTINT_REG rd %softint, %r20
7223 .word 0x91950013 ! 190: WRPR_PIL_R wrpr %r20, %r19, %pil
7224splash_cmpr_40_160:
7225 mov 1, %r18
7226 sllx %r18, 63, %r18
7227 rd %tick, %r17
7228 add %r17, 0x80, %r17
7229 or %r17, %r18, %r17
7230 ta T_CHANGE_PRIV
7231 .word 0xaf800011 ! 191: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
7232splash_cmpr_40_161:
7233 mov 0, %r18
7234 sllx %r18, 63, %r18
7235 rd %tick, %r17
7236 add %r17, 0x70, %r17
7237 or %r17, %r18, %r17
7238 .word 0xaf800011 ! 192: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
7239ibp_40_162:
7240 nop
7241 .word 0xa9a409b3 ! 193: FDIVs fdivs %f16, %f19, %f20
7242 .word 0x89800011 ! 194: WRTICK_R wr %r0, %r17, %tick
7243ibp_40_164:
7244 nop
7245 .word 0xc1bfe1e0 ! 195: STDFA_I stda %f0, [0x01e0, %r31]
7246 nop
7247 ta T_CHANGE_HPRIV
7248 mov 0x40, %r10
7249 set sync_thr_counter6, %r23
7250#ifndef SPC
7251 ldxa [%g0]0x63, %o1
7252 and %o1, 0x38, %o1
7253 add %o1, %r23, %r23
7254#endif
7255 cas [%r23],%g0,%r10 !lock
7256 brnz %r10, sma_40_165
7257 rd %asi, %r12
7258 wr %g0, 0x40, %asi
7259 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
7260 set 0x001e1fff, %g1
7261 stxa %g1, [%g0 + 0x80] %asi
7262 wr %r12, %g0, %asi
7263 st %g0, [%r23]
7264sma_40_165:
7265 ta T_CHANGE_NONHPRIV
7266 .word 0xe9e7e008 ! 196: CASA_R casa [%r31] %asi, %r8, %r20
7267splash_tba_40_166:
7268 ta T_CHANGE_PRIV
7269 setx 0x0000000400380000, %r11, %r12
7270 .word 0x8b90000c ! 197: WRPR_TBA_R wrpr %r0, %r12, %tba
7271intveclr_40_167:
7272 nop
7273 ta T_CHANGE_HPRIV
7274 setx 0x7472872ed9cc5837, %r1, %r28
7275 stxa %r28, [%g0] 0x72
7276 ta T_CHANGE_NONHPRIV
7277 .word 0x25400001 ! 198: FBPLG fblg,a,pn %fcc0, <label_0x1>
7278fpinit_40_168:
7279 setx fp_data_quads, %r19, %r20
7280 ldd [%r20], %f0
7281 ldd [%r20+8], %f4
7282 ld [%r20+16], %fsr
7283 ld [%r20+24], %r19
7284 wr %r19, %g0, %gsr
7285 .word 0x89a009c4 ! 199: FDIVd fdivd %f0, %f4, %f4
7286 .word 0xa3a00168 ! 200: FABSq dis not found
7287
7288trapasi_40_170:
7289 nop
7290 mov 0x28, %r1 ! (VA for ASI 0x4c)
7291 .word 0xe0c04980 ! 201: LDSWA_R ldswa [%r1, %r0] 0x4c, %r16
7292splash_tba_40_171:
7293 ta T_CHANGE_PRIV
7294 setx 0x0000000400380000, %r11, %r12
7295 .word 0x8b90000c ! 202: WRPR_TBA_R wrpr %r0, %r12, %tba
7296 .word 0xe197e118 ! 203: LDQFA_I - [%r31, 0x0118], %f16
7297 .word 0x87802089 ! 204: WRASI_I wr %r0, 0x0089, %asi
7298 .word 0xa1454000 ! 205: RD_CLEAR_SOFTINT rd %clear_softint, %r16
7299memptr_40_172:
7300 set 0x60740000, %r31
7301 .word 0x8582ffe0 ! 206: WRCCR_I wr %r11, 0x1fe0, %ccr
7302splash_cmpr_40_173:
7303 mov 1, %r18
7304 sllx %r18, 63, %r18
7305 rd %tick, %r17
7306 add %r17, 0x70, %r17
7307 or %r17, %r18, %r17
7308 .word 0xb3800011 ! 207: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
7309 .word 0x89800011 ! 208: WRTICK_R wr %r0, %r17, %tick
7310pmu_40_175:
7311 nop
7312 setx 0xfffffa43fffffe7e, %g1, %g7
7313 .word 0xa3800007 ! 209: WR_PERF_COUNTER_R wr %r0, %r7, %-
7314 nop
7315 ta T_CHANGE_HPRIV
7316 mov 0x40+1, %r10
7317 set sync_thr_counter5, %r23
7318#ifndef SPC
7319 ldxa [%g0]0x63, %o1
7320 and %o1, 0x38, %o1
7321 add %o1, %r23, %r23
7322#endif
7323 cas [%r23],%g0,%r10 !lock
7324 brnz %r10, cwq_40_176
7325 rd %asi, %r12
7326 wr %g0, 0x40, %asi
7327 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
7328 and %l1, 0x3, %l1 ! Check if busy/enabled ..
7329 cmp %l1, 1
7330 bne cwq_40_176
7331 set CWQ_BASE, %l6
7332 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
7333 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
7334 sllx %l2, 32, %l2
7335 stx %l2, [%l6 + 0x0]
7336 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
7337 sub %l2, 0x40, %l2
7338 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
7339 wr %r12, %g0, %asi
7340 st %g0, [%r23]
7341cwq_40_176:
7342 ta T_CHANGE_NONHPRIV
7343 .word 0xa3414000 ! 210: RDPC rd %pc, %r17
7344 .word 0x91d02033 ! 211: Tcc_I ta icc_or_xcc, %r0 + 51
7345 .word 0x89800011 ! 212: WRTICK_R wr %r0, %r17, %tick
7346vahole_40_178:
7347 nop
7348 ta T_CHANGE_NONHPRIV
7349 setx vahole_target2, %r18, %r27
7350 jmpl %r27+0, %r27
7351 .word 0x93a449ca ! 213: FDIVd fdivd %f48, %f10, %f40
7352 .word 0xda8008a0 ! 214: LDUWA_R lduwa [%r0, %r0] 0x45, %r13
7353pmu_40_179:
7354 nop
7355 setx 0xfffffd18fffff6c7, %g1, %g7
7356 .word 0xa3800007 ! 215: WR_PERF_COUNTER_R wr %r0, %r7, %-
7357brcommon3_40_180:
7358 nop
7359 setx common_target, %r12, %r27
7360 lduw [%r27], %r12 ! Load common dest into dcache ..
7361 ba,a .+12
7362 .word 0xdbe7c028 ! 1: CASA_I casa [%r31] 0x 1, %r8, %r13
7363 ba,a .+8
7364 jmpl %r27+0, %r27
7365 .word 0xda9fc031 ! 216: LDDA_R ldda [%r31, %r17] 0x01, %r13
7366trapasi_40_181:
7367 nop
7368 mov 0x3e8, %r1 ! (VA for ASI 0x25)
7369 .word 0xdad044a0 ! 217: LDSHA_R ldsha [%r1, %r0] 0x25, %r13
7370pmu_40_182:
7371 nop
7372 setx 0xfffff22bfffff1e7, %g1, %g7
7373 .word 0xa3800007 ! 218: WR_PERF_COUNTER_R wr %r0, %r7, %-
7374donret_40_183:
7375 nop
7376 ta T_CHANGE_HPRIV ! macro
7377 rd %pc, %r12
7378 add %r12, (donretarg_40_183-donret_40_183-4), %r12
7379 mov 0x38, %r18
7380 stxa %r12, [%r18]0x58
7381 add %r12, 0x4, %r11
7382 wrpr %g0, 0x1, %tl
7383 wrpr %g0, %r12, %tpc
7384 wrpr %g0, %r11, %tnpc
7385 set (0x007e7779 | (0x82 << 24)), %r13
7386 rdpr %tstate, %r16
7387 mov 0x1f, %r19
7388 and %r19, %r16, %r17
7389 andn %r16, %r19, %r16
7390 or %r16, %r17, %r20
7391 wrpr %r20, %g0, %tstate
7392 wrhpr %g0, 0x169f, %htstate
7393 ta T_CHANGE_NONPRIV ! rand=0 (40)
7394 .word 0x21400001 ! 1: FBPN fbn,a,pn %fcc0, <label_0x1>
7395 done
7396donretarg_40_183:
7397 .word 0xda6fe190 ! 219: LDSTUB_I ldstub %r13, [%r31 + 0x0190]
7398 nop
7399 ta T_CHANGE_HPRIV
7400 mov 0x40, %r10
7401 set sync_thr_counter6, %r23
7402#ifndef SPC
7403 ldxa [%g0]0x63, %o1
7404 and %o1, 0x38, %o1
7405 add %o1, %r23, %r23
7406#endif
7407 cas [%r23],%g0,%r10 !lock
7408 brnz %r10, sma_40_184
7409 rd %asi, %r12
7410 wr %g0, 0x40, %asi
7411 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
7412 set 0x000a1fff, %g1
7413 stxa %g1, [%g0 + 0x80] %asi
7414 wr %r12, %g0, %asi
7415 st %g0, [%r23]
7416sma_40_184:
7417 ta T_CHANGE_NONHPRIV
7418 .word 0xdbe7e008 ! 220: CASA_R casa [%r31] %asi, %r8, %r13
7419 nop
7420 ta T_CHANGE_HPRIV
7421 mov 0x40+1, %r10
7422 set sync_thr_counter5, %r23
7423#ifndef SPC
7424 ldxa [%g0]0x63, %o1
7425 and %o1, 0x38, %o1
7426 add %o1, %r23, %r23
7427#endif
7428 cas [%r23],%g0,%r10 !lock
7429 brnz %r10, cwq_40_185
7430 rd %asi, %r12
7431 wr %g0, 0x40, %asi
7432 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
7433 and %l1, 0x3, %l1 ! Check if busy/enabled ..
7434 cmp %l1, 1
7435 bne cwq_40_185
7436 set CWQ_BASE, %l6
7437 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
7438 best_set_reg(0x20610070, %l1, %l2) !# Control Word
7439 sllx %l2, 32, %l2
7440 stx %l2, [%l6 + 0x0]
7441 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
7442 sub %l2, 0x40, %l2
7443 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
7444 wr %r12, %g0, %asi
7445 st %g0, [%r23]
7446cwq_40_185:
7447 ta T_CHANGE_NONHPRIV
7448 .word 0x97414000 ! 221: RDPC rd %pc, %r11
7449ibp_40_186:
7450 nop
7451 ta T_CHANGE_NONHPRIV
7452 .word 0xa1b487c5 ! 222: PDIST pdistn %d18, %d36, %d16
7453 .word 0xe0bfc020 ! 223: STDA_R stda %r16, [%r31 + %r0] 0x01
7454 .word 0x8d903f88 ! 224: WRPR_PSTATE_I wrpr %r0, 0x1f88, %pstate
7455 .word 0x89800011 ! 225: WRTICK_R wr %r0, %r17, %tick
7456ibp_40_189:
7457 nop
7458 .word 0xe1bfd920 ! 226: STDFA_R stda %f16, [%r0, %r31]
7459 .word 0xc30fc000 ! 227: LDXFSR_R ld-fsr [%r31, %r0], %f1
7460brcommon3_40_190:
7461 nop
7462 setx common_target, %r12, %r27
7463 lduw [%r27], %r12 ! Load common dest into dcache ..
7464 ba,a .+12
7465 .word 0xe06ff3fd ! 1: LDSTUB_I ldstub %r16, [%r31 + 0xfffff3fd]
7466 ba,a .+8
7467 jmpl %r27+0, %r27
7468 .word 0xe0bfc02a ! 228: STDA_R stda %r16, [%r31 + %r10] 0x01
7469 .word 0xa1902004 ! 229: WRPR_GL_I wrpr %r0, 0x0004, %-
7470splash_cmpr_40_191:
7471 mov 1, %r18
7472 sllx %r18, 63, %r18
7473 rd %tick, %r17
7474 add %r17, 0x60, %r17
7475 or %r17, %r18, %r17
7476 ta T_CHANGE_PRIV
7477 .word 0xb3800011 ! 230: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
7478splash_lsu_40_192:
7479 nop
7480 ta T_CHANGE_HPRIV
7481 set 0x480140f6, %r2
7482 mov 0x5, %r1
7483 sllx %r1, 32, %r1
7484 or %r1, %r2, %r2
7485 stxa %r2, [%r0] ASI_LSU_CONTROL
7486 .word 0x3d400001 ! 231: FBPULE fbule,a,pn %fcc0, <label_0x1>
7487vahole_40_193:
7488 nop
7489 ta T_CHANGE_NONHPRIV
7490 setx vahole_target3, %r18, %r27
7491 jmpl %r27+0, %r27
7492 .word 0xa7b287d3 ! 232: PDIST pdistn %d10, %d50, %d50
7493jmptr_40_194:
7494 nop
7495 best_set_reg(0xe1200000, %r20, %r27)
7496 .word 0xb7c6c000 ! 233: JMPL_R jmpl %r27 + %r0, %r27
7497dvapa_40_195:
7498 nop
7499 ta T_CHANGE_HPRIV
7500 mov 0xc85, %r20
7501 mov 0x1e, %r19
7502 sllx %r20, 23, %r20
7503 or %r19, %r20, %r19
7504 stxa %r19, [%g0] ASI_LSU_CONTROL
7505 mov 0x38, %r18
7506 stxa %r31, [%r18]0x58
7507 ta T_CHANGE_NONHPRIV
7508 .word 0xc32fc00b ! 234: STXFSR_R st-sfr %f1, [%r11, %r31]
7509 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
7510reduce_priv_lvl_40_196:
7511 ta T_CHANGE_NONPRIV ! macro
7512 nop
7513 ta T_CHANGE_HPRIV
7514 mov 0x40, %r10
7515 set sync_thr_counter6, %r23
7516#ifndef SPC
7517 ldxa [%g0]0x63, %o1
7518 and %o1, 0x38, %o1
7519 add %o1, %r23, %r23
7520#endif
7521 cas [%r23],%g0,%r10 !lock
7522 brnz %r10, sma_40_197
7523 rd %asi, %r12
7524 wr %g0, 0x40, %asi
7525 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
7526 set 0x000a1fff, %g1
7527 stxa %g1, [%g0 + 0x80] %asi
7528 wr %r12, %g0, %asi
7529 st %g0, [%r23]
7530sma_40_197:
7531 ta T_CHANGE_NONHPRIV
7532 .word 0xe3e7e00c ! 236: CASA_R casa [%r31] %asi, %r12, %r17
7533 nop
7534 ta T_CHANGE_HPRIV
7535 mov 0x40, %r10
7536 set sync_thr_counter6, %r23
7537#ifndef SPC
7538 ldxa [%g0]0x63, %o1
7539 and %o1, 0x38, %o1
7540 add %o1, %r23, %r23
7541#endif
7542 cas [%r23],%g0,%r10 !lock
7543 brnz %r10, sma_40_198
7544 rd %asi, %r12
7545 wr %g0, 0x40, %asi
7546 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
7547 set 0x000a1fff, %g1
7548 stxa %g1, [%g0 + 0x80] %asi
7549 wr %r12, %g0, %asi
7550 st %g0, [%r23]
7551sma_40_198:
7552 ta T_CHANGE_NONHPRIV
7553 .word 0xe3e7e014 ! 237: CASA_R casa [%r31] %asi, %r20, %r17
7554 setx 0x60ff3271d47f9f8d, %r1, %r28
7555 stxa %r28, [%g0] 0x73
7556intvec_40_199:
7557 .word 0x39400001 ! 238: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
7558brcommon2_40_200:
7559 nop
7560 setx common_target, %r12, %r27
7561 ba,a .+12
7562 .word 0xc36fe2e8 ! 1: PREFETCH_I prefetch [%r31 + 0x02e8], #one_read
7563 ba,a .+8
7564 jmpl %r27+0, %r27
7565 .word 0xe19fde00 ! 239: LDDFA_R ldda [%r31, %r0], %f16
7566 nop
7567 ta T_CHANGE_HPRIV
7568 mov 0x40, %r10
7569 set sync_thr_counter6, %r23
7570#ifndef SPC
7571 ldxa [%g0]0x63, %o1
7572 and %o1, 0x38, %o1
7573 add %o1, %r23, %r23
7574#endif
7575 cas [%r23],%g0,%r10 !lock
7576 brnz %r10, sma_40_201
7577 rd %asi, %r12
7578 wr %g0, 0x40, %asi
7579 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
7580 set 0x00121fff, %g1
7581 stxa %g1, [%g0 + 0x80] %asi
7582 wr %r12, %g0, %asi
7583 st %g0, [%r23]
7584sma_40_201:
7585 ta T_CHANGE_NONHPRIV
7586 .word 0xe3e7e013 ! 240: CASA_R casa [%r31] %asi, %r19, %r17
7587 .word 0x8780208a ! 241: WRASI_I wr %r0, 0x008a, %asi
7588 .word 0xe327c000 ! 242: STF_R st %f17, [%r0, %r31]
7589donret_40_202:
7590 nop
7591 ta T_CHANGE_HPRIV ! macro
7592 rd %pc, %r12
7593 add %r12, (donretarg_40_202-donret_40_202-8), %r12
7594 mov 0x38, %r18
7595 stxa %r12, [%r18]0x58
7596 add %r12, 0x4, %r11
7597 wrpr %g0, 0x2, %tl
7598 wrpr %g0, %r12, %tpc
7599 wrpr %g0, %r11, %tnpc
7600 set (0x00d94c6d | (0x88 << 24)), %r13
7601 rdpr %tstate, %r16
7602 mov 0x1f, %r19
7603 and %r19, %r16, %r17
7604 andn %r16, %r19, %r16
7605 or %r16, %r17, %r20
7606 wrpr %r20, %g0, %tstate
7607 wrhpr %g0, 0x40b, %htstate
7608 ta T_CHANGE_NONPRIV ! rand=0 (40)
7609 retry
7610donretarg_40_202:
7611 .word 0xa3a509d3 ! 243: FDIVd fdivd %f20, %f50, %f48
7612 .word 0xe0dfe198 ! 244: LDXA_I ldxa [%r31, + 0x0198] %asi, %r16
7613pmu_40_203:
7614 nop
7615 ta T_CHANGE_PRIV
7616 setx 0xfffff6f7fffff664, %g1, %g7
7617 .word 0xa3800007 ! 245: WR_PERF_COUNTER_R wr %r0, %r7, %-
7618change_to_randtl_40_204:
7619 ta T_CHANGE_PRIV ! macro
7620done_change_to_randtl_40_204:
7621 .word 0x8f902000 ! 246: WRPR_TL_I wrpr %r0, 0x0000, %tl
7622pmu_40_205:
7623 nop
7624 ta T_CHANGE_PRIV
7625 setx 0xfffff79bfffff5e2, %g1, %g7
7626 .word 0xa3800007 ! 247: WR_PERF_COUNTER_R wr %r0, %r7, %-
7627 nop
7628 ta T_CHANGE_HPRIV
7629 mov 0x40+1, %r10
7630 set sync_thr_counter5, %r23
7631#ifndef SPC
7632 ldxa [%g0]0x63, %o1
7633 and %o1, 0x38, %o1
7634 add %o1, %r23, %r23
7635#endif
7636 cas [%r23],%g0,%r10 !lock
7637 brnz %r10, cwq_40_206
7638 rd %asi, %r12
7639 wr %g0, 0x40, %asi
7640 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
7641 and %l1, 0x3, %l1 ! Check if busy/enabled ..
7642 cmp %l1, 1
7643 bne cwq_40_206
7644 set CWQ_BASE, %l6
7645 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
7646 best_set_reg(0x20610070, %l1, %l2) !# Control Word
7647 sllx %l2, 32, %l2
7648 stx %l2, [%l6 + 0x0]
7649 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
7650 sub %l2, 0x40, %l2
7651 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
7652 wr %r12, %g0, %asi
7653 st %g0, [%r23]
7654cwq_40_206:
7655 ta T_CHANGE_NONHPRIV
7656 .word 0x93414000 ! 248: RDPC rd %pc, %r9
7657donret_40_207:
7658 nop
7659 ta T_CHANGE_HPRIV ! macro
7660 rd %pc, %r12
7661 add %r12, (donretarg_40_207-donret_40_207-4), %r12
7662 mov 0x38, %r18
7663 stxa %r12, [%r18]0x58
7664 add %r12, 0x4, %r11
7665 wrpr %g0, 0x2, %tl
7666 wrpr %g0, %r12, %tpc
7667 wrpr %g0, %r11, %tnpc
7668 set (0x00a2385c | (32 << 24)), %r13
7669 rdpr %tstate, %r16
7670 mov 0x1f, %r19
7671 and %r19, %r16, %r17
7672 andn %r16, %r19, %r16
7673 or %r16, %r17, %r20
7674 wrpr %r20, %g0, %tstate
7675 wrhpr %g0, 0xd0f, %htstate
7676 ta T_CHANGE_NONHPRIV ! rand=1 (40)
7677 done
7678donretarg_40_207:
7679 .word 0xa7a4c9d3 ! 249: FDIVd fdivd %f50, %f50, %f50
7680ibp_40_208:
7681 nop
7682 ta T_CHANGE_NONHPRIV
7683 .word 0x97b407d3 ! 250: PDIST pdistn %d16, %d50, %d42
7684fpinit_40_209:
7685 setx fp_data_quads, %r19, %r20
7686 ldd [%r20], %f0
7687 ldd [%r20+8], %f4
7688 ld [%r20+16], %fsr
7689 ld [%r20+24], %r19
7690 wr %r19, %g0, %gsr
7691 .word 0x91a009c4 ! 251: FDIVd fdivd %f0, %f4, %f8
7692change_to_randtl_40_210:
7693 ta T_CHANGE_PRIV ! macro
7694done_change_to_randtl_40_210:
7695 .word 0x8f902000 ! 252: WRPR_TL_I wrpr %r0, 0x0000, %tl
7696 nop
7697 ta T_CHANGE_HPRIV
7698 mov 0x40+1, %r10
7699 set sync_thr_counter5, %r23
7700#ifndef SPC
7701 ldxa [%g0]0x63, %o1
7702 and %o1, 0x38, %o1
7703 add %o1, %r23, %r23
7704#endif
7705 cas [%r23],%g0,%r10 !lock
7706 brnz %r10, cwq_40_211
7707 rd %asi, %r12
7708 wr %g0, 0x40, %asi
7709 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
7710 and %l1, 0x3, %l1 ! Check if busy/enabled ..
7711 cmp %l1, 1
7712 bne cwq_40_211
7713 set CWQ_BASE, %l6
7714 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
7715 best_set_reg(0x20610080, %l1, %l2) !# Control Word
7716 sllx %l2, 32, %l2
7717 stx %l2, [%l6 + 0x0]
7718 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
7719 sub %l2, 0x40, %l2
7720 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
7721 wr %r12, %g0, %asi
7722 st %g0, [%r23]
7723cwq_40_211:
7724 ta T_CHANGE_NONHPRIV
7725 .word 0xa1414000 ! 253: RDPC rd %pc, %r16
7726memptr_40_212:
7727 set 0x60740000, %r31
7728 .word 0x85846608 ! 254: WRCCR_I wr %r17, 0x0608, %ccr
7729dvapa_40_213:
7730 nop
7731 ta T_CHANGE_HPRIV
7732 mov 0xd06, %r20
7733 mov 0xe, %r19
7734 sllx %r20, 23, %r20
7735 or %r19, %r20, %r19
7736 stxa %r19, [%g0] ASI_LSU_CONTROL
7737 mov 0x38, %r18
7738 stxa %r31, [%r18]0x58
7739 ta T_CHANGE_NONHPRIV
7740 .word 0xc3e94034 ! 255: PREFETCHA_R prefetcha [%r5, %r20] 0x01, #one_read
7741donret_40_214:
7742 nop
7743 ta T_CHANGE_HPRIV ! macro
7744 rd %pc, %r12
7745 add %r12, (donretarg_40_214-donret_40_214-8), %r12
7746 mov 0x38, %r18
7747 stxa %r12, [%r18]0x58
7748 add %r12, 0x4, %r11
7749 wrpr %g0, 0x2, %tl
7750 wrpr %g0, %r12, %tpc
7751 wrpr %g0, %r11, %tnpc
7752 set (0x00cfb82d | (0x80 << 24)), %r13
7753 rdpr %tstate, %r16
7754 mov 0x1f, %r19
7755 and %r19, %r16, %r17
7756 andn %r16, %r19, %r16
7757 or %r16, %r17, %r20
7758 wrpr %r20, %g0, %tstate
7759 wrhpr %g0, 0x6c4, %htstate
7760 ta T_CHANGE_NONHPRIV ! rand=1 (40)
7761 retry
7762donretarg_40_214:
7763 .word 0xa9a209c5 ! 256: FDIVd fdivd %f8, %f36, %f20
7764 .word 0xda3fe144 ! 257: STD_I std %r13, [%r31 + 0x0144]
7765dvapa_40_215:
7766 nop
7767 ta T_CHANGE_HPRIV
7768 mov 0xdf8, %r20
7769 mov 0x4, %r19
7770 sllx %r20, 23, %r20
7771 or %r19, %r20, %r19
7772 stxa %r19, [%g0] ASI_LSU_CONTROL
7773 mov 0x38, %r18
7774 stxa %r31, [%r18]0x58
7775 ta T_CHANGE_NONHPRIV
7776 .word 0xda9fc02a ! 258: LDDA_R ldda [%r31, %r10] 0x01, %r13
7777 .word 0xe19fdf20 ! 259: LDDFA_R ldda [%r31, %r0], %f16
7778 nop
7779 ta T_CHANGE_HPRIV
7780 mov 0x40, %r10
7781 set sync_thr_counter6, %r23
7782#ifndef SPC
7783 ldxa [%g0]0x63, %o1
7784 and %o1, 0x38, %o1
7785 add %o1, %r23, %r23
7786#endif
7787 cas [%r23],%g0,%r10 !lock
7788 brnz %r10, sma_40_216
7789 rd %asi, %r12
7790 wr %g0, 0x40, %asi
7791 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
7792 set 0x001e1fff, %g1
7793 stxa %g1, [%g0 + 0x80] %asi
7794 wr %r12, %g0, %asi
7795 st %g0, [%r23]
7796sma_40_216:
7797 ta T_CHANGE_NONHPRIV
7798 .word 0xdbe7e011 ! 260: CASA_R casa [%r31] %asi, %r17, %r13
7799pmu_40_217:
7800 nop
7801 ta T_CHANGE_PRIV
7802 setx 0xfffff275ffffffc5, %g1, %g7
7803 .word 0xa3800007 ! 261: WR_PERF_COUNTER_R wr %r0, %r7, %-
7804 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
7805reduce_priv_lvl_40_218:
7806 ta T_CHANGE_NONHPRIV ! macro
7807pmu_40_219:
7808 nop
7809 ta T_CHANGE_PRIV
7810 setx 0xfffff86dfffffec9, %g1, %g7
7811 .word 0xa3800007 ! 263: WR_PERF_COUNTER_R wr %r0, %r7, %-
7812pmu_40_220:
7813 nop
7814 setx 0xfffff094fffff179, %g1, %g7
7815 .word 0xa3800007 ! 264: WR_PERF_COUNTER_R wr %r0, %r7, %-
7816 setx 0x69aa518fe71f11e7, %r1, %r28
7817 stxa %r28, [%g0] 0x73
7818intvec_40_221:
7819 .word 0x39400001 ! 265: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
7820splash_lsu_40_222:
7821 nop
7822 ta T_CHANGE_HPRIV
7823 set 0x7304a8d3, %r2
7824 mov 0x1, %r1
7825 sllx %r1, 32, %r1
7826 or %r1, %r2, %r2
7827 stxa %r2, [%r0] ASI_LSU_CONTROL
7828 ta T_CHANGE_NONHPRIV
7829 .word 0x3d400001 ! 266: FBPULE fbule,a,pn %fcc0, <label_0x1>
7830ibp_40_223:
7831 nop
7832 ta T_CHANGE_NONHPRIV
7833 .word 0xe19fdf20 ! 267: LDDFA_R ldda [%r31, %r0], %f16
7834mondo_40_224:
7835 nop
7836 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
7837 ta T_CHANGE_PRIV
7838 stxa %r18, [%r0+0x3d0] %asi
7839 .word 0x9d910011 ! 268: WRPR_WSTATE_R wrpr %r4, %r17, %wstate
7840donret_40_225:
7841 nop
7842 ta T_CHANGE_HPRIV ! macro
7843 rd %pc, %r12
7844 add %r12, (donretarg_40_225-donret_40_225-4), %r12
7845 mov 0x38, %r18
7846 stxa %r12, [%r18]0x58
7847 add %r12, 0x4, %r11
7848 wrpr %g0, 0x1, %tl
7849 wrpr %g0, %r12, %tpc
7850 wrpr %g0, %r11, %tnpc
7851 set (0x00079c33 | (0x8a << 24)), %r13
7852 rdpr %tstate, %r16
7853 mov 0x1f, %r19
7854 and %r19, %r16, %r17
7855 andn %r16, %r19, %r16
7856 or %r16, %r17, %r20
7857 wrpr %r20, %g0, %tstate
7858 wrhpr %g0, 0xcd, %htstate
7859 ta T_CHANGE_NONPRIV ! rand=0 (40)
7860 .word 0x2acac001 ! 1: BRNZ brnz,a,pt %r11,<label_0xac001>
7861 done
7862donretarg_40_225:
7863 .word 0xda6fe12f ! 269: LDSTUB_I ldstub %r13, [%r31 + 0x012f]
7864#if (defined SPC || defined CMP)
7865!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_40_226) + 48, 16, 16)) -> intp(6,0,28)
7866!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_40_226)&0xffffffff) + 48, 16, 16)) -> intp(6,0,28)
7867#else
7868 setx 0xc8a6e01a8856ae3d, %r1, %r28
7869 stxa %r28, [%g0] 0x73
7870#endif
7871intvec_40_226:
7872 .word 0x39400001 ! 270: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
7873 .word 0x89800011 ! 271: WRTICK_R wr %r0, %r17, %tick
7874 .word 0xda9fe040 ! 272: LDDA_I ldda [%r31, + 0x0040] %asi, %r13
7875intveclr_40_228:
7876 nop
7877 ta T_CHANGE_HPRIV
7878 setx 0xc798b0a47de2a172, %r1, %r28
7879 stxa %r28, [%g0] 0x72
7880 .word 0x25400001 ! 273: FBPLG fblg,a,pn %fcc0, <label_0x1>
7881dvapa_40_229:
7882 nop
7883 ta T_CHANGE_HPRIV
7884 mov 0xc01, %r20
7885 mov 0x2, %r19
7886 sllx %r20, 23, %r20
7887 or %r19, %r20, %r19
7888 stxa %r19, [%g0] ASI_LSU_CONTROL
7889 mov 0x38, %r18
7890 stxa %r31, [%r18]0x58
7891 ta T_CHANGE_NONHPRIV
7892 .word 0x97702db8 ! 274: POPC_I popc 0x0db8, %r11
7893 .word 0x81b01021 ! 275: SIAM siam 1
7894splash_hpstate_40_230:
7895 .word 0x8198305e ! 276: WRHPR_HPSTATE_I wrhpr %r0, 0x105e, %hpstate
7896 .word 0xe4800b40 ! 277: LDUWA_R lduwa [%r0, %r0] 0x5a, %r18
7897 nop
7898 ta T_CHANGE_HPRIV
7899 mov 0x40, %r10
7900 set sync_thr_counter6, %r23
7901#ifndef SPC
7902 ldxa [%g0]0x63, %o1
7903 and %o1, 0x38, %o1
7904 add %o1, %r23, %r23
7905#endif
7906 cas [%r23],%g0,%r10 !lock
7907 brnz %r10, sma_40_231
7908 rd %asi, %r12
7909 wr %g0, 0x40, %asi
7910 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
7911 set 0x001a1fff, %g1
7912 stxa %g1, [%g0 + 0x80] %asi
7913 wr %r12, %g0, %asi
7914 st %g0, [%r23]
7915sma_40_231:
7916 ta T_CHANGE_NONHPRIV
7917 .word 0xe5e7e014 ! 278: CASA_R casa [%r31] %asi, %r20, %r18
7918 invalw
7919 mov 0xb3, %r30
7920 .word 0x91d0001e ! 279: Tcc_R ta icc_or_xcc, %r0 + %r30
7921brcommon2_40_232:
7922 nop
7923 setx common_target, %r12, %r27
7924 ba,a .+12
7925 .word 0x81dfc014 ! 1: FLUSH_R flush
7926 ba,a .+8
7927 jmpl %r27+0, %r27
7928 .word 0xc19fc2c0 ! 280: LDDFA_R ldda [%r31, %r0], %f0
7929vahole_40_233:
7930 nop
7931 ta T_CHANGE_NONHPRIV
7932 setx vahole_target0, %r18, %r27
7933 jmpl %r27+0, %r27
7934 .word 0xc1bfe080 ! 281: STDFA_I stda %f0, [0x0080, %r31]
7935 nop
7936 ta T_CHANGE_HPRIV
7937 mov 0x40, %r10
7938 set sync_thr_counter6, %r23
7939#ifndef SPC
7940 ldxa [%g0]0x63, %o1
7941 and %o1, 0x38, %o1
7942 add %o1, %r23, %r23
7943#endif
7944 cas [%r23],%g0,%r10 !lock
7945 brnz %r10, sma_40_234
7946 rd %asi, %r12
7947 wr %g0, 0x40, %asi
7948 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
7949 set 0x00161fff, %g1
7950 stxa %g1, [%g0 + 0x80] %asi
7951 wr %r12, %g0, %asi
7952 st %g0, [%r23]
7953sma_40_234:
7954 ta T_CHANGE_NONHPRIV
7955 .word 0xd9e7e00b ! 282: CASA_R casa [%r31] %asi, %r11, %r12
7956splash_lsu_40_235:
7957 nop
7958 ta T_CHANGE_HPRIV
7959 set 0xe08feb77, %r2
7960 mov 0x4, %r1
7961 sllx %r1, 32, %r1
7962 or %r1, %r2, %r2
7963 stxa %r2, [%r0] ASI_LSU_CONTROL
7964 ta T_CHANGE_NONHPRIV
7965 .word 0x3d400001 ! 283: FBPULE fbule,a,pn %fcc0, <label_0x1>
7966 .word 0xe1bfdf20 ! 284: STDFA_R stda %f16, [%r0, %r31]
7967 .word 0x8d903069 ! 285: WRPR_PSTATE_I wrpr %r0, 0x1069, %pstate
7968memptr_40_237:
7969 set user_data_start, %r31
7970 .word 0x85852ffd ! 286: WRCCR_I wr %r20, 0x0ffd, %ccr
7971memptr_40_238:
7972 set 0x60740000, %r31
7973 .word 0x858061c2 ! 287: WRCCR_I wr %r1, 0x01c2, %ccr
7974splash_decr_40_239:
7975 nop
7976 ta T_CHANGE_HPRIV
7977 mov 8, %r1
7978 stxa %r8, [%r1] 0x45
7979 .word 0xa7844009 ! 288: WR_GRAPHICS_STATUS_REG_R wr %r17, %r9, %-
7980 bpos,a skip_40_240
7981 fbuge skip_40_240
7982.align 32
7983skip_40_240:
7984 .word 0x99b184c1 ! 289: FCMPNE32 fcmpne32 %d6, %d32, %r12
7985intveclr_40_241:
7986 nop
7987 ta T_CHANGE_HPRIV
7988 setx 0x0e8533f90a88ce03, %r1, %r28
7989 stxa %r28, [%g0] 0x72
7990 ta T_CHANGE_NONHPRIV
7991 .word 0x25400001 ! 290: FBPLG fblg,a,pn %fcc0, <label_0x1>
7992 nop
7993 ta T_CHANGE_HPRIV
7994 mov 0x40, %r10
7995 set sync_thr_counter6, %r23
7996#ifndef SPC
7997 ldxa [%g0]0x63, %o1
7998 and %o1, 0x38, %o1
7999 add %o1, %r23, %r23
8000#endif
8001 cas [%r23],%g0,%r10 !lock
8002 brnz %r10, sma_40_242
8003 rd %asi, %r12
8004 wr %g0, 0x40, %asi
8005 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
8006 set 0x000a1fff, %g1
8007 stxa %g1, [%g0 + 0x80] %asi
8008 wr %r12, %g0, %asi
8009 st %g0, [%r23]
8010sma_40_242:
8011 ta T_CHANGE_NONHPRIV
8012 .word 0xd5e7e008 ! 291: CASA_R casa [%r31] %asi, %r8, %r10
8013 .word 0x8d802000 ! 292: WRFPRS_I wr %r0, 0x0000, %fprs
8014pmu_40_243:
8015 nop
8016 setx 0xfffffe58fffff569, %g1, %g7
8017 .word 0xa3800007 ! 293: WR_PERF_COUNTER_R wr %r0, %r7, %-
8018#if (defined SPC || defined CMP)
8019!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_40_244) + 8, 16, 16)) -> intp(1,0,9)
8020!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_40_244)&0xffffffff) + 8, 16, 16)) -> intp(1,0,9)
8021#else
8022 setx 0x14816048dc185ae2, %r1, %r28
8023 stxa %r28, [%g0] 0x73
8024#endif
8025intvec_40_244:
8026 .word 0x39400001 ! 294: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
8027 .word 0x8d802004 ! 295: WRFPRS_I wr %r0, 0x0004, %fprs
8028mondo_40_245:
8029 nop
8030 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
8031 stxa %r2, [%r0+0x3d8] %asi
8032 .word 0x9d910012 ! 296: WRPR_WSTATE_R wrpr %r4, %r18, %wstate
8033 .word 0x93524000 ! 297: RDPR_CWP <illegal instruction>
8034pmu_40_247:
8035 nop
8036 setx 0xfffff4e7fffff0eb, %g1, %g7
8037 .word 0xa3800007 ! 298: WR_PERF_COUNTER_R wr %r0, %r7, %-
8038br_longdelay3_40_248:
8039 nop
8040 not %g0, %r12
8041 jmp %r12
8042 .word 0x99902005 ! 299: WRPR_CLEANWIN_I wrpr %r0, 0x0005, %cleanwin
8043 setx 0xa1039d0907708953, %r1, %r28
8044 stxa %r28, [%g0] 0x73
8045intvec_40_249:
8046 .word 0x39400001 ! 300: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
8047 fbu skip_40_250
8048 .word 0xa3a1c9cc ! 1: FDIVd fdivd %f38, %f12, %f48
8049.align 1024
8050skip_40_250:
8051 .word 0xc36cbab3 ! 301: PREFETCH_I prefetch [%r18 + 0xfffffab3], #one_read
8052ibp_40_251:
8053 nop
8054 .word 0xc1bfe160 ! 302: STDFA_I stda %f0, [0x0160, %r31]
8055dvapa_40_252:
8056 nop
8057 ta T_CHANGE_HPRIV
8058 mov 0xe91, %r20
8059 mov 0x7, %r19
8060 sllx %r20, 23, %r20
8061 or %r19, %r20, %r19
8062 stxa %r19, [%g0] ASI_LSU_CONTROL
8063 mov 0x38, %r18
8064 stxa %r31, [%r18]0x58
8065 ta T_CHANGE_NONHPRIV
8066 .word 0xa1702f31 ! 303: POPC_I popc 0x0f31, %r16
8067 nop
8068 ta T_CHANGE_HPRIV
8069 mov 0x40+1, %r10
8070 set sync_thr_counter5, %r23
8071#ifndef SPC
8072 ldxa [%g0]0x63, %o1
8073 and %o1, 0x38, %o1
8074 add %o1, %r23, %r23
8075#endif
8076 cas [%r23],%g0,%r10 !lock
8077 brnz %r10, cwq_40_253
8078 rd %asi, %r12
8079 wr %g0, 0x40, %asi
8080 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
8081 and %l1, 0x3, %l1 ! Check if busy/enabled ..
8082 cmp %l1, 1
8083 bne cwq_40_253
8084 set CWQ_BASE, %l6
8085 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
8086 best_set_reg(0x20610000, %l1, %l2) !# Control Word
8087 sllx %l2, 32, %l2
8088 stx %l2, [%l6 + 0x0]
8089 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
8090 sub %l2, 0x40, %l2
8091 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
8092 wr %r12, %g0, %asi
8093 st %g0, [%r23]
8094cwq_40_253:
8095 ta T_CHANGE_NONHPRIV
8096 .word 0xa1414000 ! 304: RDPC rd %pc, %r16
8097pmu_40_254:
8098 nop
8099 setx 0xfffff015fffff132, %g1, %g7
8100 .word 0xa3800007 ! 305: WR_PERF_COUNTER_R wr %r0, %r7, %-
8101jmptr_40_255:
8102 nop
8103 best_set_reg(0xe1200000, %r20, %r27)
8104 .word 0xb7c6c000 ! 306: JMPL_R jmpl %r27 + %r0, %r27
8105 nop
8106 ta T_CHANGE_HPRIV
8107 mov 0x40+1, %r10
8108 set sync_thr_counter5, %r23
8109#ifndef SPC
8110 ldxa [%g0]0x63, %o1
8111 and %o1, 0x38, %o1
8112 add %o1, %r23, %r23
8113#endif
8114 cas [%r23],%g0,%r10 !lock
8115 brnz %r10, cwq_40_256
8116 rd %asi, %r12
8117 wr %g0, 0x40, %asi
8118 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
8119 and %l1, 0x3, %l1 ! Check if busy/enabled ..
8120 cmp %l1, 1
8121 bne cwq_40_256
8122 set CWQ_BASE, %l6
8123 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
8124 best_set_reg(0x20610030, %l1, %l2) !# Control Word
8125 sllx %l2, 32, %l2
8126 stx %l2, [%l6 + 0x0]
8127 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
8128 sub %l2, 0x40, %l2
8129 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
8130 wr %r12, %g0, %asi
8131 st %g0, [%r23]
8132cwq_40_256:
8133 ta T_CHANGE_NONHPRIV
8134 .word 0x91414000 ! 307: RDPC rd %pc, %r8
8135splash_hpstate_40_257:
8136 ta T_CHANGE_NONHPRIV
8137 .word 0x81982055 ! 308: WRHPR_HPSTATE_I wrhpr %r0, 0x0055, %hpstate
8138 .word 0xe077c000 ! 309: STX_R stx %r16, [%r31 + %r0]
8139 .word 0xa9a00166 ! 310: FABSq dis not found
8140
8141 .word 0x91d020b3 ! 311: Tcc_I ta icc_or_xcc, %r0 + 179
8142intveclr_40_259:
8143 nop
8144 ta T_CHANGE_HPRIV
8145 setx 0xc7ec4a59045a5089, %r1, %r28
8146 stxa %r28, [%g0] 0x72
8147 .word 0x25400001 ! 312: FBPLG fblg,a,pn %fcc0, <label_0x1>
8148ibp_40_260:
8149 nop
8150 .word 0xc1bfe180 ! 313: STDFA_I stda %f0, [0x0180, %r31]
8151jmptr_40_261:
8152 nop
8153 best_set_reg(0xe1200000, %r20, %r27)
8154 .word 0xb7c6c000 ! 314: JMPL_R jmpl %r27 + %r0, %r27
8155mondo_40_262:
8156 nop
8157 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
8158 stxa %r19, [%r0+0x3e8] %asi
8159 .word 0x9d934013 ! 315: WRPR_WSTATE_R wrpr %r13, %r19, %wstate
8160ibp_40_263:
8161 nop
8162 .word 0xe1bfe1e0 ! 316: STDFA_I stda %f16, [0x01e0, %r31]
8163 .word 0xe127e03c ! 317: STF_I st %f16, [0x003c, %r31]
8164 .word 0xe04fc000 ! 318: LDSB_R ldsb [%r31 + %r0], %r16
8165ibp_40_264:
8166 nop
8167 ta T_CHANGE_NONHPRIV
8168 .word 0xe13fc013 ! 319: STDF_R std %f16, [%r19, %r31]
8169iaw_40_265:
8170 nop
8171 ta T_CHANGE_HPRIV
8172 mov 8, %r18
8173 rd %asi, %r12
8174 wr %r0, 0x41, %asi
8175 set sync_thr_counter4, %r23
8176#ifndef SPC
8177 ldxa [%g0]0x63, %r8
8178 and %r8, 0x38, %r8 ! Core ID
8179 add %r8, %r23, %r23
8180#else
8181 mov 0, %r8
8182#endif
8183 mov 0x40, %r16
8184iaw_startwait40_265:
8185 cas [%r23],%g0,%r16 !lock
8186 brz,a %r16, continue_iaw_40_265
8187 mov (~0x40&0xf0), %r16
8188 ld [%r23], %r16
8189iaw_wait40_265:
8190 brnz %r16, iaw_wait40_265
8191 ld [%r23], %r16
8192 ba iaw_startwait40_265
8193 mov 0x40, %r16
8194continue_iaw_40_265:
8195 sllx %r16, %r8, %r16 !Mask for my core only
8196 ldxa [0x58]%asi, %r17 !Running_status
8197wait_for_stat_40_265:
8198 ldxa [0x50]%asi, %r13 !Running_rw
8199 cmp %r13, %r17
8200 bne,a wait_for_stat_40_265
8201 ldxa [0x58]%asi, %r17 !Running_status
8202 stxa %r16, [0x68]%asi !Park (W1C)
8203 ldxa [0x50]%asi, %r14 !Running_rw
8204wait_for_iaw_40_265:
8205 ldxa [0x58]%asi, %r17 !Running_status
8206 cmp %r14, %r17
8207 bne,a wait_for_iaw_40_265
8208 ldxa [0x50]%asi, %r14 !Running_rw
8209iaw_doit40_265:
8210 mov 0x38, %r18
8211iaw1_40_265:
8212 best_set_reg(0x00000000e0a00000, %r20, %r19)
8213 or %r19, 0x1, %r19
8214 stxa %r19, [%r18]0x50
8215 stxa %r16, [0x60] %asi ! Unpark (W1S)
8216 st %g0, [%r23] !clear lock
8217 wr %r0, %r12, %asi ! restore %asi
8218 ta T_CHANGE_NONHPRIV
8219 .word 0xc1bfd960 ! 320: STDFA_R stda %f0, [%r0, %r31]
8220vahole_40_266:
8221 nop
8222 ta T_CHANGE_NONHPRIV
8223 setx vahole_target1, %r18, %r27
8224 jmpl %r27+0, %r27
8225 .word 0xc19fc3e0 ! 321: LDDFA_R ldda [%r31, %r0], %f0
8226intveclr_40_267:
8227 nop
8228 ta T_CHANGE_HPRIV
8229 setx 0xd63d08b9c74dba02, %r1, %r28
8230 stxa %r28, [%g0] 0x72
8231 .word 0x25400001 ! 322: FBPLG fblg,a,pn %fcc0, <label_0x1>
8232pmu_40_268:
8233 nop
8234 setx 0xfffff044fffffd0d, %g1, %g7
8235 .word 0xa3800007 ! 323: WR_PERF_COUNTER_R wr %r0, %r7, %-
8236 .word 0x93a000d1 ! 324: FNEGd fnegd %f48, %f40
8237intveclr_40_269:
8238 nop
8239 ta T_CHANGE_HPRIV
8240 setx 0x76d45853a6ddf173, %r1, %r28
8241 stxa %r28, [%g0] 0x72
8242 .word 0x25400001 ! 325: FBPLG fblg,a,pn %fcc0, <label_0x1>
8243tagged_40_270:
8244 tsubcctv %r4, 0x15e2, %r20
8245 .word 0xd807e11c ! 326: LDUW_I lduw [%r31 + 0x011c], %r12
8246 setx 0xdceb3631312125c8, %r1, %r28
8247 stxa %r28, [%g0] 0x73
8248intvec_40_271:
8249 .word 0x39400001 ! 327: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
8250brcommon2_40_272:
8251 nop
8252 setx common_target, %r12, %r27
8253 ba,a .+12
8254 .word 0x9f803e03 ! 1: SIR sir 0x1e03
8255 ba,a .+8
8256 jmpl %r27+0, %r27
8257 .word 0xc1bfe160 ! 328: STDFA_I stda %f0, [0x0160, %r31]
8258 nop
8259 ta T_CHANGE_HPRIV
8260 mov 0x40, %r10
8261 set sync_thr_counter6, %r23
8262#ifndef SPC
8263 ldxa [%g0]0x63, %o1
8264 and %o1, 0x38, %o1
8265 add %o1, %r23, %r23
8266#endif
8267 cas [%r23],%g0,%r10 !lock
8268 brnz %r10, sma_40_273
8269 rd %asi, %r12
8270 wr %g0, 0x40, %asi
8271 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
8272 set 0x00121fff, %g1
8273 stxa %g1, [%g0 + 0x80] %asi
8274 wr %r12, %g0, %asi
8275 st %g0, [%r23]
8276sma_40_273:
8277 ta T_CHANGE_NONHPRIV
8278 .word 0xd5e7e011 ! 329: CASA_R casa [%r31] %asi, %r17, %r10
8279dvapa_40_274:
8280 nop
8281 ta T_CHANGE_HPRIV
8282 mov 0xd2e, %r20
8283 mov 0x1f, %r19
8284 sllx %r20, 23, %r20
8285 or %r19, %r20, %r19
8286 stxa %r19, [%g0] ASI_LSU_CONTROL
8287 mov 0x38, %r18
8288 stxa %r31, [%r18]0x58
8289 ta T_CHANGE_NONHPRIV
8290 .word 0xc3eac022 ! 330: PREFETCHA_R prefetcha [%r11, %r2] 0x01, #one_read
8291vahole_40_275:
8292 nop
8293 ta T_CHANGE_NONHPRIV
8294 setx vahole_target3, %r18, %r27
8295 jmpl %r27+0, %r27
8296 .word 0xc3ec4026 ! 331: PREFETCHA_R prefetcha [%r17, %r6] 0x01, #one_read
8297dvapa_40_276:
8298 nop
8299 ta T_CHANGE_HPRIV
8300 mov 0xcf3, %r20
8301 mov 0xa, %r19
8302 sllx %r20, 23, %r20
8303 or %r19, %r20, %r19
8304 stxa %r19, [%g0] ASI_LSU_CONTROL
8305 mov 0x38, %r18
8306 stxa %r31, [%r18]0x58
8307 ta T_CHANGE_NONHPRIV
8308 .word 0xe19fdb60 ! 332: LDDFA_R ldda [%r31, %r0], %f16
8309splash_cmpr_40_277:
8310 mov 1, %r18
8311 sllx %r18, 63, %r18
8312 rd %tick, %r17
8313 add %r17, 0x70, %r17
8314 or %r17, %r18, %r17
8315 ta T_CHANGE_PRIV
8316 .word 0xaf800011 ! 333: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
8317 .word 0x95520000 ! 334: RDPR_PIL <illegal instruction>
8318splash_cmpr_40_278:
8319 mov 0, %r18
8320 sllx %r18, 63, %r18
8321 rd %tick, %r17
8322 add %r17, 0x60, %r17
8323 or %r17, %r18, %r17
8324 ta T_CHANGE_PRIV
8325 .word 0xaf800011 ! 335: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
8326 .word 0x9170316e ! 336: POPC_I popc 0x116e, %r8
8327vahole_40_279:
8328 nop
8329 ta T_CHANGE_NONHPRIV
8330 setx vahole_target1, %r18, %r27
8331 jmpl %r27+0, %r27
8332 .word 0x997029b6 ! 337: POPC_I popc 0x09b6, %r12
8333jmptr_40_280:
8334 nop
8335 best_set_reg(0xe0200000, %r20, %r27)
8336 .word 0xb7c6c000 ! 338: JMPL_R jmpl %r27 + %r0, %r27
8337 .word 0x8d9035ce ! 339: WRPR_PSTATE_I wrpr %r0, 0x15ce, %pstate
8338ceter_40_282:
8339 nop
8340 ta T_CHANGE_HPRIV
8341 mov 7, %r17
8342 sllx %r17, 60, %r17
8343 mov 0x18, %r16
8344 stxa %r17, [%r16]0x4c
8345 .word 0x91410000 ! 340: RDTICK rd %tick, %r8
8346iaw_40_283:
8347 nop
8348 ta T_CHANGE_HPRIV
8349 mov 8, %r18
8350 rd %asi, %r12
8351 wr %r0, 0x41, %asi
8352 set sync_thr_counter4, %r23
8353#ifndef SPC
8354 ldxa [%g0]0x63, %r8
8355 and %r8, 0x38, %r8 ! Core ID
8356 add %r8, %r23, %r23
8357#else
8358 mov 0, %r8
8359#endif
8360 mov 0x40, %r16
8361iaw_startwait40_283:
8362 cas [%r23],%g0,%r16 !lock
8363 brz,a %r16, continue_iaw_40_283
8364 mov (~0x40&0xf0), %r16
8365 ld [%r23], %r16
8366iaw_wait40_283:
8367 brnz %r16, iaw_wait40_283
8368 ld [%r23], %r16
8369 ba iaw_startwait40_283
8370 mov 0x40, %r16
8371continue_iaw_40_283:
8372 sllx %r16, %r8, %r16 !Mask for my core only
8373 ldxa [0x58]%asi, %r17 !Running_status
8374wait_for_stat_40_283:
8375 ldxa [0x50]%asi, %r13 !Running_rw
8376 cmp %r13, %r17
8377 bne,a wait_for_stat_40_283
8378 ldxa [0x58]%asi, %r17 !Running_status
8379 stxa %r16, [0x68]%asi !Park (W1C)
8380 ldxa [0x50]%asi, %r14 !Running_rw
8381wait_for_iaw_40_283:
8382 ldxa [0x58]%asi, %r17 !Running_status
8383 cmp %r14, %r17
8384 bne,a wait_for_iaw_40_283
8385 ldxa [0x50]%asi, %r14 !Running_rw
8386iaw_doit40_283:
8387 mov 0x38, %r18
8388iaw1_40_283:
8389 best_set_reg(0x00000000e1a00000, %r20, %r19)
8390 or %r19, 0x1, %r19
8391 stxa %r19, [%r18]0x50
8392 stxa %r16, [0x60] %asi ! Unpark (W1S)
8393 st %g0, [%r23] !clear lock
8394 wr %r0, %r12, %asi ! restore %asi
8395 ta T_CHANGE_NONHPRIV
8396 .word 0x87ac4a53 ! 341: FCMPd fcmpd %fcc<n>, %f48, %f50
8397 .word 0xd847e048 ! 342: LDSW_I ldsw [%r31 + 0x0048], %r12
8398 .word 0x9194c00c ! 343: WRPR_PIL_R wrpr %r19, %r12, %pil
8399 .word 0xd837e0ae ! 344: STH_I sth %r12, [%r31 + 0x00ae]
8400ibp_40_285:
8401 nop
8402 .word 0xa7b4c7d4 ! 345: PDIST pdistn %d50, %d20, %d50
8403 bvs,a skip_40_286
8404 bleu skip_40_286
8405.align 512
8406skip_40_286:
8407 .word 0x93a149c5 ! 346: FDIVd fdivd %f36, %f36, %f40
8408 .word 0xd337e181 ! 347: STQF_I - %f9, [0x0181, %r31]
8409donret_40_287:
8410 nop
8411 ta T_CHANGE_HPRIV ! macro
8412 rd %pc, %r12
8413 add %r12, (donretarg_40_287-donret_40_287-4), %r12
8414 mov 0x38, %r18
8415 stxa %r12, [%r18]0x58
8416 add %r12, 0x4, %r11
8417 wrpr %g0, 0x1, %tl
8418 wrpr %g0, %r12, %tpc
8419 wrpr %g0, %r11, %tnpc
8420 set (0x00b6dddd | (0x80 << 24)), %r13
8421 rdpr %tstate, %r16
8422 mov 0x1f, %r19
8423 and %r19, %r16, %r17
8424 andn %r16, %r19, %r16
8425 or %r16, %r17, %r20
8426 wrpr %r20, %g0, %tstate
8427 wrhpr %g0, 0x15f7, %htstate
8428 ta T_CHANGE_NONHPRIV ! rand=1 (40)
8429 .word 0x2cccc001 ! 1: BRGZ brgz,a,pt %r19,<label_0xcc001>
8430 done
8431donretarg_40_287:
8432 .word 0xd2ffe0b8 ! 348: SWAPA_I swapa %r9, [%r31 + 0x00b8] %asi
8433 .word 0xd28008a0 ! 349: LDUWA_R lduwa [%r0, %r0] 0x45, %r9
8434 .word 0x8d802004 ! 350: WRFPRS_I wr %r0, 0x0004, %fprs
8435dvapa_40_288:
8436 nop
8437 ta T_CHANGE_HPRIV
8438 mov 0x952, %r20
8439 mov 0x10, %r19
8440 sllx %r20, 23, %r20
8441 or %r19, %r20, %r19
8442 stxa %r19, [%g0] ASI_LSU_CONTROL
8443 mov 0x38, %r18
8444 stxa %r31, [%r18]0x58
8445 ta T_CHANGE_NONHPRIV
8446 .word 0xd31fc008 ! 351: LDDF_R ldd [%r31, %r8], %f9
8447 .word 0xa3a00168 ! 352: FABSq dis not found
8448
8449iaw_40_290:
8450 nop
8451 ta T_CHANGE_HPRIV
8452 mov 8, %r18
8453 rd %asi, %r12
8454 wr %r0, 0x41, %asi
8455 set sync_thr_counter4, %r23
8456#ifndef SPC
8457 ldxa [%g0]0x63, %r8
8458 and %r8, 0x38, %r8 ! Core ID
8459 add %r8, %r23, %r23
8460#else
8461 mov 0, %r8
8462#endif
8463 mov 0x40, %r16
8464iaw_startwait40_290:
8465 cas [%r23],%g0,%r16 !lock
8466 brz,a %r16, continue_iaw_40_290
8467 mov (~0x40&0xf0), %r16
8468 ld [%r23], %r16
8469iaw_wait40_290:
8470 brnz %r16, iaw_wait40_290
8471 ld [%r23], %r16
8472 ba iaw_startwait40_290
8473 mov 0x40, %r16
8474continue_iaw_40_290:
8475 sllx %r16, %r8, %r16 !Mask for my core only
8476 ldxa [0x58]%asi, %r17 !Running_status
8477wait_for_stat_40_290:
8478 ldxa [0x50]%asi, %r13 !Running_rw
8479 cmp %r13, %r17
8480 bne,a wait_for_stat_40_290
8481 ldxa [0x58]%asi, %r17 !Running_status
8482 stxa %r16, [0x68]%asi !Park (W1C)
8483 ldxa [0x50]%asi, %r14 !Running_rw
8484wait_for_iaw_40_290:
8485 ldxa [0x58]%asi, %r17 !Running_status
8486 cmp %r14, %r17
8487 bne,a wait_for_iaw_40_290
8488 ldxa [0x50]%asi, %r14 !Running_rw
8489iaw_doit40_290:
8490 mov 0x38, %r18
8491iaw1_40_290:
8492 best_set_reg(0x00000000e0a00000, %r20, %r19)
8493 or %r19, 0x1, %r19
8494 stxa %r19, [%r18]0x50
8495 stxa %r16, [0x60] %asi ! Unpark (W1S)
8496 st %g0, [%r23] !clear lock
8497 wr %r0, %r12, %asi ! restore %asi
8498 ta T_CHANGE_NONHPRIV
8499 .word 0xc1bfe060 ! 353: STDFA_I stda %f0, [0x0060, %r31]
8500brcommon2_40_291:
8501 nop
8502 setx common_target, %r12, %r27
8503 ba,a .+12
8504 .word 0x81dfc00d ! 1: FLUSH_R flush
8505 ba,a .+8
8506 jmpl %r27+0, %r27
8507 .word 0xc1bfda00 ! 354: STDFA_R stda %f0, [%r0, %r31]
8508donret_40_292:
8509 nop
8510 ta T_CHANGE_HPRIV ! macro
8511 rd %pc, %r12
8512 add %r12, (donretarg_40_292-donret_40_292-8), %r12
8513 mov 0x38, %r18
8514 stxa %r12, [%r18]0x58
8515 add %r12, 0x4, %r11
8516 wrpr %g0, 0x1, %tl
8517 wrpr %g0, %r12, %tpc
8518 wrpr %g0, %r11, %tnpc
8519 set (0x0064deea | (4 << 24)), %r13
8520 rdpr %tstate, %r16
8521 mov 0x1f, %r19
8522 and %r19, %r16, %r17
8523 andn %r16, %r19, %r16
8524 or %r16, %r17, %r20
8525 wrpr %r20, %g0, %tstate
8526 wrhpr %g0, 0x1cd9, %htstate
8527 ta T_CHANGE_NONHPRIV ! rand=1 (40)
8528 retry
8529donretarg_40_292:
8530 .word 0x99a349d4 ! 355: FDIVd fdivd %f44, %f20, %f12
8531pmu_40_293:
8532 nop
8533 setx 0xfffff578fffffd58, %g1, %g7
8534 .word 0xa3800007 ! 356: WR_PERF_COUNTER_R wr %r0, %r7, %-
8535donret_40_294:
8536 nop
8537 ta T_CHANGE_HPRIV ! macro
8538 rd %pc, %r12
8539 add %r12, (donretarg_40_294-donret_40_294-8), %r12
8540 mov 0x38, %r18
8541 stxa %r12, [%r18]0x58
8542 add %r12, 0x4, %r11
8543 wrpr %g0, 0x1, %tl
8544 wrpr %g0, %r12, %tpc
8545 wrpr %g0, %r11, %tnpc
8546 set (0x00db036c | (0x55 << 24)), %r13
8547 rdpr %tstate, %r16
8548 mov 0x1f, %r19
8549 and %r19, %r16, %r17
8550 andn %r16, %r19, %r16
8551 or %r16, %r17, %r20
8552 wrpr %r20, %g0, %tstate
8553 wrhpr %g0, 0x1347, %htstate
8554 ta T_CHANGE_NONHPRIV ! rand=1 (40)
8555 retry
8556donretarg_40_294:
8557 .word 0xe46fe1d3 ! 357: LDSTUB_I ldstub %r18, [%r31 + 0x01d3]
8558 nop
8559 ta T_CHANGE_HPRIV
8560 mov 0x40, %r10
8561 set sync_thr_counter6, %r23
8562#ifndef SPC
8563 ldxa [%g0]0x63, %o1
8564 and %o1, 0x38, %o1
8565 add %o1, %r23, %r23
8566#endif
8567 cas [%r23],%g0,%r10 !lock
8568 brnz %r10, sma_40_295
8569 rd %asi, %r12
8570 wr %g0, 0x40, %asi
8571 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
8572 set 0x001e1fff, %g1
8573 stxa %g1, [%g0 + 0x80] %asi
8574 wr %r12, %g0, %asi
8575 st %g0, [%r23]
8576sma_40_295:
8577 ta T_CHANGE_NONHPRIV
8578 .word 0xe5e7e00b ! 358: CASA_R casa [%r31] %asi, %r11, %r18
8579 .word 0x22800001 ! 359: BE be,a <label_0x1>
8580 nop
8581 ta T_CHANGE_HPRIV
8582 mov 0x40+1, %r10
8583 set sync_thr_counter5, %r23
8584#ifndef SPC
8585 ldxa [%g0]0x63, %o1
8586 and %o1, 0x38, %o1
8587 add %o1, %r23, %r23
8588#endif
8589 cas [%r23],%g0,%r10 !lock
8590 brnz %r10, cwq_40_296
8591 rd %asi, %r12
8592 wr %g0, 0x40, %asi
8593 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
8594 and %l1, 0x3, %l1 ! Check if busy/enabled ..
8595 cmp %l1, 1
8596 bne cwq_40_296
8597 set CWQ_BASE, %l6
8598 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
8599 best_set_reg(0x206100a0, %l1, %l2) !# Control Word
8600 sllx %l2, 32, %l2
8601 stx %l2, [%l6 + 0x0]
8602 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
8603 sub %l2, 0x40, %l2
8604 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
8605 wr %r12, %g0, %asi
8606 st %g0, [%r23]
8607cwq_40_296:
8608 ta T_CHANGE_NONHPRIV
8609 .word 0xa5414000 ! 360: RDPC rd %pc, %r18
8610splash_cmpr_40_297:
8611 mov 1, %r18
8612 sllx %r18, 63, %r18
8613 rd %tick, %r17
8614 add %r17, 0x60, %r17
8615 or %r17, %r18, %r17
8616 ta T_CHANGE_PRIV
8617 .word 0xaf800011 ! 361: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
8618mondo_40_298:
8619 nop
8620 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
8621 ta T_CHANGE_PRIV
8622 stxa %r17, [%r0+0x3e0] %asi
8623 .word 0x9d930006 ! 362: WRPR_WSTATE_R wrpr %r12, %r6, %wstate
8624brcommon3_40_299:
8625 nop
8626 setx common_target, %r12, %r27
8627 lduw [%r27], %r12 ! Load common dest into dcache ..
8628 ba,a .+12
8629 .word 0xdb37c011 ! 1: STQF_R - %f13, [%r17, %r31]
8630 ba,a .+8
8631 jmpl %r27+0, %r27
8632 .word 0xdbe7e009 ! 363: CASA_R casa [%r31] %asi, %r9, %r13
8633intveclr_40_300:
8634 nop
8635 ta T_CHANGE_HPRIV
8636 setx 0x825aa366f00bfc77, %r1, %r28
8637 stxa %r28, [%g0] 0x72
8638 ta T_CHANGE_NONHPRIV
8639 .word 0x25400001 ! 364: FBPLG fblg,a,pn %fcc0, <label_0x1>
8640 .word 0x89800011 ! 365: WRTICK_R wr %r0, %r17, %tick
8641splash_lsu_40_302:
8642 nop
8643 ta T_CHANGE_HPRIV
8644 set 0xd53203d1, %r2
8645 mov 0x4, %r1
8646 sllx %r1, 32, %r1
8647 or %r1, %r2, %r2
8648 stxa %r2, [%r0] ASI_LSU_CONTROL
8649 .word 0x3d400001 ! 366: FBPULE fbule,a,pn %fcc0, <label_0x1>
8650 nop
8651 ta T_CHANGE_HPRIV
8652 mov 0x40+1, %r10
8653 set sync_thr_counter5, %r23
8654#ifndef SPC
8655 ldxa [%g0]0x63, %o1
8656 and %o1, 0x38, %o1
8657 add %o1, %r23, %r23
8658#endif
8659 cas [%r23],%g0,%r10 !lock
8660 brnz %r10, cwq_40_303
8661 rd %asi, %r12
8662 wr %g0, 0x40, %asi
8663 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
8664 and %l1, 0x3, %l1 ! Check if busy/enabled ..
8665 cmp %l1, 1
8666 bne cwq_40_303
8667 set CWQ_BASE, %l6
8668 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
8669 best_set_reg(0x20610050, %l1, %l2) !# Control Word
8670 sllx %l2, 32, %l2
8671 stx %l2, [%l6 + 0x0]
8672 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
8673 sub %l2, 0x40, %l2
8674 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
8675 wr %r12, %g0, %asi
8676 st %g0, [%r23]
8677cwq_40_303:
8678 ta T_CHANGE_NONHPRIV
8679 .word 0x9b414000 ! 367: RDPC rd %pc, %r13
8680 set 0x403, %l3
8681 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
8682 .word 0xa7b507c3 ! 368: PDIST pdistn %d20, %d34, %d50
8683splash_lsu_40_304:
8684 nop
8685 ta T_CHANGE_HPRIV
8686 set 0x70dca7a8, %r2
8687 mov 0x7, %r1
8688 sllx %r1, 32, %r1
8689 or %r1, %r2, %r2
8690 stxa %r2, [%r0] ASI_LSU_CONTROL
8691 ta T_CHANGE_NONHPRIV
8692 .word 0x3d400001 ! 369: FBPULE fbule,a,pn %fcc0, <label_0x1>
8693br_longdelay4_40_305:
8694 nop
8695 not %g0, %r12
8696 jmp %r12
8697 .word 0x9d902002 ! 370: WRPR_WSTATE_I wrpr %r0, 0x0002, %wstate
8698dvapa_40_306:
8699 nop
8700 ta T_CHANGE_HPRIV
8701 mov 0xcbb, %r20
8702 mov 0xa, %r19
8703 sllx %r20, 23, %r20
8704 or %r19, %r20, %r19
8705 stxa %r19, [%g0] ASI_LSU_CONTROL
8706 mov 0x38, %r18
8707 stxa %r31, [%r18]0x58
8708 ta T_CHANGE_NONHPRIV
8709 .word 0x87ac8a52 ! 371: FCMPd fcmpd %fcc<n>, %f18, %f18
8710pmu_40_307:
8711 nop
8712 setx 0xfffff601fffff3b3, %g1, %g7
8713 .word 0xa3800007 ! 372: WR_PERF_COUNTER_R wr %r0, %r7, %-
8714pmu_40_308:
8715 nop
8716 setx 0xfffff608fffff811, %g1, %g7
8717 .word 0xa3800007 ! 373: WR_PERF_COUNTER_R wr %r0, %r7, %-
8718vahole_40_309:
8719 nop
8720 ta T_CHANGE_NONHPRIV
8721 setx vahole_target2, %r18, %r27
8722 jmpl %r27+0, %r27
8723 .word 0xe1bfd920 ! 374: STDFA_R stda %f16, [%r0, %r31]
8724tagged_40_310:
8725 tsubcctv %r8, 0x1f33, %r3
8726 .word 0xd407e111 ! 375: LDUW_I lduw [%r31 + 0x0111], %r10
8727 nop
8728 ta T_CHANGE_HPRIV
8729 mov 0x40+1, %r10
8730 set sync_thr_counter5, %r23
8731#ifndef SPC
8732 ldxa [%g0]0x63, %o1
8733 and %o1, 0x38, %o1
8734 add %o1, %r23, %r23
8735#endif
8736 cas [%r23],%g0,%r10 !lock
8737 brnz %r10, cwq_40_311
8738 rd %asi, %r12
8739 wr %g0, 0x40, %asi
8740 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
8741 and %l1, 0x3, %l1 ! Check if busy/enabled ..
8742 cmp %l1, 1
8743 bne cwq_40_311
8744 set CWQ_BASE, %l6
8745 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
8746 best_set_reg(0x20610000, %l1, %l2) !# Control Word
8747 sllx %l2, 32, %l2
8748 stx %l2, [%l6 + 0x0]
8749 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
8750 sub %l2, 0x40, %l2
8751 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
8752 wr %r12, %g0, %asi
8753 st %g0, [%r23]
8754cwq_40_311:
8755 ta T_CHANGE_NONHPRIV
8756 .word 0xa7414000 ! 376: RDPC rd %pc, %r19
8757trapasi_40_312:
8758 nop
8759 mov 0x38, %r1 ! (VA for ASI 0x5b)
8760 .word 0xd8d84b60 ! 377: LDXA_R ldxa [%r1, %r0] 0x5b, %r12
8761 .word 0x3a800001 ! 1: BCC bcc,a <label_0x1>
8762 .word 0x8d90392d ! 378: WRPR_PSTATE_I wrpr %r0, 0x192d, %pstate
8763iaw_40_314:
8764 nop
8765 ta T_CHANGE_HPRIV
8766 mov 8, %r18
8767 rd %asi, %r12
8768 wr %r0, 0x41, %asi
8769 set sync_thr_counter4, %r23
8770#ifndef SPC
8771 ldxa [%g0]0x63, %r8
8772 and %r8, 0x38, %r8 ! Core ID
8773 add %r8, %r23, %r23
8774#else
8775 mov 0, %r8
8776#endif
8777 mov 0x40, %r16
8778iaw_startwait40_314:
8779 cas [%r23],%g0,%r16 !lock
8780 brz,a %r16, continue_iaw_40_314
8781 mov (~0x40&0xf0), %r16
8782 ld [%r23], %r16
8783iaw_wait40_314:
8784 brnz %r16, iaw_wait40_314
8785 ld [%r23], %r16
8786 ba iaw_startwait40_314
8787 mov 0x40, %r16
8788continue_iaw_40_314:
8789 sllx %r16, %r8, %r16 !Mask for my core only
8790 ldxa [0x58]%asi, %r17 !Running_status
8791wait_for_stat_40_314:
8792 ldxa [0x50]%asi, %r13 !Running_rw
8793 cmp %r13, %r17
8794 bne,a wait_for_stat_40_314
8795 ldxa [0x58]%asi, %r17 !Running_status
8796 stxa %r16, [0x68]%asi !Park (W1C)
8797 ldxa [0x50]%asi, %r14 !Running_rw
8798wait_for_iaw_40_314:
8799 ldxa [0x58]%asi, %r17 !Running_status
8800 cmp %r14, %r17
8801 bne,a wait_for_iaw_40_314
8802 ldxa [0x50]%asi, %r14 !Running_rw
8803iaw_doit40_314:
8804 mov 0x38, %r18
8805iaw1_40_314:
8806 best_set_reg(0x00000000e1a00000, %r20, %r19)
8807 or %r19, 0x1, %r19
8808 stxa %r19, [%r18]0x50
8809 stxa %r16, [0x60] %asi ! Unpark (W1S)
8810 st %g0, [%r23] !clear lock
8811 wr %r0, %r12, %asi ! restore %asi
8812 ta T_CHANGE_NONHPRIV
8813 .word 0xd83ff33a ! 379: STD_I std %r12, [%r31 + 0xfffff33a]
8814mondo_40_315:
8815 nop
8816 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
8817 ta T_CHANGE_PRIV
8818 stxa %r18, [%r0+0x3e0] %asi
8819 .word 0x9d94c012 ! 380: WRPR_WSTATE_R wrpr %r19, %r18, %wstate
8820fpinit_40_316:
8821 setx fp_data_quads, %r19, %r20
8822 ldd [%r20], %f0
8823 ldd [%r20+8], %f4
8824 ld [%r20+16], %fsr
8825 ld [%r20+24], %r19
8826 wr %r19, %g0, %gsr
8827 .word 0x8da009c4 ! 381: FDIVd fdivd %f0, %f4, %f6
8828dvapa_40_317:
8829 nop
8830 ta T_CHANGE_HPRIV
8831 mov 0xf32, %r20
8832 mov 0x14, %r19
8833 sllx %r20, 23, %r20
8834 or %r19, %r20, %r19
8835 stxa %r19, [%g0] ASI_LSU_CONTROL
8836 mov 0x38, %r18
8837 stxa %r31, [%r18]0x58
8838 ta T_CHANGE_NONHPRIV
8839 .word 0xc1bfe160 ! 382: STDFA_I stda %f0, [0x0160, %r31]
8840 .word 0x8d90335d ! 383: WRPR_PSTATE_I wrpr %r0, 0x135d, %pstate
8841pmu_40_319:
8842 nop
8843 setx 0xfffffcdefffff11e, %g1, %g7
8844 .word 0xa3800007 ! 384: WR_PERF_COUNTER_R wr %r0, %r7, %-
8845 .word 0xd8d7e108 ! 385: LDSHA_I ldsha [%r31, + 0x0108] %asi, %r12
8846 .word 0x8d902fff ! 386: WRPR_PSTATE_I wrpr %r0, 0x0fff, %pstate
8847fpinit_40_321:
8848 setx fp_data_quads, %r19, %r20
8849 ldd [%r20], %f0
8850 ldd [%r20+8], %f4
8851 ld [%r20+16], %fsr
8852 ld [%r20+24], %r19
8853 wr %r19, %g0, %gsr
8854 .word 0x87a80a44 ! 387: FCMPd fcmpd %fcc<n>, %f0, %f4
8855 .word 0xe19fdc00 ! 388: LDDFA_R ldda [%r31, %r0], %f16
8856 .word 0x99b44544 ! 389: FCMPEQ16 fcmpeq16 %d48, %d4, %r12
8857donret_40_322:
8858 nop
8859 ta T_CHANGE_HPRIV ! macro
8860 rd %pc, %r12
8861 add %r12, (donretarg_40_322-donret_40_322-8), %r12
8862 mov 0x38, %r18
8863 stxa %r12, [%r18]0x58
8864 add %r12, 0x4, %r11
8865 wrpr %g0, 0x2, %tl
8866 wrpr %g0, %r12, %tpc
8867 wrpr %g0, %r11, %tnpc
8868 set (0x0086456d | (0x83 << 24)), %r13
8869 rdpr %tstate, %r16
8870 mov 0x1f, %r19
8871 and %r19, %r16, %r17
8872 andn %r16, %r19, %r16
8873 or %r16, %r17, %r20
8874 wrpr %r20, %g0, %tstate
8875 wrhpr %g0, 0x150c, %htstate
8876 ta T_CHANGE_NONPRIV ! rand=0 (40)
8877 .word 0x29400001 ! 1: FBPL fbl,a,pn %fcc0, <label_0x1>
8878 retry
8879donretarg_40_322:
8880 .word 0xe8ffe04d ! 390: SWAPA_I swapa %r20, [%r31 + 0x004d] %asi
8881 .word 0xa745c000 ! 391: RD_TICK_CMPR_REG rd %-, %r19
8882 .word 0xab830014 ! 392: WR_CLEAR_SOFTINT_R wr %r12, %r20, %clear_softint
8883 setx 0x441ad17cd25cb22e, %r1, %r28
8884 stxa %r28, [%g0] 0x73
8885intvec_40_323:
8886 .word 0x39400001 ! 393: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
8887iaw_40_324:
8888 nop
8889 ta T_CHANGE_HPRIV
8890 mov 8, %r18
8891 rd %asi, %r12
8892 wr %r0, 0x41, %asi
8893 set sync_thr_counter4, %r23
8894#ifndef SPC
8895 ldxa [%g0]0x63, %r8
8896 and %r8, 0x38, %r8 ! Core ID
8897 add %r8, %r23, %r23
8898#else
8899 mov 0, %r8
8900#endif
8901 mov 0x40, %r16
8902iaw_startwait40_324:
8903 cas [%r23],%g0,%r16 !lock
8904 brz,a %r16, continue_iaw_40_324
8905 mov (~0x40&0xf0), %r16
8906 ld [%r23], %r16
8907iaw_wait40_324:
8908 brnz %r16, iaw_wait40_324
8909 ld [%r23], %r16
8910 ba iaw_startwait40_324
8911 mov 0x40, %r16
8912continue_iaw_40_324:
8913 sllx %r16, %r8, %r16 !Mask for my core only
8914 ldxa [0x58]%asi, %r17 !Running_status
8915wait_for_stat_40_324:
8916 ldxa [0x50]%asi, %r13 !Running_rw
8917 cmp %r13, %r17
8918 bne,a wait_for_stat_40_324
8919 ldxa [0x58]%asi, %r17 !Running_status
8920 stxa %r16, [0x68]%asi !Park (W1C)
8921 ldxa [0x50]%asi, %r14 !Running_rw
8922wait_for_iaw_40_324:
8923 ldxa [0x58]%asi, %r17 !Running_status
8924 cmp %r14, %r17
8925 bne,a wait_for_iaw_40_324
8926 ldxa [0x50]%asi, %r14 !Running_rw
8927iaw_doit40_324:
8928 mov 0x38, %r18
8929iaw2_40_324:
8930 rdpr %tba, %r19
8931 mov 0x120, %r20
8932 sllx %r20, 5, %r20
8933 add %r20, %r19, %r19
8934 stxa %r19, [%r18]0x50
8935 stxa %r16, [0x60] %asi ! Unpark (W1S)
8936 st %g0, [%r23] !clear lock
8937 wr %r0, %r12, %asi ! restore %asi
8938 ta T_CHANGE_NONHPRIV
8939 .word 0xe73fc00d ! 394: STDF_R std %f19, [%r13, %r31]
8940 setx 0x2da05d015dfa926e, %r1, %r28
8941 stxa %r28, [%g0] 0x73
8942intvec_40_325:
8943 .word 0x39400001 ! 395: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
8944 .word 0xa3524000 ! 396: RDPR_CWP rdpr %cwp, %r17
8945dvapa_40_327:
8946 nop
8947 ta T_CHANGE_HPRIV
8948 mov 0x941, %r20
8949 mov 0x4, %r19
8950 sllx %r20, 23, %r20
8951 or %r19, %r20, %r19
8952 stxa %r19, [%g0] ASI_LSU_CONTROL
8953 mov 0x38, %r18
8954 stxa %r31, [%r18]0x58
8955 ta T_CHANGE_NONHPRIV
8956 .word 0xc1bfde00 ! 397: STDFA_R stda %f0, [%r0, %r31]
8957fpinit_40_328:
8958 setx fp_data_quads, %r19, %r20
8959 ldd [%r20], %f0
8960 ldd [%r20+8], %f4
8961 ld [%r20+16], %fsr
8962 ld [%r20+24], %r19
8963 wr %r19, %g0, %gsr
8964 .word 0x89a009c4 ! 398: FDIVd fdivd %f0, %f4, %f4
8965iaw_40_329:
8966 nop
8967 ta T_CHANGE_HPRIV
8968 mov 8, %r18
8969 rd %asi, %r12
8970 wr %r0, 0x41, %asi
8971 set sync_thr_counter4, %r23
8972#ifndef SPC
8973 ldxa [%g0]0x63, %r8
8974 and %r8, 0x38, %r8 ! Core ID
8975 add %r8, %r23, %r23
8976#else
8977 mov 0, %r8
8978#endif
8979 mov 0x40, %r16
8980iaw_startwait40_329:
8981 cas [%r23],%g0,%r16 !lock
8982 brz,a %r16, continue_iaw_40_329
8983 mov (~0x40&0xf0), %r16
8984 ld [%r23], %r16
8985iaw_wait40_329:
8986 brnz %r16, iaw_wait40_329
8987 ld [%r23], %r16
8988 ba iaw_startwait40_329
8989 mov 0x40, %r16
8990continue_iaw_40_329:
8991 sllx %r16, %r8, %r16 !Mask for my core only
8992 ldxa [0x58]%asi, %r17 !Running_status
8993wait_for_stat_40_329:
8994 ldxa [0x50]%asi, %r13 !Running_rw
8995 cmp %r13, %r17
8996 bne,a wait_for_stat_40_329
8997 ldxa [0x58]%asi, %r17 !Running_status
8998 stxa %r16, [0x68]%asi !Park (W1C)
8999 ldxa [0x50]%asi, %r14 !Running_rw
9000wait_for_iaw_40_329:
9001 ldxa [0x58]%asi, %r17 !Running_status
9002 cmp %r14, %r17
9003 bne,a wait_for_iaw_40_329
9004 ldxa [0x50]%asi, %r14 !Running_rw
9005iaw_doit40_329:
9006 mov 0x38, %r18
9007iaw1_40_329:
9008 best_set_reg(0x00000000e0a00000, %r20, %r19)
9009 or %r19, 0x1, %r19
9010 stxa %r19, [%r18]0x50
9011 stxa %r16, [0x60] %asi ! Unpark (W1S)
9012 st %g0, [%r23] !clear lock
9013 wr %r0, %r12, %asi ! restore %asi
9014 ta T_CHANGE_NONHPRIV
9015 .word 0xe71fc013 ! 399: LDDF_R ldd [%r31, %r19], %f19
9016unsupttte_40_330:
9017 nop
9018 ta T_CHANGE_HPRIV
9019 mov 1, %r20
9020 sllx %r20, 63, %r20
9021 or %r20, 2,%r20
9022 stxa %r20, [%g0]0x5c ! D unsupported page size ..
9023 ta T_CHANGE_NONHPRIV
9024 .word 0x99a509a8 ! 400: FDIVs fdivs %f20, %f8, %f12
9025vahole_40_331:
9026 nop
9027 ta T_CHANGE_NONHPRIV
9028 setx vahole_target2, %r18, %r27
9029 jmpl %r27+0, %r27
9030 .word 0xe19fdb60 ! 401: LDDFA_R ldda [%r31, %r0], %f16
9031 nop
9032 nop
9033 ta T_CHANGE_PRIV
9034 wrpr %g0, %g0, %gl
9035 nop
9036 nop
9037 setx join_lbl_0_0, %g1, %g2
9038 jmp %g2
9039 nop
9040fork_lbl_0_6:
9041 ta T_CHANGE_NONHPRIV
9042 .word 0xe8800c80 ! 1: LDUWA_R lduwa [%r0, %r0] 0x64, %r20
9043 .word 0x91a0016a ! 2: FABSq dis not found
9044
9045ibp_20_1:
9046 nop
9047 ta T_CHANGE_NONHPRIV
9048 .word 0xe29fc02a ! 3: LDDA_R ldda [%r31, %r10] 0x01, %r17
9049donret_20_2:
9050 nop
9051 ta T_CHANGE_HPRIV ! macro
9052 rd %pc, %r12
9053 add %r12, (donretarg_20_2-donret_20_2-8), %r12
9054 mov 0x38, %r18
9055 stxa %r12, [%r18]0x58
9056 add %r12, 0x4, %r11
9057 wrpr %g0, 0x2, %tl
9058 wrpr %g0, %r12, %tpc
9059 wrpr %g0, %r11, %tnpc
9060 set (0x00c71481 | (0x4f << 24)), %r13
9061 rdpr %tstate, %r16
9062 mov 0x1f, %r19
9063 and %r19, %r16, %r17
9064 andn %r16, %r19, %r16
9065 or %r16, %r17, %r20
9066 wrpr %r20, %g0, %tstate
9067 wrhpr %g0, 0xd14, %htstate
9068 ta T_CHANGE_NONHPRIV ! rand=1 (20)
9069 .word 0x34800001 ! 1: BG bg,a <label_0x1>
9070 retry
9071donretarg_20_2:
9072 .word 0xe26fe11c ! 4: LDSTUB_I ldstub %r17, [%r31 + 0x011c]
9073 setx 0x4613d98bd6d80ebc, %r1, %r28
9074 stxa %r28, [%g0] 0x73
9075intvec_20_3:
9076 .word 0x39400001 ! 5: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
9077mondo_20_4:
9078 nop
9079 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9080 stxa %r1, [%r0+0x3e0] %asi
9081 .word 0x9d914002 ! 6: WRPR_WSTATE_R wrpr %r5, %r2, %wstate
9082pmu_20_5:
9083 nop
9084 ta T_CHANGE_PRIV
9085 setx 0xfffff7c0fffff33b, %g1, %g7
9086 .word 0xa3800007 ! 7: WR_PERF_COUNTER_R wr %r0, %r7, %-
9087 .word 0x96fa7616 ! 8: SDIVcc_I sdivcc %r9, 0xfffff616, %r11
9088splash_cmpr_20_6:
9089 mov 1, %r18
9090 sllx %r18, 63, %r18
9091 rd %tick, %r17
9092 add %r17, 0x80, %r17
9093 or %r17, %r18, %r17
9094 ta T_CHANGE_HPRIV
9095 wrhpr %r17, %g0, %hsys_tick_cmpr
9096 ta T_CHANGE_PRIV
9097 .word 0xaf800011 ! 9: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
9098 nop
9099 ta T_CHANGE_HPRIV
9100 mov 0x20+1, %r10
9101 set sync_thr_counter5, %r23
9102#ifndef SPC
9103 ldxa [%g0]0x63, %o1
9104 and %o1, 0x38, %o1
9105 add %o1, %r23, %r23
9106#endif
9107 cas [%r23],%g0,%r10 !lock
9108 brnz %r10, cwq_20_7
9109 rd %asi, %r12
9110 wr %g0, 0x40, %asi
9111 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
9112 and %l1, 0x3, %l1 ! Check if busy/enabled ..
9113 cmp %l1, 1
9114 bne cwq_20_7
9115 set CWQ_BASE, %l6
9116 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
9117 best_set_reg(0x206100f0, %l1, %l2) !# Control Word
9118 sllx %l2, 32, %l2
9119 stx %l2, [%l6 + 0x0]
9120 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
9121 sub %l2, 0x40, %l2
9122 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
9123 wr %r12, %g0, %asi
9124 st %g0, [%r23]
9125cwq_20_7:
9126 ta T_CHANGE_NONHPRIV
9127 .word 0xa1414000 ! 10: RDPC rd %pc, %r16
9128pmu_20_8:
9129 nop
9130 setx 0xfffff253fffff54e, %g1, %g7
9131 .word 0xa3800007 ! 11: WR_PERF_COUNTER_R wr %r0, %r7, %-
9132 .word 0xa5a00172 ! 12: FABSq dis not found
9133
9134ibp_20_10:
9135 nop
9136 .word 0xe19fd920 ! 13: LDDFA_R ldda [%r31, %r0], %f16
9137trapasi_20_11:
9138 nop
9139 mov 0x20, %r1 ! (VA for ASI 0x4c)
9140 .word 0xe2904980 ! 14: LDUHA_R lduha [%r1, %r0] 0x4c, %r17
9141splash_cmpr_20_12:
9142 mov 1, %r18
9143 sllx %r18, 63, %r18
9144 rd %tick, %r17
9145 add %r17, 0x50, %r17
9146 or %r17, %r18, %r17
9147 .word 0xb3800011 ! 15: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
9148 .word 0xa1703a91 ! 16: POPC_I popc 0x1a91, %r16
9149pmu_20_14:
9150 nop
9151 setx 0xfffff946fffff880, %g1, %g7
9152 .word 0xa3800007 ! 17: WR_PERF_COUNTER_R wr %r0, %r7, %-
9153 .word 0x25400001 ! 1: FBPLG fblg,a,pn %fcc0, <label_0x1>
9154 .word 0x8d902c6e ! 18: WRPR_PSTATE_I wrpr %r0, 0x0c6e, %pstate
9155splash_cmpr_20_16:
9156 mov 1, %r18
9157 sllx %r18, 63, %r18
9158 rd %tick, %r17
9159 add %r17, 0x80, %r17
9160 or %r17, %r18, %r17
9161 ta T_CHANGE_HPRIV
9162 wrhpr %r17, %g0, %hsys_tick_cmpr
9163 .word 0xaf800011 ! 19: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
9164 .word 0xd01fc000 ! 20: LDD_R ldd [%r31 + %r0], %r8
9165splash_lsu_20_17:
9166 nop
9167 ta T_CHANGE_HPRIV
9168 set 0xb4569103, %r2
9169 mov 0x7, %r1
9170 sllx %r1, 32, %r1
9171 or %r1, %r2, %r2
9172 stxa %r2, [%r0] ASI_LSU_CONTROL
9173 ta T_CHANGE_NONHPRIV
9174 .word 0x3d400001 ! 21: FBPULE fbule,a,pn %fcc0, <label_0x1>
9175ibp_20_18:
9176 nop
9177 .word 0xa5a1c9ad ! 22: FDIVs fdivs %f7, %f13, %f18
9178fpinit_20_19:
9179 setx fp_data_quads, %r19, %r20
9180 ldd [%r20], %f0
9181 ldd [%r20+8], %f4
9182 ld [%r20+16], %fsr
9183 ld [%r20+24], %r19
9184 wr %r19, %g0, %gsr
9185 .word 0x87a80a44 ! 23: FCMPd fcmpd %fcc<n>, %f0, %f4
9186mondo_20_20:
9187 nop
9188 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9189 ta T_CHANGE_PRIV
9190 stxa %r20, [%r0+0x3c8] %asi
9191 .word 0x9d90400d ! 24: WRPR_WSTATE_R wrpr %r1, %r13, %wstate
9192intveclr_20_21:
9193 nop
9194 ta T_CHANGE_HPRIV
9195 setx 0xba8d7b8b7bcb6f85, %r1, %r28
9196 stxa %r28, [%g0] 0x72
9197 .word 0x25400001 ! 25: FBPLG fblg,a,pn %fcc0, <label_0x1>
9198pmu_20_22:
9199 nop
9200 ta T_CHANGE_PRIV
9201 setx 0xfffff760fffff5f7, %g1, %g7
9202 .word 0xa3800007 ! 26: WR_PERF_COUNTER_R wr %r0, %r7, %-
9203splash_tba_20_23:
9204 ta T_CHANGE_PRIV
9205 setx 0x00000004003a0000, %r11, %r12
9206 .word 0x8b90000c ! 27: WRPR_TBA_R wrpr %r0, %r12, %tba
9207trapasi_20_24:
9208 nop
9209 mov 0x8, %r1 ! (VA for ASI 0x4c)
9210 .word 0xdad84980 ! 28: LDXA_R ldxa [%r1, %r0] 0x4c, %r13
9211 .word 0x8780208a ! 29: WRASI_I wr %r0, 0x008a, %asi
9212ibp_20_25:
9213 nop
9214 ta T_CHANGE_NONHPRIV
9215 .word 0xc19fdc00 ! 30: LDDFA_R ldda [%r31, %r0], %f0
9216dvapa_20_26:
9217 nop
9218 ta T_CHANGE_HPRIV
9219 mov 0xa7f, %r20
9220 mov 0x8, %r19
9221 sllx %r20, 23, %r20
9222 or %r19, %r20, %r19
9223 stxa %r19, [%g0] ASI_LSU_CONTROL
9224 mov 0x38, %r18
9225 stxa %r31, [%r18]0x58
9226 ta T_CHANGE_NONHPRIV
9227 .word 0xdb1fc00d ! 31: LDDF_R ldd [%r31, %r13], %f13
9228 nop
9229 ta T_CHANGE_HPRIV
9230 mov 0x20+1, %r10
9231 set sync_thr_counter5, %r23
9232#ifndef SPC
9233 ldxa [%g0]0x63, %o1
9234 and %o1, 0x38, %o1
9235 add %o1, %r23, %r23
9236#endif
9237 cas [%r23],%g0,%r10 !lock
9238 brnz %r10, cwq_20_27
9239 rd %asi, %r12
9240 wr %g0, 0x40, %asi
9241 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
9242 and %l1, 0x3, %l1 ! Check if busy/enabled ..
9243 cmp %l1, 1
9244 bne cwq_20_27
9245 set CWQ_BASE, %l6
9246 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
9247 best_set_reg(0x20610000, %l1, %l2) !# Control Word
9248 sllx %l2, 32, %l2
9249 stx %l2, [%l6 + 0x0]
9250 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
9251 sub %l2, 0x40, %l2
9252 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
9253 wr %r12, %g0, %asi
9254 st %g0, [%r23]
9255cwq_20_27:
9256 ta T_CHANGE_NONHPRIV
9257 .word 0x91414000 ! 32: RDPC rd %pc, %r8
9258 .word 0x8d903e38 ! 33: WRPR_PSTATE_I wrpr %r0, 0x1e38, %pstate
9259 .word 0xa3a00167 ! 34: FABSq dis not found
9260
9261#if (defined SPC || defined CMP)
9262!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_20_30) + 48, 16, 16)) -> intp(6,0,8)
9263!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_20_30)&0xffffffff) + 48, 16, 16)) -> intp(6,0,8)
9264#else
9265 setx 0x5abfd742eeb9e136, %r1, %r28
9266 stxa %r28, [%g0] 0x73
9267#endif
9268intvec_20_30:
9269 .word 0x39400001 ! 35: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
9270tglhtw_20_31:
9271 nop
9272 rd %asi, %l3 ! save %asi
9273 ta T_CHANGE_HPRIV
9274 wr %g0, ASI_MMU_ZERO_CONTEXT_TSB_CONFIG, %asi
9275 mov 1, %l2
9276 sllx %l2, 63, %l2
9277 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
9278 xor %l4, %l2, %l4
9279 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi
9280 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
9281 xor %l4, %l2, %l4
9282 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi
9283 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
9284 xor %l4, %l2, %l4
9285 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi
9286 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
9287 xor %l4, %l2, %l4
9288 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi
9289 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
9290 xor %l4, %l2, %l4
9291 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi
9292 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
9293 xor %l4, %l2, %l4
9294 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi
9295 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
9296 xor %l4, %l2, %l4
9297 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi
9298 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
9299 xor %l4, %l2, %l4
9300 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi
9301 ta T_CHANGE_NONHPRIV
9302 wr %g0, %l3, %asi !restore %asi
9303 .word 0xa3b50992 ! 36: BSHUFFLE fmovc32 %d20, %d18, %d48
9304 .word 0x8d802004 ! 37: WRFPRS_I wr %r0, 0x0004, %fprs
9305 .word 0xd44fe068 ! 38: LDSB_I ldsb [%r31 + 0x0068], %r10
9306splash_cmpr_20_32:
9307 mov 1, %r18
9308 sllx %r18, 63, %r18
9309 rd %tick, %r17
9310 add %r17, 0x80, %r17
9311 or %r17, %r18, %r17
9312 ta T_CHANGE_HPRIV
9313 wrhpr %r17, %g0, %hsys_tick_cmpr
9314 .word 0xaf800011 ! 39: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
9315 setx 0x5b416c71c5729867, %r1, %r28
9316 stxa %r28, [%g0] 0x73
9317intvec_20_33:
9318 .word 0x39400001 ! 40: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
9319 .word 0x8d802000 ! 41: WRFPRS_I wr %r0, 0x0000, %fprs
9320pmu_20_34:
9321 nop
9322 setx 0xfffffb0dfffff641, %g1, %g7
9323 .word 0xa3800007 ! 42: WR_PERF_COUNTER_R wr %r0, %r7, %-
9324jmptr_20_35:
9325 nop
9326 best_set_reg(0xe1a00000, %r20, %r27)
9327 .word 0xb7c6c000 ! 43: JMPL_R jmpl %r27 + %r0, %r27
9328 .word 0xd4c7e0a8 ! 44: LDSWA_I ldswa [%r31, + 0x00a8] %asi, %r10
9329 .word 0xc30fc000 ! 45: LDXFSR_R ld-fsr [%r31, %r0], %f1
9330fpinit_20_36:
9331 setx fp_data_quads, %r19, %r20
9332 ldd [%r20], %f0
9333 ldd [%r20+8], %f4
9334 ld [%r20+16], %fsr
9335 ld [%r20+24], %r19
9336 wr %r19, %g0, %gsr
9337 .word 0x87a80a44 ! 46: FCMPd fcmpd %fcc<n>, %f0, %f4
9338cwp_20_37:
9339 set user_data_start, %o7
9340 .word 0x93902007 ! 47: WRPR_CWP_I wrpr %r0, 0x0007, %cwp
9341ibp_20_38:
9342 nop
9343 .word 0xd49fc032 ! 48: LDDA_R ldda [%r31, %r18] 0x01, %r10
9344pmu_20_39:
9345 nop
9346 setx 0xfffff3b9fffff91c, %g1, %g7
9347 .word 0xa3800007 ! 49: WR_PERF_COUNTER_R wr %r0, %r7, %-
9348fpinit_20_40:
9349 setx fp_data_quads, %r19, %r20
9350 ldd [%r20], %f0
9351 ldd [%r20+8], %f4
9352 ld [%r20+16], %fsr
9353 ld [%r20+24], %r19
9354 wr %r19, %g0, %gsr
9355 .word 0x8db00484 ! 50: FCMPLE32 fcmple32 %d0, %d4, %r6
9356 nop
9357 ta T_CHANGE_HPRIV
9358 mov 0x20+1, %r10
9359 set sync_thr_counter5, %r23
9360#ifndef SPC
9361 ldxa [%g0]0x63, %o1
9362 and %o1, 0x38, %o1
9363 add %o1, %r23, %r23
9364#endif
9365 cas [%r23],%g0,%r10 !lock
9366 brnz %r10, cwq_20_41
9367 rd %asi, %r12
9368 wr %g0, 0x40, %asi
9369 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
9370 and %l1, 0x3, %l1 ! Check if busy/enabled ..
9371 cmp %l1, 1
9372 bne cwq_20_41
9373 set CWQ_BASE, %l6
9374 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
9375 best_set_reg(0x20610050, %l1, %l2) !# Control Word
9376 sllx %l2, 32, %l2
9377 stx %l2, [%l6 + 0x0]
9378 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
9379 sub %l2, 0x40, %l2
9380 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
9381 wr %r12, %g0, %asi
9382 st %g0, [%r23]
9383cwq_20_41:
9384 ta T_CHANGE_NONHPRIV
9385 .word 0xa3414000 ! 51: RDPC rd %pc, %r17
9386 .word 0x91940007 ! 52: WRPR_PIL_R wrpr %r16, %r7, %pil
9387mondo_20_43:
9388 nop
9389 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9390 ta T_CHANGE_PRIV
9391 stxa %r16, [%r0+0x3e0] %asi
9392 .word 0x9d90c001 ! 53: WRPR_WSTATE_R wrpr %r3, %r1, %wstate
9393dvapa_20_44:
9394 nop
9395 ta T_CHANGE_HPRIV
9396 mov 0xe17, %r20
9397 mov 0xa, %r19
9398 sllx %r20, 23, %r20
9399 or %r19, %r20, %r19
9400 stxa %r19, [%g0] ASI_LSU_CONTROL
9401 mov 0x38, %r18
9402 stxa %r31, [%r18]0x58
9403 ta T_CHANGE_NONHPRIV
9404 .word 0xe1bfd920 ! 54: STDFA_R stda %f16, [%r0, %r31]
9405ibp_20_45:
9406 nop
9407 ta T_CHANGE_NONHPRIV
9408 .word 0xc19fdf20 ! 55: LDDFA_R ldda [%r31, %r0], %f0
9409 nop
9410 ta T_CHANGE_HPRIV
9411 mov 0x20, %r10
9412 set sync_thr_counter6, %r23
9413#ifndef SPC
9414 ldxa [%g0]0x63, %o1
9415 and %o1, 0x38, %o1
9416 add %o1, %r23, %r23
9417#endif
9418 cas [%r23],%g0,%r10 !lock
9419 brnz %r10, sma_20_46
9420 rd %asi, %r12
9421 wr %g0, 0x40, %asi
9422 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
9423 set 0x00161fff, %g1
9424 stxa %g1, [%g0 + 0x80] %asi
9425 wr %r12, %g0, %asi
9426 st %g0, [%r23]
9427sma_20_46:
9428 ta T_CHANGE_NONHPRIV
9429 .word 0xe9e7e00d ! 56: CASA_R casa [%r31] %asi, %r13, %r20
9430 .word 0x29400001 ! 1: FBPL fbl,a,pn %fcc0, <label_0x1>
9431 .word 0x8d90352d ! 57: WRPR_PSTATE_I wrpr %r0, 0x152d, %pstate
9432splash_lsu_20_48:
9433 nop
9434 ta T_CHANGE_HPRIV
9435 set 0x36e516c7, %r2
9436 mov 0x4, %r1
9437 sllx %r1, 32, %r1
9438 or %r1, %r2, %r2
9439 stxa %r2, [%r0] ASI_LSU_CONTROL
9440 ta T_CHANGE_NONHPRIV
9441 .word 0x3d400001 ! 58: FBPULE fbule,a,pn %fcc0, <label_0x1>
9442 setx vahole_target2, %r18, %r27
9443 .word 0xa7b44494 ! 59: FCMPLE32 fcmple32 %d48, %d20, %r19
9444splash_hpstate_20_50:
9445 ta T_CHANGE_NONHPRIV
9446 .word 0x29400001 ! 1: FBPL fbl,a,pn %fcc0, <label_0x1>
9447 .word 0x81982455 ! 60: WRHPR_HPSTATE_I wrhpr %r0, 0x0455, %hpstate
9448 setx vahole_target0, %r18, %r27
9449 .word 0xc19fdc00 ! 61: LDDFA_R ldda [%r31, %r0], %f0
9450splash_lsu_20_52:
9451 nop
9452 ta T_CHANGE_HPRIV
9453 set 0xb7d897ca, %r2
9454 mov 0x1, %r1
9455 sllx %r1, 32, %r1
9456 or %r1, %r2, %r2
9457 stxa %r2, [%r0] ASI_LSU_CONTROL
9458 ta T_CHANGE_NONHPRIV
9459 .word 0x3d400001 ! 62: FBPULE fbule,a,pn %fcc0, <label_0x1>
9460 nop
9461 ta T_CHANGE_HPRIV
9462 mov 0x20+1, %r10
9463 set sync_thr_counter5, %r23
9464#ifndef SPC
9465 ldxa [%g0]0x63, %o1
9466 and %o1, 0x38, %o1
9467 add %o1, %r23, %r23
9468#endif
9469 cas [%r23],%g0,%r10 !lock
9470 brnz %r10, cwq_20_53
9471 rd %asi, %r12
9472 wr %g0, 0x40, %asi
9473 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
9474 and %l1, 0x3, %l1 ! Check if busy/enabled ..
9475 cmp %l1, 1
9476 bne cwq_20_53
9477 set CWQ_BASE, %l6
9478 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
9479 best_set_reg(0x206100b0, %l1, %l2) !# Control Word
9480 sllx %l2, 32, %l2
9481 stx %l2, [%l6 + 0x0]
9482 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
9483 sub %l2, 0x40, %l2
9484 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
9485 wr %r12, %g0, %asi
9486 st %g0, [%r23]
9487cwq_20_53:
9488 ta T_CHANGE_NONHPRIV
9489 .word 0x99414000 ! 63: RDPC rd %pc, %r12
9490cwp_20_54:
9491 set user_data_start, %o7
9492 .word 0x93902006 ! 64: WRPR_CWP_I wrpr %r0, 0x0006, %cwp
9493 setx 0xf1c16e2acd91624d, %r1, %r28
9494 stxa %r28, [%g0] 0x73
9495intvec_20_55:
9496 .word 0x39400001 ! 65: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
9497 setx vahole_target1, %r18, %r27
9498 .word 0xd49fc034 ! 66: LDDA_R ldda [%r31, %r20] 0x01, %r10
9499 .word 0x89800011 ! 67: WRTICK_R wr %r0, %r17, %tick
9500tagged_20_58:
9501 tsubcctv %r4, 0x1640, %r10
9502 .word 0xd407e1eb ! 68: LDUW_I lduw [%r31 + 0x01eb], %r10
9503jmptr_20_59:
9504 nop
9505 best_set_reg(0xe1a00000, %r20, %r27)
9506 .word 0xb7c6c000 ! 69: JMPL_R jmpl %r27 + %r0, %r27
9507mondo_20_60:
9508 nop
9509 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9510 stxa %r4, [%r0+0x3d0] %asi
9511 .word 0x9d92c014 ! 70: WRPR_WSTATE_R wrpr %r11, %r20, %wstate
9512donret_20_61:
9513 nop
9514 ta T_CHANGE_HPRIV ! macro
9515 rd %pc, %r12
9516 add %r12, (donretarg_20_61-donret_20_61-4), %r12
9517 mov 0x38, %r18
9518 stxa %r12, [%r18]0x58
9519 add %r12, 0x4, %r11
9520 wrpr %g0, 0x1, %tl
9521 wrpr %g0, %r12, %tpc
9522 wrpr %g0, %r11, %tnpc
9523 set (0x0033836e | (0x8a << 24)), %r13
9524 rdpr %tstate, %r16
9525 mov 0x1f, %r19
9526 and %r19, %r16, %r17
9527 andn %r16, %r19, %r16
9528 or %r16, %r17, %r20
9529 wrpr %r20, %g0, %tstate
9530 wrhpr %g0, 0x174f, %htstate
9531 ta T_CHANGE_NONPRIV ! rand=0 (20)
9532 done
9533donretarg_20_61:
9534 .word 0xd4ffe174 ! 71: SWAPA_I swapa %r10, [%r31 + 0x0174] %asi
9535ibp_20_62:
9536 nop
9537 .word 0x87ac0a44 ! 72: FCMPd fcmpd %fcc<n>, %f16, %f4
9538 .word 0x28800001 ! 1: BLEU bleu,a <label_0x1>
9539 .word 0x8d902a25 ! 73: WRPR_PSTATE_I wrpr %r0, 0x0a25, %pstate
9540dvapa_20_64:
9541 nop
9542 ta T_CHANGE_HPRIV
9543 mov 0xc54, %r20
9544 mov 0x1f, %r19
9545 sllx %r20, 23, %r20
9546 or %r19, %r20, %r19
9547 stxa %r19, [%g0] ASI_LSU_CONTROL
9548 mov 0x38, %r18
9549 stxa %r31, [%r18]0x58
9550 ta T_CHANGE_NONHPRIV
9551 .word 0xc19fc3e0 ! 74: LDDFA_R ldda [%r31, %r0], %f0
9552 setx vahole_target1, %r18, %r27
9553 .word 0xa1b287d1 ! 75: PDIST pdistn %d10, %d48, %d16
9554pmu_20_66:
9555 nop
9556 setx 0xffffff72fffff29a, %g1, %g7
9557 .word 0xa3800007 ! 76: WR_PERF_COUNTER_R wr %r0, %r7, %-
9558donret_20_67:
9559 nop
9560 ta T_CHANGE_HPRIV ! macro
9561 rd %pc, %r12
9562 add %r12, (donretarg_20_67-donret_20_67-4), %r12
9563 mov 0x38, %r18
9564 stxa %r12, [%r18]0x58
9565 add %r12, 0x4, %r11
9566 wrpr %g0, 0x2, %tl
9567 wrpr %g0, %r12, %tpc
9568 wrpr %g0, %r11, %tnpc
9569 set (0x000afcf9 | (0x8b << 24)), %r13
9570 rdpr %tstate, %r16
9571 mov 0x1f, %r19
9572 and %r19, %r16, %r17
9573 andn %r16, %r19, %r16
9574 or %r16, %r17, %r20
9575 wrpr %r20, %g0, %tstate
9576 wrhpr %g0, 0x167c, %htstate
9577 ta T_CHANGE_NONHPRIV ! rand=1 (20)
9578 .word 0x29400001 ! 1: FBPL fbl,a,pn %fcc0, <label_0x1>
9579 done
9580donretarg_20_67:
9581 .word 0xd2ffe0cc ! 77: SWAPA_I swapa %r9, [%r31 + 0x00cc] %asi
9582 nop
9583 ta T_CHANGE_HPRIV
9584 mov 0x20+1, %r10
9585 set sync_thr_counter5, %r23
9586#ifndef SPC
9587 ldxa [%g0]0x63, %o1
9588 and %o1, 0x38, %o1
9589 add %o1, %r23, %r23
9590#endif
9591 cas [%r23],%g0,%r10 !lock
9592 brnz %r10, cwq_20_68
9593 rd %asi, %r12
9594 wr %g0, 0x40, %asi
9595 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
9596 and %l1, 0x3, %l1 ! Check if busy/enabled ..
9597 cmp %l1, 1
9598 bne cwq_20_68
9599 set CWQ_BASE, %l6
9600 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
9601 best_set_reg(0x20610040, %l1, %l2) !# Control Word
9602 sllx %l2, 32, %l2
9603 stx %l2, [%l6 + 0x0]
9604 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
9605 sub %l2, 0x40, %l2
9606 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
9607 wr %r12, %g0, %asi
9608 st %g0, [%r23]
9609cwq_20_68:
9610 ta T_CHANGE_NONHPRIV
9611 .word 0xa5414000 ! 78: RDPC rd %pc, %r18
9612 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
9613reduce_priv_lvl_20_69:
9614 ta T_CHANGE_NONHPRIV ! macro
9615trapasi_20_70:
9616 nop
9617 mov 0x18, %r1 ! (VA for ASI 0x50)
9618 .word 0xe4d04a00 ! 80: LDSHA_R ldsha [%r1, %r0] 0x50, %r18
9619tglhtw_20_71:
9620 nop
9621 rd %asi, %l3 ! save %asi
9622 ta T_CHANGE_HPRIV
9623 wr %g0, ASI_MMU_ZERO_CONTEXT_TSB_CONFIG, %asi
9624 mov 1, %l2
9625 sllx %l2, 63, %l2
9626 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
9627 xor %l4, %l2, %l4
9628 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi
9629 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
9630 xor %l4, %l2, %l4
9631 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi
9632 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
9633 xor %l4, %l2, %l4
9634 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi
9635 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
9636 xor %l4, %l2, %l4
9637 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi
9638 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
9639 xor %l4, %l2, %l4
9640 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi
9641 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
9642 xor %l4, %l2, %l4
9643 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi
9644 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
9645 xor %l4, %l2, %l4
9646 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi
9647 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
9648 xor %l4, %l2, %l4
9649 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi
9650 ta T_CHANGE_NONHPRIV
9651 wr %g0, %l3, %asi !restore %asi
9652 .word 0xa1b50991 ! 81: BSHUFFLE fmovc32 %d20, %d48, %d16
9653pmu_20_72:
9654 nop
9655 ta T_CHANGE_PRIV
9656 setx 0xfffff8a8fffff469, %g1, %g7
9657 .word 0xa3800007 ! 82: WR_PERF_COUNTER_R wr %r0, %r7, %-
9658tagged_20_73:
9659 taddcctv %r16, 0x141f, %r8
9660 .word 0xd607e159 ! 83: LDUW_I lduw [%r31 + 0x0159], %r11
9661#if (defined SPC || defined CMP)
9662!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_20_74) + 56, 16, 16)) -> intp(7,0,27)
9663!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_20_74)&0xffffffff) + 56, 16, 16)) -> intp(7,0,27)
9664#else
9665 setx 0x78556194436de3bf, %r1, %r28
9666 stxa %r28, [%g0] 0x73
9667#endif
9668intvec_20_74:
9669 .word 0x39400001 ! 84: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
9670 .word 0x91d02032 ! 85: Tcc_I ta icc_or_xcc, %r0 + 50
9671 set 0x594, %l3
9672 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
9673 .word 0x93b407d2 ! 86: PDIST pdistn %d16, %d18, %d40
9674 .word 0x91934007 ! 87: WRPR_PIL_R wrpr %r13, %r7, %pil
9675 .word 0x91920012 ! 88: WRPR_PIL_R wrpr %r8, %r18, %pil
9676pmu_20_77:
9677 nop
9678 ta T_CHANGE_PRIV
9679 setx 0xfffff32bfffff898, %g1, %g7
9680 .word 0xa3800007 ! 89: WR_PERF_COUNTER_R wr %r0, %r7, %-
9681 .word 0x22780001 ! 90: BPE <illegal instruction>
9682 setx vahole_target3, %r18, %r27
9683 .word 0xd23fed78 ! 91: STD_I std %r9, [%r31 + 0x0d78]
9684ibp_20_79:
9685 nop
9686 ta T_CHANGE_NONHPRIV
9687 .word 0xa3a509a1 ! 92: FDIVs fdivs %f20, %f1, %f17
9688splash_lsu_20_80:
9689 nop
9690 ta T_CHANGE_HPRIV
9691 set 0x3bb1bdf0, %r2
9692 mov 0x2, %r1
9693 sllx %r1, 32, %r1
9694 or %r1, %r2, %r2
9695 stxa %r2, [%r0] ASI_LSU_CONTROL
9696 .word 0x3d400001 ! 93: FBPULE fbule,a,pn %fcc0, <label_0x1>
9697splash_lsu_20_81:
9698 nop
9699 ta T_CHANGE_HPRIV
9700 set 0x8024c17f, %r2
9701 mov 0x1, %r1
9702 sllx %r1, 32, %r1
9703 or %r1, %r2, %r2
9704 stxa %r2, [%r0] ASI_LSU_CONTROL
9705 .word 0x3d400001 ! 94: FBPULE fbule,a,pn %fcc0, <label_0x1>
9706 .word 0x81460000 ! 95: RD_STICK_REG stbar
9707splash_lsu_20_82:
9708 nop
9709 ta T_CHANGE_HPRIV
9710 set 0x6ed0b303, %r2
9711 mov 0x5, %r1
9712 sllx %r1, 32, %r1
9713 or %r1, %r2, %r2
9714 stxa %r2, [%r0] ASI_LSU_CONTROL
9715 ta T_CHANGE_NONHPRIV
9716 .word 0x3d400001 ! 96: FBPULE fbule,a,pn %fcc0, <label_0x1>
9717 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
9718reduce_priv_lvl_20_83:
9719 ta T_CHANGE_NONHPRIV ! macro
9720 .word 0x29800001 ! 98: FBL fbl,a <label_0x1>
9721splash_hpstate_20_85:
9722 .word 0x3e800001 ! 1: BVC bvc,a <label_0x1>
9723 .word 0x8198343d ! 99: WRHPR_HPSTATE_I wrhpr %r0, 0x143d, %hpstate
9724 .word 0xe01fe0f8 ! 100: LDD_I ldd [%r31 + 0x00f8], %r16
9725 .word 0xe09fe0f8 ! 101: LDDA_I ldda [%r31, + 0x00f8] %asi, %r16
9726ibp_20_86:
9727 nop
9728 .word 0xe19fc3e0 ! 102: LDDFA_R ldda [%r31, %r0], %f16
9729 .word 0x93d020b2 ! 103: Tcc_I tne icc_or_xcc, %r0 + 178
9730 nop
9731 ta T_CHANGE_HPRIV
9732 mov 0x20, %r10
9733 set sync_thr_counter6, %r23
9734#ifndef SPC
9735 ldxa [%g0]0x63, %o1
9736 and %o1, 0x38, %o1
9737 add %o1, %r23, %r23
9738#endif
9739 cas [%r23],%g0,%r10 !lock
9740 brnz %r10, sma_20_87
9741 rd %asi, %r12
9742 wr %g0, 0x40, %asi
9743 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
9744 set 0x000a1fff, %g1
9745 stxa %g1, [%g0 + 0x80] %asi
9746 wr %r12, %g0, %asi
9747 st %g0, [%r23]
9748sma_20_87:
9749 ta T_CHANGE_NONHPRIV
9750 .word 0xe1e7e013 ! 104: CASA_R casa [%r31] %asi, %r19, %r16
9751 .word 0x9194400c ! 105: WRPR_PIL_R wrpr %r17, %r12, %pil
9752pmu_20_89:
9753 nop
9754 setx 0xfffff561fffff3eb, %g1, %g7
9755 .word 0xa3800007 ! 106: WR_PERF_COUNTER_R wr %r0, %r7, %-
9756 .word 0xc30fc000 ! 107: LDXFSR_R ld-fsr [%r31, %r0], %f1
9757 .word 0x27400001 ! 1: FBPUL fbul,a,pn %fcc0, <label_0x1>
9758 .word 0x8d902957 ! 108: WRPR_PSTATE_I wrpr %r0, 0x0957, %pstate
9759intveclr_20_91:
9760 nop
9761 ta T_CHANGE_HPRIV
9762 setx 0x0e4ef00f25af4a1c, %r1, %r28
9763 stxa %r28, [%g0] 0x72
9764 ta T_CHANGE_NONHPRIV
9765 .word 0x25400001 ! 109: FBPLG fblg,a,pn %fcc0, <label_0x1>
9766brcommon2_20_92:
9767 nop
9768 setx common_target, %r12, %r27
9769 ba,a .+12
9770 .word 0xe9118002 ! 1: LDQF_R - [%r6, %r2], %f20
9771 ba,a .+8
9772 jmpl %r27+0, %r27
9773 .word 0xc1bfc3e0 ! 110: STDFA_R stda %f0, [%r0, %r31]
9774pmu_20_93:
9775 nop
9776 ta T_CHANGE_PRIV
9777 setx 0xfffffaa3fffff461, %g1, %g7
9778 .word 0xa3800007 ! 111: WR_PERF_COUNTER_R wr %r0, %r7, %-
9779 setx vahole_target2, %r18, %r27
9780 .word 0xe8dfc02d ! 112: LDXA_R ldxa [%r31, %r13] 0x01, %r20
9781 .word 0x39400001 ! 113: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
9782dvapa_20_96:
9783 nop
9784 ta T_CHANGE_HPRIV
9785 mov 0x89e, %r20
9786 mov 0x2, %r19
9787 sllx %r20, 23, %r20
9788 or %r19, %r20, %r19
9789 stxa %r19, [%g0] ASI_LSU_CONTROL
9790 mov 0x38, %r18
9791 stxa %r31, [%r18]0x58
9792 ta T_CHANGE_NONHPRIV
9793 .word 0xa9b18490 ! 114: FCMPLE32 fcmple32 %d6, %d16, %r20
9794splash_cmpr_20_97:
9795 mov 0, %r18
9796 sllx %r18, 63, %r18
9797 rd %tick, %r17
9798 add %r17, 0x60, %r17
9799 or %r17, %r18, %r17
9800 ta T_CHANGE_PRIV
9801 .word 0xaf800011 ! 115: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
9802 setx vahole_target1, %r18, %r27
9803 .word 0xd31fc00b ! 116: LDDF_R ldd [%r31, %r11], %f9
9804 setx vahole_target0, %r18, %r27
9805 .word 0xc1bfc2c0 ! 117: STDFA_R stda %f0, [%r0, %r31]
9806mondo_20_100:
9807 nop
9808 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9809 stxa %r16, [%r0+0x3e8] %asi
9810 .word 0x9d95000d ! 118: WRPR_WSTATE_R wrpr %r20, %r13, %wstate
9811trapasi_20_101:
9812 nop
9813 mov 0x18, %r1 ! (VA for ASI 0x50)
9814 .word 0xd2c84a00 ! 119: LDSBA_R ldsba [%r1, %r0] 0x50, %r9
9815splash_cmpr_20_102:
9816 mov 1, %r18
9817 sllx %r18, 63, %r18
9818 rd %tick, %r17
9819 add %r17, 0x50, %r17
9820 or %r17, %r18, %r17
9821 .word 0xb3800011 ! 120: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
9822 nop
9823 ta T_CHANGE_HPRIV
9824 mov 0x20, %r10
9825 set sync_thr_counter6, %r23
9826#ifndef SPC
9827 ldxa [%g0]0x63, %o1
9828 and %o1, 0x38, %o1
9829 add %o1, %r23, %r23
9830#endif
9831 cas [%r23],%g0,%r10 !lock
9832 brnz %r10, sma_20_103
9833 rd %asi, %r12
9834 wr %g0, 0x40, %asi
9835 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
9836 set 0x00161fff, %g1
9837 stxa %g1, [%g0 + 0x80] %asi
9838 wr %r12, %g0, %asi
9839 st %g0, [%r23]
9840sma_20_103:
9841 ta T_CHANGE_NONHPRIV
9842 .word 0xd3e7e009 ! 121: CASA_R casa [%r31] %asi, %r9, %r9
9843dvapa_20_104:
9844 nop
9845 ta T_CHANGE_HPRIV
9846 mov 0xf6f, %r20
9847 mov 0x4, %r19
9848 sllx %r20, 23, %r20
9849 or %r19, %r20, %r19
9850 stxa %r19, [%g0] ASI_LSU_CONTROL
9851 mov 0x38, %r18
9852 stxa %r31, [%r18]0x58
9853 ta T_CHANGE_NONHPRIV
9854 .word 0xa5703057 ! 122: POPC_I popc 0x1057, %r18
9855splash_hpstate_20_105:
9856 .word 0x23400001 ! 1: FBPNE fbne,a,pn %fcc0, <label_0x1>
9857 .word 0x8198201f ! 123: WRHPR_HPSTATE_I wrhpr %r0, 0x001f, %hpstate
9858 .word 0xe19fc3e0 ! 124: LDDFA_R ldda [%r31, %r0], %f16
9859mondo_20_107:
9860 nop
9861 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9862 ta T_CHANGE_PRIV
9863 stxa %r12, [%r0+0x3c0] %asi
9864 .word 0x9d944002 ! 125: WRPR_WSTATE_R wrpr %r17, %r2, %wstate
9865splash_tba_20_108:
9866 ta T_CHANGE_PRIV
9867 set 0x120000, %r12
9868 .word 0x8b90000c ! 126: WRPR_TBA_R wrpr %r0, %r12, %tba
9869 .word 0x99500000 ! 127: RDPR_TPC <illegal instruction>
9870brcommon2_20_109:
9871 nop
9872 setx common_target, %r12, %r27
9873 ba,a .+12
9874 .word 0xa3a00546 ! 1: FSQRTd fsqrt
9875 ba,a .+8
9876 jmpl %r27+0, %r27
9877 .word 0xc1bfc2c0 ! 128: STDFA_R stda %f0, [%r0, %r31]
9878splash_hpstate_20_110:
9879 .word 0x81983699 ! 129: WRHPR_HPSTATE_I wrhpr %r0, 0x1699, %hpstate
9880 .word 0x89800011 ! 130: WRTICK_R wr %r0, %r17, %tick
9881 .word 0xc19fe140 ! 131: LDDFA_I ldda [%r31, 0x0140], %f0
9882 .word 0xa5a00170 ! 132: FABSq dis not found
9883
9884 setx 0xa7b9f0e21ccd9619, %r1, %r28
9885 stxa %r28, [%g0] 0x73
9886intvec_20_113:
9887 .word 0x39400001 ! 133: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
9888fpinit_20_114:
9889 setx fp_data_quads, %r19, %r20
9890 ldd [%r20], %f0
9891 ldd [%r20+8], %f4
9892 ld [%r20+16], %fsr
9893 ld [%r20+24], %r19
9894 wr %r19, %g0, %gsr
9895 .word 0xc3e8217a ! 134: PREFETCHA_I prefetcha [%r0, + 0x017a] %asi, #one_read
9896 .word 0x8d90322b ! 135: WRPR_PSTATE_I wrpr %r0, 0x122b, %pstate
9897 .word 0xc32fc000 ! 136: STXFSR_R st-sfr %f1, [%r0, %r31]
9898intveclr_20_117:
9899 nop
9900 ta T_CHANGE_HPRIV
9901 setx 0x893cf84ea0dd9d18, %r1, %r28
9902 stxa %r28, [%g0] 0x72
9903 .word 0x25400001 ! 137: FBPLG fblg,a,pn %fcc0, <label_0x1>
9904pmu_20_118:
9905 nop
9906 setx 0xfffff118fffff974, %g1, %g7
9907 .word 0xa3800007 ! 138: WR_PERF_COUNTER_R wr %r0, %r7, %-
9908ibp_20_119:
9909 nop
9910 ta T_CHANGE_NONHPRIV
9911 .word 0x99703be8 ! 139: POPC_I popc 0x1be8, %r12
9912splash_lsu_20_120:
9913 nop
9914 ta T_CHANGE_HPRIV
9915 set 0x62363462, %r2
9916 mov 0x2, %r1
9917 sllx %r1, 32, %r1
9918 or %r1, %r2, %r2
9919 stxa %r2, [%r0] ASI_LSU_CONTROL
9920 ta T_CHANGE_NONHPRIV
9921 .word 0x3d400001 ! 140: FBPULE fbule,a,pn %fcc0, <label_0x1>
9922pmu_20_121:
9923 nop
9924 ta T_CHANGE_PRIV
9925 setx 0xfffff792fffff5a5, %g1, %g7
9926 .word 0xa3800007 ! 141: WR_PERF_COUNTER_R wr %r0, %r7, %-
9927 .word 0xa9b50493 ! 142: FCMPLE32 fcmple32 %d20, %d50, %r20
9928splash_cmpr_20_123:
9929 mov 1, %r18
9930 sllx %r18, 63, %r18
9931 rd %tick, %r17
9932 add %r17, 0x80, %r17
9933 or %r17, %r18, %r17
9934 ta T_CHANGE_PRIV
9935 .word 0xaf800011 ! 143: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
9936 .word 0xd47ffbe8 ! 144: SWAP_I swap %r10, [%r31 + 0xfffffbe8]
9937splash_cmpr_20_124:
9938 mov 0, %r18
9939 sllx %r18, 63, %r18
9940 rd %tick, %r17
9941 add %r17, 0x50, %r17
9942 or %r17, %r18, %r17
9943 ta T_CHANGE_HPRIV
9944 wrhpr %r17, %g0, %hsys_tick_cmpr
9945 .word 0xb3800011 ! 145: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
9946 .word 0x91524000 ! 146: RDPR_CWP <illegal instruction>
9947intveclr_20_126:
9948 nop
9949 ta T_CHANGE_HPRIV
9950 setx 0x506d795c834638ba, %r1, %r28
9951 stxa %r28, [%g0] 0x72
9952 ta T_CHANGE_NONHPRIV
9953 .word 0x25400001 ! 147: FBPLG fblg,a,pn %fcc0, <label_0x1>
9954memptr_20_127:
9955 set 0x60140000, %r31
9956 .word 0x8584797e ! 148: WRCCR_I wr %r17, 0x197e, %ccr
9957 .word 0x87802083 ! 149: WRASI_I wr %r0, 0x0083, %asi
9958intveclr_20_128:
9959 nop
9960 ta T_CHANGE_HPRIV
9961 setx 0x69a92d419fc333f6, %r1, %r28
9962 stxa %r28, [%g0] 0x72
9963 ta T_CHANGE_NONHPRIV
9964 .word 0x25400001 ! 150: FBPLG fblg,a,pn %fcc0, <label_0x1>
9965 .word 0xe0800b40 ! 151: LDUWA_R lduwa [%r0, %r0] 0x5a, %r16
9966mondo_20_129:
9967 nop
9968 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9969 stxa %r7, [%r0+0x3c0] %asi
9970 .word 0x9d95000c ! 152: WRPR_WSTATE_R wrpr %r20, %r12, %wstate
9971 setx vahole_target3, %r18, %r27
9972 .word 0xc19fdb60 ! 153: LDDFA_R ldda [%r31, %r0], %f0
9973 .word 0xe08fe170 ! 154: LDUBA_I lduba [%r31, + 0x0170] %asi, %r16
9974 .word 0x91d02034 ! 155: Tcc_I ta icc_or_xcc, %r0 + 52
9975 nop
9976 ta T_CHANGE_HPRIV
9977 mov 0x20+1, %r10
9978 set sync_thr_counter5, %r23
9979#ifndef SPC
9980 ldxa [%g0]0x63, %o1
9981 and %o1, 0x38, %o1
9982 add %o1, %r23, %r23
9983#endif
9984 cas [%r23],%g0,%r10 !lock
9985 brnz %r10, cwq_20_131
9986 rd %asi, %r12
9987 wr %g0, 0x40, %asi
9988 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
9989 and %l1, 0x3, %l1 ! Check if busy/enabled ..
9990 cmp %l1, 1
9991 bne cwq_20_131
9992 set CWQ_BASE, %l6
9993 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
9994 best_set_reg(0x20610020, %l1, %l2) !# Control Word
9995 sllx %l2, 32, %l2
9996 stx %l2, [%l6 + 0x0]
9997 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
9998 sub %l2, 0x40, %l2
9999 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
10000 wr %r12, %g0, %asi
10001 st %g0, [%r23]
10002cwq_20_131:
10003 ta T_CHANGE_NONHPRIV
10004 .word 0xa5414000 ! 156: RDPC rd %pc, %r18
10005ibp_20_132:
10006 nop
10007 .word 0xa9b447c9 ! 157: PDIST pdistn %d48, %d40, %d20
10008splash_lsu_20_133:
10009 nop
10010 ta T_CHANGE_HPRIV
10011 set 0x07cf7c66, %r2
10012 mov 0x6, %r1
10013 sllx %r1, 32, %r1
10014 or %r1, %r2, %r2
10015 stxa %r2, [%r0] ASI_LSU_CONTROL
10016 .word 0x3d400001 ! 158: FBPULE fbule,a,pn %fcc0, <label_0x1>
10017 .word 0xe88008a0 ! 159: LDUWA_R lduwa [%r0, %r0] 0x45, %r20
10018 setx vahole_target1, %r18, %r27
10019 .word 0xe1bfc3e0 ! 160: STDFA_R stda %f16, [%r0, %r31]
10020brcommon1_20_135:
10021 nop
10022 setx common_target, %r12, %r27
10023 lduw [%r27], %r12 ! Load common dest into dcache ..
10024 ba,a .+12
10025 .word 0xe86ff5c6 ! 1: LDSTUB_I ldstub %r20, [%r31 + 0xfffff5c6]
10026 ba,a .+8
10027 jmpl %r27+0, %r27
10028 .word 0xc3ed0025 ! 161: PREFETCHA_R prefetcha [%r20, %r5] 0x01, #one_read
10029splash_hpstate_20_136:
10030 .word 0x81982616 ! 162: WRHPR_HPSTATE_I wrhpr %r0, 0x0616, %hpstate
10031 .word 0xd497e000 ! 163: LDUHA_I lduha [%r31, + 0x0000] %asi, %r10
10032 setx vahole_target1, %r18, %r27
10033 .word 0xc1bfe1e0 ! 164: STDFA_I stda %f0, [0x01e0, %r31]
10034pmu_20_138:
10035 nop
10036 setx 0xfffffdfdfffffca3, %g1, %g7
10037 .word 0xa3800007 ! 165: WR_PERF_COUNTER_R wr %r0, %r7, %-
10038 setx vahole_target0, %r18, %r27
10039 .word 0xc32fc010 ! 166: STXFSR_R st-sfr %f1, [%r16, %r31]
10040intveclr_20_140:
10041 nop
10042 ta T_CHANGE_HPRIV
10043 setx 0x1ed55b07ae84d553, %r1, %r28
10044 stxa %r28, [%g0] 0x72
10045 ta T_CHANGE_NONHPRIV
10046 .word 0x25400001 ! 167: FBPLG fblg,a,pn %fcc0, <label_0x1>
10047 .word 0x8d9027b9 ! 168: WRPR_PSTATE_I wrpr %r0, 0x07b9, %pstate
10048 .word 0x87802080 ! 169: WRASI_I wr %r0, 0x0080, %asi
10049ibp_20_142:
10050 nop
10051 ta T_CHANGE_NONHPRIV
10052 .word 0x91b447ca ! 170: PDIST pdistn %d48, %d10, %d8
10053 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
10054reduce_priv_lvl_20_143:
10055 ta T_CHANGE_NONPRIV ! macro
10056fpinit_20_144:
10057 setx fp_data_quads, %r19, %r20
10058 ldd [%r20], %f0
10059 ldd [%r20+8], %f4
10060 ld [%r20+16], %fsr
10061 ld [%r20+24], %r19
10062 wr %r19, %g0, %gsr
10063 .word 0x89a009a4 ! 172: FDIVs fdivs %f0, %f4, %f4
10064dvapa_20_145:
10065 nop
10066 ta T_CHANGE_HPRIV
10067 mov 0xd7a, %r20
10068 mov 0x0, %r19
10069 sllx %r20, 23, %r20
10070 or %r19, %r20, %r19
10071 stxa %r19, [%g0] ASI_LSU_CONTROL
10072 mov 0x38, %r18
10073 stxa %r31, [%r18]0x58
10074 ta T_CHANGE_NONHPRIV
10075 .word 0xe4bfc030 ! 173: STDA_R stda %r18, [%r31 + %r16] 0x01
10076intveclr_20_146:
10077 nop
10078 ta T_CHANGE_HPRIV
10079 setx 0x4225fb3760394259, %r1, %r28
10080 stxa %r28, [%g0] 0x72
10081 ta T_CHANGE_NONHPRIV
10082 .word 0x25400001 ! 174: FBPLG fblg,a,pn %fcc0, <label_0x1>
10083 .word 0xe51fe158 ! 175: LDDF_I ldd [%r31, 0x0158], %f18
10084donret_20_147:
10085 nop
10086 ta T_CHANGE_HPRIV ! macro
10087 rd %pc, %r12
10088 add %r12, (donretarg_20_147-donret_20_147-4), %r12
10089 mov 0x38, %r18
10090 stxa %r12, [%r18]0x58
10091 add %r12, 0x4, %r11
10092 wrpr %g0, 0x1, %tl
10093 wrpr %g0, %r12, %tpc
10094 wrpr %g0, %r11, %tnpc
10095 set (0x004e28c8 | (0x89 << 24)), %r13
10096 rdpr %tstate, %r16
10097 mov 0x1f, %r19
10098 and %r19, %r16, %r17
10099 andn %r16, %r19, %r16
10100 or %r16, %r17, %r20
10101 wrpr %r20, %g0, %tstate
10102 wrhpr %g0, 0x1a5c, %htstate
10103 ta T_CHANGE_NONHPRIV ! rand=1 (20)
10104 done
10105donretarg_20_147:
10106 .word 0xe4ffe178 ! 176: SWAPA_I swapa %r18, [%r31 + 0x0178] %asi
10107 .word 0xc19fe180 ! 177: LDDFA_I ldda [%r31, 0x0180], %f0
10108 .word 0x93d020b2 ! 178: Tcc_I tne icc_or_xcc, %r0 + 178
10109fpinit_20_148:
10110 setx fp_data_quads, %r19, %r20
10111 ldd [%r20], %f0
10112 ldd [%r20+8], %f4
10113 ld [%r20+16], %fsr
10114 ld [%r20+24], %r19
10115 wr %r19, %g0, %gsr
10116 .word 0x89b00484 ! 179: FCMPLE32 fcmple32 %d0, %d4, %r4
10117splash_cmpr_20_149:
10118 mov 1, %r18
10119 sllx %r18, 63, %r18
10120 rd %tick, %r17
10121 add %r17, 0x60, %r17
10122 or %r17, %r18, %r17
10123 ta T_CHANGE_PRIV
10124 .word 0xb3800011 ! 180: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
10125 nop
10126 ta T_CHANGE_HPRIV
10127 mov 0x20+1, %r10
10128 set sync_thr_counter5, %r23
10129#ifndef SPC
10130 ldxa [%g0]0x63, %o1
10131 and %o1, 0x38, %o1
10132 add %o1, %r23, %r23
10133#endif
10134 cas [%r23],%g0,%r10 !lock
10135 brnz %r10, cwq_20_150
10136 rd %asi, %r12
10137 wr %g0, 0x40, %asi
10138 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
10139 and %l1, 0x3, %l1 ! Check if busy/enabled ..
10140 cmp %l1, 1
10141 bne cwq_20_150
10142 set CWQ_BASE, %l6
10143 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
10144 best_set_reg(0x20610020, %l1, %l2) !# Control Word
10145 sllx %l2, 32, %l2
10146 stx %l2, [%l6 + 0x0]
10147 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
10148 sub %l2, 0x40, %l2
10149 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
10150 wr %r12, %g0, %asi
10151 st %g0, [%r23]
10152cwq_20_150:
10153 ta T_CHANGE_NONHPRIV
10154 .word 0x91414000 ! 181: RDPC rd %pc, %r8
10155 .word 0x95b30483 ! 182: FCMPLE32 fcmple32 %d12, %d34, %r10
10156 .word 0x97a00171 ! 183: FABSq dis not found
10157
10158 setx vahole_target2, %r18, %r27
10159 .word 0xc1bfe120 ! 184: STDFA_I stda %f0, [0x0120, %r31]
10160mondo_20_154:
10161 nop
10162 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10163 ta T_CHANGE_PRIV
10164 stxa %r18, [%r0+0x3e0] %asi
10165 .word 0x9d948014 ! 185: WRPR_WSTATE_R wrpr %r18, %r20, %wstate
10166 .word 0xc1bfc2c0 ! 186: STDFA_R stda %f0, [%r0, %r31]
10167 nop
10168 ta T_CHANGE_HPRIV
10169 mov 0x20, %r10
10170 set sync_thr_counter6, %r23
10171#ifndef SPC
10172 ldxa [%g0]0x63, %o1
10173 and %o1, 0x38, %o1
10174 add %o1, %r23, %r23
10175#endif
10176 cas [%r23],%g0,%r10 !lock
10177 brnz %r10, sma_20_156
10178 rd %asi, %r12
10179 wr %g0, 0x40, %asi
10180 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
10181 set 0x00021fff, %g1
10182 stxa %g1, [%g0 + 0x80] %asi
10183 wr %r12, %g0, %asi
10184 st %g0, [%r23]
10185sma_20_156:
10186 ta T_CHANGE_NONHPRIV
10187 .word 0xdbe7e00a ! 187: CASA_R casa [%r31] %asi, %r10, %r13
10188pmu_20_157:
10189 nop
10190 ta T_CHANGE_PRIV
10191 setx 0xfffff368fffff5e4, %g1, %g7
10192 .word 0xa3800007 ! 188: WR_PERF_COUNTER_R wr %r0, %r7, %-
10193br_badelay1_20_158:
10194 .word 0x39400001 ! 1: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10195 .word 0x3b400001 ! 1: FBPLE fble,a,pn %fcc0, <label_0x1>
10196 .word 0x9bb7c4d2 ! 1: FCMPNE32 fcmpne32 %d62, %d18, %r13
10197 normalw
10198 .word 0x99458000 ! 189: RD_SOFTINT_REG rd %softint, %r12
10199 .word 0x91944010 ! 190: WRPR_PIL_R wrpr %r17, %r16, %pil
10200splash_cmpr_20_160:
10201 mov 1, %r18
10202 sllx %r18, 63, %r18
10203 rd %tick, %r17
10204 add %r17, 0x50, %r17
10205 or %r17, %r18, %r17
10206 ta T_CHANGE_PRIV
10207 .word 0xaf800011 ! 191: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
10208splash_cmpr_20_161:
10209 mov 0, %r18
10210 sllx %r18, 63, %r18
10211 rd %tick, %r17
10212 add %r17, 0x60, %r17
10213 or %r17, %r18, %r17
10214 .word 0xaf800011 ! 192: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
10215ibp_20_162:
10216 nop
10217 .word 0xa7a149d2 ! 193: FDIVd fdivd %f36, %f18, %f50
10218 .word 0x89800011 ! 194: WRTICK_R wr %r0, %r17, %tick
10219ibp_20_164:
10220 nop
10221 .word 0xc1bfe0e0 ! 195: STDFA_I stda %f0, [0x00e0, %r31]
10222 nop
10223 ta T_CHANGE_HPRIV
10224 mov 0x20, %r10
10225 set sync_thr_counter6, %r23
10226#ifndef SPC
10227 ldxa [%g0]0x63, %o1
10228 and %o1, 0x38, %o1
10229 add %o1, %r23, %r23
10230#endif
10231 cas [%r23],%g0,%r10 !lock
10232 brnz %r10, sma_20_165
10233 rd %asi, %r12
10234 wr %g0, 0x40, %asi
10235 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
10236 set 0x00061fff, %g1
10237 stxa %g1, [%g0 + 0x80] %asi
10238 wr %r12, %g0, %asi
10239 st %g0, [%r23]
10240sma_20_165:
10241 ta T_CHANGE_NONHPRIV
10242 .word 0xe9e7e00c ! 196: CASA_R casa [%r31] %asi, %r12, %r20
10243splash_tba_20_166:
10244 ta T_CHANGE_PRIV
10245 setx 0x00000004003a0000, %r11, %r12
10246 .word 0x8b90000c ! 197: WRPR_TBA_R wrpr %r0, %r12, %tba
10247intveclr_20_167:
10248 nop
10249 ta T_CHANGE_HPRIV
10250 setx 0x70e774f0ff81e266, %r1, %r28
10251 stxa %r28, [%g0] 0x72
10252 ta T_CHANGE_NONHPRIV
10253 .word 0x25400001 ! 198: FBPLG fblg,a,pn %fcc0, <label_0x1>
10254fpinit_20_168:
10255 setx fp_data_quads, %r19, %r20
10256 ldd [%r20], %f0
10257 ldd [%r20+8], %f4
10258 ld [%r20+16], %fsr
10259 ld [%r20+24], %r19
10260 wr %r19, %g0, %gsr
10261 .word 0x89a009a4 ! 199: FDIVs fdivs %f0, %f4, %f4
10262 .word 0x97a00171 ! 200: FABSq dis not found
10263
10264trapasi_20_170:
10265 nop
10266 mov 0x10, %r1 ! (VA for ASI 0x4c)
10267 .word 0xe0c84980 ! 201: LDSBA_R ldsba [%r1, %r0] 0x4c, %r16
10268splash_tba_20_171:
10269 ta T_CHANGE_PRIV
10270 setx 0x00000004003a0000, %r11, %r12
10271 .word 0x8b90000c ! 202: WRPR_TBA_R wrpr %r0, %r12, %tba
10272 .word 0xe197e160 ! 203: LDQFA_I - [%r31, 0x0160], %f16
10273 .word 0x87802010 ! 204: WRASI_I wr %r0, 0x0010, %asi
10274 .word 0xa5454000 ! 205: RD_CLEAR_SOFTINT rd %clear_softint, %r18
10275memptr_20_172:
10276 set 0x60740000, %r31
10277 .word 0x8581ae67 ! 206: WRCCR_I wr %r6, 0x0e67, %ccr
10278splash_cmpr_20_173:
10279 mov 1, %r18
10280 sllx %r18, 63, %r18
10281 rd %tick, %r17
10282 add %r17, 0x50, %r17
10283 or %r17, %r18, %r17
10284 .word 0xb3800011 ! 207: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
10285 .word 0x89800011 ! 208: WRTICK_R wr %r0, %r17, %tick
10286pmu_20_175:
10287 nop
10288 setx 0xfffff946fffff306, %g1, %g7
10289 .word 0xa3800007 ! 209: WR_PERF_COUNTER_R wr %r0, %r7, %-
10290 nop
10291 ta T_CHANGE_HPRIV
10292 mov 0x20+1, %r10
10293 set sync_thr_counter5, %r23
10294#ifndef SPC
10295 ldxa [%g0]0x63, %o1
10296 and %o1, 0x38, %o1
10297 add %o1, %r23, %r23
10298#endif
10299 cas [%r23],%g0,%r10 !lock
10300 brnz %r10, cwq_20_176
10301 rd %asi, %r12
10302 wr %g0, 0x40, %asi
10303 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
10304 and %l1, 0x3, %l1 ! Check if busy/enabled ..
10305 cmp %l1, 1
10306 bne cwq_20_176
10307 set CWQ_BASE, %l6
10308 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
10309 best_set_reg(0x20610030, %l1, %l2) !# Control Word
10310 sllx %l2, 32, %l2
10311 stx %l2, [%l6 + 0x0]
10312 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
10313 sub %l2, 0x40, %l2
10314 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
10315 wr %r12, %g0, %asi
10316 st %g0, [%r23]
10317cwq_20_176:
10318 ta T_CHANGE_NONHPRIV
10319 .word 0x93414000 ! 210: RDPC rd %pc, %r9
10320 .word 0x83d020b4 ! 211: Tcc_I te icc_or_xcc, %r0 + 180
10321 .word 0x89800011 ! 212: WRTICK_R wr %r0, %r17, %tick
10322 setx vahole_target2, %r18, %r27
10323 .word 0xc3ea0034 ! 213: PREFETCHA_R prefetcha [%r8, %r20] 0x01, #one_read
10324 .word 0xda8008a0 ! 214: LDUWA_R lduwa [%r0, %r0] 0x45, %r13
10325pmu_20_179:
10326 nop
10327 setx 0xfffffda2fffff479, %g1, %g7
10328 .word 0xa3800007 ! 215: WR_PERF_COUNTER_R wr %r0, %r7, %-
10329brcommon3_20_180:
10330 nop
10331 setx common_target, %r12, %r27
10332 lduw [%r27], %r12 ! Load common dest into dcache ..
10333 ba,a .+12
10334 .word 0xdbe7c032 ! 1: CASA_I casa [%r31] 0x 1, %r18, %r13
10335 ba,a .+8
10336 jmpl %r27+0, %r27
10337 .word 0xda9fc02b ! 216: LDDA_R ldda [%r31, %r11] 0x01, %r13
10338trapasi_20_181:
10339 nop
10340 mov 0x3e0, %r1 ! (VA for ASI 0x25)
10341 .word 0xdac044a0 ! 217: LDSWA_R ldswa [%r1, %r0] 0x25, %r13
10342pmu_20_182:
10343 nop
10344 setx 0xfffff975fffff388, %g1, %g7
10345 .word 0xa3800007 ! 218: WR_PERF_COUNTER_R wr %r0, %r7, %-
10346donret_20_183:
10347 nop
10348 ta T_CHANGE_HPRIV ! macro
10349 rd %pc, %r12
10350 add %r12, (donretarg_20_183-donret_20_183-4), %r12
10351 mov 0x38, %r18
10352 stxa %r12, [%r18]0x58
10353 add %r12, 0x4, %r11
10354 wrpr %g0, 0x1, %tl
10355 wrpr %g0, %r12, %tpc
10356 wrpr %g0, %r11, %tnpc
10357 set (0x00c2e785 | (0x82 << 24)), %r13
10358 rdpr %tstate, %r16
10359 mov 0x1f, %r19
10360 and %r19, %r16, %r17
10361 andn %r16, %r19, %r16
10362 or %r16, %r17, %r20
10363 wrpr %r20, %g0, %tstate
10364 wrhpr %g0, 0x17cc, %htstate
10365 ta T_CHANGE_NONPRIV ! rand=0 (20)
10366 .word 0x2eca8001 ! 1: BRGEZ brgez,a,pt %r10,<label_0xa8001>
10367 done
10368donretarg_20_183:
10369 .word 0xda6fe16f ! 219: LDSTUB_I ldstub %r13, [%r31 + 0x016f]
10370 nop
10371 ta T_CHANGE_HPRIV
10372 mov 0x20, %r10
10373 set sync_thr_counter6, %r23
10374#ifndef SPC
10375 ldxa [%g0]0x63, %o1
10376 and %o1, 0x38, %o1
10377 add %o1, %r23, %r23
10378#endif
10379 cas [%r23],%g0,%r10 !lock
10380 brnz %r10, sma_20_184
10381 rd %asi, %r12
10382 wr %g0, 0x40, %asi
10383 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
10384 set 0x000e1fff, %g1
10385 stxa %g1, [%g0 + 0x80] %asi
10386 wr %r12, %g0, %asi
10387 st %g0, [%r23]
10388sma_20_184:
10389 ta T_CHANGE_NONHPRIV
10390 .word 0xdbe7e013 ! 220: CASA_R casa [%r31] %asi, %r19, %r13
10391 nop
10392 ta T_CHANGE_HPRIV
10393 mov 0x20+1, %r10
10394 set sync_thr_counter5, %r23
10395#ifndef SPC
10396 ldxa [%g0]0x63, %o1
10397 and %o1, 0x38, %o1
10398 add %o1, %r23, %r23
10399#endif
10400 cas [%r23],%g0,%r10 !lock
10401 brnz %r10, cwq_20_185
10402 rd %asi, %r12
10403 wr %g0, 0x40, %asi
10404 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
10405 and %l1, 0x3, %l1 ! Check if busy/enabled ..
10406 cmp %l1, 1
10407 bne cwq_20_185
10408 set CWQ_BASE, %l6
10409 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
10410 best_set_reg(0x206100f0, %l1, %l2) !# Control Word
10411 sllx %l2, 32, %l2
10412 stx %l2, [%l6 + 0x0]
10413 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
10414 sub %l2, 0x40, %l2
10415 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
10416 wr %r12, %g0, %asi
10417 st %g0, [%r23]
10418cwq_20_185:
10419 ta T_CHANGE_NONHPRIV
10420 .word 0xa5414000 ! 221: RDPC rd %pc, %r18
10421ibp_20_186:
10422 nop
10423 ta T_CHANGE_NONHPRIV
10424 .word 0x93a109b2 ! 222: FDIVs fdivs %f4, %f18, %f9
10425 .word 0xe0bfc020 ! 223: STDA_R stda %r16, [%r31 + %r0] 0x01
10426 .word 0x8d903238 ! 224: WRPR_PSTATE_I wrpr %r0, 0x1238, %pstate
10427 .word 0x89800011 ! 225: WRTICK_R wr %r0, %r17, %tick
10428ibp_20_189:
10429 nop
10430 .word 0xc1bfe160 ! 226: STDFA_I stda %f0, [0x0160, %r31]
10431 .word 0xc30fc000 ! 227: LDXFSR_R ld-fsr [%r31, %r0], %f1
10432brcommon3_20_190:
10433 nop
10434 setx common_target, %r12, %r27
10435 lduw [%r27], %r12 ! Load common dest into dcache ..
10436 ba,a .+12
10437 .word 0xe06ff3fd ! 1: LDSTUB_I ldstub %r16, [%r31 + 0xfffff3fd]
10438 ba,a .+8
10439 jmpl %r27+0, %r27
10440 .word 0xe1e7e00d ! 228: CASA_R casa [%r31] %asi, %r13, %r16
10441 .word 0xa1902004 ! 229: WRPR_GL_I wrpr %r0, 0x0004, %-
10442splash_cmpr_20_191:
10443 mov 1, %r18
10444 sllx %r18, 63, %r18
10445 rd %tick, %r17
10446 add %r17, 0x70, %r17
10447 or %r17, %r18, %r17
10448 ta T_CHANGE_PRIV
10449 .word 0xb3800011 ! 230: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
10450splash_lsu_20_192:
10451 nop
10452 ta T_CHANGE_HPRIV
10453 set 0x87e81f59, %r2
10454 mov 0x7, %r1
10455 sllx %r1, 32, %r1
10456 or %r1, %r2, %r2
10457 stxa %r2, [%r0] ASI_LSU_CONTROL
10458 .word 0x3d400001 ! 231: FBPULE fbule,a,pn %fcc0, <label_0x1>
10459 setx vahole_target3, %r18, %r27
10460 .word 0xa17022e8 ! 232: POPC_I popc 0x02e8, %r16
10461jmptr_20_194:
10462 nop
10463 best_set_reg(0xe1a00000, %r20, %r27)
10464 .word 0xb7c6c000 ! 233: JMPL_R jmpl %r27 + %r0, %r27
10465dvapa_20_195:
10466 nop
10467 ta T_CHANGE_HPRIV
10468 mov 0xcb8, %r20
10469 mov 0x10, %r19
10470 sllx %r20, 23, %r20
10471 or %r19, %r20, %r19
10472 stxa %r19, [%g0] ASI_LSU_CONTROL
10473 mov 0x38, %r18
10474 stxa %r31, [%r18]0x58
10475 ta T_CHANGE_NONHPRIV
10476 .word 0xe2bfc033 ! 234: STDA_R stda %r17, [%r31 + %r19] 0x01
10477 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
10478reduce_priv_lvl_20_196:
10479 ta T_CHANGE_NONPRIV ! macro
10480 nop
10481 ta T_CHANGE_HPRIV
10482 mov 0x20, %r10
10483 set sync_thr_counter6, %r23
10484#ifndef SPC
10485 ldxa [%g0]0x63, %o1
10486 and %o1, 0x38, %o1
10487 add %o1, %r23, %r23
10488#endif
10489 cas [%r23],%g0,%r10 !lock
10490 brnz %r10, sma_20_197
10491 rd %asi, %r12
10492 wr %g0, 0x40, %asi
10493 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
10494 set 0x001a1fff, %g1
10495 stxa %g1, [%g0 + 0x80] %asi
10496 wr %r12, %g0, %asi
10497 st %g0, [%r23]
10498sma_20_197:
10499 ta T_CHANGE_NONHPRIV
10500 .word 0xe3e7e00d ! 236: CASA_R casa [%r31] %asi, %r13, %r17
10501 nop
10502 ta T_CHANGE_HPRIV
10503 mov 0x20, %r10
10504 set sync_thr_counter6, %r23
10505#ifndef SPC
10506 ldxa [%g0]0x63, %o1
10507 and %o1, 0x38, %o1
10508 add %o1, %r23, %r23
10509#endif
10510 cas [%r23],%g0,%r10 !lock
10511 brnz %r10, sma_20_198
10512 rd %asi, %r12
10513 wr %g0, 0x40, %asi
10514 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
10515 set 0x001e1fff, %g1
10516 stxa %g1, [%g0 + 0x80] %asi
10517 wr %r12, %g0, %asi
10518 st %g0, [%r23]
10519sma_20_198:
10520 ta T_CHANGE_NONHPRIV
10521 .word 0xe3e7e010 ! 237: CASA_R casa [%r31] %asi, %r16, %r17
10522 setx 0x8a6c63ecd20d8357, %r1, %r28
10523 stxa %r28, [%g0] 0x73
10524intvec_20_199:
10525 .word 0x39400001 ! 238: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10526brcommon2_20_200:
10527 nop
10528 setx common_target, %r12, %r27
10529 ba,a .+12
10530 .word 0xe7124011 ! 1: LDQF_R - [%r9, %r17], %f19
10531 ba,a .+8
10532 jmpl %r27+0, %r27
10533 .word 0xc1bfd920 ! 239: STDFA_R stda %f0, [%r0, %r31]
10534 nop
10535 ta T_CHANGE_HPRIV
10536 mov 0x20, %r10
10537 set sync_thr_counter6, %r23
10538#ifndef SPC
10539 ldxa [%g0]0x63, %o1
10540 and %o1, 0x38, %o1
10541 add %o1, %r23, %r23
10542#endif
10543 cas [%r23],%g0,%r10 !lock
10544 brnz %r10, sma_20_201
10545 rd %asi, %r12
10546 wr %g0, 0x40, %asi
10547 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
10548 set 0x00121fff, %g1
10549 stxa %g1, [%g0 + 0x80] %asi
10550 wr %r12, %g0, %asi
10551 st %g0, [%r23]
10552sma_20_201:
10553 ta T_CHANGE_NONHPRIV
10554 .word 0xe3e7e00a ! 240: CASA_R casa [%r31] %asi, %r10, %r17
10555 .word 0x87802082 ! 241: WRASI_I wr %r0, 0x0082, %asi
10556 .word 0xe327c000 ! 242: STF_R st %f17, [%r0, %r31]
10557donret_20_202:
10558 nop
10559 ta T_CHANGE_HPRIV ! macro
10560 rd %pc, %r12
10561 add %r12, (donretarg_20_202-donret_20_202-8), %r12
10562 mov 0x38, %r18
10563 stxa %r12, [%r18]0x58
10564 add %r12, 0x4, %r11
10565 wrpr %g0, 0x2, %tl
10566 wrpr %g0, %r12, %tpc
10567 wrpr %g0, %r11, %tnpc
10568 set (0x00bae9bd | (0x83 << 24)), %r13
10569 rdpr %tstate, %r16
10570 mov 0x1f, %r19
10571 and %r19, %r16, %r17
10572 andn %r16, %r19, %r16
10573 or %r16, %r17, %r20
10574 wrpr %r20, %g0, %tstate
10575 wrhpr %g0, 0xc9f, %htstate
10576 ta T_CHANGE_NONPRIV ! rand=0 (20)
10577 retry
10578donretarg_20_202:
10579 .word 0xa5a189cd ! 243: FDIVd fdivd %f6, %f44, %f18
10580 .word 0xe0dfe0a8 ! 244: LDXA_I ldxa [%r31, + 0x00a8] %asi, %r16
10581pmu_20_203:
10582 nop
10583 ta T_CHANGE_PRIV
10584 setx 0xfffffdfafffffb36, %g1, %g7
10585 .word 0xa3800007 ! 245: WR_PERF_COUNTER_R wr %r0, %r7, %-
10586change_to_randtl_20_204:
10587 ta T_CHANGE_PRIV ! macro
10588done_change_to_randtl_20_204:
10589 .word 0x8f902000 ! 246: WRPR_TL_I wrpr %r0, 0x0000, %tl
10590pmu_20_205:
10591 nop
10592 ta T_CHANGE_PRIV
10593 setx 0xfffff7d5fffffb28, %g1, %g7
10594 .word 0xa3800007 ! 247: WR_PERF_COUNTER_R wr %r0, %r7, %-
10595 nop
10596 ta T_CHANGE_HPRIV
10597 mov 0x20+1, %r10
10598 set sync_thr_counter5, %r23
10599#ifndef SPC
10600 ldxa [%g0]0x63, %o1
10601 and %o1, 0x38, %o1
10602 add %o1, %r23, %r23
10603#endif
10604 cas [%r23],%g0,%r10 !lock
10605 brnz %r10, cwq_20_206
10606 rd %asi, %r12
10607 wr %g0, 0x40, %asi
10608 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
10609 and %l1, 0x3, %l1 ! Check if busy/enabled ..
10610 cmp %l1, 1
10611 bne cwq_20_206
10612 set CWQ_BASE, %l6
10613 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
10614 best_set_reg(0x20610030, %l1, %l2) !# Control Word
10615 sllx %l2, 32, %l2
10616 stx %l2, [%l6 + 0x0]
10617 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
10618 sub %l2, 0x40, %l2
10619 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
10620 wr %r12, %g0, %asi
10621 st %g0, [%r23]
10622cwq_20_206:
10623 ta T_CHANGE_NONHPRIV
10624 .word 0xa1414000 ! 248: RDPC rd %pc, %r16
10625donret_20_207:
10626 nop
10627 ta T_CHANGE_HPRIV ! macro
10628 rd %pc, %r12
10629 add %r12, (donretarg_20_207-donret_20_207-4), %r12
10630 mov 0x38, %r18
10631 stxa %r12, [%r18]0x58
10632 add %r12, 0x4, %r11
10633 wrpr %g0, 0x1, %tl
10634 wrpr %g0, %r12, %tpc
10635 wrpr %g0, %r11, %tnpc
10636 set (0x002898da | (0x82 << 24)), %r13
10637 rdpr %tstate, %r16
10638 mov 0x1f, %r19
10639 and %r19, %r16, %r17
10640 andn %r16, %r19, %r16
10641 or %r16, %r17, %r20
10642 wrpr %r20, %g0, %tstate
10643 wrhpr %g0, 0x10df, %htstate
10644 ta T_CHANGE_NONHPRIV ! rand=1 (20)
10645 done
10646donretarg_20_207:
10647 .word 0x95a249d3 ! 249: FDIVd fdivd %f40, %f50, %f10
10648ibp_20_208:
10649 nop
10650 ta T_CHANGE_NONHPRIV
10651 .word 0x997037fe ! 250: POPC_I popc 0x17fe, %r12
10652fpinit_20_209:
10653 setx fp_data_quads, %r19, %r20
10654 ldd [%r20], %f0
10655 ldd [%r20+8], %f4
10656 ld [%r20+16], %fsr
10657 ld [%r20+24], %r19
10658 wr %r19, %g0, %gsr
10659 .word 0x89a009c4 ! 251: FDIVd fdivd %f0, %f4, %f4
10660change_to_randtl_20_210:
10661 ta T_CHANGE_PRIV ! macro
10662done_change_to_randtl_20_210:
10663 .word 0x8f902001 ! 252: WRPR_TL_I wrpr %r0, 0x0001, %tl
10664 nop
10665 ta T_CHANGE_HPRIV
10666 mov 0x20+1, %r10
10667 set sync_thr_counter5, %r23
10668#ifndef SPC
10669 ldxa [%g0]0x63, %o1
10670 and %o1, 0x38, %o1
10671 add %o1, %r23, %r23
10672#endif
10673 cas [%r23],%g0,%r10 !lock
10674 brnz %r10, cwq_20_211
10675 rd %asi, %r12
10676 wr %g0, 0x40, %asi
10677 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
10678 and %l1, 0x3, %l1 ! Check if busy/enabled ..
10679 cmp %l1, 1
10680 bne cwq_20_211
10681 set CWQ_BASE, %l6
10682 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
10683 best_set_reg(0x206100e0, %l1, %l2) !# Control Word
10684 sllx %l2, 32, %l2
10685 stx %l2, [%l6 + 0x0]
10686 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
10687 sub %l2, 0x40, %l2
10688 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
10689 wr %r12, %g0, %asi
10690 st %g0, [%r23]
10691cwq_20_211:
10692 ta T_CHANGE_NONHPRIV
10693 .word 0xa5414000 ! 253: RDPC rd %pc, %r18
10694memptr_20_212:
10695 set 0x60340000, %r31
10696 .word 0x858362a7 ! 254: WRCCR_I wr %r13, 0x02a7, %ccr
10697dvapa_20_213:
10698 nop
10699 ta T_CHANGE_HPRIV
10700 mov 0xa64, %r20
10701 mov 0x4, %r19
10702 sllx %r20, 23, %r20
10703 or %r19, %r20, %r19
10704 stxa %r19, [%g0] ASI_LSU_CONTROL
10705 mov 0x38, %r18
10706 stxa %r31, [%r18]0x58
10707 ta T_CHANGE_NONHPRIV
10708 .word 0x93a509ab ! 255: FDIVs fdivs %f20, %f11, %f9
10709donret_20_214:
10710 nop
10711 ta T_CHANGE_HPRIV ! macro
10712 rd %pc, %r12
10713 add %r12, (donretarg_20_214-donret_20_214-8), %r12
10714 mov 0x38, %r18
10715 stxa %r12, [%r18]0x58
10716 add %r12, 0x4, %r11
10717 wrpr %g0, 0x2, %tl
10718 wrpr %g0, %r12, %tpc
10719 wrpr %g0, %r11, %tnpc
10720 set (0x00ee240f | (0x88 << 24)), %r13
10721 rdpr %tstate, %r16
10722 mov 0x1f, %r19
10723 and %r19, %r16, %r17
10724 andn %r16, %r19, %r16
10725 or %r16, %r17, %r20
10726 wrpr %r20, %g0, %tstate
10727 wrhpr %g0, 0x657, %htstate
10728 ta T_CHANGE_NONHPRIV ! rand=1 (20)
10729 retry
10730donretarg_20_214:
10731 .word 0x9ba309d2 ! 256: FDIVd fdivd %f12, %f18, %f44
10732 .word 0xda3fe156 ! 257: STD_I std %r13, [%r31 + 0x0156]
10733dvapa_20_215:
10734 nop
10735 ta T_CHANGE_HPRIV
10736 mov 0xdc3, %r20
10737 mov 0x13, %r19
10738 sllx %r20, 23, %r20
10739 or %r19, %r20, %r19
10740 stxa %r19, [%g0] ASI_LSU_CONTROL
10741 mov 0x38, %r18
10742 stxa %r31, [%r18]0x58
10743 ta T_CHANGE_NONHPRIV
10744 .word 0xdadfc028 ! 258: LDXA_R ldxa [%r31, %r8] 0x01, %r13
10745 .word 0xc19fc2c0 ! 259: LDDFA_R ldda [%r31, %r0], %f0
10746 nop
10747 ta T_CHANGE_HPRIV
10748 mov 0x20, %r10
10749 set sync_thr_counter6, %r23
10750#ifndef SPC
10751 ldxa [%g0]0x63, %o1
10752 and %o1, 0x38, %o1
10753 add %o1, %r23, %r23
10754#endif
10755 cas [%r23],%g0,%r10 !lock
10756 brnz %r10, sma_20_216
10757 rd %asi, %r12
10758 wr %g0, 0x40, %asi
10759 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
10760 set 0x00061fff, %g1
10761 stxa %g1, [%g0 + 0x80] %asi
10762 wr %r12, %g0, %asi
10763 st %g0, [%r23]
10764sma_20_216:
10765 ta T_CHANGE_NONHPRIV
10766 .word 0xdbe7e011 ! 260: CASA_R casa [%r31] %asi, %r17, %r13
10767pmu_20_217:
10768 nop
10769 ta T_CHANGE_PRIV
10770 setx 0xfffff40ffffff722, %g1, %g7
10771 .word 0xa3800007 ! 261: WR_PERF_COUNTER_R wr %r0, %r7, %-
10772 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
10773reduce_priv_lvl_20_218:
10774 ta T_CHANGE_NONHPRIV ! macro
10775pmu_20_219:
10776 nop
10777 ta T_CHANGE_PRIV
10778 setx 0xfffff67afffff332, %g1, %g7
10779 .word 0xa3800007 ! 263: WR_PERF_COUNTER_R wr %r0, %r7, %-
10780pmu_20_220:
10781 nop
10782 setx 0xfffff0d6fffffc38, %g1, %g7
10783 .word 0xa3800007 ! 264: WR_PERF_COUNTER_R wr %r0, %r7, %-
10784 setx 0xd81cdc839548fc83, %r1, %r28
10785 stxa %r28, [%g0] 0x73
10786intvec_20_221:
10787 .word 0x39400001 ! 265: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10788splash_lsu_20_222:
10789 nop
10790 ta T_CHANGE_HPRIV
10791 set 0xbba6fcb8, %r2
10792 mov 0x2, %r1
10793 sllx %r1, 32, %r1
10794 or %r1, %r2, %r2
10795 stxa %r2, [%r0] ASI_LSU_CONTROL
10796 ta T_CHANGE_NONHPRIV
10797 .word 0x3d400001 ! 266: FBPULE fbule,a,pn %fcc0, <label_0x1>
10798ibp_20_223:
10799 nop
10800 ta T_CHANGE_NONHPRIV
10801 .word 0xc1bfdb60 ! 267: STDFA_R stda %f0, [%r0, %r31]
10802mondo_20_224:
10803 nop
10804 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10805 ta T_CHANGE_PRIV
10806 stxa %r1, [%r0+0x3c0] %asi
10807 .word 0x9d910011 ! 268: WRPR_WSTATE_R wrpr %r4, %r17, %wstate
10808donret_20_225:
10809 nop
10810 ta T_CHANGE_HPRIV ! macro
10811 rd %pc, %r12
10812 add %r12, (donretarg_20_225-donret_20_225-4), %r12
10813 mov 0x38, %r18
10814 stxa %r12, [%r18]0x58
10815 add %r12, 0x4, %r11
10816 wrpr %g0, 0x1, %tl
10817 wrpr %g0, %r12, %tpc
10818 wrpr %g0, %r11, %tnpc
10819 set (0x008e9554 | (0x82 << 24)), %r13
10820 rdpr %tstate, %r16
10821 mov 0x1f, %r19
10822 and %r19, %r16, %r17
10823 andn %r16, %r19, %r16
10824 or %r16, %r17, %r20
10825 wrpr %r20, %g0, %tstate
10826 wrhpr %g0, 0x100f, %htstate
10827 ta T_CHANGE_NONPRIV ! rand=0 (20)
10828 .word 0x32800001 ! 1: BNE bne,a <label_0x1>
10829 done
10830donretarg_20_225:
10831 .word 0xda6fe029 ! 269: LDSTUB_I ldstub %r13, [%r31 + 0x0029]
10832#if (defined SPC || defined CMP)
10833!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_20_226) + 48, 16, 16)) -> intp(1,0,27)
10834!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_20_226)&0xffffffff) + 48, 16, 16)) -> intp(1,0,27)
10835#else
10836 setx 0x032d288042189bc5, %r1, %r28
10837 stxa %r28, [%g0] 0x73
10838#endif
10839intvec_20_226:
10840 .word 0x39400001 ! 270: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10841 .word 0x89800011 ! 271: WRTICK_R wr %r0, %r17, %tick
10842 .word 0xda9fe108 ! 272: LDDA_I ldda [%r31, + 0x0108] %asi, %r13
10843intveclr_20_228:
10844 nop
10845 ta T_CHANGE_HPRIV
10846 setx 0x8db4e6b47801c974, %r1, %r28
10847 stxa %r28, [%g0] 0x72
10848 .word 0x25400001 ! 273: FBPLG fblg,a,pn %fcc0, <label_0x1>
10849dvapa_20_229:
10850 nop
10851 ta T_CHANGE_HPRIV
10852 mov 0xdf9, %r20
10853 mov 0x1b, %r19
10854 sllx %r20, 23, %r20
10855 or %r19, %r20, %r19
10856 stxa %r19, [%g0] ASI_LSU_CONTROL
10857 mov 0x38, %r18
10858 stxa %r31, [%r18]0x58
10859 ta T_CHANGE_NONHPRIV
10860 .word 0xa1a489b1 ! 274: FDIVs fdivs %f18, %f17, %f16
10861 .word 0x81b01021 ! 275: SIAM siam 1
10862splash_hpstate_20_230:
10863 .word 0x8198271d ! 276: WRHPR_HPSTATE_I wrhpr %r0, 0x071d, %hpstate
10864 .word 0xe48008a0 ! 277: LDUWA_R lduwa [%r0, %r0] 0x45, %r18
10865 nop
10866 ta T_CHANGE_HPRIV
10867 mov 0x20, %r10
10868 set sync_thr_counter6, %r23
10869#ifndef SPC
10870 ldxa [%g0]0x63, %o1
10871 and %o1, 0x38, %o1
10872 add %o1, %r23, %r23
10873#endif
10874 cas [%r23],%g0,%r10 !lock
10875 brnz %r10, sma_20_231
10876 rd %asi, %r12
10877 wr %g0, 0x40, %asi
10878 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
10879 set 0x00021fff, %g1
10880 stxa %g1, [%g0 + 0x80] %asi
10881 wr %r12, %g0, %asi
10882 st %g0, [%r23]
10883sma_20_231:
10884 ta T_CHANGE_NONHPRIV
10885 .word 0xe5e7e00c ! 278: CASA_R casa [%r31] %asi, %r12, %r18
10886 invalw
10887 mov 0x32, %r30
10888 .word 0x91d0001e ! 279: Tcc_R ta icc_or_xcc, %r0 + %r30
10889brcommon2_20_232:
10890 nop
10891 setx common_target, %r12, %r27
10892 ba,a .+12
10893 .word 0xe9150013 ! 1: LDQF_R - [%r20, %r19], %f20
10894 ba,a .+8
10895 jmpl %r27+0, %r27
10896 .word 0xc1bfdc00 ! 280: STDFA_R stda %f0, [%r0, %r31]
10897 setx vahole_target0, %r18, %r27
10898 .word 0xc1bfdc00 ! 281: STDFA_R stda %f0, [%r0, %r31]
10899 nop
10900 ta T_CHANGE_HPRIV
10901 mov 0x20, %r10
10902 set sync_thr_counter6, %r23
10903#ifndef SPC
10904 ldxa [%g0]0x63, %o1
10905 and %o1, 0x38, %o1
10906 add %o1, %r23, %r23
10907#endif
10908 cas [%r23],%g0,%r10 !lock
10909 brnz %r10, sma_20_234
10910 rd %asi, %r12
10911 wr %g0, 0x40, %asi
10912 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
10913 set 0x00121fff, %g1
10914 stxa %g1, [%g0 + 0x80] %asi
10915 wr %r12, %g0, %asi
10916 st %g0, [%r23]
10917sma_20_234:
10918 ta T_CHANGE_NONHPRIV
10919 .word 0xd9e7e012 ! 282: CASA_R casa [%r31] %asi, %r18, %r12
10920splash_lsu_20_235:
10921 nop
10922 ta T_CHANGE_HPRIV
10923 set 0xb9a10196, %r2
10924 mov 0x7, %r1
10925 sllx %r1, 32, %r1
10926 or %r1, %r2, %r2
10927 stxa %r2, [%r0] ASI_LSU_CONTROL
10928 ta T_CHANGE_NONHPRIV
10929 .word 0x3d400001 ! 283: FBPULE fbule,a,pn %fcc0, <label_0x1>
10930 .word 0xc1bfdf20 ! 284: STDFA_R stda %f0, [%r0, %r31]
10931 .word 0x8d902635 ! 285: WRPR_PSTATE_I wrpr %r0, 0x0635, %pstate
10932memptr_20_237:
10933 set user_data_start, %r31
10934 .word 0x8581bc21 ! 286: WRCCR_I wr %r6, 0x1c21, %ccr
10935memptr_20_238:
10936 set 0x60740000, %r31
10937 .word 0x85853056 ! 287: WRCCR_I wr %r20, 0x1056, %ccr
10938 .word 0xa7840011 ! 288: WR_GRAPHICS_STATUS_REG_R wr %r16, %r17, %-
10939 .word 0x9bb044d3 ! 289: FCMPNE32 fcmpne32 %d32, %d50, %r13
10940intveclr_20_241:
10941 nop
10942 ta T_CHANGE_HPRIV
10943 setx 0x54228b7613421af9, %r1, %r28
10944 stxa %r28, [%g0] 0x72
10945 ta T_CHANGE_NONHPRIV
10946 .word 0x25400001 ! 290: FBPLG fblg,a,pn %fcc0, <label_0x1>
10947 nop
10948 ta T_CHANGE_HPRIV
10949 mov 0x20, %r10
10950 set sync_thr_counter6, %r23
10951#ifndef SPC
10952 ldxa [%g0]0x63, %o1
10953 and %o1, 0x38, %o1
10954 add %o1, %r23, %r23
10955#endif
10956 cas [%r23],%g0,%r10 !lock
10957 brnz %r10, sma_20_242
10958 rd %asi, %r12
10959 wr %g0, 0x40, %asi
10960 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
10961 set 0x00121fff, %g1
10962 stxa %g1, [%g0 + 0x80] %asi
10963 wr %r12, %g0, %asi
10964 st %g0, [%r23]
10965sma_20_242:
10966 ta T_CHANGE_NONHPRIV
10967 .word 0xd5e7e013 ! 291: CASA_R casa [%r31] %asi, %r19, %r10
10968 .word 0x8d802000 ! 292: WRFPRS_I wr %r0, 0x0000, %fprs
10969pmu_20_243:
10970 nop
10971 setx 0xfffffd95fffff52b, %g1, %g7
10972 .word 0xa3800007 ! 293: WR_PERF_COUNTER_R wr %r0, %r7, %-
10973#if (defined SPC || defined CMP)
10974!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_20_244) + 24, 16, 16)) -> intp(4,0,2)
10975!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_20_244)&0xffffffff) + 24, 16, 16)) -> intp(4,0,2)
10976#else
10977 setx 0xcee0b5fea1584d3b, %r1, %r28
10978 stxa %r28, [%g0] 0x73
10979#endif
10980intvec_20_244:
10981 .word 0x39400001 ! 294: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10982 .word 0x8d802000 ! 295: WRFPRS_I wr %r0, 0x0000, %fprs
10983mondo_20_245:
10984 nop
10985 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10986 stxa %r20, [%r0+0x3e8] %asi
10987 .word 0x9d94c005 ! 296: WRPR_WSTATE_R wrpr %r19, %r5, %wstate
10988 .word 0x9b524000 ! 297: RDPR_CWP <illegal instruction>
10989pmu_20_247:
10990 nop
10991 setx 0xfffffbaafffff6de, %g1, %g7
10992 .word 0xa3800007 ! 298: WR_PERF_COUNTER_R wr %r0, %r7, %-
10993br_longdelay3_20_248:
10994 nop
10995 not %g0, %r12
10996 jmp %r12
10997 .word 0x99902004 ! 299: WRPR_CLEANWIN_I wrpr %r0, 0x0004, %cleanwin
10998 setx 0x732a63f282a5bab0, %r1, %r28
10999 stxa %r28, [%g0] 0x73
11000intvec_20_249:
11001 .word 0x39400001 ! 300: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
11002 .word 0x87a84a49 ! 301: FCMPd fcmpd %fcc<n>, %f32, %f40
11003ibp_20_251:
11004 nop
11005 .word 0xc19fc3e0 ! 302: LDDFA_R ldda [%r31, %r0], %f0
11006dvapa_20_252:
11007 nop
11008 ta T_CHANGE_HPRIV
11009 mov 0x941, %r20
11010 mov 0xb, %r19
11011 sllx %r20, 23, %r20
11012 or %r19, %r20, %r19
11013 stxa %r19, [%g0] ASI_LSU_CONTROL
11014 mov 0x38, %r18
11015 stxa %r31, [%r18]0x58
11016 ta T_CHANGE_NONHPRIV
11017 .word 0x87acca4b ! 303: FCMPd fcmpd %fcc<n>, %f50, %f42
11018 nop
11019 ta T_CHANGE_HPRIV
11020 mov 0x20+1, %r10
11021 set sync_thr_counter5, %r23
11022#ifndef SPC
11023 ldxa [%g0]0x63, %o1
11024 and %o1, 0x38, %o1
11025 add %o1, %r23, %r23
11026#endif
11027 cas [%r23],%g0,%r10 !lock
11028 brnz %r10, cwq_20_253
11029 rd %asi, %r12
11030 wr %g0, 0x40, %asi
11031 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
11032 and %l1, 0x3, %l1 ! Check if busy/enabled ..
11033 cmp %l1, 1
11034 bne cwq_20_253
11035 set CWQ_BASE, %l6
11036 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
11037 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
11038 sllx %l2, 32, %l2
11039 stx %l2, [%l6 + 0x0]
11040 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
11041 sub %l2, 0x40, %l2
11042 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
11043 wr %r12, %g0, %asi
11044 st %g0, [%r23]
11045cwq_20_253:
11046 ta T_CHANGE_NONHPRIV
11047 .word 0xa3414000 ! 304: RDPC rd %pc, %r17
11048pmu_20_254:
11049 nop
11050 setx 0xfffffe9bfffff6fe, %g1, %g7
11051 .word 0xa3800007 ! 305: WR_PERF_COUNTER_R wr %r0, %r7, %-
11052jmptr_20_255:
11053 nop
11054 best_set_reg(0xe1a00000, %r20, %r27)
11055 .word 0xb7c6c000 ! 306: JMPL_R jmpl %r27 + %r0, %r27
11056 nop
11057 ta T_CHANGE_HPRIV
11058 mov 0x20+1, %r10
11059 set sync_thr_counter5, %r23
11060#ifndef SPC
11061 ldxa [%g0]0x63, %o1
11062 and %o1, 0x38, %o1
11063 add %o1, %r23, %r23
11064#endif
11065 cas [%r23],%g0,%r10 !lock
11066 brnz %r10, cwq_20_256
11067 rd %asi, %r12
11068 wr %g0, 0x40, %asi
11069 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
11070 and %l1, 0x3, %l1 ! Check if busy/enabled ..
11071 cmp %l1, 1
11072 bne cwq_20_256
11073 set CWQ_BASE, %l6
11074 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
11075 best_set_reg(0x20610090, %l1, %l2) !# Control Word
11076 sllx %l2, 32, %l2
11077 stx %l2, [%l6 + 0x0]
11078 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
11079 sub %l2, 0x40, %l2
11080 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
11081 wr %r12, %g0, %asi
11082 st %g0, [%r23]
11083cwq_20_256:
11084 ta T_CHANGE_NONHPRIV
11085 .word 0x9b414000 ! 307: RDPC rd %pc, %r13
11086splash_hpstate_20_257:
11087 ta T_CHANGE_NONHPRIV
11088 .word 0x819827dd ! 308: WRHPR_HPSTATE_I wrhpr %r0, 0x07dd, %hpstate
11089 .word 0xe077c000 ! 309: STX_R stx %r16, [%r31 + %r0]
11090 .word 0xa3a00166 ! 310: FABSq dis not found
11091
11092 .word 0x93d02033 ! 311: Tcc_I tne icc_or_xcc, %r0 + 51
11093intveclr_20_259:
11094 nop
11095 ta T_CHANGE_HPRIV
11096 setx 0xd1852e0bc9ffeab3, %r1, %r28
11097 stxa %r28, [%g0] 0x72
11098 .word 0x25400001 ! 312: FBPLG fblg,a,pn %fcc0, <label_0x1>
11099ibp_20_260:
11100 nop
11101 .word 0xe1bfc2c0 ! 313: STDFA_R stda %f16, [%r0, %r31]
11102jmptr_20_261:
11103 nop
11104 best_set_reg(0xe1a00000, %r20, %r27)
11105 .word 0xb7c6c000 ! 314: JMPL_R jmpl %r27 + %r0, %r27
11106mondo_20_262:
11107 nop
11108 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11109 stxa %r6, [%r0+0x3c0] %asi
11110 .word 0x9d910010 ! 315: WRPR_WSTATE_R wrpr %r4, %r16, %wstate
11111ibp_20_263:
11112 nop
11113 .word 0xc1bfe060 ! 316: STDFA_I stda %f0, [0x0060, %r31]
11114 .word 0xe127e076 ! 317: STF_I st %f16, [0x0076, %r31]
11115 .word 0xe04fc000 ! 318: LDSB_R ldsb [%r31 + %r0], %r16
11116ibp_20_264:
11117 nop
11118 ta T_CHANGE_NONHPRIV
11119 .word 0xe09fc02b ! 319: LDDA_R ldda [%r31, %r11] 0x01, %r16
11120 .word 0xc1bfd960 ! 320: STDFA_R stda %f0, [%r0, %r31]
11121 setx vahole_target1, %r18, %r27
11122 .word 0xc1bfe180 ! 321: STDFA_I stda %f0, [0x0180, %r31]
11123intveclr_20_267:
11124 nop
11125 ta T_CHANGE_HPRIV
11126 setx 0xd4b01bfcca033d46, %r1, %r28
11127 stxa %r28, [%g0] 0x72
11128 .word 0x25400001 ! 322: FBPLG fblg,a,pn %fcc0, <label_0x1>
11129pmu_20_268:
11130 nop
11131 setx 0xfffffe35fffff3bb, %g1, %g7
11132 .word 0xa3800007 ! 323: WR_PERF_COUNTER_R wr %r0, %r7, %-
11133 .word 0x93a000d3 ! 324: FNEGd fnegd %f50, %f40
11134intveclr_20_269:
11135 nop
11136 ta T_CHANGE_HPRIV
11137 setx 0x99f743f57ab0a164, %r1, %r28
11138 stxa %r28, [%g0] 0x72
11139 .word 0x25400001 ! 325: FBPLG fblg,a,pn %fcc0, <label_0x1>
11140tagged_20_270:
11141 tsubcctv %r20, 0x1473, %r12
11142 .word 0xd807e155 ! 326: LDUW_I lduw [%r31 + 0x0155], %r12
11143 setx 0x33db18558fc75db7, %r1, %r28
11144 stxa %r28, [%g0] 0x73
11145intvec_20_271:
11146 .word 0x39400001 ! 327: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
11147brcommon2_20_272:
11148 nop
11149 setx common_target, %r12, %r27
11150 ba,a .+12
11151 .word 0x91a00551 ! 1: FSQRTd fsqrt
11152 ba,a .+8
11153 jmpl %r27+0, %r27
11154 .word 0xc1bfdf20 ! 328: STDFA_R stda %f0, [%r0, %r31]
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_273
11166 rd %asi, %r12
11167 wr %g0, 0x40, %asi
11168 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
11169 set 0x001a1fff, %g1
11170 stxa %g1, [%g0 + 0x80] %asi
11171 wr %r12, %g0, %asi
11172 st %g0, [%r23]
11173sma_20_273:
11174 ta T_CHANGE_NONHPRIV
11175 .word 0xd5e7e012 ! 329: CASA_R casa [%r31] %asi, %r18, %r10
11176dvapa_20_274:
11177 nop
11178 ta T_CHANGE_HPRIV
11179 mov 0x82d, %r20
11180 mov 0x1, %r19
11181 sllx %r20, 23, %r20
11182 or %r19, %r20, %r19
11183 stxa %r19, [%g0] ASI_LSU_CONTROL
11184 mov 0x38, %r18
11185 stxa %r31, [%r18]0x58
11186 ta T_CHANGE_NONHPRIV
11187 .word 0x87ac4a49 ! 330: FCMPd fcmpd %fcc<n>, %f48, %f40
11188 setx vahole_target3, %r18, %r27
11189 .word 0x9770361d ! 331: POPC_I popc 0x161d, %r11
11190dvapa_20_276:
11191 nop
11192 ta T_CHANGE_HPRIV
11193 mov 0xce1, %r20
11194 mov 0xe, %r19
11195 sllx %r20, 23, %r20
11196 or %r19, %r20, %r19
11197 stxa %r19, [%g0] ASI_LSU_CONTROL
11198 mov 0x38, %r18
11199 stxa %r31, [%r18]0x58
11200 ta T_CHANGE_NONHPRIV
11201 .word 0xc1bfc2c0 ! 332: STDFA_R stda %f0, [%r0, %r31]
11202splash_cmpr_20_277:
11203 mov 0, %r18
11204 sllx %r18, 63, %r18
11205 rd %tick, %r17
11206 add %r17, 0x60, %r17
11207 or %r17, %r18, %r17
11208 ta T_CHANGE_PRIV
11209 .word 0xaf800011 ! 333: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
11210 .word 0x97520000 ! 334: RDPR_PIL <illegal instruction>
11211splash_cmpr_20_278:
11212 mov 1, %r18
11213 sllx %r18, 63, %r18
11214 rd %tick, %r17
11215 add %r17, 0x50, %r17
11216 or %r17, %r18, %r17
11217 ta T_CHANGE_PRIV
11218 .word 0xb3800011 ! 335: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
11219 .word 0x97702de2 ! 336: POPC_I popc 0x0de2, %r11
11220 setx vahole_target1, %r18, %r27
11221 .word 0x87a88a51 ! 337: FCMPd fcmpd %fcc<n>, %f2, %f48
11222jmptr_20_280:
11223 nop
11224 best_set_reg(0xe0a00000, %r20, %r27)
11225 .word 0xb7c6c000 ! 338: JMPL_R jmpl %r27 + %r0, %r27
11226 .word 0x8d902f9d ! 339: WRPR_PSTATE_I wrpr %r0, 0x0f9d, %pstate
11227ceter_20_282:
11228 nop
11229 ta T_CHANGE_HPRIV
11230 mov 6, %r17
11231 sllx %r17, 60, %r17
11232 mov 0x18, %r16
11233 stxa %r17, [%r16]0x4c
11234 .word 0x91410000 ! 340: RDTICK rd %tick, %r8
11235 .word 0x95a449b1 ! 341: FDIVs fdivs %f17, %f17, %f10
11236 .word 0xd847e068 ! 342: LDSW_I ldsw [%r31 + 0x0068], %r12
11237 .word 0x91914014 ! 343: WRPR_PIL_R wrpr %r5, %r20, %pil
11238 .word 0xd837e1f2 ! 344: STH_I sth %r12, [%r31 + 0x01f2]
11239ibp_20_285:
11240 nop
11241 .word 0x91b1c7c2 ! 345: PDIST pdistn %d38, %d2, %d8
11242 .word 0x87a9ca48 ! 346: FCMPd fcmpd %fcc<n>, %f38, %f8
11243 .word 0xd337e0f0 ! 347: STQF_I - %f9, [0x00f0, %r31]
11244donret_20_287:
11245 nop
11246 ta T_CHANGE_HPRIV ! macro
11247 rd %pc, %r12
11248 add %r12, (donretarg_20_287-donret_20_287-4), %r12
11249 mov 0x38, %r18
11250 stxa %r12, [%r18]0x58
11251 add %r12, 0x4, %r11
11252 wrpr %g0, 0x2, %tl
11253 wrpr %g0, %r12, %tpc
11254 wrpr %g0, %r11, %tnpc
11255 set (0x006ce9c6 | (0x58 << 24)), %r13
11256 rdpr %tstate, %r16
11257 mov 0x1f, %r19
11258 and %r19, %r16, %r17
11259 andn %r16, %r19, %r16
11260 or %r16, %r17, %r20
11261 wrpr %r20, %g0, %tstate
11262 wrhpr %g0, 0x756, %htstate
11263 ta T_CHANGE_NONHPRIV ! rand=1 (20)
11264 .word 0x24c8c001 ! 1: BRLEZ brlez,a,pt %r3,<label_0x8c001>
11265 done
11266donretarg_20_287:
11267 .word 0xd2ffe127 ! 348: SWAPA_I swapa %r9, [%r31 + 0x0127] %asi
11268 .word 0xd2800be0 ! 349: LDUWA_R lduwa [%r0, %r0] 0x5f, %r9
11269 .word 0x8d802004 ! 350: WRFPRS_I wr %r0, 0x0004, %fprs
11270dvapa_20_288:
11271 nop
11272 ta T_CHANGE_HPRIV
11273 mov 0xf1f, %r20
11274 mov 0x1f, %r19
11275 sllx %r20, 23, %r20
11276 or %r19, %r20, %r19
11277 stxa %r19, [%g0] ASI_LSU_CONTROL
11278 mov 0x38, %r18
11279 stxa %r31, [%r18]0x58
11280 ta T_CHANGE_NONHPRIV
11281 .word 0xd3e7e013 ! 351: CASA_R casa [%r31] %asi, %r19, %r9
11282 .word 0x97a00166 ! 352: FABSq dis not found
11283
11284 .word 0xe19fdc00 ! 353: LDDFA_R ldda [%r31, %r0], %f16
11285brcommon2_20_291:
11286 nop
11287 setx common_target, %r12, %r27
11288 ba,a .+12
11289 .word 0xe714000b ! 1: LDQF_R - [%r16, %r11], %f19
11290 ba,a .+8
11291 jmpl %r27+0, %r27
11292 .word 0xe1bfd920 ! 354: STDFA_R stda %f16, [%r0, %r31]
11293donret_20_292:
11294 nop
11295 ta T_CHANGE_HPRIV ! macro
11296 rd %pc, %r12
11297 add %r12, (donretarg_20_292-donret_20_292-8), %r12
11298 mov 0x38, %r18
11299 stxa %r12, [%r18]0x58
11300 add %r12, 0x4, %r11
11301 wrpr %g0, 0x2, %tl
11302 wrpr %g0, %r12, %tpc
11303 wrpr %g0, %r11, %tnpc
11304 set (0x009fe5a7 | (0x88 << 24)), %r13
11305 rdpr %tstate, %r16
11306 mov 0x1f, %r19
11307 and %r19, %r16, %r17
11308 andn %r16, %r19, %r16
11309 or %r16, %r17, %r20
11310 wrpr %r20, %g0, %tstate
11311 wrhpr %g0, 0xd9, %htstate
11312 ta T_CHANGE_NONHPRIV ! rand=1 (20)
11313 retry
11314donretarg_20_292:
11315 .word 0x95a249cc ! 355: FDIVd fdivd %f40, %f12, %f10
11316pmu_20_293:
11317 nop
11318 setx 0xfffff474fffff7c5, %g1, %g7
11319 .word 0xa3800007 ! 356: WR_PERF_COUNTER_R wr %r0, %r7, %-
11320donret_20_294:
11321 nop
11322 ta T_CHANGE_HPRIV ! macro
11323 rd %pc, %r12
11324 add %r12, (donretarg_20_294-donret_20_294-8), %r12
11325 mov 0x38, %r18
11326 stxa %r12, [%r18]0x58
11327 add %r12, 0x4, %r11
11328 wrpr %g0, 0x1, %tl
11329 wrpr %g0, %r12, %tpc
11330 wrpr %g0, %r11, %tnpc
11331 set (0x001df3bd | (20 << 24)), %r13
11332 rdpr %tstate, %r16
11333 mov 0x1f, %r19
11334 and %r19, %r16, %r17
11335 andn %r16, %r19, %r16
11336 or %r16, %r17, %r20
11337 wrpr %r20, %g0, %tstate
11338 wrhpr %g0, 0x115e, %htstate
11339 ta T_CHANGE_NONHPRIV ! rand=1 (20)
11340 retry
11341donretarg_20_294:
11342 .word 0xe46fe0c3 ! 357: LDSTUB_I ldstub %r18, [%r31 + 0x00c3]
11343 nop
11344 ta T_CHANGE_HPRIV
11345 mov 0x20, %r10
11346 set sync_thr_counter6, %r23
11347#ifndef SPC
11348 ldxa [%g0]0x63, %o1
11349 and %o1, 0x38, %o1
11350 add %o1, %r23, %r23
11351#endif
11352 cas [%r23],%g0,%r10 !lock
11353 brnz %r10, sma_20_295
11354 rd %asi, %r12
11355 wr %g0, 0x40, %asi
11356 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
11357 set 0x00061fff, %g1
11358 stxa %g1, [%g0 + 0x80] %asi
11359 wr %r12, %g0, %asi
11360 st %g0, [%r23]
11361sma_20_295:
11362 ta T_CHANGE_NONHPRIV
11363 .word 0xe5e7e013 ! 358: CASA_R casa [%r31] %asi, %r19, %r18
11364 .word 0x22800001 ! 359: BE be,a <label_0x1>
11365 nop
11366 ta T_CHANGE_HPRIV
11367 mov 0x20+1, %r10
11368 set sync_thr_counter5, %r23
11369#ifndef SPC
11370 ldxa [%g0]0x63, %o1
11371 and %o1, 0x38, %o1
11372 add %o1, %r23, %r23
11373#endif
11374 cas [%r23],%g0,%r10 !lock
11375 brnz %r10, cwq_20_296
11376 rd %asi, %r12
11377 wr %g0, 0x40, %asi
11378 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
11379 and %l1, 0x3, %l1 ! Check if busy/enabled ..
11380 cmp %l1, 1
11381 bne cwq_20_296
11382 set CWQ_BASE, %l6
11383 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
11384 best_set_reg(0x20610060, %l1, %l2) !# Control Word
11385 sllx %l2, 32, %l2
11386 stx %l2, [%l6 + 0x0]
11387 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
11388 sub %l2, 0x40, %l2
11389 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
11390 wr %r12, %g0, %asi
11391 st %g0, [%r23]
11392cwq_20_296:
11393 ta T_CHANGE_NONHPRIV
11394 .word 0xa3414000 ! 360: RDPC rd %pc, %r17
11395splash_cmpr_20_297:
11396 mov 1, %r18
11397 sllx %r18, 63, %r18
11398 rd %tick, %r17
11399 add %r17, 0x50, %r17
11400 or %r17, %r18, %r17
11401 ta T_CHANGE_PRIV
11402 .word 0xb3800011 ! 361: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
11403mondo_20_298:
11404 nop
11405 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11406 ta T_CHANGE_PRIV
11407 stxa %r19, [%r0+0x3e8] %asi
11408 .word 0x9d948005 ! 362: WRPR_WSTATE_R wrpr %r18, %r5, %wstate
11409brcommon3_20_299:
11410 nop
11411 setx common_target, %r12, %r27
11412 lduw [%r27], %r12 ! Load common dest into dcache ..
11413 ba,a .+12
11414 .word 0xdb37c011 ! 1: STQF_R - %f13, [%r17, %r31]
11415 ba,a .+8
11416 jmpl %r27+0, %r27
11417 .word 0xda97c02b ! 363: LDUHA_R lduha [%r31, %r11] 0x01, %r13
11418intveclr_20_300:
11419 nop
11420 ta T_CHANGE_HPRIV
11421 setx 0x0158d7c31c4f01f6, %r1, %r28
11422 stxa %r28, [%g0] 0x72
11423 ta T_CHANGE_NONHPRIV
11424 .word 0x25400001 ! 364: FBPLG fblg,a,pn %fcc0, <label_0x1>
11425 .word 0x89800011 ! 365: WRTICK_R wr %r0, %r17, %tick
11426splash_lsu_20_302:
11427 nop
11428 ta T_CHANGE_HPRIV
11429 set 0x81379529, %r2
11430 mov 0x4, %r1
11431 sllx %r1, 32, %r1
11432 or %r1, %r2, %r2
11433 stxa %r2, [%r0] ASI_LSU_CONTROL
11434 .word 0x3d400001 ! 366: FBPULE fbule,a,pn %fcc0, <label_0x1>
11435 nop
11436 ta T_CHANGE_HPRIV
11437 mov 0x20+1, %r10
11438 set sync_thr_counter5, %r23
11439#ifndef SPC
11440 ldxa [%g0]0x63, %o1
11441 and %o1, 0x38, %o1
11442 add %o1, %r23, %r23
11443#endif
11444 cas [%r23],%g0,%r10 !lock
11445 brnz %r10, cwq_20_303
11446 rd %asi, %r12
11447 wr %g0, 0x40, %asi
11448 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
11449 and %l1, 0x3, %l1 ! Check if busy/enabled ..
11450 cmp %l1, 1
11451 bne cwq_20_303
11452 set CWQ_BASE, %l6
11453 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
11454 best_set_reg(0x206100a0, %l1, %l2) !# Control Word
11455 sllx %l2, 32, %l2
11456 stx %l2, [%l6 + 0x0]
11457 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
11458 sub %l2, 0x40, %l2
11459 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
11460 wr %r12, %g0, %asi
11461 st %g0, [%r23]
11462cwq_20_303:
11463 ta T_CHANGE_NONHPRIV
11464 .word 0xa1414000 ! 367: RDPC rd %pc, %r16
11465 set 0x5f8, %l3
11466 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
11467 .word 0xa3b407d0 ! 368: PDIST pdistn %d16, %d16, %d48
11468splash_lsu_20_304:
11469 nop
11470 ta T_CHANGE_HPRIV
11471 set 0xcb8a5901, %r2
11472 mov 0x6, %r1
11473 sllx %r1, 32, %r1
11474 or %r1, %r2, %r2
11475 stxa %r2, [%r0] ASI_LSU_CONTROL
11476 ta T_CHANGE_NONHPRIV
11477 .word 0x3d400001 ! 369: FBPULE fbule,a,pn %fcc0, <label_0x1>
11478br_longdelay4_20_305:
11479 nop
11480 not %g0, %r12
11481 jmp %r12
11482 .word 0x9d902005 ! 370: WRPR_WSTATE_I wrpr %r0, 0x0005, %wstate
11483dvapa_20_306:
11484 nop
11485 ta T_CHANGE_HPRIV
11486 mov 0xad6, %r20
11487 mov 0x19, %r19
11488 sllx %r20, 23, %r20
11489 or %r19, %r20, %r19
11490 stxa %r19, [%g0] ASI_LSU_CONTROL
11491 mov 0x38, %r18
11492 stxa %r31, [%r18]0x58
11493 ta T_CHANGE_NONHPRIV
11494 .word 0x97b307c5 ! 371: PDIST pdistn %d12, %d36, %d42
11495pmu_20_307:
11496 nop
11497 setx 0xfffff844fffff895, %g1, %g7
11498 .word 0xa3800007 ! 372: WR_PERF_COUNTER_R wr %r0, %r7, %-
11499pmu_20_308:
11500 nop
11501 setx 0xfffffdbffffffb06, %g1, %g7
11502 .word 0xa3800007 ! 373: WR_PERF_COUNTER_R wr %r0, %r7, %-
11503 setx vahole_target2, %r18, %r27
11504 .word 0xc1bfe1c0 ! 374: STDFA_I stda %f0, [0x01c0, %r31]
11505tagged_20_310:
11506 tsubcctv %r8, 0x1464, %r19
11507 .word 0xd407e096 ! 375: LDUW_I lduw [%r31 + 0x0096], %r10
11508 nop
11509 ta T_CHANGE_HPRIV
11510 mov 0x20+1, %r10
11511 set sync_thr_counter5, %r23
11512#ifndef SPC
11513 ldxa [%g0]0x63, %o1
11514 and %o1, 0x38, %o1
11515 add %o1, %r23, %r23
11516#endif
11517 cas [%r23],%g0,%r10 !lock
11518 brnz %r10, cwq_20_311
11519 rd %asi, %r12
11520 wr %g0, 0x40, %asi
11521 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
11522 and %l1, 0x3, %l1 ! Check if busy/enabled ..
11523 cmp %l1, 1
11524 bne cwq_20_311
11525 set CWQ_BASE, %l6
11526 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
11527 best_set_reg(0x20610010, %l1, %l2) !# Control Word
11528 sllx %l2, 32, %l2
11529 stx %l2, [%l6 + 0x0]
11530 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
11531 sub %l2, 0x40, %l2
11532 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
11533 wr %r12, %g0, %asi
11534 st %g0, [%r23]
11535cwq_20_311:
11536 ta T_CHANGE_NONHPRIV
11537 .word 0x97414000 ! 376: RDPC rd %pc, %r11
11538trapasi_20_312:
11539 nop
11540 mov 0x20, %r1 ! (VA for ASI 0x5b)
11541 .word 0xd8d84b60 ! 377: LDXA_R ldxa [%r1, %r0] 0x5b, %r12
11542 .word 0x32800001 ! 1: BNE bne,a <label_0x1>
11543 .word 0x8d903947 ! 378: WRPR_PSTATE_I wrpr %r0, 0x1947, %pstate
11544 .word 0xd9e7e011 ! 379: CASA_R casa [%r31] %asi, %r17, %r12
11545mondo_20_315:
11546 nop
11547 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11548 ta T_CHANGE_PRIV
11549 stxa %r13, [%r0+0x3c8] %asi
11550 .word 0x9d928004 ! 380: WRPR_WSTATE_R wrpr %r10, %r4, %wstate
11551fpinit_20_316:
11552 setx fp_data_quads, %r19, %r20
11553 ldd [%r20], %f0
11554 ldd [%r20+8], %f4
11555 ld [%r20+16], %fsr
11556 ld [%r20+24], %r19
11557 wr %r19, %g0, %gsr
11558 .word 0x87a80a44 ! 381: FCMPd fcmpd %fcc<n>, %f0, %f4
11559dvapa_20_317:
11560 nop
11561 ta T_CHANGE_HPRIV
11562 mov 0xf3c, %r20
11563 mov 0x1, %r19
11564 sllx %r20, 23, %r20
11565 or %r19, %r20, %r19
11566 stxa %r19, [%g0] ASI_LSU_CONTROL
11567 mov 0x38, %r18
11568 stxa %r31, [%r18]0x58
11569 ta T_CHANGE_NONHPRIV
11570 .word 0xe1bfc3e0 ! 382: STDFA_R stda %f16, [%r0, %r31]
11571 .word 0x8d9037c8 ! 383: WRPR_PSTATE_I wrpr %r0, 0x17c8, %pstate
11572pmu_20_319:
11573 nop
11574 setx 0xfffff684fffffc0e, %g1, %g7
11575 .word 0xa3800007 ! 384: WR_PERF_COUNTER_R wr %r0, %r7, %-
11576 .word 0xd8d7e118 ! 385: LDSHA_I ldsha [%r31, + 0x0118] %asi, %r12
11577 .word 0x8d902562 ! 386: WRPR_PSTATE_I wrpr %r0, 0x0562, %pstate
11578fpinit_20_321:
11579 setx fp_data_quads, %r19, %r20
11580 ldd [%r20], %f0
11581 ldd [%r20+8], %f4
11582 ld [%r20+16], %fsr
11583 ld [%r20+24], %r19
11584 wr %r19, %g0, %gsr
11585 .word 0x8da009a4 ! 387: FDIVs fdivs %f0, %f4, %f6
11586 .word 0xc19fdf20 ! 388: LDDFA_R ldda [%r31, %r0], %f0
11587 .word 0x95b48548 ! 389: FCMPEQ16 fcmpeq16 %d18, %d8, %r10
11588donret_20_322:
11589 nop
11590 ta T_CHANGE_HPRIV ! macro
11591 rd %pc, %r12
11592 add %r12, (donretarg_20_322-donret_20_322-8), %r12
11593 mov 0x38, %r18
11594 stxa %r12, [%r18]0x58
11595 add %r12, 0x4, %r11
11596 wrpr %g0, 0x1, %tl
11597 wrpr %g0, %r12, %tpc
11598 wrpr %g0, %r11, %tnpc
11599 set (0x00f3ff13 | (22 << 24)), %r13
11600 rdpr %tstate, %r16
11601 mov 0x1f, %r19
11602 and %r19, %r16, %r17
11603 andn %r16, %r19, %r16
11604 or %r16, %r17, %r20
11605 wrpr %r20, %g0, %tstate
11606 wrhpr %g0, 0x4dd, %htstate
11607 ta T_CHANGE_NONPRIV ! rand=0 (20)
11608 .word 0x21400001 ! 1: FBPN fbn,a,pn %fcc0, <label_0x1>
11609 retry
11610donretarg_20_322:
11611 .word 0xe8ffe035 ! 390: SWAPA_I swapa %r20, [%r31 + 0x0035] %asi
11612 .word 0x9b45c000 ! 391: RD_TICK_CMPR_REG rd %-, %r13
11613 .word 0xab84c012 ! 392: WR_CLEAR_SOFTINT_R wr %r19, %r18, %clear_softint
11614 setx 0xa9c416d476e99d2f, %r1, %r28
11615 stxa %r28, [%g0] 0x73
11616intvec_20_323:
11617 .word 0x39400001 ! 393: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
11618 .word 0xe7e7e008 ! 394: CASA_R casa [%r31] %asi, %r8, %r19
11619 setx 0x7246a4966a1a3523, %r1, %r28
11620 stxa %r28, [%g0] 0x73
11621intvec_20_325:
11622 .word 0x39400001 ! 395: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
11623 .word 0xa5524000 ! 396: RDPR_CWP <illegal instruction>
11624dvapa_20_327:
11625 nop
11626 ta T_CHANGE_HPRIV
11627 mov 0xd48, %r20
11628 mov 0x10, %r19
11629 sllx %r20, 23, %r20
11630 or %r19, %r20, %r19
11631 stxa %r19, [%g0] ASI_LSU_CONTROL
11632 mov 0x38, %r18
11633 stxa %r31, [%r18]0x58
11634 ta T_CHANGE_NONHPRIV
11635 .word 0xc1bfdf20 ! 397: STDFA_R stda %f0, [%r0, %r31]
11636fpinit_20_328:
11637 setx fp_data_quads, %r19, %r20
11638 ldd [%r20], %f0
11639 ldd [%r20+8], %f4
11640 ld [%r20+16], %fsr
11641 ld [%r20+24], %r19
11642 wr %r19, %g0, %gsr
11643 .word 0x89a009a4 ! 398: FDIVs fdivs %f0, %f4, %f4
11644 .word 0xe6bfc030 ! 399: STDA_R stda %r19, [%r31 + %r16] 0x01
11645 .word 0xa1a4c9d1 ! 400: FDIVd fdivd %f50, %f48, %f16
11646 setx vahole_target2, %r18, %r27
11647 .word 0xe1bfe160 ! 401: STDFA_I stda %f16, [0x0160, %r31]
11648 nop
11649 nop
11650 ta T_CHANGE_PRIV
11651 wrpr %g0, %g0, %gl
11652 nop
11653 nop
11654 setx join_lbl_0_0, %g1, %g2
11655 jmp %g2
11656 nop
11657fork_lbl_0_5:
11658 ta T_CHANGE_NONHPRIV
11659 .word 0xe88008a0 ! 1: LDUWA_R lduwa [%r0, %r0] 0x45, %r20
11660 .word 0x93a0016a ! 2: FABSq dis not found
11661
11662ibp_10_1:
11663 nop
11664 ta T_CHANGE_NONHPRIV
11665 .word 0xe33fc00d ! 3: STDF_R std %f17, [%r13, %r31]
11666donret_10_2:
11667 nop
11668 ta T_CHANGE_HPRIV ! macro
11669 rd %pc, %r12
11670 add %r12, (donretarg_10_2-donret_10_2-8), %r12
11671 mov 0x38, %r18
11672 stxa %r12, [%r18]0x58
11673 add %r12, 0x4, %r11
11674 wrpr %g0, 0x2, %tl
11675 wrpr %g0, %r12, %tpc
11676 wrpr %g0, %r11, %tnpc
11677 set (0x0079e6fb | (0x80 << 24)), %r13
11678 rdpr %tstate, %r16
11679 mov 0x1f, %r19
11680 and %r19, %r16, %r17
11681 andn %r16, %r19, %r16
11682 or %r16, %r17, %r20
11683 wrpr %r20, %g0, %tstate
11684 wrhpr %g0, 0x1fd0, %htstate
11685 ta T_CHANGE_NONHPRIV ! rand=1 (10)
11686 .word 0x29400001 ! 1: FBPL fbl,a,pn %fcc0, <label_0x1>
11687 retry
11688donretarg_10_2:
11689 .word 0xe26fe052 ! 4: LDSTUB_I ldstub %r17, [%r31 + 0x0052]
11690 setx 0xeb51315f7d192fbb, %r1, %r28
11691 stxa %r28, [%g0] 0x73
11692intvec_10_3:
11693 .word 0x39400001 ! 5: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
11694mondo_10_4:
11695 nop
11696 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11697 stxa %r16, [%r0+0x3c0] %asi
11698 .word 0x9d90c010 ! 6: WRPR_WSTATE_R wrpr %r3, %r16, %wstate
11699pmu_10_5:
11700 nop
11701 ta T_CHANGE_PRIV
11702 setx 0xfffffc0dfffff8b5, %g1, %g7
11703 .word 0xa3800007 ! 7: WR_PERF_COUNTER_R wr %r0, %r7, %-
11704 .word 0x90fcb8ae ! 8: SDIVcc_I sdivcc %r18, 0xfffff8ae, %r8
11705splash_cmpr_10_6:
11706 mov 0, %r18
11707 sllx %r18, 63, %r18
11708 rd %tick, %r17
11709 add %r17, 0x60, %r17
11710 or %r17, %r18, %r17
11711 ta T_CHANGE_HPRIV
11712 wrhpr %r17, %g0, %hsys_tick_cmpr
11713 ta T_CHANGE_PRIV
11714 .word 0xaf800011 ! 9: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
11715 nop
11716 ta T_CHANGE_HPRIV
11717 mov 0x10+1, %r10
11718 set sync_thr_counter5, %r23
11719#ifndef SPC
11720 ldxa [%g0]0x63, %o1
11721 and %o1, 0x38, %o1
11722 add %o1, %r23, %r23
11723#endif
11724 cas [%r23],%g0,%r10 !lock
11725 brnz %r10, cwq_10_7
11726 rd %asi, %r12
11727 wr %g0, 0x40, %asi
11728 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
11729 and %l1, 0x3, %l1 ! Check if busy/enabled ..
11730 cmp %l1, 1
11731 bne cwq_10_7
11732 set CWQ_BASE, %l6
11733 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
11734 best_set_reg(0x20610090, %l1, %l2) !# Control Word
11735 sllx %l2, 32, %l2
11736 stx %l2, [%l6 + 0x0]
11737 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
11738 sub %l2, 0x40, %l2
11739 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
11740 wr %r12, %g0, %asi
11741 st %g0, [%r23]
11742cwq_10_7:
11743 ta T_CHANGE_NONHPRIV
11744 .word 0x93414000 ! 10: RDPC rd %pc, %r9
11745pmu_10_8:
11746 nop
11747 setx 0xfffff65efffff8fc, %g1, %g7
11748 .word 0xa3800007 ! 11: WR_PERF_COUNTER_R wr %r0, %r7, %-
11749 .word 0x93a00172 ! 12: FABSq dis not found
11750
11751ibp_10_10:
11752 nop
11753 .word 0xe1bfe040 ! 13: STDFA_I stda %f16, [0x0040, %r31]
11754trapasi_10_11:
11755 nop
11756 mov 0x28, %r1 ! (VA for ASI 0x4c)
11757 .word 0xe2d04980 ! 14: LDSHA_R ldsha [%r1, %r0] 0x4c, %r17
11758splash_cmpr_10_12:
11759 mov 1, %r18
11760 sllx %r18, 63, %r18
11761 rd %tick, %r17
11762 add %r17, 0x70, %r17
11763 or %r17, %r18, %r17
11764 .word 0xaf800011 ! 15: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
11765 .word 0xc3ecc023 ! 16: PREFETCHA_R prefetcha [%r19, %r3] 0x01, #one_read
11766pmu_10_14:
11767 nop
11768 setx 0xffffff98fffff676, %g1, %g7
11769 .word 0xa3800007 ! 17: WR_PERF_COUNTER_R wr %r0, %r7, %-
11770 .word 0x2f400001 ! 1: FBPU fbu,a,pn %fcc0, <label_0x1>
11771 .word 0x8d902515 ! 18: WRPR_PSTATE_I wrpr %r0, 0x0515, %pstate
11772splash_cmpr_10_16:
11773 mov 1, %r18
11774 sllx %r18, 63, %r18
11775 rd %tick, %r17
11776 add %r17, 0x80, %r17
11777 or %r17, %r18, %r17
11778 ta T_CHANGE_HPRIV
11779 wrhpr %r17, %g0, %hsys_tick_cmpr
11780 .word 0xb3800011 ! 19: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
11781 .word 0xd01fc000 ! 20: LDD_R ldd [%r31 + %r0], %r8
11782splash_lsu_10_17:
11783 nop
11784 ta T_CHANGE_HPRIV
11785 set 0xdb1cb08e, %r2
11786 mov 0x3, %r1
11787 sllx %r1, 32, %r1
11788 or %r1, %r2, %r2
11789 stxa %r2, [%r0] ASI_LSU_CONTROL
11790 ta T_CHANGE_NONHPRIV
11791 .word 0x3d400001 ! 21: FBPULE fbule,a,pn %fcc0, <label_0x1>
11792ibp_10_18:
11793 nop
11794 .word 0xa1a289b2 ! 22: FDIVs fdivs %f10, %f18, %f16
11795fpinit_10_19:
11796 setx fp_data_quads, %r19, %r20
11797 ldd [%r20], %f0
11798 ldd [%r20+8], %f4
11799 ld [%r20+16], %fsr
11800 ld [%r20+24], %r19
11801 wr %r19, %g0, %gsr
11802 .word 0x8da009c4 ! 23: FDIVd fdivd %f0, %f4, %f6
11803mondo_10_20:
11804 nop
11805 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11806 ta T_CHANGE_PRIV
11807 stxa %r8, [%r0+0x3d0] %asi
11808 .word 0x9d950013 ! 24: WRPR_WSTATE_R wrpr %r20, %r19, %wstate
11809intveclr_10_21:
11810 nop
11811 ta T_CHANGE_HPRIV
11812 setx 0x1bf31ab815b1990d, %r1, %r28
11813 stxa %r28, [%g0] 0x72
11814 .word 0x25400001 ! 25: FBPLG fblg,a,pn %fcc0, <label_0x1>
11815pmu_10_22:
11816 nop
11817 ta T_CHANGE_PRIV
11818 setx 0xfffff1bcfffff0d2, %g1, %g7
11819 .word 0xa3800007 ! 26: WR_PERF_COUNTER_R wr %r0, %r7, %-
11820splash_tba_10_23:
11821 ta T_CHANGE_PRIV
11822 setx 0x0000000000380000, %r11, %r12
11823 .word 0x8b90000c ! 27: WRPR_TBA_R wrpr %r0, %r12, %tba
11824trapasi_10_24:
11825 nop
11826 mov 0x18, %r1 ! (VA for ASI 0x4c)
11827 .word 0xdad84980 ! 28: LDXA_R ldxa [%r1, %r0] 0x4c, %r13
11828 .word 0x87802014 ! 29: WRASI_I wr %r0, 0x0014, %asi
11829ibp_10_25:
11830 nop
11831 ta T_CHANGE_NONHPRIV
11832 .word 0xc19fdb60 ! 30: LDDFA_R ldda [%r31, %r0], %f0
11833dvapa_10_26:
11834 nop
11835 ta T_CHANGE_HPRIV
11836 mov 0xa30, %r20
11837 mov 0x1, %r19
11838 sllx %r20, 23, %r20
11839 or %r19, %r20, %r19
11840 stxa %r19, [%g0] ASI_LSU_CONTROL
11841 mov 0x38, %r18
11842 stxa %r31, [%r18]0x58
11843 ta T_CHANGE_NONHPRIV
11844 .word 0xdadfc02d ! 31: LDXA_R ldxa [%r31, %r13] 0x01, %r13
11845 nop
11846 ta T_CHANGE_HPRIV
11847 mov 0x10+1, %r10
11848 set sync_thr_counter5, %r23
11849#ifndef SPC
11850 ldxa [%g0]0x63, %o1
11851 and %o1, 0x38, %o1
11852 add %o1, %r23, %r23
11853#endif
11854 cas [%r23],%g0,%r10 !lock
11855 brnz %r10, cwq_10_27
11856 rd %asi, %r12
11857 wr %g0, 0x40, %asi
11858 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
11859 and %l1, 0x3, %l1 ! Check if busy/enabled ..
11860 cmp %l1, 1
11861 bne cwq_10_27
11862 set CWQ_BASE, %l6
11863 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
11864 best_set_reg(0x20610060, %l1, %l2) !# Control Word
11865 sllx %l2, 32, %l2
11866 stx %l2, [%l6 + 0x0]
11867 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
11868 sub %l2, 0x40, %l2
11869 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
11870 wr %r12, %g0, %asi
11871 st %g0, [%r23]
11872cwq_10_27:
11873 ta T_CHANGE_NONHPRIV
11874 .word 0xa1414000 ! 32: RDPC rd %pc, %r16
11875 .word 0x8d903350 ! 33: WRPR_PSTATE_I wrpr %r0, 0x1350, %pstate
11876 .word 0x9ba00172 ! 34: FABSq dis not found
11877
11878#if (defined SPC || defined CMP)
11879!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_10_30) + 24, 16, 16)) -> intp(0,0,14)
11880!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_10_30)&0xffffffff) + 24, 16, 16)) -> intp(0,0,14)
11881#else
11882 setx 0xb9cb084a2fe920ec, %r1, %r28
11883 stxa %r28, [%g0] 0x73
11884#endif
11885intvec_10_30:
11886 .word 0x39400001 ! 35: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
11887 .word 0xa1b48994 ! 36: BSHUFFLE fmovc32 %d18, %d20, %d16
11888 .word 0x8d802000 ! 37: WRFPRS_I wr %r0, 0x0000, %fprs
11889 .word 0xd44fe1b0 ! 38: LDSB_I ldsb [%r31 + 0x01b0], %r10
11890splash_cmpr_10_32:
11891 mov 0, %r18
11892 sllx %r18, 63, %r18
11893 rd %tick, %r17
11894 add %r17, 0x80, %r17
11895 or %r17, %r18, %r17
11896 ta T_CHANGE_HPRIV
11897 wrhpr %r17, %g0, %hsys_tick_cmpr
11898 .word 0xb3800011 ! 39: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
11899 setx 0x9ce28b29b014e300, %r1, %r28
11900 stxa %r28, [%g0] 0x73
11901intvec_10_33:
11902 .word 0x39400001 ! 40: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
11903 .word 0x8d802000 ! 41: WRFPRS_I wr %r0, 0x0000, %fprs
11904pmu_10_34:
11905 nop
11906 setx 0xfffff530fffff01a, %g1, %g7
11907 .word 0xa3800007 ! 42: WR_PERF_COUNTER_R wr %r0, %r7, %-
11908jmptr_10_35:
11909 nop
11910 best_set_reg(0xe0200000, %r20, %r27)
11911 .word 0xb7c6c000 ! 43: JMPL_R jmpl %r27 + %r0, %r27
11912 .word 0xd4c7e1f0 ! 44: LDSWA_I ldswa [%r31, + 0x01f0] %asi, %r10
11913 .word 0xc30fc000 ! 45: LDXFSR_R ld-fsr [%r31, %r0], %f1
11914fpinit_10_36:
11915 setx fp_data_quads, %r19, %r20
11916 ldd [%r20], %f0
11917 ldd [%r20+8], %f4
11918 ld [%r20+16], %fsr
11919 ld [%r20+24], %r19
11920 wr %r19, %g0, %gsr
11921 .word 0x8db00484 ! 46: FCMPLE32 fcmple32 %d0, %d4, %r6
11922cwp_10_37:
11923 set user_data_start, %o7
11924 .word 0x93902006 ! 47: WRPR_CWP_I wrpr %r0, 0x0006, %cwp
11925ibp_10_38:
11926 nop
11927 .word 0xc32fc013 ! 48: STXFSR_R st-sfr %f1, [%r19, %r31]
11928pmu_10_39:
11929 nop
11930 setx 0xffffffecfffffa53, %g1, %g7
11931 .word 0xa3800007 ! 49: WR_PERF_COUNTER_R wr %r0, %r7, %-
11932fpinit_10_40:
11933 setx fp_data_quads, %r19, %r20
11934 ldd [%r20], %f0
11935 ldd [%r20+8], %f4
11936 ld [%r20+16], %fsr
11937 ld [%r20+24], %r19
11938 wr %r19, %g0, %gsr
11939 .word 0x91a009c4 ! 50: FDIVd fdivd %f0, %f4, %f8
11940 nop
11941 ta T_CHANGE_HPRIV
11942 mov 0x10+1, %r10
11943 set sync_thr_counter5, %r23
11944#ifndef SPC
11945 ldxa [%g0]0x63, %o1
11946 and %o1, 0x38, %o1
11947 add %o1, %r23, %r23
11948#endif
11949 cas [%r23],%g0,%r10 !lock
11950 brnz %r10, cwq_10_41
11951 rd %asi, %r12
11952 wr %g0, 0x40, %asi
11953 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
11954 and %l1, 0x3, %l1 ! Check if busy/enabled ..
11955 cmp %l1, 1
11956 bne cwq_10_41
11957 set CWQ_BASE, %l6
11958 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
11959 best_set_reg(0x20610050, %l1, %l2) !# Control Word
11960 sllx %l2, 32, %l2
11961 stx %l2, [%l6 + 0x0]
11962 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
11963 sub %l2, 0x40, %l2
11964 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
11965 wr %r12, %g0, %asi
11966 st %g0, [%r23]
11967cwq_10_41:
11968 ta T_CHANGE_NONHPRIV
11969 .word 0xa5414000 ! 51: RDPC rd %pc, %r18
11970 .word 0x91950014 ! 52: WRPR_PIL_R wrpr %r20, %r20, %pil
11971mondo_10_43:
11972 nop
11973 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11974 ta T_CHANGE_PRIV
11975 stxa %r20, [%r0+0x3c8] %asi
11976 .word 0x9d924010 ! 53: WRPR_WSTATE_R wrpr %r9, %r16, %wstate
11977dvapa_10_44:
11978 nop
11979 ta T_CHANGE_HPRIV
11980 mov 0xc70, %r20
11981 mov 0x17, %r19
11982 sllx %r20, 23, %r20
11983 or %r19, %r20, %r19
11984 stxa %r19, [%g0] ASI_LSU_CONTROL
11985 mov 0x38, %r18
11986 stxa %r31, [%r18]0x58
11987 ta T_CHANGE_NONHPRIV
11988 .word 0xc19fdf20 ! 54: LDDFA_R ldda [%r31, %r0], %f0
11989ibp_10_45:
11990 nop
11991 ta T_CHANGE_NONHPRIV
11992 .word 0xe1bfe160 ! 55: STDFA_I stda %f16, [0x0160, %r31]
11993 nop
11994 ta T_CHANGE_HPRIV
11995 mov 0x10, %r10
11996 set sync_thr_counter6, %r23
11997#ifndef SPC
11998 ldxa [%g0]0x63, %o1
11999 and %o1, 0x38, %o1
12000 add %o1, %r23, %r23
12001#endif
12002 cas [%r23],%g0,%r10 !lock
12003 brnz %r10, sma_10_46
12004 rd %asi, %r12
12005 wr %g0, 0x40, %asi
12006 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
12007 set 0x000a1fff, %g1
12008 stxa %g1, [%g0 + 0x80] %asi
12009 wr %r12, %g0, %asi
12010 st %g0, [%r23]
12011sma_10_46:
12012 ta T_CHANGE_NONHPRIV
12013 .word 0xe9e7e00d ! 56: CASA_R casa [%r31] %asi, %r13, %r20
12014 .word 0x28800001 ! 1: BLEU bleu,a <label_0x1>
12015 .word 0x8d903142 ! 57: WRPR_PSTATE_I wrpr %r0, 0x1142, %pstate
12016splash_lsu_10_48:
12017 nop
12018 ta T_CHANGE_HPRIV
12019 set 0x44427d69, %r2
12020 mov 0x3, %r1
12021 sllx %r1, 32, %r1
12022 or %r1, %r2, %r2
12023 stxa %r2, [%r0] ASI_LSU_CONTROL
12024 ta T_CHANGE_NONHPRIV
12025 .word 0x3d400001 ! 58: FBPULE fbule,a,pn %fcc0, <label_0x1>
12026 setx vahole_target2, %r18, %r27
12027 .word 0xc3ed002d ! 59: PREFETCHA_R prefetcha [%r20, %r13] 0x01, #one_read
12028splash_hpstate_10_50:
12029 ta T_CHANGE_NONHPRIV
12030 .word 0x2ccac001 ! 1: BRGZ brgz,a,pt %r11,<label_0xac001>
12031 .word 0x81982fd5 ! 60: WRHPR_HPSTATE_I wrhpr %r0, 0x0fd5, %hpstate
12032 setx vahole_target0, %r18, %r27
12033 .word 0xc1bfe080 ! 61: STDFA_I stda %f0, [0x0080, %r31]
12034splash_lsu_10_52:
12035 nop
12036 ta T_CHANGE_HPRIV
12037 set 0x034cf9f2, %r2
12038 mov 0x3, %r1
12039 sllx %r1, 32, %r1
12040 or %r1, %r2, %r2
12041 stxa %r2, [%r0] ASI_LSU_CONTROL
12042 ta T_CHANGE_NONHPRIV
12043 .word 0x3d400001 ! 62: FBPULE fbule,a,pn %fcc0, <label_0x1>
12044 nop
12045 ta T_CHANGE_HPRIV
12046 mov 0x10+1, %r10
12047 set sync_thr_counter5, %r23
12048#ifndef SPC
12049 ldxa [%g0]0x63, %o1
12050 and %o1, 0x38, %o1
12051 add %o1, %r23, %r23
12052#endif
12053 cas [%r23],%g0,%r10 !lock
12054 brnz %r10, cwq_10_53
12055 rd %asi, %r12
12056 wr %g0, 0x40, %asi
12057 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
12058 and %l1, 0x3, %l1 ! Check if busy/enabled ..
12059 cmp %l1, 1
12060 bne cwq_10_53
12061 set CWQ_BASE, %l6
12062 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
12063 best_set_reg(0x20610020, %l1, %l2) !# Control Word
12064 sllx %l2, 32, %l2
12065 stx %l2, [%l6 + 0x0]
12066 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
12067 sub %l2, 0x40, %l2
12068 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
12069 wr %r12, %g0, %asi
12070 st %g0, [%r23]
12071cwq_10_53:
12072 ta T_CHANGE_NONHPRIV
12073 .word 0xa9414000 ! 63: RDPC rd %pc, %r20
12074cwp_10_54:
12075 set user_data_start, %o7
12076 .word 0x93902004 ! 64: WRPR_CWP_I wrpr %r0, 0x0004, %cwp
12077 setx 0x6f251b4c04c87ba0, %r1, %r28
12078 stxa %r28, [%g0] 0x73
12079intvec_10_55:
12080 .word 0x39400001 ! 65: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
12081 setx vahole_target1, %r18, %r27
12082 .word 0xd497c032 ! 66: LDUHA_R lduha [%r31, %r18] 0x01, %r10
12083 .word 0x89800011 ! 67: WRTICK_R wr %r0, %r17, %tick
12084tagged_10_58:
12085 tsubcctv %r1, 0x1afe, %r9
12086 .word 0xd407e09a ! 68: LDUW_I lduw [%r31 + 0x009a], %r10
12087jmptr_10_59:
12088 nop
12089 best_set_reg(0xe0200000, %r20, %r27)
12090 .word 0xb7c6c000 ! 69: JMPL_R jmpl %r27 + %r0, %r27
12091mondo_10_60:
12092 nop
12093 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12094 stxa %r19, [%r0+0x3c8] %asi
12095 .word 0x9d94c014 ! 70: WRPR_WSTATE_R wrpr %r19, %r20, %wstate
12096donret_10_61:
12097 nop
12098 ta T_CHANGE_HPRIV ! macro
12099 rd %pc, %r12
12100 add %r12, (donretarg_10_61-donret_10_61-4), %r12
12101 mov 0x38, %r18
12102 stxa %r12, [%r18]0x58
12103 add %r12, 0x4, %r11
12104 wrpr %g0, 0x1, %tl
12105 wrpr %g0, %r12, %tpc
12106 wrpr %g0, %r11, %tnpc
12107 set (0x00908ed7 | (0x58 << 24)), %r13
12108 rdpr %tstate, %r16
12109 mov 0x1f, %r19
12110 and %r19, %r16, %r17
12111 andn %r16, %r19, %r16
12112 or %r16, %r17, %r20
12113 wrpr %r20, %g0, %tstate
12114 wrhpr %g0, 0x70c, %htstate
12115 ta T_CHANGE_NONPRIV ! rand=0 (10)
12116 done
12117donretarg_10_61:
12118 .word 0xd4ffe1e6 ! 71: SWAPA_I swapa %r10, [%r31 + 0x01e6] %asi
12119ibp_10_62:
12120 nop
12121 .word 0x93a509a5 ! 72: FDIVs fdivs %f20, %f5, %f9
12122 .word 0x22ca0001 ! 1: BRZ brz,a,pt %r8,<label_0xa0001>
12123 .word 0x8d903f71 ! 73: WRPR_PSTATE_I wrpr %r0, 0x1f71, %pstate
12124dvapa_10_64:
12125 nop
12126 ta T_CHANGE_HPRIV
12127 mov 0x97c, %r20
12128 mov 0x15, %r19
12129 sllx %r20, 23, %r20
12130 or %r19, %r20, %r19
12131 stxa %r19, [%g0] ASI_LSU_CONTROL
12132 mov 0x38, %r18
12133 stxa %r31, [%r18]0x58
12134 ta T_CHANGE_NONHPRIV
12135 .word 0xc1bfdc00 ! 74: STDFA_R stda %f0, [%r0, %r31]
12136 setx vahole_target1, %r18, %r27
12137 .word 0x97b40485 ! 75: FCMPLE32 fcmple32 %d16, %d36, %r11
12138pmu_10_66:
12139 nop
12140 setx 0xfffff670fffff886, %g1, %g7
12141 .word 0xa3800007 ! 76: WR_PERF_COUNTER_R wr %r0, %r7, %-
12142donret_10_67:
12143 nop
12144 ta T_CHANGE_HPRIV ! macro
12145 rd %pc, %r12
12146 add %r12, (donretarg_10_67-donret_10_67-4), %r12
12147 mov 0x38, %r18
12148 stxa %r12, [%r18]0x58
12149 add %r12, 0x4, %r11
12150 wrpr %g0, 0x2, %tl
12151 wrpr %g0, %r12, %tpc
12152 wrpr %g0, %r11, %tnpc
12153 set (0x0082009d | (0x89 << 24)), %r13
12154 rdpr %tstate, %r16
12155 mov 0x1f, %r19
12156 and %r19, %r16, %r17
12157 andn %r16, %r19, %r16
12158 or %r16, %r17, %r20
12159 wrpr %r20, %g0, %tstate
12160 wrhpr %g0, 0xed, %htstate
12161 ta T_CHANGE_NONHPRIV ! rand=1 (10)
12162 .word 0x2e800001 ! 1: BVS bvs,a <label_0x1>
12163 done
12164donretarg_10_67:
12165 .word 0xd2ffe07c ! 77: SWAPA_I swapa %r9, [%r31 + 0x007c] %asi
12166 nop
12167 ta T_CHANGE_HPRIV
12168 mov 0x10+1, %r10
12169 set sync_thr_counter5, %r23
12170#ifndef SPC
12171 ldxa [%g0]0x63, %o1
12172 and %o1, 0x38, %o1
12173 add %o1, %r23, %r23
12174#endif
12175 cas [%r23],%g0,%r10 !lock
12176 brnz %r10, cwq_10_68
12177 rd %asi, %r12
12178 wr %g0, 0x40, %asi
12179 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
12180 and %l1, 0x3, %l1 ! Check if busy/enabled ..
12181 cmp %l1, 1
12182 bne cwq_10_68
12183 set CWQ_BASE, %l6
12184 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
12185 best_set_reg(0x206100b0, %l1, %l2) !# Control Word
12186 sllx %l2, 32, %l2
12187 stx %l2, [%l6 + 0x0]
12188 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
12189 sub %l2, 0x40, %l2
12190 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
12191 wr %r12, %g0, %asi
12192 st %g0, [%r23]
12193cwq_10_68:
12194 ta T_CHANGE_NONHPRIV
12195 .word 0xa5414000 ! 78: RDPC rd %pc, %r18
12196 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
12197reduce_priv_lvl_10_69:
12198 ta T_CHANGE_NONHPRIV ! macro
12199trapasi_10_70:
12200 nop
12201 mov 0x18, %r1 ! (VA for ASI 0x50)
12202 .word 0xe4d04a00 ! 80: LDSHA_R ldsha [%r1, %r0] 0x50, %r18
12203 .word 0x93b04991 ! 81: BSHUFFLE fmovc32 %d32, %d48, %d40
12204pmu_10_72:
12205 nop
12206 ta T_CHANGE_PRIV
12207 setx 0xfffff8b7fffff31f, %g1, %g7
12208 .word 0xa3800007 ! 82: WR_PERF_COUNTER_R wr %r0, %r7, %-
12209tagged_10_73:
12210 taddcctv %r11, 0x1d8f, %r16
12211 .word 0xd607e01c ! 83: LDUW_I lduw [%r31 + 0x001c], %r11
12212#if (defined SPC || defined CMP)
12213!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_10_74) + 40, 16, 16)) -> intp(6,0,5)
12214!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_10_74)&0xffffffff) + 40, 16, 16)) -> intp(6,0,5)
12215#else
12216 setx 0x66fdaff276ac28e1, %r1, %r28
12217 stxa %r28, [%g0] 0x73
12218#endif
12219intvec_10_74:
12220 .word 0x39400001 ! 84: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
12221 .word 0x91d02034 ! 85: Tcc_I ta icc_or_xcc, %r0 + 52
12222 set 0xcae, %l3
12223 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
12224 .word 0x9bb207d1 ! 86: PDIST pdistn %d8, %d48, %d44
12225 .word 0x9193400c ! 87: WRPR_PIL_R wrpr %r13, %r12, %pil
12226 .word 0x91944007 ! 88: WRPR_PIL_R wrpr %r17, %r7, %pil
12227pmu_10_77:
12228 nop
12229 ta T_CHANGE_PRIV
12230 setx 0xfffff83cfffff643, %g1, %g7
12231 .word 0xa3800007 ! 89: WR_PERF_COUNTER_R wr %r0, %r7, %-
12232 .word 0x22780001 ! 90: BPE <illegal instruction>
12233 setx vahole_target3, %r18, %r27
12234 .word 0xd31fc011 ! 91: LDDF_R ldd [%r31, %r17], %f9
12235ibp_10_79:
12236 nop
12237 ta T_CHANGE_NONHPRIV
12238 .word 0xc3ea8028 ! 92: PREFETCHA_R prefetcha [%r10, %r8] 0x01, #one_read
12239splash_lsu_10_80:
12240 nop
12241 ta T_CHANGE_HPRIV
12242 set 0xc958840c, %r2
12243 mov 0x4, %r1
12244 sllx %r1, 32, %r1
12245 or %r1, %r2, %r2
12246 stxa %r2, [%r0] ASI_LSU_CONTROL
12247 .word 0x3d400001 ! 93: FBPULE fbule,a,pn %fcc0, <label_0x1>
12248splash_lsu_10_81:
12249 nop
12250 ta T_CHANGE_HPRIV
12251 set 0x5f08dd9a, %r2
12252 mov 0x6, %r1
12253 sllx %r1, 32, %r1
12254 or %r1, %r2, %r2
12255 stxa %r2, [%r0] ASI_LSU_CONTROL
12256 .word 0x3d400001 ! 94: FBPULE fbule,a,pn %fcc0, <label_0x1>
12257 .word 0x81460000 ! 95: RD_STICK_REG stbar
12258splash_lsu_10_82:
12259 nop
12260 ta T_CHANGE_HPRIV
12261 set 0x334e112c, %r2
12262 mov 0x7, %r1
12263 sllx %r1, 32, %r1
12264 or %r1, %r2, %r2
12265 stxa %r2, [%r0] ASI_LSU_CONTROL
12266 ta T_CHANGE_NONHPRIV
12267 .word 0x3d400001 ! 96: FBPULE fbule,a,pn %fcc0, <label_0x1>
12268 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
12269reduce_priv_lvl_10_83:
12270 ta T_CHANGE_NONHPRIV ! macro
12271 .word 0x29800001 ! 98: FBL fbl,a <label_0x1>
12272splash_hpstate_10_85:
12273 .word 0x24cd0001 ! 1: BRLEZ brlez,a,pt %r20,<label_0xd0001>
12274 .word 0x8198249d ! 99: WRHPR_HPSTATE_I wrhpr %r0, 0x049d, %hpstate
12275 .word 0xe01fe048 ! 100: LDD_I ldd [%r31 + 0x0048], %r16
12276 .word 0xe09fe078 ! 101: LDDA_I ldda [%r31, + 0x0078] %asi, %r16
12277ibp_10_86:
12278 nop
12279 .word 0xe1bfd960 ! 102: STDFA_R stda %f16, [%r0, %r31]
12280 .word 0x91d02035 ! 103: Tcc_I ta icc_or_xcc, %r0 + 53
12281 nop
12282 ta T_CHANGE_HPRIV
12283 mov 0x10, %r10
12284 set sync_thr_counter6, %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, sma_10_87
12292 rd %asi, %r12
12293 wr %g0, 0x40, %asi
12294 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
12295 set 0x001a1fff, %g1
12296 stxa %g1, [%g0 + 0x80] %asi
12297 wr %r12, %g0, %asi
12298 st %g0, [%r23]
12299sma_10_87:
12300 ta T_CHANGE_NONHPRIV
12301 .word 0xe1e7e00a ! 104: CASA_R casa [%r31] %asi, %r10, %r16
12302 .word 0x9190c014 ! 105: WRPR_PIL_R wrpr %r3, %r20, %pil
12303pmu_10_89:
12304 nop
12305 setx 0xfffff9bffffff555, %g1, %g7
12306 .word 0xa3800007 ! 106: WR_PERF_COUNTER_R wr %r0, %r7, %-
12307 .word 0xc30fc000 ! 107: LDXFSR_R ld-fsr [%r31, %r0], %f1
12308 .word 0x2e800001 ! 1: BVS bvs,a <label_0x1>
12309 .word 0x8d903c55 ! 108: WRPR_PSTATE_I wrpr %r0, 0x1c55, %pstate
12310intveclr_10_91:
12311 nop
12312 ta T_CHANGE_HPRIV
12313 setx 0xb42788878c90b208, %r1, %r28
12314 stxa %r28, [%g0] 0x72
12315 ta T_CHANGE_NONHPRIV
12316 .word 0x25400001 ! 109: FBPLG fblg,a,pn %fcc0, <label_0x1>
12317brcommon2_10_92:
12318 nop
12319 setx common_target, %r12, %r27
12320 ba,a .+12
12321 .word 0xa1a7c974 ! 1: FMULq dis not found
12322
12323 ba,a .+8
12324 jmpl %r27+0, %r27
12325 .word 0xc1bfe100 ! 110: STDFA_I stda %f0, [0x0100, %r31]
12326pmu_10_93:
12327 nop
12328 ta T_CHANGE_PRIV
12329 setx 0xfffff862ffffff67, %g1, %g7
12330 .word 0xa3800007 ! 111: WR_PERF_COUNTER_R wr %r0, %r7, %-
12331 setx vahole_target2, %r18, %r27
12332 .word 0xe93fc00a ! 112: STDF_R std %f20, [%r10, %r31]
12333 .word 0x99b504c4 ! 113: FCMPNE32 fcmpne32 %d20, %d4, %r12
12334dvapa_10_96:
12335 nop
12336 ta T_CHANGE_HPRIV
12337 mov 0x827, %r20
12338 mov 0x10, %r19
12339 sllx %r20, 23, %r20
12340 or %r19, %r20, %r19
12341 stxa %r19, [%g0] ASI_LSU_CONTROL
12342 mov 0x38, %r18
12343 stxa %r31, [%r18]0x58
12344 ta T_CHANGE_NONHPRIV
12345 .word 0xa3a109cb ! 114: FDIVd fdivd %f4, %f42, %f48
12346splash_cmpr_10_97:
12347 mov 1, %r18
12348 sllx %r18, 63, %r18
12349 rd %tick, %r17
12350 add %r17, 0x60, %r17
12351 or %r17, %r18, %r17
12352 ta T_CHANGE_PRIV
12353 .word 0xaf800011 ! 115: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
12354 setx vahole_target1, %r18, %r27
12355 .word 0xd297c034 ! 116: LDUHA_R lduha [%r31, %r20] 0x01, %r9
12356 setx vahole_target0, %r18, %r27
12357 .word 0xc1bfdf20 ! 117: STDFA_R stda %f0, [%r0, %r31]
12358mondo_10_100:
12359 nop
12360 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12361 stxa %r8, [%r0+0x3e8] %asi
12362 .word 0x9d94c013 ! 118: WRPR_WSTATE_R wrpr %r19, %r19, %wstate
12363trapasi_10_101:
12364 nop
12365 mov 0x38, %r1 ! (VA for ASI 0x50)
12366 .word 0xd2c04a00 ! 119: LDSWA_R ldswa [%r1, %r0] 0x50, %r9
12367splash_cmpr_10_102:
12368 mov 1, %r18
12369 sllx %r18, 63, %r18
12370 rd %tick, %r17
12371 add %r17, 0x60, %r17
12372 or %r17, %r18, %r17
12373 .word 0xb3800011 ! 120: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
12374 nop
12375 ta T_CHANGE_HPRIV
12376 mov 0x10, %r10
12377 set sync_thr_counter6, %r23
12378#ifndef SPC
12379 ldxa [%g0]0x63, %o1
12380 and %o1, 0x38, %o1
12381 add %o1, %r23, %r23
12382#endif
12383 cas [%r23],%g0,%r10 !lock
12384 brnz %r10, sma_10_103
12385 rd %asi, %r12
12386 wr %g0, 0x40, %asi
12387 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
12388 set 0x001e1fff, %g1
12389 stxa %g1, [%g0 + 0x80] %asi
12390 wr %r12, %g0, %asi
12391 st %g0, [%r23]
12392sma_10_103:
12393 ta T_CHANGE_NONHPRIV
12394 .word 0xd3e7e010 ! 121: CASA_R casa [%r31] %asi, %r16, %r9
12395dvapa_10_104:
12396 nop
12397 ta T_CHANGE_HPRIV
12398 mov 0x959, %r20
12399 mov 0x7, %r19
12400 sllx %r20, 23, %r20
12401 or %r19, %r20, %r19
12402 stxa %r19, [%g0] ASI_LSU_CONTROL
12403 mov 0x38, %r18
12404 stxa %r31, [%r18]0x58
12405 ta T_CHANGE_NONHPRIV
12406 .word 0x97b14484 ! 122: FCMPLE32 fcmple32 %d36, %d4, %r11
12407splash_hpstate_10_105:
12408 .word 0x27400001 ! 1: FBPUL fbul,a,pn %fcc0, <label_0x1>
12409 .word 0x819824ce ! 123: WRHPR_HPSTATE_I wrhpr %r0, 0x04ce, %hpstate
12410 .word 0xe1bfe1c0 ! 124: STDFA_I stda %f16, [0x01c0, %r31]
12411mondo_10_107:
12412 nop
12413 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12414 ta T_CHANGE_PRIV
12415 stxa %r17, [%r0+0x3d8] %asi
12416 .word 0x9d950010 ! 125: WRPR_WSTATE_R wrpr %r20, %r16, %wstate
12417splash_tba_10_108:
12418 ta T_CHANGE_PRIV
12419 set 0x120000, %r12
12420 .word 0x8b90000c ! 126: WRPR_TBA_R wrpr %r0, %r12, %tba
12421 .word 0xa7500000 ! 127: RDPR_TPC <illegal instruction>
12422brcommon2_10_109:
12423 nop
12424 setx common_target, %r12, %r27
12425 ba,a .+12
12426 .word 0x81dfc009 ! 1: FLUSH_R flush
12427 ba,a .+8
12428 jmpl %r27+0, %r27
12429 .word 0xc1bfe0c0 ! 128: STDFA_I stda %f0, [0x00c0, %r31]
12430splash_hpstate_10_110:
12431 .word 0x81983edf ! 129: WRHPR_HPSTATE_I wrhpr %r0, 0x1edf, %hpstate
12432 .word 0x89800011 ! 130: WRTICK_R wr %r0, %r17, %tick
12433 .word 0xc19fe0a0 ! 131: LDDFA_I ldda [%r31, 0x00a0], %f0
12434 .word 0x9ba00163 ! 132: FABSq dis not found
12435
12436 setx 0xbf71c20c9ced8151, %r1, %r28
12437 stxa %r28, [%g0] 0x73
12438intvec_10_113:
12439 .word 0x39400001 ! 133: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
12440fpinit_10_114:
12441 setx fp_data_quads, %r19, %r20
12442 ldd [%r20], %f0
12443 ldd [%r20+8], %f4
12444 ld [%r20+16], %fsr
12445 ld [%r20+24], %r19
12446 wr %r19, %g0, %gsr
12447 .word 0xc3e8217a ! 134: PREFETCHA_I prefetcha [%r0, + 0x017a] %asi, #one_read
12448 .word 0x8d903be7 ! 135: WRPR_PSTATE_I wrpr %r0, 0x1be7, %pstate
12449 .word 0xc36fe03f ! 136: PREFETCH_I prefetch [%r31 + 0x003f], #one_read
12450intveclr_10_117:
12451 nop
12452 ta T_CHANGE_HPRIV
12453 setx 0xff394b0488498197, %r1, %r28
12454 stxa %r28, [%g0] 0x72
12455 .word 0x25400001 ! 137: FBPLG fblg,a,pn %fcc0, <label_0x1>
12456pmu_10_118:
12457 nop
12458 setx 0xfffffe72fffff83a, %g1, %g7
12459 .word 0xa3800007 ! 138: WR_PERF_COUNTER_R wr %r0, %r7, %-
12460ibp_10_119:
12461 nop
12462 ta T_CHANGE_NONHPRIV
12463 .word 0x87aa4a53 ! 139: FCMPd fcmpd %fcc<n>, %f40, %f50
12464splash_lsu_10_120:
12465 nop
12466 ta T_CHANGE_HPRIV
12467 set 0x713196a3, %r2
12468 mov 0x2, %r1
12469 sllx %r1, 32, %r1
12470 or %r1, %r2, %r2
12471 stxa %r2, [%r0] ASI_LSU_CONTROL
12472 ta T_CHANGE_NONHPRIV
12473 .word 0x3d400001 ! 140: FBPULE fbule,a,pn %fcc0, <label_0x1>
12474pmu_10_121:
12475 nop
12476 ta T_CHANGE_PRIV
12477 setx 0xfffffa04fffffde0, %g1, %g7
12478 .word 0xa3800007 ! 141: WR_PERF_COUNTER_R wr %r0, %r7, %-
12479 .word 0x97a209aa ! 142: FDIVs fdivs %f8, %f10, %f11
12480splash_cmpr_10_123:
12481 mov 1, %r18
12482 sllx %r18, 63, %r18
12483 rd %tick, %r17
12484 add %r17, 0x50, %r17
12485 or %r17, %r18, %r17
12486 ta T_CHANGE_PRIV
12487 .word 0xb3800011 ! 143: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
12488 .word 0xd47ffbe8 ! 144: SWAP_I swap %r10, [%r31 + 0xfffffbe8]
12489splash_cmpr_10_124:
12490 mov 0, %r18
12491 sllx %r18, 63, %r18
12492 rd %tick, %r17
12493 add %r17, 0x60, %r17
12494 or %r17, %r18, %r17
12495 ta T_CHANGE_HPRIV
12496 wrhpr %r17, %g0, %hsys_tick_cmpr
12497 .word 0xb3800011 ! 145: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
12498 .word 0x91524000 ! 146: RDPR_CWP <illegal instruction>
12499intveclr_10_126:
12500 nop
12501 ta T_CHANGE_HPRIV
12502 setx 0x32109cdb4c1bb8a8, %r1, %r28
12503 stxa %r28, [%g0] 0x72
12504 ta T_CHANGE_NONHPRIV
12505 .word 0x25400001 ! 147: FBPLG fblg,a,pn %fcc0, <label_0x1>
12506memptr_10_127:
12507 set 0x60140000, %r31
12508 .word 0x8582b5bf ! 148: WRCCR_I wr %r10, 0x15bf, %ccr
12509 .word 0x87802010 ! 149: WRASI_I wr %r0, 0x0010, %asi
12510intveclr_10_128:
12511 nop
12512 ta T_CHANGE_HPRIV
12513 setx 0xa2781571e0e19eaf, %r1, %r28
12514 stxa %r28, [%g0] 0x72
12515 ta T_CHANGE_NONHPRIV
12516 .word 0x25400001 ! 150: FBPLG fblg,a,pn %fcc0, <label_0x1>
12517 .word 0xe0800b20 ! 151: LDUWA_R lduwa [%r0, %r0] 0x59, %r16
12518mondo_10_129:
12519 nop
12520 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12521 stxa %r16, [%r0+0x3e0] %asi
12522 .word 0x9d920006 ! 152: WRPR_WSTATE_R wrpr %r8, %r6, %wstate
12523 setx vahole_target3, %r18, %r27
12524 .word 0xe1bfe060 ! 153: STDFA_I stda %f16, [0x0060, %r31]
12525 .word 0xe08fe060 ! 154: LDUBA_I lduba [%r31, + 0x0060] %asi, %r16
12526 .word 0x91d020b4 ! 155: Tcc_I ta icc_or_xcc, %r0 + 180
12527 nop
12528 ta T_CHANGE_HPRIV
12529 mov 0x10+1, %r10
12530 set sync_thr_counter5, %r23
12531#ifndef SPC
12532 ldxa [%g0]0x63, %o1
12533 and %o1, 0x38, %o1
12534 add %o1, %r23, %r23
12535#endif
12536 cas [%r23],%g0,%r10 !lock
12537 brnz %r10, cwq_10_131
12538 rd %asi, %r12
12539 wr %g0, 0x40, %asi
12540 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
12541 and %l1, 0x3, %l1 ! Check if busy/enabled ..
12542 cmp %l1, 1
12543 bne cwq_10_131
12544 set CWQ_BASE, %l6
12545 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
12546 best_set_reg(0x20610050, %l1, %l2) !# Control Word
12547 sllx %l2, 32, %l2
12548 stx %l2, [%l6 + 0x0]
12549 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
12550 sub %l2, 0x40, %l2
12551 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
12552 wr %r12, %g0, %asi
12553 st %g0, [%r23]
12554cwq_10_131:
12555 ta T_CHANGE_NONHPRIV
12556 .word 0xa5414000 ! 156: RDPC rd %pc, %r18
12557ibp_10_132:
12558 nop
12559 .word 0x937035c6 ! 157: POPC_I popc 0x15c6, %r9
12560splash_lsu_10_133:
12561 nop
12562 ta T_CHANGE_HPRIV
12563 set 0x8575df11, %r2
12564 mov 0x3, %r1
12565 sllx %r1, 32, %r1
12566 or %r1, %r2, %r2
12567 stxa %r2, [%r0] ASI_LSU_CONTROL
12568 .word 0x3d400001 ! 158: FBPULE fbule,a,pn %fcc0, <label_0x1>
12569 .word 0xe8800be0 ! 159: LDUWA_R lduwa [%r0, %r0] 0x5f, %r20
12570 setx vahole_target1, %r18, %r27
12571 .word 0xc19fc3e0 ! 160: LDDFA_R ldda [%r31, %r0], %f0
12572brcommon1_10_135:
12573 nop
12574 setx common_target, %r12, %r27
12575 lduw [%r27], %r12 ! Load common dest into dcache ..
12576 ba,a .+12
12577 .word 0xe86ff5c6 ! 1: LDSTUB_I ldstub %r20, [%r31 + 0xfffff5c6]
12578 ba,a .+8
12579 jmpl %r27+0, %r27
12580 .word 0xc3eac02b ! 161: PREFETCHA_R prefetcha [%r11, %r11] 0x01, #one_read
12581splash_hpstate_10_136:
12582 .word 0x81982614 ! 162: WRHPR_HPSTATE_I wrhpr %r0, 0x0614, %hpstate
12583 .word 0xd497e190 ! 163: LDUHA_I lduha [%r31, + 0x0190] %asi, %r10
12584 setx vahole_target1, %r18, %r27
12585 .word 0xe19fd920 ! 164: LDDFA_R ldda [%r31, %r0], %f16
12586pmu_10_138:
12587 nop
12588 setx 0xfffffdc0fffff44f, %g1, %g7
12589 .word 0xa3800007 ! 165: WR_PERF_COUNTER_R wr %r0, %r7, %-
12590 setx vahole_target0, %r18, %r27
12591 .word 0xd53fc010 ! 166: STDF_R std %f10, [%r16, %r31]
12592intveclr_10_140:
12593 nop
12594 ta T_CHANGE_HPRIV
12595 setx 0x3c25f49f7e06bab2, %r1, %r28
12596 stxa %r28, [%g0] 0x72
12597 ta T_CHANGE_NONHPRIV
12598 .word 0x25400001 ! 167: FBPLG fblg,a,pn %fcc0, <label_0x1>
12599 .word 0x8d90346b ! 168: WRPR_PSTATE_I wrpr %r0, 0x146b, %pstate
12600 .word 0x8780204f ! 169: WRASI_I wr %r0, 0x004f, %asi
12601ibp_10_142:
12602 nop
12603 ta T_CHANGE_NONHPRIV
12604 .word 0xc3eac02d ! 170: PREFETCHA_R prefetcha [%r11, %r13] 0x01, #one_read
12605 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
12606reduce_priv_lvl_10_143:
12607 ta T_CHANGE_NONPRIV ! macro
12608fpinit_10_144:
12609 setx fp_data_quads, %r19, %r20
12610 ldd [%r20], %f0
12611 ldd [%r20+8], %f4
12612 ld [%r20+16], %fsr
12613 ld [%r20+24], %r19
12614 wr %r19, %g0, %gsr
12615 .word 0xc3e8247f ! 172: PREFETCHA_I prefetcha [%r0, + 0x047f] %asi, #one_read
12616dvapa_10_145:
12617 nop
12618 ta T_CHANGE_HPRIV
12619 mov 0xe0d, %r20
12620 mov 0x19, %r19
12621 sllx %r20, 23, %r20
12622 or %r19, %r20, %r19
12623 stxa %r19, [%g0] ASI_LSU_CONTROL
12624 mov 0x38, %r18
12625 stxa %r31, [%r18]0x58
12626 ta T_CHANGE_NONHPRIV
12627 .word 0xe49fc02a ! 173: LDDA_R ldda [%r31, %r10] 0x01, %r18
12628intveclr_10_146:
12629 nop
12630 ta T_CHANGE_HPRIV
12631 setx 0x419f885bda22ccbd, %r1, %r28
12632 stxa %r28, [%g0] 0x72
12633 ta T_CHANGE_NONHPRIV
12634 .word 0x25400001 ! 174: FBPLG fblg,a,pn %fcc0, <label_0x1>
12635 .word 0xe51fe138 ! 175: LDDF_I ldd [%r31, 0x0138], %f18
12636donret_10_147:
12637 nop
12638 ta T_CHANGE_HPRIV ! macro
12639 rd %pc, %r12
12640 add %r12, (donretarg_10_147-donret_10_147-4), %r12
12641 mov 0x38, %r18
12642 stxa %r12, [%r18]0x58
12643 add %r12, 0x4, %r11
12644 wrpr %g0, 0x1, %tl
12645 wrpr %g0, %r12, %tpc
12646 wrpr %g0, %r11, %tnpc
12647 set (0x0094d1ac | (0x88 << 24)), %r13
12648 rdpr %tstate, %r16
12649 mov 0x1f, %r19
12650 and %r19, %r16, %r17
12651 andn %r16, %r19, %r16
12652 or %r16, %r17, %r20
12653 wrpr %r20, %g0, %tstate
12654 wrhpr %g0, 0x138e, %htstate
12655 ta T_CHANGE_NONHPRIV ! rand=1 (10)
12656 done
12657donretarg_10_147:
12658 .word 0xe4ffe1e6 ! 176: SWAPA_I swapa %r18, [%r31 + 0x01e6] %asi
12659 .word 0xe19fe100 ! 177: LDDFA_I ldda [%r31, 0x0100], %f16
12660 .word 0x91d02034 ! 178: Tcc_I ta icc_or_xcc, %r0 + 52
12661fpinit_10_148:
12662 setx fp_data_quads, %r19, %r20
12663 ldd [%r20], %f0
12664 ldd [%r20+8], %f4
12665 ld [%r20+16], %fsr
12666 ld [%r20+24], %r19
12667 wr %r19, %g0, %gsr
12668 .word 0x87a80a44 ! 179: FCMPd fcmpd %fcc<n>, %f0, %f4
12669splash_cmpr_10_149:
12670 mov 0, %r18
12671 sllx %r18, 63, %r18
12672 rd %tick, %r17
12673 add %r17, 0x70, %r17
12674 or %r17, %r18, %r17
12675 ta T_CHANGE_PRIV
12676 .word 0xb3800011 ! 180: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
12677 nop
12678 ta T_CHANGE_HPRIV
12679 mov 0x10+1, %r10
12680 set sync_thr_counter5, %r23
12681#ifndef SPC
12682 ldxa [%g0]0x63, %o1
12683 and %o1, 0x38, %o1
12684 add %o1, %r23, %r23
12685#endif
12686 cas [%r23],%g0,%r10 !lock
12687 brnz %r10, cwq_10_150
12688 rd %asi, %r12
12689 wr %g0, 0x40, %asi
12690 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
12691 and %l1, 0x3, %l1 ! Check if busy/enabled ..
12692 cmp %l1, 1
12693 bne cwq_10_150
12694 set CWQ_BASE, %l6
12695 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
12696 best_set_reg(0x20610080, %l1, %l2) !# Control Word
12697 sllx %l2, 32, %l2
12698 stx %l2, [%l6 + 0x0]
12699 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
12700 sub %l2, 0x40, %l2
12701 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
12702 wr %r12, %g0, %asi
12703 st %g0, [%r23]
12704cwq_10_150:
12705 ta T_CHANGE_NONHPRIV
12706 .word 0x9b414000 ! 181: RDPC rd %pc, %r13
12707 .word 0xa9a409b4 ! 182: FDIVs fdivs %f16, %f20, %f20
12708 .word 0xa3a00171 ! 183: FABSq dis not found
12709
12710 setx vahole_target2, %r18, %r27
12711 .word 0xc19fd920 ! 184: LDDFA_R ldda [%r31, %r0], %f0
12712mondo_10_154:
12713 nop
12714 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12715 ta T_CHANGE_PRIV
12716 stxa %r16, [%r0+0x3d0] %asi
12717 .word 0x9d934011 ! 185: WRPR_WSTATE_R wrpr %r13, %r17, %wstate
12718 .word 0xc19fda00 ! 186: LDDFA_R ldda [%r31, %r0], %f0
12719 nop
12720 ta T_CHANGE_HPRIV
12721 mov 0x10, %r10
12722 set sync_thr_counter6, %r23
12723#ifndef SPC
12724 ldxa [%g0]0x63, %o1
12725 and %o1, 0x38, %o1
12726 add %o1, %r23, %r23
12727#endif
12728 cas [%r23],%g0,%r10 !lock
12729 brnz %r10, sma_10_156
12730 rd %asi, %r12
12731 wr %g0, 0x40, %asi
12732 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
12733 set 0x00121fff, %g1
12734 stxa %g1, [%g0 + 0x80] %asi
12735 wr %r12, %g0, %asi
12736 st %g0, [%r23]
12737sma_10_156:
12738 ta T_CHANGE_NONHPRIV
12739 .word 0xdbe7e00b ! 187: CASA_R casa [%r31] %asi, %r11, %r13
12740pmu_10_157:
12741 nop
12742 ta T_CHANGE_PRIV
12743 setx 0xfffffee5fffffd1d, %g1, %g7
12744 .word 0xa3800007 ! 188: WR_PERF_COUNTER_R wr %r0, %r7, %-
12745br_badelay1_10_158:
12746 .word 0x87afca53 ! 1: FCMPd fcmpd %fcc<n>, %f62, %f50
12747 .word 0x3e800001 ! 1: BVC bvc,a <label_0x1>
12748 .word 0xda3fc014 ! 1: STD_R std %r13, [%r31 + %r20]
12749 normalw
12750 .word 0x97458000 ! 189: RD_SOFTINT_REG rd %softint, %r11
12751 .word 0x91940012 ! 190: WRPR_PIL_R wrpr %r16, %r18, %pil
12752splash_cmpr_10_160:
12753 mov 0, %r18
12754 sllx %r18, 63, %r18
12755 rd %tick, %r17
12756 add %r17, 0x60, %r17
12757 or %r17, %r18, %r17
12758 ta T_CHANGE_PRIV
12759 .word 0xaf800011 ! 191: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
12760splash_cmpr_10_161:
12761 mov 1, %r18
12762 sllx %r18, 63, %r18
12763 rd %tick, %r17
12764 add %r17, 0x50, %r17
12765 or %r17, %r18, %r17
12766 .word 0xaf800011 ! 192: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
12767ibp_10_162:
12768 nop
12769 .word 0xc3ea0030 ! 193: PREFETCHA_R prefetcha [%r8, %r16] 0x01, #one_read
12770 .word 0x89800011 ! 194: WRTICK_R wr %r0, %r17, %tick
12771ibp_10_164:
12772 nop
12773 .word 0xe19fdc00 ! 195: LDDFA_R ldda [%r31, %r0], %f16
12774 nop
12775 ta T_CHANGE_HPRIV
12776 mov 0x10, %r10
12777 set sync_thr_counter6, %r23
12778#ifndef SPC
12779 ldxa [%g0]0x63, %o1
12780 and %o1, 0x38, %o1
12781 add %o1, %r23, %r23
12782#endif
12783 cas [%r23],%g0,%r10 !lock
12784 brnz %r10, sma_10_165
12785 rd %asi, %r12
12786 wr %g0, 0x40, %asi
12787 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
12788 set 0x00021fff, %g1
12789 stxa %g1, [%g0 + 0x80] %asi
12790 wr %r12, %g0, %asi
12791 st %g0, [%r23]
12792sma_10_165:
12793 ta T_CHANGE_NONHPRIV
12794 .word 0xe9e7e00b ! 196: CASA_R casa [%r31] %asi, %r11, %r20
12795splash_tba_10_166:
12796 ta T_CHANGE_PRIV
12797 setx 0x0000000000380000, %r11, %r12
12798 .word 0x8b90000c ! 197: WRPR_TBA_R wrpr %r0, %r12, %tba
12799intveclr_10_167:
12800 nop
12801 ta T_CHANGE_HPRIV
12802 setx 0x607000e25c46f1f7, %r1, %r28
12803 stxa %r28, [%g0] 0x72
12804 ta T_CHANGE_NONHPRIV
12805 .word 0x25400001 ! 198: FBPLG fblg,a,pn %fcc0, <label_0x1>
12806fpinit_10_168:
12807 setx fp_data_quads, %r19, %r20
12808 ldd [%r20], %f0
12809 ldd [%r20+8], %f4
12810 ld [%r20+16], %fsr
12811 ld [%r20+24], %r19
12812 wr %r19, %g0, %gsr
12813 .word 0x8db00484 ! 199: FCMPLE32 fcmple32 %d0, %d4, %r6
12814 .word 0xa7a00173 ! 200: FABSq dis not found
12815
12816trapasi_10_170:
12817 nop
12818 mov 0x20, %r1 ! (VA for ASI 0x4c)
12819 .word 0xe0904980 ! 201: LDUHA_R lduha [%r1, %r0] 0x4c, %r16
12820splash_tba_10_171:
12821 ta T_CHANGE_PRIV
12822 setx 0x0000000000380000, %r11, %r12
12823 .word 0x8b90000c ! 202: WRPR_TBA_R wrpr %r0, %r12, %tba
12824 .word 0xe197e078 ! 203: LDQFA_I - [%r31, 0x0078], %f16
12825 .word 0x87802014 ! 204: WRASI_I wr %r0, 0x0014, %asi
12826 .word 0x93454000 ! 205: RD_CLEAR_SOFTINT rd %clear_softint, %r9
12827memptr_10_172:
12828 set 0x60540000, %r31
12829 .word 0x85842ca7 ! 206: WRCCR_I wr %r16, 0x0ca7, %ccr
12830splash_cmpr_10_173:
12831 mov 0, %r18
12832 sllx %r18, 63, %r18
12833 rd %tick, %r17
12834 add %r17, 0x50, %r17
12835 or %r17, %r18, %r17
12836 .word 0xb3800011 ! 207: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
12837 .word 0x89800011 ! 208: WRTICK_R wr %r0, %r17, %tick
12838pmu_10_175:
12839 nop
12840 setx 0xfffff4fcfffff9e9, %g1, %g7
12841 .word 0xa3800007 ! 209: WR_PERF_COUNTER_R wr %r0, %r7, %-
12842 nop
12843 ta T_CHANGE_HPRIV
12844 mov 0x10+1, %r10
12845 set sync_thr_counter5, %r23
12846#ifndef SPC
12847 ldxa [%g0]0x63, %o1
12848 and %o1, 0x38, %o1
12849 add %o1, %r23, %r23
12850#endif
12851 cas [%r23],%g0,%r10 !lock
12852 brnz %r10, cwq_10_176
12853 rd %asi, %r12
12854 wr %g0, 0x40, %asi
12855 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
12856 and %l1, 0x3, %l1 ! Check if busy/enabled ..
12857 cmp %l1, 1
12858 bne cwq_10_176
12859 set CWQ_BASE, %l6
12860 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
12861 best_set_reg(0x20610050, %l1, %l2) !# Control Word
12862 sllx %l2, 32, %l2
12863 stx %l2, [%l6 + 0x0]
12864 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
12865 sub %l2, 0x40, %l2
12866 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
12867 wr %r12, %g0, %asi
12868 st %g0, [%r23]
12869cwq_10_176:
12870 ta T_CHANGE_NONHPRIV
12871 .word 0x97414000 ! 210: RDPC rd %pc, %r11
12872 .word 0x91d02032 ! 211: Tcc_I ta icc_or_xcc, %r0 + 50
12873 .word 0x89800011 ! 212: WRTICK_R wr %r0, %r17, %tick
12874 setx vahole_target2, %r18, %r27
12875 .word 0xa1a509c9 ! 213: FDIVd fdivd %f20, %f40, %f16
12876 .word 0xda8008a0 ! 214: LDUWA_R lduwa [%r0, %r0] 0x45, %r13
12877pmu_10_179:
12878 nop
12879 setx 0xfffff236fffff81d, %g1, %g7
12880 .word 0xa3800007 ! 215: WR_PERF_COUNTER_R wr %r0, %r7, %-
12881brcommon3_10_180:
12882 nop
12883 setx common_target, %r12, %r27
12884 lduw [%r27], %r12 ! Load common dest into dcache ..
12885 ba,a .+12
12886 .word 0xdbe7c030 ! 1: CASA_I casa [%r31] 0x 1, %r16, %r13
12887 ba,a .+8
12888 jmpl %r27+0, %r27
12889 .word 0xc32fc00c ! 216: STXFSR_R st-sfr %f1, [%r12, %r31]
12890trapasi_10_181:
12891 nop
12892 mov 0x3e8, %r1 ! (VA for ASI 0x25)
12893 .word 0xda8844a0 ! 217: LDUBA_R lduba [%r1, %r0] 0x25, %r13
12894pmu_10_182:
12895 nop
12896 setx 0xfffff737fffffa12, %g1, %g7
12897 .word 0xa3800007 ! 218: WR_PERF_COUNTER_R wr %r0, %r7, %-
12898donret_10_183:
12899 nop
12900 ta T_CHANGE_HPRIV ! macro
12901 rd %pc, %r12
12902 add %r12, (donretarg_10_183-donret_10_183-4), %r12
12903 mov 0x38, %r18
12904 stxa %r12, [%r18]0x58
12905 add %r12, 0x4, %r11
12906 wrpr %g0, 0x2, %tl
12907 wrpr %g0, %r12, %tpc
12908 wrpr %g0, %r11, %tnpc
12909 set (0x006a80ea | (0x89 << 24)), %r13
12910 rdpr %tstate, %r16
12911 mov 0x1f, %r19
12912 and %r19, %r16, %r17
12913 andn %r16, %r19, %r16
12914 or %r16, %r17, %r20
12915 wrpr %r20, %g0, %tstate
12916 wrhpr %g0, 0xed7, %htstate
12917 ta T_CHANGE_NONPRIV ! rand=0 (10)
12918 .word 0x33400001 ! 1: FBPE fbe,a,pn %fcc0, <label_0x1>
12919 done
12920donretarg_10_183:
12921 .word 0xda6fe023 ! 219: LDSTUB_I ldstub %r13, [%r31 + 0x0023]
12922 nop
12923 ta T_CHANGE_HPRIV
12924 mov 0x10, %r10
12925 set sync_thr_counter6, %r23
12926#ifndef SPC
12927 ldxa [%g0]0x63, %o1
12928 and %o1, 0x38, %o1
12929 add %o1, %r23, %r23
12930#endif
12931 cas [%r23],%g0,%r10 !lock
12932 brnz %r10, sma_10_184
12933 rd %asi, %r12
12934 wr %g0, 0x40, %asi
12935 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
12936 set 0x000a1fff, %g1
12937 stxa %g1, [%g0 + 0x80] %asi
12938 wr %r12, %g0, %asi
12939 st %g0, [%r23]
12940sma_10_184:
12941 ta T_CHANGE_NONHPRIV
12942 .word 0xdbe7e010 ! 220: CASA_R casa [%r31] %asi, %r16, %r13
12943 nop
12944 ta T_CHANGE_HPRIV
12945 mov 0x10+1, %r10
12946 set sync_thr_counter5, %r23
12947#ifndef SPC
12948 ldxa [%g0]0x63, %o1
12949 and %o1, 0x38, %o1
12950 add %o1, %r23, %r23
12951#endif
12952 cas [%r23],%g0,%r10 !lock
12953 brnz %r10, cwq_10_185
12954 rd %asi, %r12
12955 wr %g0, 0x40, %asi
12956 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
12957 and %l1, 0x3, %l1 ! Check if busy/enabled ..
12958 cmp %l1, 1
12959 bne cwq_10_185
12960 set CWQ_BASE, %l6
12961 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
12962 best_set_reg(0x20610020, %l1, %l2) !# Control Word
12963 sllx %l2, 32, %l2
12964 stx %l2, [%l6 + 0x0]
12965 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
12966 sub %l2, 0x40, %l2
12967 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
12968 wr %r12, %g0, %asi
12969 st %g0, [%r23]
12970cwq_10_185:
12971 ta T_CHANGE_NONHPRIV
12972 .word 0x93414000 ! 221: RDPC rd %pc, %r9
12973ibp_10_186:
12974 nop
12975 ta T_CHANGE_NONHPRIV
12976 .word 0x99b447ca ! 222: PDIST pdistn %d48, %d10, %d12
12977 .word 0xe0bfc020 ! 223: STDA_R stda %r16, [%r31 + %r0] 0x01
12978 .word 0x8d903683 ! 224: WRPR_PSTATE_I wrpr %r0, 0x1683, %pstate
12979 .word 0x89800011 ! 225: WRTICK_R wr %r0, %r17, %tick
12980ibp_10_189:
12981 nop
12982 .word 0xe1bfe100 ! 226: STDFA_I stda %f16, [0x0100, %r31]
12983 .word 0xc30fc000 ! 227: LDXFSR_R ld-fsr [%r31, %r0], %f1
12984brcommon3_10_190:
12985 nop
12986 setx common_target, %r12, %r27
12987 lduw [%r27], %r12 ! Load common dest into dcache ..
12988 ba,a .+12
12989 .word 0xe06ff3fd ! 1: LDSTUB_I ldstub %r16, [%r31 + 0xfffff3fd]
12990 ba,a .+8
12991 jmpl %r27+0, %r27
12992 .word 0xe0bfc031 ! 228: STDA_R stda %r16, [%r31 + %r17] 0x01
12993 .word 0xa1902003 ! 229: WRPR_GL_I wrpr %r0, 0x0003, %-
12994splash_cmpr_10_191:
12995 mov 0, %r18
12996 sllx %r18, 63, %r18
12997 rd %tick, %r17
12998 add %r17, 0x80, %r17
12999 or %r17, %r18, %r17
13000 ta T_CHANGE_PRIV
13001 .word 0xaf800011 ! 230: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
13002splash_lsu_10_192:
13003 nop
13004 ta T_CHANGE_HPRIV
13005 set 0xc29a23dd, %r2
13006 mov 0x5, %r1
13007 sllx %r1, 32, %r1
13008 or %r1, %r2, %r2
13009 stxa %r2, [%r0] ASI_LSU_CONTROL
13010 .word 0x3d400001 ! 231: FBPULE fbule,a,pn %fcc0, <label_0x1>
13011 setx vahole_target3, %r18, %r27
13012 .word 0xa1a249d0 ! 232: FDIVd fdivd %f40, %f16, %f16
13013jmptr_10_194:
13014 nop
13015 best_set_reg(0xe0200000, %r20, %r27)
13016 .word 0xb7c6c000 ! 233: JMPL_R jmpl %r27 + %r0, %r27
13017dvapa_10_195:
13018 nop
13019 ta T_CHANGE_HPRIV
13020 mov 0xc32, %r20
13021 mov 0x3, %r19
13022 sllx %r20, 23, %r20
13023 or %r19, %r20, %r19
13024 stxa %r19, [%g0] ASI_LSU_CONTROL
13025 mov 0x38, %r18
13026 stxa %r31, [%r18]0x58
13027 ta T_CHANGE_NONHPRIV
13028 .word 0xe2bfc030 ! 234: STDA_R stda %r17, [%r31 + %r16] 0x01
13029 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
13030reduce_priv_lvl_10_196:
13031 ta T_CHANGE_NONPRIV ! macro
13032 nop
13033 ta T_CHANGE_HPRIV
13034 mov 0x10, %r10
13035 set sync_thr_counter6, %r23
13036#ifndef SPC
13037 ldxa [%g0]0x63, %o1
13038 and %o1, 0x38, %o1
13039 add %o1, %r23, %r23
13040#endif
13041 cas [%r23],%g0,%r10 !lock
13042 brnz %r10, sma_10_197
13043 rd %asi, %r12
13044 wr %g0, 0x40, %asi
13045 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
13046 set 0x00121fff, %g1
13047 stxa %g1, [%g0 + 0x80] %asi
13048 wr %r12, %g0, %asi
13049 st %g0, [%r23]
13050sma_10_197:
13051 ta T_CHANGE_NONHPRIV
13052 .word 0xe3e7e00d ! 236: CASA_R casa [%r31] %asi, %r13, %r17
13053 nop
13054 ta T_CHANGE_HPRIV
13055 mov 0x10, %r10
13056 set sync_thr_counter6, %r23
13057#ifndef SPC
13058 ldxa [%g0]0x63, %o1
13059 and %o1, 0x38, %o1
13060 add %o1, %r23, %r23
13061#endif
13062 cas [%r23],%g0,%r10 !lock
13063 brnz %r10, sma_10_198
13064 rd %asi, %r12
13065 wr %g0, 0x40, %asi
13066 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
13067 set 0x00021fff, %g1
13068 stxa %g1, [%g0 + 0x80] %asi
13069 wr %r12, %g0, %asi
13070 st %g0, [%r23]
13071sma_10_198:
13072 ta T_CHANGE_NONHPRIV
13073 .word 0xe3e7e013 ! 237: CASA_R casa [%r31] %asi, %r19, %r17
13074 setx 0xf6037b9dea292cfe, %r1, %r28
13075 stxa %r28, [%g0] 0x73
13076intvec_10_199:
13077 .word 0x39400001 ! 238: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
13078brcommon2_10_200:
13079 nop
13080 setx common_target, %r12, %r27
13081 ba,a .+12
13082 .word 0xc36fe2e8 ! 1: PREFETCH_I prefetch [%r31 + 0x02e8], #one_read
13083 ba,a .+8
13084 jmpl %r27+0, %r27
13085 .word 0xe1bfe140 ! 239: STDFA_I stda %f16, [0x0140, %r31]
13086 nop
13087 ta T_CHANGE_HPRIV
13088 mov 0x10, %r10
13089 set sync_thr_counter6, %r23
13090#ifndef SPC
13091 ldxa [%g0]0x63, %o1
13092 and %o1, 0x38, %o1
13093 add %o1, %r23, %r23
13094#endif
13095 cas [%r23],%g0,%r10 !lock
13096 brnz %r10, sma_10_201
13097 rd %asi, %r12
13098 wr %g0, 0x40, %asi
13099 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
13100 set 0x00161fff, %g1
13101 stxa %g1, [%g0 + 0x80] %asi
13102 wr %r12, %g0, %asi
13103 st %g0, [%r23]
13104sma_10_201:
13105 ta T_CHANGE_NONHPRIV
13106 .word 0xe3e7e011 ! 240: CASA_R casa [%r31] %asi, %r17, %r17
13107 .word 0x87802016 ! 241: WRASI_I wr %r0, 0x0016, %asi
13108 .word 0xe327c000 ! 242: STF_R st %f17, [%r0, %r31]
13109donret_10_202:
13110 nop
13111 ta T_CHANGE_HPRIV ! macro
13112 rd %pc, %r12
13113 add %r12, (donretarg_10_202-donret_10_202-8), %r12
13114 mov 0x38, %r18
13115 stxa %r12, [%r18]0x58
13116 add %r12, 0x4, %r11
13117 wrpr %g0, 0x1, %tl
13118 wrpr %g0, %r12, %tpc
13119 wrpr %g0, %r11, %tnpc
13120 set (0x00064f73 | (0x89 << 24)), %r13
13121 rdpr %tstate, %r16
13122 mov 0x1f, %r19
13123 and %r19, %r16, %r17
13124 andn %r16, %r19, %r16
13125 or %r16, %r17, %r20
13126 wrpr %r20, %g0, %tstate
13127 wrhpr %g0, 0x1fbf, %htstate
13128 ta T_CHANGE_NONPRIV ! rand=0 (10)
13129 retry
13130donretarg_10_202:
13131 .word 0x99a089c3 ! 243: FDIVd fdivd %f2, %f34, %f12
13132 .word 0xe0dfe140 ! 244: LDXA_I ldxa [%r31, + 0x0140] %asi, %r16
13133pmu_10_203:
13134 nop
13135 ta T_CHANGE_PRIV
13136 setx 0xfffff867fffffe32, %g1, %g7
13137 .word 0xa3800007 ! 245: WR_PERF_COUNTER_R wr %r0, %r7, %-
13138change_to_randtl_10_204:
13139 ta T_CHANGE_PRIV ! macro
13140done_change_to_randtl_10_204:
13141 .word 0x8f902000 ! 246: WRPR_TL_I wrpr %r0, 0x0000, %tl
13142pmu_10_205:
13143 nop
13144 ta T_CHANGE_PRIV
13145 setx 0xfffffdaafffff22b, %g1, %g7
13146 .word 0xa3800007 ! 247: WR_PERF_COUNTER_R wr %r0, %r7, %-
13147 nop
13148 ta T_CHANGE_HPRIV
13149 mov 0x10+1, %r10
13150 set sync_thr_counter5, %r23
13151#ifndef SPC
13152 ldxa [%g0]0x63, %o1
13153 and %o1, 0x38, %o1
13154 add %o1, %r23, %r23
13155#endif
13156 cas [%r23],%g0,%r10 !lock
13157 brnz %r10, cwq_10_206
13158 rd %asi, %r12
13159 wr %g0, 0x40, %asi
13160 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
13161 and %l1, 0x3, %l1 ! Check if busy/enabled ..
13162 cmp %l1, 1
13163 bne cwq_10_206
13164 set CWQ_BASE, %l6
13165 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
13166 best_set_reg(0x206100c0, %l1, %l2) !# Control Word
13167 sllx %l2, 32, %l2
13168 stx %l2, [%l6 + 0x0]
13169 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
13170 sub %l2, 0x40, %l2
13171 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
13172 wr %r12, %g0, %asi
13173 st %g0, [%r23]
13174cwq_10_206:
13175 ta T_CHANGE_NONHPRIV
13176 .word 0xa1414000 ! 248: RDPC rd %pc, %r16
13177donret_10_207:
13178 nop
13179 ta T_CHANGE_HPRIV ! macro
13180 rd %pc, %r12
13181 add %r12, (donretarg_10_207-donret_10_207-4), %r12
13182 mov 0x38, %r18
13183 stxa %r12, [%r18]0x58
13184 add %r12, 0x4, %r11
13185 wrpr %g0, 0x2, %tl
13186 wrpr %g0, %r12, %tpc
13187 wrpr %g0, %r11, %tnpc
13188 set (0x00e7de0c | (4 << 24)), %r13
13189 rdpr %tstate, %r16
13190 mov 0x1f, %r19
13191 and %r19, %r16, %r17
13192 andn %r16, %r19, %r16
13193 or %r16, %r17, %r20
13194 wrpr %r20, %g0, %tstate
13195 wrhpr %g0, 0x1ec7, %htstate
13196 ta T_CHANGE_NONHPRIV ! rand=1 (10)
13197 done
13198donretarg_10_207:
13199 .word 0x99a509d3 ! 249: FDIVd fdivd %f20, %f50, %f12
13200ibp_10_208:
13201 nop
13202 ta T_CHANGE_NONHPRIV
13203 .word 0xc3ecc02a ! 250: PREFETCHA_R prefetcha [%r19, %r10] 0x01, #one_read
13204fpinit_10_209:
13205 setx fp_data_quads, %r19, %r20
13206 ldd [%r20], %f0
13207 ldd [%r20+8], %f4
13208 ld [%r20+16], %fsr
13209 ld [%r20+24], %r19
13210 wr %r19, %g0, %gsr
13211 .word 0x8da009c4 ! 251: FDIVd fdivd %f0, %f4, %f6
13212change_to_randtl_10_210:
13213 ta T_CHANGE_PRIV ! macro
13214done_change_to_randtl_10_210:
13215 .word 0x8f902000 ! 252: WRPR_TL_I wrpr %r0, 0x0000, %tl
13216 nop
13217 ta T_CHANGE_HPRIV
13218 mov 0x10+1, %r10
13219 set sync_thr_counter5, %r23
13220#ifndef SPC
13221 ldxa [%g0]0x63, %o1
13222 and %o1, 0x38, %o1
13223 add %o1, %r23, %r23
13224#endif
13225 cas [%r23],%g0,%r10 !lock
13226 brnz %r10, cwq_10_211
13227 rd %asi, %r12
13228 wr %g0, 0x40, %asi
13229 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
13230 and %l1, 0x3, %l1 ! Check if busy/enabled ..
13231 cmp %l1, 1
13232 bne cwq_10_211
13233 set CWQ_BASE, %l6
13234 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
13235 best_set_reg(0x206100c0, %l1, %l2) !# Control Word
13236 sllx %l2, 32, %l2
13237 stx %l2, [%l6 + 0x0]
13238 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
13239 sub %l2, 0x40, %l2
13240 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
13241 wr %r12, %g0, %asi
13242 st %g0, [%r23]
13243cwq_10_211:
13244 ta T_CHANGE_NONHPRIV
13245 .word 0xa7414000 ! 253: RDPC rd %pc, %r19
13246memptr_10_212:
13247 set 0x60540000, %r31
13248 .word 0x858227c9 ! 254: WRCCR_I wr %r8, 0x07c9, %ccr
13249dvapa_10_213:
13250 nop
13251 ta T_CHANGE_HPRIV
13252 mov 0xd15, %r20
13253 mov 0x1e, %r19
13254 sllx %r20, 23, %r20
13255 or %r19, %r20, %r19
13256 stxa %r19, [%g0] ASI_LSU_CONTROL
13257 mov 0x38, %r18
13258 stxa %r31, [%r18]0x58
13259 ta T_CHANGE_NONHPRIV
13260 .word 0x87ac4a53 ! 255: FCMPd fcmpd %fcc<n>, %f48, %f50
13261donret_10_214:
13262 nop
13263 ta T_CHANGE_HPRIV ! macro
13264 rd %pc, %r12
13265 add %r12, (donretarg_10_214-donret_10_214-8), %r12
13266 mov 0x38, %r18
13267 stxa %r12, [%r18]0x58
13268 add %r12, 0x4, %r11
13269 wrpr %g0, 0x2, %tl
13270 wrpr %g0, %r12, %tpc
13271 wrpr %g0, %r11, %tnpc
13272 set (0x003dce0e | (28 << 24)), %r13
13273 rdpr %tstate, %r16
13274 mov 0x1f, %r19
13275 and %r19, %r16, %r17
13276 andn %r16, %r19, %r16
13277 or %r16, %r17, %r20
13278 wrpr %r20, %g0, %tstate
13279 wrhpr %g0, 0x79d, %htstate
13280 ta T_CHANGE_NONHPRIV ! rand=1 (10)
13281 retry
13282donretarg_10_214:
13283 .word 0xa5a409d2 ! 256: FDIVd fdivd %f16, %f18, %f18
13284 .word 0xda3fe008 ! 257: STD_I std %r13, [%r31 + 0x0008]
13285dvapa_10_215:
13286 nop
13287 ta T_CHANGE_HPRIV
13288 mov 0xd5e, %r20
13289 mov 0x1c, %r19
13290 sllx %r20, 23, %r20
13291 or %r19, %r20, %r19
13292 stxa %r19, [%g0] ASI_LSU_CONTROL
13293 mov 0x38, %r18
13294 stxa %r31, [%r18]0x58
13295 ta T_CHANGE_NONHPRIV
13296 .word 0xdbe7e008 ! 258: CASA_R casa [%r31] %asi, %r8, %r13
13297 .word 0xe19fc3e0 ! 259: LDDFA_R ldda [%r31, %r0], %f16
13298 nop
13299 ta T_CHANGE_HPRIV
13300 mov 0x10, %r10
13301 set sync_thr_counter6, %r23
13302#ifndef SPC
13303 ldxa [%g0]0x63, %o1
13304 and %o1, 0x38, %o1
13305 add %o1, %r23, %r23
13306#endif
13307 cas [%r23],%g0,%r10 !lock
13308 brnz %r10, sma_10_216
13309 rd %asi, %r12
13310 wr %g0, 0x40, %asi
13311 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
13312 set 0x001a1fff, %g1
13313 stxa %g1, [%g0 + 0x80] %asi
13314 wr %r12, %g0, %asi
13315 st %g0, [%r23]
13316sma_10_216:
13317 ta T_CHANGE_NONHPRIV
13318 .word 0xdbe7e011 ! 260: CASA_R casa [%r31] %asi, %r17, %r13
13319pmu_10_217:
13320 nop
13321 ta T_CHANGE_PRIV
13322 setx 0xfffff97cfffff02b, %g1, %g7
13323 .word 0xa3800007 ! 261: WR_PERF_COUNTER_R wr %r0, %r7, %-
13324 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
13325reduce_priv_lvl_10_218:
13326 ta T_CHANGE_NONHPRIV ! macro
13327pmu_10_219:
13328 nop
13329 ta T_CHANGE_PRIV
13330 setx 0xfffffa5afffffa73, %g1, %g7
13331 .word 0xa3800007 ! 263: WR_PERF_COUNTER_R wr %r0, %r7, %-
13332pmu_10_220:
13333 nop
13334 setx 0xfffff8c6fffff1ef, %g1, %g7
13335 .word 0xa3800007 ! 264: WR_PERF_COUNTER_R wr %r0, %r7, %-
13336 setx 0xcbfd1846ed8d8dd7, %r1, %r28
13337 stxa %r28, [%g0] 0x73
13338intvec_10_221:
13339 .word 0x39400001 ! 265: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
13340splash_lsu_10_222:
13341 nop
13342 ta T_CHANGE_HPRIV
13343 set 0xf5b2a74e, %r2
13344 mov 0x1, %r1
13345 sllx %r1, 32, %r1
13346 or %r1, %r2, %r2
13347 stxa %r2, [%r0] ASI_LSU_CONTROL
13348 ta T_CHANGE_NONHPRIV
13349 .word 0x3d400001 ! 266: FBPULE fbule,a,pn %fcc0, <label_0x1>
13350ibp_10_223:
13351 nop
13352 ta T_CHANGE_NONHPRIV
13353 .word 0xc19fc3e0 ! 267: LDDFA_R ldda [%r31, %r0], %f0
13354mondo_10_224:
13355 nop
13356 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
13357 ta T_CHANGE_PRIV
13358 stxa %r20, [%r0+0x3d8] %asi
13359 .word 0x9d940002 ! 268: WRPR_WSTATE_R wrpr %r16, %r2, %wstate
13360donret_10_225:
13361 nop
13362 ta T_CHANGE_HPRIV ! macro
13363 rd %pc, %r12
13364 add %r12, (donretarg_10_225-donret_10_225-4), %r12
13365 mov 0x38, %r18
13366 stxa %r12, [%r18]0x58
13367 add %r12, 0x4, %r11
13368 wrpr %g0, 0x1, %tl
13369 wrpr %g0, %r12, %tpc
13370 wrpr %g0, %r11, %tnpc
13371 set (0x00670402 | (4 << 24)), %r13
13372 rdpr %tstate, %r16
13373 mov 0x1f, %r19
13374 and %r19, %r16, %r17
13375 andn %r16, %r19, %r16
13376 or %r16, %r17, %r20
13377 wrpr %r20, %g0, %tstate
13378 wrhpr %g0, 0xd4d, %htstate
13379 ta T_CHANGE_NONPRIV ! rand=0 (10)
13380 .word 0x21400001 ! 1: FBPN fbn,a,pn %fcc0, <label_0x1>
13381 done
13382donretarg_10_225:
13383 .word 0xda6fe172 ! 269: LDSTUB_I ldstub %r13, [%r31 + 0x0172]
13384#if (defined SPC || defined CMP)
13385!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_10_226) + 40, 16, 16)) -> intp(2,0,9)
13386!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_10_226)&0xffffffff) + 40, 16, 16)) -> intp(2,0,9)
13387#else
13388 setx 0xc6ed73bf3ff2d423, %r1, %r28
13389 stxa %r28, [%g0] 0x73
13390#endif
13391intvec_10_226:
13392 .word 0x39400001 ! 270: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
13393 .word 0x89800011 ! 271: WRTICK_R wr %r0, %r17, %tick
13394 .word 0xda9fe150 ! 272: LDDA_I ldda [%r31, + 0x0150] %asi, %r13
13395intveclr_10_228:
13396 nop
13397 ta T_CHANGE_HPRIV
13398 setx 0x7a9de9de93e2736d, %r1, %r28
13399 stxa %r28, [%g0] 0x72
13400 .word 0x25400001 ! 273: FBPLG fblg,a,pn %fcc0, <label_0x1>
13401dvapa_10_229:
13402 nop
13403 ta T_CHANGE_HPRIV
13404 mov 0x9f9, %r20
13405 mov 0x15, %r19
13406 sllx %r20, 23, %r20
13407 or %r19, %r20, %r19
13408 stxa %r19, [%g0] ASI_LSU_CONTROL
13409 mov 0x38, %r18
13410 stxa %r31, [%r18]0x58
13411 ta T_CHANGE_NONHPRIV
13412 .word 0x93b50493 ! 274: FCMPLE32 fcmple32 %d20, %d50, %r9
13413 .word 0x81b01021 ! 275: SIAM siam 1
13414splash_hpstate_10_230:
13415 .word 0x81982f4f ! 276: WRHPR_HPSTATE_I wrhpr %r0, 0x0f4f, %hpstate
13416 .word 0xe48008a0 ! 277: LDUWA_R lduwa [%r0, %r0] 0x45, %r18
13417 nop
13418 ta T_CHANGE_HPRIV
13419 mov 0x10, %r10
13420 set sync_thr_counter6, %r23
13421#ifndef SPC
13422 ldxa [%g0]0x63, %o1
13423 and %o1, 0x38, %o1
13424 add %o1, %r23, %r23
13425#endif
13426 cas [%r23],%g0,%r10 !lock
13427 brnz %r10, sma_10_231
13428 rd %asi, %r12
13429 wr %g0, 0x40, %asi
13430 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
13431 set 0x001e1fff, %g1
13432 stxa %g1, [%g0 + 0x80] %asi
13433 wr %r12, %g0, %asi
13434 st %g0, [%r23]
13435sma_10_231:
13436 ta T_CHANGE_NONHPRIV
13437 .word 0xe5e7e010 ! 278: CASA_R casa [%r31] %asi, %r16, %r18
13438 invalw
13439 mov 0xb3, %r30
13440 .word 0x93d0001e ! 279: Tcc_R tne icc_or_xcc, %r0 + %r30
13441brcommon2_10_232:
13442 nop
13443 setx common_target, %r12, %r27
13444 ba,a .+12
13445 .word 0x81dfc010 ! 1: FLUSH_R flush
13446 ba,a .+8
13447 jmpl %r27+0, %r27
13448 .word 0xe1bfe0e0 ! 280: STDFA_I stda %f16, [0x00e0, %r31]
13449 setx vahole_target0, %r18, %r27
13450 .word 0xc1bfc3e0 ! 281: STDFA_R stda %f0, [%r0, %r31]
13451 nop
13452 ta T_CHANGE_HPRIV
13453 mov 0x10, %r10
13454 set sync_thr_counter6, %r23
13455#ifndef SPC
13456 ldxa [%g0]0x63, %o1
13457 and %o1, 0x38, %o1
13458 add %o1, %r23, %r23
13459#endif
13460 cas [%r23],%g0,%r10 !lock
13461 brnz %r10, sma_10_234
13462 rd %asi, %r12
13463 wr %g0, 0x40, %asi
13464 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
13465 set 0x001e1fff, %g1
13466 stxa %g1, [%g0 + 0x80] %asi
13467 wr %r12, %g0, %asi
13468 st %g0, [%r23]
13469sma_10_234:
13470 ta T_CHANGE_NONHPRIV
13471 .word 0xd9e7e011 ! 282: CASA_R casa [%r31] %asi, %r17, %r12
13472splash_lsu_10_235:
13473 nop
13474 ta T_CHANGE_HPRIV
13475 set 0xfed7d64c, %r2
13476 mov 0x1, %r1
13477 sllx %r1, 32, %r1
13478 or %r1, %r2, %r2
13479 stxa %r2, [%r0] ASI_LSU_CONTROL
13480 ta T_CHANGE_NONHPRIV
13481 .word 0x3d400001 ! 283: FBPULE fbule,a,pn %fcc0, <label_0x1>
13482 .word 0xc1bfdf20 ! 284: STDFA_R stda %f0, [%r0, %r31]
13483 .word 0x8d902a52 ! 285: WRPR_PSTATE_I wrpr %r0, 0x0a52, %pstate
13484memptr_10_237:
13485 set user_data_start, %r31
13486 .word 0x8581f01c ! 286: WRCCR_I wr %r7, 0x101c, %ccr
13487memptr_10_238:
13488 set 0x60540000, %r31
13489 .word 0x85847184 ! 287: WRCCR_I wr %r17, 0x1184, %ccr
13490 .word 0xa7844011 ! 288: WR_GRAPHICS_STATUS_REG_R wr %r17, %r17, %-
13491 .word 0x93a4c9d1 ! 289: FDIVd fdivd %f50, %f48, %f40
13492intveclr_10_241:
13493 nop
13494 ta T_CHANGE_HPRIV
13495 setx 0xa3a64006f97920d6, %r1, %r28
13496 stxa %r28, [%g0] 0x72
13497 ta T_CHANGE_NONHPRIV
13498 .word 0x25400001 ! 290: FBPLG fblg,a,pn %fcc0, <label_0x1>
13499 nop
13500 ta T_CHANGE_HPRIV
13501 mov 0x10, %r10
13502 set sync_thr_counter6, %r23
13503#ifndef SPC
13504 ldxa [%g0]0x63, %o1
13505 and %o1, 0x38, %o1
13506 add %o1, %r23, %r23
13507#endif
13508 cas [%r23],%g0,%r10 !lock
13509 brnz %r10, sma_10_242
13510 rd %asi, %r12
13511 wr %g0, 0x40, %asi
13512 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
13513 set 0x00061fff, %g1
13514 stxa %g1, [%g0 + 0x80] %asi
13515 wr %r12, %g0, %asi
13516 st %g0, [%r23]
13517sma_10_242:
13518 ta T_CHANGE_NONHPRIV
13519 .word 0xd5e7e013 ! 291: CASA_R casa [%r31] %asi, %r19, %r10
13520 .word 0x8d802000 ! 292: WRFPRS_I wr %r0, 0x0000, %fprs
13521pmu_10_243:
13522 nop
13523 setx 0xfffff622fffff908, %g1, %g7
13524 .word 0xa3800007 ! 293: WR_PERF_COUNTER_R wr %r0, %r7, %-
13525#if (defined SPC || defined CMP)
13526!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_10_244) + 40, 16, 16)) -> intp(2,0,27)
13527!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_10_244)&0xffffffff) + 40, 16, 16)) -> intp(2,0,27)
13528#else
13529 setx 0x77babb4dd5478d8c, %r1, %r28
13530 stxa %r28, [%g0] 0x73
13531#endif
13532intvec_10_244:
13533 .word 0x39400001 ! 294: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
13534 .word 0x8d802004 ! 295: WRFPRS_I wr %r0, 0x0004, %fprs
13535mondo_10_245:
13536 nop
13537 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
13538 stxa %r17, [%r0+0x3e0] %asi
13539 .word 0x9d948014 ! 296: WRPR_WSTATE_R wrpr %r18, %r20, %wstate
13540 .word 0xa3524000 ! 297: RDPR_CWP <illegal instruction>
13541pmu_10_247:
13542 nop
13543 setx 0xfffffea4ffffffb3, %g1, %g7
13544 .word 0xa3800007 ! 298: WR_PERF_COUNTER_R wr %r0, %r7, %-
13545br_longdelay3_10_248:
13546 nop
13547 not %g0, %r12
13548 jmp %r12
13549 .word 0x99902001 ! 299: WRPR_CLEANWIN_I wrpr %r0, 0x0001, %cleanwin
13550 setx 0xa026523437287af9, %r1, %r28
13551 stxa %r28, [%g0] 0x73
13552intvec_10_249:
13553 .word 0x39400001 ! 300: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
13554 .word 0x39400001 ! 301: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
13555ibp_10_251:
13556 nop
13557 .word 0xc1bfe1c0 ! 302: STDFA_I stda %f0, [0x01c0, %r31]
13558dvapa_10_252:
13559 nop
13560 ta T_CHANGE_HPRIV
13561 mov 0xf19, %r20
13562 mov 0x3, %r19
13563 sllx %r20, 23, %r20
13564 or %r19, %r20, %r19
13565 stxa %r19, [%g0] ASI_LSU_CONTROL
13566 mov 0x38, %r18
13567 stxa %r31, [%r18]0x58
13568 ta T_CHANGE_NONHPRIV
13569 .word 0xa7b48490 ! 303: FCMPLE32 fcmple32 %d18, %d16, %r19
13570 nop
13571 ta T_CHANGE_HPRIV
13572 mov 0x10+1, %r10
13573 set sync_thr_counter5, %r23
13574#ifndef SPC
13575 ldxa [%g0]0x63, %o1
13576 and %o1, 0x38, %o1
13577 add %o1, %r23, %r23
13578#endif
13579 cas [%r23],%g0,%r10 !lock
13580 brnz %r10, cwq_10_253
13581 rd %asi, %r12
13582 wr %g0, 0x40, %asi
13583 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
13584 and %l1, 0x3, %l1 ! Check if busy/enabled ..
13585 cmp %l1, 1
13586 bne cwq_10_253
13587 set CWQ_BASE, %l6
13588 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
13589 best_set_reg(0x20610090, %l1, %l2) !# Control Word
13590 sllx %l2, 32, %l2
13591 stx %l2, [%l6 + 0x0]
13592 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
13593 sub %l2, 0x40, %l2
13594 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
13595 wr %r12, %g0, %asi
13596 st %g0, [%r23]
13597cwq_10_253:
13598 ta T_CHANGE_NONHPRIV
13599 .word 0x91414000 ! 304: RDPC rd %pc, %r8
13600pmu_10_254:
13601 nop
13602 setx 0xfffffb26fffff05e, %g1, %g7
13603 .word 0xa3800007 ! 305: WR_PERF_COUNTER_R wr %r0, %r7, %-
13604jmptr_10_255:
13605 nop
13606 best_set_reg(0xe0200000, %r20, %r27)
13607 .word 0xb7c6c000 ! 306: JMPL_R jmpl %r27 + %r0, %r27
13608 nop
13609 ta T_CHANGE_HPRIV
13610 mov 0x10+1, %r10
13611 set sync_thr_counter5, %r23
13612#ifndef SPC
13613 ldxa [%g0]0x63, %o1
13614 and %o1, 0x38, %o1
13615 add %o1, %r23, %r23
13616#endif
13617 cas [%r23],%g0,%r10 !lock
13618 brnz %r10, cwq_10_256
13619 rd %asi, %r12
13620 wr %g0, 0x40, %asi
13621 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
13622 and %l1, 0x3, %l1 ! Check if busy/enabled ..
13623 cmp %l1, 1
13624 bne cwq_10_256
13625 set CWQ_BASE, %l6
13626 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
13627 best_set_reg(0x206100f0, %l1, %l2) !# Control Word
13628 sllx %l2, 32, %l2
13629 stx %l2, [%l6 + 0x0]
13630 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
13631 sub %l2, 0x40, %l2
13632 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
13633 wr %r12, %g0, %asi
13634 st %g0, [%r23]
13635cwq_10_256:
13636 ta T_CHANGE_NONHPRIV
13637 .word 0xa5414000 ! 307: RDPC rd %pc, %r18
13638splash_hpstate_10_257:
13639 ta T_CHANGE_NONHPRIV
13640 .word 0x8198309b ! 308: WRHPR_HPSTATE_I wrhpr %r0, 0x109b, %hpstate
13641 .word 0xe077c000 ! 309: STX_R stx %r16, [%r31 + %r0]
13642 .word 0x91a00163 ! 310: FABSq dis not found
13643
13644 .word 0x93d020b4 ! 311: Tcc_I tne icc_or_xcc, %r0 + 180
13645intveclr_10_259:
13646 nop
13647 ta T_CHANGE_HPRIV
13648 setx 0xde5aeaa139fe454a, %r1, %r28
13649 stxa %r28, [%g0] 0x72
13650 .word 0x25400001 ! 312: FBPLG fblg,a,pn %fcc0, <label_0x1>
13651ibp_10_260:
13652 nop
13653 .word 0xc1bfc2c0 ! 313: STDFA_R stda %f0, [%r0, %r31]
13654jmptr_10_261:
13655 nop
13656 best_set_reg(0xe0200000, %r20, %r27)
13657 .word 0xb7c6c000 ! 314: JMPL_R jmpl %r27 + %r0, %r27
13658mondo_10_262:
13659 nop
13660 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
13661 stxa %r16, [%r0+0x3c8] %asi
13662 .word 0x9d948012 ! 315: WRPR_WSTATE_R wrpr %r18, %r18, %wstate
13663ibp_10_263:
13664 nop
13665 .word 0xc1bfe160 ! 316: STDFA_I stda %f0, [0x0160, %r31]
13666 .word 0xe127e19c ! 317: STF_I st %f16, [0x019c, %r31]
13667 .word 0xe04fc000 ! 318: LDSB_R ldsb [%r31 + %r0], %r16
13668ibp_10_264:
13669 nop
13670 ta T_CHANGE_NONHPRIV
13671 .word 0xe09fc034 ! 319: LDDA_R ldda [%r31, %r20] 0x01, %r16
13672 .word 0xe1bfc3e0 ! 320: STDFA_R stda %f16, [%r0, %r31]
13673 setx vahole_target1, %r18, %r27
13674 .word 0xc1bfe160 ! 321: STDFA_I stda %f0, [0x0160, %r31]
13675intveclr_10_267:
13676 nop
13677 ta T_CHANGE_HPRIV
13678 setx 0x0a8ed48bef2b4a1e, %r1, %r28
13679 stxa %r28, [%g0] 0x72
13680 .word 0x25400001 ! 322: FBPLG fblg,a,pn %fcc0, <label_0x1>
13681pmu_10_268:
13682 nop
13683 setx 0xfffff7f0fffff73c, %g1, %g7
13684 .word 0xa3800007 ! 323: WR_PERF_COUNTER_R wr %r0, %r7, %-
13685 .word 0x97a000c6 ! 324: FNEGd fnegd %f6, %f42
13686intveclr_10_269:
13687 nop
13688 ta T_CHANGE_HPRIV
13689 setx 0x971b993cbb28c331, %r1, %r28
13690 stxa %r28, [%g0] 0x72
13691 .word 0x25400001 ! 325: FBPLG fblg,a,pn %fcc0, <label_0x1>
13692tagged_10_270:
13693 tsubcctv %r9, 0x1af9, %r11
13694 .word 0xd807e194 ! 326: LDUW_I lduw [%r31 + 0x0194], %r12
13695 setx 0x864b3a61376fe7db, %r1, %r28
13696 stxa %r28, [%g0] 0x73
13697intvec_10_271:
13698 .word 0x39400001 ! 327: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
13699brcommon2_10_272:
13700 nop
13701 setx common_target, %r12, %r27
13702 ba,a .+12
13703 .word 0x9f803e03 ! 1: SIR sir 0x1e03
13704 ba,a .+8
13705 jmpl %r27+0, %r27
13706 .word 0xc1bfdc00 ! 328: STDFA_R stda %f0, [%r0, %r31]
13707 nop
13708 ta T_CHANGE_HPRIV
13709 mov 0x10, %r10
13710 set sync_thr_counter6, %r23
13711#ifndef SPC
13712 ldxa [%g0]0x63, %o1
13713 and %o1, 0x38, %o1
13714 add %o1, %r23, %r23
13715#endif
13716 cas [%r23],%g0,%r10 !lock
13717 brnz %r10, sma_10_273
13718 rd %asi, %r12
13719 wr %g0, 0x40, %asi
13720 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
13721 set 0x001a1fff, %g1
13722 stxa %g1, [%g0 + 0x80] %asi
13723 wr %r12, %g0, %asi
13724 st %g0, [%r23]
13725sma_10_273:
13726 ta T_CHANGE_NONHPRIV
13727 .word 0xd5e7e009 ! 329: CASA_R casa [%r31] %asi, %r9, %r10
13728dvapa_10_274:
13729 nop
13730 ta T_CHANGE_HPRIV
13731 mov 0xf07, %r20
13732 mov 0x0, %r19
13733 sllx %r20, 23, %r20
13734 or %r19, %r20, %r19
13735 stxa %r19, [%g0] ASI_LSU_CONTROL
13736 mov 0x38, %r18
13737 stxa %r31, [%r18]0x58
13738 ta T_CHANGE_NONHPRIV
13739 .word 0xa1702fb6 ! 330: POPC_I popc 0x0fb6, %r16
13740 setx vahole_target3, %r18, %r27
13741 .word 0xa1b40490 ! 331: FCMPLE32 fcmple32 %d16, %d16, %r16
13742dvapa_10_276:
13743 nop
13744 ta T_CHANGE_HPRIV
13745 mov 0x9f2, %r20
13746 mov 0xb, %r19
13747 sllx %r20, 23, %r20
13748 or %r19, %r20, %r19
13749 stxa %r19, [%g0] ASI_LSU_CONTROL
13750 mov 0x38, %r18
13751 stxa %r31, [%r18]0x58
13752 ta T_CHANGE_NONHPRIV
13753 .word 0xc19fde00 ! 332: LDDFA_R ldda [%r31, %r0], %f0
13754splash_cmpr_10_277:
13755 mov 1, %r18
13756 sllx %r18, 63, %r18
13757 rd %tick, %r17
13758 add %r17, 0x50, %r17
13759 or %r17, %r18, %r17
13760 ta T_CHANGE_PRIV
13761 .word 0xb3800011 ! 333: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
13762 .word 0x9b520000 ! 334: RDPR_PIL <illegal instruction>
13763splash_cmpr_10_278:
13764 mov 1, %r18
13765 sllx %r18, 63, %r18
13766 rd %tick, %r17
13767 add %r17, 0x50, %r17
13768 or %r17, %r18, %r17
13769 ta T_CHANGE_PRIV
13770 .word 0xaf800011 ! 335: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
13771 .word 0xa17038a5 ! 336: POPC_I popc 0x18a5, %r16
13772 setx vahole_target1, %r18, %r27
13773 .word 0x87ac8a41 ! 337: FCMPd fcmpd %fcc<n>, %f18, %f32
13774jmptr_10_280:
13775 nop
13776 best_set_reg(0xe1200000, %r20, %r27)
13777 .word 0xb7c6c000 ! 338: JMPL_R jmpl %r27 + %r0, %r27
13778 .word 0x8d903f91 ! 339: WRPR_PSTATE_I wrpr %r0, 0x1f91, %pstate
13779ceter_10_282:
13780 nop
13781 ta T_CHANGE_HPRIV
13782 mov 5, %r17
13783 sllx %r17, 60, %r17
13784 mov 0x18, %r16
13785 stxa %r17, [%r16]0x4c
13786 .word 0xa7410000 ! 340: RDTICK rd %tick, %r19
13787 .word 0x9170364c ! 341: POPC_I popc 0x164c, %r8
13788 .word 0xd847e110 ! 342: LDSW_I ldsw [%r31 + 0x0110], %r12
13789 .word 0x9190c011 ! 343: WRPR_PIL_R wrpr %r3, %r17, %pil
13790 .word 0xd837e0e6 ! 344: STH_I sth %r12, [%r31 + 0x00e6]
13791ibp_10_285:
13792 nop
13793 .word 0xc3e8c030 ! 345: PREFETCHA_R prefetcha [%r3, %r16] 0x01, #one_read
13794 .word 0x93a109c5 ! 346: FDIVd fdivd %f4, %f36, %f40
13795 .word 0xd337e19c ! 347: STQF_I - %f9, [0x019c, %r31]
13796donret_10_287:
13797 nop
13798 ta T_CHANGE_HPRIV ! macro
13799 rd %pc, %r12
13800 add %r12, (donretarg_10_287-donret_10_287-4), %r12
13801 mov 0x38, %r18
13802 stxa %r12, [%r18]0x58
13803 add %r12, 0x4, %r11
13804 wrpr %g0, 0x1, %tl
13805 wrpr %g0, %r12, %tpc
13806 wrpr %g0, %r11, %tnpc
13807 set (0x005692d5 | (0x4f << 24)), %r13
13808 rdpr %tstate, %r16
13809 mov 0x1f, %r19
13810 and %r19, %r16, %r17
13811 andn %r16, %r19, %r16
13812 or %r16, %r17, %r20
13813 wrpr %r20, %g0, %tstate
13814 wrhpr %g0, 0x3c7, %htstate
13815 ta T_CHANGE_NONHPRIV ! rand=1 (10)
13816 .word 0x21400001 ! 1: FBPN fbn,a,pn %fcc0, <label_0x1>
13817 done
13818donretarg_10_287:
13819 .word 0xd2ffe0b4 ! 348: SWAPA_I swapa %r9, [%r31 + 0x00b4] %asi
13820 .word 0xd2800c20 ! 349: LDUWA_R lduwa [%r0, %r0] 0x61, %r9
13821 .word 0x8d802000 ! 350: WRFPRS_I wr %r0, 0x0000, %fprs
13822dvapa_10_288:
13823 nop
13824 ta T_CHANGE_HPRIV
13825 mov 0xf3f, %r20
13826 mov 0x1e, %r19
13827 sllx %r20, 23, %r20
13828 or %r19, %r20, %r19
13829 stxa %r19, [%g0] ASI_LSU_CONTROL
13830 mov 0x38, %r18
13831 stxa %r31, [%r18]0x58
13832 ta T_CHANGE_NONHPRIV
13833 .word 0xd297c029 ! 351: LDUHA_R lduha [%r31, %r9] 0x01, %r9
13834 .word 0x9ba00169 ! 352: FABSq dis not found
13835
13836 .word 0xe1bfe000 ! 353: STDFA_I stda %f16, [0x0000, %r31]
13837brcommon2_10_291:
13838 nop
13839 setx common_target, %r12, %r27
13840 ba,a .+12
13841 .word 0x81dfc00b ! 1: FLUSH_R flush
13842 ba,a .+8
13843 jmpl %r27+0, %r27
13844 .word 0xc19fd920 ! 354: LDDFA_R ldda [%r31, %r0], %f0
13845donret_10_292:
13846 nop
13847 ta T_CHANGE_HPRIV ! macro
13848 rd %pc, %r12
13849 add %r12, (donretarg_10_292-donret_10_292-8), %r12
13850 mov 0x38, %r18
13851 stxa %r12, [%r18]0x58
13852 add %r12, 0x4, %r11
13853 wrpr %g0, 0x2, %tl
13854 wrpr %g0, %r12, %tpc
13855 wrpr %g0, %r11, %tnpc
13856 set (0x00d235f5 | (0x55 << 24)), %r13
13857 rdpr %tstate, %r16
13858 mov 0x1f, %r19
13859 and %r19, %r16, %r17
13860 andn %r16, %r19, %r16
13861 or %r16, %r17, %r20
13862 wrpr %r20, %g0, %tstate
13863 wrhpr %g0, 0x48f, %htstate
13864 ta T_CHANGE_NONHPRIV ! rand=1 (10)
13865 retry
13866donretarg_10_292:
13867 .word 0x91a0c9d3 ! 355: FDIVd fdivd %f34, %f50, %f8
13868pmu_10_293:
13869 nop
13870 setx 0xfffff706fffffe1d, %g1, %g7
13871 .word 0xa3800007 ! 356: WR_PERF_COUNTER_R wr %r0, %r7, %-
13872donret_10_294:
13873 nop
13874 ta T_CHANGE_HPRIV ! macro
13875 rd %pc, %r12
13876 add %r12, (donretarg_10_294-donret_10_294-8), %r12
13877 mov 0x38, %r18
13878 stxa %r12, [%r18]0x58
13879 add %r12, 0x4, %r11
13880 wrpr %g0, 0x2, %tl
13881 wrpr %g0, %r12, %tpc
13882 wrpr %g0, %r11, %tnpc
13883 set (0x00c6c621 | (28 << 24)), %r13
13884 rdpr %tstate, %r16
13885 mov 0x1f, %r19
13886 and %r19, %r16, %r17
13887 andn %r16, %r19, %r16
13888 or %r16, %r17, %r20
13889 wrpr %r20, %g0, %tstate
13890 wrhpr %g0, 0xfd5, %htstate
13891 ta T_CHANGE_NONHPRIV ! rand=1 (10)
13892 retry
13893donretarg_10_294:
13894 .word 0xe46fe0b1 ! 357: LDSTUB_I ldstub %r18, [%r31 + 0x00b1]
13895 nop
13896 ta T_CHANGE_HPRIV
13897 mov 0x10, %r10
13898 set sync_thr_counter6, %r23
13899#ifndef SPC
13900 ldxa [%g0]0x63, %o1
13901 and %o1, 0x38, %o1
13902 add %o1, %r23, %r23
13903#endif
13904 cas [%r23],%g0,%r10 !lock
13905 brnz %r10, sma_10_295
13906 rd %asi, %r12
13907 wr %g0, 0x40, %asi
13908 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
13909 set 0x000e1fff, %g1
13910 stxa %g1, [%g0 + 0x80] %asi
13911 wr %r12, %g0, %asi
13912 st %g0, [%r23]
13913sma_10_295:
13914 ta T_CHANGE_NONHPRIV
13915 .word 0xe5e7e008 ! 358: CASA_R casa [%r31] %asi, %r8, %r18
13916 .word 0x22800001 ! 359: BE be,a <label_0x1>
13917 nop
13918 ta T_CHANGE_HPRIV
13919 mov 0x10+1, %r10
13920 set sync_thr_counter5, %r23
13921#ifndef SPC
13922 ldxa [%g0]0x63, %o1
13923 and %o1, 0x38, %o1
13924 add %o1, %r23, %r23
13925#endif
13926 cas [%r23],%g0,%r10 !lock
13927 brnz %r10, cwq_10_296
13928 rd %asi, %r12
13929 wr %g0, 0x40, %asi
13930 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
13931 and %l1, 0x3, %l1 ! Check if busy/enabled ..
13932 cmp %l1, 1
13933 bne cwq_10_296
13934 set CWQ_BASE, %l6
13935 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
13936 best_set_reg(0x20610020, %l1, %l2) !# Control Word
13937 sllx %l2, 32, %l2
13938 stx %l2, [%l6 + 0x0]
13939 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
13940 sub %l2, 0x40, %l2
13941 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
13942 wr %r12, %g0, %asi
13943 st %g0, [%r23]
13944cwq_10_296:
13945 ta T_CHANGE_NONHPRIV
13946 .word 0x9b414000 ! 360: RDPC rd %pc, %r13
13947splash_cmpr_10_297:
13948 mov 1, %r18
13949 sllx %r18, 63, %r18
13950 rd %tick, %r17
13951 add %r17, 0x70, %r17
13952 or %r17, %r18, %r17
13953 ta T_CHANGE_PRIV
13954 .word 0xb3800011 ! 361: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
13955mondo_10_298:
13956 nop
13957 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
13958 ta T_CHANGE_PRIV
13959 stxa %r7, [%r0+0x3e0] %asi
13960 .word 0x9d930012 ! 362: WRPR_WSTATE_R wrpr %r12, %r18, %wstate
13961brcommon3_10_299:
13962 nop
13963 setx common_target, %r12, %r27
13964 lduw [%r27], %r12 ! Load common dest into dcache ..
13965 ba,a .+12
13966 .word 0xdb37c014 ! 1: STQF_R - %f13, [%r20, %r31]
13967 ba,a .+8
13968 jmpl %r27+0, %r27
13969 .word 0xda3fe410 ! 363: STD_I std %r13, [%r31 + 0x0410]
13970intveclr_10_300:
13971 nop
13972 ta T_CHANGE_HPRIV
13973 setx 0xcbd69e83b929fa69, %r1, %r28
13974 stxa %r28, [%g0] 0x72
13975 ta T_CHANGE_NONHPRIV
13976 .word 0x25400001 ! 364: FBPLG fblg,a,pn %fcc0, <label_0x1>
13977 .word 0x89800011 ! 365: WRTICK_R wr %r0, %r17, %tick
13978splash_lsu_10_302:
13979 nop
13980 ta T_CHANGE_HPRIV
13981 set 0xe4785dce, %r2
13982 mov 0x7, %r1
13983 sllx %r1, 32, %r1
13984 or %r1, %r2, %r2
13985 stxa %r2, [%r0] ASI_LSU_CONTROL
13986 .word 0x3d400001 ! 366: FBPULE fbule,a,pn %fcc0, <label_0x1>
13987 nop
13988 ta T_CHANGE_HPRIV
13989 mov 0x10+1, %r10
13990 set sync_thr_counter5, %r23
13991#ifndef SPC
13992 ldxa [%g0]0x63, %o1
13993 and %o1, 0x38, %o1
13994 add %o1, %r23, %r23
13995#endif
13996 cas [%r23],%g0,%r10 !lock
13997 brnz %r10, cwq_10_303
13998 rd %asi, %r12
13999 wr %g0, 0x40, %asi
14000 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
14001 and %l1, 0x3, %l1 ! Check if busy/enabled ..
14002 cmp %l1, 1
14003 bne cwq_10_303
14004 set CWQ_BASE, %l6
14005 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
14006 best_set_reg(0x20610020, %l1, %l2) !# Control Word
14007 sllx %l2, 32, %l2
14008 stx %l2, [%l6 + 0x0]
14009 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
14010 sub %l2, 0x40, %l2
14011 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
14012 wr %r12, %g0, %asi
14013 st %g0, [%r23]
14014cwq_10_303:
14015 ta T_CHANGE_NONHPRIV
14016 .word 0x9b414000 ! 367: RDPC rd %pc, %r13
14017 set 0x37b, %l3
14018 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
14019 .word 0x97b2c7c4 ! 368: PDIST pdistn %d42, %d4, %d42
14020splash_lsu_10_304:
14021 nop
14022 ta T_CHANGE_HPRIV
14023 set 0xbf479867, %r2
14024 mov 0x1, %r1
14025 sllx %r1, 32, %r1
14026 or %r1, %r2, %r2
14027 stxa %r2, [%r0] ASI_LSU_CONTROL
14028 ta T_CHANGE_NONHPRIV
14029 .word 0x3d400001 ! 369: FBPULE fbule,a,pn %fcc0, <label_0x1>
14030br_longdelay4_10_305:
14031 nop
14032 not %g0, %r12
14033 jmp %r12
14034 .word 0x9d902001 ! 370: WRPR_WSTATE_I wrpr %r0, 0x0001, %wstate
14035dvapa_10_306:
14036 nop
14037 ta T_CHANGE_HPRIV
14038 mov 0xaf9, %r20
14039 mov 0x8, %r19
14040 sllx %r20, 23, %r20
14041 or %r19, %r20, %r19
14042 stxa %r19, [%g0] ASI_LSU_CONTROL
14043 mov 0x38, %r18
14044 stxa %r31, [%r18]0x58
14045 ta T_CHANGE_NONHPRIV
14046 .word 0xa1b4c491 ! 371: FCMPLE32 fcmple32 %d50, %d48, %r16
14047pmu_10_307:
14048 nop
14049 setx 0xfffffb43fffffa6f, %g1, %g7
14050 .word 0xa3800007 ! 372: WR_PERF_COUNTER_R wr %r0, %r7, %-
14051pmu_10_308:
14052 nop
14053 setx 0xfffffa4dfffff3e5, %g1, %g7
14054 .word 0xa3800007 ! 373: WR_PERF_COUNTER_R wr %r0, %r7, %-
14055 setx vahole_target2, %r18, %r27
14056 .word 0xe19fdc00 ! 374: LDDFA_R ldda [%r31, %r0], %f16
14057tagged_10_310:
14058 tsubcctv %r2, 0x1ba0, %r5
14059 .word 0xd407e0d8 ! 375: LDUW_I lduw [%r31 + 0x00d8], %r10
14060 nop
14061 ta T_CHANGE_HPRIV
14062 mov 0x10+1, %r10
14063 set sync_thr_counter5, %r23
14064#ifndef SPC
14065 ldxa [%g0]0x63, %o1
14066 and %o1, 0x38, %o1
14067 add %o1, %r23, %r23
14068#endif
14069 cas [%r23],%g0,%r10 !lock
14070 brnz %r10, cwq_10_311
14071 rd %asi, %r12
14072 wr %g0, 0x40, %asi
14073 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
14074 and %l1, 0x3, %l1 ! Check if busy/enabled ..
14075 cmp %l1, 1
14076 bne cwq_10_311
14077 set CWQ_BASE, %l6
14078 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
14079 best_set_reg(0x206100c0, %l1, %l2) !# Control Word
14080 sllx %l2, 32, %l2
14081 stx %l2, [%l6 + 0x0]
14082 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
14083 sub %l2, 0x40, %l2
14084 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
14085 wr %r12, %g0, %asi
14086 st %g0, [%r23]
14087cwq_10_311:
14088 ta T_CHANGE_NONHPRIV
14089 .word 0xa5414000 ! 376: RDPC rd %pc, %r18
14090trapasi_10_312:
14091 nop
14092 mov 0x30, %r1 ! (VA for ASI 0x5b)
14093 .word 0xd8c84b60 ! 377: LDSBA_R ldsba [%r1, %r0] 0x5b, %r12
14094 .word 0x3d400001 ! 1: FBPULE fbule,a,pn %fcc0, <label_0x1>
14095 .word 0x8d902dcb ! 378: WRPR_PSTATE_I wrpr %r0, 0x0dcb, %pstate
14096 .word 0xd897c032 ! 379: LDUHA_R lduha [%r31, %r18] 0x01, %r12
14097mondo_10_315:
14098 nop
14099 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
14100 ta T_CHANGE_PRIV
14101 stxa %r13, [%r0+0x3d0] %asi
14102 .word 0x9d948013 ! 380: WRPR_WSTATE_R wrpr %r18, %r19, %wstate
14103fpinit_10_316:
14104 setx fp_data_quads, %r19, %r20
14105 ldd [%r20], %f0
14106 ldd [%r20+8], %f4
14107 ld [%r20+16], %fsr
14108 ld [%r20+24], %r19
14109 wr %r19, %g0, %gsr
14110 .word 0xc3e8333a ! 381: PREFETCHA_I prefetcha [%r0, + 0xfffff33a] %asi, #one_read
14111dvapa_10_317:
14112 nop
14113 ta T_CHANGE_HPRIV
14114 mov 0xccf, %r20
14115 mov 0x12, %r19
14116 sllx %r20, 23, %r20
14117 or %r19, %r20, %r19
14118 stxa %r19, [%g0] ASI_LSU_CONTROL
14119 mov 0x38, %r18
14120 stxa %r31, [%r18]0x58
14121 ta T_CHANGE_NONHPRIV
14122 .word 0xc1bfe040 ! 382: STDFA_I stda %f0, [0x0040, %r31]
14123 .word 0x8d9037fe ! 383: WRPR_PSTATE_I wrpr %r0, 0x17fe, %pstate
14124pmu_10_319:
14125 nop
14126 setx 0xfffffe5bfffff260, %g1, %g7
14127 .word 0xa3800007 ! 384: WR_PERF_COUNTER_R wr %r0, %r7, %-
14128 .word 0xd8d7e128 ! 385: LDSHA_I ldsha [%r31, + 0x0128] %asi, %r12
14129 .word 0x8d903765 ! 386: WRPR_PSTATE_I wrpr %r0, 0x1765, %pstate
14130fpinit_10_321:
14131 setx fp_data_quads, %r19, %r20
14132 ldd [%r20], %f0
14133 ldd [%r20+8], %f4
14134 ld [%r20+16], %fsr
14135 ld [%r20+24], %r19
14136 wr %r19, %g0, %gsr
14137 .word 0x89a009c4 ! 387: FDIVd fdivd %f0, %f4, %f4
14138 .word 0xe19fd960 ! 388: LDDFA_R ldda [%r31, %r0], %f16
14139 .word 0x91b4c547 ! 389: FCMPEQ16 fcmpeq16 %d50, %d38, %r8
14140donret_10_322:
14141 nop
14142 ta T_CHANGE_HPRIV ! macro
14143 rd %pc, %r12
14144 add %r12, (donretarg_10_322-donret_10_322-8), %r12
14145 mov 0x38, %r18
14146 stxa %r12, [%r18]0x58
14147 add %r12, 0x4, %r11
14148 wrpr %g0, 0x1, %tl
14149 wrpr %g0, %r12, %tpc
14150 wrpr %g0, %r11, %tnpc
14151 set (0x00af8311 | (0x89 << 24)), %r13
14152 rdpr %tstate, %r16
14153 mov 0x1f, %r19
14154 and %r19, %r16, %r17
14155 andn %r16, %r19, %r16
14156 or %r16, %r17, %r20
14157 wrpr %r20, %g0, %tstate
14158 wrhpr %g0, 0x1b5c, %htstate
14159 ta T_CHANGE_NONPRIV ! rand=0 (10)
14160 .word 0x2f400001 ! 1: FBPU fbu,a,pn %fcc0, <label_0x1>
14161 retry
14162donretarg_10_322:
14163 .word 0xe8ffe04c ! 390: SWAPA_I swapa %r20, [%r31 + 0x004c] %asi
14164 .word 0x9545c000 ! 391: RD_TICK_CMPR_REG rd %-, %r10
14165 .word 0xab830011 ! 392: WR_CLEAR_SOFTINT_R wr %r12, %r17, %clear_softint
14166 setx 0x69c3324696a9d683, %r1, %r28
14167 stxa %r28, [%g0] 0x73
14168intvec_10_323:
14169 .word 0x39400001 ! 393: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
14170 .word 0xe69fc02a ! 394: LDDA_R ldda [%r31, %r10] 0x01, %r19
14171 setx 0x2708a4f94ba190af, %r1, %r28
14172 stxa %r28, [%g0] 0x73
14173intvec_10_325:
14174 .word 0x39400001 ! 395: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
14175 .word 0xa7524000 ! 396: RDPR_CWP <illegal instruction>
14176dvapa_10_327:
14177 nop
14178 ta T_CHANGE_HPRIV
14179 mov 0x902, %r20
14180 mov 0xb, %r19
14181 sllx %r20, 23, %r20
14182 or %r19, %r20, %r19
14183 stxa %r19, [%g0] ASI_LSU_CONTROL
14184 mov 0x38, %r18
14185 stxa %r31, [%r18]0x58
14186 ta T_CHANGE_NONHPRIV
14187 .word 0xc19fc3e0 ! 397: LDDFA_R ldda [%r31, %r0], %f0
14188fpinit_10_328:
14189 setx fp_data_quads, %r19, %r20
14190 ldd [%r20], %f0
14191 ldd [%r20+8], %f4
14192 ld [%r20+16], %fsr
14193 ld [%r20+24], %r19
14194 wr %r19, %g0, %gsr
14195 .word 0x89b00484 ! 398: FCMPLE32 fcmple32 %d0, %d4, %r4
14196 .word 0xe697c02b ! 399: LDUHA_R lduha [%r31, %r11] 0x01, %r19
14197 .word 0x87ac0a44 ! 400: FCMPd fcmpd %fcc<n>, %f16, %f4
14198 setx vahole_target2, %r18, %r27
14199 .word 0xe19fdf20 ! 401: LDDFA_R ldda [%r31, %r0], %f16
14200 nop
14201 nop
14202 ta T_CHANGE_PRIV
14203 wrpr %g0, %g0, %gl
14204 nop
14205 nop
14206 setx join_lbl_0_0, %g1, %g2
14207 jmp %g2
14208 nop
14209fork_lbl_0_4:
14210 rd %asi, %r12
14211#ifdef XIR_RND_CORES
14212setup_xir_8:
14213 setx 0x4fd691c0cb0a5cdd, %r1, %r28
14214 mov 0x30, %r17
14215 stxa %r28, [%r17] 0x41
14216#endif
14217setup_spu_8:
14218 wr %g0, 0x40, %asi
14219 !# allocate control word queue (e.g., setup head/tail/first/last registers)
14220 set CWQ_BASE, %l6
14221
14222 !# write base addr to first, head, and tail ptr
14223 !# first store to first
14224 stxa %l6, [%g0 + ASI_SPU_CWQ_FIRST] %asi !# first store to first
14225
14226 stxa %l6, [%g0 + ASI_SPU_CWQ_HEAD] %asi !# then to head
14227 stxa %l6, [%g0 + ASI_SPU_CWQ_TAIL] %asi !# then to tail
14228 setx CWQ_LAST, %g1, %l5 !# then end of CWQ region to LAST
14229 stxa %l5, [%g0 + ASI_SPU_CWQ_LAST] %asi
14230
14231 !# set CWQ control word ([38:36] is strand ID ..)
14232 best_set_reg(0x206100f0, %l1, %l2) !# Control Word
14233 sllx %l2, 32, %l2
14234
14235 !# write CWQ entry (%l6 points to CWQ)
14236 stx %l2, [%l6 + 0x0]
14237
14238 setx msg, %g1, %l2
14239 stx %l2, [%l6 + 0x8] !# source address
14240
14241 stx %g0, [%l6 + 0x10] !# Authentication Key Address (40-bit)
14242 stx %g0, [%l6 + 0x18] !# Authentication IV Address (40-bit)
14243 stx %g0, [%l6 + 0x20] !# Authentication FSAS Address (40-bit)
14244 stx %g0, [%l6 + 0x28] !# Encryption Key Address (40-bit)
14245 stx %g0, [%l6 + 0x30] !# Encryption Initialization Vector Address (40-bit)
14246
14247 setx results, %g1, %o3
14248 stx %o3, [%l6 + 0x38] !# Destination Address (40-bit)
14249
14250 membar #Sync
14251
14252 ldxa [%g0 + ASI_SPU_CWQ_TAIL] %asi, %l2
14253 add %l2, 0x40, %l2
14254 stxa %l2, [%g0 + ASI_SPU_CWQ_TAIL] %asi
14255
14256 !# Kick off the CWQ operation by writing to the CWQ_CSR
14257 !# Set the enabled bit and reset the other bits
14258 or %g0, 0x1, %g1
14259 stxa %g1, [%g0 + ASI_SPU_CWQ_CSR] %asi
14260
14261unlock_sync_thds_8:
14262 set sync_thr_counter6, %r23
14263#ifndef SPC
14264 ldxa [%g0]0x63, %o2
14265 and %o2, 0x38, %o2
14266 add %o2, %r23, %r23
14267#endif
14268 st %r0, [%r23] !unlock sync_thr_counter6
14269 sub %r23, 64, %r23
14270 st %r0, [%r23] !unlock sync_thr_counter5
14271 sub %r23, 64, %r23
14272 st %r0, [%r23] !unlock sync_thr_counter4
14273
14274 wr %r0, %r12, %asi
14275 ta T_CHANGE_NONHPRIV
14276 .word 0xe88008a0 ! 1: LDUWA_R lduwa [%r0, %r0] 0x45, %r20
14277cmp_8_0:
14278 nop
14279 ta T_CHANGE_HPRIV
14280 rd %asi, %r12
14281 wr %r0, 0x41, %asi
14282 set sync_thr_counter4, %r23
14283#ifndef SPC
14284 ldxa [%g0]0x63, %r8
14285 and %r8, 0x38, %r8 ! Core ID
14286 add %r8, %r23, %r23
14287 mov 0xff, %r9
14288 xor %r9, 0x8, %r9
14289 sllx %r9, %r8, %r9 ! My core mask
14290#else
14291 mov 0, %r8
14292 mov 0xff, %r9
14293 xor %r9, 0x8, %r9 ! My core mask
14294#endif
14295 mov 0x8, %r10
14296cmp_startwait8_0:
14297 cas [%r23],%g0,%r10 !lock
14298 brz,a %r10, continue_cmp_8_0
14299 ldxa [0x50]%asi, %r13 !Running_rw
14300 ld [%r23], %r10
14301cmp_wait8_0:
14302 brnz,a %r10, cmp_wait8_0
14303 ld [%r23], %r10
14304 ba cmp_startwait8_0
14305 mov 0x8, %r10
14306continue_cmp_8_0:
14307 ldxa [0x58]%asi, %r14 !Running_status
14308 xnor %r14, %r13, %r14 !Bits equal
14309 brz,a %r8, cmp_multi_core_8_0
14310 mov 6, %r17
14311 best_set_reg(0x47c9841ee11f4894, %r16, %r17)
14312cmp_multi_core_8_0:
14313 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
14314 and %r14, %r9, %r14 !Apply core-mask
14315 stxa %r14, [0x60]%asi
14316 st %g0, [%r23] !clear lock
14317 wr %g0, %r12, %asi
14318 .word 0x95a00168 ! 2: FABSq dis not found
14319
14320ibp_8_1:
14321 nop
14322 ta T_CHANGE_NONHPRIV
14323 .word 0xe31fc00a ! 3: LDDF_R ldd [%r31, %r10], %f17
14324donret_8_2:
14325 nop
14326 ta T_CHANGE_HPRIV ! macro
14327 rd %pc, %r12
14328 add %r12, (donretarg_8_2-donret_8_2-8), %r12
14329 mov 0x38, %r18
14330 stxa %r12, [%r18]0x58
14331 add %r12, 0x4, %r11
14332 wrpr %g0, 0x2, %tl
14333 wrpr %g0, %r12, %tpc
14334 wrpr %g0, %r11, %tnpc
14335 set (0x00b1a27e | (0x82 << 24)), %r13
14336 rdpr %tstate, %r16
14337 mov 0x1f, %r19
14338 and %r19, %r16, %r17
14339 andn %r16, %r19, %r16
14340 or %r16, %r17, %r20
14341 wrpr %r20, %g0, %tstate
14342 wrhpr %g0, 0x924, %htstate
14343 ta T_CHANGE_NONHPRIV ! rand=1 (8)
14344 .word 0x27400001 ! 1: FBPUL fbul,a,pn %fcc0, <label_0x1>
14345 retry
14346donretarg_8_2:
14347 .word 0xe26fe0f6 ! 4: LDSTUB_I ldstub %r17, [%r31 + 0x00f6]
14348 setx 0x418ac564698566c7, %r1, %r28
14349 stxa %r28, [%g0] 0x73
14350intvec_8_3:
14351 .word 0x39400001 ! 5: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
14352mondo_8_4:
14353 nop
14354 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
14355 stxa %r1, [%r0+0x3d8] %asi
14356 .word 0x9d92400c ! 6: WRPR_WSTATE_R wrpr %r9, %r12, %wstate
14357pmu_8_5:
14358 nop
14359 ta T_CHANGE_PRIV
14360 setx 0xfffff6cdfffff6f1, %g1, %g7
14361 .word 0xa3800007 ! 7: WR_PERF_COUNTER_R wr %r0, %r7, %-
14362 .word 0xa6fd2e16 ! 8: SDIVcc_I sdivcc %r20, 0x0e16, %r19
14363splash_cmpr_8_6:
14364 mov 1, %r18
14365 sllx %r18, 63, %r18
14366 rd %tick, %r17
14367 add %r17, 0x50, %r17
14368 or %r17, %r18, %r17
14369 ta T_CHANGE_HPRIV
14370 wrhpr %r17, %g0, %hsys_tick_cmpr
14371 ta T_CHANGE_PRIV
14372 .word 0xb3800011 ! 9: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
14373 nop
14374 ta T_CHANGE_HPRIV
14375 mov 0x8+1, %r10
14376 set sync_thr_counter5, %r23
14377#ifndef SPC
14378 ldxa [%g0]0x63, %o1
14379 and %o1, 0x38, %o1
14380 add %o1, %r23, %r23
14381#endif
14382 cas [%r23],%g0,%r10 !lock
14383 brnz %r10, cwq_8_7
14384 rd %asi, %r12
14385 wr %g0, 0x40, %asi
14386 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
14387 and %l1, 0x3, %l1 ! Check if busy/enabled ..
14388 cmp %l1, 1
14389 bne cwq_8_7
14390 set CWQ_BASE, %l6
14391 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
14392 best_set_reg(0x20610010, %l1, %l2) !# Control Word
14393 sllx %l2, 32, %l2
14394 stx %l2, [%l6 + 0x0]
14395 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
14396 sub %l2, 0x40, %l2
14397 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
14398 wr %r12, %g0, %asi
14399 st %g0, [%r23]
14400cwq_8_7:
14401 ta T_CHANGE_NONHPRIV
14402 .word 0x99414000 ! 10: RDPC rd %pc, %r12
14403pmu_8_8:
14404 nop
14405 setx 0xfffff794fffff13d, %g1, %g7
14406 .word 0xa3800007 ! 11: WR_PERF_COUNTER_R wr %r0, %r7, %-
14407cmp_8_9:
14408 nop
14409 ta T_CHANGE_HPRIV
14410 rd %asi, %r12
14411 wr %r0, 0x41, %asi
14412 set sync_thr_counter4, %r23
14413#ifndef SPC
14414 ldxa [%g0]0x63, %r8
14415 and %r8, 0x38, %r8 ! Core ID
14416 add %r8, %r23, %r23
14417 mov 0xff, %r9
14418 xor %r9, 0x8, %r9
14419 sllx %r9, %r8, %r9 ! My core mask
14420#else
14421 mov 0, %r8
14422 mov 0xff, %r9
14423 xor %r9, 0x8, %r9 ! My core mask
14424#endif
14425 mov 0x8, %r10
14426cmp_startwait8_9:
14427 cas [%r23],%g0,%r10 !lock
14428 brz,a %r10, continue_cmp_8_9
14429 ldxa [0x50]%asi, %r13 !Running_rw
14430 ld [%r23], %r10
14431cmp_wait8_9:
14432 brnz,a %r10, cmp_wait8_9
14433 ld [%r23], %r10
14434 ba cmp_startwait8_9
14435 mov 0x8, %r10
14436continue_cmp_8_9:
14437 ldxa [0x58]%asi, %r14 !Running_status
14438 xnor %r14, %r13, %r14 !Bits equal
14439 brz,a %r8, cmp_multi_core_8_9
14440 mov 0xa2, %r17
14441 best_set_reg(0xbcad17351dcbe6e3, %r16, %r17)
14442cmp_multi_core_8_9:
14443 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
14444 and %r14, %r9, %r14 !Apply core-mask
14445 stxa %r14, [0x68]%asi
14446 st %g0, [%r23] !clear lock
14447 wr %g0, %r12, %asi
14448 .word 0x91a00166 ! 12: FABSq dis not found
14449
14450ibp_8_10:
14451 nop
14452 .word 0xe1bfc3e0 ! 13: STDFA_R stda %f16, [%r0, %r31]
14453trapasi_8_11:
14454 nop
14455 mov 0x18, %r1 ! (VA for ASI 0x4c)
14456 .word 0xe2c04980 ! 14: LDSWA_R ldswa [%r1, %r0] 0x4c, %r17
14457splash_cmpr_8_12:
14458 mov 1, %r18
14459 sllx %r18, 63, %r18
14460 rd %tick, %r17
14461 add %r17, 0x60, %r17
14462 or %r17, %r18, %r17
14463 .word 0xb3800011 ! 15: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
14464 .word 0x87ad0a44 ! 16: FCMPd fcmpd %fcc<n>, %f20, %f4
14465pmu_8_14:
14466 nop
14467 setx 0xfffff3e6fffffc1f, %g1, %g7
14468 .word 0xa3800007 ! 17: WR_PERF_COUNTER_R wr %r0, %r7, %-
14469 .word 0x24cc8001 ! 1: BRLEZ brlez,a,pt %r18,<label_0xc8001>
14470 .word 0x8d902ab5 ! 18: WRPR_PSTATE_I wrpr %r0, 0x0ab5, %pstate
14471splash_cmpr_8_16:
14472 mov 1, %r18
14473 sllx %r18, 63, %r18
14474 rd %tick, %r17
14475 add %r17, 0x80, %r17
14476 or %r17, %r18, %r17
14477 ta T_CHANGE_HPRIV
14478 wrhpr %r17, %g0, %hsys_tick_cmpr
14479 .word 0xaf800011 ! 19: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
14480 .word 0xd01fc000 ! 20: LDD_R ldd [%r31 + %r0], %r8
14481splash_lsu_8_17:
14482 nop
14483 ta T_CHANGE_HPRIV
14484 set 0x09c76813, %r2
14485 mov 0x4, %r1
14486 sllx %r1, 32, %r1
14487 or %r1, %r2, %r2
14488 stxa %r2, [%r0] ASI_LSU_CONTROL
14489 ta T_CHANGE_NONHPRIV
14490 .word 0x3d400001 ! 21: FBPULE fbule,a,pn %fcc0, <label_0x1>
14491ibp_8_18:
14492 nop
14493 .word 0xa7b1c7d3 ! 22: PDIST pdistn %d38, %d50, %d50
14494fpinit_8_19:
14495 setx fp_data_quads, %r19, %r20
14496 ldd [%r20], %f0
14497 ldd [%r20+8], %f4
14498 ld [%r20+16], %fsr
14499 ld [%r20+24], %r19
14500 wr %r19, %g0, %gsr
14501 .word 0x91b00484 ! 23: FCMPLE32 fcmple32 %d0, %d4, %r8
14502mondo_8_20:
14503 nop
14504 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
14505 ta T_CHANGE_PRIV
14506 stxa %r4, [%r0+0x3c0] %asi
14507 .word 0x9d910014 ! 24: WRPR_WSTATE_R wrpr %r4, %r20, %wstate
14508intveclr_8_21:
14509 nop
14510 ta T_CHANGE_HPRIV
14511 setx 0x3af89fbaecb13af6, %r1, %r28
14512 stxa %r28, [%g0] 0x72
14513 .word 0x25400001 ! 25: FBPLG fblg,a,pn %fcc0, <label_0x1>
14514pmu_8_22:
14515 nop
14516 ta T_CHANGE_PRIV
14517 setx 0xfffffb86fffffad4, %g1, %g7
14518 .word 0xa3800007 ! 26: WR_PERF_COUNTER_R wr %r0, %r7, %-
14519splash_tba_8_23:
14520 ta T_CHANGE_PRIV
14521 setx 0x00000000003a0000, %r11, %r12
14522 .word 0x8b90000c ! 27: WRPR_TBA_R wrpr %r0, %r12, %tba
14523trapasi_8_24:
14524 nop
14525 mov 0x0, %r1 ! (VA for ASI 0x4c)
14526 .word 0xda884980 ! 28: LDUBA_R lduba [%r1, %r0] 0x4c, %r13
14527 .word 0x87802080 ! 29: WRASI_I wr %r0, 0x0080, %asi
14528ibp_8_25:
14529 nop
14530 ta T_CHANGE_NONHPRIV
14531 .word 0xe1bfe1c0 ! 30: STDFA_I stda %f16, [0x01c0, %r31]
14532dvapa_8_26:
14533 nop
14534 ta T_CHANGE_HPRIV
14535 mov 0xdec, %r20
14536 mov 0x19, %r19
14537 sllx %r20, 23, %r20
14538 or %r19, %r20, %r19
14539 stxa %r19, [%g0] ASI_LSU_CONTROL
14540 mov 0x38, %r18
14541 stxa %r31, [%r18]0x58
14542 ta T_CHANGE_NONHPRIV
14543 .word 0xda97c034 ! 31: LDUHA_R lduha [%r31, %r20] 0x01, %r13
14544 nop
14545 ta T_CHANGE_HPRIV
14546 mov 0x8+1, %r10
14547 set sync_thr_counter5, %r23
14548#ifndef SPC
14549 ldxa [%g0]0x63, %o1
14550 and %o1, 0x38, %o1
14551 add %o1, %r23, %r23
14552#endif
14553 cas [%r23],%g0,%r10 !lock
14554 brnz %r10, cwq_8_27
14555 rd %asi, %r12
14556 wr %g0, 0x40, %asi
14557 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
14558 and %l1, 0x3, %l1 ! Check if busy/enabled ..
14559 cmp %l1, 1
14560 bne cwq_8_27
14561 set CWQ_BASE, %l6
14562 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
14563 best_set_reg(0x206100b0, %l1, %l2) !# Control Word
14564 sllx %l2, 32, %l2
14565 stx %l2, [%l6 + 0x0]
14566 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
14567 sub %l2, 0x40, %l2
14568 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
14569 wr %r12, %g0, %asi
14570 st %g0, [%r23]
14571cwq_8_27:
14572 ta T_CHANGE_NONHPRIV
14573 .word 0x93414000 ! 32: RDPC rd %pc, %r9
14574 .word 0x8d90310b ! 33: WRPR_PSTATE_I wrpr %r0, 0x110b, %pstate
14575cmp_8_29:
14576 nop
14577 ta T_CHANGE_HPRIV
14578 rd %asi, %r12
14579 wr %r0, 0x41, %asi
14580 set sync_thr_counter4, %r23
14581#ifndef SPC
14582 ldxa [%g0]0x63, %r8
14583 and %r8, 0x38, %r8 ! Core ID
14584 add %r8, %r23, %r23
14585 mov 0xff, %r9
14586 xor %r9, 0x8, %r9
14587 sllx %r9, %r8, %r9 ! My core mask
14588#else
14589 mov 0, %r8
14590 mov 0xff, %r9
14591 xor %r9, 0x8, %r9 ! My core mask
14592#endif
14593 mov 0x8, %r10
14594cmp_startwait8_29:
14595 cas [%r23],%g0,%r10 !lock
14596 brz,a %r10, continue_cmp_8_29
14597 ldxa [0x50]%asi, %r13 !Running_rw
14598 ld [%r23], %r10
14599cmp_wait8_29:
14600 brnz,a %r10, cmp_wait8_29
14601 ld [%r23], %r10
14602 ba cmp_startwait8_29
14603 mov 0x8, %r10
14604continue_cmp_8_29:
14605 ldxa [0x58]%asi, %r14 !Running_status
14606 xnor %r14, %r13, %r14 !Bits equal
14607 brz,a %r8, cmp_multi_core_8_29
14608 mov 0x94, %r17
14609 best_set_reg(0xd260c35ebf847c9f, %r16, %r17)
14610cmp_multi_core_8_29:
14611 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
14612 and %r14, %r9, %r14 !Apply core-mask
14613 stxa %r14, [0x68]%asi
14614 st %g0, [%r23] !clear lock
14615 wr %g0, %r12, %asi
14616 .word 0x9ba00174 ! 34: FABSq dis not found
14617
14618#if (defined SPC || defined CMP)
14619!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_8_30) + 16, 16, 16)) -> intp(3,0,15)
14620!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_8_30)&0xffffffff) + 16, 16, 16)) -> intp(3,0,15)
14621#else
14622 setx 0xaa7feb4c80ed59fe, %r1, %r28
14623 stxa %r28, [%g0] 0x73
14624#endif
14625intvec_8_30:
14626 .word 0x39400001 ! 35: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
14627 .word 0xa7b4c994 ! 36: BSHUFFLE fmovc32 %d50, %d20, %d50
14628 .word 0x8d802004 ! 37: WRFPRS_I wr %r0, 0x0004, %fprs
14629 .word 0xd44fe050 ! 38: LDSB_I ldsb [%r31 + 0x0050], %r10
14630splash_cmpr_8_32:
14631 mov 1, %r18
14632 sllx %r18, 63, %r18
14633 rd %tick, %r17
14634 add %r17, 0x80, %r17
14635 or %r17, %r18, %r17
14636 ta T_CHANGE_HPRIV
14637 wrhpr %r17, %g0, %hsys_tick_cmpr
14638 .word 0xb3800011 ! 39: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
14639 setx 0xfdc58a98cea60088, %r1, %r28
14640 stxa %r28, [%g0] 0x73
14641intvec_8_33:
14642 .word 0x39400001 ! 40: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
14643 .word 0x8d802000 ! 41: WRFPRS_I wr %r0, 0x0000, %fprs
14644pmu_8_34:
14645 nop
14646 setx 0xfffff454fffff49c, %g1, %g7
14647 .word 0xa3800007 ! 42: WR_PERF_COUNTER_R wr %r0, %r7, %-
14648jmptr_8_35:
14649 nop
14650 best_set_reg(0xe0a00000, %r20, %r27)
14651 .word 0xb7c6c000 ! 43: JMPL_R jmpl %r27 + %r0, %r27
14652 .word 0xd4c7e178 ! 44: LDSWA_I ldswa [%r31, + 0x0178] %asi, %r10
14653 .word 0xc30fc000 ! 45: LDXFSR_R ld-fsr [%r31, %r0], %f1
14654fpinit_8_36:
14655 setx fp_data_quads, %r19, %r20
14656 ldd [%r20], %f0
14657 ldd [%r20+8], %f4
14658 ld [%r20+16], %fsr
14659 ld [%r20+24], %r19
14660 wr %r19, %g0, %gsr
14661 .word 0xc3e83a91 ! 46: PREFETCHA_I prefetcha [%r0, + 0xfffffa91] %asi, #one_read
14662cwp_8_37:
14663 set user_data_start, %o7
14664 .word 0x93902004 ! 47: WRPR_CWP_I wrpr %r0, 0x0004, %cwp
14665ibp_8_38:
14666 nop
14667 .word 0xd5e7e00d ! 48: CASA_R casa [%r31] %asi, %r13, %r10
14668pmu_8_39:
14669 nop
14670 setx 0xfffff593fffffa0d, %g1, %g7
14671 .word 0xa3800007 ! 49: WR_PERF_COUNTER_R wr %r0, %r7, %-
14672fpinit_8_40:
14673 setx fp_data_quads, %r19, %r20
14674 ldd [%r20], %f0
14675 ldd [%r20+8], %f4
14676 ld [%r20+16], %fsr
14677 ld [%r20+24], %r19
14678 wr %r19, %g0, %gsr
14679 .word 0x8da009a4 ! 50: FDIVs fdivs %f0, %f4, %f6
14680 nop
14681 ta T_CHANGE_HPRIV
14682 mov 0x8+1, %r10
14683 set sync_thr_counter5, %r23
14684#ifndef SPC
14685 ldxa [%g0]0x63, %o1
14686 and %o1, 0x38, %o1
14687 add %o1, %r23, %r23
14688#endif
14689 cas [%r23],%g0,%r10 !lock
14690 brnz %r10, cwq_8_41
14691 rd %asi, %r12
14692 wr %g0, 0x40, %asi
14693 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
14694 and %l1, 0x3, %l1 ! Check if busy/enabled ..
14695 cmp %l1, 1
14696 bne cwq_8_41
14697 set CWQ_BASE, %l6
14698 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
14699 best_set_reg(0x20610060, %l1, %l2) !# Control Word
14700 sllx %l2, 32, %l2
14701 stx %l2, [%l6 + 0x0]
14702 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
14703 sub %l2, 0x40, %l2
14704 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
14705 wr %r12, %g0, %asi
14706 st %g0, [%r23]
14707cwq_8_41:
14708 ta T_CHANGE_NONHPRIV
14709 .word 0xa5414000 ! 51: RDPC rd %pc, %r18
14710cmp_8_42:
14711 nop
14712 ta T_CHANGE_HPRIV
14713 rd %asi, %r12
14714 wr %r0, 0x41, %asi
14715 set sync_thr_counter4, %r23
14716#ifndef SPC
14717 ldxa [%g0]0x63, %r8
14718 and %r8, 0x38, %r8 ! Core ID
14719 add %r8, %r23, %r23
14720 mov 0xff, %r9
14721 xor %r9, 0x8, %r9
14722 sllx %r9, %r8, %r9 ! My core mask
14723#else
14724 mov 0, %r8
14725 mov 0xff, %r9
14726 xor %r9, 0x8, %r9 ! My core mask
14727#endif
14728 mov 0x8, %r10
14729cmp_startwait8_42:
14730 cas [%r23],%g0,%r10 !lock
14731 brz,a %r10, continue_cmp_8_42
14732 ldxa [0x50]%asi, %r13 !Running_rw
14733 ld [%r23], %r10
14734cmp_wait8_42:
14735 brnz,a %r10, cmp_wait8_42
14736 ld [%r23], %r10
14737 ba cmp_startwait8_42
14738 mov 0x8, %r10
14739continue_cmp_8_42:
14740 ldxa [0x58]%asi, %r14 !Running_status
14741 xnor %r14, %r13, %r14 !Bits equal
14742 brz,a %r8, cmp_multi_core_8_42
14743 mov 8, %r17
14744 best_set_reg(0x14727316abbbe88b, %r16, %r17)
14745cmp_multi_core_8_42:
14746 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
14747 and %r14, %r9, %r14 !Apply core-mask
14748 stxa %r14, [0x60]%asi
14749 st %g0, [%r23] !clear lock
14750 wr %g0, %r12, %asi
14751 .word 0x91944014 ! 52: WRPR_PIL_R wrpr %r17, %r20, %pil
14752mondo_8_43:
14753 nop
14754 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
14755 ta T_CHANGE_PRIV
14756 stxa %r20, [%r0+0x3c8] %asi
14757 .word 0x9d950012 ! 53: WRPR_WSTATE_R wrpr %r20, %r18, %wstate
14758dvapa_8_44:
14759 nop
14760 ta T_CHANGE_HPRIV
14761 mov 0xa42, %r20
14762 mov 0x15, %r19
14763 sllx %r20, 23, %r20
14764 or %r19, %r20, %r19
14765 stxa %r19, [%g0] ASI_LSU_CONTROL
14766 mov 0x38, %r18
14767 stxa %r31, [%r18]0x58
14768 ta T_CHANGE_NONHPRIV
14769 .word 0xc1bfe060 ! 54: STDFA_I stda %f0, [0x0060, %r31]
14770ibp_8_45:
14771 nop
14772 ta T_CHANGE_NONHPRIV
14773 .word 0xe1bfdf20 ! 55: STDFA_R stda %f16, [%r0, %r31]
14774 nop
14775 ta T_CHANGE_HPRIV
14776 mov 0x8, %r10
14777 set sync_thr_counter6, %r23
14778#ifndef SPC
14779 ldxa [%g0]0x63, %o1
14780 and %o1, 0x38, %o1
14781 add %o1, %r23, %r23
14782#endif
14783 cas [%r23],%g0,%r10 !lock
14784 brnz %r10, sma_8_46
14785 rd %asi, %r12
14786 wr %g0, 0x40, %asi
14787 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
14788 set 0x001e1fff, %g1
14789 stxa %g1, [%g0 + 0x80] %asi
14790 wr %r12, %g0, %asi
14791 st %g0, [%r23]
14792sma_8_46:
14793 ta T_CHANGE_NONHPRIV
14794 .word 0xe9e7e008 ! 56: CASA_R casa [%r31] %asi, %r8, %r20
14795 .word 0x24800001 ! 1: BLE ble,a <label_0x1>
14796 .word 0x8d902713 ! 57: WRPR_PSTATE_I wrpr %r0, 0x0713, %pstate
14797splash_lsu_8_48:
14798 nop
14799 ta T_CHANGE_HPRIV
14800 set 0x33e9138a, %r2
14801 mov 0x4, %r1
14802 sllx %r1, 32, %r1
14803 or %r1, %r2, %r2
14804 stxa %r2, [%r0] ASI_LSU_CONTROL
14805 ta T_CHANGE_NONHPRIV
14806 .word 0x3d400001 ! 58: FBPULE fbule,a,pn %fcc0, <label_0x1>
14807vahole_8_49:
14808 nop
14809 ta T_CHANGE_NONHPRIV
14810 setx vahole_target2, %r18, %r27
14811 jmpl %r27+0, %r27
14812 .word 0xa5a049d1 ! 59: FDIVd fdivd %f32, %f48, %f18
14813splash_hpstate_8_50:
14814 ta T_CHANGE_NONHPRIV
14815 .word 0x3b400001 ! 1: FBPLE fble,a,pn %fcc0, <label_0x1>
14816 .word 0x81983b85 ! 60: WRHPR_HPSTATE_I wrhpr %r0, 0x1b85, %hpstate
14817vahole_8_51:
14818 nop
14819 ta T_CHANGE_NONHPRIV
14820 setx vahole_target0, %r18, %r27
14821 jmpl %r27+0, %r27
14822 .word 0xe1bfe120 ! 61: STDFA_I stda %f16, [0x0120, %r31]
14823splash_lsu_8_52:
14824 nop
14825 ta T_CHANGE_HPRIV
14826 set 0x0577444b, %r2
14827 mov 0x6, %r1
14828 sllx %r1, 32, %r1
14829 or %r1, %r2, %r2
14830 stxa %r2, [%r0] ASI_LSU_CONTROL
14831 ta T_CHANGE_NONHPRIV
14832 .word 0x3d400001 ! 62: FBPULE fbule,a,pn %fcc0, <label_0x1>
14833 nop
14834 ta T_CHANGE_HPRIV
14835 mov 0x8+1, %r10
14836 set sync_thr_counter5, %r23
14837#ifndef SPC
14838 ldxa [%g0]0x63, %o1
14839 and %o1, 0x38, %o1
14840 add %o1, %r23, %r23
14841#endif
14842 cas [%r23],%g0,%r10 !lock
14843 brnz %r10, cwq_8_53
14844 rd %asi, %r12
14845 wr %g0, 0x40, %asi
14846 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
14847 and %l1, 0x3, %l1 ! Check if busy/enabled ..
14848 cmp %l1, 1
14849 bne cwq_8_53
14850 set CWQ_BASE, %l6
14851 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
14852 best_set_reg(0x20610020, %l1, %l2) !# Control Word
14853 sllx %l2, 32, %l2
14854 stx %l2, [%l6 + 0x0]
14855 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
14856 sub %l2, 0x40, %l2
14857 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
14858 wr %r12, %g0, %asi
14859 st %g0, [%r23]
14860cwq_8_53:
14861 ta T_CHANGE_NONHPRIV
14862 .word 0xa9414000 ! 63: RDPC rd %pc, %r20
14863cwp_8_54:
14864 set user_data_start, %o7
14865 .word 0x93902003 ! 64: WRPR_CWP_I wrpr %r0, 0x0003, %cwp
14866 setx 0x3a1bb233902068b2, %r1, %r28
14867 stxa %r28, [%g0] 0x73
14868intvec_8_55:
14869 .word 0x39400001 ! 65: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
14870vahole_8_56:
14871 nop
14872 ta T_CHANGE_NONHPRIV
14873 setx vahole_target1, %r18, %r27
14874 jmpl %r27+0, %r27
14875 .word 0xd43ffa99 ! 66: STD_I std %r10, [%r31 + 0xfffffa99]
14876splash_tick_8_57:
14877 nop
14878 ta T_CHANGE_HPRIV
14879 best_set_reg(0x538bca10e88728d1, %r16, %r17)
14880 .word 0x89800011 ! 67: WRTICK_R wr %r0, %r17, %tick
14881tagged_8_58:
14882 tsubcctv %r19, 0x1c94, %r3
14883 .word 0xd407e0dc ! 68: LDUW_I lduw [%r31 + 0x00dc], %r10
14884jmptr_8_59:
14885 nop
14886 best_set_reg(0xe0a00000, %r20, %r27)
14887 .word 0xb7c6c000 ! 69: JMPL_R jmpl %r27 + %r0, %r27
14888mondo_8_60:
14889 nop
14890 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
14891 stxa %r11, [%r0+0x3d0] %asi
14892 .word 0x9d940014 ! 70: WRPR_WSTATE_R wrpr %r16, %r20, %wstate
14893donret_8_61:
14894 nop
14895 ta T_CHANGE_HPRIV ! macro
14896 rd %pc, %r12
14897 add %r12, (donretarg_8_61-donret_8_61-4), %r12
14898 mov 0x38, %r18
14899 stxa %r12, [%r18]0x58
14900 add %r12, 0x4, %r11
14901 wrpr %g0, 0x1, %tl
14902 wrpr %g0, %r12, %tpc
14903 wrpr %g0, %r11, %tnpc
14904 set (0x00163381 | (0x58 << 24)), %r13
14905 rdpr %tstate, %r16
14906 mov 0x1f, %r19
14907 and %r19, %r16, %r17
14908 andn %r16, %r19, %r16
14909 or %r16, %r17, %r20
14910 wrpr %r20, %g0, %tstate
14911 wrhpr %g0, 0x755, %htstate
14912 ta T_CHANGE_NONPRIV ! rand=0 (8)
14913 done
14914donretarg_8_61:
14915 .word 0xd4ffe1c8 ! 71: SWAPA_I swapa %r10, [%r31 + 0x01c8] %asi
14916ibp_8_62:
14917 nop
14918 .word 0x99b2c7c4 ! 72: PDIST pdistn %d42, %d4, %d12
14919 .word 0x2f400001 ! 1: FBPU fbu,a,pn %fcc0, <label_0x1>
14920 .word 0x8d9035a3 ! 73: WRPR_PSTATE_I wrpr %r0, 0x15a3, %pstate
14921dvapa_8_64:
14922 nop
14923 ta T_CHANGE_HPRIV
14924 mov 0xc11, %r20
14925 mov 0x5, %r19
14926 sllx %r20, 23, %r20
14927 or %r19, %r20, %r19
14928 stxa %r19, [%g0] ASI_LSU_CONTROL
14929 mov 0x38, %r18
14930 stxa %r31, [%r18]0x58
14931 ta T_CHANGE_NONHPRIV
14932 .word 0xc1bfc2c0 ! 74: STDFA_R stda %f0, [%r0, %r31]
14933vahole_8_65:
14934 nop
14935 ta T_CHANGE_NONHPRIV
14936 setx vahole_target1, %r18, %r27
14937 jmpl %r27+0, %r27
14938 .word 0x97b047ca ! 75: PDIST pdistn %d32, %d10, %d42
14939pmu_8_66:
14940 nop
14941 setx 0xfffff6b0fffff6b4, %g1, %g7
14942 .word 0xa3800007 ! 76: WR_PERF_COUNTER_R wr %r0, %r7, %-
14943donret_8_67:
14944 nop
14945 ta T_CHANGE_HPRIV ! macro
14946 rd %pc, %r12
14947 add %r12, (donretarg_8_67-donret_8_67-4), %r12
14948 mov 0x38, %r18
14949 stxa %r12, [%r18]0x58
14950 add %r12, 0x4, %r11
14951 wrpr %g0, 0x1, %tl
14952 wrpr %g0, %r12, %tpc
14953 wrpr %g0, %r11, %tnpc
14954 set (0x007fb258 | (0x4f << 24)), %r13
14955 rdpr %tstate, %r16
14956 mov 0x1f, %r19
14957 and %r19, %r16, %r17
14958 andn %r16, %r19, %r16
14959 or %r16, %r17, %r20
14960 wrpr %r20, %g0, %tstate
14961 wrhpr %g0, 0x55f, %htstate
14962 ta T_CHANGE_NONHPRIV ! rand=1 (8)
14963 .word 0x3b400001 ! 1: FBPLE fble,a,pn %fcc0, <label_0x1>
14964 done
14965donretarg_8_67:
14966 .word 0xd2ffe03c ! 77: SWAPA_I swapa %r9, [%r31 + 0x003c] %asi
14967 nop
14968 ta T_CHANGE_HPRIV
14969 mov 0x8+1, %r10
14970 set sync_thr_counter5, %r23
14971#ifndef SPC
14972 ldxa [%g0]0x63, %o1
14973 and %o1, 0x38, %o1
14974 add %o1, %r23, %r23
14975#endif
14976 cas [%r23],%g0,%r10 !lock
14977 brnz %r10, cwq_8_68
14978 rd %asi, %r12
14979 wr %g0, 0x40, %asi
14980 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
14981 and %l1, 0x3, %l1 ! Check if busy/enabled ..
14982 cmp %l1, 1
14983 bne cwq_8_68
14984 set CWQ_BASE, %l6
14985 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
14986 best_set_reg(0x20610090, %l1, %l2) !# Control Word
14987 sllx %l2, 32, %l2
14988 stx %l2, [%l6 + 0x0]
14989 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
14990 sub %l2, 0x40, %l2
14991 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
14992 wr %r12, %g0, %asi
14993 st %g0, [%r23]
14994cwq_8_68:
14995 ta T_CHANGE_NONHPRIV
14996 .word 0x9b414000 ! 78: RDPC rd %pc, %r13
14997 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
14998reduce_priv_lvl_8_69:
14999 ta T_CHANGE_NONHPRIV ! macro
15000trapasi_8_70:
15001 nop
15002 mov 0x38, %r1 ! (VA for ASI 0x50)
15003 .word 0xe4c84a00 ! 80: LDSBA_R ldsba [%r1, %r0] 0x50, %r18
15004 .word 0xa9b20992 ! 81: BSHUFFLE fmovc32 %d8, %d18, %d20
15005pmu_8_72:
15006 nop
15007 ta T_CHANGE_PRIV
15008 setx 0xfffff9b1fffffb09, %g1, %g7
15009 .word 0xa3800007 ! 82: WR_PERF_COUNTER_R wr %r0, %r7, %-
15010tagged_8_73:
15011 taddcctv %r9, 0x147d, %r18
15012 .word 0xd607e085 ! 83: LDUW_I lduw [%r31 + 0x0085], %r11
15013#if (defined SPC || defined CMP)
15014!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_8_74) + 40, 16, 16)) -> intp(7,0,24)
15015!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_8_74)&0xffffffff) + 40, 16, 16)) -> intp(7,0,24)
15016#else
15017 setx 0x04527060ebb9f0cf, %r1, %r28
15018 stxa %r28, [%g0] 0x73
15019#endif
15020intvec_8_74:
15021 .word 0x39400001 ! 84: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
15022 .word 0x91d02032 ! 85: Tcc_I ta icc_or_xcc, %r0 + 50
15023 set 0x1265, %l3
15024 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
15025 .word 0xa7b307d2 ! 86: PDIST pdistn %d12, %d18, %d50
15026cmp_8_75:
15027 nop
15028 ta T_CHANGE_HPRIV
15029 rd %asi, %r12
15030 wr %r0, 0x41, %asi
15031 set sync_thr_counter4, %r23
15032#ifndef SPC
15033 ldxa [%g0]0x63, %r8
15034 and %r8, 0x38, %r8 ! Core ID
15035 add %r8, %r23, %r23
15036 mov 0xff, %r9
15037 xor %r9, 0x8, %r9
15038 sllx %r9, %r8, %r9 ! My core mask
15039#else
15040 mov 0, %r8
15041 mov 0xff, %r9
15042 xor %r9, 0x8, %r9 ! My core mask
15043#endif
15044 mov 0x8, %r10
15045cmp_startwait8_75:
15046 cas [%r23],%g0,%r10 !lock
15047 brz,a %r10, continue_cmp_8_75
15048 ldxa [0x50]%asi, %r13 !Running_rw
15049 ld [%r23], %r10
15050cmp_wait8_75:
15051 brnz,a %r10, cmp_wait8_75
15052 ld [%r23], %r10
15053 ba cmp_startwait8_75
15054 mov 0x8, %r10
15055continue_cmp_8_75:
15056 ldxa [0x58]%asi, %r14 !Running_status
15057 xnor %r14, %r13, %r14 !Bits equal
15058 brz,a %r8, cmp_multi_core_8_75
15059 mov 57, %r17
15060 best_set_reg(0xa627fd045528df84, %r16, %r17)
15061cmp_multi_core_8_75:
15062 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
15063 and %r14, %r9, %r14 !Apply core-mask
15064 stxa %r14, [0x68]%asi
15065 st %g0, [%r23] !clear lock
15066 wr %g0, %r12, %asi
15067 ta T_CHANGE_NONHPRIV
15068 .word 0x9191c006 ! 87: WRPR_PIL_R wrpr %r7, %r6, %pil
15069cmp_8_76:
15070 nop
15071 ta T_CHANGE_HPRIV
15072 rd %asi, %r12
15073 wr %r0, 0x41, %asi
15074 set sync_thr_counter4, %r23
15075#ifndef SPC
15076 ldxa [%g0]0x63, %r8
15077 and %r8, 0x38, %r8 ! Core ID
15078 add %r8, %r23, %r23
15079 mov 0xff, %r9
15080 xor %r9, 0x8, %r9
15081 sllx %r9, %r8, %r9 ! My core mask
15082#else
15083 mov 0, %r8
15084 mov 0xff, %r9
15085 xor %r9, 0x8, %r9 ! My core mask
15086#endif
15087 mov 0x8, %r10
15088cmp_startwait8_76:
15089 cas [%r23],%g0,%r10 !lock
15090 brz,a %r10, continue_cmp_8_76
15091 ldxa [0x50]%asi, %r13 !Running_rw
15092 ld [%r23], %r10
15093cmp_wait8_76:
15094 brnz,a %r10, cmp_wait8_76
15095 ld [%r23], %r10
15096 ba cmp_startwait8_76
15097 mov 0x8, %r10
15098continue_cmp_8_76:
15099 ldxa [0x58]%asi, %r14 !Running_status
15100 xnor %r14, %r13, %r14 !Bits equal
15101 brz,a %r8, cmp_multi_core_8_76
15102 mov 19, %r17
15103 best_set_reg(0xd811c04d7a00f58f, %r16, %r17)
15104cmp_multi_core_8_76:
15105 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
15106 and %r14, %r9, %r14 !Apply core-mask
15107 stxa %r14, [0x60]%asi
15108 st %g0, [%r23] !clear lock
15109 wr %g0, %r12, %asi
15110 ta T_CHANGE_NONHPRIV
15111 .word 0x9191c014 ! 88: WRPR_PIL_R wrpr %r7, %r20, %pil
15112pmu_8_77:
15113 nop
15114 ta T_CHANGE_PRIV
15115 setx 0xfffffb8ffffffee0, %g1, %g7
15116 .word 0xa3800007 ! 89: WR_PERF_COUNTER_R wr %r0, %r7, %-
15117 .word 0x22780001 ! 90: BPE <illegal instruction>
15118vahole_8_78:
15119 nop
15120 ta T_CHANGE_NONHPRIV
15121 setx vahole_target3, %r18, %r27
15122 jmpl %r27+0, %r27
15123 .word 0xd23fed78 ! 91: STD_I std %r9, [%r31 + 0x0d78]
15124ibp_8_79:
15125 nop
15126 ta T_CHANGE_NONHPRIV
15127 .word 0xc3ec4023 ! 92: PREFETCHA_R prefetcha [%r17, %r3] 0x01, #one_read
15128splash_lsu_8_80:
15129 nop
15130 ta T_CHANGE_HPRIV
15131 set 0xbd01ad81, %r2
15132 mov 0x7, %r1
15133 sllx %r1, 32, %r1
15134 or %r1, %r2, %r2
15135 stxa %r2, [%r0] ASI_LSU_CONTROL
15136 .word 0x3d400001 ! 93: FBPULE fbule,a,pn %fcc0, <label_0x1>
15137splash_lsu_8_81:
15138 nop
15139 ta T_CHANGE_HPRIV
15140 set 0x345322ce, %r2
15141 mov 0x4, %r1
15142 sllx %r1, 32, %r1
15143 or %r1, %r2, %r2
15144 stxa %r2, [%r0] ASI_LSU_CONTROL
15145 .word 0x3d400001 ! 94: FBPULE fbule,a,pn %fcc0, <label_0x1>
15146 .word 0x81460000 ! 95: RD_STICK_REG stbar
15147splash_lsu_8_82:
15148 nop
15149 ta T_CHANGE_HPRIV
15150 set 0xb3efe4c0, %r2
15151 mov 0x6, %r1
15152 sllx %r1, 32, %r1
15153 or %r1, %r2, %r2
15154 stxa %r2, [%r0] ASI_LSU_CONTROL
15155 ta T_CHANGE_NONHPRIV
15156 .word 0x3d400001 ! 96: FBPULE fbule,a,pn %fcc0, <label_0x1>
15157 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
15158reduce_priv_lvl_8_83:
15159 ta T_CHANGE_NONHPRIV ! macro
15160 .word 0x29800001 ! 98: FBL fbl,a <label_0x1>
15161splash_hpstate_8_85:
15162 .word 0x23400001 ! 1: FBPNE fbne,a,pn %fcc0, <label_0x1>
15163 .word 0x81982d84 ! 99: WRHPR_HPSTATE_I wrhpr %r0, 0x0d84, %hpstate
15164 .word 0xe01fe050 ! 100: LDD_I ldd [%r31 + 0x0050], %r16
15165 .word 0xe09fe148 ! 101: LDDA_I ldda [%r31, + 0x0148] %asi, %r16
15166ibp_8_86:
15167 nop
15168 .word 0xe1bfc3e0 ! 102: STDFA_R stda %f16, [%r0, %r31]
15169 .word 0x93d02034 ! 103: Tcc_I tne icc_or_xcc, %r0 + 52
15170 nop
15171 ta T_CHANGE_HPRIV
15172 mov 0x8, %r10
15173 set sync_thr_counter6, %r23
15174#ifndef SPC
15175 ldxa [%g0]0x63, %o1
15176 and %o1, 0x38, %o1
15177 add %o1, %r23, %r23
15178#endif
15179 cas [%r23],%g0,%r10 !lock
15180 brnz %r10, sma_8_87
15181 rd %asi, %r12
15182 wr %g0, 0x40, %asi
15183 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
15184 set 0x001a1fff, %g1
15185 stxa %g1, [%g0 + 0x80] %asi
15186 wr %r12, %g0, %asi
15187 st %g0, [%r23]
15188sma_8_87:
15189 ta T_CHANGE_NONHPRIV
15190 .word 0xe1e7e014 ! 104: CASA_R casa [%r31] %asi, %r20, %r16
15191cmp_8_88:
15192 nop
15193 ta T_CHANGE_HPRIV
15194 rd %asi, %r12
15195 wr %r0, 0x41, %asi
15196 set sync_thr_counter4, %r23
15197#ifndef SPC
15198 ldxa [%g0]0x63, %r8
15199 and %r8, 0x38, %r8 ! Core ID
15200 add %r8, %r23, %r23
15201 mov 0xff, %r9
15202 xor %r9, 0x8, %r9
15203 sllx %r9, %r8, %r9 ! My core mask
15204#else
15205 mov 0, %r8
15206 mov 0xff, %r9
15207 xor %r9, 0x8, %r9 ! My core mask
15208#endif
15209 mov 0x8, %r10
15210cmp_startwait8_88:
15211 cas [%r23],%g0,%r10 !lock
15212 brz,a %r10, continue_cmp_8_88
15213 ldxa [0x50]%asi, %r13 !Running_rw
15214 ld [%r23], %r10
15215cmp_wait8_88:
15216 brnz,a %r10, cmp_wait8_88
15217 ld [%r23], %r10
15218 ba cmp_startwait8_88
15219 mov 0x8, %r10
15220continue_cmp_8_88:
15221 ldxa [0x58]%asi, %r14 !Running_status
15222 xnor %r14, %r13, %r14 !Bits equal
15223 brz,a %r8, cmp_multi_core_8_88
15224 mov 0x70, %r17
15225 best_set_reg(0x2d76d784d815def8, %r16, %r17)
15226cmp_multi_core_8_88:
15227 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
15228 and %r14, %r9, %r14 !Apply core-mask
15229 stxa %r14, [0x60]%asi
15230 st %g0, [%r23] !clear lock
15231 wr %g0, %r12, %asi
15232 .word 0x91928008 ! 105: WRPR_PIL_R wrpr %r10, %r8, %pil
15233pmu_8_89:
15234 nop
15235 setx 0xfffff3ccfffffde9, %g1, %g7
15236 .word 0xa3800007 ! 106: WR_PERF_COUNTER_R wr %r0, %r7, %-
15237 .word 0xc30fc000 ! 107: LDXFSR_R ld-fsr [%r31, %r0], %f1
15238 .word 0x26c88001 ! 1: BRLZ brlz,a,pt %r2,<label_0x88001>
15239 .word 0x8d903d66 ! 108: WRPR_PSTATE_I wrpr %r0, 0x1d66, %pstate
15240intveclr_8_91:
15241 nop
15242 ta T_CHANGE_HPRIV
15243 setx 0x82ecfc536d20b564, %r1, %r28
15244 stxa %r28, [%g0] 0x72
15245 ta T_CHANGE_NONHPRIV
15246 .word 0x25400001 ! 109: FBPLG fblg,a,pn %fcc0, <label_0x1>
15247brcommon2_8_92:
15248 nop
15249 setx common_target, %r12, %r27
15250 ba,a .+12
15251 .word 0xe3144013 ! 1: LDQF_R - [%r17, %r19], %f17
15252 ba,a .+8
15253 jmpl %r27+0, %r27
15254 .word 0xc1bfde00 ! 110: STDFA_R stda %f0, [%r0, %r31]
15255pmu_8_93:
15256 nop
15257 ta T_CHANGE_PRIV
15258 setx 0xfffffe18fffff1f2, %g1, %g7
15259 .word 0xa3800007 ! 111: WR_PERF_COUNTER_R wr %r0, %r7, %-
15260vahole_8_94:
15261 nop
15262 ta T_CHANGE_NONHPRIV
15263 setx vahole_target2, %r18, %r27
15264 jmpl %r27+0, %r27
15265 .word 0xe8bfc031 ! 112: STDA_R stda %r20, [%r31 + %r17] 0x01
15266 fbge skip_8_95
15267 brlez,a,pt %r20, skip_8_95
15268.align 2048
15269skip_8_95:
15270 .word 0xc36c67d7 ! 113: PREFETCH_I prefetch [%r17 + 0x07d7], #one_read
15271dvapa_8_96:
15272 nop
15273 ta T_CHANGE_HPRIV
15274 mov 0xf0d, %r20
15275 mov 0x0, %r19
15276 sllx %r20, 23, %r20
15277 or %r19, %r20, %r19
15278 stxa %r19, [%g0] ASI_LSU_CONTROL
15279 mov 0x38, %r18
15280 stxa %r31, [%r18]0x58
15281 ta T_CHANGE_NONHPRIV
15282 .word 0x97702842 ! 114: POPC_I popc 0x0842, %r11
15283splash_cmpr_8_97:
15284 mov 1, %r18
15285 sllx %r18, 63, %r18
15286 rd %tick, %r17
15287 add %r17, 0x80, %r17
15288 or %r17, %r18, %r17
15289 ta T_CHANGE_PRIV
15290 .word 0xaf800011 ! 115: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
15291vahole_8_98:
15292 nop
15293 ta T_CHANGE_NONHPRIV
15294 setx vahole_target1, %r18, %r27
15295 jmpl %r27+0, %r27
15296 .word 0xd31fc00d ! 116: LDDF_R ldd [%r31, %r13], %f9
15297vahole_8_99:
15298 nop
15299 ta T_CHANGE_NONHPRIV
15300 setx vahole_target0, %r18, %r27
15301 jmpl %r27+0, %r27
15302 .word 0xc1bfdb60 ! 117: STDFA_R stda %f0, [%r0, %r31]
15303mondo_8_100:
15304 nop
15305 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
15306 stxa %r20, [%r0+0x3e0] %asi
15307 .word 0x9d94c011 ! 118: WRPR_WSTATE_R wrpr %r19, %r17, %wstate
15308trapasi_8_101:
15309 nop
15310 mov 0x18, %r1 ! (VA for ASI 0x50)
15311 .word 0xd2c84a00 ! 119: LDSBA_R ldsba [%r1, %r0] 0x50, %r9
15312splash_cmpr_8_102:
15313 mov 1, %r18
15314 sllx %r18, 63, %r18
15315 rd %tick, %r17
15316 add %r17, 0x60, %r17
15317 or %r17, %r18, %r17
15318 .word 0xaf800011 ! 120: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
15319 nop
15320 ta T_CHANGE_HPRIV
15321 mov 0x8, %r10
15322 set sync_thr_counter6, %r23
15323#ifndef SPC
15324 ldxa [%g0]0x63, %o1
15325 and %o1, 0x38, %o1
15326 add %o1, %r23, %r23
15327#endif
15328 cas [%r23],%g0,%r10 !lock
15329 brnz %r10, sma_8_103
15330 rd %asi, %r12
15331 wr %g0, 0x40, %asi
15332 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
15333 set 0x00061fff, %g1
15334 stxa %g1, [%g0 + 0x80] %asi
15335 wr %r12, %g0, %asi
15336 st %g0, [%r23]
15337sma_8_103:
15338 ta T_CHANGE_NONHPRIV
15339 .word 0xd3e7e009 ! 121: CASA_R casa [%r31] %asi, %r9, %r9
15340dvapa_8_104:
15341 nop
15342 ta T_CHANGE_HPRIV
15343 mov 0x8e1, %r20
15344 mov 0x11, %r19
15345 sllx %r20, 23, %r20
15346 or %r19, %r20, %r19
15347 stxa %r19, [%g0] ASI_LSU_CONTROL
15348 mov 0x38, %r18
15349 stxa %r31, [%r18]0x58
15350 ta T_CHANGE_NONHPRIV
15351 .word 0xc3eac02d ! 122: PREFETCHA_R prefetcha [%r11, %r13] 0x01, #one_read
15352splash_hpstate_8_105:
15353 .word 0x27400001 ! 1: FBPUL fbul,a,pn %fcc0, <label_0x1>
15354 .word 0x81983787 ! 123: WRHPR_HPSTATE_I wrhpr %r0, 0x1787, %hpstate
15355 .word 0xc1bfe040 ! 124: STDFA_I stda %f0, [0x0040, %r31]
15356mondo_8_107:
15357 nop
15358 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
15359 ta T_CHANGE_PRIV
15360 stxa %r10, [%r0+0x3c8] %asi
15361 .word 0x9d950011 ! 125: WRPR_WSTATE_R wrpr %r20, %r17, %wstate
15362splash_tba_8_108:
15363 ta T_CHANGE_PRIV
15364 set 0x120000, %r12
15365 .word 0x8b90000c ! 126: WRPR_TBA_R wrpr %r0, %r12, %tba
15366 .word 0xa3500000 ! 127: RDPR_TPC <illegal instruction>
15367brcommon2_8_109:
15368 nop
15369 setx common_target, %r12, %r27
15370 ba,a .+12
15371 .word 0x95a00550 ! 1: FSQRTd fsqrt
15372 ba,a .+8
15373 jmpl %r27+0, %r27
15374 .word 0xc1bfd920 ! 128: STDFA_R stda %f0, [%r0, %r31]
15375splash_hpstate_8_110:
15376 .word 0x8198355d ! 129: WRHPR_HPSTATE_I wrhpr %r0, 0x155d, %hpstate
15377splash_tick_8_111:
15378 nop
15379 ta T_CHANGE_HPRIV
15380 best_set_reg(0xcb90385db1bdb682, %r16, %r17)
15381 .word 0x89800011 ! 130: WRTICK_R wr %r0, %r17, %tick
15382 .word 0xe19fe000 ! 131: LDDFA_I ldda [%r31, 0x0000], %f16
15383cmp_8_112:
15384 nop
15385 ta T_CHANGE_HPRIV
15386 rd %asi, %r12
15387 wr %r0, 0x41, %asi
15388 set sync_thr_counter4, %r23
15389#ifndef SPC
15390 ldxa [%g0]0x63, %r8
15391 and %r8, 0x38, %r8 ! Core ID
15392 add %r8, %r23, %r23
15393 mov 0xff, %r9
15394 xor %r9, 0x8, %r9
15395 sllx %r9, %r8, %r9 ! My core mask
15396#else
15397 mov 0, %r8
15398 mov 0xff, %r9
15399 xor %r9, 0x8, %r9 ! My core mask
15400#endif
15401 mov 0x8, %r10
15402cmp_startwait8_112:
15403 cas [%r23],%g0,%r10 !lock
15404 brz,a %r10, continue_cmp_8_112
15405 ldxa [0x50]%asi, %r13 !Running_rw
15406 ld [%r23], %r10
15407cmp_wait8_112:
15408 brnz,a %r10, cmp_wait8_112
15409 ld [%r23], %r10
15410 ba cmp_startwait8_112
15411 mov 0x8, %r10
15412continue_cmp_8_112:
15413 ldxa [0x58]%asi, %r14 !Running_status
15414 xnor %r14, %r13, %r14 !Bits equal
15415 brz,a %r8, cmp_multi_core_8_112
15416 mov 0xbd, %r17
15417 best_set_reg(0xb477b023680074ca, %r16, %r17)
15418cmp_multi_core_8_112:
15419 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
15420 and %r14, %r9, %r14 !Apply core-mask
15421 stxa %r14, [0x60]%asi
15422 st %g0, [%r23] !clear lock
15423 wr %g0, %r12, %asi
15424 ta T_CHANGE_NONHPRIV
15425 .word 0xa1a00168 ! 132: FABSq dis not found
15426
15427 setx 0x2b37b1c598591932, %r1, %r28
15428 stxa %r28, [%g0] 0x73
15429intvec_8_113:
15430 .word 0x39400001 ! 133: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
15431fpinit_8_114:
15432 setx fp_data_quads, %r19, %r20
15433 ldd [%r20], %f0
15434 ldd [%r20+8], %f4
15435 ld [%r20+16], %fsr
15436 ld [%r20+24], %r19
15437 wr %r19, %g0, %gsr
15438 .word 0xc3e8217a ! 134: PREFETCHA_I prefetcha [%r0, + 0x017a] %asi, #one_read
15439 .word 0x8d903654 ! 135: WRPR_PSTATE_I wrpr %r0, 0x1654, %pstate
15440 fbul skip_8_116
15441 fbe,a,pn %fcc0, skip_8_116
15442.align 2048
15443skip_8_116:
15444 .word 0xd9e7c020 ! 136: CASA_I casa [%r31] 0x 1, %r0, %r12
15445intveclr_8_117:
15446 nop
15447 ta T_CHANGE_HPRIV
15448 setx 0x600a28857d72980e, %r1, %r28
15449 stxa %r28, [%g0] 0x72
15450 .word 0x25400001 ! 137: FBPLG fblg,a,pn %fcc0, <label_0x1>
15451pmu_8_118:
15452 nop
15453 setx 0xfffff879fffff862, %g1, %g7
15454 .word 0xa3800007 ! 138: WR_PERF_COUNTER_R wr %r0, %r7, %-
15455ibp_8_119:
15456 nop
15457 ta T_CHANGE_NONHPRIV
15458 .word 0xc3ea8025 ! 139: PREFETCHA_R prefetcha [%r10, %r5] 0x01, #one_read
15459splash_lsu_8_120:
15460 nop
15461 ta T_CHANGE_HPRIV
15462 set 0x681b3ebd, %r2
15463 mov 0x5, %r1
15464 sllx %r1, 32, %r1
15465 or %r1, %r2, %r2
15466 stxa %r2, [%r0] ASI_LSU_CONTROL
15467 ta T_CHANGE_NONHPRIV
15468 .word 0x3d400001 ! 140: FBPULE fbule,a,pn %fcc0, <label_0x1>
15469pmu_8_121:
15470 nop
15471 ta T_CHANGE_PRIV
15472 setx 0xfffff4f1fffff43e, %g1, %g7
15473 .word 0xa3800007 ! 141: WR_PERF_COUNTER_R wr %r0, %r7, %-
15474unsupttte_8_122:
15475 nop
15476 ta T_CHANGE_HPRIV
15477 mov 1, %r20
15478 sllx %r20, 63, %r20
15479 or %r20, 2,%r20
15480 stxa %r20, [%g0]0x54 ! I unsupported page size ..
15481 ta T_CHANGE_NONHPRIV
15482 .word 0xa7b30482 ! 142: FCMPLE32 fcmple32 %d12, %d2, %r19
15483splash_cmpr_8_123:
15484 mov 1, %r18
15485 sllx %r18, 63, %r18
15486 rd %tick, %r17
15487 add %r17, 0x80, %r17
15488 or %r17, %r18, %r17
15489 ta T_CHANGE_PRIV
15490 .word 0xb3800011 ! 143: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
15491 .word 0xd47ffbe8 ! 144: SWAP_I swap %r10, [%r31 + 0xfffffbe8]
15492splash_cmpr_8_124:
15493 mov 0, %r18
15494 sllx %r18, 63, %r18
15495 rd %tick, %r17
15496 add %r17, 0x50, %r17
15497 or %r17, %r18, %r17
15498 ta T_CHANGE_HPRIV
15499 wrhpr %r17, %g0, %hsys_tick_cmpr
15500 .word 0xb3800011 ! 145: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
15501cerer_8_125:
15502 nop
15503 ta T_CHANGE_HPRIV
15504 best_set_reg(0x5e240ca758bcda3a, %r16, %r17)
15505 sethi %hi(0x20008000), %r16 ! Set ITTM/DTTM
15506 sllx %r16, 32, %r16
15507 or %r16, %r17, %r17
15508 mov 0x10, %r16
15509 stxa %r17, [%r16]0x4c
15510 .word 0xa1524000 ! 146: RDPR_CWP <illegal instruction>
15511intveclr_8_126:
15512 nop
15513 ta T_CHANGE_HPRIV
15514 setx 0x9b8d0b50adbd69f1, %r1, %r28
15515 stxa %r28, [%g0] 0x72
15516 ta T_CHANGE_NONHPRIV
15517 .word 0x25400001 ! 147: FBPLG fblg,a,pn %fcc0, <label_0x1>
15518memptr_8_127:
15519 set 0x60540000, %r31
15520 .word 0x85852627 ! 148: WRCCR_I wr %r20, 0x0627, %ccr
15521 .word 0x87802055 ! 149: WRASI_I wr %r0, 0x0055, %asi
15522intveclr_8_128:
15523 nop
15524 ta T_CHANGE_HPRIV
15525 setx 0xa5042a2eccd61e4d, %r1, %r28
15526 stxa %r28, [%g0] 0x72
15527 ta T_CHANGE_NONHPRIV
15528 .word 0x25400001 ! 150: FBPLG fblg,a,pn %fcc0, <label_0x1>
15529 .word 0xe08008a0 ! 151: LDUWA_R lduwa [%r0, %r0] 0x45, %r16
15530mondo_8_129:
15531 nop
15532 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
15533 stxa %r17, [%r0+0x3c8] %asi
15534 .word 0x9d928011 ! 152: WRPR_WSTATE_R wrpr %r10, %r17, %wstate
15535vahole_8_130:
15536 nop
15537 ta T_CHANGE_NONHPRIV
15538 setx vahole_target3, %r18, %r27
15539 jmpl %r27+0, %r27
15540 .word 0xe1bfe180 ! 153: STDFA_I stda %f16, [0x0180, %r31]
15541 .word 0xe08fe098 ! 154: LDUBA_I lduba [%r31, + 0x0098] %asi, %r16
15542 .word 0x93d020b4 ! 155: Tcc_I tne icc_or_xcc, %r0 + 180
15543 nop
15544 ta T_CHANGE_HPRIV
15545 mov 0x8+1, %r10
15546 set sync_thr_counter5, %r23
15547#ifndef SPC
15548 ldxa [%g0]0x63, %o1
15549 and %o1, 0x38, %o1
15550 add %o1, %r23, %r23
15551#endif
15552 cas [%r23],%g0,%r10 !lock
15553 brnz %r10, cwq_8_131
15554 rd %asi, %r12
15555 wr %g0, 0x40, %asi
15556 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
15557 and %l1, 0x3, %l1 ! Check if busy/enabled ..
15558 cmp %l1, 1
15559 bne cwq_8_131
15560 set CWQ_BASE, %l6
15561 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
15562 best_set_reg(0x20610010, %l1, %l2) !# Control Word
15563 sllx %l2, 32, %l2
15564 stx %l2, [%l6 + 0x0]
15565 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
15566 sub %l2, 0x40, %l2
15567 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
15568 wr %r12, %g0, %asi
15569 st %g0, [%r23]
15570cwq_8_131:
15571 ta T_CHANGE_NONHPRIV
15572 .word 0x9b414000 ! 156: RDPC rd %pc, %r13
15573ibp_8_132:
15574 nop
15575 .word 0x87a9ca53 ! 157: FCMPd fcmpd %fcc<n>, %f38, %f50
15576splash_lsu_8_133:
15577 nop
15578 ta T_CHANGE_HPRIV
15579 set 0x49d3131f, %r2
15580 mov 0x5, %r1
15581 sllx %r1, 32, %r1
15582 or %r1, %r2, %r2
15583 stxa %r2, [%r0] ASI_LSU_CONTROL
15584 .word 0x3d400001 ! 158: FBPULE fbule,a,pn %fcc0, <label_0x1>
15585 .word 0xe88008a0 ! 159: LDUWA_R lduwa [%r0, %r0] 0x45, %r20
15586vahole_8_134:
15587 nop
15588 ta T_CHANGE_NONHPRIV
15589 setx vahole_target1, %r18, %r27
15590 jmpl %r27+0, %r27
15591 .word 0xe19fd960 ! 160: LDDFA_R ldda [%r31, %r0], %f16
15592brcommon1_8_135:
15593 nop
15594 setx common_target, %r12, %r27
15595 lduw [%r27], %r12 ! Load common dest into dcache ..
15596 ba,a .+12
15597 .word 0xe86ff5c6 ! 1: LDSTUB_I ldstub %r20, [%r31 + 0xfffff5c6]
15598 ba,a .+8
15599 jmpl %r27+0, %r27
15600 .word 0x95a309b0 ! 161: FDIVs fdivs %f12, %f16, %f10
15601splash_hpstate_8_136:
15602 .word 0x81983f15 ! 162: WRHPR_HPSTATE_I wrhpr %r0, 0x1f15, %hpstate
15603 .word 0xd497e0d0 ! 163: LDUHA_I lduha [%r31, + 0x00d0] %asi, %r10
15604vahole_8_137:
15605 nop
15606 ta T_CHANGE_NONHPRIV
15607 setx vahole_target1, %r18, %r27
15608 jmpl %r27+0, %r27
15609 .word 0xe1bfe080 ! 164: STDFA_I stda %f16, [0x0080, %r31]
15610pmu_8_138:
15611 nop
15612 setx 0xfffffdaffffffae3, %g1, %g7
15613 .word 0xa3800007 ! 165: WR_PERF_COUNTER_R wr %r0, %r7, %-
15614vahole_8_139:
15615 nop
15616 ta T_CHANGE_NONHPRIV
15617 setx vahole_target0, %r18, %r27
15618 jmpl %r27+0, %r27
15619 .word 0xd497c028 ! 166: LDUHA_R lduha [%r31, %r8] 0x01, %r10
15620intveclr_8_140:
15621 nop
15622 ta T_CHANGE_HPRIV
15623 setx 0xe109cda4280286a9, %r1, %r28
15624 stxa %r28, [%g0] 0x72
15625 ta T_CHANGE_NONHPRIV
15626 .word 0x25400001 ! 167: FBPLG fblg,a,pn %fcc0, <label_0x1>
15627 .word 0x8d902e03 ! 168: WRPR_PSTATE_I wrpr %r0, 0x0e03, %pstate
15628 .word 0x87802058 ! 169: WRASI_I wr %r0, 0x0058, %asi
15629ibp_8_142:
15630 nop
15631 ta T_CHANGE_NONHPRIV
15632 .word 0x99a449cd ! 170: FDIVd fdivd %f48, %f44, %f12
15633 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
15634reduce_priv_lvl_8_143:
15635 ta T_CHANGE_NONPRIV ! macro
15636fpinit_8_144:
15637 setx fp_data_quads, %r19, %r20
15638 ldd [%r20], %f0
15639 ldd [%r20+8], %f4
15640 ld [%r20+16], %fsr
15641 ld [%r20+24], %r19
15642 wr %r19, %g0, %gsr
15643 .word 0x8db00484 ! 172: FCMPLE32 fcmple32 %d0, %d4, %r6
15644dvapa_8_145:
15645 nop
15646 ta T_CHANGE_HPRIV
15647 mov 0x81f, %r20
15648 mov 0x3, %r19
15649 sllx %r20, 23, %r20
15650 or %r19, %r20, %r19
15651 stxa %r19, [%g0] ASI_LSU_CONTROL
15652 mov 0x38, %r18
15653 stxa %r31, [%r18]0x58
15654 ta T_CHANGE_NONHPRIV
15655 .word 0xe4dfc030 ! 173: LDXA_R ldxa [%r31, %r16] 0x01, %r18
15656intveclr_8_146:
15657 nop
15658 ta T_CHANGE_HPRIV
15659 setx 0x6e394bb9eb8237c0, %r1, %r28
15660 stxa %r28, [%g0] 0x72
15661 ta T_CHANGE_NONHPRIV
15662 .word 0x25400001 ! 174: FBPLG fblg,a,pn %fcc0, <label_0x1>
15663 .word 0xe51fe168 ! 175: LDDF_I ldd [%r31, 0x0168], %f18
15664donret_8_147:
15665 nop
15666 ta T_CHANGE_HPRIV ! macro
15667 rd %pc, %r12
15668 add %r12, (donretarg_8_147-donret_8_147-4), %r12
15669 mov 0x38, %r18
15670 stxa %r12, [%r18]0x58
15671 add %r12, 0x4, %r11
15672 wrpr %g0, 0x2, %tl
15673 wrpr %g0, %r12, %tpc
15674 wrpr %g0, %r11, %tnpc
15675 set (0x00086314 | (0x88 << 24)), %r13
15676 rdpr %tstate, %r16
15677 mov 0x1f, %r19
15678 and %r19, %r16, %r17
15679 andn %r16, %r19, %r16
15680 or %r16, %r17, %r20
15681 wrpr %r20, %g0, %tstate
15682 wrhpr %g0, 0x95c, %htstate
15683 ta T_CHANGE_NONHPRIV ! rand=1 (8)
15684 done
15685donretarg_8_147:
15686 .word 0xe4ffe01a ! 176: SWAPA_I swapa %r18, [%r31 + 0x001a] %asi
15687 .word 0xe19fe0e0 ! 177: LDDFA_I ldda [%r31, 0x00e0], %f16
15688 .word 0x91d02034 ! 178: Tcc_I ta icc_or_xcc, %r0 + 52
15689fpinit_8_148:
15690 setx fp_data_quads, %r19, %r20
15691 ldd [%r20], %f0
15692 ldd [%r20+8], %f4
15693 ld [%r20+16], %fsr
15694 ld [%r20+24], %r19
15695 wr %r19, %g0, %gsr
15696 .word 0x89a009c4 ! 179: FDIVd fdivd %f0, %f4, %f4
15697splash_cmpr_8_149:
15698 mov 1, %r18
15699 sllx %r18, 63, %r18
15700 rd %tick, %r17
15701 add %r17, 0x60, %r17
15702 or %r17, %r18, %r17
15703 ta T_CHANGE_PRIV
15704 .word 0xaf800011 ! 180: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
15705 nop
15706 ta T_CHANGE_HPRIV
15707 mov 0x8+1, %r10
15708 set sync_thr_counter5, %r23
15709#ifndef SPC
15710 ldxa [%g0]0x63, %o1
15711 and %o1, 0x38, %o1
15712 add %o1, %r23, %r23
15713#endif
15714 cas [%r23],%g0,%r10 !lock
15715 brnz %r10, cwq_8_150
15716 rd %asi, %r12
15717 wr %g0, 0x40, %asi
15718 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
15719 and %l1, 0x3, %l1 ! Check if busy/enabled ..
15720 cmp %l1, 1
15721 bne cwq_8_150
15722 set CWQ_BASE, %l6
15723 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
15724 best_set_reg(0x20610000, %l1, %l2) !# Control Word
15725 sllx %l2, 32, %l2
15726 stx %l2, [%l6 + 0x0]
15727 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
15728 sub %l2, 0x40, %l2
15729 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
15730 wr %r12, %g0, %asi
15731 st %g0, [%r23]
15732cwq_8_150:
15733 ta T_CHANGE_NONHPRIV
15734 .word 0x99414000 ! 181: RDPC rd %pc, %r12
15735unsupttte_8_151:
15736 nop
15737 ta T_CHANGE_HPRIV
15738 mov 1, %r20
15739 sllx %r20, 63, %r20
15740 or %r20, 2,%r20
15741 stxa %r20, [%g0]0x5c ! D unsupported page size ..
15742 ta T_CHANGE_NONHPRIV
15743 .word 0x99a0c9c8 ! 182: FDIVd fdivd %f34, %f8, %f12
15744cmp_8_152:
15745 nop
15746 ta T_CHANGE_HPRIV
15747 rd %asi, %r12
15748 wr %r0, 0x41, %asi
15749 set sync_thr_counter4, %r23
15750#ifndef SPC
15751 ldxa [%g0]0x63, %r8
15752 and %r8, 0x38, %r8 ! Core ID
15753 add %r8, %r23, %r23
15754 mov 0xff, %r9
15755 xor %r9, 0x8, %r9
15756 sllx %r9, %r8, %r9 ! My core mask
15757#else
15758 mov 0, %r8
15759 mov 0xff, %r9
15760 xor %r9, 0x8, %r9 ! My core mask
15761#endif
15762 mov 0x8, %r10
15763cmp_startwait8_152:
15764 cas [%r23],%g0,%r10 !lock
15765 brz,a %r10, continue_cmp_8_152
15766 ldxa [0x50]%asi, %r13 !Running_rw
15767 ld [%r23], %r10
15768cmp_wait8_152:
15769 brnz,a %r10, cmp_wait8_152
15770 ld [%r23], %r10
15771 ba cmp_startwait8_152
15772 mov 0x8, %r10
15773continue_cmp_8_152:
15774 ldxa [0x58]%asi, %r14 !Running_status
15775 xnor %r14, %r13, %r14 !Bits equal
15776 brz,a %r8, cmp_multi_core_8_152
15777 mov 0xe6, %r17
15778 best_set_reg(0x7981c64e61a76288, %r16, %r17)
15779cmp_multi_core_8_152:
15780 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
15781 and %r14, %r9, %r14 !Apply core-mask
15782 stxa %r14, [0x60]%asi
15783 st %g0, [%r23] !clear lock
15784 wr %g0, %r12, %asi
15785 .word 0xa3a00170 ! 183: FABSq dis not found
15786
15787vahole_8_153:
15788 nop
15789 ta T_CHANGE_NONHPRIV
15790 setx vahole_target2, %r18, %r27
15791 jmpl %r27+0, %r27
15792 .word 0xc1bfe020 ! 184: STDFA_I stda %f0, [0x0020, %r31]
15793mondo_8_154:
15794 nop
15795 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
15796 ta T_CHANGE_PRIV
15797 stxa %r4, [%r0+0x3d8] %asi
15798 .word 0x9d930011 ! 185: WRPR_WSTATE_R wrpr %r12, %r17, %wstate
15799 .word 0xc1bfd960 ! 186: STDFA_R stda %f0, [%r0, %r31]
15800 nop
15801 ta T_CHANGE_HPRIV
15802 mov 0x8, %r10
15803 set sync_thr_counter6, %r23
15804#ifndef SPC
15805 ldxa [%g0]0x63, %o1
15806 and %o1, 0x38, %o1
15807 add %o1, %r23, %r23
15808#endif
15809 cas [%r23],%g0,%r10 !lock
15810 brnz %r10, sma_8_156
15811 rd %asi, %r12
15812 wr %g0, 0x40, %asi
15813 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
15814 set 0x00161fff, %g1
15815 stxa %g1, [%g0 + 0x80] %asi
15816 wr %r12, %g0, %asi
15817 st %g0, [%r23]
15818sma_8_156:
15819 ta T_CHANGE_NONHPRIV
15820 .word 0xdbe7e00a ! 187: CASA_R casa [%r31] %asi, %r10, %r13
15821pmu_8_157:
15822 nop
15823 ta T_CHANGE_PRIV
15824 setx 0xfffff7edfffff3f7, %g1, %g7
15825 .word 0xa3800007 ! 188: WR_PERF_COUNTER_R wr %r0, %r7, %-
15826br_badelay1_8_158:
15827 .word 0x9bb7c4d0 ! 1: FCMPNE32 fcmpne32 %d62, %d16, %r13
15828 .word 0x33400001 ! 1: FBPE fbe,a,pn %fcc0, <label_0x1>
15829 .word 0xdbe7c032 ! 1: CASA_I casa [%r31] 0x 1, %r18, %r13
15830 normalw
15831 .word 0xa7458000 ! 189: RD_SOFTINT_REG rd %softint, %r19
15832cmp_8_159:
15833 nop
15834 ta T_CHANGE_HPRIV
15835 rd %asi, %r12
15836 wr %r0, 0x41, %asi
15837 set sync_thr_counter4, %r23
15838#ifndef SPC
15839 ldxa [%g0]0x63, %r8
15840 and %r8, 0x38, %r8 ! Core ID
15841 add %r8, %r23, %r23
15842 mov 0xff, %r9
15843 xor %r9, 0x8, %r9
15844 sllx %r9, %r8, %r9 ! My core mask
15845#else
15846 mov 0, %r8
15847 mov 0xff, %r9
15848 xor %r9, 0x8, %r9 ! My core mask
15849#endif
15850 mov 0x8, %r10
15851cmp_startwait8_159:
15852 cas [%r23],%g0,%r10 !lock
15853 brz,a %r10, continue_cmp_8_159
15854 ldxa [0x50]%asi, %r13 !Running_rw
15855 ld [%r23], %r10
15856cmp_wait8_159:
15857 brnz,a %r10, cmp_wait8_159
15858 ld [%r23], %r10
15859 ba cmp_startwait8_159
15860 mov 0x8, %r10
15861continue_cmp_8_159:
15862 ldxa [0x58]%asi, %r14 !Running_status
15863 xnor %r14, %r13, %r14 !Bits equal
15864 brz,a %r8, cmp_multi_core_8_159
15865 mov 0x92, %r17
15866 best_set_reg(0x36eee1d27891be1c, %r16, %r17)
15867cmp_multi_core_8_159:
15868 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
15869 and %r14, %r9, %r14 !Apply core-mask
15870 stxa %r14, [0x68]%asi
15871 st %g0, [%r23] !clear lock
15872 wr %g0, %r12, %asi
15873 ta T_CHANGE_NONHPRIV
15874 .word 0x91924014 ! 190: WRPR_PIL_R wrpr %r9, %r20, %pil
15875splash_cmpr_8_160:
15876 mov 1, %r18
15877 sllx %r18, 63, %r18
15878 rd %tick, %r17
15879 add %r17, 0x60, %r17
15880 or %r17, %r18, %r17
15881 ta T_CHANGE_PRIV
15882 .word 0xaf800011 ! 191: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
15883splash_cmpr_8_161:
15884 mov 0, %r18
15885 sllx %r18, 63, %r18
15886 rd %tick, %r17
15887 add %r17, 0x60, %r17
15888 or %r17, %r18, %r17
15889 .word 0xaf800011 ! 192: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
15890ibp_8_162:
15891 nop
15892 .word 0xa9a249d1 ! 193: FDIVd fdivd %f40, %f48, %f20
15893splash_tick_8_163:
15894 nop
15895 ta T_CHANGE_HPRIV
15896 best_set_reg(0x956a35bed3cc23be, %r16, %r17)
15897 .word 0x89800011 ! 194: WRTICK_R wr %r0, %r17, %tick
15898ibp_8_164:
15899 nop
15900 .word 0xe1bfdf20 ! 195: STDFA_R stda %f16, [%r0, %r31]
15901 nop
15902 ta T_CHANGE_HPRIV
15903 mov 0x8, %r10
15904 set sync_thr_counter6, %r23
15905#ifndef SPC
15906 ldxa [%g0]0x63, %o1
15907 and %o1, 0x38, %o1
15908 add %o1, %r23, %r23
15909#endif
15910 cas [%r23],%g0,%r10 !lock
15911 brnz %r10, sma_8_165
15912 rd %asi, %r12
15913 wr %g0, 0x40, %asi
15914 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
15915 set 0x00061fff, %g1
15916 stxa %g1, [%g0 + 0x80] %asi
15917 wr %r12, %g0, %asi
15918 st %g0, [%r23]
15919sma_8_165:
15920 ta T_CHANGE_NONHPRIV
15921 .word 0xe9e7e011 ! 196: CASA_R casa [%r31] %asi, %r17, %r20
15922splash_tba_8_166:
15923 ta T_CHANGE_PRIV
15924 setx 0x00000000003a0000, %r11, %r12
15925 .word 0x8b90000c ! 197: WRPR_TBA_R wrpr %r0, %r12, %tba
15926intveclr_8_167:
15927 nop
15928 ta T_CHANGE_HPRIV
15929 setx 0x799f068701b9b92a, %r1, %r28
15930 stxa %r28, [%g0] 0x72
15931 ta T_CHANGE_NONHPRIV
15932 .word 0x25400001 ! 198: FBPLG fblg,a,pn %fcc0, <label_0x1>
15933fpinit_8_168:
15934 setx fp_data_quads, %r19, %r20
15935 ldd [%r20], %f0
15936 ldd [%r20+8], %f4
15937 ld [%r20+16], %fsr
15938 ld [%r20+24], %r19
15939 wr %r19, %g0, %gsr
15940 .word 0x87a80a44 ! 199: FCMPd fcmpd %fcc<n>, %f0, %f4
15941cmp_8_169:
15942 nop
15943 ta T_CHANGE_HPRIV
15944 rd %asi, %r12
15945 wr %r0, 0x41, %asi
15946 set sync_thr_counter4, %r23
15947#ifndef SPC
15948 ldxa [%g0]0x63, %r8
15949 and %r8, 0x38, %r8 ! Core ID
15950 add %r8, %r23, %r23
15951 mov 0xff, %r9
15952 xor %r9, 0x8, %r9
15953 sllx %r9, %r8, %r9 ! My core mask
15954#else
15955 mov 0, %r8
15956 mov 0xff, %r9
15957 xor %r9, 0x8, %r9 ! My core mask
15958#endif
15959 mov 0x8, %r10
15960cmp_startwait8_169:
15961 cas [%r23],%g0,%r10 !lock
15962 brz,a %r10, continue_cmp_8_169
15963 ldxa [0x50]%asi, %r13 !Running_rw
15964 ld [%r23], %r10
15965cmp_wait8_169:
15966 brnz,a %r10, cmp_wait8_169
15967 ld [%r23], %r10
15968 ba cmp_startwait8_169
15969 mov 0x8, %r10
15970continue_cmp_8_169:
15971 ldxa [0x58]%asi, %r14 !Running_status
15972 xnor %r14, %r13, %r14 !Bits equal
15973 brz,a %r8, cmp_multi_core_8_169
15974 mov 0xd5, %r17
15975 best_set_reg(0xf725075ee9f36ea5, %r16, %r17)
15976cmp_multi_core_8_169:
15977 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
15978 and %r14, %r9, %r14 !Apply core-mask
15979 stxa %r14, [0x68]%asi
15980 st %g0, [%r23] !clear lock
15981 wr %g0, %r12, %asi
15982 .word 0xa3a00167 ! 200: FABSq dis not found
15983
15984trapasi_8_170:
15985 nop
15986 mov 0x10, %r1 ! (VA for ASI 0x4c)
15987 .word 0xe0c84980 ! 201: LDSBA_R ldsba [%r1, %r0] 0x4c, %r16
15988splash_tba_8_171:
15989 ta T_CHANGE_PRIV
15990 setx 0x00000000003a0000, %r11, %r12
15991 .word 0x8b90000c ! 202: WRPR_TBA_R wrpr %r0, %r12, %tba
15992 .word 0xe197e140 ! 203: LDQFA_I - [%r31, 0x0140], %f16
15993 .word 0x87802010 ! 204: WRASI_I wr %r0, 0x0010, %asi
15994 .word 0xa1454000 ! 205: RD_CLEAR_SOFTINT rd %clear_softint, %r16
15995memptr_8_172:
15996 set 0x60540000, %r31
15997 .word 0x85837552 ! 206: WRCCR_I wr %r13, 0x1552, %ccr
15998splash_cmpr_8_173:
15999 mov 1, %r18
16000 sllx %r18, 63, %r18
16001 rd %tick, %r17
16002 add %r17, 0x70, %r17
16003 or %r17, %r18, %r17
16004 .word 0xaf800011 ! 207: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
16005splash_tick_8_174:
16006 nop
16007 ta T_CHANGE_HPRIV
16008 best_set_reg(0xfc48f443c8aca9ef, %r16, %r17)
16009 .word 0x89800011 ! 208: WRTICK_R wr %r0, %r17, %tick
16010pmu_8_175:
16011 nop
16012 setx 0xfffffb0efffff968, %g1, %g7
16013 .word 0xa3800007 ! 209: WR_PERF_COUNTER_R wr %r0, %r7, %-
16014 nop
16015 ta T_CHANGE_HPRIV
16016 mov 0x8+1, %r10
16017 set sync_thr_counter5, %r23
16018#ifndef SPC
16019 ldxa [%g0]0x63, %o1
16020 and %o1, 0x38, %o1
16021 add %o1, %r23, %r23
16022#endif
16023 cas [%r23],%g0,%r10 !lock
16024 brnz %r10, cwq_8_176
16025 rd %asi, %r12
16026 wr %g0, 0x40, %asi
16027 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
16028 and %l1, 0x3, %l1 ! Check if busy/enabled ..
16029 cmp %l1, 1
16030 bne cwq_8_176
16031 set CWQ_BASE, %l6
16032 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
16033 best_set_reg(0x20610090, %l1, %l2) !# Control Word
16034 sllx %l2, 32, %l2
16035 stx %l2, [%l6 + 0x0]
16036 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
16037 sub %l2, 0x40, %l2
16038 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
16039 wr %r12, %g0, %asi
16040 st %g0, [%r23]
16041cwq_8_176:
16042 ta T_CHANGE_NONHPRIV
16043 .word 0x95414000 ! 210: RDPC rd %pc, %r10
16044 .word 0x93d020b5 ! 211: Tcc_I tne icc_or_xcc, %r0 + 181
16045splash_tick_8_177:
16046 nop
16047 ta T_CHANGE_HPRIV
16048 best_set_reg(0x0e047f034f9ebe96, %r16, %r17)
16049 .word 0x89800011 ! 212: WRTICK_R wr %r0, %r17, %tick
16050vahole_8_178:
16051 nop
16052 ta T_CHANGE_NONHPRIV
16053 setx vahole_target2, %r18, %r27
16054 jmpl %r27+0, %r27
16055 .word 0xc3e8c032 ! 213: PREFETCHA_R prefetcha [%r3, %r18] 0x01, #one_read
16056 .word 0xda800c20 ! 214: LDUWA_R lduwa [%r0, %r0] 0x61, %r13
16057pmu_8_179:
16058 nop
16059 setx 0xfffff584fffff4ae, %g1, %g7
16060 .word 0xa3800007 ! 215: WR_PERF_COUNTER_R wr %r0, %r7, %-
16061brcommon3_8_180:
16062 nop
16063 setx common_target, %r12, %r27
16064 lduw [%r27], %r12 ! Load common dest into dcache ..
16065 ba,a .+12
16066 .word 0xdbe7c02d ! 1: CASA_I casa [%r31] 0x 1, %r13, %r13
16067 ba,a .+8
16068 jmpl %r27+0, %r27
16069 .word 0xdabfc034 ! 216: STDA_R stda %r13, [%r31 + %r20] 0x01
16070trapasi_8_181:
16071 nop
16072 mov 0x3f8, %r1 ! (VA for ASI 0x25)
16073 .word 0xdac044a0 ! 217: LDSWA_R ldswa [%r1, %r0] 0x25, %r13
16074pmu_8_182:
16075 nop
16076 setx 0xfffff34cfffff926, %g1, %g7
16077 .word 0xa3800007 ! 218: WR_PERF_COUNTER_R wr %r0, %r7, %-
16078donret_8_183:
16079 nop
16080 ta T_CHANGE_HPRIV ! macro
16081 rd %pc, %r12
16082 add %r12, (donretarg_8_183-donret_8_183-4), %r12
16083 mov 0x38, %r18
16084 stxa %r12, [%r18]0x58
16085 add %r12, 0x4, %r11
16086 wrpr %g0, 0x2, %tl
16087 wrpr %g0, %r12, %tpc
16088 wrpr %g0, %r11, %tnpc
16089 set (0x00e73eb7 | (20 << 24)), %r13
16090 rdpr %tstate, %r16
16091 mov 0x1f, %r19
16092 and %r19, %r16, %r17
16093 andn %r16, %r19, %r16
16094 or %r16, %r17, %r20
16095 wrpr %r20, %g0, %tstate
16096 wrhpr %g0, 0x1cc5, %htstate
16097 ta T_CHANGE_NONPRIV ! rand=0 (8)
16098 .word 0x33400001 ! 1: FBPE fbe,a,pn %fcc0, <label_0x1>
16099 done
16100donretarg_8_183:
16101 .word 0xda6fe12f ! 219: LDSTUB_I ldstub %r13, [%r31 + 0x012f]
16102 nop
16103 ta T_CHANGE_HPRIV
16104 mov 0x8, %r10
16105 set sync_thr_counter6, %r23
16106#ifndef SPC
16107 ldxa [%g0]0x63, %o1
16108 and %o1, 0x38, %o1
16109 add %o1, %r23, %r23
16110#endif
16111 cas [%r23],%g0,%r10 !lock
16112 brnz %r10, sma_8_184
16113 rd %asi, %r12
16114 wr %g0, 0x40, %asi
16115 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
16116 set 0x00121fff, %g1
16117 stxa %g1, [%g0 + 0x80] %asi
16118 wr %r12, %g0, %asi
16119 st %g0, [%r23]
16120sma_8_184:
16121 ta T_CHANGE_NONHPRIV
16122 .word 0xdbe7e008 ! 220: CASA_R casa [%r31] %asi, %r8, %r13
16123 nop
16124 ta T_CHANGE_HPRIV
16125 mov 0x8+1, %r10
16126 set sync_thr_counter5, %r23
16127#ifndef SPC
16128 ldxa [%g0]0x63, %o1
16129 and %o1, 0x38, %o1
16130 add %o1, %r23, %r23
16131#endif
16132 cas [%r23],%g0,%r10 !lock
16133 brnz %r10, cwq_8_185
16134 rd %asi, %r12
16135 wr %g0, 0x40, %asi
16136 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
16137 and %l1, 0x3, %l1 ! Check if busy/enabled ..
16138 cmp %l1, 1
16139 bne cwq_8_185
16140 set CWQ_BASE, %l6
16141 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
16142 best_set_reg(0x20610030, %l1, %l2) !# Control Word
16143 sllx %l2, 32, %l2
16144 stx %l2, [%l6 + 0x0]
16145 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
16146 sub %l2, 0x40, %l2
16147 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
16148 wr %r12, %g0, %asi
16149 st %g0, [%r23]
16150cwq_8_185:
16151 ta T_CHANGE_NONHPRIV
16152 .word 0x9b414000 ! 221: RDPC rd %pc, %r13
16153ibp_8_186:
16154 nop
16155 ta T_CHANGE_NONHPRIV
16156 .word 0xa3a4c9d0 ! 222: FDIVd fdivd %f50, %f16, %f48
16157 .word 0xe0bfc020 ! 223: STDA_R stda %r16, [%r31 + %r0] 0x01
16158 .word 0x8d9034e1 ! 224: WRPR_PSTATE_I wrpr %r0, 0x14e1, %pstate
16159splash_tick_8_188:
16160 nop
16161 ta T_CHANGE_HPRIV
16162 best_set_reg(0xe70f0da45bc4463f, %r16, %r17)
16163 .word 0x89800011 ! 225: WRTICK_R wr %r0, %r17, %tick
16164ibp_8_189:
16165 nop
16166 .word 0xe19fdc00 ! 226: LDDFA_R ldda [%r31, %r0], %f16
16167 .word 0xc30fc000 ! 227: LDXFSR_R ld-fsr [%r31, %r0], %f1
16168brcommon3_8_190:
16169 nop
16170 setx common_target, %r12, %r27
16171 lduw [%r27], %r12 ! Load common dest into dcache ..
16172 ba,a .+12
16173 .word 0xe06ff3fd ! 1: LDSTUB_I ldstub %r16, [%r31 + 0xfffff3fd]
16174 ba,a .+8
16175 jmpl %r27+0, %r27
16176 .word 0xe0dfc030 ! 228: LDXA_R ldxa [%r31, %r16] 0x01, %r16
16177 .word 0xa1902003 ! 229: WRPR_GL_I wrpr %r0, 0x0003, %-
16178splash_cmpr_8_191:
16179 mov 1, %r18
16180 sllx %r18, 63, %r18
16181 rd %tick, %r17
16182 add %r17, 0x60, %r17
16183 or %r17, %r18, %r17
16184 ta T_CHANGE_PRIV
16185 .word 0xb3800011 ! 230: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
16186splash_lsu_8_192:
16187 nop
16188 ta T_CHANGE_HPRIV
16189 set 0x14b90a2c, %r2
16190 mov 0x4, %r1
16191 sllx %r1, 32, %r1
16192 or %r1, %r2, %r2
16193 stxa %r2, [%r0] ASI_LSU_CONTROL
16194 .word 0x3d400001 ! 231: FBPULE fbule,a,pn %fcc0, <label_0x1>
16195vahole_8_193:
16196 nop
16197 ta T_CHANGE_NONHPRIV
16198 setx vahole_target3, %r18, %r27
16199 jmpl %r27+0, %r27
16200 .word 0x95b447c3 ! 232: PDIST pdistn %d48, %d34, %d10
16201jmptr_8_194:
16202 nop
16203 best_set_reg(0xe0a00000, %r20, %r27)
16204 .word 0xb7c6c000 ! 233: JMPL_R jmpl %r27 + %r0, %r27
16205dvapa_8_195:
16206 nop
16207 ta T_CHANGE_HPRIV
16208 mov 0xb87, %r20
16209 mov 0x5, %r19
16210 sllx %r20, 23, %r20
16211 or %r19, %r20, %r19
16212 stxa %r19, [%g0] ASI_LSU_CONTROL
16213 mov 0x38, %r18
16214 stxa %r31, [%r18]0x58
16215 ta T_CHANGE_NONHPRIV
16216 .word 0xe3e7e009 ! 234: CASA_R casa [%r31] %asi, %r9, %r17
16217 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
16218reduce_priv_lvl_8_196:
16219 ta T_CHANGE_NONPRIV ! macro
16220 nop
16221 ta T_CHANGE_HPRIV
16222 mov 0x8, %r10
16223 set sync_thr_counter6, %r23
16224#ifndef SPC
16225 ldxa [%g0]0x63, %o1
16226 and %o1, 0x38, %o1
16227 add %o1, %r23, %r23
16228#endif
16229 cas [%r23],%g0,%r10 !lock
16230 brnz %r10, sma_8_197
16231 rd %asi, %r12
16232 wr %g0, 0x40, %asi
16233 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
16234 set 0x00121fff, %g1
16235 stxa %g1, [%g0 + 0x80] %asi
16236 wr %r12, %g0, %asi
16237 st %g0, [%r23]
16238sma_8_197:
16239 ta T_CHANGE_NONHPRIV
16240 .word 0xe3e7e00d ! 236: CASA_R casa [%r31] %asi, %r13, %r17
16241 nop
16242 ta T_CHANGE_HPRIV
16243 mov 0x8, %r10
16244 set sync_thr_counter6, %r23
16245#ifndef SPC
16246 ldxa [%g0]0x63, %o1
16247 and %o1, 0x38, %o1
16248 add %o1, %r23, %r23
16249#endif
16250 cas [%r23],%g0,%r10 !lock
16251 brnz %r10, sma_8_198
16252 rd %asi, %r12
16253 wr %g0, 0x40, %asi
16254 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
16255 set 0x000e1fff, %g1
16256 stxa %g1, [%g0 + 0x80] %asi
16257 wr %r12, %g0, %asi
16258 st %g0, [%r23]
16259sma_8_198:
16260 ta T_CHANGE_NONHPRIV
16261 .word 0xe3e7e00b ! 237: CASA_R casa [%r31] %asi, %r11, %r17
16262 setx 0xb5fbd809836843d9, %r1, %r28
16263 stxa %r28, [%g0] 0x73
16264intvec_8_199:
16265 .word 0x39400001 ! 238: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
16266brcommon2_8_200:
16267 nop
16268 setx common_target, %r12, %r27
16269 ba,a .+12
16270 .word 0xd7104010 ! 1: LDQF_R - [%r1, %r16], %f11
16271 ba,a .+8
16272 jmpl %r27+0, %r27
16273 .word 0xe1bfc3e0 ! 239: STDFA_R stda %f16, [%r0, %r31]
16274 nop
16275 ta T_CHANGE_HPRIV
16276 mov 0x8, %r10
16277 set sync_thr_counter6, %r23
16278#ifndef SPC
16279 ldxa [%g0]0x63, %o1
16280 and %o1, 0x38, %o1
16281 add %o1, %r23, %r23
16282#endif
16283 cas [%r23],%g0,%r10 !lock
16284 brnz %r10, sma_8_201
16285 rd %asi, %r12
16286 wr %g0, 0x40, %asi
16287 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
16288 set 0x000e1fff, %g1
16289 stxa %g1, [%g0 + 0x80] %asi
16290 wr %r12, %g0, %asi
16291 st %g0, [%r23]
16292sma_8_201:
16293 ta T_CHANGE_NONHPRIV
16294 .word 0xe3e7e013 ! 240: CASA_R casa [%r31] %asi, %r19, %r17
16295 .word 0x87802082 ! 241: WRASI_I wr %r0, 0x0082, %asi
16296 .word 0xe327c000 ! 242: STF_R st %f17, [%r0, %r31]
16297donret_8_202:
16298 nop
16299 ta T_CHANGE_HPRIV ! macro
16300 rd %pc, %r12
16301 add %r12, (donretarg_8_202-donret_8_202-8), %r12
16302 mov 0x38, %r18
16303 stxa %r12, [%r18]0x58
16304 add %r12, 0x4, %r11
16305 wrpr %g0, 0x2, %tl
16306 wrpr %g0, %r12, %tpc
16307 wrpr %g0, %r11, %tnpc
16308 set (0x00a1fb4c | (4 << 24)), %r13
16309 rdpr %tstate, %r16
16310 mov 0x1f, %r19
16311 and %r19, %r16, %r17
16312 andn %r16, %r19, %r16
16313 or %r16, %r17, %r20
16314 wrpr %r20, %g0, %tstate
16315 wrhpr %g0, 0xe1d, %htstate
16316 ta T_CHANGE_NONPRIV ! rand=0 (8)
16317 retry
16318donretarg_8_202:
16319 .word 0xa3a4c9d0 ! 243: FDIVd fdivd %f50, %f16, %f48
16320 .word 0xe0dfe120 ! 244: LDXA_I ldxa [%r31, + 0x0120] %asi, %r16
16321pmu_8_203:
16322 nop
16323 ta T_CHANGE_PRIV
16324 setx 0xfffff6c9fffff87f, %g1, %g7
16325 .word 0xa3800007 ! 245: WR_PERF_COUNTER_R wr %r0, %r7, %-
16326change_to_randtl_8_204:
16327 ta T_CHANGE_PRIV ! macro
16328done_change_to_randtl_8_204:
16329 .word 0x8f902000 ! 246: WRPR_TL_I wrpr %r0, 0x0000, %tl
16330pmu_8_205:
16331 nop
16332 ta T_CHANGE_PRIV
16333 setx 0xfffff692fffffd71, %g1, %g7
16334 .word 0xa3800007 ! 247: WR_PERF_COUNTER_R wr %r0, %r7, %-
16335 nop
16336 ta T_CHANGE_HPRIV
16337 mov 0x8+1, %r10
16338 set sync_thr_counter5, %r23
16339#ifndef SPC
16340 ldxa [%g0]0x63, %o1
16341 and %o1, 0x38, %o1
16342 add %o1, %r23, %r23
16343#endif
16344 cas [%r23],%g0,%r10 !lock
16345 brnz %r10, cwq_8_206
16346 rd %asi, %r12
16347 wr %g0, 0x40, %asi
16348 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
16349 and %l1, 0x3, %l1 ! Check if busy/enabled ..
16350 cmp %l1, 1
16351 bne cwq_8_206
16352 set CWQ_BASE, %l6
16353 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
16354 best_set_reg(0x20610050, %l1, %l2) !# Control Word
16355 sllx %l2, 32, %l2
16356 stx %l2, [%l6 + 0x0]
16357 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
16358 sub %l2, 0x40, %l2
16359 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
16360 wr %r12, %g0, %asi
16361 st %g0, [%r23]
16362cwq_8_206:
16363 ta T_CHANGE_NONHPRIV
16364 .word 0xa5414000 ! 248: RDPC rd %pc, %r18
16365donret_8_207:
16366 nop
16367 ta T_CHANGE_HPRIV ! macro
16368 rd %pc, %r12
16369 add %r12, (donretarg_8_207-donret_8_207-4), %r12
16370 mov 0x38, %r18
16371 stxa %r12, [%r18]0x58
16372 add %r12, 0x4, %r11
16373 wrpr %g0, 0x2, %tl
16374 wrpr %g0, %r12, %tpc
16375 wrpr %g0, %r11, %tnpc
16376 set (0x00178ec7 | (4 << 24)), %r13
16377 rdpr %tstate, %r16
16378 mov 0x1f, %r19
16379 and %r19, %r16, %r17
16380 andn %r16, %r19, %r16
16381 or %r16, %r17, %r20
16382 wrpr %r20, %g0, %tstate
16383 wrhpr %g0, 0x69f, %htstate
16384 ta T_CHANGE_NONHPRIV ! rand=1 (8)
16385 done
16386donretarg_8_207:
16387 .word 0x95a109d0 ! 249: FDIVd fdivd %f4, %f16, %f10
16388ibp_8_208:
16389 nop
16390 ta T_CHANGE_NONHPRIV
16391 .word 0xa5a449a7 ! 250: FDIVs fdivs %f17, %f7, %f18
16392fpinit_8_209:
16393 setx fp_data_quads, %r19, %r20
16394 ldd [%r20], %f0
16395 ldd [%r20+8], %f4
16396 ld [%r20+16], %fsr
16397 ld [%r20+24], %r19
16398 wr %r19, %g0, %gsr
16399 .word 0x89a009a4 ! 251: FDIVs fdivs %f0, %f4, %f4
16400change_to_randtl_8_210:
16401 ta T_CHANGE_PRIV ! macro
16402done_change_to_randtl_8_210:
16403 .word 0x8f902000 ! 252: WRPR_TL_I wrpr %r0, 0x0000, %tl
16404 nop
16405 ta T_CHANGE_HPRIV
16406 mov 0x8+1, %r10
16407 set sync_thr_counter5, %r23
16408#ifndef SPC
16409 ldxa [%g0]0x63, %o1
16410 and %o1, 0x38, %o1
16411 add %o1, %r23, %r23
16412#endif
16413 cas [%r23],%g0,%r10 !lock
16414 brnz %r10, cwq_8_211
16415 rd %asi, %r12
16416 wr %g0, 0x40, %asi
16417 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
16418 and %l1, 0x3, %l1 ! Check if busy/enabled ..
16419 cmp %l1, 1
16420 bne cwq_8_211
16421 set CWQ_BASE, %l6
16422 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
16423 best_set_reg(0x20610000, %l1, %l2) !# Control Word
16424 sllx %l2, 32, %l2
16425 stx %l2, [%l6 + 0x0]
16426 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
16427 sub %l2, 0x40, %l2
16428 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
16429 wr %r12, %g0, %asi
16430 st %g0, [%r23]
16431cwq_8_211:
16432 ta T_CHANGE_NONHPRIV
16433 .word 0xa1414000 ! 253: RDPC rd %pc, %r16
16434memptr_8_212:
16435 set 0x60740000, %r31
16436 .word 0x8584e7bb ! 254: WRCCR_I wr %r19, 0x07bb, %ccr
16437dvapa_8_213:
16438 nop
16439 ta T_CHANGE_HPRIV
16440 mov 0xc3b, %r20
16441 mov 0x2, %r19
16442 sllx %r20, 23, %r20
16443 or %r19, %r20, %r19
16444 stxa %r19, [%g0] ASI_LSU_CONTROL
16445 mov 0x38, %r18
16446 stxa %r31, [%r18]0x58
16447 ta T_CHANGE_NONHPRIV
16448 .word 0x93a4c9c9 ! 255: FDIVd fdivd %f50, %f40, %f40
16449donret_8_214:
16450 nop
16451 ta T_CHANGE_HPRIV ! macro
16452 rd %pc, %r12
16453 add %r12, (donretarg_8_214-donret_8_214-8), %r12
16454 mov 0x38, %r18
16455 stxa %r12, [%r18]0x58
16456 add %r12, 0x4, %r11
16457 wrpr %g0, 0x2, %tl
16458 wrpr %g0, %r12, %tpc
16459 wrpr %g0, %r11, %tnpc
16460 set (0x009824f1 | (16 << 24)), %r13
16461 rdpr %tstate, %r16
16462 mov 0x1f, %r19
16463 and %r19, %r16, %r17
16464 andn %r16, %r19, %r16
16465 or %r16, %r17, %r20
16466 wrpr %r20, %g0, %tstate
16467 wrhpr %g0, 0x1f8d, %htstate
16468 ta T_CHANGE_NONHPRIV ! rand=1 (8)
16469 retry
16470donretarg_8_214:
16471 .word 0xa1a209d4 ! 256: FDIVd fdivd %f8, %f20, %f16
16472 .word 0xda3fe0c0 ! 257: STD_I std %r13, [%r31 + 0x00c0]
16473dvapa_8_215:
16474 nop
16475 ta T_CHANGE_HPRIV
16476 mov 0x918, %r20
16477 mov 0xe, %r19
16478 sllx %r20, 23, %r20
16479 or %r19, %r20, %r19
16480 stxa %r19, [%g0] ASI_LSU_CONTROL
16481 mov 0x38, %r18
16482 stxa %r31, [%r18]0x58
16483 ta T_CHANGE_NONHPRIV
16484 .word 0xdabfc02d ! 258: STDA_R stda %r13, [%r31 + %r13] 0x01
16485 .word 0xe19fc2c0 ! 259: LDDFA_R ldda [%r31, %r0], %f16
16486 nop
16487 ta T_CHANGE_HPRIV
16488 mov 0x8, %r10
16489 set sync_thr_counter6, %r23
16490#ifndef SPC
16491 ldxa [%g0]0x63, %o1
16492 and %o1, 0x38, %o1
16493 add %o1, %r23, %r23
16494#endif
16495 cas [%r23],%g0,%r10 !lock
16496 brnz %r10, sma_8_216
16497 rd %asi, %r12
16498 wr %g0, 0x40, %asi
16499 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
16500 set 0x00121fff, %g1
16501 stxa %g1, [%g0 + 0x80] %asi
16502 wr %r12, %g0, %asi
16503 st %g0, [%r23]
16504sma_8_216:
16505 ta T_CHANGE_NONHPRIV
16506 .word 0xdbe7e011 ! 260: CASA_R casa [%r31] %asi, %r17, %r13
16507pmu_8_217:
16508 nop
16509 ta T_CHANGE_PRIV
16510 setx 0xfffff21efffff92a, %g1, %g7
16511 .word 0xa3800007 ! 261: WR_PERF_COUNTER_R wr %r0, %r7, %-
16512 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
16513reduce_priv_lvl_8_218:
16514 ta T_CHANGE_NONHPRIV ! macro
16515pmu_8_219:
16516 nop
16517 ta T_CHANGE_PRIV
16518 setx 0xfffff0b3fffff6f2, %g1, %g7
16519 .word 0xa3800007 ! 263: WR_PERF_COUNTER_R wr %r0, %r7, %-
16520pmu_8_220:
16521 nop
16522 setx 0xfffff85dfffff85f, %g1, %g7
16523 .word 0xa3800007 ! 264: WR_PERF_COUNTER_R wr %r0, %r7, %-
16524 setx 0x61e3307113330e6c, %r1, %r28
16525 stxa %r28, [%g0] 0x73
16526intvec_8_221:
16527 .word 0x39400001 ! 265: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
16528splash_lsu_8_222:
16529 nop
16530 ta T_CHANGE_HPRIV
16531 set 0xd6415e4b, %r2
16532 mov 0x2, %r1
16533 sllx %r1, 32, %r1
16534 or %r1, %r2, %r2
16535 stxa %r2, [%r0] ASI_LSU_CONTROL
16536 ta T_CHANGE_NONHPRIV
16537 .word 0x3d400001 ! 266: FBPULE fbule,a,pn %fcc0, <label_0x1>
16538ibp_8_223:
16539 nop
16540 ta T_CHANGE_NONHPRIV
16541 .word 0xe19fdc00 ! 267: LDDFA_R ldda [%r31, %r0], %f16
16542mondo_8_224:
16543 nop
16544 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
16545 ta T_CHANGE_PRIV
16546 stxa %r3, [%r0+0x3c8] %asi
16547 .word 0x9d91400b ! 268: WRPR_WSTATE_R wrpr %r5, %r11, %wstate
16548donret_8_225:
16549 nop
16550 ta T_CHANGE_HPRIV ! macro
16551 rd %pc, %r12
16552 add %r12, (donretarg_8_225-donret_8_225-4), %r12
16553 mov 0x38, %r18
16554 stxa %r12, [%r18]0x58
16555 add %r12, 0x4, %r11
16556 wrpr %g0, 0x1, %tl
16557 wrpr %g0, %r12, %tpc
16558 wrpr %g0, %r11, %tnpc
16559 set (0x000ae14f | (28 << 24)), %r13
16560 rdpr %tstate, %r16
16561 mov 0x1f, %r19
16562 and %r19, %r16, %r17
16563 andn %r16, %r19, %r16
16564 or %r16, %r17, %r20
16565 wrpr %r20, %g0, %tstate
16566 wrhpr %g0, 0x13dc, %htstate
16567 ta T_CHANGE_NONPRIV ! rand=0 (8)
16568 .word 0x30800001 ! 1: BA ba,a <label_0x1>
16569 done
16570donretarg_8_225:
16571 .word 0xda6fe1ca ! 269: LDSTUB_I ldstub %r13, [%r31 + 0x01ca]
16572#if (defined SPC || defined CMP)
16573!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_8_226) + 0, 16, 16)) -> intp(7,0,29)
16574!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_8_226)&0xffffffff) + 0, 16, 16)) -> intp(7,0,29)
16575#else
16576 setx 0xc57778baa052a1e1, %r1, %r28
16577 stxa %r28, [%g0] 0x73
16578#endif
16579intvec_8_226:
16580 .word 0x39400001 ! 270: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
16581splash_tick_8_227:
16582 nop
16583 ta T_CHANGE_HPRIV
16584 best_set_reg(0xd2efbf94c33e1b58, %r16, %r17)
16585 .word 0x89800011 ! 271: WRTICK_R wr %r0, %r17, %tick
16586 .word 0xda9fe080 ! 272: LDDA_I ldda [%r31, + 0x0080] %asi, %r13
16587intveclr_8_228:
16588 nop
16589 ta T_CHANGE_HPRIV
16590 setx 0x15ad79845fbb28f5, %r1, %r28
16591 stxa %r28, [%g0] 0x72
16592 .word 0x25400001 ! 273: FBPLG fblg,a,pn %fcc0, <label_0x1>
16593dvapa_8_229:
16594 nop
16595 ta T_CHANGE_HPRIV
16596 mov 0xbdc, %r20
16597 mov 0xa, %r19
16598 sllx %r20, 23, %r20
16599 or %r19, %r20, %r19
16600 stxa %r19, [%g0] ASI_LSU_CONTROL
16601 mov 0x38, %r18
16602 stxa %r31, [%r18]0x58
16603 ta T_CHANGE_NONHPRIV
16604 .word 0xc3ec0030 ! 274: PREFETCHA_R prefetcha [%r16, %r16] 0x01, #one_read
16605 .word 0x81b01021 ! 275: SIAM siam 1
16606splash_hpstate_8_230:
16607 .word 0x8198325f ! 276: WRHPR_HPSTATE_I wrhpr %r0, 0x125f, %hpstate
16608 .word 0xe4800c00 ! 277: LDUWA_R lduwa [%r0, %r0] 0x60, %r18
16609 nop
16610 ta T_CHANGE_HPRIV
16611 mov 0x8, %r10
16612 set sync_thr_counter6, %r23
16613#ifndef SPC
16614 ldxa [%g0]0x63, %o1
16615 and %o1, 0x38, %o1
16616 add %o1, %r23, %r23
16617#endif
16618 cas [%r23],%g0,%r10 !lock
16619 brnz %r10, sma_8_231
16620 rd %asi, %r12
16621 wr %g0, 0x40, %asi
16622 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
16623 set 0x000a1fff, %g1
16624 stxa %g1, [%g0 + 0x80] %asi
16625 wr %r12, %g0, %asi
16626 st %g0, [%r23]
16627sma_8_231:
16628 ta T_CHANGE_NONHPRIV
16629 .word 0xe5e7e012 ! 278: CASA_R casa [%r31] %asi, %r18, %r18
16630 invalw
16631 mov 0x35, %r30
16632 .word 0x83d0001e ! 279: Tcc_R te icc_or_xcc, %r0 + %r30
16633brcommon2_8_232:
16634 nop
16635 setx common_target, %r12, %r27
16636 ba,a .+12
16637 .word 0xd310800a ! 1: LDQF_R - [%r2, %r10], %f9
16638 ba,a .+8
16639 jmpl %r27+0, %r27
16640 .word 0xe1bfe040 ! 280: STDFA_I stda %f16, [0x0040, %r31]
16641vahole_8_233:
16642 nop
16643 ta T_CHANGE_NONHPRIV
16644 setx vahole_target0, %r18, %r27
16645 jmpl %r27+0, %r27
16646 .word 0xe19fda00 ! 281: LDDFA_R ldda [%r31, %r0], %f16
16647 nop
16648 ta T_CHANGE_HPRIV
16649 mov 0x8, %r10
16650 set sync_thr_counter6, %r23
16651#ifndef SPC
16652 ldxa [%g0]0x63, %o1
16653 and %o1, 0x38, %o1
16654 add %o1, %r23, %r23
16655#endif
16656 cas [%r23],%g0,%r10 !lock
16657 brnz %r10, sma_8_234
16658 rd %asi, %r12
16659 wr %g0, 0x40, %asi
16660 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
16661 set 0x001a1fff, %g1
16662 stxa %g1, [%g0 + 0x80] %asi
16663 wr %r12, %g0, %asi
16664 st %g0, [%r23]
16665sma_8_234:
16666 ta T_CHANGE_NONHPRIV
16667 .word 0xd9e7e00c ! 282: CASA_R casa [%r31] %asi, %r12, %r12
16668splash_lsu_8_235:
16669 nop
16670 ta T_CHANGE_HPRIV
16671 set 0x4bda7240, %r2
16672 mov 0x6, %r1
16673 sllx %r1, 32, %r1
16674 or %r1, %r2, %r2
16675 stxa %r2, [%r0] ASI_LSU_CONTROL
16676 ta T_CHANGE_NONHPRIV
16677 .word 0x3d400001 ! 283: FBPULE fbule,a,pn %fcc0, <label_0x1>
16678 .word 0xe1bfda00 ! 284: STDFA_R stda %f16, [%r0, %r31]
16679 .word 0x8d903da7 ! 285: WRPR_PSTATE_I wrpr %r0, 0x1da7, %pstate
16680memptr_8_237:
16681 set user_data_start, %r31
16682 .word 0x8584ab4f ! 286: WRCCR_I wr %r18, 0x0b4f, %ccr
16683memptr_8_238:
16684 set 0x60540000, %r31
16685 .word 0x8584e517 ! 287: WRCCR_I wr %r19, 0x0517, %ccr
16686 .word 0xa780800a ! 288: WR_GRAPHICS_STATUS_REG_R wr %r2, %r10, %-
16687 fbl skip_8_240
16688 .word 0xa7a4c9d2 ! 1: FDIVd fdivd %f50, %f18, %f50
16689.align 32
16690skip_8_240:
16691 .word 0xa3b204d2 ! 289: FCMPNE32 fcmpne32 %d8, %d18, %r17
16692intveclr_8_241:
16693 nop
16694 ta T_CHANGE_HPRIV
16695 setx 0x204ef9abc9867e32, %r1, %r28
16696 stxa %r28, [%g0] 0x72
16697 ta T_CHANGE_NONHPRIV
16698 .word 0x25400001 ! 290: FBPLG fblg,a,pn %fcc0, <label_0x1>
16699 nop
16700 ta T_CHANGE_HPRIV
16701 mov 0x8, %r10
16702 set sync_thr_counter6, %r23
16703#ifndef SPC
16704 ldxa [%g0]0x63, %o1
16705 and %o1, 0x38, %o1
16706 add %o1, %r23, %r23
16707#endif
16708 cas [%r23],%g0,%r10 !lock
16709 brnz %r10, sma_8_242
16710 rd %asi, %r12
16711 wr %g0, 0x40, %asi
16712 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
16713 set 0x000a1fff, %g1
16714 stxa %g1, [%g0 + 0x80] %asi
16715 wr %r12, %g0, %asi
16716 st %g0, [%r23]
16717sma_8_242:
16718 ta T_CHANGE_NONHPRIV
16719 .word 0xd5e7e00c ! 291: CASA_R casa [%r31] %asi, %r12, %r10
16720 .word 0x8d802004 ! 292: WRFPRS_I wr %r0, 0x0004, %fprs
16721pmu_8_243:
16722 nop
16723 setx 0xfffffdcdfffffb9a, %g1, %g7
16724 .word 0xa3800007 ! 293: WR_PERF_COUNTER_R wr %r0, %r7, %-
16725#if (defined SPC || defined CMP)
16726!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_8_244) + 48, 16, 16)) -> intp(7,0,25)
16727!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_8_244)&0xffffffff) + 48, 16, 16)) -> intp(7,0,25)
16728#else
16729 setx 0xc30e5a40889429bd, %r1, %r28
16730 stxa %r28, [%g0] 0x73
16731#endif
16732intvec_8_244:
16733 .word 0x39400001 ! 294: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
16734 .word 0x8d802000 ! 295: WRFPRS_I wr %r0, 0x0000, %fprs
16735mondo_8_245:
16736 nop
16737 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
16738 stxa %r10, [%r0+0x3c0] %asi
16739 .word 0x9d950004 ! 296: WRPR_WSTATE_R wrpr %r20, %r4, %wstate
16740cerer_8_246:
16741 nop
16742 ta T_CHANGE_HPRIV
16743 best_set_reg(0x0987e4442df7e5c6, %r16, %r17)
16744 sethi %hi(0x20008000), %r16 ! Set ITTM/DTTM
16745 sllx %r16, 32, %r16
16746 or %r16, %r17, %r17
16747 mov 0x10, %r16
16748 stxa %r17, [%r16]0x4c
16749 .word 0x95524000 ! 297: RDPR_CWP <illegal instruction>
16750pmu_8_247:
16751 nop
16752 setx 0xfffff337fffff967, %g1, %g7
16753 .word 0xa3800007 ! 298: WR_PERF_COUNTER_R wr %r0, %r7, %-
16754br_longdelay3_8_248:
16755 nop
16756 not %g0, %r12
16757 jmp %r12
16758 .word 0x99902003 ! 299: WRPR_CLEANWIN_I wrpr %r0, 0x0003, %cleanwin
16759 setx 0x9af9c3e79ea14f9b, %r1, %r28
16760 stxa %r28, [%g0] 0x73
16761intvec_8_249:
16762 .word 0x39400001 ! 300: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
16763 bn,a skip_8_250
16764 brlez,pn %r18, skip_8_250
16765.align 1024
16766skip_8_250:
16767 .word 0x9f80251d ! 301: SIR sir 0x051d
16768ibp_8_251:
16769 nop
16770 .word 0xc1bfe020 ! 302: STDFA_I stda %f0, [0x0020, %r31]
16771dvapa_8_252:
16772 nop
16773 ta T_CHANGE_HPRIV
16774 mov 0xfbd, %r20
16775 mov 0x11, %r19
16776 sllx %r20, 23, %r20
16777 or %r19, %r20, %r19
16778 stxa %r19, [%g0] ASI_LSU_CONTROL
16779 mov 0x38, %r18
16780 stxa %r31, [%r18]0x58
16781 ta T_CHANGE_NONHPRIV
16782 .word 0xa7b48490 ! 303: FCMPLE32 fcmple32 %d18, %d16, %r19
16783 nop
16784 ta T_CHANGE_HPRIV
16785 mov 0x8+1, %r10
16786 set sync_thr_counter5, %r23
16787#ifndef SPC
16788 ldxa [%g0]0x63, %o1
16789 and %o1, 0x38, %o1
16790 add %o1, %r23, %r23
16791#endif
16792 cas [%r23],%g0,%r10 !lock
16793 brnz %r10, cwq_8_253
16794 rd %asi, %r12
16795 wr %g0, 0x40, %asi
16796 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
16797 and %l1, 0x3, %l1 ! Check if busy/enabled ..
16798 cmp %l1, 1
16799 bne cwq_8_253
16800 set CWQ_BASE, %l6
16801 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
16802 best_set_reg(0x20610070, %l1, %l2) !# Control Word
16803 sllx %l2, 32, %l2
16804 stx %l2, [%l6 + 0x0]
16805 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
16806 sub %l2, 0x40, %l2
16807 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
16808 wr %r12, %g0, %asi
16809 st %g0, [%r23]
16810cwq_8_253:
16811 ta T_CHANGE_NONHPRIV
16812 .word 0xa5414000 ! 304: RDPC rd %pc, %r18
16813pmu_8_254:
16814 nop
16815 setx 0xfffffe43fffff3bd, %g1, %g7
16816 .word 0xa3800007 ! 305: WR_PERF_COUNTER_R wr %r0, %r7, %-
16817jmptr_8_255:
16818 nop
16819 best_set_reg(0xe0a00000, %r20, %r27)
16820 .word 0xb7c6c000 ! 306: JMPL_R jmpl %r27 + %r0, %r27
16821 nop
16822 ta T_CHANGE_HPRIV
16823 mov 0x8+1, %r10
16824 set sync_thr_counter5, %r23
16825#ifndef SPC
16826 ldxa [%g0]0x63, %o1
16827 and %o1, 0x38, %o1
16828 add %o1, %r23, %r23
16829#endif
16830 cas [%r23],%g0,%r10 !lock
16831 brnz %r10, cwq_8_256
16832 rd %asi, %r12
16833 wr %g0, 0x40, %asi
16834 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
16835 and %l1, 0x3, %l1 ! Check if busy/enabled ..
16836 cmp %l1, 1
16837 bne cwq_8_256
16838 set CWQ_BASE, %l6
16839 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
16840 best_set_reg(0x20610080, %l1, %l2) !# Control Word
16841 sllx %l2, 32, %l2
16842 stx %l2, [%l6 + 0x0]
16843 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
16844 sub %l2, 0x40, %l2
16845 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
16846 wr %r12, %g0, %asi
16847 st %g0, [%r23]
16848cwq_8_256:
16849 ta T_CHANGE_NONHPRIV
16850 .word 0xa9414000 ! 307: RDPC rd %pc, %r20
16851splash_hpstate_8_257:
16852 ta T_CHANGE_NONHPRIV
16853 .word 0x81983c91 ! 308: WRHPR_HPSTATE_I wrhpr %r0, 0x1c91, %hpstate
16854 .word 0xe077c000 ! 309: STX_R stx %r16, [%r31 + %r0]
16855cmp_8_258:
16856 nop
16857 ta T_CHANGE_HPRIV
16858 rd %asi, %r12
16859 wr %r0, 0x41, %asi
16860 set sync_thr_counter4, %r23
16861#ifndef SPC
16862 ldxa [%g0]0x63, %r8
16863 and %r8, 0x38, %r8 ! Core ID
16864 add %r8, %r23, %r23
16865 mov 0xff, %r9
16866 xor %r9, 0x8, %r9
16867 sllx %r9, %r8, %r9 ! My core mask
16868#else
16869 mov 0, %r8
16870 mov 0xff, %r9
16871 xor %r9, 0x8, %r9 ! My core mask
16872#endif
16873 mov 0x8, %r10
16874cmp_startwait8_258:
16875 cas [%r23],%g0,%r10 !lock
16876 brz,a %r10, continue_cmp_8_258
16877 ldxa [0x50]%asi, %r13 !Running_rw
16878 ld [%r23], %r10
16879cmp_wait8_258:
16880 brnz,a %r10, cmp_wait8_258
16881 ld [%r23], %r10
16882 ba cmp_startwait8_258
16883 mov 0x8, %r10
16884continue_cmp_8_258:
16885 ldxa [0x58]%asi, %r14 !Running_status
16886 xnor %r14, %r13, %r14 !Bits equal
16887 brz,a %r8, cmp_multi_core_8_258
16888 mov 44, %r17
16889 best_set_reg(0x5a3a25fe47dd3001, %r16, %r17)
16890cmp_multi_core_8_258:
16891 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
16892 and %r14, %r9, %r14 !Apply core-mask
16893 stxa %r14, [0x60]%asi
16894 st %g0, [%r23] !clear lock
16895 wr %g0, %r12, %asi
16896 ta T_CHANGE_NONHPRIV
16897 .word 0xa9a00168 ! 310: FABSq dis not found
16898
16899 .word 0x83d020b4 ! 311: Tcc_I te icc_or_xcc, %r0 + 180
16900intveclr_8_259:
16901 nop
16902 ta T_CHANGE_HPRIV
16903 setx 0xc513cdd2b7f2f53d, %r1, %r28
16904 stxa %r28, [%g0] 0x72
16905 .word 0x25400001 ! 312: FBPLG fblg,a,pn %fcc0, <label_0x1>
16906ibp_8_260:
16907 nop
16908 .word 0xe19fda00 ! 313: LDDFA_R ldda [%r31, %r0], %f16
16909jmptr_8_261:
16910 nop
16911 best_set_reg(0xe0a00000, %r20, %r27)
16912 .word 0xb7c6c000 ! 314: JMPL_R jmpl %r27 + %r0, %r27
16913mondo_8_262:
16914 nop
16915 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
16916 stxa %r13, [%r0+0x3e8] %asi
16917 .word 0x9d920009 ! 315: WRPR_WSTATE_R wrpr %r8, %r9, %wstate
16918ibp_8_263:
16919 nop
16920 .word 0xe1bfda00 ! 316: STDFA_R stda %f16, [%r0, %r31]
16921 .word 0xe127e1b0 ! 317: STF_I st %f16, [0x01b0, %r31]
16922 .word 0xe04fc000 ! 318: LDSB_R ldsb [%r31 + %r0], %r16
16923ibp_8_264:
16924 nop
16925 ta T_CHANGE_NONHPRIV
16926 .word 0xe1e7e00a ! 319: CASA_R casa [%r31] %asi, %r10, %r16
16927 .word 0xc19fdf20 ! 320: LDDFA_R ldda [%r31, %r0], %f0
16928vahole_8_266:
16929 nop
16930 ta T_CHANGE_NONHPRIV
16931 setx vahole_target1, %r18, %r27
16932 jmpl %r27+0, %r27
16933 .word 0xc1bfc2c0 ! 321: STDFA_R stda %f0, [%r0, %r31]
16934intveclr_8_267:
16935 nop
16936 ta T_CHANGE_HPRIV
16937 setx 0x25f2df50aa5d9556, %r1, %r28
16938 stxa %r28, [%g0] 0x72
16939 .word 0x25400001 ! 322: FBPLG fblg,a,pn %fcc0, <label_0x1>
16940pmu_8_268:
16941 nop
16942 setx 0xfffffbe1fffff68e, %g1, %g7
16943 .word 0xa3800007 ! 323: WR_PERF_COUNTER_R wr %r0, %r7, %-
16944 .word 0x91a000d2 ! 324: FNEGd fnegd %f18, %f8
16945intveclr_8_269:
16946 nop
16947 ta T_CHANGE_HPRIV
16948 setx 0xd0d16f2f64771703, %r1, %r28
16949 stxa %r28, [%g0] 0x72
16950 .word 0x25400001 ! 325: FBPLG fblg,a,pn %fcc0, <label_0x1>
16951tagged_8_270:
16952 tsubcctv %r20, 0x1974, %r12
16953 .word 0xd807e00e ! 326: LDUW_I lduw [%r31 + 0x000e], %r12
16954 setx 0x3c417a1a9849c38d, %r1, %r28
16955 stxa %r28, [%g0] 0x73
16956intvec_8_271:
16957 .word 0x39400001 ! 327: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
16958brcommon2_8_272:
16959 nop
16960 setx common_target, %r12, %r27
16961 ba,a .+12
16962 .word 0xa1a00552 ! 1: FSQRTd fsqrt
16963 ba,a .+8
16964 jmpl %r27+0, %r27
16965 .word 0xc1bfe020 ! 328: STDFA_I stda %f0, [0x0020, %r31]
16966 nop
16967 ta T_CHANGE_HPRIV
16968 mov 0x8, %r10
16969 set sync_thr_counter6, %r23
16970#ifndef SPC
16971 ldxa [%g0]0x63, %o1
16972 and %o1, 0x38, %o1
16973 add %o1, %r23, %r23
16974#endif
16975 cas [%r23],%g0,%r10 !lock
16976 brnz %r10, sma_8_273
16977 rd %asi, %r12
16978 wr %g0, 0x40, %asi
16979 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
16980 set 0x000e1fff, %g1
16981 stxa %g1, [%g0 + 0x80] %asi
16982 wr %r12, %g0, %asi
16983 st %g0, [%r23]
16984sma_8_273:
16985 ta T_CHANGE_NONHPRIV
16986 .word 0xd5e7e00b ! 329: CASA_R casa [%r31] %asi, %r11, %r10
16987dvapa_8_274:
16988 nop
16989 ta T_CHANGE_HPRIV
16990 mov 0xc44, %r20
16991 mov 0x10, %r19
16992 sllx %r20, 23, %r20
16993 or %r19, %r20, %r19
16994 stxa %r19, [%g0] ASI_LSU_CONTROL
16995 mov 0x38, %r18
16996 stxa %r31, [%r18]0x58
16997 ta T_CHANGE_NONHPRIV
16998 .word 0x97b40493 ! 330: FCMPLE32 fcmple32 %d16, %d50, %r11
16999vahole_8_275:
17000 nop
17001 ta T_CHANGE_NONHPRIV
17002 setx vahole_target3, %r18, %r27
17003 jmpl %r27+0, %r27
17004 .word 0xa1a509d1 ! 331: FDIVd fdivd %f20, %f48, %f16
17005dvapa_8_276:
17006 nop
17007 ta T_CHANGE_HPRIV
17008 mov 0xa70, %r20
17009 mov 0x1d, %r19
17010 sllx %r20, 23, %r20
17011 or %r19, %r20, %r19
17012 stxa %r19, [%g0] ASI_LSU_CONTROL
17013 mov 0x38, %r18
17014 stxa %r31, [%r18]0x58
17015 ta T_CHANGE_NONHPRIV
17016 .word 0xe1bfe100 ! 332: STDFA_I stda %f16, [0x0100, %r31]
17017splash_cmpr_8_277:
17018 mov 1, %r18
17019 sllx %r18, 63, %r18
17020 rd %tick, %r17
17021 add %r17, 0x50, %r17
17022 or %r17, %r18, %r17
17023 ta T_CHANGE_PRIV
17024 .word 0xaf800011 ! 333: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
17025 .word 0x97520000 ! 334: RDPR_PIL <illegal instruction>
17026splash_cmpr_8_278:
17027 mov 1, %r18
17028 sllx %r18, 63, %r18
17029 rd %tick, %r17
17030 add %r17, 0x80, %r17
17031 or %r17, %r18, %r17
17032 ta T_CHANGE_PRIV
17033 .word 0xaf800011 ! 335: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
17034 .word 0xa5703f72 ! 336: POPC_I popc 0x1f72, %r18
17035vahole_8_279:
17036 nop
17037 ta T_CHANGE_NONHPRIV
17038 setx vahole_target1, %r18, %r27
17039 jmpl %r27+0, %r27
17040 .word 0x9bb107d1 ! 337: PDIST pdistn %d4, %d48, %d44
17041jmptr_8_280:
17042 nop
17043 best_set_reg(0xe1a00000, %r20, %r27)
17044 .word 0xb7c6c000 ! 338: JMPL_R jmpl %r27 + %r0, %r27
17045 .word 0x8d9039ff ! 339: WRPR_PSTATE_I wrpr %r0, 0x19ff, %pstate
17046ceter_8_282:
17047 nop
17048 ta T_CHANGE_HPRIV
17049 mov 7, %r17
17050 sllx %r17, 60, %r17
17051 mov 0x18, %r16
17052 stxa %r17, [%r16]0x4c
17053 .word 0x91410000 ! 340: RDTICK rd %tick, %r8
17054 .word 0x95a1c9b3 ! 341: FDIVs fdivs %f7, %f19, %f10
17055 .word 0xd847e140 ! 342: LDSW_I ldsw [%r31 + 0x0140], %r12
17056cmp_8_284:
17057 nop
17058 ta T_CHANGE_HPRIV
17059 rd %asi, %r12
17060 wr %r0, 0x41, %asi
17061 set sync_thr_counter4, %r23
17062#ifndef SPC
17063 ldxa [%g0]0x63, %r8
17064 and %r8, 0x38, %r8 ! Core ID
17065 add %r8, %r23, %r23
17066 mov 0xff, %r9
17067 xor %r9, 0x8, %r9
17068 sllx %r9, %r8, %r9 ! My core mask
17069#else
17070 mov 0, %r8
17071 mov 0xff, %r9
17072 xor %r9, 0x8, %r9 ! My core mask
17073#endif
17074 mov 0x8, %r10
17075cmp_startwait8_284:
17076 cas [%r23],%g0,%r10 !lock
17077 brz,a %r10, continue_cmp_8_284
17078 ldxa [0x50]%asi, %r13 !Running_rw
17079 ld [%r23], %r10
17080cmp_wait8_284:
17081 brnz,a %r10, cmp_wait8_284
17082 ld [%r23], %r10
17083 ba cmp_startwait8_284
17084 mov 0x8, %r10
17085continue_cmp_8_284:
17086 ldxa [0x58]%asi, %r14 !Running_status
17087 xnor %r14, %r13, %r14 !Bits equal
17088 brz,a %r8, cmp_multi_core_8_284
17089 mov 0x43, %r17
17090 best_set_reg(0x347d1599b1724d1e, %r16, %r17)
17091cmp_multi_core_8_284:
17092 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
17093 and %r14, %r9, %r14 !Apply core-mask
17094 stxa %r14, [0x60]%asi
17095 st %g0, [%r23] !clear lock
17096 wr %g0, %r12, %asi
17097 ta T_CHANGE_NONHPRIV
17098 .word 0x91920012 ! 343: WRPR_PIL_R wrpr %r8, %r18, %pil
17099 .word 0xd837e09a ! 344: STH_I sth %r12, [%r31 + 0x009a]
17100ibp_8_285:
17101 nop
17102 .word 0xa1703ff2 ! 345: POPC_I popc 0x1ff2, %r16
17103 brz,a,pn %r19, skip_8_286
17104 ba skip_8_286
17105.align 512
17106skip_8_286:
17107 .word 0x24cd0001 ! 346: BRLEZ brlez,a,pt %r20,<label_0xd0001>
17108 .word 0xd337e038 ! 347: STQF_I - %f9, [0x0038, %r31]
17109donret_8_287:
17110 nop
17111 ta T_CHANGE_HPRIV ! macro
17112 rd %pc, %r12
17113 add %r12, (donretarg_8_287-donret_8_287-4), %r12
17114 mov 0x38, %r18
17115 stxa %r12, [%r18]0x58
17116 add %r12, 0x4, %r11
17117 wrpr %g0, 0x2, %tl
17118 wrpr %g0, %r12, %tpc
17119 wrpr %g0, %r11, %tnpc
17120 set (0x00a8585c | (0x55 << 24)), %r13
17121 rdpr %tstate, %r16
17122 mov 0x1f, %r19
17123 and %r19, %r16, %r17
17124 andn %r16, %r19, %r16
17125 or %r16, %r17, %r20
17126 wrpr %r20, %g0, %tstate
17127 wrhpr %g0, 0x655, %htstate
17128 ta T_CHANGE_NONHPRIV ! rand=1 (8)
17129 .word 0x29400001 ! 1: FBPL fbl,a,pn %fcc0, <label_0x1>
17130 done
17131donretarg_8_287:
17132 .word 0xd2ffe170 ! 348: SWAPA_I swapa %r9, [%r31 + 0x0170] %asi
17133 .word 0xd2800c40 ! 349: LDUWA_R lduwa [%r0, %r0] 0x62, %r9
17134 .word 0x8d802004 ! 350: WRFPRS_I wr %r0, 0x0004, %fprs
17135dvapa_8_288:
17136 nop
17137 ta T_CHANGE_HPRIV
17138 mov 0xfd7, %r20
17139 mov 0x17, %r19
17140 sllx %r20, 23, %r20
17141 or %r19, %r20, %r19
17142 stxa %r19, [%g0] ASI_LSU_CONTROL
17143 mov 0x38, %r18
17144 stxa %r31, [%r18]0x58
17145 ta T_CHANGE_NONHPRIV
17146 .word 0xc32fc00d ! 351: STXFSR_R st-sfr %f1, [%r13, %r31]
17147cmp_8_289:
17148 nop
17149 ta T_CHANGE_HPRIV
17150 rd %asi, %r12
17151 wr %r0, 0x41, %asi
17152 set sync_thr_counter4, %r23
17153#ifndef SPC
17154 ldxa [%g0]0x63, %r8
17155 and %r8, 0x38, %r8 ! Core ID
17156 add %r8, %r23, %r23
17157 mov 0xff, %r9
17158 xor %r9, 0x8, %r9
17159 sllx %r9, %r8, %r9 ! My core mask
17160#else
17161 mov 0, %r8
17162 mov 0xff, %r9
17163 xor %r9, 0x8, %r9 ! My core mask
17164#endif
17165 mov 0x8, %r10
17166cmp_startwait8_289:
17167 cas [%r23],%g0,%r10 !lock
17168 brz,a %r10, continue_cmp_8_289
17169 ldxa [0x50]%asi, %r13 !Running_rw
17170 ld [%r23], %r10
17171cmp_wait8_289:
17172 brnz,a %r10, cmp_wait8_289
17173 ld [%r23], %r10
17174 ba cmp_startwait8_289
17175 mov 0x8, %r10
17176continue_cmp_8_289:
17177 ldxa [0x58]%asi, %r14 !Running_status
17178 xnor %r14, %r13, %r14 !Bits equal
17179 brz,a %r8, cmp_multi_core_8_289
17180 mov 20, %r17
17181 best_set_reg(0x94e003d7c7a2c962, %r16, %r17)
17182cmp_multi_core_8_289:
17183 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
17184 and %r14, %r9, %r14 !Apply core-mask
17185 stxa %r14, [0x68]%asi
17186 st %g0, [%r23] !clear lock
17187 wr %g0, %r12, %asi
17188 .word 0xa3a00166 ! 352: FABSq dis not found
17189
17190 .word 0xc1bfd960 ! 353: STDFA_R stda %f0, [%r0, %r31]
17191brcommon2_8_291:
17192 nop
17193 setx common_target, %r12, %r27
17194 ba,a .+12
17195 .word 0xe515000b ! 1: LDQF_R - [%r20, %r11], %f18
17196 ba,a .+8
17197 jmpl %r27+0, %r27
17198 .word 0xc1bfc2c0 ! 354: STDFA_R stda %f0, [%r0, %r31]
17199donret_8_292:
17200 nop
17201 ta T_CHANGE_HPRIV ! macro
17202 rd %pc, %r12
17203 add %r12, (donretarg_8_292-donret_8_292-8), %r12
17204 mov 0x38, %r18
17205 stxa %r12, [%r18]0x58
17206 add %r12, 0x4, %r11
17207 wrpr %g0, 0x1, %tl
17208 wrpr %g0, %r12, %tpc
17209 wrpr %g0, %r11, %tnpc
17210 set (0x001d43fd | (22 << 24)), %r13
17211 rdpr %tstate, %r16
17212 mov 0x1f, %r19
17213 and %r19, %r16, %r17
17214 andn %r16, %r19, %r16
17215 or %r16, %r17, %r20
17216 wrpr %r20, %g0, %tstate
17217 wrhpr %g0, 0x9ce, %htstate
17218 ta T_CHANGE_NONHPRIV ! rand=1 (8)
17219 retry
17220donretarg_8_292:
17221 .word 0x93a509d2 ! 355: FDIVd fdivd %f20, %f18, %f40
17222pmu_8_293:
17223 nop
17224 setx 0xfffff4c3fffff8bd, %g1, %g7
17225 .word 0xa3800007 ! 356: WR_PERF_COUNTER_R wr %r0, %r7, %-
17226donret_8_294:
17227 nop
17228 ta T_CHANGE_HPRIV ! macro
17229 rd %pc, %r12
17230 add %r12, (donretarg_8_294-donret_8_294-8), %r12
17231 mov 0x38, %r18
17232 stxa %r12, [%r18]0x58
17233 add %r12, 0x4, %r11
17234 wrpr %g0, 0x1, %tl
17235 wrpr %g0, %r12, %tpc
17236 wrpr %g0, %r11, %tnpc
17237 set (0x00a8d321 | (0x8a << 24)), %r13
17238 rdpr %tstate, %r16
17239 mov 0x1f, %r19
17240 and %r19, %r16, %r17
17241 andn %r16, %r19, %r16
17242 or %r16, %r17, %r20
17243 wrpr %r20, %g0, %tstate
17244 wrhpr %g0, 0x5cc, %htstate
17245 ta T_CHANGE_NONHPRIV ! rand=1 (8)
17246 retry
17247donretarg_8_294:
17248 .word 0xe46fe0c2 ! 357: LDSTUB_I ldstub %r18, [%r31 + 0x00c2]
17249 nop
17250 ta T_CHANGE_HPRIV
17251 mov 0x8, %r10
17252 set sync_thr_counter6, %r23
17253#ifndef SPC
17254 ldxa [%g0]0x63, %o1
17255 and %o1, 0x38, %o1
17256 add %o1, %r23, %r23
17257#endif
17258 cas [%r23],%g0,%r10 !lock
17259 brnz %r10, sma_8_295
17260 rd %asi, %r12
17261 wr %g0, 0x40, %asi
17262 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
17263 set 0x001a1fff, %g1
17264 stxa %g1, [%g0 + 0x80] %asi
17265 wr %r12, %g0, %asi
17266 st %g0, [%r23]
17267sma_8_295:
17268 ta T_CHANGE_NONHPRIV
17269 .word 0xe5e7e010 ! 358: CASA_R casa [%r31] %asi, %r16, %r18
17270 .word 0x22800001 ! 359: BE be,a <label_0x1>
17271 nop
17272 ta T_CHANGE_HPRIV
17273 mov 0x8+1, %r10
17274 set sync_thr_counter5, %r23
17275#ifndef SPC
17276 ldxa [%g0]0x63, %o1
17277 and %o1, 0x38, %o1
17278 add %o1, %r23, %r23
17279#endif
17280 cas [%r23],%g0,%r10 !lock
17281 brnz %r10, cwq_8_296
17282 rd %asi, %r12
17283 wr %g0, 0x40, %asi
17284 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
17285 and %l1, 0x3, %l1 ! Check if busy/enabled ..
17286 cmp %l1, 1
17287 bne cwq_8_296
17288 set CWQ_BASE, %l6
17289 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
17290 best_set_reg(0x20610030, %l1, %l2) !# Control Word
17291 sllx %l2, 32, %l2
17292 stx %l2, [%l6 + 0x0]
17293 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
17294 sub %l2, 0x40, %l2
17295 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
17296 wr %r12, %g0, %asi
17297 st %g0, [%r23]
17298cwq_8_296:
17299 ta T_CHANGE_NONHPRIV
17300 .word 0x97414000 ! 360: RDPC rd %pc, %r11
17301splash_cmpr_8_297:
17302 mov 1, %r18
17303 sllx %r18, 63, %r18
17304 rd %tick, %r17
17305 add %r17, 0x80, %r17
17306 or %r17, %r18, %r17
17307 ta T_CHANGE_PRIV
17308 .word 0xb3800011 ! 361: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
17309mondo_8_298:
17310 nop
17311 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
17312 ta T_CHANGE_PRIV
17313 stxa %r16, [%r0+0x3e0] %asi
17314 .word 0x9d95000b ! 362: WRPR_WSTATE_R wrpr %r20, %r11, %wstate
17315brcommon3_8_299:
17316 nop
17317 setx common_target, %r12, %r27
17318 lduw [%r27], %r12 ! Load common dest into dcache ..
17319 ba,a .+12
17320 .word 0xdb37c010 ! 1: STQF_R - %f13, [%r16, %r31]
17321 ba,a .+8
17322 jmpl %r27+0, %r27
17323 .word 0xdabfc034 ! 363: STDA_R stda %r13, [%r31 + %r20] 0x01
17324intveclr_8_300:
17325 nop
17326 ta T_CHANGE_HPRIV
17327 setx 0xaf82cb3bfdd65843, %r1, %r28
17328 stxa %r28, [%g0] 0x72
17329 ta T_CHANGE_NONHPRIV
17330 .word 0x25400001 ! 364: FBPLG fblg,a,pn %fcc0, <label_0x1>
17331splash_tick_8_301:
17332 nop
17333 ta T_CHANGE_HPRIV
17334 best_set_reg(0xc2526b6a308e64b9, %r16, %r17)
17335 .word 0x89800011 ! 365: WRTICK_R wr %r0, %r17, %tick
17336splash_lsu_8_302:
17337 nop
17338 ta T_CHANGE_HPRIV
17339 set 0x8c140daf, %r2
17340 mov 0x6, %r1
17341 sllx %r1, 32, %r1
17342 or %r1, %r2, %r2
17343 stxa %r2, [%r0] ASI_LSU_CONTROL
17344 .word 0x3d400001 ! 366: FBPULE fbule,a,pn %fcc0, <label_0x1>
17345 nop
17346 ta T_CHANGE_HPRIV
17347 mov 0x8+1, %r10
17348 set sync_thr_counter5, %r23
17349#ifndef SPC
17350 ldxa [%g0]0x63, %o1
17351 and %o1, 0x38, %o1
17352 add %o1, %r23, %r23
17353#endif
17354 cas [%r23],%g0,%r10 !lock
17355 brnz %r10, cwq_8_303
17356 rd %asi, %r12
17357 wr %g0, 0x40, %asi
17358 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
17359 and %l1, 0x3, %l1 ! Check if busy/enabled ..
17360 cmp %l1, 1
17361 bne cwq_8_303
17362 set CWQ_BASE, %l6
17363 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
17364 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
17365 sllx %l2, 32, %l2
17366 stx %l2, [%l6 + 0x0]
17367 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
17368 sub %l2, 0x40, %l2
17369 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
17370 wr %r12, %g0, %asi
17371 st %g0, [%r23]
17372cwq_8_303:
17373 ta T_CHANGE_NONHPRIV
17374 .word 0x95414000 ! 367: RDPC rd %pc, %r10
17375 set 0x2b20, %l3
17376 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
17377 .word 0x91b487d4 ! 368: PDIST pdistn %d18, %d20, %d8
17378splash_lsu_8_304:
17379 nop
17380 ta T_CHANGE_HPRIV
17381 set 0x887ba173, %r2
17382 mov 0x1, %r1
17383 sllx %r1, 32, %r1
17384 or %r1, %r2, %r2
17385 stxa %r2, [%r0] ASI_LSU_CONTROL
17386 ta T_CHANGE_NONHPRIV
17387 .word 0x3d400001 ! 369: FBPULE fbule,a,pn %fcc0, <label_0x1>
17388br_longdelay4_8_305:
17389 nop
17390 not %g0, %r12
17391 jmp %r12
17392 .word 0x9d902003 ! 370: WRPR_WSTATE_I wrpr %r0, 0x0003, %wstate
17393dvapa_8_306:
17394 nop
17395 ta T_CHANGE_HPRIV
17396 mov 0xe31, %r20
17397 mov 0x14, %r19
17398 sllx %r20, 23, %r20
17399 or %r19, %r20, %r19
17400 stxa %r19, [%g0] ASI_LSU_CONTROL
17401 mov 0x38, %r18
17402 stxa %r31, [%r18]0x58
17403 ta T_CHANGE_NONHPRIV
17404 .word 0x97a049a1 ! 371: FDIVs fdivs %f1, %f1, %f11
17405pmu_8_307:
17406 nop
17407 setx 0xfffff92bfffff6c4, %g1, %g7
17408 .word 0xa3800007 ! 372: WR_PERF_COUNTER_R wr %r0, %r7, %-
17409pmu_8_308:
17410 nop
17411 setx 0xfffff0e8fffff8e2, %g1, %g7
17412 .word 0xa3800007 ! 373: WR_PERF_COUNTER_R wr %r0, %r7, %-
17413vahole_8_309:
17414 nop
17415 ta T_CHANGE_NONHPRIV
17416 setx vahole_target2, %r18, %r27
17417 jmpl %r27+0, %r27
17418 .word 0xe1bfe120 ! 374: STDFA_I stda %f16, [0x0120, %r31]
17419tagged_8_310:
17420 tsubcctv %r11, 0x16b5, %r3
17421 .word 0xd407e041 ! 375: LDUW_I lduw [%r31 + 0x0041], %r10
17422 nop
17423 ta T_CHANGE_HPRIV
17424 mov 0x8+1, %r10
17425 set sync_thr_counter5, %r23
17426#ifndef SPC
17427 ldxa [%g0]0x63, %o1
17428 and %o1, 0x38, %o1
17429 add %o1, %r23, %r23
17430#endif
17431 cas [%r23],%g0,%r10 !lock
17432 brnz %r10, cwq_8_311
17433 rd %asi, %r12
17434 wr %g0, 0x40, %asi
17435 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
17436 and %l1, 0x3, %l1 ! Check if busy/enabled ..
17437 cmp %l1, 1
17438 bne cwq_8_311
17439 set CWQ_BASE, %l6
17440 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
17441 best_set_reg(0x20610000, %l1, %l2) !# Control Word
17442 sllx %l2, 32, %l2
17443 stx %l2, [%l6 + 0x0]
17444 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
17445 sub %l2, 0x40, %l2
17446 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
17447 wr %r12, %g0, %asi
17448 st %g0, [%r23]
17449cwq_8_311:
17450 ta T_CHANGE_NONHPRIV
17451 .word 0x99414000 ! 376: RDPC rd %pc, %r12
17452trapasi_8_312:
17453 nop
17454 mov 0x20, %r1 ! (VA for ASI 0x5b)
17455 .word 0xd8d84b60 ! 377: LDXA_R ldxa [%r1, %r0] 0x5b, %r12
17456 .word 0x2d400001 ! 1: FBPG fbg,a,pn %fcc0, <label_0x1>
17457 .word 0x8d9034df ! 378: WRPR_PSTATE_I wrpr %r0, 0x14df, %pstate
17458 .word 0xd93fc00a ! 379: STDF_R std %f12, [%r10, %r31]
17459mondo_8_315:
17460 nop
17461 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
17462 ta T_CHANGE_PRIV
17463 stxa %r11, [%r0+0x3e0] %asi
17464 .word 0x9d934007 ! 380: WRPR_WSTATE_R wrpr %r13, %r7, %wstate
17465fpinit_8_316:
17466 setx fp_data_quads, %r19, %r20
17467 ldd [%r20], %f0
17468 ldd [%r20+8], %f4
17469 ld [%r20+16], %fsr
17470 ld [%r20+24], %r19
17471 wr %r19, %g0, %gsr
17472 .word 0x87a80a44 ! 381: FCMPd fcmpd %fcc<n>, %f0, %f4
17473dvapa_8_317:
17474 nop
17475 ta T_CHANGE_HPRIV
17476 mov 0xd15, %r20
17477 mov 0x16, %r19
17478 sllx %r20, 23, %r20
17479 or %r19, %r20, %r19
17480 stxa %r19, [%g0] ASI_LSU_CONTROL
17481 mov 0x38, %r18
17482 stxa %r31, [%r18]0x58
17483 ta T_CHANGE_NONHPRIV
17484 .word 0xc19fde00 ! 382: LDDFA_R ldda [%r31, %r0], %f0
17485 .word 0x8d903ada ! 383: WRPR_PSTATE_I wrpr %r0, 0x1ada, %pstate
17486pmu_8_319:
17487 nop
17488 setx 0xfffff93ffffff388, %g1, %g7
17489 .word 0xa3800007 ! 384: WR_PERF_COUNTER_R wr %r0, %r7, %-
17490 .word 0xd8d7e070 ! 385: LDSHA_I ldsha [%r31, + 0x0070] %asi, %r12
17491 .word 0x8d9027e1 ! 386: WRPR_PSTATE_I wrpr %r0, 0x07e1, %pstate
17492fpinit_8_321:
17493 setx fp_data_quads, %r19, %r20
17494 ldd [%r20], %f0
17495 ldd [%r20+8], %f4
17496 ld [%r20+16], %fsr
17497 ld [%r20+24], %r19
17498 wr %r19, %g0, %gsr
17499 .word 0x89b00484 ! 387: FCMPLE32 fcmple32 %d0, %d4, %r4
17500 .word 0xc19fdc00 ! 388: LDDFA_R ldda [%r31, %r0], %f0
17501 .word 0x9bb1c552 ! 389: FCMPEQ16 fcmpeq16 %d38, %d18, %r13
17502donret_8_322:
17503 nop
17504 ta T_CHANGE_HPRIV ! macro
17505 rd %pc, %r12
17506 add %r12, (donretarg_8_322-donret_8_322-8), %r12
17507 mov 0x38, %r18
17508 stxa %r12, [%r18]0x58
17509 add %r12, 0x4, %r11
17510 wrpr %g0, 0x2, %tl
17511 wrpr %g0, %r12, %tpc
17512 wrpr %g0, %r11, %tnpc
17513 set (0x00c1315f | (28 << 24)), %r13
17514 rdpr %tstate, %r16
17515 mov 0x1f, %r19
17516 and %r19, %r16, %r17
17517 andn %r16, %r19, %r16
17518 or %r16, %r17, %r20
17519 wrpr %r20, %g0, %tstate
17520 wrhpr %g0, 0x19d, %htstate
17521 ta T_CHANGE_NONPRIV ! rand=0 (8)
17522 .word 0x21400001 ! 1: FBPN fbn,a,pn %fcc0, <label_0x1>
17523 retry
17524donretarg_8_322:
17525 .word 0xe8ffe128 ! 390: SWAPA_I swapa %r20, [%r31 + 0x0128] %asi
17526 .word 0x9945c000 ! 391: RD_TICK_CMPR_REG rd %-, %r12
17527 .word 0xab82800c ! 392: WR_CLEAR_SOFTINT_R wr %r10, %r12, %clear_softint
17528 setx 0x9fae1bc722c73f86, %r1, %r28
17529 stxa %r28, [%g0] 0x73
17530intvec_8_323:
17531 .word 0x39400001 ! 393: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
17532 .word 0xe7e7e008 ! 394: CASA_R casa [%r31] %asi, %r8, %r19
17533 setx 0x4769e45854349cd0, %r1, %r28
17534 stxa %r28, [%g0] 0x73
17535intvec_8_325:
17536 .word 0x39400001 ! 395: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
17537cerer_8_326:
17538 nop
17539 ta T_CHANGE_HPRIV
17540 best_set_reg(0xd599a2311e2caf6b, %r16, %r17)
17541 sethi %hi(0x20008000), %r16 ! Set ITTM/DTTM
17542 sllx %r16, 32, %r16
17543 or %r16, %r17, %r17
17544 mov 0x10, %r16
17545 stxa %r17, [%r16]0x4c
17546 .word 0x91524000 ! 396: RDPR_CWP <illegal instruction>
17547dvapa_8_327:
17548 nop
17549 ta T_CHANGE_HPRIV
17550 mov 0xf87, %r20
17551 mov 0x10, %r19
17552 sllx %r20, 23, %r20
17553 or %r19, %r20, %r19
17554 stxa %r19, [%g0] ASI_LSU_CONTROL
17555 mov 0x38, %r18
17556 stxa %r31, [%r18]0x58
17557 ta T_CHANGE_NONHPRIV
17558 .word 0xc19fc3e0 ! 397: LDDFA_R ldda [%r31, %r0], %f0
17559fpinit_8_328:
17560 setx fp_data_quads, %r19, %r20
17561 ldd [%r20], %f0
17562 ldd [%r20+8], %f4
17563 ld [%r20+16], %fsr
17564 ld [%r20+24], %r19
17565 wr %r19, %g0, %gsr
17566 .word 0xc3e8333a ! 398: PREFETCHA_I prefetcha [%r0, + 0xfffff33a] %asi, #one_read
17567 .word 0xe7e7e009 ! 399: CASA_R casa [%r31] %asi, %r9, %r19
17568unsupttte_8_330:
17569 nop
17570 ta T_CHANGE_HPRIV
17571 mov 1, %r20
17572 sllx %r20, 63, %r20
17573 or %r20, 2,%r20
17574 stxa %r20, [%g0]0x5c ! D unsupported page size ..
17575 ta T_CHANGE_NONHPRIV
17576 .word 0x87ad0a4a ! 400: FCMPd fcmpd %fcc<n>, %f20, %f10
17577vahole_8_331:
17578 nop
17579 ta T_CHANGE_NONHPRIV
17580 setx vahole_target2, %r18, %r27
17581 jmpl %r27+0, %r27
17582 .word 0xe1bfdb60 ! 401: STDFA_R stda %f16, [%r0, %r31]
17583cmpenall_8_332:
17584 nop
17585 nop
17586 ta T_CHANGE_HPRIV
17587 rd %asi, %r12
17588 wr %r0, 0x41, %asi
17589 set sync_thr_counter4, %r23
17590#ifndef SPC
17591 ldxa [%g0]0x63, %r8
17592 and %r8, 0x38, %r8 ! Core ID
17593 add %r8, %r23, %r23
17594 mov 0xff, %r9
17595 sllx %r9, %r8, %r9 ! My core mask
17596#else
17597 mov 0xff, %r9 ! My core mask
17598#endif
17599cmpenall_startwait8_332:
17600 mov 0x8, %r10
17601 cas [%r23],%g0,%r10 !lock
17602 brz,a %r10, continue_cmpenall_8_332
17603 nop
17604cmpenall_wait8_332:
17605 ld [%r23], %r10
17606 brnz %r10, cmpenall_wait8_332
17607 nop
17608 ba,a cmpenall_startwait8_332
17609continue_cmpenall_8_332:
17610 ldxa [0x58]%asi, %r14 !Running_status
17611wait_for_cmpstat_8_332:
17612 ldxa [0x50]%asi, %r13 !Running_rw
17613 cmp %r13, %r14
17614 bne,a %xcc, wait_for_cmpstat_8_332
17615 ldxa [0x58]%asi, %r14 !Running_status
17616 ldxa [0x10]%asi, %r14 !Get enabled threads
17617 and %r14, %r9, %r14 !My core mask
17618 stxa %r14, [0x60]%asi !W1S
17619 ldxa [0x58]%asi, %r16 !Running_status
17620wait_for_cmpstat2_8_332:
17621 and %r16, %r9, %r16 !My core mask
17622 cmp %r14, %r16
17623 bne,a %xcc, wait_for_cmpstat2_8_332
17624 ldxa [0x58]%asi, %r16 !Running_status
17625 st %g0, [%r23] !clear lock
17626 nop
17627 nop
17628 ta T_CHANGE_PRIV
17629 wrpr %g0, %g0, %gl
17630 nop
17631 nop
17632 setx join_lbl_0_0, %g1, %g2
17633 jmp %g2
17634 nop
17635fork_lbl_0_3:
17636 ta T_CHANGE_NONHPRIV
17637 .word 0xe8800c40 ! 1: LDUWA_R lduwa [%r0, %r0] 0x62, %r20
17638 .word 0x95a00173 ! 2: FABSq dis not found
17639
17640ibp_4_1:
17641 nop
17642 ta T_CHANGE_HPRIV
17643 mov 8, %r18
17644 rd %asi, %r12
17645 wr %r0, 0x41, %asi
17646 set sync_thr_counter4, %r23
17647#ifndef SPC
17648 ldxa [%g0]0x63, %r8
17649 and %r8, 0x38, %r8 ! Core ID
17650 add %r8, %r23, %r23
17651#else
17652 mov 0, %r8
17653#endif
17654 mov 0x4, %r16
17655ibp_startwait4_1:
17656 cas [%r23],%g0,%r16 !lock
17657 brz,a %r16, continue_ibp_4_1
17658 mov (~0x4&0xf), %r16
17659 ld [%r23], %r16
17660ibp_wait4_1:
17661 brnz %r16, ibp_wait4_1
17662 ld [%r23], %r16
17663 ba ibp_startwait4_1
17664 mov 0x4, %r16
17665continue_ibp_4_1:
17666 sllx %r16, %r8, %r16 !Mask for my core only
17667 ldxa [0x58]%asi, %r17 !Running_status
17668wait_for_stat_4_1:
17669 ldxa [0x50]%asi, %r13 !Running_rw
17670 cmp %r13, %r17
17671 bne,a wait_for_stat_4_1
17672 ldxa [0x58]%asi, %r17 !Running_status
17673 stxa %r16, [0x68]%asi !Park (W1C)
17674 ldxa [0x50]%asi, %r14 !Running_rw
17675wait_for_ibp_4_1:
17676 ldxa [0x58]%asi, %r17 !Running_status
17677 cmp %r14, %r17
17678 bne,a wait_for_ibp_4_1
17679 ldxa [0x50]%asi, %r14 !Running_rw
17680ibp_doit4_1:
17681 best_set_reg(0x000000408bc00f1c,%r19, %r20)
17682 stxa %r20, [%r18]0x42
17683 stxa %r16, [0x60] %asi !Unpark (W1S)
17684 st %g0, [%r23] !clear lock
17685 wr %r0, %r12, %asi !restore %asi
17686 ta T_CHANGE_NONHPRIV
17687 .word 0xe33fc013 ! 3: STDF_R std %f17, [%r19, %r31]
17688donret_4_2:
17689 nop
17690 ta T_CHANGE_HPRIV ! macro
17691 rd %pc, %r12
17692 add %r12, (donretarg_4_2-donret_4_2-8), %r12
17693 mov 0x38, %r18
17694 stxa %r12, [%r18]0x58
17695 add %r12, 0x4, %r11
17696 wrpr %g0, 0x1, %tl
17697 wrpr %g0, %r12, %tpc
17698 wrpr %g0, %r11, %tnpc
17699 set (0x0063239f | (0x4f << 24)), %r13
17700 rdpr %tstate, %r16
17701 mov 0x1f, %r19
17702 and %r19, %r16, %r17
17703 andn %r16, %r19, %r16
17704 or %r16, %r17, %r20
17705 wrpr %r20, %g0, %tstate
17706 wrhpr %g0, 0x1cce, %htstate
17707 ta T_CHANGE_NONHPRIV ! rand=1 (4)
17708 .word 0x29400001 ! 1: FBPL fbl,a,pn %fcc0, <label_0x1>
17709 retry
17710donretarg_4_2:
17711 .word 0xe26fe106 ! 4: LDSTUB_I ldstub %r17, [%r31 + 0x0106]
17712 setx 0x3085aa32f7c939b8, %r1, %r28
17713 stxa %r28, [%g0] 0x73
17714intvec_4_3:
17715 .word 0x39400001 ! 5: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
17716mondo_4_4:
17717 nop
17718 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
17719 stxa %r1, [%r0+0x3c0] %asi
17720 .word 0x9d94c00d ! 6: WRPR_WSTATE_R wrpr %r19, %r13, %wstate
17721pmu_4_5:
17722 nop
17723 ta T_CHANGE_PRIV
17724 setx 0xfffff426ffffffe9, %g1, %g7
17725 .word 0xa3800007 ! 7: WR_PERF_COUNTER_R wr %r0, %r7, %-
17726 .word 0x94fb6bb0 ! 8: SDIVcc_I sdivcc %r13, 0x0bb0, %r10
17727splash_cmpr_4_6:
17728 mov 1, %r18
17729 sllx %r18, 63, %r18
17730 rd %tick, %r17
17731 add %r17, 0x70, %r17
17732 or %r17, %r18, %r17
17733 ta T_CHANGE_HPRIV
17734 wrhpr %r17, %g0, %hsys_tick_cmpr
17735 ta T_CHANGE_PRIV
17736 .word 0xaf800011 ! 9: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
17737 nop
17738 ta T_CHANGE_HPRIV
17739 mov 0x4+1, %r10
17740 set sync_thr_counter5, %r23
17741#ifndef SPC
17742 ldxa [%g0]0x63, %o1
17743 and %o1, 0x38, %o1
17744 add %o1, %r23, %r23
17745#endif
17746 cas [%r23],%g0,%r10 !lock
17747 brnz %r10, cwq_4_7
17748 rd %asi, %r12
17749 wr %g0, 0x40, %asi
17750 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
17751 and %l1, 0x3, %l1 ! Check if busy/enabled ..
17752 cmp %l1, 1
17753 bne cwq_4_7
17754 set CWQ_BASE, %l6
17755 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
17756 best_set_reg(0x206100e0, %l1, %l2) !# Control Word
17757 sllx %l2, 32, %l2
17758 stx %l2, [%l6 + 0x0]
17759 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
17760 sub %l2, 0x40, %l2
17761 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
17762 wr %r12, %g0, %asi
17763 st %g0, [%r23]
17764cwq_4_7:
17765 ta T_CHANGE_NONHPRIV
17766 .word 0x9b414000 ! 10: RDPC rd %pc, %r13
17767pmu_4_8:
17768 nop
17769 setx 0xfffffb2ffffff16f, %g1, %g7
17770 .word 0xa3800007 ! 11: WR_PERF_COUNTER_R wr %r0, %r7, %-
17771 .word 0x93a00170 ! 12: FABSq dis not found
17772
17773ibp_4_10:
17774 nop
17775 ta T_CHANGE_HPRIV
17776 mov 8, %r18
17777 rd %asi, %r12
17778 wr %r0, 0x41, %asi
17779 set sync_thr_counter4, %r23
17780#ifndef SPC
17781 ldxa [%g0]0x63, %r8
17782 and %r8, 0x38, %r8 ! Core ID
17783 add %r8, %r23, %r23
17784#else
17785 mov 0, %r8
17786#endif
17787 mov 0x4, %r16
17788ibp_startwait4_10:
17789 cas [%r23],%g0,%r16 !lock
17790 brz,a %r16, continue_ibp_4_10
17791 mov (~0x4&0xf), %r16
17792 ld [%r23], %r16
17793ibp_wait4_10:
17794 brnz %r16, ibp_wait4_10
17795 ld [%r23], %r16
17796 ba ibp_startwait4_10
17797 mov 0x4, %r16
17798continue_ibp_4_10:
17799 sllx %r16, %r8, %r16 !Mask for my core only
17800 ldxa [0x58]%asi, %r17 !Running_status
17801wait_for_stat_4_10:
17802 ldxa [0x50]%asi, %r13 !Running_rw
17803 cmp %r13, %r17
17804 bne,a wait_for_stat_4_10
17805 ldxa [0x58]%asi, %r17 !Running_status
17806 stxa %r16, [0x68]%asi !Park (W1C)
17807 ldxa [0x50]%asi, %r14 !Running_rw
17808wait_for_ibp_4_10:
17809 ldxa [0x58]%asi, %r17 !Running_status
17810 cmp %r14, %r17
17811 bne,a wait_for_ibp_4_10
17812 ldxa [0x50]%asi, %r14 !Running_rw
17813ibp_doit4_10:
17814 best_set_reg(0x00000040bbcf1c1e,%r19, %r20)
17815 stxa %r20, [%r18]0x42
17816 stxa %r16, [0x60] %asi !Unpark (W1S)
17817 st %g0, [%r23] !clear lock
17818 wr %r0, %r12, %asi !restore %asi
17819 .word 0xe1bfd960 ! 13: STDFA_R stda %f16, [%r0, %r31]
17820trapasi_4_11:
17821 nop
17822 mov 0x18, %r1 ! (VA for ASI 0x4c)
17823 .word 0xe2d04980 ! 14: LDSHA_R ldsha [%r1, %r0] 0x4c, %r17
17824splash_cmpr_4_12:
17825 mov 1, %r18
17826 sllx %r18, 63, %r18
17827 rd %tick, %r17
17828 add %r17, 0x80, %r17
17829 or %r17, %r18, %r17
17830 .word 0xb3800011 ! 15: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
17831 .word 0x87aa8a45 ! 16: FCMPd fcmpd %fcc<n>, %f10, %f36
17832pmu_4_14:
17833 nop
17834 setx 0xfffff8d3fffffea2, %g1, %g7
17835 .word 0xa3800007 ! 17: WR_PERF_COUNTER_R wr %r0, %r7, %-
17836 .word 0x37400001 ! 1: FBPGE fbge,a,pn %fcc0, <label_0x1>
17837 .word 0x8d903671 ! 18: WRPR_PSTATE_I wrpr %r0, 0x1671, %pstate
17838splash_cmpr_4_16:
17839 mov 0, %r18
17840 sllx %r18, 63, %r18
17841 rd %tick, %r17
17842 add %r17, 0x60, %r17
17843 or %r17, %r18, %r17
17844 ta T_CHANGE_HPRIV
17845 wrhpr %r17, %g0, %hsys_tick_cmpr
17846 .word 0xb3800011 ! 19: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
17847 .word 0xd01fc000 ! 20: LDD_R ldd [%r31 + %r0], %r8
17848splash_lsu_4_17:
17849 nop
17850 ta T_CHANGE_HPRIV
17851 set 0xa2859a38, %r2
17852 mov 0x5, %r1
17853 sllx %r1, 32, %r1
17854 or %r1, %r2, %r2
17855 stxa %r2, [%r0] ASI_LSU_CONTROL
17856 ta T_CHANGE_NONHPRIV
17857 .word 0x3d400001 ! 21: FBPULE fbule,a,pn %fcc0, <label_0x1>
17858ibp_4_18:
17859 nop
17860 ta T_CHANGE_HPRIV
17861 mov 8, %r18
17862 rd %asi, %r12
17863 wr %r0, 0x41, %asi
17864 set sync_thr_counter4, %r23
17865#ifndef SPC
17866 ldxa [%g0]0x63, %r8
17867 and %r8, 0x38, %r8 ! Core ID
17868 add %r8, %r23, %r23
17869#else
17870 mov 0, %r8
17871#endif
17872 mov 0x4, %r16
17873ibp_startwait4_18:
17874 cas [%r23],%g0,%r16 !lock
17875 brz,a %r16, continue_ibp_4_18
17876 mov (~0x4&0xf), %r16
17877 ld [%r23], %r16
17878ibp_wait4_18:
17879 brnz %r16, ibp_wait4_18
17880 ld [%r23], %r16
17881 ba ibp_startwait4_18
17882 mov 0x4, %r16
17883continue_ibp_4_18:
17884 sllx %r16, %r8, %r16 !Mask for my core only
17885 ldxa [0x58]%asi, %r17 !Running_status
17886wait_for_stat_4_18:
17887 ldxa [0x50]%asi, %r13 !Running_rw
17888 cmp %r13, %r17
17889 bne,a wait_for_stat_4_18
17890 ldxa [0x58]%asi, %r17 !Running_status
17891 stxa %r16, [0x68]%asi !Park (W1C)
17892 ldxa [0x50]%asi, %r14 !Running_rw
17893wait_for_ibp_4_18:
17894 ldxa [0x58]%asi, %r17 !Running_status
17895 cmp %r14, %r17
17896 bne,a wait_for_ibp_4_18
17897 ldxa [0x50]%asi, %r14 !Running_rw
17898ibp_doit4_18:
17899 best_set_reg(0x00000040aedc1ec7,%r19, %r20)
17900 stxa %r20, [%r18]0x42
17901 stxa %r16, [0x60] %asi !Unpark (W1S)
17902 st %g0, [%r23] !clear lock
17903 wr %r0, %r12, %asi !restore %asi
17904 .word 0xc3ec0033 ! 22: PREFETCHA_R prefetcha [%r16, %r19] 0x01, #one_read
17905fpinit_4_19:
17906 setx fp_data_quads, %r19, %r20
17907 ldd [%r20], %f0
17908 ldd [%r20+8], %f4
17909 ld [%r20+16], %fsr
17910 ld [%r20+24], %r19
17911 wr %r19, %g0, %gsr
17912 .word 0x91a009a4 ! 23: FDIVs fdivs %f0, %f4, %f8
17913mondo_4_20:
17914 nop
17915 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
17916 ta T_CHANGE_PRIV
17917 stxa %r18, [%r0+0x3e0] %asi
17918 .word 0x9d950001 ! 24: WRPR_WSTATE_R wrpr %r20, %r1, %wstate
17919intveclr_4_21:
17920 nop
17921 ta T_CHANGE_HPRIV
17922 setx 0x2d70d8eb668792a0, %r1, %r28
17923 stxa %r28, [%g0] 0x72
17924 .word 0x25400001 ! 25: FBPLG fblg,a,pn %fcc0, <label_0x1>
17925pmu_4_22:
17926 nop
17927 ta T_CHANGE_PRIV
17928 setx 0xfffffc75fffff0f4, %g1, %g7
17929 .word 0xa3800007 ! 26: WR_PERF_COUNTER_R wr %r0, %r7, %-
17930splash_tba_4_23:
17931 ta T_CHANGE_PRIV
17932 setx 0x0000000400380000, %r11, %r12
17933 .word 0x8b90000c ! 27: WRPR_TBA_R wrpr %r0, %r12, %tba
17934trapasi_4_24:
17935 nop
17936 mov 0x10, %r1 ! (VA for ASI 0x4c)
17937 .word 0xdad84980 ! 28: LDXA_R ldxa [%r1, %r0] 0x4c, %r13
17938 .word 0x87802014 ! 29: WRASI_I wr %r0, 0x0014, %asi
17939ibp_4_25:
17940 nop
17941 ta T_CHANGE_HPRIV
17942 mov 8, %r18
17943 rd %asi, %r12
17944 wr %r0, 0x41, %asi
17945 set sync_thr_counter4, %r23
17946#ifndef SPC
17947 ldxa [%g0]0x63, %r8
17948 and %r8, 0x38, %r8 ! Core ID
17949 add %r8, %r23, %r23
17950#else
17951 mov 0, %r8
17952#endif
17953 mov 0x4, %r16
17954ibp_startwait4_25:
17955 cas [%r23],%g0,%r16 !lock
17956 brz,a %r16, continue_ibp_4_25
17957 mov (~0x4&0xf), %r16
17958 ld [%r23], %r16
17959ibp_wait4_25:
17960 brnz %r16, ibp_wait4_25
17961 ld [%r23], %r16
17962 ba ibp_startwait4_25
17963 mov 0x4, %r16
17964continue_ibp_4_25:
17965 sllx %r16, %r8, %r16 !Mask for my core only
17966 ldxa [0x58]%asi, %r17 !Running_status
17967wait_for_stat_4_25:
17968 ldxa [0x50]%asi, %r13 !Running_rw
17969 cmp %r13, %r17
17970 bne,a wait_for_stat_4_25
17971 ldxa [0x58]%asi, %r17 !Running_status
17972 stxa %r16, [0x68]%asi !Park (W1C)
17973 ldxa [0x50]%asi, %r14 !Running_rw
17974wait_for_ibp_4_25:
17975 ldxa [0x58]%asi, %r17 !Running_status
17976 cmp %r14, %r17
17977 bne,a wait_for_ibp_4_25
17978 ldxa [0x50]%asi, %r14 !Running_rw
17979ibp_doit4_25:
17980 best_set_reg(0x000000401bdec7f4,%r19, %r20)
17981 stxa %r20, [%r18]0x42
17982 stxa %r16, [0x60] %asi !Unpark (W1S)
17983 st %g0, [%r23] !clear lock
17984 wr %r0, %r12, %asi !restore %asi
17985 ta T_CHANGE_NONHPRIV
17986 .word 0xe19fc2c0 ! 30: LDDFA_R ldda [%r31, %r0], %f16
17987dvapa_4_26:
17988 nop
17989 ta T_CHANGE_HPRIV
17990 mov 0xafb, %r20
17991 mov 0x9, %r19
17992 sllx %r20, 23, %r20
17993 or %r19, %r20, %r19
17994 stxa %r19, [%g0] ASI_LSU_CONTROL
17995 mov 0x38, %r18
17996 stxa %r31, [%r18]0x58
17997 ta T_CHANGE_NONHPRIV
17998 .word 0xda3ffa91 ! 31: STD_I std %r13, [%r31 + 0xfffffa91]
17999 nop
18000 ta T_CHANGE_HPRIV
18001 mov 0x4+1, %r10
18002 set sync_thr_counter5, %r23
18003#ifndef SPC
18004 ldxa [%g0]0x63, %o1
18005 and %o1, 0x38, %o1
18006 add %o1, %r23, %r23
18007#endif
18008 cas [%r23],%g0,%r10 !lock
18009 brnz %r10, cwq_4_27
18010 rd %asi, %r12
18011 wr %g0, 0x40, %asi
18012 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
18013 and %l1, 0x3, %l1 ! Check if busy/enabled ..
18014 cmp %l1, 1
18015 bne cwq_4_27
18016 set CWQ_BASE, %l6
18017 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
18018 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
18019 sllx %l2, 32, %l2
18020 stx %l2, [%l6 + 0x0]
18021 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
18022 sub %l2, 0x40, %l2
18023 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
18024 wr %r12, %g0, %asi
18025 st %g0, [%r23]
18026cwq_4_27:
18027 ta T_CHANGE_NONHPRIV
18028 .word 0x95414000 ! 32: RDPC rd %pc, %r10
18029 .word 0x8d902133 ! 33: WRPR_PSTATE_I wrpr %r0, 0x0133, %pstate
18030 .word 0x91a00170 ! 34: FABSq dis not found
18031
18032#if (defined SPC || defined CMP)
18033!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_4_30) + 40, 16, 16)) -> intp(6,0,21)
18034!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_4_30)&0xffffffff) + 40, 16, 16)) -> intp(6,0,21)
18035#else
18036 setx 0x6356526aaa806f4c, %r1, %r28
18037 stxa %r28, [%g0] 0x73
18038#endif
18039intvec_4_30:
18040 .word 0x39400001 ! 35: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
18041tglhtw_4_31:
18042 nop
18043 rd %asi, %l3 ! save %asi
18044 ta T_CHANGE_HPRIV
18045 wr %g0, ASI_MMU_ZERO_CONTEXT_TSB_CONFIG, %asi
18046 mov 1, %l2
18047 sllx %l2, 63, %l2
18048 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
18049 xor %l4, %l2, %l4
18050 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi
18051 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
18052 xor %l4, %l2, %l4
18053 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi
18054 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
18055 xor %l4, %l2, %l4
18056 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi
18057 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
18058 xor %l4, %l2, %l4
18059 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi
18060 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
18061 xor %l4, %l2, %l4
18062 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi
18063 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
18064 xor %l4, %l2, %l4
18065 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi
18066 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
18067 xor %l4, %l2, %l4
18068 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi
18069 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
18070 xor %l4, %l2, %l4
18071 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi
18072 ta T_CHANGE_NONHPRIV
18073 wr %g0, %l3, %asi !restore %asi
18074 .word 0x93b40992 ! 36: BSHUFFLE fmovc32 %d16, %d18, %d40
18075 .word 0x8d802004 ! 37: WRFPRS_I wr %r0, 0x0004, %fprs
18076 .word 0xd44fe108 ! 38: LDSB_I ldsb [%r31 + 0x0108], %r10
18077splash_cmpr_4_32:
18078 mov 1, %r18
18079 sllx %r18, 63, %r18
18080 rd %tick, %r17
18081 add %r17, 0x70, %r17
18082 or %r17, %r18, %r17
18083 ta T_CHANGE_HPRIV
18084 wrhpr %r17, %g0, %hsys_tick_cmpr
18085 .word 0xb3800011 ! 39: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
18086 setx 0xe7d7256763e9ce59, %r1, %r28
18087 stxa %r28, [%g0] 0x73
18088intvec_4_33:
18089 .word 0x39400001 ! 40: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
18090 .word 0x8d802000 ! 41: WRFPRS_I wr %r0, 0x0000, %fprs
18091pmu_4_34:
18092 nop
18093 setx 0xfffffed7fffff2f6, %g1, %g7
18094 .word 0xa3800007 ! 42: WR_PERF_COUNTER_R wr %r0, %r7, %-
18095jmptr_4_35:
18096 nop
18097 best_set_reg(0xe1200000, %r20, %r27)
18098 .word 0xb7c6c000 ! 43: JMPL_R jmpl %r27 + %r0, %r27
18099 .word 0xd4c7e048 ! 44: LDSWA_I ldswa [%r31, + 0x0048] %asi, %r10
18100 .word 0xc30fc000 ! 45: LDXFSR_R ld-fsr [%r31, %r0], %f1
18101fpinit_4_36:
18102 setx fp_data_quads, %r19, %r20
18103 ldd [%r20], %f0
18104 ldd [%r20+8], %f4
18105 ld [%r20+16], %fsr
18106 ld [%r20+24], %r19
18107 wr %r19, %g0, %gsr
18108 .word 0x8da009c4 ! 46: FDIVd fdivd %f0, %f4, %f6
18109cwp_4_37:
18110 set user_data_start, %o7
18111 .word 0x93902003 ! 47: WRPR_CWP_I wrpr %r0, 0x0003, %cwp
18112ibp_4_38:
18113 nop
18114 ta T_CHANGE_HPRIV
18115 mov 8, %r18
18116 rd %asi, %r12
18117 wr %r0, 0x41, %asi
18118 set sync_thr_counter4, %r23
18119#ifndef SPC
18120 ldxa [%g0]0x63, %r8
18121 and %r8, 0x38, %r8 ! Core ID
18122 add %r8, %r23, %r23
18123#else
18124 mov 0, %r8
18125#endif
18126 mov 0x4, %r16
18127ibp_startwait4_38:
18128 cas [%r23],%g0,%r16 !lock
18129 brz,a %r16, continue_ibp_4_38
18130 mov (~0x4&0xf), %r16
18131 ld [%r23], %r16
18132ibp_wait4_38:
18133 brnz %r16, ibp_wait4_38
18134 ld [%r23], %r16
18135 ba ibp_startwait4_38
18136 mov 0x4, %r16
18137continue_ibp_4_38:
18138 sllx %r16, %r8, %r16 !Mask for my core only
18139 ldxa [0x58]%asi, %r17 !Running_status
18140wait_for_stat_4_38:
18141 ldxa [0x50]%asi, %r13 !Running_rw
18142 cmp %r13, %r17
18143 bne,a wait_for_stat_4_38
18144 ldxa [0x58]%asi, %r17 !Running_status
18145 stxa %r16, [0x68]%asi !Park (W1C)
18146 ldxa [0x50]%asi, %r14 !Running_rw
18147wait_for_ibp_4_38:
18148 ldxa [0x58]%asi, %r17 !Running_status
18149 cmp %r14, %r17
18150 bne,a wait_for_ibp_4_38
18151 ldxa [0x50]%asi, %r14 !Running_rw
18152ibp_doit4_38:
18153 best_set_reg(0x0000004014c7f49e,%r19, %r20)
18154 stxa %r20, [%r18]0x42
18155 stxa %r16, [0x60] %asi !Unpark (W1S)
18156 st %g0, [%r23] !clear lock
18157 wr %r0, %r12, %asi !restore %asi
18158 .word 0xd49fc033 ! 48: LDDA_R ldda [%r31, %r19] 0x01, %r10
18159pmu_4_39:
18160 nop
18161 setx 0xfffff1eafffff70f, %g1, %g7
18162 .word 0xa3800007 ! 49: WR_PERF_COUNTER_R wr %r0, %r7, %-
18163fpinit_4_40:
18164 setx fp_data_quads, %r19, %r20
18165 ldd [%r20], %f0
18166 ldd [%r20+8], %f4
18167 ld [%r20+16], %fsr
18168 ld [%r20+24], %r19
18169 wr %r19, %g0, %gsr
18170 .word 0x89a009a4 ! 50: FDIVs fdivs %f0, %f4, %f4
18171 nop
18172 ta T_CHANGE_HPRIV
18173 mov 0x4+1, %r10
18174 set sync_thr_counter5, %r23
18175#ifndef SPC
18176 ldxa [%g0]0x63, %o1
18177 and %o1, 0x38, %o1
18178 add %o1, %r23, %r23
18179#endif
18180 cas [%r23],%g0,%r10 !lock
18181 brnz %r10, cwq_4_41
18182 rd %asi, %r12
18183 wr %g0, 0x40, %asi
18184 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
18185 and %l1, 0x3, %l1 ! Check if busy/enabled ..
18186 cmp %l1, 1
18187 bne cwq_4_41
18188 set CWQ_BASE, %l6
18189 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
18190 best_set_reg(0x20610010, %l1, %l2) !# Control Word
18191 sllx %l2, 32, %l2
18192 stx %l2, [%l6 + 0x0]
18193 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
18194 sub %l2, 0x40, %l2
18195 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
18196 wr %r12, %g0, %asi
18197 st %g0, [%r23]
18198cwq_4_41:
18199 ta T_CHANGE_NONHPRIV
18200 .word 0xa7414000 ! 51: RDPC rd %pc, %r19
18201 .word 0x91948004 ! 52: WRPR_PIL_R wrpr %r18, %r4, %pil
18202mondo_4_43:
18203 nop
18204 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
18205 ta T_CHANGE_PRIV
18206 stxa %r17, [%r0+0x3d8] %asi
18207 .word 0x9d940008 ! 53: WRPR_WSTATE_R wrpr %r16, %r8, %wstate
18208dvapa_4_44:
18209 nop
18210 ta T_CHANGE_HPRIV
18211 mov 0x840, %r20
18212 mov 0x5, %r19
18213 sllx %r20, 23, %r20
18214 or %r19, %r20, %r19
18215 stxa %r19, [%g0] ASI_LSU_CONTROL
18216 mov 0x38, %r18
18217 stxa %r31, [%r18]0x58
18218 ta T_CHANGE_NONHPRIV
18219 .word 0xe19fd960 ! 54: LDDFA_R ldda [%r31, %r0], %f16
18220ibp_4_45:
18221 nop
18222 ta T_CHANGE_HPRIV
18223 mov 8, %r18
18224 rd %asi, %r12
18225 wr %r0, 0x41, %asi
18226 set sync_thr_counter4, %r23
18227#ifndef SPC
18228 ldxa [%g0]0x63, %r8
18229 and %r8, 0x38, %r8 ! Core ID
18230 add %r8, %r23, %r23
18231#else
18232 mov 0, %r8
18233#endif
18234 mov 0x4, %r16
18235ibp_startwait4_45:
18236 cas [%r23],%g0,%r16 !lock
18237 brz,a %r16, continue_ibp_4_45
18238 mov (~0x4&0xf), %r16
18239 ld [%r23], %r16
18240ibp_wait4_45:
18241 brnz %r16, ibp_wait4_45
18242 ld [%r23], %r16
18243 ba ibp_startwait4_45
18244 mov 0x4, %r16
18245continue_ibp_4_45:
18246 sllx %r16, %r8, %r16 !Mask for my core only
18247 ldxa [0x58]%asi, %r17 !Running_status
18248wait_for_stat_4_45:
18249 ldxa [0x50]%asi, %r13 !Running_rw
18250 cmp %r13, %r17
18251 bne,a wait_for_stat_4_45
18252 ldxa [0x58]%asi, %r17 !Running_status
18253 stxa %r16, [0x68]%asi !Park (W1C)
18254 ldxa [0x50]%asi, %r14 !Running_rw
18255wait_for_ibp_4_45:
18256 ldxa [0x58]%asi, %r17 !Running_status
18257 cmp %r14, %r17
18258 bne,a wait_for_ibp_4_45
18259 ldxa [0x50]%asi, %r14 !Running_rw
18260ibp_doit4_45:
18261 best_set_reg(0x00000050fdf49efc,%r19, %r20)
18262 stxa %r20, [%r18]0x42
18263 stxa %r16, [0x60] %asi !Unpark (W1S)
18264 st %g0, [%r23] !clear lock
18265 wr %r0, %r12, %asi !restore %asi
18266 ta T_CHANGE_NONHPRIV
18267 .word 0xe19fdc00 ! 55: LDDFA_R ldda [%r31, %r0], %f16
18268 nop
18269 ta T_CHANGE_HPRIV
18270 mov 0x4, %r10
18271 set sync_thr_counter6, %r23
18272#ifndef SPC
18273 ldxa [%g0]0x63, %o1
18274 and %o1, 0x38, %o1
18275 add %o1, %r23, %r23
18276#endif
18277 cas [%r23],%g0,%r10 !lock
18278 brnz %r10, sma_4_46
18279 rd %asi, %r12
18280 wr %g0, 0x40, %asi
18281 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
18282 set 0x001a1fff, %g1
18283 stxa %g1, [%g0 + 0x80] %asi
18284 wr %r12, %g0, %asi
18285 st %g0, [%r23]
18286sma_4_46:
18287 ta T_CHANGE_NONHPRIV
18288 .word 0xe9e7e012 ! 56: CASA_R casa [%r31] %asi, %r18, %r20
18289 .word 0x23400001 ! 1: FBPNE fbne,a,pn %fcc0, <label_0x1>
18290 .word 0x8d903c83 ! 57: WRPR_PSTATE_I wrpr %r0, 0x1c83, %pstate
18291splash_lsu_4_48:
18292 nop
18293 ta T_CHANGE_HPRIV
18294 set 0x61235a74, %r2
18295 mov 0x3, %r1
18296 sllx %r1, 32, %r1
18297 or %r1, %r2, %r2
18298 stxa %r2, [%r0] ASI_LSU_CONTROL
18299 ta T_CHANGE_NONHPRIV
18300 .word 0x3d400001 ! 58: FBPULE fbule,a,pn %fcc0, <label_0x1>
18301 setx vahole_target2, %r18, %r27
18302 .word 0x9bb447c8 ! 59: PDIST pdistn %d48, %d8, %d44
18303splash_hpstate_4_50:
18304 ta T_CHANGE_NONHPRIV
18305 .word 0x20800001 ! 1: BN bn,a <label_0x1>
18306 .word 0x81982d9e ! 60: WRHPR_HPSTATE_I wrhpr %r0, 0x0d9e, %hpstate
18307 setx vahole_target0, %r18, %r27
18308 .word 0xc1bfe040 ! 61: STDFA_I stda %f0, [0x0040, %r31]
18309splash_lsu_4_52:
18310 nop
18311 ta T_CHANGE_HPRIV
18312 set 0xf3b07c7c, %r2
18313 mov 0x6, %r1
18314 sllx %r1, 32, %r1
18315 or %r1, %r2, %r2
18316 stxa %r2, [%r0] ASI_LSU_CONTROL
18317 ta T_CHANGE_NONHPRIV
18318 .word 0x3d400001 ! 62: FBPULE fbule,a,pn %fcc0, <label_0x1>
18319 nop
18320 ta T_CHANGE_HPRIV
18321 mov 0x4+1, %r10
18322 set sync_thr_counter5, %r23
18323#ifndef SPC
18324 ldxa [%g0]0x63, %o1
18325 and %o1, 0x38, %o1
18326 add %o1, %r23, %r23
18327#endif
18328 cas [%r23],%g0,%r10 !lock
18329 brnz %r10, cwq_4_53
18330 rd %asi, %r12
18331 wr %g0, 0x40, %asi
18332 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
18333 and %l1, 0x3, %l1 ! Check if busy/enabled ..
18334 cmp %l1, 1
18335 bne cwq_4_53
18336 set CWQ_BASE, %l6
18337 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
18338 best_set_reg(0x206100f0, %l1, %l2) !# Control Word
18339 sllx %l2, 32, %l2
18340 stx %l2, [%l6 + 0x0]
18341 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
18342 sub %l2, 0x40, %l2
18343 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
18344 wr %r12, %g0, %asi
18345 st %g0, [%r23]
18346cwq_4_53:
18347 ta T_CHANGE_NONHPRIV
18348 .word 0x93414000 ! 63: RDPC rd %pc, %r9
18349cwp_4_54:
18350 set user_data_start, %o7
18351 .word 0x93902003 ! 64: WRPR_CWP_I wrpr %r0, 0x0003, %cwp
18352 setx 0x3a4da3b9614da54f, %r1, %r28
18353 stxa %r28, [%g0] 0x73
18354intvec_4_55:
18355 .word 0x39400001 ! 65: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
18356 setx vahole_target1, %r18, %r27
18357 .word 0xd4bfc033 ! 66: STDA_R stda %r10, [%r31 + %r19] 0x01
18358 .word 0x89800011 ! 67: WRTICK_R wr %r0, %r17, %tick
18359tagged_4_58:
18360 tsubcctv %r18, 0x1a1f, %r2
18361 .word 0xd407e0e0 ! 68: LDUW_I lduw [%r31 + 0x00e0], %r10
18362jmptr_4_59:
18363 nop
18364 best_set_reg(0xe1200000, %r20, %r27)
18365 .word 0xb7c6c000 ! 69: JMPL_R jmpl %r27 + %r0, %r27
18366mondo_4_60:
18367 nop
18368 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
18369 stxa %r2, [%r0+0x3d0] %asi
18370 .word 0x9d924004 ! 70: WRPR_WSTATE_R wrpr %r9, %r4, %wstate
18371donret_4_61:
18372 nop
18373 ta T_CHANGE_HPRIV ! macro
18374 rd %pc, %r12
18375 add %r12, (donretarg_4_61-donret_4_61-4), %r12
18376 mov 0x38, %r18
18377 stxa %r12, [%r18]0x58
18378 add %r12, 0x4, %r11
18379 wrpr %g0, 0x1, %tl
18380 wrpr %g0, %r12, %tpc
18381 wrpr %g0, %r11, %tnpc
18382 set (0x00241658 | (0x8b << 24)), %r13
18383 rdpr %tstate, %r16
18384 mov 0x1f, %r19
18385 and %r19, %r16, %r17
18386 andn %r16, %r19, %r16
18387 or %r16, %r17, %r20
18388 wrpr %r20, %g0, %tstate
18389 wrhpr %g0, 0x14c1, %htstate
18390 ta T_CHANGE_NONPRIV ! rand=0 (4)
18391 done
18392donretarg_4_61:
18393 .word 0xd4ffe000 ! 71: SWAPA_I swapa %r10, [%r31 + 0x0000] %asi
18394ibp_4_62:
18395 nop
18396 ta T_CHANGE_HPRIV
18397 mov 8, %r18
18398 rd %asi, %r12
18399 wr %r0, 0x41, %asi
18400 set sync_thr_counter4, %r23
18401#ifndef SPC
18402 ldxa [%g0]0x63, %r8
18403 and %r8, 0x38, %r8 ! Core ID
18404 add %r8, %r23, %r23
18405#else
18406 mov 0, %r8
18407#endif
18408 mov 0x4, %r16
18409ibp_startwait4_62:
18410 cas [%r23],%g0,%r16 !lock
18411 brz,a %r16, continue_ibp_4_62
18412 mov (~0x4&0xf), %r16
18413 ld [%r23], %r16
18414ibp_wait4_62:
18415 brnz %r16, ibp_wait4_62
18416 ld [%r23], %r16
18417 ba ibp_startwait4_62
18418 mov 0x4, %r16
18419continue_ibp_4_62:
18420 sllx %r16, %r8, %r16 !Mask for my core only
18421 ldxa [0x58]%asi, %r17 !Running_status
18422wait_for_stat_4_62:
18423 ldxa [0x50]%asi, %r13 !Running_rw
18424 cmp %r13, %r17
18425 bne,a wait_for_stat_4_62
18426 ldxa [0x58]%asi, %r17 !Running_status
18427 stxa %r16, [0x68]%asi !Park (W1C)
18428 ldxa [0x50]%asi, %r14 !Running_rw
18429wait_for_ibp_4_62:
18430 ldxa [0x58]%asi, %r17 !Running_status
18431 cmp %r14, %r17
18432 bne,a wait_for_ibp_4_62
18433 ldxa [0x50]%asi, %r14 !Running_rw
18434ibp_doit4_62:
18435 best_set_reg(0x00000040eedefc96,%r19, %r20)
18436 stxa %r20, [%r18]0x42
18437 stxa %r16, [0x60] %asi !Unpark (W1S)
18438 st %g0, [%r23] !clear lock
18439 wr %r0, %r12, %asi !restore %asi
18440 .word 0x87ac0a4d ! 72: FCMPd fcmpd %fcc<n>, %f16, %f44
18441 .word 0x2f400001 ! 1: FBPU fbu,a,pn %fcc0, <label_0x1>
18442 .word 0x8d9030f9 ! 73: WRPR_PSTATE_I wrpr %r0, 0x10f9, %pstate
18443dvapa_4_64:
18444 nop
18445 ta T_CHANGE_HPRIV
18446 mov 0xc80, %r20
18447 mov 0x7, %r19
18448 sllx %r20, 23, %r20
18449 or %r19, %r20, %r19
18450 stxa %r19, [%g0] ASI_LSU_CONTROL
18451 mov 0x38, %r18
18452 stxa %r31, [%r18]0x58
18453 ta T_CHANGE_NONHPRIV
18454 .word 0xc1bfdc00 ! 74: STDFA_R stda %f0, [%r0, %r31]
18455 setx vahole_target1, %r18, %r27
18456 .word 0x95b28494 ! 75: FCMPLE32 fcmple32 %d10, %d20, %r10
18457pmu_4_66:
18458 nop
18459 setx 0xfffff351fffff097, %g1, %g7
18460 .word 0xa3800007 ! 76: WR_PERF_COUNTER_R wr %r0, %r7, %-
18461donret_4_67:
18462 nop
18463 ta T_CHANGE_HPRIV ! macro
18464 rd %pc, %r12
18465 add %r12, (donretarg_4_67-donret_4_67-4), %r12
18466 mov 0x38, %r18
18467 stxa %r12, [%r18]0x58
18468 add %r12, 0x4, %r11
18469 wrpr %g0, 0x1, %tl
18470 wrpr %g0, %r12, %tpc
18471 wrpr %g0, %r11, %tnpc
18472 set (0x00bc022c | (28 << 24)), %r13
18473 rdpr %tstate, %r16
18474 mov 0x1f, %r19
18475 and %r19, %r16, %r17
18476 andn %r16, %r19, %r16
18477 or %r16, %r17, %r20
18478 wrpr %r20, %g0, %tstate
18479 wrhpr %g0, 0x1c07, %htstate
18480 ta T_CHANGE_NONHPRIV ! rand=1 (4)
18481 .word 0x24800001 ! 1: BLE ble,a <label_0x1>
18482 done
18483donretarg_4_67:
18484 .word 0xd2ffe081 ! 77: SWAPA_I swapa %r9, [%r31 + 0x0081] %asi
18485 nop
18486 ta T_CHANGE_HPRIV
18487 mov 0x4+1, %r10
18488 set sync_thr_counter5, %r23
18489#ifndef SPC
18490 ldxa [%g0]0x63, %o1
18491 and %o1, 0x38, %o1
18492 add %o1, %r23, %r23
18493#endif
18494 cas [%r23],%g0,%r10 !lock
18495 brnz %r10, cwq_4_68
18496 rd %asi, %r12
18497 wr %g0, 0x40, %asi
18498 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
18499 and %l1, 0x3, %l1 ! Check if busy/enabled ..
18500 cmp %l1, 1
18501 bne cwq_4_68
18502 set CWQ_BASE, %l6
18503 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
18504 best_set_reg(0x20610000, %l1, %l2) !# Control Word
18505 sllx %l2, 32, %l2
18506 stx %l2, [%l6 + 0x0]
18507 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
18508 sub %l2, 0x40, %l2
18509 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
18510 wr %r12, %g0, %asi
18511 st %g0, [%r23]
18512cwq_4_68:
18513 ta T_CHANGE_NONHPRIV
18514 .word 0x9b414000 ! 78: RDPC rd %pc, %r13
18515 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
18516reduce_priv_lvl_4_69:
18517 ta T_CHANGE_NONHPRIV ! macro
18518trapasi_4_70:
18519 nop
18520 mov 0x38, %r1 ! (VA for ASI 0x50)
18521 .word 0xe4904a00 ! 80: LDUHA_R lduha [%r1, %r0] 0x50, %r18
18522tglhtw_4_71:
18523 nop
18524 rd %asi, %l3 ! save %asi
18525 ta T_CHANGE_HPRIV
18526 wr %g0, ASI_MMU_ZERO_CONTEXT_TSB_CONFIG, %asi
18527 mov 1, %l2
18528 sllx %l2, 63, %l2
18529 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
18530 xor %l4, %l2, %l4
18531 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi
18532 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
18533 xor %l4, %l2, %l4
18534 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi
18535 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
18536 xor %l4, %l2, %l4
18537 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi
18538 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
18539 xor %l4, %l2, %l4
18540 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi
18541 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
18542 xor %l4, %l2, %l4
18543 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi
18544 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
18545 xor %l4, %l2, %l4
18546 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi
18547 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
18548 xor %l4, %l2, %l4
18549 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi
18550 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
18551 xor %l4, %l2, %l4
18552 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi
18553 ta T_CHANGE_NONHPRIV
18554 wr %g0, %l3, %asi !restore %asi
18555 .word 0xa1b44988 ! 81: BSHUFFLE fmovc32 %d48, %d8, %d16
18556pmu_4_72:
18557 nop
18558 ta T_CHANGE_PRIV
18559 setx 0xfffff12ffffff78f, %g1, %g7
18560 .word 0xa3800007 ! 82: WR_PERF_COUNTER_R wr %r0, %r7, %-
18561tagged_4_73:
18562 taddcctv %r12, 0x1471, %r12
18563 .word 0xd607e184 ! 83: LDUW_I lduw [%r31 + 0x0184], %r11
18564#if (defined SPC || defined CMP)
18565!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_4_74) + 24, 16, 16)) -> intp(2,0,17)
18566!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_4_74)&0xffffffff) + 24, 16, 16)) -> intp(2,0,17)
18567#else
18568 setx 0x51b0b6aa7ebcf5cc, %r1, %r28
18569 stxa %r28, [%g0] 0x73
18570#endif
18571intvec_4_74:
18572 .word 0x39400001 ! 84: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
18573 .word 0x83d020b4 ! 85: Tcc_I te icc_or_xcc, %r0 + 180
18574 set 0x22a4, %l3
18575 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
18576 .word 0x95b487c4 ! 86: PDIST pdistn %d18, %d4, %d10
18577 .word 0x91924007 ! 87: WRPR_PIL_R wrpr %r9, %r7, %pil
18578 .word 0x91920012 ! 88: WRPR_PIL_R wrpr %r8, %r18, %pil
18579pmu_4_77:
18580 nop
18581 ta T_CHANGE_PRIV
18582 setx 0xfffff416fffff4fa, %g1, %g7
18583 .word 0xa3800007 ! 89: WR_PERF_COUNTER_R wr %r0, %r7, %-
18584 .word 0x22780001 ! 90: BPE <illegal instruction>
18585 setx vahole_target3, %r18, %r27
18586 .word 0xd33fc00a ! 91: STDF_R std %f9, [%r10, %r31]
18587ibp_4_79:
18588 nop
18589 ta T_CHANGE_HPRIV
18590 mov 8, %r18
18591 rd %asi, %r12
18592 wr %r0, 0x41, %asi
18593 set sync_thr_counter4, %r23
18594#ifndef SPC
18595 ldxa [%g0]0x63, %r8
18596 and %r8, 0x38, %r8 ! Core ID
18597 add %r8, %r23, %r23
18598#else
18599 mov 0, %r8
18600#endif
18601 mov 0x4, %r16
18602ibp_startwait4_79:
18603 cas [%r23],%g0,%r16 !lock
18604 brz,a %r16, continue_ibp_4_79
18605 mov (~0x4&0xf), %r16
18606 ld [%r23], %r16
18607ibp_wait4_79:
18608 brnz %r16, ibp_wait4_79
18609 ld [%r23], %r16
18610 ba ibp_startwait4_79
18611 mov 0x4, %r16
18612continue_ibp_4_79:
18613 sllx %r16, %r8, %r16 !Mask for my core only
18614 ldxa [0x58]%asi, %r17 !Running_status
18615wait_for_stat_4_79:
18616 ldxa [0x50]%asi, %r13 !Running_rw
18617 cmp %r13, %r17
18618 bne,a wait_for_stat_4_79
18619 ldxa [0x58]%asi, %r17 !Running_status
18620 stxa %r16, [0x68]%asi !Park (W1C)
18621 ldxa [0x50]%asi, %r14 !Running_rw
18622wait_for_ibp_4_79:
18623 ldxa [0x58]%asi, %r17 !Running_status
18624 cmp %r14, %r17
18625 bne,a wait_for_ibp_4_79
18626 ldxa [0x50]%asi, %r14 !Running_rw
18627ibp_doit4_79:
18628 best_set_reg(0x00000040d7fc9623,%r19, %r20)
18629 stxa %r20, [%r18]0x42
18630 stxa %r16, [0x60] %asi !Unpark (W1S)
18631 st %g0, [%r23] !clear lock
18632 wr %r0, %r12, %asi !restore %asi
18633 ta T_CHANGE_NONHPRIV
18634 .word 0xa5a189cc ! 92: FDIVd fdivd %f6, %f12, %f18
18635splash_lsu_4_80:
18636 nop
18637 ta T_CHANGE_HPRIV
18638 set 0x283106c6, %r2
18639 mov 0x6, %r1
18640 sllx %r1, 32, %r1
18641 or %r1, %r2, %r2
18642 stxa %r2, [%r0] ASI_LSU_CONTROL
18643 .word 0x3d400001 ! 93: FBPULE fbule,a,pn %fcc0, <label_0x1>
18644splash_lsu_4_81:
18645 nop
18646 ta T_CHANGE_HPRIV
18647 set 0xba06dbb2, %r2
18648 mov 0x7, %r1
18649 sllx %r1, 32, %r1
18650 or %r1, %r2, %r2
18651 stxa %r2, [%r0] ASI_LSU_CONTROL
18652 .word 0x3d400001 ! 94: FBPULE fbule,a,pn %fcc0, <label_0x1>
18653 .word 0x81460000 ! 95: RD_STICK_REG stbar
18654splash_lsu_4_82:
18655 nop
18656 ta T_CHANGE_HPRIV
18657 set 0x94bcf228, %r2
18658 mov 0x1, %r1
18659 sllx %r1, 32, %r1
18660 or %r1, %r2, %r2
18661 stxa %r2, [%r0] ASI_LSU_CONTROL
18662 ta T_CHANGE_NONHPRIV
18663 .word 0x3d400001 ! 96: FBPULE fbule,a,pn %fcc0, <label_0x1>
18664 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
18665reduce_priv_lvl_4_83:
18666 ta T_CHANGE_NONHPRIV ! macro
18667 .word 0x29800001 ! 98: FBL fbl,a <label_0x1>
18668splash_hpstate_4_85:
18669 .word 0x37400001 ! 1: FBPGE fbge,a,pn %fcc0, <label_0x1>
18670 .word 0x8198374d ! 99: WRHPR_HPSTATE_I wrhpr %r0, 0x174d, %hpstate
18671 .word 0xe01fe0a8 ! 100: LDD_I ldd [%r31 + 0x00a8], %r16
18672 .word 0xe09fe000 ! 101: LDDA_I ldda [%r31, + 0x0000] %asi, %r16
18673ibp_4_86:
18674 nop
18675 ta T_CHANGE_HPRIV
18676 mov 8, %r18
18677 rd %asi, %r12
18678 wr %r0, 0x41, %asi
18679 set sync_thr_counter4, %r23
18680#ifndef SPC
18681 ldxa [%g0]0x63, %r8
18682 and %r8, 0x38, %r8 ! Core ID
18683 add %r8, %r23, %r23
18684#else
18685 mov 0, %r8
18686#endif
18687 mov 0x4, %r16
18688ibp_startwait4_86:
18689 cas [%r23],%g0,%r16 !lock
18690 brz,a %r16, continue_ibp_4_86
18691 mov (~0x4&0xf), %r16
18692 ld [%r23], %r16
18693ibp_wait4_86:
18694 brnz %r16, ibp_wait4_86
18695 ld [%r23], %r16
18696 ba ibp_startwait4_86
18697 mov 0x4, %r16
18698continue_ibp_4_86:
18699 sllx %r16, %r8, %r16 !Mask for my core only
18700 ldxa [0x58]%asi, %r17 !Running_status
18701wait_for_stat_4_86:
18702 ldxa [0x50]%asi, %r13 !Running_rw
18703 cmp %r13, %r17
18704 bne,a wait_for_stat_4_86
18705 ldxa [0x58]%asi, %r17 !Running_status
18706 stxa %r16, [0x68]%asi !Park (W1C)
18707 ldxa [0x50]%asi, %r14 !Running_rw
18708wait_for_ibp_4_86:
18709 ldxa [0x58]%asi, %r17 !Running_status
18710 cmp %r14, %r17
18711 bne,a wait_for_ibp_4_86
18712 ldxa [0x50]%asi, %r14 !Running_rw
18713ibp_doit4_86:
18714 best_set_reg(0x00000050ead623f4,%r19, %r20)
18715 stxa %r20, [%r18]0x42
18716 stxa %r16, [0x60] %asi !Unpark (W1S)
18717 st %g0, [%r23] !clear lock
18718 wr %r0, %r12, %asi !restore %asi
18719 .word 0xe1bfe0c0 ! 102: STDFA_I stda %f16, [0x00c0, %r31]
18720 .word 0x91d02032 ! 103: Tcc_I ta icc_or_xcc, %r0 + 50
18721 nop
18722 ta T_CHANGE_HPRIV
18723 mov 0x4, %r10
18724 set sync_thr_counter6, %r23
18725#ifndef SPC
18726 ldxa [%g0]0x63, %o1
18727 and %o1, 0x38, %o1
18728 add %o1, %r23, %r23
18729#endif
18730 cas [%r23],%g0,%r10 !lock
18731 brnz %r10, sma_4_87
18732 rd %asi, %r12
18733 wr %g0, 0x40, %asi
18734 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
18735 set 0x00021fff, %g1
18736 stxa %g1, [%g0 + 0x80] %asi
18737 wr %r12, %g0, %asi
18738 st %g0, [%r23]
18739sma_4_87:
18740 ta T_CHANGE_NONHPRIV
18741 .word 0xe1e7e009 ! 104: CASA_R casa [%r31] %asi, %r9, %r16
18742 .word 0x9194c002 ! 105: WRPR_PIL_R wrpr %r19, %r2, %pil
18743pmu_4_89:
18744 nop
18745 setx 0xfffff263fffff1f7, %g1, %g7
18746 .word 0xa3800007 ! 106: WR_PERF_COUNTER_R wr %r0, %r7, %-
18747 .word 0xc30fc000 ! 107: LDXFSR_R ld-fsr [%r31, %r0], %f1
18748 .word 0x33400001 ! 1: FBPE fbe,a,pn %fcc0, <label_0x1>
18749 .word 0x8d902c69 ! 108: WRPR_PSTATE_I wrpr %r0, 0x0c69, %pstate
18750intveclr_4_91:
18751 nop
18752 ta T_CHANGE_HPRIV
18753 setx 0xc0577fd298a890ed, %r1, %r28
18754 stxa %r28, [%g0] 0x72
18755 ta T_CHANGE_NONHPRIV
18756 .word 0x25400001 ! 109: FBPLG fblg,a,pn %fcc0, <label_0x1>
18757brcommon2_4_92:
18758 nop
18759 setx common_target, %r12, %r27
18760 ba,a .+12
18761 .word 0xa1a7c971 ! 1: FMULq dis not found
18762
18763 ba,a .+8
18764 jmpl %r27+0, %r27
18765 .word 0xe19fdb60 ! 110: LDDFA_R ldda [%r31, %r0], %f16
18766pmu_4_93:
18767 nop
18768 ta T_CHANGE_PRIV
18769 setx 0xfffff2f5fffff18f, %g1, %g7
18770 .word 0xa3800007 ! 111: WR_PERF_COUNTER_R wr %r0, %r7, %-
18771 setx vahole_target2, %r18, %r27
18772 .word 0xe83fed78 ! 112: STD_I std %r20, [%r31 + 0x0d78]
18773 .word 0x24c9c001 ! 113: BRLEZ brlez,a,pt %r7,<label_0x9c001>
18774dvapa_4_96:
18775 nop
18776 ta T_CHANGE_HPRIV
18777 mov 0xc55, %r20
18778 mov 0x10, %r19
18779 sllx %r20, 23, %r20
18780 or %r19, %r20, %r19
18781 stxa %r19, [%g0] ASI_LSU_CONTROL
18782 mov 0x38, %r18
18783 stxa %r31, [%r18]0x58
18784 ta T_CHANGE_NONHPRIV
18785 .word 0x95a509cd ! 114: FDIVd fdivd %f20, %f44, %f10
18786splash_cmpr_4_97:
18787 mov 1, %r18
18788 sllx %r18, 63, %r18
18789 rd %tick, %r17
18790 add %r17, 0x80, %r17
18791 or %r17, %r18, %r17
18792 ta T_CHANGE_PRIV
18793 .word 0xaf800011 ! 115: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
18794 setx vahole_target1, %r18, %r27
18795 .word 0xc32fc009 ! 116: STXFSR_R st-sfr %f1, [%r9, %r31]
18796 setx vahole_target0, %r18, %r27
18797 .word 0xc19fde00 ! 117: LDDFA_R ldda [%r31, %r0], %f0
18798mondo_4_100:
18799 nop
18800 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
18801 stxa %r6, [%r0+0x3d8] %asi
18802 .word 0x9d904006 ! 118: WRPR_WSTATE_R wrpr %r1, %r6, %wstate
18803trapasi_4_101:
18804 nop
18805 mov 0x38, %r1 ! (VA for ASI 0x50)
18806 .word 0xd2d04a00 ! 119: LDSHA_R ldsha [%r1, %r0] 0x50, %r9
18807splash_cmpr_4_102:
18808 mov 1, %r18
18809 sllx %r18, 63, %r18
18810 rd %tick, %r17
18811 add %r17, 0x80, %r17
18812 or %r17, %r18, %r17
18813 .word 0xaf800011 ! 120: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
18814 nop
18815 ta T_CHANGE_HPRIV
18816 mov 0x4, %r10
18817 set sync_thr_counter6, %r23
18818#ifndef SPC
18819 ldxa [%g0]0x63, %o1
18820 and %o1, 0x38, %o1
18821 add %o1, %r23, %r23
18822#endif
18823 cas [%r23],%g0,%r10 !lock
18824 brnz %r10, sma_4_103
18825 rd %asi, %r12
18826 wr %g0, 0x40, %asi
18827 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
18828 set 0x000a1fff, %g1
18829 stxa %g1, [%g0 + 0x80] %asi
18830 wr %r12, %g0, %asi
18831 st %g0, [%r23]
18832sma_4_103:
18833 ta T_CHANGE_NONHPRIV
18834 .word 0xd3e7e011 ! 121: CASA_R casa [%r31] %asi, %r17, %r9
18835dvapa_4_104:
18836 nop
18837 ta T_CHANGE_HPRIV
18838 mov 0xdc9, %r20
18839 mov 0x15, %r19
18840 sllx %r20, 23, %r20
18841 or %r19, %r20, %r19
18842 stxa %r19, [%g0] ASI_LSU_CONTROL
18843 mov 0x38, %r18
18844 stxa %r31, [%r18]0x58
18845 ta T_CHANGE_NONHPRIV
18846 .word 0x9f8034b6 ! 122: SIR sir 0x14b6
18847splash_hpstate_4_105:
18848 .word 0x27400001 ! 1: FBPUL fbul,a,pn %fcc0, <label_0x1>
18849 .word 0x81983459 ! 123: WRHPR_HPSTATE_I wrhpr %r0, 0x1459, %hpstate
18850 .word 0xc19fc2c0 ! 124: LDDFA_R ldda [%r31, %r0], %f0
18851mondo_4_107:
18852 nop
18853 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
18854 ta T_CHANGE_PRIV
18855 stxa %r19, [%r0+0x3e0] %asi
18856 .word 0x9d92c00c ! 125: WRPR_WSTATE_R wrpr %r11, %r12, %wstate
18857splash_tba_4_108:
18858 ta T_CHANGE_PRIV
18859 set 0x120000, %r12
18860 .word 0x8b90000c ! 126: WRPR_TBA_R wrpr %r0, %r12, %tba
18861 .word 0x9b500000 ! 127: RDPR_TPC <illegal instruction>
18862brcommon2_4_109:
18863 nop
18864 setx common_target, %r12, %r27
18865 ba,a .+12
18866 .word 0x81dfc012 ! 1: FLUSH_R flush
18867 ba,a .+8
18868 jmpl %r27+0, %r27
18869 .word 0xc1bfc3e0 ! 128: STDFA_R stda %f0, [%r0, %r31]
18870splash_hpstate_4_110:
18871 .word 0x81983897 ! 129: WRHPR_HPSTATE_I wrhpr %r0, 0x1897, %hpstate
18872 .word 0x89800011 ! 130: WRTICK_R wr %r0, %r17, %tick
18873 .word 0xe19fe060 ! 131: LDDFA_I ldda [%r31, 0x0060], %f16
18874 .word 0x91a0016a ! 132: FABSq dis not found
18875
18876 setx 0xf81c3d703c12d875, %r1, %r28
18877 stxa %r28, [%g0] 0x73
18878intvec_4_113:
18879 .word 0x39400001 ! 133: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
18880fpinit_4_114:
18881 setx fp_data_quads, %r19, %r20
18882 ldd [%r20], %f0
18883 ldd [%r20+8], %f4
18884 ld [%r20+16], %fsr
18885 ld [%r20+24], %r19
18886 wr %r19, %g0, %gsr
18887 .word 0x89a009c4 ! 134: FDIVd fdivd %f0, %f4, %f4
18888 .word 0x8d903a4f ! 135: WRPR_PSTATE_I wrpr %r0, 0x1a4f, %pstate
18889 .word 0xd83fc000 ! 136: STD_R std %r12, [%r31 + %r0]
18890intveclr_4_117:
18891 nop
18892 ta T_CHANGE_HPRIV
18893 setx 0xcbf3c69f372bc609, %r1, %r28
18894 stxa %r28, [%g0] 0x72
18895 .word 0x25400001 ! 137: FBPLG fblg,a,pn %fcc0, <label_0x1>
18896pmu_4_118:
18897 nop
18898 setx 0xfffff602ffffffb9, %g1, %g7
18899 .word 0xa3800007 ! 138: WR_PERF_COUNTER_R wr %r0, %r7, %-
18900ibp_4_119:
18901 nop
18902 ta T_CHANGE_HPRIV
18903 mov 8, %r18
18904 rd %asi, %r12
18905 wr %r0, 0x41, %asi
18906 set sync_thr_counter4, %r23
18907#ifndef SPC
18908 ldxa [%g0]0x63, %r8
18909 and %r8, 0x38, %r8 ! Core ID
18910 add %r8, %r23, %r23
18911#else
18912 mov 0, %r8
18913#endif
18914 mov 0x4, %r16
18915ibp_startwait4_119:
18916 cas [%r23],%g0,%r16 !lock
18917 brz,a %r16, continue_ibp_4_119
18918 mov (~0x4&0xf), %r16
18919 ld [%r23], %r16
18920ibp_wait4_119:
18921 brnz %r16, ibp_wait4_119
18922 ld [%r23], %r16
18923 ba ibp_startwait4_119
18924 mov 0x4, %r16
18925continue_ibp_4_119:
18926 sllx %r16, %r8, %r16 !Mask for my core only
18927 ldxa [0x58]%asi, %r17 !Running_status
18928wait_for_stat_4_119:
18929 ldxa [0x50]%asi, %r13 !Running_rw
18930 cmp %r13, %r17
18931 bne,a wait_for_stat_4_119
18932 ldxa [0x58]%asi, %r17 !Running_status
18933 stxa %r16, [0x68]%asi !Park (W1C)
18934 ldxa [0x50]%asi, %r14 !Running_rw
18935wait_for_ibp_4_119:
18936 ldxa [0x58]%asi, %r17 !Running_status
18937 cmp %r14, %r17
18938 bne,a wait_for_ibp_4_119
18939 ldxa [0x50]%asi, %r14 !Running_rw
18940ibp_doit4_119:
18941 best_set_reg(0x00000050fbe3f401,%r19, %r20)
18942 stxa %r20, [%r18]0x42
18943 stxa %r16, [0x60] %asi !Unpark (W1S)
18944 st %g0, [%r23] !clear lock
18945 wr %r0, %r12, %asi !restore %asi
18946 ta T_CHANGE_NONHPRIV
18947 .word 0x87aa4a4b ! 139: FCMPd fcmpd %fcc<n>, %f40, %f42
18948splash_lsu_4_120:
18949 nop
18950 ta T_CHANGE_HPRIV
18951 set 0x12753567, %r2
18952 mov 0x3, %r1
18953 sllx %r1, 32, %r1
18954 or %r1, %r2, %r2
18955 stxa %r2, [%r0] ASI_LSU_CONTROL
18956 ta T_CHANGE_NONHPRIV
18957 .word 0x3d400001 ! 140: FBPULE fbule,a,pn %fcc0, <label_0x1>
18958pmu_4_121:
18959 nop
18960 ta T_CHANGE_PRIV
18961 setx 0xfffff5c3fffff4af, %g1, %g7
18962 .word 0xa3800007 ! 141: WR_PERF_COUNTER_R wr %r0, %r7, %-
18963 .word 0x91a489a8 ! 142: FDIVs fdivs %f18, %f8, %f8
18964splash_cmpr_4_123:
18965 mov 1, %r18
18966 sllx %r18, 63, %r18
18967 rd %tick, %r17
18968 add %r17, 0x80, %r17
18969 or %r17, %r18, %r17
18970 ta T_CHANGE_PRIV
18971 .word 0xb3800011 ! 143: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
18972 .word 0xd47ffbe8 ! 144: SWAP_I swap %r10, [%r31 + 0xfffffbe8]
18973splash_cmpr_4_124:
18974 mov 0, %r18
18975 sllx %r18, 63, %r18
18976 rd %tick, %r17
18977 add %r17, 0x80, %r17
18978 or %r17, %r18, %r17
18979 ta T_CHANGE_HPRIV
18980 wrhpr %r17, %g0, %hsys_tick_cmpr
18981 .word 0xaf800011 ! 145: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
18982 .word 0xa1524000 ! 146: RDPR_CWP <illegal instruction>
18983intveclr_4_126:
18984 nop
18985 ta T_CHANGE_HPRIV
18986 setx 0x790124ddec1bf3cd, %r1, %r28
18987 stxa %r28, [%g0] 0x72
18988 ta T_CHANGE_NONHPRIV
18989 .word 0x25400001 ! 147: FBPLG fblg,a,pn %fcc0, <label_0x1>
18990memptr_4_127:
18991 set 0x60740000, %r31
18992 .word 0x85846173 ! 148: WRCCR_I wr %r17, 0x0173, %ccr
18993 .word 0x8780204f ! 149: WRASI_I wr %r0, 0x004f, %asi
18994intveclr_4_128:
18995 nop
18996 ta T_CHANGE_HPRIV
18997 setx 0x605e544af4500184, %r1, %r28
18998 stxa %r28, [%g0] 0x72
18999 ta T_CHANGE_NONHPRIV
19000 .word 0x25400001 ! 150: FBPLG fblg,a,pn %fcc0, <label_0x1>
19001 .word 0xe08008a0 ! 151: LDUWA_R lduwa [%r0, %r0] 0x45, %r16
19002mondo_4_129:
19003 nop
19004 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
19005 stxa %r3, [%r0+0x3c0] %asi
19006 .word 0x9d910012 ! 152: WRPR_WSTATE_R wrpr %r4, %r18, %wstate
19007 setx vahole_target3, %r18, %r27
19008 .word 0xc1bfc2c0 ! 153: STDFA_R stda %f0, [%r0, %r31]
19009 .word 0xe08fe018 ! 154: LDUBA_I lduba [%r31, + 0x0018] %asi, %r16
19010 .word 0x91d020b5 ! 155: Tcc_I ta icc_or_xcc, %r0 + 181
19011 nop
19012 ta T_CHANGE_HPRIV
19013 mov 0x4+1, %r10
19014 set sync_thr_counter5, %r23
19015#ifndef SPC
19016 ldxa [%g0]0x63, %o1
19017 and %o1, 0x38, %o1
19018 add %o1, %r23, %r23
19019#endif
19020 cas [%r23],%g0,%r10 !lock
19021 brnz %r10, cwq_4_131
19022 rd %asi, %r12
19023 wr %g0, 0x40, %asi
19024 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
19025 and %l1, 0x3, %l1 ! Check if busy/enabled ..
19026 cmp %l1, 1
19027 bne cwq_4_131
19028 set CWQ_BASE, %l6
19029 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
19030 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
19031 sllx %l2, 32, %l2
19032 stx %l2, [%l6 + 0x0]
19033 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
19034 sub %l2, 0x40, %l2
19035 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
19036 wr %r12, %g0, %asi
19037 st %g0, [%r23]
19038cwq_4_131:
19039 ta T_CHANGE_NONHPRIV
19040 .word 0xa1414000 ! 156: RDPC rd %pc, %r16
19041ibp_4_132:
19042 nop
19043 ta T_CHANGE_HPRIV
19044 mov 8, %r18
19045 rd %asi, %r12
19046 wr %r0, 0x41, %asi
19047 set sync_thr_counter4, %r23
19048#ifndef SPC
19049 ldxa [%g0]0x63, %r8
19050 and %r8, 0x38, %r8 ! Core ID
19051 add %r8, %r23, %r23
19052#else
19053 mov 0, %r8
19054#endif
19055 mov 0x4, %r16
19056ibp_startwait4_132:
19057 cas [%r23],%g0,%r16 !lock
19058 brz,a %r16, continue_ibp_4_132
19059 mov (~0x4&0xf), %r16
19060 ld [%r23], %r16
19061ibp_wait4_132:
19062 brnz %r16, ibp_wait4_132
19063 ld [%r23], %r16
19064 ba ibp_startwait4_132
19065 mov 0x4, %r16
19066continue_ibp_4_132:
19067 sllx %r16, %r8, %r16 !Mask for my core only
19068 ldxa [0x58]%asi, %r17 !Running_status
19069wait_for_stat_4_132:
19070 ldxa [0x50]%asi, %r13 !Running_rw
19071 cmp %r13, %r17
19072 bne,a wait_for_stat_4_132
19073 ldxa [0x58]%asi, %r17 !Running_status
19074 stxa %r16, [0x68]%asi !Park (W1C)
19075 ldxa [0x50]%asi, %r14 !Running_rw
19076wait_for_ibp_4_132:
19077 ldxa [0x58]%asi, %r17 !Running_status
19078 cmp %r14, %r17
19079 bne,a wait_for_ibp_4_132
19080 ldxa [0x50]%asi, %r14 !Running_rw
19081ibp_doit4_132:
19082 best_set_reg(0x00000040fbf401f3,%r19, %r20)
19083 stxa %r20, [%r18]0x42
19084 stxa %r16, [0x60] %asi !Unpark (W1S)
19085 st %g0, [%r23] !clear lock
19086 wr %r0, %r12, %asi !restore %asi
19087 .word 0xc3ec002d ! 157: PREFETCHA_R prefetcha [%r16, %r13] 0x01, #one_read
19088splash_lsu_4_133:
19089 nop
19090 ta T_CHANGE_HPRIV
19091 set 0x03ebbb6d, %r2
19092 mov 0x6, %r1
19093 sllx %r1, 32, %r1
19094 or %r1, %r2, %r2
19095 stxa %r2, [%r0] ASI_LSU_CONTROL
19096 .word 0x3d400001 ! 158: FBPULE fbule,a,pn %fcc0, <label_0x1>
19097 .word 0xe8800c40 ! 159: LDUWA_R lduwa [%r0, %r0] 0x62, %r20
19098 setx vahole_target1, %r18, %r27
19099 .word 0xe1bfdf20 ! 160: STDFA_R stda %f16, [%r0, %r31]
19100brcommon1_4_135:
19101 nop
19102 setx common_target, %r12, %r27
19103 lduw [%r27], %r12 ! Load common dest into dcache ..
19104 ba,a .+12
19105 .word 0xe86ff5c6 ! 1: LDSTUB_I ldstub %r20, [%r31 + 0xfffff5c6]
19106 ba,a .+8
19107 jmpl %r27+0, %r27
19108 .word 0x99a509a7 ! 161: FDIVs fdivs %f20, %f7, %f12
19109splash_hpstate_4_136:
19110 .word 0x8198261e ! 162: WRHPR_HPSTATE_I wrhpr %r0, 0x061e, %hpstate
19111 .word 0xd497e198 ! 163: LDUHA_I lduha [%r31, + 0x0198] %asi, %r10
19112 setx vahole_target1, %r18, %r27
19113 .word 0xc1bfe060 ! 164: STDFA_I stda %f0, [0x0060, %r31]
19114pmu_4_138:
19115 nop
19116 setx 0xfffffa7dfffff135, %g1, %g7
19117 .word 0xa3800007 ! 165: WR_PERF_COUNTER_R wr %r0, %r7, %-
19118 setx vahole_target0, %r18, %r27
19119 .word 0xd53fc008 ! 166: STDF_R std %f10, [%r8, %r31]
19120intveclr_4_140:
19121 nop
19122 ta T_CHANGE_HPRIV
19123 setx 0xf2e3b045c6de954a, %r1, %r28
19124 stxa %r28, [%g0] 0x72
19125 ta T_CHANGE_NONHPRIV
19126 .word 0x25400001 ! 167: FBPLG fblg,a,pn %fcc0, <label_0x1>
19127 .word 0x8d902661 ! 168: WRPR_PSTATE_I wrpr %r0, 0x0661, %pstate
19128 .word 0x8780208a ! 169: WRASI_I wr %r0, 0x008a, %asi
19129ibp_4_142:
19130 nop
19131 ta T_CHANGE_HPRIV
19132 mov 8, %r18
19133 rd %asi, %r12
19134 wr %r0, 0x41, %asi
19135 set sync_thr_counter4, %r23
19136#ifndef SPC
19137 ldxa [%g0]0x63, %r8
19138 and %r8, 0x38, %r8 ! Core ID
19139 add %r8, %r23, %r23
19140#else
19141 mov 0, %r8
19142#endif
19143 mov 0x4, %r16
19144ibp_startwait4_142:
19145 cas [%r23],%g0,%r16 !lock
19146 brz,a %r16, continue_ibp_4_142
19147 mov (~0x4&0xf), %r16
19148 ld [%r23], %r16
19149ibp_wait4_142:
19150 brnz %r16, ibp_wait4_142
19151 ld [%r23], %r16
19152 ba ibp_startwait4_142
19153 mov 0x4, %r16
19154continue_ibp_4_142:
19155 sllx %r16, %r8, %r16 !Mask for my core only
19156 ldxa [0x58]%asi, %r17 !Running_status
19157wait_for_stat_4_142:
19158 ldxa [0x50]%asi, %r13 !Running_rw
19159 cmp %r13, %r17
19160 bne,a wait_for_stat_4_142
19161 ldxa [0x58]%asi, %r17 !Running_status
19162 stxa %r16, [0x68]%asi !Park (W1C)
19163 ldxa [0x50]%asi, %r14 !Running_rw
19164wait_for_ibp_4_142:
19165 ldxa [0x58]%asi, %r17 !Running_status
19166 cmp %r14, %r17
19167 bne,a wait_for_ibp_4_142
19168 ldxa [0x50]%asi, %r14 !Running_rw
19169ibp_doit4_142:
19170 best_set_reg(0x00000050d2c1f3b9,%r19, %r20)
19171 stxa %r20, [%r18]0x42
19172 stxa %r16, [0x60] %asi !Unpark (W1S)
19173 st %g0, [%r23] !clear lock
19174 wr %r0, %r12, %asi !restore %asi
19175 ta T_CHANGE_NONHPRIV
19176 .word 0x87ac4a4d ! 170: FCMPd fcmpd %fcc<n>, %f48, %f44
19177 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
19178reduce_priv_lvl_4_143:
19179 ta T_CHANGE_NONPRIV ! macro
19180fpinit_4_144:
19181 setx fp_data_quads, %r19, %r20
19182 ldd [%r20], %f0
19183 ldd [%r20+8], %f4
19184 ld [%r20+16], %fsr
19185 ld [%r20+24], %r19
19186 wr %r19, %g0, %gsr
19187 .word 0x87a80a44 ! 172: FCMPd fcmpd %fcc<n>, %f0, %f4
19188dvapa_4_145:
19189 nop
19190 ta T_CHANGE_HPRIV
19191 mov 0xa36, %r20
19192 mov 0x15, %r19
19193 sllx %r20, 23, %r20
19194 or %r19, %r20, %r19
19195 stxa %r19, [%g0] ASI_LSU_CONTROL
19196 mov 0x38, %r18
19197 stxa %r31, [%r18]0x58
19198 ta T_CHANGE_NONHPRIV
19199 .word 0xe4bfc033 ! 173: STDA_R stda %r18, [%r31 + %r19] 0x01
19200intveclr_4_146:
19201 nop
19202 ta T_CHANGE_HPRIV
19203 setx 0x18d9da6642354359, %r1, %r28
19204 stxa %r28, [%g0] 0x72
19205 ta T_CHANGE_NONHPRIV
19206 .word 0x25400001 ! 174: FBPLG fblg,a,pn %fcc0, <label_0x1>
19207 .word 0xe51fe0d8 ! 175: LDDF_I ldd [%r31, 0x00d8], %f18
19208donret_4_147:
19209 nop
19210 ta T_CHANGE_HPRIV ! macro
19211 rd %pc, %r12
19212 add %r12, (donretarg_4_147-donret_4_147-4), %r12
19213 mov 0x38, %r18
19214 stxa %r12, [%r18]0x58
19215 add %r12, 0x4, %r11
19216 wrpr %g0, 0x1, %tl
19217 wrpr %g0, %r12, %tpc
19218 wrpr %g0, %r11, %tnpc
19219 set (0x00e0c3a0 | (0x55 << 24)), %r13
19220 rdpr %tstate, %r16
19221 mov 0x1f, %r19
19222 and %r19, %r16, %r17
19223 andn %r16, %r19, %r16
19224 or %r16, %r17, %r20
19225 wrpr %r20, %g0, %tstate
19226 wrhpr %g0, 0xb6c, %htstate
19227 ta T_CHANGE_NONHPRIV ! rand=1 (4)
19228 done
19229donretarg_4_147:
19230 .word 0xe4ffe168 ! 176: SWAPA_I swapa %r18, [%r31 + 0x0168] %asi
19231 .word 0xe19fe120 ! 177: LDDFA_I ldda [%r31, 0x0120], %f16
19232 .word 0x93d020b5 ! 178: Tcc_I tne icc_or_xcc, %r0 + 181
19233fpinit_4_148:
19234 setx fp_data_quads, %r19, %r20
19235 ldd [%r20], %f0
19236 ldd [%r20+8], %f4
19237 ld [%r20+16], %fsr
19238 ld [%r20+24], %r19
19239 wr %r19, %g0, %gsr
19240 .word 0x89a009a4 ! 179: FDIVs fdivs %f0, %f4, %f4
19241splash_cmpr_4_149:
19242 mov 1, %r18
19243 sllx %r18, 63, %r18
19244 rd %tick, %r17
19245 add %r17, 0x70, %r17
19246 or %r17, %r18, %r17
19247 ta T_CHANGE_PRIV
19248 .word 0xaf800011 ! 180: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
19249 nop
19250 ta T_CHANGE_HPRIV
19251 mov 0x4+1, %r10
19252 set sync_thr_counter5, %r23
19253#ifndef SPC
19254 ldxa [%g0]0x63, %o1
19255 and %o1, 0x38, %o1
19256 add %o1, %r23, %r23
19257#endif
19258 cas [%r23],%g0,%r10 !lock
19259 brnz %r10, cwq_4_150
19260 rd %asi, %r12
19261 wr %g0, 0x40, %asi
19262 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
19263 and %l1, 0x3, %l1 ! Check if busy/enabled ..
19264 cmp %l1, 1
19265 bne cwq_4_150
19266 set CWQ_BASE, %l6
19267 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
19268 best_set_reg(0x20610030, %l1, %l2) !# Control Word
19269 sllx %l2, 32, %l2
19270 stx %l2, [%l6 + 0x0]
19271 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
19272 sub %l2, 0x40, %l2
19273 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
19274 wr %r12, %g0, %asi
19275 st %g0, [%r23]
19276cwq_4_150:
19277 ta T_CHANGE_NONHPRIV
19278 .word 0x95414000 ! 181: RDPC rd %pc, %r10
19279 .word 0x87ac0a54 ! 182: FCMPd fcmpd %fcc<n>, %f16, %f20
19280 .word 0x97a00174 ! 183: FABSq dis not found
19281
19282 setx vahole_target2, %r18, %r27
19283 .word 0xc1bfe060 ! 184: STDFA_I stda %f0, [0x0060, %r31]
19284mondo_4_154:
19285 nop
19286 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
19287 ta T_CHANGE_PRIV
19288 stxa %r4, [%r0+0x3c0] %asi
19289 .word 0x9d940010 ! 185: WRPR_WSTATE_R wrpr %r16, %r16, %wstate
19290 .word 0xc1bfe1e0 ! 186: STDFA_I stda %f0, [0x01e0, %r31]
19291 nop
19292 ta T_CHANGE_HPRIV
19293 mov 0x4, %r10
19294 set sync_thr_counter6, %r23
19295#ifndef SPC
19296 ldxa [%g0]0x63, %o1
19297 and %o1, 0x38, %o1
19298 add %o1, %r23, %r23
19299#endif
19300 cas [%r23],%g0,%r10 !lock
19301 brnz %r10, sma_4_156
19302 rd %asi, %r12
19303 wr %g0, 0x40, %asi
19304 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
19305 set 0x001a1fff, %g1
19306 stxa %g1, [%g0 + 0x80] %asi
19307 wr %r12, %g0, %asi
19308 st %g0, [%r23]
19309sma_4_156:
19310 ta T_CHANGE_NONHPRIV
19311 .word 0xdbe7e012 ! 187: CASA_R casa [%r31] %asi, %r18, %r13
19312pmu_4_157:
19313 nop
19314 ta T_CHANGE_PRIV
19315 setx 0xfffffc2cfffff728, %g1, %g7
19316 .word 0xa3800007 ! 188: WR_PERF_COUNTER_R wr %r0, %r7, %-
19317br_badelay1_4_158:
19318 .word 0x39400001 ! 1: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
19319 .word 0x3f400001 ! 1: FBPO fbo,a,pn %fcc0, <label_0x1>
19320 .word 0xda3fc010 ! 1: STD_R std %r13, [%r31 + %r16]
19321 normalw
19322 .word 0x91458000 ! 189: RD_SOFTINT_REG rd %softint, %r8
19323 .word 0x91944014 ! 190: WRPR_PIL_R wrpr %r17, %r20, %pil
19324splash_cmpr_4_160:
19325 mov 1, %r18
19326 sllx %r18, 63, %r18
19327 rd %tick, %r17
19328 add %r17, 0x80, %r17
19329 or %r17, %r18, %r17
19330 ta T_CHANGE_PRIV
19331 .word 0xaf800011 ! 191: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
19332splash_cmpr_4_161:
19333 mov 1, %r18
19334 sllx %r18, 63, %r18
19335 rd %tick, %r17
19336 add %r17, 0x50, %r17
19337 or %r17, %r18, %r17
19338 .word 0xaf800011 ! 192: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
19339ibp_4_162:
19340 nop
19341 ta T_CHANGE_HPRIV
19342 mov 8, %r18
19343 rd %asi, %r12
19344 wr %r0, 0x41, %asi
19345 set sync_thr_counter4, %r23
19346#ifndef SPC
19347 ldxa [%g0]0x63, %r8
19348 and %r8, 0x38, %r8 ! Core ID
19349 add %r8, %r23, %r23
19350#else
19351 mov 0, %r8
19352#endif
19353 mov 0x4, %r16
19354ibp_startwait4_162:
19355 cas [%r23],%g0,%r16 !lock
19356 brz,a %r16, continue_ibp_4_162
19357 mov (~0x4&0xf), %r16
19358 ld [%r23], %r16
19359ibp_wait4_162:
19360 brnz %r16, ibp_wait4_162
19361 ld [%r23], %r16
19362 ba ibp_startwait4_162
19363 mov 0x4, %r16
19364continue_ibp_4_162:
19365 sllx %r16, %r8, %r16 !Mask for my core only
19366 ldxa [0x58]%asi, %r17 !Running_status
19367wait_for_stat_4_162:
19368 ldxa [0x50]%asi, %r13 !Running_rw
19369 cmp %r13, %r17
19370 bne,a wait_for_stat_4_162
19371 ldxa [0x58]%asi, %r17 !Running_status
19372 stxa %r16, [0x68]%asi !Park (W1C)
19373 ldxa [0x50]%asi, %r14 !Running_rw
19374wait_for_ibp_4_162:
19375 ldxa [0x58]%asi, %r17 !Running_status
19376 cmp %r14, %r17
19377 bne,a wait_for_ibp_4_162
19378 ldxa [0x50]%asi, %r14 !Running_rw
19379ibp_doit4_162:
19380 best_set_reg(0x000000501bf3b9c2,%r19, %r20)
19381 stxa %r20, [%r18]0x42
19382 stxa %r16, [0x60] %asi !Unpark (W1S)
19383 st %g0, [%r23] !clear lock
19384 wr %r0, %r12, %asi !restore %asi
19385 .word 0xa9703238 ! 193: POPC_I popc 0x1238, %r20
19386 .word 0x89800011 ! 194: WRTICK_R wr %r0, %r17, %tick
19387ibp_4_164:
19388 nop
19389 ta T_CHANGE_HPRIV
19390 mov 8, %r18
19391 rd %asi, %r12
19392 wr %r0, 0x41, %asi
19393 set sync_thr_counter4, %r23
19394#ifndef SPC
19395 ldxa [%g0]0x63, %r8
19396 and %r8, 0x38, %r8 ! Core ID
19397 add %r8, %r23, %r23
19398#else
19399 mov 0, %r8
19400#endif
19401 mov 0x4, %r16
19402ibp_startwait4_164:
19403 cas [%r23],%g0,%r16 !lock
19404 brz,a %r16, continue_ibp_4_164
19405 mov (~0x4&0xf), %r16
19406 ld [%r23], %r16
19407ibp_wait4_164:
19408 brnz %r16, ibp_wait4_164
19409 ld [%r23], %r16
19410 ba ibp_startwait4_164
19411 mov 0x4, %r16
19412continue_ibp_4_164:
19413 sllx %r16, %r8, %r16 !Mask for my core only
19414 ldxa [0x58]%asi, %r17 !Running_status
19415wait_for_stat_4_164:
19416 ldxa [0x50]%asi, %r13 !Running_rw
19417 cmp %r13, %r17
19418 bne,a wait_for_stat_4_164
19419 ldxa [0x58]%asi, %r17 !Running_status
19420 stxa %r16, [0x68]%asi !Park (W1C)
19421 ldxa [0x50]%asi, %r14 !Running_rw
19422wait_for_ibp_4_164:
19423 ldxa [0x58]%asi, %r17 !Running_status
19424 cmp %r14, %r17
19425 bne,a wait_for_ibp_4_164
19426 ldxa [0x50]%asi, %r14 !Running_rw
19427ibp_doit4_164:
19428 best_set_reg(0x00000040e5f9c226,%r19, %r20)
19429 stxa %r20, [%r18]0x42
19430 stxa %r16, [0x60] %asi !Unpark (W1S)
19431 st %g0, [%r23] !clear lock
19432 wr %r0, %r12, %asi !restore %asi
19433 .word 0xc19fd960 ! 195: LDDFA_R ldda [%r31, %r0], %f0
19434 nop
19435 ta T_CHANGE_HPRIV
19436 mov 0x4, %r10
19437 set sync_thr_counter6, %r23
19438#ifndef SPC
19439 ldxa [%g0]0x63, %o1
19440 and %o1, 0x38, %o1
19441 add %o1, %r23, %r23
19442#endif
19443 cas [%r23],%g0,%r10 !lock
19444 brnz %r10, sma_4_165
19445 rd %asi, %r12
19446 wr %g0, 0x40, %asi
19447 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
19448 set 0x00121fff, %g1
19449 stxa %g1, [%g0 + 0x80] %asi
19450 wr %r12, %g0, %asi
19451 st %g0, [%r23]
19452sma_4_165:
19453 ta T_CHANGE_NONHPRIV
19454 .word 0xe9e7e009 ! 196: CASA_R casa [%r31] %asi, %r9, %r20
19455splash_tba_4_166:
19456 ta T_CHANGE_PRIV
19457 setx 0x0000000400380000, %r11, %r12
19458 .word 0x8b90000c ! 197: WRPR_TBA_R wrpr %r0, %r12, %tba
19459intveclr_4_167:
19460 nop
19461 ta T_CHANGE_HPRIV
19462 setx 0x097aa49fa1922ad7, %r1, %r28
19463 stxa %r28, [%g0] 0x72
19464 ta T_CHANGE_NONHPRIV
19465 .word 0x25400001 ! 198: FBPLG fblg,a,pn %fcc0, <label_0x1>
19466fpinit_4_168:
19467 setx fp_data_quads, %r19, %r20
19468 ldd [%r20], %f0
19469 ldd [%r20+8], %f4
19470 ld [%r20+16], %fsr
19471 ld [%r20+24], %r19
19472 wr %r19, %g0, %gsr
19473 .word 0x91a009c4 ! 199: FDIVd fdivd %f0, %f4, %f8
19474 .word 0xa7a0016a ! 200: FABSq dis not found
19475
19476trapasi_4_170:
19477 nop
19478 mov 0x0, %r1 ! (VA for ASI 0x4c)
19479 .word 0xe0d84980 ! 201: LDXA_R ldxa [%r1, %r0] 0x4c, %r16
19480splash_tba_4_171:
19481 ta T_CHANGE_PRIV
19482 setx 0x0000000400380000, %r11, %r12
19483 .word 0x8b90000c ! 202: WRPR_TBA_R wrpr %r0, %r12, %tba
19484 .word 0xe197e010 ! 203: LDQFA_I - [%r31, 0x0010], %f16
19485 .word 0x8780204f ! 204: WRASI_I wr %r0, 0x004f, %asi
19486 .word 0xa7454000 ! 205: RD_CLEAR_SOFTINT rd %clear_softint, %r19
19487memptr_4_172:
19488 set 0x60740000, %r31
19489 .word 0x8582bcb6 ! 206: WRCCR_I wr %r10, 0x1cb6, %ccr
19490splash_cmpr_4_173:
19491 mov 0, %r18
19492 sllx %r18, 63, %r18
19493 rd %tick, %r17
19494 add %r17, 0x60, %r17
19495 or %r17, %r18, %r17
19496 .word 0xaf800011 ! 207: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
19497 .word 0x89800011 ! 208: WRTICK_R wr %r0, %r17, %tick
19498pmu_4_175:
19499 nop
19500 setx 0xfffffa7cfffff4fb, %g1, %g7
19501 .word 0xa3800007 ! 209: WR_PERF_COUNTER_R wr %r0, %r7, %-
19502 nop
19503 ta T_CHANGE_HPRIV
19504 mov 0x4+1, %r10
19505 set sync_thr_counter5, %r23
19506#ifndef SPC
19507 ldxa [%g0]0x63, %o1
19508 and %o1, 0x38, %o1
19509 add %o1, %r23, %r23
19510#endif
19511 cas [%r23],%g0,%r10 !lock
19512 brnz %r10, cwq_4_176
19513 rd %asi, %r12
19514 wr %g0, 0x40, %asi
19515 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
19516 and %l1, 0x3, %l1 ! Check if busy/enabled ..
19517 cmp %l1, 1
19518 bne cwq_4_176
19519 set CWQ_BASE, %l6
19520 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
19521 best_set_reg(0x20610090, %l1, %l2) !# Control Word
19522 sllx %l2, 32, %l2
19523 stx %l2, [%l6 + 0x0]
19524 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
19525 sub %l2, 0x40, %l2
19526 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
19527 wr %r12, %g0, %asi
19528 st %g0, [%r23]
19529cwq_4_176:
19530 ta T_CHANGE_NONHPRIV
19531 .word 0x91414000 ! 210: RDPC rd %pc, %r8
19532 .word 0x91d020b2 ! 211: Tcc_I ta icc_or_xcc, %r0 + 178
19533 .word 0x89800011 ! 212: WRTICK_R wr %r0, %r17, %tick
19534 setx vahole_target2, %r18, %r27
19535 .word 0xa9a509d0 ! 213: FDIVd fdivd %f20, %f16, %f20
19536 .word 0xda8008a0 ! 214: LDUWA_R lduwa [%r0, %r0] 0x45, %r13
19537pmu_4_179:
19538 nop
19539 setx 0xfffffd6dfffffa17, %g1, %g7
19540 .word 0xa3800007 ! 215: WR_PERF_COUNTER_R wr %r0, %r7, %-
19541brcommon3_4_180:
19542 nop
19543 setx common_target, %r12, %r27
19544 lduw [%r27], %r12 ! Load common dest into dcache ..
19545 ba,a .+12
19546 .word 0xdbe7c032 ! 1: CASA_I casa [%r31] 0x 1, %r18, %r13
19547 ba,a .+8
19548 jmpl %r27+0, %r27
19549 .word 0xda9fc034 ! 216: LDDA_R ldda [%r31, %r20] 0x01, %r13
19550trapasi_4_181:
19551 nop
19552 mov 0x3c0, %r1 ! (VA for ASI 0x25)
19553 .word 0xda9044a0 ! 217: LDUHA_R lduha [%r1, %r0] 0x25, %r13
19554pmu_4_182:
19555 nop
19556 setx 0xfffffd50fffff8bb, %g1, %g7
19557 .word 0xa3800007 ! 218: WR_PERF_COUNTER_R wr %r0, %r7, %-
19558donret_4_183:
19559 nop
19560 ta T_CHANGE_HPRIV ! macro
19561 rd %pc, %r12
19562 add %r12, (donretarg_4_183-donret_4_183-4), %r12
19563 mov 0x38, %r18
19564 stxa %r12, [%r18]0x58
19565 add %r12, 0x4, %r11
19566 wrpr %g0, 0x2, %tl
19567 wrpr %g0, %r12, %tpc
19568 wrpr %g0, %r11, %tnpc
19569 set (0x002d5613 | (0x83 << 24)), %r13
19570 rdpr %tstate, %r16
19571 mov 0x1f, %r19
19572 and %r19, %r16, %r17
19573 andn %r16, %r19, %r16
19574 or %r16, %r17, %r20
19575 wrpr %r20, %g0, %tstate
19576 wrhpr %g0, 0x1811, %htstate
19577 ta T_CHANGE_NONPRIV ! rand=0 (4)
19578 .word 0x21400001 ! 1: FBPN fbn,a,pn %fcc0, <label_0x1>
19579 done
19580donretarg_4_183:
19581 .word 0xda6fe144 ! 219: LDSTUB_I ldstub %r13, [%r31 + 0x0144]
19582 nop
19583 ta T_CHANGE_HPRIV
19584 mov 0x4, %r10
19585 set sync_thr_counter6, %r23
19586#ifndef SPC
19587 ldxa [%g0]0x63, %o1
19588 and %o1, 0x38, %o1
19589 add %o1, %r23, %r23
19590#endif
19591 cas [%r23],%g0,%r10 !lock
19592 brnz %r10, sma_4_184
19593 rd %asi, %r12
19594 wr %g0, 0x40, %asi
19595 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
19596 set 0x00021fff, %g1
19597 stxa %g1, [%g0 + 0x80] %asi
19598 wr %r12, %g0, %asi
19599 st %g0, [%r23]
19600sma_4_184:
19601 ta T_CHANGE_NONHPRIV
19602 .word 0xdbe7e012 ! 220: CASA_R casa [%r31] %asi, %r18, %r13
19603 nop
19604 ta T_CHANGE_HPRIV
19605 mov 0x4+1, %r10
19606 set sync_thr_counter5, %r23
19607#ifndef SPC
19608 ldxa [%g0]0x63, %o1
19609 and %o1, 0x38, %o1
19610 add %o1, %r23, %r23
19611#endif
19612 cas [%r23],%g0,%r10 !lock
19613 brnz %r10, cwq_4_185
19614 rd %asi, %r12
19615 wr %g0, 0x40, %asi
19616 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
19617 and %l1, 0x3, %l1 ! Check if busy/enabled ..
19618 cmp %l1, 1
19619 bne cwq_4_185
19620 set CWQ_BASE, %l6
19621 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
19622 best_set_reg(0x206100b0, %l1, %l2) !# Control Word
19623 sllx %l2, 32, %l2
19624 stx %l2, [%l6 + 0x0]
19625 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
19626 sub %l2, 0x40, %l2
19627 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
19628 wr %r12, %g0, %asi
19629 st %g0, [%r23]
19630cwq_4_185:
19631 ta T_CHANGE_NONHPRIV
19632 .word 0xa1414000 ! 221: RDPC rd %pc, %r16
19633ibp_4_186:
19634 nop
19635 ta T_CHANGE_HPRIV
19636 mov 8, %r18
19637 rd %asi, %r12
19638 wr %r0, 0x41, %asi
19639 set sync_thr_counter4, %r23
19640#ifndef SPC
19641 ldxa [%g0]0x63, %r8
19642 and %r8, 0x38, %r8 ! Core ID
19643 add %r8, %r23, %r23
19644#else
19645 mov 0, %r8
19646#endif
19647 mov 0x4, %r16
19648ibp_startwait4_186:
19649 cas [%r23],%g0,%r16 !lock
19650 brz,a %r16, continue_ibp_4_186
19651 mov (~0x4&0xf), %r16
19652 ld [%r23], %r16
19653ibp_wait4_186:
19654 brnz %r16, ibp_wait4_186
19655 ld [%r23], %r16
19656 ba ibp_startwait4_186
19657 mov 0x4, %r16
19658continue_ibp_4_186:
19659 sllx %r16, %r8, %r16 !Mask for my core only
19660 ldxa [0x58]%asi, %r17 !Running_status
19661wait_for_stat_4_186:
19662 ldxa [0x50]%asi, %r13 !Running_rw
19663 cmp %r13, %r17
19664 bne,a wait_for_stat_4_186
19665 ldxa [0x58]%asi, %r17 !Running_status
19666 stxa %r16, [0x68]%asi !Park (W1C)
19667 ldxa [0x50]%asi, %r14 !Running_rw
19668wait_for_ibp_4_186:
19669 ldxa [0x58]%asi, %r17 !Running_status
19670 cmp %r14, %r17
19671 bne,a wait_for_ibp_4_186
19672 ldxa [0x50]%asi, %r14 !Running_rw
19673ibp_doit4_186:
19674 best_set_reg(0x000000403dc226e8,%r19, %r20)
19675 stxa %r20, [%r18]0x42
19676 stxa %r16, [0x60] %asi !Unpark (W1S)
19677 st %g0, [%r23] !clear lock
19678 wr %r0, %r12, %asi !restore %asi
19679 ta T_CHANGE_NONHPRIV
19680 .word 0xa37033fd ! 222: POPC_I popc 0x13fd, %r17
19681 .word 0xe0bfc020 ! 223: STDA_R stda %r16, [%r31 + %r0] 0x01
19682 .word 0x8d903882 ! 224: WRPR_PSTATE_I wrpr %r0, 0x1882, %pstate
19683 .word 0x89800011 ! 225: WRTICK_R wr %r0, %r17, %tick
19684ibp_4_189:
19685 nop
19686 ta T_CHANGE_HPRIV
19687 mov 8, %r18
19688 rd %asi, %r12
19689 wr %r0, 0x41, %asi
19690 set sync_thr_counter4, %r23
19691#ifndef SPC
19692 ldxa [%g0]0x63, %r8
19693 and %r8, 0x38, %r8 ! Core ID
19694 add %r8, %r23, %r23
19695#else
19696 mov 0, %r8
19697#endif
19698 mov 0x4, %r16
19699ibp_startwait4_189:
19700 cas [%r23],%g0,%r16 !lock
19701 brz,a %r16, continue_ibp_4_189
19702 mov (~0x4&0xf), %r16
19703 ld [%r23], %r16
19704ibp_wait4_189:
19705 brnz %r16, ibp_wait4_189
19706 ld [%r23], %r16
19707 ba ibp_startwait4_189
19708 mov 0x4, %r16
19709continue_ibp_4_189:
19710 sllx %r16, %r8, %r16 !Mask for my core only
19711 ldxa [0x58]%asi, %r17 !Running_status
19712wait_for_stat_4_189:
19713 ldxa [0x50]%asi, %r13 !Running_rw
19714 cmp %r13, %r17
19715 bne,a wait_for_stat_4_189
19716 ldxa [0x58]%asi, %r17 !Running_status
19717 stxa %r16, [0x68]%asi !Park (W1C)
19718 ldxa [0x50]%asi, %r14 !Running_rw
19719wait_for_ibp_4_189:
19720 ldxa [0x58]%asi, %r17 !Running_status
19721 cmp %r14, %r17
19722 bne,a wait_for_ibp_4_189
19723 ldxa [0x50]%asi, %r14 !Running_rw
19724ibp_doit4_189:
19725 best_set_reg(0x000000400be6e849,%r19, %r20)
19726 stxa %r20, [%r18]0x42
19727 stxa %r16, [0x60] %asi !Unpark (W1S)
19728 st %g0, [%r23] !clear lock
19729 wr %r0, %r12, %asi !restore %asi
19730 .word 0xe1bfda00 ! 226: STDFA_R stda %f16, [%r0, %r31]
19731 .word 0xc30fc000 ! 227: LDXFSR_R ld-fsr [%r31, %r0], %f1
19732brcommon3_4_190:
19733 nop
19734 setx common_target, %r12, %r27
19735 lduw [%r27], %r12 ! Load common dest into dcache ..
19736 ba,a .+12
19737 .word 0xe06ff3fd ! 1: LDSTUB_I ldstub %r16, [%r31 + 0xfffff3fd]
19738 ba,a .+8
19739 jmpl %r27+0, %r27
19740 .word 0xe097c02c ! 228: LDUHA_R lduha [%r31, %r12] 0x01, %r16
19741 .word 0xa1902000 ! 229: WRPR_GL_I wrpr %r0, 0x0000, %-
19742splash_cmpr_4_191:
19743 mov 1, %r18
19744 sllx %r18, 63, %r18
19745 rd %tick, %r17
19746 add %r17, 0x50, %r17
19747 or %r17, %r18, %r17
19748 ta T_CHANGE_PRIV
19749 .word 0xaf800011 ! 230: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
19750splash_lsu_4_192:
19751 nop
19752 ta T_CHANGE_HPRIV
19753 set 0xcd53d6dc, %r2
19754 mov 0x2, %r1
19755 sllx %r1, 32, %r1
19756 or %r1, %r2, %r2
19757 stxa %r2, [%r0] ASI_LSU_CONTROL
19758 .word 0x3d400001 ! 231: FBPULE fbule,a,pn %fcc0, <label_0x1>
19759 setx vahole_target3, %r18, %r27
19760 .word 0xc3ec0032 ! 232: PREFETCHA_R prefetcha [%r16, %r18] 0x01, #one_read
19761jmptr_4_194:
19762 nop
19763 best_set_reg(0xe1200000, %r20, %r27)
19764 .word 0xb7c6c000 ! 233: JMPL_R jmpl %r27 + %r0, %r27
19765dvapa_4_195:
19766 nop
19767 ta T_CHANGE_HPRIV
19768 mov 0x9e6, %r20
19769 mov 0x8, %r19
19770 sllx %r20, 23, %r20
19771 or %r19, %r20, %r19
19772 stxa %r19, [%g0] ASI_LSU_CONTROL
19773 mov 0x38, %r18
19774 stxa %r31, [%r18]0x58
19775 ta T_CHANGE_NONHPRIV
19776 .word 0xe3e7e009 ! 234: CASA_R casa [%r31] %asi, %r9, %r17
19777 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
19778reduce_priv_lvl_4_196:
19779 ta T_CHANGE_NONPRIV ! macro
19780 nop
19781 ta T_CHANGE_HPRIV
19782 mov 0x4, %r10
19783 set sync_thr_counter6, %r23
19784#ifndef SPC
19785 ldxa [%g0]0x63, %o1
19786 and %o1, 0x38, %o1
19787 add %o1, %r23, %r23
19788#endif
19789 cas [%r23],%g0,%r10 !lock
19790 brnz %r10, sma_4_197
19791 rd %asi, %r12
19792 wr %g0, 0x40, %asi
19793 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
19794 set 0x000a1fff, %g1
19795 stxa %g1, [%g0 + 0x80] %asi
19796 wr %r12, %g0, %asi
19797 st %g0, [%r23]
19798sma_4_197:
19799 ta T_CHANGE_NONHPRIV
19800 .word 0xe3e7e00b ! 236: CASA_R casa [%r31] %asi, %r11, %r17
19801 nop
19802 ta T_CHANGE_HPRIV
19803 mov 0x4, %r10
19804 set sync_thr_counter6, %r23
19805#ifndef SPC
19806 ldxa [%g0]0x63, %o1
19807 and %o1, 0x38, %o1
19808 add %o1, %r23, %r23
19809#endif
19810 cas [%r23],%g0,%r10 !lock
19811 brnz %r10, sma_4_198
19812 rd %asi, %r12
19813 wr %g0, 0x40, %asi
19814 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
19815 set 0x00061fff, %g1
19816 stxa %g1, [%g0 + 0x80] %asi
19817 wr %r12, %g0, %asi
19818 st %g0, [%r23]
19819sma_4_198:
19820 ta T_CHANGE_NONHPRIV
19821 .word 0xe3e7e014 ! 237: CASA_R casa [%r31] %asi, %r20, %r17
19822 setx 0xb0eed2b733970ed3, %r1, %r28
19823 stxa %r28, [%g0] 0x73
19824intvec_4_199:
19825 .word 0x39400001 ! 238: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
19826brcommon2_4_200:
19827 nop
19828 setx common_target, %r12, %r27
19829 ba,a .+12
19830 .word 0xc36fe2e8 ! 1: PREFETCH_I prefetch [%r31 + 0x02e8], #one_read
19831 ba,a .+8
19832 jmpl %r27+0, %r27
19833 .word 0xe19fdb60 ! 239: LDDFA_R ldda [%r31, %r0], %f16
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_201
19845 rd %asi, %r12
19846 wr %g0, 0x40, %asi
19847 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
19848 set 0x00061fff, %g1
19849 stxa %g1, [%g0 + 0x80] %asi
19850 wr %r12, %g0, %asi
19851 st %g0, [%r23]
19852sma_4_201:
19853 ta T_CHANGE_NONHPRIV
19854 .word 0xe3e7e013 ! 240: CASA_R casa [%r31] %asi, %r19, %r17
19855 .word 0x8780208b ! 241: WRASI_I wr %r0, 0x008b, %asi
19856 .word 0xe327c000 ! 242: STF_R st %f17, [%r0, %r31]
19857donret_4_202:
19858 nop
19859 ta T_CHANGE_HPRIV ! macro
19860 rd %pc, %r12
19861 add %r12, (donretarg_4_202-donret_4_202-8), %r12
19862 mov 0x38, %r18
19863 stxa %r12, [%r18]0x58
19864 add %r12, 0x4, %r11
19865 wrpr %g0, 0x1, %tl
19866 wrpr %g0, %r12, %tpc
19867 wrpr %g0, %r11, %tnpc
19868 set (0x00ce953e | (0x83 << 24)), %r13
19869 rdpr %tstate, %r16
19870 mov 0x1f, %r19
19871 and %r19, %r16, %r17
19872 andn %r16, %r19, %r16
19873 or %r16, %r17, %r20
19874 wrpr %r20, %g0, %tstate
19875 wrhpr %g0, 0xfc5, %htstate
19876 ta T_CHANGE_NONPRIV ! rand=0 (4)
19877 retry
19878donretarg_4_202:
19879 .word 0xa9a2c9d4 ! 243: FDIVd fdivd %f42, %f20, %f20
19880 .word 0xe0dfe0f0 ! 244: LDXA_I ldxa [%r31, + 0x00f0] %asi, %r16
19881pmu_4_203:
19882 nop
19883 ta T_CHANGE_PRIV
19884 setx 0xfffff854fffff0db, %g1, %g7
19885 .word 0xa3800007 ! 245: WR_PERF_COUNTER_R wr %r0, %r7, %-
19886change_to_randtl_4_204:
19887 ta T_CHANGE_PRIV ! macro
19888done_change_to_randtl_4_204:
19889 .word 0x8f902001 ! 246: WRPR_TL_I wrpr %r0, 0x0001, %tl
19890pmu_4_205:
19891 nop
19892 ta T_CHANGE_PRIV
19893 setx 0xfffff210fffff26d, %g1, %g7
19894 .word 0xa3800007 ! 247: WR_PERF_COUNTER_R wr %r0, %r7, %-
19895 nop
19896 ta T_CHANGE_HPRIV
19897 mov 0x4+1, %r10
19898 set sync_thr_counter5, %r23
19899#ifndef SPC
19900 ldxa [%g0]0x63, %o1
19901 and %o1, 0x38, %o1
19902 add %o1, %r23, %r23
19903#endif
19904 cas [%r23],%g0,%r10 !lock
19905 brnz %r10, cwq_4_206
19906 rd %asi, %r12
19907 wr %g0, 0x40, %asi
19908 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
19909 and %l1, 0x3, %l1 ! Check if busy/enabled ..
19910 cmp %l1, 1
19911 bne cwq_4_206
19912 set CWQ_BASE, %l6
19913 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
19914 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
19915 sllx %l2, 32, %l2
19916 stx %l2, [%l6 + 0x0]
19917 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
19918 sub %l2, 0x40, %l2
19919 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
19920 wr %r12, %g0, %asi
19921 st %g0, [%r23]
19922cwq_4_206:
19923 ta T_CHANGE_NONHPRIV
19924 .word 0x97414000 ! 248: RDPC rd %pc, %r11
19925donret_4_207:
19926 nop
19927 ta T_CHANGE_HPRIV ! macro
19928 rd %pc, %r12
19929 add %r12, (donretarg_4_207-donret_4_207-4), %r12
19930 mov 0x38, %r18
19931 stxa %r12, [%r18]0x58
19932 add %r12, 0x4, %r11
19933 wrpr %g0, 0x1, %tl
19934 wrpr %g0, %r12, %tpc
19935 wrpr %g0, %r11, %tnpc
19936 set (0x0031e0d4 | (0x8a << 24)), %r13
19937 rdpr %tstate, %r16
19938 mov 0x1f, %r19
19939 and %r19, %r16, %r17
19940 andn %r16, %r19, %r16
19941 or %r16, %r17, %r20
19942 wrpr %r20, %g0, %tstate
19943 wrhpr %g0, 0x1c9e, %htstate
19944 ta T_CHANGE_NONHPRIV ! rand=1 (4)
19945 done
19946donretarg_4_207:
19947 .word 0xa7a249c3 ! 249: FDIVd fdivd %f40, %f34, %f50
19948ibp_4_208:
19949 nop
19950 ta T_CHANGE_HPRIV
19951 mov 8, %r18
19952 rd %asi, %r12
19953 wr %r0, 0x41, %asi
19954 set sync_thr_counter4, %r23
19955#ifndef SPC
19956 ldxa [%g0]0x63, %r8
19957 and %r8, 0x38, %r8 ! Core ID
19958 add %r8, %r23, %r23
19959#else
19960 mov 0, %r8
19961#endif
19962 mov 0x4, %r16
19963ibp_startwait4_208:
19964 cas [%r23],%g0,%r16 !lock
19965 brz,a %r16, continue_ibp_4_208
19966 mov (~0x4&0xf), %r16
19967 ld [%r23], %r16
19968ibp_wait4_208:
19969 brnz %r16, ibp_wait4_208
19970 ld [%r23], %r16
19971 ba ibp_startwait4_208
19972 mov 0x4, %r16
19973continue_ibp_4_208:
19974 sllx %r16, %r8, %r16 !Mask for my core only
19975 ldxa [0x58]%asi, %r17 !Running_status
19976wait_for_stat_4_208:
19977 ldxa [0x50]%asi, %r13 !Running_rw
19978 cmp %r13, %r17
19979 bne,a wait_for_stat_4_208
19980 ldxa [0x58]%asi, %r17 !Running_status
19981 stxa %r16, [0x68]%asi !Park (W1C)
19982 ldxa [0x50]%asi, %r14 !Running_rw
19983wait_for_ibp_4_208:
19984 ldxa [0x58]%asi, %r17 !Running_status
19985 cmp %r14, %r17
19986 bne,a wait_for_ibp_4_208
19987 ldxa [0x50]%asi, %r14 !Running_rw
19988ibp_doit4_208:
19989 best_set_reg(0x0000005031e84931,%r19, %r20)
19990 stxa %r20, [%r18]0x42
19991 stxa %r16, [0x60] %asi !Unpark (W1S)
19992 st %g0, [%r23] !clear lock
19993 wr %r0, %r12, %asi !restore %asi
19994 ta T_CHANGE_NONHPRIV
19995 .word 0x91702f9f ! 250: POPC_I popc 0x0f9f, %r8
19996fpinit_4_209:
19997 setx fp_data_quads, %r19, %r20
19998 ldd [%r20], %f0
19999 ldd [%r20+8], %f4
20000 ld [%r20+16], %fsr
20001 ld [%r20+24], %r19
20002 wr %r19, %g0, %gsr
20003 .word 0xc3e82f9f ! 251: PREFETCHA_I prefetcha [%r0, + 0x0f9f] %asi, #one_read
20004change_to_randtl_4_210:
20005 ta T_CHANGE_PRIV ! macro
20006done_change_to_randtl_4_210:
20007 .word 0x8f902001 ! 252: WRPR_TL_I wrpr %r0, 0x0001, %tl
20008 nop
20009 ta T_CHANGE_HPRIV
20010 mov 0x4+1, %r10
20011 set sync_thr_counter5, %r23
20012#ifndef SPC
20013 ldxa [%g0]0x63, %o1
20014 and %o1, 0x38, %o1
20015 add %o1, %r23, %r23
20016#endif
20017 cas [%r23],%g0,%r10 !lock
20018 brnz %r10, cwq_4_211
20019 rd %asi, %r12
20020 wr %g0, 0x40, %asi
20021 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
20022 and %l1, 0x3, %l1 ! Check if busy/enabled ..
20023 cmp %l1, 1
20024 bne cwq_4_211
20025 set CWQ_BASE, %l6
20026 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
20027 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
20028 sllx %l2, 32, %l2
20029 stx %l2, [%l6 + 0x0]
20030 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
20031 sub %l2, 0x40, %l2
20032 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
20033 wr %r12, %g0, %asi
20034 st %g0, [%r23]
20035cwq_4_211:
20036 ta T_CHANGE_NONHPRIV
20037 .word 0x91414000 ! 253: RDPC rd %pc, %r8
20038memptr_4_212:
20039 set 0x60140000, %r31
20040 .word 0x85852bbe ! 254: WRCCR_I wr %r20, 0x0bbe, %ccr
20041dvapa_4_213:
20042 nop
20043 ta T_CHANGE_HPRIV
20044 mov 0xc4b, %r20
20045 mov 0xa, %r19
20046 sllx %r20, 23, %r20
20047 or %r19, %r20, %r19
20048 stxa %r19, [%g0] ASI_LSU_CONTROL
20049 mov 0x38, %r18
20050 stxa %r31, [%r18]0x58
20051 ta T_CHANGE_NONHPRIV
20052 .word 0x87ad0a50 ! 255: FCMPd fcmpd %fcc<n>, %f20, %f16
20053donret_4_214:
20054 nop
20055 ta T_CHANGE_HPRIV ! macro
20056 rd %pc, %r12
20057 add %r12, (donretarg_4_214-donret_4_214-8), %r12
20058 mov 0x38, %r18
20059 stxa %r12, [%r18]0x58
20060 add %r12, 0x4, %r11
20061 wrpr %g0, 0x2, %tl
20062 wrpr %g0, %r12, %tpc
20063 wrpr %g0, %r11, %tnpc
20064 set (0x00974f99 | (22 << 24)), %r13
20065 rdpr %tstate, %r16
20066 mov 0x1f, %r19
20067 and %r19, %r16, %r17
20068 andn %r16, %r19, %r16
20069 or %r16, %r17, %r20
20070 wrpr %r20, %g0, %tstate
20071 wrhpr %g0, 0xed4, %htstate
20072 ta T_CHANGE_NONHPRIV ! rand=1 (4)
20073 retry
20074donretarg_4_214:
20075 .word 0x99a109d0 ! 256: FDIVd fdivd %f4, %f16, %f12
20076 .word 0xda3fe062 ! 257: STD_I std %r13, [%r31 + 0x0062]
20077dvapa_4_215:
20078 nop
20079 ta T_CHANGE_HPRIV
20080 mov 0xe44, %r20
20081 mov 0x18, %r19
20082 sllx %r20, 23, %r20
20083 or %r19, %r20, %r19
20084 stxa %r19, [%g0] ASI_LSU_CONTROL
20085 mov 0x38, %r18
20086 stxa %r31, [%r18]0x58
20087 ta T_CHANGE_NONHPRIV
20088 .word 0xdb3fc00a ! 258: STDF_R std %f13, [%r10, %r31]
20089 .word 0xc19fd960 ! 259: LDDFA_R ldda [%r31, %r0], %f0
20090 nop
20091 ta T_CHANGE_HPRIV
20092 mov 0x4, %r10
20093 set sync_thr_counter6, %r23
20094#ifndef SPC
20095 ldxa [%g0]0x63, %o1
20096 and %o1, 0x38, %o1
20097 add %o1, %r23, %r23
20098#endif
20099 cas [%r23],%g0,%r10 !lock
20100 brnz %r10, sma_4_216
20101 rd %asi, %r12
20102 wr %g0, 0x40, %asi
20103 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
20104 set 0x001e1fff, %g1
20105 stxa %g1, [%g0 + 0x80] %asi
20106 wr %r12, %g0, %asi
20107 st %g0, [%r23]
20108sma_4_216:
20109 ta T_CHANGE_NONHPRIV
20110 .word 0xdbe7e012 ! 260: CASA_R casa [%r31] %asi, %r18, %r13
20111pmu_4_217:
20112 nop
20113 ta T_CHANGE_PRIV
20114 setx 0xfffff01afffffa56, %g1, %g7
20115 .word 0xa3800007 ! 261: WR_PERF_COUNTER_R wr %r0, %r7, %-
20116 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
20117reduce_priv_lvl_4_218:
20118 ta T_CHANGE_NONHPRIV ! macro
20119pmu_4_219:
20120 nop
20121 ta T_CHANGE_PRIV
20122 setx 0xfffffd77fffff5fb, %g1, %g7
20123 .word 0xa3800007 ! 263: WR_PERF_COUNTER_R wr %r0, %r7, %-
20124pmu_4_220:
20125 nop
20126 setx 0xfffff4b0fffff6e7, %g1, %g7
20127 .word 0xa3800007 ! 264: WR_PERF_COUNTER_R wr %r0, %r7, %-
20128 setx 0xba22a45a267690a6, %r1, %r28
20129 stxa %r28, [%g0] 0x73
20130intvec_4_221:
20131 .word 0x39400001 ! 265: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
20132splash_lsu_4_222:
20133 nop
20134 ta T_CHANGE_HPRIV
20135 set 0x2b3b62d1, %r2
20136 mov 0x4, %r1
20137 sllx %r1, 32, %r1
20138 or %r1, %r2, %r2
20139 stxa %r2, [%r0] ASI_LSU_CONTROL
20140 ta T_CHANGE_NONHPRIV
20141 .word 0x3d400001 ! 266: FBPULE fbule,a,pn %fcc0, <label_0x1>
20142ibp_4_223:
20143 nop
20144 ta T_CHANGE_HPRIV
20145 mov 8, %r18
20146 rd %asi, %r12
20147 wr %r0, 0x41, %asi
20148 set sync_thr_counter4, %r23
20149#ifndef SPC
20150 ldxa [%g0]0x63, %r8
20151 and %r8, 0x38, %r8 ! Core ID
20152 add %r8, %r23, %r23
20153#else
20154 mov 0, %r8
20155#endif
20156 mov 0x4, %r16
20157ibp_startwait4_223:
20158 cas [%r23],%g0,%r16 !lock
20159 brz,a %r16, continue_ibp_4_223
20160 mov (~0x4&0xf), %r16
20161 ld [%r23], %r16
20162ibp_wait4_223:
20163 brnz %r16, ibp_wait4_223
20164 ld [%r23], %r16
20165 ba ibp_startwait4_223
20166 mov 0x4, %r16
20167continue_ibp_4_223:
20168 sllx %r16, %r8, %r16 !Mask for my core only
20169 ldxa [0x58]%asi, %r17 !Running_status
20170wait_for_stat_4_223:
20171 ldxa [0x50]%asi, %r13 !Running_rw
20172 cmp %r13, %r17
20173 bne,a wait_for_stat_4_223
20174 ldxa [0x58]%asi, %r17 !Running_status
20175 stxa %r16, [0x68]%asi !Park (W1C)
20176 ldxa [0x50]%asi, %r14 !Running_rw
20177wait_for_ibp_4_223:
20178 ldxa [0x58]%asi, %r17 !Running_status
20179 cmp %r14, %r17
20180 bne,a wait_for_ibp_4_223
20181 ldxa [0x50]%asi, %r14 !Running_rw
20182ibp_doit4_223:
20183 best_set_reg(0x00000050cbc931e6,%r19, %r20)
20184 stxa %r20, [%r18]0x42
20185 stxa %r16, [0x60] %asi !Unpark (W1S)
20186 st %g0, [%r23] !clear lock
20187 wr %r0, %r12, %asi !restore %asi
20188 ta T_CHANGE_NONHPRIV
20189 .word 0xc19fd960 ! 267: LDDFA_R ldda [%r31, %r0], %f0
20190mondo_4_224:
20191 nop
20192 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
20193 ta T_CHANGE_PRIV
20194 stxa %r7, [%r0+0x3c8] %asi
20195 .word 0x9d91000a ! 268: WRPR_WSTATE_R wrpr %r4, %r10, %wstate
20196donret_4_225:
20197 nop
20198 ta T_CHANGE_HPRIV ! macro
20199 rd %pc, %r12
20200 add %r12, (donretarg_4_225-donret_4_225-4), %r12
20201 mov 0x38, %r18
20202 stxa %r12, [%r18]0x58
20203 add %r12, 0x4, %r11
20204 wrpr %g0, 0x2, %tl
20205 wrpr %g0, %r12, %tpc
20206 wrpr %g0, %r11, %tnpc
20207 set (0x00ae85b6 | (32 << 24)), %r13
20208 rdpr %tstate, %r16
20209 mov 0x1f, %r19
20210 and %r19, %r16, %r17
20211 andn %r16, %r19, %r16
20212 or %r16, %r17, %r20
20213 wrpr %r20, %g0, %tstate
20214 wrhpr %g0, 0x1d81, %htstate
20215 ta T_CHANGE_NONPRIV ! rand=0 (4)
20216 .word 0x24cc0001 ! 1: BRLEZ brlez,a,pt %r16,<label_0xc0001>
20217 done
20218donretarg_4_225:
20219 .word 0xda6fe1df ! 269: LDSTUB_I ldstub %r13, [%r31 + 0x01df]
20220#if (defined SPC || defined CMP)
20221!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_4_226) + 56, 16, 16)) -> intp(2,0,1)
20222!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_4_226)&0xffffffff) + 56, 16, 16)) -> intp(2,0,1)
20223#else
20224 setx 0xdb3ecf32bb5b104f, %r1, %r28
20225 stxa %r28, [%g0] 0x73
20226#endif
20227intvec_4_226:
20228 .word 0x39400001 ! 270: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
20229 .word 0x89800011 ! 271: WRTICK_R wr %r0, %r17, %tick
20230 .word 0xda9fe090 ! 272: LDDA_I ldda [%r31, + 0x0090] %asi, %r13
20231intveclr_4_228:
20232 nop
20233 ta T_CHANGE_HPRIV
20234 setx 0xdcfa76b34c3e2cbd, %r1, %r28
20235 stxa %r28, [%g0] 0x72
20236 .word 0x25400001 ! 273: FBPLG fblg,a,pn %fcc0, <label_0x1>
20237dvapa_4_229:
20238 nop
20239 ta T_CHANGE_HPRIV
20240 mov 0x98c, %r20
20241 mov 0x15, %r19
20242 sllx %r20, 23, %r20
20243 or %r19, %r20, %r19
20244 stxa %r19, [%g0] ASI_LSU_CONTROL
20245 mov 0x38, %r18
20246 stxa %r31, [%r18]0x58
20247 ta T_CHANGE_NONHPRIV
20248 .word 0x93b507d1 ! 274: PDIST pdistn %d20, %d48, %d40
20249 .word 0x81b01021 ! 275: SIAM siam 1
20250splash_hpstate_4_230:
20251 .word 0x8198330f ! 276: WRHPR_HPSTATE_I wrhpr %r0, 0x130f, %hpstate
20252 .word 0xe4800a80 ! 277: LDUWA_R lduwa [%r0, %r0] 0x54, %r18
20253 nop
20254 ta T_CHANGE_HPRIV
20255 mov 0x4, %r10
20256 set sync_thr_counter6, %r23
20257#ifndef SPC
20258 ldxa [%g0]0x63, %o1
20259 and %o1, 0x38, %o1
20260 add %o1, %r23, %r23
20261#endif
20262 cas [%r23],%g0,%r10 !lock
20263 brnz %r10, sma_4_231
20264 rd %asi, %r12
20265 wr %g0, 0x40, %asi
20266 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
20267 set 0x00121fff, %g1
20268 stxa %g1, [%g0 + 0x80] %asi
20269 wr %r12, %g0, %asi
20270 st %g0, [%r23]
20271sma_4_231:
20272 ta T_CHANGE_NONHPRIV
20273 .word 0xe5e7e009 ! 278: CASA_R casa [%r31] %asi, %r9, %r18
20274 invalw
20275 mov 0x32, %r30
20276 .word 0x93d0001e ! 279: Tcc_R tne icc_or_xcc, %r0 + %r30
20277brcommon2_4_232:
20278 nop
20279 setx common_target, %r12, %r27
20280 ba,a .+12
20281 .word 0x81dfc011 ! 1: FLUSH_R flush
20282 ba,a .+8
20283 jmpl %r27+0, %r27
20284 .word 0xc1bfe000 ! 280: STDFA_I stda %f0, [0x0000, %r31]
20285 setx vahole_target0, %r18, %r27
20286 .word 0xe1bfe160 ! 281: STDFA_I stda %f16, [0x0160, %r31]
20287 nop
20288 ta T_CHANGE_HPRIV
20289 mov 0x4, %r10
20290 set sync_thr_counter6, %r23
20291#ifndef SPC
20292 ldxa [%g0]0x63, %o1
20293 and %o1, 0x38, %o1
20294 add %o1, %r23, %r23
20295#endif
20296 cas [%r23],%g0,%r10 !lock
20297 brnz %r10, sma_4_234
20298 rd %asi, %r12
20299 wr %g0, 0x40, %asi
20300 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
20301 set 0x001e1fff, %g1
20302 stxa %g1, [%g0 + 0x80] %asi
20303 wr %r12, %g0, %asi
20304 st %g0, [%r23]
20305sma_4_234:
20306 ta T_CHANGE_NONHPRIV
20307 .word 0xd9e7e013 ! 282: CASA_R casa [%r31] %asi, %r19, %r12
20308splash_lsu_4_235:
20309 nop
20310 ta T_CHANGE_HPRIV
20311 set 0xac9998fb, %r2
20312 mov 0x2, %r1
20313 sllx %r1, 32, %r1
20314 or %r1, %r2, %r2
20315 stxa %r2, [%r0] ASI_LSU_CONTROL
20316 ta T_CHANGE_NONHPRIV
20317 .word 0x3d400001 ! 283: FBPULE fbule,a,pn %fcc0, <label_0x1>
20318 .word 0xe1bfc3e0 ! 284: STDFA_R stda %f16, [%r0, %r31]
20319 .word 0x8d90336c ! 285: WRPR_PSTATE_I wrpr %r0, 0x136c, %pstate
20320memptr_4_237:
20321 set user_data_start, %r31
20322 .word 0x8580e407 ! 286: WRCCR_I wr %r3, 0x0407, %ccr
20323memptr_4_238:
20324 set 0x60140000, %r31
20325 .word 0x8584bbe1 ! 287: WRCCR_I wr %r18, 0x1be1, %ccr
20326 .word 0xa782400b ! 288: WR_GRAPHICS_STATUS_REG_R wr %r9, %r11, %-
20327 .word 0xc36aad3f ! 289: PREFETCH_I prefetch [%r10 + 0x0d3f], #one_read
20328intveclr_4_241:
20329 nop
20330 ta T_CHANGE_HPRIV
20331 setx 0x9e2a86a4ef6ec351, %r1, %r28
20332 stxa %r28, [%g0] 0x72
20333 ta T_CHANGE_NONHPRIV
20334 .word 0x25400001 ! 290: FBPLG fblg,a,pn %fcc0, <label_0x1>
20335 nop
20336 ta T_CHANGE_HPRIV
20337 mov 0x4, %r10
20338 set sync_thr_counter6, %r23
20339#ifndef SPC
20340 ldxa [%g0]0x63, %o1
20341 and %o1, 0x38, %o1
20342 add %o1, %r23, %r23
20343#endif
20344 cas [%r23],%g0,%r10 !lock
20345 brnz %r10, sma_4_242
20346 rd %asi, %r12
20347 wr %g0, 0x40, %asi
20348 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
20349 set 0x000a1fff, %g1
20350 stxa %g1, [%g0 + 0x80] %asi
20351 wr %r12, %g0, %asi
20352 st %g0, [%r23]
20353sma_4_242:
20354 ta T_CHANGE_NONHPRIV
20355 .word 0xd5e7e014 ! 291: CASA_R casa [%r31] %asi, %r20, %r10
20356 .word 0x8d802004 ! 292: WRFPRS_I wr %r0, 0x0004, %fprs
20357pmu_4_243:
20358 nop
20359 setx 0xfffffa28fffff8aa, %g1, %g7
20360 .word 0xa3800007 ! 293: WR_PERF_COUNTER_R wr %r0, %r7, %-
20361#if (defined SPC || defined CMP)
20362!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_4_244) + 56, 16, 16)) -> intp(3,0,6)
20363!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_4_244)&0xffffffff) + 56, 16, 16)) -> intp(3,0,6)
20364#else
20365 setx 0x3c482f7f79aa1531, %r1, %r28
20366 stxa %r28, [%g0] 0x73
20367#endif
20368intvec_4_244:
20369 .word 0x39400001 ! 294: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
20370 .word 0x8d802000 ! 295: WRFPRS_I wr %r0, 0x0000, %fprs
20371mondo_4_245:
20372 nop
20373 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
20374 stxa %r20, [%r0+0x3d0] %asi
20375 .word 0x9d91400b ! 296: WRPR_WSTATE_R wrpr %r5, %r11, %wstate
20376 .word 0x95524000 ! 297: RDPR_CWP <illegal instruction>
20377pmu_4_247:
20378 nop
20379 setx 0xfffff590fffff0b6, %g1, %g7
20380 .word 0xa3800007 ! 298: WR_PERF_COUNTER_R wr %r0, %r7, %-
20381br_longdelay3_4_248:
20382 nop
20383 not %g0, %r12
20384 jmp %r12
20385 .word 0x99902000 ! 299: WRPR_CLEANWIN_I wrpr %r0, 0x0000, %cleanwin
20386 setx 0x766974c1f7829440, %r1, %r28
20387 stxa %r28, [%g0] 0x73
20388intvec_4_249:
20389 .word 0x39400001 ! 300: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
20390 .word 0x9f8029a0 ! 301: SIR sir 0x09a0
20391ibp_4_251:
20392 nop
20393 ta T_CHANGE_HPRIV
20394 mov 8, %r18
20395 rd %asi, %r12
20396 wr %r0, 0x41, %asi
20397 set sync_thr_counter4, %r23
20398#ifndef SPC
20399 ldxa [%g0]0x63, %r8
20400 and %r8, 0x38, %r8 ! Core ID
20401 add %r8, %r23, %r23
20402#else
20403 mov 0, %r8
20404#endif
20405 mov 0x4, %r16
20406ibp_startwait4_251:
20407 cas [%r23],%g0,%r16 !lock
20408 brz,a %r16, continue_ibp_4_251
20409 mov (~0x4&0xf), %r16
20410 ld [%r23], %r16
20411ibp_wait4_251:
20412 brnz %r16, ibp_wait4_251
20413 ld [%r23], %r16
20414 ba ibp_startwait4_251
20415 mov 0x4, %r16
20416continue_ibp_4_251:
20417 sllx %r16, %r8, %r16 !Mask for my core only
20418 ldxa [0x58]%asi, %r17 !Running_status
20419wait_for_stat_4_251:
20420 ldxa [0x50]%asi, %r13 !Running_rw
20421 cmp %r13, %r17
20422 bne,a wait_for_stat_4_251
20423 ldxa [0x58]%asi, %r17 !Running_status
20424 stxa %r16, [0x68]%asi !Park (W1C)
20425 ldxa [0x50]%asi, %r14 !Running_rw
20426wait_for_ibp_4_251:
20427 ldxa [0x58]%asi, %r17 !Running_status
20428 cmp %r14, %r17
20429 bne,a wait_for_ibp_4_251
20430 ldxa [0x50]%asi, %r14 !Running_rw
20431ibp_doit4_251:
20432 best_set_reg(0x0000005028f1e678,%r19, %r20)
20433 stxa %r20, [%r18]0x42
20434 stxa %r16, [0x60] %asi !Unpark (W1S)
20435 st %g0, [%r23] !clear lock
20436 wr %r0, %r12, %asi !restore %asi
20437 .word 0xe1bfdb60 ! 302: STDFA_R stda %f16, [%r0, %r31]
20438dvapa_4_252:
20439 nop
20440 ta T_CHANGE_HPRIV
20441 mov 0xf04, %r20
20442 mov 0x9, %r19
20443 sllx %r20, 23, %r20
20444 or %r19, %r20, %r19
20445 stxa %r19, [%g0] ASI_LSU_CONTROL
20446 mov 0x38, %r18
20447 stxa %r31, [%r18]0x58
20448 ta T_CHANGE_NONHPRIV
20449 .word 0x87ac8a52 ! 303: FCMPd fcmpd %fcc<n>, %f18, %f18
20450 nop
20451 ta T_CHANGE_HPRIV
20452 mov 0x4+1, %r10
20453 set sync_thr_counter5, %r23
20454#ifndef SPC
20455 ldxa [%g0]0x63, %o1
20456 and %o1, 0x38, %o1
20457 add %o1, %r23, %r23
20458#endif
20459 cas [%r23],%g0,%r10 !lock
20460 brnz %r10, cwq_4_253
20461 rd %asi, %r12
20462 wr %g0, 0x40, %asi
20463 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
20464 and %l1, 0x3, %l1 ! Check if busy/enabled ..
20465 cmp %l1, 1
20466 bne cwq_4_253
20467 set CWQ_BASE, %l6
20468 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
20469 best_set_reg(0x20610010, %l1, %l2) !# Control Word
20470 sllx %l2, 32, %l2
20471 stx %l2, [%l6 + 0x0]
20472 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
20473 sub %l2, 0x40, %l2
20474 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
20475 wr %r12, %g0, %asi
20476 st %g0, [%r23]
20477cwq_4_253:
20478 ta T_CHANGE_NONHPRIV
20479 .word 0x99414000 ! 304: RDPC rd %pc, %r12
20480pmu_4_254:
20481 nop
20482 setx 0xffffff2bfffff92b, %g1, %g7
20483 .word 0xa3800007 ! 305: WR_PERF_COUNTER_R wr %r0, %r7, %-
20484jmptr_4_255:
20485 nop
20486 best_set_reg(0xe1200000, %r20, %r27)
20487 .word 0xb7c6c000 ! 306: JMPL_R jmpl %r27 + %r0, %r27
20488 nop
20489 ta T_CHANGE_HPRIV
20490 mov 0x4+1, %r10
20491 set sync_thr_counter5, %r23
20492#ifndef SPC
20493 ldxa [%g0]0x63, %o1
20494 and %o1, 0x38, %o1
20495 add %o1, %r23, %r23
20496#endif
20497 cas [%r23],%g0,%r10 !lock
20498 brnz %r10, cwq_4_256
20499 rd %asi, %r12
20500 wr %g0, 0x40, %asi
20501 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
20502 and %l1, 0x3, %l1 ! Check if busy/enabled ..
20503 cmp %l1, 1
20504 bne cwq_4_256
20505 set CWQ_BASE, %l6
20506 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
20507 best_set_reg(0x206100f0, %l1, %l2) !# Control Word
20508 sllx %l2, 32, %l2
20509 stx %l2, [%l6 + 0x0]
20510 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
20511 sub %l2, 0x40, %l2
20512 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
20513 wr %r12, %g0, %asi
20514 st %g0, [%r23]
20515cwq_4_256:
20516 ta T_CHANGE_NONHPRIV
20517 .word 0xa9414000 ! 307: RDPC rd %pc, %r20
20518splash_hpstate_4_257:
20519 ta T_CHANGE_NONHPRIV
20520 .word 0x81983e00 ! 308: WRHPR_HPSTATE_I wrhpr %r0, 0x1e00, %hpstate
20521 .word 0xe077c000 ! 309: STX_R stx %r16, [%r31 + %r0]
20522 .word 0xa9a00165 ! 310: FABSq dis not found
20523
20524 .word 0x91d02033 ! 311: Tcc_I ta icc_or_xcc, %r0 + 51
20525intveclr_4_259:
20526 nop
20527 ta T_CHANGE_HPRIV
20528 setx 0xb1c771407faab757, %r1, %r28
20529 stxa %r28, [%g0] 0x72
20530 .word 0x25400001 ! 312: FBPLG fblg,a,pn %fcc0, <label_0x1>
20531ibp_4_260:
20532 nop
20533 ta T_CHANGE_HPRIV
20534 mov 8, %r18
20535 rd %asi, %r12
20536 wr %r0, 0x41, %asi
20537 set sync_thr_counter4, %r23
20538#ifndef SPC
20539 ldxa [%g0]0x63, %r8
20540 and %r8, 0x38, %r8 ! Core ID
20541 add %r8, %r23, %r23
20542#else
20543 mov 0, %r8
20544#endif
20545 mov 0x4, %r16
20546ibp_startwait4_260:
20547 cas [%r23],%g0,%r16 !lock
20548 brz,a %r16, continue_ibp_4_260
20549 mov (~0x4&0xf), %r16
20550 ld [%r23], %r16
20551ibp_wait4_260:
20552 brnz %r16, ibp_wait4_260
20553 ld [%r23], %r16
20554 ba ibp_startwait4_260
20555 mov 0x4, %r16
20556continue_ibp_4_260:
20557 sllx %r16, %r8, %r16 !Mask for my core only
20558 ldxa [0x58]%asi, %r17 !Running_status
20559wait_for_stat_4_260:
20560 ldxa [0x50]%asi, %r13 !Running_rw
20561 cmp %r13, %r17
20562 bne,a wait_for_stat_4_260
20563 ldxa [0x58]%asi, %r17 !Running_status
20564 stxa %r16, [0x68]%asi !Park (W1C)
20565 ldxa [0x50]%asi, %r14 !Running_rw
20566wait_for_ibp_4_260:
20567 ldxa [0x58]%asi, %r17 !Running_status
20568 cmp %r14, %r17
20569 bne,a wait_for_ibp_4_260
20570 ldxa [0x50]%asi, %r14 !Running_rw
20571ibp_doit4_260:
20572 best_set_reg(0x000000409be67808,%r19, %r20)
20573 stxa %r20, [%r18]0x42
20574 stxa %r16, [0x60] %asi !Unpark (W1S)
20575 st %g0, [%r23] !clear lock
20576 wr %r0, %r12, %asi !restore %asi
20577 .word 0xc1bfe060 ! 313: STDFA_I stda %f0, [0x0060, %r31]
20578jmptr_4_261:
20579 nop
20580 best_set_reg(0xe1200000, %r20, %r27)
20581 .word 0xb7c6c000 ! 314: JMPL_R jmpl %r27 + %r0, %r27
20582mondo_4_262:
20583 nop
20584 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
20585 stxa %r8, [%r0+0x3c0] %asi
20586 .word 0x9d944012 ! 315: WRPR_WSTATE_R wrpr %r17, %r18, %wstate
20587ibp_4_263:
20588 nop
20589 ta T_CHANGE_HPRIV
20590 mov 8, %r18
20591 rd %asi, %r12
20592 wr %r0, 0x41, %asi
20593 set sync_thr_counter4, %r23
20594#ifndef SPC
20595 ldxa [%g0]0x63, %r8
20596 and %r8, 0x38, %r8 ! Core ID
20597 add %r8, %r23, %r23
20598#else
20599 mov 0, %r8
20600#endif
20601 mov 0x4, %r16
20602ibp_startwait4_263:
20603 cas [%r23],%g0,%r16 !lock
20604 brz,a %r16, continue_ibp_4_263
20605 mov (~0x4&0xf), %r16
20606 ld [%r23], %r16
20607ibp_wait4_263:
20608 brnz %r16, ibp_wait4_263
20609 ld [%r23], %r16
20610 ba ibp_startwait4_263
20611 mov 0x4, %r16
20612continue_ibp_4_263:
20613 sllx %r16, %r8, %r16 !Mask for my core only
20614 ldxa [0x58]%asi, %r17 !Running_status
20615wait_for_stat_4_263:
20616 ldxa [0x50]%asi, %r13 !Running_rw
20617 cmp %r13, %r17
20618 bne,a wait_for_stat_4_263
20619 ldxa [0x58]%asi, %r17 !Running_status
20620 stxa %r16, [0x68]%asi !Park (W1C)
20621 ldxa [0x50]%asi, %r14 !Running_rw
20622wait_for_ibp_4_263:
20623 ldxa [0x58]%asi, %r17 !Running_status
20624 cmp %r14, %r17
20625 bne,a wait_for_ibp_4_263
20626 ldxa [0x50]%asi, %r14 !Running_rw
20627ibp_doit4_263:
20628 best_set_reg(0x0000004035f80834,%r19, %r20)
20629 stxa %r20, [%r18]0x42
20630 stxa %r16, [0x60] %asi !Unpark (W1S)
20631 st %g0, [%r23] !clear lock
20632 wr %r0, %r12, %asi !restore %asi
20633 .word 0xc1bfe0e0 ! 316: STDFA_I stda %f0, [0x00e0, %r31]
20634 .word 0xe127e094 ! 317: STF_I st %f16, [0x0094, %r31]
20635 .word 0xe04fc000 ! 318: LDSB_R ldsb [%r31 + %r0], %r16
20636ibp_4_264:
20637 nop
20638 ta T_CHANGE_HPRIV
20639 mov 8, %r18
20640 rd %asi, %r12
20641 wr %r0, 0x41, %asi
20642 set sync_thr_counter4, %r23
20643#ifndef SPC
20644 ldxa [%g0]0x63, %r8
20645 and %r8, 0x38, %r8 ! Core ID
20646 add %r8, %r23, %r23
20647#else
20648 mov 0, %r8
20649#endif
20650 mov 0x4, %r16
20651ibp_startwait4_264:
20652 cas [%r23],%g0,%r16 !lock
20653 brz,a %r16, continue_ibp_4_264
20654 mov (~0x4&0xf), %r16
20655 ld [%r23], %r16
20656ibp_wait4_264:
20657 brnz %r16, ibp_wait4_264
20658 ld [%r23], %r16
20659 ba ibp_startwait4_264
20660 mov 0x4, %r16
20661continue_ibp_4_264:
20662 sllx %r16, %r8, %r16 !Mask for my core only
20663 ldxa [0x58]%asi, %r17 !Running_status
20664wait_for_stat_4_264:
20665 ldxa [0x50]%asi, %r13 !Running_rw
20666 cmp %r13, %r17
20667 bne,a wait_for_stat_4_264
20668 ldxa [0x58]%asi, %r17 !Running_status
20669 stxa %r16, [0x68]%asi !Park (W1C)
20670 ldxa [0x50]%asi, %r14 !Running_rw
20671wait_for_ibp_4_264:
20672 ldxa [0x58]%asi, %r17 !Running_status
20673 cmp %r14, %r17
20674 bne,a wait_for_ibp_4_264
20675 ldxa [0x50]%asi, %r14 !Running_rw
20676ibp_doit4_264:
20677 best_set_reg(0x00000040dbc83458,%r19, %r20)
20678 stxa %r20, [%r18]0x42
20679 stxa %r16, [0x60] %asi !Unpark (W1S)
20680 st %g0, [%r23] !clear lock
20681 wr %r0, %r12, %asi !restore %asi
20682 ta T_CHANGE_NONHPRIV
20683 .word 0xc32fc010 ! 319: STXFSR_R st-sfr %f1, [%r16, %r31]
20684 .word 0xc19fdb60 ! 320: LDDFA_R ldda [%r31, %r0], %f0
20685 setx vahole_target1, %r18, %r27
20686 .word 0xe1bfe1e0 ! 321: STDFA_I stda %f16, [0x01e0, %r31]
20687intveclr_4_267:
20688 nop
20689 ta T_CHANGE_HPRIV
20690 setx 0xca82d02c31218a54, %r1, %r28
20691 stxa %r28, [%g0] 0x72
20692 .word 0x25400001 ! 322: FBPLG fblg,a,pn %fcc0, <label_0x1>
20693pmu_4_268:
20694 nop
20695 setx 0xfffff4fcfffff6a0, %g1, %g7
20696 .word 0xa3800007 ! 323: WR_PERF_COUNTER_R wr %r0, %r7, %-
20697 .word 0xa1a000d4 ! 324: FNEGd fnegd %f20, %f16
20698intveclr_4_269:
20699 nop
20700 ta T_CHANGE_HPRIV
20701 setx 0x969880da2eb0a477, %r1, %r28
20702 stxa %r28, [%g0] 0x72
20703 .word 0x25400001 ! 325: FBPLG fblg,a,pn %fcc0, <label_0x1>
20704tagged_4_270:
20705 tsubcctv %r5, 0x1a97, %r16
20706 .word 0xd807e104 ! 326: LDUW_I lduw [%r31 + 0x0104], %r12
20707 setx 0xd8f9d843be9dcfea, %r1, %r28
20708 stxa %r28, [%g0] 0x73
20709intvec_4_271:
20710 .word 0x39400001 ! 327: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
20711brcommon2_4_272:
20712 nop
20713 setx common_target, %r12, %r27
20714 ba,a .+12
20715 .word 0x9f803e03 ! 1: SIR sir 0x1e03
20716 ba,a .+8
20717 jmpl %r27+0, %r27
20718 .word 0xe1bfe0a0 ! 328: STDFA_I stda %f16, [0x00a0, %r31]
20719 nop
20720 ta T_CHANGE_HPRIV
20721 mov 0x4, %r10
20722 set sync_thr_counter6, %r23
20723#ifndef SPC
20724 ldxa [%g0]0x63, %o1
20725 and %o1, 0x38, %o1
20726 add %o1, %r23, %r23
20727#endif
20728 cas [%r23],%g0,%r10 !lock
20729 brnz %r10, sma_4_273
20730 rd %asi, %r12
20731 wr %g0, 0x40, %asi
20732 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
20733 set 0x001a1fff, %g1
20734 stxa %g1, [%g0 + 0x80] %asi
20735 wr %r12, %g0, %asi
20736 st %g0, [%r23]
20737sma_4_273:
20738 ta T_CHANGE_NONHPRIV
20739 .word 0xd5e7e00b ! 329: CASA_R casa [%r31] %asi, %r11, %r10
20740dvapa_4_274:
20741 nop
20742 ta T_CHANGE_HPRIV
20743 mov 0x9da, %r20
20744 mov 0x1f, %r19
20745 sllx %r20, 23, %r20
20746 or %r19, %r20, %r19
20747 stxa %r19, [%g0] ASI_LSU_CONTROL
20748 mov 0x38, %r18
20749 stxa %r31, [%r18]0x58
20750 ta T_CHANGE_NONHPRIV
20751 .word 0x91b487c2 ! 330: PDIST pdistn %d18, %d2, %d8
20752 setx vahole_target3, %r18, %r27
20753 .word 0x957024e9 ! 331: POPC_I popc 0x04e9, %r10
20754dvapa_4_276:
20755 nop
20756 ta T_CHANGE_HPRIV
20757 mov 0x999, %r20
20758 mov 0x2, %r19
20759 sllx %r20, 23, %r20
20760 or %r19, %r20, %r19
20761 stxa %r19, [%g0] ASI_LSU_CONTROL
20762 mov 0x38, %r18
20763 stxa %r31, [%r18]0x58
20764 ta T_CHANGE_NONHPRIV
20765 .word 0xe19fdf20 ! 332: LDDFA_R ldda [%r31, %r0], %f16
20766splash_cmpr_4_277:
20767 mov 1, %r18
20768 sllx %r18, 63, %r18
20769 rd %tick, %r17
20770 add %r17, 0x70, %r17
20771 or %r17, %r18, %r17
20772 ta T_CHANGE_PRIV
20773 .word 0xaf800011 ! 333: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
20774 .word 0xa5520000 ! 334: RDPR_PIL <illegal instruction>
20775splash_cmpr_4_278:
20776 mov 0, %r18
20777 sllx %r18, 63, %r18
20778 rd %tick, %r17
20779 add %r17, 0x50, %r17
20780 or %r17, %r18, %r17
20781 ta T_CHANGE_PRIV
20782 .word 0xb3800011 ! 335: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
20783 .word 0x99702afe ! 336: POPC_I popc 0x0afe, %r12
20784 setx vahole_target1, %r18, %r27
20785 .word 0x97702897 ! 337: POPC_I popc 0x0897, %r11
20786jmptr_4_280:
20787 nop
20788 best_set_reg(0xe0200000, %r20, %r27)
20789 .word 0xb7c6c000 ! 338: JMPL_R jmpl %r27 + %r0, %r27
20790 .word 0x8d9028cb ! 339: WRPR_PSTATE_I wrpr %r0, 0x08cb, %pstate
20791ceter_4_282:
20792 nop
20793 ta T_CHANGE_HPRIV
20794 mov 7, %r17
20795 sllx %r17, 60, %r17
20796 mov 0x18, %r16
20797 stxa %r17, [%r16]0x4c
20798 .word 0xa3410000 ! 340: RDTICK rd %tick, %r17
20799 .word 0x97703d9a ! 341: POPC_I popc 0x1d9a, %r11
20800 .word 0xd847e040 ! 342: LDSW_I ldsw [%r31 + 0x0040], %r12
20801 .word 0x9190800c ! 343: WRPR_PIL_R wrpr %r2, %r12, %pil
20802 .word 0xd837e1c7 ! 344: STH_I sth %r12, [%r31 + 0x01c7]
20803ibp_4_285:
20804 nop
20805 ta T_CHANGE_HPRIV
20806 mov 8, %r18
20807 rd %asi, %r12
20808 wr %r0, 0x41, %asi
20809 set sync_thr_counter4, %r23
20810#ifndef SPC
20811 ldxa [%g0]0x63, %r8
20812 and %r8, 0x38, %r8 ! Core ID
20813 add %r8, %r23, %r23
20814#else
20815 mov 0, %r8
20816#endif
20817 mov 0x4, %r16
20818ibp_startwait4_285:
20819 cas [%r23],%g0,%r16 !lock
20820 brz,a %r16, continue_ibp_4_285
20821 mov (~0x4&0xf), %r16
20822 ld [%r23], %r16
20823ibp_wait4_285:
20824 brnz %r16, ibp_wait4_285
20825 ld [%r23], %r16
20826 ba ibp_startwait4_285
20827 mov 0x4, %r16
20828continue_ibp_4_285:
20829 sllx %r16, %r8, %r16 !Mask for my core only
20830 ldxa [0x58]%asi, %r17 !Running_status
20831wait_for_stat_4_285:
20832 ldxa [0x50]%asi, %r13 !Running_rw
20833 cmp %r13, %r17
20834 bne,a wait_for_stat_4_285
20835 ldxa [0x58]%asi, %r17 !Running_status
20836 stxa %r16, [0x68]%asi !Park (W1C)
20837 ldxa [0x50]%asi, %r14 !Running_rw
20838wait_for_ibp_4_285:
20839 ldxa [0x58]%asi, %r17 !Running_status
20840 cmp %r14, %r17
20841 bne,a wait_for_ibp_4_285
20842 ldxa [0x50]%asi, %r14 !Running_rw
20843ibp_doit4_285:
20844 best_set_reg(0x0000005001f458f2,%r19, %r20)
20845 stxa %r20, [%r18]0x42
20846 stxa %r16, [0x60] %asi !Unpark (W1S)
20847 st %g0, [%r23] !clear lock
20848 wr %r0, %r12, %asi !restore %asi
20849 .word 0x91b40494 ! 345: FCMPLE32 fcmple32 %d16, %d20, %r8
20850 .word 0x39400001 ! 346: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
20851 .word 0xd337e1d0 ! 347: STQF_I - %f9, [0x01d0, %r31]
20852donret_4_287:
20853 nop
20854 ta T_CHANGE_HPRIV ! macro
20855 rd %pc, %r12
20856 add %r12, (donretarg_4_287-donret_4_287-4), %r12
20857 mov 0x38, %r18
20858 stxa %r12, [%r18]0x58
20859 add %r12, 0x4, %r11
20860 wrpr %g0, 0x2, %tl
20861 wrpr %g0, %r12, %tpc
20862 wrpr %g0, %r11, %tnpc
20863 set (0x0096ae6b | (20 << 24)), %r13
20864 rdpr %tstate, %r16
20865 mov 0x1f, %r19
20866 and %r19, %r16, %r17
20867 andn %r16, %r19, %r16
20868 or %r16, %r17, %r20
20869 wrpr %r20, %g0, %tstate
20870 wrhpr %g0, 0x1787, %htstate
20871 ta T_CHANGE_NONHPRIV ! rand=1 (4)
20872 .word 0x2b400001 ! 1: FBPUG fbug,a,pn %fcc0, <label_0x1>
20873 done
20874donretarg_4_287:
20875 .word 0xd2ffe190 ! 348: SWAPA_I swapa %r9, [%r31 + 0x0190] %asi
20876 .word 0xd28008a0 ! 349: LDUWA_R lduwa [%r0, %r0] 0x45, %r9
20877 .word 0x8d802000 ! 350: WRFPRS_I wr %r0, 0x0000, %fprs
20878dvapa_4_288:
20879 nop
20880 ta T_CHANGE_HPRIV
20881 mov 0xee6, %r20
20882 mov 0x1, %r19
20883 sllx %r20, 23, %r20
20884 or %r19, %r20, %r19
20885 stxa %r19, [%g0] ASI_LSU_CONTROL
20886 mov 0x38, %r18
20887 stxa %r31, [%r18]0x58
20888 ta T_CHANGE_NONHPRIV
20889 .word 0xd23fe410 ! 351: STD_I std %r9, [%r31 + 0x0410]
20890 .word 0xa5a0016b ! 352: FABSq dis not found
20891
20892 .word 0xc19fd920 ! 353: LDDFA_R ldda [%r31, %r0], %f0
20893brcommon2_4_291:
20894 nop
20895 setx common_target, %r12, %r27
20896 ba,a .+12
20897 .word 0x81dfc00b ! 1: FLUSH_R flush
20898 ba,a .+8
20899 jmpl %r27+0, %r27
20900 .word 0xe19fdb60 ! 354: LDDFA_R ldda [%r31, %r0], %f16
20901donret_4_292:
20902 nop
20903 ta T_CHANGE_HPRIV ! macro
20904 rd %pc, %r12
20905 add %r12, (donretarg_4_292-donret_4_292-8), %r12
20906 mov 0x38, %r18
20907 stxa %r12, [%r18]0x58
20908 add %r12, 0x4, %r11
20909 wrpr %g0, 0x2, %tl
20910 wrpr %g0, %r12, %tpc
20911 wrpr %g0, %r11, %tnpc
20912 set (0x00ecf33f | (0x82 << 24)), %r13
20913 rdpr %tstate, %r16
20914 mov 0x1f, %r19
20915 and %r19, %r16, %r17
20916 andn %r16, %r19, %r16
20917 or %r16, %r17, %r20
20918 wrpr %r20, %g0, %tstate
20919 wrhpr %g0, 0xf5f, %htstate
20920 ta T_CHANGE_NONHPRIV ! rand=1 (4)
20921 retry
20922donretarg_4_292:
20923 .word 0x97a489d4 ! 355: FDIVd fdivd %f18, %f20, %f42
20924pmu_4_293:
20925 nop
20926 setx 0xfffff319fffffe57, %g1, %g7
20927 .word 0xa3800007 ! 356: WR_PERF_COUNTER_R wr %r0, %r7, %-
20928donret_4_294:
20929 nop
20930 ta T_CHANGE_HPRIV ! macro
20931 rd %pc, %r12
20932 add %r12, (donretarg_4_294-donret_4_294-8), %r12
20933 mov 0x38, %r18
20934 stxa %r12, [%r18]0x58
20935 add %r12, 0x4, %r11
20936 wrpr %g0, 0x2, %tl
20937 wrpr %g0, %r12, %tpc
20938 wrpr %g0, %r11, %tnpc
20939 set (0x0024aaa8 | (0x82 << 24)), %r13
20940 rdpr %tstate, %r16
20941 mov 0x1f, %r19
20942 and %r19, %r16, %r17
20943 andn %r16, %r19, %r16
20944 or %r16, %r17, %r20
20945 wrpr %r20, %g0, %tstate
20946 wrhpr %g0, 0xe85, %htstate
20947 ta T_CHANGE_NONHPRIV ! rand=1 (4)
20948 retry
20949donretarg_4_294:
20950 .word 0xe46fe06d ! 357: LDSTUB_I ldstub %r18, [%r31 + 0x006d]
20951 nop
20952 ta T_CHANGE_HPRIV
20953 mov 0x4, %r10
20954 set sync_thr_counter6, %r23
20955#ifndef SPC
20956 ldxa [%g0]0x63, %o1
20957 and %o1, 0x38, %o1
20958 add %o1, %r23, %r23
20959#endif
20960 cas [%r23],%g0,%r10 !lock
20961 brnz %r10, sma_4_295
20962 rd %asi, %r12
20963 wr %g0, 0x40, %asi
20964 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
20965 set 0x001a1fff, %g1
20966 stxa %g1, [%g0 + 0x80] %asi
20967 wr %r12, %g0, %asi
20968 st %g0, [%r23]
20969sma_4_295:
20970 ta T_CHANGE_NONHPRIV
20971 .word 0xe5e7e009 ! 358: CASA_R casa [%r31] %asi, %r9, %r18
20972 .word 0x22800001 ! 359: BE be,a <label_0x1>
20973 nop
20974 ta T_CHANGE_HPRIV
20975 mov 0x4+1, %r10
20976 set sync_thr_counter5, %r23
20977#ifndef SPC
20978 ldxa [%g0]0x63, %o1
20979 and %o1, 0x38, %o1
20980 add %o1, %r23, %r23
20981#endif
20982 cas [%r23],%g0,%r10 !lock
20983 brnz %r10, cwq_4_296
20984 rd %asi, %r12
20985 wr %g0, 0x40, %asi
20986 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
20987 and %l1, 0x3, %l1 ! Check if busy/enabled ..
20988 cmp %l1, 1
20989 bne cwq_4_296
20990 set CWQ_BASE, %l6
20991 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
20992 best_set_reg(0x20610010, %l1, %l2) !# Control Word
20993 sllx %l2, 32, %l2
20994 stx %l2, [%l6 + 0x0]
20995 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
20996 sub %l2, 0x40, %l2
20997 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
20998 wr %r12, %g0, %asi
20999 st %g0, [%r23]
21000cwq_4_296:
21001 ta T_CHANGE_NONHPRIV
21002 .word 0xa3414000 ! 360: RDPC rd %pc, %r17
21003splash_cmpr_4_297:
21004 mov 1, %r18
21005 sllx %r18, 63, %r18
21006 rd %tick, %r17
21007 add %r17, 0x60, %r17
21008 or %r17, %r18, %r17
21009 ta T_CHANGE_PRIV
21010 .word 0xaf800011 ! 361: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
21011mondo_4_298:
21012 nop
21013 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
21014 ta T_CHANGE_PRIV
21015 stxa %r11, [%r0+0x3e0] %asi
21016 .word 0x9d928010 ! 362: WRPR_WSTATE_R wrpr %r10, %r16, %wstate
21017brcommon3_4_299:
21018 nop
21019 setx common_target, %r12, %r27
21020 lduw [%r27], %r12 ! Load common dest into dcache ..
21021 ba,a .+12
21022 .word 0xdb37c00d ! 1: STQF_R - %f13, [%r13, %r31]
21023 ba,a .+8
21024 jmpl %r27+0, %r27
21025 .word 0xdb1fc010 ! 363: LDDF_R ldd [%r31, %r16], %f13
21026intveclr_4_300:
21027 nop
21028 ta T_CHANGE_HPRIV
21029 setx 0x24d1343ec52018da, %r1, %r28
21030 stxa %r28, [%g0] 0x72
21031 ta T_CHANGE_NONHPRIV
21032 .word 0x25400001 ! 364: FBPLG fblg,a,pn %fcc0, <label_0x1>
21033 .word 0x89800011 ! 365: WRTICK_R wr %r0, %r17, %tick
21034splash_lsu_4_302:
21035 nop
21036 ta T_CHANGE_HPRIV
21037 set 0x7cb3f245, %r2
21038 mov 0x5, %r1
21039 sllx %r1, 32, %r1
21040 or %r1, %r2, %r2
21041 stxa %r2, [%r0] ASI_LSU_CONTROL
21042 .word 0x3d400001 ! 366: FBPULE fbule,a,pn %fcc0, <label_0x1>
21043 nop
21044 ta T_CHANGE_HPRIV
21045 mov 0x4+1, %r10
21046 set sync_thr_counter5, %r23
21047#ifndef SPC
21048 ldxa [%g0]0x63, %o1
21049 and %o1, 0x38, %o1
21050 add %o1, %r23, %r23
21051#endif
21052 cas [%r23],%g0,%r10 !lock
21053 brnz %r10, cwq_4_303
21054 rd %asi, %r12
21055 wr %g0, 0x40, %asi
21056 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
21057 and %l1, 0x3, %l1 ! Check if busy/enabled ..
21058 cmp %l1, 1
21059 bne cwq_4_303
21060 set CWQ_BASE, %l6
21061 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
21062 best_set_reg(0x20610090, %l1, %l2) !# Control Word
21063 sllx %l2, 32, %l2
21064 stx %l2, [%l6 + 0x0]
21065 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
21066 sub %l2, 0x40, %l2
21067 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
21068 wr %r12, %g0, %asi
21069 st %g0, [%r23]
21070cwq_4_303:
21071 ta T_CHANGE_NONHPRIV
21072 .word 0xa5414000 ! 367: RDPC rd %pc, %r18
21073 set 0x2083, %l3
21074 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
21075 .word 0xa7b487ca ! 368: PDIST pdistn %d18, %d10, %d50
21076splash_lsu_4_304:
21077 nop
21078 ta T_CHANGE_HPRIV
21079 set 0x34e3e90e, %r2
21080 mov 0x3, %r1
21081 sllx %r1, 32, %r1
21082 or %r1, %r2, %r2
21083 stxa %r2, [%r0] ASI_LSU_CONTROL
21084 ta T_CHANGE_NONHPRIV
21085 .word 0x3d400001 ! 369: FBPULE fbule,a,pn %fcc0, <label_0x1>
21086br_longdelay4_4_305:
21087 nop
21088 not %g0, %r12
21089 jmp %r12
21090 .word 0x9d902002 ! 370: WRPR_WSTATE_I wrpr %r0, 0x0002, %wstate
21091dvapa_4_306:
21092 nop
21093 ta T_CHANGE_HPRIV
21094 mov 0x8d0, %r20
21095 mov 0x4, %r19
21096 sllx %r20, 23, %r20
21097 or %r19, %r20, %r19
21098 stxa %r19, [%g0] ASI_LSU_CONTROL
21099 mov 0x38, %r18
21100 stxa %r31, [%r18]0x58
21101 ta T_CHANGE_NONHPRIV
21102 .word 0x95a089b0 ! 371: FDIVs fdivs %f2, %f16, %f10
21103pmu_4_307:
21104 nop
21105 setx 0xfffff73afffffc88, %g1, %g7
21106 .word 0xa3800007 ! 372: WR_PERF_COUNTER_R wr %r0, %r7, %-
21107pmu_4_308:
21108 nop
21109 setx 0xfffff742fffff53c, %g1, %g7
21110 .word 0xa3800007 ! 373: WR_PERF_COUNTER_R wr %r0, %r7, %-
21111 setx vahole_target2, %r18, %r27
21112 .word 0xe1bfc3e0 ! 374: STDFA_R stda %f16, [%r0, %r31]
21113tagged_4_310:
21114 tsubcctv %r4, 0x101c, %r18
21115 .word 0xd407e090 ! 375: LDUW_I lduw [%r31 + 0x0090], %r10
21116 nop
21117 ta T_CHANGE_HPRIV
21118 mov 0x4+1, %r10
21119 set sync_thr_counter5, %r23
21120#ifndef SPC
21121 ldxa [%g0]0x63, %o1
21122 and %o1, 0x38, %o1
21123 add %o1, %r23, %r23
21124#endif
21125 cas [%r23],%g0,%r10 !lock
21126 brnz %r10, cwq_4_311
21127 rd %asi, %r12
21128 wr %g0, 0x40, %asi
21129 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
21130 and %l1, 0x3, %l1 ! Check if busy/enabled ..
21131 cmp %l1, 1
21132 bne cwq_4_311
21133 set CWQ_BASE, %l6
21134 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
21135 best_set_reg(0x20610090, %l1, %l2) !# Control Word
21136 sllx %l2, 32, %l2
21137 stx %l2, [%l6 + 0x0]
21138 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
21139 sub %l2, 0x40, %l2
21140 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
21141 wr %r12, %g0, %asi
21142 st %g0, [%r23]
21143cwq_4_311:
21144 ta T_CHANGE_NONHPRIV
21145 .word 0x95414000 ! 376: RDPC rd %pc, %r10
21146trapasi_4_312:
21147 nop
21148 mov 0x8, %r1 ! (VA for ASI 0x5b)
21149 .word 0xd8884b60 ! 377: LDUBA_R lduba [%r1, %r0] 0x5b, %r12
21150 .word 0x2e800001 ! 1: BVS bvs,a <label_0x1>
21151 .word 0x8d902b51 ! 378: WRPR_PSTATE_I wrpr %r0, 0x0b51, %pstate
21152 .word 0xd83ff33a ! 379: STD_I std %r12, [%r31 + 0xfffff33a]
21153mondo_4_315:
21154 nop
21155 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
21156 ta T_CHANGE_PRIV
21157 stxa %r18, [%r0+0x3c8] %asi
21158 .word 0x9d94800c ! 380: WRPR_WSTATE_R wrpr %r18, %r12, %wstate
21159fpinit_4_316:
21160 setx fp_data_quads, %r19, %r20
21161 ldd [%r20], %f0
21162 ldd [%r20+8], %f4
21163 ld [%r20+16], %fsr
21164 ld [%r20+24], %r19
21165 wr %r19, %g0, %gsr
21166 .word 0x91b00484 ! 381: FCMPLE32 fcmple32 %d0, %d4, %r8
21167dvapa_4_317:
21168 nop
21169 ta T_CHANGE_HPRIV
21170 mov 0xd73, %r20
21171 mov 0x7, %r19
21172 sllx %r20, 23, %r20
21173 or %r19, %r20, %r19
21174 stxa %r19, [%g0] ASI_LSU_CONTROL
21175 mov 0x38, %r18
21176 stxa %r31, [%r18]0x58
21177 ta T_CHANGE_NONHPRIV
21178 .word 0xe19fdf20 ! 382: LDDFA_R ldda [%r31, %r0], %f16
21179 .word 0x8d9039d9 ! 383: WRPR_PSTATE_I wrpr %r0, 0x19d9, %pstate
21180pmu_4_319:
21181 nop
21182 setx 0xfffffc63fffff7f2, %g1, %g7
21183 .word 0xa3800007 ! 384: WR_PERF_COUNTER_R wr %r0, %r7, %-
21184 .word 0xd8d7e050 ! 385: LDSHA_I ldsha [%r31, + 0x0050] %asi, %r12
21185 .word 0x8d90344d ! 386: WRPR_PSTATE_I wrpr %r0, 0x144d, %pstate
21186fpinit_4_321:
21187 setx fp_data_quads, %r19, %r20
21188 ldd [%r20], %f0
21189 ldd [%r20+8], %f4
21190 ld [%r20+16], %fsr
21191 ld [%r20+24], %r19
21192 wr %r19, %g0, %gsr
21193 .word 0x89a009a4 ! 387: FDIVs fdivs %f0, %f4, %f4
21194 .word 0xc19fda00 ! 388: LDDFA_R ldda [%r31, %r0], %f0
21195 .word 0xa9b48549 ! 389: FCMPEQ16 fcmpeq16 %d18, %d40, %r20
21196donret_4_322:
21197 nop
21198 ta T_CHANGE_HPRIV ! macro
21199 rd %pc, %r12
21200 add %r12, (donretarg_4_322-donret_4_322-8), %r12
21201 mov 0x38, %r18
21202 stxa %r12, [%r18]0x58
21203 add %r12, 0x4, %r11
21204 wrpr %g0, 0x2, %tl
21205 wrpr %g0, %r12, %tpc
21206 wrpr %g0, %r11, %tnpc
21207 set (0x004bd3f0 | (0x55 << 24)), %r13
21208 rdpr %tstate, %r16
21209 mov 0x1f, %r19
21210 and %r19, %r16, %r17
21211 andn %r16, %r19, %r16
21212 or %r16, %r17, %r20
21213 wrpr %r20, %g0, %tstate
21214 wrhpr %g0, 0x1c9a, %htstate
21215 ta T_CHANGE_NONPRIV ! rand=0 (4)
21216 .word 0x2b400001 ! 1: FBPUG fbug,a,pn %fcc0, <label_0x1>
21217 retry
21218donretarg_4_322:
21219 .word 0xe8ffe138 ! 390: SWAPA_I swapa %r20, [%r31 + 0x0138] %asi
21220 .word 0x9b45c000 ! 391: RD_TICK_CMPR_REG rd %-, %r13
21221 .word 0xab844006 ! 392: WR_CLEAR_SOFTINT_R wr %r17, %r6, %clear_softint
21222 setx 0xf4239d16badeb18f, %r1, %r28
21223 stxa %r28, [%g0] 0x73
21224intvec_4_323:
21225 .word 0x39400001 ! 393: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
21226 .word 0xc32fc008 ! 394: STXFSR_R st-sfr %f1, [%r8, %r31]
21227 setx 0x21cb2141cc07643a, %r1, %r28
21228 stxa %r28, [%g0] 0x73
21229intvec_4_325:
21230 .word 0x39400001 ! 395: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
21231 .word 0xa9524000 ! 396: RDPR_CWP <illegal instruction>
21232dvapa_4_327:
21233 nop
21234 ta T_CHANGE_HPRIV
21235 mov 0x8d8, %r20
21236 mov 0x16, %r19
21237 sllx %r20, 23, %r20
21238 or %r19, %r20, %r19
21239 stxa %r19, [%g0] ASI_LSU_CONTROL
21240 mov 0x38, %r18
21241 stxa %r31, [%r18]0x58
21242 ta T_CHANGE_NONHPRIV
21243 .word 0xe1bfe180 ! 397: STDFA_I stda %f16, [0x0180, %r31]
21244fpinit_4_328:
21245 setx fp_data_quads, %r19, %r20
21246 ldd [%r20], %f0
21247 ldd [%r20+8], %f4
21248 ld [%r20+16], %fsr
21249 ld [%r20+24], %r19
21250 wr %r19, %g0, %gsr
21251 .word 0x91b00484 ! 398: FCMPLE32 fcmple32 %d0, %d4, %r8
21252 .word 0xe69fc030 ! 399: LDDA_R ldda [%r31, %r16] 0x01, %r19
21253 .word 0xc3ec4030 ! 400: PREFETCHA_R prefetcha [%r17, %r16] 0x01, #one_read
21254 setx vahole_target2, %r18, %r27
21255 .word 0xc1bfe1c0 ! 401: STDFA_I stda %f0, [0x01c0, %r31]
21256 nop
21257 nop
21258 ta T_CHANGE_PRIV
21259 wrpr %g0, %g0, %gl
21260 nop
21261 nop
21262 setx join_lbl_0_0, %g1, %g2
21263 jmp %g2
21264 nop
21265fork_lbl_0_2:
21266 ta T_CHANGE_NONHPRIV
21267 .word 0xe8800b20 ! 1: LDUWA_R lduwa [%r0, %r0] 0x59, %r20
21268 .word 0x95a00168 ! 2: FABSq dis not found
21269
21270ibp_2_1:
21271 nop
21272 ta T_CHANGE_NONHPRIV
21273 .word 0xe33fc008 ! 3: STDF_R std %f17, [%r8, %r31]
21274donret_2_2:
21275 nop
21276 ta T_CHANGE_HPRIV ! macro
21277 rd %pc, %r12
21278 add %r12, (donretarg_2_2-donret_2_2-8), %r12
21279 mov 0x38, %r18
21280 stxa %r12, [%r18]0x58
21281 add %r12, 0x4, %r11
21282 wrpr %g0, 0x1, %tl
21283 wrpr %g0, %r12, %tpc
21284 wrpr %g0, %r11, %tnpc
21285 set (0x0001748b | (0x83 << 24)), %r13
21286 rdpr %tstate, %r16
21287 mov 0x1f, %r19
21288 and %r19, %r16, %r17
21289 andn %r16, %r19, %r16
21290 or %r16, %r17, %r20
21291 wrpr %r20, %g0, %tstate
21292 wrhpr %g0, 0x6d7, %htstate
21293 ta T_CHANGE_NONHPRIV ! rand=1 (2)
21294 .word 0x2ccc8001 ! 1: BRGZ brgz,a,pt %r18,<label_0xc8001>
21295 retry
21296donretarg_2_2:
21297 .word 0xe26fe06b ! 4: LDSTUB_I ldstub %r17, [%r31 + 0x006b]
21298 setx 0x45ebf1f2794e513d, %r1, %r28
21299 stxa %r28, [%g0] 0x73
21300intvec_2_3:
21301 .word 0x39400001 ! 5: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
21302mondo_2_4:
21303 nop
21304 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
21305 stxa %r10, [%r0+0x3c8] %asi
21306 .word 0x9d91c011 ! 6: WRPR_WSTATE_R wrpr %r7, %r17, %wstate
21307pmu_2_5:
21308 nop
21309 ta T_CHANGE_PRIV
21310 setx 0xfffff87cffffff36, %g1, %g7
21311 .word 0xa3800007 ! 7: WR_PERF_COUNTER_R wr %r0, %r7, %-
21312 .word 0x9afc6ff9 ! 8: SDIVcc_I sdivcc %r17, 0x0ff9, %r13
21313splash_cmpr_2_6:
21314 mov 1, %r18
21315 sllx %r18, 63, %r18
21316 rd %tick, %r17
21317 add %r17, 0x60, %r17
21318 or %r17, %r18, %r17
21319 ta T_CHANGE_HPRIV
21320 wrhpr %r17, %g0, %hsys_tick_cmpr
21321 ta T_CHANGE_PRIV
21322 .word 0xb3800011 ! 9: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
21323 nop
21324 ta T_CHANGE_HPRIV
21325 mov 0x2+1, %r10
21326 set sync_thr_counter5, %r23
21327#ifndef SPC
21328 ldxa [%g0]0x63, %o1
21329 and %o1, 0x38, %o1
21330 add %o1, %r23, %r23
21331#endif
21332 cas [%r23],%g0,%r10 !lock
21333 brnz %r10, cwq_2_7
21334 rd %asi, %r12
21335 wr %g0, 0x40, %asi
21336 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
21337 and %l1, 0x3, %l1 ! Check if busy/enabled ..
21338 cmp %l1, 1
21339 bne cwq_2_7
21340 set CWQ_BASE, %l6
21341 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
21342 best_set_reg(0x20610010, %l1, %l2) !# Control Word
21343 sllx %l2, 32, %l2
21344 stx %l2, [%l6 + 0x0]
21345 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
21346 sub %l2, 0x40, %l2
21347 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
21348 wr %r12, %g0, %asi
21349 st %g0, [%r23]
21350cwq_2_7:
21351 ta T_CHANGE_NONHPRIV
21352 .word 0xa9414000 ! 10: RDPC rd %pc, %r20
21353pmu_2_8:
21354 nop
21355 setx 0xfffff632fffffbdc, %g1, %g7
21356 .word 0xa3800007 ! 11: WR_PERF_COUNTER_R wr %r0, %r7, %-
21357 .word 0x9ba00174 ! 12: FABSq dis not found
21358
21359ibp_2_10:
21360 nop
21361 .word 0xc19fde00 ! 13: LDDFA_R ldda [%r31, %r0], %f0
21362trapasi_2_11:
21363 nop
21364 mov 0x28, %r1 ! (VA for ASI 0x4c)
21365 .word 0xe2d84980 ! 14: LDXA_R ldxa [%r1, %r0] 0x4c, %r17
21366splash_cmpr_2_12:
21367 mov 1, %r18
21368 sllx %r18, 63, %r18
21369 rd %tick, %r17
21370 add %r17, 0x70, %r17
21371 or %r17, %r18, %r17
21372 .word 0xb3800011 ! 15: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
21373iaw_2_13:
21374 nop
21375 ta T_CHANGE_HPRIV
21376 mov 8, %r18
21377 rd %asi, %r12
21378 wr %r0, 0x41, %asi
21379 set sync_thr_counter4, %r23
21380#ifndef SPC
21381 ldxa [%g0]0x63, %r8
21382 and %r8, 0x38, %r8 ! Core ID
21383 add %r8, %r23, %r23
21384#else
21385 mov 0, %r8
21386#endif
21387 mov 0x2, %r16
21388iaw_startwait2_13:
21389 cas [%r23],%g0,%r16 !lock
21390 brz,a %r16, continue_iaw_2_13
21391 mov (~0x2&0xf), %r16
21392 ld [%r23], %r16
21393iaw_wait2_13:
21394 brnz %r16, iaw_wait2_13
21395 ld [%r23], %r16
21396 ba iaw_startwait2_13
21397 mov 0x2, %r16
21398continue_iaw_2_13:
21399 sllx %r16, %r8, %r16 !Mask for my core only
21400 ldxa [0x58]%asi, %r17 !Running_status
21401wait_for_stat_2_13:
21402 ldxa [0x50]%asi, %r13 !Running_rw
21403 cmp %r13, %r17
21404 bne,a wait_for_stat_2_13
21405 ldxa [0x58]%asi, %r17 !Running_status
21406 stxa %r16, [0x68]%asi !Park (W1C)
21407 ldxa [0x50]%asi, %r14 !Running_rw
21408wait_for_iaw_2_13:
21409 ldxa [0x58]%asi, %r17 !Running_status
21410 cmp %r14, %r17
21411 bne,a wait_for_iaw_2_13
21412 ldxa [0x50]%asi, %r14 !Running_rw
21413iaw_doit2_13:
21414 mov 0x38, %r18
21415iaw3_2_13:
21416 setx vahole_target0, %r20, %r19
21417 or %r19, 0x1, %r19
21418 stxa %r19, [%r18]0x50
21419 stxa %r16, [0x60] %asi ! Unpark (W1S)
21420 st %g0, [%r23] !clear lock
21421 wr %r0, %r12, %asi ! restore %asi
21422 ta T_CHANGE_NONHPRIV
21423 .word 0xa7a0c9c5 ! 16: FDIVd fdivd %f34, %f36, %f50
21424pmu_2_14:
21425 nop
21426 setx 0xfffffa09fffffebc, %g1, %g7
21427 .word 0xa3800007 ! 17: WR_PERF_COUNTER_R wr %r0, %r7, %-
21428 .word 0x22800001 ! 1: BE be,a <label_0x1>
21429 .word 0x8d903e87 ! 18: WRPR_PSTATE_I wrpr %r0, 0x1e87, %pstate
21430splash_cmpr_2_16:
21431 mov 1, %r18
21432 sllx %r18, 63, %r18
21433 rd %tick, %r17
21434 add %r17, 0x80, %r17
21435 or %r17, %r18, %r17
21436 ta T_CHANGE_HPRIV
21437 wrhpr %r17, %g0, %hsys_tick_cmpr
21438 .word 0xb3800011 ! 19: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
21439 .word 0xd01fc000 ! 20: LDD_R ldd [%r31 + %r0], %r8
21440splash_lsu_2_17:
21441 nop
21442 ta T_CHANGE_HPRIV
21443 set 0x49f6ca3c, %r2
21444 mov 0x5, %r1
21445 sllx %r1, 32, %r1
21446 or %r1, %r2, %r2
21447 stxa %r2, [%r0] ASI_LSU_CONTROL
21448 ta T_CHANGE_NONHPRIV
21449 .word 0x3d400001 ! 21: FBPULE fbule,a,pn %fcc0, <label_0x1>
21450ibp_2_18:
21451 nop
21452 .word 0x91b4048d ! 22: FCMPLE32 fcmple32 %d16, %d44, %r8
21453fpinit_2_19:
21454 setx fp_data_quads, %r19, %r20
21455 ldd [%r20], %f0
21456 ldd [%r20+8], %f4
21457 ld [%r20+16], %fsr
21458 ld [%r20+24], %r19
21459 wr %r19, %g0, %gsr
21460 .word 0x89a009a4 ! 23: FDIVs fdivs %f0, %f4, %f4
21461mondo_2_20:
21462 nop
21463 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
21464 ta T_CHANGE_PRIV
21465 stxa %r9, [%r0+0x3c0] %asi
21466 .word 0x9d940014 ! 24: WRPR_WSTATE_R wrpr %r16, %r20, %wstate
21467intveclr_2_21:
21468 nop
21469 ta T_CHANGE_HPRIV
21470 setx 0xe96ac7d836395159, %r1, %r28
21471 stxa %r28, [%g0] 0x72
21472 .word 0x25400001 ! 25: FBPLG fblg,a,pn %fcc0, <label_0x1>
21473pmu_2_22:
21474 nop
21475 ta T_CHANGE_PRIV
21476 setx 0xfffff4e6fffff51c, %g1, %g7
21477 .word 0xa3800007 ! 26: WR_PERF_COUNTER_R wr %r0, %r7, %-
21478splash_tba_2_23:
21479 ta T_CHANGE_PRIV
21480 setx 0x00000004003a0000, %r11, %r12
21481 .word 0x8b90000c ! 27: WRPR_TBA_R wrpr %r0, %r12, %tba
21482trapasi_2_24:
21483 nop
21484 mov 0x10, %r1 ! (VA for ASI 0x4c)
21485 .word 0xda904980 ! 28: LDUHA_R lduha [%r1, %r0] 0x4c, %r13
21486 .word 0x87802083 ! 29: WRASI_I wr %r0, 0x0083, %asi
21487ibp_2_25:
21488 nop
21489 ta T_CHANGE_NONHPRIV
21490 .word 0xc1bfe0a0 ! 30: STDFA_I stda %f0, [0x00a0, %r31]
21491dvapa_2_26:
21492 nop
21493 ta T_CHANGE_HPRIV
21494 mov 0x911, %r20
21495 mov 0x1b, %r19
21496 sllx %r20, 23, %r20
21497 or %r19, %r20, %r19
21498 stxa %r19, [%g0] ASI_LSU_CONTROL
21499 mov 0x38, %r18
21500 stxa %r31, [%r18]0x58
21501 ta T_CHANGE_NONHPRIV
21502 .word 0xdadfc028 ! 31: LDXA_R ldxa [%r31, %r8] 0x01, %r13
21503 nop
21504 ta T_CHANGE_HPRIV
21505 mov 0x2+1, %r10
21506 set sync_thr_counter5, %r23
21507#ifndef SPC
21508 ldxa [%g0]0x63, %o1
21509 and %o1, 0x38, %o1
21510 add %o1, %r23, %r23
21511#endif
21512 cas [%r23],%g0,%r10 !lock
21513 brnz %r10, cwq_2_27
21514 rd %asi, %r12
21515 wr %g0, 0x40, %asi
21516 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
21517 and %l1, 0x3, %l1 ! Check if busy/enabled ..
21518 cmp %l1, 1
21519 bne cwq_2_27
21520 set CWQ_BASE, %l6
21521 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
21522 best_set_reg(0x20610060, %l1, %l2) !# Control Word
21523 sllx %l2, 32, %l2
21524 stx %l2, [%l6 + 0x0]
21525 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
21526 sub %l2, 0x40, %l2
21527 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
21528 wr %r12, %g0, %asi
21529 st %g0, [%r23]
21530cwq_2_27:
21531 ta T_CHANGE_NONHPRIV
21532 .word 0x91414000 ! 32: RDPC rd %pc, %r8
21533 .word 0x8d90389b ! 33: WRPR_PSTATE_I wrpr %r0, 0x189b, %pstate
21534 .word 0xa5a00166 ! 34: FABSq dis not found
21535
21536#if (defined SPC || defined CMP)
21537!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_2_30) + 24, 16, 16)) -> intp(3,0,9)
21538!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_2_30)&0xffffffff) + 24, 16, 16)) -> intp(3,0,9)
21539#else
21540 setx 0xb2c16e943f5e6ad6, %r1, %r28
21541 stxa %r28, [%g0] 0x73
21542#endif
21543intvec_2_30:
21544 .word 0x39400001 ! 35: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
21545tglhtw_2_31:
21546 nop
21547 rd %asi, %l3 ! save %asi
21548 ta T_CHANGE_HPRIV
21549 wr %g0, ASI_MMU_ZERO_CONTEXT_TSB_CONFIG, %asi
21550 mov 1, %l2
21551 sllx %l2, 63, %l2
21552 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
21553 xor %l4, %l2, %l4
21554 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi
21555 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
21556 xor %l4, %l2, %l4
21557 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi
21558 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
21559 xor %l4, %l2, %l4
21560 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi
21561 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
21562 xor %l4, %l2, %l4
21563 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi
21564 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
21565 xor %l4, %l2, %l4
21566 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi
21567 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
21568 xor %l4, %l2, %l4
21569 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi
21570 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
21571 xor %l4, %l2, %l4
21572 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi
21573 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
21574 xor %l4, %l2, %l4
21575 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi
21576 ta T_CHANGE_NONHPRIV
21577 wr %g0, %l3, %asi !restore %asi
21578 .word 0x99b1098d ! 36: BSHUFFLE fmovc32 %d4, %d44, %d12
21579 .word 0x8d802004 ! 37: WRFPRS_I wr %r0, 0x0004, %fprs
21580 .word 0xd44fe070 ! 38: LDSB_I ldsb [%r31 + 0x0070], %r10
21581splash_cmpr_2_32:
21582 mov 1, %r18
21583 sllx %r18, 63, %r18
21584 rd %tick, %r17
21585 add %r17, 0x80, %r17
21586 or %r17, %r18, %r17
21587 ta T_CHANGE_HPRIV
21588 wrhpr %r17, %g0, %hsys_tick_cmpr
21589 .word 0xb3800011 ! 39: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
21590 setx 0x7b44cc393b2102eb, %r1, %r28
21591 stxa %r28, [%g0] 0x73
21592intvec_2_33:
21593 .word 0x39400001 ! 40: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
21594 .word 0x8d802004 ! 41: WRFPRS_I wr %r0, 0x0004, %fprs
21595pmu_2_34:
21596 nop
21597 setx 0xfffff266fffff96e, %g1, %g7
21598 .word 0xa3800007 ! 42: WR_PERF_COUNTER_R wr %r0, %r7, %-
21599jmptr_2_35:
21600 nop
21601 best_set_reg(0xe1a00000, %r20, %r27)
21602 .word 0xb7c6c000 ! 43: JMPL_R jmpl %r27 + %r0, %r27
21603 .word 0xd4c7e118 ! 44: LDSWA_I ldswa [%r31, + 0x0118] %asi, %r10
21604 .word 0xc30fc000 ! 45: LDXFSR_R ld-fsr [%r31, %r0], %f1
21605fpinit_2_36:
21606 setx fp_data_quads, %r19, %r20
21607 ldd [%r20], %f0
21608 ldd [%r20+8], %f4
21609 ld [%r20+16], %fsr
21610 ld [%r20+24], %r19
21611 wr %r19, %g0, %gsr
21612 .word 0x8da009c4 ! 46: FDIVd fdivd %f0, %f4, %f6
21613cwp_2_37:
21614 set user_data_start, %o7
21615 .word 0x93902007 ! 47: WRPR_CWP_I wrpr %r0, 0x0007, %cwp
21616ibp_2_38:
21617 nop
21618 .word 0xd497c033 ! 48: LDUHA_R lduha [%r31, %r19] 0x01, %r10
21619pmu_2_39:
21620 nop
21621 setx 0xfffff94ffffff3f1, %g1, %g7
21622 .word 0xa3800007 ! 49: WR_PERF_COUNTER_R wr %r0, %r7, %-
21623fpinit_2_40:
21624 setx fp_data_quads, %r19, %r20
21625 ldd [%r20], %f0
21626 ldd [%r20+8], %f4
21627 ld [%r20+16], %fsr
21628 ld [%r20+24], %r19
21629 wr %r19, %g0, %gsr
21630 .word 0x91b00484 ! 50: FCMPLE32 fcmple32 %d0, %d4, %r8
21631 nop
21632 ta T_CHANGE_HPRIV
21633 mov 0x2+1, %r10
21634 set sync_thr_counter5, %r23
21635#ifndef SPC
21636 ldxa [%g0]0x63, %o1
21637 and %o1, 0x38, %o1
21638 add %o1, %r23, %r23
21639#endif
21640 cas [%r23],%g0,%r10 !lock
21641 brnz %r10, cwq_2_41
21642 rd %asi, %r12
21643 wr %g0, 0x40, %asi
21644 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
21645 and %l1, 0x3, %l1 ! Check if busy/enabled ..
21646 cmp %l1, 1
21647 bne cwq_2_41
21648 set CWQ_BASE, %l6
21649 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
21650 best_set_reg(0x206100a0, %l1, %l2) !# Control Word
21651 sllx %l2, 32, %l2
21652 stx %l2, [%l6 + 0x0]
21653 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
21654 sub %l2, 0x40, %l2
21655 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
21656 wr %r12, %g0, %asi
21657 st %g0, [%r23]
21658cwq_2_41:
21659 ta T_CHANGE_NONHPRIV
21660 .word 0x97414000 ! 51: RDPC rd %pc, %r11
21661 .word 0x91948010 ! 52: WRPR_PIL_R wrpr %r18, %r16, %pil
21662mondo_2_43:
21663 nop
21664 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
21665 ta T_CHANGE_PRIV
21666 stxa %r18, [%r0+0x3d0] %asi
21667 .word 0x9d950007 ! 53: WRPR_WSTATE_R wrpr %r20, %r7, %wstate
21668dvapa_2_44:
21669 nop
21670 ta T_CHANGE_HPRIV
21671 mov 0xf40, %r20
21672 mov 0x15, %r19
21673 sllx %r20, 23, %r20
21674 or %r19, %r20, %r19
21675 stxa %r19, [%g0] ASI_LSU_CONTROL
21676 mov 0x38, %r18
21677 stxa %r31, [%r18]0x58
21678 ta T_CHANGE_NONHPRIV
21679 .word 0xe1bfd960 ! 54: STDFA_R stda %f16, [%r0, %r31]
21680ibp_2_45:
21681 nop
21682 ta T_CHANGE_NONHPRIV
21683 .word 0xe19fd920 ! 55: LDDFA_R ldda [%r31, %r0], %f16
21684 nop
21685 ta T_CHANGE_HPRIV
21686 mov 0x2, %r10
21687 set sync_thr_counter6, %r23
21688#ifndef SPC
21689 ldxa [%g0]0x63, %o1
21690 and %o1, 0x38, %o1
21691 add %o1, %r23, %r23
21692#endif
21693 cas [%r23],%g0,%r10 !lock
21694 brnz %r10, sma_2_46
21695 rd %asi, %r12
21696 wr %g0, 0x40, %asi
21697 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
21698 set 0x000e1fff, %g1
21699 stxa %g1, [%g0 + 0x80] %asi
21700 wr %r12, %g0, %asi
21701 st %g0, [%r23]
21702sma_2_46:
21703 ta T_CHANGE_NONHPRIV
21704 .word 0xe9e7e014 ! 56: CASA_R casa [%r31] %asi, %r20, %r20
21705 .word 0x26ca8001 ! 1: BRLZ brlz,a,pt %r10,<label_0xa8001>
21706 .word 0x8d903dc3 ! 57: WRPR_PSTATE_I wrpr %r0, 0x1dc3, %pstate
21707splash_lsu_2_48:
21708 nop
21709 ta T_CHANGE_HPRIV
21710 set 0xa0606972, %r2
21711 mov 0x3, %r1
21712 sllx %r1, 32, %r1
21713 or %r1, %r2, %r2
21714 stxa %r2, [%r0] ASI_LSU_CONTROL
21715 ta T_CHANGE_NONHPRIV
21716 .word 0x3d400001 ! 58: FBPULE fbule,a,pn %fcc0, <label_0x1>
21717vahole_2_49:
21718 nop
21719 ta T_CHANGE_NONHPRIV
21720 setx vahole_target2, %r18, %r27
21721 jmpl %r27+0, %r27
21722 .word 0x9b703a99 ! 59: POPC_I popc 0x1a99, %r13
21723splash_hpstate_2_50:
21724 ta T_CHANGE_NONHPRIV
21725 .word 0x3c800001 ! 1: BPOS bpos,a <label_0x1>
21726 .word 0x81983fd7 ! 60: WRHPR_HPSTATE_I wrhpr %r0, 0x1fd7, %hpstate
21727vahole_2_51:
21728 nop
21729 ta T_CHANGE_NONHPRIV
21730 setx vahole_target0, %r18, %r27
21731 jmpl %r27+0, %r27
21732 .word 0xe19fdb60 ! 61: LDDFA_R ldda [%r31, %r0], %f16
21733splash_lsu_2_52:
21734 nop
21735 ta T_CHANGE_HPRIV
21736 set 0xe695e951, %r2
21737 mov 0x6, %r1
21738 sllx %r1, 32, %r1
21739 or %r1, %r2, %r2
21740 stxa %r2, [%r0] ASI_LSU_CONTROL
21741 ta T_CHANGE_NONHPRIV
21742 .word 0x3d400001 ! 62: FBPULE fbule,a,pn %fcc0, <label_0x1>
21743 nop
21744 ta T_CHANGE_HPRIV
21745 mov 0x2+1, %r10
21746 set sync_thr_counter5, %r23
21747#ifndef SPC
21748 ldxa [%g0]0x63, %o1
21749 and %o1, 0x38, %o1
21750 add %o1, %r23, %r23
21751#endif
21752 cas [%r23],%g0,%r10 !lock
21753 brnz %r10, cwq_2_53
21754 rd %asi, %r12
21755 wr %g0, 0x40, %asi
21756 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
21757 and %l1, 0x3, %l1 ! Check if busy/enabled ..
21758 cmp %l1, 1
21759 bne cwq_2_53
21760 set CWQ_BASE, %l6
21761 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
21762 best_set_reg(0x20610010, %l1, %l2) !# Control Word
21763 sllx %l2, 32, %l2
21764 stx %l2, [%l6 + 0x0]
21765 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
21766 sub %l2, 0x40, %l2
21767 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
21768 wr %r12, %g0, %asi
21769 st %g0, [%r23]
21770cwq_2_53:
21771 ta T_CHANGE_NONHPRIV
21772 .word 0xa1414000 ! 63: RDPC rd %pc, %r16
21773cwp_2_54:
21774 set user_data_start, %o7
21775 .word 0x93902003 ! 64: WRPR_CWP_I wrpr %r0, 0x0003, %cwp
21776 setx 0xaf82a1529330313d, %r1, %r28
21777 stxa %r28, [%g0] 0x73
21778intvec_2_55:
21779 .word 0x39400001 ! 65: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
21780vahole_2_56:
21781 nop
21782 ta T_CHANGE_NONHPRIV
21783 setx vahole_target1, %r18, %r27
21784 jmpl %r27+0, %r27
21785 .word 0xd49fc028 ! 66: LDDA_R ldda [%r31, %r8] 0x01, %r10
21786 .word 0x89800011 ! 67: WRTICK_R wr %r0, %r17, %tick
21787tagged_2_58:
21788 tsubcctv %r0, 0x1965, %r20
21789 .word 0xd407e01d ! 68: LDUW_I lduw [%r31 + 0x001d], %r10
21790jmptr_2_59:
21791 nop
21792 best_set_reg(0xe1a00000, %r20, %r27)
21793 .word 0xb7c6c000 ! 69: JMPL_R jmpl %r27 + %r0, %r27
21794mondo_2_60:
21795 nop
21796 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
21797 stxa %r9, [%r0+0x3c0] %asi
21798 .word 0x9d904009 ! 70: WRPR_WSTATE_R wrpr %r1, %r9, %wstate
21799donret_2_61:
21800 nop
21801 ta T_CHANGE_HPRIV ! macro
21802 rd %pc, %r12
21803 add %r12, (donretarg_2_61-donret_2_61-4), %r12
21804 mov 0x38, %r18
21805 stxa %r12, [%r18]0x58
21806 add %r12, 0x4, %r11
21807 wrpr %g0, 0x2, %tl
21808 wrpr %g0, %r12, %tpc
21809 wrpr %g0, %r11, %tnpc
21810 set (0x0069c12a | (0x58 << 24)), %r13
21811 rdpr %tstate, %r16
21812 mov 0x1f, %r19
21813 and %r19, %r16, %r17
21814 andn %r16, %r19, %r16
21815 or %r16, %r17, %r20
21816 wrpr %r20, %g0, %tstate
21817 wrhpr %g0, 0x337, %htstate
21818 ta T_CHANGE_NONPRIV ! rand=0 (2)
21819 done
21820donretarg_2_61:
21821 .word 0xd4ffe16d ! 71: SWAPA_I swapa %r10, [%r31 + 0x016d] %asi
21822ibp_2_62:
21823 nop
21824 .word 0xc3ea8032 ! 72: PREFETCHA_R prefetcha [%r10, %r18] 0x01, #one_read
21825 .word 0x25400001 ! 1: FBPLG fblg,a,pn %fcc0, <label_0x1>
21826 .word 0x8d903bf7 ! 73: WRPR_PSTATE_I wrpr %r0, 0x1bf7, %pstate
21827dvapa_2_64:
21828 nop
21829 ta T_CHANGE_HPRIV
21830 mov 0x990, %r20
21831 mov 0x8, %r19
21832 sllx %r20, 23, %r20
21833 or %r19, %r20, %r19
21834 stxa %r19, [%g0] ASI_LSU_CONTROL
21835 mov 0x38, %r18
21836 stxa %r31, [%r18]0x58
21837 ta T_CHANGE_NONHPRIV
21838 .word 0xc1bfd960 ! 74: STDFA_R stda %f0, [%r0, %r31]
21839vahole_2_65:
21840 nop
21841 ta T_CHANGE_NONHPRIV
21842 setx vahole_target1, %r18, %r27
21843 jmpl %r27+0, %r27
21844 .word 0x93702d78 ! 75: POPC_I popc 0x0d78, %r9
21845pmu_2_66:
21846 nop
21847 setx 0xfffff2b1fffff35a, %g1, %g7
21848 .word 0xa3800007 ! 76: WR_PERF_COUNTER_R wr %r0, %r7, %-
21849donret_2_67:
21850 nop
21851 ta T_CHANGE_HPRIV ! macro
21852 rd %pc, %r12
21853 add %r12, (donretarg_2_67-donret_2_67-4), %r12
21854 mov 0x38, %r18
21855 stxa %r12, [%r18]0x58
21856 add %r12, 0x4, %r11
21857 wrpr %g0, 0x1, %tl
21858 wrpr %g0, %r12, %tpc
21859 wrpr %g0, %r11, %tnpc
21860 set (0x0009269e | (0x89 << 24)), %r13
21861 rdpr %tstate, %r16
21862 mov 0x1f, %r19
21863 and %r19, %r16, %r17
21864 andn %r16, %r19, %r16
21865 or %r16, %r17, %r20
21866 wrpr %r20, %g0, %tstate
21867 wrhpr %g0, 0xdbf, %htstate
21868 ta T_CHANGE_NONHPRIV ! rand=1 (2)
21869 .word 0x22cc0001 ! 1: BRZ brz,a,pt %r16,<label_0xc0001>
21870 done
21871donretarg_2_67:
21872 .word 0xd2ffe1e9 ! 77: SWAPA_I swapa %r9, [%r31 + 0x01e9] %asi
21873 nop
21874 ta T_CHANGE_HPRIV
21875 mov 0x2+1, %r10
21876 set sync_thr_counter5, %r23
21877#ifndef SPC
21878 ldxa [%g0]0x63, %o1
21879 and %o1, 0x38, %o1
21880 add %o1, %r23, %r23
21881#endif
21882 cas [%r23],%g0,%r10 !lock
21883 brnz %r10, cwq_2_68
21884 rd %asi, %r12
21885 wr %g0, 0x40, %asi
21886 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
21887 and %l1, 0x3, %l1 ! Check if busy/enabled ..
21888 cmp %l1, 1
21889 bne cwq_2_68
21890 set CWQ_BASE, %l6
21891 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
21892 best_set_reg(0x206100b0, %l1, %l2) !# Control Word
21893 sllx %l2, 32, %l2
21894 stx %l2, [%l6 + 0x0]
21895 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
21896 sub %l2, 0x40, %l2
21897 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
21898 wr %r12, %g0, %asi
21899 st %g0, [%r23]
21900cwq_2_68:
21901 ta T_CHANGE_NONHPRIV
21902 .word 0xa7414000 ! 78: RDPC rd %pc, %r19
21903 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
21904reduce_priv_lvl_2_69:
21905 ta T_CHANGE_NONHPRIV ! macro
21906trapasi_2_70:
21907 nop
21908 mov 0x18, %r1 ! (VA for ASI 0x50)
21909 .word 0xe4904a00 ! 80: LDUHA_R lduha [%r1, %r0] 0x50, %r18
21910tglhtw_2_71:
21911 nop
21912 rd %asi, %l3 ! save %asi
21913 ta T_CHANGE_HPRIV
21914 wr %g0, ASI_MMU_ZERO_CONTEXT_TSB_CONFIG, %asi
21915 mov 1, %l2
21916 sllx %l2, 63, %l2
21917 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
21918 xor %l4, %l2, %l4
21919 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi
21920 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
21921 xor %l4, %l2, %l4
21922 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi
21923 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
21924 xor %l4, %l2, %l4
21925 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi
21926 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
21927 xor %l4, %l2, %l4
21928 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi
21929 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
21930 xor %l4, %l2, %l4
21931 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi
21932 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
21933 xor %l4, %l2, %l4
21934 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi
21935 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
21936 xor %l4, %l2, %l4
21937 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi
21938 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
21939 xor %l4, %l2, %l4
21940 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi
21941 ta T_CHANGE_NONHPRIV
21942 wr %g0, %l3, %asi !restore %asi
21943 .word 0xa7b0c98b ! 81: BSHUFFLE fmovc32 %d34, %d42, %d50
21944pmu_2_72:
21945 nop
21946 ta T_CHANGE_PRIV
21947 setx 0xfffff301fffff1ba, %g1, %g7
21948 .word 0xa3800007 ! 82: WR_PERF_COUNTER_R wr %r0, %r7, %-
21949tagged_2_73:
21950 taddcctv %r17, 0x1a07, %r11
21951 .word 0xd607e0d4 ! 83: LDUW_I lduw [%r31 + 0x00d4], %r11
21952#if (defined SPC || defined CMP)
21953!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_2_74) + 40, 16, 16)) -> intp(6,0,15)
21954!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_2_74)&0xffffffff) + 40, 16, 16)) -> intp(6,0,15)
21955#else
21956 setx 0x090aab5489e1469f, %r1, %r28
21957 stxa %r28, [%g0] 0x73
21958#endif
21959intvec_2_74:
21960 .word 0x39400001 ! 84: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
21961 .word 0x93d02032 ! 85: Tcc_I tne icc_or_xcc, %r0 + 50
21962 set 0x1aa9, %l3
21963 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
21964 .word 0x93b307d3 ! 86: PDIST pdistn %d12, %d50, %d40
21965 .word 0x91904004 ! 87: WRPR_PIL_R wrpr %r1, %r4, %pil
21966 .word 0x91908012 ! 88: WRPR_PIL_R wrpr %r2, %r18, %pil
21967pmu_2_77:
21968 nop
21969 ta T_CHANGE_PRIV
21970 setx 0xfffffdaffffff87d, %g1, %g7
21971 .word 0xa3800007 ! 89: WR_PERF_COUNTER_R wr %r0, %r7, %-
21972 .word 0x22780001 ! 90: BPE <illegal instruction>
21973vahole_2_78:
21974 nop
21975 ta T_CHANGE_NONHPRIV
21976 setx vahole_target3, %r18, %r27
21977 jmpl %r27+0, %r27
21978 .word 0xd29fc02c ! 91: LDDA_R ldda [%r31, %r12] 0x01, %r9
21979ibp_2_79:
21980 nop
21981 ta T_CHANGE_NONHPRIV
21982 .word 0xa5a189c1 ! 92: FDIVd fdivd %f6, %f32, %f18
21983splash_lsu_2_80:
21984 nop
21985 ta T_CHANGE_HPRIV
21986 set 0xa91e1ef3, %r2
21987 mov 0x6, %r1
21988 sllx %r1, 32, %r1
21989 or %r1, %r2, %r2
21990 stxa %r2, [%r0] ASI_LSU_CONTROL
21991 .word 0x3d400001 ! 93: FBPULE fbule,a,pn %fcc0, <label_0x1>
21992splash_lsu_2_81:
21993 nop
21994 ta T_CHANGE_HPRIV
21995 set 0x12e1c8a0, %r2
21996 mov 0x2, %r1
21997 sllx %r1, 32, %r1
21998 or %r1, %r2, %r2
21999 stxa %r2, [%r0] ASI_LSU_CONTROL
22000 .word 0x3d400001 ! 94: FBPULE fbule,a,pn %fcc0, <label_0x1>
22001 .word 0x81460000 ! 95: RD_STICK_REG stbar
22002splash_lsu_2_82:
22003 nop
22004 ta T_CHANGE_HPRIV
22005 set 0x035f0ae7, %r2
22006 mov 0x4, %r1
22007 sllx %r1, 32, %r1
22008 or %r1, %r2, %r2
22009 stxa %r2, [%r0] ASI_LSU_CONTROL
22010 ta T_CHANGE_NONHPRIV
22011 .word 0x3d400001 ! 96: FBPULE fbule,a,pn %fcc0, <label_0x1>
22012 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
22013reduce_priv_lvl_2_83:
22014 ta T_CHANGE_NONHPRIV ! macro
22015 .word 0x29800001 ! 98: FBL fbl,a <label_0x1>
22016splash_hpstate_2_85:
22017 .word 0x23400001 ! 1: FBPNE fbne,a,pn %fcc0, <label_0x1>
22018 .word 0x81982c17 ! 99: WRHPR_HPSTATE_I wrhpr %r0, 0x0c17, %hpstate
22019 .word 0xe01fe198 ! 100: LDD_I ldd [%r31 + 0x0198], %r16
22020 .word 0xe09fe1a0 ! 101: LDDA_I ldda [%r31, + 0x01a0] %asi, %r16
22021ibp_2_86:
22022 nop
22023 .word 0xe1bfde00 ! 102: STDFA_R stda %f16, [%r0, %r31]
22024 .word 0x83d02033 ! 103: Tcc_I te icc_or_xcc, %r0 + 51
22025 nop
22026 ta T_CHANGE_HPRIV
22027 mov 0x2, %r10
22028 set sync_thr_counter6, %r23
22029#ifndef SPC
22030 ldxa [%g0]0x63, %o1
22031 and %o1, 0x38, %o1
22032 add %o1, %r23, %r23
22033#endif
22034 cas [%r23],%g0,%r10 !lock
22035 brnz %r10, sma_2_87
22036 rd %asi, %r12
22037 wr %g0, 0x40, %asi
22038 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
22039 set 0x00121fff, %g1
22040 stxa %g1, [%g0 + 0x80] %asi
22041 wr %r12, %g0, %asi
22042 st %g0, [%r23]
22043sma_2_87:
22044 ta T_CHANGE_NONHPRIV
22045 .word 0xe1e7e011 ! 104: CASA_R casa [%r31] %asi, %r17, %r16
22046 .word 0x9194c012 ! 105: WRPR_PIL_R wrpr %r19, %r18, %pil
22047pmu_2_89:
22048 nop
22049 setx 0xfffffc85fffff27b, %g1, %g7
22050 .word 0xa3800007 ! 106: WR_PERF_COUNTER_R wr %r0, %r7, %-
22051 .word 0xc30fc000 ! 107: LDXFSR_R ld-fsr [%r31, %r0], %f1
22052 .word 0x26cc0001 ! 1: BRLZ brlz,a,pt %r16,<label_0xc0001>
22053 .word 0x8d90373b ! 108: WRPR_PSTATE_I wrpr %r0, 0x173b, %pstate
22054intveclr_2_91:
22055 nop
22056 ta T_CHANGE_HPRIV
22057 setx 0xba888114e0baf0ee, %r1, %r28
22058 stxa %r28, [%g0] 0x72
22059 ta T_CHANGE_NONHPRIV
22060 .word 0x25400001 ! 109: FBPLG fblg,a,pn %fcc0, <label_0x1>
22061brcommon2_2_92:
22062 nop
22063 setx common_target, %r12, %r27
22064 ba,a .+12
22065 .word 0xe9108012 ! 1: LDQF_R - [%r2, %r18], %f20
22066 ba,a .+8
22067 jmpl %r27+0, %r27
22068 .word 0xe19fc2c0 ! 110: LDDFA_R ldda [%r31, %r0], %f16
22069pmu_2_93:
22070 nop
22071 ta T_CHANGE_PRIV
22072 setx 0xfffffc7bfffffe1f, %g1, %g7
22073 .word 0xa3800007 ! 111: WR_PERF_COUNTER_R wr %r0, %r7, %-
22074vahole_2_94:
22075 nop
22076 ta T_CHANGE_NONHPRIV
22077 setx vahole_target2, %r18, %r27
22078 jmpl %r27+0, %r27
22079 .word 0xe9e7e00b ! 112: CASA_R casa [%r31] %asi, %r11, %r20
22080 fblg skip_2_95
22081 .word 0x87acca45 ! 1: FCMPd fcmpd %fcc<n>, %f50, %f36
22082.align 2048
22083skip_2_95:
22084 .word 0x87aa8a43 ! 113: FCMPd fcmpd %fcc<n>, %f10, %f34
22085dvapa_2_96:
22086 nop
22087 ta T_CHANGE_HPRIV
22088 mov 0xe7e, %r20
22089 mov 0x16, %r19
22090 sllx %r20, 23, %r20
22091 or %r19, %r20, %r19
22092 stxa %r19, [%g0] ASI_LSU_CONTROL
22093 mov 0x38, %r18
22094 stxa %r31, [%r18]0x58
22095 ta T_CHANGE_NONHPRIV
22096 .word 0x93a489cb ! 114: FDIVd fdivd %f18, %f42, %f40
22097splash_cmpr_2_97:
22098 mov 1, %r18
22099 sllx %r18, 63, %r18
22100 rd %tick, %r17
22101 add %r17, 0x50, %r17
22102 or %r17, %r18, %r17
22103 ta T_CHANGE_PRIV
22104 .word 0xaf800011 ! 115: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
22105vahole_2_98:
22106 nop
22107 ta T_CHANGE_NONHPRIV
22108 setx vahole_target1, %r18, %r27
22109 jmpl %r27+0, %r27
22110 .word 0xd2dfc02c ! 116: LDXA_R ldxa [%r31, %r12] 0x01, %r9
22111vahole_2_99:
22112 nop
22113 ta T_CHANGE_NONHPRIV
22114 setx vahole_target0, %r18, %r27
22115 jmpl %r27+0, %r27
22116 .word 0xc1bfc3e0 ! 117: STDFA_R stda %f0, [%r0, %r31]
22117mondo_2_100:
22118 nop
22119 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
22120 stxa %r3, [%r0+0x3c0] %asi
22121 .word 0x9d928008 ! 118: WRPR_WSTATE_R wrpr %r10, %r8, %wstate
22122trapasi_2_101:
22123 nop
22124 mov 0x38, %r1 ! (VA for ASI 0x50)
22125 .word 0xd2c84a00 ! 119: LDSBA_R ldsba [%r1, %r0] 0x50, %r9
22126splash_cmpr_2_102:
22127 mov 1, %r18
22128 sllx %r18, 63, %r18
22129 rd %tick, %r17
22130 add %r17, 0x70, %r17
22131 or %r17, %r18, %r17
22132 .word 0xaf800011 ! 120: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
22133 nop
22134 ta T_CHANGE_HPRIV
22135 mov 0x2, %r10
22136 set sync_thr_counter6, %r23
22137#ifndef SPC
22138 ldxa [%g0]0x63, %o1
22139 and %o1, 0x38, %o1
22140 add %o1, %r23, %r23
22141#endif
22142 cas [%r23],%g0,%r10 !lock
22143 brnz %r10, sma_2_103
22144 rd %asi, %r12
22145 wr %g0, 0x40, %asi
22146 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
22147 set 0x001e1fff, %g1
22148 stxa %g1, [%g0 + 0x80] %asi
22149 wr %r12, %g0, %asi
22150 st %g0, [%r23]
22151sma_2_103:
22152 ta T_CHANGE_NONHPRIV
22153 .word 0xd3e7e00b ! 121: CASA_R casa [%r31] %asi, %r11, %r9
22154dvapa_2_104:
22155 nop
22156 ta T_CHANGE_HPRIV
22157 mov 0xbf0, %r20
22158 mov 0x5, %r19
22159 sllx %r20, 23, %r20
22160 or %r19, %r20, %r19
22161 stxa %r19, [%g0] ASI_LSU_CONTROL
22162 mov 0x38, %r18
22163 stxa %r31, [%r18]0x58
22164 ta T_CHANGE_NONHPRIV
22165 .word 0xa37028da ! 122: POPC_I popc 0x08da, %r17
22166splash_hpstate_2_105:
22167 .word 0x20800001 ! 1: BN bn,a <label_0x1>
22168 .word 0x81982c85 ! 123: WRHPR_HPSTATE_I wrhpr %r0, 0x0c85, %hpstate
22169iaw_2_106:
22170 nop
22171 ta T_CHANGE_HPRIV
22172 mov 8, %r18
22173 rd %asi, %r12
22174 wr %r0, 0x41, %asi
22175 set sync_thr_counter4, %r23
22176#ifndef SPC
22177 ldxa [%g0]0x63, %r8
22178 and %r8, 0x38, %r8 ! Core ID
22179 add %r8, %r23, %r23
22180#else
22181 mov 0, %r8
22182#endif
22183 mov 0x2, %r16
22184iaw_startwait2_106:
22185 cas [%r23],%g0,%r16 !lock
22186 brz,a %r16, continue_iaw_2_106
22187 mov (~0x2&0xf), %r16
22188 ld [%r23], %r16
22189iaw_wait2_106:
22190 brnz %r16, iaw_wait2_106
22191 ld [%r23], %r16
22192 ba iaw_startwait2_106
22193 mov 0x2, %r16
22194continue_iaw_2_106:
22195 sllx %r16, %r8, %r16 !Mask for my core only
22196 ldxa [0x58]%asi, %r17 !Running_status
22197wait_for_stat_2_106:
22198 ldxa [0x50]%asi, %r13 !Running_rw
22199 cmp %r13, %r17
22200 bne,a wait_for_stat_2_106
22201 ldxa [0x58]%asi, %r17 !Running_status
22202 stxa %r16, [0x68]%asi !Park (W1C)
22203 ldxa [0x50]%asi, %r14 !Running_rw
22204wait_for_iaw_2_106:
22205 ldxa [0x58]%asi, %r17 !Running_status
22206 cmp %r14, %r17
22207 bne,a wait_for_iaw_2_106
22208 ldxa [0x50]%asi, %r14 !Running_rw
22209iaw_doit2_106:
22210 mov 0x38, %r18
22211iaw1_2_106:
22212 best_set_reg(0x00000000e1200000, %r20, %r19)
22213 or %r19, 0x1, %r19
22214 stxa %r19, [%r18]0x50
22215 stxa %r16, [0x60] %asi ! Unpark (W1S)
22216 st %g0, [%r23] !clear lock
22217 wr %r0, %r12, %asi ! restore %asi
22218 ta T_CHANGE_NONHPRIV
22219 .word 0xe19fc3e0 ! 124: LDDFA_R ldda [%r31, %r0], %f16
22220mondo_2_107:
22221 nop
22222 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
22223 ta T_CHANGE_PRIV
22224 stxa %r18, [%r0+0x3e8] %asi
22225 .word 0x9d94c006 ! 125: WRPR_WSTATE_R wrpr %r19, %r6, %wstate
22226splash_tba_2_108:
22227 ta T_CHANGE_PRIV
22228 set 0x120000, %r12
22229 .word 0x8b90000c ! 126: WRPR_TBA_R wrpr %r0, %r12, %tba
22230 .word 0x91500000 ! 127: RDPR_TPC <illegal instruction>
22231brcommon2_2_109:
22232 nop
22233 setx common_target, %r12, %r27
22234 ba,a .+12
22235 .word 0x95a00552 ! 1: FSQRTd fsqrt
22236 ba,a .+8
22237 jmpl %r27+0, %r27
22238 .word 0xc19fdc00 ! 128: LDDFA_R ldda [%r31, %r0], %f0
22239splash_hpstate_2_110:
22240 .word 0x81982e7f ! 129: WRHPR_HPSTATE_I wrhpr %r0, 0x0e7f, %hpstate
22241 .word 0x89800011 ! 130: WRTICK_R wr %r0, %r17, %tick
22242 .word 0xc19fe1e0 ! 131: LDDFA_I ldda [%r31, 0x01e0], %f0
22243 .word 0xa1a00171 ! 132: FABSq dis not found
22244
22245 setx 0xc76ab97b1b102712, %r1, %r28
22246 stxa %r28, [%g0] 0x73
22247intvec_2_113:
22248 .word 0x39400001 ! 133: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
22249fpinit_2_114:
22250 setx fp_data_quads, %r19, %r20
22251 ldd [%r20], %f0
22252 ldd [%r20+8], %f4
22253 ld [%r20+16], %fsr
22254 ld [%r20+24], %r19
22255 wr %r19, %g0, %gsr
22256 .word 0x91a009a4 ! 134: FDIVs fdivs %f0, %f4, %f8
22257 .word 0x8d9037f3 ! 135: WRPR_PSTATE_I wrpr %r0, 0x17f3, %pstate
22258 bne skip_2_116
22259 bvs skip_2_116
22260.align 2048
22261skip_2_116:
22262 .word 0xc32fc000 ! 136: STXFSR_R st-sfr %f1, [%r0, %r31]
22263intveclr_2_117:
22264 nop
22265 ta T_CHANGE_HPRIV
22266 setx 0xab3d53d42db5f312, %r1, %r28
22267 stxa %r28, [%g0] 0x72
22268 .word 0x25400001 ! 137: FBPLG fblg,a,pn %fcc0, <label_0x1>
22269pmu_2_118:
22270 nop
22271 setx 0xfffffcccfffff73c, %g1, %g7
22272 .word 0xa3800007 ! 138: WR_PERF_COUNTER_R wr %r0, %r7, %-
22273ibp_2_119:
22274 nop
22275 ta T_CHANGE_NONHPRIV
22276 .word 0xa1a449ac ! 139: FDIVs fdivs %f17, %f12, %f16
22277splash_lsu_2_120:
22278 nop
22279 ta T_CHANGE_HPRIV
22280 set 0x4c3d2cf2, %r2
22281 mov 0x1, %r1
22282 sllx %r1, 32, %r1
22283 or %r1, %r2, %r2
22284 stxa %r2, [%r0] ASI_LSU_CONTROL
22285 ta T_CHANGE_NONHPRIV
22286 .word 0x3d400001 ! 140: FBPULE fbule,a,pn %fcc0, <label_0x1>
22287pmu_2_121:
22288 nop
22289 ta T_CHANGE_PRIV
22290 setx 0xfffff14ffffff0fa, %g1, %g7
22291 .word 0xa3800007 ! 141: WR_PERF_COUNTER_R wr %r0, %r7, %-
22292unsupttte_2_122:
22293 nop
22294 ta T_CHANGE_HPRIV
22295 mov 1, %r20
22296 sllx %r20, 63, %r20
22297 or %r20, 2,%r20
22298 stxa %r20, [%g0]0x54 ! I unsupported page size ..
22299 ta T_CHANGE_NONHPRIV
22300 .word 0xa9a209a3 ! 142: FDIVs fdivs %f8, %f3, %f20
22301splash_cmpr_2_123:
22302 mov 0, %r18
22303 sllx %r18, 63, %r18
22304 rd %tick, %r17
22305 add %r17, 0x50, %r17
22306 or %r17, %r18, %r17
22307 ta T_CHANGE_PRIV
22308 .word 0xb3800011 ! 143: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
22309 .word 0xd47ffbe8 ! 144: SWAP_I swap %r10, [%r31 + 0xfffffbe8]
22310splash_cmpr_2_124:
22311 mov 0, %r18
22312 sllx %r18, 63, %r18
22313 rd %tick, %r17
22314 add %r17, 0x70, %r17
22315 or %r17, %r18, %r17
22316 ta T_CHANGE_HPRIV
22317 wrhpr %r17, %g0, %hsys_tick_cmpr
22318 .word 0xaf800011 ! 145: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
22319 .word 0x97524000 ! 146: RDPR_CWP <illegal instruction>
22320intveclr_2_126:
22321 nop
22322 ta T_CHANGE_HPRIV
22323 setx 0xa041563f5bb47816, %r1, %r28
22324 stxa %r28, [%g0] 0x72
22325 ta T_CHANGE_NONHPRIV
22326 .word 0x25400001 ! 147: FBPLG fblg,a,pn %fcc0, <label_0x1>
22327memptr_2_127:
22328 set 0x60140000, %r31
22329 .word 0x85843a13 ! 148: WRCCR_I wr %r16, 0x1a13, %ccr
22330 .word 0x87802080 ! 149: WRASI_I wr %r0, 0x0080, %asi
22331intveclr_2_128:
22332 nop
22333 ta T_CHANGE_HPRIV
22334 setx 0x526cbd4baf7c244f, %r1, %r28
22335 stxa %r28, [%g0] 0x72
22336 ta T_CHANGE_NONHPRIV
22337 .word 0x25400001 ! 150: FBPLG fblg,a,pn %fcc0, <label_0x1>
22338 .word 0xe0800a80 ! 151: LDUWA_R lduwa [%r0, %r0] 0x54, %r16
22339mondo_2_129:
22340 nop
22341 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
22342 stxa %r19, [%r0+0x3c8] %asi
22343 .word 0x9d91000b ! 152: WRPR_WSTATE_R wrpr %r4, %r11, %wstate
22344vahole_2_130:
22345 nop
22346 ta T_CHANGE_NONHPRIV
22347 setx vahole_target3, %r18, %r27
22348 jmpl %r27+0, %r27
22349 .word 0xc1bfe1a0 ! 153: STDFA_I stda %f0, [0x01a0, %r31]
22350 .word 0xe08fe168 ! 154: LDUBA_I lduba [%r31, + 0x0168] %asi, %r16
22351 .word 0x91d02032 ! 155: Tcc_I ta icc_or_xcc, %r0 + 50
22352 nop
22353 ta T_CHANGE_HPRIV
22354 mov 0x2+1, %r10
22355 set sync_thr_counter5, %r23
22356#ifndef SPC
22357 ldxa [%g0]0x63, %o1
22358 and %o1, 0x38, %o1
22359 add %o1, %r23, %r23
22360#endif
22361 cas [%r23],%g0,%r10 !lock
22362 brnz %r10, cwq_2_131
22363 rd %asi, %r12
22364 wr %g0, 0x40, %asi
22365 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
22366 and %l1, 0x3, %l1 ! Check if busy/enabled ..
22367 cmp %l1, 1
22368 bne cwq_2_131
22369 set CWQ_BASE, %l6
22370 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
22371 best_set_reg(0x20610020, %l1, %l2) !# Control Word
22372 sllx %l2, 32, %l2
22373 stx %l2, [%l6 + 0x0]
22374 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
22375 sub %l2, 0x40, %l2
22376 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
22377 wr %r12, %g0, %asi
22378 st %g0, [%r23]
22379cwq_2_131:
22380 ta T_CHANGE_NONHPRIV
22381 .word 0x93414000 ! 156: RDPC rd %pc, %r9
22382ibp_2_132:
22383 nop
22384 .word 0x91b1c489 ! 157: FCMPLE32 fcmple32 %d38, %d40, %r8
22385splash_lsu_2_133:
22386 nop
22387 ta T_CHANGE_HPRIV
22388 set 0x22f6b9f5, %r2
22389 mov 0x1, %r1
22390 sllx %r1, 32, %r1
22391 or %r1, %r2, %r2
22392 stxa %r2, [%r0] ASI_LSU_CONTROL
22393 .word 0x3d400001 ! 158: FBPULE fbule,a,pn %fcc0, <label_0x1>
22394 .word 0xe88008a0 ! 159: LDUWA_R lduwa [%r0, %r0] 0x45, %r20
22395vahole_2_134:
22396 nop
22397 ta T_CHANGE_NONHPRIV
22398 setx vahole_target1, %r18, %r27
22399 jmpl %r27+0, %r27
22400 .word 0xe19fdc00 ! 160: LDDFA_R ldda [%r31, %r0], %f16
22401brcommon1_2_135:
22402 nop
22403 setx common_target, %r12, %r27
22404 lduw [%r27], %r12 ! Load common dest into dcache ..
22405 ba,a .+12
22406 .word 0xe86ff5c6 ! 1: LDSTUB_I ldstub %r20, [%r31 + 0xfffff5c6]
22407 ba,a .+8
22408 jmpl %r27+0, %r27
22409 .word 0xa7a449a9 ! 161: FDIVs fdivs %f17, %f9, %f19
22410splash_hpstate_2_136:
22411 .word 0x8198290c ! 162: WRHPR_HPSTATE_I wrhpr %r0, 0x090c, %hpstate
22412 .word 0xd497e170 ! 163: LDUHA_I lduha [%r31, + 0x0170] %asi, %r10
22413vahole_2_137:
22414 nop
22415 ta T_CHANGE_NONHPRIV
22416 setx vahole_target1, %r18, %r27
22417 jmpl %r27+0, %r27
22418 .word 0xc19fdf20 ! 164: LDDFA_R ldda [%r31, %r0], %f0
22419pmu_2_138:
22420 nop
22421 setx 0xfffff532fffff0db, %g1, %g7
22422 .word 0xa3800007 ! 165: WR_PERF_COUNTER_R wr %r0, %r7, %-
22423vahole_2_139:
22424 nop
22425 ta T_CHANGE_NONHPRIV
22426 setx vahole_target0, %r18, %r27
22427 jmpl %r27+0, %r27
22428 .word 0xc32fc013 ! 166: STXFSR_R st-sfr %f1, [%r19, %r31]
22429intveclr_2_140:
22430 nop
22431 ta T_CHANGE_HPRIV
22432 setx 0x487fdba70a5d4739, %r1, %r28
22433 stxa %r28, [%g0] 0x72
22434 ta T_CHANGE_NONHPRIV
22435 .word 0x25400001 ! 167: FBPLG fblg,a,pn %fcc0, <label_0x1>
22436 .word 0x8d9038ab ! 168: WRPR_PSTATE_I wrpr %r0, 0x18ab, %pstate
22437 .word 0x87802055 ! 169: WRASI_I wr %r0, 0x0055, %asi
22438ibp_2_142:
22439 nop
22440 ta T_CHANGE_NONHPRIV
22441 .word 0xa5a489d2 ! 170: FDIVd fdivd %f18, %f18, %f18
22442 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
22443reduce_priv_lvl_2_143:
22444 ta T_CHANGE_NONPRIV ! macro
22445fpinit_2_144:
22446 setx fp_data_quads, %r19, %r20
22447 ldd [%r20], %f0
22448 ldd [%r20+8], %f4
22449 ld [%r20+16], %fsr
22450 ld [%r20+24], %r19
22451 wr %r19, %g0, %gsr
22452 .word 0xc3e8247f ! 172: PREFETCHA_I prefetcha [%r0, + 0x047f] %asi, #one_read
22453dvapa_2_145:
22454 nop
22455 ta T_CHANGE_HPRIV
22456 mov 0x91f, %r20
22457 mov 0x11, %r19
22458 sllx %r20, 23, %r20
22459 or %r19, %r20, %r19
22460 stxa %r19, [%g0] ASI_LSU_CONTROL
22461 mov 0x38, %r18
22462 stxa %r31, [%r18]0x58
22463 ta T_CHANGE_NONHPRIV
22464 .word 0xc32fc014 ! 173: STXFSR_R st-sfr %f1, [%r20, %r31]
22465intveclr_2_146:
22466 nop
22467 ta T_CHANGE_HPRIV
22468 setx 0x797d077a618c9992, %r1, %r28
22469 stxa %r28, [%g0] 0x72
22470 ta T_CHANGE_NONHPRIV
22471 .word 0x25400001 ! 174: FBPLG fblg,a,pn %fcc0, <label_0x1>
22472 .word 0xe51fe088 ! 175: LDDF_I ldd [%r31, 0x0088], %f18
22473donret_2_147:
22474 nop
22475 ta T_CHANGE_HPRIV ! macro
22476 rd %pc, %r12
22477 add %r12, (donretarg_2_147-donret_2_147-4), %r12
22478 mov 0x38, %r18
22479 stxa %r12, [%r18]0x58
22480 add %r12, 0x4, %r11
22481 wrpr %g0, 0x2, %tl
22482 wrpr %g0, %r12, %tpc
22483 wrpr %g0, %r11, %tnpc
22484 set (0x00cdd547 | (22 << 24)), %r13
22485 rdpr %tstate, %r16
22486 mov 0x1f, %r19
22487 and %r19, %r16, %r17
22488 andn %r16, %r19, %r16
22489 or %r16, %r17, %r20
22490 wrpr %r20, %g0, %tstate
22491 wrhpr %g0, 0x121f, %htstate
22492 ta T_CHANGE_NONHPRIV ! rand=1 (2)
22493 done
22494donretarg_2_147:
22495 .word 0xe4ffe1d0 ! 176: SWAPA_I swapa %r18, [%r31 + 0x01d0] %asi
22496 .word 0xe19fe020 ! 177: LDDFA_I ldda [%r31, 0x0020], %f16
22497 .word 0x83d020b2 ! 178: Tcc_I te icc_or_xcc, %r0 + 178
22498fpinit_2_148:
22499 setx fp_data_quads, %r19, %r20
22500 ldd [%r20], %f0
22501 ldd [%r20+8], %f4
22502 ld [%r20+16], %fsr
22503 ld [%r20+24], %r19
22504 wr %r19, %g0, %gsr
22505 .word 0x89b00484 ! 179: FCMPLE32 fcmple32 %d0, %d4, %r4
22506splash_cmpr_2_149:
22507 mov 0, %r18
22508 sllx %r18, 63, %r18
22509 rd %tick, %r17
22510 add %r17, 0x60, %r17
22511 or %r17, %r18, %r17
22512 ta T_CHANGE_PRIV
22513 .word 0xb3800011 ! 180: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
22514 nop
22515 ta T_CHANGE_HPRIV
22516 mov 0x2+1, %r10
22517 set sync_thr_counter5, %r23
22518#ifndef SPC
22519 ldxa [%g0]0x63, %o1
22520 and %o1, 0x38, %o1
22521 add %o1, %r23, %r23
22522#endif
22523 cas [%r23],%g0,%r10 !lock
22524 brnz %r10, cwq_2_150
22525 rd %asi, %r12
22526 wr %g0, 0x40, %asi
22527 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
22528 and %l1, 0x3, %l1 ! Check if busy/enabled ..
22529 cmp %l1, 1
22530 bne cwq_2_150
22531 set CWQ_BASE, %l6
22532 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
22533 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
22534 sllx %l2, 32, %l2
22535 stx %l2, [%l6 + 0x0]
22536 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
22537 sub %l2, 0x40, %l2
22538 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
22539 wr %r12, %g0, %asi
22540 st %g0, [%r23]
22541cwq_2_150:
22542 ta T_CHANGE_NONHPRIV
22543 .word 0xa1414000 ! 181: RDPC rd %pc, %r16
22544unsupttte_2_151:
22545 nop
22546 ta T_CHANGE_HPRIV
22547 mov 1, %r20
22548 sllx %r20, 63, %r20
22549 or %r20, 2,%r20
22550 stxa %r20, [%g0]0x5c ! D unsupported page size ..
22551 ta T_CHANGE_NONHPRIV
22552 .word 0x91a449c6 ! 182: FDIVd fdivd %f48, %f6, %f8
22553 .word 0x93a00163 ! 183: FABSq dis not found
22554
22555vahole_2_153:
22556 nop
22557 ta T_CHANGE_NONHPRIV
22558 setx vahole_target2, %r18, %r27
22559 jmpl %r27+0, %r27
22560 .word 0xe1bfe000 ! 184: STDFA_I stda %f16, [0x0000, %r31]
22561mondo_2_154:
22562 nop
22563 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
22564 ta T_CHANGE_PRIV
22565 stxa %r16, [%r0+0x3e8] %asi
22566 .word 0x9d94c006 ! 185: WRPR_WSTATE_R wrpr %r19, %r6, %wstate
22567iaw_2_155:
22568 nop
22569 ta T_CHANGE_HPRIV
22570 mov 8, %r18
22571 rd %asi, %r12
22572 wr %r0, 0x41, %asi
22573 set sync_thr_counter4, %r23
22574#ifndef SPC
22575 ldxa [%g0]0x63, %r8
22576 and %r8, 0x38, %r8 ! Core ID
22577 add %r8, %r23, %r23
22578#else
22579 mov 0, %r8
22580#endif
22581 mov 0x2, %r16
22582iaw_startwait2_155:
22583 cas [%r23],%g0,%r16 !lock
22584 brz,a %r16, continue_iaw_2_155
22585 mov (~0x2&0xf), %r16
22586 ld [%r23], %r16
22587iaw_wait2_155:
22588 brnz %r16, iaw_wait2_155
22589 ld [%r23], %r16
22590 ba iaw_startwait2_155
22591 mov 0x2, %r16
22592continue_iaw_2_155:
22593 sllx %r16, %r8, %r16 !Mask for my core only
22594 ldxa [0x58]%asi, %r17 !Running_status
22595wait_for_stat_2_155:
22596 ldxa [0x50]%asi, %r13 !Running_rw
22597 cmp %r13, %r17
22598 bne,a wait_for_stat_2_155
22599 ldxa [0x58]%asi, %r17 !Running_status
22600 stxa %r16, [0x68]%asi !Park (W1C)
22601 ldxa [0x50]%asi, %r14 !Running_rw
22602wait_for_iaw_2_155:
22603 ldxa [0x58]%asi, %r17 !Running_status
22604 cmp %r14, %r17
22605 bne,a wait_for_iaw_2_155
22606 ldxa [0x50]%asi, %r14 !Running_rw
22607iaw_doit2_155:
22608 mov 0x38, %r18
22609iaw1_2_155:
22610 best_set_reg(0x00000000e0200000, %r20, %r19)
22611 or %r19, 0x1, %r19
22612 stxa %r19, [%r18]0x50
22613 stxa %r16, [0x60] %asi ! Unpark (W1S)
22614 st %g0, [%r23] !clear lock
22615 wr %r0, %r12, %asi ! restore %asi
22616 ta T_CHANGE_NONHPRIV
22617 .word 0xe1bfe120 ! 186: STDFA_I stda %f16, [0x0120, %r31]
22618 nop
22619 ta T_CHANGE_HPRIV
22620 mov 0x2, %r10
22621 set sync_thr_counter6, %r23
22622#ifndef SPC
22623 ldxa [%g0]0x63, %o1
22624 and %o1, 0x38, %o1
22625 add %o1, %r23, %r23
22626#endif
22627 cas [%r23],%g0,%r10 !lock
22628 brnz %r10, sma_2_156
22629 rd %asi, %r12
22630 wr %g0, 0x40, %asi
22631 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
22632 set 0x000e1fff, %g1
22633 stxa %g1, [%g0 + 0x80] %asi
22634 wr %r12, %g0, %asi
22635 st %g0, [%r23]
22636sma_2_156:
22637 ta T_CHANGE_NONHPRIV
22638 .word 0xdbe7e00a ! 187: CASA_R casa [%r31] %asi, %r10, %r13
22639pmu_2_157:
22640 nop
22641 ta T_CHANGE_PRIV
22642 setx 0xfffff356fffffcb1, %g1, %g7
22643 .word 0xa3800007 ! 188: WR_PERF_COUNTER_R wr %r0, %r7, %-
22644br_badelay1_2_158:
22645 .word 0xc36fe47f ! 1: PREFETCH_I prefetch [%r31 + 0x047f], #one_read
22646 .word 0x32800001 ! 1: BNE bne,a <label_0x1>
22647 .word 0x39400001 ! 1: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
22648 normalw
22649 .word 0x95458000 ! 189: RD_SOFTINT_REG rd %softint, %r10
22650 .word 0x91914011 ! 190: WRPR_PIL_R wrpr %r5, %r17, %pil
22651splash_cmpr_2_160:
22652 mov 1, %r18
22653 sllx %r18, 63, %r18
22654 rd %tick, %r17
22655 add %r17, 0x80, %r17
22656 or %r17, %r18, %r17
22657 ta T_CHANGE_PRIV
22658 .word 0xaf800011 ! 191: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
22659splash_cmpr_2_161:
22660 mov 1, %r18
22661 sllx %r18, 63, %r18
22662 rd %tick, %r17
22663 add %r17, 0x70, %r17
22664 or %r17, %r18, %r17
22665 .word 0xaf800011 ! 192: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
22666ibp_2_162:
22667 nop
22668 .word 0x87aa8a52 ! 193: FCMPd fcmpd %fcc<n>, %f10, %f18
22669 .word 0x89800011 ! 194: WRTICK_R wr %r0, %r17, %tick
22670ibp_2_164:
22671 nop
22672 .word 0xc1bfe100 ! 195: STDFA_I stda %f0, [0x0100, %r31]
22673 nop
22674 ta T_CHANGE_HPRIV
22675 mov 0x2, %r10
22676 set sync_thr_counter6, %r23
22677#ifndef SPC
22678 ldxa [%g0]0x63, %o1
22679 and %o1, 0x38, %o1
22680 add %o1, %r23, %r23
22681#endif
22682 cas [%r23],%g0,%r10 !lock
22683 brnz %r10, sma_2_165
22684 rd %asi, %r12
22685 wr %g0, 0x40, %asi
22686 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
22687 set 0x00161fff, %g1
22688 stxa %g1, [%g0 + 0x80] %asi
22689 wr %r12, %g0, %asi
22690 st %g0, [%r23]
22691sma_2_165:
22692 ta T_CHANGE_NONHPRIV
22693 .word 0xe9e7e011 ! 196: CASA_R casa [%r31] %asi, %r17, %r20
22694splash_tba_2_166:
22695 ta T_CHANGE_PRIV
22696 setx 0x00000004003a0000, %r11, %r12
22697 .word 0x8b90000c ! 197: WRPR_TBA_R wrpr %r0, %r12, %tba
22698intveclr_2_167:
22699 nop
22700 ta T_CHANGE_HPRIV
22701 setx 0x8bc8d0ec48b630cb, %r1, %r28
22702 stxa %r28, [%g0] 0x72
22703 ta T_CHANGE_NONHPRIV
22704 .word 0x25400001 ! 198: FBPLG fblg,a,pn %fcc0, <label_0x1>
22705fpinit_2_168:
22706 setx fp_data_quads, %r19, %r20
22707 ldd [%r20], %f0
22708 ldd [%r20+8], %f4
22709 ld [%r20+16], %fsr
22710 ld [%r20+24], %r19
22711 wr %r19, %g0, %gsr
22712 .word 0x91a009c4 ! 199: FDIVd fdivd %f0, %f4, %f8
22713 .word 0xa9a00170 ! 200: FABSq dis not found
22714
22715trapasi_2_170:
22716 nop
22717 mov 0x28, %r1 ! (VA for ASI 0x4c)
22718 .word 0xe0904980 ! 201: LDUHA_R lduha [%r1, %r0] 0x4c, %r16
22719splash_tba_2_171:
22720 ta T_CHANGE_PRIV
22721 setx 0x00000004003a0000, %r11, %r12
22722 .word 0x8b90000c ! 202: WRPR_TBA_R wrpr %r0, %r12, %tba
22723 .word 0xe197e1b8 ! 203: LDQFA_I - [%r31, 0x01b8], %f16
22724 .word 0x87802082 ! 204: WRASI_I wr %r0, 0x0082, %asi
22725 .word 0xa3454000 ! 205: RD_CLEAR_SOFTINT rd %clear_softint, %r17
22726memptr_2_172:
22727 set 0x60340000, %r31
22728 .word 0x858425e0 ! 206: WRCCR_I wr %r16, 0x05e0, %ccr
22729splash_cmpr_2_173:
22730 mov 1, %r18
22731 sllx %r18, 63, %r18
22732 rd %tick, %r17
22733 add %r17, 0x60, %r17
22734 or %r17, %r18, %r17
22735 .word 0xaf800011 ! 207: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
22736 .word 0x89800011 ! 208: WRTICK_R wr %r0, %r17, %tick
22737pmu_2_175:
22738 nop
22739 setx 0xfffff41cfffff037, %g1, %g7
22740 .word 0xa3800007 ! 209: WR_PERF_COUNTER_R wr %r0, %r7, %-
22741 nop
22742 ta T_CHANGE_HPRIV
22743 mov 0x2+1, %r10
22744 set sync_thr_counter5, %r23
22745#ifndef SPC
22746 ldxa [%g0]0x63, %o1
22747 and %o1, 0x38, %o1
22748 add %o1, %r23, %r23
22749#endif
22750 cas [%r23],%g0,%r10 !lock
22751 brnz %r10, cwq_2_176
22752 rd %asi, %r12
22753 wr %g0, 0x40, %asi
22754 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
22755 and %l1, 0x3, %l1 ! Check if busy/enabled ..
22756 cmp %l1, 1
22757 bne cwq_2_176
22758 set CWQ_BASE, %l6
22759 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
22760 best_set_reg(0x206100a0, %l1, %l2) !# Control Word
22761 sllx %l2, 32, %l2
22762 stx %l2, [%l6 + 0x0]
22763 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
22764 sub %l2, 0x40, %l2
22765 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
22766 wr %r12, %g0, %asi
22767 st %g0, [%r23]
22768cwq_2_176:
22769 ta T_CHANGE_NONHPRIV
22770 .word 0xa9414000 ! 210: RDPC rd %pc, %r20
22771 .word 0x91d02035 ! 211: Tcc_I ta icc_or_xcc, %r0 + 53
22772 .word 0x89800011 ! 212: WRTICK_R wr %r0, %r17, %tick
22773vahole_2_178:
22774 nop
22775 ta T_CHANGE_NONHPRIV
22776 setx vahole_target2, %r18, %r27
22777 jmpl %r27+0, %r27
22778 .word 0xc3ec8027 ! 213: PREFETCHA_R prefetcha [%r18, %r7] 0x01, #one_read
22779 .word 0xda8008a0 ! 214: LDUWA_R lduwa [%r0, %r0] 0x45, %r13
22780pmu_2_179:
22781 nop
22782 setx 0xfffffee9fffff0b6, %g1, %g7
22783 .word 0xa3800007 ! 215: WR_PERF_COUNTER_R wr %r0, %r7, %-
22784brcommon3_2_180:
22785 nop
22786 setx common_target, %r12, %r27
22787 lduw [%r27], %r12 ! Load common dest into dcache ..
22788 ba,a .+12
22789 .word 0xdbe7c02d ! 1: CASA_I casa [%r31] 0x 1, %r13, %r13
22790 ba,a .+8
22791 jmpl %r27+0, %r27
22792 .word 0xc32fc00c ! 216: STXFSR_R st-sfr %f1, [%r12, %r31]
22793trapasi_2_181:
22794 nop
22795 mov 0x3c8, %r1 ! (VA for ASI 0x25)
22796 .word 0xdad844a0 ! 217: LDXA_R ldxa [%r1, %r0] 0x25, %r13
22797pmu_2_182:
22798 nop
22799 setx 0xfffffab4fffff96c, %g1, %g7
22800 .word 0xa3800007 ! 218: WR_PERF_COUNTER_R wr %r0, %r7, %-
22801donret_2_183:
22802 nop
22803 ta T_CHANGE_HPRIV ! macro
22804 rd %pc, %r12
22805 add %r12, (donretarg_2_183-donret_2_183-4), %r12
22806 mov 0x38, %r18
22807 stxa %r12, [%r18]0x58
22808 add %r12, 0x4, %r11
22809 wrpr %g0, 0x2, %tl
22810 wrpr %g0, %r12, %tpc
22811 wrpr %g0, %r11, %tnpc
22812 set (0x0088c053 | (28 << 24)), %r13
22813 rdpr %tstate, %r16
22814 mov 0x1f, %r19
22815 and %r19, %r16, %r17
22816 andn %r16, %r19, %r16
22817 or %r16, %r17, %r20
22818 wrpr %r20, %g0, %tstate
22819 wrhpr %g0, 0x1e5d, %htstate
22820 ta T_CHANGE_NONPRIV ! rand=0 (2)
22821 .word 0x3b400001 ! 1: FBPLE fble,a,pn %fcc0, <label_0x1>
22822 done
22823donretarg_2_183:
22824 .word 0xda6fe0b2 ! 219: LDSTUB_I ldstub %r13, [%r31 + 0x00b2]
22825 nop
22826 ta T_CHANGE_HPRIV
22827 mov 0x2, %r10
22828 set sync_thr_counter6, %r23
22829#ifndef SPC
22830 ldxa [%g0]0x63, %o1
22831 and %o1, 0x38, %o1
22832 add %o1, %r23, %r23
22833#endif
22834 cas [%r23],%g0,%r10 !lock
22835 brnz %r10, sma_2_184
22836 rd %asi, %r12
22837 wr %g0, 0x40, %asi
22838 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
22839 set 0x00021fff, %g1
22840 stxa %g1, [%g0 + 0x80] %asi
22841 wr %r12, %g0, %asi
22842 st %g0, [%r23]
22843sma_2_184:
22844 ta T_CHANGE_NONHPRIV
22845 .word 0xdbe7e013 ! 220: CASA_R casa [%r31] %asi, %r19, %r13
22846 nop
22847 ta T_CHANGE_HPRIV
22848 mov 0x2+1, %r10
22849 set sync_thr_counter5, %r23
22850#ifndef SPC
22851 ldxa [%g0]0x63, %o1
22852 and %o1, 0x38, %o1
22853 add %o1, %r23, %r23
22854#endif
22855 cas [%r23],%g0,%r10 !lock
22856 brnz %r10, cwq_2_185
22857 rd %asi, %r12
22858 wr %g0, 0x40, %asi
22859 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
22860 and %l1, 0x3, %l1 ! Check if busy/enabled ..
22861 cmp %l1, 1
22862 bne cwq_2_185
22863 set CWQ_BASE, %l6
22864 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
22865 best_set_reg(0x20610000, %l1, %l2) !# Control Word
22866 sllx %l2, 32, %l2
22867 stx %l2, [%l6 + 0x0]
22868 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
22869 sub %l2, 0x40, %l2
22870 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
22871 wr %r12, %g0, %asi
22872 st %g0, [%r23]
22873cwq_2_185:
22874 ta T_CHANGE_NONHPRIV
22875 .word 0x95414000 ! 221: RDPC rd %pc, %r10
22876ibp_2_186:
22877 nop
22878 ta T_CHANGE_NONHPRIV
22879 .word 0x93a4c9c8 ! 222: FDIVd fdivd %f50, %f8, %f40
22880 .word 0xe0bfc020 ! 223: STDA_R stda %r16, [%r31 + %r0] 0x01
22881 .word 0x8d903334 ! 224: WRPR_PSTATE_I wrpr %r0, 0x1334, %pstate
22882 .word 0x89800011 ! 225: WRTICK_R wr %r0, %r17, %tick
22883ibp_2_189:
22884 nop
22885 .word 0xe19fdf20 ! 226: LDDFA_R ldda [%r31, %r0], %f16
22886 .word 0xc30fc000 ! 227: LDXFSR_R ld-fsr [%r31, %r0], %f1
22887brcommon3_2_190:
22888 nop
22889 setx common_target, %r12, %r27
22890 lduw [%r27], %r12 ! Load common dest into dcache ..
22891 ba,a .+12
22892 .word 0xe06ff3fd ! 1: LDSTUB_I ldstub %r16, [%r31 + 0xfffff3fd]
22893 ba,a .+8
22894 jmpl %r27+0, %r27
22895 .word 0xe0bfc02d ! 228: STDA_R stda %r16, [%r31 + %r13] 0x01
22896 .word 0xa1902002 ! 229: WRPR_GL_I wrpr %r0, 0x0002, %-
22897splash_cmpr_2_191:
22898 mov 0, %r18
22899 sllx %r18, 63, %r18
22900 rd %tick, %r17
22901 add %r17, 0x60, %r17
22902 or %r17, %r18, %r17
22903 ta T_CHANGE_PRIV
22904 .word 0xb3800011 ! 230: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
22905splash_lsu_2_192:
22906 nop
22907 ta T_CHANGE_HPRIV
22908 set 0x95b88881, %r2
22909 mov 0x3, %r1
22910 sllx %r1, 32, %r1
22911 or %r1, %r2, %r2
22912 stxa %r2, [%r0] ASI_LSU_CONTROL
22913 .word 0x3d400001 ! 231: FBPULE fbule,a,pn %fcc0, <label_0x1>
22914vahole_2_193:
22915 nop
22916 ta T_CHANGE_NONHPRIV
22917 setx vahole_target3, %r18, %r27
22918 jmpl %r27+0, %r27
22919 .word 0xa3a349a3 ! 232: FDIVs fdivs %f13, %f3, %f17
22920jmptr_2_194:
22921 nop
22922 best_set_reg(0xe1a00000, %r20, %r27)
22923 .word 0xb7c6c000 ! 233: JMPL_R jmpl %r27 + %r0, %r27
22924dvapa_2_195:
22925 nop
22926 ta T_CHANGE_HPRIV
22927 mov 0xd73, %r20
22928 mov 0x7, %r19
22929 sllx %r20, 23, %r20
22930 or %r19, %r20, %r19
22931 stxa %r19, [%g0] ASI_LSU_CONTROL
22932 mov 0x38, %r18
22933 stxa %r31, [%r18]0x58
22934 ta T_CHANGE_NONHPRIV
22935 .word 0xe29fc030 ! 234: LDDA_R ldda [%r31, %r16] 0x01, %r17
22936 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
22937reduce_priv_lvl_2_196:
22938 ta T_CHANGE_NONPRIV ! macro
22939 nop
22940 ta T_CHANGE_HPRIV
22941 mov 0x2, %r10
22942 set sync_thr_counter6, %r23
22943#ifndef SPC
22944 ldxa [%g0]0x63, %o1
22945 and %o1, 0x38, %o1
22946 add %o1, %r23, %r23
22947#endif
22948 cas [%r23],%g0,%r10 !lock
22949 brnz %r10, sma_2_197
22950 rd %asi, %r12
22951 wr %g0, 0x40, %asi
22952 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
22953 set 0x000e1fff, %g1
22954 stxa %g1, [%g0 + 0x80] %asi
22955 wr %r12, %g0, %asi
22956 st %g0, [%r23]
22957sma_2_197:
22958 ta T_CHANGE_NONHPRIV
22959 .word 0xe3e7e010 ! 236: CASA_R casa [%r31] %asi, %r16, %r17
22960 nop
22961 ta T_CHANGE_HPRIV
22962 mov 0x2, %r10
22963 set sync_thr_counter6, %r23
22964#ifndef SPC
22965 ldxa [%g0]0x63, %o1
22966 and %o1, 0x38, %o1
22967 add %o1, %r23, %r23
22968#endif
22969 cas [%r23],%g0,%r10 !lock
22970 brnz %r10, sma_2_198
22971 rd %asi, %r12
22972 wr %g0, 0x40, %asi
22973 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
22974 set 0x00121fff, %g1
22975 stxa %g1, [%g0 + 0x80] %asi
22976 wr %r12, %g0, %asi
22977 st %g0, [%r23]
22978sma_2_198:
22979 ta T_CHANGE_NONHPRIV
22980 .word 0xe3e7e009 ! 237: CASA_R casa [%r31] %asi, %r9, %r17
22981 setx 0xdf46ec6cfeace8e8, %r1, %r28
22982 stxa %r28, [%g0] 0x73
22983intvec_2_199:
22984 .word 0x39400001 ! 238: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
22985brcommon2_2_200:
22986 nop
22987 setx common_target, %r12, %r27
22988 ba,a .+12
22989 .word 0xe311000a ! 1: LDQF_R - [%r4, %r10], %f17
22990 ba,a .+8
22991 jmpl %r27+0, %r27
22992 .word 0xe1bfe040 ! 239: STDFA_I stda %f16, [0x0040, %r31]
22993 nop
22994 ta T_CHANGE_HPRIV
22995 mov 0x2, %r10
22996 set sync_thr_counter6, %r23
22997#ifndef SPC
22998 ldxa [%g0]0x63, %o1
22999 and %o1, 0x38, %o1
23000 add %o1, %r23, %r23
23001#endif
23002 cas [%r23],%g0,%r10 !lock
23003 brnz %r10, sma_2_201
23004 rd %asi, %r12
23005 wr %g0, 0x40, %asi
23006 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
23007 set 0x001e1fff, %g1
23008 stxa %g1, [%g0 + 0x80] %asi
23009 wr %r12, %g0, %asi
23010 st %g0, [%r23]
23011sma_2_201:
23012 ta T_CHANGE_NONHPRIV
23013 .word 0xe3e7e00b ! 240: CASA_R casa [%r31] %asi, %r11, %r17
23014 .word 0x87802088 ! 241: WRASI_I wr %r0, 0x0088, %asi
23015 .word 0xe327c000 ! 242: STF_R st %f17, [%r0, %r31]
23016donret_2_202:
23017 nop
23018 ta T_CHANGE_HPRIV ! macro
23019 rd %pc, %r12
23020 add %r12, (donretarg_2_202-donret_2_202-8), %r12
23021 mov 0x38, %r18
23022 stxa %r12, [%r18]0x58
23023 add %r12, 0x4, %r11
23024 wrpr %g0, 0x2, %tl
23025 wrpr %g0, %r12, %tpc
23026 wrpr %g0, %r11, %tnpc
23027 set (0x00d34f4b | (0x82 << 24)), %r13
23028 rdpr %tstate, %r16
23029 mov 0x1f, %r19
23030 and %r19, %r16, %r17
23031 andn %r16, %r19, %r16
23032 or %r16, %r17, %r20
23033 wrpr %r20, %g0, %tstate
23034 wrhpr %g0, 0xdbc, %htstate
23035 ta T_CHANGE_NONPRIV ! rand=0 (2)
23036 retry
23037donretarg_2_202:
23038 .word 0x95a309c6 ! 243: FDIVd fdivd %f12, %f6, %f10
23039 .word 0xe0dfe190 ! 244: LDXA_I ldxa [%r31, + 0x0190] %asi, %r16
23040pmu_2_203:
23041 nop
23042 ta T_CHANGE_PRIV
23043 setx 0xffffff81fffff57e, %g1, %g7
23044 .word 0xa3800007 ! 245: WR_PERF_COUNTER_R wr %r0, %r7, %-
23045change_to_randtl_2_204:
23046 ta T_CHANGE_PRIV ! macro
23047done_change_to_randtl_2_204:
23048 .word 0x8f902000 ! 246: WRPR_TL_I wrpr %r0, 0x0000, %tl
23049pmu_2_205:
23050 nop
23051 ta T_CHANGE_PRIV
23052 setx 0xfffff569fffff26b, %g1, %g7
23053 .word 0xa3800007 ! 247: WR_PERF_COUNTER_R wr %r0, %r7, %-
23054 nop
23055 ta T_CHANGE_HPRIV
23056 mov 0x2+1, %r10
23057 set sync_thr_counter5, %r23
23058#ifndef SPC
23059 ldxa [%g0]0x63, %o1
23060 and %o1, 0x38, %o1
23061 add %o1, %r23, %r23
23062#endif
23063 cas [%r23],%g0,%r10 !lock
23064 brnz %r10, cwq_2_206
23065 rd %asi, %r12
23066 wr %g0, 0x40, %asi
23067 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
23068 and %l1, 0x3, %l1 ! Check if busy/enabled ..
23069 cmp %l1, 1
23070 bne cwq_2_206
23071 set CWQ_BASE, %l6
23072 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
23073 best_set_reg(0x20610000, %l1, %l2) !# Control Word
23074 sllx %l2, 32, %l2
23075 stx %l2, [%l6 + 0x0]
23076 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
23077 sub %l2, 0x40, %l2
23078 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
23079 wr %r12, %g0, %asi
23080 st %g0, [%r23]
23081cwq_2_206:
23082 ta T_CHANGE_NONHPRIV
23083 .word 0x99414000 ! 248: RDPC rd %pc, %r12
23084donret_2_207:
23085 nop
23086 ta T_CHANGE_HPRIV ! macro
23087 rd %pc, %r12
23088 add %r12, (donretarg_2_207-donret_2_207-4), %r12
23089 mov 0x38, %r18
23090 stxa %r12, [%r18]0x58
23091 add %r12, 0x4, %r11
23092 wrpr %g0, 0x1, %tl
23093 wrpr %g0, %r12, %tpc
23094 wrpr %g0, %r11, %tnpc
23095 set (0x00baa0ae | (22 << 24)), %r13
23096 rdpr %tstate, %r16
23097 mov 0x1f, %r19
23098 and %r19, %r16, %r17
23099 andn %r16, %r19, %r16
23100 or %r16, %r17, %r20
23101 wrpr %r20, %g0, %tstate
23102 wrhpr %g0, 0x1b85, %htstate
23103 ta T_CHANGE_NONHPRIV ! rand=1 (2)
23104 done
23105donretarg_2_207:
23106 .word 0x97a4c9c5 ! 249: FDIVd fdivd %f50, %f36, %f42
23107ibp_2_208:
23108 nop
23109 ta T_CHANGE_NONHPRIV
23110 .word 0xa5a309cc ! 250: FDIVd fdivd %f12, %f12, %f18
23111fpinit_2_209:
23112 setx fp_data_quads, %r19, %r20
23113 ldd [%r20], %f0
23114 ldd [%r20+8], %f4
23115 ld [%r20+16], %fsr
23116 ld [%r20+24], %r19
23117 wr %r19, %g0, %gsr
23118 .word 0x89a009a4 ! 251: FDIVs fdivs %f0, %f4, %f4
23119change_to_randtl_2_210:
23120 ta T_CHANGE_PRIV ! macro
23121done_change_to_randtl_2_210:
23122 .word 0x8f902000 ! 252: WRPR_TL_I wrpr %r0, 0x0000, %tl
23123 nop
23124 ta T_CHANGE_HPRIV
23125 mov 0x2+1, %r10
23126 set sync_thr_counter5, %r23
23127#ifndef SPC
23128 ldxa [%g0]0x63, %o1
23129 and %o1, 0x38, %o1
23130 add %o1, %r23, %r23
23131#endif
23132 cas [%r23],%g0,%r10 !lock
23133 brnz %r10, cwq_2_211
23134 rd %asi, %r12
23135 wr %g0, 0x40, %asi
23136 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
23137 and %l1, 0x3, %l1 ! Check if busy/enabled ..
23138 cmp %l1, 1
23139 bne cwq_2_211
23140 set CWQ_BASE, %l6
23141 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
23142 best_set_reg(0x206100e0, %l1, %l2) !# Control Word
23143 sllx %l2, 32, %l2
23144 stx %l2, [%l6 + 0x0]
23145 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
23146 sub %l2, 0x40, %l2
23147 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
23148 wr %r12, %g0, %asi
23149 st %g0, [%r23]
23150cwq_2_211:
23151 ta T_CHANGE_NONHPRIV
23152 .word 0x93414000 ! 253: RDPC rd %pc, %r9
23153memptr_2_212:
23154 set 0x60540000, %r31
23155 .word 0x858233ac ! 254: WRCCR_I wr %r8, 0x13ac, %ccr
23156dvapa_2_213:
23157 nop
23158 ta T_CHANGE_HPRIV
23159 mov 0x8ac, %r20
23160 mov 0x1, %r19
23161 sllx %r20, 23, %r20
23162 or %r19, %r20, %r19
23163 stxa %r19, [%g0] ASI_LSU_CONTROL
23164 mov 0x38, %r18
23165 stxa %r31, [%r18]0x58
23166 ta T_CHANGE_NONHPRIV
23167 .word 0xc3ec0030 ! 255: PREFETCHA_R prefetcha [%r16, %r16] 0x01, #one_read
23168donret_2_214:
23169 nop
23170 ta T_CHANGE_HPRIV ! macro
23171 rd %pc, %r12
23172 add %r12, (donretarg_2_214-donret_2_214-8), %r12
23173 mov 0x38, %r18
23174 stxa %r12, [%r18]0x58
23175 add %r12, 0x4, %r11
23176 wrpr %g0, 0x2, %tl
23177 wrpr %g0, %r12, %tpc
23178 wrpr %g0, %r11, %tnpc
23179 set (0x002dc121 | (0x88 << 24)), %r13
23180 rdpr %tstate, %r16
23181 mov 0x1f, %r19
23182 and %r19, %r16, %r17
23183 andn %r16, %r19, %r16
23184 or %r16, %r17, %r20
23185 wrpr %r20, %g0, %tstate
23186 wrhpr %g0, 0x44c, %htstate
23187 ta T_CHANGE_NONHPRIV ! rand=1 (2)
23188 retry
23189donretarg_2_214:
23190 .word 0xa9a409c9 ! 256: FDIVd fdivd %f16, %f40, %f20
23191 .word 0xda3fe144 ! 257: STD_I std %r13, [%r31 + 0x0144]
23192dvapa_2_215:
23193 nop
23194 ta T_CHANGE_HPRIV
23195 mov 0xf8a, %r20
23196 mov 0x14, %r19
23197 sllx %r20, 23, %r20
23198 or %r19, %r20, %r19
23199 stxa %r19, [%g0] ASI_LSU_CONTROL
23200 mov 0x38, %r18
23201 stxa %r31, [%r18]0x58
23202 ta T_CHANGE_NONHPRIV
23203 .word 0xdb1fc011 ! 258: LDDF_R ldd [%r31, %r17], %f13
23204 .word 0xc19fdb60 ! 259: LDDFA_R ldda [%r31, %r0], %f0
23205 nop
23206 ta T_CHANGE_HPRIV
23207 mov 0x2, %r10
23208 set sync_thr_counter6, %r23
23209#ifndef SPC
23210 ldxa [%g0]0x63, %o1
23211 and %o1, 0x38, %o1
23212 add %o1, %r23, %r23
23213#endif
23214 cas [%r23],%g0,%r10 !lock
23215 brnz %r10, sma_2_216
23216 rd %asi, %r12
23217 wr %g0, 0x40, %asi
23218 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
23219 set 0x00121fff, %g1
23220 stxa %g1, [%g0 + 0x80] %asi
23221 wr %r12, %g0, %asi
23222 st %g0, [%r23]
23223sma_2_216:
23224 ta T_CHANGE_NONHPRIV
23225 .word 0xdbe7e00b ! 260: CASA_R casa [%r31] %asi, %r11, %r13
23226pmu_2_217:
23227 nop
23228 ta T_CHANGE_PRIV
23229 setx 0xfffff7c6fffffa65, %g1, %g7
23230 .word 0xa3800007 ! 261: WR_PERF_COUNTER_R wr %r0, %r7, %-
23231 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
23232reduce_priv_lvl_2_218:
23233 ta T_CHANGE_NONHPRIV ! macro
23234pmu_2_219:
23235 nop
23236 ta T_CHANGE_PRIV
23237 setx 0xfffffb0effffffb5, %g1, %g7
23238 .word 0xa3800007 ! 263: WR_PERF_COUNTER_R wr %r0, %r7, %-
23239pmu_2_220:
23240 nop
23241 setx 0xfffff605fffff47a, %g1, %g7
23242 .word 0xa3800007 ! 264: WR_PERF_COUNTER_R wr %r0, %r7, %-
23243 setx 0x09d0243cfeb6fdbc, %r1, %r28
23244 stxa %r28, [%g0] 0x73
23245intvec_2_221:
23246 .word 0x39400001 ! 265: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
23247splash_lsu_2_222:
23248 nop
23249 ta T_CHANGE_HPRIV
23250 set 0x4b0260ba, %r2
23251 mov 0x1, %r1
23252 sllx %r1, 32, %r1
23253 or %r1, %r2, %r2
23254 stxa %r2, [%r0] ASI_LSU_CONTROL
23255 ta T_CHANGE_NONHPRIV
23256 .word 0x3d400001 ! 266: FBPULE fbule,a,pn %fcc0, <label_0x1>
23257ibp_2_223:
23258 nop
23259 ta T_CHANGE_NONHPRIV
23260 .word 0xc1bfe060 ! 267: STDFA_I stda %f0, [0x0060, %r31]
23261mondo_2_224:
23262 nop
23263 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
23264 ta T_CHANGE_PRIV
23265 stxa %r19, [%r0+0x3e8] %asi
23266 .word 0x9d940013 ! 268: WRPR_WSTATE_R wrpr %r16, %r19, %wstate
23267donret_2_225:
23268 nop
23269 ta T_CHANGE_HPRIV ! macro
23270 rd %pc, %r12
23271 add %r12, (donretarg_2_225-donret_2_225-4), %r12
23272 mov 0x38, %r18
23273 stxa %r12, [%r18]0x58
23274 add %r12, 0x4, %r11
23275 wrpr %g0, 0x2, %tl
23276 wrpr %g0, %r12, %tpc
23277 wrpr %g0, %r11, %tnpc
23278 set (0x00040456 | (0x55 << 24)), %r13
23279 rdpr %tstate, %r16
23280 mov 0x1f, %r19
23281 and %r19, %r16, %r17
23282 andn %r16, %r19, %r16
23283 or %r16, %r17, %r20
23284 wrpr %r20, %g0, %tstate
23285 wrhpr %g0, 0x1c5e, %htstate
23286 ta T_CHANGE_NONPRIV ! rand=0 (2)
23287 .word 0x34800001 ! 1: BG bg,a <label_0x1>
23288 done
23289donretarg_2_225:
23290 .word 0xda6fe04b ! 269: LDSTUB_I ldstub %r13, [%r31 + 0x004b]
23291#if (defined SPC || defined CMP)
23292!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_2_226) + 0, 16, 16)) -> intp(4,0,11)
23293!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_2_226)&0xffffffff) + 0, 16, 16)) -> intp(4,0,11)
23294#else
23295 setx 0x75e2e70fa16c246b, %r1, %r28
23296 stxa %r28, [%g0] 0x73
23297#endif
23298intvec_2_226:
23299 .word 0x39400001 ! 270: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
23300 .word 0x89800011 ! 271: WRTICK_R wr %r0, %r17, %tick
23301 .word 0xda9fe1f0 ! 272: LDDA_I ldda [%r31, + 0x01f0] %asi, %r13
23302intveclr_2_228:
23303 nop
23304 ta T_CHANGE_HPRIV
23305 setx 0x66dbdc80fae25161, %r1, %r28
23306 stxa %r28, [%g0] 0x72
23307 .word 0x25400001 ! 273: FBPLG fblg,a,pn %fcc0, <label_0x1>
23308dvapa_2_229:
23309 nop
23310 ta T_CHANGE_HPRIV
23311 mov 0x92d, %r20
23312 mov 0xc, %r19
23313 sllx %r20, 23, %r20
23314 or %r19, %r20, %r19
23315 stxa %r19, [%g0] ASI_LSU_CONTROL
23316 mov 0x38, %r18
23317 stxa %r31, [%r18]0x58
23318 ta T_CHANGE_NONHPRIV
23319 .word 0xa5a0c9d4 ! 274: FDIVd fdivd %f34, %f20, %f18
23320 .word 0x81b01021 ! 275: SIAM siam 1
23321splash_hpstate_2_230:
23322 .word 0x81982acd ! 276: WRHPR_HPSTATE_I wrhpr %r0, 0x0acd, %hpstate
23323 .word 0xe48008a0 ! 277: LDUWA_R lduwa [%r0, %r0] 0x45, %r18
23324 nop
23325 ta T_CHANGE_HPRIV
23326 mov 0x2, %r10
23327 set sync_thr_counter6, %r23
23328#ifndef SPC
23329 ldxa [%g0]0x63, %o1
23330 and %o1, 0x38, %o1
23331 add %o1, %r23, %r23
23332#endif
23333 cas [%r23],%g0,%r10 !lock
23334 brnz %r10, sma_2_231
23335 rd %asi, %r12
23336 wr %g0, 0x40, %asi
23337 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
23338 set 0x00061fff, %g1
23339 stxa %g1, [%g0 + 0x80] %asi
23340 wr %r12, %g0, %asi
23341 st %g0, [%r23]
23342sma_2_231:
23343 ta T_CHANGE_NONHPRIV
23344 .word 0xe5e7e014 ! 278: CASA_R casa [%r31] %asi, %r20, %r18
23345 invalw
23346 mov 0x31, %r30
23347 .word 0x93d0001e ! 279: Tcc_R tne icc_or_xcc, %r0 + %r30
23348brcommon2_2_232:
23349 nop
23350 setx common_target, %r12, %r27
23351 ba,a .+12
23352 .word 0xd9108012 ! 1: LDQF_R - [%r2, %r18], %f12
23353 ba,a .+8
23354 jmpl %r27+0, %r27
23355 .word 0xe1bfe160 ! 280: STDFA_I stda %f16, [0x0160, %r31]
23356vahole_2_233:
23357 nop
23358 ta T_CHANGE_NONHPRIV
23359 setx vahole_target0, %r18, %r27
23360 jmpl %r27+0, %r27
23361 .word 0xc1bfe040 ! 281: STDFA_I stda %f0, [0x0040, %r31]
23362 nop
23363 ta T_CHANGE_HPRIV
23364 mov 0x2, %r10
23365 set sync_thr_counter6, %r23
23366#ifndef SPC
23367 ldxa [%g0]0x63, %o1
23368 and %o1, 0x38, %o1
23369 add %o1, %r23, %r23
23370#endif
23371 cas [%r23],%g0,%r10 !lock
23372 brnz %r10, sma_2_234
23373 rd %asi, %r12
23374 wr %g0, 0x40, %asi
23375 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
23376 set 0x000e1fff, %g1
23377 stxa %g1, [%g0 + 0x80] %asi
23378 wr %r12, %g0, %asi
23379 st %g0, [%r23]
23380sma_2_234:
23381 ta T_CHANGE_NONHPRIV
23382 .word 0xd9e7e008 ! 282: CASA_R casa [%r31] %asi, %r8, %r12
23383splash_lsu_2_235:
23384 nop
23385 ta T_CHANGE_HPRIV
23386 set 0x47b6198e, %r2
23387 mov 0x1, %r1
23388 sllx %r1, 32, %r1
23389 or %r1, %r2, %r2
23390 stxa %r2, [%r0] ASI_LSU_CONTROL
23391 ta T_CHANGE_NONHPRIV
23392 .word 0x3d400001 ! 283: FBPULE fbule,a,pn %fcc0, <label_0x1>
23393 .word 0xc1bfc3e0 ! 284: STDFA_R stda %f0, [%r0, %r31]
23394 .word 0x8d903a93 ! 285: WRPR_PSTATE_I wrpr %r0, 0x1a93, %pstate
23395memptr_2_237:
23396 set user_data_start, %r31
23397 .word 0x8580af1a ! 286: WRCCR_I wr %r2, 0x0f1a, %ccr
23398memptr_2_238:
23399 set 0x60740000, %r31
23400 .word 0x8580f436 ! 287: WRCCR_I wr %r3, 0x1436, %ccr
23401 .word 0xa7844005 ! 288: WR_GRAPHICS_STATUS_REG_R wr %r17, %r5, %-
23402 brgez,pn %r20, skip_2_240
23403 .word 0x9f8026fd ! 1: SIR sir 0x06fd
23404.align 32
23405skip_2_240:
23406 .word 0x87aa4a43 ! 289: FCMPd fcmpd %fcc<n>, %f40, %f34
23407intveclr_2_241:
23408 nop
23409 ta T_CHANGE_HPRIV
23410 setx 0xcf00e4332912b8b2, %r1, %r28
23411 stxa %r28, [%g0] 0x72
23412 ta T_CHANGE_NONHPRIV
23413 .word 0x25400001 ! 290: FBPLG fblg,a,pn %fcc0, <label_0x1>
23414 nop
23415 ta T_CHANGE_HPRIV
23416 mov 0x2, %r10
23417 set sync_thr_counter6, %r23
23418#ifndef SPC
23419 ldxa [%g0]0x63, %o1
23420 and %o1, 0x38, %o1
23421 add %o1, %r23, %r23
23422#endif
23423 cas [%r23],%g0,%r10 !lock
23424 brnz %r10, sma_2_242
23425 rd %asi, %r12
23426 wr %g0, 0x40, %asi
23427 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
23428 set 0x001e1fff, %g1
23429 stxa %g1, [%g0 + 0x80] %asi
23430 wr %r12, %g0, %asi
23431 st %g0, [%r23]
23432sma_2_242:
23433 ta T_CHANGE_NONHPRIV
23434 .word 0xd5e7e013 ! 291: CASA_R casa [%r31] %asi, %r19, %r10
23435 .word 0x8d802000 ! 292: WRFPRS_I wr %r0, 0x0000, %fprs
23436pmu_2_243:
23437 nop
23438 setx 0xfffffa3efffff141, %g1, %g7
23439 .word 0xa3800007 ! 293: WR_PERF_COUNTER_R wr %r0, %r7, %-
23440#if (defined SPC || defined CMP)
23441!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_2_244) + 56, 16, 16)) -> intp(6,0,26)
23442!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_2_244)&0xffffffff) + 56, 16, 16)) -> intp(6,0,26)
23443#else
23444 setx 0xf6346d5c09fcc609, %r1, %r28
23445 stxa %r28, [%g0] 0x73
23446#endif
23447intvec_2_244:
23448 .word 0x39400001 ! 294: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
23449 .word 0x8d802000 ! 295: WRFPRS_I wr %r0, 0x0000, %fprs
23450mondo_2_245:
23451 nop
23452 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
23453 stxa %r4, [%r0+0x3e0] %asi
23454 .word 0x9d914012 ! 296: WRPR_WSTATE_R wrpr %r5, %r18, %wstate
23455 .word 0x93524000 ! 297: RDPR_CWP <illegal instruction>
23456pmu_2_247:
23457 nop
23458 setx 0xfffff11bfffff837, %g1, %g7
23459 .word 0xa3800007 ! 298: WR_PERF_COUNTER_R wr %r0, %r7, %-
23460br_longdelay3_2_248:
23461 nop
23462 not %g0, %r12
23463 jmp %r12
23464 .word 0x99902003 ! 299: WRPR_CLEANWIN_I wrpr %r0, 0x0003, %cleanwin
23465 setx 0x15327a29d9eb5e4c, %r1, %r28
23466 stxa %r28, [%g0] 0x73
23467intvec_2_249:
23468 .word 0x39400001 ! 300: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
23469 fbg,a,pn %fcc0, skip_2_250
23470 .word 0x9f803774 ! 1: SIR sir 0x1774
23471.align 1024
23472skip_2_250:
23473 .word 0x93b504cd ! 301: FCMPNE32 fcmpne32 %d20, %d44, %r9
23474ibp_2_251:
23475 nop
23476 .word 0xe1bfd960 ! 302: STDFA_R stda %f16, [%r0, %r31]
23477dvapa_2_252:
23478 nop
23479 ta T_CHANGE_HPRIV
23480 mov 0xc46, %r20
23481 mov 0x1f, %r19
23482 sllx %r20, 23, %r20
23483 or %r19, %r20, %r19
23484 stxa %r19, [%g0] ASI_LSU_CONTROL
23485 mov 0x38, %r18
23486 stxa %r31, [%r18]0x58
23487 ta T_CHANGE_NONHPRIV
23488 .word 0x91a489d1 ! 303: FDIVd fdivd %f18, %f48, %f8
23489 nop
23490 ta T_CHANGE_HPRIV
23491 mov 0x2+1, %r10
23492 set sync_thr_counter5, %r23
23493#ifndef SPC
23494 ldxa [%g0]0x63, %o1
23495 and %o1, 0x38, %o1
23496 add %o1, %r23, %r23
23497#endif
23498 cas [%r23],%g0,%r10 !lock
23499 brnz %r10, cwq_2_253
23500 rd %asi, %r12
23501 wr %g0, 0x40, %asi
23502 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
23503 and %l1, 0x3, %l1 ! Check if busy/enabled ..
23504 cmp %l1, 1
23505 bne cwq_2_253
23506 set CWQ_BASE, %l6
23507 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
23508 best_set_reg(0x206100a0, %l1, %l2) !# Control Word
23509 sllx %l2, 32, %l2
23510 stx %l2, [%l6 + 0x0]
23511 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
23512 sub %l2, 0x40, %l2
23513 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
23514 wr %r12, %g0, %asi
23515 st %g0, [%r23]
23516cwq_2_253:
23517 ta T_CHANGE_NONHPRIV
23518 .word 0xa7414000 ! 304: RDPC rd %pc, %r19
23519pmu_2_254:
23520 nop
23521 setx 0xfffff7eafffff539, %g1, %g7
23522 .word 0xa3800007 ! 305: WR_PERF_COUNTER_R wr %r0, %r7, %-
23523jmptr_2_255:
23524 nop
23525 best_set_reg(0xe1a00000, %r20, %r27)
23526 .word 0xb7c6c000 ! 306: JMPL_R jmpl %r27 + %r0, %r27
23527 nop
23528 ta T_CHANGE_HPRIV
23529 mov 0x2+1, %r10
23530 set sync_thr_counter5, %r23
23531#ifndef SPC
23532 ldxa [%g0]0x63, %o1
23533 and %o1, 0x38, %o1
23534 add %o1, %r23, %r23
23535#endif
23536 cas [%r23],%g0,%r10 !lock
23537 brnz %r10, cwq_2_256
23538 rd %asi, %r12
23539 wr %g0, 0x40, %asi
23540 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
23541 and %l1, 0x3, %l1 ! Check if busy/enabled ..
23542 cmp %l1, 1
23543 bne cwq_2_256
23544 set CWQ_BASE, %l6
23545 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
23546 best_set_reg(0x20610030, %l1, %l2) !# Control Word
23547 sllx %l2, 32, %l2
23548 stx %l2, [%l6 + 0x0]
23549 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
23550 sub %l2, 0x40, %l2
23551 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
23552 wr %r12, %g0, %asi
23553 st %g0, [%r23]
23554cwq_2_256:
23555 ta T_CHANGE_NONHPRIV
23556 .word 0xa1414000 ! 307: RDPC rd %pc, %r16
23557splash_hpstate_2_257:
23558 ta T_CHANGE_NONHPRIV
23559 .word 0x81982d09 ! 308: WRHPR_HPSTATE_I wrhpr %r0, 0x0d09, %hpstate
23560 .word 0xe077c000 ! 309: STX_R stx %r16, [%r31 + %r0]
23561 .word 0x93a00174 ! 310: FABSq dis not found
23562
23563 .word 0x91d020b5 ! 311: Tcc_I ta icc_or_xcc, %r0 + 181
23564intveclr_2_259:
23565 nop
23566 ta T_CHANGE_HPRIV
23567 setx 0x59b50d13a7dd04c6, %r1, %r28
23568 stxa %r28, [%g0] 0x72
23569 .word 0x25400001 ! 312: FBPLG fblg,a,pn %fcc0, <label_0x1>
23570ibp_2_260:
23571 nop
23572 .word 0xe1bfd960 ! 313: STDFA_R stda %f16, [%r0, %r31]
23573jmptr_2_261:
23574 nop
23575 best_set_reg(0xe1a00000, %r20, %r27)
23576 .word 0xb7c6c000 ! 314: JMPL_R jmpl %r27 + %r0, %r27
23577mondo_2_262:
23578 nop
23579 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
23580 stxa %r11, [%r0+0x3e8] %asi
23581 .word 0x9d920009 ! 315: WRPR_WSTATE_R wrpr %r8, %r9, %wstate
23582ibp_2_263:
23583 nop
23584 .word 0xe19fd960 ! 316: LDDFA_R ldda [%r31, %r0], %f16
23585 .word 0xe127e0e0 ! 317: STF_I st %f16, [0x00e0, %r31]
23586 .word 0xe04fc000 ! 318: LDSB_R ldsb [%r31 + %r0], %r16
23587ibp_2_264:
23588 nop
23589 ta T_CHANGE_NONHPRIV
23590 .word 0xe09fc033 ! 319: LDDA_R ldda [%r31, %r19] 0x01, %r16
23591iaw_2_265:
23592 nop
23593 ta T_CHANGE_HPRIV
23594 mov 8, %r18
23595 rd %asi, %r12
23596 wr %r0, 0x41, %asi
23597 set sync_thr_counter4, %r23
23598#ifndef SPC
23599 ldxa [%g0]0x63, %r8
23600 and %r8, 0x38, %r8 ! Core ID
23601 add %r8, %r23, %r23
23602#else
23603 mov 0, %r8
23604#endif
23605 mov 0x2, %r16
23606iaw_startwait2_265:
23607 cas [%r23],%g0,%r16 !lock
23608 brz,a %r16, continue_iaw_2_265
23609 mov (~0x2&0xf), %r16
23610 ld [%r23], %r16
23611iaw_wait2_265:
23612 brnz %r16, iaw_wait2_265
23613 ld [%r23], %r16
23614 ba iaw_startwait2_265
23615 mov 0x2, %r16
23616continue_iaw_2_265:
23617 sllx %r16, %r8, %r16 !Mask for my core only
23618 ldxa [0x58]%asi, %r17 !Running_status
23619wait_for_stat_2_265:
23620 ldxa [0x50]%asi, %r13 !Running_rw
23621 cmp %r13, %r17
23622 bne,a wait_for_stat_2_265
23623 ldxa [0x58]%asi, %r17 !Running_status
23624 stxa %r16, [0x68]%asi !Park (W1C)
23625 ldxa [0x50]%asi, %r14 !Running_rw
23626wait_for_iaw_2_265:
23627 ldxa [0x58]%asi, %r17 !Running_status
23628 cmp %r14, %r17
23629 bne,a wait_for_iaw_2_265
23630 ldxa [0x50]%asi, %r14 !Running_rw
23631iaw_doit2_265:
23632 mov 0x38, %r18
23633iaw1_2_265:
23634 best_set_reg(0x00000000e1200000, %r20, %r19)
23635 or %r19, 0x1, %r19
23636 stxa %r19, [%r18]0x50
23637 stxa %r16, [0x60] %asi ! Unpark (W1S)
23638 st %g0, [%r23] !clear lock
23639 wr %r0, %r12, %asi ! restore %asi
23640 ta T_CHANGE_NONHPRIV
23641 .word 0xe19fdc00 ! 320: LDDFA_R ldda [%r31, %r0], %f16
23642vahole_2_266:
23643 nop
23644 ta T_CHANGE_NONHPRIV
23645 setx vahole_target1, %r18, %r27
23646 jmpl %r27+0, %r27
23647 .word 0xc19fd960 ! 321: LDDFA_R ldda [%r31, %r0], %f0
23648intveclr_2_267:
23649 nop
23650 ta T_CHANGE_HPRIV
23651 setx 0x2e9dac1de3fe5c14, %r1, %r28
23652 stxa %r28, [%g0] 0x72
23653 .word 0x25400001 ! 322: FBPLG fblg,a,pn %fcc0, <label_0x1>
23654pmu_2_268:
23655 nop
23656 setx 0xfffff28ffffff503, %g1, %g7
23657 .word 0xa3800007 ! 323: WR_PERF_COUNTER_R wr %r0, %r7, %-
23658 .word 0xa3a000c4 ! 324: FNEGd fnegd %f4, %f48
23659intveclr_2_269:
23660 nop
23661 ta T_CHANGE_HPRIV
23662 setx 0x2f17b0af156492e0, %r1, %r28
23663 stxa %r28, [%g0] 0x72
23664 .word 0x25400001 ! 325: FBPLG fblg,a,pn %fcc0, <label_0x1>
23665tagged_2_270:
23666 tsubcctv %r8, 0x1cd3, %r16
23667 .word 0xd807e1e8 ! 326: LDUW_I lduw [%r31 + 0x01e8], %r12
23668 setx 0x97eb8ec699b91528, %r1, %r28
23669 stxa %r28, [%g0] 0x73
23670intvec_2_271:
23671 .word 0x39400001 ! 327: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
23672brcommon2_2_272:
23673 nop
23674 setx common_target, %r12, %r27
23675 ba,a .+12
23676 .word 0x95a0054a ! 1: FSQRTd fsqrt
23677 ba,a .+8
23678 jmpl %r27+0, %r27
23679 .word 0xe1bfe120 ! 328: STDFA_I stda %f16, [0x0120, %r31]
23680 nop
23681 ta T_CHANGE_HPRIV
23682 mov 0x2, %r10
23683 set sync_thr_counter6, %r23
23684#ifndef SPC
23685 ldxa [%g0]0x63, %o1
23686 and %o1, 0x38, %o1
23687 add %o1, %r23, %r23
23688#endif
23689 cas [%r23],%g0,%r10 !lock
23690 brnz %r10, sma_2_273
23691 rd %asi, %r12
23692 wr %g0, 0x40, %asi
23693 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
23694 set 0x001e1fff, %g1
23695 stxa %g1, [%g0 + 0x80] %asi
23696 wr %r12, %g0, %asi
23697 st %g0, [%r23]
23698sma_2_273:
23699 ta T_CHANGE_NONHPRIV
23700 .word 0xd5e7e011 ! 329: CASA_R casa [%r31] %asi, %r17, %r10
23701dvapa_2_274:
23702 nop
23703 ta T_CHANGE_HPRIV
23704 mov 0xbd9, %r20
23705 mov 0xb, %r19
23706 sllx %r20, 23, %r20
23707 or %r19, %r20, %r19
23708 stxa %r19, [%g0] ASI_LSU_CONTROL
23709 mov 0x38, %r18
23710 stxa %r31, [%r18]0x58
23711 ta T_CHANGE_NONHPRIV
23712 .word 0x93703349 ! 330: POPC_I popc 0x1349, %r9
23713vahole_2_275:
23714 nop
23715 ta T_CHANGE_NONHPRIV
23716 setx vahole_target3, %r18, %r27
23717 jmpl %r27+0, %r27
23718 .word 0xa5703039 ! 331: POPC_I popc 0x1039, %r18
23719dvapa_2_276:
23720 nop
23721 ta T_CHANGE_HPRIV
23722 mov 0xef4, %r20
23723 mov 0x1b, %r19
23724 sllx %r20, 23, %r20
23725 or %r19, %r20, %r19
23726 stxa %r19, [%g0] ASI_LSU_CONTROL
23727 mov 0x38, %r18
23728 stxa %r31, [%r18]0x58
23729 ta T_CHANGE_NONHPRIV
23730 .word 0xc19fdf20 ! 332: LDDFA_R ldda [%r31, %r0], %f0
23731splash_cmpr_2_277:
23732 mov 1, %r18
23733 sllx %r18, 63, %r18
23734 rd %tick, %r17
23735 add %r17, 0x50, %r17
23736 or %r17, %r18, %r17
23737 ta T_CHANGE_PRIV
23738 .word 0xaf800011 ! 333: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
23739 .word 0xa1520000 ! 334: RDPR_PIL <illegal instruction>
23740splash_cmpr_2_278:
23741 mov 0, %r18
23742 sllx %r18, 63, %r18
23743 rd %tick, %r17
23744 add %r17, 0x80, %r17
23745 or %r17, %r18, %r17
23746 ta T_CHANGE_PRIV
23747 .word 0xaf800011 ! 335: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
23748 .word 0x9b703d73 ! 336: POPC_I popc 0x1d73, %r13
23749vahole_2_279:
23750 nop
23751 ta T_CHANGE_NONHPRIV
23752 setx vahole_target1, %r18, %r27
23753 jmpl %r27+0, %r27
23754 .word 0xa5a089a2 ! 337: FDIVs fdivs %f2, %f2, %f18
23755jmptr_2_280:
23756 nop
23757 best_set_reg(0xe0a00000, %r20, %r27)
23758 .word 0xb7c6c000 ! 338: JMPL_R jmpl %r27 + %r0, %r27
23759 .word 0x8d903ac4 ! 339: WRPR_PSTATE_I wrpr %r0, 0x1ac4, %pstate
23760ceter_2_282:
23761 nop
23762 ta T_CHANGE_HPRIV
23763 mov 7, %r17
23764 sllx %r17, 60, %r17
23765 mov 0x18, %r16
23766 stxa %r17, [%r16]0x4c
23767 .word 0x97410000 ! 340: RDTICK rd %tick, %r11
23768iaw_2_283:
23769 nop
23770 ta T_CHANGE_HPRIV
23771 mov 8, %r18
23772 rd %asi, %r12
23773 wr %r0, 0x41, %asi
23774 set sync_thr_counter4, %r23
23775#ifndef SPC
23776 ldxa [%g0]0x63, %r8
23777 and %r8, 0x38, %r8 ! Core ID
23778 add %r8, %r23, %r23
23779#else
23780 mov 0, %r8
23781#endif
23782 mov 0x2, %r16
23783iaw_startwait2_283:
23784 cas [%r23],%g0,%r16 !lock
23785 brz,a %r16, continue_iaw_2_283
23786 mov (~0x2&0xf), %r16
23787 ld [%r23], %r16
23788iaw_wait2_283:
23789 brnz %r16, iaw_wait2_283
23790 ld [%r23], %r16
23791 ba iaw_startwait2_283
23792 mov 0x2, %r16
23793continue_iaw_2_283:
23794 sllx %r16, %r8, %r16 !Mask for my core only
23795 ldxa [0x58]%asi, %r17 !Running_status
23796wait_for_stat_2_283:
23797 ldxa [0x50]%asi, %r13 !Running_rw
23798 cmp %r13, %r17
23799 bne,a wait_for_stat_2_283
23800 ldxa [0x58]%asi, %r17 !Running_status
23801 stxa %r16, [0x68]%asi !Park (W1C)
23802 ldxa [0x50]%asi, %r14 !Running_rw
23803wait_for_iaw_2_283:
23804 ldxa [0x58]%asi, %r17 !Running_status
23805 cmp %r14, %r17
23806 bne,a wait_for_iaw_2_283
23807 ldxa [0x50]%asi, %r14 !Running_rw
23808iaw_doit2_283:
23809 mov 0x38, %r18
23810iaw1_2_283:
23811 best_set_reg(0x00000000e0200000, %r20, %r19)
23812 or %r19, 0x1, %r19
23813 stxa %r19, [%r18]0x50
23814 stxa %r16, [0x60] %asi ! Unpark (W1S)
23815 st %g0, [%r23] !clear lock
23816 wr %r0, %r12, %asi ! restore %asi
23817 ta T_CHANGE_NONHPRIV
23818 .word 0x99a0c9a3 ! 341: FDIVs fdivs %f3, %f3, %f12
23819 .word 0xd847e0e8 ! 342: LDSW_I ldsw [%r31 + 0x00e8], %r12
23820 .word 0x91940005 ! 343: WRPR_PIL_R wrpr %r16, %r5, %pil
23821 .word 0xd837e04e ! 344: STH_I sth %r12, [%r31 + 0x004e]
23822ibp_2_285:
23823 nop
23824 .word 0xa7702410 ! 345: POPC_I popc 0x0410, %r19
23825 ba skip_2_286
23826 fblg,a,pn %fcc0, skip_2_286
23827.align 512
23828skip_2_286:
23829 .word 0x87ac8a41 ! 346: FCMPd fcmpd %fcc<n>, %f18, %f32
23830 .word 0xd337e0dd ! 347: STQF_I - %f9, [0x00dd, %r31]
23831donret_2_287:
23832 nop
23833 ta T_CHANGE_HPRIV ! macro
23834 rd %pc, %r12
23835 add %r12, (donretarg_2_287-donret_2_287-4), %r12
23836 mov 0x38, %r18
23837 stxa %r12, [%r18]0x58
23838 add %r12, 0x4, %r11
23839 wrpr %g0, 0x1, %tl
23840 wrpr %g0, %r12, %tpc
23841 wrpr %g0, %r11, %tnpc
23842 set (0x00fa0e0c | (0x88 << 24)), %r13
23843 rdpr %tstate, %r16
23844 mov 0x1f, %r19
23845 and %r19, %r16, %r17
23846 andn %r16, %r19, %r16
23847 or %r16, %r17, %r20
23848 wrpr %r20, %g0, %tstate
23849 wrhpr %g0, 0x1b13, %htstate
23850 ta T_CHANGE_NONHPRIV ! rand=1 (2)
23851 .word 0x22cc8001 ! 1: BRZ brz,a,pt %r18,<label_0xc8001>
23852 done
23853donretarg_2_287:
23854 .word 0xd2ffe165 ! 348: SWAPA_I swapa %r9, [%r31 + 0x0165] %asi
23855 .word 0xd28008a0 ! 349: LDUWA_R lduwa [%r0, %r0] 0x45, %r9
23856 .word 0x8d802000 ! 350: WRFPRS_I wr %r0, 0x0000, %fprs
23857dvapa_2_288:
23858 nop
23859 ta T_CHANGE_HPRIV
23860 mov 0xfaa, %r20
23861 mov 0x13, %r19
23862 sllx %r20, 23, %r20
23863 or %r19, %r20, %r19
23864 stxa %r19, [%g0] ASI_LSU_CONTROL
23865 mov 0x38, %r18
23866 stxa %r31, [%r18]0x58
23867 ta T_CHANGE_NONHPRIV
23868 .word 0xd297c031 ! 351: LDUHA_R lduha [%r31, %r17] 0x01, %r9
23869 .word 0xa3a00163 ! 352: FABSq dis not found
23870
23871iaw_2_290:
23872 nop
23873 ta T_CHANGE_HPRIV
23874 mov 8, %r18
23875 rd %asi, %r12
23876 wr %r0, 0x41, %asi
23877 set sync_thr_counter4, %r23
23878#ifndef SPC
23879 ldxa [%g0]0x63, %r8
23880 and %r8, 0x38, %r8 ! Core ID
23881 add %r8, %r23, %r23
23882#else
23883 mov 0, %r8
23884#endif
23885 mov 0x2, %r16
23886iaw_startwait2_290:
23887 cas [%r23],%g0,%r16 !lock
23888 brz,a %r16, continue_iaw_2_290
23889 mov (~0x2&0xf), %r16
23890 ld [%r23], %r16
23891iaw_wait2_290:
23892 brnz %r16, iaw_wait2_290
23893 ld [%r23], %r16
23894 ba iaw_startwait2_290
23895 mov 0x2, %r16
23896continue_iaw_2_290:
23897 sllx %r16, %r8, %r16 !Mask for my core only
23898 ldxa [0x58]%asi, %r17 !Running_status
23899wait_for_stat_2_290:
23900 ldxa [0x50]%asi, %r13 !Running_rw
23901 cmp %r13, %r17
23902 bne,a wait_for_stat_2_290
23903 ldxa [0x58]%asi, %r17 !Running_status
23904 stxa %r16, [0x68]%asi !Park (W1C)
23905 ldxa [0x50]%asi, %r14 !Running_rw
23906wait_for_iaw_2_290:
23907 ldxa [0x58]%asi, %r17 !Running_status
23908 cmp %r14, %r17
23909 bne,a wait_for_iaw_2_290
23910 ldxa [0x50]%asi, %r14 !Running_rw
23911iaw_doit2_290:
23912 mov 0x38, %r18
23913iaw1_2_290:
23914 best_set_reg(0x00000000e1200000, %r20, %r19)
23915 or %r19, 0x1, %r19
23916 stxa %r19, [%r18]0x50
23917 stxa %r16, [0x60] %asi ! Unpark (W1S)
23918 st %g0, [%r23] !clear lock
23919 wr %r0, %r12, %asi ! restore %asi
23920 ta T_CHANGE_NONHPRIV
23921 .word 0xe19fde00 ! 353: LDDFA_R ldda [%r31, %r0], %f16
23922brcommon2_2_291:
23923 nop
23924 setx common_target, %r12, %r27
23925 ba,a .+12
23926 .word 0xe714400d ! 1: LDQF_R - [%r17, %r13], %f19
23927 ba,a .+8
23928 jmpl %r27+0, %r27
23929 .word 0xe19fc2c0 ! 354: LDDFA_R ldda [%r31, %r0], %f16
23930donret_2_292:
23931 nop
23932 ta T_CHANGE_HPRIV ! macro
23933 rd %pc, %r12
23934 add %r12, (donretarg_2_292-donret_2_292-8), %r12
23935 mov 0x38, %r18
23936 stxa %r12, [%r18]0x58
23937 add %r12, 0x4, %r11
23938 wrpr %g0, 0x1, %tl
23939 wrpr %g0, %r12, %tpc
23940 wrpr %g0, %r11, %tnpc
23941 set (0x00d49d17 | (0x4f << 24)), %r13
23942 rdpr %tstate, %r16
23943 mov 0x1f, %r19
23944 and %r19, %r16, %r17
23945 andn %r16, %r19, %r16
23946 or %r16, %r17, %r20
23947 wrpr %r20, %g0, %tstate
23948 wrhpr %g0, 0xfdc, %htstate
23949 ta T_CHANGE_NONHPRIV ! rand=1 (2)
23950 retry
23951donretarg_2_292:
23952 .word 0x95a189c7 ! 355: FDIVd fdivd %f6, %f38, %f10
23953pmu_2_293:
23954 nop
23955 setx 0xfffff486fffff296, %g1, %g7
23956 .word 0xa3800007 ! 356: WR_PERF_COUNTER_R wr %r0, %r7, %-
23957donret_2_294:
23958 nop
23959 ta T_CHANGE_HPRIV ! macro
23960 rd %pc, %r12
23961 add %r12, (donretarg_2_294-donret_2_294-8), %r12
23962 mov 0x38, %r18
23963 stxa %r12, [%r18]0x58
23964 add %r12, 0x4, %r11
23965 wrpr %g0, 0x1, %tl
23966 wrpr %g0, %r12, %tpc
23967 wrpr %g0, %r11, %tnpc
23968 set (0x0007778b | (20 << 24)), %r13
23969 rdpr %tstate, %r16
23970 mov 0x1f, %r19
23971 and %r19, %r16, %r17
23972 andn %r16, %r19, %r16
23973 or %r16, %r17, %r20
23974 wrpr %r20, %g0, %tstate
23975 wrhpr %g0, 0x14bd, %htstate
23976 ta T_CHANGE_NONHPRIV ! rand=1 (2)
23977 retry
23978donretarg_2_294:
23979 .word 0xe46fe02a ! 357: LDSTUB_I ldstub %r18, [%r31 + 0x002a]
23980 nop
23981 ta T_CHANGE_HPRIV
23982 mov 0x2, %r10
23983 set sync_thr_counter6, %r23
23984#ifndef SPC
23985 ldxa [%g0]0x63, %o1
23986 and %o1, 0x38, %o1
23987 add %o1, %r23, %r23
23988#endif
23989 cas [%r23],%g0,%r10 !lock
23990 brnz %r10, sma_2_295
23991 rd %asi, %r12
23992 wr %g0, 0x40, %asi
23993 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
23994 set 0x00121fff, %g1
23995 stxa %g1, [%g0 + 0x80] %asi
23996 wr %r12, %g0, %asi
23997 st %g0, [%r23]
23998sma_2_295:
23999 ta T_CHANGE_NONHPRIV
24000 .word 0xe5e7e009 ! 358: CASA_R casa [%r31] %asi, %r9, %r18
24001 .word 0x22800001 ! 359: BE be,a <label_0x1>
24002 nop
24003 ta T_CHANGE_HPRIV
24004 mov 0x2+1, %r10
24005 set sync_thr_counter5, %r23
24006#ifndef SPC
24007 ldxa [%g0]0x63, %o1
24008 and %o1, 0x38, %o1
24009 add %o1, %r23, %r23
24010#endif
24011 cas [%r23],%g0,%r10 !lock
24012 brnz %r10, cwq_2_296
24013 rd %asi, %r12
24014 wr %g0, 0x40, %asi
24015 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
24016 and %l1, 0x3, %l1 ! Check if busy/enabled ..
24017 cmp %l1, 1
24018 bne cwq_2_296
24019 set CWQ_BASE, %l6
24020 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
24021 best_set_reg(0x20610090, %l1, %l2) !# Control Word
24022 sllx %l2, 32, %l2
24023 stx %l2, [%l6 + 0x0]
24024 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
24025 sub %l2, 0x40, %l2
24026 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
24027 wr %r12, %g0, %asi
24028 st %g0, [%r23]
24029cwq_2_296:
24030 ta T_CHANGE_NONHPRIV
24031 .word 0x9b414000 ! 360: RDPC rd %pc, %r13
24032splash_cmpr_2_297:
24033 mov 0, %r18
24034 sllx %r18, 63, %r18
24035 rd %tick, %r17
24036 add %r17, 0x80, %r17
24037 or %r17, %r18, %r17
24038 ta T_CHANGE_PRIV
24039 .word 0xaf800011 ! 361: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
24040mondo_2_298:
24041 nop
24042 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
24043 ta T_CHANGE_PRIV
24044 stxa %r12, [%r0+0x3d8] %asi
24045 .word 0x9d940004 ! 362: WRPR_WSTATE_R wrpr %r16, %r4, %wstate
24046brcommon3_2_299:
24047 nop
24048 setx common_target, %r12, %r27
24049 lduw [%r27], %r12 ! Load common dest into dcache ..
24050 ba,a .+12
24051 .word 0xdb37c011 ! 1: STQF_R - %f13, [%r17, %r31]
24052 ba,a .+8
24053 jmpl %r27+0, %r27
24054 .word 0xdadfc033 ! 363: LDXA_R ldxa [%r31, %r19] 0x01, %r13
24055intveclr_2_300:
24056 nop
24057 ta T_CHANGE_HPRIV
24058 setx 0x095c788ddb05f17a, %r1, %r28
24059 stxa %r28, [%g0] 0x72
24060 ta T_CHANGE_NONHPRIV
24061 .word 0x25400001 ! 364: FBPLG fblg,a,pn %fcc0, <label_0x1>
24062 .word 0x89800011 ! 365: WRTICK_R wr %r0, %r17, %tick
24063splash_lsu_2_302:
24064 nop
24065 ta T_CHANGE_HPRIV
24066 set 0x63cf2560, %r2
24067 mov 0x2, %r1
24068 sllx %r1, 32, %r1
24069 or %r1, %r2, %r2
24070 stxa %r2, [%r0] ASI_LSU_CONTROL
24071 .word 0x3d400001 ! 366: FBPULE fbule,a,pn %fcc0, <label_0x1>
24072 nop
24073 ta T_CHANGE_HPRIV
24074 mov 0x2+1, %r10
24075 set sync_thr_counter5, %r23
24076#ifndef SPC
24077 ldxa [%g0]0x63, %o1
24078 and %o1, 0x38, %o1
24079 add %o1, %r23, %r23
24080#endif
24081 cas [%r23],%g0,%r10 !lock
24082 brnz %r10, cwq_2_303
24083 rd %asi, %r12
24084 wr %g0, 0x40, %asi
24085 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
24086 and %l1, 0x3, %l1 ! Check if busy/enabled ..
24087 cmp %l1, 1
24088 bne cwq_2_303
24089 set CWQ_BASE, %l6
24090 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
24091 best_set_reg(0x20610070, %l1, %l2) !# Control Word
24092 sllx %l2, 32, %l2
24093 stx %l2, [%l6 + 0x0]
24094 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
24095 sub %l2, 0x40, %l2
24096 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
24097 wr %r12, %g0, %asi
24098 st %g0, [%r23]
24099cwq_2_303:
24100 ta T_CHANGE_NONHPRIV
24101 .word 0x91414000 ! 367: RDPC rd %pc, %r8
24102 set 0xb94, %l3
24103 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
24104 .word 0x95b507cd ! 368: PDIST pdistn %d20, %d44, %d10
24105splash_lsu_2_304:
24106 nop
24107 ta T_CHANGE_HPRIV
24108 set 0x05d7d38d, %r2
24109 mov 0x3, %r1
24110 sllx %r1, 32, %r1
24111 or %r1, %r2, %r2
24112 stxa %r2, [%r0] ASI_LSU_CONTROL
24113 ta T_CHANGE_NONHPRIV
24114 .word 0x3d400001 ! 369: FBPULE fbule,a,pn %fcc0, <label_0x1>
24115br_longdelay4_2_305:
24116 nop
24117 not %g0, %r12
24118 jmp %r12
24119 .word 0x9d902005 ! 370: WRPR_WSTATE_I wrpr %r0, 0x0005, %wstate
24120dvapa_2_306:
24121 nop
24122 ta T_CHANGE_HPRIV
24123 mov 0xcb1, %r20
24124 mov 0x4, %r19
24125 sllx %r20, 23, %r20
24126 or %r19, %r20, %r19
24127 stxa %r19, [%g0] ASI_LSU_CONTROL
24128 mov 0x38, %r18
24129 stxa %r31, [%r18]0x58
24130 ta T_CHANGE_NONHPRIV
24131 .word 0x9f80333a ! 371: SIR sir 0x133a
24132pmu_2_307:
24133 nop
24134 setx 0xffffffcefffff9a1, %g1, %g7
24135 .word 0xa3800007 ! 372: WR_PERF_COUNTER_R wr %r0, %r7, %-
24136pmu_2_308:
24137 nop
24138 setx 0xfffffd42fffff9b9, %g1, %g7
24139 .word 0xa3800007 ! 373: WR_PERF_COUNTER_R wr %r0, %r7, %-
24140vahole_2_309:
24141 nop
24142 ta T_CHANGE_NONHPRIV
24143 setx vahole_target2, %r18, %r27
24144 jmpl %r27+0, %r27
24145 .word 0xe19fc2c0 ! 374: LDDFA_R ldda [%r31, %r0], %f16
24146tagged_2_310:
24147 tsubcctv %r16, 0x1776, %r19
24148 .word 0xd407e01c ! 375: LDUW_I lduw [%r31 + 0x001c], %r10
24149 nop
24150 ta T_CHANGE_HPRIV
24151 mov 0x2+1, %r10
24152 set sync_thr_counter5, %r23
24153#ifndef SPC
24154 ldxa [%g0]0x63, %o1
24155 and %o1, 0x38, %o1
24156 add %o1, %r23, %r23
24157#endif
24158 cas [%r23],%g0,%r10 !lock
24159 brnz %r10, cwq_2_311
24160 rd %asi, %r12
24161 wr %g0, 0x40, %asi
24162 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
24163 and %l1, 0x3, %l1 ! Check if busy/enabled ..
24164 cmp %l1, 1
24165 bne cwq_2_311
24166 set CWQ_BASE, %l6
24167 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
24168 best_set_reg(0x20610070, %l1, %l2) !# Control Word
24169 sllx %l2, 32, %l2
24170 stx %l2, [%l6 + 0x0]
24171 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
24172 sub %l2, 0x40, %l2
24173 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
24174 wr %r12, %g0, %asi
24175 st %g0, [%r23]
24176cwq_2_311:
24177 ta T_CHANGE_NONHPRIV
24178 .word 0xa7414000 ! 376: RDPC rd %pc, %r19
24179trapasi_2_312:
24180 nop
24181 mov 0x28, %r1 ! (VA for ASI 0x5b)
24182 .word 0xd8884b60 ! 377: LDUBA_R lduba [%r1, %r0] 0x5b, %r12
24183 .word 0x3e800001 ! 1: BVC bvc,a <label_0x1>
24184 .word 0x8d9039fb ! 378: WRPR_PSTATE_I wrpr %r0, 0x19fb, %pstate
24185iaw_2_314:
24186 nop
24187 ta T_CHANGE_HPRIV
24188 mov 8, %r18
24189 rd %asi, %r12
24190 wr %r0, 0x41, %asi
24191 set sync_thr_counter4, %r23
24192#ifndef SPC
24193 ldxa [%g0]0x63, %r8
24194 and %r8, 0x38, %r8 ! Core ID
24195 add %r8, %r23, %r23
24196#else
24197 mov 0, %r8
24198#endif
24199 mov 0x2, %r16
24200iaw_startwait2_314:
24201 cas [%r23],%g0,%r16 !lock
24202 brz,a %r16, continue_iaw_2_314
24203 mov (~0x2&0xf), %r16
24204 ld [%r23], %r16
24205iaw_wait2_314:
24206 brnz %r16, iaw_wait2_314
24207 ld [%r23], %r16
24208 ba iaw_startwait2_314
24209 mov 0x2, %r16
24210continue_iaw_2_314:
24211 sllx %r16, %r8, %r16 !Mask for my core only
24212 ldxa [0x58]%asi, %r17 !Running_status
24213wait_for_stat_2_314:
24214 ldxa [0x50]%asi, %r13 !Running_rw
24215 cmp %r13, %r17
24216 bne,a wait_for_stat_2_314
24217 ldxa [0x58]%asi, %r17 !Running_status
24218 stxa %r16, [0x68]%asi !Park (W1C)
24219 ldxa [0x50]%asi, %r14 !Running_rw
24220wait_for_iaw_2_314:
24221 ldxa [0x58]%asi, %r17 !Running_status
24222 cmp %r14, %r17
24223 bne,a wait_for_iaw_2_314
24224 ldxa [0x50]%asi, %r14 !Running_rw
24225iaw_doit2_314:
24226 mov 0x38, %r18
24227iaw1_2_314:
24228 best_set_reg(0x00000000e0200000, %r20, %r19)
24229 or %r19, 0x1, %r19
24230 stxa %r19, [%r18]0x50
24231 stxa %r16, [0x60] %asi ! Unpark (W1S)
24232 st %g0, [%r23] !clear lock
24233 wr %r0, %r12, %asi ! restore %asi
24234 ta T_CHANGE_NONHPRIV
24235 .word 0xd8dfc028 ! 379: LDXA_R ldxa [%r31, %r8] 0x01, %r12
24236mondo_2_315:
24237 nop
24238 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
24239 ta T_CHANGE_PRIV
24240 stxa %r5, [%r0+0x3c0] %asi
24241 .word 0x9d90c002 ! 380: WRPR_WSTATE_R wrpr %r3, %r2, %wstate
24242fpinit_2_316:
24243 setx fp_data_quads, %r19, %r20
24244 ldd [%r20], %f0
24245 ldd [%r20+8], %f4
24246 ld [%r20+16], %fsr
24247 ld [%r20+24], %r19
24248 wr %r19, %g0, %gsr
24249 .word 0x89b00484 ! 381: FCMPLE32 fcmple32 %d0, %d4, %r4
24250dvapa_2_317:
24251 nop
24252 ta T_CHANGE_HPRIV
24253 mov 0xe0f, %r20
24254 mov 0x2, %r19
24255 sllx %r20, 23, %r20
24256 or %r19, %r20, %r19
24257 stxa %r19, [%g0] ASI_LSU_CONTROL
24258 mov 0x38, %r18
24259 stxa %r31, [%r18]0x58
24260 ta T_CHANGE_NONHPRIV
24261 .word 0xe19fdf20 ! 382: LDDFA_R ldda [%r31, %r0], %f16
24262 .word 0x8d9031b9 ! 383: WRPR_PSTATE_I wrpr %r0, 0x11b9, %pstate
24263pmu_2_319:
24264 nop
24265 setx 0xfffff2a9ffffff71, %g1, %g7
24266 .word 0xa3800007 ! 384: WR_PERF_COUNTER_R wr %r0, %r7, %-
24267 .word 0xd8d7e160 ! 385: LDSHA_I ldsha [%r31, + 0x0160] %asi, %r12
24268 .word 0x8d9039c5 ! 386: WRPR_PSTATE_I wrpr %r0, 0x19c5, %pstate
24269fpinit_2_321:
24270 setx fp_data_quads, %r19, %r20
24271 ldd [%r20], %f0
24272 ldd [%r20+8], %f4
24273 ld [%r20+16], %fsr
24274 ld [%r20+24], %r19
24275 wr %r19, %g0, %gsr
24276 .word 0x89a009a4 ! 387: FDIVs fdivs %f0, %f4, %f4
24277 .word 0xe19fdb60 ! 388: LDDFA_R ldda [%r31, %r0], %f16
24278 .word 0xa3b40547 ! 389: FCMPEQ16 fcmpeq16 %d16, %d38, %r17
24279donret_2_322:
24280 nop
24281 ta T_CHANGE_HPRIV ! macro
24282 rd %pc, %r12
24283 add %r12, (donretarg_2_322-donret_2_322-8), %r12
24284 mov 0x38, %r18
24285 stxa %r12, [%r18]0x58
24286 add %r12, 0x4, %r11
24287 wrpr %g0, 0x2, %tl
24288 wrpr %g0, %r12, %tpc
24289 wrpr %g0, %r11, %tnpc
24290 set (0x0004b78e | (16 << 24)), %r13
24291 rdpr %tstate, %r16
24292 mov 0x1f, %r19
24293 and %r19, %r16, %r17
24294 andn %r16, %r19, %r16
24295 or %r16, %r17, %r20
24296 wrpr %r20, %g0, %tstate
24297 wrhpr %g0, 0xea7, %htstate
24298 ta T_CHANGE_NONPRIV ! rand=0 (2)
24299 .word 0x3f400001 ! 1: FBPO fbo,a,pn %fcc0, <label_0x1>
24300 retry
24301donretarg_2_322:
24302 .word 0xe8ffe038 ! 390: SWAPA_I swapa %r20, [%r31 + 0x0038] %asi
24303 .word 0xa945c000 ! 391: RD_TICK_CMPR_REG rd %-, %r20
24304 .word 0xab83000c ! 392: WR_CLEAR_SOFTINT_R wr %r12, %r12, %clear_softint
24305 setx 0x46851c2a08cd081a, %r1, %r28
24306 stxa %r28, [%g0] 0x73
24307intvec_2_323:
24308 .word 0x39400001 ! 393: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
24309iaw_2_324:
24310 nop
24311 ta T_CHANGE_HPRIV
24312 mov 8, %r18
24313 rd %asi, %r12
24314 wr %r0, 0x41, %asi
24315 set sync_thr_counter4, %r23
24316#ifndef SPC
24317 ldxa [%g0]0x63, %r8
24318 and %r8, 0x38, %r8 ! Core ID
24319 add %r8, %r23, %r23
24320#else
24321 mov 0, %r8
24322#endif
24323 mov 0x2, %r16
24324iaw_startwait2_324:
24325 cas [%r23],%g0,%r16 !lock
24326 brz,a %r16, continue_iaw_2_324
24327 mov (~0x2&0xf), %r16
24328 ld [%r23], %r16
24329iaw_wait2_324:
24330 brnz %r16, iaw_wait2_324
24331 ld [%r23], %r16
24332 ba iaw_startwait2_324
24333 mov 0x2, %r16
24334continue_iaw_2_324:
24335 sllx %r16, %r8, %r16 !Mask for my core only
24336 ldxa [0x58]%asi, %r17 !Running_status
24337wait_for_stat_2_324:
24338 ldxa [0x50]%asi, %r13 !Running_rw
24339 cmp %r13, %r17
24340 bne,a wait_for_stat_2_324
24341 ldxa [0x58]%asi, %r17 !Running_status
24342 stxa %r16, [0x68]%asi !Park (W1C)
24343 ldxa [0x50]%asi, %r14 !Running_rw
24344wait_for_iaw_2_324:
24345 ldxa [0x58]%asi, %r17 !Running_status
24346 cmp %r14, %r17
24347 bne,a wait_for_iaw_2_324
24348 ldxa [0x50]%asi, %r14 !Running_rw
24349iaw_doit2_324:
24350 mov 0x38, %r18
24351iaw2_2_324:
24352 rdpr %tba, %r19
24353 mov 0x120, %r20
24354 sllx %r20, 5, %r20
24355 add %r20, %r19, %r19
24356 stxa %r19, [%r18]0x50
24357 stxa %r16, [0x60] %asi ! Unpark (W1S)
24358 st %g0, [%r23] !clear lock
24359 wr %r0, %r12, %asi ! restore %asi
24360 ta T_CHANGE_NONHPRIV
24361 .word 0xe6bfc032 ! 394: STDA_R stda %r19, [%r31 + %r18] 0x01
24362 setx 0x8dac533bf9056336, %r1, %r28
24363 stxa %r28, [%g0] 0x73
24364intvec_2_325:
24365 .word 0x39400001 ! 395: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
24366 .word 0xa9524000 ! 396: RDPR_CWP <illegal instruction>
24367dvapa_2_327:
24368 nop
24369 ta T_CHANGE_HPRIV
24370 mov 0xf14, %r20
24371 mov 0x1b, %r19
24372 sllx %r20, 23, %r20
24373 or %r19, %r20, %r19
24374 stxa %r19, [%g0] ASI_LSU_CONTROL
24375 mov 0x38, %r18
24376 stxa %r31, [%r18]0x58
24377 ta T_CHANGE_NONHPRIV
24378 .word 0xe1bfe140 ! 397: STDFA_I stda %f16, [0x0140, %r31]
24379fpinit_2_328:
24380 setx fp_data_quads, %r19, %r20
24381 ldd [%r20], %f0
24382 ldd [%r20+8], %f4
24383 ld [%r20+16], %fsr
24384 ld [%r20+24], %r19
24385 wr %r19, %g0, %gsr
24386 .word 0x8da009a4 ! 398: FDIVs fdivs %f0, %f4, %f6
24387iaw_2_329:
24388 nop
24389 ta T_CHANGE_HPRIV
24390 mov 8, %r18
24391 rd %asi, %r12
24392 wr %r0, 0x41, %asi
24393 set sync_thr_counter4, %r23
24394#ifndef SPC
24395 ldxa [%g0]0x63, %r8
24396 and %r8, 0x38, %r8 ! Core ID
24397 add %r8, %r23, %r23
24398#else
24399 mov 0, %r8
24400#endif
24401 mov 0x2, %r16
24402iaw_startwait2_329:
24403 cas [%r23],%g0,%r16 !lock
24404 brz,a %r16, continue_iaw_2_329
24405 mov (~0x2&0xf), %r16
24406 ld [%r23], %r16
24407iaw_wait2_329:
24408 brnz %r16, iaw_wait2_329
24409 ld [%r23], %r16
24410 ba iaw_startwait2_329
24411 mov 0x2, %r16
24412continue_iaw_2_329:
24413 sllx %r16, %r8, %r16 !Mask for my core only
24414 ldxa [0x58]%asi, %r17 !Running_status
24415wait_for_stat_2_329:
24416 ldxa [0x50]%asi, %r13 !Running_rw
24417 cmp %r13, %r17
24418 bne,a wait_for_stat_2_329
24419 ldxa [0x58]%asi, %r17 !Running_status
24420 stxa %r16, [0x68]%asi !Park (W1C)
24421 ldxa [0x50]%asi, %r14 !Running_rw
24422wait_for_iaw_2_329:
24423 ldxa [0x58]%asi, %r17 !Running_status
24424 cmp %r14, %r17
24425 bne,a wait_for_iaw_2_329
24426 ldxa [0x50]%asi, %r14 !Running_rw
24427iaw_doit2_329:
24428 mov 0x38, %r18
24429iaw1_2_329:
24430 best_set_reg(0x00000000e1200000, %r20, %r19)
24431 or %r19, 0x1, %r19
24432 stxa %r19, [%r18]0x50
24433 stxa %r16, [0x60] %asi ! Unpark (W1S)
24434 st %g0, [%r23] !clear lock
24435 wr %r0, %r12, %asi ! restore %asi
24436 ta T_CHANGE_NONHPRIV
24437 .word 0xe69fc034 ! 399: LDDA_R ldda [%r31, %r20] 0x01, %r19
24438unsupttte_2_330:
24439 nop
24440 ta T_CHANGE_HPRIV
24441 mov 1, %r20
24442 sllx %r20, 63, %r20
24443 or %r20, 2,%r20
24444 stxa %r20, [%g0]0x5c ! D unsupported page size ..
24445 ta T_CHANGE_NONHPRIV
24446 .word 0xa7a309cb ! 400: FDIVd fdivd %f12, %f42, %f50
24447vahole_2_331:
24448 nop
24449 ta T_CHANGE_NONHPRIV
24450 setx vahole_target2, %r18, %r27
24451 jmpl %r27+0, %r27
24452 .word 0xc19fd920 ! 401: LDDFA_R ldda [%r31, %r0], %f0
24453 nop
24454 nop
24455 ta T_CHANGE_PRIV
24456 wrpr %g0, %g0, %gl
24457 nop
24458 nop
24459 setx join_lbl_0_0, %g1, %g2
24460 jmp %g2
24461 nop
24462fork_lbl_0_1:
24463 ta T_CHANGE_NONHPRIV
24464 .word 0xe8800aa0 ! 1: LDUWA_R lduwa [%r0, %r0] 0x55, %r20
24465 .word 0xa3a00170 ! 2: FABSq dis not found
24466
24467ibp_1_1:
24468 nop
24469 ta T_CHANGE_NONHPRIV
24470 .word 0xe33fc011 ! 3: STDF_R std %f17, [%r17, %r31]
24471donret_1_2:
24472 nop
24473 ta T_CHANGE_HPRIV ! macro
24474 rd %pc, %r12
24475 add %r12, (donretarg_1_2-donret_1_2-8), %r12
24476 add %r12, 0x4, %r11
24477 wrpr %g0, 0x1, %tl
24478 wrpr %g0, %r12, %tpc
24479 wrpr %g0, %r11, %tnpc
24480 set (0x00866171 | (0x8a << 24)), %r13
24481 rdpr %tstate, %r16
24482 mov 0x1f, %r19
24483 and %r19, %r16, %r17
24484 andn %r16, %r19, %r16
24485 or %r16, %r17, %r20
24486 wrpr %r20, %g0, %tstate
24487 wrhpr %g0, 0xcdf, %htstate
24488 ta T_CHANGE_NONHPRIV ! rand=1 (1)
24489 .word 0x2accc001 ! 1: BRNZ brnz,a,pt %r19,<label_0xcc001>
24490 retry
24491donretarg_1_2:
24492 .word 0xe26fe172 ! 4: LDSTUB_I ldstub %r17, [%r31 + 0x0172]
24493 setx 0xe81c527cc27ba8de, %r1, %r28
24494 stxa %r28, [%g0] 0x73
24495intvec_1_3:
24496 .word 0x39400001 ! 5: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
24497mondo_1_4:
24498 nop
24499 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
24500 stxa %r9, [%r0+0x3e0] %asi
24501 .word 0x9d928004 ! 6: WRPR_WSTATE_R wrpr %r10, %r4, %wstate
24502pmu_1_5:
24503 nop
24504 ta T_CHANGE_PRIV
24505 setx 0xfffff765fffff9b5, %g1, %g7
24506 .word 0xa3800007 ! 7: WR_PERF_COUNTER_R wr %r0, %r7, %-
24507 .word 0x96fca301 ! 8: SDIVcc_I sdivcc %r18, 0x0301, %r11
24508splash_cmpr_1_6:
24509 mov 0, %r18
24510 sllx %r18, 63, %r18
24511 rd %tick, %r17
24512 add %r17, 0x60, %r17
24513 or %r17, %r18, %r17
24514 ta T_CHANGE_HPRIV
24515 wrhpr %r17, %g0, %hsys_tick_cmpr
24516 ta T_CHANGE_PRIV
24517 .word 0xb3800011 ! 9: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
24518 nop
24519 ta T_CHANGE_HPRIV
24520 mov 0x1+1, %r10
24521 set sync_thr_counter5, %r23
24522#ifndef SPC
24523 ldxa [%g0]0x63, %o1
24524 and %o1, 0x38, %o1
24525 add %o1, %r23, %r23
24526#endif
24527 cas [%r23],%g0,%r10 !lock
24528 brnz %r10, cwq_1_7
24529 rd %asi, %r12
24530 wr %g0, 0x40, %asi
24531 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
24532 and %l1, 0x3, %l1 ! Check if busy/enabled ..
24533 cmp %l1, 1
24534 bne cwq_1_7
24535 set CWQ_BASE, %l6
24536 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
24537 best_set_reg(0x20610050, %l1, %l2) !# Control Word
24538 sllx %l2, 32, %l2
24539 stx %l2, [%l6 + 0x0]
24540 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
24541 sub %l2, 0x40, %l2
24542 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
24543 wr %r12, %g0, %asi
24544 st %g0, [%r23]
24545cwq_1_7:
24546 ta T_CHANGE_NONHPRIV
24547 .word 0x9b414000 ! 10: RDPC rd %pc, %r13
24548pmu_1_8:
24549 nop
24550 setx 0xfffff1cafffff1db, %g1, %g7
24551 .word 0xa3800007 ! 11: WR_PERF_COUNTER_R wr %r0, %r7, %-
24552 .word 0xa3a00172 ! 12: FABSq dis not found
24553
24554ibp_1_10:
24555 nop
24556 .word 0xe1bfda00 ! 13: STDFA_R stda %f16, [%r0, %r31]
24557trapasi_1_11:
24558 nop
24559 mov 0x18, %r1 ! (VA for ASI 0x4c)
24560 .word 0xe2c04980 ! 14: LDSWA_R ldswa [%r1, %r0] 0x4c, %r17
24561splash_cmpr_1_12:
24562 mov 1, %r18
24563 sllx %r18, 63, %r18
24564 rd %tick, %r17
24565 add %r17, 0x50, %r17
24566 or %r17, %r18, %r17
24567 .word 0xb3800011 ! 15: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
24568 .word 0x91a2c9a1 ! 16: FDIVs fdivs %f11, %f1, %f8
24569pmu_1_14:
24570 nop
24571 setx 0xfffff356fffff9d8, %g1, %g7
24572 .word 0xa3800007 ! 17: WR_PERF_COUNTER_R wr %r0, %r7, %-
24573 .word 0x38800001 ! 1: BGU bgu,a <label_0x1>
24574 .word 0x8d903f92 ! 18: WRPR_PSTATE_I wrpr %r0, 0x1f92, %pstate
24575splash_cmpr_1_16:
24576 mov 1, %r18
24577 sllx %r18, 63, %r18
24578 rd %tick, %r17
24579 add %r17, 0x80, %r17
24580 or %r17, %r18, %r17
24581 ta T_CHANGE_HPRIV
24582 wrhpr %r17, %g0, %hsys_tick_cmpr
24583 .word 0xb3800011 ! 19: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
24584 .word 0xd01fc000 ! 20: LDD_R ldd [%r31 + %r0], %r8
24585splash_lsu_1_17:
24586 nop
24587 ta T_CHANGE_HPRIV
24588 set 0x31c40ba1, %r2
24589 mov 0x2, %r1
24590 sllx %r1, 32, %r1
24591 or %r1, %r2, %r2
24592 stxa %r2, [%r0] ASI_LSU_CONTROL
24593 ta T_CHANGE_NONHPRIV
24594 .word 0x3d400001 ! 21: FBPULE fbule,a,pn %fcc0, <label_0x1>
24595ibp_1_18:
24596 nop
24597 .word 0x9bb4c7cc ! 22: PDIST pdistn %d50, %d12, %d44
24598fpinit_1_19:
24599 setx fp_data_quads, %r19, %r20
24600 ldd [%r20], %f0
24601 ldd [%r20+8], %f4
24602 ld [%r20+16], %fsr
24603 ld [%r20+24], %r19
24604 wr %r19, %g0, %gsr
24605 .word 0x8db00484 ! 23: FCMPLE32 fcmple32 %d0, %d4, %r6
24606mondo_1_20:
24607 nop
24608 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
24609 ta T_CHANGE_PRIV
24610 stxa %r17, [%r0+0x3d8] %asi
24611 .word 0x9d92c011 ! 24: WRPR_WSTATE_R wrpr %r11, %r17, %wstate
24612intveclr_1_21:
24613 nop
24614 ta T_CHANGE_HPRIV
24615 setx 0x7ddb25f4fc9b4191, %r1, %r28
24616 stxa %r28, [%g0] 0x72
24617 .word 0x25400001 ! 25: FBPLG fblg,a,pn %fcc0, <label_0x1>
24618pmu_1_22:
24619 nop
24620 ta T_CHANGE_PRIV
24621 setx 0xfffff899fffff225, %g1, %g7
24622 .word 0xa3800007 ! 26: WR_PERF_COUNTER_R wr %r0, %r7, %-
24623splash_tba_1_23:
24624 ta T_CHANGE_PRIV
24625 setx 0x0000000000380000, %r11, %r12
24626 .word 0x8b90000c ! 27: WRPR_TBA_R wrpr %r0, %r12, %tba
24627trapasi_1_24:
24628 nop
24629 mov 0x0, %r1 ! (VA for ASI 0x4c)
24630 .word 0xdac04980 ! 28: LDSWA_R ldswa [%r1, %r0] 0x4c, %r13
24631 .word 0x8780208a ! 29: WRASI_I wr %r0, 0x008a, %asi
24632ibp_1_25:
24633 nop
24634 ta T_CHANGE_NONHPRIV
24635 .word 0xe1bfd960 ! 30: STDFA_R stda %f16, [%r0, %r31]
24636dvapa_1_26:
24637 nop
24638 ta T_CHANGE_HPRIV
24639 mov 0x80d, %r20
24640 mov 0x9, %r19
24641 sllx %r20, 23, %r20
24642 or %r19, %r20, %r19
24643 stxa %r19, [%g0] ASI_LSU_CONTROL
24644 mov 0x38, %r18
24645 stxa %r31, [%r18]0x58
24646 ta T_CHANGE_NONHPRIV
24647 .word 0xdabfc028 ! 31: STDA_R stda %r13, [%r31 + %r8] 0x01
24648 nop
24649 ta T_CHANGE_HPRIV
24650 mov 0x1+1, %r10
24651 set sync_thr_counter5, %r23
24652#ifndef SPC
24653 ldxa [%g0]0x63, %o1
24654 and %o1, 0x38, %o1
24655 add %o1, %r23, %r23
24656#endif
24657 cas [%r23],%g0,%r10 !lock
24658 brnz %r10, cwq_1_27
24659 rd %asi, %r12
24660 wr %g0, 0x40, %asi
24661 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
24662 and %l1, 0x3, %l1 ! Check if busy/enabled ..
24663 cmp %l1, 1
24664 bne cwq_1_27
24665 set CWQ_BASE, %l6
24666 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
24667 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
24668 sllx %l2, 32, %l2
24669 stx %l2, [%l6 + 0x0]
24670 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
24671 sub %l2, 0x40, %l2
24672 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
24673 wr %r12, %g0, %asi
24674 st %g0, [%r23]
24675cwq_1_27:
24676 ta T_CHANGE_NONHPRIV
24677 .word 0x93414000 ! 32: RDPC rd %pc, %r9
24678 .word 0x8d903aa5 ! 33: WRPR_PSTATE_I wrpr %r0, 0x1aa5, %pstate
24679 .word 0xa1a00174 ! 34: FABSq dis not found
24680
24681#if (defined SPC || defined CMP)
24682!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_1_30) + 24, 16, 16)) -> intp(3,0,3)
24683!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_1_30)&0xffffffff) + 24, 16, 16)) -> intp(3,0,3)
24684#else
24685 setx 0x5da4842bf6b6957d, %r1, %r28
24686 stxa %r28, [%g0] 0x73
24687#endif
24688intvec_1_30:
24689 .word 0x39400001 ! 35: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
24690tglhtw_1_31:
24691 nop
24692 rd %asi, %l3 ! save %asi
24693 ta T_CHANGE_HPRIV
24694 wr %g0, ASI_MMU_ZERO_CONTEXT_TSB_CONFIG, %asi
24695 mov 1, %l2
24696 sllx %l2, 63, %l2
24697 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
24698 xor %l4, %l2, %l4
24699 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi
24700 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
24701 xor %l4, %l2, %l4
24702 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi
24703 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
24704 xor %l4, %l2, %l4
24705 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi
24706 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
24707 xor %l4, %l2, %l4
24708 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi
24709 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
24710 xor %l4, %l2, %l4
24711 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi
24712 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
24713 xor %l4, %l2, %l4
24714 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi
24715 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
24716 xor %l4, %l2, %l4
24717 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi
24718 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
24719 xor %l4, %l2, %l4
24720 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi
24721 ta T_CHANGE_NONHPRIV
24722 wr %g0, %l3, %asi !restore %asi
24723 .word 0x95b48994 ! 36: BSHUFFLE fmovc32 %d18, %d20, %d10
24724 .word 0x8d802000 ! 37: WRFPRS_I wr %r0, 0x0000, %fprs
24725 .word 0xd44fe1c0 ! 38: LDSB_I ldsb [%r31 + 0x01c0], %r10
24726splash_cmpr_1_32:
24727 mov 1, %r18
24728 sllx %r18, 63, %r18
24729 rd %tick, %r17
24730 add %r17, 0x80, %r17
24731 or %r17, %r18, %r17
24732 ta T_CHANGE_HPRIV
24733 wrhpr %r17, %g0, %hsys_tick_cmpr
24734 .word 0xb3800011 ! 39: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
24735 setx 0x9610a653461b9c66, %r1, %r28
24736 stxa %r28, [%g0] 0x73
24737intvec_1_33:
24738 .word 0x39400001 ! 40: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
24739 .word 0x8d802000 ! 41: WRFPRS_I wr %r0, 0x0000, %fprs
24740pmu_1_34:
24741 nop
24742 setx 0xfffff7f4fffff17a, %g1, %g7
24743 .word 0xa3800007 ! 42: WR_PERF_COUNTER_R wr %r0, %r7, %-
24744jmptr_1_35:
24745 nop
24746 best_set_reg(0xe0200000, %r20, %r27)
24747 .word 0xb7c6c000 ! 43: JMPL_R jmpl %r27 + %r0, %r27
24748 .word 0xd4c7e090 ! 44: LDSWA_I ldswa [%r31, + 0x0090] %asi, %r10
24749 .word 0xc30fc000 ! 45: LDXFSR_R ld-fsr [%r31, %r0], %f1
24750fpinit_1_36:
24751 setx fp_data_quads, %r19, %r20
24752 ldd [%r20], %f0
24753 ldd [%r20+8], %f4
24754 ld [%r20+16], %fsr
24755 ld [%r20+24], %r19
24756 wr %r19, %g0, %gsr
24757 .word 0x87a80a44 ! 46: FCMPd fcmpd %fcc<n>, %f0, %f4
24758cwp_1_37:
24759 set user_data_start, %o7
24760 .word 0x93902001 ! 47: WRPR_CWP_I wrpr %r0, 0x0001, %cwp
24761ibp_1_38:
24762 nop
24763 .word 0xc32fc014 ! 48: STXFSR_R st-sfr %f1, [%r20, %r31]
24764pmu_1_39:
24765 nop
24766 setx 0xfffffffffffffb01, %g1, %g7
24767 .word 0xa3800007 ! 49: WR_PERF_COUNTER_R wr %r0, %r7, %-
24768fpinit_1_40:
24769 setx fp_data_quads, %r19, %r20
24770 ldd [%r20], %f0
24771 ldd [%r20+8], %f4
24772 ld [%r20+16], %fsr
24773 ld [%r20+24], %r19
24774 wr %r19, %g0, %gsr
24775 .word 0xc3e83a91 ! 50: PREFETCHA_I prefetcha [%r0, + 0xfffffa91] %asi, #one_read
24776 nop
24777 ta T_CHANGE_HPRIV
24778 mov 0x1+1, %r10
24779 set sync_thr_counter5, %r23
24780#ifndef SPC
24781 ldxa [%g0]0x63, %o1
24782 and %o1, 0x38, %o1
24783 add %o1, %r23, %r23
24784#endif
24785 cas [%r23],%g0,%r10 !lock
24786 brnz %r10, cwq_1_41
24787 rd %asi, %r12
24788 wr %g0, 0x40, %asi
24789 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
24790 and %l1, 0x3, %l1 ! Check if busy/enabled ..
24791 cmp %l1, 1
24792 bne cwq_1_41
24793 set CWQ_BASE, %l6
24794 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
24795 best_set_reg(0x20610090, %l1, %l2) !# Control Word
24796 sllx %l2, 32, %l2
24797 stx %l2, [%l6 + 0x0]
24798 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
24799 sub %l2, 0x40, %l2
24800 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
24801 wr %r12, %g0, %asi
24802 st %g0, [%r23]
24803cwq_1_41:
24804 ta T_CHANGE_NONHPRIV
24805 .word 0xa9414000 ! 51: RDPC rd %pc, %r20
24806 .word 0x9191400d ! 52: WRPR_PIL_R wrpr %r5, %r13, %pil
24807mondo_1_43:
24808 nop
24809 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
24810 ta T_CHANGE_PRIV
24811 stxa %r3, [%r0+0x3c8] %asi
24812 .word 0x9d944003 ! 53: WRPR_WSTATE_R wrpr %r17, %r3, %wstate
24813dvapa_1_44:
24814 nop
24815 ta T_CHANGE_HPRIV
24816 mov 0xe41, %r20
24817 mov 0xb, %r19
24818 sllx %r20, 23, %r20
24819 or %r19, %r20, %r19
24820 stxa %r19, [%g0] ASI_LSU_CONTROL
24821 mov 0x38, %r18
24822 stxa %r31, [%r18]0x58
24823 ta T_CHANGE_NONHPRIV
24824 .word 0xe19fc3e0 ! 54: LDDFA_R ldda [%r31, %r0], %f16
24825ibp_1_45:
24826 nop
24827 ta T_CHANGE_NONHPRIV
24828 .word 0xe19fdb60 ! 55: LDDFA_R ldda [%r31, %r0], %f16
24829 nop
24830 ta T_CHANGE_HPRIV
24831 mov 0x1, %r10
24832 set sync_thr_counter6, %r23
24833#ifndef SPC
24834 ldxa [%g0]0x63, %o1
24835 and %o1, 0x38, %o1
24836 add %o1, %r23, %r23
24837#endif
24838 cas [%r23],%g0,%r10 !lock
24839 brnz %r10, sma_1_46
24840 rd %asi, %r12
24841 wr %g0, 0x40, %asi
24842 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
24843 set 0x000e1fff, %g1
24844 stxa %g1, [%g0 + 0x80] %asi
24845 wr %r12, %g0, %asi
24846 st %g0, [%r23]
24847sma_1_46:
24848 ta T_CHANGE_NONHPRIV
24849 .word 0xe9e7e010 ! 56: CASA_R casa [%r31] %asi, %r16, %r20
24850 .word 0x26cc4001 ! 1: BRLZ brlz,a,pt %r17,<label_0xc4001>
24851 .word 0x8d903da5 ! 57: WRPR_PSTATE_I wrpr %r0, 0x1da5, %pstate
24852splash_lsu_1_48:
24853 nop
24854 ta T_CHANGE_HPRIV
24855 set 0x17bb3f30, %r2
24856 mov 0x7, %r1
24857 sllx %r1, 32, %r1
24858 or %r1, %r2, %r2
24859 stxa %r2, [%r0] ASI_LSU_CONTROL
24860 ta T_CHANGE_NONHPRIV
24861 .word 0x3d400001 ! 58: FBPULE fbule,a,pn %fcc0, <label_0x1>
24862 setx vahole_target2, %r18, %r27
24863 .word 0x97b4c7c4 ! 59: PDIST pdistn %d50, %d4, %d42
24864splash_hpstate_1_50:
24865 ta T_CHANGE_NONHPRIV
24866 .word 0x34800001 ! 1: BG bg,a <label_0x1>
24867 .word 0x81983d57 ! 60: WRHPR_HPSTATE_I wrhpr %r0, 0x1d57, %hpstate
24868 setx vahole_target0, %r18, %r27
24869 .word 0xe1bfe0e0 ! 61: STDFA_I stda %f16, [0x00e0, %r31]
24870splash_lsu_1_52:
24871 nop
24872 ta T_CHANGE_HPRIV
24873 set 0xea2af5fd, %r2
24874 mov 0x1, %r1
24875 sllx %r1, 32, %r1
24876 or %r1, %r2, %r2
24877 stxa %r2, [%r0] ASI_LSU_CONTROL
24878 ta T_CHANGE_NONHPRIV
24879 .word 0x3d400001 ! 62: FBPULE fbule,a,pn %fcc0, <label_0x1>
24880 nop
24881 ta T_CHANGE_HPRIV
24882 mov 0x1+1, %r10
24883 set sync_thr_counter5, %r23
24884#ifndef SPC
24885 ldxa [%g0]0x63, %o1
24886 and %o1, 0x38, %o1
24887 add %o1, %r23, %r23
24888#endif
24889 cas [%r23],%g0,%r10 !lock
24890 brnz %r10, cwq_1_53
24891 rd %asi, %r12
24892 wr %g0, 0x40, %asi
24893 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
24894 and %l1, 0x3, %l1 ! Check if busy/enabled ..
24895 cmp %l1, 1
24896 bne cwq_1_53
24897 set CWQ_BASE, %l6
24898 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
24899 best_set_reg(0x20610060, %l1, %l2) !# Control Word
24900 sllx %l2, 32, %l2
24901 stx %l2, [%l6 + 0x0]
24902 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
24903 sub %l2, 0x40, %l2
24904 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
24905 wr %r12, %g0, %asi
24906 st %g0, [%r23]
24907cwq_1_53:
24908 ta T_CHANGE_NONHPRIV
24909 .word 0x95414000 ! 63: RDPC rd %pc, %r10
24910cwp_1_54:
24911 set user_data_start, %o7
24912 .word 0x93902000 ! 64: WRPR_CWP_I wrpr %r0, 0x0000, %cwp
24913 setx 0xeb3ecee55d705aee, %r1, %r28
24914 stxa %r28, [%g0] 0x73
24915intvec_1_55:
24916 .word 0x39400001 ! 65: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
24917 setx vahole_target1, %r18, %r27
24918 .word 0xc32fc011 ! 66: STXFSR_R st-sfr %f1, [%r17, %r31]
24919 .word 0x89800011 ! 67: WRTICK_R wr %r0, %r17, %tick
24920tagged_1_58:
24921 tsubcctv %r18, 0x1684, %r12
24922 .word 0xd407e077 ! 68: LDUW_I lduw [%r31 + 0x0077], %r10
24923jmptr_1_59:
24924 nop
24925 best_set_reg(0xe0200000, %r20, %r27)
24926 .word 0xb7c6c000 ! 69: JMPL_R jmpl %r27 + %r0, %r27
24927mondo_1_60:
24928 nop
24929 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
24930 stxa %r6, [%r0+0x3e8] %asi
24931 .word 0x9d93400d ! 70: WRPR_WSTATE_R wrpr %r13, %r13, %wstate
24932donret_1_61:
24933 nop
24934 ta T_CHANGE_HPRIV ! macro
24935 rd %pc, %r12
24936 add %r12, (donretarg_1_61-donret_1_61-4), %r12
24937 add %r12, 0x4, %r11
24938 wrpr %g0, 0x1, %tl
24939 wrpr %g0, %r12, %tpc
24940 wrpr %g0, %r11, %tnpc
24941 set (0x0053f327 | (0x8a << 24)), %r13
24942 rdpr %tstate, %r16
24943 mov 0x1f, %r19
24944 and %r19, %r16, %r17
24945 andn %r16, %r19, %r16
24946 or %r16, %r17, %r20
24947 wrpr %r20, %g0, %tstate
24948 wrhpr %g0, 0x640, %htstate
24949 ta T_CHANGE_NONPRIV ! rand=0 (1)
24950 done
24951donretarg_1_61:
24952 .word 0xd4ffe0ec ! 71: SWAPA_I swapa %r10, [%r31 + 0x00ec] %asi
24953ibp_1_62:
24954 nop
24955 .word 0x91b487c3 ! 72: PDIST pdistn %d18, %d34, %d8
24956 .word 0x2ecc4001 ! 1: BRGEZ brgez,a,pt %r17,<label_0xc4001>
24957 .word 0x8d902959 ! 73: WRPR_PSTATE_I wrpr %r0, 0x0959, %pstate
24958dvapa_1_64:
24959 nop
24960 ta T_CHANGE_HPRIV
24961 mov 0xedc, %r20
24962 mov 0x12, %r19
24963 sllx %r20, 23, %r20
24964 or %r19, %r20, %r19
24965 stxa %r19, [%g0] ASI_LSU_CONTROL
24966 mov 0x38, %r18
24967 stxa %r31, [%r18]0x58
24968 ta T_CHANGE_NONHPRIV
24969 .word 0xc1bfe180 ! 74: STDFA_I stda %f0, [0x0180, %r31]
24970 setx vahole_target1, %r18, %r27
24971 .word 0xc3ecc022 ! 75: PREFETCHA_R prefetcha [%r19, %r2] 0x01, #one_read
24972pmu_1_66:
24973 nop
24974 setx 0xfffff399fffff6ed, %g1, %g7
24975 .word 0xa3800007 ! 76: WR_PERF_COUNTER_R wr %r0, %r7, %-
24976donret_1_67:
24977 nop
24978 ta T_CHANGE_HPRIV ! macro
24979 rd %pc, %r12
24980 add %r12, (donretarg_1_67-donret_1_67-4), %r12
24981 add %r12, 0x4, %r11
24982 wrpr %g0, 0x2, %tl
24983 wrpr %g0, %r12, %tpc
24984 wrpr %g0, %r11, %tnpc
24985 set (0x00329263 | (0x83 << 24)), %r13
24986 rdpr %tstate, %r16
24987 mov 0x1f, %r19
24988 and %r19, %r16, %r17
24989 andn %r16, %r19, %r16
24990 or %r16, %r17, %r20
24991 wrpr %r20, %g0, %tstate
24992 wrhpr %g0, 0xdd5, %htstate
24993 ta T_CHANGE_NONHPRIV ! rand=1 (1)
24994 .word 0x3c800001 ! 1: BPOS bpos,a <label_0x1>
24995 done
24996donretarg_1_67:
24997 .word 0xd2ffe1e0 ! 77: SWAPA_I swapa %r9, [%r31 + 0x01e0] %asi
24998 nop
24999 ta T_CHANGE_HPRIV
25000 mov 0x1+1, %r10
25001 set sync_thr_counter5, %r23
25002#ifndef SPC
25003 ldxa [%g0]0x63, %o1
25004 and %o1, 0x38, %o1
25005 add %o1, %r23, %r23
25006#endif
25007 cas [%r23],%g0,%r10 !lock
25008 brnz %r10, cwq_1_68
25009 rd %asi, %r12
25010 wr %g0, 0x40, %asi
25011 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
25012 and %l1, 0x3, %l1 ! Check if busy/enabled ..
25013 cmp %l1, 1
25014 bne cwq_1_68
25015 set CWQ_BASE, %l6
25016 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
25017 best_set_reg(0x206100c0, %l1, %l2) !# Control Word
25018 sllx %l2, 32, %l2
25019 stx %l2, [%l6 + 0x0]
25020 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
25021 sub %l2, 0x40, %l2
25022 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
25023 wr %r12, %g0, %asi
25024 st %g0, [%r23]
25025cwq_1_68:
25026 ta T_CHANGE_NONHPRIV
25027 .word 0xa5414000 ! 78: RDPC rd %pc, %r18
25028 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
25029reduce_priv_lvl_1_69:
25030 ta T_CHANGE_NONHPRIV ! macro
25031trapasi_1_70:
25032 nop
25033 mov 0x38, %r1 ! (VA for ASI 0x50)
25034 .word 0xe4884a00 ! 80: LDUBA_R lduba [%r1, %r0] 0x50, %r18
25035tglhtw_1_71:
25036 nop
25037 rd %asi, %l3 ! save %asi
25038 ta T_CHANGE_HPRIV
25039 wr %g0, ASI_MMU_ZERO_CONTEXT_TSB_CONFIG, %asi
25040 mov 1, %l2
25041 sllx %l2, 63, %l2
25042 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
25043 xor %l4, %l2, %l4
25044 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi
25045 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
25046 xor %l4, %l2, %l4
25047 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi
25048 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
25049 xor %l4, %l2, %l4
25050 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi
25051 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
25052 xor %l4, %l2, %l4
25053 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi
25054 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
25055 xor %l4, %l2, %l4
25056 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi
25057 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
25058 xor %l4, %l2, %l4
25059 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi
25060 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
25061 xor %l4, %l2, %l4
25062 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi
25063 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
25064 xor %l4, %l2, %l4
25065 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi
25066 ta T_CHANGE_NONHPRIV
25067 wr %g0, %l3, %asi !restore %asi
25068 .word 0x97b4098d ! 81: BSHUFFLE fmovc32 %d16, %d44, %d42
25069pmu_1_72:
25070 nop
25071 ta T_CHANGE_PRIV
25072 setx 0xfffff9aefffff1bb, %g1, %g7
25073 .word 0xa3800007 ! 82: WR_PERF_COUNTER_R wr %r0, %r7, %-
25074tagged_1_73:
25075 taddcctv %r16, 0x1d76, %r19
25076 .word 0xd607e130 ! 83: LDUW_I lduw [%r31 + 0x0130], %r11
25077#if (defined SPC || defined CMP)
25078!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_1_74) + 8, 16, 16)) -> intp(5,0,26)
25079!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_1_74)&0xffffffff) + 8, 16, 16)) -> intp(5,0,26)
25080#else
25081 setx 0x1ce4d808a957008f, %r1, %r28
25082 stxa %r28, [%g0] 0x73
25083#endif
25084intvec_1_74:
25085 .word 0x39400001 ! 84: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
25086 .word 0x83d02033 ! 85: Tcc_I te icc_or_xcc, %r0 + 51
25087 set 0x9d4, %l3
25088 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
25089 .word 0x93b4c7d2 ! 86: PDIST pdistn %d50, %d18, %d40
25090 .word 0x9194c005 ! 87: WRPR_PIL_R wrpr %r19, %r5, %pil
25091 .word 0x9192c006 ! 88: WRPR_PIL_R wrpr %r11, %r6, %pil
25092pmu_1_77:
25093 nop
25094 ta T_CHANGE_PRIV
25095 setx 0xfffffd03fffffdcf, %g1, %g7
25096 .word 0xa3800007 ! 89: WR_PERF_COUNTER_R wr %r0, %r7, %-
25097 .word 0x22780001 ! 90: BPE <illegal instruction>
25098 setx vahole_target3, %r18, %r27
25099 .word 0xd29fc030 ! 91: LDDA_R ldda [%r31, %r16] 0x01, %r9
25100ibp_1_79:
25101 nop
25102 ta T_CHANGE_NONHPRIV
25103 .word 0xa1a509b4 ! 92: FDIVs fdivs %f20, %f20, %f16
25104splash_lsu_1_80:
25105 nop
25106 ta T_CHANGE_HPRIV
25107 set 0x86833b96, %r2
25108 mov 0x4, %r1
25109 sllx %r1, 32, %r1
25110 or %r1, %r2, %r2
25111 stxa %r2, [%r0] ASI_LSU_CONTROL
25112 .word 0x3d400001 ! 93: FBPULE fbule,a,pn %fcc0, <label_0x1>
25113splash_lsu_1_81:
25114 nop
25115 ta T_CHANGE_HPRIV
25116 set 0xe2da3847, %r2
25117 mov 0x5, %r1
25118 sllx %r1, 32, %r1
25119 or %r1, %r2, %r2
25120 stxa %r2, [%r0] ASI_LSU_CONTROL
25121 .word 0x3d400001 ! 94: FBPULE fbule,a,pn %fcc0, <label_0x1>
25122 .word 0x81460000 ! 95: RD_STICK_REG stbar
25123splash_lsu_1_82:
25124 nop
25125 ta T_CHANGE_HPRIV
25126 set 0x9c826860, %r2
25127 mov 0x1, %r1
25128 sllx %r1, 32, %r1
25129 or %r1, %r2, %r2
25130 stxa %r2, [%r0] ASI_LSU_CONTROL
25131 ta T_CHANGE_NONHPRIV
25132 .word 0x3d400001 ! 96: FBPULE fbule,a,pn %fcc0, <label_0x1>
25133 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
25134reduce_priv_lvl_1_83:
25135 ta T_CHANGE_NONHPRIV ! macro
25136invtsb_1_84:
25137 nop
25138 ta T_CHANGE_HPRIV
25139 rd %asi, %r21
25140 wr %r0,ASI_MMU_REAL_RANGE, %asi
25141 mov 1, %r20
25142 sllx %r20, 63, %r20
25143 ldxa [ASI_MMU_REAL_RANGE_0] %asi, %r22
25144 xor %r22 ,%r20, %r22
25145 stxa %r22, [ASI_MMU_REAL_RANGE_0] %asi
25146 ldxa [ASI_MMU_REAL_RANGE_1] %asi, %r22
25147 xor %r22 ,%r20, %r22
25148 stxa %r22, [ASI_MMU_REAL_RANGE_1] %asi
25149 ldxa [ASI_MMU_REAL_RANGE_2] %asi, %r22
25150 xor %r22 ,%r20, %r22
25151 stxa %r22, [ASI_MMU_REAL_RANGE_2] %asi
25152 ldxa [ASI_MMU_REAL_RANGE_3] %asi, %r22
25153 xor %r22 ,%r20, %r22
25154 stxa %r22, [ASI_MMU_REAL_RANGE_3] %asi
25155 wr %r21, %r0, %asi
25156 ta T_CHANGE_NONHPRIV
25157 .word 0x29800001 ! 98: FBL fbl,a <label_0x1>
25158splash_hpstate_1_85:
25159 .word 0x2ac9c001 ! 1: BRNZ brnz,a,pt %r7,<label_0x9c001>
25160 .word 0x8198365f ! 99: WRHPR_HPSTATE_I wrhpr %r0, 0x165f, %hpstate
25161 .word 0xe01fe060 ! 100: LDD_I ldd [%r31 + 0x0060], %r16
25162 .word 0xe09fe010 ! 101: LDDA_I ldda [%r31, + 0x0010] %asi, %r16
25163ibp_1_86:
25164 nop
25165 .word 0xe1bfe060 ! 102: STDFA_I stda %f16, [0x0060, %r31]
25166 .word 0x83d020b3 ! 103: Tcc_I te icc_or_xcc, %r0 + 179
25167 nop
25168 ta T_CHANGE_HPRIV
25169 mov 0x1, %r10
25170 set sync_thr_counter6, %r23
25171#ifndef SPC
25172 ldxa [%g0]0x63, %o1
25173 and %o1, 0x38, %o1
25174 add %o1, %r23, %r23
25175#endif
25176 cas [%r23],%g0,%r10 !lock
25177 brnz %r10, sma_1_87
25178 rd %asi, %r12
25179 wr %g0, 0x40, %asi
25180 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
25181 set 0x000a1fff, %g1
25182 stxa %g1, [%g0 + 0x80] %asi
25183 wr %r12, %g0, %asi
25184 st %g0, [%r23]
25185sma_1_87:
25186 ta T_CHANGE_NONHPRIV
25187 .word 0xe1e7e014 ! 104: CASA_R casa [%r31] %asi, %r20, %r16
25188 .word 0x91934001 ! 105: WRPR_PIL_R wrpr %r13, %r1, %pil
25189pmu_1_89:
25190 nop
25191 setx 0xfffff4defffffb8f, %g1, %g7
25192 .word 0xa3800007 ! 106: WR_PERF_COUNTER_R wr %r0, %r7, %-
25193 .word 0xc30fc000 ! 107: LDXFSR_R ld-fsr [%r31, %r0], %f1
25194 .word 0x30800001 ! 1: BA ba,a <label_0x1>
25195 .word 0x8d9038d7 ! 108: WRPR_PSTATE_I wrpr %r0, 0x18d7, %pstate
25196intveclr_1_91:
25197 nop
25198 ta T_CHANGE_HPRIV
25199 setx 0x26d6d36613cb82a1, %r1, %r28
25200 stxa %r28, [%g0] 0x72
25201 ta T_CHANGE_NONHPRIV
25202 .word 0x25400001 ! 109: FBPLG fblg,a,pn %fcc0, <label_0x1>
25203brcommon2_1_92:
25204 nop
25205 setx common_target, %r12, %r27
25206 ba,a .+12
25207 .word 0xa1a7c974 ! 1: FMULq dis not found
25208
25209 ba,a .+8
25210 jmpl %r27+0, %r27
25211 .word 0xe19fdf20 ! 110: LDDFA_R ldda [%r31, %r0], %f16
25212pmu_1_93:
25213 nop
25214 ta T_CHANGE_PRIV
25215 setx 0xfffffe40ffffff1e, %g1, %g7
25216 .word 0xa3800007 ! 111: WR_PERF_COUNTER_R wr %r0, %r7, %-
25217 setx vahole_target2, %r18, %r27
25218 .word 0xe9e7e010 ! 112: CASA_R casa [%r31] %asi, %r16, %r20
25219 .word 0xa9a109c9 ! 113: FDIVd fdivd %f4, %f40, %f20
25220dvapa_1_96:
25221 nop
25222 ta T_CHANGE_HPRIV
25223 mov 0xeb0, %r20
25224 mov 0x17, %r19
25225 sllx %r20, 23, %r20
25226 or %r19, %r20, %r19
25227 stxa %r19, [%g0] ASI_LSU_CONTROL
25228 mov 0x38, %r18
25229 stxa %r31, [%r18]0x58
25230 ta T_CHANGE_NONHPRIV
25231 .word 0xc3e90031 ! 114: PREFETCHA_R prefetcha [%r4, %r17] 0x01, #one_read
25232splash_cmpr_1_97:
25233 mov 1, %r18
25234 sllx %r18, 63, %r18
25235 rd %tick, %r17
25236 add %r17, 0x50, %r17
25237 or %r17, %r18, %r17
25238 ta T_CHANGE_PRIV
25239 .word 0xaf800011 ! 115: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
25240 setx vahole_target1, %r18, %r27
25241 .word 0xd29fc028 ! 116: LDDA_R ldda [%r31, %r8] 0x01, %r9
25242 setx vahole_target0, %r18, %r27
25243 .word 0xe1bfdb60 ! 117: STDFA_R stda %f16, [%r0, %r31]
25244mondo_1_100:
25245 nop
25246 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
25247 stxa %r3, [%r0+0x3d8] %asi
25248 .word 0x9d90c011 ! 118: WRPR_WSTATE_R wrpr %r3, %r17, %wstate
25249trapasi_1_101:
25250 nop
25251 mov 0x18, %r1 ! (VA for ASI 0x50)
25252 .word 0xd2d84a00 ! 119: LDXA_R ldxa [%r1, %r0] 0x50, %r9
25253splash_cmpr_1_102:
25254 mov 1, %r18
25255 sllx %r18, 63, %r18
25256 rd %tick, %r17
25257 add %r17, 0x80, %r17
25258 or %r17, %r18, %r17
25259 .word 0xb3800011 ! 120: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
25260 nop
25261 ta T_CHANGE_HPRIV
25262 mov 0x1, %r10
25263 set sync_thr_counter6, %r23
25264#ifndef SPC
25265 ldxa [%g0]0x63, %o1
25266 and %o1, 0x38, %o1
25267 add %o1, %r23, %r23
25268#endif
25269 cas [%r23],%g0,%r10 !lock
25270 brnz %r10, sma_1_103
25271 rd %asi, %r12
25272 wr %g0, 0x40, %asi
25273 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
25274 set 0x00061fff, %g1
25275 stxa %g1, [%g0 + 0x80] %asi
25276 wr %r12, %g0, %asi
25277 st %g0, [%r23]
25278sma_1_103:
25279 ta T_CHANGE_NONHPRIV
25280 .word 0xd3e7e00c ! 121: CASA_R casa [%r31] %asi, %r12, %r9
25281dvapa_1_104:
25282 nop
25283 ta T_CHANGE_HPRIV
25284 mov 0xf21, %r20
25285 mov 0x6, %r19
25286 sllx %r20, 23, %r20
25287 or %r19, %r20, %r19
25288 stxa %r19, [%g0] ASI_LSU_CONTROL
25289 mov 0x38, %r18
25290 stxa %r31, [%r18]0x58
25291 ta T_CHANGE_NONHPRIV
25292 .word 0x9f80217a ! 122: SIR sir 0x017a
25293splash_hpstate_1_105:
25294 .word 0x21400001 ! 1: FBPN fbn,a,pn %fcc0, <label_0x1>
25295 .word 0x81982307 ! 123: WRHPR_HPSTATE_I wrhpr %r0, 0x0307, %hpstate
25296 .word 0xe19fdf20 ! 124: LDDFA_R ldda [%r31, %r0], %f16
25297mondo_1_107:
25298 nop
25299 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
25300 ta T_CHANGE_PRIV
25301 stxa %r16, [%r0+0x3e8] %asi
25302 .word 0x9d94c00b ! 125: WRPR_WSTATE_R wrpr %r19, %r11, %wstate
25303splash_tba_1_108:
25304 ta T_CHANGE_PRIV
25305 set 0x120000, %r12
25306 .word 0x8b90000c ! 126: WRPR_TBA_R wrpr %r0, %r12, %tba
25307 .word 0x91500000 ! 127: RDPR_TPC <illegal instruction>
25308brcommon2_1_109:
25309 nop
25310 setx common_target, %r12, %r27
25311 ba,a .+12
25312 .word 0x81dfc008 ! 1: FLUSH_R flush
25313 ba,a .+8
25314 jmpl %r27+0, %r27
25315 .word 0xe1bfde00 ! 128: STDFA_R stda %f16, [%r0, %r31]
25316splash_hpstate_1_110:
25317 .word 0x81982cdd ! 129: WRHPR_HPSTATE_I wrhpr %r0, 0x0cdd, %hpstate
25318 .word 0x89800011 ! 130: WRTICK_R wr %r0, %r17, %tick
25319 .word 0xc19fe140 ! 131: LDDFA_I ldda [%r31, 0x0140], %f0
25320 .word 0x99a00174 ! 132: FABSq dis not found
25321
25322 setx 0xe4064d3aebc78965, %r1, %r28
25323 stxa %r28, [%g0] 0x73
25324intvec_1_113:
25325 .word 0x39400001 ! 133: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
25326fpinit_1_114:
25327 setx fp_data_quads, %r19, %r20
25328 ldd [%r20], %f0
25329 ldd [%r20+8], %f4
25330 ld [%r20+16], %fsr
25331 ld [%r20+24], %r19
25332 wr %r19, %g0, %gsr
25333 .word 0x91a009c4 ! 134: FDIVd fdivd %f0, %f4, %f8
25334 .word 0x8d90379b ! 135: WRPR_PSTATE_I wrpr %r0, 0x179b, %pstate
25335 .word 0xc30fc000 ! 136: LDXFSR_R ld-fsr [%r31, %r0], %f1
25336intveclr_1_117:
25337 nop
25338 ta T_CHANGE_HPRIV
25339 setx 0xd2c24c81521c6b12, %r1, %r28
25340 stxa %r28, [%g0] 0x72
25341 .word 0x25400001 ! 137: FBPLG fblg,a,pn %fcc0, <label_0x1>
25342pmu_1_118:
25343 nop
25344 setx 0xfffffb8bfffff310, %g1, %g7
25345 .word 0xa3800007 ! 138: WR_PERF_COUNTER_R wr %r0, %r7, %-
25346ibp_1_119:
25347 nop
25348 ta T_CHANGE_NONHPRIV
25349 .word 0xc3e84034 ! 139: PREFETCHA_R prefetcha [%r1, %r20] 0x01, #one_read
25350splash_lsu_1_120:
25351 nop
25352 ta T_CHANGE_HPRIV
25353 set 0xcbb3306c, %r2
25354 mov 0x2, %r1
25355 sllx %r1, 32, %r1
25356 or %r1, %r2, %r2
25357 stxa %r2, [%r0] ASI_LSU_CONTROL
25358 ta T_CHANGE_NONHPRIV
25359 .word 0x3d400001 ! 140: FBPULE fbule,a,pn %fcc0, <label_0x1>
25360pmu_1_121:
25361 nop
25362 ta T_CHANGE_PRIV
25363 setx 0xfffff984fffff4e8, %g1, %g7
25364 .word 0xa3800007 ! 141: WR_PERF_COUNTER_R wr %r0, %r7, %-
25365 .word 0x95a4c9b0 ! 142: FDIVs fdivs %f19, %f16, %f10
25366splash_cmpr_1_123:
25367 mov 1, %r18
25368 sllx %r18, 63, %r18
25369 rd %tick, %r17
25370 add %r17, 0x50, %r17
25371 or %r17, %r18, %r17
25372 ta T_CHANGE_PRIV
25373 .word 0xaf800011 ! 143: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
25374 .word 0xd47ffbe8 ! 144: SWAP_I swap %r10, [%r31 + 0xfffffbe8]
25375splash_cmpr_1_124:
25376 mov 1, %r18
25377 sllx %r18, 63, %r18
25378 rd %tick, %r17
25379 add %r17, 0x50, %r17
25380 or %r17, %r18, %r17
25381 ta T_CHANGE_HPRIV
25382 wrhpr %r17, %g0, %hsys_tick_cmpr
25383 .word 0xb3800011 ! 145: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
25384 .word 0xa1524000 ! 146: RDPR_CWP <illegal instruction>
25385intveclr_1_126:
25386 nop
25387 ta T_CHANGE_HPRIV
25388 setx 0x16487888d42f9bd5, %r1, %r28
25389 stxa %r28, [%g0] 0x72
25390 ta T_CHANGE_NONHPRIV
25391 .word 0x25400001 ! 147: FBPLG fblg,a,pn %fcc0, <label_0x1>
25392memptr_1_127:
25393 set 0x60540000, %r31
25394 .word 0x8582a81e ! 148: WRCCR_I wr %r10, 0x081e, %ccr
25395 .word 0x8780208a ! 149: WRASI_I wr %r0, 0x008a, %asi
25396intveclr_1_128:
25397 nop
25398 ta T_CHANGE_HPRIV
25399 setx 0xc780d0e5935b4e6d, %r1, %r28
25400 stxa %r28, [%g0] 0x72
25401 ta T_CHANGE_NONHPRIV
25402 .word 0x25400001 ! 150: FBPLG fblg,a,pn %fcc0, <label_0x1>
25403 .word 0xe0800b60 ! 151: LDUWA_R lduwa [%r0, %r0] 0x5b, %r16
25404mondo_1_129:
25405 nop
25406 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
25407 stxa %r1, [%r0+0x3d0] %asi
25408 .word 0x9d90c001 ! 152: WRPR_WSTATE_R wrpr %r3, %r1, %wstate
25409 setx vahole_target3, %r18, %r27
25410 .word 0xc1bfe1e0 ! 153: STDFA_I stda %f0, [0x01e0, %r31]
25411 .word 0xe08fe138 ! 154: LDUBA_I lduba [%r31, + 0x0138] %asi, %r16
25412 .word 0x91d02034 ! 155: Tcc_I ta icc_or_xcc, %r0 + 52
25413 nop
25414 ta T_CHANGE_HPRIV
25415 mov 0x1+1, %r10
25416 set sync_thr_counter5, %r23
25417#ifndef SPC
25418 ldxa [%g0]0x63, %o1
25419 and %o1, 0x38, %o1
25420 add %o1, %r23, %r23
25421#endif
25422 cas [%r23],%g0,%r10 !lock
25423 brnz %r10, cwq_1_131
25424 rd %asi, %r12
25425 wr %g0, 0x40, %asi
25426 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
25427 and %l1, 0x3, %l1 ! Check if busy/enabled ..
25428 cmp %l1, 1
25429 bne cwq_1_131
25430 set CWQ_BASE, %l6
25431 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
25432 best_set_reg(0x20610020, %l1, %l2) !# Control Word
25433 sllx %l2, 32, %l2
25434 stx %l2, [%l6 + 0x0]
25435 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
25436 sub %l2, 0x40, %l2
25437 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
25438 wr %r12, %g0, %asi
25439 st %g0, [%r23]
25440cwq_1_131:
25441 ta T_CHANGE_NONHPRIV
25442 .word 0xa1414000 ! 156: RDPC rd %pc, %r16
25443ibp_1_132:
25444 nop
25445 .word 0xa9a4c9d0 ! 157: FDIVd fdivd %f50, %f16, %f20
25446splash_lsu_1_133:
25447 nop
25448 ta T_CHANGE_HPRIV
25449 set 0x8d5704d6, %r2
25450 mov 0x3, %r1
25451 sllx %r1, 32, %r1
25452 or %r1, %r2, %r2
25453 stxa %r2, [%r0] ASI_LSU_CONTROL
25454 .word 0x3d400001 ! 158: FBPULE fbule,a,pn %fcc0, <label_0x1>
25455 .word 0xe8800aa0 ! 159: LDUWA_R lduwa [%r0, %r0] 0x55, %r20
25456 setx vahole_target1, %r18, %r27
25457 .word 0xc1bfe0a0 ! 160: STDFA_I stda %f0, [0x00a0, %r31]
25458brcommon1_1_135:
25459 nop
25460 setx common_target, %r12, %r27
25461 lduw [%r27], %r12 ! Load common dest into dcache ..
25462 ba,a .+12
25463 .word 0xe86ff5c6 ! 1: LDSTUB_I ldstub %r20, [%r31 + 0xfffff5c6]
25464 ba,a .+8
25465 jmpl %r27+0, %r27
25466 .word 0x9570247f ! 161: POPC_I popc 0x047f, %r10
25467splash_hpstate_1_136:
25468 .word 0x81983e93 ! 162: WRHPR_HPSTATE_I wrhpr %r0, 0x1e93, %hpstate
25469 .word 0xd497e0c8 ! 163: LDUHA_I lduha [%r31, + 0x00c8] %asi, %r10
25470 setx vahole_target1, %r18, %r27
25471 .word 0xc1bfe0c0 ! 164: STDFA_I stda %f0, [0x00c0, %r31]
25472pmu_1_138:
25473 nop
25474 setx 0xfffffd8efffff6f7, %g1, %g7
25475 .word 0xa3800007 ! 165: WR_PERF_COUNTER_R wr %r0, %r7, %-
25476 setx vahole_target0, %r18, %r27
25477 .word 0xd4dfc030 ! 166: LDXA_R ldxa [%r31, %r16] 0x01, %r10
25478intveclr_1_140:
25479 nop
25480 ta T_CHANGE_HPRIV
25481 setx 0x08d3ee6ea0bd9236, %r1, %r28
25482 stxa %r28, [%g0] 0x72
25483 ta T_CHANGE_NONHPRIV
25484 .word 0x25400001 ! 167: FBPLG fblg,a,pn %fcc0, <label_0x1>
25485 .word 0x8d9026a3 ! 168: WRPR_PSTATE_I wrpr %r0, 0x06a3, %pstate
25486 .word 0x87802088 ! 169: WRASI_I wr %r0, 0x0088, %asi
25487ibp_1_142:
25488 nop
25489 ta T_CHANGE_NONHPRIV
25490 .word 0x87a9ca42 ! 170: FCMPd fcmpd %fcc<n>, %f38, %f2
25491 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
25492reduce_priv_lvl_1_143:
25493 ta T_CHANGE_NONPRIV ! macro
25494fpinit_1_144:
25495 setx fp_data_quads, %r19, %r20
25496 ldd [%r20], %f0
25497 ldd [%r20+8], %f4
25498 ld [%r20+16], %fsr
25499 ld [%r20+24], %r19
25500 wr %r19, %g0, %gsr
25501 .word 0x87a80a44 ! 172: FCMPd fcmpd %fcc<n>, %f0, %f4
25502dvapa_1_145:
25503 nop
25504 ta T_CHANGE_HPRIV
25505 mov 0xcc3, %r20
25506 mov 0x14, %r19
25507 sllx %r20, 23, %r20
25508 or %r19, %r20, %r19
25509 stxa %r19, [%g0] ASI_LSU_CONTROL
25510 mov 0x38, %r18
25511 stxa %r31, [%r18]0x58
25512 ta T_CHANGE_NONHPRIV
25513 .word 0xc32fc009 ! 173: STXFSR_R st-sfr %f1, [%r9, %r31]
25514intveclr_1_146:
25515 nop
25516 ta T_CHANGE_HPRIV
25517 setx 0x97bf182ba16e75e7, %r1, %r28
25518 stxa %r28, [%g0] 0x72
25519 ta T_CHANGE_NONHPRIV
25520 .word 0x25400001 ! 174: FBPLG fblg,a,pn %fcc0, <label_0x1>
25521 .word 0xe51fe1a8 ! 175: LDDF_I ldd [%r31, 0x01a8], %f18
25522donret_1_147:
25523 nop
25524 ta T_CHANGE_HPRIV ! macro
25525 rd %pc, %r12
25526 add %r12, (donretarg_1_147-donret_1_147-4), %r12
25527 add %r12, 0x4, %r11
25528 wrpr %g0, 0x1, %tl
25529 wrpr %g0, %r12, %tpc
25530 wrpr %g0, %r11, %tnpc
25531 set (0x009df9bc | (0x83 << 24)), %r13
25532 rdpr %tstate, %r16
25533 mov 0x1f, %r19
25534 and %r19, %r16, %r17
25535 andn %r16, %r19, %r16
25536 or %r16, %r17, %r20
25537 wrpr %r20, %g0, %tstate
25538 wrhpr %g0, 0x1985, %htstate
25539 ta T_CHANGE_NONHPRIV ! rand=1 (1)
25540 done
25541donretarg_1_147:
25542 .word 0xe4ffe1ec ! 176: SWAPA_I swapa %r18, [%r31 + 0x01ec] %asi
25543 .word 0xe19fe160 ! 177: LDDFA_I ldda [%r31, 0x0160], %f16
25544 .word 0x91d02033 ! 178: Tcc_I ta icc_or_xcc, %r0 + 51
25545fpinit_1_148:
25546 setx fp_data_quads, %r19, %r20
25547 ldd [%r20], %f0
25548 ldd [%r20+8], %f4
25549 ld [%r20+16], %fsr
25550 ld [%r20+24], %r19
25551 wr %r19, %g0, %gsr
25552 .word 0x8db00484 ! 179: FCMPLE32 fcmple32 %d0, %d4, %r6
25553splash_cmpr_1_149:
25554 mov 0, %r18
25555 sllx %r18, 63, %r18
25556 rd %tick, %r17
25557 add %r17, 0x60, %r17
25558 or %r17, %r18, %r17
25559 ta T_CHANGE_PRIV
25560 .word 0xaf800011 ! 180: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
25561 nop
25562 ta T_CHANGE_HPRIV
25563 mov 0x1+1, %r10
25564 set sync_thr_counter5, %r23
25565#ifndef SPC
25566 ldxa [%g0]0x63, %o1
25567 and %o1, 0x38, %o1
25568 add %o1, %r23, %r23
25569#endif
25570 cas [%r23],%g0,%r10 !lock
25571 brnz %r10, cwq_1_150
25572 rd %asi, %r12
25573 wr %g0, 0x40, %asi
25574 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
25575 and %l1, 0x3, %l1 ! Check if busy/enabled ..
25576 cmp %l1, 1
25577 bne cwq_1_150
25578 set CWQ_BASE, %l6
25579 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
25580 best_set_reg(0x20610010, %l1, %l2) !# Control Word
25581 sllx %l2, 32, %l2
25582 stx %l2, [%l6 + 0x0]
25583 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
25584 sub %l2, 0x40, %l2
25585 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
25586 wr %r12, %g0, %asi
25587 st %g0, [%r23]
25588cwq_1_150:
25589 ta T_CHANGE_NONHPRIV
25590 .word 0x93414000 ! 181: RDPC rd %pc, %r9
25591 .word 0xa1a2c9c5 ! 182: FDIVd fdivd %f42, %f36, %f16
25592 .word 0x9ba00164 ! 183: FABSq dis not found
25593
25594 setx vahole_target2, %r18, %r27
25595 .word 0xe19fc3e0 ! 184: LDDFA_R ldda [%r31, %r0], %f16
25596mondo_1_154:
25597 nop
25598 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
25599 ta T_CHANGE_PRIV
25600 stxa %r19, [%r0+0x3e8] %asi
25601 .word 0x9d924012 ! 185: WRPR_WSTATE_R wrpr %r9, %r18, %wstate
25602 .word 0xe19fc3e0 ! 186: LDDFA_R ldda [%r31, %r0], %f16
25603 nop
25604 ta T_CHANGE_HPRIV
25605 mov 0x1, %r10
25606 set sync_thr_counter6, %r23
25607#ifndef SPC
25608 ldxa [%g0]0x63, %o1
25609 and %o1, 0x38, %o1
25610 add %o1, %r23, %r23
25611#endif
25612 cas [%r23],%g0,%r10 !lock
25613 brnz %r10, sma_1_156
25614 rd %asi, %r12
25615 wr %g0, 0x40, %asi
25616 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
25617 set 0x00161fff, %g1
25618 stxa %g1, [%g0 + 0x80] %asi
25619 wr %r12, %g0, %asi
25620 st %g0, [%r23]
25621sma_1_156:
25622 ta T_CHANGE_NONHPRIV
25623 .word 0xdbe7e008 ! 187: CASA_R casa [%r31] %asi, %r8, %r13
25624pmu_1_157:
25625 nop
25626 ta T_CHANGE_PRIV
25627 setx 0xfffff151fffff042, %g1, %g7
25628 .word 0xa3800007 ! 188: WR_PERF_COUNTER_R wr %r0, %r7, %-
25629br_badelay1_1_158:
25630 .word 0xdbe7c02d ! 1: CASA_I casa [%r31] 0x 1, %r13, %r13
25631 .word 0x3b400001 ! 1: FBPLE fble,a,pn %fcc0, <label_0x1>
25632 .word 0xda3fc010 ! 1: STD_R std %r13, [%r31 + %r16]
25633 normalw
25634 .word 0xa7458000 ! 189: RD_SOFTINT_REG rd %softint, %r19
25635 .word 0x9194400b ! 190: WRPR_PIL_R wrpr %r17, %r11, %pil
25636splash_cmpr_1_160:
25637 mov 1, %r18
25638 sllx %r18, 63, %r18
25639 rd %tick, %r17
25640 add %r17, 0x70, %r17
25641 or %r17, %r18, %r17
25642 ta T_CHANGE_PRIV
25643 .word 0xb3800011 ! 191: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
25644splash_cmpr_1_161:
25645 mov 1, %r18
25646 sllx %r18, 63, %r18
25647 rd %tick, %r17
25648 add %r17, 0x70, %r17
25649 or %r17, %r18, %r17
25650 .word 0xaf800011 ! 192: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
25651ibp_1_162:
25652 nop
25653 .word 0xc3ec8026 ! 193: PREFETCHA_R prefetcha [%r18, %r6] 0x01, #one_read
25654 .word 0x89800011 ! 194: WRTICK_R wr %r0, %r17, %tick
25655ibp_1_164:
25656 nop
25657 .word 0xc19fd960 ! 195: LDDFA_R ldda [%r31, %r0], %f0
25658 nop
25659 ta T_CHANGE_HPRIV
25660 mov 0x1, %r10
25661 set sync_thr_counter6, %r23
25662#ifndef SPC
25663 ldxa [%g0]0x63, %o1
25664 and %o1, 0x38, %o1
25665 add %o1, %r23, %r23
25666#endif
25667 cas [%r23],%g0,%r10 !lock
25668 brnz %r10, sma_1_165
25669 rd %asi, %r12
25670 wr %g0, 0x40, %asi
25671 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
25672 set 0x001e1fff, %g1
25673 stxa %g1, [%g0 + 0x80] %asi
25674 wr %r12, %g0, %asi
25675 st %g0, [%r23]
25676sma_1_165:
25677 ta T_CHANGE_NONHPRIV
25678 .word 0xe9e7e013 ! 196: CASA_R casa [%r31] %asi, %r19, %r20
25679splash_tba_1_166:
25680 ta T_CHANGE_PRIV
25681 setx 0x0000000000380000, %r11, %r12
25682 .word 0x8b90000c ! 197: WRPR_TBA_R wrpr %r0, %r12, %tba
25683intveclr_1_167:
25684 nop
25685 ta T_CHANGE_HPRIV
25686 setx 0x20f49274e0a3eb3f, %r1, %r28
25687 stxa %r28, [%g0] 0x72
25688 ta T_CHANGE_NONHPRIV
25689 .word 0x25400001 ! 198: FBPLG fblg,a,pn %fcc0, <label_0x1>
25690fpinit_1_168:
25691 setx fp_data_quads, %r19, %r20
25692 ldd [%r20], %f0
25693 ldd [%r20+8], %f4
25694 ld [%r20+16], %fsr
25695 ld [%r20+24], %r19
25696 wr %r19, %g0, %gsr
25697 .word 0x87a80a44 ! 199: FCMPd fcmpd %fcc<n>, %f0, %f4
25698 .word 0xa1a00171 ! 200: FABSq dis not found
25699
25700trapasi_1_170:
25701 nop
25702 mov 0x20, %r1 ! (VA for ASI 0x4c)
25703 .word 0xe0c84980 ! 201: LDSBA_R ldsba [%r1, %r0] 0x4c, %r16
25704splash_tba_1_171:
25705 ta T_CHANGE_PRIV
25706 setx 0x0000000000380000, %r11, %r12
25707 .word 0x8b90000c ! 202: WRPR_TBA_R wrpr %r0, %r12, %tba
25708 .word 0xe197e128 ! 203: LDQFA_I - [%r31, 0x0128], %f16
25709 .word 0x87802055 ! 204: WRASI_I wr %r0, 0x0055, %asi
25710 .word 0x91454000 ! 205: RD_CLEAR_SOFTINT rd %clear_softint, %r8
25711memptr_1_172:
25712 set 0x60740000, %r31
25713 .word 0x85843336 ! 206: WRCCR_I wr %r16, 0x1336, %ccr
25714splash_cmpr_1_173:
25715 mov 0, %r18
25716 sllx %r18, 63, %r18
25717 rd %tick, %r17
25718 add %r17, 0x60, %r17
25719 or %r17, %r18, %r17
25720 .word 0xaf800011 ! 207: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
25721 .word 0x89800011 ! 208: WRTICK_R wr %r0, %r17, %tick
25722pmu_1_175:
25723 nop
25724 setx 0xfffff460ffffff86, %g1, %g7
25725 .word 0xa3800007 ! 209: WR_PERF_COUNTER_R wr %r0, %r7, %-
25726 nop
25727 ta T_CHANGE_HPRIV
25728 mov 0x1+1, %r10
25729 set sync_thr_counter5, %r23
25730#ifndef SPC
25731 ldxa [%g0]0x63, %o1
25732 and %o1, 0x38, %o1
25733 add %o1, %r23, %r23
25734#endif
25735 cas [%r23],%g0,%r10 !lock
25736 brnz %r10, cwq_1_176
25737 rd %asi, %r12
25738 wr %g0, 0x40, %asi
25739 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
25740 and %l1, 0x3, %l1 ! Check if busy/enabled ..
25741 cmp %l1, 1
25742 bne cwq_1_176
25743 set CWQ_BASE, %l6
25744 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
25745 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
25746 sllx %l2, 32, %l2
25747 stx %l2, [%l6 + 0x0]
25748 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
25749 sub %l2, 0x40, %l2
25750 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
25751 wr %r12, %g0, %asi
25752 st %g0, [%r23]
25753cwq_1_176:
25754 ta T_CHANGE_NONHPRIV
25755 .word 0xa5414000 ! 210: RDPC rd %pc, %r18
25756 .word 0x91d020b4 ! 211: Tcc_I ta icc_or_xcc, %r0 + 180
25757 .word 0x89800011 ! 212: WRTICK_R wr %r0, %r17, %tick
25758 setx vahole_target2, %r18, %r27
25759 .word 0x9bb40492 ! 213: FCMPLE32 fcmple32 %d16, %d18, %r13
25760 .word 0xda8008a0 ! 214: LDUWA_R lduwa [%r0, %r0] 0x45, %r13
25761pmu_1_179:
25762 nop
25763 setx 0xfffff6befffff35b, %g1, %g7
25764 .word 0xa3800007 ! 215: WR_PERF_COUNTER_R wr %r0, %r7, %-
25765brcommon3_1_180:
25766 nop
25767 setx common_target, %r12, %r27
25768 lduw [%r27], %r12 ! Load common dest into dcache ..
25769 ba,a .+12
25770 .word 0xdbe7c034 ! 1: CASA_I casa [%r31] 0x 1, %r20, %r13
25771 ba,a .+8
25772 jmpl %r27+0, %r27
25773 .word 0xdb1fc00b ! 216: LDDF_R ldd [%r31, %r11], %f13
25774trapasi_1_181:
25775 nop
25776 mov 0x3c0, %r1 ! (VA for ASI 0x25)
25777 .word 0xda8844a0 ! 217: LDUBA_R lduba [%r1, %r0] 0x25, %r13
25778pmu_1_182:
25779 nop
25780 setx 0xfffff944fffff7aa, %g1, %g7
25781 .word 0xa3800007 ! 218: WR_PERF_COUNTER_R wr %r0, %r7, %-
25782donret_1_183:
25783 nop
25784 ta T_CHANGE_HPRIV ! macro
25785 rd %pc, %r12
25786 add %r12, (donretarg_1_183-donret_1_183-4), %r12
25787 add %r12, 0x4, %r11
25788 wrpr %g0, 0x1, %tl
25789 wrpr %g0, %r12, %tpc
25790 wrpr %g0, %r11, %tnpc
25791 set (0x00205e9b | (0x89 << 24)), %r13
25792 rdpr %tstate, %r16
25793 mov 0x1f, %r19
25794 and %r19, %r16, %r17
25795 andn %r16, %r19, %r16
25796 or %r16, %r17, %r20
25797 wrpr %r20, %g0, %tstate
25798 wrhpr %g0, 0xe9d, %htstate
25799 ta T_CHANGE_NONPRIV ! rand=0 (1)
25800 .word 0x22cb0001 ! 1: BRZ brz,a,pt %r12,<label_0xb0001>
25801 done
25802donretarg_1_183:
25803 .word 0xda6fe0f9 ! 219: LDSTUB_I ldstub %r13, [%r31 + 0x00f9]
25804 nop
25805 ta T_CHANGE_HPRIV
25806 mov 0x1, %r10
25807 set sync_thr_counter6, %r23
25808#ifndef SPC
25809 ldxa [%g0]0x63, %o1
25810 and %o1, 0x38, %o1
25811 add %o1, %r23, %r23
25812#endif
25813 cas [%r23],%g0,%r10 !lock
25814 brnz %r10, sma_1_184
25815 rd %asi, %r12
25816 wr %g0, 0x40, %asi
25817 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
25818 set 0x00161fff, %g1
25819 stxa %g1, [%g0 + 0x80] %asi
25820 wr %r12, %g0, %asi
25821 st %g0, [%r23]
25822sma_1_184:
25823 ta T_CHANGE_NONHPRIV
25824 .word 0xdbe7e012 ! 220: CASA_R casa [%r31] %asi, %r18, %r13
25825 nop
25826 ta T_CHANGE_HPRIV
25827 mov 0x1+1, %r10
25828 set sync_thr_counter5, %r23
25829#ifndef SPC
25830 ldxa [%g0]0x63, %o1
25831 and %o1, 0x38, %o1
25832 add %o1, %r23, %r23
25833#endif
25834 cas [%r23],%g0,%r10 !lock
25835 brnz %r10, cwq_1_185
25836 rd %asi, %r12
25837 wr %g0, 0x40, %asi
25838 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
25839 and %l1, 0x3, %l1 ! Check if busy/enabled ..
25840 cmp %l1, 1
25841 bne cwq_1_185
25842 set CWQ_BASE, %l6
25843 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
25844 best_set_reg(0x20610050, %l1, %l2) !# Control Word
25845 sllx %l2, 32, %l2
25846 stx %l2, [%l6 + 0x0]
25847 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
25848 sub %l2, 0x40, %l2
25849 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
25850 wr %r12, %g0, %asi
25851 st %g0, [%r23]
25852cwq_1_185:
25853 ta T_CHANGE_NONHPRIV
25854 .word 0x95414000 ! 221: RDPC rd %pc, %r10
25855ibp_1_186:
25856 nop
25857 ta T_CHANGE_NONHPRIV
25858 .word 0xa1a449a8 ! 222: FDIVs fdivs %f17, %f8, %f16
25859 .word 0xe0bfc020 ! 223: STDA_R stda %r16, [%r31 + %r0] 0x01
25860 .word 0x8d903331 ! 224: WRPR_PSTATE_I wrpr %r0, 0x1331, %pstate
25861 .word 0x89800011 ! 225: WRTICK_R wr %r0, %r17, %tick
25862ibp_1_189:
25863 nop
25864 .word 0xc1bfe060 ! 226: STDFA_I stda %f0, [0x0060, %r31]
25865 .word 0xc30fc000 ! 227: LDXFSR_R ld-fsr [%r31, %r0], %f1
25866brcommon3_1_190:
25867 nop
25868 setx common_target, %r12, %r27
25869 lduw [%r27], %r12 ! Load common dest into dcache ..
25870 ba,a .+12
25871 .word 0xe06ff3fd ! 1: LDSTUB_I ldstub %r16, [%r31 + 0xfffff3fd]
25872 ba,a .+8
25873 jmpl %r27+0, %r27
25874 .word 0xc32fc008 ! 228: STXFSR_R st-sfr %f1, [%r8, %r31]
25875 .word 0xa1902003 ! 229: WRPR_GL_I wrpr %r0, 0x0003, %-
25876splash_cmpr_1_191:
25877 mov 0, %r18
25878 sllx %r18, 63, %r18
25879 rd %tick, %r17
25880 add %r17, 0x70, %r17
25881 or %r17, %r18, %r17
25882 ta T_CHANGE_PRIV
25883 .word 0xaf800011 ! 230: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
25884splash_lsu_1_192:
25885 nop
25886 ta T_CHANGE_HPRIV
25887 set 0xcefbd920, %r2
25888 mov 0x7, %r1
25889 sllx %r1, 32, %r1
25890 or %r1, %r2, %r2
25891 stxa %r2, [%r0] ASI_LSU_CONTROL
25892 .word 0x3d400001 ! 231: FBPULE fbule,a,pn %fcc0, <label_0x1>
25893 setx vahole_target3, %r18, %r27
25894 .word 0xa3b207ca ! 232: PDIST pdistn %d8, %d10, %d48
25895jmptr_1_194:
25896 nop
25897 best_set_reg(0xe0200000, %r20, %r27)
25898 .word 0xb7c6c000 ! 233: JMPL_R jmpl %r27 + %r0, %r27
25899dvapa_1_195:
25900 nop
25901 ta T_CHANGE_HPRIV
25902 mov 0xe81, %r20
25903 mov 0x4, %r19
25904 sllx %r20, 23, %r20
25905 or %r19, %r20, %r19
25906 stxa %r19, [%g0] ASI_LSU_CONTROL
25907 mov 0x38, %r18
25908 stxa %r31, [%r18]0x58
25909 ta T_CHANGE_NONHPRIV
25910 .word 0xe3e7e00d ! 234: CASA_R casa [%r31] %asi, %r13, %r17
25911 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
25912reduce_priv_lvl_1_196:
25913 ta T_CHANGE_NONPRIV ! macro
25914 nop
25915 ta T_CHANGE_HPRIV
25916 mov 0x1, %r10
25917 set sync_thr_counter6, %r23
25918#ifndef SPC
25919 ldxa [%g0]0x63, %o1
25920 and %o1, 0x38, %o1
25921 add %o1, %r23, %r23
25922#endif
25923 cas [%r23],%g0,%r10 !lock
25924 brnz %r10, sma_1_197
25925 rd %asi, %r12
25926 wr %g0, 0x40, %asi
25927 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
25928 set 0x000a1fff, %g1
25929 stxa %g1, [%g0 + 0x80] %asi
25930 wr %r12, %g0, %asi
25931 st %g0, [%r23]
25932sma_1_197:
25933 ta T_CHANGE_NONHPRIV
25934 .word 0xe3e7e012 ! 236: CASA_R casa [%r31] %asi, %r18, %r17
25935 nop
25936 ta T_CHANGE_HPRIV
25937 mov 0x1, %r10
25938 set sync_thr_counter6, %r23
25939#ifndef SPC
25940 ldxa [%g0]0x63, %o1
25941 and %o1, 0x38, %o1
25942 add %o1, %r23, %r23
25943#endif
25944 cas [%r23],%g0,%r10 !lock
25945 brnz %r10, sma_1_198
25946 rd %asi, %r12
25947 wr %g0, 0x40, %asi
25948 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
25949 set 0x000a1fff, %g1
25950 stxa %g1, [%g0 + 0x80] %asi
25951 wr %r12, %g0, %asi
25952 st %g0, [%r23]
25953sma_1_198:
25954 ta T_CHANGE_NONHPRIV
25955 .word 0xe3e7e008 ! 237: CASA_R casa [%r31] %asi, %r8, %r17
25956 setx 0x44dc978da8e9382c, %r1, %r28
25957 stxa %r28, [%g0] 0x73
25958intvec_1_199:
25959 .word 0x39400001 ! 238: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
25960brcommon2_1_200:
25961 nop
25962 setx common_target, %r12, %r27
25963 ba,a .+12
25964 .word 0xc36fe2e8 ! 1: PREFETCH_I prefetch [%r31 + 0x02e8], #one_read
25965 ba,a .+8
25966 jmpl %r27+0, %r27
25967 .word 0xe19fd960 ! 239: LDDFA_R ldda [%r31, %r0], %f16
25968 nop
25969 ta T_CHANGE_HPRIV
25970 mov 0x1, %r10
25971 set sync_thr_counter6, %r23
25972#ifndef SPC
25973 ldxa [%g0]0x63, %o1
25974 and %o1, 0x38, %o1
25975 add %o1, %r23, %r23
25976#endif
25977 cas [%r23],%g0,%r10 !lock
25978 brnz %r10, sma_1_201
25979 rd %asi, %r12
25980 wr %g0, 0x40, %asi
25981 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
25982 set 0x00121fff, %g1
25983 stxa %g1, [%g0 + 0x80] %asi
25984 wr %r12, %g0, %asi
25985 st %g0, [%r23]
25986sma_1_201:
25987 ta T_CHANGE_NONHPRIV
25988 .word 0xe3e7e010 ! 240: CASA_R casa [%r31] %asi, %r16, %r17
25989 .word 0x8780208b ! 241: WRASI_I wr %r0, 0x008b, %asi
25990 .word 0xe327c000 ! 242: STF_R st %f17, [%r0, %r31]
25991donret_1_202:
25992 nop
25993 ta T_CHANGE_HPRIV ! macro
25994 rd %pc, %r12
25995 add %r12, (donretarg_1_202-donret_1_202-8), %r12
25996 add %r12, 0x4, %r11
25997 wrpr %g0, 0x2, %tl
25998 wrpr %g0, %r12, %tpc
25999 wrpr %g0, %r11, %tnpc
26000 set (0x0010ff07 | (28 << 24)), %r13
26001 rdpr %tstate, %r16
26002 mov 0x1f, %r19
26003 and %r19, %r16, %r17
26004 andn %r16, %r19, %r16
26005 or %r16, %r17, %r20
26006 wrpr %r20, %g0, %tstate
26007 wrhpr %g0, 0xc5b, %htstate
26008 ta T_CHANGE_NONPRIV ! rand=0 (1)
26009 retry
26010donretarg_1_202:
26011 .word 0xa1a349cd ! 243: FDIVd fdivd %f44, %f44, %f16
26012 .word 0xe0dfe078 ! 244: LDXA_I ldxa [%r31, + 0x0078] %asi, %r16
26013pmu_1_203:
26014 nop
26015 ta T_CHANGE_PRIV
26016 setx 0xfffffdbafffff18b, %g1, %g7
26017 .word 0xa3800007 ! 245: WR_PERF_COUNTER_R wr %r0, %r7, %-
26018change_to_randtl_1_204:
26019 ta T_CHANGE_PRIV ! macro
26020done_change_to_randtl_1_204:
26021 .word 0x8f902000 ! 246: WRPR_TL_I wrpr %r0, 0x0000, %tl
26022pmu_1_205:
26023 nop
26024 ta T_CHANGE_PRIV
26025 setx 0xfffff510fffff0ab, %g1, %g7
26026 .word 0xa3800007 ! 247: WR_PERF_COUNTER_R wr %r0, %r7, %-
26027 nop
26028 ta T_CHANGE_HPRIV
26029 mov 0x1+1, %r10
26030 set sync_thr_counter5, %r23
26031#ifndef SPC
26032 ldxa [%g0]0x63, %o1
26033 and %o1, 0x38, %o1
26034 add %o1, %r23, %r23
26035#endif
26036 cas [%r23],%g0,%r10 !lock
26037 brnz %r10, cwq_1_206
26038 rd %asi, %r12
26039 wr %g0, 0x40, %asi
26040 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
26041 and %l1, 0x3, %l1 ! Check if busy/enabled ..
26042 cmp %l1, 1
26043 bne cwq_1_206
26044 set CWQ_BASE, %l6
26045 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
26046 best_set_reg(0x20610030, %l1, %l2) !# Control Word
26047 sllx %l2, 32, %l2
26048 stx %l2, [%l6 + 0x0]
26049 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
26050 sub %l2, 0x40, %l2
26051 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
26052 wr %r12, %g0, %asi
26053 st %g0, [%r23]
26054cwq_1_206:
26055 ta T_CHANGE_NONHPRIV
26056 .word 0xa5414000 ! 248: RDPC rd %pc, %r18
26057donret_1_207:
26058 nop
26059 ta T_CHANGE_HPRIV ! macro
26060 rd %pc, %r12
26061 add %r12, (donretarg_1_207-donret_1_207-4), %r12
26062 add %r12, 0x4, %r11
26063 wrpr %g0, 0x2, %tl
26064 wrpr %g0, %r12, %tpc
26065 wrpr %g0, %r11, %tnpc
26066 set (0x00edb772 | (32 << 24)), %r13
26067 rdpr %tstate, %r16
26068 mov 0x1f, %r19
26069 and %r19, %r16, %r17
26070 andn %r16, %r19, %r16
26071 or %r16, %r17, %r20
26072 wrpr %r20, %g0, %tstate
26073 wrhpr %g0, 0x151d, %htstate
26074 ta T_CHANGE_NONHPRIV ! rand=1 (1)
26075 done
26076donretarg_1_207:
26077 .word 0x91a0c9c7 ! 249: FDIVd fdivd %f34, %f38, %f8
26078ibp_1_208:
26079 nop
26080 ta T_CHANGE_NONHPRIV
26081 .word 0xa1b307d0 ! 250: PDIST pdistn %d12, %d16, %d16
26082fpinit_1_209:
26083 setx fp_data_quads, %r19, %r20
26084 ldd [%r20], %f0
26085 ldd [%r20+8], %f4
26086 ld [%r20+16], %fsr
26087 ld [%r20+24], %r19
26088 wr %r19, %g0, %gsr
26089 .word 0xc3e82f9f ! 251: PREFETCHA_I prefetcha [%r0, + 0x0f9f] %asi, #one_read
26090change_to_randtl_1_210:
26091 ta T_CHANGE_PRIV ! macro
26092done_change_to_randtl_1_210:
26093 .word 0x8f902000 ! 252: WRPR_TL_I wrpr %r0, 0x0000, %tl
26094 nop
26095 ta T_CHANGE_HPRIV
26096 mov 0x1+1, %r10
26097 set sync_thr_counter5, %r23
26098#ifndef SPC
26099 ldxa [%g0]0x63, %o1
26100 and %o1, 0x38, %o1
26101 add %o1, %r23, %r23
26102#endif
26103 cas [%r23],%g0,%r10 !lock
26104 brnz %r10, cwq_1_211
26105 rd %asi, %r12
26106 wr %g0, 0x40, %asi
26107 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
26108 and %l1, 0x3, %l1 ! Check if busy/enabled ..
26109 cmp %l1, 1
26110 bne cwq_1_211
26111 set CWQ_BASE, %l6
26112 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
26113 best_set_reg(0x206100c0, %l1, %l2) !# Control Word
26114 sllx %l2, 32, %l2
26115 stx %l2, [%l6 + 0x0]
26116 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
26117 sub %l2, 0x40, %l2
26118 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
26119 wr %r12, %g0, %asi
26120 st %g0, [%r23]
26121cwq_1_211:
26122 ta T_CHANGE_NONHPRIV
26123 .word 0xa3414000 ! 253: RDPC rd %pc, %r17
26124memptr_1_212:
26125 set 0x60540000, %r31
26126 .word 0x858266b6 ! 254: WRCCR_I wr %r9, 0x06b6, %ccr
26127dvapa_1_213:
26128 nop
26129 ta T_CHANGE_HPRIV
26130 mov 0xdcb, %r20
26131 mov 0x15, %r19
26132 sllx %r20, 23, %r20
26133 or %r19, %r20, %r19
26134 stxa %r19, [%g0] ASI_LSU_CONTROL
26135 mov 0x38, %r18
26136 stxa %r31, [%r18]0x58
26137 ta T_CHANGE_NONHPRIV
26138 .word 0xa37031b2 ! 255: POPC_I popc 0x11b2, %r17
26139donret_1_214:
26140 nop
26141 ta T_CHANGE_HPRIV ! macro
26142 rd %pc, %r12
26143 add %r12, (donretarg_1_214-donret_1_214-8), %r12
26144 add %r12, 0x4, %r11
26145 wrpr %g0, 0x1, %tl
26146 wrpr %g0, %r12, %tpc
26147 wrpr %g0, %r11, %tnpc
26148 set (0x005a842e | (28 << 24)), %r13
26149 rdpr %tstate, %r16
26150 mov 0x1f, %r19
26151 and %r19, %r16, %r17
26152 andn %r16, %r19, %r16
26153 or %r16, %r17, %r20
26154 wrpr %r20, %g0, %tstate
26155 wrhpr %g0, 0x17c1, %htstate
26156 ta T_CHANGE_NONHPRIV ! rand=1 (1)
26157 retry
26158donretarg_1_214:
26159 .word 0x9ba449d0 ! 256: FDIVd fdivd %f48, %f16, %f44
26160 .word 0xda3fe1e9 ! 257: STD_I std %r13, [%r31 + 0x01e9]
26161dvapa_1_215:
26162 nop
26163 ta T_CHANGE_HPRIV
26164 mov 0xcd5, %r20
26165 mov 0x19, %r19
26166 sllx %r20, 23, %r20
26167 or %r19, %r20, %r19
26168 stxa %r19, [%g0] ASI_LSU_CONTROL
26169 mov 0x38, %r18
26170 stxa %r31, [%r18]0x58
26171 ta T_CHANGE_NONHPRIV
26172 .word 0xda9fc034 ! 258: LDDA_R ldda [%r31, %r20] 0x01, %r13
26173 .word 0xc19fdb60 ! 259: LDDFA_R ldda [%r31, %r0], %f0
26174 nop
26175 ta T_CHANGE_HPRIV
26176 mov 0x1, %r10
26177 set sync_thr_counter6, %r23
26178#ifndef SPC
26179 ldxa [%g0]0x63, %o1
26180 and %o1, 0x38, %o1
26181 add %o1, %r23, %r23
26182#endif
26183 cas [%r23],%g0,%r10 !lock
26184 brnz %r10, sma_1_216
26185 rd %asi, %r12
26186 wr %g0, 0x40, %asi
26187 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
26188 set 0x00021fff, %g1
26189 stxa %g1, [%g0 + 0x80] %asi
26190 wr %r12, %g0, %asi
26191 st %g0, [%r23]
26192sma_1_216:
26193 ta T_CHANGE_NONHPRIV
26194 .word 0xdbe7e014 ! 260: CASA_R casa [%r31] %asi, %r20, %r13
26195pmu_1_217:
26196 nop
26197 ta T_CHANGE_PRIV
26198 setx 0xffffff8efffff6bf, %g1, %g7
26199 .word 0xa3800007 ! 261: WR_PERF_COUNTER_R wr %r0, %r7, %-
26200 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
26201reduce_priv_lvl_1_218:
26202 ta T_CHANGE_NONHPRIV ! macro
26203pmu_1_219:
26204 nop
26205 ta T_CHANGE_PRIV
26206 setx 0xfffff382fffff579, %g1, %g7
26207 .word 0xa3800007 ! 263: WR_PERF_COUNTER_R wr %r0, %r7, %-
26208pmu_1_220:
26209 nop
26210 setx 0xfffff6befffff121, %g1, %g7
26211 .word 0xa3800007 ! 264: WR_PERF_COUNTER_R wr %r0, %r7, %-
26212 setx 0xd93e0e5c37dbe63c, %r1, %r28
26213 stxa %r28, [%g0] 0x73
26214intvec_1_221:
26215 .word 0x39400001 ! 265: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
26216splash_lsu_1_222:
26217 nop
26218 ta T_CHANGE_HPRIV
26219 set 0x7e4b3ff9, %r2
26220 mov 0x3, %r1
26221 sllx %r1, 32, %r1
26222 or %r1, %r2, %r2
26223 stxa %r2, [%r0] ASI_LSU_CONTROL
26224 ta T_CHANGE_NONHPRIV
26225 .word 0x3d400001 ! 266: FBPULE fbule,a,pn %fcc0, <label_0x1>
26226ibp_1_223:
26227 nop
26228 ta T_CHANGE_NONHPRIV
26229 .word 0xc1bfe0c0 ! 267: STDFA_I stda %f0, [0x00c0, %r31]
26230mondo_1_224:
26231 nop
26232 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
26233 ta T_CHANGE_PRIV
26234 stxa %r9, [%r0+0x3c8] %asi
26235 .word 0x9d930011 ! 268: WRPR_WSTATE_R wrpr %r12, %r17, %wstate
26236donret_1_225:
26237 nop
26238 ta T_CHANGE_HPRIV ! macro
26239 rd %pc, %r12
26240 add %r12, (donretarg_1_225-donret_1_225-4), %r12
26241 add %r12, 0x4, %r11
26242 wrpr %g0, 0x1, %tl
26243 wrpr %g0, %r12, %tpc
26244 wrpr %g0, %r11, %tnpc
26245 set (0x004cfe37 | (0x89 << 24)), %r13
26246 rdpr %tstate, %r16
26247 mov 0x1f, %r19
26248 and %r19, %r16, %r17
26249 andn %r16, %r19, %r16
26250 or %r16, %r17, %r20
26251 wrpr %r20, %g0, %tstate
26252 wrhpr %g0, 0x14cf, %htstate
26253 ta T_CHANGE_NONPRIV ! rand=0 (1)
26254 .word 0x3d400001 ! 1: FBPULE fbule,a,pn %fcc0, <label_0x1>
26255 done
26256donretarg_1_225:
26257 .word 0xda6fe148 ! 269: LDSTUB_I ldstub %r13, [%r31 + 0x0148]
26258#if (defined SPC || defined CMP)
26259!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_1_226) + 0, 16, 16)) -> intp(7,0,6)
26260!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_1_226)&0xffffffff) + 0, 16, 16)) -> intp(7,0,6)
26261#else
26262 setx 0x219c6a2b36f7f6fc, %r1, %r28
26263 stxa %r28, [%g0] 0x73
26264#endif
26265intvec_1_226:
26266 .word 0x39400001 ! 270: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
26267 .word 0x89800011 ! 271: WRTICK_R wr %r0, %r17, %tick
26268 .word 0xda9fe028 ! 272: LDDA_I ldda [%r31, + 0x0028] %asi, %r13
26269intveclr_1_228:
26270 nop
26271 ta T_CHANGE_HPRIV
26272 setx 0x4eea47c89fbd7686, %r1, %r28
26273 stxa %r28, [%g0] 0x72
26274 .word 0x25400001 ! 273: FBPLG fblg,a,pn %fcc0, <label_0x1>
26275dvapa_1_229:
26276 nop
26277 ta T_CHANGE_HPRIV
26278 mov 0xd0c, %r20
26279 mov 0x1c, %r19
26280 sllx %r20, 23, %r20
26281 or %r19, %r20, %r19
26282 stxa %r19, [%g0] ASI_LSU_CONTROL
26283 mov 0x38, %r18
26284 stxa %r31, [%r18]0x58
26285 ta T_CHANGE_NONHPRIV
26286 .word 0x9f80312b ! 274: SIR sir 0x112b
26287 .word 0x81b01021 ! 275: SIAM siam 1
26288splash_hpstate_1_230:
26289 .word 0x81983e61 ! 276: WRHPR_HPSTATE_I wrhpr %r0, 0x1e61, %hpstate
26290 .word 0xe4800ba0 ! 277: LDUWA_R lduwa [%r0, %r0] 0x5d, %r18
26291 nop
26292 ta T_CHANGE_HPRIV
26293 mov 0x1, %r10
26294 set sync_thr_counter6, %r23
26295#ifndef SPC
26296 ldxa [%g0]0x63, %o1
26297 and %o1, 0x38, %o1
26298 add %o1, %r23, %r23
26299#endif
26300 cas [%r23],%g0,%r10 !lock
26301 brnz %r10, sma_1_231
26302 rd %asi, %r12
26303 wr %g0, 0x40, %asi
26304 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
26305 set 0x00021fff, %g1
26306 stxa %g1, [%g0 + 0x80] %asi
26307 wr %r12, %g0, %asi
26308 st %g0, [%r23]
26309sma_1_231:
26310 ta T_CHANGE_NONHPRIV
26311 .word 0xe5e7e012 ! 278: CASA_R casa [%r31] %asi, %r18, %r18
26312 invalw
26313 mov 0x35, %r30
26314 .word 0x91d0001e ! 279: Tcc_R ta icc_or_xcc, %r0 + %r30
26315brcommon2_1_232:
26316 nop
26317 setx common_target, %r12, %r27
26318 ba,a .+12
26319 .word 0x81dfc00d ! 1: FLUSH_R flush
26320 ba,a .+8
26321 jmpl %r27+0, %r27
26322 .word 0xc19fda00 ! 280: LDDFA_R ldda [%r31, %r0], %f0
26323 setx vahole_target0, %r18, %r27
26324 .word 0xe19fdb60 ! 281: LDDFA_R ldda [%r31, %r0], %f16
26325 nop
26326 ta T_CHANGE_HPRIV
26327 mov 0x1, %r10
26328 set sync_thr_counter6, %r23
26329#ifndef SPC
26330 ldxa [%g0]0x63, %o1
26331 and %o1, 0x38, %o1
26332 add %o1, %r23, %r23
26333#endif
26334 cas [%r23],%g0,%r10 !lock
26335 brnz %r10, sma_1_234
26336 rd %asi, %r12
26337 wr %g0, 0x40, %asi
26338 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
26339 set 0x00121fff, %g1
26340 stxa %g1, [%g0 + 0x80] %asi
26341 wr %r12, %g0, %asi
26342 st %g0, [%r23]
26343sma_1_234:
26344 ta T_CHANGE_NONHPRIV
26345 .word 0xd9e7e00b ! 282: CASA_R casa [%r31] %asi, %r11, %r12
26346splash_lsu_1_235:
26347 nop
26348 ta T_CHANGE_HPRIV
26349 set 0x3650aecd, %r2
26350 mov 0x4, %r1
26351 sllx %r1, 32, %r1
26352 or %r1, %r2, %r2
26353 stxa %r2, [%r0] ASI_LSU_CONTROL
26354 ta T_CHANGE_NONHPRIV
26355 .word 0x3d400001 ! 283: FBPULE fbule,a,pn %fcc0, <label_0x1>
26356 .word 0xe1bfde00 ! 284: STDFA_R stda %f16, [%r0, %r31]
26357 .word 0x8d903efd ! 285: WRPR_PSTATE_I wrpr %r0, 0x1efd, %pstate
26358memptr_1_237:
26359 set user_data_start, %r31
26360 .word 0x8583278a ! 286: WRCCR_I wr %r12, 0x078a, %ccr
26361memptr_1_238:
26362 set 0x60140000, %r31
26363 .word 0x8584bd4f ! 287: WRCCR_I wr %r18, 0x1d4f, %ccr
26364splash_decr_1_239:
26365 nop
26366 ta T_CHANGE_HPRIV
26367 mov 8, %r1
26368 stxa %r8, [%r1] 0x45
26369 .word 0xa784c014 ! 288: WR_GRAPHICS_STATUS_REG_R wr %r19, %r20, %-
26370 .word 0x95b484d0 ! 289: FCMPNE32 fcmpne32 %d18, %d16, %r10
26371intveclr_1_241:
26372 nop
26373 ta T_CHANGE_HPRIV
26374 setx 0x674c1790f7e0ecb5, %r1, %r28
26375 stxa %r28, [%g0] 0x72
26376 ta T_CHANGE_NONHPRIV
26377 .word 0x25400001 ! 290: FBPLG fblg,a,pn %fcc0, <label_0x1>
26378 nop
26379 ta T_CHANGE_HPRIV
26380 mov 0x1, %r10
26381 set sync_thr_counter6, %r23
26382#ifndef SPC
26383 ldxa [%g0]0x63, %o1
26384 and %o1, 0x38, %o1
26385 add %o1, %r23, %r23
26386#endif
26387 cas [%r23],%g0,%r10 !lock
26388 brnz %r10, sma_1_242
26389 rd %asi, %r12
26390 wr %g0, 0x40, %asi
26391 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
26392 set 0x00061fff, %g1
26393 stxa %g1, [%g0 + 0x80] %asi
26394 wr %r12, %g0, %asi
26395 st %g0, [%r23]
26396sma_1_242:
26397 ta T_CHANGE_NONHPRIV
26398 .word 0xd5e7e013 ! 291: CASA_R casa [%r31] %asi, %r19, %r10
26399 .word 0x8d802004 ! 292: WRFPRS_I wr %r0, 0x0004, %fprs
26400pmu_1_243:
26401 nop
26402 setx 0xfffff3e0fffffe61, %g1, %g7
26403 .word 0xa3800007 ! 293: WR_PERF_COUNTER_R wr %r0, %r7, %-
26404#if (defined SPC || defined CMP)
26405!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_1_244) + 0, 16, 16)) -> intp(7,0,25)
26406!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_1_244)&0xffffffff) + 0, 16, 16)) -> intp(7,0,25)
26407#else
26408 setx 0x650c8fdea0709e40, %r1, %r28
26409 stxa %r28, [%g0] 0x73
26410#endif
26411intvec_1_244:
26412 .word 0x39400001 ! 294: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
26413 .word 0x8d802004 ! 295: WRFPRS_I wr %r0, 0x0004, %fprs
26414mondo_1_245:
26415 nop
26416 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
26417 stxa %r1, [%r0+0x3e8] %asi
26418 .word 0x9d940008 ! 296: WRPR_WSTATE_R wrpr %r16, %r8, %wstate
26419 .word 0x95524000 ! 297: RDPR_CWP <illegal instruction>
26420pmu_1_247:
26421 nop
26422 setx 0xfffffdfdfffffd33, %g1, %g7
26423 .word 0xa3800007 ! 298: WR_PERF_COUNTER_R wr %r0, %r7, %-
26424br_longdelay3_1_248:
26425 nop
26426 not %g0, %r12
26427 jmp %r12
26428 .word 0x99902004 ! 299: WRPR_CLEANWIN_I wrpr %r0, 0x0004, %cleanwin
26429 setx 0x6628bfac33066296, %r1, %r28
26430 stxa %r28, [%g0] 0x73
26431intvec_1_249:
26432 .word 0x39400001 ! 300: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
26433 .word 0x97b204c7 ! 301: FCMPNE32 fcmpne32 %d8, %d38, %r11
26434ibp_1_251:
26435 nop
26436 .word 0xc1bfe1c0 ! 302: STDFA_I stda %f0, [0x01c0, %r31]
26437dvapa_1_252:
26438 nop
26439 ta T_CHANGE_HPRIV
26440 mov 0xa2c, %r20
26441 mov 0x11, %r19
26442 sllx %r20, 23, %r20
26443 or %r19, %r20, %r19
26444 stxa %r19, [%g0] ASI_LSU_CONTROL
26445 mov 0x38, %r18
26446 stxa %r31, [%r18]0x58
26447 ta T_CHANGE_NONHPRIV
26448 .word 0x9f803e03 ! 303: SIR sir 0x1e03
26449 nop
26450 ta T_CHANGE_HPRIV
26451 mov 0x1+1, %r10
26452 set sync_thr_counter5, %r23
26453#ifndef SPC
26454 ldxa [%g0]0x63, %o1
26455 and %o1, 0x38, %o1
26456 add %o1, %r23, %r23
26457#endif
26458 cas [%r23],%g0,%r10 !lock
26459 brnz %r10, cwq_1_253
26460 rd %asi, %r12
26461 wr %g0, 0x40, %asi
26462 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
26463 and %l1, 0x3, %l1 ! Check if busy/enabled ..
26464 cmp %l1, 1
26465 bne cwq_1_253
26466 set CWQ_BASE, %l6
26467 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
26468 best_set_reg(0x20610040, %l1, %l2) !# Control Word
26469 sllx %l2, 32, %l2
26470 stx %l2, [%l6 + 0x0]
26471 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
26472 sub %l2, 0x40, %l2
26473 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
26474 wr %r12, %g0, %asi
26475 st %g0, [%r23]
26476cwq_1_253:
26477 ta T_CHANGE_NONHPRIV
26478 .word 0xa9414000 ! 304: RDPC rd %pc, %r20
26479pmu_1_254:
26480 nop
26481 setx 0xfffffcd9fffff5ad, %g1, %g7
26482 .word 0xa3800007 ! 305: WR_PERF_COUNTER_R wr %r0, %r7, %-
26483jmptr_1_255:
26484 nop
26485 best_set_reg(0xe0200000, %r20, %r27)
26486 .word 0xb7c6c000 ! 306: JMPL_R jmpl %r27 + %r0, %r27
26487 nop
26488 ta T_CHANGE_HPRIV
26489 mov 0x1+1, %r10
26490 set sync_thr_counter5, %r23
26491#ifndef SPC
26492 ldxa [%g0]0x63, %o1
26493 and %o1, 0x38, %o1
26494 add %o1, %r23, %r23
26495#endif
26496 cas [%r23],%g0,%r10 !lock
26497 brnz %r10, cwq_1_256
26498 rd %asi, %r12
26499 wr %g0, 0x40, %asi
26500 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
26501 and %l1, 0x3, %l1 ! Check if busy/enabled ..
26502 cmp %l1, 1
26503 bne cwq_1_256
26504 set CWQ_BASE, %l6
26505 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
26506 best_set_reg(0x20610030, %l1, %l2) !# Control Word
26507 sllx %l2, 32, %l2
26508 stx %l2, [%l6 + 0x0]
26509 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
26510 sub %l2, 0x40, %l2
26511 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
26512 wr %r12, %g0, %asi
26513 st %g0, [%r23]
26514cwq_1_256:
26515 ta T_CHANGE_NONHPRIV
26516 .word 0xa1414000 ! 307: RDPC rd %pc, %r16
26517splash_hpstate_1_257:
26518 ta T_CHANGE_NONHPRIV
26519 .word 0x81983443 ! 308: WRHPR_HPSTATE_I wrhpr %r0, 0x1443, %hpstate
26520 .word 0xe077c000 ! 309: STX_R stx %r16, [%r31 + %r0]
26521 .word 0xa1a0016d ! 310: FABSq dis not found
26522
26523 .word 0x93d02034 ! 311: Tcc_I tne icc_or_xcc, %r0 + 52
26524intveclr_1_259:
26525 nop
26526 ta T_CHANGE_HPRIV
26527 setx 0xc42d4d08a264c39e, %r1, %r28
26528 stxa %r28, [%g0] 0x72
26529 .word 0x25400001 ! 312: FBPLG fblg,a,pn %fcc0, <label_0x1>
26530ibp_1_260:
26531 nop
26532 .word 0xe1bfe180 ! 313: STDFA_I stda %f16, [0x0180, %r31]
26533jmptr_1_261:
26534 nop
26535 best_set_reg(0xe0200000, %r20, %r27)
26536 .word 0xb7c6c000 ! 314: JMPL_R jmpl %r27 + %r0, %r27
26537mondo_1_262:
26538 nop
26539 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
26540 stxa %r8, [%r0+0x3e0] %asi
26541 .word 0x9d948014 ! 315: WRPR_WSTATE_R wrpr %r18, %r20, %wstate
26542ibp_1_263:
26543 nop
26544 .word 0xe19fc3e0 ! 316: LDDFA_R ldda [%r31, %r0], %f16
26545 .word 0xe127e163 ! 317: STF_I st %f16, [0x0163, %r31]
26546 .word 0xe04fc000 ! 318: LDSB_R ldsb [%r31 + %r0], %r16
26547ibp_1_264:
26548 nop
26549 ta T_CHANGE_NONHPRIV
26550 .word 0xe0bfc029 ! 319: STDA_R stda %r16, [%r31 + %r9] 0x01
26551 .word 0xe19fdf20 ! 320: LDDFA_R ldda [%r31, %r0], %f16
26552 setx vahole_target1, %r18, %r27
26553 .word 0xc1bfe0e0 ! 321: STDFA_I stda %f0, [0x00e0, %r31]
26554intveclr_1_267:
26555 nop
26556 ta T_CHANGE_HPRIV
26557 setx 0x67c43148f2c1e0a2, %r1, %r28
26558 stxa %r28, [%g0] 0x72
26559 .word 0x25400001 ! 322: FBPLG fblg,a,pn %fcc0, <label_0x1>
26560pmu_1_268:
26561 nop
26562 setx 0xfffffd6dfffff388, %g1, %g7
26563 .word 0xa3800007 ! 323: WR_PERF_COUNTER_R wr %r0, %r7, %-
26564 .word 0x99a000d0 ! 324: FNEGd fnegd %f16, %f12
26565intveclr_1_269:
26566 nop
26567 ta T_CHANGE_HPRIV
26568 setx 0x95a21e7d2d7f21dc, %r1, %r28
26569 stxa %r28, [%g0] 0x72
26570 .word 0x25400001 ! 325: FBPLG fblg,a,pn %fcc0, <label_0x1>
26571tagged_1_270:
26572 tsubcctv %r17, 0x13d2, %r16
26573 .word 0xd807e072 ! 326: LDUW_I lduw [%r31 + 0x0072], %r12
26574 setx 0xfb24db1c4a0b1b96, %r1, %r28
26575 stxa %r28, [%g0] 0x73
26576intvec_1_271:
26577 .word 0x39400001 ! 327: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
26578brcommon2_1_272:
26579 nop
26580 setx common_target, %r12, %r27
26581 ba,a .+12
26582 .word 0x9f803e03 ! 1: SIR sir 0x1e03
26583 ba,a .+8
26584 jmpl %r27+0, %r27
26585 .word 0xc1bfe1a0 ! 328: STDFA_I stda %f0, [0x01a0, %r31]
26586 nop
26587 ta T_CHANGE_HPRIV
26588 mov 0x1, %r10
26589 set sync_thr_counter6, %r23
26590#ifndef SPC
26591 ldxa [%g0]0x63, %o1
26592 and %o1, 0x38, %o1
26593 add %o1, %r23, %r23
26594#endif
26595 cas [%r23],%g0,%r10 !lock
26596 brnz %r10, sma_1_273
26597 rd %asi, %r12
26598 wr %g0, 0x40, %asi
26599 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
26600 set 0x00161fff, %g1
26601 stxa %g1, [%g0 + 0x80] %asi
26602 wr %r12, %g0, %asi
26603 st %g0, [%r23]
26604sma_1_273:
26605 ta T_CHANGE_NONHPRIV
26606 .word 0xd5e7e00a ! 329: CASA_R casa [%r31] %asi, %r10, %r10
26607dvapa_1_274:
26608 nop
26609 ta T_CHANGE_HPRIV
26610 mov 0xf90, %r20
26611 mov 0x15, %r19
26612 sllx %r20, 23, %r20
26613 or %r19, %r20, %r19
26614 stxa %r19, [%g0] ASI_LSU_CONTROL
26615 mov 0x38, %r18
26616 stxa %r31, [%r18]0x58
26617 ta T_CHANGE_NONHPRIV
26618 .word 0x93b40482 ! 330: FCMPLE32 fcmple32 %d16, %d2, %r9
26619 setx vahole_target3, %r18, %r27
26620 .word 0xa7b14491 ! 331: FCMPLE32 fcmple32 %d36, %d48, %r19
26621dvapa_1_276:
26622 nop
26623 ta T_CHANGE_HPRIV
26624 mov 0xc56, %r20
26625 mov 0x13, %r19
26626 sllx %r20, 23, %r20
26627 or %r19, %r20, %r19
26628 stxa %r19, [%g0] ASI_LSU_CONTROL
26629 mov 0x38, %r18
26630 stxa %r31, [%r18]0x58
26631 ta T_CHANGE_NONHPRIV
26632 .word 0xc19fc3e0 ! 332: LDDFA_R ldda [%r31, %r0], %f0
26633splash_cmpr_1_277:
26634 mov 1, %r18
26635 sllx %r18, 63, %r18
26636 rd %tick, %r17
26637 add %r17, 0x70, %r17
26638 or %r17, %r18, %r17
26639 ta T_CHANGE_PRIV
26640 .word 0xb3800011 ! 333: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
26641 .word 0xa1520000 ! 334: RDPR_PIL <illegal instruction>
26642splash_cmpr_1_278:
26643 mov 0, %r18
26644 sllx %r18, 63, %r18
26645 rd %tick, %r17
26646 add %r17, 0x60, %r17
26647 or %r17, %r18, %r17
26648 ta T_CHANGE_PRIV
26649 .word 0xb3800011 ! 335: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
26650 .word 0xa1702453 ! 336: POPC_I popc 0x0453, %r16
26651 setx vahole_target1, %r18, %r27
26652 .word 0xa5a149a1 ! 337: FDIVs fdivs %f5, %f1, %f18
26653jmptr_1_280:
26654 nop
26655 best_set_reg(0xe1200000, %r20, %r27)
26656 .word 0xb7c6c000 ! 338: JMPL_R jmpl %r27 + %r0, %r27
26657 .word 0x8d9030e4 ! 339: WRPR_PSTATE_I wrpr %r0, 0x10e4, %pstate
26658ceter_1_282:
26659 nop
26660 ta T_CHANGE_HPRIV
26661 mov 6, %r17
26662 sllx %r17, 60, %r17
26663 mov 0x18, %r16
26664 stxa %r17, [%r16]0x4c
26665 .word 0xa3410000 ! 340: RDTICK rd %tick, %r17
26666 .word 0x99b407cb ! 341: PDIST pdistn %d16, %d42, %d12
26667 .word 0xd847e0f0 ! 342: LDSW_I ldsw [%r31 + 0x00f0], %r12
26668 .word 0x91948010 ! 343: WRPR_PIL_R wrpr %r18, %r16, %pil
26669 .word 0xd837e000 ! 344: STH_I sth %r12, [%r31 + 0x0000]
26670ibp_1_285:
26671 nop
26672 .word 0x93b247d1 ! 345: PDIST pdistn %d40, %d48, %d40
26673 .word 0x39400001 ! 346: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
26674 .word 0xd337e180 ! 347: STQF_I - %f9, [0x0180, %r31]
26675donret_1_287:
26676 nop
26677 ta T_CHANGE_HPRIV ! macro
26678 rd %pc, %r12
26679 add %r12, (donretarg_1_287-donret_1_287-4), %r12
26680 add %r12, 0x4, %r11
26681 wrpr %g0, 0x2, %tl
26682 wrpr %g0, %r12, %tpc
26683 wrpr %g0, %r11, %tnpc
26684 set (0x00ecc846 | (0x83 << 24)), %r13
26685 rdpr %tstate, %r16
26686 mov 0x1f, %r19
26687 and %r19, %r16, %r17
26688 andn %r16, %r19, %r16
26689 or %r16, %r17, %r20
26690 wrpr %r20, %g0, %tstate
26691 wrhpr %g0, 0x27e, %htstate
26692 ta T_CHANGE_NONHPRIV ! rand=1 (1)
26693 .word 0x2b400001 ! 1: FBPUG fbug,a,pn %fcc0, <label_0x1>
26694 done
26695donretarg_1_287:
26696 .word 0xd2ffe129 ! 348: SWAPA_I swapa %r9, [%r31 + 0x0129] %asi
26697 .word 0xd2800c20 ! 349: LDUWA_R lduwa [%r0, %r0] 0x61, %r9
26698 .word 0x8d802004 ! 350: WRFPRS_I wr %r0, 0x0004, %fprs
26699dvapa_1_288:
26700 nop
26701 ta T_CHANGE_HPRIV
26702 mov 0x90f, %r20
26703 mov 0xe, %r19
26704 sllx %r20, 23, %r20
26705 or %r19, %r20, %r19
26706 stxa %r19, [%g0] ASI_LSU_CONTROL
26707 mov 0x38, %r18
26708 stxa %r31, [%r18]0x58
26709 ta T_CHANGE_NONHPRIV
26710 .word 0xd29fc02a ! 351: LDDA_R ldda [%r31, %r10] 0x01, %r9
26711 .word 0x99a0016c ! 352: FABSq dis not found
26712
26713 .word 0xe1bfe0c0 ! 353: STDFA_I stda %f16, [0x00c0, %r31]
26714brcommon2_1_291:
26715 nop
26716 setx common_target, %r12, %r27
26717 ba,a .+12
26718 .word 0x81dfc008 ! 1: FLUSH_R flush
26719 ba,a .+8
26720 jmpl %r27+0, %r27
26721 .word 0xc19fdb60 ! 354: LDDFA_R ldda [%r31, %r0], %f0
26722donret_1_292:
26723 nop
26724 ta T_CHANGE_HPRIV ! macro
26725 rd %pc, %r12
26726 add %r12, (donretarg_1_292-donret_1_292-8), %r12
26727 add %r12, 0x4, %r11
26728 wrpr %g0, 0x1, %tl
26729 wrpr %g0, %r12, %tpc
26730 wrpr %g0, %r11, %tnpc
26731 set (0x00342008 | (22 << 24)), %r13
26732 rdpr %tstate, %r16
26733 mov 0x1f, %r19
26734 and %r19, %r16, %r17
26735 andn %r16, %r19, %r16
26736 or %r16, %r17, %r20
26737 wrpr %r20, %g0, %tstate
26738 wrhpr %g0, 0xe84, %htstate
26739 ta T_CHANGE_NONHPRIV ! rand=1 (1)
26740 retry
26741donretarg_1_292:
26742 .word 0xa5a349d3 ! 355: FDIVd fdivd %f44, %f50, %f18
26743pmu_1_293:
26744 nop
26745 setx 0xfffff3e0fffff055, %g1, %g7
26746 .word 0xa3800007 ! 356: WR_PERF_COUNTER_R wr %r0, %r7, %-
26747donret_1_294:
26748 nop
26749 ta T_CHANGE_HPRIV ! macro
26750 rd %pc, %r12
26751 add %r12, (donretarg_1_294-donret_1_294-8), %r12
26752 add %r12, 0x4, %r11
26753 wrpr %g0, 0x2, %tl
26754 wrpr %g0, %r12, %tpc
26755 wrpr %g0, %r11, %tnpc
26756 set (0x00ee30d2 | (0x8a << 24)), %r13
26757 rdpr %tstate, %r16
26758 mov 0x1f, %r19
26759 and %r19, %r16, %r17
26760 andn %r16, %r19, %r16
26761 or %r16, %r17, %r20
26762 wrpr %r20, %g0, %tstate
26763 wrhpr %g0, 0x1e0d, %htstate
26764 ta T_CHANGE_NONHPRIV ! rand=1 (1)
26765 retry
26766donretarg_1_294:
26767 .word 0xe46fe1a6 ! 357: LDSTUB_I ldstub %r18, [%r31 + 0x01a6]
26768 nop
26769 ta T_CHANGE_HPRIV
26770 mov 0x1, %r10
26771 set sync_thr_counter6, %r23
26772#ifndef SPC
26773 ldxa [%g0]0x63, %o1
26774 and %o1, 0x38, %o1
26775 add %o1, %r23, %r23
26776#endif
26777 cas [%r23],%g0,%r10 !lock
26778 brnz %r10, sma_1_295
26779 rd %asi, %r12
26780 wr %g0, 0x40, %asi
26781 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
26782 set 0x001e1fff, %g1
26783 stxa %g1, [%g0 + 0x80] %asi
26784 wr %r12, %g0, %asi
26785 st %g0, [%r23]
26786sma_1_295:
26787 ta T_CHANGE_NONHPRIV
26788 .word 0xe5e7e00a ! 358: CASA_R casa [%r31] %asi, %r10, %r18
26789 .word 0x22800001 ! 359: BE be,a <label_0x1>
26790 nop
26791 ta T_CHANGE_HPRIV
26792 mov 0x1+1, %r10
26793 set sync_thr_counter5, %r23
26794#ifndef SPC
26795 ldxa [%g0]0x63, %o1
26796 and %o1, 0x38, %o1
26797 add %o1, %r23, %r23
26798#endif
26799 cas [%r23],%g0,%r10 !lock
26800 brnz %r10, cwq_1_296
26801 rd %asi, %r12
26802 wr %g0, 0x40, %asi
26803 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
26804 and %l1, 0x3, %l1 ! Check if busy/enabled ..
26805 cmp %l1, 1
26806 bne cwq_1_296
26807 set CWQ_BASE, %l6
26808 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
26809 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
26810 sllx %l2, 32, %l2
26811 stx %l2, [%l6 + 0x0]
26812 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
26813 sub %l2, 0x40, %l2
26814 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
26815 wr %r12, %g0, %asi
26816 st %g0, [%r23]
26817cwq_1_296:
26818 ta T_CHANGE_NONHPRIV
26819 .word 0x9b414000 ! 360: RDPC rd %pc, %r13
26820splash_cmpr_1_297:
26821 mov 1, %r18
26822 sllx %r18, 63, %r18
26823 rd %tick, %r17
26824 add %r17, 0x80, %r17
26825 or %r17, %r18, %r17
26826 ta T_CHANGE_PRIV
26827 .word 0xaf800011 ! 361: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
26828mondo_1_298:
26829 nop
26830 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
26831 ta T_CHANGE_PRIV
26832 stxa %r19, [%r0+0x3d0] %asi
26833 .word 0x9d948011 ! 362: WRPR_WSTATE_R wrpr %r18, %r17, %wstate
26834brcommon3_1_299:
26835 nop
26836 setx common_target, %r12, %r27
26837 lduw [%r27], %r12 ! Load common dest into dcache ..
26838 ba,a .+12
26839 .word 0xdb37c00d ! 1: STQF_R - %f13, [%r13, %r31]
26840 ba,a .+8
26841 jmpl %r27+0, %r27
26842 .word 0xdadfc034 ! 363: LDXA_R ldxa [%r31, %r20] 0x01, %r13
26843intveclr_1_300:
26844 nop
26845 ta T_CHANGE_HPRIV
26846 setx 0xd815fae1e64c041e, %r1, %r28
26847 stxa %r28, [%g0] 0x72
26848 ta T_CHANGE_NONHPRIV
26849 .word 0x25400001 ! 364: FBPLG fblg,a,pn %fcc0, <label_0x1>
26850 .word 0x89800011 ! 365: WRTICK_R wr %r0, %r17, %tick
26851splash_lsu_1_302:
26852 nop
26853 ta T_CHANGE_HPRIV
26854 set 0x3098617a, %r2
26855 mov 0x1, %r1
26856 sllx %r1, 32, %r1
26857 or %r1, %r2, %r2
26858 stxa %r2, [%r0] ASI_LSU_CONTROL
26859 .word 0x3d400001 ! 366: FBPULE fbule,a,pn %fcc0, <label_0x1>
26860 nop
26861 ta T_CHANGE_HPRIV
26862 mov 0x1+1, %r10
26863 set sync_thr_counter5, %r23
26864#ifndef SPC
26865 ldxa [%g0]0x63, %o1
26866 and %o1, 0x38, %o1
26867 add %o1, %r23, %r23
26868#endif
26869 cas [%r23],%g0,%r10 !lock
26870 brnz %r10, cwq_1_303
26871 rd %asi, %r12
26872 wr %g0, 0x40, %asi
26873 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
26874 and %l1, 0x3, %l1 ! Check if busy/enabled ..
26875 cmp %l1, 1
26876 bne cwq_1_303
26877 set CWQ_BASE, %l6
26878 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
26879 best_set_reg(0x206100f0, %l1, %l2) !# Control Word
26880 sllx %l2, 32, %l2
26881 stx %l2, [%l6 + 0x0]
26882 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
26883 sub %l2, 0x40, %l2
26884 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
26885 wr %r12, %g0, %asi
26886 st %g0, [%r23]
26887cwq_1_303:
26888 ta T_CHANGE_NONHPRIV
26889 .word 0xa5414000 ! 367: RDPC rd %pc, %r18
26890 set 0xb5e, %l3
26891 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
26892 .word 0xa7b487d1 ! 368: PDIST pdistn %d18, %d48, %d50
26893splash_lsu_1_304:
26894 nop
26895 ta T_CHANGE_HPRIV
26896 set 0x4995574a, %r2
26897 mov 0x2, %r1
26898 sllx %r1, 32, %r1
26899 or %r1, %r2, %r2
26900 stxa %r2, [%r0] ASI_LSU_CONTROL
26901 ta T_CHANGE_NONHPRIV
26902 .word 0x3d400001 ! 369: FBPULE fbule,a,pn %fcc0, <label_0x1>
26903br_longdelay4_1_305:
26904 nop
26905 not %g0, %r12
26906 jmp %r12
26907 .word 0x9d902003 ! 370: WRPR_WSTATE_I wrpr %r0, 0x0003, %wstate
26908dvapa_1_306:
26909 nop
26910 ta T_CHANGE_HPRIV
26911 mov 0xb72, %r20
26912 mov 0x1c, %r19
26913 sllx %r20, 23, %r20
26914 or %r19, %r20, %r19
26915 stxa %r19, [%g0] ASI_LSU_CONTROL
26916 mov 0x38, %r18
26917 stxa %r31, [%r18]0x58
26918 ta T_CHANGE_NONHPRIV
26919 .word 0xc3ec8034 ! 371: PREFETCHA_R prefetcha [%r18, %r20] 0x01, #one_read
26920pmu_1_307:
26921 nop
26922 setx 0xfffff8f5fffffeb9, %g1, %g7
26923 .word 0xa3800007 ! 372: WR_PERF_COUNTER_R wr %r0, %r7, %-
26924pmu_1_308:
26925 nop
26926 setx 0xfffffa82fffff89f, %g1, %g7
26927 .word 0xa3800007 ! 373: WR_PERF_COUNTER_R wr %r0, %r7, %-
26928 setx vahole_target2, %r18, %r27
26929 .word 0xc1bfdc00 ! 374: STDFA_R stda %f0, [%r0, %r31]
26930tagged_1_310:
26931 tsubcctv %r20, 0x119f, %r18
26932 .word 0xd407e048 ! 375: LDUW_I lduw [%r31 + 0x0048], %r10
26933 nop
26934 ta T_CHANGE_HPRIV
26935 mov 0x1+1, %r10
26936 set sync_thr_counter5, %r23
26937#ifndef SPC
26938 ldxa [%g0]0x63, %o1
26939 and %o1, 0x38, %o1
26940 add %o1, %r23, %r23
26941#endif
26942 cas [%r23],%g0,%r10 !lock
26943 brnz %r10, cwq_1_311
26944 rd %asi, %r12
26945 wr %g0, 0x40, %asi
26946 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
26947 and %l1, 0x3, %l1 ! Check if busy/enabled ..
26948 cmp %l1, 1
26949 bne cwq_1_311
26950 set CWQ_BASE, %l6
26951 stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
26952 best_set_reg(0x20610090, %l1, %l2) !# Control Word
26953 sllx %l2, 32, %l2
26954 stx %l2, [%l6 + 0x0]
26955 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
26956 sub %l2, 0x40, %l2
26957 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
26958 wr %r12, %g0, %asi
26959 st %g0, [%r23]
26960cwq_1_311:
26961 ta T_CHANGE_NONHPRIV
26962 .word 0x99414000 ! 376: RDPC rd %pc, %r12
26963trapasi_1_312:
26964 nop
26965 mov 0x8, %r1 ! (VA for ASI 0x5b)
26966 .word 0xd8c04b60 ! 377: LDSWA_R ldswa [%r1, %r0] 0x5b, %r12
26967 .word 0x22cc4001 ! 1: BRZ brz,a,pt %r17,<label_0xc4001>
26968 .word 0x8d9038cf ! 378: WRPR_PSTATE_I wrpr %r0, 0x18cf, %pstate
26969 .word 0xd897c02a ! 379: LDUHA_R lduha [%r31, %r10] 0x01, %r12
26970mondo_1_315:
26971 nop
26972 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
26973 ta T_CHANGE_PRIV
26974 stxa %r20, [%r0+0x3c8] %asi
26975 .word 0x9d904009 ! 380: WRPR_WSTATE_R wrpr %r1, %r9, %wstate
26976fpinit_1_316:
26977 setx fp_data_quads, %r19, %r20
26978 ldd [%r20], %f0
26979 ldd [%r20+8], %f4
26980 ld [%r20+16], %fsr
26981 ld [%r20+24], %r19
26982 wr %r19, %g0, %gsr
26983 .word 0x89a009c4 ! 381: FDIVd fdivd %f0, %f4, %f4
26984dvapa_1_317:
26985 nop
26986 ta T_CHANGE_HPRIV
26987 mov 0xf46, %r20
26988 mov 0x1c, %r19
26989 sllx %r20, 23, %r20
26990 or %r19, %r20, %r19
26991 stxa %r19, [%g0] ASI_LSU_CONTROL
26992 mov 0x38, %r18
26993 stxa %r31, [%r18]0x58
26994 ta T_CHANGE_NONHPRIV
26995 .word 0xe1bfc2c0 ! 382: STDFA_R stda %f16, [%r0, %r31]
26996 .word 0x8d90341b ! 383: WRPR_PSTATE_I wrpr %r0, 0x141b, %pstate
26997pmu_1_319:
26998 nop
26999 setx 0xfffff94cfffffe72, %g1, %g7
27000 .word 0xa3800007 ! 384: WR_PERF_COUNTER_R wr %r0, %r7, %-
27001 .word 0xd8d7e0a0 ! 385: LDSHA_I ldsha [%r31, + 0x00a0] %asi, %r12
27002 .word 0x8d9030c0 ! 386: WRPR_PSTATE_I wrpr %r0, 0x10c0, %pstate
27003fpinit_1_321:
27004 setx fp_data_quads, %r19, %r20
27005 ldd [%r20], %f0
27006 ldd [%r20+8], %f4
27007 ld [%r20+16], %fsr
27008 ld [%r20+24], %r19
27009 wr %r19, %g0, %gsr
27010 .word 0x89a009a4 ! 387: FDIVs fdivs %f0, %f4, %f4
27011 .word 0xe19fdb60 ! 388: LDDFA_R ldda [%r31, %r0], %f16
27012 .word 0xa9b48550 ! 389: FCMPEQ16 fcmpeq16 %d18, %d16, %r20
27013donret_1_322:
27014 nop
27015 ta T_CHANGE_HPRIV ! macro
27016 rd %pc, %r12
27017 add %r12, (donretarg_1_322-donret_1_322-8), %r12
27018 add %r12, 0x4, %r11
27019 wrpr %g0, 0x1, %tl
27020 wrpr %g0, %r12, %tpc
27021 wrpr %g0, %r11, %tnpc
27022 set (0x00d71ef6 | (0x8b << 24)), %r13
27023 rdpr %tstate, %r16
27024 mov 0x1f, %r19
27025 and %r19, %r16, %r17
27026 andn %r16, %r19, %r16
27027 or %r16, %r17, %r20
27028 wrpr %r20, %g0, %tstate
27029 wrhpr %g0, 0x68e, %htstate
27030 ta T_CHANGE_NONPRIV ! rand=0 (1)
27031 .word 0x3f400001 ! 1: FBPO fbo,a,pn %fcc0, <label_0x1>
27032 retry
27033donretarg_1_322:
27034 .word 0xe8ffe18f ! 390: SWAPA_I swapa %r20, [%r31 + 0x018f] %asi
27035 .word 0xa745c000 ! 391: RD_TICK_CMPR_REG rd %-, %r19
27036 .word 0xab804004 ! 392: WR_CLEAR_SOFTINT_R wr %r1, %r4, %clear_softint
27037 setx 0x29325935327c33ea, %r1, %r28
27038 stxa %r28, [%g0] 0x73
27039intvec_1_323:
27040 .word 0x39400001 ! 393: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
27041 .word 0xe63ff33a ! 394: STD_I std %r19, [%r31 + 0xfffff33a]
27042 setx 0x9a5d96ea379f0b4b, %r1, %r28
27043 stxa %r28, [%g0] 0x73
27044intvec_1_325:
27045 .word 0x39400001 ! 395: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
27046 .word 0xa7524000 ! 396: RDPR_CWP <illegal instruction>
27047dvapa_1_327:
27048 nop
27049 ta T_CHANGE_HPRIV
27050 mov 0x82b, %r20
27051 mov 0xc, %r19
27052 sllx %r20, 23, %r20
27053 or %r19, %r20, %r19
27054 stxa %r19, [%g0] ASI_LSU_CONTROL
27055 mov 0x38, %r18
27056 stxa %r31, [%r18]0x58
27057 ta T_CHANGE_NONHPRIV
27058 .word 0xe1bfe1a0 ! 397: STDFA_I stda %f16, [0x01a0, %r31]
27059fpinit_1_328:
27060 setx fp_data_quads, %r19, %r20
27061 ldd [%r20], %f0
27062 ldd [%r20+8], %f4
27063 ld [%r20+16], %fsr
27064 ld [%r20+24], %r19
27065 wr %r19, %g0, %gsr
27066 .word 0x89a009c4 ! 398: FDIVd fdivd %f0, %f4, %f4
27067 .word 0xe6dfc032 ! 399: LDXA_R ldxa [%r31, %r18] 0x01, %r19
27068 .word 0xc3ec8030 ! 400: PREFETCHA_R prefetcha [%r18, %r16] 0x01, #one_read
27069 setx vahole_target2, %r18, %r27
27070 .word 0xc19fdc00 ! 401: LDDFA_R ldda [%r31, %r0], %f0
27071 nop
27072 nop
27073 ta T_CHANGE_PRIV
27074 wrpr %g0, %g0, %gl
27075 nop
27076 nop
27077
27078join_lbl_0_0:
27079SECTION .MAIN
27080.text
27081diag_finish:
27082 nop
27083 nop
27084 nop
27085 ta T_CHANGE_HPRIV
27086 best_set_reg(HV_TRAP_BASE_PA, %r1, %r2)
27087 wrhpr %g2, %g0, %htba
27088 ta T_GOOD_TRAP
27089 nop
27090 nop
27091 nop
27092.data
27093 .xword 0x0
27094 ! fp data rs1, rs2, fsr, gsr quads ..
27095.global fp_data_quads
27096fp_data_quads:
27097 .xword 0x0044000000000000
27098 .xword 0x4028000000000000
27099 .xword 0x0fc0400400000000
27100 .xword 0x0000000000000000
27101 .xword 0x0041000000000000
27102 .xword 0x4022000000000000
27103 .xword 0x0600800000000000
27104 .xword 0x0000000000000000
27105 .xword 0x0220000000000000
27106 .xword 0x4140000000000000
27107 .xword 0x4fc0400400000000
27108 .xword 0x0000000000000000
27109 .xword 0x4090000000000000
27110 .xword 0x0090000000000000
27111 .xword 0x0f80400800000000
27112 .xword 0x0a00000000000000
27113.align 128
27114.global user_data_start
27115.data
27116user_data_start:
27117
27118 .xword 0x9aa801585b3b5539
27119 .xword 0x4f7ff15fb9951add
27120 .xword 0x12df0de45a18f7da
27121 .xword 0x2053ae23398865f4
27122 .xword 0x4e2a06f70a6d76bc
27123 .xword 0x680e98fd48556fbc
27124 .xword 0x4934de2eaf0b1657
27125 .xword 0xa3db3edb5f22f5cc
27126 .xword 0x344ac6f87b36a4e0
27127 .xword 0x65f886b58201f412
27128 .xword 0x69c9e80a508c7155
27129 .xword 0x20611a1b6b1be1be
27130 .xword 0x40a141523c05ea66
27131 .xword 0x4346fbbaf293775b
27132 .xword 0x34c9840ad8240ac8
27133 .xword 0xf4dc63ec12b23f3c
27134 .xword 0x8ff1f823566e3eae
27135 .xword 0x15257680b224f169
27136 .xword 0x9dbb2df7c1f3368c
27137 .xword 0x1938336366d57443
27138 .xword 0x211024b4ddded259
27139 .xword 0xcd9489abb386fa22
27140 .xword 0x0c4e52cf46f2b157
27141 .xword 0x6d5c5e1a2be840d5
27142 .xword 0xf98bf07ee322e802
27143 .xword 0x910d190e593c0c23
27144 .xword 0xa6959b3fdf407da3
27145 .xword 0xb8e82d5b686c00e0
27146 .xword 0xd8f7bdb9a958677c
27147 .xword 0xbca7ceb1f5980c8f
27148 .xword 0xf44d5237ea079c76
27149 .xword 0xdfe83f6ffa2f21cf
27150 .xword 0xe680c2aa2fc5fd07
27151 .xword 0x5cddeb5b0700d370
27152 .xword 0xe40a7eea55f11693
27153 .xword 0x7008a0bd03dd1003
27154 .xword 0x03780cb278d039d9
27155 .xword 0x650312b163c1b164
27156 .xword 0x641eb5c3b0cc2efd
27157 .xword 0x83f6391113ea733f
27158 .xword 0xcf7dfdcbbf1d3739
27159 .xword 0x66b68454bff36810
27160 .xword 0xea44c9f465579d06
27161 .xword 0xcdd6e77306c9e8d9
27162 .xword 0xbeecec3536a11ab6
27163 .xword 0xf064c14cdc9d0b13
27164 .xword 0x7460d4f48d145536
27165 .xword 0x50bd23d8a6558c83
27166 .xword 0x6d35293a8af8c911
27167 .xword 0x0374f67ca6cd84d0
27168 .xword 0x736f6e59753f68d4
27169 .xword 0xf79b27a44e1d7410
27170 .xword 0x528c2650bc47e580
27171 .xword 0x746d0162845c1004
27172 .xword 0xfc383d50199208c5
27173 .xword 0xad51da4b87eca25d
27174 .xword 0xf16ec3795c435968
27175 .xword 0xeb6b4e606751c569
27176 .xword 0xd9b6da2b11493e17
27177 .xword 0xb7fb13f6216ccfb4
27178 .xword 0xc02bf948b823aea3
27179 .xword 0x19898acadadce26b
27180 .xword 0xb527c1a67a3ce841
27181 .xword 0x55b7b664b020c2ff
27182 .xword 0xa7cd816beb14a7d5
27183 .xword 0xcf674e3315040e13
27184 .xword 0x5f334adb00807740
27185 .xword 0x8cd26d2cfe913697
27186 .xword 0x38e694034bac18ee
27187 .xword 0xb9369869682c604f
27188 .xword 0x8f0cca4e978c87e0
27189 .xword 0x40cb0c72af5f7c91
27190 .xword 0x2d667aa2ce6ab8e3
27191 .xword 0xb377bb88015b0344
27192 .xword 0x0fef80005e50c841
27193 .xword 0xd6998da99859305d
27194 .xword 0xac5fe657f9add4d0
27195 .xword 0xfbd1e4539cc98b8f
27196 .xword 0x3f33d1823f84626f
27197 .xword 0x52b20505f2ced372
27198 .xword 0xdb36b67189c44eb3
27199 .xword 0xba0dde34aacb0d7e
27200 .xword 0x3f0d6da8bc684888
27201 .xword 0x6165193524c45901
27202 .xword 0x48133cdb3f435938
27203 .xword 0xde3eed6bb81d7839
27204 .xword 0x72a464e583ce1fd0
27205 .xword 0xec3cc298664f6b18
27206 .xword 0xfc3941af8cdb77f8
27207 .xword 0x8c740d73f369f1c7
27208 .xword 0xdc5dfa831987dcac
27209 .xword 0x9d765b481d460d93
27210 .xword 0xb0323c24f12ceb01
27211 .xword 0x26df5fa1b5692b64
27212 .xword 0x60b4c6dab6f7e14f
27213 .xword 0xbd1a7884a28af39f
27214 .xword 0x049453e3c76b9007
27215 .xword 0xd766ec625d1522a1
27216 .xword 0x41459975c44d7c9c
27217 .xword 0xa6855484abda4e8c
27218 .xword 0xd3d0a2e1790b26a9
27219 .xword 0x7ac688bdd1a4d4f1
27220 .xword 0x14883308e0107c4d
27221 .xword 0x290a983d9f9c44d3
27222 .xword 0x3a4ca6e6ca746426
27223 .xword 0x5660687b11b90a52
27224 .xword 0x391b95a2c1961814
27225 .xword 0xd4801b7e6d87db7f
27226 .xword 0x9fcc9c699ae966e6
27227 .xword 0x68fc7ae0e82ca32c
27228 .xword 0xf751109d940c174f
27229 .xword 0x8bbaece4f8550530
27230 .xword 0x406c3d23a1fe975b
27231 .xword 0xcb77ef589fc06dc5
27232 .xword 0xa3c26ac3b4d11f5d
27233 .xword 0x91ba722c3ba6487b
27234 .xword 0xda92e0299c85da02
27235 .xword 0xc6fbd030cffc8f32
27236 .xword 0x8db973c4738e72b9
27237 .xword 0x08f1088589b8eebb
27238 .xword 0x8559bb37a344fe53
27239 .xword 0xdf37ede1af077c4d
27240 .xword 0x9b8182ce7579ef46
27241 .xword 0xdae64d8031d97f3c
27242 .xword 0x28c71f451f809315
27243 .xword 0x2cb7277a58721d1d
27244 .xword 0x11ba67f24c821dbd
27245 .xword 0xe0c12b967b130525
27246 .xword 0x048e56375c04cbda
27247 .xword 0x44d3a88a542cd027
27248 .xword 0x69e61cd70199406f
27249 .xword 0x147d729e5f670c60
27250 .xword 0xa25ce35e682a2a65
27251 .xword 0x7dc3f51c4282d56c
27252 .xword 0xba60e3f1997b3687
27253 .xword 0x443fe908f8ef2a54
27254 .xword 0x8e00155c880103b0
27255 .xword 0x3599ae278832ca30
27256 .xword 0x3a8ac78361643317
27257 .xword 0xf85ff96cc396d21b
27258 .xword 0x7633423ef9752a52
27259 .xword 0x3811fc5445c84fd8
27260 .xword 0xda7e2195ffe704be
27261 .xword 0x03c574b66b5c5e1f
27262 .xword 0x8ead06f97163c98d
27263 .xword 0x76828b33545b8925
27264 .xword 0x2d0303cf85cb8b09
27265 .xword 0xe16ae9f6155158bd
27266 .xword 0x675fd4e81356b06e
27267 .xword 0xf7e6c75f0ccc5cf8
27268 .xword 0x5e52e32389532cf9
27269 .xword 0x8c64fe695de3101f
27270 .xword 0x601f034ad99fd3b6
27271 .xword 0x74716743ee9357d0
27272 .xword 0x8fde3d575878c1f4
27273 .xword 0x5cad26a3d7df9448
27274 .xword 0x4a21f6801ef727f9
27275 .xword 0x90502ec1ab4a6a61
27276 .xword 0x6958ad8a9ffb3722
27277 .xword 0x9b6c185f0e1ee3a9
27278 .xword 0x73d15ebc7847ea31
27279 .xword 0x6bb0a4827d2e0972
27280 .xword 0xc58360756335495e
27281 .xword 0x0a4571bfd2d7d037
27282 .xword 0x4b5995c334b0fe39
27283 .xword 0x8849554b9959bbaf
27284 .xword 0xfb5613e1c4d9ba8b
27285 .xword 0x0c57fcc27bf517f5
27286 .xword 0x88944913fc333d09
27287 .xword 0x25854cce75593cb9
27288 .xword 0xea54df82610a401d
27289 .xword 0x6c636450626acdac
27290 .xword 0xac9c22b0d89c02d5
27291 .xword 0x1db23c6072b2a5a1
27292 .xword 0x33462c94f191cb1c
27293 .xword 0x31389b6833b94a38
27294 .xword 0xf30b70f7ecacec6c
27295 .xword 0xe342c6d21c91917e
27296 .xword 0x395741258ab1447a
27297 .xword 0x9c9e529dbf091568
27298 .xword 0x3696c06c2de8ab1c
27299 .xword 0xc057d44505083700
27300 .xword 0x23e42ac595dc0ed9
27301 .xword 0x5db7336563785325
27302 .xword 0xaaef4412308112b4
27303 .xword 0x30378fd15c3b9435
27304 .xword 0xb21a932fd2cfb1c9
27305 .xword 0x03bbbc0246773c1c
27306 .xword 0xf390efb4c7f80424
27307 .xword 0x15bb8747b160e6fb
27308 .xword 0x67fd4d32a88bae2c
27309 .xword 0xc419784a3113f306
27310 .xword 0xd81f669924d053dc
27311 .xword 0x58e8130db5ad5eb2
27312 .xword 0x977b31645f0082dc
27313 .xword 0x37242a0ec1fc72ac
27314 .xword 0xd9fc4e4eee838a12
27315 .xword 0x5fb24cf916ed4d44
27316 .xword 0xe4a895da5d9fcc32
27317 .xword 0x79b68a84dbeb4d11
27318 .xword 0x4e0833b6b737d3c8
27319 .xword 0x64f006d0ef61339f
27320 .xword 0x01567e949d438685
27321 .xword 0x8666f5b274323984
27322 .xword 0x6e05441e51b9827b
27323 .xword 0x01d3065b160a87b2
27324 .xword 0xf7ee6dc9891940db
27325 .xword 0xda8696e4a41936e6
27326 .xword 0xbf58830ca3b9721c
27327 .xword 0x7aebb863ffa5ec1f
27328 .xword 0x814215274227a366
27329 .xword 0x494c567761a84f48
27330 .xword 0x427ea2fc52091a1d
27331 .xword 0x11221ae06c8c8392
27332 .xword 0xb3d9097ba7011480
27333 .xword 0x74be8fd33f2befc9
27334 .xword 0x4955720cf595e016
27335 .xword 0xfa1b7bac735cfbef
27336 .xword 0xa0fc7c43649574e3
27337 .xword 0xd4f8050333ae38ba
27338 .xword 0xa297a34a8d4968a5
27339 .xword 0x3f72be996501866d
27340 .xword 0x8564504b5e086967
27341 .xword 0x25b62d4cd84f7e79
27342 .xword 0x386917322ea2cf65
27343 .xword 0x79dc574cab56fdd4
27344 .xword 0xa51e989261f7578f
27345 .xword 0x647100495551da36
27346 .xword 0xe11633caffee486a
27347 .xword 0x7c8008f524366da1
27348 .xword 0x86566b839f94d2ad
27349 .xword 0x3cf7771c35cf25fc
27350 .xword 0xde399a66d1d60f83
27351 .xword 0xf248bd5e2ea494e2
27352 .xword 0x838afc8e6d2234b3
27353 .xword 0x3346fd42d1b53b3f
27354 .xword 0x8cb1b91964674b97
27355 .xword 0x34c25bbdba58644e
27356 .xword 0x07f39ed4ff47fa9a
27357 .xword 0x39d4e11c4725f612
27358 .xword 0xf41f08e9f38b4f34
27359 .xword 0xe24a357afa692d2e
27360 .xword 0xbbdfa8348920e36b
27361 .xword 0x772ea1b97de5bb11
27362 .xword 0x19e59b8345198b83
27363 .xword 0xd53970227ff0eea3
27364 .xword 0xf715557d66b443f3
27365 .xword 0xa5b143b1fb388a91
27366 .xword 0xde6db296cd34c387
27367 .xword 0x56e2764340b38abb
27368 .xword 0xd8ce37a23af51ff9
27369 .xword 0x2e2814607133c78b
27370 .xword 0x56b90ce6763a1144
27371 .xword 0x844ff11a326ce464
27372 .xword 0xa5e09d1e57068560
27373 .xword 0xe9d9429e68cdaefe
27374
27375SECTION .HTRAPS
27376.text
27377.global restore_range_regs
27378restore_range_regs:
27379 wr %g0, ASI_MMU_REAL_RANGE, %asi
27380 mov 1, %g1
27381 sllx %g1, 63, %g1
27382 ldxa [ASI_MMU_REAL_RANGE_0] %asi, %g2
27383 or %g2 ,%g1, %g2
27384 stxa %g2, [ASI_MMU_REAL_RANGE_0] %asi
27385 ldxa [ASI_MMU_REAL_RANGE_1] %asi, %g2
27386 or %g2 ,%g1, %g2
27387 stxa %g2, [ASI_MMU_REAL_RANGE_1] %asi
27388 ldxa [ASI_MMU_REAL_RANGE_2] %asi, %g2
27389 or %g2 ,%g1, %g2
27390 stxa %g2, [ASI_MMU_REAL_RANGE_2] %asi
27391 ldxa [ASI_MMU_REAL_RANGE_3] %asi, %g2
27392 or %g2 ,%g1, %g2
27393 stxa %g2, [ASI_MMU_REAL_RANGE_3] %asi
27394 retry
27395
27396.global wdog_2_ext
27397# 9 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_trap_extensions.s"
27398.global wdog_2_ext
27399.global retry_with_base_tba
27400.global resolve_bad_tte
27401
27402SECTION .HTRAPS
27403.text
27404resolve_bad_tte:
27405 !if pc[13:5]==0, then assume not a relocated handler
27406 rdpr %tpc, %r4
27407 andn %r4, 0xf, %r4
27408 sllx %r4, 49, %r5
27409 brnz,a %r5, retry_with_base_tba
27410 !assume %r27 is where we came from ..
27411 fdivd %f0, %f4, %f12
27412 jmpl %r27+8, %r0
27413 fdivs %f0, %f4, %f12
27414retry_with_base_tba:
27415 best_set_reg(TRAP_BASE_VA, %r3, %r5)
27416 cmp %r4, %r5
27417 bz htrap_5_ext_done
27418 set 0x7fff, %r3
27419 and %r4, %r3, %r4
27420 or %r5, %r4, %r4
27421 wrpr %r4, %tpc
27422 rdpr %tnpc, %r4
27423 and %r4, %r3, %r4
27424 or %r5, %r4, %r4
27425 wrpr %r4, %tnpc
27426 retry
27427
27428htrap_5_ext:
27429 rd %pc, %l2
27430 inc %l3
27431 add %l2, htrap_5_ext_done-htrap_5_ext, %l2
27432 rdpr %tl, %l3
27433 rdpr %tstate, %l4
27434 rdhpr %htstate, %l5
27435 or %l5, 0x4, %l5
27436 inc %l3
27437 wrpr %l3, %tl
27438 wrpr %l2, %tpc
27439 add %l2, 4, %l2
27440 wrpr %l2, %tnpc
27441 wrpr %l4, %tstate
27442 wrhpr %l5, %htstate
27443 retry
27444htrap_5_ext_done:
27445 done
27446
27447wdog_2_ext:
27448 mov 0x1f, %l1
27449 stxa %l1, [%g0] ASI_LSU_CTL_REG
27450 ! If TT != 2, then goto trap handler
27451 rdpr %tt, %l1
27452 cmp %l1, 0x2
27453 bne wdog_2_goto_handler
27454 nop
27455 ! else done
27456 done
27457wdog_2_goto_handler:
27458 rdhpr %htstate, %l3
27459 and %l3, 0x4, %l3 ! If previously in hpriv mode, go to hpriv
27460 brnz,a %l3, wdog_2_goto_handler_1
27461 rdhpr %htba, %l3
27462 srlx %l1, 7, %l3 ! Send priv sw traps to priv mode ..
27463 cmp %l3, 0x2 ! 0x2 = priv sw trap, 0x3=hpriv sw trap ..
27464 be,a wdog_2_goto_handler_1
27465 rdpr %tba, %l3
27466 rdhpr %htba, %l3
27467wdog_2_goto_handler_1:
27468 sllx %l1, 5, %l1
27469 add %l1, %l3, %l3
27470 jmp %l3
27471 nop
27472# 85 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_trap_extensions.s"
27473! Red mode other reset handler
27474! Get htba, and tt and make trap address
27475! Jump to trap handler ..
27476
27477SECTION .RED_SEC
27478.text
27479red_other_ext:
27480 ! IF TL=6, shift stack by one ..
27481 rdpr %tl, %l1
27482 cmp %l1, 6
27483 be start_tsa_shift
27484 nop
27485
27486continue_red_other:
27487 mov 0x1f, %l1
27488 stxa %l1, [%g0] ASI_LSU_CTL_REG
27489
27490 rdpr %tt, %l1
27491
27492 rdhpr %htstate, %l2
27493 and %l2, 0x4, %l2 ! If previously in hpriv mode, go to hpriv
27494 brnz,a %l2, red_goto_handler
27495 rdhpr %htba, %l2
27496 srlx %l1, 7, %l2 ! Send priv sw traps to priv mode ..
27497 cmp %l2, 0x2 ! 0x2 = priv sw trap, 0x3=hpriv sw trap ..
27498 be,a red_goto_handler
27499 rdpr %tba, %l2
27500 rdhpr %htba, %l2
27501red_goto_handler:
27502
27503 sllx %l1, 5, %l1
27504 add %l1, %l2, %l2
27505 rdhpr %hpstate, %l1
27506 jmp %l2
27507 wrhpr %l1, 0x20, %hpstate
27508 nop
27509
27510wdog_red_ext:
27511 ! Shift stack down by 1 ...
27512 rdpr %tl, %l1
27513 cmp %l1, 6
27514 bl wdog_end
27515start_tsa_shift:
27516 mov 0x2, %l2
27517
27518tsa_shift:
27519 wrpr %l2, %tl
27520 rdpr %tt, %l3
27521 rdpr %tpc, %l4
27522 rdpr %tnpc, %l5
27523 rdpr %tstate, %l6
27524 rdhpr %htstate, %l7
27525 dec %l2
27526 wrpr %l2, %tl
27527 wrpr %l3, %tt
27528 wrpr %l4, %tpc
27529 wrpr %l5, %tnpc
27530 wrpr %l6, %tstate
27531 wrhpr %l7, %htstate
27532 add %l2, 2, %l2
27533 cmp %l2, %l1
27534 ble tsa_shift
27535 nop
27536tsa_shift_done:
27537 dec %l1
27538 wrpr %l1, %tl
27539
27540wdog_end:
27541 ! If TT != 2, then goto trap handler
27542 rdpr %tt, %l1
27543
27544 cmp %l1, 0x2
27545 bne continue_red_other
27546 nop
27547 ! else done
27548 mov 0x1f, %l1
27549 stxa %l1, [%g0] ASI_LSU_CTL_REG
27550 done
27551# 948 "diag.j"
27552SECTION .CWQ_DATA DATA_VA =0x4000
27553attr_data {
27554 Name = .CWQ_DATA
27555 hypervisor
27556}
27557
27558.data
27559.align 16
27560.global msg
27561msg:
27562.xword 0xad32fa52374cc6ba
27563.xword 0x4cbf52280549003a
27564
27565.align 16
27566.global results
27567results:
27568.xword 0xDEADBEEFDEADBEEF
27569.xword 0xDEADBEEFDEADBEEF
27570!# CWQ data area
27571.align 64
27572.global CWQ_BASE
27573CWQ_BASE:
27574.xword 0xAAAAAAAAAAAAAAA
27575.xword 0xAAAAAAAAAAAAAAA
27576.xword 0xAAAAAAAAAAAAAAA
27577.xword 0xAAAAAAAAAAAAAAA
27578.xword 0xAAAAAAAAAAAAAAA
27579.xword 0xAAAAAAAAAAAAAAA
27580.xword 0xAAAAAAAAAAAAAAA
27581.xword 0xAAAAAAAAAAAAAAA
27582.xword 0xAAAAAAAAAAAAAAA
27583.xword 0xAAAAAAAAAAAAAAA
27584.xword 0xAAAAAAAAAAAAAAA
27585.xword 0xAAAAAAAAAAAAAAA
27586.xword 0xAAAAAAAAAAAAAAA
27587.xword 0xAAAAAAAAAAAAAAA
27588.xword 0xAAAAAAAAAAAAAAA
27589.xword 0xAAAAAAAAAAAAAAA
27590.xword 0xAAAAAAAAAAAAAAA
27591.xword 0xAAAAAAAAAAAAAAA
27592.xword 0xAAAAAAAAAAAAAAA
27593.xword 0xAAAAAAAAAAAAAAA
27594.xword 0xAAAAAAAAAAAAAAA
27595.xword 0xAAAAAAAAAAAAAAA
27596.xword 0xAAAAAAAAAAAAAAA
27597.xword 0xAAAAAAAAAAAAAAA
27598.global CWQ_LAST
27599.align 64
27600CWQ_LAST:
27601.word 0x0
27602
27603
27604
27605SECTION .MyHTRAPS_0 TEXT_VA = 0x0000000000280000, DATA_VA = 0x00000000002c0000
27606attr_text {
27607 Name = .MyHTRAPS_0,
27608 RA = 0x0000000000280000,
27609 PA = ra2pa(0x0000000000280000,0),
27610 part_0_ctx_zero_tsb_config_3,
27611 part_0_ctx_nonzero_tsb_config_3,
27612 TTE_G = 1,
27613 TTE_Context = 0,
27614 TTE_V = 1,
27615 TTE_Size = PART0_Z_PAGE_SIZE_3,
27616 TTE_NFO = 0,
27617 TTE_IE = 0,
27618 TTE_Soft2 = 0,
27619 TTE_Diag = 0,
27620 TTE_Soft = 0,
27621 TTE_L = 0,
27622 TTE_CP = 0,
27623 TTE_CV = 0,
27624 TTE_E = 0,
27625 TTE_P = 1,
27626 TTE_W = 0,
27627 TTE_X = 0
27628}
27629
27630
27631attr_data {
27632 Name = .MyHTRAPS_0,
27633 RA = 0x00000000002c0000,
27634 PA = ra2pa(0x00000000002c0000,0),
27635 part_0_ctx_zero_tsb_config_3,
27636 part_0_ctx_nonzero_tsb_config_3,
27637 TTE_G = 1,
27638 TTE_Context = 0,
27639 TTE_V = 1,
27640 TTE_Size = PART0_Z_PAGE_SIZE_3,
27641 TTE_NFO = 0,
27642 TTE_IE = 0,
27643 TTE_Soft2 = 0,
27644 TTE_Diag = 0,
27645 TTE_Soft = 0,
27646 TTE_L = 0,
27647 TTE_CP = 1,
27648 TTE_CV = 1,
27649 TTE_E = 0,
27650 TTE_P = 1,
27651 TTE_W = 0
27652}
27653
27654.text
27655#include "htraps.s"
27656#include "tlu_htraps_ext.s"
27657
27658
27659
27660SECTION .MyHTRAPS_1 TEXT_VA = 0x00000000002a0000, DATA_VA = 0x00000000002e0000
27661attr_text {
27662 Name = .MyHTRAPS_1,
27663 RA = 0x00000000002a0000,
27664 PA = ra2pa(0x00000000002a0000,0),
27665 part_0_ctx_zero_tsb_config_3,
27666 part_0_ctx_nonzero_tsb_config_3,
27667 TTE_G = 1,
27668 TTE_Context = 0,
27669 TTE_V = 1,
27670 TTE_Size = PART0_Z_PAGE_SIZE_3,
27671 TTE_NFO = 0,
27672 TTE_IE = 0,
27673 TTE_Soft2 = 0,
27674 TTE_Diag = 0,
27675 TTE_Soft = 0,
27676 TTE_L = 0,
27677 TTE_CP = 0,
27678 TTE_CV = 1,
27679 TTE_E = 0,
27680 TTE_P = 1,
27681 TTE_W = 0,
27682 TTE_X = 0
27683}
27684
27685
27686attr_data {
27687 Name = .MyHTRAPS_1,
27688 RA = 0x00000000002e0000,
27689 PA = ra2pa(0x00000000002e0000,0),
27690 part_0_ctx_zero_tsb_config_3,
27691 part_0_ctx_nonzero_tsb_config_3,
27692 TTE_G = 1,
27693 TTE_Context = 0,
27694 TTE_V = 1,
27695 TTE_Size = PART0_Z_PAGE_SIZE_3,
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 = 0,
27703 TTE_CV = 0,
27704 TTE_E = 0,
27705 TTE_P = 1,
27706 TTE_W = 0
27707}
27708
27709.text
27710#include "htraps.s"
27711#include "tlu_htraps_ext.s"
27712
27713
27714
27715SECTION .MyHTRAPS_2 TEXT_VA = 0x0000000200280000, DATA_VA = 0x00000002002c0000
27716attr_text {
27717 Name = .MyHTRAPS_2,
27718 RA = 0x0000000200280000,
27719 PA = ra2pa(0x0000000200280000,0),
27720 part_0_ctx_zero_tsb_config_3,
27721 part_0_ctx_nonzero_tsb_config_3,
27722 TTE_G = 1,
27723 TTE_Context = 0,
27724 TTE_V = 1,
27725 TTE_Size = PART0_Z_PAGE_SIZE_3,
27726 TTE_NFO = 0,
27727 TTE_IE = 0,
27728 TTE_Soft2 = 0,
27729 TTE_Diag = 0,
27730 TTE_Soft = 0,
27731 TTE_L = 0,
27732 TTE_CP = 1,
27733 TTE_CV = 1,
27734 TTE_E = 1,
27735 TTE_P = 1,
27736 TTE_W = 0,
27737 TTE_X = 0
27738}
27739
27740
27741attr_data {
27742 Name = .MyHTRAPS_2,
27743 RA = 0x00000002002c0000,
27744 PA = ra2pa(0x00000002002c0000,0),
27745 part_0_ctx_zero_tsb_config_3,
27746 part_0_ctx_nonzero_tsb_config_3,
27747 TTE_G = 1,
27748 TTE_Context = 0,
27749 TTE_V = 1,
27750 TTE_Size = PART0_Z_PAGE_SIZE_3,
27751 TTE_NFO = 0,
27752 TTE_IE = 0,
27753 TTE_Soft2 = 0,
27754 TTE_Diag = 0,
27755 TTE_Soft = 0,
27756 TTE_L = 0,
27757 TTE_CP = 0,
27758 TTE_CV = 0,
27759 TTE_E = 0,
27760 TTE_P = 1,
27761 TTE_W = 0
27762}
27763
27764.text
27765#include "htraps.s"
27766#include "tlu_htraps_ext.s"
27767
27768
27769
27770SECTION .MyHTRAPS_3 TEXT_VA = 0x00000002002a0000, DATA_VA = 0x00000002002e0000
27771attr_text {
27772 Name = .MyHTRAPS_3,
27773 RA = 0x00000002002a0000,
27774 PA = ra2pa(0x00000002002a0000,0),
27775 part_0_ctx_zero_tsb_config_3,
27776 part_0_ctx_nonzero_tsb_config_3,
27777 TTE_G = 1,
27778 TTE_Context = 0,
27779 TTE_V = 1,
27780 TTE_Size = PART0_Z_PAGE_SIZE_3,
27781 TTE_NFO = 0,
27782 TTE_IE = 0,
27783 TTE_Soft2 = 0,
27784 TTE_Diag = 0,
27785 TTE_Soft = 0,
27786 TTE_L = 0,
27787 TTE_CP = 1,
27788 TTE_CV = 1,
27789 TTE_E = 0,
27790 TTE_P = 1,
27791 TTE_W = 0,
27792 TTE_X = 0
27793}
27794
27795
27796attr_data {
27797 Name = .MyHTRAPS_3,
27798 RA = 0x00000002002e0000,
27799 PA = ra2pa(0x00000002002e0000,0),
27800 part_0_ctx_zero_tsb_config_3,
27801 part_0_ctx_nonzero_tsb_config_3,
27802 TTE_G = 1,
27803 TTE_Context = 0,
27804 TTE_V = 1,
27805 TTE_Size = PART0_Z_PAGE_SIZE_3,
27806 TTE_NFO = 0,
27807 TTE_IE = 0,
27808 TTE_Soft2 = 0,
27809 TTE_Diag = 0,
27810 TTE_Soft = 0,
27811 TTE_L = 0,
27812 TTE_CP = 0,
27813 TTE_CV = 1,
27814 TTE_E = 0,
27815 TTE_P = 1,
27816 TTE_W = 0
27817}
27818
27819.text
27820#include "htraps.s"
27821#include "tlu_htraps_ext.s"
27822
27823
27824
27825
27826
27827SECTION .MyTRAPS_0 TEXT_VA = 0x0000000000380000, DATA_VA = 0x00000000003c0000
27828attr_text {
27829 Name = .MyTRAPS_0,
27830 RA = 0x0000000000380000,
27831 PA = ra2pa(0x0000000000380000,0),
27832 part_0_ctx_zero_tsb_config_3,
27833 part_0_ctx_nonzero_tsb_config_3,
27834 TTE_G = 1,
27835 TTE_Context = 0,
27836 TTE_V = 1,
27837 TTE_Size = PART0_Z_PAGE_SIZE_3,
27838 TTE_NFO = 1,
27839 TTE_IE = 0,
27840 TTE_Soft2 = 0,
27841 TTE_Diag = 0,
27842 TTE_Soft = 0,
27843 TTE_L = 0,
27844 TTE_CP = 1,
27845 TTE_CV = 0,
27846 TTE_E = 1,
27847 TTE_P = 1,
27848 TTE_W = 1,
27849 TTE_X = 1
27850}
27851
27852
27853attr_data {
27854 Name = .MyTRAPS_0,
27855 RA = 0x00000000003c0000,
27856 PA = ra2pa(0x00000000003c0000,0),
27857 part_0_ctx_zero_tsb_config_3,
27858 part_0_ctx_nonzero_tsb_config_3,
27859 TTE_G = 1,
27860 TTE_Context = 0,
27861 TTE_V = 1,
27862 TTE_Size = PART0_Z_PAGE_SIZE_3,
27863 TTE_NFO = 0,
27864 TTE_IE = 1,
27865 TTE_Soft2 = 0,
27866 TTE_Diag = 0,
27867 TTE_Soft = 0,
27868 TTE_L = 0,
27869 TTE_CP = 0,
27870 TTE_CV = 0,
27871 TTE_E = 0,
27872 TTE_P = 1,
27873 TTE_W = 0
27874}
27875
27876#include "traps.s"
27877
27878
27879
27880SECTION .MyTRAPS_1 TEXT_VA = 0x00000000003a0000, DATA_VA = 0x00000000003e0000
27881attr_text {
27882 Name = .MyTRAPS_1,
27883 RA = 0x00000000003a0000,
27884 PA = ra2pa(0x00000000003a0000,0),
27885 part_0_ctx_zero_tsb_config_3,
27886 part_0_ctx_nonzero_tsb_config_3,
27887 TTE_G = 1,
27888 TTE_Context = 0,
27889 TTE_V = 1,
27890 TTE_Size = PART0_Z_PAGE_SIZE_3,
27891 TTE_NFO = 1,
27892 TTE_IE = 1,
27893 TTE_Soft2 = 0,
27894 TTE_Diag = 0,
27895 TTE_Soft = 0,
27896 TTE_L = 0,
27897 TTE_CP = 0,
27898 TTE_CV = 1,
27899 TTE_E = 0,
27900 TTE_P = 0,
27901 TTE_W = 0,
27902 TTE_X = 1
27903}
27904
27905
27906attr_data {
27907 Name = .MyTRAPS_1,
27908 RA = 0x00000000003e0000,
27909 PA = ra2pa(0x00000000003e0000,0),
27910 part_0_ctx_zero_tsb_config_3,
27911 part_0_ctx_nonzero_tsb_config_3,
27912 TTE_G = 1,
27913 TTE_Context = 0,
27914 TTE_V = 1,
27915 TTE_Size = PART0_Z_PAGE_SIZE_3,
27916 TTE_NFO = 1,
27917 TTE_IE = 0,
27918 TTE_Soft2 = 0,
27919 TTE_Diag = 0,
27920 TTE_Soft = 0,
27921 TTE_L = 0,
27922 TTE_CP = 1,
27923 TTE_CV = 0,
27924 TTE_E = 0,
27925 TTE_P = 1,
27926 TTE_W = 1
27927}
27928
27929#include "traps.s"
27930
27931
27932
27933SECTION .MyTRAPS_2 TEXT_VA = 0x0000000400380000, DATA_VA = 0x00000004003c0000
27934attr_text {
27935 Name = .MyTRAPS_2,
27936 RA = 0x0000000400380000,
27937 PA = ra2pa(0x0000000400380000,0),
27938 part_0_ctx_zero_tsb_config_3,
27939 part_0_ctx_nonzero_tsb_config_3,
27940 TTE_G = 1,
27941 TTE_Context = 0,
27942 TTE_V = 1,
27943 TTE_Size = PART0_Z_PAGE_SIZE_3,
27944 TTE_NFO = 0,
27945 TTE_IE = 0,
27946 TTE_Soft2 = 0,
27947 TTE_Diag = 0,
27948 TTE_Soft = 0,
27949 TTE_L = 0,
27950 TTE_CP = 1,
27951 TTE_CV = 0,
27952 TTE_E = 0,
27953 TTE_P = 0,
27954 TTE_W = 1,
27955 TTE_X = 1
27956}
27957
27958
27959attr_data {
27960 Name = .MyTRAPS_2,
27961 RA = 0x00000004003c0000,
27962 PA = ra2pa(0x00000004003c0000,0),
27963 part_0_ctx_zero_tsb_config_3,
27964 part_0_ctx_nonzero_tsb_config_3,
27965 TTE_G = 1,
27966 TTE_Context = 0,
27967 TTE_V = 1,
27968 TTE_Size = PART0_Z_PAGE_SIZE_3,
27969 TTE_NFO = 0,
27970 TTE_IE = 0,
27971 TTE_Soft2 = 0,
27972 TTE_Diag = 0,
27973 TTE_Soft = 0,
27974 TTE_L = 0,
27975 TTE_CP = 0,
27976 TTE_CV = 1,
27977 TTE_E = 0,
27978 TTE_P = 1,
27979 TTE_W = 1
27980}
27981
27982#include "traps.s"
27983
27984
27985
27986SECTION .MyTRAPS_3 TEXT_VA = 0x00000004003a0000, DATA_VA = 0x00000004003e0000
27987attr_text {
27988 Name = .MyTRAPS_3,
27989 RA = 0x00000004003a0000,
27990 PA = ra2pa(0x00000004003a0000,0),
27991 part_0_ctx_zero_tsb_config_3,
27992 part_0_ctx_nonzero_tsb_config_3,
27993 TTE_G = 1,
27994 TTE_Context = 0,
27995 TTE_V = 1,
27996 TTE_Size = PART0_Z_PAGE_SIZE_3,
27997 TTE_NFO = 1,
27998 TTE_IE = 0,
27999 TTE_Soft2 = 0,
28000 TTE_Diag = 0,
28001 TTE_Soft = 0,
28002 TTE_L = 0,
28003 TTE_CP = 1,
28004 TTE_CV = 0,
28005 TTE_E = 1,
28006 TTE_P = 0,
28007 TTE_W = 1,
28008 TTE_X = 1
28009}
28010
28011
28012attr_data {
28013 Name = .MyTRAPS_3,
28014 RA = 0x00000004003e0000,
28015 PA = ra2pa(0x00000004003e0000,0),
28016 part_0_ctx_zero_tsb_config_3,
28017 part_0_ctx_nonzero_tsb_config_3,
28018 TTE_G = 1,
28019 TTE_Context = 0,
28020 TTE_V = 1,
28021 TTE_Size = PART0_Z_PAGE_SIZE_3,
28022 TTE_NFO = 0,
28023 TTE_IE = 1,
28024 TTE_Soft2 = 0,
28025 TTE_Diag = 0,
28026 TTE_Soft = 0,
28027 TTE_L = 0,
28028 TTE_CP = 0,
28029 TTE_CV = 0,
28030 TTE_E = 0,
28031 TTE_P = 1,
28032 TTE_W = 1
28033}
28034
28035#include "traps.s"
28036
28037
28038
28039
28040
28041SECTION .MyDATA_0 TEXT_VA = 0x00000000e0140000, DATA_VA = 0x0000000060140000
28042attr_data {
28043 Name = .MyDATA_0,
28044 RA = 0x0000000170100000,
28045 PA = ra2pa(0x0000000170100000,0),
28046 part_0_ctx_zero_tsb_config_0,
28047 part_0_ctx_nonzero_tsb_config_0,
28048 TTE_G = 1,
28049 TTE_Context = PCONTEXT,
28050 TTE_V = 1,
28051 TTE_Size = 5,
28052 TTE_NFO = 1,
28053 TTE_IE = 1,
28054 TTE_Soft2 = 0,
28055 TTE_Diag = 0,
28056 TTE_Soft = 0,
28057 TTE_L = 0,
28058 TTE_CP = 0,
28059 TTE_CV = 0,
28060 TTE_E = 1,
28061 TTE_P = 1,
28062 TTE_W = 1
28063}
28064
28065
28066attr_data {
28067 Name = .MyDATA_0,
28068 RA = 0x0000000170100000,
28069 PA = ra2pa(0x0000000170100000,0),
28070 part_0_ctx_zero_tsb_config_1,
28071 part_0_ctx_nonzero_tsb_config_1,
28072 TTE_G = 1,
28073 TTE_Context = SCONTEXT,
28074 TTE_V = 1,
28075 TTE_Size = 1,
28076 TTE_NFO = 1,
28077 TTE_IE = 0,
28078 TTE_Soft2 = 0,
28079 TTE_Diag = 0,
28080 TTE_Soft = 0,
28081 TTE_L = 0,
28082 TTE_CP = 1,
28083 TTE_CV = 1,
28084 TTE_E = 1,
28085 TTE_P = 0,
28086 TTE_W = 0,
28087 tsbonly
28088}
28089
28090
28091attr_data {
28092 Name = .MyDATA_0,
28093 hypervisor
28094}
28095
28096
28097attr_text {
28098 Name = .MyDATA_0,
28099 hypervisor
28100}
28101
28102.data
28103 .xword 0x10c798404b958c07
28104 .xword 0x2549f620f256392a
28105 .xword 0x773342efbe94d94e
28106 .xword 0x60d01de6433fe12d
28107 .xword 0xa147a6b744c64457
28108 .xword 0x50d73d88ad141e0a
28109 .xword 0x8fa3decd310059f0
28110 .xword 0xa36338e4ffe49c2c
28111 .xword 0xaf01b9bd2268ed69
28112 .xword 0x02c62c061cd32b3a
28113 .xword 0x58c81c80e7979bd6
28114 .xword 0x262cf4aa9317ef3c
28115 .xword 0x41b07e1fe833c0c4
28116 .xword 0xc8befeb08b2c77fa
28117 .xword 0xedcf8396b932ab6e
28118 .xword 0x45fd82cd1986c65e
28119 .xword 0x94faff790422b6e1
28120 .xword 0xf1f3cd50b0499c59
28121 .xword 0xa36a2d874043ba63
28122 .xword 0xf4db36d4287814b7
28123 .xword 0xb2a5560941bf3afa
28124 .xword 0x18f4944d1d2ea6fd
28125 .xword 0x1f265ffef94536b8
28126 .xword 0x3165a85c56625bec
28127 .xword 0x6aae6c8d8daa6eeb
28128 .xword 0xffce371bcb4260ea
28129 .xword 0xb086c889294f4fd4
28130 .xword 0xaa555a1762de40a4
28131 .xword 0x3816d3321c1c4b12
28132 .xword 0x5a506cc326c257e0
28133 .xword 0x45517b5dff1a10c7
28134 .xword 0x90c23562b61bb6d7
28135
28136
28137
28138SECTION .MyDATA_1 TEXT_VA = 0x00000000e0340000, DATA_VA = 0x0000000060340000
28139attr_data {
28140 Name = .MyDATA_1,
28141 RA = 0x0000000170300000,
28142 PA = ra2pa(0x0000000170300000,0),
28143 part_0_ctx_zero_tsb_config_0,
28144 part_0_ctx_nonzero_tsb_config_0,
28145 TTE_G = 1,
28146 TTE_Context = PCONTEXT,
28147 TTE_V = 1,
28148 TTE_Size = 1,
28149 TTE_NFO = 1,
28150 TTE_IE = 1,
28151 TTE_Soft2 = 0,
28152 TTE_Diag = 0,
28153 TTE_Soft = 0,
28154 TTE_L = 0,
28155 TTE_CP = 1,
28156 TTE_CV = 1,
28157 TTE_E = 1,
28158 TTE_P = 1,
28159 TTE_W = 1
28160}
28161
28162
28163attr_data {
28164 Name = .MyDATA_1,
28165 RA = 0x0000000170300000,
28166 PA = ra2pa(0x0000000170300000,0),
28167 part_0_ctx_zero_tsb_config_1,
28168 part_0_ctx_nonzero_tsb_config_1,
28169 TTE_G = 1,
28170 TTE_Context = SCONTEXT,
28171 TTE_V = 1,
28172 TTE_Size = 0,
28173 TTE_NFO = 1,
28174 TTE_IE = 1,
28175 TTE_Soft2 = 0,
28176 TTE_Diag = 0,
28177 TTE_Soft = 0,
28178 TTE_L = 0,
28179 TTE_CP = 1,
28180 TTE_CV = 0,
28181 TTE_E = 1,
28182 TTE_P = 0,
28183 TTE_W = 0,
28184 tsbonly
28185}
28186
28187
28188attr_data {
28189 Name = .MyDATA_1,
28190 hypervisor
28191}
28192
28193
28194attr_text {
28195 Name = .MyDATA_1,
28196 hypervisor
28197}
28198
28199.data
28200 .xword 0x379443e2e33727c0
28201 .xword 0x060dc829d18b3ed8
28202 .xword 0xa7cf7e79539ddbf1
28203 .xword 0xa48181e2cb119e84
28204 .xword 0xaa4cd57beb5c7b58
28205 .xword 0x1c388bd96cfa2b3e
28206 .xword 0x5cd55777cbbce3e0
28207 .xword 0xf0b3f39095ae4362
28208 .xword 0xc74916a467be37a6
28209 .xword 0xc112625366812427
28210 .xword 0x8ec131ffd48c55ba
28211 .xword 0x1969d52169ec7267
28212 .xword 0xc1265a43e76875ff
28213 .xword 0xb6e533f7d5cc943d
28214 .xword 0x7abdf6798443e570
28215 .xword 0xe1664b9152c3a258
28216 .xword 0xedb69b370b9207e3
28217 .xword 0x0a14170ac09b981f
28218 .xword 0x1b12ebf748ab815d
28219 .xword 0x671b1b9202650457
28220 .xword 0x097d11eed215f080
28221 .xword 0x2c043de684686daa
28222 .xword 0x432fd9ce282feaa3
28223 .xword 0x4343952385a03406
28224 .xword 0xef45b78607439be4
28225 .xword 0xcf881faed174412b
28226 .xword 0x2dccf059947a5208
28227 .xword 0x9f90413b2ec13fa6
28228 .xword 0x3f1c695cc2416963
28229 .xword 0xe24eed22f8331ef2
28230 .xword 0x2c7becbe36744170
28231 .xword 0x86675c3d743ec406
28232
28233
28234
28235SECTION .MyDATA_2 TEXT_VA = 0x00000000e0540000, DATA_VA = 0x0000000060540000
28236attr_data {
28237 Name = .MyDATA_2,
28238 RA = 0x0000000170500000,
28239 PA = ra2pa(0x0000000170500000,0),
28240 part_0_ctx_zero_tsb_config_0,
28241 part_0_ctx_nonzero_tsb_config_0,
28242 TTE_G = 1,
28243 TTE_Context = PCONTEXT,
28244 TTE_V = 1,
28245 TTE_Size = 1,
28246 TTE_NFO = 1,
28247 TTE_IE = 0,
28248 TTE_Soft2 = 0,
28249 TTE_Diag = 0,
28250 TTE_Soft = 0,
28251 TTE_L = 0,
28252 TTE_CP = 1,
28253 TTE_CV = 1,
28254 TTE_E = 0,
28255 TTE_P = 1,
28256 TTE_W = 0
28257}
28258
28259
28260attr_data {
28261 Name = .MyDATA_2,
28262 RA = 0x0000000170500000,
28263 PA = ra2pa(0x0000000170500000,0),
28264 part_0_ctx_zero_tsb_config_1,
28265 part_0_ctx_nonzero_tsb_config_1,
28266 TTE_G = 1,
28267 TTE_Context = SCONTEXT,
28268 TTE_V = 1,
28269 TTE_Size = 0,
28270 TTE_NFO = 1,
28271 TTE_IE = 0,
28272 TTE_Soft2 = 0,
28273 TTE_Diag = 0,
28274 TTE_Soft = 0,
28275 TTE_L = 0,
28276 TTE_CP = 0,
28277 TTE_CV = 1,
28278 TTE_E = 1,
28279 TTE_P = 1,
28280 TTE_W = 0,
28281 tsbonly
28282}
28283
28284
28285attr_data {
28286 Name = .MyDATA_2,
28287 hypervisor
28288}
28289
28290
28291attr_text {
28292 Name = .MyDATA_2,
28293 hypervisor
28294}
28295
28296.data
28297 .xword 0x70d05b3f5a86bd3c
28298 .xword 0x5bdb50ee349f8585
28299 .xword 0x5e012241b548e0ca
28300 .xword 0x7b240274a84c7a3d
28301 .xword 0xda38695161b9cb82
28302 .xword 0xac710535e9eb314b
28303 .xword 0x13cfa715ae5cef5a
28304 .xword 0x0b2a32b4115e502d
28305 .xword 0x899d83bfc6221bac
28306 .xword 0x1f4bf432e67c35be
28307 .xword 0x4c860ff452fd004c
28308 .xword 0x594a06700b4af609
28309 .xword 0xe0cbf450b945785e
28310 .xword 0xbae2aee12487edb9
28311 .xword 0x266eef8fd92cbec7
28312 .xword 0xcc8e616cd7e46353
28313 .xword 0xc2d061bb684be9be
28314 .xword 0xc13db7e2eb7e589c
28315 .xword 0xce858fa99aa3c2b1
28316 .xword 0x7608cfd9ad5520ab
28317 .xword 0x3a91d3ae7355f5d3
28318 .xword 0x31058b9abe852436
28319 .xword 0x6ec78d76183eaf99
28320 .xword 0xdee2dfa54a83c09d
28321 .xword 0x384fa7523bc408df
28322 .xword 0xe23ae61d901a691d
28323 .xword 0x3b4f882cba92f141
28324 .xword 0xc64285972cb3c464
28325 .xword 0xc0f9db177e604de7
28326 .xword 0x130b288be13901cd
28327 .xword 0xbe3b797cd8f52cea
28328 .xword 0x196b161f1ba9dff0
28329
28330
28331
28332SECTION .MyDATA_3 TEXT_VA = 0x00000000e0740000, DATA_VA = 0x0000000060740000
28333attr_data {
28334 Name = .MyDATA_3,
28335 RA = 0x0000000170700000,
28336 PA = ra2pa(0x0000000170700000,0),
28337 part_0_ctx_zero_tsb_config_0,
28338 part_0_ctx_nonzero_tsb_config_0,
28339 TTE_G = 1,
28340 TTE_Context = PCONTEXT,
28341 TTE_V = 1,
28342 TTE_Size = 3,
28343 TTE_NFO = 1,
28344 TTE_IE = 1,
28345 TTE_Soft2 = 0,
28346 TTE_Diag = 0,
28347 TTE_Soft = 0,
28348 TTE_L = 0,
28349 TTE_CP = 0,
28350 TTE_CV = 1,
28351 TTE_E = 1,
28352 TTE_P = 0,
28353 TTE_W = 0
28354}
28355
28356
28357attr_data {
28358 Name = .MyDATA_3,
28359 RA = 0x0000000170700000,
28360 PA = ra2pa(0x0000000170700000,0),
28361 part_0_ctx_zero_tsb_config_1,
28362 part_0_ctx_nonzero_tsb_config_1,
28363 TTE_G = 1,
28364 TTE_Context = SCONTEXT,
28365 TTE_V = 1,
28366 TTE_Size = 1,
28367 TTE_NFO = 0,
28368 TTE_IE = 0,
28369 TTE_Soft2 = 0,
28370 TTE_Diag = 0,
28371 TTE_Soft = 0,
28372 TTE_L = 0,
28373 TTE_CP = 1,
28374 TTE_CV = 0,
28375 TTE_E = 0,
28376 TTE_P = 1,
28377 TTE_W = 0,
28378 tsbonly
28379}
28380
28381
28382attr_data {
28383 Name = .MyDATA_3,
28384 hypervisor
28385}
28386
28387
28388attr_text {
28389 Name = .MyDATA_3,
28390 hypervisor
28391}
28392
28393.data
28394 .xword 0x7c79076098634d34
28395 .xword 0x3ad84c80e3a328d9
28396 .xword 0xb3db9646e4fe3126
28397 .xword 0xd1e3ee1a9435ff32
28398 .xword 0x5836c76e1a6990ea
28399 .xword 0x7121844e6ccee3e2
28400 .xword 0x97f66275eebb47c4
28401 .xword 0x07e9693ea40b4ea8
28402 .xword 0x2b433e5492401a85
28403 .xword 0x0da82f1484ea09e8
28404 .xword 0xe5f6f19d5d4a441a
28405 .xword 0x3af19ae7f91b162c
28406 .xword 0x2413d4fd46955b20
28407 .xword 0xf5633d1982eff253
28408 .xword 0x5f70d0f96921aa44
28409 .xword 0x02ca2b0c242db0b5
28410 .xword 0x56c896bde3752aa2
28411 .xword 0x12e07a5b242622bb
28412 .xword 0xbde1b8bae0a5fdfe
28413 .xword 0x933d27f28bd4a945
28414 .xword 0x33909519bd80754f
28415 .xword 0x065fa20fc19e7327
28416 .xword 0x55a12f018be6451d
28417 .xword 0xc9a74f9a569f9565
28418 .xword 0x9f6a4995146bbc8e
28419 .xword 0xb71e1963f52ad77b
28420 .xword 0x413bbb92cf22a98e
28421 .xword 0x4e31d062b8be18d7
28422 .xword 0x43cbe4ab7b840207
28423 .xword 0xda9e2e40f227abc2
28424 .xword 0x07d6b56407f135f2
28425 .xword 0xff2d71b5b3a6af7d
28426
28427
28428
28429
28430
28431SECTION .MyTEXT_0 TEXT_VA = 0x00000000e0200000
28432attr_text {
28433 Name = .MyTEXT_0,
28434 RA = 0x00000000e0200000,
28435 PA = ra2pa(0x00000000e0200000,0),
28436 part_0_ctx_zero_tsb_config_1,
28437 part_0_ctx_nonzero_tsb_config_1,
28438 TTE_G = 1,
28439 TTE_Context = PCONTEXT,
28440 TTE_V = 1,
28441 TTE_Size = 3,
28442 TTE_NFO = 0,
28443 TTE_IE = 1,
28444 TTE_Soft2 = 0,
28445 TTE_Diag = 0,
28446 TTE_Soft = 0,
28447 TTE_L = 0,
28448 TTE_CP = 1,
28449 TTE_CV = 1,
28450 TTE_E = 1,
28451 TTE_P = 1,
28452 TTE_W = 0
28453}
28454
28455.text
28456nuff_said_0:
28457 fdivd %f0, %f4, %f8
28458 jmpl %r27+8, %r0
28459 fdivs %f0, %f4, %f4
28460
28461
28462
28463SECTION .MyTEXT_1 TEXT_VA = 0x00000000e0a00000
28464attr_text {
28465 Name = .MyTEXT_1,
28466 RA = 0x00000000e0a00000,
28467 PA = ra2pa(0x00000000e0a00000,0),
28468 part_0_ctx_zero_tsb_config_1,
28469 part_0_ctx_nonzero_tsb_config_1,
28470 TTE_G = 1,
28471 TTE_Context = PCONTEXT,
28472 TTE_V = 1,
28473 TTE_Size = 3,
28474 TTE_NFO = 0,
28475 TTE_IE = 1,
28476 TTE_Soft2 = 0,
28477 TTE_Diag = 0,
28478 TTE_Soft = 0,
28479 TTE_L = 0,
28480 TTE_CP = 0,
28481 TTE_CV = 1,
28482 TTE_E = 1,
28483 TTE_P = 1,
28484 TTE_W = 1
28485}
28486
28487.text
28488nuff_said_1:
28489 fdivs %f0, %f4, %f6
28490 jmpl %r27+8, %r0
28491 fdivd %f0, %f4, %f6
28492
28493
28494
28495SECTION .MyTEXT_2 TEXT_VA = 0x00000000e1200000
28496attr_text {
28497 Name = .MyTEXT_2,
28498 RA = 0x00000000e1200000,
28499 PA = ra2pa(0x00000000e1200000,0),
28500 part_0_ctx_zero_tsb_config_1,
28501 part_0_ctx_nonzero_tsb_config_1,
28502 TTE_G = 1,
28503 TTE_Context = PCONTEXT,
28504 TTE_V = 1,
28505 TTE_Size = 3,
28506 TTE_NFO = 0,
28507 TTE_IE = 0,
28508 TTE_Soft2 = 0,
28509 TTE_Diag = 0,
28510 TTE_Soft = 0,
28511 TTE_L = 0,
28512 TTE_CP = 1,
28513 TTE_CV = 1,
28514 TTE_E = 0,
28515 TTE_P = 0,
28516 TTE_W = 1
28517}
28518
28519.text
28520nuff_said_2:
28521 fdivd %f0, %f4, %f4
28522 jmpl %r27+8, %r0
28523 fdivs %f0, %f4, %f6
28524
28525
28526
28527SECTION .MyTEXT_3 TEXT_VA = 0x00000000e1a00000
28528attr_text {
28529 Name = .MyTEXT_3,
28530 RA = 0x00000000e1a00000,
28531 PA = ra2pa(0x00000000e1a00000,0),
28532 part_0_ctx_zero_tsb_config_1,
28533 part_0_ctx_nonzero_tsb_config_1,
28534 TTE_G = 1,
28535 TTE_Context = PCONTEXT,
28536 TTE_V = 1,
28537 TTE_Size = 1,
28538 TTE_NFO = 0,
28539 TTE_IE = 1,
28540 TTE_Soft2 = 0,
28541 TTE_Diag = 0,
28542 TTE_Soft = 0,
28543 TTE_L = 0,
28544 TTE_CP = 1,
28545 TTE_CV = 1,
28546 TTE_E = 1,
28547 TTE_P = 1,
28548 TTE_W = 0
28549}
28550
28551.text
28552nuff_said_3:
28553 fdivs %f0, %f4, %f6
28554 jmpl %r27+8, %r0
28555 fdivd %f0, %f4, %f8
28556
28557
28558
28559
28560
28561SECTION .VaHOLE_0 TEXT_VA = 0x00007fffffffe000
28562attr_text {
28563 Name = .VaHOLE_0,
28564 RA = 0x00000000ffffe000,
28565 PA = ra2pa(0x00000000ffffe000,0),
28566 part_0_ctx_zero_tsb_config_1,
28567 part_0_ctx_nonzero_tsb_config_1,
28568 TTE_G = 1,
28569 TTE_Context = PCONTEXT,
28570 TTE_V = 1,
28571 TTE_Size = 3,
28572 TTE_NFO = 0,
28573 TTE_IE = 1,
28574 TTE_Soft2 = 0,
28575 TTE_Diag = 0,
28576 TTE_Soft = 0,
28577 TTE_L = 0,
28578 TTE_CP = 1,
28579 TTE_CV = 0,
28580 TTE_E = 0,
28581 TTE_P = 0,
28582 TTE_W = 1,
28583 TTE_X = 1
28584}
28585
28586.text
28587.global vahole_target0
28588.text
28589.global vahole_target1
28590.text
28591.global vahole_target2
28592.text
28593.global vahole_target3
28594 nop
28595.align 4096
28596 nop
28597.align 2048
28598 nop
28599.align 1024
28600 nop
28601.align 512
28602 nop
28603.align 256
28604 nop
28605.align 128
28606 nop
28607.align 64
28608 nop
28609 nop
28610.align 16
28611 nop;nop;nop
28612vahole_target0: nop;nop
28613vahole_target1: nop
28614vahole_target2: nop;nop;nop
28615vahole_target3: nop;nop;nop
28616
28617
28618
28619
28620
28621SECTION .VaHOLEL_0 TEXT_VA = 0x00000000ffffe000
28622attr_text {
28623 Name = .VaHOLEL_0,
28624 RA = 0x00000000ffffe000,
28625 PA = ra2pa(0x00000000ffffe000,0),
28626 part_0_ctx_zero_tsb_config_0,
28627 part_0_ctx_nonzero_tsb_config_0,
28628 TTE_G = 1,
28629 TTE_Context = PCONTEXT,
28630 TTE_V = 1,
28631 TTE_Size = 5,
28632 TTE_NFO = 0,
28633 TTE_IE = 0,
28634 TTE_Soft2 = 0,
28635 TTE_Diag = 0,
28636 TTE_Soft = 0,
28637 TTE_L = 0,
28638 TTE_CP = 0,
28639 TTE_CV = 0,
28640 TTE_E = 1,
28641 TTE_P = 0,
28642 TTE_W = 0,
28643 TTE_X = 1,
28644 tsbonly
28645}
28646
28647.text
28648 nop
28649
28650
28651
28652SECTION .MASKEDHOLE TEXT_VA = 0x0000000100000000
28653attr_text {
28654 Name = .MASKEDHOLE,
28655 RA = 0x0000000000000000,
28656 PA = ra2pa(0x0000000000000000,0),
28657 part_0_ctx_zero_tsb_config_3,
28658 part_0_ctx_nonzero_tsb_config_3,
28659 TTE_G = 1, TTE_Context = 0x44, TTE_V = 1, TTE_Size = 1,
28660 TTE_NFO = 0, TTE_IE = 1, TTE_Soft2 = 0, TTE_Diag = 0,
28661 TTE_Soft = 0, TTE_L = 0, TTE_CP = 1, TTE_CV = 0,
28662 TTE_E = 0, TTE_P = 0, TTE_W = 1, TTE_X = 1
28663 tsbonly
28664}
28665
28666
28667.text
28668 nop
28669 nop
28670 jmpl %r27+8, %r0
28671 nop
28672 nop
28673 nop
28674 nop
28675 nop
28676
28677
28678SECTION .ZERO_0 TEXT_VA = 0x0000000000000000
28679attr_text {
28680 Name = .ZERO_0,
28681 RA = 0x0000000000000000,
28682 PA = ra2pa(0x0000000000000000,0),
28683 part_0_ctx_zero_tsb_config_1,
28684 part_0_ctx_nonzero_tsb_config_1,
28685 TTE_G = 1,
28686 TTE_Context = 0x44,
28687 TTE_V = 1,
28688 TTE_Size = 3,
28689 TTE_NFO = 0,
28690 TTE_IE = 0,
28691 TTE_Soft2 = 0,
28692 TTE_Diag = 0,
28693 TTE_Soft = 0,
28694 TTE_L = 0,
28695 TTE_CP = 1,
28696 TTE_CV = 0,
28697 TTE_E = 1,
28698 TTE_P = 0,
28699 TTE_W = 1,
28700 TTE_X = 1
28701}
28702
28703.text
28704 nop
28705 nop
28706 jmpl %r27+8, %r0
28707 nop
28708
28709
28710
28711
28712
28713SECTION .VaHOLE_PA_0 TEXT_VA = 0x000000ffffffe000
28714attr_text {
28715 Name = .VAHOLE_PA_0,
28716 hypervisor
28717}
28718
28719 nop
28720.align 4096
28721 nop
28722.align 2048
28723 nop
28724.align 1024
28725 nop
28726.align 512
28727 nop
28728.align 256
28729 nop
28730.align 128
28731 nop
28732.align 64
28733 nop
28734 nop
28735.align 16
28736 nop;nop;nop
28737 nop
28738 nop
28739 jmpl %r27+8, %r0
28740 nop
28741 nop
28742 nop
28743 jmpl %r27+8, %r0
28744 nop
28745
28746
28747
28748#if 0
28749#endif
28750