Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / verif / diag / assembly / uarch / tlu / diag / tlu_rand05_ind_69.s
CommitLineData
86530b38
AT
1/*
2* ========== Copyright Header Begin ==========================================
3*
4* OpenSPARC T2 Processor File: tlu_rand05_ind_69.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# 419 "diag.j"
62# 5 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
63#ifndef T_HANDLER_RAND4_1
64#define T_HANDLER_RAND4_1 b .+16;\
65 sdiv %r1, %r0, %l4;nop;nop
66#endif
67#ifndef T_HANDLER_RAND7_1
68#define T_HANDLER_RAND7_1 b .+28;\
69 pdist %f4, %f6, %f20; \
70 nop; nop ; nop; nop; illtrap
71#endif
72#ifndef T_HANDLER_RAND4_2
73#define T_HANDLER_RAND4_2 save %i7, %g0, %i7; \
74 save %i7, %g0, %i7; \
75 restore %i7, %g0, %i7;\
76 restore %i7, %g0, %i7;
77#endif
78#ifndef T_HANDLER_RAND7_2
79#define T_HANDLER_RAND7_2 b .+8 ;\
80 rdpr %pstate, %l2;\
81 b .+8 ;\
82 rdpr %tstate, %l3;\
83 b .+12 ;\
84 wrpr %l3, %r0, %tstate; nop
85#endif
86#ifndef T_HANDLER_RAND4_3
87#define T_HANDLER_RAND4_3 save %i7, %g0, %i7;\
88 restore %i7, %g0, %i7;\
89 save %i7, %g0, %i7; \
90 restore %i7, %g0, %i7;
91#endif
92#ifndef T_HANDLER_RAND7_3
93#define T_HANDLER_RAND7_3 b .+8 ;\
94 rdpr %tnpc, %l2;\
95 and %l2, 0xfc0, %l2;\
96 add %i7, %l2, %l2;\
97 stda %f16,[%i7]ASI_BLOCK_AS_IF_USER_PRIMARY ;\
98 b .+8 ;\
99 stda %f0,[%i7]ASI_BLOCK_AS_IF_USER_PRIMARY_LITTLE ;
100#endif
101#ifndef T_HANDLER_RAND4_4
102#define T_HANDLER_RAND4_4 b .+4 ; b .+4; b .+4; b .+4
103#endif
104#ifndef T_HANDLER_RAND7_4
105#define T_HANDLER_RAND7_4 b .+8;\
106 save %i7, %g0, %i7; \
107 b,a .+8;\
108 b .+12;\
109 stw %i7, [%i7];\
110 b .-8;;\
111 restore %i7, %g0, %i7;
112
113#endif
114#ifndef T_HANDLER_RAND4_5
115#define T_HANDLER_RAND4_5 ldda [%r31]ASI_NUCLEUS_QUAD_LDD, %l4;\
116 sdiv %l4, %l5, %l7;\
117 add %r31, 128, %l5;\
118 stda %l4, [%i7]ASI_BLOCK_PRIMARY_LITTLE;
119#endif
120#ifndef T_HANDLER_RAND7_5
121#define T_HANDLER_RAND7_5 save %i7, %g0, %i7;\
122 rdpr %tnpc, %l2;\
123 wrpr %l2, %tpc;\
124 add %l2, 4, %l2;\
125 wrpr %l2, %tnpc;\
126 restore %i7, %g0, %i7;\
127 retry;
128#endif
129#ifndef T_HANDLER_RAND4_6
130#define T_HANDLER_RAND4_6 ldda [%r31]ASI_BLOCK_AS_IF_USER_PRIMARY, %l2;\
131 rd %fprs, %l2; \
132 wr %l2, 0x4, %fprs ;\
133 stda %f0,[%r31]ASI_BLOCK_AS_IF_USER_PRIMARY_LITTLE;
134#endif
135#ifndef T_HANDLER_RAND7_6
136#define T_HANDLER_RAND7_6 umul %o4, 2, %o5;\
137 rdpr %tnpc, %l2;\
138 wrpr %l2, %tpc;\
139 add %l2, 4, %l2;\
140 wrpr %l2, %tnpc;\
141 stw %l2, [%i7];\
142 retry;
143#endif
144!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
145#ifndef HT_HANDLER_RAND4_1
146#define HT_HANDLER_RAND4_1 mov 0x80, %l3;\
147 b .+12;\
148 stxa %l3, [%l3]0x57 ;\
149 nop
150#endif
151#ifndef HT_HANDLER_RAND7_1
152#define HT_HANDLER_RAND7_1 b .+28;\
153 pdist %f4, %f4, %f20;\
154 nop; nop ; nop; nop; illtrap
155#endif
156#ifndef HT_HANDLER_RAND4_2
157#define HT_HANDLER_RAND4_2 rdpr %tstate, %l2;\
158 b .+12;\
159 wrpr %l2, 0x800, %tstate;\
160 nop;
161#endif
162#ifndef HT_HANDLER_RAND7_2
163#define HT_HANDLER_RAND7_2 b .+8 ;\
164 rdhpr %hpstate, %l2;\
165 b .+8 ;\
166 rdhpr %htstate, %l3;\
167 b .+12 ;\
168 wrhpr %l3, %r0, %htstate; nop
169#endif
170#ifndef HT_HANDLER_RAND4_3
171#define HT_HANDLER_RAND4_3 stxa %l4, [%r31]ASI_AS_IF_USER_PRIMARY;\
172 mov 0x80, %l3;\
173 stxa %l3, [%l3]0x5f ;\
174 b .+8 ;\
175 ldxa [%r31]ASI_AS_IF_USER_PRIMARY, %l4;
176#endif
177#ifndef HT_HANDLER_RAND7_3
178#define HT_HANDLER_RAND7_3 b .+8 ;\
179 rdpr %tnpc, %l2;\
180 and %l2, 0xfc0, %l2;\
181 add %i7, %l2, %l2;\
182 stda %f16,[%i7]ASI_BLOCK_AS_IF_USER_PRIMARY ;\
183 b .+8 ;\
184 stda %f0,[%i7]ASI_BLOCK_AS_IF_USER_PRIMARY_LITTLE ;
185#endif
186#ifndef HT_HANDLER_RAND4_4
187#define HT_HANDLER_RAND4_4 ldda [%i7]ASI_BLOCK_AS_IF_USER_PRIMARY_LITTLE, %l3;\
188 b .+12 ;\
189 stxa %l3, [%g0]ASI_LSU_CONTROL; nop
190#endif
191#ifndef HT_HANDLER_RAND7_4
192#define HT_HANDLER_RAND7_4 rdpr %tnpc, %l3;\
193 and %l3, 0xff, %l3;\
194 sllx %l3, 26, %l3;\
195 ldxa [%g0]0x45, %l4;\
196 or %l3, %l4, %l3 ;\
197 stxa %l3, [%g0]0x45 ;\
198 nop;
199#endif
200#ifndef HT_HANDLER_RAND4_5
201#define HT_HANDLER_RAND4_5 ldda [%r31]ASI_NUCLEUS_QUAD_LDD, %l4;\
202 sdiv %l4, %l5, %l6;\
203 sdiv %l3, %l6, %l7;\
204 stda %f32, [%r31]ASI_BLOCK_PRIMARY_LITTLE;
205#endif
206#ifndef HT_HANDLER_RAND7_5
207#define HT_HANDLER_RAND7_5 save %i7, %g0, %i7;\
208 rdpr %tnpc, %l2;\
209 wrpr %l2, %tpc;\
210 add %l2, 4, %l2;\
211 wrpr %l2, %tnpc;\
212 restore %i7, %g0, %i7;\
213 retry;
214#endif
215#ifndef HT_HANDLER_RAND4_6
216#define HT_HANDLER_RAND4_6 ld [%r31], %l2;\
217 rd %fprs, %l2; \
218 wr %l2, 0x4, %fprs ;\
219 stda %f0,[%i7]ASI_BLOCK_AS_IF_USER_PRIMARY_LITTLE;
220#endif
221#ifndef HT_HANDLER_RAND7_6
222#define HT_HANDLER_RAND7_6 rdhpr %htstate, %o4;\
223 rdpr %tnpc, %l2;\
224 wrpr %l2, %tpc;\
225 add %l2, 4, %l2;\
226 wrpr %l2, %tnpc;\
227 wrhpr %o4, %r0, %htstate;\
228 retry;
229#endif
230
231!!!!!!!!!!!!!!!!!!!!!!!!!
232!! Disable trap checking
233#define NO_TRAPCHECK
234
235! Enable Traps
236#define ENABLE_T1_Privileged_Opcode_0x11
237#define ENABLE_T1_Fp_Disabled_0x20
238#define ENABLE_HT0_Watchdog_Reset_0x02
239
240#define FILL_TRAP_RETRY
241#define SPILL_TRAP_RETRY
242#define CLEAN_WIN_RETRY
243
244#define My_RED_Mode_Other_Reset
245#define My_RED_Mode_Other_Reset \
246 ba red_other_ext;\
247 nop;retry;nop;nop;nop;nop;nop
248
249#define H_HT0_Software_Initiated_Reset_0x04
250#define SUN_H_HT0_Software_Initiated_Reset_0x04 \
251 setx Software_Reset_Handler, %g1, %g2 ;\
252 jmp %g2 ;\
253 nop
254# 198 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
255#define H_T1_Clean_Window_0x24
256#define SUN_H_T1_Clean_Window_0x24 \
257 rdpr %cleanwin, %l1;\
258 add %l1,1,%l1;\
259 wrpr %l1, %g0, %cleanwin;\
260 retry; nop; nop; nop; nop
261
262#define H_T1_Clean_Window_0x25
263#define SUN_H_T1_Clean_Window_0x25 \
264 rdpr %cleanwin, %l1;\
265 add %l1,1,%l1;\
266 wrpr %l1, %g0, %cleanwin;\
267 retry; nop; nop; nop; nop
268
269#define H_T1_Clean_Window_0x26
270#define SUN_H_T1_Clean_Window_0x26 \
271 rdpr %cleanwin, %l1;\
272 add %l1,1,%l1;\
273 wrpr %l1, %g0, %cleanwin;\
274 retry; nop; nop; nop; nop
275
276#define H_T1_Clean_Window_0x27
277#define SUN_H_T1_Clean_Window_0x27 \
278 rdpr %cleanwin, %l1;\
279 add %l1,1,%l1;\
280 wrpr %l1, %g0, %cleanwin;\
281 retry; nop; nop; nop; nop
282# 227 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
283#define H_HT0_Tag_Overflow
284#define My_HT0_Tag_Overflow \
285 HT_HANDLER_RAND7_1 ;\
286 done
287
288#define H_T0_Tag_Overflow
289#define My_T0_Tag_Overflow \
290 T_HANDLER_RAND7_2 ;\
291 done
292
293#define H_T1_Tag_Overflow_0x23
294#define SUN_H_T1_Tag_Overflow_0x23 \
295 T_HANDLER_RAND7_3 ;\
296 done
297
298#define H_T0_Window_Spill_0_Normal_Trap
299#define SUN_H_T0_Window_Spill_0_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
300
301#define H_T0_Window_Spill_1_Normal_Trap
302#define SUN_H_T0_Window_Spill_1_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
303
304#define H_T0_Window_Spill_2_Normal_Trap
305#define SUN_H_T0_Window_Spill_2_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
306
307#define H_T0_Window_Spill_3_Normal_Trap
308#define SUN_H_T0_Window_Spill_3_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
309
310#define H_T0_Window_Spill_4_Normal_Trap
311#define SUN_H_T0_Window_Spill_4_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
312
313#define H_T0_Window_Spill_5_Normal_Trap
314#define SUN_H_T0_Window_Spill_5_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
315
316#define H_T0_Window_Spill_6_Normal_Trap
317#define SUN_H_T0_Window_Spill_6_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
318
319#define H_T0_Window_Spill_7_Normal_Trap
320#define SUN_H_T0_Window_Spill_7_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
321
322#define H_T0_Window_Spill_0_Other_Trap
323#define SUN_H_T0_Window_Spill_0_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
324
325#define H_T0_Window_Spill_1_Other_Trap
326#define SUN_H_T0_Window_Spill_1_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
327
328#define H_T0_Window_Spill_2_Other_Trap
329#define SUN_H_T0_Window_Spill_2_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
330
331#define H_T0_Window_Spill_3_Other_Trap
332#define SUN_H_T0_Window_Spill_3_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
333
334#define H_T0_Window_Spill_4_Other_Trap
335#define SUN_H_T0_Window_Spill_4_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
336
337#define H_T0_Window_Spill_5_Other_Trap
338#define SUN_H_T0_Window_Spill_5_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
339
340#define H_T0_Window_Spill_6_Other_Trap
341#define SUN_H_T0_Window_Spill_6_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
342
343#define H_T0_Window_Spill_7_Other_Trap
344#define SUN_H_T0_Window_Spill_7_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
345
346#define H_T0_Window_Fill_0_Normal_Trap
347#define SUN_H_T0_Window_Fill_0_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
348
349#define H_T0_Window_Fill_1_Normal_Trap
350#define SUN_H_T0_Window_Fill_1_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
351
352#define H_T0_Window_Fill_2_Normal_Trap
353#define SUN_H_T0_Window_Fill_2_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
354
355#define H_T0_Window_Fill_3_Normal_Trap
356#define SUN_H_T0_Window_Fill_3_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
357
358#define H_T0_Window_Fill_4_Normal_Trap
359#define SUN_H_T0_Window_Fill_4_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
360
361#define H_T0_Window_Fill_5_Normal_Trap
362#define SUN_H_T0_Window_Fill_5_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
363
364#define H_T0_Window_Fill_6_Normal_Trap
365#define SUN_H_T0_Window_Fill_6_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
366
367#define H_T0_Window_Fill_7_Normal_Trap
368#define SUN_H_T0_Window_Fill_7_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
369
370#define H_T0_Window_Fill_0_Other_Trap
371#define SUN_H_T0_Window_Fill_0_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
372
373#define H_T0_Window_Fill_1_Other_Trap
374#define SUN_H_T0_Window_Fill_1_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
375
376#define H_T0_Window_Fill_2_Other_Trap
377#define SUN_H_T0_Window_Fill_2_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
378
379#define H_T0_Window_Fill_3_Other_Trap
380#define SUN_H_T0_Window_Fill_3_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
381
382#define H_T0_Window_Fill_4_Other_Trap
383#define SUN_H_T0_Window_Fill_4_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
384
385#define H_T0_Window_Fill_5_Other_Trap
386#define SUN_H_T0_Window_Fill_5_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
387
388#define H_T0_Window_Fill_6_Other_Trap
389#define SUN_H_T0_Window_Fill_6_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
390
391#define H_T0_Window_Fill_7_Other_Trap
392#define SUN_H_T0_Window_Fill_7_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
393# 339 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
394#define H_T1_Window_Spill_0_Normal_Trap
395#define SUN_H_T1_Window_Spill_0_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
396
397#define H_T1_Window_Spill_1_Normal_Trap
398#define SUN_H_T1_Window_Spill_1_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
399
400#define H_T1_Window_Spill_2_Normal_Trap
401#define SUN_H_T1_Window_Spill_2_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
402
403#define H_T1_Window_Spill_3_Normal_Trap
404#define SUN_H_T1_Window_Spill_3_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
405
406#define H_T1_Window_Spill_4_Normal_Trap
407#define SUN_H_T1_Window_Spill_4_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
408
409#define H_T1_Window_Spill_5_Normal_Trap
410#define SUN_H_T1_Window_Spill_5_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
411
412#define H_T1_Window_Spill_6_Normal_Trap
413#define SUN_H_T1_Window_Spill_6_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
414
415#define H_T1_Window_Spill_7_Normal_Trap
416#define SUN_H_T1_Window_Spill_7_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
417
418#define H_T1_Window_Spill_0_Other_Trap
419#define SUN_H_T1_Window_Spill_0_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
420
421#define H_T1_Window_Spill_1_Other_Trap
422#define SUN_H_T1_Window_Spill_1_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
423
424#define H_T1_Window_Spill_2_Other_Trap
425#define SUN_H_T1_Window_Spill_2_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
426
427#define H_T1_Window_Spill_3_Other_Trap
428#define SUN_H_T1_Window_Spill_3_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
429
430#define H_T1_Window_Spill_4_Other_Trap
431#define SUN_H_T1_Window_Spill_4_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
432
433#define H_T1_Window_Spill_5_Other_Trap
434#define SUN_H_T1_Window_Spill_5_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
435
436#define H_T1_Window_Spill_6_Other_Trap
437#define SUN_H_T1_Window_Spill_6_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
438
439#define H_T1_Window_Spill_7_Other_Trap
440#define SUN_H_T1_Window_Spill_7_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
441
442#define H_T1_Window_Fill_0_Normal_Trap
443#define SUN_H_T1_Window_Fill_0_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
444
445#define H_T1_Window_Fill_1_Normal_Trap
446#define SUN_H_T1_Window_Fill_1_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
447
448#define H_T1_Window_Fill_2_Normal_Trap
449#define SUN_H_T1_Window_Fill_2_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
450
451#define H_T1_Window_Fill_3_Normal_Trap
452#define SUN_H_T1_Window_Fill_3_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
453
454#define H_T1_Window_Fill_4_Normal_Trap
455#define SUN_H_T1_Window_Fill_4_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
456
457#define H_T1_Window_Fill_5_Normal_Trap
458#define SUN_H_T1_Window_Fill_5_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
459
460#define H_T1_Window_Fill_6_Normal_Trap
461#define SUN_H_T1_Window_Fill_6_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
462
463#define H_T1_Window_Fill_7_Normal_Trap
464#define SUN_H_T1_Window_Fill_7_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
465
466#define H_T1_Window_Fill_0_Other_Trap
467#define SUN_H_T1_Window_Fill_0_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
468
469#define H_T1_Window_Fill_1_Other_Trap
470#define SUN_H_T1_Window_Fill_1_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
471
472#define H_T1_Window_Fill_2_Other_Trap
473#define SUN_H_T1_Window_Fill_2_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
474
475#define H_T1_Window_Fill_3_Other_Trap
476#define SUN_H_T1_Window_Fill_3_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
477
478#define H_T1_Window_Fill_4_Other_Trap
479#define SUN_H_T1_Window_Fill_4_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
480
481#define H_T1_Window_Fill_5_Other_Trap
482#define SUN_H_T1_Window_Fill_5_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
483
484#define H_T1_Window_Fill_6_Other_Trap
485#define SUN_H_T1_Window_Fill_6_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
486
487#define H_T1_Window_Fill_7_Other_Trap
488#define SUN_H_T1_Window_Fill_7_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
489
490#define H_T0_Trap_Instruction_0
491#define My_T0_Trap_Instruction_0 \
492 T_HANDLER_RAND7_5 ;\
493 done;
494
495#define H_T0_Trap_Instruction_1
496#define My_T0_Trap_Instruction_1 \
497 T_HANDLER_RAND7_6 ;\
498 done;
499
500#define H_T0_Trap_Instruction_2
501#define My_T0_Trap_Instruction_2 \
502 inc %o3;\
503 umul %o3, 2, %o4;\
504 ba 1f; \
505 save %i7, %g0, %i7; \
506 2: done; \
507 nop; \
508 1: ba 2b; \
509 restore %i7, %g0, %i7
510#define H_T0_Trap_Instruction_3
511#define My_T0_Trap_Instruction_3 \
512 save %i7, %g0, %i7 ;\
513 T_HANDLER_RAND4_5;\
514 stw %o4, [%i7];\
515 restore %i7, %g0, %i7 ;\
516 done
517#define H_T0_Trap_Instruction_4
518#define My_T0_Trap_Instruction_4 \
519 T_HANDLER_RAND7_6 ;\
520 done;
521
522#define H_T0_Trap_Instruction_5
523#define My_T0_Trap_Instruction_5 \
524 T_HANDLER_RAND4_5;\
525 done;
526
527#define H_T1_Trap_Instruction_0
528#define My_T1_Trap_Instruction_0 \
529 inc %o4;\
530 umul %o4, 2, %o5;\
531 ba 3f; \
532 save %i7, %g0, %i7; \
533 4: done; \
534 nop; \
535 3: ba 4b; \
536 restore %i7, %g0, %i7
537#define H_T1_Trap_Instruction_1
538#define My_T1_Trap_Instruction_1 \
539 T_HANDLER_RAND7_3;\
540 done
541#define H_T1_Trap_Instruction_2
542#define My_T1_Trap_Instruction_2 \
543 inc %o3;\
544 umul %o3, 2, %o4;\
545 ba 5f; \
546 save %i7, %g0, %i7; \
547 6: done; \
548 nop; \
549 5: ba 6b; \
550 restore %i7, %g0, %i7
551#define H_T1_Trap_Instruction_3
552#define My_T1_Trap_Instruction_3 \
553 T_HANDLER_RAND4_1;\
554 done;
555
556#define H_T1_Trap_Instruction_4
557#define My_T1_Trap_Instruction_4 \
558 T_HANDLER_RAND7_1;\
559 done;
560#define H_T1_Trap_Instruction_5
561#define My_T1_Trap_Instruction_5 \
562 T_HANDLER_RAND7_2;\
563 done
564#define H_HT0_Trap_Instruction_0
565#define My_HT0_Trap_Instruction_0 \
566 HT_HANDLER_RAND4_1 ;\
567 done;
568#define H_HT0_Trap_Instruction_1
569#define My_HT0_Trap_Instruction_1 \
570 HT_HANDLER_RAND4_3 ;\
571 done
572#define H_HT0_Trap_Instruction_2
573#define My_HT0_Trap_Instruction_2 \
574 HT_HANDLER_RAND7_5 ;\
575 done;
576#define H_HT0_Trap_Instruction_3
577#define My_HT0_Trap_Instruction_3 \
578 HT_HANDLER_RAND4_5 ;\
579 done
580#define H_HT0_Trap_Instruction_4
581#define My_HT0_Trap_Instruction_4 \
582 HT_HANDLER_RAND7_4 ;\
583 done
584#define H_HT0_Trap_Instruction_5
585#define My_HT0_Trap_Instruction_5 \
586 ba htrap_5_ext;\
587 nop; retry;\
588 nop; nop; nop; nop; nop
589
590#define H_HT0_Mem_Address_Not_Aligned_0x34
591#define My_HT0_Mem_Address_Not_Aligned_0x34 \
592 HT_HANDLER_RAND4_2 ;\
593 done ;
594#define H_HT0_Illegal_instruction_0x10
595#define My_HT0_Illegal_instruction_0x10 \
596 HT_HANDLER_RAND4_2 ;\
597 done;
598
599#define H_HT0_DAE_so_page_0x30
600#define My_HT0_DAE_so_page_0x30 \
601 HT_HANDLER_RAND4_2;\
602 done;
603#define H_HT0_DAE_invalid_asi_0x14
604#define SUN_H_HT0_DAE_invalid_asi_0x14 \
605 HT_HANDLER_RAND4_3 ;\
606 done
607#define H_HT0_DAE_privilege_violation_0x15
608#define SUN_H_HT0_DAE_privilege_violation_0x15 \
609 HT_HANDLER_RAND4_4 ;\
610 done;
611#define H_HT0_Privileged_Action_0x37
612#define My_HT0_Privileged_Action_0x37 \
613 done; \
614 nop; nop
615#define H_HT0_Lddf_Mem_Address_Not_Aligned_0x35
616#define My_HT0_Lddf_Mem_Address_Not_Aligned_0x35 \
617 HT_HANDLER_RAND4_3 ;\
618 done
619#define H_HT0_Stdf_Mem_Address_Not_Aligned_0x36
620#define My_HT0_Stdf_Mem_Address_Not_Aligned_0x36 \
621 HT_HANDLER_RAND7_1;\
622 done
623#define H_HT0_Fp_exception_ieee_754_0x21
624#define My_HT0_Fp_exception_ieee_754_0x21 \
625 HT_HANDLER_RAND4_2 ;\
626 done
627#define H_HT0_Fp_exception_other_0x22
628#define My_HT0_Fp_exception_other_0x22 \
629 HT_HANDLER_RAND7_2 ;\
630 done
631#define H_HT0_Division_By_Zero
632#define My_HT0_Division_By_Zero \
633 HT_HANDLER_RAND4_6;\
634 done
635#define H_T0_Division_By_Zero
636#define My_T0_Division_By_Zero \
637 T_HANDLER_RAND4_3;\
638 done
639#define H_T1_Division_By_Zero_0x28
640#define My_H_T1_Division_By_Zero_0x28 \
641 T_HANDLER_RAND4_3;\
642 done
643#define H_T0_Division_By_Zero
644#define My_T0_Division_By_Zero\
645 T_HANDLER_RAND4_4 ;\
646 done
647#define H_T0_Fp_exception_ieee_754_0x21
648#define My_T0_Fp_exception_ieee_754_0x21 \
649 T_HANDLER_RAND4_3 ;\
650 done
651#define H_T1_Fp_Exception_Ieee_754_0x21
652#define My_H_T1_Fp_Exception_Ieee_754_0x21 \
653 T_HANDLER_RAND4_4 ;\
654 done
655#define H_T1_Fp_Exception_Other_0x22
656#define My_H_T1_Fp_Exception_Other_0x22 \
657 T_HANDLER_RAND4_5 ;\
658 done
659#define H_T1_Privileged_Opcode_0x11
660#define SUN_H_T1_Privileged_Opcode_0x11 \
661 T_HANDLER_RAND4_6 ;\
662 done
663
664#define H_HT0_Privileged_opcode_0x11
665#define My_HT0_Privileged_opcode_0x11 \
666 HT_HANDLER_RAND4_1;\
667 done;
668
669#define H_HT0_Fp_disabled_0x20
670#define My_HT0_Fp_disabled_0x20 \
671 mov 0x4, %l2 ;\
672 wr %l2, 0x0, %fprs ;\
673 sllx %l2, 10, %l3; \
674 rdpr %tstate, %l2;\
675 or %l2, %l3, %l2 ;\
676 stw %l2, [%i7];\
677 wrpr %l2, 0x0, %tstate;\
678 retry;
679
680#define H_T0_Fp_disabled_0x20
681#define My_T0_Fp_disabled_0x20 \
682 mov 0x4, %l2 ;\
683 wr %l2, 0x0, %fprs ;\
684 sllx %l2, 10, %l3; \
685 rdpr %tstate, %l2;\
686 or %l2, %l3, %l2 ;\
687 wrpr %l2, 0x0, %tstate;\
688 retry; nop
689
690#define H_T1_Fp_Disabled_0x20
691#define My_H_T1_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 stw %l2, [%i7];\
699 retry
700
701#define H_HT0_Watchdog_Reset_0x02
702#define My_HT0_Watchdog_Reset_0x02 \
703 ba wdog_2_ext;\
704 nop;retry;nop;nop;nop;nop;nop
705
706#define H_T0_Privileged_opcode_0x11
707#define My_T0_Privileged_opcode_0x11 \
708 T_HANDLER_RAND4_4;\
709 done
710
711#define H_T1_Fp_exception_other_0x22
712#define My_T1_Fp_exception_other_0x22 \
713 T_HANDLER_RAND7_3 ;\
714 done;
715
716#define H_T0_Fp_exception_other_0x22
717#define My_T0_Fp_exception_other_0x22 \
718 T_HANDLER_RAND7_4;\
719 done
720
721#define H_HT0_Trap_Level_Zero_0x5f
722#define My_HT0_Trap_Level_Zero_0x5f \
723 not %g0, %r13; \
724 rdhpr %hpstate, %l3;\
725 jmp %r13;\
726 rdhpr %htstate, %l3;\
727 and %l3, 0xfe, %l3;\
728 wrhpr %l3, 0, %htstate;\
729 stw %r13, [%i7];\
730 retry
731
732#define My_Watchdog_Reset
733#define My_Watchdog_Reset \
734 ba wdog_red_ext;\
735 nop;retry;nop;nop;nop;nop;nop
736
737#define H_HT0_Control_Transfer_Instr_0x74
738#define My_H_HT0_Control_Transfer_Instr_0x74 \
739 rdpr %tstate, %l3;\
740 mov 1, %l4;\
741 sllx %l4, 20, %l4;\
742 wrpr %l3, %l4, %tstate ;\
743 retry;nop;
744
745#define H_T0_Control_Transfer_Instr_0x74
746#define My_H_T0_Control_Transfer_Instr_0x74 \
747 rdpr %tstate, %l3;\
748 mov 1, %l4;\
749 sllx %l4, 20, %l4;\
750 wrpr %l3, %l4, %tstate ;\
751 retry;nop;
752
753#define H_T1_Control_Transfer_Instr_0x74
754#define My_H_T1_Control_Transfer_Instr_0x74 \
755 rdpr %tstate, %l3;\
756 mov 1, %l4;\
757 sllx %l4, 20, %l4;\
758 wrpr %l3, %l4, %tstate ;\
759 retry;nop;
760# 707 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
761#define H_HT0_data_access_protection_0x6c
762#define SUN_H_HT0_data_access_protection_0x6c ba daccess_prot_handler; nop
763
764#define H_HT0_PA_Watchpoint_0x61
765#define My_H_HT0_PA_Watchpoint_0x61 \
766 HT_HANDLER_RAND7_4;\
767 done
768
769#ifndef H_HT0_Data_access_error_0x32
770#define H_HT0_Data_access_error_0x32
771#define SUN_H_HT0_Data_access_error_0x32 \
772 done;nop
773#endif
774# 722 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
775#define H_T0_VA_Watchpoint_0x62
776#define My_T0_VA_Watchpoint_0x62 \
777 T_HANDLER_RAND7_5;\
778 done
779
780#define H_T1_VA_Watchpoint_0x62
781#define SUN_H_T1_VA_Watchpoint_0x62 \
782 T_HANDLER_RAND7_3;\
783 done
784
785#define H_HT0_VA_Watchpoint_0x62
786#define My_H_HT0_VA_Watchpoint_0x62 \
787 HT_HANDLER_RAND7_5;\
788 done
789
790#define H_HT0_Instruction_VA_Watchpoint_0x75
791#define SUN_H_HT0_Instruction_VA_Watchpoint_0x75 \
792 done;
793
794#define H_HT0_Instruction_Breakpoint_0x76
795#define SUN_H_HT0_Instruction_Breakpoint_0x76 \
796 rdhpr %htstate, %g1;\
797 wrhpr %g1, 0x400, %htstate;\
798 retry;nop
799# 748 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
800#define H_HT0_Instruction_address_range_0x0d
801#define SUN_H_HT0_Instruction_address_range_0x0d \
802 HT_HANDLER_RAND4_1;\
803 done;
804
805#define H_HT0_mem_real_range_0x2d
806#define SUN_H_HT0_mem_real_range_0x2d \
807 HT_HANDLER_RAND4_2;\
808 done;
809# 759 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
810#define H_HT0_mem_address_range_0x2e
811#define SUN_H_HT0_mem_address_range_0x2e \
812 HT_HANDLER_RAND4_3;\
813 done;
814
815#define H_HT0_DAE_nc_page_0x16
816#define SUN_H_HT0_DAE_nc_page_0x16 \
817 HT_HANDLER_RAND4_4;\
818 done;
819
820#define H_HT0_DAE_nfo_page_0x17
821#define SUN_H_HT0_DAE_nfo_page_0x17 \
822 HT_HANDLER_RAND4_5;\
823 done;
824# 775 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
825#define H_HT0_IAE_unauth_access_0x0b
826#define SUN_H_HT0_IAE_unauth_access_0x0b \
827 HT_HANDLER_RAND7_3;\
828 done;
829# 781 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
830#define H_HT0_IAE_nfo_page_0x0c
831#define SUN_H_HT0_IAE_nfo_page_0x0c \
832 HT_HANDLER_RAND7_6;\
833 done;
834# 787 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
835#define H_HT0_Reserved_0x3b
836#define SUN_H_HT0_Reserved_0x3b \
837 mov 0x80, %l3;\
838 stxa %l3, [%l3]0x5f ;\
839 stxa %l3, [%l3]0x57 ;\
840 done;
841# 797 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_trap_handlers.s"
842#define H_HT0_IAE_privilege_violation_0x08
843#define My_HT0_IAE_privilege_violation_0x08 \
844 HT_HANDLER_RAND7_2;\
845 done;
846
847#ifndef H_HT0_Instruction_Access_MMU_Error_0x71
848#define H_HT0_Instruction_Access_MMU_Error_0x71
849#define SUN_H_HT0_Instruction_Access_MMU_Error_0x71 \
850 mov 0x80, %l3;\
851 stxa %l3, [%l3]0x5f ;\
852 stxa %l3, [%l3]0x57 ;\
853 retry;
854#endif
855
856#ifndef H_HT0_Data_Access_MMU_Error_0x72
857#define H_HT0_Data_Access_MMU_Error_0x72
858#define SUN_H_HT0_Data_Access_MMU_Error_0x72 \
859 mov 0x80, %l3;\
860 stxa %l3, [%l3]0x5f ;\
861 stxa %l3, [%l3]0x57 ;\
862 retry;
863#endif
864
865!!!!!!!!!!!!!!!!!!!!!! END of all handlers !!!!!!!!!!!!!!!!!!!
866# 12 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_intr_handlers.s"
867!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
868!!!!!!!!!!!!!!!! START of Interrupt Handlers !!!!!!!!!!!!!!!!!
869
870#ifndef INT_HANDLER_RAND4_1
871#define INT_HANDLER_RAND4_1 retry; nop; nop; nop
872#endif
873#ifndef INT_HANDLER_RAND7_1
874#define INT_HANDLER_RAND7_1 mov 0x20,%g1; mov 1, %g2;stxa %g2,[%g1]0x40
875#endif
876#ifndef INT_HANDLER_RAND4_2
877#define INT_HANDLER_RAND4_2 retry; nop; nop; nop
878#endif
879#ifndef INT_HANDLER_RAND7_2
880#define INT_HANDLER_RAND7_2 mov 0x80,%g1;stxa %g0,[%g1]0x40
881#endif
882#ifndef INT_HANDLER_RAND4_3
883#define INT_HANDLER_RAND4_3 retry; nop; nop; nop
884#endif
885#ifndef INT_HANDLER_RAND7_3
886#define INT_HANDLER_RAND7_3 retry; nop; nop; nop ; nop; nop; nop
887#endif
888#define H_HT0_Externally_Initiated_Reset_0x03
889#define SUN_H_HT0_Externally_Initiated_Reset_0x03 \
890 ldxa [%g0] ASI_LSU_CTL_REG, %g1; \
891 set cregs_lsu_ctl_reg_r64, %g1; \
892 stxa %g1, [%g0] ASI_LSU_CTL_REG; \
893 retry;nop
894
895#define My_External_Reset \
896 ldxa [%g0] ASI_LSU_CTL_REG, %l5; \
897 set cregs_lsu_ctl_reg_r64, %l5; \
898 stxa %l5, [%g0] ASI_LSU_CTL_REG; \
899 retry;nop
900
901!!!!! SPU Interrupt Handlers
902
903#define H_HT0_Control_Word_Queue_Interrupt_0x3c
904#define My_HT0_Control_Word_Queue_Interrupt_0x3c \
905 INT_HANDLER_RAND7_1 ;\
906 retry ;
907
908#define H_HT0_Modular_Arithmetic_Interrupt_0x3d
909#define My_H_HT0_Modular_Arithmetic_Interrupt_0x3d \
910 INT_HANDLER_RAND7_2 ;\
911 retry ;
912# 59 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_intr_handlers.s"
913!!!!! HW interrupt handlers
914
915#define H_HT0_Interrupt_0x60
916#define My_HT0_Interrupt_0x60 \
917 ldxa [%g0] ASI_SWVR_INTR_RECEIVE, %g5 ;\
918 ldxa [%g0] ASI_SWVR_INTR_R, %g4 ;\
919 ldxa [%g0] ASI_SWVR_INTR_RECEIVE, %g3 ;\
920 INT_HANDLER_RAND4_1 ;\
921 retry;
922
923!!!!! Queue interrupt handler
924# 72 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_intr_handlers.s"
925#define H_T0_Cpu_Mondo_Trap_0x7c
926#define My_T0_Cpu_Mondo_Trap_0x7c \
927 mov 0x3c8, %g3; \
928 ldxa [%g3] 0x25, %g5; \
929 mov 0x3c0, %g3; \
930 stxa %g5, [%g3] 0x25; \
931 retry; \
932 nop; \
933 nop; \
934 nop
935
936#define H_T0_Dev_Mondo_Trap_0x7d
937#define My_T0_Dev_Mondo_Trap_0x7d \
938 mov 0x3d8, %g3; \
939 ldxa [%g3] 0x25, %g5; \
940 mov 0x3d0, %g3; \
941 stxa %g5, [%g3] 0x25; \
942 retry; \
943 nop; \
944 nop; \
945 nop
946
947#define H_T0_Resumable_Error_0x7e
948#define My_T0_Resumable_Error_0x7e \
949 mov 0x3e8, %g3; \
950 ldxa [%g3] 0x25, %g5; \
951 mov 0x3e0, %g3; \
952 stxa %g5, [%g3] 0x25; \
953 retry; \
954 nop; \
955 nop; \
956 nop
957
958#define H_T1_Cpu_Mondo_Trap_0x7c
959#define My_T1_Cpu_Mondo_Trap_0x7c \
960 mov 0x3c8, %g3; \
961 ldxa [%g3] 0x25, %g5; \
962 mov 0x3c0, %g3; \
963 stxa %g5, [%g3] 0x25; \
964 retry; \
965 nop; \
966 nop; \
967 nop
968
969#define H_T1_Dev_Mondo_Trap_0x7d
970#define My_T1_Dev_Mondo_Trap_0x7d \
971 mov 0x3d8, %g3; \
972 ldxa [%g3] 0x25, %g5; \
973 mov 0x3d0, %g3; \
974 stxa %g5, [%g3] 0x25; \
975 retry; \
976 nop; \
977 nop; \
978 nop
979
980#define H_T1_Resumable_Error_0x7e
981#define My_T1_Resumable_Error_0x7e \
982 mov 0x3e8, %g3; \
983 ldxa [%g3] 0x25, %g5; \
984 mov 0x3e0, %g3; \
985 stxa %g5, [%g3] 0x25; \
986 retry; \
987 nop; \
988 nop; \
989 nop
990
991#define H_HT0_Reserved_0x7c
992#define SUN_H_HT0_Reserved_0x7c \
993 mov 0x3c8, %g3; \
994 ldxa [%g3] 0x25, %g5; \
995 mov 0x3c0, %g3; \
996 stxa %g5, [%g3] 0x25; \
997 retry; \
998 nop; \
999 nop; \
1000 nop
1001
1002#define H_HT0_Reserved_0x7d
1003#define SUN_H_HT0_Reserved_0x7d \
1004 mov 0x3d8, %g3; \
1005 ldxa [%g3] 0x25, %g5; \
1006 mov 0x3d0, %g3; \
1007 stxa %g5, [%g3] 0x25; \
1008 retry; \
1009 nop; \
1010 nop; \
1011 nop
1012
1013#define H_HT0_Reserved_0x7e
1014#define SUN_H_HT0_Reserved_0x7e \
1015 mov 0x3e8, %g3; \
1016 ldxa [%g3] 0x25, %g5; \
1017 mov 0x3e0, %g3; \
1018 stxa %g5, [%g3] 0x25; \
1019 retry; \
1020 nop; \
1021 nop; \
1022 nop
1023# 172 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_intr_handlers.s"
1024!!!!! Hstick-match trap handler
1025# 175 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_intr_handlers.s"
1026#define H_T0_Reserved_0x5e
1027#define My_T0_Reserved_0x5e \
1028 rdhpr %hintp, %g3; \
1029 wrhpr %g3, %g3, %hintp; \
1030 retry; \
1031 nop; \
1032 nop; \
1033 nop; \
1034 nop; \
1035 nop
1036
1037#define H_HT0_Hstick_Match_0x5e
1038#define My_HT0_Hstick_Match_0x5e \
1039 rdhpr %hintp, %g3; \
1040 wrhpr %g3, %g3, %hintp; \
1041 retry; \
1042 nop; \
1043 nop; \
1044 nop; \
1045 nop; \
1046 nop
1047
1048#define H_T0_Reserved_0x5e
1049#define My_T0_Reserved_0x5e \
1050 rdhpr %hintp, %g3; \
1051 wrhpr %g3, %g3, %hintp; \
1052 retry; \
1053 nop; \
1054 nop; \
1055 nop; \
1056 nop; \
1057 nop
1058
1059#define H_T1_Reserved_0x5e
1060#define My_T1_Reserved_0x5e \
1061 rdhpr %hintp, %g3; \
1062 wrhpr %g3, %g3, %hintp; \
1063 retry; \
1064 nop; \
1065 nop; \
1066 nop; \
1067 nop; \
1068 nop
1069# 220 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_intr_handlers.s"
1070!!!!! SW interuupt handlers
1071# 223 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_intr_handlers.s"
1072#define H_T0_Interrupt_Level_14_0x4e
1073#define My_T0_Interrupt_Level_14_0x4e \
1074 rd %softint, %g3; \
1075 sethi %hi(0x14000), %g3; \
1076 or %g3, 0x1, %g3; \
1077 wr %g3, %g0, %clear_softint; \
1078 retry; \
1079 nop; \
1080 nop; \
1081 nop
1082
1083#define H_T0_Interrupt_Level_1_0x41
1084#define My_T0_Interrupt_Level_1_0x41 \
1085 rd %softint, %g3; \
1086 or %g0, 0x2, %g3; \
1087 wr %g3, %g0, %clear_softint; \
1088 retry; \
1089 nop; \
1090 nop; \
1091 nop; \
1092 nop
1093
1094#define H_T0_Interrupt_Level_2_0x42
1095#define My_T0_Interrupt_Level_2_0x42 \
1096 rd %softint, %g3; \
1097 or %g0, 0x4, %g3; \
1098 wr %g3, %g0, %clear_softint; \
1099 retry; \
1100 nop; \
1101 nop; \
1102 nop; \
1103 nop
1104
1105#define H_T0_Interrupt_Level_3_0x43
1106#define My_T0_Interrupt_Level_3_0x43 \
1107 rd %softint, %g3; \
1108 or %g0, 0x8, %g3; \
1109 wr %g3, %g0, %clear_softint; \
1110 retry; \
1111 nop; \
1112 nop; \
1113 nop; \
1114 nop
1115
1116#define H_T0_Interrupt_Level_4_0x44
1117#define My_T0_Interrupt_Level_4_0x44 \
1118 rd %softint, %g3; \
1119 or %g0, 0x10, %g3; \
1120 wr %g3, %g0, %clear_softint; \
1121 retry; \
1122 nop; \
1123 nop; \
1124 nop; \
1125 nop
1126
1127#define H_T0_Interrupt_Level_5_0x45
1128#define My_T0_Interrupt_Level_5_0x45 \
1129 rd %softint, %g3; \
1130 or %g0, 0x20, %g3; \
1131 wr %g3, %g0, %clear_softint; \
1132 retry; \
1133 nop; \
1134 nop; \
1135 nop; \
1136 nop
1137
1138#define H_T0_Interrupt_Level_6_0x46
1139#define My_T0_Interrupt_Level_6_0x46 \
1140 rd %softint, %g3; \
1141 or %g0, 0x40, %g3; \
1142 wr %g3, %g0, %clear_softint; \
1143 retry; \
1144 nop; \
1145 nop; \
1146 nop; \
1147 nop
1148
1149#define H_T0_Interrupt_Level_7_0x47
1150#define My_T0_Interrupt_Level_7_0x47 \
1151 rd %softint, %g3; \
1152 or %g0, 0x80, %g3; \
1153 wr %g3, %g0, %clear_softint; \
1154 retry; \
1155 nop; \
1156 nop; \
1157 nop; \
1158 nop
1159
1160#define H_T0_Interrupt_Level_8_0x48
1161#define My_T0_Interrupt_Level_8_0x48 \
1162 rd %softint, %g3; \
1163 or %g0, 0x100, %g3; \
1164 wr %g3, %g0, %clear_softint; \
1165 retry; \
1166 nop; \
1167 nop; \
1168 nop; \
1169 nop
1170
1171#define H_T0_Interrupt_Level_9_0x49
1172#define My_T0_Interrupt_Level_9_0x49 \
1173 rd %softint, %g3; \
1174 or %g0, 0x200, %g3; \
1175 wr %g3, %g0, %clear_softint; \
1176 retry; \
1177 nop; \
1178 nop; \
1179 nop; \
1180 nop
1181
1182#define H_T0_Interrupt_Level_10_0x4a
1183#define My_T0_Interrupt_Level_10_0x4a \
1184 rd %softint, %g3; \
1185 or %g0, 0x400, %g3; \
1186 wr %g3, %g0, %clear_softint; \
1187 retry; \
1188 nop; \
1189 nop; \
1190 nop; \
1191 nop
1192
1193#define H_T0_Interrupt_Level_11_0x4b
1194#define My_T0_Interrupt_Level_11_0x4b \
1195 rd %softint, %g3; \
1196 or %g0, 0x800, %g3; \
1197 wr %g3, %g0, %clear_softint; \
1198 retry; \
1199 nop; \
1200 nop; \
1201 nop; \
1202 nop
1203
1204#define H_T0_Interrupt_Level_12_0x4c
1205#define My_T0_Interrupt_Level_12_0x4c \
1206 rd %softint, %g3; \
1207 sethi %hi(0x1000), %g3; \
1208 wr %g3, %g0, %clear_softint; \
1209 retry; \
1210 nop; \
1211 nop; \
1212 nop; \
1213 nop
1214
1215#define H_T0_Interrupt_Level_13_0x4d
1216#define My_T0_Interrupt_Level_13_0x4d \
1217 rd %softint, %g3; \
1218 sethi %hi(0x2000), %g3; \
1219 wr %g3, %g0, %clear_softint; \
1220 retry; \
1221 nop; \
1222 nop; \
1223 nop; \
1224 nop
1225
1226#define H_T0_Interrupt_Level_15_0x4f
1227#define My_T0_Interrupt_Level_15_0x4f \
1228 sethi %hi(0x8000), %g3; \
1229 wr %g3, %g0, %clear_softint; \
1230 wr %g0, %g0, %pic;\
1231 set 0x1ff8bfff, %g4;\
1232 wr %g4, %g0, %pcr;\
1233 retry;
1234
1235#define H_T1_Interrupt_Level_14_0x4e
1236#define My_T1_Interrupt_Level_14_0x4e \
1237 rd %softint, %g3; \
1238 sethi %hi(0x14000), %g3; \
1239 or %g3, 0x1, %g3; \
1240 wr %g3, %g0, %clear_softint; \
1241 retry; \
1242 nop; \
1243 nop; \
1244 nop
1245
1246#define H_T1_Interrupt_Level_1_0x41
1247#define My_T1_Interrupt_Level_1_0x41 \
1248 rd %softint, %g3; \
1249 or %g0, 0x2, %g3; \
1250 wr %g3, %g0, %clear_softint; \
1251 retry; \
1252 nop; \
1253 nop; \
1254 nop; \
1255 nop
1256
1257#define H_T1_Interrupt_Level_2_0x42
1258#define My_T1_Interrupt_Level_2_0x42 \
1259 rd %softint, %g3; \
1260 or %g0, 0x4, %g3; \
1261 wr %g3, %g0, %clear_softint; \
1262 retry; \
1263 nop; \
1264 nop; \
1265 nop; \
1266 nop
1267
1268#define H_T1_Interrupt_Level_3_0x43
1269#define My_T1_Interrupt_Level_3_0x43 \
1270 rd %softint, %g3; \
1271 or %g0, 0x8, %g3; \
1272 wr %g3, %g0, %clear_softint; \
1273 retry; \
1274 nop; \
1275 nop; \
1276 nop; \
1277 nop
1278
1279#define H_T1_Interrupt_Level_4_0x44
1280#define My_T1_Interrupt_Level_4_0x44 \
1281 rd %softint, %g3; \
1282 or %g0, 0x10, %g3; \
1283 wr %g3, %g0, %clear_softint; \
1284 retry; \
1285 nop; \
1286 nop; \
1287 nop; \
1288 nop
1289
1290#define H_T1_Interrupt_Level_5_0x45
1291#define My_T1_Interrupt_Level_5_0x45 \
1292 rd %softint, %g3; \
1293 or %g0, 0x20, %g3; \
1294 wr %g3, %g0, %clear_softint; \
1295 retry; \
1296 nop; \
1297 nop; \
1298 nop; \
1299 nop
1300
1301#define H_T1_Interrupt_Level_6_0x46
1302#define My_T1_Interrupt_Level_6_0x46 \
1303 rd %softint, %g3; \
1304 or %g0, 0x40, %g3; \
1305 wr %g3, %g0, %clear_softint; \
1306 retry; \
1307 nop; \
1308 nop; \
1309 nop; \
1310 nop
1311
1312#define H_T1_Interrupt_Level_7_0x47
1313#define My_T1_Interrupt_Level_7_0x47 \
1314 rd %softint, %g3; \
1315 or %g0, 0x80, %g3; \
1316 wr %g3, %g0, %clear_softint; \
1317 retry; \
1318 nop; \
1319 nop; \
1320 nop; \
1321 nop
1322
1323#define H_T1_Interrupt_Level_8_0x48
1324#define My_T1_Interrupt_Level_8_0x48 \
1325 rd %softint, %g3; \
1326 or %g0, 0x100, %g3; \
1327 wr %g3, %g0, %clear_softint; \
1328 retry; \
1329 nop; \
1330 nop; \
1331 nop; \
1332 nop
1333
1334#define H_T1_Interrupt_Level_9_0x49
1335#define My_T1_Interrupt_Level_9_0x49 \
1336 rd %softint, %g3; \
1337 or %g0, 0x200, %g3; \
1338 wr %g3, %g0, %clear_softint; \
1339 retry; \
1340 nop; \
1341 nop; \
1342 nop; \
1343 nop
1344
1345#define H_T1_Interrupt_Level_10_0x4a
1346#define My_T1_Interrupt_Level_10_0x4a \
1347 rd %softint, %g3; \
1348 or %g0, 0x400, %g3; \
1349 wr %g3, %g0, %clear_softint; \
1350 retry; \
1351 nop; \
1352 nop; \
1353 nop; \
1354 nop
1355
1356#define H_T1_Interrupt_Level_11_0x4b
1357#define My_T1_Interrupt_Level_11_0x4b \
1358 rd %softint, %g3; \
1359 or %g0, 0x800, %g3; \
1360 wr %g3, %g0, %clear_softint; \
1361 retry; \
1362 nop; \
1363 nop; \
1364 nop; \
1365 nop
1366
1367#define H_T1_Interrupt_Level_12_0x4c
1368#define My_T1_Interrupt_Level_12_0x4c \
1369 rd %softint, %g3; \
1370 sethi %hi(0x1000), %g3; \
1371 wr %g3, %g0, %clear_softint; \
1372 retry; \
1373 nop; \
1374 nop; \
1375 nop; \
1376 nop
1377
1378#define H_T1_Interrupt_Level_13_0x4d
1379#define My_T1_Interrupt_Level_13_0x4d \
1380 rd %softint, %g3; \
1381 sethi %hi(0x2000), %g3; \
1382 wr %g3, %g0, %clear_softint; \
1383 retry; \
1384 nop; \
1385 nop; \
1386 nop; \
1387 nop
1388
1389#define H_T1_Interrupt_Level_15_0x4f
1390#define My_T1_Interrupt_Level_15_0x4f \
1391 sethi %hi(0x8000), %g3; \
1392 wr %g3, %g0, %clear_softint; \
1393 wr %g0, %g0, %pic;\
1394 set 0x1ff8bfff, %g4;\
1395 wr %g4, %g0, %pcr;\
1396 retry;
1397
1398#define H_HT0_Interrupt_Level_14_0x4e
1399#define My_HT0_Interrupt_Level_14_0x4e \
1400 rd %softint, %g3; \
1401 sethi %hi(0x14000), %g3; \
1402 or %g3, 0x1, %g3; \
1403 wr %g3, %g0, %clear_softint; \
1404 retry; \
1405 nop; \
1406 nop; \
1407 nop
1408
1409#define H_HT0_Interrupt_Level_1_0x41
1410#define My_HT0_Interrupt_Level_1_0x41 \
1411 rd %softint, %g3; \
1412 or %g0, 0x2, %g3; \
1413 wr %g3, %g0, %clear_softint; \
1414 retry; \
1415 nop; \
1416 nop; \
1417 nop; \
1418 nop
1419
1420#define H_HT0_Interrupt_Level_2_0x42
1421#define My_HT0_Interrupt_Level_2_0x42 \
1422 rd %softint, %g3; \
1423 or %g0, 0x4, %g3; \
1424 wr %g3, %g0, %clear_softint; \
1425 retry; \
1426 nop; \
1427 nop; \
1428 nop; \
1429 nop
1430
1431#define H_HT0_Interrupt_Level_3_0x43
1432#define My_HT0_Interrupt_Level_3_0x43 \
1433 rd %softint, %g3; \
1434 or %g0, 0x8, %g3; \
1435 wr %g3, %g0, %clear_softint; \
1436 retry; \
1437 nop; \
1438 nop; \
1439 nop; \
1440 nop
1441
1442#define H_HT0_Interrupt_Level_4_0x44
1443#define My_HT0_Interrupt_Level_4_0x44 \
1444 rd %softint, %g3; \
1445 or %g0, 0x10, %g3; \
1446 wr %g3, %g0, %clear_softint; \
1447 retry; \
1448 nop; \
1449 nop; \
1450 nop; \
1451 nop
1452
1453#define H_HT0_Interrupt_Level_5_0x45
1454#define My_HT0_Interrupt_Level_5_0x45 \
1455 rd %softint, %g3; \
1456 or %g0, 0x20, %g3; \
1457 wr %g3, %g0, %clear_softint; \
1458 retry; \
1459 nop; \
1460 nop; \
1461 nop; \
1462 nop
1463
1464#define H_HT0_Interrupt_Level_6_0x46
1465#define My_HT0_Interrupt_Level_6_0x46 \
1466 rd %softint, %g3; \
1467 or %g0, 0x40, %g3; \
1468 wr %g3, %g0, %clear_softint; \
1469 retry; \
1470 nop; \
1471 nop; \
1472 nop; \
1473 nop
1474
1475#define H_HT0_Interrupt_Level_7_0x47
1476#define My_HT0_Interrupt_Level_7_0x47 \
1477 rd %softint, %g3; \
1478 or %g0, 0x80, %g3; \
1479 wr %g3, %g0, %clear_softint; \
1480 retry; \
1481 nop; \
1482 nop; \
1483 nop; \
1484 nop
1485
1486#define H_HT0_Interrupt_Level_8_0x48
1487#define My_HT0_Interrupt_Level_8_0x48 \
1488 rd %softint, %g3; \
1489 or %g0, 0x100, %g3; \
1490 wr %g3, %g0, %clear_softint; \
1491 retry; \
1492 nop; \
1493 nop; \
1494 nop; \
1495 nop
1496
1497#define H_HT0_Interrupt_Level_9_0x49
1498#define My_HT0_Interrupt_Level_9_0x49 \
1499 rd %softint, %g3; \
1500 or %g0, 0x200, %g3; \
1501 wr %g3, %g0, %clear_softint; \
1502 retry; \
1503 nop; \
1504 nop; \
1505 nop; \
1506 nop
1507
1508#define H_HT0_Interrupt_Level_10_0x4a
1509#define My_HT0_Interrupt_Level_10_0x4a \
1510 rd %softint, %g3; \
1511 or %g0, 0x400, %g3; \
1512 wr %g3, %g0, %clear_softint; \
1513 retry; \
1514 nop; \
1515 nop; \
1516 nop; \
1517 nop
1518
1519#define H_HT0_Interrupt_Level_11_0x4b
1520#define My_HT0_Interrupt_Level_11_0x4b \
1521 rd %softint, %g3; \
1522 or %g0, 0x800, %g3; \
1523 wr %g3, %g0, %clear_softint; \
1524 retry; \
1525 nop; \
1526 nop; \
1527 nop; \
1528 nop
1529
1530#define H_HT0_Interrupt_Level_12_0x4c
1531#define My_HT0_Interrupt_Level_12_0x4c \
1532 rd %softint, %g3; \
1533 sethi %hi(0x1000), %g3; \
1534 wr %g3, %g0, %clear_softint; \
1535 retry; \
1536 nop; \
1537 nop; \
1538 nop; \
1539 nop
1540
1541#define H_HT0_Interrupt_Level_13_0x4d
1542#define My_HT0_Interrupt_Level_13_0x4d \
1543 rd %softint, %g3; \
1544 sethi %hi(0x2000), %g3; \
1545 wr %g3, %g0, %clear_softint; \
1546 retry; \
1547 nop; \
1548 nop; \
1549 nop; \
1550 nop
1551
1552#define H_HT0_Interrupt_Level_15_0x4f
1553#define My_HT0_Interrupt_Level_15_0x4f \
1554 sethi %hi(0x8000), %g3; \
1555 wr %g3, %g0, %clear_softint; \
1556 wr %g0, %g0, %pic;\
1557 set 0x1ff8bfff, %g4;\
1558 wr %g4, %g0, %pcr;\
1559 retry;
1560# 713 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_intr_handlers.s"
1561!!!!!!!!!!!!!!!!!!!!!! END of all handlers !!!!!!!!!!!!!!!!!!!
1562# 431 "diag.j"
1563!# Steer towards main TBA on these errors ..
1564!# These are redefines ...
1565#undef SUN_H_HT0_DAE_nc_page_0x16
1566#define SUN_H_HT0_DAE_nc_page_0x16 \
1567 best_set_reg(0x120000, %r1, %r2);\
1568 wrpr %r0, %r2, %tba; \
1569 done;nop
1570
1571#undef SUN_H_HT0_DAE_nfo_page_0x17
1572#define SUN_H_HT0_DAE_nfo_page_0x17 \
1573 best_set_reg(0x120000, %r1, %r2);\
1574 wrpr %r0, %r2, %tba; \
1575 done;nop
1576
1577#undef SUN_H_HT0_IAE_unauth_access_0x0b
1578#define SUN_H_HT0_IAE_unauth_access_0x0b \
1579 set resolve_bad_tte, %g3;\
1580 jmp %g3;\
1581 nop
1582
1583#undef My_HT0_IAE_privilege_violation_0x08
1584#define My_HT0_IAE_privilege_violation_0x08 \
1585 set resolve_bad_tte, %g3;\
1586 jmp %g3;\
1587 nop
1588
1589#define H_HT0_Instruction_address_range_0x0d
1590#define SUN_H_HT0_Instruction_address_range_0x0d \
1591 rdpr %tpc, %g1;\
1592 rdpr %tnpc, %g2;\
1593 stw %g1, [%i7];\
1594 stw %g2, [%i7+4];\
1595 jmpl %r27+8, %r27;\
1596 fdivd %f0, %f4, %f4;\
1597 nop;
1598
1599#define H_HT0_Instruction_real_range_0x0e
1600#define SUN_H_HT0_Instruction_real_range_0x0e \
1601 rdpr %tpc, %g1;\
1602 rdpr %tnpc, %g2;\
1603 stw %g1, [%i7];\
1604 stw %g2, [%i7+4];\
1605 jmpl %r27+8, %r27;\
1606 fdivd %f0, %f4, %f4;\
1607 nop;
1608#undef SUN_H_HT0_IAE_nfo_page_0x0c
1609#define SUN_H_HT0_IAE_nfo_page_0x0c \
1610 set resolve_bad_tte, %g3;\
1611 jmp %g3;\
1612 nop
1613
1614#define H_HT0_Instruction_Invalid_TSB_Entry_0x2a
1615#define SUN_H_HT0_Instruction_Invalid_TSB_Entry_0x2a \
1616 set restore_range_regs, %g3;\
1617 jmp %g3;\
1618 nop
1619
1620#define H_HT0_Data_Invalid_TSB_Entry_0x2b
1621#define SUN_H_HT0_Data_Invalid_TSB_Entry_0x2b \
1622 set restore_range_regs, %g3;\
1623 jmp %g3;\
1624 nop
1625
1626#define H_HT0_Instruction_Access_MMU_Error_0x71 inst_access_mmu_error_handler
1627#define H_HT0_Instruction_access_error_0x0a inst_access_error_handler
1628#define H_HT0_Internal_Processor_Error_0x29 int_proc_err_handler
1629#define H_HT0_Data_Access_MMU_Error_0x72 data_access_mmu_error_handler
1630#define H_HT0_Data_access_error_0x32 data_access_error_handler
1631#define H_HT0_Hw_Corrected_Error_0x63 hw_corrected_error_handler
1632#define H_HT0_Sw_Recoverable_Error_0x40 sw_recoverable_error_handler
1633#define H_HT0_Store_Error_0x07 store_error_handler
1634
1635#include "hboot.s"
1636
1637# 489 "diag.j"
1638#define LOMEIN_TEXT_VA [0x]mpeval(MAIN_BASE_TEXT_VA&0xffffffff,16)
1639#define LOMEIN_DATA_VA [0x]mpeval(MAIN_BASE_DATA_VA&0xffffffff,16)
1640changequote([, ])dnl
1641SECTION .LOMEIN TEXT_VA=LOMEIN_TEXT_VA, DATA_VA=LOMEIN_DATA_VA
1642attr_text {
1643 Name = .LOMEIN,
1644 VA= LOMEIN_TEXT_VA,
1645 RA= MAIN_BASE_TEXT_RA,
1646 PA= ra2pa2(MAIN_BASE_TEXT_RA, 0),
1647 part_0_ctx_nonzero_tsb_config_1,
1648 part_0_ctx_zero_tsb_config_1,
1649 TTE_G=1, TTE_Context=0x44, TTE_V=1,
1650 TTE_Size=0, TTE_NFO=0, TTE_IE=0, TTE_Soft2=0, TTE_Diag=0, TTE_Soft=0,
1651 TTE_L=0, TTE_CP=1, TTE_CV=0, TTE_E=0, TTE_P=0, TTE_W=1, TTE_X=1,
1652 tsbonly
1653 }
1654attr_data {
1655 Name = .LOMEIN,
1656 VA= LOMEIN_DATA_VA,
1657 RA= MAIN_BASE_DATA_RA,
1658 PA= ra2pa2(MAIN_BASE_DATA_RA, 0),
1659 part_0_ctx_nonzero_tsb_config_2,
1660 part_0_ctx_zero_tsb_config_2
1661 TTE_G=1, TTE_Context=0x44, TTE_V=1, TTE_Size=0, TTE_NFO=0,
1662 TTE_IE=0, TTE_Soft2=0, TTE_Diag=0, TTE_Soft=0,
1663 TTE_L=0, TTE_CP=1, TTE_CV=0, TTE_E=0, TTE_P=0, TTE_W=1, TTE_X=0,
1664 tsbonly
1665 }
1666attr_data {
1667 Name = .LOMEIN,
1668 VA= LOMEIN_DATA_VA,
1669 RA= MAIN_BASE_DATA_RA,
1670 PA= ra2pa2(MAIN_BASE_DATA_RA, 0),
1671 part_0_ctx_nonzero_tsb_config_3,
1672 part_0_ctx_zero_tsb_config_3
1673 TTE_G=1, TTE_Context=0x55, TTE_V=1, TTE_Size=0, TTE_NFO=0,
1674 TTE_IE=0, TTE_Soft2=0, TTE_Diag=0, TTE_Soft=0,
1675 TTE_L=0, TTE_CP=1, TTE_CV=0, TTE_E=0, TTE_P=0, TTE_W=1, TTE_X=0,
1676 tsbonly
1677 }
1678.text
1679.align 0x100000
1680 nop
1681.data
1682 .word 0x0
1683
1684SECTION .MAIN TEXT_VA=MAIN_BASE_TEXT_VA, DATA_VA=MAIN_BASE_DATA_VA
1685attr_text {
1686 Name = .MAIN,
1687 VA=MAIN_BASE_TEXT_VA,
1688 RA= LOMEIN_TEXT_VA,
1689 PA= LOMEIN_TEXT_VA,
1690 part_0_ctx_nonzero_tsb_config_2,
1691 part_0_ctx_zero_tsb_config_2,
1692 TTE_G=1, TTE_Context=0x44, TTE_V=1,
1693 TTE_Size=0, TTE_NFO=0, TTE_IE=0, TTE_Soft2=0, TTE_Diag=0, TTE_Soft=0,
1694 TTE_L=0, TTE_CP=1, TTE_CV=0, TTE_E=0, TTE_P=0, TTE_W=1, TTE_X=1,
1695 }
1696
1697attr_data {
1698 Name = .MAIN,
1699 VA=MAIN_BASE_DATA_VA
1700 RA= LOMEIN_DATA_VA,
1701 PA= LOMEIN_DATA_VA,
1702 part_0_ctx_nonzero_tsb_config_1,
1703 part_0_ctx_zero_tsb_config_1
1704 TTE_G=1, TTE_Context=0x44, TTE_V=1, TTE_Size=0, TTE_NFO=0,
1705 TTE_IE=0, TTE_Soft2=0, TTE_Diag=0, TTE_Soft=0,
1706 TTE_L=0, TTE_CP=1, TTE_CV=0, TTE_E=0, TTE_P=0, TTE_W=1, TTE_X=0,
1707 }
1708
1709attr_data {
1710 Name = .MAIN,
1711 VA=MAIN_BASE_DATA_VA
1712 RA= LOMEIN_DATA_VA,
1713 PA= LOMEIN_DATA_VA,
1714 part_0_ctx_nonzero_tsb_config_3,
1715 part_0_ctx_zero_tsb_config_3
1716 TTE_G=1, TTE_Context=0x55, TTE_V=1, TTE_Size=0, TTE_NFO=0,
1717 TTE_IE=0, TTE_Soft2=0, TTE_Diag=0, TTE_Soft=0,
1718 TTE_L=0, TTE_CP=1, TTE_CV=0, TTE_E=0, TTE_P=0, TTE_W=1, TTE_X=0,
1719 tsbonly
1720 }
1721
1722attr_text {
1723 Name = .MAIN,
1724 VA=MAIN_BASE_TEXT_VA,
1725 hypervisor
1726}
1727
1728attr_data {
1729 Name = .MAIN,
1730 VA=MAIN_BASE_DATA_VA
1731 hypervisor
1732}
1733changequote(`,')dnl'
1734
1735.text
1736.global main
1737main:
1738
1739 ! Set up ld/st area per thread
1740 ta T_RD_THID ! Result in %o1 = r9
1741 umul %r9, 256, %r31
1742 setx user_data_start, %r1, %r3
1743 add %r31, %r3, %r31
1744 wr %r0, 0x4, %asi
1745
1746!Initializing integer registers
1747 ldx [%r31+0], %r0
1748 ldx [%r31+8], %r1
1749 ldx [%r31+16], %r2
1750 ldx [%r31+24], %r3
1751 ldx [%r31+32], %r4
1752 ldx [%r31+40], %r5
1753 ldx [%r31+48], %r6
1754 ldx [%r31+56], %r7
1755 ldx [%r31+64], %r8
1756 ldx [%r31+72], %r9
1757 ldx [%r31+80], %r10
1758 ldx [%r31+88], %r11
1759 ldx [%r31+96], %r12
1760 ldx [%r31+104], %r13
1761 ldx [%r31+112], %r14
1762 mov %r31, %r15
1763 ldx [%r31+128], %r16
1764 ldx [%r31+136], %r17
1765 ldx [%r31+144], %r18
1766 ldx [%r31+152], %r19
1767 ldx [%r31+160], %r20
1768 ldx [%r31+168], %r21
1769 ldx [%r31+176], %r22
1770 ldx [%r31+184], %r23
1771 ldx [%r31+192], %r24
1772 ldx [%r31+200], %r25
1773 ldx [%r31+208], %r26
1774 ldx [%r31+216], %r27
1775 ldx [%r31+224], %r28
1776 ldx [%r31+232], %r29
1777 mov 0xb0, %r14
1778 mov 0xb5, %r30
1779 save %r31, %r0, %r31
1780 ldx [%r31+0], %r0
1781 ldx [%r31+8], %r1
1782 ldx [%r31+16], %r2
1783 ldx [%r31+24], %r3
1784 ldx [%r31+32], %r4
1785 ldx [%r31+40], %r5
1786 ldx [%r31+48], %r6
1787 ldx [%r31+56], %r7
1788 ldx [%r31+64], %r8
1789 ldx [%r31+72], %r9
1790 ldx [%r31+80], %r10
1791 ldx [%r31+88], %r11
1792 ldx [%r31+96], %r12
1793 ldx [%r31+104], %r13
1794 ldx [%r31+112], %r14
1795 mov %r31, %r15
1796 ldx [%r31+128], %r16
1797 ldx [%r31+136], %r17
1798 ldx [%r31+144], %r18
1799 ldx [%r31+152], %r19
1800 ldx [%r31+160], %r20
1801 ldx [%r31+168], %r21
1802 ldx [%r31+176], %r22
1803 ldx [%r31+184], %r23
1804 ldx [%r31+192], %r24
1805 ldx [%r31+200], %r25
1806 ldx [%r31+208], %r26
1807 ldx [%r31+216], %r27
1808 ldx [%r31+224], %r28
1809 ldx [%r31+232], %r29
1810 mov 0xb4, %r14
1811 mov 0x31, %r30
1812 save %r31, %r0, %r31
1813 ldx [%r31+0], %r0
1814 ldx [%r31+8], %r1
1815 ldx [%r31+16], %r2
1816 ldx [%r31+24], %r3
1817 ldx [%r31+32], %r4
1818 ldx [%r31+40], %r5
1819 ldx [%r31+48], %r6
1820 ldx [%r31+56], %r7
1821 ldx [%r31+64], %r8
1822 ldx [%r31+72], %r9
1823 ldx [%r31+80], %r10
1824 ldx [%r31+88], %r11
1825 ldx [%r31+96], %r12
1826 ldx [%r31+104], %r13
1827 ldx [%r31+112], %r14
1828 mov %r31, %r15
1829 ldx [%r31+128], %r16
1830 ldx [%r31+136], %r17
1831 ldx [%r31+144], %r18
1832 ldx [%r31+152], %r19
1833 ldx [%r31+160], %r20
1834 ldx [%r31+168], %r21
1835 ldx [%r31+176], %r22
1836 ldx [%r31+184], %r23
1837 ldx [%r31+192], %r24
1838 ldx [%r31+200], %r25
1839 ldx [%r31+208], %r26
1840 ldx [%r31+216], %r27
1841 ldx [%r31+224], %r28
1842 ldx [%r31+232], %r29
1843 mov 0x35, %r14
1844 mov 0xb2, %r30
1845 save %r31, %r0, %r31
1846 ldx [%r31+0], %r0
1847 ldx [%r31+8], %r1
1848 ldx [%r31+16], %r2
1849 ldx [%r31+24], %r3
1850 ldx [%r31+32], %r4
1851 ldx [%r31+40], %r5
1852 ldx [%r31+48], %r6
1853 ldx [%r31+56], %r7
1854 ldx [%r31+64], %r8
1855 ldx [%r31+72], %r9
1856 ldx [%r31+80], %r10
1857 ldx [%r31+88], %r11
1858 ldx [%r31+96], %r12
1859 ldx [%r31+104], %r13
1860 ldx [%r31+112], %r14
1861 mov %r31, %r15
1862 ldx [%r31+128], %r16
1863 ldx [%r31+136], %r17
1864 ldx [%r31+144], %r18
1865 ldx [%r31+152], %r19
1866 ldx [%r31+160], %r20
1867 ldx [%r31+168], %r21
1868 ldx [%r31+176], %r22
1869 ldx [%r31+184], %r23
1870 ldx [%r31+192], %r24
1871 ldx [%r31+200], %r25
1872 ldx [%r31+208], %r26
1873 ldx [%r31+216], %r27
1874 ldx [%r31+224], %r28
1875 ldx [%r31+232], %r29
1876 mov 0x30, %r14
1877 mov 0x35, %r30
1878 save %r31, %r0, %r31
1879 ldx [%r31+0], %r0
1880 ldx [%r31+8], %r1
1881 ldx [%r31+16], %r2
1882 ldx [%r31+24], %r3
1883 ldx [%r31+32], %r4
1884 ldx [%r31+40], %r5
1885 ldx [%r31+48], %r6
1886 ldx [%r31+56], %r7
1887 ldx [%r31+64], %r8
1888 ldx [%r31+72], %r9
1889 ldx [%r31+80], %r10
1890 ldx [%r31+88], %r11
1891 ldx [%r31+96], %r12
1892 ldx [%r31+104], %r13
1893 ldx [%r31+112], %r14
1894 mov %r31, %r15
1895 ldx [%r31+128], %r16
1896 ldx [%r31+136], %r17
1897 ldx [%r31+144], %r18
1898 ldx [%r31+152], %r19
1899 ldx [%r31+160], %r20
1900 ldx [%r31+168], %r21
1901 ldx [%r31+176], %r22
1902 ldx [%r31+184], %r23
1903 ldx [%r31+192], %r24
1904 ldx [%r31+200], %r25
1905 ldx [%r31+208], %r26
1906 ldx [%r31+216], %r27
1907 ldx [%r31+224], %r28
1908 ldx [%r31+232], %r29
1909 mov 0xb2, %r14
1910 mov 0xb0, %r30
1911 save %r31, %r0, %r31
1912 ldx [%r31+0], %r0
1913 ldx [%r31+8], %r1
1914 ldx [%r31+16], %r2
1915 ldx [%r31+24], %r3
1916 ldx [%r31+32], %r4
1917 ldx [%r31+40], %r5
1918 ldx [%r31+48], %r6
1919 ldx [%r31+56], %r7
1920 ldx [%r31+64], %r8
1921 ldx [%r31+72], %r9
1922 ldx [%r31+80], %r10
1923 ldx [%r31+88], %r11
1924 ldx [%r31+96], %r12
1925 ldx [%r31+104], %r13
1926 ldx [%r31+112], %r14
1927 mov %r31, %r15
1928 ldx [%r31+128], %r16
1929 ldx [%r31+136], %r17
1930 ldx [%r31+144], %r18
1931 ldx [%r31+152], %r19
1932 ldx [%r31+160], %r20
1933 ldx [%r31+168], %r21
1934 ldx [%r31+176], %r22
1935 ldx [%r31+184], %r23
1936 ldx [%r31+192], %r24
1937 ldx [%r31+200], %r25
1938 ldx [%r31+208], %r26
1939 ldx [%r31+216], %r27
1940 ldx [%r31+224], %r28
1941 ldx [%r31+232], %r29
1942 mov 0xb1, %r14
1943 mov 0x31, %r30
1944 save %r31, %r0, %r31
1945 ldx [%r31+0], %r0
1946 ldx [%r31+8], %r1
1947 ldx [%r31+16], %r2
1948 ldx [%r31+24], %r3
1949 ldx [%r31+32], %r4
1950 ldx [%r31+40], %r5
1951 ldx [%r31+48], %r6
1952 ldx [%r31+56], %r7
1953 ldx [%r31+64], %r8
1954 ldx [%r31+72], %r9
1955 ldx [%r31+80], %r10
1956 ldx [%r31+88], %r11
1957 ldx [%r31+96], %r12
1958 ldx [%r31+104], %r13
1959 ldx [%r31+112], %r14
1960 mov %r31, %r15
1961 ldx [%r31+128], %r16
1962 ldx [%r31+136], %r17
1963 ldx [%r31+144], %r18
1964 ldx [%r31+152], %r19
1965 ldx [%r31+160], %r20
1966 ldx [%r31+168], %r21
1967 ldx [%r31+176], %r22
1968 ldx [%r31+184], %r23
1969 ldx [%r31+192], %r24
1970 ldx [%r31+200], %r25
1971 ldx [%r31+208], %r26
1972 ldx [%r31+216], %r27
1973 ldx [%r31+224], %r28
1974 ldx [%r31+232], %r29
1975 mov 0xb5, %r14
1976 mov 0x31, %r30
1977 save %r31, %r0, %r31
1978 restore
1979 restore
1980 restore
1981!Initializing float registers
1982 ldd [%r31+0], %f0
1983 ldd [%r31+16], %f2
1984 ldd [%r31+32], %f4
1985 ldd [%r31+48], %f6
1986 ldd [%r31+64], %f8
1987 ldd [%r31+80], %f10
1988 ldd [%r31+96], %f12
1989 ldd [%r31+112], %f14
1990 ldd [%r31+128], %f16
1991 ldd [%r31+144], %f18
1992 ldd [%r31+160], %f20
1993 ldd [%r31+176], %f22
1994 ldd [%r31+192], %f24
1995 ldd [%r31+208], %f26
1996 ldd [%r31+224], %f28
1997 ldd [%r31+240], %f30
1998 !! Set TPC/TNPC to diag-finish in case we get to a strange TL ..
1999 ta T_CHANGE_HPRIV
2000 setx diag_finish, %r29, %r28
2001 add %r28, 4, %r29
2002 wrpr %g0, 1, %tl
2003 wrpr %r28, %tpc
2004 wrpr %r29, %tnpc
2005 wrpr %g0, 2, %tl
2006 wrpr %r28, %tpc
2007 wrpr %r29, %tnpc
2008 wrpr %g0, 3, %tl
2009 wrpr %r28, %tpc
2010 wrpr %r29, %tnpc
2011 wrpr %g0, 4, %tl
2012 wrpr %r28, %tpc
2013 wrpr %r29, %tnpc
2014 wrpr %g0, 5, %tl
2015 wrpr %r28, %tpc
2016 wrpr %r29, %tnpc
2017 wrpr %g0, 6, %tl
2018 wrpr %r28, %tpc
2019 wrpr %r29, %tnpc
2020 wrpr %g0, 0, %tl
2021
2022 !Initializing Tick Cmprs
2023 mov 1, %g2
2024 sllx %g2, 63, %g2
2025 or %g1, %g2, %g1
2026 wrhpr %g1, %g0, %hsys_tick_cmpr
2027 wr %g1, %g0, %tick_cmpr
2028 wr %g1, %g0, %sys_tick_cmpr
2029
2030 ! Set up fpr PMU traps
2031 set 0x1ff8bfff, %g2
2032 b fork_threads
2033 wr %g2, %g0, %pcr
2034common_target:
2035 nop
2036 sub %r15, 8, %r20
2037 jmp %r20
2038 .word 0xc32fc000 ! 1: STXFSR_R st-sfr %f1, [%r0, %r31]
2039 nop
2040 jmp %r20
2041 nop
2042fork_threads:
2043 ta %icc, T_RD_THID
2044! fork: source strm = 0xffffffff; target strm = 0x1
2045 cmp %o1, 0
2046 setx fork_lbl_0_1, %g2, %g3
2047 be,a .+8
2048 jmp %g3
2049 nop
2050! fork: source strm = 0xffffffff; target strm = 0x2
2051 cmp %o1, 1
2052 setx fork_lbl_0_2, %g2, %g3
2053 be,a .+8
2054 jmp %g3
2055 nop
2056! fork: source strm = 0xffffffff; target strm = 0x4
2057 cmp %o1, 2
2058 setx fork_lbl_0_3, %g2, %g3
2059 be,a .+8
2060 jmp %g3
2061 nop
2062! fork: source strm = 0xffffffff; target strm = 0x8
2063 cmp %o1, 3
2064 setx fork_lbl_0_4, %g2, %g3
2065 be,a .+8
2066 jmp %g3
2067 nop
2068! fork: source strm = 0xffffffff; target strm = 0x10
2069 cmp %o1, 4
2070 setx fork_lbl_0_5, %g2, %g3
2071 be,a .+8
2072 jmp %g3
2073 nop
2074! fork: source strm = 0xffffffff; target strm = 0x20
2075 cmp %o1, 5
2076 setx fork_lbl_0_6, %g2, %g3
2077 be,a .+8
2078 jmp %g3
2079 nop
2080! fork: source strm = 0xffffffff; target strm = 0x40
2081 cmp %o1, 6
2082 setx fork_lbl_0_7, %g2, %g3
2083 be,a .+8
2084 jmp %g3
2085 nop
2086! fork: source strm = 0xffffffff; target strm = 0x80
2087 cmp %o1, 7
2088 setx fork_lbl_0_8, %g2, %g3
2089 be,a .+8
2090 jmp %g3
2091 nop
2092 setx join_lbl_0_0, %g1, %g2
2093 jmp %g2
2094 nop
2095 setx join_lbl_0_0, %g1, %g2
2096 jmp %g2
2097 nop
2098fork_lbl_0_8:
2099 ta T_CHANGE_NONHPRIV
2100splash_cmpr_80_0:
2101 nop
2102 setx 0x35ca22b85a4e0dbf, %l2, %l1
2103 ta T_CHANGE_HPRIV
2104 wrhpr %l1, %g0, %hsys_tick_cmpr
2105 ta T_CHANGE_NONHPRIV
2106 sub %l1, 40, %g1
2107 .word 0x89900011 ! 1: WRPR_TICK_R wrpr %r0, %r17, %tick
2108 .word 0x81510000 ! 2: RDPR_TICK rdpr %tick, %r0
2109 .word 0xe1bfdb60 ! 3: STDFA_R stda %f16, [%r0, %r31]
2110 setx 0xefea03301d248bac, %r1, %r28
2111 stxa %r28, [%g0] 0x73
2112intvec_80_1:
2113 .word 0x39400001 ! 4: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
2114 invalw
2115 mov 0x32, %r30
2116 .word 0x91d0001e ! 5: Tcc_R ta icc_or_xcc, %r0 + %r30
2117mondo_80_2:
2118 nop
2119 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2120 ta T_CHANGE_PRIV
2121 stxa %r17, [%r0+0x3c0] %asi
2122 .word 0x9d944012 ! 6: WRPR_WSTATE_R wrpr %r17, %r18, %wstate
2123 ta T_CHANGE_NONPRIV ! macro
2124 .word 0xc19fde00 ! 8: LDDFA_R ldda [%r31, %r0], %f0
2125br_badelay2_80_3:
2126 .word 0x34800001 ! 1: BG bg,a <label_0x1>
2127 allclean
2128 .word 0x93b50312 ! 9: ALIGNADDRESS alignaddr %r20, %r18, %r9
2129!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_80_4) + 8, 16, 16)) -> intp(4,0,12)
2130!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_80_4)&0xffffffff) + 8, 16, 16)) -> intp(4,0,12)
2131intvec_80_4:
2132 .word 0x39400001 ! 10: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
2133 .word 0xe477e060 ! 11: STX_I stx %r18, [%r31 + 0x0060]
2134donret_80_5:
2135 nop
2136 ta T_CHANGE_HPRIV ! macro
2137 rd %pc, %r12
2138 add %r12, (donretarg_80_5-donret_80_5-4), %r12
2139 mov 0x38, %r18
2140 stxa %r12, [%r18]0x58
2141 add %r12, 0x4, %r11
2142 wrpr %g0, 0x1, %tl
2143 wrpr %g0, %r12, %tpc
2144 wrpr %g0, %r11, %tnpc
2145 set (0x0029717c | (0x83 << 24)), %r13
2146 rdpr %tstate, %r16
2147 mov 0x1f, %r19
2148 and %r19, %r16, %r17
2149 andn %r16, %r19, %r16
2150 or %r16, %r17, %r20
2151 wrpr %r20, %g0, %tstate
2152 wrhpr %g0, 0x7cd, %htstate
2153 ta T_CHANGE_NONHPRIV ! rand=1 (80)
2154 done
2155donretarg_80_5:
2156 .word 0xe4ffe05e ! 12: SWAPA_I swapa %r18, [%r31 + 0x005e] %asi
2157splash_cmpr_80_6:
2158 nop
2159 setx 0xe69e6f642bf50d50, %l2, %l1
2160 ta T_CHANGE_HPRIV
2161 wrhpr %l1, %g0, %hsys_tick_cmpr
2162 sub %l1, 40, %g1
2163 .word 0x89900011 ! 13: WRPR_TICK_R wrpr %r0, %r17, %tick
2164 .word 0x87aa4a4d ! 14: FCMPd fcmpd %fcc<n>, %f40, %f44
2165 otherw
2166 mov 0xb4, %r30
2167 .word 0x93d0001e ! 15: Tcc_R tne icc_or_xcc, %r0 + %r30
2168vahole_80_7:
2169 nop
2170 ta T_CHANGE_NONHPRIV
2171 setx vahole_target, %r18, %r27
2172 jmpl %r27+0, %r27
2173 .word 0xe6bfc032 ! 16: STDA_R stda %r19, [%r31 + %r18] 0x01
2174br_badelay2_80_8:
2175 .word 0x32800001 ! 1: BNE bne,a <label_0x1>
2176 pdist %f20, %f22, %f28
2177 .word 0xa1b14314 ! 17: ALIGNADDRESS alignaddr %r5, %r20, %r16
2178 .word 0xa9a00172 ! 18: FABSq dis not found
2179
2180 .word 0xb1800011 ! 19: WR_STICK_REG_R wr %r0, %r17, %-
2181 .word 0xad84fedf ! 20: WR_SOFTINT_REG_I wr %r19, 0x1edf, %softint
2182 .word 0xd877c000 ! 21: STX_R stx %r12, [%r31 + %r0]
2183splash_tba_80_9:
2184 ta T_CHANGE_PRIV
2185 setx 0x00000000003a0000, %r11, %r12
2186 .word 0x8b90000c ! 22: WRPR_TBA_R wrpr %r0, %r12, %tba
2187 .word 0xd89fe008 ! 23: LDDA_I ldda [%r31, + 0x0008] %asi, %r12
2188jmptr_80_10:
2189 nop
2190 best_set_reg(0xe0a00000, %r20, %r27)
2191 .word 0xb7c6c000 ! 24: JMPL_R jmpl %r27 + %r0, %r27
2192mondo_80_11:
2193 nop
2194 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2195 ta T_CHANGE_PRIV
2196 stxa %r5, [%r0+0x3e8] %asi
2197 .word 0x9d948014 ! 25: WRPR_WSTATE_R wrpr %r18, %r20, %wstate
2198 .word 0x97a1c9d4 ! 26: FDIVd fdivd %f38, %f20, %f42
2199!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_80_12)+40, 16, 16)) -> intp(mask2tid(0x80),1,3)
2200!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_80_12)&0xffffffff) +40, 16, 16)) -> intp(mask2tid(0x80),1,3)
2201xir_80_12:
2202 .word 0xa981fd48 ! 27: WR_SET_SOFTINT_I wr %r7, 0x1d48, %set_softint
2203 .word 0x9f803722 ! 28: SIR sir 0x1722
2204intveclr_80_13:
2205 nop
2206 ta T_CHANGE_HPRIV
2207 setx 0x169770462810de02, %r1, %r28
2208 stxa %r28, [%g0] 0x72
2209 ta T_CHANGE_NONHPRIV
2210 .word 0x25400001 ! 29: FBPLG fblg,a,pn %fcc0, <label_0x1>
2211brcommon_80_14:
2212 ba,a .+12
2213 mov %r31, %r15
2214 ba,a .+8
2215 call common_target
2216 .word 0xe8bfc031 ! 30: STDA_R stda %r20, [%r31 + %r17] 0x01
2217 nop
2218 ta T_CHANGE_HPRIV
2219 mov 0x80+1, %r10
2220 set sync_thr_counter1, %r23
2221 cas [%r23],%g0,%r10 !lock
2222 brnz %r10, cwq_80_15
2223 rd %asi, %r12
2224 wr %g0, 0x40, %asi
2225 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
2226 and %l1, 0x3, %l1 ! Check if busy/enabled ..
2227 cmp %l1, 1
2228 bne cwq_80_15
2229 set CWQ_BASE, %l6
2230 best_set_reg(0x20610050, %l1, %l2) !# Control Word
2231 sllx %l2, 32, %l2
2232 stx %l2, [%l6 + 0x0]
2233 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
2234 sub %l2, 0x40, %l2
2235 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
2236 wr %r12, %g0, %asi
2237 st %g0, [%r23]
2238cwq_80_15:
2239 ta T_CHANGE_NONHPRIV
2240 .word 0x97414000 ! 31: RDPC rd %pc, %r11
2241 nop
2242 ta T_CHANGE_HPRIV
2243 mov 0x80, %r10
2244 set sync_thr_counter2, %r23
2245 cas [%r23],%g0,%r10 !lock
2246 brnz %r10, sma_80_16
2247 rd %asi, %r12
2248 wr %g0, 0x40, %asi
2249 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
2250 set 0x00021fff, %g1
2251 stxa %g1, [%g0 + 0x80] %asi
2252 wr %r12, %g0, %asi
2253 st %g0, [%r23]
2254sma_80_16:
2255 ta T_CHANGE_NONHPRIV
2256 .word 0xd3e7e011 ! 32: CASA_R casa [%r31] %asi, %r17, %r9
2257splash_cmpr_80_17:
2258 nop
2259 setx 0x4757096b08e988dd, %l2, %l1
2260 ta T_CHANGE_PRIV
2261 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
2262 ta T_CHANGE_NONPRIV
2263 sub %l1, 40, %g1
2264 .word 0x89900011 ! 33: WRPR_TICK_R wrpr %r0, %r17, %tick
2265!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_80_18) + 16, 16, 16)) -> intp(5,0,16)
2266!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_80_18)&0xffffffff) + 16, 16, 16)) -> intp(5,0,16)
2267intvec_80_18:
2268 .word 0x39400001 ! 34: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
2269 .word 0xd26fe0b4 ! 35: LDSTUB_I ldstub %r9, [%r31 + 0x00b4]
2270splash_hpstate_80_19:
2271 .word 0x81982585 ! 36: WRHPR_HPSTATE_I wrhpr %r0, 0x0585, %hpstate
2272br_longdelay1_80_20:
2273 .word 0x35400001 ! 1: FBPUE fbue,a,pn %fcc0, <label_0x1>
2274 .word 0xbfefc000 ! 37: RESTORE_R restore %r31, %r0, %r31
2275 nop
2276 mov 0x80, %g3
2277 stxa %g3, [%g3] 0x57
2278 .word 0xd25fc000 ! 38: LDX_R ldx [%r31 + %r0], %r9
2279 .word 0xd23fc000 ! 39: STD_R std %r9, [%r31 + %r0]
2280!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_80_21)+40, 16, 16)) -> intp(mask2tid(0x80),1,3)
2281!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_80_21)&0xffffffff) +40, 16, 16)) -> intp(mask2tid(0x80),1,3)
2282xir_80_21:
2283 .word 0xa98531a8 ! 40: WR_SET_SOFTINT_I wr %r20, 0x11a8, %set_softint
2284splash_hpstate_80_22:
2285 ta T_CHANGE_NONHPRIV
2286 .word 0x81982a1e ! 41: WRHPR_HPSTATE_I wrhpr %r0, 0x0a1e, %hpstate
2287 .word 0xa37029f2 ! 42: POPC_I popc 0x09f2, %r17
2288splash_tba_80_23:
2289 ta T_CHANGE_PRIV
2290 setx 0x00000000003a0000, %r11, %r12
2291 .word 0x8b90000c ! 43: WRPR_TBA_R wrpr %r0, %r12, %tba
2292splash_cmpr_80_24:
2293 nop
2294 setx 0x2c7b7d277df5d892, %l2, %l1
2295 ta T_CHANGE_HPRIV
2296 wrhpr %l1, %g0, %hsys_tick_cmpr
2297 ta T_CHANGE_NONHPRIV
2298 sub %l1, 40, %g1
2299 .word 0x89900011 ! 44: WRPR_TICK_R wrpr %r0, %r17, %tick
2300br_longdelay1_80_25:
2301 .word 0x2ecc8001 ! 1: BRGEZ brgez,a,pt %r18,<label_0xc8001>
2302 .word 0x9d97c000 ! 45: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
2303mondo_80_26:
2304 nop
2305 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2306 stxa %r10, [%r0+0x3e8] %asi
2307 .word 0x9d928008 ! 46: WRPR_WSTATE_R wrpr %r10, %r8, %wstate
2308 otherw
2309 mov 0xb5, %r30
2310 .word 0x91d0001e ! 47: Tcc_R ta icc_or_xcc, %r0 + %r30
2311 .word 0xa981c013 ! 48: WR_SET_SOFTINT_R wr %r7, %r19, %set_softint
2312 nop
2313 ta T_CHANGE_HPRIV
2314 mov 0x80, %r10
2315 set sync_thr_counter2, %r23
2316 cas [%r23],%g0,%r10 !lock
2317 brnz %r10, sma_80_27
2318 rd %asi, %r12
2319 wr %g0, 0x40, %asi
2320 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
2321 set 0x000e1fff, %g1
2322 stxa %g1, [%g0 + 0x80] %asi
2323 wr %r12, %g0, %asi
2324 st %g0, [%r23]
2325sma_80_27:
2326 ta T_CHANGE_NONHPRIV
2327 .word 0xe9e7e013 ! 49: CASA_R casa [%r31] %asi, %r19, %r20
2328 .word 0xe86fe0c6 ! 50: LDSTUB_I ldstub %r20, [%r31 + 0x00c6]
2329 invalw
2330 mov 0xb3, %r30
2331 .word 0x83d0001e ! 51: Tcc_R te icc_or_xcc, %r0 + %r30
2332pmu_80_28:
2333 nop
2334 ta T_CHANGE_PRIV
2335 setx 0xfffff4dbfffff886, %g1, %g7
2336 .word 0xa3800007 ! 52: WR_PERF_COUNTER_R wr %r0, %r7, %-
2337dvapa_80_29:
2338 nop
2339 ta T_CHANGE_HPRIV
2340 mov 0xf0a, %r20
2341 mov 0x6, %r19
2342 sllx %r20, 23, %r20
2343 or %r19, %r20, %r19
2344 stxa %r19, [%g0] ASI_LSU_CONTROL
2345 mov 0x38, %r18
2346 stxa %r31, [%r18]0x58
2347 ta T_CHANGE_NONHPRIV
2348 .word 0xe91fc013 ! 53: LDDF_R ldd [%r31, %r19], %f20
2349 .word 0xe19fd960 ! 54: LDDFA_R ldda [%r31, %r0], %f16
2350fpinit_80_30:
2351 setx fp_data_quads, %r19, %r20
2352 ldd [%r20], %f0
2353 ldd [%r20+8], %f4
2354 ld [%r20+16], %fsr
2355 ld [%r20+24], %r19
2356 wr %r19, %g0, %gsr
2357 .word 0xc3e82982 ! 55: PREFETCHA_I prefetcha [%r0, + 0x0982] %asi, #one_read
2358 setx 0xbc8ffd2833663702, %r1, %r28
2359 stxa %r28, [%g0] 0x73
2360intvec_80_31:
2361 .word 0x39400001 ! 56: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
2362 invalw
2363 mov 0x35, %r30
2364 .word 0x91d0001e ! 57: Tcc_R ta icc_or_xcc, %r0 + %r30
2365br_longdelay4_80_32:
2366 nop
2367 not %g0, %r12
2368 jmp %r12
2369 .word 0x9d902005 ! 58: WRPR_WSTATE_I wrpr %r0, 0x0005, %wstate
2370 .word 0x95a2c9cc ! 59: FDIVd fdivd %f42, %f12, %f10
2371 setx 0x3e76204458afeab6, %r1, %r28
2372 stxa %r28, [%g0] 0x73
2373intvec_80_33:
2374 .word 0x39400001 ! 60: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
2375mondo_80_34:
2376 nop
2377 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2378 ta T_CHANGE_PRIV
2379 stxa %r2, [%r0+0x3c8] %asi
2380 .word 0x9d91c007 ! 61: WRPR_WSTATE_R wrpr %r7, %r7, %wstate
2381 nop
2382 ta T_CHANGE_HPRIV
2383 mov 0x80, %r10
2384 set sync_thr_counter2, %r23
2385 cas [%r23],%g0,%r10 !lock
2386 brnz %r10, sma_80_35
2387 rd %asi, %r12
2388 wr %g0, 0x40, %asi
2389 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
2390 set 0x001a1fff, %g1
2391 stxa %g1, [%g0 + 0x80] %asi
2392 wr %r12, %g0, %asi
2393 st %g0, [%r23]
2394sma_80_35:
2395 ta T_CHANGE_NONHPRIV
2396 .word 0xd1e7e00a ! 62: CASA_R casa [%r31] %asi, %r10, %r8
2397 .word 0xa782c00c ! 63: WR_GRAPHICS_STATUS_REG_R wr %r11, %r12, %-
2398 .word 0x9f802f63 ! 64: SIR sir 0x0f63
2399 .word 0xd08fe000 ! 65: LDUBA_I lduba [%r31, + 0x0000] %asi, %r8
2400 .word 0xd03fc000 ! 66: STD_R std %r8, [%r31 + %r0]
2401 .word 0xc32fc000 ! 67: STXFSR_R st-sfr %f1, [%r0, %r31]
2402 .word 0xd0800b60 ! 68: LDUWA_R lduwa [%r0, %r0] 0x5b, %r8
2403change_to_randtl_80_37:
2404 ta T_CHANGE_HPRIV ! macro
2405done_change_to_randtl_80_37:
2406 .word 0x8f902000 ! 69: WRPR_TL_I wrpr %r0, 0x0000, %tl
2407dvapa_80_38:
2408 nop
2409 ta T_CHANGE_HPRIV
2410 mov 0xa26, %r20
2411 mov 0x15, %r19
2412 sllx %r20, 23, %r20
2413 or %r19, %r20, %r19
2414 stxa %r19, [%g0] ASI_LSU_CONTROL
2415 mov 0x38, %r18
2416 stxa %r31, [%r18]0x58
2417 ta T_CHANGE_NONHPRIV
2418 .word 0xc32fc004 ! 70: STXFSR_R st-sfr %f1, [%r4, %r31]
2419intveclr_80_39:
2420 nop
2421 ta T_CHANGE_HPRIV
2422 setx 0x62dab9a75ca11ec2, %r1, %r28
2423 stxa %r28, [%g0] 0x72
2424 .word 0x25400001 ! 71: FBPLG fblg,a,pn %fcc0, <label_0x1>
2425mondo_80_40:
2426 nop
2427 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2428 stxa %r18, [%r0+0x3e0] %asi
2429 .word 0x9d914004 ! 72: WRPR_WSTATE_R wrpr %r5, %r4, %wstate
2430 .word 0x91930003 ! 73: WRPR_PIL_R wrpr %r12, %r3, %pil
2431!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_80_42) + 0, 16, 16)) -> intp(4,0,17)
2432!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_80_42)&0xffffffff) + 0, 16, 16)) -> intp(4,0,17)
2433intvec_80_42:
2434 .word 0x39400001 ! 74: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
2435 .word 0x977029bd ! 75: POPC_I popc 0x09bd, %r11
2436br_longdelay2_80_43:
2437 .word 0x37400001 ! 1: FBPGE fbge,a,pn %fcc0, <label_0x1>
2438 .word 0xd5e04034 ! 76: CASA_I casa [%r1] 0x 1, %r20, %r10
2439splash_cmpr_80_44:
2440 nop
2441 setx 0x9fdffb363585c229, %l2, %l1
2442 ta T_CHANGE_HPRIV
2443 wrhpr %l1, %g0, %hsys_tick_cmpr
2444 sub %l1, 40, %g1
2445 .word 0x89900011 ! 77: WRPR_TICK_R wrpr %r0, %r17, %tick
2446 nop
2447 ta T_CHANGE_HPRIV
2448 mov 0x80, %r10
2449 set sync_thr_counter2, %r23
2450 cas [%r23],%g0,%r10 !lock
2451 brnz %r10, sma_80_45
2452 rd %asi, %r12
2453 wr %g0, 0x40, %asi
2454 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
2455 set 0x001a1fff, %g1
2456 stxa %g1, [%g0 + 0x80] %asi
2457 wr %r12, %g0, %asi
2458 st %g0, [%r23]
2459sma_80_45:
2460 ta T_CHANGE_NONHPRIV
2461 .word 0xe3e7e005 ! 78: CASA_R casa [%r31] %asi, %r5, %r17
2462 .word 0x35400001 ! 1: FBPUE fbue,a,pn %fcc0, <label_0x1>
2463 .word 0x8d90304f ! 79: WRPR_PSTATE_I wrpr %r0, 0x104f, %pstate
2464 nop
2465 ta T_CHANGE_HPRIV
2466 mov 0x80+1, %r10
2467 set sync_thr_counter1, %r23
2468 cas [%r23],%g0,%r10 !lock
2469 brnz %r10, cwq_80_47
2470 rd %asi, %r12
2471 wr %g0, 0x40, %asi
2472 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
2473 and %l1, 0x3, %l1 ! Check if busy/enabled ..
2474 cmp %l1, 1
2475 bne cwq_80_47
2476 set CWQ_BASE, %l6
2477 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
2478 sllx %l2, 32, %l2
2479 stx %l2, [%l6 + 0x0]
2480 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
2481 sub %l2, 0x40, %l2
2482 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
2483 wr %r12, %g0, %asi
2484 st %g0, [%r23]
2485cwq_80_47:
2486 ta T_CHANGE_NONHPRIV
2487 .word 0x91414000 ! 80: RDPC rd %pc, %r8
2488!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_80_48)+0, 16, 16)) -> intp(mask2tid(0x80),1,3)
2489!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_80_48)&0xffffffff) +0, 16, 16)) -> intp(mask2tid(0x80),1,3)
2490xir_80_48:
2491 .word 0xa982697a ! 81: WR_SET_SOFTINT_I wr %r9, 0x097a, %set_softint
2492 .word 0x91908012 ! 82: WRPR_PIL_R wrpr %r2, %r18, %pil
2493intveclr_80_50:
2494 nop
2495 ta T_CHANGE_HPRIV
2496 setx 0x30311a9aad94e668, %r1, %r28
2497 stxa %r28, [%g0] 0x72
2498 ta T_CHANGE_NONHPRIV
2499 .word 0x25400001 ! 83: FBPLG fblg,a,pn %fcc0, <label_0x1>
2500mondo_80_51:
2501 nop
2502 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2503 stxa %r13, [%r0+0x3c8] %asi
2504 .word 0x9d930011 ! 84: WRPR_WSTATE_R wrpr %r12, %r17, %wstate
2505splash_hpstate_80_52:
2506 .word 0x81982e47 ! 85: WRHPR_HPSTATE_I wrhpr %r0, 0x0e47, %hpstate
2507 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
2508reduce_priv_lvl_80_53:
2509 ta T_CHANGE_NONHPRIV ! macro
2510ibp_80_54:
2511 nop
2512 ta T_CHANGE_HPRIV
2513 ta T_CHANGE_NONHPRIV
2514 .word 0xdb3fc008 ! 87: STDF_R std %f13, [%r8, %r31]
2515splash_hpstate_80_55:
2516 ta T_CHANGE_NONHPRIV
2517 .word 0x8198200f ! 88: WRHPR_HPSTATE_I wrhpr %r0, 0x000f, %hpstate
2518 .word 0x97b2c492 ! 89: FCMPLE32 fcmple32 %d42, %d18, %r11
2519 .word 0xdb27c000 ! 90: STF_R st %f13, [%r0, %r31]
2520splash_tba_80_56:
2521 ta T_CHANGE_PRIV
2522 set 0x120000, %r12
2523 .word 0x8b90000c ! 91: WRPR_TBA_R wrpr %r0, %r12, %tba
2524fpinit_80_57:
2525 setx fp_data_quads, %r19, %r20
2526 ldd [%r20], %f0
2527 ldd [%r20+8], %f4
2528 ld [%r20+16], %fsr
2529 ld [%r20+24], %r19
2530 wr %r19, %g0, %gsr
2531 .word 0x91b00484 ! 92: FCMPLE32 fcmple32 %d0, %d4, %r8
2532!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_80_58) + 24, 16, 16)) -> intp(3,0,21)
2533!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_80_58)&0xffffffff) + 24, 16, 16)) -> intp(3,0,21)
2534intvec_80_58:
2535 .word 0x39400001 ! 93: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
2536intveclr_80_59:
2537 nop
2538 ta T_CHANGE_HPRIV
2539 setx 0x3d643fee8220216b, %r1, %r28
2540 stxa %r28, [%g0] 0x72
2541 .word 0x25400001 ! 94: FBPLG fblg,a,pn %fcc0, <label_0x1>
2542 .word 0xc1bfdb60 ! 95: STDFA_R stda %f0, [%r0, %r31]
2543 .word 0x91d020b3 ! 96: Tcc_I ta icc_or_xcc, %r0 + 179
2544 nop
2545 ta T_CHANGE_HPRIV
2546 mov 0x80+1, %r10
2547 set sync_thr_counter1, %r23
2548 cas [%r23],%g0,%r10 !lock
2549 brnz %r10, cwq_80_60
2550 rd %asi, %r12
2551 wr %g0, 0x40, %asi
2552 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
2553 and %l1, 0x3, %l1 ! Check if busy/enabled ..
2554 cmp %l1, 1
2555 bne cwq_80_60
2556 set CWQ_BASE, %l6
2557 best_set_reg(0x20610010, %l1, %l2) !# Control Word
2558 sllx %l2, 32, %l2
2559 stx %l2, [%l6 + 0x0]
2560 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
2561 sub %l2, 0x40, %l2
2562 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
2563 wr %r12, %g0, %asi
2564 st %g0, [%r23]
2565cwq_80_60:
2566 ta T_CHANGE_NONHPRIV
2567 .word 0xa7414000 ! 97: RDPC rd %pc, %r19
2568memptr_80_61:
2569 set 0x60540000, %r31
2570 .word 0x8584b517 ! 98: WRCCR_I wr %r18, 0x1517, %ccr
2571mondo_80_62:
2572 nop
2573 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2574 ta T_CHANGE_PRIV
2575 stxa %r17, [%r0+0x3e0] %asi
2576 .word 0x9d93400c ! 99: WRPR_WSTATE_R wrpr %r13, %r12, %wstate
2577 .word 0x91d02033 ! 100: Tcc_I ta icc_or_xcc, %r0 + 51
2578ibp_80_63:
2579 nop
2580 ta T_CHANGE_HPRIV
2581 .word 0xe1e7e011 ! 101: CASA_R casa [%r31] %asi, %r17, %r16
2582 .word 0xe1bfe020 ! 102: STDFA_I stda %f16, [0x0020, %r31]
2583!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_80_64)+56, 16, 16)) -> intp(mask2tid(0x80),1,3)
2584!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_80_64)&0xffffffff) +56, 16, 16)) -> intp(mask2tid(0x80),1,3)
2585xir_80_64:
2586 .word 0xa980a3b1 ! 103: WR_SET_SOFTINT_I wr %r2, 0x03b1, %set_softint
2587 .word 0xe1bfdb60 ! 104: STDFA_R stda %f16, [%r0, %r31]
2588 .word 0xc1bfe060 ! 105: STDFA_I stda %f0, [0x0060, %r31]
2589 .word 0x20700001 ! 106: BPN <illegal instruction>
2590jmptr_80_65:
2591 nop
2592 best_set_reg(0xe0a00000, %r20, %r27)
2593 .word 0xb7c6c000 ! 107: JMPL_R jmpl %r27 + %r0, %r27
2594 .word 0xe06fe0fa ! 108: LDSTUB_I ldstub %r16, [%r31 + 0x00fa]
2595 .word 0xb1800011 ! 109: WR_STICK_REG_R wr %r0, %r17, %-
2596fpinit_80_66:
2597 setx fp_data_quads, %r19, %r20
2598 ldd [%r20], %f0
2599 ldd [%r20+8], %f4
2600 ld [%r20+16], %fsr
2601 ld [%r20+24], %r19
2602 wr %r19, %g0, %gsr
2603 .word 0xc3e82765 ! 110: PREFETCHA_I prefetcha [%r0, + 0x0765] %asi, #one_read
2604 .word 0xc1bfdc00 ! 111: STDFA_R stda %f0, [%r0, %r31]
2605 nop
2606 ta T_CHANGE_HPRIV
2607 mov 0x80+1, %r10
2608 set sync_thr_counter1, %r23
2609 cas [%r23],%g0,%r10 !lock
2610 brnz %r10, cwq_80_67
2611 rd %asi, %r12
2612 wr %g0, 0x40, %asi
2613 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
2614 and %l1, 0x3, %l1 ! Check if busy/enabled ..
2615 cmp %l1, 1
2616 bne cwq_80_67
2617 set CWQ_BASE, %l6
2618 best_set_reg(0x206100b0, %l1, %l2) !# Control Word
2619 sllx %l2, 32, %l2
2620 stx %l2, [%l6 + 0x0]
2621 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
2622 sub %l2, 0x40, %l2
2623 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
2624 wr %r12, %g0, %asi
2625 st %g0, [%r23]
2626cwq_80_67:
2627 ta T_CHANGE_NONHPRIV
2628 .word 0x99414000 ! 112: RDPC rd %pc, %r12
2629 .word 0xa5a0016d ! 113: FABSq dis not found
2630
2631 .word 0x97450000 ! 114: RD_SET_SOFTINT rd %set_softint, %r11
2632 .word 0xe19fc3e0 ! 115: LDDFA_R ldda [%r31, %r0], %f16
2633pmu_80_68:
2634 nop
2635 ta T_CHANGE_PRIV
2636 setx 0xfffffde0fffffb23, %g1, %g7
2637 .word 0xa3800007 ! 116: WR_PERF_COUNTER_R wr %r0, %r7, %-
2638 nop
2639 ta T_CHANGE_HPRIV
2640 mov 0x80+1, %r10
2641 set sync_thr_counter1, %r23
2642 cas [%r23],%g0,%r10 !lock
2643 brnz %r10, cwq_80_69
2644 rd %asi, %r12
2645 wr %g0, 0x40, %asi
2646 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
2647 and %l1, 0x3, %l1 ! Check if busy/enabled ..
2648 cmp %l1, 1
2649 bne cwq_80_69
2650 set CWQ_BASE, %l6
2651 best_set_reg(0x20610000, %l1, %l2) !# Control Word
2652 sllx %l2, 32, %l2
2653 stx %l2, [%l6 + 0x0]
2654 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
2655 sub %l2, 0x40, %l2
2656 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
2657 wr %r12, %g0, %asi
2658 st %g0, [%r23]
2659cwq_80_69:
2660 ta T_CHANGE_NONHPRIV
2661 .word 0xa9414000 ! 117: RDPC rd %pc, %r20
2662splash_hpstate_80_70:
2663 .word 0x3c800001 ! 1: BPOS bpos,a <label_0x1>
2664 .word 0x81982657 ! 118: WRHPR_HPSTATE_I wrhpr %r0, 0x0657, %hpstate
2665 nop
2666 ta T_CHANGE_HPRIV
2667 mov 0x80, %r10
2668 set sync_thr_counter2, %r23
2669 cas [%r23],%g0,%r10 !lock
2670 brnz %r10, sma_80_71
2671 rd %asi, %r12
2672 wr %g0, 0x40, %asi
2673 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
2674 set 0x00121fff, %g1
2675 stxa %g1, [%g0 + 0x80] %asi
2676 wr %r12, %g0, %asi
2677 st %g0, [%r23]
2678sma_80_71:
2679 ta T_CHANGE_NONHPRIV
2680 .word 0xe3e7e00d ! 119: CASA_R casa [%r31] %asi, %r13, %r17
2681 .word 0xe2d7e010 ! 120: LDSHA_I ldsha [%r31, + 0x0010] %asi, %r17
2682 .word 0x9f803e04 ! 121: SIR sir 0x1e04
2683 .word 0x9f80354b ! 122: SIR sir 0x154b
2684tagged_80_72:
2685 tsubcctv %r12, 0x1ebf, %r16
2686 .word 0xe207e0b4 ! 123: LDUW_I lduw [%r31 + 0x00b4], %r17
2687pmu_80_73:
2688 nop
2689 ta T_CHANGE_PRIV
2690 setx 0xfffff67ffffffb22, %g1, %g7
2691 .word 0xa3800007 ! 124: WR_PERF_COUNTER_R wr %r0, %r7, %-
2692mondo_80_74:
2693 nop
2694 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2695 stxa %r7, [%r0+0x3d0] %asi
2696 .word 0x9d928008 ! 125: WRPR_WSTATE_R wrpr %r10, %r8, %wstate
2697 .word 0xe26fe071 ! 126: LDSTUB_I ldstub %r17, [%r31 + 0x0071]
2698 .word 0xe31fc000 ! 127: LDDF_R ldd [%r31, %r0], %f17
2699 .word 0xe227e090 ! 128: STW_I stw %r17, [%r31 + 0x0090]
2700intveclr_80_75:
2701 nop
2702 ta T_CHANGE_HPRIV
2703 setx 0x8d965d903ed4c578, %r1, %r28
2704 stxa %r28, [%g0] 0x72
2705 .word 0x25400001 ! 129: FBPLG fblg,a,pn %fcc0, <label_0x1>
2706 .word 0xe22fe0c5 ! 130: STB_I stb %r17, [%r31 + 0x00c5]
2707!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_80_76)+56, 16, 16)) -> intp(mask2tid(0x80),1,3)
2708!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_80_76)&0xffffffff) +56, 16, 16)) -> intp(mask2tid(0x80),1,3)
2709xir_80_76:
2710 .word 0xa981f381 ! 131: WR_SET_SOFTINT_I wr %r7, 0x1381, %set_softint
2711 .word 0xe337e02a ! 132: STQF_I - %f17, [0x002a, %r31]
2712 .word 0xe337c000 ! 133: STQF_R - %f17, [%r0, %r31]
2713 .word 0xe327e0df ! 134: STF_I st %f17, [0x00df, %r31]
2714jmptr_80_77:
2715 nop
2716 best_set_reg(0xe0a00000, %r20, %r27)
2717 .word 0xb7c6c000 ! 135: JMPL_R jmpl %r27 + %r0, %r27
2718pmu_80_78:
2719 nop
2720 ta T_CHANGE_PRIV
2721 setx 0xfffffed2fffff6d8, %g1, %g7
2722 .word 0xa3800007 ! 136: WR_PERF_COUNTER_R wr %r0, %r7, %-
2723dvapa_80_79:
2724 nop
2725 ta T_CHANGE_HPRIV
2726 mov 0x948, %r20
2727 mov 0x15, %r19
2728 sllx %r20, 23, %r20
2729 or %r19, %r20, %r19
2730 stxa %r19, [%g0] ASI_LSU_CONTROL
2731 mov 0x38, %r18
2732 stxa %r31, [%r18]0x58
2733 ta T_CHANGE_NONHPRIV
2734 .word 0xe2bfc031 ! 137: STDA_R stda %r17, [%r31 + %r17] 0x01
2735 .word 0xc1bfdc00 ! 138: STDFA_R stda %f0, [%r0, %r31]
2736mondo_80_80:
2737 nop
2738 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2739 stxa %r18, [%r0+0x3c8] %asi
2740 .word 0x9d92000a ! 139: WRPR_WSTATE_R wrpr %r8, %r10, %wstate
2741 .word 0x8d802004 ! 140: WRFPRS_I wr %r0, 0x0004, %fprs
2742mondo_80_81:
2743 nop
2744 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2745 stxa %r20, [%r0+0x3d0] %asi
2746 .word 0x9d90c012 ! 141: WRPR_WSTATE_R wrpr %r3, %r18, %wstate
2747pmu_80_82:
2748 nop
2749 ta T_CHANGE_PRIV
2750 setx 0xffffffecfffff246, %g1, %g7
2751 .word 0xa3800007 ! 142: WR_PERF_COUNTER_R wr %r0, %r7, %-
2752 .word 0x93a089a7 ! 143: FDIVs fdivs %f2, %f7, %f9
2753!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_80_83)+0, 16, 16)) -> intp(mask2tid(0x80),1,3)
2754!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_80_83)&0xffffffff) +0, 16, 16)) -> intp(mask2tid(0x80),1,3)
2755xir_80_83:
2756 .word 0xa9806704 ! 144: WR_SET_SOFTINT_I wr %r1, 0x0704, %set_softint
2757cwp_80_84:
2758 set user_data_start, %o7
2759 .word 0x93902005 ! 145: WRPR_CWP_I wrpr %r0, 0x0005, %cwp
2760intveclr_80_85:
2761 nop
2762 ta T_CHANGE_HPRIV
2763 setx 0xfda69282fab903db, %r1, %r28
2764 stxa %r28, [%g0] 0x72
2765 ta T_CHANGE_NONHPRIV
2766 .word 0x25400001 ! 146: FBPLG fblg,a,pn %fcc0, <label_0x1>
2767 nop
2768 ta T_CHANGE_HPRIV
2769 mov 0x80, %r10
2770 set sync_thr_counter2, %r23
2771 cas [%r23],%g0,%r10 !lock
2772 brnz %r10, sma_80_86
2773 rd %asi, %r12
2774 wr %g0, 0x40, %asi
2775 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
2776 set 0x00021fff, %g1
2777 stxa %g1, [%g0 + 0x80] %asi
2778 wr %r12, %g0, %asi
2779 st %g0, [%r23]
2780sma_80_86:
2781 ta T_CHANGE_NONHPRIV
2782 .word 0xd9e7e011 ! 147: CASA_R casa [%r31] %asi, %r17, %r12
2783 .word 0xa9a00174 ! 148: FABSq dis not found
2784
2785 .word 0xa3b507c3 ! 149: PDIST pdistn %d20, %d34, %d48
2786 nop
2787 ta T_CHANGE_HPRIV
2788 mov 0x80, %r10
2789 set sync_thr_counter2, %r23
2790 cas [%r23],%g0,%r10 !lock
2791 brnz %r10, sma_80_87
2792 rd %asi, %r12
2793 wr %g0, 0x40, %asi
2794 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
2795 set 0x00161fff, %g1
2796 stxa %g1, [%g0 + 0x80] %asi
2797 wr %r12, %g0, %asi
2798 st %g0, [%r23]
2799sma_80_87:
2800 ta T_CHANGE_NONHPRIV
2801 .word 0xdbe7e011 ! 150: CASA_R casa [%r31] %asi, %r17, %r13
2802 .word 0x91904001 ! 151: WRPR_PIL_R wrpr %r1, %r1, %pil
2803 .word 0xe19fdf20 ! 152: LDDFA_R ldda [%r31, %r0], %f16
2804 .word 0x3c700001 ! 153: BPPOS <illegal instruction>
2805 .word 0xda27e0f5 ! 154: STW_I stw %r13, [%r31 + 0x00f5]
2806pmu_80_89:
2807 nop
2808 ta T_CHANGE_PRIV
2809 setx 0xfffff1b9fffff663, %g1, %g7
2810 .word 0xa3800007 ! 155: WR_PERF_COUNTER_R wr %r0, %r7, %-
2811 nop
2812 ta T_CHANGE_HPRIV
2813 mov 0x80, %r10
2814 set sync_thr_counter2, %r23
2815 cas [%r23],%g0,%r10 !lock
2816 brnz %r10, sma_80_90
2817 rd %asi, %r12
2818 wr %g0, 0x40, %asi
2819 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
2820 set 0x00021fff, %g1
2821 stxa %g1, [%g0 + 0x80] %asi
2822 wr %r12, %g0, %asi
2823 st %g0, [%r23]
2824sma_80_90:
2825 ta T_CHANGE_NONHPRIV
2826 .word 0xdbe7e013 ! 156: CASA_R casa [%r31] %asi, %r19, %r13
2827 setx 0xa0a08c826b291b77, %r1, %r28
2828 stxa %r28, [%g0] 0x73
2829intvec_80_91:
2830 .word 0x39400001 ! 157: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
2831 .word 0x2e700001 ! 158: BPVS <illegal instruction>
2832 .word 0xda47c000 ! 159: LDSW_R ldsw [%r31 + %r0], %r13
2833splash_lsu_80_92:
2834 nop
2835 ta T_CHANGE_HPRIV
2836 set 0x7dd28a1f, %r2
2837 mov 0x2, %r1
2838 sllx %r1, 32, %r1
2839 or %r1, %r2, %r2
2840 stxa %r2, [%r0] ASI_LSU_CONTROL
2841 ta T_CHANGE_NONHPRIV
2842 .word 0x3d400001 ! 160: FBPULE fbule,a,pn %fcc0, <label_0x1>
2843!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_80_93)+32, 16, 16)) -> intp(mask2tid(0x80),1,3)
2844!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_80_93)&0xffffffff) +32, 16, 16)) -> intp(mask2tid(0x80),1,3)
2845xir_80_93:
2846 .word 0xa981e053 ! 161: WR_SET_SOFTINT_I wr %r7, 0x0053, %set_softint
2847 .word 0xe19fc3e0 ! 162: LDDFA_R ldda [%r31, %r0], %f16
2848pmu_80_94:
2849 nop
2850 setx 0xfffff325fffff336, %g1, %g7
2851 .word 0xa3800007 ! 163: WR_PERF_COUNTER_R wr %r0, %r7, %-
2852 .word 0x3a800001 ! 164: BCC bcc,a <label_0x1>
2853 .word 0x91464000 ! 165: RD_STICK_CMPR_REG rd %-, %r8
2854pmu_80_95:
2855 nop
2856 ta T_CHANGE_PRIV
2857 setx 0xfffff555fffff1be, %g1, %g7
2858 .word 0xa3800007 ! 166: WR_PERF_COUNTER_R wr %r0, %r7, %-
2859 .word 0xb1800011 ! 167: WR_STICK_REG_R wr %r0, %r17, %-
2860 nop
2861 ta T_CHANGE_HPRIV
2862 mov 0x80, %r10
2863 set sync_thr_counter2, %r23
2864 cas [%r23],%g0,%r10 !lock
2865 brnz %r10, sma_80_96
2866 rd %asi, %r12
2867 wr %g0, 0x40, %asi
2868 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
2869 set 0x001e1fff, %g1
2870 stxa %g1, [%g0 + 0x80] %asi
2871 wr %r12, %g0, %asi
2872 st %g0, [%r23]
2873sma_80_96:
2874 ta T_CHANGE_NONHPRIV
2875 .word 0xdbe7e013 ! 168: CASA_R casa [%r31] %asi, %r19, %r13
2876pmu_80_97:
2877 nop
2878 ta T_CHANGE_PRIV
2879 setx 0xfffff917fffff3d2, %g1, %g7
2880 .word 0xa3800007 ! 169: WR_PERF_COUNTER_R wr %r0, %r7, %-
2881pmu_80_98:
2882 nop
2883 ta T_CHANGE_PRIV
2884 setx 0xfffffd6cfffffd40, %g1, %g7
2885 .word 0xa3800007 ! 170: WR_PERF_COUNTER_R wr %r0, %r7, %-
2886 .word 0x91d02032 ! 171: Tcc_I ta icc_or_xcc, %r0 + 50
2887 .word 0xa985000a ! 172: WR_SET_SOFTINT_R wr %r20, %r10, %set_softint
2888 otherw
2889 mov 0xb1, %r30
2890 .word 0x91d0001e ! 173: Tcc_R ta icc_or_xcc, %r0 + %r30
2891brcommon_80_99:
2892 ba,a .+12
2893 mov %r31, %r15
2894 ba,a .+8
2895 call common_target
2896 .word 0xda3fee11 ! 174: STD_I std %r13, [%r31 + 0x0e11]
2897br_badelay3_80_100:
2898 .word 0x34800001 ! 1: BG bg,a <label_0x1>
2899 .word 0xc17f9fa3 ! Random illegal ?
2900 .word 0xd3144014 ! 1: LDQF_R - [%r17, %r20], %f9
2901 .word 0x91a44832 ! 175: FADDs fadds %f17, %f18, %f8
2902 .word 0xa5a4c9c5 ! 176: FDIVd fdivd %f50, %f36, %f18
2903 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
2904reduce_priv_lvl_80_101:
2905 ta T_CHANGE_NONHPRIV ! macro
2906 nop
2907 mov 0x80, %g3
2908 stxa %g3, [%g3] 0x57
2909 .word 0xe05fc000 ! 178: LDX_R ldx [%r31 + %r0], %r16
2910memptr_80_102:
2911 set user_data_start, %r31
2912 .word 0x85853eeb ! 179: WRCCR_I wr %r20, 0x1eeb, %ccr
2913 setx 0x04e6a72731355148, %r1, %r28
2914 stxa %r28, [%g0] 0x73
2915intvec_80_103:
2916 .word 0x39400001 ! 180: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
2917 .word 0xe1bfe0a0 ! 181: STDFA_I stda %f16, [0x00a0, %r31]
2918 set 0x1597, %l3
2919 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
2920 .word 0xa9b287c7 ! 182: PDIST pdistn %d10, %d38, %d20
2921mondo_80_104:
2922 nop
2923 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2924 ta T_CHANGE_PRIV
2925 stxa %r3, [%r0+0x3d8] %asi
2926 .word 0x9d940011 ! 183: WRPR_WSTATE_R wrpr %r16, %r17, %wstate
2927 .word 0x9f8039ff ! 184: SIR sir 0x19ff
2928 .word 0xa3a1c9c7 ! 185: FDIVd fdivd %f38, %f38, %f48
2929 .word 0x87a88a50 ! 186: FCMPd fcmpd %fcc<n>, %f2, %f16
2930dvapa_80_105:
2931 nop
2932 ta T_CHANGE_HPRIV
2933 mov 0xfdc, %r20
2934 mov 0xa, %r19
2935 sllx %r20, 23, %r20
2936 or %r19, %r20, %r19
2937 stxa %r19, [%g0] ASI_LSU_CONTROL
2938 mov 0x38, %r18
2939 stxa %r31, [%r18]0x58
2940 ta T_CHANGE_NONHPRIV
2941 .word 0xd0bfc033 ! 187: STDA_R stda %r8, [%r31 + %r19] 0x01
2942mondo_80_106:
2943 nop
2944 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2945 stxa %r4, [%r0+0x3e0] %asi
2946 .word 0x9d910014 ! 188: WRPR_WSTATE_R wrpr %r4, %r20, %wstate
2947 .word 0x9f803883 ! 189: SIR sir 0x1883
2948vahole_80_107:
2949 nop
2950 ta T_CHANGE_NONHPRIV
2951 setx vahole_target, %r18, %r27
2952 jmpl %r27+0, %r27
2953 .word 0xe33fc001 ! 190: STDF_R std %f17, [%r1, %r31]
2954 .word 0xe237e0bc ! 191: STH_I sth %r17, [%r31 + 0x00bc]
2955 .word 0xa9480000 ! 192: RDHPR_HPSTATE rdhpr %hpstate, %r20
2956!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_80_108)+48, 16, 16)) -> intp(mask2tid(0x80),1,3)
2957!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_80_108)&0xffffffff) +48, 16, 16)) -> intp(mask2tid(0x80),1,3)
2958xir_80_108:
2959 .word 0xa98463e3 ! 193: WR_SET_SOFTINT_I wr %r17, 0x03e3, %set_softint
2960 .word 0x9f802728 ! 194: SIR sir 0x0728
2961dvapa_80_109:
2962 nop
2963 ta T_CHANGE_HPRIV
2964 mov 0xca0, %r20
2965 mov 0x9, %r19
2966 sllx %r20, 23, %r20
2967 or %r19, %r20, %r19
2968 stxa %r19, [%g0] ASI_LSU_CONTROL
2969 mov 0x38, %r18
2970 stxa %r31, [%r18]0x58
2971 ta T_CHANGE_NONHPRIV
2972 .word 0xe7e7e001 ! 195: CASA_R casa [%r31] %asi, %r1, %r19
2973intveclr_80_110:
2974 nop
2975 ta T_CHANGE_HPRIV
2976 setx 0x6d768d6ca9b43648, %r1, %r28
2977 stxa %r28, [%g0] 0x72
2978 ta T_CHANGE_NONHPRIV
2979 .word 0x25400001 ! 196: FBPLG fblg,a,pn %fcc0, <label_0x1>
2980 set 0x111f, %l3
2981 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
2982 .word 0x95b347c7 ! 197: PDIST pdistn %d44, %d38, %d10
2983 .word 0xd31fc012 ! 198: LDDF_R ldd [%r31, %r18], %f9
2984mondo_80_112:
2985 nop
2986 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
2987 stxa %r17, [%r0+0x3c0] %asi
2988 .word 0x9d92800c ! 199: WRPR_WSTATE_R wrpr %r10, %r12, %wstate
2989 nop
2990 ta T_CHANGE_HPRIV
2991 mov 0x80+1, %r10
2992 set sync_thr_counter1, %r23
2993 cas [%r23],%g0,%r10 !lock
2994 brnz %r10, cwq_80_113
2995 rd %asi, %r12
2996 wr %g0, 0x40, %asi
2997 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
2998 and %l1, 0x3, %l1 ! Check if busy/enabled ..
2999 cmp %l1, 1
3000 bne cwq_80_113
3001 set CWQ_BASE, %l6
3002 best_set_reg(0x20610090, %l1, %l2) !# Control Word
3003 sllx %l2, 32, %l2
3004 stx %l2, [%l6 + 0x0]
3005 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
3006 sub %l2, 0x40, %l2
3007 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
3008 wr %r12, %g0, %asi
3009 st %g0, [%r23]
3010cwq_80_113:
3011 ta T_CHANGE_NONHPRIV
3012 .word 0xa3414000 ! 200: RDPC rd %pc, %r17
3013mondo_80_114:
3014 nop
3015 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
3016 stxa %r1, [%r0+0x3c0] %asi
3017 .word 0x9d94000c ! 201: WRPR_WSTATE_R wrpr %r16, %r12, %wstate
3018 .word 0xe1bfc2c0 ! 202: STDFA_R stda %f16, [%r0, %r31]
3019 .word 0x91d02032 ! 203: Tcc_I ta icc_or_xcc, %r0 + 50
3020memptr_80_115:
3021 set 0x60540000, %r31
3022 .word 0x858532e7 ! 204: WRCCR_I wr %r20, 0x12e7, %ccr
3023 nop
3024 mov 0x80, %g3
3025 stxa %g3, [%g3] 0x57
3026 .word 0xe25fc000 ! 205: LDX_R ldx [%r31 + %r0], %r17
3027 .word 0x91d02034 ! 206: Tcc_I ta icc_or_xcc, %r0 + 52
3028pmu_80_116:
3029 nop
3030 setx 0xfffff86bfffff190, %g1, %g7
3031 .word 0xa3800007 ! 207: WR_PERF_COUNTER_R wr %r0, %r7, %-
3032 .word 0x2e800001 ! 1: BVS bvs,a <label_0x1>
3033 .word 0x8d9028e3 ! 208: WRPR_PSTATE_I wrpr %r0, 0x08e3, %pstate
3034splash_tba_80_118:
3035 ta T_CHANGE_PRIV
3036 setx 0x00000000003a0000, %r11, %r12
3037 .word 0x8b90000c ! 209: WRPR_TBA_R wrpr %r0, %r12, %tba
3038 .word 0x87aa4a42 ! 210: FCMPd fcmpd %fcc<n>, %f40, %f2
3039 .word 0xe1bfe040 ! 211: STDFA_I stda %f16, [0x0040, %r31]
3040 .word 0x38800001 ! 212: BGU bgu,a <label_0x1>
3041 .word 0xe1bfda00 ! 213: STDFA_R stda %f16, [%r0, %r31]
3042 .word 0xa7454000 ! 214: RD_CLEAR_SOFTINT rd %clear_softint, %r19
3043 .word 0xa9703a16 ! 215: POPC_I popc 0x1a16, %r20
3044mondo_80_119:
3045 nop
3046 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
3047 ta T_CHANGE_PRIV
3048 stxa %r3, [%r0+0x3d0] %asi
3049 .word 0x9d94c013 ! 216: WRPR_WSTATE_R wrpr %r19, %r19, %wstate
3050splash_lsu_80_120:
3051 nop
3052 ta T_CHANGE_HPRIV
3053 set 0x73218e68, %r2
3054 mov 0x4, %r1
3055 sllx %r1, 32, %r1
3056 or %r1, %r2, %r2
3057 stxa %r2, [%r0] ASI_LSU_CONTROL
3058 .word 0x3d400001 ! 217: FBPULE fbule,a,pn %fcc0, <label_0x1>
3059 .word 0x24800001 ! 218: BLE ble,a <label_0x1>
3060 .word 0xc1bfe040 ! 219: STDFA_I stda %f0, [0x0040, %r31]
3061 .word 0xd797e000 ! 220: LDQFA_I - [%r31, 0x0000], %f11
3062 .word 0xd73fc000 ! 221: STDF_R std %f11, [%r0, %r31]
3063donret_80_121:
3064 nop
3065 ta T_CHANGE_HPRIV ! macro
3066 rd %pc, %r12
3067 add %r12, (donretarg_80_121-donret_80_121-4), %r12
3068 mov 0x38, %r18
3069 stxa %r12, [%r18]0x58
3070 add %r12, 0x4, %r11
3071 wrpr %g0, 0x1, %tl
3072 wrpr %g0, %r12, %tpc
3073 wrpr %g0, %r11, %tnpc
3074 set (0x004a0e08 | (32 << 24)), %r13
3075 rdpr %tstate, %r16
3076 mov 0x1f, %r19
3077 and %r19, %r16, %r17
3078 andn %r16, %r19, %r16
3079 or %r16, %r17, %r20
3080 wrpr %r20, %g0, %tstate
3081 wrhpr %g0, 0x884, %htstate
3082 ta T_CHANGE_NONHPRIV ! rand=1 (80)
3083 done
3084donretarg_80_121:
3085 .word 0xd6ffe029 ! 222: SWAPA_I swapa %r11, [%r31 + 0x0029] %asi
3086!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_80_122)+32, 16, 16)) -> intp(mask2tid(0x80),1,3)
3087!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_80_122)&0xffffffff) +32, 16, 16)) -> intp(mask2tid(0x80),1,3)
3088xir_80_122:
3089 .word 0xa9843a92 ! 223: WR_SET_SOFTINT_I wr %r16, 0x1a92, %set_softint
3090 .word 0x93b447d3 ! 224: PDIST pdistn %d48, %d50, %d40
3091ibp_80_123:
3092 nop
3093 ta T_CHANGE_HPRIV
3094 .word 0xe93fc00b ! 225: STDF_R std %f20, [%r11, %r31]
3095 set 0x1321, %l3
3096 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
3097 .word 0x95b407c5 ! 226: PDIST pdistn %d16, %d36, %d10
3098 invalw
3099 mov 0x34, %r30
3100 .word 0x91d0001e ! 227: Tcc_R ta icc_or_xcc, %r0 + %r30
3101 nop
3102 ta T_CHANGE_HPRIV
3103 mov 0x80+1, %r10
3104 set sync_thr_counter1, %r23
3105 cas [%r23],%g0,%r10 !lock
3106 brnz %r10, cwq_80_124
3107 rd %asi, %r12
3108 wr %g0, 0x40, %asi
3109 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
3110 and %l1, 0x3, %l1 ! Check if busy/enabled ..
3111 cmp %l1, 1
3112 bne cwq_80_124
3113 set CWQ_BASE, %l6
3114 best_set_reg(0x20610000, %l1, %l2) !# Control Word
3115 sllx %l2, 32, %l2
3116 stx %l2, [%l6 + 0x0]
3117 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
3118 sub %l2, 0x40, %l2
3119 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
3120 wr %r12, %g0, %asi
3121 st %g0, [%r23]
3122cwq_80_124:
3123 ta T_CHANGE_NONHPRIV
3124 .word 0xa5414000 ! 228: RDPC rd %pc, %r18
3125 .word 0x9191800c ! 229: WRPR_PIL_R wrpr %r6, %r12, %pil
3126 .word 0x21400001 ! 1: FBPN fbn,a,pn %fcc0, <label_0x1>
3127 .word 0x8d9022b9 ! 230: WRPR_PSTATE_I wrpr %r0, 0x02b9, %pstate
3128 .word 0xd23fe08c ! 231: STD_I std %r9, [%r31 + 0x008c]
3129mondo_80_127:
3130 nop
3131 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
3132 ta T_CHANGE_PRIV
3133 stxa %r18, [%r0+0x3d8] %asi
3134 .word 0x9d940012 ! 232: WRPR_WSTATE_R wrpr %r16, %r18, %wstate
3135 nop
3136 mov 0x80, %g3
3137 stxa %g3, [%g3] 0x57
3138 .word 0xd25fc000 ! 233: LDX_R ldx [%r31 + %r0], %r9
3139!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_80_128)+40, 16, 16)) -> intp(mask2tid(0x80),1,3)
3140!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_80_128)&0xffffffff) +40, 16, 16)) -> intp(mask2tid(0x80),1,3)
3141xir_80_128:
3142 .word 0xa984ab46 ! 234: WR_SET_SOFTINT_I wr %r18, 0x0b46, %set_softint
3143 .word 0xc1bfe040 ! 235: STDFA_I stda %f0, [0x0040, %r31]
3144 .word 0x29800001 ! 236: FBL fbl,a <label_0x1>
3145splash_htba_80_130:
3146 nop
3147 ta T_CHANGE_HPRIV
3148 setx 0x00000000002a0000, %r11, %r12
3149 .word 0x8b98000c ! 237: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
3150ibp_80_131:
3151 nop
3152 ta T_CHANGE_HPRIV
3153 ta T_CHANGE_NONHPRIV
3154 .word 0xd33fc013 ! 238: STDF_R std %f9, [%r19, %r31]
3155 .word 0x95b10494 ! 239: FCMPLE32 fcmple32 %d4, %d20, %r10
3156!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_80_132)+0, 16, 16)) -> intp(mask2tid(0x80),1,3)
3157!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_80_132)&0xffffffff) +0, 16, 16)) -> intp(mask2tid(0x80),1,3)
3158xir_80_132:
3159 .word 0xa9853eb4 ! 240: WR_SET_SOFTINT_I wr %r20, 0x1eb4, %set_softint
3160 .word 0x9191400a ! 241: WRPR_PIL_R wrpr %r5, %r10, %pil
3161 nop
3162 ta T_CHANGE_HPRIV
3163 mov 0x80, %r10
3164 set sync_thr_counter2, %r23
3165 cas [%r23],%g0,%r10 !lock
3166 brnz %r10, sma_80_134
3167 rd %asi, %r12
3168 wr %g0, 0x40, %asi
3169 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
3170 set 0x00061fff, %g1
3171 stxa %g1, [%g0 + 0x80] %asi
3172 wr %r12, %g0, %asi
3173 st %g0, [%r23]
3174sma_80_134:
3175 ta T_CHANGE_NONHPRIV
3176 .word 0xe5e7e00d ! 242: CASA_R casa [%r31] %asi, %r13, %r18
3177mondo_80_135:
3178 nop
3179 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
3180 stxa %r10, [%r0+0x3e8] %asi
3181 .word 0x9d934007 ! 243: WRPR_WSTATE_R wrpr %r13, %r7, %wstate
3182ibp_80_136:
3183 nop
3184 ta T_CHANGE_HPRIV
3185 .word 0xe4dfc033 ! 244: LDXA_R ldxa [%r31, %r19] 0x01, %r18
3186splash_tba_80_137:
3187 ta T_CHANGE_PRIV
3188 setx 0x00000000003a0000, %r11, %r12
3189 .word 0x8b90000c ! 245: WRPR_TBA_R wrpr %r0, %r12, %tba
3190br_badelay3_80_138:
3191 .word 0x20800001 ! 1: BN bn,a <label_0x1>
3192 .word 0xf1584d22 ! Random illegal ?
3193 .word 0xd9148001 ! 1: LDQF_R - [%r18, %r1], %f12
3194 .word 0x97a2882c ! 246: FADDs fadds %f10, %f12, %f11
3195 .word 0x97a449a9 ! 247: FDIVs fdivs %f17, %f9, %f11
3196 .word 0xc1bfe020 ! 248: STDFA_I stda %f0, [0x0020, %r31]
3197brcommon_80_139:
3198 ba,a .+12
3199 mov %r31, %r15
3200 ba,a .+8
3201 call common_target
3202 .word 0xd4bfc030 ! 249: STDA_R stda %r10, [%r31 + %r16] 0x01
3203pmu_80_140:
3204 nop
3205 setx 0xffffffc8fffff68f, %g1, %g7
3206 .word 0xa3800007 ! 250: WR_PERF_COUNTER_R wr %r0, %r7, %-
3207 .word 0xd43fc000 ! 251: STD_R std %r10, [%r31 + %r0]
3208dvapa_80_141:
3209 nop
3210 ta T_CHANGE_HPRIV
3211 mov 0xab7, %r20
3212 mov 0x1a, %r19
3213 sllx %r20, 23, %r20
3214 or %r19, %r20, %r19
3215 stxa %r19, [%g0] ASI_LSU_CONTROL
3216 mov 0x38, %r18
3217 stxa %r31, [%r18]0x58
3218 ta T_CHANGE_NONHPRIV
3219 .word 0xd51fc010 ! 252: LDDF_R ldd [%r31, %r16], %f10
3220br_badelay3_80_142:
3221 .word 0x22800001 ! 1: BE be,a <label_0x1>
3222 .word 0xa96ce042 ! Random illegal ?
3223 .word 0xdb10800a ! 1: LDQF_R - [%r2, %r10], %f13
3224 .word 0xa5a40833 ! 253: FADDs fadds %f16, %f19, %f18
3225 otherw
3226 mov 0x32, %r30
3227 .word 0x91d0001e ! 254: Tcc_R ta icc_or_xcc, %r0 + %r30
3228 setx 0x88368a8250478670, %r1, %r28
3229 stxa %r28, [%g0] 0x73
3230intvec_80_143:
3231 .word 0x39400001 ! 255: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
3232 nop
3233 ta T_CHANGE_HPRIV
3234 mov 0x80+1, %r10
3235 set sync_thr_counter1, %r23
3236 cas [%r23],%g0,%r10 !lock
3237 brnz %r10, cwq_80_144
3238 rd %asi, %r12
3239 wr %g0, 0x40, %asi
3240 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
3241 and %l1, 0x3, %l1 ! Check if busy/enabled ..
3242 cmp %l1, 1
3243 bne cwq_80_144
3244 set CWQ_BASE, %l6
3245 best_set_reg(0x206100f0, %l1, %l2) !# Control Word
3246 sllx %l2, 32, %l2
3247 stx %l2, [%l6 + 0x0]
3248 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
3249 sub %l2, 0x40, %l2
3250 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
3251 wr %r12, %g0, %asi
3252 st %g0, [%r23]
3253cwq_80_144:
3254 ta T_CHANGE_NONHPRIV
3255 .word 0x95414000 ! 256: RDPC rd %pc, %r10
3256 .word 0x87ab0a50 ! 257: FCMPd fcmpd %fcc<n>, %f12, %f16
3257dvapa_80_145:
3258 nop
3259 ta T_CHANGE_HPRIV
3260 mov 0x86b, %r20
3261 mov 0x1f, %r19
3262 sllx %r20, 23, %r20
3263 or %r19, %r20, %r19
3264 stxa %r19, [%g0] ASI_LSU_CONTROL
3265 mov 0x38, %r18
3266 stxa %r31, [%r18]0x58
3267 ta T_CHANGE_NONHPRIV
3268 .word 0xe5e7e012 ! 258: CASA_R casa [%r31] %asi, %r18, %r18
3269 invalw
3270 mov 0x33, %r30
3271 .word 0x91d0001e ! 259: Tcc_R ta icc_or_xcc, %r0 + %r30
3272 .word 0xe457c000 ! 260: LDSH_R ldsh [%r31 + %r0], %r18
3273splash_lsu_80_146:
3274 nop
3275 ta T_CHANGE_HPRIV
3276 set 0x61390e6e, %r2
3277 mov 0x4, %r1
3278 sllx %r1, 32, %r1
3279 or %r1, %r2, %r2
3280 stxa %r2, [%r0] ASI_LSU_CONTROL
3281 .word 0x3d400001 ! 261: FBPULE fbule,a,pn %fcc0, <label_0x1>
3282 otherw
3283 mov 0x33, %r30
3284 .word 0x91d0001e ! 262: Tcc_R ta icc_or_xcc, %r0 + %r30
3285 .word 0x91950009 ! 263: WRPR_PIL_R wrpr %r20, %r9, %pil
3286 .word 0xc1bfe000 ! 264: STDFA_I stda %f0, [0x0000, %r31]
3287 .word 0xe19fe080 ! 265: LDDFA_I ldda [%r31, 0x0080], %f16
3288 nop
3289 ta T_CHANGE_HPRIV
3290 mov 0x80, %r10
3291 set sync_thr_counter2, %r23
3292 cas [%r23],%g0,%r10 !lock
3293 brnz %r10, sma_80_148
3294 rd %asi, %r12
3295 wr %g0, 0x40, %asi
3296 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
3297 set 0x000a1fff, %g1
3298 stxa %g1, [%g0 + 0x80] %asi
3299 wr %r12, %g0, %asi
3300 st %g0, [%r23]
3301sma_80_148:
3302 ta T_CHANGE_NONHPRIV
3303 .word 0xe5e7e014 ! 266: CASA_R casa [%r31] %asi, %r20, %r18
3304 ta T_CHANGE_NONPRIV ! macro
3305 .word 0xa1a00162 ! 268: FABSq dis not found
3306
3307 nop
3308 ta T_CHANGE_HPRIV
3309 mov 0x80, %r10
3310 set sync_thr_counter2, %r23
3311 cas [%r23],%g0,%r10 !lock
3312 brnz %r10, sma_80_149
3313 rd %asi, %r12
3314 wr %g0, 0x40, %asi
3315 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
3316 set 0x000a1fff, %g1
3317 stxa %g1, [%g0 + 0x80] %asi
3318 wr %r12, %g0, %asi
3319 st %g0, [%r23]
3320sma_80_149:
3321 ta T_CHANGE_NONHPRIV
3322 .word 0xe7e7e012 ! 269: CASA_R casa [%r31] %asi, %r18, %r19
3323 .word 0xe63fe0b0 ! 270: STD_I std %r19, [%r31 + 0x00b0]
3324!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_80_150) + 16, 16, 16)) -> intp(4,0,10)
3325!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_80_150)&0xffffffff) + 16, 16, 16)) -> intp(4,0,10)
3326intvec_80_150:
3327 .word 0x39400001 ! 271: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
3328!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_80_151)+32, 16, 16)) -> intp(mask2tid(0x80),1,3)
3329!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_80_151)&0xffffffff) +32, 16, 16)) -> intp(mask2tid(0x80),1,3)
3330xir_80_151:
3331 .word 0xa982b2d6 ! 272: WR_SET_SOFTINT_I wr %r10, 0x12d6, %set_softint
3332 .word 0xe63fe051 ! 273: STD_I std %r19, [%r31 + 0x0051]
3333memptr_80_152:
3334 set 0x60340000, %r31
3335 .word 0x8584b4c2 ! 274: WRCCR_I wr %r18, 0x14c2, %ccr
3336br_badelay1_80_153:
3337 .word 0xc36aa721 ! 1: PREFETCH_I prefetch [%r10 + 0x0721], #one_read
3338 .word 0xe731c012 ! 1: STQF_R - %f19, [%r18, %r7]
3339 .word 0x2d400001 ! 1: FBPG fbg,a,pn %fcc0, <label_0x1>
3340 normalw
3341 .word 0xa9458000 ! 275: RD_SOFTINT_REG rd %softint, %r20
3342 .word 0xa9b4c4c6 ! 276: FCMPNE32 fcmpne32 %d50, %d6, %r20
3343 .word 0xc19fda00 ! 277: LDDFA_R ldda [%r31, %r0], %f0
3344 .word 0xe19fe0e0 ! 278: LDDFA_I ldda [%r31, 0x00e0], %f16
3345 .word 0xc1bfda00 ! 279: STDFA_R stda %f0, [%r0, %r31]
3346 .word 0x83d020b4 ! 280: Tcc_I te icc_or_xcc, %r0 + 180
3347 .word 0x9f80259f ! 281: SIR sir 0x059f
3348jmptr_80_154:
3349 nop
3350 best_set_reg(0xe0a00000, %r20, %r27)
3351 .word 0xb7c6c000 ! 282: JMPL_R jmpl %r27 + %r0, %r27
3352 nop
3353 ta T_CHANGE_HPRIV
3354 mov 0x80, %r10
3355 set sync_thr_counter2, %r23
3356 cas [%r23],%g0,%r10 !lock
3357 brnz %r10, sma_80_155
3358 rd %asi, %r12
3359 wr %g0, 0x40, %asi
3360 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
3361 set 0x001e1fff, %g1
3362 stxa %g1, [%g0 + 0x80] %asi
3363 wr %r12, %g0, %asi
3364 st %g0, [%r23]
3365sma_80_155:
3366 ta T_CHANGE_NONHPRIV
3367 .word 0xe9e7e011 ! 283: CASA_R casa [%r31] %asi, %r17, %r20
3368 .word 0x91a00174 ! 284: FABSq dis not found
3369
3370mondo_80_156:
3371 nop
3372 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
3373 ta T_CHANGE_PRIV
3374 stxa %r19, [%r0+0x3e8] %asi
3375 .word 0x9d90800b ! 285: WRPR_WSTATE_R wrpr %r2, %r11, %wstate
3376 .word 0xc32fc000 ! 286: STXFSR_R st-sfr %f1, [%r0, %r31]
3377 .word 0xc1bfda00 ! 287: STDFA_R stda %f0, [%r0, %r31]
3378change_to_randtl_80_157:
3379 ta T_CHANGE_HPRIV ! macro
3380done_change_to_randtl_80_157:
3381 .word 0x8f902002 ! 288: WRPR_TL_I wrpr %r0, 0x0002, %tl
3382 .word 0xa7844009 ! 289: WR_GRAPHICS_STATUS_REG_R wr %r17, %r9, %-
3383 .word 0xc1bfe060 ! 290: STDFA_I stda %f0, [0x0060, %r31]
3384 .word 0xd86fe051 ! 291: LDSTUB_I ldstub %r12, [%r31 + 0x0051]
3385tglhtw_80_159:
3386 nop
3387 rd %asi, %l3 ! save %asi
3388 ta T_CHANGE_HPRIV
3389 wr %g0, ASI_MMU_ZERO_CONTEXT_TSB_CONFIG, %asi
3390 mov 1, %l2
3391 sllx %l2, 63, %l2
3392 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
3393 xor %l4, %l2, %l4
3394 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi
3395 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
3396 xor %l4, %l2, %l4
3397 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi
3398 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
3399 xor %l4, %l2, %l4
3400 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi
3401 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
3402 xor %l4, %l2, %l4
3403 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi
3404 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
3405 xor %l4, %l2, %l4
3406 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi
3407 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
3408 xor %l4, %l2, %l4
3409 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi
3410 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
3411 xor %l4, %l2, %l4
3412 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi
3413 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
3414 xor %l4, %l2, %l4
3415 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi
3416 ta T_CHANGE_NONHPRIV
3417 wr %g0, %l3, %asi !restore %asi
3418 .word 0x99b44990 ! 292: BSHUFFLE fmovc32 %d48, %d16, %d12
3419memptr_80_160:
3420 set 0x60340000, %r31
3421 .word 0x8581fe0a ! 293: WRCCR_I wr %r7, 0x1e0a, %ccr
3422splash_hpstate_80_161:
3423 ta T_CHANGE_NONHPRIV
3424 .word 0x81982794 ! 294: WRHPR_HPSTATE_I wrhpr %r0, 0x0794, %hpstate
3425!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_80_162) + 8, 16, 16)) -> intp(0,0,6)
3426!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_80_162)&0xffffffff) + 8, 16, 16)) -> intp(0,0,6)
3427intvec_80_162:
3428 .word 0x39400001 ! 295: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
3429 .word 0xd0bfe0e0 ! 296: STDA_I stda %r8, [%r31 + 0x00e0] %asi
3430 .word 0xa9a00169 ! 297: FABSq dis not found
3431
3432splash_tba_80_163:
3433 ta T_CHANGE_PRIV
3434 setx 0x00000000003a0000, %r11, %r12
3435 .word 0x8b90000c ! 298: WRPR_TBA_R wrpr %r0, %r12, %tba
3436splash_tba_80_164:
3437 ta T_CHANGE_PRIV
3438 set 0x120000, %r12
3439 .word 0x8b90000c ! 299: WRPR_TBA_R wrpr %r0, %r12, %tba
3440 .word 0x8d9032fc ! 300: WRPR_PSTATE_I wrpr %r0, 0x12fc, %pstate
3441!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_80_166)+40, 16, 16)) -> intp(mask2tid(0x80),1,3)
3442!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_80_166)&0xffffffff) +40, 16, 16)) -> intp(mask2tid(0x80),1,3)
3443xir_80_166:
3444 .word 0xa983663d ! 301: WR_SET_SOFTINT_I wr %r13, 0x063d, %set_softint
3445 nop
3446 nop
3447 ta T_CHANGE_PRIV
3448 wrpr %g0, %g0, %gl
3449 nop
3450 nop
3451 setx join_lbl_0_0, %g1, %g2
3452 jmp %g2
3453 nop
3454fork_lbl_0_7:
3455 ta T_CHANGE_NONHPRIV
3456splash_cmpr_40_0:
3457 nop
3458 setx 0xe5ea1c0ec6186c9c, %l2, %l1
3459 ta T_CHANGE_HPRIV
3460 wrhpr %l1, %g0, %hsys_tick_cmpr
3461 ta T_CHANGE_NONHPRIV
3462 sub %l1, 40, %g1
3463 .word 0x89900011 ! 1: WRPR_TICK_R wrpr %r0, %r17, %tick
3464 .word 0x81510000 ! 2: RDPR_TICK rdpr %tick, %r0
3465 .word 0xe1bfe080 ! 3: STDFA_I stda %f16, [0x0080, %r31]
3466 setx 0x47abbd9dd74ab086, %r1, %r28
3467 stxa %r28, [%g0] 0x73
3468intvec_40_1:
3469 .word 0x39400001 ! 4: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
3470 invalw
3471 mov 0x30, %r30
3472 .word 0x91d0001e ! 5: Tcc_R ta icc_or_xcc, %r0 + %r30
3473mondo_40_2:
3474 nop
3475 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
3476 ta T_CHANGE_PRIV
3477 stxa %r4, [%r0+0x3e0] %asi
3478 .word 0x9d94c013 ! 6: WRPR_WSTATE_R wrpr %r19, %r19, %wstate
3479 ta T_CHANGE_NONPRIV ! macro
3480 .word 0xc1bfe0a0 ! 8: STDFA_I stda %f0, [0x00a0, %r31]
3481br_badelay2_40_3:
3482 .word 0x34800001 ! 1: BG bg,a <label_0x1>
3483 allclean
3484 .word 0x99b48304 ! 9: ALIGNADDRESS alignaddr %r18, %r4, %r12
3485!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_40_4) + 24, 16, 16)) -> intp(4,0,22)
3486!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_40_4)&0xffffffff) + 24, 16, 16)) -> intp(4,0,22)
3487intvec_40_4:
3488 .word 0x39400001 ! 10: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
3489 .word 0xe477e0ec ! 11: STX_I stx %r18, [%r31 + 0x00ec]
3490donret_40_5:
3491 nop
3492 ta T_CHANGE_HPRIV ! macro
3493 rd %pc, %r12
3494 add %r12, (donretarg_40_5-donret_40_5-4), %r12
3495 mov 0x38, %r18
3496 stxa %r12, [%r18]0x58
3497 add %r12, 0x4, %r11
3498 wrpr %g0, 0x2, %tl
3499 wrpr %g0, %r12, %tpc
3500 wrpr %g0, %r11, %tnpc
3501 set (0x00852840 | (32 << 24)), %r13
3502 rdpr %tstate, %r16
3503 mov 0x1f, %r19
3504 and %r19, %r16, %r17
3505 andn %r16, %r19, %r16
3506 or %r16, %r17, %r20
3507 wrpr %r20, %g0, %tstate
3508 wrhpr %g0, 0xb9c, %htstate
3509 ta T_CHANGE_NONHPRIV ! rand=1 (40)
3510 done
3511donretarg_40_5:
3512 .word 0xe4ffe0c9 ! 12: SWAPA_I swapa %r18, [%r31 + 0x00c9] %asi
3513splash_cmpr_40_6:
3514 nop
3515 setx 0x49f32e0691fc22a4, %l2, %l1
3516 ta T_CHANGE_HPRIV
3517 wrhpr %l1, %g0, %hsys_tick_cmpr
3518 sub %l1, 40, %g1
3519 .word 0x89900011 ! 13: WRPR_TICK_R wrpr %r0, %r17, %tick
3520 .word 0x97b2c48a ! 14: FCMPLE32 fcmple32 %d42, %d10, %r11
3521 otherw
3522 mov 0x32, %r30
3523 .word 0x91d0001e ! 15: Tcc_R ta icc_or_xcc, %r0 + %r30
3524vahole_40_7:
3525 nop
3526 ta T_CHANGE_NONHPRIV
3527 setx vahole_target, %r18, %r27
3528 jmpl %r27+0, %r27
3529 .word 0xe7e7e012 ! 16: CASA_R casa [%r31] %asi, %r18, %r19
3530br_badelay2_40_8:
3531 .word 0x32800001 ! 1: BNE bne,a <label_0x1>
3532 pdist %f12, %f24, %f0
3533 .word 0x95b0c30c ! 17: ALIGNADDRESS alignaddr %r3, %r12, %r10
3534 .word 0x99a00165 ! 18: FABSq dis not found
3535
3536 .word 0xb1800011 ! 19: WR_STICK_REG_R wr %r0, %r17, %-
3537 .word 0xad846b05 ! 20: WR_SOFTINT_REG_I wr %r17, 0x0b05, %softint
3538 .word 0xd877c000 ! 21: STX_R stx %r12, [%r31 + %r0]
3539splash_tba_40_9:
3540 ta T_CHANGE_PRIV
3541 setx 0x0000000400380000, %r11, %r12
3542 .word 0x8b90000c ! 22: WRPR_TBA_R wrpr %r0, %r12, %tba
3543 .word 0xd89fe018 ! 23: LDDA_I ldda [%r31, + 0x0018] %asi, %r12
3544jmptr_40_10:
3545 nop
3546 best_set_reg(0xe1200000, %r20, %r27)
3547 .word 0xb7c6c000 ! 24: JMPL_R jmpl %r27 + %r0, %r27
3548mondo_40_11:
3549 nop
3550 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
3551 ta T_CHANGE_PRIV
3552 stxa %r16, [%r0+0x3d8] %asi
3553 .word 0x9d92800c ! 25: WRPR_WSTATE_R wrpr %r10, %r12, %wstate
3554 .word 0xa5a509c2 ! 26: FDIVd fdivd %f20, %f2, %f18
3555!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_40_12)+32, 16, 16)) -> intp(mask2tid(0x40),1,3)
3556!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_40_12)&0xffffffff) +32, 16, 16)) -> intp(mask2tid(0x40),1,3)
3557xir_40_12:
3558 .word 0xa984b760 ! 27: WR_SET_SOFTINT_I wr %r18, 0x1760, %set_softint
3559 .word 0x9f802233 ! 28: SIR sir 0x0233
3560intveclr_40_13:
3561 nop
3562 ta T_CHANGE_HPRIV
3563 setx 0x8bcffae3f3ebd4b0, %r1, %r28
3564 stxa %r28, [%g0] 0x72
3565 ta T_CHANGE_NONHPRIV
3566 .word 0x25400001 ! 29: FBPLG fblg,a,pn %fcc0, <label_0x1>
3567brcommon_40_14:
3568 ba,a .+12
3569 mov %r31, %r15
3570 ba,a .+8
3571 call common_target
3572 .word 0xe8bfc031 ! 30: STDA_R stda %r20, [%r31 + %r17] 0x01
3573 nop
3574 ta T_CHANGE_HPRIV
3575 mov 0x40+1, %r10
3576 set sync_thr_counter1, %r23
3577 cas [%r23],%g0,%r10 !lock
3578 brnz %r10, cwq_40_15
3579 rd %asi, %r12
3580 wr %g0, 0x40, %asi
3581 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
3582 and %l1, 0x3, %l1 ! Check if busy/enabled ..
3583 cmp %l1, 1
3584 bne cwq_40_15
3585 set CWQ_BASE, %l6
3586 best_set_reg(0x20610030, %l1, %l2) !# Control Word
3587 sllx %l2, 32, %l2
3588 stx %l2, [%l6 + 0x0]
3589 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
3590 sub %l2, 0x40, %l2
3591 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
3592 wr %r12, %g0, %asi
3593 st %g0, [%r23]
3594cwq_40_15:
3595 ta T_CHANGE_NONHPRIV
3596 .word 0x91414000 ! 31: RDPC rd %pc, %r8
3597 nop
3598 ta T_CHANGE_HPRIV
3599 mov 0x40, %r10
3600 set sync_thr_counter2, %r23
3601 cas [%r23],%g0,%r10 !lock
3602 brnz %r10, sma_40_16
3603 rd %asi, %r12
3604 wr %g0, 0x40, %asi
3605 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
3606 set 0x000e1fff, %g1
3607 stxa %g1, [%g0 + 0x80] %asi
3608 wr %r12, %g0, %asi
3609 st %g0, [%r23]
3610sma_40_16:
3611 ta T_CHANGE_NONHPRIV
3612 .word 0xd3e7e011 ! 32: CASA_R casa [%r31] %asi, %r17, %r9
3613splash_cmpr_40_17:
3614 nop
3615 setx 0x36d09eeda3287685, %l2, %l1
3616 ta T_CHANGE_PRIV
3617 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
3618 ta T_CHANGE_NONPRIV
3619 sub %l1, 40, %g1
3620 .word 0x89900011 ! 33: WRPR_TICK_R wrpr %r0, %r17, %tick
3621!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_40_18) + 16, 16, 16)) -> intp(5,0,5)
3622!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_40_18)&0xffffffff) + 16, 16, 16)) -> intp(5,0,5)
3623intvec_40_18:
3624 .word 0x39400001 ! 34: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
3625 .word 0xd26fe0d6 ! 35: LDSTUB_I ldstub %r9, [%r31 + 0x00d6]
3626splash_hpstate_40_19:
3627 .word 0x8198235d ! 36: WRHPR_HPSTATE_I wrhpr %r0, 0x035d, %hpstate
3628br_longdelay1_40_20:
3629 .word 0x2c800001 ! 1: BNEG bneg,a <label_0x1>
3630 .word 0xbfefc000 ! 37: RESTORE_R restore %r31, %r0, %r31
3631 nop
3632 mov 0x80, %g3
3633 stxa %g3, [%g3] 0x5f
3634 .word 0xd25fc000 ! 38: LDX_R ldx [%r31 + %r0], %r9
3635 .word 0xd23fc000 ! 39: STD_R std %r9, [%r31 + %r0]
3636!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_40_21)+48, 16, 16)) -> intp(mask2tid(0x40),1,3)
3637!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_40_21)&0xffffffff) +48, 16, 16)) -> intp(mask2tid(0x40),1,3)
3638xir_40_21:
3639 .word 0xa98524ce ! 40: WR_SET_SOFTINT_I wr %r20, 0x04ce, %set_softint
3640splash_hpstate_40_22:
3641 ta T_CHANGE_NONHPRIV
3642 .word 0x819829c7 ! 41: WRHPR_HPSTATE_I wrhpr %r0, 0x09c7, %hpstate
3643 .word 0x91702982 ! 42: POPC_I popc 0x0982, %r8
3644splash_tba_40_23:
3645 ta T_CHANGE_PRIV
3646 setx 0x0000000400380000, %r11, %r12
3647 .word 0x8b90000c ! 43: WRPR_TBA_R wrpr %r0, %r12, %tba
3648splash_cmpr_40_24:
3649 nop
3650 setx 0xe84785b253114ca2, %l2, %l1
3651 ta T_CHANGE_HPRIV
3652 wrhpr %l1, %g0, %hsys_tick_cmpr
3653 ta T_CHANGE_NONHPRIV
3654 sub %l1, 40, %g1
3655 .word 0x89900011 ! 44: WRPR_TICK_R wrpr %r0, %r17, %tick
3656br_longdelay1_40_25:
3657 .word 0x2ccc8001 ! 1: BRGZ brgz,a,pt %r18,<label_0xc8001>
3658 .word 0xbfefc000 ! 45: RESTORE_R restore %r31, %r0, %r31
3659mondo_40_26:
3660 nop
3661 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
3662 stxa %r13, [%r0+0x3d8] %asi
3663 .word 0x9d92c006 ! 46: WRPR_WSTATE_R wrpr %r11, %r6, %wstate
3664 otherw
3665 mov 0x32, %r30
3666 .word 0x93d0001e ! 47: Tcc_R tne icc_or_xcc, %r0 + %r30
3667 .word 0xa9818010 ! 48: WR_SET_SOFTINT_R wr %r6, %r16, %set_softint
3668 nop
3669 ta T_CHANGE_HPRIV
3670 mov 0x40, %r10
3671 set sync_thr_counter2, %r23
3672 cas [%r23],%g0,%r10 !lock
3673 brnz %r10, sma_40_27
3674 rd %asi, %r12
3675 wr %g0, 0x40, %asi
3676 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
3677 set 0x00121fff, %g1
3678 stxa %g1, [%g0 + 0x80] %asi
3679 wr %r12, %g0, %asi
3680 st %g0, [%r23]
3681sma_40_27:
3682 ta T_CHANGE_NONHPRIV
3683 .word 0xe9e7e013 ! 49: CASA_R casa [%r31] %asi, %r19, %r20
3684 .word 0xe86fe0e6 ! 50: LDSTUB_I ldstub %r20, [%r31 + 0x00e6]
3685 invalw
3686 mov 0xb2, %r30
3687 .word 0x91d0001e ! 51: Tcc_R ta icc_or_xcc, %r0 + %r30
3688pmu_40_28:
3689 nop
3690 ta T_CHANGE_PRIV
3691 setx 0xfffff03ffffff9d4, %g1, %g7
3692 .word 0xa3800007 ! 52: WR_PERF_COUNTER_R wr %r0, %r7, %-
3693dvapa_40_29:
3694 nop
3695 ta T_CHANGE_HPRIV
3696 mov 0x8a4, %r20
3697 mov 0x1c, %r19
3698 sllx %r20, 23, %r20
3699 or %r19, %r20, %r19
3700 stxa %r19, [%g0] ASI_LSU_CONTROL
3701 mov 0x38, %r18
3702 stxa %r31, [%r18]0x58
3703 ta T_CHANGE_NONHPRIV
3704 .word 0xe89fc033 ! 53: LDDA_R ldda [%r31, %r19] 0x01, %r20
3705 .word 0xc19fc2c0 ! 54: LDDFA_R ldda [%r31, %r0], %f0
3706fpinit_40_30:
3707 setx fp_data_quads, %r19, %r20
3708 ldd [%r20], %f0
3709 ldd [%r20+8], %f4
3710 ld [%r20+16], %fsr
3711 ld [%r20+24], %r19
3712 wr %r19, %g0, %gsr
3713 .word 0x91a009c4 ! 55: FDIVd fdivd %f0, %f4, %f8
3714 setx 0x95d3bcba2a439f25, %r1, %r28
3715 stxa %r28, [%g0] 0x73
3716intvec_40_31:
3717 .word 0x39400001 ! 56: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
3718 invalw
3719 mov 0x33, %r30
3720 .word 0x93d0001e ! 57: Tcc_R tne icc_or_xcc, %r0 + %r30
3721br_longdelay4_40_32:
3722 nop
3723 not %g0, %r12
3724 jmp %r12
3725 .word 0x9d902003 ! 58: WRPR_WSTATE_I wrpr %r0, 0x0003, %wstate
3726 .word 0xa3a049c1 ! 59: FDIVd fdivd %f32, %f32, %f48
3727 setx 0x6d15febb22f1a09a, %r1, %r28
3728 stxa %r28, [%g0] 0x73
3729intvec_40_33:
3730 .word 0x39400001 ! 60: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
3731mondo_40_34:
3732 nop
3733 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
3734 ta T_CHANGE_PRIV
3735 stxa %r12, [%r0+0x3d8] %asi
3736 .word 0x9d934014 ! 61: WRPR_WSTATE_R wrpr %r13, %r20, %wstate
3737 nop
3738 ta T_CHANGE_HPRIV
3739 mov 0x40, %r10
3740 set sync_thr_counter2, %r23
3741 cas [%r23],%g0,%r10 !lock
3742 brnz %r10, sma_40_35
3743 rd %asi, %r12
3744 wr %g0, 0x40, %asi
3745 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
3746 set 0x001a1fff, %g1
3747 stxa %g1, [%g0 + 0x80] %asi
3748 wr %r12, %g0, %asi
3749 st %g0, [%r23]
3750sma_40_35:
3751 ta T_CHANGE_NONHPRIV
3752 .word 0xd1e7e00a ! 62: CASA_R casa [%r31] %asi, %r10, %r8
3753 .word 0xa784c008 ! 63: WR_GRAPHICS_STATUS_REG_R wr %r19, %r8, %-
3754 .word 0x9f803178 ! 64: SIR sir 0x1178
3755 .word 0xd08fe010 ! 65: LDUBA_I lduba [%r31, + 0x0010] %asi, %r8
3756 .word 0xd03fc000 ! 66: STD_R std %r8, [%r31 + %r0]
3757 .word 0xc32fc000 ! 67: STXFSR_R st-sfr %f1, [%r0, %r31]
3758 .word 0xd08008a0 ! 68: LDUWA_R lduwa [%r0, %r0] 0x45, %r8
3759change_to_randtl_40_37:
3760 ta T_CHANGE_HPRIV ! macro
3761done_change_to_randtl_40_37:
3762 .word 0x8f902000 ! 69: WRPR_TL_I wrpr %r0, 0x0000, %tl
3763dvapa_40_38:
3764 nop
3765 ta T_CHANGE_HPRIV
3766 mov 0xa10, %r20
3767 mov 0xb, %r19
3768 sllx %r20, 23, %r20
3769 or %r19, %r20, %r19
3770 stxa %r19, [%g0] ASI_LSU_CONTROL
3771 mov 0x38, %r18
3772 stxa %r31, [%r18]0x58
3773 ta T_CHANGE_NONHPRIV
3774 .word 0xd09fc024 ! 70: LDDA_R ldda [%r31, %r4] 0x01, %r8
3775intveclr_40_39:
3776 nop
3777 ta T_CHANGE_HPRIV
3778 setx 0x966e00fc8cd4372e, %r1, %r28
3779 stxa %r28, [%g0] 0x72
3780 .word 0x25400001 ! 71: FBPLG fblg,a,pn %fcc0, <label_0x1>
3781mondo_40_40:
3782 nop
3783 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
3784 stxa %r16, [%r0+0x3d0] %asi
3785 .word 0x9d94c014 ! 72: WRPR_WSTATE_R wrpr %r19, %r20, %wstate
3786 .word 0x91934009 ! 73: WRPR_PIL_R wrpr %r13, %r9, %pil
3787!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_40_42) + 16, 16, 16)) -> intp(4,0,7)
3788!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_40_42)&0xffffffff) + 16, 16, 16)) -> intp(4,0,7)
3789intvec_40_42:
3790 .word 0x39400001 ! 74: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
3791 .word 0x91a4c9ca ! 75: FDIVd fdivd %f50, %f10, %f8
3792br_longdelay2_40_43:
3793 .word 0x2ec88001 ! 1: BRGEZ brgez,a,pt %r2,<label_0x88001>
3794 .word 0xc36c3b97 ! 76: PREFETCH_I prefetch [%r16 + 0xfffffb97], #one_read
3795splash_cmpr_40_44:
3796 nop
3797 setx 0x74341b61f1eb76d3, %l2, %l1
3798 ta T_CHANGE_HPRIV
3799 wrhpr %l1, %g0, %hsys_tick_cmpr
3800 sub %l1, 40, %g1
3801 .word 0x89900011 ! 77: WRPR_TICK_R wrpr %r0, %r17, %tick
3802 nop
3803 ta T_CHANGE_HPRIV
3804 mov 0x40, %r10
3805 set sync_thr_counter2, %r23
3806 cas [%r23],%g0,%r10 !lock
3807 brnz %r10, sma_40_45
3808 rd %asi, %r12
3809 wr %g0, 0x40, %asi
3810 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
3811 set 0x00061fff, %g1
3812 stxa %g1, [%g0 + 0x80] %asi
3813 wr %r12, %g0, %asi
3814 st %g0, [%r23]
3815sma_40_45:
3816 ta T_CHANGE_NONHPRIV
3817 .word 0xe3e7e005 ! 78: CASA_R casa [%r31] %asi, %r5, %r17
3818 .word 0x2a800001 ! 1: BCS bcs,a <label_0x1>
3819 .word 0x8d9028a8 ! 79: WRPR_PSTATE_I wrpr %r0, 0x08a8, %pstate
3820 nop
3821 ta T_CHANGE_HPRIV
3822 mov 0x40+1, %r10
3823 set sync_thr_counter1, %r23
3824 cas [%r23],%g0,%r10 !lock
3825 brnz %r10, cwq_40_47
3826 rd %asi, %r12
3827 wr %g0, 0x40, %asi
3828 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
3829 and %l1, 0x3, %l1 ! Check if busy/enabled ..
3830 cmp %l1, 1
3831 bne cwq_40_47
3832 set CWQ_BASE, %l6
3833 best_set_reg(0x206100c0, %l1, %l2) !# Control Word
3834 sllx %l2, 32, %l2
3835 stx %l2, [%l6 + 0x0]
3836 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
3837 sub %l2, 0x40, %l2
3838 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
3839 wr %r12, %g0, %asi
3840 st %g0, [%r23]
3841cwq_40_47:
3842 ta T_CHANGE_NONHPRIV
3843 .word 0x93414000 ! 80: RDPC rd %pc, %r9
3844!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_40_48)+16, 16, 16)) -> intp(mask2tid(0x40),1,3)
3845!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_40_48)&0xffffffff) +16, 16, 16)) -> intp(mask2tid(0x40),1,3)
3846xir_40_48:
3847 .word 0xa9847441 ! 81: WR_SET_SOFTINT_I wr %r17, 0x1441, %set_softint
3848 .word 0x91928011 ! 82: WRPR_PIL_R wrpr %r10, %r17, %pil
3849intveclr_40_50:
3850 nop
3851 ta T_CHANGE_HPRIV
3852 setx 0x2a99853ce0773ab3, %r1, %r28
3853 stxa %r28, [%g0] 0x72
3854 ta T_CHANGE_NONHPRIV
3855 .word 0x25400001 ! 83: FBPLG fblg,a,pn %fcc0, <label_0x1>
3856mondo_40_51:
3857 nop
3858 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
3859 stxa %r16, [%r0+0x3d8] %asi
3860 .word 0x9d94c00c ! 84: WRPR_WSTATE_R wrpr %r19, %r12, %wstate
3861splash_hpstate_40_52:
3862 .word 0x81982cd7 ! 85: WRHPR_HPSTATE_I wrhpr %r0, 0x0cd7, %hpstate
3863 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
3864reduce_priv_lvl_40_53:
3865 ta T_CHANGE_NONHPRIV ! macro
3866ibp_40_54:
3867 nop
3868 ta T_CHANGE_HPRIV
3869 ta T_CHANGE_NONHPRIV
3870 .word 0xda9fc028 ! 87: LDDA_R ldda [%r31, %r8] 0x01, %r13
3871splash_hpstate_40_55:
3872 ta T_CHANGE_NONHPRIV
3873 .word 0x81982687 ! 88: WRHPR_HPSTATE_I wrhpr %r0, 0x0687, %hpstate
3874 .word 0xa7a349d4 ! 89: FDIVd fdivd %f44, %f20, %f50
3875 .word 0xdb27c000 ! 90: STF_R st %f13, [%r0, %r31]
3876splash_tba_40_56:
3877 ta T_CHANGE_PRIV
3878 set 0x120000, %r12
3879 .word 0x8b90000c ! 91: WRPR_TBA_R wrpr %r0, %r12, %tba
3880fpinit_40_57:
3881 setx fp_data_quads, %r19, %r20
3882 ldd [%r20], %f0
3883 ldd [%r20+8], %f4
3884 ld [%r20+16], %fsr
3885 ld [%r20+24], %r19
3886 wr %r19, %g0, %gsr
3887 .word 0x89a009c4 ! 92: FDIVd fdivd %f0, %f4, %f4
3888!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_40_58) + 48, 16, 16)) -> intp(2,0,9)
3889!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_40_58)&0xffffffff) + 48, 16, 16)) -> intp(2,0,9)
3890intvec_40_58:
3891 .word 0x39400001 ! 93: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
3892intveclr_40_59:
3893 nop
3894 ta T_CHANGE_HPRIV
3895 setx 0x9f5e2e38d1d36256, %r1, %r28
3896 stxa %r28, [%g0] 0x72
3897 .word 0x25400001 ! 94: FBPLG fblg,a,pn %fcc0, <label_0x1>
3898 .word 0xe1bfe0e0 ! 95: STDFA_I stda %f16, [0x00e0, %r31]
3899 .word 0x83d02034 ! 96: Tcc_I te icc_or_xcc, %r0 + 52
3900 nop
3901 ta T_CHANGE_HPRIV
3902 mov 0x40+1, %r10
3903 set sync_thr_counter1, %r23
3904 cas [%r23],%g0,%r10 !lock
3905 brnz %r10, cwq_40_60
3906 rd %asi, %r12
3907 wr %g0, 0x40, %asi
3908 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
3909 and %l1, 0x3, %l1 ! Check if busy/enabled ..
3910 cmp %l1, 1
3911 bne cwq_40_60
3912 set CWQ_BASE, %l6
3913 best_set_reg(0x206100c0, %l1, %l2) !# Control Word
3914 sllx %l2, 32, %l2
3915 stx %l2, [%l6 + 0x0]
3916 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
3917 sub %l2, 0x40, %l2
3918 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
3919 wr %r12, %g0, %asi
3920 st %g0, [%r23]
3921cwq_40_60:
3922 ta T_CHANGE_NONHPRIV
3923 .word 0xa3414000 ! 97: RDPC rd %pc, %r17
3924memptr_40_61:
3925 set 0x60540000, %r31
3926 .word 0x8582377d ! 98: WRCCR_I wr %r8, 0x177d, %ccr
3927mondo_40_62:
3928 nop
3929 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
3930 ta T_CHANGE_PRIV
3931 stxa %r2, [%r0+0x3d8] %asi
3932 .word 0x9d94800c ! 99: WRPR_WSTATE_R wrpr %r18, %r12, %wstate
3933 .word 0x93d02034 ! 100: Tcc_I tne icc_or_xcc, %r0 + 52
3934ibp_40_63:
3935 nop
3936 ta T_CHANGE_HPRIV
3937 .word 0xe1e7e011 ! 101: CASA_R casa [%r31] %asi, %r17, %r16
3938 .word 0xe1bfe040 ! 102: STDFA_I stda %f16, [0x0040, %r31]
3939!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_40_64)+16, 16, 16)) -> intp(mask2tid(0x40),1,3)
3940!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_40_64)&0xffffffff) +16, 16, 16)) -> intp(mask2tid(0x40),1,3)
3941xir_40_64:
3942 .word 0xa9836f09 ! 103: WR_SET_SOFTINT_I wr %r13, 0x0f09, %set_softint
3943 .word 0xe19fde00 ! 104: LDDFA_R ldda [%r31, %r0], %f16
3944 .word 0xe1bfe0e0 ! 105: STDFA_I stda %f16, [0x00e0, %r31]
3945 .word 0x20700001 ! 106: BPN <illegal instruction>
3946jmptr_40_65:
3947 nop
3948 best_set_reg(0xe1200000, %r20, %r27)
3949 .word 0xb7c6c000 ! 107: JMPL_R jmpl %r27 + %r0, %r27
3950 .word 0xe06fe067 ! 108: LDSTUB_I ldstub %r16, [%r31 + 0x0067]
3951 .word 0xb1800011 ! 109: WR_STICK_REG_R wr %r0, %r17, %-
3952fpinit_40_66:
3953 setx fp_data_quads, %r19, %r20
3954 ldd [%r20], %f0
3955 ldd [%r20+8], %f4
3956 ld [%r20+16], %fsr
3957 ld [%r20+24], %r19
3958 wr %r19, %g0, %gsr
3959 .word 0x87a80a44 ! 110: FCMPd fcmpd %fcc<n>, %f0, %f4
3960 .word 0xe19fd920 ! 111: LDDFA_R ldda [%r31, %r0], %f16
3961 nop
3962 ta T_CHANGE_HPRIV
3963 mov 0x40+1, %r10
3964 set sync_thr_counter1, %r23
3965 cas [%r23],%g0,%r10 !lock
3966 brnz %r10, cwq_40_67
3967 rd %asi, %r12
3968 wr %g0, 0x40, %asi
3969 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
3970 and %l1, 0x3, %l1 ! Check if busy/enabled ..
3971 cmp %l1, 1
3972 bne cwq_40_67
3973 set CWQ_BASE, %l6
3974 best_set_reg(0x206100e0, %l1, %l2) !# Control Word
3975 sllx %l2, 32, %l2
3976 stx %l2, [%l6 + 0x0]
3977 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
3978 sub %l2, 0x40, %l2
3979 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
3980 wr %r12, %g0, %asi
3981 st %g0, [%r23]
3982cwq_40_67:
3983 ta T_CHANGE_NONHPRIV
3984 .word 0xa5414000 ! 112: RDPC rd %pc, %r18
3985 .word 0x93a0016a ! 113: FABSq dis not found
3986
3987 .word 0x99450000 ! 114: RD_SET_SOFTINT rd %set_softint, %r12
3988 .word 0xe19fc3e0 ! 115: LDDFA_R ldda [%r31, %r0], %f16
3989pmu_40_68:
3990 nop
3991 ta T_CHANGE_PRIV
3992 setx 0xfffffdb7fffff745, %g1, %g7
3993 .word 0xa3800007 ! 116: WR_PERF_COUNTER_R wr %r0, %r7, %-
3994 nop
3995 ta T_CHANGE_HPRIV
3996 mov 0x40+1, %r10
3997 set sync_thr_counter1, %r23
3998 cas [%r23],%g0,%r10 !lock
3999 brnz %r10, cwq_40_69
4000 rd %asi, %r12
4001 wr %g0, 0x40, %asi
4002 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
4003 and %l1, 0x3, %l1 ! Check if busy/enabled ..
4004 cmp %l1, 1
4005 bne cwq_40_69
4006 set CWQ_BASE, %l6
4007 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
4008 sllx %l2, 32, %l2
4009 stx %l2, [%l6 + 0x0]
4010 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
4011 sub %l2, 0x40, %l2
4012 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
4013 wr %r12, %g0, %asi
4014 st %g0, [%r23]
4015cwq_40_69:
4016 ta T_CHANGE_NONHPRIV
4017 .word 0x93414000 ! 117: RDPC rd %pc, %r9
4018splash_hpstate_40_70:
4019 .word 0x20800001 ! 1: BN bn,a <label_0x1>
4020 .word 0x819823df ! 118: WRHPR_HPSTATE_I wrhpr %r0, 0x03df, %hpstate
4021 nop
4022 ta T_CHANGE_HPRIV
4023 mov 0x40, %r10
4024 set sync_thr_counter2, %r23
4025 cas [%r23],%g0,%r10 !lock
4026 brnz %r10, sma_40_71
4027 rd %asi, %r12
4028 wr %g0, 0x40, %asi
4029 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4030 set 0x00021fff, %g1
4031 stxa %g1, [%g0 + 0x80] %asi
4032 wr %r12, %g0, %asi
4033 st %g0, [%r23]
4034sma_40_71:
4035 ta T_CHANGE_NONHPRIV
4036 .word 0xe3e7e00d ! 119: CASA_R casa [%r31] %asi, %r13, %r17
4037 .word 0xe2d7e020 ! 120: LDSHA_I ldsha [%r31, + 0x0020] %asi, %r17
4038 .word 0x9f802015 ! 121: SIR sir 0x0015
4039 .word 0x9f80200e ! 122: SIR sir 0x000e
4040tagged_40_72:
4041 tsubcctv %r3, 0x1256, %r10
4042 .word 0xe207e0b6 ! 123: LDUW_I lduw [%r31 + 0x00b6], %r17
4043pmu_40_73:
4044 nop
4045 ta T_CHANGE_PRIV
4046 setx 0xfffff888fffffdf5, %g1, %g7
4047 .word 0xa3800007 ! 124: WR_PERF_COUNTER_R wr %r0, %r7, %-
4048mondo_40_74:
4049 nop
4050 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4051 stxa %r13, [%r0+0x3d8] %asi
4052 .word 0x9d930001 ! 125: WRPR_WSTATE_R wrpr %r12, %r1, %wstate
4053 .word 0xe26fe0c9 ! 126: LDSTUB_I ldstub %r17, [%r31 + 0x00c9]
4054 .word 0xe31fc000 ! 127: LDDF_R ldd [%r31, %r0], %f17
4055 .word 0xe227e0d8 ! 128: STW_I stw %r17, [%r31 + 0x00d8]
4056intveclr_40_75:
4057 nop
4058 ta T_CHANGE_HPRIV
4059 setx 0x94e1058bb0a9faea, %r1, %r28
4060 stxa %r28, [%g0] 0x72
4061 .word 0x25400001 ! 129: FBPLG fblg,a,pn %fcc0, <label_0x1>
4062 .word 0xe22fe085 ! 130: STB_I stb %r17, [%r31 + 0x0085]
4063!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_40_76)+8, 16, 16)) -> intp(mask2tid(0x40),1,3)
4064!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_40_76)&0xffffffff) +8, 16, 16)) -> intp(mask2tid(0x40),1,3)
4065xir_40_76:
4066 .word 0xa9846da0 ! 131: WR_SET_SOFTINT_I wr %r17, 0x0da0, %set_softint
4067 .word 0xe337e018 ! 132: STQF_I - %f17, [0x0018, %r31]
4068 .word 0xe337c000 ! 133: STQF_R - %f17, [%r0, %r31]
4069 .word 0xe327e060 ! 134: STF_I st %f17, [0x0060, %r31]
4070jmptr_40_77:
4071 nop
4072 best_set_reg(0xe1200000, %r20, %r27)
4073 .word 0xb7c6c000 ! 135: JMPL_R jmpl %r27 + %r0, %r27
4074pmu_40_78:
4075 nop
4076 ta T_CHANGE_PRIV
4077 setx 0xfffff40afffffaea, %g1, %g7
4078 .word 0xa3800007 ! 136: WR_PERF_COUNTER_R wr %r0, %r7, %-
4079dvapa_40_79:
4080 nop
4081 ta T_CHANGE_HPRIV
4082 mov 0x8f3, %r20
4083 mov 0x15, %r19
4084 sllx %r20, 23, %r20
4085 or %r19, %r20, %r19
4086 stxa %r19, [%g0] ASI_LSU_CONTROL
4087 mov 0x38, %r18
4088 stxa %r31, [%r18]0x58
4089 ta T_CHANGE_NONHPRIV
4090 .word 0xe2dfc031 ! 137: LDXA_R ldxa [%r31, %r17] 0x01, %r17
4091 .word 0xe1bfe0e0 ! 138: STDFA_I stda %f16, [0x00e0, %r31]
4092mondo_40_80:
4093 nop
4094 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4095 stxa %r19, [%r0+0x3c0] %asi
4096 .word 0x9d950011 ! 139: WRPR_WSTATE_R wrpr %r20, %r17, %wstate
4097 .word 0x8d802000 ! 140: WRFPRS_I wr %r0, 0x0000, %fprs
4098mondo_40_81:
4099 nop
4100 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4101 stxa %r16, [%r0+0x3c8] %asi
4102 .word 0x9d908010 ! 141: WRPR_WSTATE_R wrpr %r2, %r16, %wstate
4103pmu_40_82:
4104 nop
4105 ta T_CHANGE_PRIV
4106 setx 0xfffff815fffff734, %g1, %g7
4107 .word 0xa3800007 ! 142: WR_PERF_COUNTER_R wr %r0, %r7, %-
4108 .word 0xc3ed0021 ! 143: PREFETCHA_R prefetcha [%r20, %r1] 0x01, #one_read
4109!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_40_83)+8, 16, 16)) -> intp(mask2tid(0x40),1,3)
4110!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_40_83)&0xffffffff) +8, 16, 16)) -> intp(mask2tid(0x40),1,3)
4111xir_40_83:
4112 .word 0xa980a5bb ! 144: WR_SET_SOFTINT_I wr %r2, 0x05bb, %set_softint
4113cwp_40_84:
4114 set user_data_start, %o7
4115 .word 0x93902000 ! 145: WRPR_CWP_I wrpr %r0, 0x0000, %cwp
4116intveclr_40_85:
4117 nop
4118 ta T_CHANGE_HPRIV
4119 setx 0xa77508a13b058389, %r1, %r28
4120 stxa %r28, [%g0] 0x72
4121 ta T_CHANGE_NONHPRIV
4122 .word 0x25400001 ! 146: FBPLG fblg,a,pn %fcc0, <label_0x1>
4123 nop
4124 ta T_CHANGE_HPRIV
4125 mov 0x40, %r10
4126 set sync_thr_counter2, %r23
4127 cas [%r23],%g0,%r10 !lock
4128 brnz %r10, sma_40_86
4129 rd %asi, %r12
4130 wr %g0, 0x40, %asi
4131 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4132 set 0x00121fff, %g1
4133 stxa %g1, [%g0 + 0x80] %asi
4134 wr %r12, %g0, %asi
4135 st %g0, [%r23]
4136sma_40_86:
4137 ta T_CHANGE_NONHPRIV
4138 .word 0xd9e7e011 ! 147: CASA_R casa [%r31] %asi, %r17, %r12
4139 .word 0x91a00173 ! 148: FABSq dis not found
4140
4141 .word 0x9b702dc9 ! 149: POPC_I popc 0x0dc9, %r13
4142 nop
4143 ta T_CHANGE_HPRIV
4144 mov 0x40, %r10
4145 set sync_thr_counter2, %r23
4146 cas [%r23],%g0,%r10 !lock
4147 brnz %r10, sma_40_87
4148 rd %asi, %r12
4149 wr %g0, 0x40, %asi
4150 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4151 set 0x000e1fff, %g1
4152 stxa %g1, [%g0 + 0x80] %asi
4153 wr %r12, %g0, %asi
4154 st %g0, [%r23]
4155sma_40_87:
4156 ta T_CHANGE_NONHPRIV
4157 .word 0xdbe7e011 ! 150: CASA_R casa [%r31] %asi, %r17, %r13
4158 .word 0x91928012 ! 151: WRPR_PIL_R wrpr %r10, %r18, %pil
4159 .word 0xc19fc2c0 ! 152: LDDFA_R ldda [%r31, %r0], %f0
4160 .word 0x3c700001 ! 153: BPPOS <illegal instruction>
4161 .word 0xda27e0e4 ! 154: STW_I stw %r13, [%r31 + 0x00e4]
4162pmu_40_89:
4163 nop
4164 ta T_CHANGE_PRIV
4165 setx 0xfffff0dafffffea7, %g1, %g7
4166 .word 0xa3800007 ! 155: WR_PERF_COUNTER_R wr %r0, %r7, %-
4167 nop
4168 ta T_CHANGE_HPRIV
4169 mov 0x40, %r10
4170 set sync_thr_counter2, %r23
4171 cas [%r23],%g0,%r10 !lock
4172 brnz %r10, sma_40_90
4173 rd %asi, %r12
4174 wr %g0, 0x40, %asi
4175 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4176 set 0x00021fff, %g1
4177 stxa %g1, [%g0 + 0x80] %asi
4178 wr %r12, %g0, %asi
4179 st %g0, [%r23]
4180sma_40_90:
4181 ta T_CHANGE_NONHPRIV
4182 .word 0xdbe7e013 ! 156: CASA_R casa [%r31] %asi, %r19, %r13
4183 setx 0x591fd961783c8b63, %r1, %r28
4184 stxa %r28, [%g0] 0x73
4185intvec_40_91:
4186 .word 0x39400001 ! 157: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
4187 .word 0x2e700001 ! 158: BPVS <illegal instruction>
4188 .word 0xda47c000 ! 159: LDSW_R ldsw [%r31 + %r0], %r13
4189splash_lsu_40_92:
4190 nop
4191 ta T_CHANGE_HPRIV
4192 set 0xc5434062, %r2
4193 mov 0x7, %r1
4194 sllx %r1, 32, %r1
4195 or %r1, %r2, %r2
4196 stxa %r2, [%r0] ASI_LSU_CONTROL
4197 ta T_CHANGE_NONHPRIV
4198 .word 0x3d400001 ! 160: FBPULE fbule,a,pn %fcc0, <label_0x1>
4199!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_40_93)+16, 16, 16)) -> intp(mask2tid(0x40),1,3)
4200!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_40_93)&0xffffffff) +16, 16, 16)) -> intp(mask2tid(0x40),1,3)
4201xir_40_93:
4202 .word 0xa984fd1a ! 161: WR_SET_SOFTINT_I wr %r19, 0x1d1a, %set_softint
4203 .word 0xe19fc3e0 ! 162: LDDFA_R ldda [%r31, %r0], %f16
4204pmu_40_94:
4205 nop
4206 setx 0xfffff087fffffbcd, %g1, %g7
4207 .word 0xa3800007 ! 163: WR_PERF_COUNTER_R wr %r0, %r7, %-
4208 .word 0x3a800001 ! 164: BCC bcc,a <label_0x1>
4209 .word 0x9b464000 ! 165: RD_STICK_CMPR_REG rd %-, %r13
4210pmu_40_95:
4211 nop
4212 ta T_CHANGE_PRIV
4213 setx 0xfffffc6afffffe2d, %g1, %g7
4214 .word 0xa3800007 ! 166: WR_PERF_COUNTER_R wr %r0, %r7, %-
4215 .word 0xb1800011 ! 167: WR_STICK_REG_R wr %r0, %r17, %-
4216 nop
4217 ta T_CHANGE_HPRIV
4218 mov 0x40, %r10
4219 set sync_thr_counter2, %r23
4220 cas [%r23],%g0,%r10 !lock
4221 brnz %r10, sma_40_96
4222 rd %asi, %r12
4223 wr %g0, 0x40, %asi
4224 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4225 set 0x000a1fff, %g1
4226 stxa %g1, [%g0 + 0x80] %asi
4227 wr %r12, %g0, %asi
4228 st %g0, [%r23]
4229sma_40_96:
4230 ta T_CHANGE_NONHPRIV
4231 .word 0xdbe7e013 ! 168: CASA_R casa [%r31] %asi, %r19, %r13
4232pmu_40_97:
4233 nop
4234 ta T_CHANGE_PRIV
4235 setx 0xffffff5afffff328, %g1, %g7
4236 .word 0xa3800007 ! 169: WR_PERF_COUNTER_R wr %r0, %r7, %-
4237pmu_40_98:
4238 nop
4239 ta T_CHANGE_PRIV
4240 setx 0xfffff1b5fffffc86, %g1, %g7
4241 .word 0xa3800007 ! 170: WR_PERF_COUNTER_R wr %r0, %r7, %-
4242 .word 0x93d02032 ! 171: Tcc_I tne icc_or_xcc, %r0 + 50
4243 .word 0xa984c006 ! 172: WR_SET_SOFTINT_R wr %r19, %r6, %set_softint
4244 otherw
4245 mov 0x31, %r30
4246 .word 0x91d0001e ! 173: Tcc_R ta icc_or_xcc, %r0 + %r30
4247brcommon_40_99:
4248 ba,a .+12
4249 mov %r31, %r15
4250 ba,a .+8
4251 call common_target
4252 .word 0xdb1fc003 ! 174: LDDF_R ldd [%r31, %r3], %f13
4253br_badelay3_40_100:
4254 .word 0x34800001 ! 1: BG bg,a <label_0x1>
4255 .word 0x9176eea6 ! Random illegal ?
4256 .word 0xd5124003 ! 1: LDQF_R - [%r9, %r3], %f10
4257 .word 0x9ba18831 ! 175: FADDs fadds %f6, %f17, %f13
4258 .word 0x97a489d1 ! 176: FDIVd fdivd %f18, %f48, %f42
4259 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
4260reduce_priv_lvl_40_101:
4261 ta T_CHANGE_NONHPRIV ! macro
4262 nop
4263 mov 0x80, %g3
4264 stxa %g3, [%g3] 0x5f
4265 .word 0xe05fc000 ! 178: LDX_R ldx [%r31 + %r0], %r16
4266memptr_40_102:
4267 set user_data_start, %r31
4268 .word 0x85852761 ! 179: WRCCR_I wr %r20, 0x0761, %ccr
4269 setx 0xe571e5fa9aa3cd5f, %r1, %r28
4270 stxa %r28, [%g0] 0x73
4271intvec_40_103:
4272 .word 0x39400001 ! 180: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
4273 .word 0xe1bfe0c0 ! 181: STDFA_I stda %f16, [0x00c0, %r31]
4274 set 0x334e, %l3
4275 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
4276 .word 0x99b347cd ! 182: PDIST pdistn %d44, %d44, %d12
4277mondo_40_104:
4278 nop
4279 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4280 ta T_CHANGE_PRIV
4281 stxa %r4, [%r0+0x3c8] %asi
4282 .word 0x9d948012 ! 183: WRPR_WSTATE_R wrpr %r18, %r18, %wstate
4283 .word 0x9f802271 ! 184: SIR sir 0x0271
4284 .word 0x93a249d4 ! 185: FDIVd fdivd %f40, %f20, %f40
4285 .word 0x87ad0a54 ! 186: FCMPd fcmpd %fcc<n>, %f20, %f20
4286dvapa_40_105:
4287 nop
4288 ta T_CHANGE_HPRIV
4289 mov 0xfad, %r20
4290 mov 0x16, %r19
4291 sllx %r20, 23, %r20
4292 or %r19, %r20, %r19
4293 stxa %r19, [%g0] ASI_LSU_CONTROL
4294 mov 0x38, %r18
4295 stxa %r31, [%r18]0x58
4296 ta T_CHANGE_NONHPRIV
4297 .word 0xd0dfc033 ! 187: LDXA_R ldxa [%r31, %r19] 0x01, %r8
4298mondo_40_106:
4299 nop
4300 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4301 stxa %r19, [%r0+0x3c0] %asi
4302 .word 0x9d918013 ! 188: WRPR_WSTATE_R wrpr %r6, %r19, %wstate
4303 .word 0xc36ca26d ! 189: PREFETCH_I prefetch [%r18 + 0x026d], #one_read
4304vahole_40_107:
4305 nop
4306 ta T_CHANGE_NONHPRIV
4307 setx vahole_target, %r18, %r27
4308 jmpl %r27+0, %r27
4309 .word 0xe29fc021 ! 190: LDDA_R ldda [%r31, %r1] 0x01, %r17
4310 .word 0xe237e0cb ! 191: STH_I sth %r17, [%r31 + 0x00cb]
4311 .word 0x93480000 ! 192: RDHPR_HPSTATE rdhpr %hpstate, %r9
4312!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_40_108)+40, 16, 16)) -> intp(mask2tid(0x40),1,3)
4313!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_40_108)&0xffffffff) +40, 16, 16)) -> intp(mask2tid(0x40),1,3)
4314xir_40_108:
4315 .word 0xa9853867 ! 193: WR_SET_SOFTINT_I wr %r20, 0x1867, %set_softint
4316 .word 0x9f8038e3 ! 194: SIR sir 0x18e3
4317dvapa_40_109:
4318 nop
4319 ta T_CHANGE_HPRIV
4320 mov 0xeb3, %r20
4321 mov 0x19, %r19
4322 sllx %r20, 23, %r20
4323 or %r19, %r20, %r19
4324 stxa %r19, [%g0] ASI_LSU_CONTROL
4325 mov 0x38, %r18
4326 stxa %r31, [%r18]0x58
4327 ta T_CHANGE_NONHPRIV
4328 .word 0xe697c021 ! 195: LDUHA_R lduha [%r31, %r1] 0x01, %r19
4329intveclr_40_110:
4330 nop
4331 ta T_CHANGE_HPRIV
4332 setx 0x0b9b89dbc332fd8a, %r1, %r28
4333 stxa %r28, [%g0] 0x72
4334 ta T_CHANGE_NONHPRIV
4335 .word 0x25400001 ! 196: FBPLG fblg,a,pn %fcc0, <label_0x1>
4336 set 0x126a, %l3
4337 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
4338 .word 0x9bb187c3 ! 197: PDIST pdistn %d6, %d34, %d44
4339iaw_40_111:
4340 nop
4341 ta T_CHANGE_HPRIV
4342 mov 8, %r18
4343 rd %asi, %r12
4344 wr %r0, 0x41, %asi
4345 set sync_thr_counter, %r23
4346 mov 0x40, %r16
4347iaw_startwait40_111:
4348 cas [%r23],%g0,%r16 !lock
4349 brz,a %r16, continue_iaw_40_111
4350 mov (~0x40&0xf0), %r16
4351 ld [%r23], %r16
4352iaw_wait40_111:
4353 brnz %r16, iaw_wait40_111
4354 ld [%r23], %r16
4355 ba,a iaw_startwait40_111
4356 mov 0x40, %r16
4357continue_iaw_40_111:
4358 ldxa [%g0]0x63, %r14 !Get raw TID
4359 srlx %r14, 3, %r14 !Get CID
4360 sllx %r16, %r14, %r16 !Mask for my core only
4361 ldxa [0x58]%asi, %r17 !Running_status
4362wait_for_stat_40_111:
4363 ldxa [0x50]%asi, %r13 !Running_rw
4364 cmp %r13, %r17
4365 bne,a wait_for_stat_40_111
4366 ldxa [0x58]%asi, %r17 !Running_status
4367 stxa %r16, [0x68]%asi
4368 ldxa [0x50]%asi, %r14 !Running_rw
4369wait_for_iaw_40_111:
4370 ldxa [0x58]%asi, %r17 !Running_status
4371 cmp %r14, %r17
4372 bne,a wait_for_iaw_40_111
4373 ldxa [0x50]%asi, %r14 !Running_rw
4374iaw_doit40_111:
4375 mov 0x38, %r18
4376iaw3_40_111:
4377 setx common_target, %r20, %r19
4378 or %r19, 0x1, %r19
4379 stxa %r19, [%r18]0x50
4380 stxa %r13, [0x50] %asi ! Running_rw
4381 st %g0, [%r23] !clear lock
4382 wr %r0, %r12, %asi ! restore %asi
4383 ta T_CHANGE_NONHPRIV
4384 .word 0xd23ff6e5 ! 198: STD_I std %r9, [%r31 + 0xfffff6e5]
4385mondo_40_112:
4386 nop
4387 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4388 stxa %r13, [%r0+0x3e8] %asi
4389 .word 0x9d940011 ! 199: WRPR_WSTATE_R wrpr %r16, %r17, %wstate
4390 nop
4391 ta T_CHANGE_HPRIV
4392 mov 0x40+1, %r10
4393 set sync_thr_counter1, %r23
4394 cas [%r23],%g0,%r10 !lock
4395 brnz %r10, cwq_40_113
4396 rd %asi, %r12
4397 wr %g0, 0x40, %asi
4398 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
4399 and %l1, 0x3, %l1 ! Check if busy/enabled ..
4400 cmp %l1, 1
4401 bne cwq_40_113
4402 set CWQ_BASE, %l6
4403 best_set_reg(0x20610030, %l1, %l2) !# Control Word
4404 sllx %l2, 32, %l2
4405 stx %l2, [%l6 + 0x0]
4406 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
4407 sub %l2, 0x40, %l2
4408 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
4409 wr %r12, %g0, %asi
4410 st %g0, [%r23]
4411cwq_40_113:
4412 ta T_CHANGE_NONHPRIV
4413 .word 0xa9414000 ! 200: RDPC rd %pc, %r20
4414mondo_40_114:
4415 nop
4416 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4417 stxa %r16, [%r0+0x3e8] %asi
4418 .word 0x9d94c009 ! 201: WRPR_WSTATE_R wrpr %r19, %r9, %wstate
4419 .word 0xc1bfda00 ! 202: STDFA_R stda %f0, [%r0, %r31]
4420 .word 0x93d02034 ! 203: Tcc_I tne icc_or_xcc, %r0 + 52
4421memptr_40_115:
4422 set 0x60540000, %r31
4423 .word 0x85842400 ! 204: WRCCR_I wr %r16, 0x0400, %ccr
4424 nop
4425 mov 0x80, %g3
4426 stxa %g3, [%g3] 0x57
4427 .word 0xe25fc000 ! 205: LDX_R ldx [%r31 + %r0], %r17
4428 .word 0x91d02034 ! 206: Tcc_I ta icc_or_xcc, %r0 + 52
4429pmu_40_116:
4430 nop
4431 setx 0xfffff7e1fffffab3, %g1, %g7
4432 .word 0xa3800007 ! 207: WR_PERF_COUNTER_R wr %r0, %r7, %-
4433 .word 0x2aca8001 ! 1: BRNZ brnz,a,pt %r10,<label_0xa8001>
4434 .word 0x8d9022cb ! 208: WRPR_PSTATE_I wrpr %r0, 0x02cb, %pstate
4435splash_tba_40_118:
4436 ta T_CHANGE_PRIV
4437 setx 0x0000000400380000, %r11, %r12
4438 .word 0x8b90000c ! 209: WRPR_TBA_R wrpr %r0, %r12, %tba
4439 .word 0xa5702189 ! 210: POPC_I popc 0x0189, %r18
4440 .word 0xc1bfe0c0 ! 211: STDFA_I stda %f0, [0x00c0, %r31]
4441 .word 0x38800001 ! 212: BGU bgu,a <label_0x1>
4442 .word 0xc1bfdc00 ! 213: STDFA_R stda %f0, [%r0, %r31]
4443 .word 0x95454000 ! 214: RD_CLEAR_SOFTINT rd %clear_softint, %r10
4444 .word 0x9ba309b0 ! 215: FDIVs fdivs %f12, %f16, %f13
4445mondo_40_119:
4446 nop
4447 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4448 ta T_CHANGE_PRIV
4449 stxa %r18, [%r0+0x3c8] %asi
4450 .word 0x9d91c014 ! 216: WRPR_WSTATE_R wrpr %r7, %r20, %wstate
4451splash_lsu_40_120:
4452 nop
4453 ta T_CHANGE_HPRIV
4454 set 0x07aa1a33, %r2
4455 mov 0x1, %r1
4456 sllx %r1, 32, %r1
4457 or %r1, %r2, %r2
4458 stxa %r2, [%r0] ASI_LSU_CONTROL
4459 .word 0x3d400001 ! 217: FBPULE fbule,a,pn %fcc0, <label_0x1>
4460 .word 0x24800001 ! 218: BLE ble,a <label_0x1>
4461 .word 0xc19fc2c0 ! 219: LDDFA_R ldda [%r31, %r0], %f0
4462 .word 0xd797e000 ! 220: LDQFA_I - [%r31, 0x0000], %f11
4463 .word 0xd73fc000 ! 221: STDF_R std %f11, [%r0, %r31]
4464donret_40_121:
4465 nop
4466 ta T_CHANGE_HPRIV ! macro
4467 rd %pc, %r12
4468 add %r12, (donretarg_40_121-donret_40_121-4), %r12
4469 mov 0x38, %r18
4470 stxa %r12, [%r18]0x58
4471 add %r12, 0x4, %r11
4472 wrpr %g0, 0x1, %tl
4473 wrpr %g0, %r12, %tpc
4474 wrpr %g0, %r11, %tnpc
4475 set (0x00877bb7 | (0x83 << 24)), %r13
4476 rdpr %tstate, %r16
4477 mov 0x1f, %r19
4478 and %r19, %r16, %r17
4479 andn %r16, %r19, %r16
4480 or %r16, %r17, %r20
4481 wrpr %r20, %g0, %tstate
4482 wrhpr %g0, 0x89d, %htstate
4483 ta T_CHANGE_NONHPRIV ! rand=1 (40)
4484 done
4485donretarg_40_121:
4486 .word 0xd6ffe028 ! 222: SWAPA_I swapa %r11, [%r31 + 0x0028] %asi
4487!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_40_122)+16, 16, 16)) -> intp(mask2tid(0x40),1,3)
4488!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_40_122)&0xffffffff) +16, 16, 16)) -> intp(mask2tid(0x40),1,3)
4489xir_40_122:
4490 .word 0xa9806a7a ! 223: WR_SET_SOFTINT_I wr %r1, 0x0a7a, %set_softint
4491 .word 0xa9b4c7c3 ! 224: PDIST pdistn %d50, %d34, %d20
4492ibp_40_123:
4493 nop
4494 ta T_CHANGE_HPRIV
4495 .word 0xc32fc00b ! 225: STXFSR_R st-sfr %f1, [%r11, %r31]
4496 set 0x12e9, %l3
4497 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
4498 .word 0xa7b507c6 ! 226: PDIST pdistn %d20, %d6, %d50
4499 invalw
4500 mov 0xb5, %r30
4501 .word 0x91d0001e ! 227: Tcc_R ta icc_or_xcc, %r0 + %r30
4502 nop
4503 ta T_CHANGE_HPRIV
4504 mov 0x40+1, %r10
4505 set sync_thr_counter1, %r23
4506 cas [%r23],%g0,%r10 !lock
4507 brnz %r10, cwq_40_124
4508 rd %asi, %r12
4509 wr %g0, 0x40, %asi
4510 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
4511 and %l1, 0x3, %l1 ! Check if busy/enabled ..
4512 cmp %l1, 1
4513 bne cwq_40_124
4514 set CWQ_BASE, %l6
4515 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
4516 sllx %l2, 32, %l2
4517 stx %l2, [%l6 + 0x0]
4518 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
4519 sub %l2, 0x40, %l2
4520 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
4521 wr %r12, %g0, %asi
4522 st %g0, [%r23]
4523cwq_40_124:
4524 ta T_CHANGE_NONHPRIV
4525 .word 0x93414000 ! 228: RDPC rd %pc, %r9
4526 .word 0x9194c00a ! 229: WRPR_PIL_R wrpr %r19, %r10, %pil
4527 .word 0x22cac001 ! 1: BRZ brz,a,pt %r11,<label_0xac001>
4528 .word 0x8d90208a ! 230: WRPR_PSTATE_I wrpr %r0, 0x008a, %pstate
4529 .word 0xd23fe0d0 ! 231: STD_I std %r9, [%r31 + 0x00d0]
4530mondo_40_127:
4531 nop
4532 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4533 ta T_CHANGE_PRIV
4534 stxa %r18, [%r0+0x3d8] %asi
4535 .word 0x9d90c010 ! 232: WRPR_WSTATE_R wrpr %r3, %r16, %wstate
4536 nop
4537 mov 0x80, %g3
4538 stxa %g3, [%g3] 0x5f
4539 .word 0xd25fc000 ! 233: LDX_R ldx [%r31 + %r0], %r9
4540!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_40_128)+16, 16, 16)) -> intp(mask2tid(0x40),1,3)
4541!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_40_128)&0xffffffff) +16, 16, 16)) -> intp(mask2tid(0x40),1,3)
4542xir_40_128:
4543 .word 0xa9853312 ! 234: WR_SET_SOFTINT_I wr %r20, 0x1312, %set_softint
4544 .word 0xc19fd920 ! 235: LDDFA_R ldda [%r31, %r0], %f0
4545 .word 0x29800001 ! 236: FBL fbl,a <label_0x1>
4546splash_htba_40_130:
4547 nop
4548 ta T_CHANGE_HPRIV
4549 setx 0x0000000200280000, %r11, %r12
4550 .word 0x8b98000c ! 237: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
4551ibp_40_131:
4552 nop
4553 ta T_CHANGE_HPRIV
4554 ta T_CHANGE_NONHPRIV
4555 .word 0xc32fc013 ! 238: STXFSR_R st-sfr %f1, [%r19, %r31]
4556 .word 0xa9b507d3 ! 239: PDIST pdistn %d20, %d50, %d20
4557!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_40_132)+8, 16, 16)) -> intp(mask2tid(0x40),1,3)
4558!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_40_132)&0xffffffff) +8, 16, 16)) -> intp(mask2tid(0x40),1,3)
4559xir_40_132:
4560 .word 0xa9852643 ! 240: WR_SET_SOFTINT_I wr %r20, 0x0643, %set_softint
4561 .word 0x91950013 ! 241: WRPR_PIL_R wrpr %r20, %r19, %pil
4562 nop
4563 ta T_CHANGE_HPRIV
4564 mov 0x40, %r10
4565 set sync_thr_counter2, %r23
4566 cas [%r23],%g0,%r10 !lock
4567 brnz %r10, sma_40_134
4568 rd %asi, %r12
4569 wr %g0, 0x40, %asi
4570 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4571 set 0x000a1fff, %g1
4572 stxa %g1, [%g0 + 0x80] %asi
4573 wr %r12, %g0, %asi
4574 st %g0, [%r23]
4575sma_40_134:
4576 ta T_CHANGE_NONHPRIV
4577 .word 0xe5e7e00d ! 242: CASA_R casa [%r31] %asi, %r13, %r18
4578mondo_40_135:
4579 nop
4580 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4581 stxa %r17, [%r0+0x3d0] %asi
4582 .word 0x9d934003 ! 243: WRPR_WSTATE_R wrpr %r13, %r3, %wstate
4583ibp_40_136:
4584 nop
4585 ta T_CHANGE_HPRIV
4586 .word 0xe43fe530 ! 244: STD_I std %r18, [%r31 + 0x0530]
4587splash_tba_40_137:
4588 ta T_CHANGE_PRIV
4589 setx 0x0000000400380000, %r11, %r12
4590 .word 0x8b90000c ! 245: WRPR_TBA_R wrpr %r0, %r12, %tba
4591br_badelay3_40_138:
4592 .word 0x20800001 ! 1: BN bn,a <label_0x1>
4593 .word 0x9f5f559f ! Random illegal ?
4594 .word 0xe512c013 ! 1: LDQF_R - [%r11, %r19], %f18
4595 .word 0xa5a2082d ! 246: FADDs fadds %f8, %f13, %f18
4596 .word 0xa5a289a9 ! 247: FDIVs fdivs %f10, %f9, %f18
4597 .word 0xc19fd960 ! 248: LDDFA_R ldda [%r31, %r0], %f0
4598brcommon_40_139:
4599 ba,a .+12
4600 mov %r31, %r15
4601 ba,a .+8
4602 call common_target
4603 .word 0xd51fc010 ! 249: LDDF_R ldd [%r31, %r16], %f10
4604pmu_40_140:
4605 nop
4606 setx 0xfffff06cfffffa76, %g1, %g7
4607 .word 0xa3800007 ! 250: WR_PERF_COUNTER_R wr %r0, %r7, %-
4608 .word 0xd43fc000 ! 251: STD_R std %r10, [%r31 + %r0]
4609dvapa_40_141:
4610 nop
4611 ta T_CHANGE_HPRIV
4612 mov 0xf52, %r20
4613 mov 0x7, %r19
4614 sllx %r20, 23, %r20
4615 or %r19, %r20, %r19
4616 stxa %r19, [%g0] ASI_LSU_CONTROL
4617 mov 0x38, %r18
4618 stxa %r31, [%r18]0x58
4619 ta T_CHANGE_NONHPRIV
4620 .word 0xd43fead4 ! 252: STD_I std %r10, [%r31 + 0x0ad4]
4621br_badelay3_40_142:
4622 .word 0x22800001 ! 1: BE be,a <label_0x1>
4623 .word 0xc744a52c ! Random illegal ?
4624 .word 0xdb14800d ! 1: LDQF_R - [%r18, %r13], %f13
4625 .word 0xa3a48822 ! 253: FADDs fadds %f18, %f2, %f17
4626 otherw
4627 mov 0x33, %r30
4628 .word 0x93d0001e ! 254: Tcc_R tne icc_or_xcc, %r0 + %r30
4629 setx 0x502f760e54c50094, %r1, %r28
4630 stxa %r28, [%g0] 0x73
4631intvec_40_143:
4632 .word 0x39400001 ! 255: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
4633 nop
4634 ta T_CHANGE_HPRIV
4635 mov 0x40+1, %r10
4636 set sync_thr_counter1, %r23
4637 cas [%r23],%g0,%r10 !lock
4638 brnz %r10, cwq_40_144
4639 rd %asi, %r12
4640 wr %g0, 0x40, %asi
4641 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
4642 and %l1, 0x3, %l1 ! Check if busy/enabled ..
4643 cmp %l1, 1
4644 bne cwq_40_144
4645 set CWQ_BASE, %l6
4646 best_set_reg(0x20610030, %l1, %l2) !# Control Word
4647 sllx %l2, 32, %l2
4648 stx %l2, [%l6 + 0x0]
4649 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
4650 sub %l2, 0x40, %l2
4651 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
4652 wr %r12, %g0, %asi
4653 st %g0, [%r23]
4654cwq_40_144:
4655 ta T_CHANGE_NONHPRIV
4656 .word 0x91414000 ! 256: RDPC rd %pc, %r8
4657 .word 0x95b4c48d ! 257: FCMPLE32 fcmple32 %d50, %d44, %r10
4658dvapa_40_145:
4659 nop
4660 ta T_CHANGE_HPRIV
4661 mov 0xaf5, %r20
4662 mov 0x14, %r19
4663 sllx %r20, 23, %r20
4664 or %r19, %r20, %r19
4665 stxa %r19, [%g0] ASI_LSU_CONTROL
4666 mov 0x38, %r18
4667 stxa %r31, [%r18]0x58
4668 ta T_CHANGE_NONHPRIV
4669 .word 0xe4dfc032 ! 258: LDXA_R ldxa [%r31, %r18] 0x01, %r18
4670 invalw
4671 mov 0x34, %r30
4672 .word 0x91d0001e ! 259: Tcc_R ta icc_or_xcc, %r0 + %r30
4673 .word 0xe457c000 ! 260: LDSH_R ldsh [%r31 + %r0], %r18
4674splash_lsu_40_146:
4675 nop
4676 ta T_CHANGE_HPRIV
4677 set 0x5a692b03, %r2
4678 mov 0x6, %r1
4679 sllx %r1, 32, %r1
4680 or %r1, %r2, %r2
4681 stxa %r2, [%r0] ASI_LSU_CONTROL
4682 .word 0x3d400001 ! 261: FBPULE fbule,a,pn %fcc0, <label_0x1>
4683 otherw
4684 mov 0xb3, %r30
4685 .word 0x83d0001e ! 262: Tcc_R te icc_or_xcc, %r0 + %r30
4686 .word 0x9190c013 ! 263: WRPR_PIL_R wrpr %r3, %r19, %pil
4687 .word 0xc1bfe000 ! 264: STDFA_I stda %f0, [0x0000, %r31]
4688 .word 0xe19fe020 ! 265: LDDFA_I ldda [%r31, 0x0020], %f16
4689 nop
4690 ta T_CHANGE_HPRIV
4691 mov 0x40, %r10
4692 set sync_thr_counter2, %r23
4693 cas [%r23],%g0,%r10 !lock
4694 brnz %r10, sma_40_148
4695 rd %asi, %r12
4696 wr %g0, 0x40, %asi
4697 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4698 set 0x00161fff, %g1
4699 stxa %g1, [%g0 + 0x80] %asi
4700 wr %r12, %g0, %asi
4701 st %g0, [%r23]
4702sma_40_148:
4703 ta T_CHANGE_NONHPRIV
4704 .word 0xe5e7e014 ! 266: CASA_R casa [%r31] %asi, %r20, %r18
4705 ta T_CHANGE_NONPRIV ! macro
4706 .word 0x97a00170 ! 268: FABSq dis not found
4707
4708 nop
4709 ta T_CHANGE_HPRIV
4710 mov 0x40, %r10
4711 set sync_thr_counter2, %r23
4712 cas [%r23],%g0,%r10 !lock
4713 brnz %r10, sma_40_149
4714 rd %asi, %r12
4715 wr %g0, 0x40, %asi
4716 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4717 set 0x00021fff, %g1
4718 stxa %g1, [%g0 + 0x80] %asi
4719 wr %r12, %g0, %asi
4720 st %g0, [%r23]
4721sma_40_149:
4722 ta T_CHANGE_NONHPRIV
4723 .word 0xe7e7e012 ! 269: CASA_R casa [%r31] %asi, %r18, %r19
4724 .word 0xe63fe020 ! 270: STD_I std %r19, [%r31 + 0x0020]
4725!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_40_150) + 24, 16, 16)) -> intp(5,0,29)
4726!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_40_150)&0xffffffff) + 24, 16, 16)) -> intp(5,0,29)
4727intvec_40_150:
4728 .word 0x39400001 ! 271: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
4729!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_40_151)+16, 16, 16)) -> intp(mask2tid(0x40),1,3)
4730!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_40_151)&0xffffffff) +16, 16, 16)) -> intp(mask2tid(0x40),1,3)
4731xir_40_151:
4732 .word 0xa98466c0 ! 272: WR_SET_SOFTINT_I wr %r17, 0x06c0, %set_softint
4733 .word 0xe63fe080 ! 273: STD_I std %r19, [%r31 + 0x0080]
4734memptr_40_152:
4735 set 0x60140000, %r31
4736 .word 0x8583665e ! 274: WRCCR_I wr %r13, 0x065e, %ccr
4737br_badelay1_40_153:
4738 .word 0xc36c6d1d ! 1: PREFETCH_I prefetch [%r17 + 0x0d1d], #one_read
4739 .word 0xd532c009 ! 1: STQF_R - %f10, [%r9, %r11]
4740 .word 0x27400001 ! 1: FBPUL fbul,a,pn %fcc0, <label_0x1>
4741 normalw
4742 .word 0x99458000 ! 275: RD_SOFTINT_REG rd %softint, %r12
4743 .word 0x39400001 ! 276: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
4744 .word 0xc19fc2c0 ! 277: LDDFA_R ldda [%r31, %r0], %f0
4745 .word 0xe19fe0c0 ! 278: LDDFA_I ldda [%r31, 0x00c0], %f16
4746 .word 0xe1bfe0c0 ! 279: STDFA_I stda %f16, [0x00c0, %r31]
4747 .word 0x91d020b3 ! 280: Tcc_I ta icc_or_xcc, %r0 + 179
4748 .word 0x9f802fd9 ! 281: SIR sir 0x0fd9
4749jmptr_40_154:
4750 nop
4751 best_set_reg(0xe1200000, %r20, %r27)
4752 .word 0xb7c6c000 ! 282: JMPL_R jmpl %r27 + %r0, %r27
4753 nop
4754 ta T_CHANGE_HPRIV
4755 mov 0x40, %r10
4756 set sync_thr_counter2, %r23
4757 cas [%r23],%g0,%r10 !lock
4758 brnz %r10, sma_40_155
4759 rd %asi, %r12
4760 wr %g0, 0x40, %asi
4761 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
4762 set 0x00021fff, %g1
4763 stxa %g1, [%g0 + 0x80] %asi
4764 wr %r12, %g0, %asi
4765 st %g0, [%r23]
4766sma_40_155:
4767 ta T_CHANGE_NONHPRIV
4768 .word 0xe9e7e011 ! 283: CASA_R casa [%r31] %asi, %r17, %r20
4769 .word 0x9ba00174 ! 284: FABSq dis not found
4770
4771mondo_40_156:
4772 nop
4773 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4774 ta T_CHANGE_PRIV
4775 stxa %r17, [%r0+0x3d8] %asi
4776 .word 0x9d914007 ! 285: WRPR_WSTATE_R wrpr %r5, %r7, %wstate
4777 .word 0xc32fc000 ! 286: STXFSR_R st-sfr %f1, [%r0, %r31]
4778 .word 0xe19fda00 ! 287: LDDFA_R ldda [%r31, %r0], %f16
4779change_to_randtl_40_157:
4780 ta T_CHANGE_HPRIV ! macro
4781done_change_to_randtl_40_157:
4782 .word 0x8f902000 ! 288: WRPR_TL_I wrpr %r0, 0x0000, %tl
4783 .word 0xa784400a ! 289: WR_GRAPHICS_STATUS_REG_R wr %r17, %r10, %-
4784 .word 0xc1bfe040 ! 290: STDFA_I stda %f0, [0x0040, %r31]
4785 .word 0xd86fe029 ! 291: LDSTUB_I ldstub %r12, [%r31 + 0x0029]
4786tglhtw_40_159:
4787 nop
4788 rd %asi, %l3 ! save %asi
4789 ta T_CHANGE_HPRIV
4790 wr %g0, ASI_MMU_ZERO_CONTEXT_TSB_CONFIG, %asi
4791 mov 1, %l2
4792 sllx %l2, 63, %l2
4793 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
4794 xor %l4, %l2, %l4
4795 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi
4796 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
4797 xor %l4, %l2, %l4
4798 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi
4799 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
4800 xor %l4, %l2, %l4
4801 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi
4802 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
4803 xor %l4, %l2, %l4
4804 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi
4805 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
4806 xor %l4, %l2, %l4
4807 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi
4808 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
4809 xor %l4, %l2, %l4
4810 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi
4811 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
4812 xor %l4, %l2, %l4
4813 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi
4814 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
4815 xor %l4, %l2, %l4
4816 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi
4817 ta T_CHANGE_NONHPRIV
4818 wr %g0, %l3, %asi !restore %asi
4819 .word 0xa7b04981 ! 292: BSHUFFLE fmovc32 %d32, %d32, %d50
4820memptr_40_160:
4821 set 0x60740000, %r31
4822 .word 0x85807559 ! 293: WRCCR_I wr %r1, 0x1559, %ccr
4823splash_hpstate_40_161:
4824 ta T_CHANGE_NONHPRIV
4825 .word 0x81982505 ! 294: WRHPR_HPSTATE_I wrhpr %r0, 0x0505, %hpstate
4826!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_40_162) + 40, 16, 16)) -> intp(3,0,11)
4827!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_40_162)&0xffffffff) + 40, 16, 16)) -> intp(3,0,11)
4828intvec_40_162:
4829 .word 0x39400001 ! 295: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
4830 .word 0xd0bfe03a ! 296: STDA_I stda %r8, [%r31 + 0x003a] %asi
4831 .word 0x99a00161 ! 297: FABSq dis not found
4832
4833splash_tba_40_163:
4834 ta T_CHANGE_PRIV
4835 setx 0x0000000400380000, %r11, %r12
4836 .word 0x8b90000c ! 298: WRPR_TBA_R wrpr %r0, %r12, %tba
4837splash_tba_40_164:
4838 ta T_CHANGE_PRIV
4839 set 0x120000, %r12
4840 .word 0x8b90000c ! 299: WRPR_TBA_R wrpr %r0, %r12, %tba
4841 .word 0x8d902028 ! 300: WRPR_PSTATE_I wrpr %r0, 0x0028, %pstate
4842!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_40_166)+40, 16, 16)) -> intp(mask2tid(0x40),1,3)
4843!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_40_166)&0xffffffff) +40, 16, 16)) -> intp(mask2tid(0x40),1,3)
4844xir_40_166:
4845 .word 0xa984efcc ! 301: WR_SET_SOFTINT_I wr %r19, 0x0fcc, %set_softint
4846 nop
4847 nop
4848 ta T_CHANGE_PRIV
4849 wrpr %g0, %g0, %gl
4850 nop
4851 nop
4852 setx join_lbl_0_0, %g1, %g2
4853 jmp %g2
4854 nop
4855fork_lbl_0_6:
4856 ta T_CHANGE_NONHPRIV
4857splash_cmpr_20_0:
4858 nop
4859 setx 0x440f15718b2afb88, %l2, %l1
4860 ta T_CHANGE_HPRIV
4861 wrhpr %l1, %g0, %hsys_tick_cmpr
4862 ta T_CHANGE_NONHPRIV
4863 sub %l1, 40, %g1
4864 .word 0x89900011 ! 1: WRPR_TICK_R wrpr %r0, %r17, %tick
4865 .word 0x81510000 ! 2: RDPR_TICK rdpr %tick, %r0
4866 .word 0xc19fdc00 ! 3: LDDFA_R ldda [%r31, %r0], %f0
4867 setx 0xe5e2f87fd295543c, %r1, %r28
4868 stxa %r28, [%g0] 0x73
4869intvec_20_1:
4870 .word 0x39400001 ! 4: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
4871 invalw
4872 mov 0x34, %r30
4873 .word 0x83d0001e ! 5: Tcc_R te icc_or_xcc, %r0 + %r30
4874mondo_20_2:
4875 nop
4876 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4877 ta T_CHANGE_PRIV
4878 stxa %r20, [%r0+0x3e0] %asi
4879 .word 0x9d934013 ! 6: WRPR_WSTATE_R wrpr %r13, %r19, %wstate
4880 ta T_CHANGE_NONPRIV ! macro
4881 .word 0xe1bfe0e0 ! 8: STDFA_I stda %f16, [0x00e0, %r31]
4882br_badelay2_20_3:
4883 .word 0x34800001 ! 1: BG bg,a <label_0x1>
4884 allclean
4885 .word 0xa1b48312 ! 9: ALIGNADDRESS alignaddr %r18, %r18, %r16
4886!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_20_4) + 0, 16, 16)) -> intp(5,0,30)
4887!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_20_4)&0xffffffff) + 0, 16, 16)) -> intp(5,0,30)
4888intvec_20_4:
4889 .word 0x39400001 ! 10: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
4890 .word 0xe477e0b8 ! 11: STX_I stx %r18, [%r31 + 0x00b8]
4891donret_20_5:
4892 nop
4893 ta T_CHANGE_HPRIV ! macro
4894 rd %pc, %r12
4895 add %r12, (donretarg_20_5-donret_20_5-4), %r12
4896 mov 0x38, %r18
4897 stxa %r12, [%r18]0x58
4898 add %r12, 0x4, %r11
4899 wrpr %g0, 0x1, %tl
4900 wrpr %g0, %r12, %tpc
4901 wrpr %g0, %r11, %tnpc
4902 set (0x001b3a40 | (0x80 << 24)), %r13
4903 rdpr %tstate, %r16
4904 mov 0x1f, %r19
4905 and %r19, %r16, %r17
4906 andn %r16, %r19, %r16
4907 or %r16, %r17, %r20
4908 wrpr %r20, %g0, %tstate
4909 wrhpr %g0, 0xb45, %htstate
4910 ta T_CHANGE_NONHPRIV ! rand=1 (20)
4911 done
4912donretarg_20_5:
4913 .word 0xe4ffe0c8 ! 12: SWAPA_I swapa %r18, [%r31 + 0x00c8] %asi
4914splash_cmpr_20_6:
4915 nop
4916 setx 0x676cf8a5c9a19abd, %l2, %l1
4917 ta T_CHANGE_HPRIV
4918 wrhpr %l1, %g0, %hsys_tick_cmpr
4919 sub %l1, 40, %g1
4920 .word 0x89900011 ! 13: WRPR_TICK_R wrpr %r0, %r17, %tick
4921 .word 0x97a089c9 ! 14: FDIVd fdivd %f2, %f40, %f42
4922 otherw
4923 mov 0x34, %r30
4924 .word 0x93d0001e ! 15: Tcc_R tne icc_or_xcc, %r0 + %r30
4925vahole_20_7:
4926 nop
4927 ta T_CHANGE_NONHPRIV
4928 setx vahole_target, %r18, %r27
4929 jmpl %r27+0, %r27
4930 .word 0xe7e7e012 ! 16: CASA_R casa [%r31] %asi, %r18, %r19
4931br_badelay2_20_8:
4932 .word 0x32800001 ! 1: BNE bne,a <label_0x1>
4933 pdist %f20, %f22, %f12
4934 .word 0x99b3430d ! 17: ALIGNADDRESS alignaddr %r13, %r13, %r12
4935 .word 0x99a00170 ! 18: FABSq dis not found
4936
4937 .word 0xb1800011 ! 19: WR_STICK_REG_R wr %r0, %r17, %-
4938 .word 0xad80eee8 ! 20: WR_SOFTINT_REG_I wr %r3, 0x0ee8, %softint
4939 .word 0xd877c000 ! 21: STX_R stx %r12, [%r31 + %r0]
4940splash_tba_20_9:
4941 ta T_CHANGE_PRIV
4942 setx 0x00000004003a0000, %r11, %r12
4943 .word 0x8b90000c ! 22: WRPR_TBA_R wrpr %r0, %r12, %tba
4944 .word 0xd89fe038 ! 23: LDDA_I ldda [%r31, + 0x0038] %asi, %r12
4945jmptr_20_10:
4946 nop
4947 best_set_reg(0xe1a00000, %r20, %r27)
4948 .word 0xb7c6c000 ! 24: JMPL_R jmpl %r27 + %r0, %r27
4949mondo_20_11:
4950 nop
4951 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
4952 ta T_CHANGE_PRIV
4953 stxa %r9, [%r0+0x3d0] %asi
4954 .word 0x9d910014 ! 25: WRPR_WSTATE_R wrpr %r4, %r20, %wstate
4955 .word 0x99a0c9d1 ! 26: FDIVd fdivd %f34, %f48, %f12
4956!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_20_12)+24, 16, 16)) -> intp(mask2tid(0x20),1,3)
4957!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_20_12)&0xffffffff) +24, 16, 16)) -> intp(mask2tid(0x20),1,3)
4958xir_20_12:
4959 .word 0xa982eb81 ! 27: WR_SET_SOFTINT_I wr %r11, 0x0b81, %set_softint
4960 .word 0x9f8020d9 ! 28: SIR sir 0x00d9
4961intveclr_20_13:
4962 nop
4963 ta T_CHANGE_HPRIV
4964 setx 0x515f397ab01a75b9, %r1, %r28
4965 stxa %r28, [%g0] 0x72
4966 ta T_CHANGE_NONHPRIV
4967 .word 0x25400001 ! 29: FBPLG fblg,a,pn %fcc0, <label_0x1>
4968brcommon_20_14:
4969 ba,a .+12
4970 mov %r31, %r15
4971 ba,a .+8
4972 call common_target
4973 .word 0xe89fc031 ! 30: LDDA_R ldda [%r31, %r17] 0x01, %r20
4974 nop
4975 ta T_CHANGE_HPRIV
4976 mov 0x20+1, %r10
4977 set sync_thr_counter1, %r23
4978 cas [%r23],%g0,%r10 !lock
4979 brnz %r10, cwq_20_15
4980 rd %asi, %r12
4981 wr %g0, 0x40, %asi
4982 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
4983 and %l1, 0x3, %l1 ! Check if busy/enabled ..
4984 cmp %l1, 1
4985 bne cwq_20_15
4986 set CWQ_BASE, %l6
4987 best_set_reg(0x206100b0, %l1, %l2) !# Control Word
4988 sllx %l2, 32, %l2
4989 stx %l2, [%l6 + 0x0]
4990 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
4991 sub %l2, 0x40, %l2
4992 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
4993 wr %r12, %g0, %asi
4994 st %g0, [%r23]
4995cwq_20_15:
4996 ta T_CHANGE_NONHPRIV
4997 .word 0x91414000 ! 31: RDPC rd %pc, %r8
4998 nop
4999 ta T_CHANGE_HPRIV
5000 mov 0x20, %r10
5001 set sync_thr_counter2, %r23
5002 cas [%r23],%g0,%r10 !lock
5003 brnz %r10, sma_20_16
5004 rd %asi, %r12
5005 wr %g0, 0x40, %asi
5006 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
5007 set 0x001e1fff, %g1
5008 stxa %g1, [%g0 + 0x80] %asi
5009 wr %r12, %g0, %asi
5010 st %g0, [%r23]
5011sma_20_16:
5012 ta T_CHANGE_NONHPRIV
5013 .word 0xd3e7e011 ! 32: CASA_R casa [%r31] %asi, %r17, %r9
5014splash_cmpr_20_17:
5015 nop
5016 setx 0x5bf7be55ad3526bb, %l2, %l1
5017 ta T_CHANGE_PRIV
5018 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
5019 ta T_CHANGE_NONPRIV
5020 sub %l1, 40, %g1
5021 .word 0x89900011 ! 33: WRPR_TICK_R wrpr %r0, %r17, %tick
5022!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_20_18) + 40, 16, 16)) -> intp(6,0,11)
5023!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_20_18)&0xffffffff) + 40, 16, 16)) -> intp(6,0,11)
5024intvec_20_18:
5025 .word 0x39400001 ! 34: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
5026 .word 0xd26fe0cd ! 35: LDSTUB_I ldstub %r9, [%r31 + 0x00cd]
5027splash_hpstate_20_19:
5028 .word 0x81982b1f ! 36: WRHPR_HPSTATE_I wrhpr %r0, 0x0b1f, %hpstate
5029br_longdelay1_20_20:
5030 .word 0x34800001 ! 1: BG bg,a <label_0x1>
5031 .word 0x9d97c000 ! 37: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
5032 nop
5033 mov 0x80, %g3
5034 stxa %g3, [%g3] 0x5f
5035 .word 0xd25fc000 ! 38: LDX_R ldx [%r31 + %r0], %r9
5036 .word 0xd23fc000 ! 39: STD_R std %r9, [%r31 + %r0]
5037!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_20_21)+16, 16, 16)) -> intp(mask2tid(0x20),1,3)
5038!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_20_21)&0xffffffff) +16, 16, 16)) -> intp(mask2tid(0x20),1,3)
5039xir_20_21:
5040 .word 0xa984b955 ! 40: WR_SET_SOFTINT_I wr %r18, 0x1955, %set_softint
5041splash_hpstate_20_22:
5042 ta T_CHANGE_NONHPRIV
5043 .word 0x819828c7 ! 41: WRHPR_HPSTATE_I wrhpr %r0, 0x08c7, %hpstate
5044 .word 0xa1a189a6 ! 42: FDIVs fdivs %f6, %f6, %f16
5045splash_tba_20_23:
5046 ta T_CHANGE_PRIV
5047 setx 0x00000004003a0000, %r11, %r12
5048 .word 0x8b90000c ! 43: WRPR_TBA_R wrpr %r0, %r12, %tba
5049splash_cmpr_20_24:
5050 nop
5051 setx 0x633d14e3369092d3, %l2, %l1
5052 ta T_CHANGE_HPRIV
5053 wrhpr %l1, %g0, %hsys_tick_cmpr
5054 ta T_CHANGE_NONHPRIV
5055 sub %l1, 40, %g1
5056 .word 0x89900011 ! 44: WRPR_TICK_R wrpr %r0, %r17, %tick
5057br_longdelay1_20_25:
5058 .word 0x37400001 ! 1: FBPGE fbge,a,pn %fcc0, <label_0x1>
5059 .word 0x9d97c000 ! 45: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
5060mondo_20_26:
5061 nop
5062 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5063 stxa %r6, [%r0+0x3e8] %asi
5064 .word 0x9d944012 ! 46: WRPR_WSTATE_R wrpr %r17, %r18, %wstate
5065 otherw
5066 mov 0x32, %r30
5067 .word 0x83d0001e ! 47: Tcc_R te icc_or_xcc, %r0 + %r30
5068 .word 0xa9814008 ! 48: WR_SET_SOFTINT_R wr %r5, %r8, %set_softint
5069 nop
5070 ta T_CHANGE_HPRIV
5071 mov 0x20, %r10
5072 set sync_thr_counter2, %r23
5073 cas [%r23],%g0,%r10 !lock
5074 brnz %r10, sma_20_27
5075 rd %asi, %r12
5076 wr %g0, 0x40, %asi
5077 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
5078 set 0x001e1fff, %g1
5079 stxa %g1, [%g0 + 0x80] %asi
5080 wr %r12, %g0, %asi
5081 st %g0, [%r23]
5082sma_20_27:
5083 ta T_CHANGE_NONHPRIV
5084 .word 0xe9e7e013 ! 49: CASA_R casa [%r31] %asi, %r19, %r20
5085 .word 0xe86fe05c ! 50: LDSTUB_I ldstub %r20, [%r31 + 0x005c]
5086 invalw
5087 mov 0xb5, %r30
5088 .word 0x91d0001e ! 51: Tcc_R ta icc_or_xcc, %r0 + %r30
5089pmu_20_28:
5090 nop
5091 ta T_CHANGE_PRIV
5092 setx 0xfffffe40fffff0da, %g1, %g7
5093 .word 0xa3800007 ! 52: WR_PERF_COUNTER_R wr %r0, %r7, %-
5094dvapa_20_29:
5095 nop
5096 ta T_CHANGE_HPRIV
5097 mov 0xedd, %r20
5098 mov 0x0, %r19
5099 sllx %r20, 23, %r20
5100 or %r19, %r20, %r19
5101 stxa %r19, [%g0] ASI_LSU_CONTROL
5102 mov 0x38, %r18
5103 stxa %r31, [%r18]0x58
5104 ta T_CHANGE_NONHPRIV
5105 .word 0xe8bfc033 ! 53: STDA_R stda %r20, [%r31 + %r19] 0x01
5106 .word 0xc19fc2c0 ! 54: LDDFA_R ldda [%r31, %r0], %f0
5107fpinit_20_30:
5108 setx fp_data_quads, %r19, %r20
5109 ldd [%r20], %f0
5110 ldd [%r20+8], %f4
5111 ld [%r20+16], %fsr
5112 ld [%r20+24], %r19
5113 wr %r19, %g0, %gsr
5114 .word 0x89a009a4 ! 55: FDIVs fdivs %f0, %f4, %f4
5115 setx 0x4ae329d2e17fdfa9, %r1, %r28
5116 stxa %r28, [%g0] 0x73
5117intvec_20_31:
5118 .word 0x39400001 ! 56: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
5119 invalw
5120 mov 0x31, %r30
5121 .word 0x91d0001e ! 57: Tcc_R ta icc_or_xcc, %r0 + %r30
5122br_longdelay4_20_32:
5123 nop
5124 not %g0, %r12
5125 jmp %r12
5126 .word 0x9d902005 ! 58: WRPR_WSTATE_I wrpr %r0, 0x0005, %wstate
5127 .word 0xa7a449d4 ! 59: FDIVd fdivd %f48, %f20, %f50
5128 setx 0x379bbb3abddc18af, %r1, %r28
5129 stxa %r28, [%g0] 0x73
5130intvec_20_33:
5131 .word 0x39400001 ! 60: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
5132mondo_20_34:
5133 nop
5134 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5135 ta T_CHANGE_PRIV
5136 stxa %r11, [%r0+0x3e8] %asi
5137 .word 0x9d94c010 ! 61: WRPR_WSTATE_R wrpr %r19, %r16, %wstate
5138 nop
5139 ta T_CHANGE_HPRIV
5140 mov 0x20, %r10
5141 set sync_thr_counter2, %r23
5142 cas [%r23],%g0,%r10 !lock
5143 brnz %r10, sma_20_35
5144 rd %asi, %r12
5145 wr %g0, 0x40, %asi
5146 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
5147 set 0x000a1fff, %g1
5148 stxa %g1, [%g0 + 0x80] %asi
5149 wr %r12, %g0, %asi
5150 st %g0, [%r23]
5151sma_20_35:
5152 ta T_CHANGE_NONHPRIV
5153 .word 0xd1e7e00a ! 62: CASA_R casa [%r31] %asi, %r10, %r8
5154splash_decr_20_36:
5155 nop
5156 ta T_CHANGE_HPRIV
5157 mov 8, %r1
5158 stxa %r9, [%r1] 0x45
5159 .word 0xa7810012 ! 63: WR_GRAPHICS_STATUS_REG_R wr %r4, %r18, %-
5160 .word 0x9f80364d ! 64: SIR sir 0x164d
5161 .word 0xd08fe018 ! 65: LDUBA_I lduba [%r31, + 0x0018] %asi, %r8
5162 .word 0xd03fc000 ! 66: STD_R std %r8, [%r31 + %r0]
5163 .word 0xc32fc000 ! 67: STXFSR_R st-sfr %f1, [%r0, %r31]
5164 .word 0xd08008a0 ! 68: LDUWA_R lduwa [%r0, %r0] 0x45, %r8
5165change_to_randtl_20_37:
5166 ta T_CHANGE_HPRIV ! macro
5167done_change_to_randtl_20_37:
5168 .word 0x8f902002 ! 69: WRPR_TL_I wrpr %r0, 0x0002, %tl
5169dvapa_20_38:
5170 nop
5171 ta T_CHANGE_HPRIV
5172 mov 0xa7c, %r20
5173 mov 0xa, %r19
5174 sllx %r20, 23, %r20
5175 or %r19, %r20, %r19
5176 stxa %r19, [%g0] ASI_LSU_CONTROL
5177 mov 0x38, %r18
5178 stxa %r31, [%r18]0x58
5179 ta T_CHANGE_NONHPRIV
5180 .word 0xd0dfc024 ! 70: LDXA_R ldxa [%r31, %r4] 0x01, %r8
5181intveclr_20_39:
5182 nop
5183 ta T_CHANGE_HPRIV
5184 setx 0xd228a31820f0927f, %r1, %r28
5185 stxa %r28, [%g0] 0x72
5186 .word 0x25400001 ! 71: FBPLG fblg,a,pn %fcc0, <label_0x1>
5187mondo_20_40:
5188 nop
5189 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5190 stxa %r5, [%r0+0x3e8] %asi
5191 .word 0x9d90c002 ! 72: WRPR_WSTATE_R wrpr %r3, %r2, %wstate
5192 .word 0x91950014 ! 73: WRPR_PIL_R wrpr %r20, %r20, %pil
5193!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_20_42) + 0, 16, 16)) -> intp(0,0,20)
5194!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_20_42)&0xffffffff) + 0, 16, 16)) -> intp(0,0,20)
5195intvec_20_42:
5196 .word 0x39400001 ! 74: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
5197 .word 0x87acca4c ! 75: FCMPd fcmpd %fcc<n>, %f50, %f12
5198br_longdelay2_20_43:
5199 .word 0x21400001 ! 1: FBPN fbn,a,pn %fcc0, <label_0x1>
5200 .word 0x39400001 ! 76: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
5201splash_cmpr_20_44:
5202 nop
5203 setx 0xbf81ab50b6ebda93, %l2, %l1
5204 ta T_CHANGE_HPRIV
5205 wrhpr %l1, %g0, %hsys_tick_cmpr
5206 sub %l1, 40, %g1
5207 .word 0x89900011 ! 77: WRPR_TICK_R wrpr %r0, %r17, %tick
5208 nop
5209 ta T_CHANGE_HPRIV
5210 mov 0x20, %r10
5211 set sync_thr_counter2, %r23
5212 cas [%r23],%g0,%r10 !lock
5213 brnz %r10, sma_20_45
5214 rd %asi, %r12
5215 wr %g0, 0x40, %asi
5216 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
5217 set 0x001a1fff, %g1
5218 stxa %g1, [%g0 + 0x80] %asi
5219 wr %r12, %g0, %asi
5220 st %g0, [%r23]
5221sma_20_45:
5222 ta T_CHANGE_NONHPRIV
5223 .word 0xe3e7e005 ! 78: CASA_R casa [%r31] %asi, %r5, %r17
5224 .word 0x26cc0001 ! 1: BRLZ brlz,a,pt %r16,<label_0xc0001>
5225 .word 0x8d902c06 ! 79: WRPR_PSTATE_I wrpr %r0, 0x0c06, %pstate
5226 nop
5227 ta T_CHANGE_HPRIV
5228 mov 0x20+1, %r10
5229 set sync_thr_counter1, %r23
5230 cas [%r23],%g0,%r10 !lock
5231 brnz %r10, cwq_20_47
5232 rd %asi, %r12
5233 wr %g0, 0x40, %asi
5234 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
5235 and %l1, 0x3, %l1 ! Check if busy/enabled ..
5236 cmp %l1, 1
5237 bne cwq_20_47
5238 set CWQ_BASE, %l6
5239 best_set_reg(0x20610050, %l1, %l2) !# Control Word
5240 sllx %l2, 32, %l2
5241 stx %l2, [%l6 + 0x0]
5242 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
5243 sub %l2, 0x40, %l2
5244 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
5245 wr %r12, %g0, %asi
5246 st %g0, [%r23]
5247cwq_20_47:
5248 ta T_CHANGE_NONHPRIV
5249 .word 0xa7414000 ! 80: RDPC rd %pc, %r19
5250!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_20_48)+32, 16, 16)) -> intp(mask2tid(0x20),1,3)
5251!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_20_48)&0xffffffff) +32, 16, 16)) -> intp(mask2tid(0x20),1,3)
5252xir_20_48:
5253 .word 0xa982a3dc ! 81: WR_SET_SOFTINT_I wr %r10, 0x03dc, %set_softint
5254 .word 0x91914012 ! 82: WRPR_PIL_R wrpr %r5, %r18, %pil
5255intveclr_20_50:
5256 nop
5257 ta T_CHANGE_HPRIV
5258 setx 0x73623445643d0de5, %r1, %r28
5259 stxa %r28, [%g0] 0x72
5260 ta T_CHANGE_NONHPRIV
5261 .word 0x25400001 ! 83: FBPLG fblg,a,pn %fcc0, <label_0x1>
5262mondo_20_51:
5263 nop
5264 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5265 stxa %r20, [%r0+0x3e0] %asi
5266 .word 0x9d90400d ! 84: WRPR_WSTATE_R wrpr %r1, %r13, %wstate
5267splash_hpstate_20_52:
5268 .word 0x81982a44 ! 85: WRHPR_HPSTATE_I wrhpr %r0, 0x0a44, %hpstate
5269 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
5270reduce_priv_lvl_20_53:
5271 ta T_CHANGE_NONHPRIV ! macro
5272ibp_20_54:
5273 nop
5274 ta T_CHANGE_HPRIV
5275 ta T_CHANGE_NONHPRIV
5276 .word 0xda9fc028 ! 87: LDDA_R ldda [%r31, %r8] 0x01, %r13
5277splash_hpstate_20_55:
5278 ta T_CHANGE_NONHPRIV
5279 .word 0x8198289f ! 88: WRHPR_HPSTATE_I wrhpr %r0, 0x089f, %hpstate
5280 .word 0x99b20491 ! 89: FCMPLE32 fcmple32 %d8, %d48, %r12
5281 .word 0xdb27c000 ! 90: STF_R st %f13, [%r0, %r31]
5282splash_tba_20_56:
5283 ta T_CHANGE_PRIV
5284 set 0x120000, %r12
5285 .word 0x8b90000c ! 91: WRPR_TBA_R wrpr %r0, %r12, %tba
5286fpinit_20_57:
5287 setx fp_data_quads, %r19, %r20
5288 ldd [%r20], %f0
5289 ldd [%r20+8], %f4
5290 ld [%r20+16], %fsr
5291 ld [%r20+24], %r19
5292 wr %r19, %g0, %gsr
5293 .word 0xc3e83ac7 ! 92: PREFETCHA_I prefetcha [%r0, + 0xfffffac7] %asi, #one_read
5294!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_20_58) + 8, 16, 16)) -> intp(0,0,5)
5295!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_20_58)&0xffffffff) + 8, 16, 16)) -> intp(0,0,5)
5296intvec_20_58:
5297 .word 0x39400001 ! 93: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
5298intveclr_20_59:
5299 nop
5300 ta T_CHANGE_HPRIV
5301 setx 0x3bf233e20e78ced4, %r1, %r28
5302 stxa %r28, [%g0] 0x72
5303 .word 0x25400001 ! 94: FBPLG fblg,a,pn %fcc0, <label_0x1>
5304 .word 0xe1bfe080 ! 95: STDFA_I stda %f16, [0x0080, %r31]
5305 .word 0x93d020b3 ! 96: Tcc_I tne icc_or_xcc, %r0 + 179
5306 nop
5307 ta T_CHANGE_HPRIV
5308 mov 0x20+1, %r10
5309 set sync_thr_counter1, %r23
5310 cas [%r23],%g0,%r10 !lock
5311 brnz %r10, cwq_20_60
5312 rd %asi, %r12
5313 wr %g0, 0x40, %asi
5314 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
5315 and %l1, 0x3, %l1 ! Check if busy/enabled ..
5316 cmp %l1, 1
5317 bne cwq_20_60
5318 set CWQ_BASE, %l6
5319 best_set_reg(0x20610050, %l1, %l2) !# Control Word
5320 sllx %l2, 32, %l2
5321 stx %l2, [%l6 + 0x0]
5322 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
5323 sub %l2, 0x40, %l2
5324 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
5325 wr %r12, %g0, %asi
5326 st %g0, [%r23]
5327cwq_20_60:
5328 ta T_CHANGE_NONHPRIV
5329 .word 0x93414000 ! 97: RDPC rd %pc, %r9
5330memptr_20_61:
5331 set 0x60340000, %r31
5332 .word 0x8580b6cf ! 98: WRCCR_I wr %r2, 0x16cf, %ccr
5333mondo_20_62:
5334 nop
5335 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5336 ta T_CHANGE_PRIV
5337 stxa %r18, [%r0+0x3d8] %asi
5338 .word 0x9d91c011 ! 99: WRPR_WSTATE_R wrpr %r7, %r17, %wstate
5339 .word 0x91d02034 ! 100: Tcc_I ta icc_or_xcc, %r0 + 52
5340ibp_20_63:
5341 nop
5342 ta T_CHANGE_HPRIV
5343 .word 0xe0bfc031 ! 101: STDA_R stda %r16, [%r31 + %r17] 0x01
5344 .word 0xc1bfe000 ! 102: STDFA_I stda %f0, [0x0000, %r31]
5345!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_20_64)+48, 16, 16)) -> intp(mask2tid(0x20),1,3)
5346!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_20_64)&0xffffffff) +48, 16, 16)) -> intp(mask2tid(0x20),1,3)
5347xir_20_64:
5348 .word 0xa980a559 ! 103: WR_SET_SOFTINT_I wr %r2, 0x0559, %set_softint
5349 .word 0xc19fde00 ! 104: LDDFA_R ldda [%r31, %r0], %f0
5350 .word 0xe1bfc2c0 ! 105: STDFA_R stda %f16, [%r0, %r31]
5351 .word 0x20700001 ! 106: BPN <illegal instruction>
5352jmptr_20_65:
5353 nop
5354 best_set_reg(0xe1a00000, %r20, %r27)
5355 .word 0xb7c6c000 ! 107: JMPL_R jmpl %r27 + %r0, %r27
5356 .word 0xe06fe00f ! 108: LDSTUB_I ldstub %r16, [%r31 + 0x000f]
5357 .word 0xb1800011 ! 109: WR_STICK_REG_R wr %r0, %r17, %-
5358fpinit_20_66:
5359 setx fp_data_quads, %r19, %r20
5360 ldd [%r20], %f0
5361 ldd [%r20+8], %f4
5362 ld [%r20+16], %fsr
5363 ld [%r20+24], %r19
5364 wr %r19, %g0, %gsr
5365 .word 0xc3e82765 ! 110: PREFETCHA_I prefetcha [%r0, + 0x0765] %asi, #one_read
5366 .word 0xe19fd960 ! 111: LDDFA_R ldda [%r31, %r0], %f16
5367 nop
5368 ta T_CHANGE_HPRIV
5369 mov 0x20+1, %r10
5370 set sync_thr_counter1, %r23
5371 cas [%r23],%g0,%r10 !lock
5372 brnz %r10, cwq_20_67
5373 rd %asi, %r12
5374 wr %g0, 0x40, %asi
5375 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
5376 and %l1, 0x3, %l1 ! Check if busy/enabled ..
5377 cmp %l1, 1
5378 bne cwq_20_67
5379 set CWQ_BASE, %l6
5380 best_set_reg(0x206100a0, %l1, %l2) !# Control Word
5381 sllx %l2, 32, %l2
5382 stx %l2, [%l6 + 0x0]
5383 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
5384 sub %l2, 0x40, %l2
5385 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
5386 wr %r12, %g0, %asi
5387 st %g0, [%r23]
5388cwq_20_67:
5389 ta T_CHANGE_NONHPRIV
5390 .word 0xa7414000 ! 112: RDPC rd %pc, %r19
5391 .word 0xa9a00172 ! 113: FABSq dis not found
5392
5393 .word 0x99450000 ! 114: RD_SET_SOFTINT rd %set_softint, %r12
5394 .word 0xc1bfde00 ! 115: STDFA_R stda %f0, [%r0, %r31]
5395pmu_20_68:
5396 nop
5397 ta T_CHANGE_PRIV
5398 setx 0xfffff85dfffffee4, %g1, %g7
5399 .word 0xa3800007 ! 116: WR_PERF_COUNTER_R wr %r0, %r7, %-
5400 nop
5401 ta T_CHANGE_HPRIV
5402 mov 0x20+1, %r10
5403 set sync_thr_counter1, %r23
5404 cas [%r23],%g0,%r10 !lock
5405 brnz %r10, cwq_20_69
5406 rd %asi, %r12
5407 wr %g0, 0x40, %asi
5408 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
5409 and %l1, 0x3, %l1 ! Check if busy/enabled ..
5410 cmp %l1, 1
5411 bne cwq_20_69
5412 set CWQ_BASE, %l6
5413 best_set_reg(0x20610050, %l1, %l2) !# Control Word
5414 sllx %l2, 32, %l2
5415 stx %l2, [%l6 + 0x0]
5416 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
5417 sub %l2, 0x40, %l2
5418 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
5419 wr %r12, %g0, %asi
5420 st %g0, [%r23]
5421cwq_20_69:
5422 ta T_CHANGE_NONHPRIV
5423 .word 0xa3414000 ! 117: RDPC rd %pc, %r17
5424splash_hpstate_20_70:
5425 .word 0x34800001 ! 1: BG bg,a <label_0x1>
5426 .word 0x81982f5e ! 118: WRHPR_HPSTATE_I wrhpr %r0, 0x0f5e, %hpstate
5427 nop
5428 ta T_CHANGE_HPRIV
5429 mov 0x20, %r10
5430 set sync_thr_counter2, %r23
5431 cas [%r23],%g0,%r10 !lock
5432 brnz %r10, sma_20_71
5433 rd %asi, %r12
5434 wr %g0, 0x40, %asi
5435 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
5436 set 0x00021fff, %g1
5437 stxa %g1, [%g0 + 0x80] %asi
5438 wr %r12, %g0, %asi
5439 st %g0, [%r23]
5440sma_20_71:
5441 ta T_CHANGE_NONHPRIV
5442 .word 0xe3e7e00d ! 119: CASA_R casa [%r31] %asi, %r13, %r17
5443 .word 0xe2d7e030 ! 120: LDSHA_I ldsha [%r31, + 0x0030] %asi, %r17
5444 .word 0x9f8035dd ! 121: SIR sir 0x15dd
5445 .word 0x9f802937 ! 122: SIR sir 0x0937
5446tagged_20_72:
5447 tsubcctv %r19, 0x158e, %r11
5448 .word 0xe207e060 ! 123: LDUW_I lduw [%r31 + 0x0060], %r17
5449pmu_20_73:
5450 nop
5451 ta T_CHANGE_PRIV
5452 setx 0xfffffa82fffffe64, %g1, %g7
5453 .word 0xa3800007 ! 124: WR_PERF_COUNTER_R wr %r0, %r7, %-
5454mondo_20_74:
5455 nop
5456 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5457 stxa %r10, [%r0+0x3d0] %asi
5458 .word 0x9d950013 ! 125: WRPR_WSTATE_R wrpr %r20, %r19, %wstate
5459 .word 0xe26fe0be ! 126: LDSTUB_I ldstub %r17, [%r31 + 0x00be]
5460 .word 0xe31fc000 ! 127: LDDF_R ldd [%r31, %r0], %f17
5461 .word 0xe227e0c0 ! 128: STW_I stw %r17, [%r31 + 0x00c0]
5462intveclr_20_75:
5463 nop
5464 ta T_CHANGE_HPRIV
5465 setx 0x1f8487bdd3881c3b, %r1, %r28
5466 stxa %r28, [%g0] 0x72
5467 .word 0x25400001 ! 129: FBPLG fblg,a,pn %fcc0, <label_0x1>
5468 .word 0xe22fe0c1 ! 130: STB_I stb %r17, [%r31 + 0x00c1]
5469!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_20_76)+40, 16, 16)) -> intp(mask2tid(0x20),1,3)
5470!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_20_76)&0xffffffff) +40, 16, 16)) -> intp(mask2tid(0x20),1,3)
5471xir_20_76:
5472 .word 0xa9847cbc ! 131: WR_SET_SOFTINT_I wr %r17, 0x1cbc, %set_softint
5473 .word 0xe337e0e0 ! 132: STQF_I - %f17, [0x00e0, %r31]
5474 .word 0xe337c000 ! 133: STQF_R - %f17, [%r0, %r31]
5475 .word 0xe327e014 ! 134: STF_I st %f17, [0x0014, %r31]
5476jmptr_20_77:
5477 nop
5478 best_set_reg(0xe1a00000, %r20, %r27)
5479 .word 0xb7c6c000 ! 135: JMPL_R jmpl %r27 + %r0, %r27
5480pmu_20_78:
5481 nop
5482 ta T_CHANGE_PRIV
5483 setx 0xfffffa59fffff39a, %g1, %g7
5484 .word 0xa3800007 ! 136: WR_PERF_COUNTER_R wr %r0, %r7, %-
5485dvapa_20_79:
5486 nop
5487 ta T_CHANGE_HPRIV
5488 mov 0xefa, %r20
5489 mov 0xe, %r19
5490 sllx %r20, 23, %r20
5491 or %r19, %r20, %r19
5492 stxa %r19, [%g0] ASI_LSU_CONTROL
5493 mov 0x38, %r18
5494 stxa %r31, [%r18]0x58
5495 ta T_CHANGE_NONHPRIV
5496 .word 0xe3e7e011 ! 137: CASA_R casa [%r31] %asi, %r17, %r17
5497 .word 0xc1bfc3e0 ! 138: STDFA_R stda %f0, [%r0, %r31]
5498mondo_20_80:
5499 nop
5500 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5501 stxa %r1, [%r0+0x3e8] %asi
5502 .word 0x9d948009 ! 139: WRPR_WSTATE_R wrpr %r18, %r9, %wstate
5503 .word 0x8d802004 ! 140: WRFPRS_I wr %r0, 0x0004, %fprs
5504mondo_20_81:
5505 nop
5506 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5507 stxa %r16, [%r0+0x3e8] %asi
5508 .word 0x9d948006 ! 141: WRPR_WSTATE_R wrpr %r18, %r6, %wstate
5509pmu_20_82:
5510 nop
5511 ta T_CHANGE_PRIV
5512 setx 0xfffffd05fffffc07, %g1, %g7
5513 .word 0xa3800007 ! 142: WR_PERF_COUNTER_R wr %r0, %r7, %-
5514 .word 0xa7a489d1 ! 143: FDIVd fdivd %f18, %f48, %f50
5515!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_20_83)+56, 16, 16)) -> intp(mask2tid(0x20),1,3)
5516!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_20_83)&0xffffffff) +56, 16, 16)) -> intp(mask2tid(0x20),1,3)
5517xir_20_83:
5518 .word 0xa9843711 ! 144: WR_SET_SOFTINT_I wr %r16, 0x1711, %set_softint
5519cwp_20_84:
5520 set user_data_start, %o7
5521 .word 0x93902000 ! 145: WRPR_CWP_I wrpr %r0, 0x0000, %cwp
5522intveclr_20_85:
5523 nop
5524 ta T_CHANGE_HPRIV
5525 setx 0x8c734eee2b9be681, %r1, %r28
5526 stxa %r28, [%g0] 0x72
5527 ta T_CHANGE_NONHPRIV
5528 .word 0x25400001 ! 146: FBPLG fblg,a,pn %fcc0, <label_0x1>
5529 nop
5530 ta T_CHANGE_HPRIV
5531 mov 0x20, %r10
5532 set sync_thr_counter2, %r23
5533 cas [%r23],%g0,%r10 !lock
5534 brnz %r10, sma_20_86
5535 rd %asi, %r12
5536 wr %g0, 0x40, %asi
5537 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
5538 set 0x00061fff, %g1
5539 stxa %g1, [%g0 + 0x80] %asi
5540 wr %r12, %g0, %asi
5541 st %g0, [%r23]
5542sma_20_86:
5543 ta T_CHANGE_NONHPRIV
5544 .word 0xd9e7e011 ! 147: CASA_R casa [%r31] %asi, %r17, %r12
5545 .word 0xa7a00170 ! 148: FABSq dis not found
5546
5547 .word 0xc3e9c030 ! 149: PREFETCHA_R prefetcha [%r7, %r16] 0x01, #one_read
5548 nop
5549 ta T_CHANGE_HPRIV
5550 mov 0x20, %r10
5551 set sync_thr_counter2, %r23
5552 cas [%r23],%g0,%r10 !lock
5553 brnz %r10, sma_20_87
5554 rd %asi, %r12
5555 wr %g0, 0x40, %asi
5556 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
5557 set 0x00061fff, %g1
5558 stxa %g1, [%g0 + 0x80] %asi
5559 wr %r12, %g0, %asi
5560 st %g0, [%r23]
5561sma_20_87:
5562 ta T_CHANGE_NONHPRIV
5563 .word 0xdbe7e011 ! 150: CASA_R casa [%r31] %asi, %r17, %r13
5564 .word 0x91914011 ! 151: WRPR_PIL_R wrpr %r5, %r17, %pil
5565 .word 0xe19fdf20 ! 152: LDDFA_R ldda [%r31, %r0], %f16
5566 .word 0x3c700001 ! 153: BPPOS <illegal instruction>
5567 .word 0xda27e002 ! 154: STW_I stw %r13, [%r31 + 0x0002]
5568pmu_20_89:
5569 nop
5570 ta T_CHANGE_PRIV
5571 setx 0xfffffb33fffffaf6, %g1, %g7
5572 .word 0xa3800007 ! 155: WR_PERF_COUNTER_R wr %r0, %r7, %-
5573 nop
5574 ta T_CHANGE_HPRIV
5575 mov 0x20, %r10
5576 set sync_thr_counter2, %r23
5577 cas [%r23],%g0,%r10 !lock
5578 brnz %r10, sma_20_90
5579 rd %asi, %r12
5580 wr %g0, 0x40, %asi
5581 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
5582 set 0x001a1fff, %g1
5583 stxa %g1, [%g0 + 0x80] %asi
5584 wr %r12, %g0, %asi
5585 st %g0, [%r23]
5586sma_20_90:
5587 ta T_CHANGE_NONHPRIV
5588 .word 0xdbe7e013 ! 156: CASA_R casa [%r31] %asi, %r19, %r13
5589 setx 0x42de8966f5b0ac7b, %r1, %r28
5590 stxa %r28, [%g0] 0x73
5591intvec_20_91:
5592 .word 0x39400001 ! 157: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
5593 .word 0x2e700001 ! 158: BPVS <illegal instruction>
5594 .word 0xda47c000 ! 159: LDSW_R ldsw [%r31 + %r0], %r13
5595splash_lsu_20_92:
5596 nop
5597 ta T_CHANGE_HPRIV
5598 set 0x63ffb350, %r2
5599 mov 0x2, %r1
5600 sllx %r1, 32, %r1
5601 or %r1, %r2, %r2
5602 stxa %r2, [%r0] ASI_LSU_CONTROL
5603 ta T_CHANGE_NONHPRIV
5604 .word 0x3d400001 ! 160: FBPULE fbule,a,pn %fcc0, <label_0x1>
5605!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_20_93)+56, 16, 16)) -> intp(mask2tid(0x20),1,3)
5606!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_20_93)&0xffffffff) +56, 16, 16)) -> intp(mask2tid(0x20),1,3)
5607xir_20_93:
5608 .word 0xa9853547 ! 161: WR_SET_SOFTINT_I wr %r20, 0x1547, %set_softint
5609 .word 0xe1bfc3e0 ! 162: STDFA_R stda %f16, [%r0, %r31]
5610pmu_20_94:
5611 nop
5612 setx 0xfffff5c2fffffac6, %g1, %g7
5613 .word 0xa3800007 ! 163: WR_PERF_COUNTER_R wr %r0, %r7, %-
5614 .word 0x3a800001 ! 164: BCC bcc,a <label_0x1>
5615 .word 0x95464000 ! 165: RD_STICK_CMPR_REG rd %-, %r10
5616pmu_20_95:
5617 nop
5618 ta T_CHANGE_PRIV
5619 setx 0xfffffc28ffffff56, %g1, %g7
5620 .word 0xa3800007 ! 166: WR_PERF_COUNTER_R wr %r0, %r7, %-
5621 .word 0xb1800011 ! 167: WR_STICK_REG_R wr %r0, %r17, %-
5622 nop
5623 ta T_CHANGE_HPRIV
5624 mov 0x20, %r10
5625 set sync_thr_counter2, %r23
5626 cas [%r23],%g0,%r10 !lock
5627 brnz %r10, sma_20_96
5628 rd %asi, %r12
5629 wr %g0, 0x40, %asi
5630 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
5631 set 0x000e1fff, %g1
5632 stxa %g1, [%g0 + 0x80] %asi
5633 wr %r12, %g0, %asi
5634 st %g0, [%r23]
5635sma_20_96:
5636 ta T_CHANGE_NONHPRIV
5637 .word 0xdbe7e013 ! 168: CASA_R casa [%r31] %asi, %r19, %r13
5638pmu_20_97:
5639 nop
5640 ta T_CHANGE_PRIV
5641 setx 0xfffff4b2fffff022, %g1, %g7
5642 .word 0xa3800007 ! 169: WR_PERF_COUNTER_R wr %r0, %r7, %-
5643pmu_20_98:
5644 nop
5645 ta T_CHANGE_PRIV
5646 setx 0xfffff669fffff00f, %g1, %g7
5647 .word 0xa3800007 ! 170: WR_PERF_COUNTER_R wr %r0, %r7, %-
5648 .word 0x83d02035 ! 171: Tcc_I te icc_or_xcc, %r0 + 53
5649 .word 0xa9850012 ! 172: WR_SET_SOFTINT_R wr %r20, %r18, %set_softint
5650 otherw
5651 mov 0xb3, %r30
5652 .word 0x83d0001e ! 173: Tcc_R te icc_or_xcc, %r0 + %r30
5653brcommon_20_99:
5654 ba,a .+12
5655 mov %r31, %r15
5656 ba,a .+8
5657 call common_target
5658 .word 0xc32fc003 ! 174: STXFSR_R st-sfr %f1, [%r3, %r31]
5659br_badelay3_20_100:
5660 .word 0x34800001 ! 1: BG bg,a <label_0x1>
5661 .word 0x8569a923 ! Random illegal ?
5662 .word 0xe9150013 ! 1: LDQF_R - [%r20, %r19], %f20
5663 .word 0xa5a1c82b ! 175: FADDs fadds %f7, %f11, %f18
5664 .word 0xa9a2c9d0 ! 176: FDIVd fdivd %f42, %f16, %f20
5665 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
5666reduce_priv_lvl_20_101:
5667 ta T_CHANGE_NONHPRIV ! macro
5668 nop
5669 mov 0x80, %g3
5670 stxa %g3, [%g3] 0x57
5671 .word 0xe05fc000 ! 178: LDX_R ldx [%r31 + %r0], %r16
5672memptr_20_102:
5673 set user_data_start, %r31
5674 .word 0x8584361a ! 179: WRCCR_I wr %r16, 0x161a, %ccr
5675 setx 0xe0fc99edd1934f34, %r1, %r28
5676 stxa %r28, [%g0] 0x73
5677intvec_20_103:
5678 .word 0x39400001 ! 180: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
5679 .word 0xe1bfe020 ! 181: STDFA_I stda %f16, [0x0020, %r31]
5680 set 0x2a36, %l3
5681 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
5682 .word 0x99b507cc ! 182: PDIST pdistn %d20, %d12, %d12
5683mondo_20_104:
5684 nop
5685 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5686 ta T_CHANGE_PRIV
5687 stxa %r12, [%r0+0x3e8] %asi
5688 .word 0x9d914005 ! 183: WRPR_WSTATE_R wrpr %r5, %r5, %wstate
5689 .word 0x9f803f5d ! 184: SIR sir 0x1f5d
5690 .word 0x99a109d4 ! 185: FDIVd fdivd %f4, %f20, %f12
5691 .word 0xa9a349ab ! 186: FDIVs fdivs %f13, %f11, %f20
5692dvapa_20_105:
5693 nop
5694 ta T_CHANGE_HPRIV
5695 mov 0xc43, %r20
5696 mov 0x7, %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 0xd09fc033 ! 187: LDDA_R ldda [%r31, %r19] 0x01, %r8
5704mondo_20_106:
5705 nop
5706 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5707 stxa %r17, [%r0+0x3c0] %asi
5708 .word 0x9d94c012 ! 188: WRPR_WSTATE_R wrpr %r19, %r18, %wstate
5709 .word 0x24cc4001 ! 189: BRLEZ brlez,a,pt %r17,<label_0xc4001>
5710vahole_20_107:
5711 nop
5712 ta T_CHANGE_NONHPRIV
5713 setx vahole_target, %r18, %r27
5714 jmpl %r27+0, %r27
5715 .word 0xe23fe275 ! 190: STD_I std %r17, [%r31 + 0x0275]
5716 .word 0xe237e0a8 ! 191: STH_I sth %r17, [%r31 + 0x00a8]
5717 .word 0xa7480000 ! 192: RDHPR_HPSTATE rdhpr %hpstate, %r19
5718!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_20_108)+40, 16, 16)) -> intp(mask2tid(0x20),1,3)
5719!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_20_108)&0xffffffff) +40, 16, 16)) -> intp(mask2tid(0x20),1,3)
5720xir_20_108:
5721 .word 0xa985292a ! 193: WR_SET_SOFTINT_I wr %r20, 0x092a, %set_softint
5722 .word 0x9f802e70 ! 194: SIR sir 0x0e70
5723dvapa_20_109:
5724 nop
5725 ta T_CHANGE_HPRIV
5726 mov 0xa85, %r20
5727 mov 0x19, %r19
5728 sllx %r20, 23, %r20
5729 or %r19, %r20, %r19
5730 stxa %r19, [%g0] ASI_LSU_CONTROL
5731 mov 0x38, %r18
5732 stxa %r31, [%r18]0x58
5733 ta T_CHANGE_NONHPRIV
5734 .word 0xe6bfc021 ! 195: STDA_R stda %r19, [%r31 + %r1] 0x01
5735intveclr_20_110:
5736 nop
5737 ta T_CHANGE_HPRIV
5738 setx 0x8fb8c0b2edf47341, %r1, %r28
5739 stxa %r28, [%g0] 0x72
5740 ta T_CHANGE_NONHPRIV
5741 .word 0x25400001 ! 196: FBPLG fblg,a,pn %fcc0, <label_0x1>
5742 set 0x275c, %l3
5743 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
5744 .word 0xa7b147d3 ! 197: PDIST pdistn %d36, %d50, %d50
5745 .word 0xd31fc012 ! 198: LDDF_R ldd [%r31, %r18], %f9
5746mondo_20_112:
5747 nop
5748 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5749 stxa %r19, [%r0+0x3d0] %asi
5750 .word 0x9d94c011 ! 199: WRPR_WSTATE_R wrpr %r19, %r17, %wstate
5751 nop
5752 ta T_CHANGE_HPRIV
5753 mov 0x20+1, %r10
5754 set sync_thr_counter1, %r23
5755 cas [%r23],%g0,%r10 !lock
5756 brnz %r10, cwq_20_113
5757 rd %asi, %r12
5758 wr %g0, 0x40, %asi
5759 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
5760 and %l1, 0x3, %l1 ! Check if busy/enabled ..
5761 cmp %l1, 1
5762 bne cwq_20_113
5763 set CWQ_BASE, %l6
5764 best_set_reg(0x206100b0, %l1, %l2) !# Control Word
5765 sllx %l2, 32, %l2
5766 stx %l2, [%l6 + 0x0]
5767 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
5768 sub %l2, 0x40, %l2
5769 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
5770 wr %r12, %g0, %asi
5771 st %g0, [%r23]
5772cwq_20_113:
5773 ta T_CHANGE_NONHPRIV
5774 .word 0x93414000 ! 200: RDPC rd %pc, %r9
5775mondo_20_114:
5776 nop
5777 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5778 stxa %r20, [%r0+0x3d0] %asi
5779 .word 0x9d91c011 ! 201: WRPR_WSTATE_R wrpr %r7, %r17, %wstate
5780 .word 0xc19fd920 ! 202: LDDFA_R ldda [%r31, %r0], %f0
5781 .word 0x93d020b4 ! 203: Tcc_I tne icc_or_xcc, %r0 + 180
5782memptr_20_115:
5783 set 0x60540000, %r31
5784 .word 0x85827e1b ! 204: WRCCR_I wr %r9, 0x1e1b, %ccr
5785 nop
5786 mov 0x80, %g3
5787 stxa %g3, [%g3] 0x5f
5788 .word 0xe25fc000 ! 205: LDX_R ldx [%r31 + %r0], %r17
5789 .word 0x91d020b2 ! 206: Tcc_I ta icc_or_xcc, %r0 + 178
5790pmu_20_116:
5791 nop
5792 setx 0xfffffe47fffffdb2, %g1, %g7
5793 .word 0xa3800007 ! 207: WR_PERF_COUNTER_R wr %r0, %r7, %-
5794 .word 0x30800001 ! 1: BA ba,a <label_0x1>
5795 .word 0x8d902d99 ! 208: WRPR_PSTATE_I wrpr %r0, 0x0d99, %pstate
5796splash_tba_20_118:
5797 ta T_CHANGE_PRIV
5798 setx 0x00000004003a0000, %r11, %r12
5799 .word 0x8b90000c ! 209: WRPR_TBA_R wrpr %r0, %r12, %tba
5800 .word 0x99a4c9d4 ! 210: FDIVd fdivd %f50, %f20, %f12
5801 .word 0xc1bfc2c0 ! 211: STDFA_R stda %f0, [%r0, %r31]
5802 .word 0x38800001 ! 212: BGU bgu,a <label_0x1>
5803 .word 0xc19fdb60 ! 213: LDDFA_R ldda [%r31, %r0], %f0
5804 .word 0xa7454000 ! 214: RD_CLEAR_SOFTINT rd %clear_softint, %r19
5805 .word 0x97a049cc ! 215: FDIVd fdivd %f32, %f12, %f42
5806mondo_20_119:
5807 nop
5808 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5809 ta T_CHANGE_PRIV
5810 stxa %r17, [%r0+0x3e8] %asi
5811 .word 0x9d940003 ! 216: WRPR_WSTATE_R wrpr %r16, %r3, %wstate
5812splash_lsu_20_120:
5813 nop
5814 ta T_CHANGE_HPRIV
5815 set 0x6053f5fd, %r2
5816 mov 0x5, %r1
5817 sllx %r1, 32, %r1
5818 or %r1, %r2, %r2
5819 stxa %r2, [%r0] ASI_LSU_CONTROL
5820 .word 0x3d400001 ! 217: FBPULE fbule,a,pn %fcc0, <label_0x1>
5821 .word 0x24800001 ! 218: BLE ble,a <label_0x1>
5822 .word 0xc19fdc00 ! 219: LDDFA_R ldda [%r31, %r0], %f0
5823 .word 0xd797e020 ! 220: LDQFA_I - [%r31, 0x0020], %f11
5824 .word 0xd73fc000 ! 221: STDF_R std %f11, [%r0, %r31]
5825donret_20_121:
5826 nop
5827 ta T_CHANGE_HPRIV ! macro
5828 rd %pc, %r12
5829 add %r12, (donretarg_20_121-donret_20_121-4), %r12
5830 mov 0x38, %r18
5831 stxa %r12, [%r18]0x58
5832 add %r12, 0x4, %r11
5833 wrpr %g0, 0x1, %tl
5834 wrpr %g0, %r12, %tpc
5835 wrpr %g0, %r11, %tnpc
5836 set (0x0033edef | (0x4f << 24)), %r13
5837 rdpr %tstate, %r16
5838 mov 0x1f, %r19
5839 and %r19, %r16, %r17
5840 andn %r16, %r19, %r16
5841 or %r16, %r17, %r20
5842 wrpr %r20, %g0, %tstate
5843 wrhpr %g0, 0xd9e, %htstate
5844 ta T_CHANGE_NONHPRIV ! rand=1 (20)
5845 done
5846donretarg_20_121:
5847 .word 0xd6ffe046 ! 222: SWAPA_I swapa %r11, [%r31 + 0x0046] %asi
5848!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_20_122)+16, 16, 16)) -> intp(mask2tid(0x20),1,3)
5849!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_20_122)&0xffffffff) +16, 16, 16)) -> intp(mask2tid(0x20),1,3)
5850xir_20_122:
5851 .word 0xa984a382 ! 223: WR_SET_SOFTINT_I wr %r18, 0x0382, %set_softint
5852 .word 0xa9a1c9ab ! 224: FDIVs fdivs %f7, %f11, %f20
5853ibp_20_123:
5854 nop
5855 ta T_CHANGE_HPRIV
5856 .word 0xe897c02b ! 225: LDUHA_R lduha [%r31, %r11] 0x01, %r20
5857 set 0x2643, %l3
5858 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
5859 .word 0x9bb047c7 ! 226: PDIST pdistn %d32, %d38, %d44
5860 invalw
5861 mov 0xb4, %r30
5862 .word 0x91d0001e ! 227: Tcc_R ta icc_or_xcc, %r0 + %r30
5863 nop
5864 ta T_CHANGE_HPRIV
5865 mov 0x20+1, %r10
5866 set sync_thr_counter1, %r23
5867 cas [%r23],%g0,%r10 !lock
5868 brnz %r10, cwq_20_124
5869 rd %asi, %r12
5870 wr %g0, 0x40, %asi
5871 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
5872 and %l1, 0x3, %l1 ! Check if busy/enabled ..
5873 cmp %l1, 1
5874 bne cwq_20_124
5875 set CWQ_BASE, %l6
5876 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
5877 sllx %l2, 32, %l2
5878 stx %l2, [%l6 + 0x0]
5879 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
5880 sub %l2, 0x40, %l2
5881 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
5882 wr %r12, %g0, %asi
5883 st %g0, [%r23]
5884cwq_20_124:
5885 ta T_CHANGE_NONHPRIV
5886 .word 0xa1414000 ! 228: RDPC rd %pc, %r16
5887 .word 0x91950008 ! 229: WRPR_PIL_R wrpr %r20, %r8, %pil
5888 .word 0x2acb0001 ! 1: BRNZ brnz,a,pt %r12,<label_0xb0001>
5889 .word 0x8d902c65 ! 230: WRPR_PSTATE_I wrpr %r0, 0x0c65, %pstate
5890 .word 0xd23fe0ac ! 231: STD_I std %r9, [%r31 + 0x00ac]
5891mondo_20_127:
5892 nop
5893 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5894 ta T_CHANGE_PRIV
5895 stxa %r9, [%r0+0x3c0] %asi
5896 .word 0x9d94c013 ! 232: WRPR_WSTATE_R wrpr %r19, %r19, %wstate
5897 nop
5898 mov 0x80, %g3
5899 stxa %g3, [%g3] 0x57
5900 .word 0xd25fc000 ! 233: LDX_R ldx [%r31 + %r0], %r9
5901!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_20_128)+48, 16, 16)) -> intp(mask2tid(0x20),1,3)
5902!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_20_128)&0xffffffff) +48, 16, 16)) -> intp(mask2tid(0x20),1,3)
5903xir_20_128:
5904 .word 0xa981f8ae ! 234: WR_SET_SOFTINT_I wr %r7, 0x18ae, %set_softint
5905 .word 0xc19fc2c0 ! 235: LDDFA_R ldda [%r31, %r0], %f0
5906invtsb_20_129:
5907 nop
5908 ta T_CHANGE_HPRIV
5909 rd %asi, %r21
5910 wr %r0,ASI_MMU_REAL_RANGE, %asi
5911 mov 1, %r20
5912 sllx %r20, 63, %r20
5913 ldxa [ASI_MMU_REAL_RANGE_0] %asi, %r22
5914 xor %r22 ,%r20, %r22
5915 stxa %r22, [ASI_MMU_REAL_RANGE_0] %asi
5916 ldxa [ASI_MMU_REAL_RANGE_1] %asi, %r22
5917 xor %r22 ,%r20, %r22
5918 stxa %r22, [ASI_MMU_REAL_RANGE_1] %asi
5919 ldxa [ASI_MMU_REAL_RANGE_2] %asi, %r22
5920 xor %r22 ,%r20, %r22
5921 stxa %r22, [ASI_MMU_REAL_RANGE_2] %asi
5922 ldxa [ASI_MMU_REAL_RANGE_3] %asi, %r22
5923 xor %r22 ,%r20, %r22
5924 stxa %r22, [ASI_MMU_REAL_RANGE_3] %asi
5925 wr %r21, %r0, %asi
5926 ta T_CHANGE_NONHPRIV
5927 .word 0x29800001 ! 236: FBL fbl,a <label_0x1>
5928splash_htba_20_130:
5929 nop
5930 ta T_CHANGE_HPRIV
5931 setx 0x00000002002a0000, %r11, %r12
5932 .word 0x8b98000c ! 237: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
5933ibp_20_131:
5934 nop
5935 ta T_CHANGE_HPRIV
5936 ta T_CHANGE_NONHPRIV
5937 .word 0xd3e7e013 ! 238: CASA_R casa [%r31] %asi, %r19, %r9
5938 .word 0xa97029dc ! 239: POPC_I popc 0x09dc, %r20
5939!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_20_132)+8, 16, 16)) -> intp(mask2tid(0x20),1,3)
5940!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_20_132)&0xffffffff) +8, 16, 16)) -> intp(mask2tid(0x20),1,3)
5941xir_20_132:
5942 .word 0xa98434d2 ! 240: WR_SET_SOFTINT_I wr %r16, 0x14d2, %set_softint
5943 .word 0x91950010 ! 241: WRPR_PIL_R wrpr %r20, %r16, %pil
5944 nop
5945 ta T_CHANGE_HPRIV
5946 mov 0x20, %r10
5947 set sync_thr_counter2, %r23
5948 cas [%r23],%g0,%r10 !lock
5949 brnz %r10, sma_20_134
5950 rd %asi, %r12
5951 wr %g0, 0x40, %asi
5952 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
5953 set 0x000e1fff, %g1
5954 stxa %g1, [%g0 + 0x80] %asi
5955 wr %r12, %g0, %asi
5956 st %g0, [%r23]
5957sma_20_134:
5958 ta T_CHANGE_NONHPRIV
5959 .word 0xe5e7e00d ! 242: CASA_R casa [%r31] %asi, %r13, %r18
5960mondo_20_135:
5961 nop
5962 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
5963 stxa %r19, [%r0+0x3d8] %asi
5964 .word 0x9d92800d ! 243: WRPR_WSTATE_R wrpr %r10, %r13, %wstate
5965ibp_20_136:
5966 nop
5967 ta T_CHANGE_HPRIV
5968 .word 0x9f802530 ! 244: SIR sir 0x0530
5969splash_tba_20_137:
5970 ta T_CHANGE_PRIV
5971 setx 0x00000004003a0000, %r11, %r12
5972 .word 0x8b90000c ! 245: WRPR_TBA_R wrpr %r0, %r12, %tba
5973br_badelay3_20_138:
5974 .word 0x20800001 ! 1: BN bn,a <label_0x1>
5975 .word 0xe968a68b ! Random illegal ?
5976 .word 0xe9134001 ! 1: LDQF_R - [%r13, %r1], %f20
5977 .word 0x9ba10829 ! 246: FADDs fadds %f4, %f9, %f13
5978 .word 0x99702ad4 ! 247: POPC_I popc 0x0ad4, %r12
5979 .word 0xc19fc2c0 ! 248: LDDFA_R ldda [%r31, %r0], %f0
5980brcommon_20_139:
5981 ba,a .+12
5982 mov %r31, %r15
5983 ba,a .+8
5984 call common_target
5985 .word 0xd4bfc030 ! 249: STDA_R stda %r10, [%r31 + %r16] 0x01
5986pmu_20_140:
5987 nop
5988 setx 0xfffff58bfffff1a1, %g1, %g7
5989 .word 0xa3800007 ! 250: WR_PERF_COUNTER_R wr %r0, %r7, %-
5990 .word 0xd43fc000 ! 251: STD_R std %r10, [%r31 + %r0]
5991dvapa_20_141:
5992 nop
5993 ta T_CHANGE_HPRIV
5994 mov 0xf3f, %r20
5995 mov 0xa, %r19
5996 sllx %r20, 23, %r20
5997 or %r19, %r20, %r19
5998 stxa %r19, [%g0] ASI_LSU_CONTROL
5999 mov 0x38, %r18
6000 stxa %r31, [%r18]0x58
6001 ta T_CHANGE_NONHPRIV
6002 .word 0xd51fc010 ! 252: LDDF_R ldd [%r31, %r16], %f10
6003br_badelay3_20_142:
6004 .word 0x22800001 ! 1: BE be,a <label_0x1>
6005 .word 0xfb767fe6 ! Random illegal ?
6006 .word 0xe1150012 ! 1: LDQF_R - [%r20, %r18], %f16
6007 .word 0x91a48832 ! 253: FADDs fadds %f18, %f18, %f8
6008 otherw
6009 mov 0xb0, %r30
6010 .word 0x91d0001e ! 254: Tcc_R ta icc_or_xcc, %r0 + %r30
6011 setx 0x34d9b44084d29640, %r1, %r28
6012 stxa %r28, [%g0] 0x73
6013intvec_20_143:
6014 .word 0x39400001 ! 255: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
6015 nop
6016 ta T_CHANGE_HPRIV
6017 mov 0x20+1, %r10
6018 set sync_thr_counter1, %r23
6019 cas [%r23],%g0,%r10 !lock
6020 brnz %r10, cwq_20_144
6021 rd %asi, %r12
6022 wr %g0, 0x40, %asi
6023 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
6024 and %l1, 0x3, %l1 ! Check if busy/enabled ..
6025 cmp %l1, 1
6026 bne cwq_20_144
6027 set CWQ_BASE, %l6
6028 best_set_reg(0x206100a0, %l1, %l2) !# Control Word
6029 sllx %l2, 32, %l2
6030 stx %l2, [%l6 + 0x0]
6031 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
6032 sub %l2, 0x40, %l2
6033 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
6034 wr %r12, %g0, %asi
6035 st %g0, [%r23]
6036cwq_20_144:
6037 ta T_CHANGE_NONHPRIV
6038 .word 0x97414000 ! 256: RDPC rd %pc, %r11
6039 .word 0xa1702864 ! 257: POPC_I popc 0x0864, %r16
6040dvapa_20_145:
6041 nop
6042 ta T_CHANGE_HPRIV
6043 mov 0xdd2, %r20
6044 mov 0x12, %r19
6045 sllx %r20, 23, %r20
6046 or %r19, %r20, %r19
6047 stxa %r19, [%g0] ASI_LSU_CONTROL
6048 mov 0x38, %r18
6049 stxa %r31, [%r18]0x58
6050 ta T_CHANGE_NONHPRIV
6051 .word 0xe4dfc032 ! 258: LDXA_R ldxa [%r31, %r18] 0x01, %r18
6052 invalw
6053 mov 0x30, %r30
6054 .word 0x91d0001e ! 259: Tcc_R ta icc_or_xcc, %r0 + %r30
6055 .word 0xe457c000 ! 260: LDSH_R ldsh [%r31 + %r0], %r18
6056splash_lsu_20_146:
6057 nop
6058 ta T_CHANGE_HPRIV
6059 set 0x37861931, %r2
6060 mov 0x1, %r1
6061 sllx %r1, 32, %r1
6062 or %r1, %r2, %r2
6063 stxa %r2, [%r0] ASI_LSU_CONTROL
6064 .word 0x3d400001 ! 261: FBPULE fbule,a,pn %fcc0, <label_0x1>
6065 otherw
6066 mov 0xb0, %r30
6067 .word 0x93d0001e ! 262: Tcc_R tne icc_or_xcc, %r0 + %r30
6068 .word 0x91950004 ! 263: WRPR_PIL_R wrpr %r20, %r4, %pil
6069 .word 0xe1bfde00 ! 264: STDFA_R stda %f16, [%r0, %r31]
6070 .word 0xe19fe0c0 ! 265: LDDFA_I ldda [%r31, 0x00c0], %f16
6071 nop
6072 ta T_CHANGE_HPRIV
6073 mov 0x20, %r10
6074 set sync_thr_counter2, %r23
6075 cas [%r23],%g0,%r10 !lock
6076 brnz %r10, sma_20_148
6077 rd %asi, %r12
6078 wr %g0, 0x40, %asi
6079 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
6080 set 0x00161fff, %g1
6081 stxa %g1, [%g0 + 0x80] %asi
6082 wr %r12, %g0, %asi
6083 st %g0, [%r23]
6084sma_20_148:
6085 ta T_CHANGE_NONHPRIV
6086 .word 0xe5e7e014 ! 266: CASA_R casa [%r31] %asi, %r20, %r18
6087 ta T_CHANGE_NONPRIV ! macro
6088 .word 0x91a00172 ! 268: FABSq dis not found
6089
6090 nop
6091 ta T_CHANGE_HPRIV
6092 mov 0x20, %r10
6093 set sync_thr_counter2, %r23
6094 cas [%r23],%g0,%r10 !lock
6095 brnz %r10, sma_20_149
6096 rd %asi, %r12
6097 wr %g0, 0x40, %asi
6098 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
6099 set 0x00061fff, %g1
6100 stxa %g1, [%g0 + 0x80] %asi
6101 wr %r12, %g0, %asi
6102 st %g0, [%r23]
6103sma_20_149:
6104 ta T_CHANGE_NONHPRIV
6105 .word 0xe7e7e012 ! 269: CASA_R casa [%r31] %asi, %r18, %r19
6106 .word 0xe63fe048 ! 270: STD_I std %r19, [%r31 + 0x0048]
6107!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_20_150) + 24, 16, 16)) -> intp(7,0,26)
6108!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_20_150)&0xffffffff) + 24, 16, 16)) -> intp(7,0,26)
6109intvec_20_150:
6110 .word 0x39400001 ! 271: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
6111!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_20_151)+56, 16, 16)) -> intp(mask2tid(0x20),1,3)
6112!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_20_151)&0xffffffff) +56, 16, 16)) -> intp(mask2tid(0x20),1,3)
6113xir_20_151:
6114 .word 0xa9813f32 ! 272: WR_SET_SOFTINT_I wr %r4, 0x1f32, %set_softint
6115 .word 0xe63fe0de ! 273: STD_I std %r19, [%r31 + 0x00de]
6116memptr_20_152:
6117 set 0x60340000, %r31
6118 .word 0x858327f0 ! 274: WRCCR_I wr %r12, 0x07f0, %ccr
6119br_badelay1_20_153:
6120 .word 0x97b404d3 ! 1: FCMPNE32 fcmpne32 %d16, %d50, %r11
6121 .word 0xd731c002 ! 1: STQF_R - %f11, [%r2, %r7]
6122 .word 0x3c800001 ! 1: BPOS bpos,a <label_0x1>
6123 normalw
6124 .word 0x93458000 ! 275: RD_SOFTINT_REG rd %softint, %r9
6125 .word 0x39400001 ! 276: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
6126 .word 0xe1bfdf20 ! 277: STDFA_R stda %f16, [%r0, %r31]
6127 .word 0xc19fe060 ! 278: LDDFA_I ldda [%r31, 0x0060], %f0
6128 .word 0xe1bfe040 ! 279: STDFA_I stda %f16, [0x0040, %r31]
6129 .word 0x91d020b5 ! 280: Tcc_I ta icc_or_xcc, %r0 + 181
6130 .word 0x9f80288c ! 281: SIR sir 0x088c
6131jmptr_20_154:
6132 nop
6133 best_set_reg(0xe1a00000, %r20, %r27)
6134 .word 0xb7c6c000 ! 282: JMPL_R jmpl %r27 + %r0, %r27
6135 nop
6136 ta T_CHANGE_HPRIV
6137 mov 0x20, %r10
6138 set sync_thr_counter2, %r23
6139 cas [%r23],%g0,%r10 !lock
6140 brnz %r10, sma_20_155
6141 rd %asi, %r12
6142 wr %g0, 0x40, %asi
6143 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
6144 set 0x000a1fff, %g1
6145 stxa %g1, [%g0 + 0x80] %asi
6146 wr %r12, %g0, %asi
6147 st %g0, [%r23]
6148sma_20_155:
6149 ta T_CHANGE_NONHPRIV
6150 .word 0xe9e7e011 ! 283: CASA_R casa [%r31] %asi, %r17, %r20
6151 .word 0xa9a00174 ! 284: FABSq dis not found
6152
6153mondo_20_156:
6154 nop
6155 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
6156 ta T_CHANGE_PRIV
6157 stxa %r7, [%r0+0x3c8] %asi
6158 .word 0x9d908012 ! 285: WRPR_WSTATE_R wrpr %r2, %r18, %wstate
6159 .word 0xc32fc000 ! 286: STXFSR_R st-sfr %f1, [%r0, %r31]
6160 .word 0xe1bfe0e0 ! 287: STDFA_I stda %f16, [0x00e0, %r31]
6161change_to_randtl_20_157:
6162 ta T_CHANGE_HPRIV ! macro
6163done_change_to_randtl_20_157:
6164 .word 0x8f902000 ! 288: WRPR_TL_I wrpr %r0, 0x0000, %tl
6165splash_decr_20_158:
6166 nop
6167 ta T_CHANGE_HPRIV
6168 mov 8, %r1
6169 stxa %r14, [%r1] 0x45
6170 .word 0xa7848002 ! 289: WR_GRAPHICS_STATUS_REG_R wr %r18, %r2, %-
6171 .word 0xe1bfe000 ! 290: STDFA_I stda %f16, [0x0000, %r31]
6172 .word 0xd86fe0dd ! 291: LDSTUB_I ldstub %r12, [%r31 + 0x00dd]
6173 .word 0xa3b44984 ! 292: BSHUFFLE fmovc32 %d48, %d4, %d48
6174memptr_20_160:
6175 set 0x60140000, %r31
6176 .word 0x85847173 ! 293: WRCCR_I wr %r17, 0x1173, %ccr
6177splash_hpstate_20_161:
6178 ta T_CHANGE_NONHPRIV
6179 .word 0x8198260d ! 294: WRHPR_HPSTATE_I wrhpr %r0, 0x060d, %hpstate
6180!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_20_162) + 48, 16, 16)) -> intp(2,0,29)
6181!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_20_162)&0xffffffff) + 48, 16, 16)) -> intp(2,0,29)
6182intvec_20_162:
6183 .word 0x39400001 ! 295: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
6184 .word 0xd0bfe0ca ! 296: STDA_I stda %r8, [%r31 + 0x00ca] %asi
6185 .word 0x93a00173 ! 297: FABSq dis not found
6186
6187splash_tba_20_163:
6188 ta T_CHANGE_PRIV
6189 setx 0x00000004003a0000, %r11, %r12
6190 .word 0x8b90000c ! 298: WRPR_TBA_R wrpr %r0, %r12, %tba
6191splash_tba_20_164:
6192 ta T_CHANGE_PRIV
6193 set 0x120000, %r12
6194 .word 0x8b90000c ! 299: WRPR_TBA_R wrpr %r0, %r12, %tba
6195 .word 0x8d903321 ! 300: WRPR_PSTATE_I wrpr %r0, 0x1321, %pstate
6196!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_20_166)+40, 16, 16)) -> intp(mask2tid(0x20),1,3)
6197!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_20_166)&0xffffffff) +40, 16, 16)) -> intp(mask2tid(0x20),1,3)
6198xir_20_166:
6199 .word 0xa9853bd4 ! 301: WR_SET_SOFTINT_I wr %r20, 0x1bd4, %set_softint
6200 nop
6201 nop
6202 ta T_CHANGE_PRIV
6203 wrpr %g0, %g0, %gl
6204 nop
6205 nop
6206 setx join_lbl_0_0, %g1, %g2
6207 jmp %g2
6208 nop
6209fork_lbl_0_5:
6210 ta T_CHANGE_NONHPRIV
6211splash_cmpr_10_0:
6212 nop
6213 setx 0xd0372537748f2db0, %l2, %l1
6214 ta T_CHANGE_HPRIV
6215 wrhpr %l1, %g0, %hsys_tick_cmpr
6216 ta T_CHANGE_NONHPRIV
6217 sub %l1, 40, %g1
6218 .word 0x89900011 ! 1: WRPR_TICK_R wrpr %r0, %r17, %tick
6219 .word 0x81510000 ! 2: RDPR_TICK rdpr %tick, %r0
6220 .word 0xe1bfde00 ! 3: STDFA_R stda %f16, [%r0, %r31]
6221 setx 0x23017f6304a446a1, %r1, %r28
6222 stxa %r28, [%g0] 0x73
6223intvec_10_1:
6224 .word 0x39400001 ! 4: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
6225 invalw
6226 mov 0xb4, %r30
6227 .word 0x83d0001e ! 5: Tcc_R te icc_or_xcc, %r0 + %r30
6228mondo_10_2:
6229 nop
6230 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
6231 ta T_CHANGE_PRIV
6232 stxa %r20, [%r0+0x3e0] %asi
6233 .word 0x9d950010 ! 6: WRPR_WSTATE_R wrpr %r20, %r16, %wstate
6234 ta T_CHANGE_NONPRIV ! macro
6235 .word 0xc1bfd960 ! 8: STDFA_R stda %f0, [%r0, %r31]
6236br_badelay2_10_3:
6237 .word 0x34800001 ! 1: BG bg,a <label_0x1>
6238 allclean
6239 .word 0xa3b4430d ! 9: ALIGNADDRESS alignaddr %r17, %r13, %r17
6240!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_10_4) + 8, 16, 16)) -> intp(2,0,25)
6241!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_10_4)&0xffffffff) + 8, 16, 16)) -> intp(2,0,25)
6242intvec_10_4:
6243 .word 0x39400001 ! 10: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
6244 .word 0xe477e0e1 ! 11: STX_I stx %r18, [%r31 + 0x00e1]
6245donret_10_5:
6246 nop
6247 ta T_CHANGE_HPRIV ! macro
6248 rd %pc, %r12
6249 add %r12, (donretarg_10_5-donret_10_5-4), %r12
6250 mov 0x38, %r18
6251 stxa %r12, [%r18]0x58
6252 add %r12, 0x4, %r11
6253 wrpr %g0, 0x2, %tl
6254 wrpr %g0, %r12, %tpc
6255 wrpr %g0, %r11, %tnpc
6256 set (0x005b4a7f | (0x83 << 24)), %r13
6257 rdpr %tstate, %r16
6258 mov 0x1f, %r19
6259 and %r19, %r16, %r17
6260 andn %r16, %r19, %r16
6261 or %r16, %r17, %r20
6262 wrpr %r20, %g0, %tstate
6263 wrhpr %g0, 0x484, %htstate
6264 ta T_CHANGE_NONHPRIV ! rand=1 (10)
6265 done
6266donretarg_10_5:
6267 .word 0xe4ffe04c ! 12: SWAPA_I swapa %r18, [%r31 + 0x004c] %asi
6268splash_cmpr_10_6:
6269 nop
6270 setx 0x5deaa7b8e106effe, %l2, %l1
6271 ta T_CHANGE_HPRIV
6272 wrhpr %l1, %g0, %hsys_tick_cmpr
6273 sub %l1, 40, %g1
6274 .word 0x89900011 ! 13: WRPR_TICK_R wrpr %r0, %r17, %tick
6275 .word 0xc3ea402a ! 14: PREFETCHA_R prefetcha [%r9, %r10] 0x01, #one_read
6276 otherw
6277 mov 0x30, %r30
6278 .word 0x83d0001e ! 15: Tcc_R te icc_or_xcc, %r0 + %r30
6279vahole_10_7:
6280 nop
6281 ta T_CHANGE_NONHPRIV
6282 setx vahole_target, %r18, %r27
6283 jmpl %r27+0, %r27
6284 .word 0xe697c032 ! 16: LDUHA_R lduha [%r31, %r18] 0x01, %r19
6285br_badelay2_10_8:
6286 .word 0x32800001 ! 1: BNE bne,a <label_0x1>
6287 pdist %f0, %f18, %f6
6288 .word 0xa1b50314 ! 17: ALIGNADDRESS alignaddr %r20, %r20, %r16
6289 .word 0xa3a00174 ! 18: FABSq dis not found
6290
6291 .word 0xb1800011 ! 19: WR_STICK_REG_R wr %r0, %r17, %-
6292 .word 0xad80f414 ! 20: WR_SOFTINT_REG_I wr %r3, 0x1414, %softint
6293 .word 0xd877c000 ! 21: STX_R stx %r12, [%r31 + %r0]
6294splash_tba_10_9:
6295 ta T_CHANGE_PRIV
6296 setx 0x0000000000380000, %r11, %r12
6297 .word 0x8b90000c ! 22: WRPR_TBA_R wrpr %r0, %r12, %tba
6298 .word 0xd89fe030 ! 23: LDDA_I ldda [%r31, + 0x0030] %asi, %r12
6299jmptr_10_10:
6300 nop
6301 best_set_reg(0xe0200000, %r20, %r27)
6302 .word 0xb7c6c000 ! 24: JMPL_R jmpl %r27 + %r0, %r27
6303mondo_10_11:
6304 nop
6305 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
6306 ta T_CHANGE_PRIV
6307 stxa %r11, [%r0+0x3d0] %asi
6308 .word 0x9d940014 ! 25: WRPR_WSTATE_R wrpr %r16, %r20, %wstate
6309 .word 0x91a4c9d3 ! 26: FDIVd fdivd %f50, %f50, %f8
6310!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_10_12)+8, 16, 16)) -> intp(mask2tid(0x10),1,3)
6311!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_10_12)&0xffffffff) +8, 16, 16)) -> intp(mask2tid(0x10),1,3)
6312xir_10_12:
6313 .word 0xa980afec ! 27: WR_SET_SOFTINT_I wr %r2, 0x0fec, %set_softint
6314 .word 0x9f802d70 ! 28: SIR sir 0x0d70
6315intveclr_10_13:
6316 nop
6317 ta T_CHANGE_HPRIV
6318 setx 0xd77a5ec141b77ddf, %r1, %r28
6319 stxa %r28, [%g0] 0x72
6320 ta T_CHANGE_NONHPRIV
6321 .word 0x25400001 ! 29: FBPLG fblg,a,pn %fcc0, <label_0x1>
6322brcommon_10_14:
6323 ba,a .+12
6324 mov %r31, %r15
6325 ba,a .+8
6326 call common_target
6327 .word 0xe91fc011 ! 30: LDDF_R ldd [%r31, %r17], %f20
6328 nop
6329 ta T_CHANGE_HPRIV
6330 mov 0x10+1, %r10
6331 set sync_thr_counter1, %r23
6332 cas [%r23],%g0,%r10 !lock
6333 brnz %r10, cwq_10_15
6334 rd %asi, %r12
6335 wr %g0, 0x40, %asi
6336 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
6337 and %l1, 0x3, %l1 ! Check if busy/enabled ..
6338 cmp %l1, 1
6339 bne cwq_10_15
6340 set CWQ_BASE, %l6
6341 best_set_reg(0x20610040, %l1, %l2) !# Control Word
6342 sllx %l2, 32, %l2
6343 stx %l2, [%l6 + 0x0]
6344 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
6345 sub %l2, 0x40, %l2
6346 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
6347 wr %r12, %g0, %asi
6348 st %g0, [%r23]
6349cwq_10_15:
6350 ta T_CHANGE_NONHPRIV
6351 .word 0xa9414000 ! 31: RDPC rd %pc, %r20
6352 nop
6353 ta T_CHANGE_HPRIV
6354 mov 0x10, %r10
6355 set sync_thr_counter2, %r23
6356 cas [%r23],%g0,%r10 !lock
6357 brnz %r10, sma_10_16
6358 rd %asi, %r12
6359 wr %g0, 0x40, %asi
6360 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
6361 set 0x000a1fff, %g1
6362 stxa %g1, [%g0 + 0x80] %asi
6363 wr %r12, %g0, %asi
6364 st %g0, [%r23]
6365sma_10_16:
6366 ta T_CHANGE_NONHPRIV
6367 .word 0xd3e7e011 ! 32: CASA_R casa [%r31] %asi, %r17, %r9
6368splash_cmpr_10_17:
6369 nop
6370 setx 0x817067d6f056bd5a, %l2, %l1
6371 ta T_CHANGE_PRIV
6372 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
6373 ta T_CHANGE_NONPRIV
6374 sub %l1, 40, %g1
6375 .word 0x89900011 ! 33: WRPR_TICK_R wrpr %r0, %r17, %tick
6376!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_10_18) + 40, 16, 16)) -> intp(3,0,17)
6377!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_10_18)&0xffffffff) + 40, 16, 16)) -> intp(3,0,17)
6378intvec_10_18:
6379 .word 0x39400001 ! 34: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
6380 .word 0xd26fe05c ! 35: LDSTUB_I ldstub %r9, [%r31 + 0x005c]
6381splash_hpstate_10_19:
6382 .word 0x819829d4 ! 36: WRHPR_HPSTATE_I wrhpr %r0, 0x09d4, %hpstate
6383br_longdelay1_10_20:
6384 .word 0x2f400001 ! 1: FBPU fbu,a,pn %fcc0, <label_0x1>
6385 .word 0x9d97c000 ! 37: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
6386 nop
6387 mov 0x80, %g3
6388 stxa %g3, [%g3] 0x5f
6389 .word 0xd25fc000 ! 38: LDX_R ldx [%r31 + %r0], %r9
6390 .word 0xd23fc000 ! 39: STD_R std %r9, [%r31 + %r0]
6391!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_10_21)+56, 16, 16)) -> intp(mask2tid(0x10),1,3)
6392!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_10_21)&0xffffffff) +56, 16, 16)) -> intp(mask2tid(0x10),1,3)
6393xir_10_21:
6394 .word 0xa981f02f ! 40: WR_SET_SOFTINT_I wr %r7, 0x102f, %set_softint
6395splash_hpstate_10_22:
6396 ta T_CHANGE_NONHPRIV
6397 .word 0x81982157 ! 41: WRHPR_HPSTATE_I wrhpr %r0, 0x0157, %hpstate
6398 .word 0xc3ea8032 ! 42: PREFETCHA_R prefetcha [%r10, %r18] 0x01, #one_read
6399splash_tba_10_23:
6400 ta T_CHANGE_PRIV
6401 setx 0x0000000000380000, %r11, %r12
6402 .word 0x8b90000c ! 43: WRPR_TBA_R wrpr %r0, %r12, %tba
6403splash_cmpr_10_24:
6404 nop
6405 setx 0x48a9ab6858c438e3, %l2, %l1
6406 ta T_CHANGE_HPRIV
6407 wrhpr %l1, %g0, %hsys_tick_cmpr
6408 ta T_CHANGE_NONHPRIV
6409 sub %l1, 40, %g1
6410 .word 0x89900011 ! 44: WRPR_TICK_R wrpr %r0, %r17, %tick
6411br_longdelay1_10_25:
6412 .word 0x22800001 ! 1: BE be,a <label_0x1>
6413 .word 0xbfefc000 ! 45: RESTORE_R restore %r31, %r0, %r31
6414mondo_10_26:
6415 nop
6416 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
6417 stxa %r19, [%r0+0x3c8] %asi
6418 .word 0x9d934014 ! 46: WRPR_WSTATE_R wrpr %r13, %r20, %wstate
6419 otherw
6420 mov 0x35, %r30
6421 .word 0x91d0001e ! 47: Tcc_R ta icc_or_xcc, %r0 + %r30
6422 .word 0xa9810013 ! 48: WR_SET_SOFTINT_R wr %r4, %r19, %set_softint
6423 nop
6424 ta T_CHANGE_HPRIV
6425 mov 0x10, %r10
6426 set sync_thr_counter2, %r23
6427 cas [%r23],%g0,%r10 !lock
6428 brnz %r10, sma_10_27
6429 rd %asi, %r12
6430 wr %g0, 0x40, %asi
6431 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
6432 set 0x000a1fff, %g1
6433 stxa %g1, [%g0 + 0x80] %asi
6434 wr %r12, %g0, %asi
6435 st %g0, [%r23]
6436sma_10_27:
6437 ta T_CHANGE_NONHPRIV
6438 .word 0xe9e7e013 ! 49: CASA_R casa [%r31] %asi, %r19, %r20
6439 .word 0xe86fe05b ! 50: LDSTUB_I ldstub %r20, [%r31 + 0x005b]
6440 invalw
6441 mov 0x30, %r30
6442 .word 0x91d0001e ! 51: Tcc_R ta icc_or_xcc, %r0 + %r30
6443pmu_10_28:
6444 nop
6445 ta T_CHANGE_PRIV
6446 setx 0xfffff5a3fffff552, %g1, %g7
6447 .word 0xa3800007 ! 52: WR_PERF_COUNTER_R wr %r0, %r7, %-
6448dvapa_10_29:
6449 nop
6450 ta T_CHANGE_HPRIV
6451 mov 0xae0, %r20
6452 mov 0xd, %r19
6453 sllx %r20, 23, %r20
6454 or %r19, %r20, %r19
6455 stxa %r19, [%g0] ASI_LSU_CONTROL
6456 mov 0x38, %r18
6457 stxa %r31, [%r18]0x58
6458 ta T_CHANGE_NONHPRIV
6459 .word 0xe93fc013 ! 53: STDF_R std %f20, [%r19, %r31]
6460 .word 0xc19fde00 ! 54: LDDFA_R ldda [%r31, %r0], %f0
6461fpinit_10_30:
6462 setx fp_data_quads, %r19, %r20
6463 ldd [%r20], %f0
6464 ldd [%r20+8], %f4
6465 ld [%r20+16], %fsr
6466 ld [%r20+24], %r19
6467 wr %r19, %g0, %gsr
6468 .word 0x89b00484 ! 55: FCMPLE32 fcmple32 %d0, %d4, %r4
6469 setx 0x82cf11d338775f47, %r1, %r28
6470 stxa %r28, [%g0] 0x73
6471intvec_10_31:
6472 .word 0x39400001 ! 56: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
6473 invalw
6474 mov 0x35, %r30
6475 .word 0x91d0001e ! 57: Tcc_R ta icc_or_xcc, %r0 + %r30
6476br_longdelay4_10_32:
6477 nop
6478 not %g0, %r12
6479 jmp %r12
6480 .word 0x9d902005 ! 58: WRPR_WSTATE_I wrpr %r0, 0x0005, %wstate
6481 .word 0xa3a2c9d4 ! 59: FDIVd fdivd %f42, %f20, %f48
6482 setx 0xa6e5e2d5f6ca982b, %r1, %r28
6483 stxa %r28, [%g0] 0x73
6484intvec_10_33:
6485 .word 0x39400001 ! 60: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
6486mondo_10_34:
6487 nop
6488 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
6489 ta T_CHANGE_PRIV
6490 stxa %r20, [%r0+0x3c8] %asi
6491 .word 0x9d94c003 ! 61: WRPR_WSTATE_R wrpr %r19, %r3, %wstate
6492 nop
6493 ta T_CHANGE_HPRIV
6494 mov 0x10, %r10
6495 set sync_thr_counter2, %r23
6496 cas [%r23],%g0,%r10 !lock
6497 brnz %r10, sma_10_35
6498 rd %asi, %r12
6499 wr %g0, 0x40, %asi
6500 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
6501 set 0x00121fff, %g1
6502 stxa %g1, [%g0 + 0x80] %asi
6503 wr %r12, %g0, %asi
6504 st %g0, [%r23]
6505sma_10_35:
6506 ta T_CHANGE_NONHPRIV
6507 .word 0xd1e7e00a ! 62: CASA_R casa [%r31] %asi, %r10, %r8
6508splash_decr_10_36:
6509 nop
6510 ta T_CHANGE_HPRIV
6511 mov 8, %r1
6512 stxa %r13, [%r1] 0x45
6513 .word 0xa7834012 ! 63: WR_GRAPHICS_STATUS_REG_R wr %r13, %r18, %-
6514 .word 0x9f803f6b ! 64: SIR sir 0x1f6b
6515 .word 0xd08fe010 ! 65: LDUBA_I lduba [%r31, + 0x0010] %asi, %r8
6516 .word 0xd03fc000 ! 66: STD_R std %r8, [%r31 + %r0]
6517 .word 0xc32fc000 ! 67: STXFSR_R st-sfr %f1, [%r0, %r31]
6518 .word 0xd0800b00 ! 68: LDUWA_R lduwa [%r0, %r0] 0x58, %r8
6519change_to_randtl_10_37:
6520 ta T_CHANGE_HPRIV ! macro
6521done_change_to_randtl_10_37:
6522 .word 0x8f902000 ! 69: WRPR_TL_I wrpr %r0, 0x0000, %tl
6523dvapa_10_38:
6524 nop
6525 ta T_CHANGE_HPRIV
6526 mov 0xaa4, %r20
6527 mov 0xe, %r19
6528 sllx %r20, 23, %r20
6529 or %r19, %r20, %r19
6530 stxa %r19, [%g0] ASI_LSU_CONTROL
6531 mov 0x38, %r18
6532 stxa %r31, [%r18]0x58
6533 ta T_CHANGE_NONHPRIV
6534 .word 0xd0dfc024 ! 70: LDXA_R ldxa [%r31, %r4] 0x01, %r8
6535intveclr_10_39:
6536 nop
6537 ta T_CHANGE_HPRIV
6538 setx 0xe8a46581e8786e31, %r1, %r28
6539 stxa %r28, [%g0] 0x72
6540 .word 0x25400001 ! 71: FBPLG fblg,a,pn %fcc0, <label_0x1>
6541mondo_10_40:
6542 nop
6543 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
6544 stxa %r19, [%r0+0x3c8] %asi
6545 .word 0x9d908011 ! 72: WRPR_WSTATE_R wrpr %r2, %r17, %wstate
6546 .word 0x91924010 ! 73: WRPR_PIL_R wrpr %r9, %r16, %pil
6547!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_10_42) + 16, 16, 16)) -> intp(1,0,5)
6548!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_10_42)&0xffffffff) + 16, 16, 16)) -> intp(1,0,5)
6549intvec_10_42:
6550 .word 0x39400001 ! 74: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
6551 .word 0x95b407cb ! 75: PDIST pdistn %d16, %d42, %d10
6552br_longdelay2_10_43:
6553 .word 0x2f400001 ! 1: FBPU fbu,a,pn %fcc0, <label_0x1>
6554 .word 0xc36a6199 ! 76: PREFETCH_I prefetch [%r9 + 0x0199], #one_read
6555splash_cmpr_10_44:
6556 nop
6557 setx 0xdc7f480b85f86251, %l2, %l1
6558 ta T_CHANGE_HPRIV
6559 wrhpr %l1, %g0, %hsys_tick_cmpr
6560 sub %l1, 40, %g1
6561 .word 0x89900011 ! 77: WRPR_TICK_R wrpr %r0, %r17, %tick
6562 nop
6563 ta T_CHANGE_HPRIV
6564 mov 0x10, %r10
6565 set sync_thr_counter2, %r23
6566 cas [%r23],%g0,%r10 !lock
6567 brnz %r10, sma_10_45
6568 rd %asi, %r12
6569 wr %g0, 0x40, %asi
6570 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
6571 set 0x000a1fff, %g1
6572 stxa %g1, [%g0 + 0x80] %asi
6573 wr %r12, %g0, %asi
6574 st %g0, [%r23]
6575sma_10_45:
6576 ta T_CHANGE_NONHPRIV
6577 .word 0xe3e7e005 ! 78: CASA_R casa [%r31] %asi, %r5, %r17
6578 .word 0x2ccc0001 ! 1: BRGZ brgz,a,pt %r16,<label_0xc0001>
6579 .word 0x8d903062 ! 79: WRPR_PSTATE_I wrpr %r0, 0x1062, %pstate
6580 nop
6581 ta T_CHANGE_HPRIV
6582 mov 0x10+1, %r10
6583 set sync_thr_counter1, %r23
6584 cas [%r23],%g0,%r10 !lock
6585 brnz %r10, cwq_10_47
6586 rd %asi, %r12
6587 wr %g0, 0x40, %asi
6588 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
6589 and %l1, 0x3, %l1 ! Check if busy/enabled ..
6590 cmp %l1, 1
6591 bne cwq_10_47
6592 set CWQ_BASE, %l6
6593 best_set_reg(0x20610000, %l1, %l2) !# Control Word
6594 sllx %l2, 32, %l2
6595 stx %l2, [%l6 + 0x0]
6596 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
6597 sub %l2, 0x40, %l2
6598 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
6599 wr %r12, %g0, %asi
6600 st %g0, [%r23]
6601cwq_10_47:
6602 ta T_CHANGE_NONHPRIV
6603 .word 0xa7414000 ! 80: RDPC rd %pc, %r19
6604!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_10_48)+8, 16, 16)) -> intp(mask2tid(0x10),1,3)
6605!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_10_48)&0xffffffff) +8, 16, 16)) -> intp(mask2tid(0x10),1,3)
6606xir_10_48:
6607 .word 0xa982e124 ! 81: WR_SET_SOFTINT_I wr %r11, 0x0124, %set_softint
6608 .word 0x9192c001 ! 82: WRPR_PIL_R wrpr %r11, %r1, %pil
6609intveclr_10_50:
6610 nop
6611 ta T_CHANGE_HPRIV
6612 setx 0x329a004c7a2b11fb, %r1, %r28
6613 stxa %r28, [%g0] 0x72
6614 ta T_CHANGE_NONHPRIV
6615 .word 0x25400001 ! 83: FBPLG fblg,a,pn %fcc0, <label_0x1>
6616mondo_10_51:
6617 nop
6618 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
6619 stxa %r6, [%r0+0x3d0] %asi
6620 .word 0x9d94c010 ! 84: WRPR_WSTATE_R wrpr %r19, %r16, %wstate
6621splash_hpstate_10_52:
6622 .word 0x81982edc ! 85: WRHPR_HPSTATE_I wrhpr %r0, 0x0edc, %hpstate
6623 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
6624reduce_priv_lvl_10_53:
6625 ta T_CHANGE_NONHPRIV ! macro
6626ibp_10_54:
6627 nop
6628 ta T_CHANGE_HPRIV
6629 mov 8, %r18
6630 rd %asi, %r12
6631 wr %r0, 0x41, %asi
6632 set sync_thr_counter, %r23
6633 mov 0x10, %r16
6634ibp_startwait10_54:
6635 cas [%r23],%g0,%r16 !lock
6636 brz,a %r16, continue_ibp_10_54
6637 mov (~0x10&0xf0), %r16
6638 ld [%r23], %r16
6639ibp_wait10_54:
6640 brnz %r16, ibp_wait10_54
6641 ld [%r23], %r16
6642 ba,a ibp_startwait10_54
6643 mov 0x10, %r16
6644continue_ibp_10_54:
6645 ldxa [%g0]0x63, %r14 !Get raw TID
6646 srlx %r14, 3, %r14 !Get CID
6647 sllx %r16, %r14, %r16 !Mask for my core only
6648 ldxa [0x58]%asi, %r17 !Running_status
6649wait_for_stat_10_54:
6650 ldxa [0x50]%asi, %r13 !Running_rw
6651 cmp %r13, %r17
6652 bne,a wait_for_stat_10_54
6653 ldxa [0x58]%asi, %r17 !Running_status
6654 stxa %r16, [0x68]%asi
6655 ldxa [0x50]%asi, %r14 !Running_rw
6656wait_for_ibp_10_54:
6657 ldxa [0x58]%asi, %r17 !Running_status
6658 cmp %r14, %r17
6659 bne,a wait_for_ibp_10_54
6660 ldxa [0x50]%asi, %r14 !Running_rw
6661ibp_doit10_54:
6662 best_set_reg(0x00000050b0c00048,%r19, %r20)
6663 stxa %r20, [%r18]0x42
6664 stxa %r13, [0x50] %asi ! Running_rw
6665 st %g0, [%r23] !clear lock
6666 wr %r0, %r12, %asi ! restore %asi
6667 ta T_CHANGE_NONHPRIV
6668 .word 0xda9fc028 ! 87: LDDA_R ldda [%r31, %r8] 0x01, %r13
6669splash_hpstate_10_55:
6670 ta T_CHANGE_NONHPRIV
6671 .word 0x81982c47 ! 88: WRHPR_HPSTATE_I wrhpr %r0, 0x0c47, %hpstate
6672 .word 0x87ab0a52 ! 89: FCMPd fcmpd %fcc<n>, %f12, %f18
6673 .word 0xdb27c000 ! 90: STF_R st %f13, [%r0, %r31]
6674splash_tba_10_56:
6675 ta T_CHANGE_PRIV
6676 set 0x120000, %r12
6677 .word 0x8b90000c ! 91: WRPR_TBA_R wrpr %r0, %r12, %tba
6678fpinit_10_57:
6679 setx fp_data_quads, %r19, %r20
6680 ldd [%r20], %f0
6681 ldd [%r20+8], %f4
6682 ld [%r20+16], %fsr
6683 ld [%r20+24], %r19
6684 wr %r19, %g0, %gsr
6685 .word 0x8da009c4 ! 92: FDIVd fdivd %f0, %f4, %f6
6686!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_10_58) + 48, 16, 16)) -> intp(2,0,22)
6687!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_10_58)&0xffffffff) + 48, 16, 16)) -> intp(2,0,22)
6688intvec_10_58:
6689 .word 0x39400001 ! 93: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
6690intveclr_10_59:
6691 nop
6692 ta T_CHANGE_HPRIV
6693 setx 0xd2ab0885f94dcb09, %r1, %r28
6694 stxa %r28, [%g0] 0x72
6695 .word 0x25400001 ! 94: FBPLG fblg,a,pn %fcc0, <label_0x1>
6696 .word 0xc19fda00 ! 95: LDDFA_R ldda [%r31, %r0], %f0
6697 .word 0x91d020b2 ! 96: Tcc_I ta icc_or_xcc, %r0 + 178
6698 nop
6699 ta T_CHANGE_HPRIV
6700 mov 0x10+1, %r10
6701 set sync_thr_counter1, %r23
6702 cas [%r23],%g0,%r10 !lock
6703 brnz %r10, cwq_10_60
6704 rd %asi, %r12
6705 wr %g0, 0x40, %asi
6706 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
6707 and %l1, 0x3, %l1 ! Check if busy/enabled ..
6708 cmp %l1, 1
6709 bne cwq_10_60
6710 set CWQ_BASE, %l6
6711 best_set_reg(0x20610060, %l1, %l2) !# Control Word
6712 sllx %l2, 32, %l2
6713 stx %l2, [%l6 + 0x0]
6714 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
6715 sub %l2, 0x40, %l2
6716 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
6717 wr %r12, %g0, %asi
6718 st %g0, [%r23]
6719cwq_10_60:
6720 ta T_CHANGE_NONHPRIV
6721 .word 0xa5414000 ! 97: RDPC rd %pc, %r18
6722memptr_10_61:
6723 set 0x60140000, %r31
6724 .word 0x85852d7b ! 98: WRCCR_I wr %r20, 0x0d7b, %ccr
6725mondo_10_62:
6726 nop
6727 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
6728 ta T_CHANGE_PRIV
6729 stxa %r18, [%r0+0x3e0] %asi
6730 .word 0x9d90400a ! 99: WRPR_WSTATE_R wrpr %r1, %r10, %wstate
6731 .word 0x91d020b2 ! 100: Tcc_I ta icc_or_xcc, %r0 + 178
6732ibp_10_63:
6733 nop
6734 ta T_CHANGE_HPRIV
6735 mov 8, %r18
6736 rd %asi, %r12
6737 wr %r0, 0x41, %asi
6738 set sync_thr_counter, %r23
6739 mov 0x10, %r16
6740ibp_startwait10_63:
6741 cas [%r23],%g0,%r16 !lock
6742 brz,a %r16, continue_ibp_10_63
6743 mov (~0x10&0xf0), %r16
6744 ld [%r23], %r16
6745ibp_wait10_63:
6746 brnz %r16, ibp_wait10_63
6747 ld [%r23], %r16
6748 ba,a ibp_startwait10_63
6749 mov 0x10, %r16
6750continue_ibp_10_63:
6751 ldxa [%g0]0x63, %r14 !Get raw TID
6752 srlx %r14, 3, %r14 !Get CID
6753 sllx %r16, %r14, %r16 !Mask for my core only
6754 ldxa [0x58]%asi, %r17 !Running_status
6755wait_for_stat_10_63:
6756 ldxa [0x50]%asi, %r13 !Running_rw
6757 cmp %r13, %r17
6758 bne,a wait_for_stat_10_63
6759 ldxa [0x58]%asi, %r17 !Running_status
6760 stxa %r16, [0x68]%asi
6761 ldxa [0x50]%asi, %r14 !Running_rw
6762wait_for_ibp_10_63:
6763 ldxa [0x58]%asi, %r17 !Running_status
6764 cmp %r14, %r17
6765 bne,a wait_for_ibp_10_63
6766 ldxa [0x50]%asi, %r14 !Running_rw
6767ibp_doit10_63:
6768 best_set_reg(0x000000509fc04802,%r19, %r20)
6769 stxa %r20, [%r18]0x42
6770 stxa %r13, [0x50] %asi ! Running_rw
6771 st %g0, [%r23] !clear lock
6772 wr %r0, %r12, %asi ! restore %asi
6773 .word 0xc32fc011 ! 101: STXFSR_R st-sfr %f1, [%r17, %r31]
6774 .word 0xc1bfe000 ! 102: STDFA_I stda %f0, [0x0000, %r31]
6775!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_10_64)+0, 16, 16)) -> intp(mask2tid(0x10),1,3)
6776!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_10_64)&0xffffffff) +0, 16, 16)) -> intp(mask2tid(0x10),1,3)
6777xir_10_64:
6778 .word 0xa9826d58 ! 103: WR_SET_SOFTINT_I wr %r9, 0x0d58, %set_softint
6779 .word 0xc1bfd920 ! 104: STDFA_R stda %f0, [%r0, %r31]
6780 .word 0xc19fd920 ! 105: LDDFA_R ldda [%r31, %r0], %f0
6781 .word 0x20700001 ! 106: BPN <illegal instruction>
6782jmptr_10_65:
6783 nop
6784 best_set_reg(0xe0200000, %r20, %r27)
6785 .word 0xb7c6c000 ! 107: JMPL_R jmpl %r27 + %r0, %r27
6786 .word 0xe06fe085 ! 108: LDSTUB_I ldstub %r16, [%r31 + 0x0085]
6787 .word 0xb1800011 ! 109: WR_STICK_REG_R wr %r0, %r17, %-
6788fpinit_10_66:
6789 setx fp_data_quads, %r19, %r20
6790 ldd [%r20], %f0
6791 ldd [%r20+8], %f4
6792 ld [%r20+16], %fsr
6793 ld [%r20+24], %r19
6794 wr %r19, %g0, %gsr
6795 .word 0x87a80a44 ! 110: FCMPd fcmpd %fcc<n>, %f0, %f4
6796 .word 0xe19fd960 ! 111: LDDFA_R ldda [%r31, %r0], %f16
6797 nop
6798 ta T_CHANGE_HPRIV
6799 mov 0x10+1, %r10
6800 set sync_thr_counter1, %r23
6801 cas [%r23],%g0,%r10 !lock
6802 brnz %r10, cwq_10_67
6803 rd %asi, %r12
6804 wr %g0, 0x40, %asi
6805 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
6806 and %l1, 0x3, %l1 ! Check if busy/enabled ..
6807 cmp %l1, 1
6808 bne cwq_10_67
6809 set CWQ_BASE, %l6
6810 best_set_reg(0x20610070, %l1, %l2) !# Control Word
6811 sllx %l2, 32, %l2
6812 stx %l2, [%l6 + 0x0]
6813 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
6814 sub %l2, 0x40, %l2
6815 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
6816 wr %r12, %g0, %asi
6817 st %g0, [%r23]
6818cwq_10_67:
6819 ta T_CHANGE_NONHPRIV
6820 .word 0x93414000 ! 112: RDPC rd %pc, %r9
6821 .word 0xa3a0016d ! 113: FABSq dis not found
6822
6823 .word 0x91450000 ! 114: RD_SET_SOFTINT rd %set_softint, %r8
6824 .word 0xc19fdc00 ! 115: LDDFA_R ldda [%r31, %r0], %f0
6825pmu_10_68:
6826 nop
6827 ta T_CHANGE_PRIV
6828 setx 0xfffff5acfffff0a8, %g1, %g7
6829 .word 0xa3800007 ! 116: WR_PERF_COUNTER_R wr %r0, %r7, %-
6830 nop
6831 ta T_CHANGE_HPRIV
6832 mov 0x10+1, %r10
6833 set sync_thr_counter1, %r23
6834 cas [%r23],%g0,%r10 !lock
6835 brnz %r10, cwq_10_69
6836 rd %asi, %r12
6837 wr %g0, 0x40, %asi
6838 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
6839 and %l1, 0x3, %l1 ! Check if busy/enabled ..
6840 cmp %l1, 1
6841 bne cwq_10_69
6842 set CWQ_BASE, %l6
6843 best_set_reg(0x20610040, %l1, %l2) !# Control Word
6844 sllx %l2, 32, %l2
6845 stx %l2, [%l6 + 0x0]
6846 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
6847 sub %l2, 0x40, %l2
6848 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
6849 wr %r12, %g0, %asi
6850 st %g0, [%r23]
6851cwq_10_69:
6852 ta T_CHANGE_NONHPRIV
6853 .word 0x9b414000 ! 117: RDPC rd %pc, %r13
6854splash_hpstate_10_70:
6855 .word 0x25400001 ! 1: FBPLG fblg,a,pn %fcc0, <label_0x1>
6856 .word 0x819825d7 ! 118: WRHPR_HPSTATE_I wrhpr %r0, 0x05d7, %hpstate
6857 nop
6858 ta T_CHANGE_HPRIV
6859 mov 0x10, %r10
6860 set sync_thr_counter2, %r23
6861 cas [%r23],%g0,%r10 !lock
6862 brnz %r10, sma_10_71
6863 rd %asi, %r12
6864 wr %g0, 0x40, %asi
6865 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
6866 set 0x000e1fff, %g1
6867 stxa %g1, [%g0 + 0x80] %asi
6868 wr %r12, %g0, %asi
6869 st %g0, [%r23]
6870sma_10_71:
6871 ta T_CHANGE_NONHPRIV
6872 .word 0xe3e7e00d ! 119: CASA_R casa [%r31] %asi, %r13, %r17
6873 .word 0xe2d7e038 ! 120: LDSHA_I ldsha [%r31, + 0x0038] %asi, %r17
6874 .word 0x9f80339c ! 121: SIR sir 0x139c
6875 .word 0x9f80380f ! 122: SIR sir 0x180f
6876tagged_10_72:
6877 tsubcctv %r18, 0x1384, %r5
6878 .word 0xe207e05c ! 123: LDUW_I lduw [%r31 + 0x005c], %r17
6879pmu_10_73:
6880 nop
6881 ta T_CHANGE_PRIV
6882 setx 0xfffffdeefffff69c, %g1, %g7
6883 .word 0xa3800007 ! 124: WR_PERF_COUNTER_R wr %r0, %r7, %-
6884mondo_10_74:
6885 nop
6886 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
6887 stxa %r4, [%r0+0x3c8] %asi
6888 .word 0x9d924001 ! 125: WRPR_WSTATE_R wrpr %r9, %r1, %wstate
6889 .word 0xe26fe09f ! 126: LDSTUB_I ldstub %r17, [%r31 + 0x009f]
6890 .word 0xe31fc000 ! 127: LDDF_R ldd [%r31, %r0], %f17
6891 .word 0xe227e01d ! 128: STW_I stw %r17, [%r31 + 0x001d]
6892intveclr_10_75:
6893 nop
6894 ta T_CHANGE_HPRIV
6895 setx 0xe1539ab75fcc1a39, %r1, %r28
6896 stxa %r28, [%g0] 0x72
6897 .word 0x25400001 ! 129: FBPLG fblg,a,pn %fcc0, <label_0x1>
6898 .word 0xe22fe020 ! 130: STB_I stb %r17, [%r31 + 0x0020]
6899!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_10_76)+48, 16, 16)) -> intp(mask2tid(0x10),1,3)
6900!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_10_76)&0xffffffff) +48, 16, 16)) -> intp(mask2tid(0x10),1,3)
6901xir_10_76:
6902 .word 0xa981beee ! 131: WR_SET_SOFTINT_I wr %r6, 0x1eee, %set_softint
6903 .word 0xe337e050 ! 132: STQF_I - %f17, [0x0050, %r31]
6904 .word 0xe337c000 ! 133: STQF_R - %f17, [%r0, %r31]
6905 .word 0xe327e042 ! 134: STF_I st %f17, [0x0042, %r31]
6906jmptr_10_77:
6907 nop
6908 best_set_reg(0xe0200000, %r20, %r27)
6909 .word 0xb7c6c000 ! 135: JMPL_R jmpl %r27 + %r0, %r27
6910pmu_10_78:
6911 nop
6912 ta T_CHANGE_PRIV
6913 setx 0xfffff475fffffe51, %g1, %g7
6914 .word 0xa3800007 ! 136: WR_PERF_COUNTER_R wr %r0, %r7, %-
6915dvapa_10_79:
6916 nop
6917 ta T_CHANGE_HPRIV
6918 mov 0x97c, %r20
6919 mov 0x19, %r19
6920 sllx %r20, 23, %r20
6921 or %r19, %r20, %r19
6922 stxa %r19, [%g0] ASI_LSU_CONTROL
6923 mov 0x38, %r18
6924 stxa %r31, [%r18]0x58
6925 ta T_CHANGE_NONHPRIV
6926 .word 0xe31fc011 ! 137: LDDF_R ldd [%r31, %r17], %f17
6927 .word 0xc19fd920 ! 138: LDDFA_R ldda [%r31, %r0], %f0
6928mondo_10_80:
6929 nop
6930 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
6931 stxa %r18, [%r0+0x3d0] %asi
6932 .word 0x9d90c010 ! 139: WRPR_WSTATE_R wrpr %r3, %r16, %wstate
6933 .word 0x8d802000 ! 140: WRFPRS_I wr %r0, 0x0000, %fprs
6934mondo_10_81:
6935 nop
6936 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
6937 stxa %r11, [%r0+0x3d0] %asi
6938 .word 0x9d940002 ! 141: WRPR_WSTATE_R wrpr %r16, %r2, %wstate
6939pmu_10_82:
6940 nop
6941 ta T_CHANGE_PRIV
6942 setx 0xfffff4cafffff6aa, %g1, %g7
6943 .word 0xa3800007 ! 142: WR_PERF_COUNTER_R wr %r0, %r7, %-
6944 .word 0x95b50493 ! 143: FCMPLE32 fcmple32 %d20, %d50, %r10
6945!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_10_83)+32, 16, 16)) -> intp(mask2tid(0x10),1,3)
6946!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_10_83)&0xffffffff) +32, 16, 16)) -> intp(mask2tid(0x10),1,3)
6947xir_10_83:
6948 .word 0xa98225d8 ! 144: WR_SET_SOFTINT_I wr %r8, 0x05d8, %set_softint
6949cwp_10_84:
6950 set user_data_start, %o7
6951 .word 0x93902005 ! 145: WRPR_CWP_I wrpr %r0, 0x0005, %cwp
6952intveclr_10_85:
6953 nop
6954 ta T_CHANGE_HPRIV
6955 setx 0x813bbbb804e9900b, %r1, %r28
6956 stxa %r28, [%g0] 0x72
6957 ta T_CHANGE_NONHPRIV
6958 .word 0x25400001 ! 146: FBPLG fblg,a,pn %fcc0, <label_0x1>
6959 nop
6960 ta T_CHANGE_HPRIV
6961 mov 0x10, %r10
6962 set sync_thr_counter2, %r23
6963 cas [%r23],%g0,%r10 !lock
6964 brnz %r10, sma_10_86
6965 rd %asi, %r12
6966 wr %g0, 0x40, %asi
6967 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
6968 set 0x00121fff, %g1
6969 stxa %g1, [%g0 + 0x80] %asi
6970 wr %r12, %g0, %asi
6971 st %g0, [%r23]
6972sma_10_86:
6973 ta T_CHANGE_NONHPRIV
6974 .word 0xd9e7e011 ! 147: CASA_R casa [%r31] %asi, %r17, %r12
6975 .word 0x97a00161 ! 148: FABSq dis not found
6976
6977 .word 0xa17021c9 ! 149: POPC_I popc 0x01c9, %r16
6978 nop
6979 ta T_CHANGE_HPRIV
6980 mov 0x10, %r10
6981 set sync_thr_counter2, %r23
6982 cas [%r23],%g0,%r10 !lock
6983 brnz %r10, sma_10_87
6984 rd %asi, %r12
6985 wr %g0, 0x40, %asi
6986 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
6987 set 0x00121fff, %g1
6988 stxa %g1, [%g0 + 0x80] %asi
6989 wr %r12, %g0, %asi
6990 st %g0, [%r23]
6991sma_10_87:
6992 ta T_CHANGE_NONHPRIV
6993 .word 0xdbe7e011 ! 150: CASA_R casa [%r31] %asi, %r17, %r13
6994 .word 0x91948010 ! 151: WRPR_PIL_R wrpr %r18, %r16, %pil
6995 .word 0xe19fdb60 ! 152: LDDFA_R ldda [%r31, %r0], %f16
6996 .word 0x3c700001 ! 153: BPPOS <illegal instruction>
6997 .word 0xda27e0d0 ! 154: STW_I stw %r13, [%r31 + 0x00d0]
6998pmu_10_89:
6999 nop
7000 ta T_CHANGE_PRIV
7001 setx 0xfffff2befffff11d, %g1, %g7
7002 .word 0xa3800007 ! 155: WR_PERF_COUNTER_R wr %r0, %r7, %-
7003 nop
7004 ta T_CHANGE_HPRIV
7005 mov 0x10, %r10
7006 set sync_thr_counter2, %r23
7007 cas [%r23],%g0,%r10 !lock
7008 brnz %r10, sma_10_90
7009 rd %asi, %r12
7010 wr %g0, 0x40, %asi
7011 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
7012 set 0x000e1fff, %g1
7013 stxa %g1, [%g0 + 0x80] %asi
7014 wr %r12, %g0, %asi
7015 st %g0, [%r23]
7016sma_10_90:
7017 ta T_CHANGE_NONHPRIV
7018 .word 0xdbe7e013 ! 156: CASA_R casa [%r31] %asi, %r19, %r13
7019 setx 0x71fa7e094b3c32b7, %r1, %r28
7020 stxa %r28, [%g0] 0x73
7021intvec_10_91:
7022 .word 0x39400001 ! 157: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
7023 .word 0x2e700001 ! 158: BPVS <illegal instruction>
7024 .word 0xda47c000 ! 159: LDSW_R ldsw [%r31 + %r0], %r13
7025splash_lsu_10_92:
7026 nop
7027 ta T_CHANGE_HPRIV
7028 set 0x53f1623c, %r2
7029 mov 0x5, %r1
7030 sllx %r1, 32, %r1
7031 or %r1, %r2, %r2
7032 stxa %r2, [%r0] ASI_LSU_CONTROL
7033 ta T_CHANGE_NONHPRIV
7034 .word 0x3d400001 ! 160: FBPULE fbule,a,pn %fcc0, <label_0x1>
7035!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_10_93)+16, 16, 16)) -> intp(mask2tid(0x10),1,3)
7036!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_10_93)&0xffffffff) +16, 16, 16)) -> intp(mask2tid(0x10),1,3)
7037xir_10_93:
7038 .word 0xa9826cbc ! 161: WR_SET_SOFTINT_I wr %r9, 0x0cbc, %set_softint
7039 .word 0xc19fdb60 ! 162: LDDFA_R ldda [%r31, %r0], %f0
7040pmu_10_94:
7041 nop
7042 setx 0xfffff8a9fffffd6c, %g1, %g7
7043 .word 0xa3800007 ! 163: WR_PERF_COUNTER_R wr %r0, %r7, %-
7044 .word 0x3a800001 ! 164: BCC bcc,a <label_0x1>
7045 .word 0x95464000 ! 165: RD_STICK_CMPR_REG rd %-, %r10
7046pmu_10_95:
7047 nop
7048 ta T_CHANGE_PRIV
7049 setx 0xfffff90dfffff108, %g1, %g7
7050 .word 0xa3800007 ! 166: WR_PERF_COUNTER_R wr %r0, %r7, %-
7051 .word 0xb1800011 ! 167: WR_STICK_REG_R wr %r0, %r17, %-
7052 nop
7053 ta T_CHANGE_HPRIV
7054 mov 0x10, %r10
7055 set sync_thr_counter2, %r23
7056 cas [%r23],%g0,%r10 !lock
7057 brnz %r10, sma_10_96
7058 rd %asi, %r12
7059 wr %g0, 0x40, %asi
7060 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
7061 set 0x00161fff, %g1
7062 stxa %g1, [%g0 + 0x80] %asi
7063 wr %r12, %g0, %asi
7064 st %g0, [%r23]
7065sma_10_96:
7066 ta T_CHANGE_NONHPRIV
7067 .word 0xdbe7e013 ! 168: CASA_R casa [%r31] %asi, %r19, %r13
7068pmu_10_97:
7069 nop
7070 ta T_CHANGE_PRIV
7071 setx 0xfffffd9efffff936, %g1, %g7
7072 .word 0xa3800007 ! 169: WR_PERF_COUNTER_R wr %r0, %r7, %-
7073pmu_10_98:
7074 nop
7075 ta T_CHANGE_PRIV
7076 setx 0xfffff564fffffc95, %g1, %g7
7077 .word 0xa3800007 ! 170: WR_PERF_COUNTER_R wr %r0, %r7, %-
7078 .word 0x91d020b5 ! 171: Tcc_I ta icc_or_xcc, %r0 + 181
7079 .word 0xa9848004 ! 172: WR_SET_SOFTINT_R wr %r18, %r4, %set_softint
7080 otherw
7081 mov 0xb1, %r30
7082 .word 0x83d0001e ! 173: Tcc_R te icc_or_xcc, %r0 + %r30
7083brcommon_10_99:
7084 ba,a .+12
7085 mov %r31, %r15
7086 ba,a .+8
7087 call common_target
7088 .word 0xda9fc023 ! 174: LDDA_R ldda [%r31, %r3] 0x01, %r13
7089br_badelay3_10_100:
7090 .word 0x34800001 ! 1: BG bg,a <label_0x1>
7091 .word 0xcf423e57 ! Random illegal ?
7092 .word 0xe1120011 ! 1: LDQF_R - [%r8, %r17], %f16
7093 .word 0x99a50834 ! 175: FADDs fadds %f20, %f20, %f12
7094 .word 0xa5a189c5 ! 176: FDIVd fdivd %f6, %f36, %f18
7095 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
7096reduce_priv_lvl_10_101:
7097 ta T_CHANGE_NONHPRIV ! macro
7098 nop
7099 mov 0x80, %g3
7100 stxa %g3, [%g3] 0x5f
7101 .word 0xe05fc000 ! 178: LDX_R ldx [%r31 + %r0], %r16
7102memptr_10_102:
7103 set user_data_start, %r31
7104 .word 0x8584bc98 ! 179: WRCCR_I wr %r18, 0x1c98, %ccr
7105 setx 0x7519b5e259a5434d, %r1, %r28
7106 stxa %r28, [%g0] 0x73
7107intvec_10_103:
7108 .word 0x39400001 ! 180: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
7109 .word 0xc1bfe020 ! 181: STDFA_I stda %f0, [0x0020, %r31]
7110 set 0x11f2, %l3
7111 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
7112 .word 0xa3b0c7c2 ! 182: PDIST pdistn %d34, %d2, %d48
7113mondo_10_104:
7114 nop
7115 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
7116 ta T_CHANGE_PRIV
7117 stxa %r17, [%r0+0x3c8] %asi
7118 .word 0x9d928014 ! 183: WRPR_WSTATE_R wrpr %r10, %r20, %wstate
7119 .word 0x9f802a6d ! 184: SIR sir 0x0a6d
7120 .word 0x9ba349c7 ! 185: FDIVd fdivd %f44, %f38, %f44
7121 .word 0xa9a489a6 ! 186: FDIVs fdivs %f18, %f6, %f20
7122dvapa_10_105:
7123 nop
7124 ta T_CHANGE_HPRIV
7125 mov 0xb39, %r20
7126 mov 0x13, %r19
7127 sllx %r20, 23, %r20
7128 or %r19, %r20, %r19
7129 stxa %r19, [%g0] ASI_LSU_CONTROL
7130 mov 0x38, %r18
7131 stxa %r31, [%r18]0x58
7132 ta T_CHANGE_NONHPRIV
7133 .word 0xd1e7e013 ! 187: CASA_R casa [%r31] %asi, %r19, %r8
7134mondo_10_106:
7135 nop
7136 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
7137 stxa %r10, [%r0+0x3c8] %asi
7138 .word 0x9d924002 ! 188: WRPR_WSTATE_R wrpr %r9, %r2, %wstate
7139 .word 0x99a489d2 ! 189: FDIVd fdivd %f18, %f18, %f12
7140vahole_10_107:
7141 nop
7142 ta T_CHANGE_NONHPRIV
7143 setx vahole_target, %r18, %r27
7144 jmpl %r27+0, %r27
7145 .word 0xe2dfc021 ! 190: LDXA_R ldxa [%r31, %r1] 0x01, %r17
7146 .word 0xe237e0aa ! 191: STH_I sth %r17, [%r31 + 0x00aa]
7147 .word 0x9b480000 ! 192: RDHPR_HPSTATE rdhpr %hpstate, %r13
7148!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_10_108)+32, 16, 16)) -> intp(mask2tid(0x10),1,3)
7149!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_10_108)&0xffffffff) +32, 16, 16)) -> intp(mask2tid(0x10),1,3)
7150xir_10_108:
7151 .word 0xa982f744 ! 193: WR_SET_SOFTINT_I wr %r11, 0x1744, %set_softint
7152 .word 0x9f802616 ! 194: SIR sir 0x0616
7153dvapa_10_109:
7154 nop
7155 ta T_CHANGE_HPRIV
7156 mov 0x81c, %r20
7157 mov 0x1f, %r19
7158 sllx %r20, 23, %r20
7159 or %r19, %r20, %r19
7160 stxa %r19, [%g0] ASI_LSU_CONTROL
7161 mov 0x38, %r18
7162 stxa %r31, [%r18]0x58
7163 ta T_CHANGE_NONHPRIV
7164 .word 0xe697c021 ! 195: LDUHA_R lduha [%r31, %r1] 0x01, %r19
7165intveclr_10_110:
7166 nop
7167 ta T_CHANGE_HPRIV
7168 setx 0x7d8037577e06b592, %r1, %r28
7169 stxa %r28, [%g0] 0x72
7170 ta T_CHANGE_NONHPRIV
7171 .word 0x25400001 ! 196: FBPLG fblg,a,pn %fcc0, <label_0x1>
7172 set 0x1647, %l3
7173 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
7174 .word 0xa7b1c7d3 ! 197: PDIST pdistn %d38, %d50, %d50
7175 .word 0xd33fc012 ! 198: STDF_R std %f9, [%r18, %r31]
7176mondo_10_112:
7177 nop
7178 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
7179 stxa %r13, [%r0+0x3e0] %asi
7180 .word 0x9d90c013 ! 199: WRPR_WSTATE_R wrpr %r3, %r19, %wstate
7181 nop
7182 ta T_CHANGE_HPRIV
7183 mov 0x10+1, %r10
7184 set sync_thr_counter1, %r23
7185 cas [%r23],%g0,%r10 !lock
7186 brnz %r10, cwq_10_113
7187 rd %asi, %r12
7188 wr %g0, 0x40, %asi
7189 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
7190 and %l1, 0x3, %l1 ! Check if busy/enabled ..
7191 cmp %l1, 1
7192 bne cwq_10_113
7193 set CWQ_BASE, %l6
7194 best_set_reg(0x20610060, %l1, %l2) !# Control Word
7195 sllx %l2, 32, %l2
7196 stx %l2, [%l6 + 0x0]
7197 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
7198 sub %l2, 0x40, %l2
7199 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
7200 wr %r12, %g0, %asi
7201 st %g0, [%r23]
7202cwq_10_113:
7203 ta T_CHANGE_NONHPRIV
7204 .word 0xa1414000 ! 200: RDPC rd %pc, %r16
7205mondo_10_114:
7206 nop
7207 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
7208 stxa %r10, [%r0+0x3c0] %asi
7209 .word 0x9d91000a ! 201: WRPR_WSTATE_R wrpr %r4, %r10, %wstate
7210 .word 0xc19fc2c0 ! 202: LDDFA_R ldda [%r31, %r0], %f0
7211 .word 0x91d02032 ! 203: Tcc_I ta icc_or_xcc, %r0 + 50
7212memptr_10_115:
7213 set 0x60740000, %r31
7214 .word 0x85807ea1 ! 204: WRCCR_I wr %r1, 0x1ea1, %ccr
7215 nop
7216 mov 0x80, %g3
7217 stxa %g3, [%g3] 0x57
7218 .word 0xe25fc000 ! 205: LDX_R ldx [%r31 + %r0], %r17
7219 .word 0x91d02035 ! 206: Tcc_I ta icc_or_xcc, %r0 + 53
7220pmu_10_116:
7221 nop
7222 setx 0xfffff01afffff7a5, %g1, %g7
7223 .word 0xa3800007 ! 207: WR_PERF_COUNTER_R wr %r0, %r7, %-
7224 .word 0x32800001 ! 1: BNE bne,a <label_0x1>
7225 .word 0x8d903ffb ! 208: WRPR_PSTATE_I wrpr %r0, 0x1ffb, %pstate
7226splash_tba_10_118:
7227 ta T_CHANGE_PRIV
7228 setx 0x0000000000380000, %r11, %r12
7229 .word 0x8b90000c ! 209: WRPR_TBA_R wrpr %r0, %r12, %tba
7230 .word 0x87ac8a4a ! 210: FCMPd fcmpd %fcc<n>, %f18, %f10
7231 .word 0xc1bfc2c0 ! 211: STDFA_R stda %f0, [%r0, %r31]
7232 .word 0x38800001 ! 212: BGU bgu,a <label_0x1>
7233 .word 0xc1bfc3e0 ! 213: STDFA_R stda %f0, [%r0, %r31]
7234 .word 0xa3454000 ! 214: RD_CLEAR_SOFTINT rd %clear_softint, %r17
7235 .word 0x9ba0c9c6 ! 215: FDIVd fdivd %f34, %f6, %f44
7236mondo_10_119:
7237 nop
7238 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
7239 ta T_CHANGE_PRIV
7240 stxa %r2, [%r0+0x3e0] %asi
7241 .word 0x9d944011 ! 216: WRPR_WSTATE_R wrpr %r17, %r17, %wstate
7242splash_lsu_10_120:
7243 nop
7244 ta T_CHANGE_HPRIV
7245 set 0x35c66285, %r2
7246 mov 0x5, %r1
7247 sllx %r1, 32, %r1
7248 or %r1, %r2, %r2
7249 stxa %r2, [%r0] ASI_LSU_CONTROL
7250 .word 0x3d400001 ! 217: FBPULE fbule,a,pn %fcc0, <label_0x1>
7251 .word 0x24800001 ! 218: BLE ble,a <label_0x1>
7252 .word 0xc19fc2c0 ! 219: LDDFA_R ldda [%r31, %r0], %f0
7253 .word 0xd797e038 ! 220: LDQFA_I - [%r31, 0x0038], %f11
7254 .word 0xd73fc000 ! 221: STDF_R std %f11, [%r0, %r31]
7255donret_10_121:
7256 nop
7257 ta T_CHANGE_HPRIV ! macro
7258 rd %pc, %r12
7259 add %r12, (donretarg_10_121-donret_10_121-4), %r12
7260 mov 0x38, %r18
7261 stxa %r12, [%r18]0x58
7262 add %r12, 0x4, %r11
7263 wrpr %g0, 0x2, %tl
7264 wrpr %g0, %r12, %tpc
7265 wrpr %g0, %r11, %tnpc
7266 set (0x00f01778 | (0x8a << 24)), %r13
7267 rdpr %tstate, %r16
7268 mov 0x1f, %r19
7269 and %r19, %r16, %r17
7270 andn %r16, %r19, %r16
7271 or %r16, %r17, %r20
7272 wrpr %r20, %g0, %tstate
7273 wrhpr %g0, 0x95c, %htstate
7274 ta T_CHANGE_NONHPRIV ! rand=1 (10)
7275 done
7276donretarg_10_121:
7277 .word 0xd6ffe05c ! 222: SWAPA_I swapa %r11, [%r31 + 0x005c] %asi
7278!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_10_122)+56, 16, 16)) -> intp(mask2tid(0x10),1,3)
7279!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_10_122)&0xffffffff) +56, 16, 16)) -> intp(mask2tid(0x10),1,3)
7280xir_10_122:
7281 .word 0xa9836764 ! 223: WR_SET_SOFTINT_I wr %r13, 0x0764, %set_softint
7282 .word 0xa5703577 ! 224: POPC_I popc 0x1577, %r18
7283ibp_10_123:
7284 nop
7285 ta T_CHANGE_HPRIV
7286 mov 8, %r18
7287 rd %asi, %r12
7288 wr %r0, 0x41, %asi
7289 set sync_thr_counter, %r23
7290 mov 0x10, %r16
7291ibp_startwait10_123:
7292 cas [%r23],%g0,%r16 !lock
7293 brz,a %r16, continue_ibp_10_123
7294 mov (~0x10&0xf0), %r16
7295 ld [%r23], %r16
7296ibp_wait10_123:
7297 brnz %r16, ibp_wait10_123
7298 ld [%r23], %r16
7299 ba,a ibp_startwait10_123
7300 mov 0x10, %r16
7301continue_ibp_10_123:
7302 ldxa [%g0]0x63, %r14 !Get raw TID
7303 srlx %r14, 3, %r14 !Get CID
7304 sllx %r16, %r14, %r16 !Mask for my core only
7305 ldxa [0x58]%asi, %r17 !Running_status
7306wait_for_stat_10_123:
7307 ldxa [0x50]%asi, %r13 !Running_rw
7308 cmp %r13, %r17
7309 bne,a wait_for_stat_10_123
7310 ldxa [0x58]%asi, %r17 !Running_status
7311 stxa %r16, [0x68]%asi
7312 ldxa [0x50]%asi, %r14 !Running_rw
7313wait_for_ibp_10_123:
7314 ldxa [0x58]%asi, %r17 !Running_status
7315 cmp %r14, %r17
7316 bne,a wait_for_ibp_10_123
7317 ldxa [0x50]%asi, %r14 !Running_rw
7318ibp_doit10_123:
7319 best_set_reg(0x00000050c6c8023e,%r19, %r20)
7320 stxa %r20, [%r18]0x42
7321 stxa %r13, [0x50] %asi ! Running_rw
7322 st %g0, [%r23] !clear lock
7323 wr %r0, %r12, %asi ! restore %asi
7324 .word 0xe9e7e00b ! 225: CASA_R casa [%r31] %asi, %r11, %r20
7325 set 0x1743, %l3
7326 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
7327 .word 0xa1b507d1 ! 226: PDIST pdistn %d20, %d48, %d16
7328 invalw
7329 mov 0x31, %r30
7330 .word 0x93d0001e ! 227: Tcc_R tne icc_or_xcc, %r0 + %r30
7331 nop
7332 ta T_CHANGE_HPRIV
7333 mov 0x10+1, %r10
7334 set sync_thr_counter1, %r23
7335 cas [%r23],%g0,%r10 !lock
7336 brnz %r10, cwq_10_124
7337 rd %asi, %r12
7338 wr %g0, 0x40, %asi
7339 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
7340 and %l1, 0x3, %l1 ! Check if busy/enabled ..
7341 cmp %l1, 1
7342 bne cwq_10_124
7343 set CWQ_BASE, %l6
7344 best_set_reg(0x20610070, %l1, %l2) !# Control Word
7345 sllx %l2, 32, %l2
7346 stx %l2, [%l6 + 0x0]
7347 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
7348 sub %l2, 0x40, %l2
7349 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
7350 wr %r12, %g0, %asi
7351 st %g0, [%r23]
7352cwq_10_124:
7353 ta T_CHANGE_NONHPRIV
7354 .word 0x91414000 ! 228: RDPC rd %pc, %r8
7355 .word 0x91934010 ! 229: WRPR_PIL_R wrpr %r13, %r16, %pil
7356 .word 0x22800001 ! 1: BE be,a <label_0x1>
7357 .word 0x8d902442 ! 230: WRPR_PSTATE_I wrpr %r0, 0x0442, %pstate
7358 .word 0xd23fe092 ! 231: STD_I std %r9, [%r31 + 0x0092]
7359mondo_10_127:
7360 nop
7361 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
7362 ta T_CHANGE_PRIV
7363 stxa %r1, [%r0+0x3e0] %asi
7364 .word 0x9d94c009 ! 232: WRPR_WSTATE_R wrpr %r19, %r9, %wstate
7365 nop
7366 mov 0x80, %g3
7367 stxa %g3, [%g3] 0x5f
7368 .word 0xd25fc000 ! 233: LDX_R ldx [%r31 + %r0], %r9
7369!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_10_128)+0, 16, 16)) -> intp(mask2tid(0x10),1,3)
7370!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_10_128)&0xffffffff) +0, 16, 16)) -> intp(mask2tid(0x10),1,3)
7371xir_10_128:
7372 .word 0xa980aed0 ! 234: WR_SET_SOFTINT_I wr %r2, 0x0ed0, %set_softint
7373 .word 0xc1bfdc00 ! 235: STDFA_R stda %f0, [%r0, %r31]
7374invtsb_10_129:
7375 nop
7376 ta T_CHANGE_HPRIV
7377 rd %asi, %r21
7378 wr %r0,ASI_MMU_REAL_RANGE, %asi
7379 mov 1, %r20
7380 sllx %r20, 63, %r20
7381 ldxa [ASI_MMU_REAL_RANGE_0] %asi, %r22
7382 xor %r22 ,%r20, %r22
7383 stxa %r22, [ASI_MMU_REAL_RANGE_0] %asi
7384 ldxa [ASI_MMU_REAL_RANGE_1] %asi, %r22
7385 xor %r22 ,%r20, %r22
7386 stxa %r22, [ASI_MMU_REAL_RANGE_1] %asi
7387 ldxa [ASI_MMU_REAL_RANGE_2] %asi, %r22
7388 xor %r22 ,%r20, %r22
7389 stxa %r22, [ASI_MMU_REAL_RANGE_2] %asi
7390 ldxa [ASI_MMU_REAL_RANGE_3] %asi, %r22
7391 xor %r22 ,%r20, %r22
7392 stxa %r22, [ASI_MMU_REAL_RANGE_3] %asi
7393 wr %r21, %r0, %asi
7394 ta T_CHANGE_NONHPRIV
7395 .word 0x29800001 ! 236: FBL fbl,a <label_0x1>
7396splash_htba_10_130:
7397 nop
7398 ta T_CHANGE_HPRIV
7399 setx 0x0000000000280000, %r11, %r12
7400 .word 0x8b98000c ! 237: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
7401ibp_10_131:
7402 nop
7403 ta T_CHANGE_HPRIV
7404 mov 8, %r18
7405 rd %asi, %r12
7406 wr %r0, 0x41, %asi
7407 set sync_thr_counter, %r23
7408 mov 0x10, %r16
7409ibp_startwait10_131:
7410 cas [%r23],%g0,%r16 !lock
7411 brz,a %r16, continue_ibp_10_131
7412 mov (~0x10&0xf0), %r16
7413 ld [%r23], %r16
7414ibp_wait10_131:
7415 brnz %r16, ibp_wait10_131
7416 ld [%r23], %r16
7417 ba,a ibp_startwait10_131
7418 mov 0x10, %r16
7419continue_ibp_10_131:
7420 ldxa [%g0]0x63, %r14 !Get raw TID
7421 srlx %r14, 3, %r14 !Get CID
7422 sllx %r16, %r14, %r16 !Mask for my core only
7423 ldxa [0x58]%asi, %r17 !Running_status
7424wait_for_stat_10_131:
7425 ldxa [0x50]%asi, %r13 !Running_rw
7426 cmp %r13, %r17
7427 bne,a wait_for_stat_10_131
7428 ldxa [0x58]%asi, %r17 !Running_status
7429 stxa %r16, [0x68]%asi
7430 ldxa [0x50]%asi, %r14 !Running_rw
7431wait_for_ibp_10_131:
7432 ldxa [0x58]%asi, %r17 !Running_status
7433 cmp %r14, %r17
7434 bne,a wait_for_ibp_10_131
7435 ldxa [0x50]%asi, %r14 !Running_rw
7436ibp_doit10_131:
7437 best_set_reg(0x00000050cdc23e37,%r19, %r20)
7438 stxa %r20, [%r18]0x42
7439 stxa %r13, [0x50] %asi ! Running_rw
7440 st %g0, [%r23] !clear lock
7441 wr %r0, %r12, %asi ! restore %asi
7442 ta T_CHANGE_NONHPRIV
7443 .word 0xd23ff10c ! 238: STD_I std %r9, [%r31 + 0xfffff10c]
7444 .word 0xc3e88028 ! 239: PREFETCHA_R prefetcha [%r2, %r8] 0x01, #one_read
7445!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_10_132)+8, 16, 16)) -> intp(mask2tid(0x10),1,3)
7446!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_10_132)&0xffffffff) +8, 16, 16)) -> intp(mask2tid(0x10),1,3)
7447xir_10_132:
7448 .word 0xa984afaa ! 240: WR_SET_SOFTINT_I wr %r18, 0x0faa, %set_softint
7449 .word 0x9195000b ! 241: WRPR_PIL_R wrpr %r20, %r11, %pil
7450 nop
7451 ta T_CHANGE_HPRIV
7452 mov 0x10, %r10
7453 set sync_thr_counter2, %r23
7454 cas [%r23],%g0,%r10 !lock
7455 brnz %r10, sma_10_134
7456 rd %asi, %r12
7457 wr %g0, 0x40, %asi
7458 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
7459 set 0x000a1fff, %g1
7460 stxa %g1, [%g0 + 0x80] %asi
7461 wr %r12, %g0, %asi
7462 st %g0, [%r23]
7463sma_10_134:
7464 ta T_CHANGE_NONHPRIV
7465 .word 0xe5e7e00d ! 242: CASA_R casa [%r31] %asi, %r13, %r18
7466mondo_10_135:
7467 nop
7468 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
7469 stxa %r18, [%r0+0x3e0] %asi
7470 .word 0x9d908012 ! 243: WRPR_WSTATE_R wrpr %r2, %r18, %wstate
7471ibp_10_136:
7472 nop
7473 ta T_CHANGE_HPRIV
7474 mov 8, %r18
7475 rd %asi, %r12
7476 wr %r0, 0x41, %asi
7477 set sync_thr_counter, %r23
7478 mov 0x10, %r16
7479ibp_startwait10_136:
7480 cas [%r23],%g0,%r16 !lock
7481 brz,a %r16, continue_ibp_10_136
7482 mov (~0x10&0xf0), %r16
7483 ld [%r23], %r16
7484ibp_wait10_136:
7485 brnz %r16, ibp_wait10_136
7486 ld [%r23], %r16
7487 ba,a ibp_startwait10_136
7488 mov 0x10, %r16
7489continue_ibp_10_136:
7490 ldxa [%g0]0x63, %r14 !Get raw TID
7491 srlx %r14, 3, %r14 !Get CID
7492 sllx %r16, %r14, %r16 !Mask for my core only
7493 ldxa [0x58]%asi, %r17 !Running_status
7494wait_for_stat_10_136:
7495 ldxa [0x50]%asi, %r13 !Running_rw
7496 cmp %r13, %r17
7497 bne,a wait_for_stat_10_136
7498 ldxa [0x58]%asi, %r17 !Running_status
7499 stxa %r16, [0x68]%asi
7500 ldxa [0x50]%asi, %r14 !Running_rw
7501wait_for_ibp_10_136:
7502 ldxa [0x58]%asi, %r17 !Running_status
7503 cmp %r14, %r17
7504 bne,a wait_for_ibp_10_136
7505 ldxa [0x50]%asi, %r14 !Running_rw
7506ibp_doit10_136:
7507 best_set_reg(0x0000005014fe37bf,%r19, %r20)
7508 stxa %r20, [%r18]0x42
7509 stxa %r13, [0x50] %asi ! Running_rw
7510 st %g0, [%r23] !clear lock
7511 wr %r0, %r12, %asi ! restore %asi
7512 .word 0xe497c033 ! 244: LDUHA_R lduha [%r31, %r19] 0x01, %r18
7513splash_tba_10_137:
7514 ta T_CHANGE_PRIV
7515 setx 0x0000000000380000, %r11, %r12
7516 .word 0x8b90000c ! 245: WRPR_TBA_R wrpr %r0, %r12, %tba
7517br_badelay3_10_138:
7518 .word 0x20800001 ! 1: BN bn,a <label_0x1>
7519 .word 0x937dfbfc ! Random illegal ?
7520 .word 0xd5124014 ! 1: LDQF_R - [%r9, %r20], %f10
7521 .word 0x91a04834 ! 246: FADDs fadds %f1, %f20, %f8
7522 .word 0x99a189a3 ! 247: FDIVs fdivs %f6, %f3, %f12
7523 .word 0xc1bfd960 ! 248: STDFA_R stda %f0, [%r0, %r31]
7524brcommon_10_139:
7525 ba,a .+12
7526 mov %r31, %r15
7527 ba,a .+8
7528 call common_target
7529 .word 0xc32fc010 ! 249: STXFSR_R st-sfr %f1, [%r16, %r31]
7530pmu_10_140:
7531 nop
7532 setx 0xfffff2cafffff5f6, %g1, %g7
7533 .word 0xa3800007 ! 250: WR_PERF_COUNTER_R wr %r0, %r7, %-
7534 .word 0xd43fc000 ! 251: STD_R std %r10, [%r31 + %r0]
7535dvapa_10_141:
7536 nop
7537 ta T_CHANGE_HPRIV
7538 mov 0x9ab, %r20
7539 mov 0xa, %r19
7540 sllx %r20, 23, %r20
7541 or %r19, %r20, %r19
7542 stxa %r19, [%g0] ASI_LSU_CONTROL
7543 mov 0x38, %r18
7544 stxa %r31, [%r18]0x58
7545 ta T_CHANGE_NONHPRIV
7546 .word 0xd5e7e010 ! 252: CASA_R casa [%r31] %asi, %r16, %r10
7547br_badelay3_10_142:
7548 .word 0x22800001 ! 1: BE be,a <label_0x1>
7549 .word 0xb74f52aa ! Random illegal ?
7550 .word 0xe5144007 ! 1: LDQF_R - [%r17, %r7], %f18
7551 .word 0xa9a44831 ! 253: FADDs fadds %f17, %f17, %f20
7552 otherw
7553 mov 0xb5, %r30
7554 .word 0x83d0001e ! 254: Tcc_R te icc_or_xcc, %r0 + %r30
7555 setx 0x52d4dfc6d4c83338, %r1, %r28
7556 stxa %r28, [%g0] 0x73
7557intvec_10_143:
7558 .word 0x39400001 ! 255: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
7559 nop
7560 ta T_CHANGE_HPRIV
7561 mov 0x10+1, %r10
7562 set sync_thr_counter1, %r23
7563 cas [%r23],%g0,%r10 !lock
7564 brnz %r10, cwq_10_144
7565 rd %asi, %r12
7566 wr %g0, 0x40, %asi
7567 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
7568 and %l1, 0x3, %l1 ! Check if busy/enabled ..
7569 cmp %l1, 1
7570 bne cwq_10_144
7571 set CWQ_BASE, %l6
7572 best_set_reg(0x20610070, %l1, %l2) !# Control Word
7573 sllx %l2, 32, %l2
7574 stx %l2, [%l6 + 0x0]
7575 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
7576 sub %l2, 0x40, %l2
7577 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
7578 wr %r12, %g0, %asi
7579 st %g0, [%r23]
7580cwq_10_144:
7581 ta T_CHANGE_NONHPRIV
7582 .word 0x99414000 ! 256: RDPC rd %pc, %r12
7583 .word 0x97a189aa ! 257: FDIVs fdivs %f6, %f10, %f11
7584dvapa_10_145:
7585 nop
7586 ta T_CHANGE_HPRIV
7587 mov 0xdd0, %r20
7588 mov 0x1e, %r19
7589 sllx %r20, 23, %r20
7590 or %r19, %r20, %r19
7591 stxa %r19, [%g0] ASI_LSU_CONTROL
7592 mov 0x38, %r18
7593 stxa %r31, [%r18]0x58
7594 ta T_CHANGE_NONHPRIV
7595 .word 0xe5e7e012 ! 258: CASA_R casa [%r31] %asi, %r18, %r18
7596 invalw
7597 mov 0x31, %r30
7598 .word 0x83d0001e ! 259: Tcc_R te icc_or_xcc, %r0 + %r30
7599 .word 0xe457c000 ! 260: LDSH_R ldsh [%r31 + %r0], %r18
7600splash_lsu_10_146:
7601 nop
7602 ta T_CHANGE_HPRIV
7603 set 0x9e039043, %r2
7604 mov 0x5, %r1
7605 sllx %r1, 32, %r1
7606 or %r1, %r2, %r2
7607 stxa %r2, [%r0] ASI_LSU_CONTROL
7608 .word 0x3d400001 ! 261: FBPULE fbule,a,pn %fcc0, <label_0x1>
7609 otherw
7610 mov 0x35, %r30
7611 .word 0x93d0001e ! 262: Tcc_R tne icc_or_xcc, %r0 + %r30
7612 .word 0x91950013 ! 263: WRPR_PIL_R wrpr %r20, %r19, %pil
7613 .word 0xe1bfda00 ! 264: STDFA_R stda %f16, [%r0, %r31]
7614 .word 0xe19fe0a0 ! 265: LDDFA_I ldda [%r31, 0x00a0], %f16
7615 nop
7616 ta T_CHANGE_HPRIV
7617 mov 0x10, %r10
7618 set sync_thr_counter2, %r23
7619 cas [%r23],%g0,%r10 !lock
7620 brnz %r10, sma_10_148
7621 rd %asi, %r12
7622 wr %g0, 0x40, %asi
7623 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
7624 set 0x00161fff, %g1
7625 stxa %g1, [%g0 + 0x80] %asi
7626 wr %r12, %g0, %asi
7627 st %g0, [%r23]
7628sma_10_148:
7629 ta T_CHANGE_NONHPRIV
7630 .word 0xe5e7e014 ! 266: CASA_R casa [%r31] %asi, %r20, %r18
7631 ta T_CHANGE_NONPRIV ! macro
7632 .word 0xa7a00173 ! 268: FABSq dis not found
7633
7634 nop
7635 ta T_CHANGE_HPRIV
7636 mov 0x10, %r10
7637 set sync_thr_counter2, %r23
7638 cas [%r23],%g0,%r10 !lock
7639 brnz %r10, sma_10_149
7640 rd %asi, %r12
7641 wr %g0, 0x40, %asi
7642 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
7643 set 0x00061fff, %g1
7644 stxa %g1, [%g0 + 0x80] %asi
7645 wr %r12, %g0, %asi
7646 st %g0, [%r23]
7647sma_10_149:
7648 ta T_CHANGE_NONHPRIV
7649 .word 0xe7e7e012 ! 269: CASA_R casa [%r31] %asi, %r18, %r19
7650 .word 0xe63fe0e8 ! 270: STD_I std %r19, [%r31 + 0x00e8]
7651!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_10_150) + 0, 16, 16)) -> intp(6,0,9)
7652!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_10_150)&0xffffffff) + 0, 16, 16)) -> intp(6,0,9)
7653intvec_10_150:
7654 .word 0x39400001 ! 271: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
7655!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_10_151)+40, 16, 16)) -> intp(mask2tid(0x10),1,3)
7656!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_10_151)&0xffffffff) +40, 16, 16)) -> intp(mask2tid(0x10),1,3)
7657xir_10_151:
7658 .word 0xa980b6ef ! 272: WR_SET_SOFTINT_I wr %r2, 0x16ef, %set_softint
7659 .word 0xe63fe078 ! 273: STD_I std %r19, [%r31 + 0x0078]
7660memptr_10_152:
7661 set 0x60740000, %r31
7662 .word 0x8580b150 ! 274: WRCCR_I wr %r2, 0x1150, %ccr
7663br_badelay1_10_153:
7664 .word 0x24cd0001 ! 1: BRLEZ brlez,a,pt %r20,<label_0xd0001>
7665 .word 0xdb34c011 ! 1: STQF_R - %f13, [%r17, %r19]
7666 .word 0x24c9c001 ! 1: BRLEZ brlez,a,pt %r7,<label_0x9c001>
7667 normalw
7668 .word 0xa1458000 ! 275: RD_SOFTINT_REG rd %softint, %r16
7669 .word 0x95b044c4 ! 276: FCMPNE32 fcmpne32 %d32, %d4, %r10
7670 .word 0xc19fdc00 ! 277: LDDFA_R ldda [%r31, %r0], %f0
7671 .word 0xc19fe080 ! 278: LDDFA_I ldda [%r31, 0x0080], %f0
7672 .word 0xe19fdf20 ! 279: LDDFA_R ldda [%r31, %r0], %f16
7673 .word 0x91d02035 ! 280: Tcc_I ta icc_or_xcc, %r0 + 53
7674 .word 0x9f802725 ! 281: SIR sir 0x0725
7675jmptr_10_154:
7676 nop
7677 best_set_reg(0xe0200000, %r20, %r27)
7678 .word 0xb7c6c000 ! 282: JMPL_R jmpl %r27 + %r0, %r27
7679 nop
7680 ta T_CHANGE_HPRIV
7681 mov 0x10, %r10
7682 set sync_thr_counter2, %r23
7683 cas [%r23],%g0,%r10 !lock
7684 brnz %r10, sma_10_155
7685 rd %asi, %r12
7686 wr %g0, 0x40, %asi
7687 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
7688 set 0x00021fff, %g1
7689 stxa %g1, [%g0 + 0x80] %asi
7690 wr %r12, %g0, %asi
7691 st %g0, [%r23]
7692sma_10_155:
7693 ta T_CHANGE_NONHPRIV
7694 .word 0xe9e7e011 ! 283: CASA_R casa [%r31] %asi, %r17, %r20
7695 .word 0xa7a00162 ! 284: FABSq dis not found
7696
7697mondo_10_156:
7698 nop
7699 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
7700 ta T_CHANGE_PRIV
7701 stxa %r20, [%r0+0x3d0] %asi
7702 .word 0x9d92c010 ! 285: WRPR_WSTATE_R wrpr %r11, %r16, %wstate
7703 .word 0xc32fc000 ! 286: STXFSR_R st-sfr %f1, [%r0, %r31]
7704 .word 0xe1bfd920 ! 287: STDFA_R stda %f16, [%r0, %r31]
7705change_to_randtl_10_157:
7706 ta T_CHANGE_HPRIV ! macro
7707done_change_to_randtl_10_157:
7708 .word 0x8f902000 ! 288: WRPR_TL_I wrpr %r0, 0x0000, %tl
7709splash_decr_10_158:
7710 nop
7711 ta T_CHANGE_HPRIV
7712 mov 8, %r1
7713 stxa %r15, [%r1] 0x45
7714 .word 0xa7848014 ! 289: WR_GRAPHICS_STATUS_REG_R wr %r18, %r20, %-
7715 .word 0xe1bfe0a0 ! 290: STDFA_I stda %f16, [0x00a0, %r31]
7716 .word 0xd86fe021 ! 291: LDSTUB_I ldstub %r12, [%r31 + 0x0021]
7717 .word 0xa5b1898a ! 292: BSHUFFLE fmovc32 %d6, %d10, %d18
7718memptr_10_160:
7719 set 0x60740000, %r31
7720 .word 0x8584b35d ! 293: WRCCR_I wr %r18, 0x135d, %ccr
7721splash_hpstate_10_161:
7722 ta T_CHANGE_NONHPRIV
7723 .word 0x81982455 ! 294: WRHPR_HPSTATE_I wrhpr %r0, 0x0455, %hpstate
7724!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_10_162) + 16, 16, 16)) -> intp(3,0,23)
7725!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_10_162)&0xffffffff) + 16, 16, 16)) -> intp(3,0,23)
7726intvec_10_162:
7727 .word 0x39400001 ! 295: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
7728 .word 0xd0bfe09a ! 296: STDA_I stda %r8, [%r31 + 0x009a] %asi
7729 .word 0x95a00171 ! 297: FABSq dis not found
7730
7731splash_tba_10_163:
7732 ta T_CHANGE_PRIV
7733 setx 0x0000000000380000, %r11, %r12
7734 .word 0x8b90000c ! 298: WRPR_TBA_R wrpr %r0, %r12, %tba
7735splash_tba_10_164:
7736 ta T_CHANGE_PRIV
7737 set 0x120000, %r12
7738 .word 0x8b90000c ! 299: WRPR_TBA_R wrpr %r0, %r12, %tba
7739 .word 0x8d9036b9 ! 300: WRPR_PSTATE_I wrpr %r0, 0x16b9, %pstate
7740!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_10_166)+24, 16, 16)) -> intp(mask2tid(0x10),1,3)
7741!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_10_166)&0xffffffff) +24, 16, 16)) -> intp(mask2tid(0x10),1,3)
7742xir_10_166:
7743 .word 0xa984322e ! 301: WR_SET_SOFTINT_I wr %r16, 0x122e, %set_softint
7744 nop
7745 nop
7746 ta T_CHANGE_PRIV
7747 wrpr %g0, %g0, %gl
7748 nop
7749 nop
7750 setx join_lbl_0_0, %g1, %g2
7751 jmp %g2
7752 nop
7753fork_lbl_0_4:
7754 ta T_CHANGE_NONHPRIV
7755splash_cmpr_8_0:
7756 nop
7757 setx 0xbda452a1a8d4923d, %l2, %l1
7758 ta T_CHANGE_HPRIV
7759 wrhpr %l1, %g0, %hsys_tick_cmpr
7760 ta T_CHANGE_NONHPRIV
7761 sub %l1, 40, %g1
7762 .word 0x89900011 ! 1: WRPR_TICK_R wrpr %r0, %r17, %tick
7763 .word 0x81510000 ! 2: RDPR_TICK rdpr %tick, %r0
7764 .word 0xe1bfd920 ! 3: STDFA_R stda %f16, [%r0, %r31]
7765 setx 0x3f8eef194d2b3cca, %r1, %r28
7766 stxa %r28, [%g0] 0x73
7767intvec_8_1:
7768 .word 0x39400001 ! 4: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
7769 invalw
7770 mov 0x31, %r30
7771 .word 0x91d0001e ! 5: Tcc_R ta icc_or_xcc, %r0 + %r30
7772mondo_8_2:
7773 nop
7774 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
7775 ta T_CHANGE_PRIV
7776 stxa %r16, [%r0+0x3e8] %asi
7777 .word 0x9d928001 ! 6: WRPR_WSTATE_R wrpr %r10, %r1, %wstate
7778 ta T_CHANGE_NONPRIV ! macro
7779 .word 0xe19fd920 ! 8: LDDFA_R ldda [%r31, %r0], %f16
7780br_badelay2_8_3:
7781 .word 0x34800001 ! 1: BG bg,a <label_0x1>
7782 allclean
7783 .word 0x99b44314 ! 9: ALIGNADDRESS alignaddr %r17, %r20, %r12
7784!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_8_4) + 16, 16, 16)) -> intp(2,0,0)
7785!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_8_4)&0xffffffff) + 16, 16, 16)) -> intp(2,0,0)
7786intvec_8_4:
7787 .word 0x39400001 ! 10: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
7788 .word 0xe477e080 ! 11: STX_I stx %r18, [%r31 + 0x0080]
7789donret_8_5:
7790 nop
7791 ta T_CHANGE_HPRIV ! macro
7792 rd %pc, %r12
7793 add %r12, (donretarg_8_5-donret_8_5-4), %r12
7794 mov 0x38, %r18
7795 stxa %r12, [%r18]0x58
7796 add %r12, 0x4, %r11
7797 wrpr %g0, 0x1, %tl
7798 wrpr %g0, %r12, %tpc
7799 wrpr %g0, %r11, %tnpc
7800 set (0x0073c136 | (32 << 24)), %r13
7801 rdpr %tstate, %r16
7802 mov 0x1f, %r19
7803 and %r19, %r16, %r17
7804 andn %r16, %r19, %r16
7805 or %r16, %r17, %r20
7806 wrpr %r20, %g0, %tstate
7807 wrhpr %g0, 0xdd6, %htstate
7808 ta T_CHANGE_NONHPRIV ! rand=1 (8)
7809 done
7810donretarg_8_5:
7811 .word 0xe4ffe03c ! 12: SWAPA_I swapa %r18, [%r31 + 0x003c] %asi
7812splash_cmpr_8_6:
7813 nop
7814 setx 0x27d85ac092adfc87, %l2, %l1
7815 ta T_CHANGE_HPRIV
7816 wrhpr %l1, %g0, %hsys_tick_cmpr
7817 sub %l1, 40, %g1
7818 .word 0x89900011 ! 13: WRPR_TICK_R wrpr %r0, %r17, %tick
7819 .word 0xc3eac02d ! 14: PREFETCHA_R prefetcha [%r11, %r13] 0x01, #one_read
7820 otherw
7821 mov 0xb3, %r30
7822 .word 0x91d0001e ! 15: Tcc_R ta icc_or_xcc, %r0 + %r30
7823vahole_8_7:
7824 nop
7825 ta T_CHANGE_NONHPRIV
7826 setx vahole_target, %r18, %r27
7827 jmpl %r27+0, %r27
7828 .word 0xe6dfc032 ! 16: LDXA_R ldxa [%r31, %r18] 0x01, %r19
7829br_badelay2_8_8:
7830 .word 0x32800001 ! 1: BNE bne,a <label_0x1>
7831 pdist %f4, %f18, %f4
7832 .word 0xa7b04303 ! 17: ALIGNADDRESS alignaddr %r1, %r3, %r19
7833 .word 0x93a00165 ! 18: FABSq dis not found
7834
7835 .word 0xb1800011 ! 19: WR_STICK_REG_R wr %r0, %r17, %-
7836 .word 0xad833be3 ! 20: WR_SOFTINT_REG_I wr %r12, 0x1be3, %softint
7837 .word 0xd877c000 ! 21: STX_R stx %r12, [%r31 + %r0]
7838splash_tba_8_9:
7839 ta T_CHANGE_PRIV
7840 setx 0x00000000003a0000, %r11, %r12
7841 .word 0x8b90000c ! 22: WRPR_TBA_R wrpr %r0, %r12, %tba
7842 .word 0xd89fe038 ! 23: LDDA_I ldda [%r31, + 0x0038] %asi, %r12
7843jmptr_8_10:
7844 nop
7845 best_set_reg(0xe0a00000, %r20, %r27)
7846 .word 0xb7c6c000 ! 24: JMPL_R jmpl %r27 + %r0, %r27
7847mondo_8_11:
7848 nop
7849 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
7850 ta T_CHANGE_PRIV
7851 stxa %r12, [%r0+0x3c8] %asi
7852 .word 0x9d92400a ! 25: WRPR_WSTATE_R wrpr %r9, %r10, %wstate
7853 .word 0x9ba489c2 ! 26: FDIVd fdivd %f18, %f2, %f44
7854!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_8_12)+48, 16, 16)) -> intp(mask2tid(0x8),1,3)
7855!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_8_12)&0xffffffff) +48, 16, 16)) -> intp(mask2tid(0x8),1,3)
7856xir_8_12:
7857 .word 0xa98528be ! 27: WR_SET_SOFTINT_I wr %r20, 0x08be, %set_softint
7858 .word 0x9f8026f7 ! 28: SIR sir 0x06f7
7859intveclr_8_13:
7860 nop
7861 ta T_CHANGE_HPRIV
7862 setx 0xc2387c14fee99213, %r1, %r28
7863 stxa %r28, [%g0] 0x72
7864 ta T_CHANGE_NONHPRIV
7865 .word 0x25400001 ! 29: FBPLG fblg,a,pn %fcc0, <label_0x1>
7866brcommon_8_14:
7867 ba,a .+12
7868 mov %r31, %r15
7869 ba,a .+8
7870 call common_target
7871 .word 0xe89fc031 ! 30: LDDA_R ldda [%r31, %r17] 0x01, %r20
7872 nop
7873 ta T_CHANGE_HPRIV
7874 mov 0x8+1, %r10
7875 set sync_thr_counter1, %r23
7876 cas [%r23],%g0,%r10 !lock
7877 brnz %r10, cwq_8_15
7878 rd %asi, %r12
7879 wr %g0, 0x40, %asi
7880 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
7881 and %l1, 0x3, %l1 ! Check if busy/enabled ..
7882 cmp %l1, 1
7883 bne cwq_8_15
7884 set CWQ_BASE, %l6
7885 best_set_reg(0x20610010, %l1, %l2) !# Control Word
7886 sllx %l2, 32, %l2
7887 stx %l2, [%l6 + 0x0]
7888 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
7889 sub %l2, 0x40, %l2
7890 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
7891 wr %r12, %g0, %asi
7892 st %g0, [%r23]
7893cwq_8_15:
7894 ta T_CHANGE_NONHPRIV
7895 .word 0xa5414000 ! 31: RDPC rd %pc, %r18
7896 nop
7897 ta T_CHANGE_HPRIV
7898 mov 0x8, %r10
7899 set sync_thr_counter2, %r23
7900 cas [%r23],%g0,%r10 !lock
7901 brnz %r10, sma_8_16
7902 rd %asi, %r12
7903 wr %g0, 0x40, %asi
7904 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
7905 set 0x000e1fff, %g1
7906 stxa %g1, [%g0 + 0x80] %asi
7907 wr %r12, %g0, %asi
7908 st %g0, [%r23]
7909sma_8_16:
7910 ta T_CHANGE_NONHPRIV
7911 .word 0xd3e7e011 ! 32: CASA_R casa [%r31] %asi, %r17, %r9
7912splash_cmpr_8_17:
7913 nop
7914 setx 0xfd88efb7af8de880, %l2, %l1
7915 ta T_CHANGE_PRIV
7916 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
7917 ta T_CHANGE_NONPRIV
7918 sub %l1, 40, %g1
7919 .word 0x89900011 ! 33: WRPR_TICK_R wrpr %r0, %r17, %tick
7920!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_8_18) + 24, 16, 16)) -> intp(4,0,26)
7921!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_8_18)&0xffffffff) + 24, 16, 16)) -> intp(4,0,26)
7922intvec_8_18:
7923 .word 0x39400001 ! 34: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
7924 .word 0xd26fe0f7 ! 35: LDSTUB_I ldstub %r9, [%r31 + 0x00f7]
7925splash_hpstate_8_19:
7926 .word 0x81982c5f ! 36: WRHPR_HPSTATE_I wrhpr %r0, 0x0c5f, %hpstate
7927br_longdelay1_8_20:
7928 .word 0x3b400001 ! 1: FBPLE fble,a,pn %fcc0, <label_0x1>
7929 .word 0xbfe7c000 ! 37: SAVE_R save %r31, %r0, %r31
7930 nop
7931 mov 0x80, %g3
7932 stxa %g3, [%g3] 0x5f
7933 .word 0xd25fc000 ! 38: LDX_R ldx [%r31 + %r0], %r9
7934 .word 0xd23fc000 ! 39: STD_R std %r9, [%r31 + %r0]
7935!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_8_21)+48, 16, 16)) -> intp(mask2tid(0x8),1,3)
7936!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_8_21)&0xffffffff) +48, 16, 16)) -> intp(mask2tid(0x8),1,3)
7937xir_8_21:
7938 .word 0xa984af09 ! 40: WR_SET_SOFTINT_I wr %r18, 0x0f09, %set_softint
7939splash_hpstate_8_22:
7940 ta T_CHANGE_NONHPRIV
7941 .word 0x8198250e ! 41: WRHPR_HPSTATE_I wrhpr %r0, 0x050e, %hpstate
7942 .word 0x87acca50 ! 42: FCMPd fcmpd %fcc<n>, %f50, %f16
7943splash_tba_8_23:
7944 ta T_CHANGE_PRIV
7945 setx 0x00000000003a0000, %r11, %r12
7946 .word 0x8b90000c ! 43: WRPR_TBA_R wrpr %r0, %r12, %tba
7947splash_cmpr_8_24:
7948 nop
7949 setx 0x5c492d6baf3bf942, %l2, %l1
7950 ta T_CHANGE_HPRIV
7951 wrhpr %l1, %g0, %hsys_tick_cmpr
7952 ta T_CHANGE_NONHPRIV
7953 sub %l1, 40, %g1
7954 .word 0x89900011 ! 44: WRPR_TICK_R wrpr %r0, %r17, %tick
7955br_longdelay1_8_25:
7956 .word 0x24800001 ! 1: BLE ble,a <label_0x1>
7957 .word 0xbfefc000 ! 45: RESTORE_R restore %r31, %r0, %r31
7958mondo_8_26:
7959 nop
7960 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
7961 stxa %r6, [%r0+0x3d8] %asi
7962 .word 0x9d91c010 ! 46: WRPR_WSTATE_R wrpr %r7, %r16, %wstate
7963 otherw
7964 mov 0x31, %r30
7965 .word 0x93d0001e ! 47: Tcc_R tne icc_or_xcc, %r0 + %r30
7966 .word 0xa9840005 ! 48: WR_SET_SOFTINT_R wr %r16, %r5, %set_softint
7967 nop
7968 ta T_CHANGE_HPRIV
7969 mov 0x8, %r10
7970 set sync_thr_counter2, %r23
7971 cas [%r23],%g0,%r10 !lock
7972 brnz %r10, sma_8_27
7973 rd %asi, %r12
7974 wr %g0, 0x40, %asi
7975 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
7976 set 0x000a1fff, %g1
7977 stxa %g1, [%g0 + 0x80] %asi
7978 wr %r12, %g0, %asi
7979 st %g0, [%r23]
7980sma_8_27:
7981 ta T_CHANGE_NONHPRIV
7982 .word 0xe9e7e013 ! 49: CASA_R casa [%r31] %asi, %r19, %r20
7983 .word 0xe86fe059 ! 50: LDSTUB_I ldstub %r20, [%r31 + 0x0059]
7984 invalw
7985 mov 0x31, %r30
7986 .word 0x91d0001e ! 51: Tcc_R ta icc_or_xcc, %r0 + %r30
7987pmu_8_28:
7988 nop
7989 ta T_CHANGE_PRIV
7990 setx 0xfffff4ddfffff2c2, %g1, %g7
7991 .word 0xa3800007 ! 52: WR_PERF_COUNTER_R wr %r0, %r7, %-
7992dvapa_8_29:
7993 nop
7994 ta T_CHANGE_HPRIV
7995 mov 0x883, %r20
7996 mov 0x0, %r19
7997 sllx %r20, 23, %r20
7998 or %r19, %r20, %r19
7999 stxa %r19, [%g0] ASI_LSU_CONTROL
8000 mov 0x38, %r18
8001 stxa %r31, [%r18]0x58
8002 ta T_CHANGE_NONHPRIV
8003 .word 0xe83fe982 ! 53: STD_I std %r20, [%r31 + 0x0982]
8004 .word 0xe19fda00 ! 54: LDDFA_R ldda [%r31, %r0], %f16
8005fpinit_8_30:
8006 setx fp_data_quads, %r19, %r20
8007 ldd [%r20], %f0
8008 ldd [%r20+8], %f4
8009 ld [%r20+16], %fsr
8010 ld [%r20+24], %r19
8011 wr %r19, %g0, %gsr
8012 .word 0x91a009a4 ! 55: FDIVs fdivs %f0, %f4, %f8
8013 setx 0x88286f941a037c5f, %r1, %r28
8014 stxa %r28, [%g0] 0x73
8015intvec_8_31:
8016 .word 0x39400001 ! 56: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
8017 invalw
8018 mov 0x33, %r30
8019 .word 0x91d0001e ! 57: Tcc_R ta icc_or_xcc, %r0 + %r30
8020br_longdelay4_8_32:
8021 nop
8022 not %g0, %r12
8023 jmp %r12
8024 .word 0x9d902001 ! 58: WRPR_WSTATE_I wrpr %r0, 0x0001, %wstate
8025 .word 0x91a249d0 ! 59: FDIVd fdivd %f40, %f16, %f8
8026 setx 0x2670081162cb2fb5, %r1, %r28
8027 stxa %r28, [%g0] 0x73
8028intvec_8_33:
8029 .word 0x39400001 ! 60: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
8030mondo_8_34:
8031 nop
8032 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
8033 ta T_CHANGE_PRIV
8034 stxa %r12, [%r0+0x3c8] %asi
8035 .word 0x9d94c010 ! 61: WRPR_WSTATE_R wrpr %r19, %r16, %wstate
8036 nop
8037 ta T_CHANGE_HPRIV
8038 mov 0x8, %r10
8039 set sync_thr_counter2, %r23
8040 cas [%r23],%g0,%r10 !lock
8041 brnz %r10, sma_8_35
8042 rd %asi, %r12
8043 wr %g0, 0x40, %asi
8044 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
8045 set 0x00161fff, %g1
8046 stxa %g1, [%g0 + 0x80] %asi
8047 wr %r12, %g0, %asi
8048 st %g0, [%r23]
8049sma_8_35:
8050 ta T_CHANGE_NONHPRIV
8051 .word 0xd1e7e00a ! 62: CASA_R casa [%r31] %asi, %r10, %r8
8052splash_decr_8_36:
8053 nop
8054 ta T_CHANGE_HPRIV
8055 mov 8, %r1
8056 stxa %r7, [%r1] 0x45
8057 .word 0xa7848012 ! 63: WR_GRAPHICS_STATUS_REG_R wr %r18, %r18, %-
8058 .word 0x9f8031a4 ! 64: SIR sir 0x11a4
8059 .word 0xd08fe030 ! 65: LDUBA_I lduba [%r31, + 0x0030] %asi, %r8
8060 .word 0xd03fc000 ! 66: STD_R std %r8, [%r31 + %r0]
8061 .word 0xc32fc000 ! 67: STXFSR_R st-sfr %f1, [%r0, %r31]
8062 .word 0xd0800a80 ! 68: LDUWA_R lduwa [%r0, %r0] 0x54, %r8
8063change_to_randtl_8_37:
8064 ta T_CHANGE_HPRIV ! macro
8065done_change_to_randtl_8_37:
8066 .word 0x8f902002 ! 69: WRPR_TL_I wrpr %r0, 0x0002, %tl
8067dvapa_8_38:
8068 nop
8069 ta T_CHANGE_HPRIV
8070 mov 0xdf4, %r20
8071 mov 0x6, %r19
8072 sllx %r20, 23, %r20
8073 or %r19, %r20, %r19
8074 stxa %r19, [%g0] ASI_LSU_CONTROL
8075 mov 0x38, %r18
8076 stxa %r31, [%r18]0x58
8077 ta T_CHANGE_NONHPRIV
8078 .word 0xd097c024 ! 70: LDUHA_R lduha [%r31, %r4] 0x01, %r8
8079intveclr_8_39:
8080 nop
8081 ta T_CHANGE_HPRIV
8082 setx 0x2af3d0a7409070c4, %r1, %r28
8083 stxa %r28, [%g0] 0x72
8084 .word 0x25400001 ! 71: FBPLG fblg,a,pn %fcc0, <label_0x1>
8085mondo_8_40:
8086 nop
8087 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
8088 stxa %r3, [%r0+0x3e0] %asi
8089 .word 0x9d91c007 ! 72: WRPR_WSTATE_R wrpr %r7, %r7, %wstate
8090 .word 0x9192c005 ! 73: WRPR_PIL_R wrpr %r11, %r5, %pil
8091!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_8_42) + 32, 16, 16)) -> intp(1,0,20)
8092!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_8_42)&0xffffffff) + 32, 16, 16)) -> intp(1,0,20)
8093intvec_8_42:
8094 .word 0x39400001 ! 74: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
8095 .word 0x9f803fc1 ! 75: SIR sir 0x1fc1
8096br_longdelay2_8_43:
8097 .word 0x29400001 ! 1: FBPL fbl,a,pn %fcc0, <label_0x1>
8098 .word 0x87ad0a43 ! 76: FCMPd fcmpd %fcc<n>, %f20, %f34
8099splash_cmpr_8_44:
8100 nop
8101 setx 0x04eb56d253710093, %l2, %l1
8102 ta T_CHANGE_HPRIV
8103 wrhpr %l1, %g0, %hsys_tick_cmpr
8104 sub %l1, 40, %g1
8105 .word 0x89900011 ! 77: WRPR_TICK_R wrpr %r0, %r17, %tick
8106 nop
8107 ta T_CHANGE_HPRIV
8108 mov 0x8, %r10
8109 set sync_thr_counter2, %r23
8110 cas [%r23],%g0,%r10 !lock
8111 brnz %r10, sma_8_45
8112 rd %asi, %r12
8113 wr %g0, 0x40, %asi
8114 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
8115 set 0x00061fff, %g1
8116 stxa %g1, [%g0 + 0x80] %asi
8117 wr %r12, %g0, %asi
8118 st %g0, [%r23]
8119sma_8_45:
8120 ta T_CHANGE_NONHPRIV
8121 .word 0xe3e7e005 ! 78: CASA_R casa [%r31] %asi, %r5, %r17
8122 .word 0x2ecc8001 ! 1: BRGEZ brgez,a,pt %r18,<label_0xc8001>
8123 .word 0x8d90338a ! 79: WRPR_PSTATE_I wrpr %r0, 0x138a, %pstate
8124 nop
8125 ta T_CHANGE_HPRIV
8126 mov 0x8+1, %r10
8127 set sync_thr_counter1, %r23
8128 cas [%r23],%g0,%r10 !lock
8129 brnz %r10, cwq_8_47
8130 rd %asi, %r12
8131 wr %g0, 0x40, %asi
8132 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
8133 and %l1, 0x3, %l1 ! Check if busy/enabled ..
8134 cmp %l1, 1
8135 bne cwq_8_47
8136 set CWQ_BASE, %l6
8137 best_set_reg(0x20610090, %l1, %l2) !# Control Word
8138 sllx %l2, 32, %l2
8139 stx %l2, [%l6 + 0x0]
8140 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
8141 sub %l2, 0x40, %l2
8142 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
8143 wr %r12, %g0, %asi
8144 st %g0, [%r23]
8145cwq_8_47:
8146 ta T_CHANGE_NONHPRIV
8147 .word 0xa9414000 ! 80: RDPC rd %pc, %r20
8148!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_8_48)+40, 16, 16)) -> intp(mask2tid(0x8),1,3)
8149!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_8_48)&0xffffffff) +40, 16, 16)) -> intp(mask2tid(0x8),1,3)
8150xir_8_48:
8151 .word 0xa98460a7 ! 81: WR_SET_SOFTINT_I wr %r17, 0x00a7, %set_softint
8152 .word 0x9192c010 ! 82: WRPR_PIL_R wrpr %r11, %r16, %pil
8153intveclr_8_50:
8154 nop
8155 ta T_CHANGE_HPRIV
8156 setx 0xb944b0f61c2f4a8e, %r1, %r28
8157 stxa %r28, [%g0] 0x72
8158 ta T_CHANGE_NONHPRIV
8159 .word 0x25400001 ! 83: FBPLG fblg,a,pn %fcc0, <label_0x1>
8160mondo_8_51:
8161 nop
8162 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
8163 stxa %r7, [%r0+0x3d0] %asi
8164 .word 0x9d91c013 ! 84: WRPR_WSTATE_R wrpr %r7, %r19, %wstate
8165splash_hpstate_8_52:
8166 .word 0x81982817 ! 85: WRHPR_HPSTATE_I wrhpr %r0, 0x0817, %hpstate
8167 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
8168reduce_priv_lvl_8_53:
8169 ta T_CHANGE_NONHPRIV ! macro
8170ibp_8_54:
8171 nop
8172 ta T_CHANGE_HPRIV
8173 ta T_CHANGE_NONHPRIV
8174 .word 0xdb3fc008 ! 87: STDF_R std %f13, [%r8, %r31]
8175splash_hpstate_8_55:
8176 ta T_CHANGE_NONHPRIV
8177 .word 0x81982117 ! 88: WRHPR_HPSTATE_I wrhpr %r0, 0x0117, %hpstate
8178 .word 0x97b08481 ! 89: FCMPLE32 fcmple32 %d2, %d32, %r11
8179 .word 0xdb27c000 ! 90: STF_R st %f13, [%r0, %r31]
8180splash_tba_8_56:
8181 ta T_CHANGE_PRIV
8182 set 0x120000, %r12
8183 .word 0x8b90000c ! 91: WRPR_TBA_R wrpr %r0, %r12, %tba
8184fpinit_8_57:
8185 setx fp_data_quads, %r19, %r20
8186 ldd [%r20], %f0
8187 ldd [%r20+8], %f4
8188 ld [%r20+16], %fsr
8189 ld [%r20+24], %r19
8190 wr %r19, %g0, %gsr
8191 .word 0x91a009c4 ! 92: FDIVd fdivd %f0, %f4, %f8
8192!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_8_58) + 16, 16, 16)) -> intp(7,0,14)
8193!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_8_58)&0xffffffff) + 16, 16, 16)) -> intp(7,0,14)
8194intvec_8_58:
8195 .word 0x39400001 ! 93: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
8196intveclr_8_59:
8197 nop
8198 ta T_CHANGE_HPRIV
8199 setx 0x44bc06adce91263e, %r1, %r28
8200 stxa %r28, [%g0] 0x72
8201 .word 0x25400001 ! 94: FBPLG fblg,a,pn %fcc0, <label_0x1>
8202 .word 0xe19fda00 ! 95: LDDFA_R ldda [%r31, %r0], %f16
8203 .word 0x83d02035 ! 96: Tcc_I te icc_or_xcc, %r0 + 53
8204 nop
8205 ta T_CHANGE_HPRIV
8206 mov 0x8+1, %r10
8207 set sync_thr_counter1, %r23
8208 cas [%r23],%g0,%r10 !lock
8209 brnz %r10, cwq_8_60
8210 rd %asi, %r12
8211 wr %g0, 0x40, %asi
8212 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
8213 and %l1, 0x3, %l1 ! Check if busy/enabled ..
8214 cmp %l1, 1
8215 bne cwq_8_60
8216 set CWQ_BASE, %l6
8217 best_set_reg(0x20610010, %l1, %l2) !# Control Word
8218 sllx %l2, 32, %l2
8219 stx %l2, [%l6 + 0x0]
8220 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
8221 sub %l2, 0x40, %l2
8222 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
8223 wr %r12, %g0, %asi
8224 st %g0, [%r23]
8225cwq_8_60:
8226 ta T_CHANGE_NONHPRIV
8227 .word 0xa5414000 ! 97: RDPC rd %pc, %r18
8228memptr_8_61:
8229 set 0x60540000, %r31
8230 .word 0x85846a8c ! 98: WRCCR_I wr %r17, 0x0a8c, %ccr
8231mondo_8_62:
8232 nop
8233 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
8234 ta T_CHANGE_PRIV
8235 stxa %r13, [%r0+0x3e8] %asi
8236 .word 0x9d92800c ! 99: WRPR_WSTATE_R wrpr %r10, %r12, %wstate
8237 .word 0x83d02032 ! 100: Tcc_I te icc_or_xcc, %r0 + 50
8238ibp_8_63:
8239 nop
8240 ta T_CHANGE_HPRIV
8241 .word 0xc32fc011 ! 101: STXFSR_R st-sfr %f1, [%r17, %r31]
8242 .word 0xe1bfe0c0 ! 102: STDFA_I stda %f16, [0x00c0, %r31]
8243!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_8_64)+40, 16, 16)) -> intp(mask2tid(0x8),1,3)
8244!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_8_64)&0xffffffff) +40, 16, 16)) -> intp(mask2tid(0x8),1,3)
8245xir_8_64:
8246 .word 0xa984fac4 ! 103: WR_SET_SOFTINT_I wr %r19, 0x1ac4, %set_softint
8247 .word 0xe1bfe0e0 ! 104: STDFA_I stda %f16, [0x00e0, %r31]
8248 .word 0xc1bfc2c0 ! 105: STDFA_R stda %f0, [%r0, %r31]
8249 .word 0x20700001 ! 106: BPN <illegal instruction>
8250jmptr_8_65:
8251 nop
8252 best_set_reg(0xe0a00000, %r20, %r27)
8253 .word 0xb7c6c000 ! 107: JMPL_R jmpl %r27 + %r0, %r27
8254 .word 0xe06fe0d9 ! 108: LDSTUB_I ldstub %r16, [%r31 + 0x00d9]
8255 .word 0xb1800011 ! 109: WR_STICK_REG_R wr %r0, %r17, %-
8256fpinit_8_66:
8257 setx fp_data_quads, %r19, %r20
8258 ldd [%r20], %f0
8259 ldd [%r20+8], %f4
8260 ld [%r20+16], %fsr
8261 ld [%r20+24], %r19
8262 wr %r19, %g0, %gsr
8263 .word 0xc3e82765 ! 110: PREFETCHA_I prefetcha [%r0, + 0x0765] %asi, #one_read
8264 .word 0xc1bfe000 ! 111: STDFA_I stda %f0, [0x0000, %r31]
8265 nop
8266 ta T_CHANGE_HPRIV
8267 mov 0x8+1, %r10
8268 set sync_thr_counter1, %r23
8269 cas [%r23],%g0,%r10 !lock
8270 brnz %r10, cwq_8_67
8271 rd %asi, %r12
8272 wr %g0, 0x40, %asi
8273 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
8274 and %l1, 0x3, %l1 ! Check if busy/enabled ..
8275 cmp %l1, 1
8276 bne cwq_8_67
8277 set CWQ_BASE, %l6
8278 best_set_reg(0x20610040, %l1, %l2) !# Control Word
8279 sllx %l2, 32, %l2
8280 stx %l2, [%l6 + 0x0]
8281 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
8282 sub %l2, 0x40, %l2
8283 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
8284 wr %r12, %g0, %asi
8285 st %g0, [%r23]
8286cwq_8_67:
8287 ta T_CHANGE_NONHPRIV
8288 .word 0xa3414000 ! 112: RDPC rd %pc, %r17
8289 .word 0x91a00169 ! 113: FABSq dis not found
8290
8291 .word 0xa7450000 ! 114: RD_SET_SOFTINT rd %set_softint, %r19
8292 .word 0xe19fc2c0 ! 115: LDDFA_R ldda [%r31, %r0], %f16
8293pmu_8_68:
8294 nop
8295 ta T_CHANGE_PRIV
8296 setx 0xfffffb9cfffff183, %g1, %g7
8297 .word 0xa3800007 ! 116: WR_PERF_COUNTER_R wr %r0, %r7, %-
8298 nop
8299 ta T_CHANGE_HPRIV
8300 mov 0x8+1, %r10
8301 set sync_thr_counter1, %r23
8302 cas [%r23],%g0,%r10 !lock
8303 brnz %r10, cwq_8_69
8304 rd %asi, %r12
8305 wr %g0, 0x40, %asi
8306 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
8307 and %l1, 0x3, %l1 ! Check if busy/enabled ..
8308 cmp %l1, 1
8309 bne cwq_8_69
8310 set CWQ_BASE, %l6
8311 best_set_reg(0x20610020, %l1, %l2) !# Control Word
8312 sllx %l2, 32, %l2
8313 stx %l2, [%l6 + 0x0]
8314 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
8315 sub %l2, 0x40, %l2
8316 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
8317 wr %r12, %g0, %asi
8318 st %g0, [%r23]
8319cwq_8_69:
8320 ta T_CHANGE_NONHPRIV
8321 .word 0xa3414000 ! 117: RDPC rd %pc, %r17
8322splash_hpstate_8_70:
8323 .word 0x26800001 ! 1: BL bl,a <label_0x1>
8324 .word 0x81982847 ! 118: WRHPR_HPSTATE_I wrhpr %r0, 0x0847, %hpstate
8325 nop
8326 ta T_CHANGE_HPRIV
8327 mov 0x8, %r10
8328 set sync_thr_counter2, %r23
8329 cas [%r23],%g0,%r10 !lock
8330 brnz %r10, sma_8_71
8331 rd %asi, %r12
8332 wr %g0, 0x40, %asi
8333 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
8334 set 0x001a1fff, %g1
8335 stxa %g1, [%g0 + 0x80] %asi
8336 wr %r12, %g0, %asi
8337 st %g0, [%r23]
8338sma_8_71:
8339 ta T_CHANGE_NONHPRIV
8340 .word 0xe3e7e00d ! 119: CASA_R casa [%r31] %asi, %r13, %r17
8341 .word 0xe2d7e018 ! 120: LDSHA_I ldsha [%r31, + 0x0018] %asi, %r17
8342 .word 0x9f8034c4 ! 121: SIR sir 0x14c4
8343 .word 0x9f803e5a ! 122: SIR sir 0x1e5a
8344tagged_8_72:
8345 tsubcctv %r16, 0x1db2, %r19
8346 .word 0xe207e058 ! 123: LDUW_I lduw [%r31 + 0x0058], %r17
8347pmu_8_73:
8348 nop
8349 ta T_CHANGE_PRIV
8350 setx 0xfffffff5fffff234, %g1, %g7
8351 .word 0xa3800007 ! 124: WR_PERF_COUNTER_R wr %r0, %r7, %-
8352mondo_8_74:
8353 nop
8354 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
8355 stxa %r16, [%r0+0x3c8] %asi
8356 .word 0x9d944003 ! 125: WRPR_WSTATE_R wrpr %r17, %r3, %wstate
8357 .word 0xe26fe0c5 ! 126: LDSTUB_I ldstub %r17, [%r31 + 0x00c5]
8358 .word 0xe31fc000 ! 127: LDDF_R ldd [%r31, %r0], %f17
8359 .word 0xe227e008 ! 128: STW_I stw %r17, [%r31 + 0x0008]
8360intveclr_8_75:
8361 nop
8362 ta T_CHANGE_HPRIV
8363 setx 0x1ee25f7bb21ee64f, %r1, %r28
8364 stxa %r28, [%g0] 0x72
8365 .word 0x25400001 ! 129: FBPLG fblg,a,pn %fcc0, <label_0x1>
8366 .word 0xe22fe019 ! 130: STB_I stb %r17, [%r31 + 0x0019]
8367!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_8_76)+8, 16, 16)) -> intp(mask2tid(0x8),1,3)
8368!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_8_76)&0xffffffff) +8, 16, 16)) -> intp(mask2tid(0x8),1,3)
8369xir_8_76:
8370 .word 0xa9817ad7 ! 131: WR_SET_SOFTINT_I wr %r5, 0x1ad7, %set_softint
8371 .word 0xe337e061 ! 132: STQF_I - %f17, [0x0061, %r31]
8372 .word 0xe337c000 ! 133: STQF_R - %f17, [%r0, %r31]
8373 .word 0xe327e040 ! 134: STF_I st %f17, [0x0040, %r31]
8374jmptr_8_77:
8375 nop
8376 best_set_reg(0xe0a00000, %r20, %r27)
8377 .word 0xb7c6c000 ! 135: JMPL_R jmpl %r27 + %r0, %r27
8378pmu_8_78:
8379 nop
8380 ta T_CHANGE_PRIV
8381 setx 0xffffff1ffffffbeb, %g1, %g7
8382 .word 0xa3800007 ! 136: WR_PERF_COUNTER_R wr %r0, %r7, %-
8383dvapa_8_79:
8384 nop
8385 ta T_CHANGE_HPRIV
8386 mov 0xa30, %r20
8387 mov 0x17, %r19
8388 sllx %r20, 23, %r20
8389 or %r19, %r20, %r19
8390 stxa %r19, [%g0] ASI_LSU_CONTROL
8391 mov 0x38, %r18
8392 stxa %r31, [%r18]0x58
8393 ta T_CHANGE_NONHPRIV
8394 .word 0xe31fc011 ! 137: LDDF_R ldd [%r31, %r17], %f17
8395 .word 0xc19fc2c0 ! 138: LDDFA_R ldda [%r31, %r0], %f0
8396mondo_8_80:
8397 nop
8398 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
8399 stxa %r17, [%r0+0x3d0] %asi
8400 .word 0x9d94c012 ! 139: WRPR_WSTATE_R wrpr %r19, %r18, %wstate
8401 .word 0x8d802000 ! 140: WRFPRS_I wr %r0, 0x0000, %fprs
8402mondo_8_81:
8403 nop
8404 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
8405 stxa %r16, [%r0+0x3e0] %asi
8406 .word 0x9d948003 ! 141: WRPR_WSTATE_R wrpr %r18, %r3, %wstate
8407pmu_8_82:
8408 nop
8409 ta T_CHANGE_PRIV
8410 setx 0xfffffdd9fffffbd0, %g1, %g7
8411 .word 0xa3800007 ! 142: WR_PERF_COUNTER_R wr %r0, %r7, %-
8412 .word 0x95b4c492 ! 143: FCMPLE32 fcmple32 %d50, %d18, %r10
8413!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_8_83)+40, 16, 16)) -> intp(mask2tid(0x8),1,3)
8414!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_8_83)&0xffffffff) +40, 16, 16)) -> intp(mask2tid(0x8),1,3)
8415xir_8_83:
8416 .word 0xa984e504 ! 144: WR_SET_SOFTINT_I wr %r19, 0x0504, %set_softint
8417cwp_8_84:
8418 set user_data_start, %o7
8419 .word 0x93902007 ! 145: WRPR_CWP_I wrpr %r0, 0x0007, %cwp
8420intveclr_8_85:
8421 nop
8422 ta T_CHANGE_HPRIV
8423 setx 0x7c26fc616b8113b3, %r1, %r28
8424 stxa %r28, [%g0] 0x72
8425 ta T_CHANGE_NONHPRIV
8426 .word 0x25400001 ! 146: FBPLG fblg,a,pn %fcc0, <label_0x1>
8427 nop
8428 ta T_CHANGE_HPRIV
8429 mov 0x8, %r10
8430 set sync_thr_counter2, %r23
8431 cas [%r23],%g0,%r10 !lock
8432 brnz %r10, sma_8_86
8433 rd %asi, %r12
8434 wr %g0, 0x40, %asi
8435 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
8436 set 0x00121fff, %g1
8437 stxa %g1, [%g0 + 0x80] %asi
8438 wr %r12, %g0, %asi
8439 st %g0, [%r23]
8440sma_8_86:
8441 ta T_CHANGE_NONHPRIV
8442 .word 0xd9e7e011 ! 147: CASA_R casa [%r31] %asi, %r17, %r12
8443 .word 0x9ba00168 ! 148: FABSq dis not found
8444
8445 .word 0x93a049d2 ! 149: FDIVd fdivd %f32, %f18, %f40
8446 nop
8447 ta T_CHANGE_HPRIV
8448 mov 0x8, %r10
8449 set sync_thr_counter2, %r23
8450 cas [%r23],%g0,%r10 !lock
8451 brnz %r10, sma_8_87
8452 rd %asi, %r12
8453 wr %g0, 0x40, %asi
8454 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
8455 set 0x001a1fff, %g1
8456 stxa %g1, [%g0 + 0x80] %asi
8457 wr %r12, %g0, %asi
8458 st %g0, [%r23]
8459sma_8_87:
8460 ta T_CHANGE_NONHPRIV
8461 .word 0xdbe7e011 ! 150: CASA_R casa [%r31] %asi, %r17, %r13
8462 .word 0x91950001 ! 151: WRPR_PIL_R wrpr %r20, %r1, %pil
8463 .word 0xe19fdc00 ! 152: LDDFA_R ldda [%r31, %r0], %f16
8464 .word 0x3c700001 ! 153: BPPOS <illegal instruction>
8465 .word 0xda27e03a ! 154: STW_I stw %r13, [%r31 + 0x003a]
8466pmu_8_89:
8467 nop
8468 ta T_CHANGE_PRIV
8469 setx 0xfffff515fffff0cd, %g1, %g7
8470 .word 0xa3800007 ! 155: WR_PERF_COUNTER_R wr %r0, %r7, %-
8471 nop
8472 ta T_CHANGE_HPRIV
8473 mov 0x8, %r10
8474 set sync_thr_counter2, %r23
8475 cas [%r23],%g0,%r10 !lock
8476 brnz %r10, sma_8_90
8477 rd %asi, %r12
8478 wr %g0, 0x40, %asi
8479 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
8480 set 0x00161fff, %g1
8481 stxa %g1, [%g0 + 0x80] %asi
8482 wr %r12, %g0, %asi
8483 st %g0, [%r23]
8484sma_8_90:
8485 ta T_CHANGE_NONHPRIV
8486 .word 0xdbe7e013 ! 156: CASA_R casa [%r31] %asi, %r19, %r13
8487 setx 0xee019f091f62e44a, %r1, %r28
8488 stxa %r28, [%g0] 0x73
8489intvec_8_91:
8490 .word 0x39400001 ! 157: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
8491 .word 0x2e700001 ! 158: BPVS <illegal instruction>
8492 .word 0xda47c000 ! 159: LDSW_R ldsw [%r31 + %r0], %r13
8493splash_lsu_8_92:
8494 nop
8495 ta T_CHANGE_HPRIV
8496 set 0xafa7aa02, %r2
8497 mov 0x4, %r1
8498 sllx %r1, 32, %r1
8499 or %r1, %r2, %r2
8500 stxa %r2, [%r0] ASI_LSU_CONTROL
8501 ta T_CHANGE_NONHPRIV
8502 .word 0x3d400001 ! 160: FBPULE fbule,a,pn %fcc0, <label_0x1>
8503!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_8_93)+32, 16, 16)) -> intp(mask2tid(0x8),1,3)
8504!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_8_93)&0xffffffff) +32, 16, 16)) -> intp(mask2tid(0x8),1,3)
8505xir_8_93:
8506 .word 0xa9806754 ! 161: WR_SET_SOFTINT_I wr %r1, 0x0754, %set_softint
8507 .word 0xc1bfdf20 ! 162: STDFA_R stda %f0, [%r0, %r31]
8508pmu_8_94:
8509 nop
8510 setx 0xfffff06afffff478, %g1, %g7
8511 .word 0xa3800007 ! 163: WR_PERF_COUNTER_R wr %r0, %r7, %-
8512 .word 0x3a800001 ! 164: BCC bcc,a <label_0x1>
8513 .word 0x93464000 ! 165: RD_STICK_CMPR_REG rd %-, %r9
8514pmu_8_95:
8515 nop
8516 ta T_CHANGE_PRIV
8517 setx 0xfffff42cfffff7f1, %g1, %g7
8518 .word 0xa3800007 ! 166: WR_PERF_COUNTER_R wr %r0, %r7, %-
8519 .word 0xb1800011 ! 167: WR_STICK_REG_R wr %r0, %r17, %-
8520 nop
8521 ta T_CHANGE_HPRIV
8522 mov 0x8, %r10
8523 set sync_thr_counter2, %r23
8524 cas [%r23],%g0,%r10 !lock
8525 brnz %r10, sma_8_96
8526 rd %asi, %r12
8527 wr %g0, 0x40, %asi
8528 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
8529 set 0x000e1fff, %g1
8530 stxa %g1, [%g0 + 0x80] %asi
8531 wr %r12, %g0, %asi
8532 st %g0, [%r23]
8533sma_8_96:
8534 ta T_CHANGE_NONHPRIV
8535 .word 0xdbe7e013 ! 168: CASA_R casa [%r31] %asi, %r19, %r13
8536pmu_8_97:
8537 nop
8538 ta T_CHANGE_PRIV
8539 setx 0xfffffa0afffffad8, %g1, %g7
8540 .word 0xa3800007 ! 169: WR_PERF_COUNTER_R wr %r0, %r7, %-
8541pmu_8_98:
8542 nop
8543 ta T_CHANGE_PRIV
8544 setx 0xfffffe84fffff032, %g1, %g7
8545 .word 0xa3800007 ! 170: WR_PERF_COUNTER_R wr %r0, %r7, %-
8546 .word 0x83d020b5 ! 171: Tcc_I te icc_or_xcc, %r0 + 181
8547 .word 0xa9844010 ! 172: WR_SET_SOFTINT_R wr %r17, %r16, %set_softint
8548 otherw
8549 mov 0xb1, %r30
8550 .word 0x91d0001e ! 173: Tcc_R ta icc_or_xcc, %r0 + %r30
8551brcommon_8_99:
8552 ba,a .+12
8553 mov %r31, %r15
8554 ba,a .+8
8555 call common_target
8556 .word 0xdabfc023 ! 174: STDA_R stda %r13, [%r31 + %r3] 0x01
8557br_badelay3_8_100:
8558 .word 0x34800001 ! 1: BG bg,a <label_0x1>
8559 .word 0xfd6a1578 ! Random illegal ?
8560 .word 0xe314800a ! 1: LDQF_R - [%r18, %r10], %f17
8561 .word 0x9ba4882b ! 175: FADDs fadds %f18, %f11, %f13
8562 .word 0xa3a049d3 ! 176: FDIVd fdivd %f32, %f50, %f48
8563 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
8564reduce_priv_lvl_8_101:
8565 ta T_CHANGE_NONHPRIV ! macro
8566 nop
8567 mov 0x80, %g3
8568 stxa %g3, [%g3] 0x57
8569 .word 0xe05fc000 ! 178: LDX_R ldx [%r31 + %r0], %r16
8570memptr_8_102:
8571 set user_data_start, %r31
8572 .word 0x858422a3 ! 179: WRCCR_I wr %r16, 0x02a3, %ccr
8573 setx 0x346c3fce7e327d32, %r1, %r28
8574 stxa %r28, [%g0] 0x73
8575intvec_8_103:
8576 .word 0x39400001 ! 180: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
8577 .word 0xc1bfe020 ! 181: STDFA_I stda %f0, [0x0020, %r31]
8578 set 0x4bd, %l3
8579 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
8580 .word 0x99b2c7ca ! 182: PDIST pdistn %d42, %d10, %d12
8581mondo_8_104:
8582 nop
8583 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
8584 ta T_CHANGE_PRIV
8585 stxa %r20, [%r0+0x3c8] %asi
8586 .word 0x9d920011 ! 183: WRPR_WSTATE_R wrpr %r8, %r17, %wstate
8587 .word 0x9f8020b6 ! 184: SIR sir 0x00b6
8588 .word 0x99a509d0 ! 185: FDIVd fdivd %f20, %f16, %f12
8589 .word 0xa7b48487 ! 186: FCMPLE32 fcmple32 %d18, %d38, %r19
8590dvapa_8_105:
8591 nop
8592 ta T_CHANGE_HPRIV
8593 mov 0xe25, %r20
8594 mov 0x11, %r19
8595 sllx %r20, 23, %r20
8596 or %r19, %r20, %r19
8597 stxa %r19, [%g0] ASI_LSU_CONTROL
8598 mov 0x38, %r18
8599 stxa %r31, [%r18]0x58
8600 ta T_CHANGE_NONHPRIV
8601 .word 0xd13fc013 ! 187: STDF_R std %f8, [%r19, %r31]
8602mondo_8_106:
8603 nop
8604 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
8605 stxa %r16, [%r0+0x3c0] %asi
8606 .word 0x9d910013 ! 188: WRPR_WSTATE_R wrpr %r4, %r19, %wstate
8607 .word 0x39400001 ! 189: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
8608vahole_8_107:
8609 nop
8610 ta T_CHANGE_NONHPRIV
8611 setx vahole_target, %r18, %r27
8612 jmpl %r27+0, %r27
8613 .word 0xe33fc001 ! 190: STDF_R std %f17, [%r1, %r31]
8614 .word 0xe237e0fa ! 191: STH_I sth %r17, [%r31 + 0x00fa]
8615 .word 0x97480000 ! 192: RDHPR_HPSTATE rdhpr %hpstate, %r11
8616!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_8_108)+24, 16, 16)) -> intp(mask2tid(0x8),1,3)
8617!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_8_108)&0xffffffff) +24, 16, 16)) -> intp(mask2tid(0x8),1,3)
8618xir_8_108:
8619 .word 0xa9826400 ! 193: WR_SET_SOFTINT_I wr %r9, 0x0400, %set_softint
8620 .word 0x9f803edc ! 194: SIR sir 0x1edc
8621dvapa_8_109:
8622 nop
8623 ta T_CHANGE_HPRIV
8624 mov 0xa79, %r20
8625 mov 0x9, %r19
8626 sllx %r20, 23, %r20
8627 or %r19, %r20, %r19
8628 stxa %r19, [%g0] ASI_LSU_CONTROL
8629 mov 0x38, %r18
8630 stxa %r31, [%r18]0x58
8631 ta T_CHANGE_NONHPRIV
8632 .word 0xe73fc001 ! 195: STDF_R std %f19, [%r1, %r31]
8633intveclr_8_110:
8634 nop
8635 ta T_CHANGE_HPRIV
8636 setx 0x9879253d97869981, %r1, %r28
8637 stxa %r28, [%g0] 0x72
8638 ta T_CHANGE_NONHPRIV
8639 .word 0x25400001 ! 196: FBPLG fblg,a,pn %fcc0, <label_0x1>
8640 set 0x2944, %l3
8641 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
8642 .word 0x99b4c7c2 ! 197: PDIST pdistn %d50, %d2, %d12
8643 .word 0xd3e7e012 ! 198: CASA_R casa [%r31] %asi, %r18, %r9
8644mondo_8_112:
8645 nop
8646 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
8647 stxa %r1, [%r0+0x3c8] %asi
8648 .word 0x9d950011 ! 199: WRPR_WSTATE_R wrpr %r20, %r17, %wstate
8649 nop
8650 ta T_CHANGE_HPRIV
8651 mov 0x8+1, %r10
8652 set sync_thr_counter1, %r23
8653 cas [%r23],%g0,%r10 !lock
8654 brnz %r10, cwq_8_113
8655 rd %asi, %r12
8656 wr %g0, 0x40, %asi
8657 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
8658 and %l1, 0x3, %l1 ! Check if busy/enabled ..
8659 cmp %l1, 1
8660 bne cwq_8_113
8661 set CWQ_BASE, %l6
8662 best_set_reg(0x20610060, %l1, %l2) !# Control Word
8663 sllx %l2, 32, %l2
8664 stx %l2, [%l6 + 0x0]
8665 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
8666 sub %l2, 0x40, %l2
8667 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
8668 wr %r12, %g0, %asi
8669 st %g0, [%r23]
8670cwq_8_113:
8671 ta T_CHANGE_NONHPRIV
8672 .word 0x9b414000 ! 200: RDPC rd %pc, %r13
8673mondo_8_114:
8674 nop
8675 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
8676 stxa %r20, [%r0+0x3e8] %asi
8677 .word 0x9d94800d ! 201: WRPR_WSTATE_R wrpr %r18, %r13, %wstate
8678 .word 0xc19fd920 ! 202: LDDFA_R ldda [%r31, %r0], %f0
8679 .word 0x91d02032 ! 203: Tcc_I ta icc_or_xcc, %r0 + 50
8680memptr_8_115:
8681 set 0x60340000, %r31
8682 .word 0x8580af87 ! 204: WRCCR_I wr %r2, 0x0f87, %ccr
8683 nop
8684 mov 0x80, %g3
8685 stxa %g3, [%g3] 0x57
8686 .word 0xe25fc000 ! 205: LDX_R ldx [%r31 + %r0], %r17
8687 .word 0x83d02033 ! 206: Tcc_I te icc_or_xcc, %r0 + 51
8688pmu_8_116:
8689 nop
8690 setx 0xfffff10bfffffdb8, %g1, %g7
8691 .word 0xa3800007 ! 207: WR_PERF_COUNTER_R wr %r0, %r7, %-
8692 .word 0x37400001 ! 1: FBPGE fbge,a,pn %fcc0, <label_0x1>
8693 .word 0x8d903116 ! 208: WRPR_PSTATE_I wrpr %r0, 0x1116, %pstate
8694splash_tba_8_118:
8695 ta T_CHANGE_PRIV
8696 setx 0x00000000003a0000, %r11, %r12
8697 .word 0x8b90000c ! 209: WRPR_TBA_R wrpr %r0, %r12, %tba
8698 .word 0x97b30491 ! 210: FCMPLE32 fcmple32 %d12, %d48, %r11
8699 .word 0xe1bfe060 ! 211: STDFA_I stda %f16, [0x0060, %r31]
8700 .word 0x38800001 ! 212: BGU bgu,a <label_0x1>
8701 .word 0xe1bfd960 ! 213: STDFA_R stda %f16, [%r0, %r31]
8702 .word 0xa1454000 ! 214: RD_CLEAR_SOFTINT rd %clear_softint, %r16
8703 .word 0x9f8023c4 ! 215: SIR sir 0x03c4
8704mondo_8_119:
8705 nop
8706 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
8707 ta T_CHANGE_PRIV
8708 stxa %r17, [%r0+0x3e0] %asi
8709 .word 0x9d91800d ! 216: WRPR_WSTATE_R wrpr %r6, %r13, %wstate
8710splash_lsu_8_120:
8711 nop
8712 ta T_CHANGE_HPRIV
8713 set 0x8c723708, %r2
8714 mov 0x1, %r1
8715 sllx %r1, 32, %r1
8716 or %r1, %r2, %r2
8717 stxa %r2, [%r0] ASI_LSU_CONTROL
8718 .word 0x3d400001 ! 217: FBPULE fbule,a,pn %fcc0, <label_0x1>
8719 .word 0x24800001 ! 218: BLE ble,a <label_0x1>
8720 .word 0xe1bfdc00 ! 219: STDFA_R stda %f16, [%r0, %r31]
8721 .word 0xd797e008 ! 220: LDQFA_I - [%r31, 0x0008], %f11
8722 .word 0xd73fc000 ! 221: STDF_R std %f11, [%r0, %r31]
8723donret_8_121:
8724 nop
8725 ta T_CHANGE_HPRIV ! macro
8726 rd %pc, %r12
8727 add %r12, (donretarg_8_121-donret_8_121-4), %r12
8728 mov 0x38, %r18
8729 stxa %r12, [%r18]0x58
8730 add %r12, 0x4, %r11
8731 wrpr %g0, 0x2, %tl
8732 wrpr %g0, %r12, %tpc
8733 wrpr %g0, %r11, %tnpc
8734 set (0x00fab73e | (0x55 << 24)), %r13
8735 rdpr %tstate, %r16
8736 mov 0x1f, %r19
8737 and %r19, %r16, %r17
8738 andn %r16, %r19, %r16
8739 or %r16, %r17, %r20
8740 wrpr %r20, %g0, %tstate
8741 wrhpr %g0, 0x49e, %htstate
8742 ta T_CHANGE_NONHPRIV ! rand=1 (8)
8743 done
8744donretarg_8_121:
8745 .word 0xd6ffe040 ! 222: SWAPA_I swapa %r11, [%r31 + 0x0040] %asi
8746!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_8_122)+48, 16, 16)) -> intp(mask2tid(0x8),1,3)
8747!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_8_122)&0xffffffff) +48, 16, 16)) -> intp(mask2tid(0x8),1,3)
8748xir_8_122:
8749 .word 0xa984f936 ! 223: WR_SET_SOFTINT_I wr %r19, 0x1936, %set_softint
8750 .word 0x99b20494 ! 224: FCMPLE32 fcmple32 %d8, %d20, %r12
8751ibp_8_123:
8752 nop
8753 ta T_CHANGE_HPRIV
8754 .word 0xe9e7e00b ! 225: CASA_R casa [%r31] %asi, %r11, %r20
8755 set 0x2114, %l3
8756 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
8757 .word 0x93b247d1 ! 226: PDIST pdistn %d40, %d48, %d40
8758 invalw
8759 mov 0x30, %r30
8760 .word 0x83d0001e ! 227: Tcc_R te icc_or_xcc, %r0 + %r30
8761 nop
8762 ta T_CHANGE_HPRIV
8763 mov 0x8+1, %r10
8764 set sync_thr_counter1, %r23
8765 cas [%r23],%g0,%r10 !lock
8766 brnz %r10, cwq_8_124
8767 rd %asi, %r12
8768 wr %g0, 0x40, %asi
8769 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
8770 and %l1, 0x3, %l1 ! Check if busy/enabled ..
8771 cmp %l1, 1
8772 bne cwq_8_124
8773 set CWQ_BASE, %l6
8774 best_set_reg(0x206100f0, %l1, %l2) !# Control Word
8775 sllx %l2, 32, %l2
8776 stx %l2, [%l6 + 0x0]
8777 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
8778 sub %l2, 0x40, %l2
8779 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
8780 wr %r12, %g0, %asi
8781 st %g0, [%r23]
8782cwq_8_124:
8783 ta T_CHANGE_NONHPRIV
8784 .word 0xa5414000 ! 228: RDPC rd %pc, %r18
8785 .word 0x91944010 ! 229: WRPR_PIL_R wrpr %r17, %r16, %pil
8786 .word 0x2e800001 ! 1: BVS bvs,a <label_0x1>
8787 .word 0x8d903127 ! 230: WRPR_PSTATE_I wrpr %r0, 0x1127, %pstate
8788 .word 0xd23fe05a ! 231: STD_I std %r9, [%r31 + 0x005a]
8789mondo_8_127:
8790 nop
8791 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
8792 ta T_CHANGE_PRIV
8793 stxa %r2, [%r0+0x3c8] %asi
8794 .word 0x9d91c011 ! 232: WRPR_WSTATE_R wrpr %r7, %r17, %wstate
8795 nop
8796 mov 0x80, %g3
8797 stxa %g3, [%g3] 0x57
8798 .word 0xd25fc000 ! 233: LDX_R ldx [%r31 + %r0], %r9
8799!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_8_128)+0, 16, 16)) -> intp(mask2tid(0x8),1,3)
8800!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_8_128)&0xffffffff) +0, 16, 16)) -> intp(mask2tid(0x8),1,3)
8801xir_8_128:
8802 .word 0xa985216d ! 234: WR_SET_SOFTINT_I wr %r20, 0x016d, %set_softint
8803 .word 0xc19fde00 ! 235: LDDFA_R ldda [%r31, %r0], %f0
8804invtsb_8_129:
8805 nop
8806 ta T_CHANGE_HPRIV
8807 rd %asi, %r21
8808 wr %r0,ASI_MMU_REAL_RANGE, %asi
8809 mov 1, %r20
8810 sllx %r20, 63, %r20
8811 ldxa [ASI_MMU_REAL_RANGE_0] %asi, %r22
8812 xor %r22 ,%r20, %r22
8813 stxa %r22, [ASI_MMU_REAL_RANGE_0] %asi
8814 ldxa [ASI_MMU_REAL_RANGE_1] %asi, %r22
8815 xor %r22 ,%r20, %r22
8816 stxa %r22, [ASI_MMU_REAL_RANGE_1] %asi
8817 ldxa [ASI_MMU_REAL_RANGE_2] %asi, %r22
8818 xor %r22 ,%r20, %r22
8819 stxa %r22, [ASI_MMU_REAL_RANGE_2] %asi
8820 ldxa [ASI_MMU_REAL_RANGE_3] %asi, %r22
8821 xor %r22 ,%r20, %r22
8822 stxa %r22, [ASI_MMU_REAL_RANGE_3] %asi
8823 wr %r21, %r0, %asi
8824 ta T_CHANGE_NONHPRIV
8825 .word 0x29800001 ! 236: FBL fbl,a <label_0x1>
8826splash_htba_8_130:
8827 nop
8828 ta T_CHANGE_HPRIV
8829 setx 0x00000000002a0000, %r11, %r12
8830 .word 0x8b98000c ! 237: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
8831ibp_8_131:
8832 nop
8833 ta T_CHANGE_HPRIV
8834 ta T_CHANGE_NONHPRIV
8835 .word 0xd2bfc033 ! 238: STDA_R stda %r9, [%r31 + %r19] 0x01
8836 .word 0xc3ec8022 ! 239: PREFETCHA_R prefetcha [%r18, %r2] 0x01, #one_read
8837!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_8_132)+56, 16, 16)) -> intp(mask2tid(0x8),1,3)
8838!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_8_132)&0xffffffff) +56, 16, 16)) -> intp(mask2tid(0x8),1,3)
8839xir_8_132:
8840 .word 0xa980fb6a ! 240: WR_SET_SOFTINT_I wr %r3, 0x1b6a, %set_softint
8841 .word 0x91910011 ! 241: WRPR_PIL_R wrpr %r4, %r17, %pil
8842 nop
8843 ta T_CHANGE_HPRIV
8844 mov 0x8, %r10
8845 set sync_thr_counter2, %r23
8846 cas [%r23],%g0,%r10 !lock
8847 brnz %r10, sma_8_134
8848 rd %asi, %r12
8849 wr %g0, 0x40, %asi
8850 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
8851 set 0x001e1fff, %g1
8852 stxa %g1, [%g0 + 0x80] %asi
8853 wr %r12, %g0, %asi
8854 st %g0, [%r23]
8855sma_8_134:
8856 ta T_CHANGE_NONHPRIV
8857 .word 0xe5e7e00d ! 242: CASA_R casa [%r31] %asi, %r13, %r18
8858mondo_8_135:
8859 nop
8860 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
8861 stxa %r13, [%r0+0x3d0] %asi
8862 .word 0x9d944011 ! 243: WRPR_WSTATE_R wrpr %r17, %r17, %wstate
8863ibp_8_136:
8864 nop
8865 ta T_CHANGE_HPRIV
8866 .word 0xe4dfc033 ! 244: LDXA_R ldxa [%r31, %r19] 0x01, %r18
8867splash_tba_8_137:
8868 ta T_CHANGE_PRIV
8869 setx 0x00000000003a0000, %r11, %r12
8870 .word 0x8b90000c ! 245: WRPR_TBA_R wrpr %r0, %r12, %tba
8871br_badelay3_8_138:
8872 .word 0x20800001 ! 1: BN bn,a <label_0x1>
8873 .word 0xe351dd6f ! Random illegal ?
8874 .word 0xe7124012 ! 1: LDQF_R - [%r9, %r18], %f19
8875 .word 0xa5a2c821 ! 246: FADDs fadds %f11, %f1, %f18
8876 .word 0x87a84a41 ! 247: FCMPd fcmpd %fcc<n>, %f32, %f32
8877 .word 0xc19fd960 ! 248: LDDFA_R ldda [%r31, %r0], %f0
8878brcommon_8_139:
8879 ba,a .+12
8880 mov %r31, %r15
8881 ba,a .+8
8882 call common_target
8883 .word 0xd5e7e010 ! 249: CASA_R casa [%r31] %asi, %r16, %r10
8884pmu_8_140:
8885 nop
8886 setx 0xfffffe63fffff911, %g1, %g7
8887 .word 0xa3800007 ! 250: WR_PERF_COUNTER_R wr %r0, %r7, %-
8888 .word 0xd43fc000 ! 251: STD_R std %r10, [%r31 + %r0]
8889dvapa_8_141:
8890 nop
8891 ta T_CHANGE_HPRIV
8892 mov 0x8b1, %r20
8893 mov 0xb, %r19
8894 sllx %r20, 23, %r20
8895 or %r19, %r20, %r19
8896 stxa %r19, [%g0] ASI_LSU_CONTROL
8897 mov 0x38, %r18
8898 stxa %r31, [%r18]0x58
8899 ta T_CHANGE_NONHPRIV
8900 .word 0xd4bfc030 ! 252: STDA_R stda %r10, [%r31 + %r16] 0x01
8901br_badelay3_8_142:
8902 .word 0x22800001 ! 1: BE be,a <label_0x1>
8903 .word 0xe347a71b ! Random illegal ?
8904 .word 0xd9148012 ! 1: LDQF_R - [%r18, %r18], %f12
8905 .word 0x91a28833 ! 253: FADDs fadds %f10, %f19, %f8
8906 otherw
8907 mov 0xb5, %r30
8908 .word 0x91d0001e ! 254: Tcc_R ta icc_or_xcc, %r0 + %r30
8909 setx 0x6ebe8b0eba831e9b, %r1, %r28
8910 stxa %r28, [%g0] 0x73
8911intvec_8_143:
8912 .word 0x39400001 ! 255: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
8913 nop
8914 ta T_CHANGE_HPRIV
8915 mov 0x8+1, %r10
8916 set sync_thr_counter1, %r23
8917 cas [%r23],%g0,%r10 !lock
8918 brnz %r10, cwq_8_144
8919 rd %asi, %r12
8920 wr %g0, 0x40, %asi
8921 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
8922 and %l1, 0x3, %l1 ! Check if busy/enabled ..
8923 cmp %l1, 1
8924 bne cwq_8_144
8925 set CWQ_BASE, %l6
8926 best_set_reg(0x206100e0, %l1, %l2) !# Control Word
8927 sllx %l2, 32, %l2
8928 stx %l2, [%l6 + 0x0]
8929 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
8930 sub %l2, 0x40, %l2
8931 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
8932 wr %r12, %g0, %asi
8933 st %g0, [%r23]
8934cwq_8_144:
8935 ta T_CHANGE_NONHPRIV
8936 .word 0x91414000 ! 256: RDPC rd %pc, %r8
8937 .word 0x93b28491 ! 257: FCMPLE32 fcmple32 %d10, %d48, %r9
8938dvapa_8_145:
8939 nop
8940 ta T_CHANGE_HPRIV
8941 mov 0xd6e, %r20
8942 mov 0xe, %r19
8943 sllx %r20, 23, %r20
8944 or %r19, %r20, %r19
8945 stxa %r19, [%g0] ASI_LSU_CONTROL
8946 mov 0x38, %r18
8947 stxa %r31, [%r18]0x58
8948 ta T_CHANGE_NONHPRIV
8949 .word 0xe4bfc032 ! 258: STDA_R stda %r18, [%r31 + %r18] 0x01
8950 invalw
8951 mov 0xb1, %r30
8952 .word 0x91d0001e ! 259: Tcc_R ta icc_or_xcc, %r0 + %r30
8953 .word 0xe457c000 ! 260: LDSH_R ldsh [%r31 + %r0], %r18
8954splash_lsu_8_146:
8955 nop
8956 ta T_CHANGE_HPRIV
8957 set 0x47bec33e, %r2
8958 mov 0x6, %r1
8959 sllx %r1, 32, %r1
8960 or %r1, %r2, %r2
8961 stxa %r2, [%r0] ASI_LSU_CONTROL
8962 .word 0x3d400001 ! 261: FBPULE fbule,a,pn %fcc0, <label_0x1>
8963 otherw
8964 mov 0x31, %r30
8965 .word 0x83d0001e ! 262: Tcc_R te icc_or_xcc, %r0 + %r30
8966 .word 0x91950003 ! 263: WRPR_PIL_R wrpr %r20, %r3, %pil
8967 .word 0xc19fdc00 ! 264: LDDFA_R ldda [%r31, %r0], %f0
8968 .word 0xe19fe0a0 ! 265: LDDFA_I ldda [%r31, 0x00a0], %f16
8969 nop
8970 ta T_CHANGE_HPRIV
8971 mov 0x8, %r10
8972 set sync_thr_counter2, %r23
8973 cas [%r23],%g0,%r10 !lock
8974 brnz %r10, sma_8_148
8975 rd %asi, %r12
8976 wr %g0, 0x40, %asi
8977 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
8978 set 0x00061fff, %g1
8979 stxa %g1, [%g0 + 0x80] %asi
8980 wr %r12, %g0, %asi
8981 st %g0, [%r23]
8982sma_8_148:
8983 ta T_CHANGE_NONHPRIV
8984 .word 0xe5e7e014 ! 266: CASA_R casa [%r31] %asi, %r20, %r18
8985 ta T_CHANGE_NONPRIV ! macro
8986 .word 0x9ba0016a ! 268: FABSq dis not found
8987
8988 nop
8989 ta T_CHANGE_HPRIV
8990 mov 0x8, %r10
8991 set sync_thr_counter2, %r23
8992 cas [%r23],%g0,%r10 !lock
8993 brnz %r10, sma_8_149
8994 rd %asi, %r12
8995 wr %g0, 0x40, %asi
8996 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
8997 set 0x00021fff, %g1
8998 stxa %g1, [%g0 + 0x80] %asi
8999 wr %r12, %g0, %asi
9000 st %g0, [%r23]
9001sma_8_149:
9002 ta T_CHANGE_NONHPRIV
9003 .word 0xe7e7e012 ! 269: CASA_R casa [%r31] %asi, %r18, %r19
9004 .word 0xe63fe019 ! 270: STD_I std %r19, [%r31 + 0x0019]
9005!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_8_150) + 32, 16, 16)) -> intp(4,0,5)
9006!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_8_150)&0xffffffff) + 32, 16, 16)) -> intp(4,0,5)
9007intvec_8_150:
9008 .word 0x39400001 ! 271: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
9009!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_8_151)+56, 16, 16)) -> intp(mask2tid(0x8),1,3)
9010!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_8_151)&0xffffffff) +56, 16, 16)) -> intp(mask2tid(0x8),1,3)
9011xir_8_151:
9012 .word 0xa9837ac4 ! 272: WR_SET_SOFTINT_I wr %r13, 0x1ac4, %set_softint
9013 .word 0xe63fe036 ! 273: STD_I std %r19, [%r31 + 0x0036]
9014memptr_8_152:
9015 set 0x60540000, %r31
9016 .word 0x8584ecc0 ! 274: WRCCR_I wr %r19, 0x0cc0, %ccr
9017br_badelay1_8_153:
9018 .word 0xa5a189cd ! 1: FDIVd fdivd %f6, %f44, %f18
9019 .word 0xd1340009 ! 1: STQF_R - %f8, [%r9, %r16]
9020 .word 0x3d400001 ! 1: FBPULE fbule,a,pn %fcc0, <label_0x1>
9021 normalw
9022 .word 0xa5458000 ! 275: RD_SOFTINT_REG rd %softint, %r18
9023 .word 0x9f80284b ! 276: SIR sir 0x084b
9024 .word 0xc1bfe060 ! 277: STDFA_I stda %f0, [0x0060, %r31]
9025 .word 0xe19fe060 ! 278: LDDFA_I ldda [%r31, 0x0060], %f16
9026 .word 0xc19fdf20 ! 279: LDDFA_R ldda [%r31, %r0], %f0
9027 .word 0x83d02035 ! 280: Tcc_I te icc_or_xcc, %r0 + 53
9028 .word 0x9f803658 ! 281: SIR sir 0x1658
9029jmptr_8_154:
9030 nop
9031 best_set_reg(0xe0a00000, %r20, %r27)
9032 .word 0xb7c6c000 ! 282: JMPL_R jmpl %r27 + %r0, %r27
9033 nop
9034 ta T_CHANGE_HPRIV
9035 mov 0x8, %r10
9036 set sync_thr_counter2, %r23
9037 cas [%r23],%g0,%r10 !lock
9038 brnz %r10, sma_8_155
9039 rd %asi, %r12
9040 wr %g0, 0x40, %asi
9041 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
9042 set 0x000a1fff, %g1
9043 stxa %g1, [%g0 + 0x80] %asi
9044 wr %r12, %g0, %asi
9045 st %g0, [%r23]
9046sma_8_155:
9047 ta T_CHANGE_NONHPRIV
9048 .word 0xe9e7e011 ! 283: CASA_R casa [%r31] %asi, %r17, %r20
9049 .word 0x99a0016d ! 284: FABSq dis not found
9050
9051mondo_8_156:
9052 nop
9053 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9054 ta T_CHANGE_PRIV
9055 stxa %r17, [%r0+0x3d8] %asi
9056 .word 0x9d94c00d ! 285: WRPR_WSTATE_R wrpr %r19, %r13, %wstate
9057 .word 0xc32fc000 ! 286: STXFSR_R st-sfr %f1, [%r0, %r31]
9058 .word 0xc1bfda00 ! 287: STDFA_R stda %f0, [%r0, %r31]
9059change_to_randtl_8_157:
9060 ta T_CHANGE_HPRIV ! macro
9061done_change_to_randtl_8_157:
9062 .word 0x8f902002 ! 288: WRPR_TL_I wrpr %r0, 0x0002, %tl
9063splash_decr_8_158:
9064 nop
9065 ta T_CHANGE_HPRIV
9066 mov 8, %r1
9067 stxa %r18, [%r1] 0x45
9068 .word 0xa7828001 ! 289: WR_GRAPHICS_STATUS_REG_R wr %r10, %r1, %-
9069 .word 0xc1bfe0c0 ! 290: STDFA_I stda %f0, [0x00c0, %r31]
9070 .word 0xd86fe07a ! 291: LDSTUB_I ldstub %r12, [%r31 + 0x007a]
9071tglhtw_8_159:
9072 nop
9073 rd %asi, %l3 ! save %asi
9074 ta T_CHANGE_HPRIV
9075 wr %g0, ASI_MMU_ZERO_CONTEXT_TSB_CONFIG, %asi
9076 mov 1, %l2
9077 sllx %l2, 63, %l2
9078 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
9079 xor %l4, %l2, %l4
9080 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi
9081 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
9082 xor %l4, %l2, %l4
9083 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi
9084 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
9085 xor %l4, %l2, %l4
9086 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi
9087 ldxa [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
9088 xor %l4, %l2, %l4
9089 stxa %l4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi
9090 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi, %l4
9091 xor %l4, %l2, %l4
9092 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi
9093 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi, %l4
9094 xor %l4, %l2, %l4
9095 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi
9096 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi, %l4
9097 xor %l4, %l2, %l4
9098 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi
9099 ldxa [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi, %l4
9100 xor %l4, %l2, %l4
9101 stxa %l4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi
9102 ta T_CHANGE_NONHPRIV
9103 wr %g0, %l3, %asi !restore %asi
9104 .word 0x99b50990 ! 292: BSHUFFLE fmovc32 %d20, %d16, %d12
9105memptr_8_160:
9106 set 0x60540000, %r31
9107 .word 0x8580a78c ! 293: WRCCR_I wr %r2, 0x078c, %ccr
9108splash_hpstate_8_161:
9109 ta T_CHANGE_NONHPRIV
9110 .word 0x81982096 ! 294: WRHPR_HPSTATE_I wrhpr %r0, 0x0096, %hpstate
9111!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_8_162) + 24, 16, 16)) -> intp(3,0,0)
9112!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_8_162)&0xffffffff) + 24, 16, 16)) -> intp(3,0,0)
9113intvec_8_162:
9114 .word 0x39400001 ! 295: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
9115 .word 0xd0bfe0ec ! 296: STDA_I stda %r8, [%r31 + 0x00ec] %asi
9116 .word 0x99a00174 ! 297: FABSq dis not found
9117
9118splash_tba_8_163:
9119 ta T_CHANGE_PRIV
9120 setx 0x00000000003a0000, %r11, %r12
9121 .word 0x8b90000c ! 298: WRPR_TBA_R wrpr %r0, %r12, %tba
9122splash_tba_8_164:
9123 ta T_CHANGE_PRIV
9124 set 0x120000, %r12
9125 .word 0x8b90000c ! 299: WRPR_TBA_R wrpr %r0, %r12, %tba
9126 .word 0x8d90282c ! 300: WRPR_PSTATE_I wrpr %r0, 0x082c, %pstate
9127!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_8_166)+56, 16, 16)) -> intp(mask2tid(0x8),1,3)
9128!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_8_166)&0xffffffff) +56, 16, 16)) -> intp(mask2tid(0x8),1,3)
9129xir_8_166:
9130 .word 0xa98362bd ! 301: WR_SET_SOFTINT_I wr %r13, 0x02bd, %set_softint
9131 nop
9132 nop
9133 ta T_CHANGE_PRIV
9134 wrpr %g0, %g0, %gl
9135 nop
9136 nop
9137 setx join_lbl_0_0, %g1, %g2
9138 jmp %g2
9139 nop
9140fork_lbl_0_3:
9141 ta T_CHANGE_NONHPRIV
9142splash_cmpr_4_0:
9143 nop
9144 setx 0xc2624c9c1324cf66, %l2, %l1
9145 ta T_CHANGE_HPRIV
9146 wrhpr %l1, %g0, %hsys_tick_cmpr
9147 ta T_CHANGE_NONHPRIV
9148 sub %l1, 40, %g1
9149 .word 0x89900011 ! 1: WRPR_TICK_R wrpr %r0, %r17, %tick
9150 .word 0x81510000 ! 2: RDPR_TICK rdpr %tick, %r0
9151 .word 0xc19fd920 ! 3: LDDFA_R ldda [%r31, %r0], %f0
9152 setx 0x78aead13f9cfe799, %r1, %r28
9153 stxa %r28, [%g0] 0x73
9154intvec_4_1:
9155 .word 0x39400001 ! 4: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
9156 invalw
9157 mov 0xb5, %r30
9158 .word 0x83d0001e ! 5: Tcc_R te icc_or_xcc, %r0 + %r30
9159mondo_4_2:
9160 nop
9161 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9162 ta T_CHANGE_PRIV
9163 stxa %r19, [%r0+0x3c0] %asi
9164 .word 0x9d924014 ! 6: WRPR_WSTATE_R wrpr %r9, %r20, %wstate
9165 ta T_CHANGE_NONPRIV ! macro
9166 .word 0xe1bfe020 ! 8: STDFA_I stda %f16, [0x0020, %r31]
9167br_badelay2_4_3:
9168 .word 0x34800001 ! 1: BG bg,a <label_0x1>
9169 allclean
9170 .word 0xa3b44308 ! 9: ALIGNADDRESS alignaddr %r17, %r8, %r17
9171!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_4_4) + 56, 16, 16)) -> intp(4,0,5)
9172!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_4_4)&0xffffffff) + 56, 16, 16)) -> intp(4,0,5)
9173intvec_4_4:
9174 .word 0x39400001 ! 10: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
9175 .word 0xe477e0e8 ! 11: STX_I stx %r18, [%r31 + 0x00e8]
9176donret_4_5:
9177 nop
9178 ta T_CHANGE_HPRIV ! macro
9179 rd %pc, %r12
9180 add %r12, (donretarg_4_5-donret_4_5-4), %r12
9181 mov 0x38, %r18
9182 stxa %r12, [%r18]0x58
9183 add %r12, 0x4, %r11
9184 wrpr %g0, 0x1, %tl
9185 wrpr %g0, %r12, %tpc
9186 wrpr %g0, %r11, %tnpc
9187 set (0x0071b598 | (0x82 << 24)), %r13
9188 rdpr %tstate, %r16
9189 mov 0x1f, %r19
9190 and %r19, %r16, %r17
9191 andn %r16, %r19, %r16
9192 or %r16, %r17, %r20
9193 wrpr %r20, %g0, %tstate
9194 wrhpr %g0, 0x956, %htstate
9195 ta T_CHANGE_NONHPRIV ! rand=1 (4)
9196 done
9197donretarg_4_5:
9198 .word 0xe4ffe0a0 ! 12: SWAPA_I swapa %r18, [%r31 + 0x00a0] %asi
9199splash_cmpr_4_6:
9200 nop
9201 setx 0xd4b3393b14f4c571, %l2, %l1
9202 ta T_CHANGE_HPRIV
9203 wrhpr %l1, %g0, %hsys_tick_cmpr
9204 sub %l1, 40, %g1
9205 .word 0x89900011 ! 13: WRPR_TICK_R wrpr %r0, %r17, %tick
9206 .word 0xc3e9002b ! 14: PREFETCHA_R prefetcha [%r4, %r11] 0x01, #one_read
9207 otherw
9208 mov 0xb2, %r30
9209 .word 0x83d0001e ! 15: Tcc_R te icc_or_xcc, %r0 + %r30
9210vahole_4_7:
9211 nop
9212 ta T_CHANGE_NONHPRIV
9213 setx vahole_target, %r18, %r27
9214 jmpl %r27+0, %r27
9215 .word 0xe63ff180 ! 16: STD_I std %r19, [%r31 + 0xfffff180]
9216br_badelay2_4_8:
9217 .word 0x32800001 ! 1: BNE bne,a <label_0x1>
9218 pdist %f28, %f2, %f28
9219 .word 0x93b04307 ! 17: ALIGNADDRESS alignaddr %r1, %r7, %r9
9220 .word 0xa5a00172 ! 18: FABSq dis not found
9221
9222 .word 0xb1800011 ! 19: WR_STICK_REG_R wr %r0, %r17, %-
9223 .word 0xad836c92 ! 20: WR_SOFTINT_REG_I wr %r13, 0x0c92, %softint
9224 .word 0xd877c000 ! 21: STX_R stx %r12, [%r31 + %r0]
9225splash_tba_4_9:
9226 ta T_CHANGE_PRIV
9227 setx 0x0000000400380000, %r11, %r12
9228 .word 0x8b90000c ! 22: WRPR_TBA_R wrpr %r0, %r12, %tba
9229 .word 0xd89fe020 ! 23: LDDA_I ldda [%r31, + 0x0020] %asi, %r12
9230jmptr_4_10:
9231 nop
9232 best_set_reg(0xe1200000, %r20, %r27)
9233 .word 0xb7c6c000 ! 24: JMPL_R jmpl %r27 + %r0, %r27
9234mondo_4_11:
9235 nop
9236 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9237 ta T_CHANGE_PRIV
9238 stxa %r4, [%r0+0x3d0] %asi
9239 .word 0x9d928010 ! 25: WRPR_WSTATE_R wrpr %r10, %r16, %wstate
9240 .word 0x91a489d1 ! 26: FDIVd fdivd %f18, %f48, %f8
9241!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_4_12)+32, 16, 16)) -> intp(mask2tid(0x4),1,3)
9242!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_4_12)&0xffffffff) +32, 16, 16)) -> intp(mask2tid(0x4),1,3)
9243xir_4_12:
9244 .word 0xa982e2ce ! 27: WR_SET_SOFTINT_I wr %r11, 0x02ce, %set_softint
9245 .word 0x9f803f7e ! 28: SIR sir 0x1f7e
9246intveclr_4_13:
9247 nop
9248 ta T_CHANGE_HPRIV
9249 setx 0xb8e1ad21dd5f47a8, %r1, %r28
9250 stxa %r28, [%g0] 0x72
9251 ta T_CHANGE_NONHPRIV
9252 .word 0x25400001 ! 29: FBPLG fblg,a,pn %fcc0, <label_0x1>
9253brcommon_4_14:
9254 ba,a .+12
9255 mov %r31, %r15
9256 ba,a .+8
9257 call common_target
9258 .word 0xe83feaa5 ! 30: STD_I std %r20, [%r31 + 0x0aa5]
9259 nop
9260 ta T_CHANGE_HPRIV
9261 mov 0x4+1, %r10
9262 set sync_thr_counter1, %r23
9263 cas [%r23],%g0,%r10 !lock
9264 brnz %r10, cwq_4_15
9265 rd %asi, %r12
9266 wr %g0, 0x40, %asi
9267 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
9268 and %l1, 0x3, %l1 ! Check if busy/enabled ..
9269 cmp %l1, 1
9270 bne cwq_4_15
9271 set CWQ_BASE, %l6
9272 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
9273 sllx %l2, 32, %l2
9274 stx %l2, [%l6 + 0x0]
9275 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
9276 sub %l2, 0x40, %l2
9277 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
9278 wr %r12, %g0, %asi
9279 st %g0, [%r23]
9280cwq_4_15:
9281 ta T_CHANGE_NONHPRIV
9282 .word 0x93414000 ! 31: RDPC rd %pc, %r9
9283 nop
9284 ta T_CHANGE_HPRIV
9285 mov 0x4, %r10
9286 set sync_thr_counter2, %r23
9287 cas [%r23],%g0,%r10 !lock
9288 brnz %r10, sma_4_16
9289 rd %asi, %r12
9290 wr %g0, 0x40, %asi
9291 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
9292 set 0x00061fff, %g1
9293 stxa %g1, [%g0 + 0x80] %asi
9294 wr %r12, %g0, %asi
9295 st %g0, [%r23]
9296sma_4_16:
9297 ta T_CHANGE_NONHPRIV
9298 .word 0xd3e7e011 ! 32: CASA_R casa [%r31] %asi, %r17, %r9
9299splash_cmpr_4_17:
9300 nop
9301 setx 0x4a846d02ae43bbca, %l2, %l1
9302 ta T_CHANGE_PRIV
9303 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
9304 ta T_CHANGE_NONPRIV
9305 sub %l1, 40, %g1
9306 .word 0x89900011 ! 33: WRPR_TICK_R wrpr %r0, %r17, %tick
9307!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_4_18) + 0, 16, 16)) -> intp(3,0,14)
9308!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_4_18)&0xffffffff) + 0, 16, 16)) -> intp(3,0,14)
9309intvec_4_18:
9310 .word 0x39400001 ! 34: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
9311 .word 0xd26fe05d ! 35: LDSTUB_I ldstub %r9, [%r31 + 0x005d]
9312splash_hpstate_4_19:
9313 .word 0x81982cdc ! 36: WRHPR_HPSTATE_I wrhpr %r0, 0x0cdc, %hpstate
9314br_longdelay1_4_20:
9315 .word 0x26cac001 ! 1: BRLZ brlz,a,pt %r11,<label_0xac001>
9316 .word 0xbfe7c000 ! 37: SAVE_R save %r31, %r0, %r31
9317 nop
9318 mov 0x80, %g3
9319 stxa %g3, [%g3] 0x57
9320 .word 0xd25fc000 ! 38: LDX_R ldx [%r31 + %r0], %r9
9321 .word 0xd23fc000 ! 39: STD_R std %r9, [%r31 + %r0]
9322!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_4_21)+32, 16, 16)) -> intp(mask2tid(0x4),1,3)
9323!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_4_21)&0xffffffff) +32, 16, 16)) -> intp(mask2tid(0x4),1,3)
9324xir_4_21:
9325 .word 0xa982389f ! 40: WR_SET_SOFTINT_I wr %r8, 0x189f, %set_softint
9326splash_hpstate_4_22:
9327 ta T_CHANGE_NONHPRIV
9328 .word 0x81982c14 ! 41: WRHPR_HPSTATE_I wrhpr %r0, 0x0c14, %hpstate
9329 .word 0x87a94a46 ! 42: FCMPd fcmpd %fcc<n>, %f36, %f6
9330splash_tba_4_23:
9331 ta T_CHANGE_PRIV
9332 setx 0x0000000400380000, %r11, %r12
9333 .word 0x8b90000c ! 43: WRPR_TBA_R wrpr %r0, %r12, %tba
9334splash_cmpr_4_24:
9335 nop
9336 setx 0x7f380b67ba35ba19, %l2, %l1
9337 ta T_CHANGE_HPRIV
9338 wrhpr %l1, %g0, %hsys_tick_cmpr
9339 ta T_CHANGE_NONHPRIV
9340 sub %l1, 40, %g1
9341 .word 0x89900011 ! 44: WRPR_TICK_R wrpr %r0, %r17, %tick
9342br_longdelay1_4_25:
9343 .word 0x24800001 ! 1: BLE ble,a <label_0x1>
9344 .word 0xbfefc000 ! 45: RESTORE_R restore %r31, %r0, %r31
9345mondo_4_26:
9346 nop
9347 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9348 stxa %r5, [%r0+0x3d8] %asi
9349 .word 0x9d940007 ! 46: WRPR_WSTATE_R wrpr %r16, %r7, %wstate
9350 otherw
9351 mov 0xb2, %r30
9352 .word 0x91d0001e ! 47: Tcc_R ta icc_or_xcc, %r0 + %r30
9353 .word 0xa980400d ! 48: WR_SET_SOFTINT_R wr %r1, %r13, %set_softint
9354 nop
9355 ta T_CHANGE_HPRIV
9356 mov 0x4, %r10
9357 set sync_thr_counter2, %r23
9358 cas [%r23],%g0,%r10 !lock
9359 brnz %r10, sma_4_27
9360 rd %asi, %r12
9361 wr %g0, 0x40, %asi
9362 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
9363 set 0x00021fff, %g1
9364 stxa %g1, [%g0 + 0x80] %asi
9365 wr %r12, %g0, %asi
9366 st %g0, [%r23]
9367sma_4_27:
9368 ta T_CHANGE_NONHPRIV
9369 .word 0xe9e7e013 ! 49: CASA_R casa [%r31] %asi, %r19, %r20
9370 .word 0xe86fe0ac ! 50: LDSTUB_I ldstub %r20, [%r31 + 0x00ac]
9371 invalw
9372 mov 0xb2, %r30
9373 .word 0x91d0001e ! 51: Tcc_R ta icc_or_xcc, %r0 + %r30
9374pmu_4_28:
9375 nop
9376 ta T_CHANGE_PRIV
9377 setx 0xfffffeeefffff5a8, %g1, %g7
9378 .word 0xa3800007 ! 52: WR_PERF_COUNTER_R wr %r0, %r7, %-
9379dvapa_4_29:
9380 nop
9381 ta T_CHANGE_HPRIV
9382 mov 0xa11, %r20
9383 mov 0xe, %r19
9384 sllx %r20, 23, %r20
9385 or %r19, %r20, %r19
9386 stxa %r19, [%g0] ASI_LSU_CONTROL
9387 mov 0x38, %r18
9388 stxa %r31, [%r18]0x58
9389 ta T_CHANGE_NONHPRIV
9390 .word 0xe91fc013 ! 53: LDDF_R ldd [%r31, %r19], %f20
9391 .word 0xc19fc2c0 ! 54: LDDFA_R ldda [%r31, %r0], %f0
9392fpinit_4_30:
9393 setx fp_data_quads, %r19, %r20
9394 ldd [%r20], %f0
9395 ldd [%r20+8], %f4
9396 ld [%r20+16], %fsr
9397 ld [%r20+24], %r19
9398 wr %r19, %g0, %gsr
9399 .word 0x89a009a4 ! 55: FDIVs fdivs %f0, %f4, %f4
9400 setx 0x75f8f8189639d0f4, %r1, %r28
9401 stxa %r28, [%g0] 0x73
9402intvec_4_31:
9403 .word 0x39400001 ! 56: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
9404 invalw
9405 mov 0xb0, %r30
9406 .word 0x91d0001e ! 57: Tcc_R ta icc_or_xcc, %r0 + %r30
9407br_longdelay4_4_32:
9408 nop
9409 not %g0, %r12
9410 jmp %r12
9411 .word 0x9d902003 ! 58: WRPR_WSTATE_I wrpr %r0, 0x0003, %wstate
9412 .word 0x95a289d3 ! 59: FDIVd fdivd %f10, %f50, %f10
9413 setx 0x2a2e86b45950a808, %r1, %r28
9414 stxa %r28, [%g0] 0x73
9415intvec_4_33:
9416 .word 0x39400001 ! 60: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
9417mondo_4_34:
9418 nop
9419 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9420 ta T_CHANGE_PRIV
9421 stxa %r12, [%r0+0x3e8] %asi
9422 .word 0x9d910010 ! 61: WRPR_WSTATE_R wrpr %r4, %r16, %wstate
9423 nop
9424 ta T_CHANGE_HPRIV
9425 mov 0x4, %r10
9426 set sync_thr_counter2, %r23
9427 cas [%r23],%g0,%r10 !lock
9428 brnz %r10, sma_4_35
9429 rd %asi, %r12
9430 wr %g0, 0x40, %asi
9431 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
9432 set 0x00121fff, %g1
9433 stxa %g1, [%g0 + 0x80] %asi
9434 wr %r12, %g0, %asi
9435 st %g0, [%r23]
9436sma_4_35:
9437 ta T_CHANGE_NONHPRIV
9438 .word 0xd1e7e00a ! 62: CASA_R casa [%r31] %asi, %r10, %r8
9439splash_decr_4_36:
9440 nop
9441 ta T_CHANGE_HPRIV
9442 mov 8, %r1
9443 stxa %r13, [%r1] 0x45
9444 .word 0xa784c00b ! 63: WR_GRAPHICS_STATUS_REG_R wr %r19, %r11, %-
9445 .word 0x9f802b5e ! 64: SIR sir 0x0b5e
9446 .word 0xd08fe000 ! 65: LDUBA_I lduba [%r31, + 0x0000] %asi, %r8
9447 .word 0xd03fc000 ! 66: STD_R std %r8, [%r31 + %r0]
9448 .word 0xc32fc000 ! 67: STXFSR_R st-sfr %f1, [%r0, %r31]
9449 .word 0xd0800c20 ! 68: LDUWA_R lduwa [%r0, %r0] 0x61, %r8
9450change_to_randtl_4_37:
9451 ta T_CHANGE_HPRIV ! macro
9452done_change_to_randtl_4_37:
9453 .word 0x8f902000 ! 69: WRPR_TL_I wrpr %r0, 0x0000, %tl
9454dvapa_4_38:
9455 nop
9456 ta T_CHANGE_HPRIV
9457 mov 0xd08, %r20
9458 mov 0x4, %r19
9459 sllx %r20, 23, %r20
9460 or %r19, %r20, %r19
9461 stxa %r19, [%g0] ASI_LSU_CONTROL
9462 mov 0x38, %r18
9463 stxa %r31, [%r18]0x58
9464 ta T_CHANGE_NONHPRIV
9465 .word 0xd03ff6c3 ! 70: STD_I std %r8, [%r31 + 0xfffff6c3]
9466intveclr_4_39:
9467 nop
9468 ta T_CHANGE_HPRIV
9469 setx 0x85bf45ba5260d4f8, %r1, %r28
9470 stxa %r28, [%g0] 0x72
9471 .word 0x25400001 ! 71: FBPLG fblg,a,pn %fcc0, <label_0x1>
9472mondo_4_40:
9473 nop
9474 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9475 stxa %r20, [%r0+0x3c0] %asi
9476 .word 0x9d924001 ! 72: WRPR_WSTATE_R wrpr %r9, %r1, %wstate
9477 .word 0x91908014 ! 73: WRPR_PIL_R wrpr %r2, %r20, %pil
9478!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_4_42) + 40, 16, 16)) -> intp(3,0,0)
9479!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_4_42)&0xffffffff) + 40, 16, 16)) -> intp(3,0,0)
9480intvec_4_42:
9481 .word 0x39400001 ! 74: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
9482 .word 0xa970307f ! 75: POPC_I popc 0x107f, %r20
9483br_longdelay2_4_43:
9484 .word 0x3d400001 ! 1: FBPULE fbule,a,pn %fcc0, <label_0x1>
9485 .word 0xc369b8eb ! 76: PREFETCH_I prefetch [%r6 + 0xfffff8eb], #one_read
9486splash_cmpr_4_44:
9487 nop
9488 setx 0x5acd416f11b52819, %l2, %l1
9489 ta T_CHANGE_HPRIV
9490 wrhpr %l1, %g0, %hsys_tick_cmpr
9491 sub %l1, 40, %g1
9492 .word 0x89900011 ! 77: WRPR_TICK_R wrpr %r0, %r17, %tick
9493 nop
9494 ta T_CHANGE_HPRIV
9495 mov 0x4, %r10
9496 set sync_thr_counter2, %r23
9497 cas [%r23],%g0,%r10 !lock
9498 brnz %r10, sma_4_45
9499 rd %asi, %r12
9500 wr %g0, 0x40, %asi
9501 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
9502 set 0x001a1fff, %g1
9503 stxa %g1, [%g0 + 0x80] %asi
9504 wr %r12, %g0, %asi
9505 st %g0, [%r23]
9506sma_4_45:
9507 ta T_CHANGE_NONHPRIV
9508 .word 0xe3e7e005 ! 78: CASA_R casa [%r31] %asi, %r5, %r17
9509 .word 0x27400001 ! 1: FBPUL fbul,a,pn %fcc0, <label_0x1>
9510 .word 0x8d9021f2 ! 79: WRPR_PSTATE_I wrpr %r0, 0x01f2, %pstate
9511 nop
9512 ta T_CHANGE_HPRIV
9513 mov 0x4+1, %r10
9514 set sync_thr_counter1, %r23
9515 cas [%r23],%g0,%r10 !lock
9516 brnz %r10, cwq_4_47
9517 rd %asi, %r12
9518 wr %g0, 0x40, %asi
9519 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
9520 and %l1, 0x3, %l1 ! Check if busy/enabled ..
9521 cmp %l1, 1
9522 bne cwq_4_47
9523 set CWQ_BASE, %l6
9524 best_set_reg(0x20610090, %l1, %l2) !# Control Word
9525 sllx %l2, 32, %l2
9526 stx %l2, [%l6 + 0x0]
9527 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
9528 sub %l2, 0x40, %l2
9529 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
9530 wr %r12, %g0, %asi
9531 st %g0, [%r23]
9532cwq_4_47:
9533 ta T_CHANGE_NONHPRIV
9534 .word 0xa9414000 ! 80: RDPC rd %pc, %r20
9535!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_4_48)+48, 16, 16)) -> intp(mask2tid(0x4),1,3)
9536!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_4_48)&0xffffffff) +48, 16, 16)) -> intp(mask2tid(0x4),1,3)
9537xir_4_48:
9538 .word 0xa9847791 ! 81: WR_SET_SOFTINT_I wr %r17, 0x1791, %set_softint
9539 .word 0x91940012 ! 82: WRPR_PIL_R wrpr %r16, %r18, %pil
9540intveclr_4_50:
9541 nop
9542 ta T_CHANGE_HPRIV
9543 setx 0x26a467a63819c89d, %r1, %r28
9544 stxa %r28, [%g0] 0x72
9545 ta T_CHANGE_NONHPRIV
9546 .word 0x25400001 ! 83: FBPLG fblg,a,pn %fcc0, <label_0x1>
9547mondo_4_51:
9548 nop
9549 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9550 stxa %r19, [%r0+0x3e8] %asi
9551 .word 0x9d94000b ! 84: WRPR_WSTATE_R wrpr %r16, %r11, %wstate
9552splash_hpstate_4_52:
9553 .word 0x81982acd ! 85: WRHPR_HPSTATE_I wrhpr %r0, 0x0acd, %hpstate
9554 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
9555reduce_priv_lvl_4_53:
9556 ta T_CHANGE_NONHPRIV ! macro
9557ibp_4_54:
9558 nop
9559 ta T_CHANGE_HPRIV
9560 mov 8, %r18
9561 rd %asi, %r12
9562 wr %r0, 0x41, %asi
9563 set sync_thr_counter, %r23
9564 mov 0x4, %r16
9565ibp_startwait4_54:
9566 cas [%r23],%g0,%r16 !lock
9567 brz,a %r16, continue_ibp_4_54
9568 mov (~0x4&0xf), %r16
9569 ld [%r23], %r16
9570ibp_wait4_54:
9571 brnz %r16, ibp_wait4_54
9572 ld [%r23], %r16
9573 ba,a ibp_startwait4_54
9574 mov 0x4, %r16
9575continue_ibp_4_54:
9576 ldxa [%g0]0x63, %r14 !Get raw TID
9577 srlx %r14, 3, %r14 !Get CID
9578 sllx %r16, %r14, %r16 !Mask for my core only
9579 ldxa [0x58]%asi, %r17 !Running_status
9580wait_for_stat_4_54:
9581 ldxa [0x50]%asi, %r13 !Running_rw
9582 cmp %r13, %r17
9583 bne,a wait_for_stat_4_54
9584 ldxa [0x58]%asi, %r17 !Running_status
9585 stxa %r16, [0x68]%asi
9586 ldxa [0x50]%asi, %r14 !Running_rw
9587wait_for_ibp_4_54:
9588 ldxa [0x58]%asi, %r17 !Running_status
9589 cmp %r14, %r17
9590 bne,a wait_for_ibp_4_54
9591 ldxa [0x50]%asi, %r14 !Running_rw
9592ibp_doit4_54:
9593 best_set_reg(0x000000509cc00480,%r19, %r20)
9594 stxa %r20, [%r18]0x42
9595 stxa %r13, [0x50] %asi ! Running_rw
9596 st %g0, [%r23] !clear lock
9597 wr %r0, %r12, %asi ! restore %asi
9598 ta T_CHANGE_NONHPRIV
9599 .word 0xdb3fc008 ! 87: STDF_R std %f13, [%r8, %r31]
9600splash_hpstate_4_55:
9601 ta T_CHANGE_NONHPRIV
9602 .word 0x81982717 ! 88: WRHPR_HPSTATE_I wrhpr %r0, 0x0717, %hpstate
9603 .word 0xc3ec0028 ! 89: PREFETCHA_R prefetcha [%r16, %r8] 0x01, #one_read
9604 .word 0xdb27c000 ! 90: STF_R st %f13, [%r0, %r31]
9605splash_tba_4_56:
9606 ta T_CHANGE_PRIV
9607 set 0x120000, %r12
9608 .word 0x8b90000c ! 91: WRPR_TBA_R wrpr %r0, %r12, %tba
9609fpinit_4_57:
9610 setx fp_data_quads, %r19, %r20
9611 ldd [%r20], %f0
9612 ldd [%r20+8], %f4
9613 ld [%r20+16], %fsr
9614 ld [%r20+24], %r19
9615 wr %r19, %g0, %gsr
9616 .word 0x91a009c4 ! 92: FDIVd fdivd %f0, %f4, %f8
9617!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_4_58) + 32, 16, 16)) -> intp(2,0,18)
9618!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_4_58)&0xffffffff) + 32, 16, 16)) -> intp(2,0,18)
9619intvec_4_58:
9620 .word 0x39400001 ! 93: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
9621intveclr_4_59:
9622 nop
9623 ta T_CHANGE_HPRIV
9624 setx 0xf1b12d6e5a559349, %r1, %r28
9625 stxa %r28, [%g0] 0x72
9626 .word 0x25400001 ! 94: FBPLG fblg,a,pn %fcc0, <label_0x1>
9627 .word 0xc1bfe020 ! 95: STDFA_I stda %f0, [0x0020, %r31]
9628 .word 0x83d020b5 ! 96: Tcc_I te icc_or_xcc, %r0 + 181
9629 nop
9630 ta T_CHANGE_HPRIV
9631 mov 0x4+1, %r10
9632 set sync_thr_counter1, %r23
9633 cas [%r23],%g0,%r10 !lock
9634 brnz %r10, cwq_4_60
9635 rd %asi, %r12
9636 wr %g0, 0x40, %asi
9637 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
9638 and %l1, 0x3, %l1 ! Check if busy/enabled ..
9639 cmp %l1, 1
9640 bne cwq_4_60
9641 set CWQ_BASE, %l6
9642 best_set_reg(0x20610010, %l1, %l2) !# Control Word
9643 sllx %l2, 32, %l2
9644 stx %l2, [%l6 + 0x0]
9645 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
9646 sub %l2, 0x40, %l2
9647 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
9648 wr %r12, %g0, %asi
9649 st %g0, [%r23]
9650cwq_4_60:
9651 ta T_CHANGE_NONHPRIV
9652 .word 0xa1414000 ! 97: RDPC rd %pc, %r16
9653memptr_4_61:
9654 set 0x60140000, %r31
9655 .word 0x8584280d ! 98: WRCCR_I wr %r16, 0x080d, %ccr
9656mondo_4_62:
9657 nop
9658 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9659 ta T_CHANGE_PRIV
9660 stxa %r8, [%r0+0x3c8] %asi
9661 .word 0x9d94400a ! 99: WRPR_WSTATE_R wrpr %r17, %r10, %wstate
9662 .word 0x91d02032 ! 100: Tcc_I ta icc_or_xcc, %r0 + 50
9663ibp_4_63:
9664 nop
9665 ta T_CHANGE_HPRIV
9666 mov 8, %r18
9667 rd %asi, %r12
9668 wr %r0, 0x41, %asi
9669 set sync_thr_counter, %r23
9670 mov 0x4, %r16
9671ibp_startwait4_63:
9672 cas [%r23],%g0,%r16 !lock
9673 brz,a %r16, continue_ibp_4_63
9674 mov (~0x4&0xf), %r16
9675 ld [%r23], %r16
9676ibp_wait4_63:
9677 brnz %r16, ibp_wait4_63
9678 ld [%r23], %r16
9679 ba,a ibp_startwait4_63
9680 mov 0x4, %r16
9681continue_ibp_4_63:
9682 ldxa [%g0]0x63, %r14 !Get raw TID
9683 srlx %r14, 3, %r14 !Get CID
9684 sllx %r16, %r14, %r16 !Mask for my core only
9685 ldxa [0x58]%asi, %r17 !Running_status
9686wait_for_stat_4_63:
9687 ldxa [0x50]%asi, %r13 !Running_rw
9688 cmp %r13, %r17
9689 bne,a wait_for_stat_4_63
9690 ldxa [0x58]%asi, %r17 !Running_status
9691 stxa %r16, [0x68]%asi
9692 ldxa [0x50]%asi, %r14 !Running_rw
9693wait_for_ibp_4_63:
9694 ldxa [0x58]%asi, %r17 !Running_status
9695 cmp %r14, %r17
9696 bne,a wait_for_ibp_4_63
9697 ldxa [0x50]%asi, %r14 !Running_rw
9698ibp_doit4_63:
9699 best_set_reg(0x00000050dac48023,%r19, %r20)
9700 stxa %r20, [%r18]0x42
9701 stxa %r13, [0x50] %asi ! Running_rw
9702 st %g0, [%r23] !clear lock
9703 wr %r0, %r12, %asi ! restore %asi
9704 .word 0xe09fc031 ! 101: LDDA_R ldda [%r31, %r17] 0x01, %r16
9705 .word 0xe1bfe080 ! 102: STDFA_I stda %f16, [0x0080, %r31]
9706!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_4_64)+40, 16, 16)) -> intp(mask2tid(0x4),1,3)
9707!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_4_64)&0xffffffff) +40, 16, 16)) -> intp(mask2tid(0x4),1,3)
9708xir_4_64:
9709 .word 0xa980ed51 ! 103: WR_SET_SOFTINT_I wr %r3, 0x0d51, %set_softint
9710 .word 0xe1bfe040 ! 104: STDFA_I stda %f16, [0x0040, %r31]
9711 .word 0xc19fc3e0 ! 105: LDDFA_R ldda [%r31, %r0], %f0
9712 .word 0x20700001 ! 106: BPN <illegal instruction>
9713jmptr_4_65:
9714 nop
9715 best_set_reg(0xe1200000, %r20, %r27)
9716 .word 0xb7c6c000 ! 107: JMPL_R jmpl %r27 + %r0, %r27
9717 .word 0xe06fe002 ! 108: LDSTUB_I ldstub %r16, [%r31 + 0x0002]
9718 .word 0xb1800011 ! 109: WR_STICK_REG_R wr %r0, %r17, %-
9719fpinit_4_66:
9720 setx fp_data_quads, %r19, %r20
9721 ldd [%r20], %f0
9722 ldd [%r20+8], %f4
9723 ld [%r20+16], %fsr
9724 ld [%r20+24], %r19
9725 wr %r19, %g0, %gsr
9726 .word 0x8db00484 ! 110: FCMPLE32 fcmple32 %d0, %d4, %r6
9727 .word 0xe1bfe040 ! 111: STDFA_I stda %f16, [0x0040, %r31]
9728 nop
9729 ta T_CHANGE_HPRIV
9730 mov 0x4+1, %r10
9731 set sync_thr_counter1, %r23
9732 cas [%r23],%g0,%r10 !lock
9733 brnz %r10, cwq_4_67
9734 rd %asi, %r12
9735 wr %g0, 0x40, %asi
9736 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
9737 and %l1, 0x3, %l1 ! Check if busy/enabled ..
9738 cmp %l1, 1
9739 bne cwq_4_67
9740 set CWQ_BASE, %l6
9741 best_set_reg(0x20610050, %l1, %l2) !# Control Word
9742 sllx %l2, 32, %l2
9743 stx %l2, [%l6 + 0x0]
9744 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
9745 sub %l2, 0x40, %l2
9746 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
9747 wr %r12, %g0, %asi
9748 st %g0, [%r23]
9749cwq_4_67:
9750 ta T_CHANGE_NONHPRIV
9751 .word 0xa9414000 ! 112: RDPC rd %pc, %r20
9752 .word 0x9ba00168 ! 113: FABSq dis not found
9753
9754 .word 0xa7450000 ! 114: RD_SET_SOFTINT rd %set_softint, %r19
9755 .word 0xc19fd960 ! 115: LDDFA_R ldda [%r31, %r0], %f0
9756pmu_4_68:
9757 nop
9758 ta T_CHANGE_PRIV
9759 setx 0xfffff07dfffff831, %g1, %g7
9760 .word 0xa3800007 ! 116: WR_PERF_COUNTER_R wr %r0, %r7, %-
9761 nop
9762 ta T_CHANGE_HPRIV
9763 mov 0x4+1, %r10
9764 set sync_thr_counter1, %r23
9765 cas [%r23],%g0,%r10 !lock
9766 brnz %r10, cwq_4_69
9767 rd %asi, %r12
9768 wr %g0, 0x40, %asi
9769 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
9770 and %l1, 0x3, %l1 ! Check if busy/enabled ..
9771 cmp %l1, 1
9772 bne cwq_4_69
9773 set CWQ_BASE, %l6
9774 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
9775 sllx %l2, 32, %l2
9776 stx %l2, [%l6 + 0x0]
9777 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
9778 sub %l2, 0x40, %l2
9779 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
9780 wr %r12, %g0, %asi
9781 st %g0, [%r23]
9782cwq_4_69:
9783 ta T_CHANGE_NONHPRIV
9784 .word 0xa5414000 ! 117: RDPC rd %pc, %r18
9785splash_hpstate_4_70:
9786 .word 0x38800001 ! 1: BGU bgu,a <label_0x1>
9787 .word 0x8198255c ! 118: WRHPR_HPSTATE_I wrhpr %r0, 0x055c, %hpstate
9788 nop
9789 ta T_CHANGE_HPRIV
9790 mov 0x4, %r10
9791 set sync_thr_counter2, %r23
9792 cas [%r23],%g0,%r10 !lock
9793 brnz %r10, sma_4_71
9794 rd %asi, %r12
9795 wr %g0, 0x40, %asi
9796 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
9797 set 0x001a1fff, %g1
9798 stxa %g1, [%g0 + 0x80] %asi
9799 wr %r12, %g0, %asi
9800 st %g0, [%r23]
9801sma_4_71:
9802 ta T_CHANGE_NONHPRIV
9803 .word 0xe3e7e00d ! 119: CASA_R casa [%r31] %asi, %r13, %r17
9804 .word 0xe2d7e038 ! 120: LDSHA_I ldsha [%r31, + 0x0038] %asi, %r17
9805 .word 0x9f803217 ! 121: SIR sir 0x1217
9806 .word 0x9f8035f0 ! 122: SIR sir 0x15f0
9807tagged_4_72:
9808 tsubcctv %r12, 0x1e6b, %r18
9809 .word 0xe207e010 ! 123: LDUW_I lduw [%r31 + 0x0010], %r17
9810pmu_4_73:
9811 nop
9812 ta T_CHANGE_PRIV
9813 setx 0xfffff8eafffff64c, %g1, %g7
9814 .word 0xa3800007 ! 124: WR_PERF_COUNTER_R wr %r0, %r7, %-
9815mondo_4_74:
9816 nop
9817 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9818 stxa %r19, [%r0+0x3d8] %asi
9819 .word 0x9d944010 ! 125: WRPR_WSTATE_R wrpr %r17, %r16, %wstate
9820 .word 0xe26fe088 ! 126: LDSTUB_I ldstub %r17, [%r31 + 0x0088]
9821 .word 0xe31fc000 ! 127: LDDF_R ldd [%r31, %r0], %f17
9822 .word 0xe227e0e0 ! 128: STW_I stw %r17, [%r31 + 0x00e0]
9823intveclr_4_75:
9824 nop
9825 ta T_CHANGE_HPRIV
9826 setx 0x4fec7b1e24b13102, %r1, %r28
9827 stxa %r28, [%g0] 0x72
9828 .word 0x25400001 ! 129: FBPLG fblg,a,pn %fcc0, <label_0x1>
9829 .word 0xe22fe013 ! 130: STB_I stb %r17, [%r31 + 0x0013]
9830!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_4_76)+56, 16, 16)) -> intp(mask2tid(0x4),1,3)
9831!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_4_76)&0xffffffff) +56, 16, 16)) -> intp(mask2tid(0x4),1,3)
9832xir_4_76:
9833 .word 0xa9847a76 ! 131: WR_SET_SOFTINT_I wr %r17, 0x1a76, %set_softint
9834 .word 0xe337e02a ! 132: STQF_I - %f17, [0x002a, %r31]
9835 .word 0xe337c000 ! 133: STQF_R - %f17, [%r0, %r31]
9836 .word 0xe327e018 ! 134: STF_I st %f17, [0x0018, %r31]
9837jmptr_4_77:
9838 nop
9839 best_set_reg(0xe1200000, %r20, %r27)
9840 .word 0xb7c6c000 ! 135: JMPL_R jmpl %r27 + %r0, %r27
9841pmu_4_78:
9842 nop
9843 ta T_CHANGE_PRIV
9844 setx 0xfffff792fffffa68, %g1, %g7
9845 .word 0xa3800007 ! 136: WR_PERF_COUNTER_R wr %r0, %r7, %-
9846dvapa_4_79:
9847 nop
9848 ta T_CHANGE_HPRIV
9849 mov 0xf75, %r20
9850 mov 0x1b, %r19
9851 sllx %r20, 23, %r20
9852 or %r19, %r20, %r19
9853 stxa %r19, [%g0] ASI_LSU_CONTROL
9854 mov 0x38, %r18
9855 stxa %r31, [%r18]0x58
9856 ta T_CHANGE_NONHPRIV
9857 .word 0xe33fc011 ! 137: STDF_R std %f17, [%r17, %r31]
9858 .word 0xc1bfdc00 ! 138: STDFA_R stda %f0, [%r0, %r31]
9859mondo_4_80:
9860 nop
9861 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9862 stxa %r16, [%r0+0x3d8] %asi
9863 .word 0x9d91000b ! 139: WRPR_WSTATE_R wrpr %r4, %r11, %wstate
9864 .word 0x8d802004 ! 140: WRFPRS_I wr %r0, 0x0004, %fprs
9865mondo_4_81:
9866 nop
9867 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
9868 stxa %r16, [%r0+0x3d8] %asi
9869 .word 0x9d948002 ! 141: WRPR_WSTATE_R wrpr %r18, %r2, %wstate
9870pmu_4_82:
9871 nop
9872 ta T_CHANGE_PRIV
9873 setx 0xfffff198fffffbec, %g1, %g7
9874 .word 0xa3800007 ! 142: WR_PERF_COUNTER_R wr %r0, %r7, %-
9875 .word 0xc3ec4034 ! 143: PREFETCHA_R prefetcha [%r17, %r20] 0x01, #one_read
9876!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_4_83)+56, 16, 16)) -> intp(mask2tid(0x4),1,3)
9877!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_4_83)&0xffffffff) +56, 16, 16)) -> intp(mask2tid(0x4),1,3)
9878xir_4_83:
9879 .word 0xa984ffc3 ! 144: WR_SET_SOFTINT_I wr %r19, 0x1fc3, %set_softint
9880cwp_4_84:
9881 set user_data_start, %o7
9882 .word 0x93902001 ! 145: WRPR_CWP_I wrpr %r0, 0x0001, %cwp
9883intveclr_4_85:
9884 nop
9885 ta T_CHANGE_HPRIV
9886 setx 0xd6009c6d842f827d, %r1, %r28
9887 stxa %r28, [%g0] 0x72
9888 ta T_CHANGE_NONHPRIV
9889 .word 0x25400001 ! 146: FBPLG fblg,a,pn %fcc0, <label_0x1>
9890 nop
9891 ta T_CHANGE_HPRIV
9892 mov 0x4, %r10
9893 set sync_thr_counter2, %r23
9894 cas [%r23],%g0,%r10 !lock
9895 brnz %r10, sma_4_86
9896 rd %asi, %r12
9897 wr %g0, 0x40, %asi
9898 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
9899 set 0x00161fff, %g1
9900 stxa %g1, [%g0 + 0x80] %asi
9901 wr %r12, %g0, %asi
9902 st %g0, [%r23]
9903sma_4_86:
9904 ta T_CHANGE_NONHPRIV
9905 .word 0xd9e7e011 ! 147: CASA_R casa [%r31] %asi, %r17, %r12
9906 .word 0xa9a00174 ! 148: FABSq dis not found
9907
9908 .word 0x87acca46 ! 149: FCMPd fcmpd %fcc<n>, %f50, %f6
9909 nop
9910 ta T_CHANGE_HPRIV
9911 mov 0x4, %r10
9912 set sync_thr_counter2, %r23
9913 cas [%r23],%g0,%r10 !lock
9914 brnz %r10, sma_4_87
9915 rd %asi, %r12
9916 wr %g0, 0x40, %asi
9917 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
9918 set 0x00121fff, %g1
9919 stxa %g1, [%g0 + 0x80] %asi
9920 wr %r12, %g0, %asi
9921 st %g0, [%r23]
9922sma_4_87:
9923 ta T_CHANGE_NONHPRIV
9924 .word 0xdbe7e011 ! 150: CASA_R casa [%r31] %asi, %r17, %r13
9925 .word 0x9194c001 ! 151: WRPR_PIL_R wrpr %r19, %r1, %pil
9926 .word 0xe19fde00 ! 152: LDDFA_R ldda [%r31, %r0], %f16
9927 .word 0x3c700001 ! 153: BPPOS <illegal instruction>
9928 .word 0xda27e09d ! 154: STW_I stw %r13, [%r31 + 0x009d]
9929pmu_4_89:
9930 nop
9931 ta T_CHANGE_PRIV
9932 setx 0xfffff473fffff405, %g1, %g7
9933 .word 0xa3800007 ! 155: WR_PERF_COUNTER_R wr %r0, %r7, %-
9934 nop
9935 ta T_CHANGE_HPRIV
9936 mov 0x4, %r10
9937 set sync_thr_counter2, %r23
9938 cas [%r23],%g0,%r10 !lock
9939 brnz %r10, sma_4_90
9940 rd %asi, %r12
9941 wr %g0, 0x40, %asi
9942 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
9943 set 0x00061fff, %g1
9944 stxa %g1, [%g0 + 0x80] %asi
9945 wr %r12, %g0, %asi
9946 st %g0, [%r23]
9947sma_4_90:
9948 ta T_CHANGE_NONHPRIV
9949 .word 0xdbe7e013 ! 156: CASA_R casa [%r31] %asi, %r19, %r13
9950 setx 0xc4bec171907b7a28, %r1, %r28
9951 stxa %r28, [%g0] 0x73
9952intvec_4_91:
9953 .word 0x39400001 ! 157: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
9954 .word 0x2e700001 ! 158: BPVS <illegal instruction>
9955 .word 0xda47c000 ! 159: LDSW_R ldsw [%r31 + %r0], %r13
9956splash_lsu_4_92:
9957 nop
9958 ta T_CHANGE_HPRIV
9959 set 0x522d58f0, %r2
9960 mov 0x2, %r1
9961 sllx %r1, 32, %r1
9962 or %r1, %r2, %r2
9963 stxa %r2, [%r0] ASI_LSU_CONTROL
9964 ta T_CHANGE_NONHPRIV
9965 .word 0x3d400001 ! 160: FBPULE fbule,a,pn %fcc0, <label_0x1>
9966!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_4_93)+16, 16, 16)) -> intp(mask2tid(0x4),1,3)
9967!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_4_93)&0xffffffff) +16, 16, 16)) -> intp(mask2tid(0x4),1,3)
9968xir_4_93:
9969 .word 0xa980b904 ! 161: WR_SET_SOFTINT_I wr %r2, 0x1904, %set_softint
9970 .word 0xc1bfe060 ! 162: STDFA_I stda %f0, [0x0060, %r31]
9971pmu_4_94:
9972 nop
9973 setx 0xfffffdc3fffff734, %g1, %g7
9974 .word 0xa3800007 ! 163: WR_PERF_COUNTER_R wr %r0, %r7, %-
9975 .word 0x3a800001 ! 164: BCC bcc,a <label_0x1>
9976 .word 0xa7464000 ! 165: RD_STICK_CMPR_REG rd %-, %r19
9977pmu_4_95:
9978 nop
9979 ta T_CHANGE_PRIV
9980 setx 0xfffffa43ffffffbf, %g1, %g7
9981 .word 0xa3800007 ! 166: WR_PERF_COUNTER_R wr %r0, %r7, %-
9982 .word 0xb1800011 ! 167: WR_STICK_REG_R wr %r0, %r17, %-
9983 nop
9984 ta T_CHANGE_HPRIV
9985 mov 0x4, %r10
9986 set sync_thr_counter2, %r23
9987 cas [%r23],%g0,%r10 !lock
9988 brnz %r10, sma_4_96
9989 rd %asi, %r12
9990 wr %g0, 0x40, %asi
9991 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
9992 set 0x00121fff, %g1
9993 stxa %g1, [%g0 + 0x80] %asi
9994 wr %r12, %g0, %asi
9995 st %g0, [%r23]
9996sma_4_96:
9997 ta T_CHANGE_NONHPRIV
9998 .word 0xdbe7e013 ! 168: CASA_R casa [%r31] %asi, %r19, %r13
9999pmu_4_97:
10000 nop
10001 ta T_CHANGE_PRIV
10002 setx 0xfffff67dfffff0dd, %g1, %g7
10003 .word 0xa3800007 ! 169: WR_PERF_COUNTER_R wr %r0, %r7, %-
10004pmu_4_98:
10005 nop
10006 ta T_CHANGE_PRIV
10007 setx 0xfffff352ffffffba, %g1, %g7
10008 .word 0xa3800007 ! 170: WR_PERF_COUNTER_R wr %r0, %r7, %-
10009 .word 0x83d020b2 ! 171: Tcc_I te icc_or_xcc, %r0 + 178
10010 .word 0xa9840011 ! 172: WR_SET_SOFTINT_R wr %r16, %r17, %set_softint
10011 otherw
10012 mov 0xb2, %r30
10013 .word 0x83d0001e ! 173: Tcc_R te icc_or_xcc, %r0 + %r30
10014brcommon_4_99:
10015 ba,a .+12
10016 mov %r31, %r15
10017 ba,a .+8
10018 call common_target
10019 .word 0xdb3fc003 ! 174: STDF_R std %f13, [%r3, %r31]
10020br_badelay3_4_100:
10021 .word 0x34800001 ! 1: BG bg,a <label_0x1>
10022 .word 0xd74131e6 ! Random illegal ?
10023 .word 0xe9144013 ! 1: LDQF_R - [%r17, %r19], %f20
10024 .word 0xa7a28831 ! 175: FADDs fadds %f10, %f17, %f19
10025 .word 0xa7a309d2 ! 176: FDIVd fdivd %f12, %f18, %f50
10026 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
10027reduce_priv_lvl_4_101:
10028 ta T_CHANGE_NONHPRIV ! macro
10029 nop
10030 mov 0x80, %g3
10031 stxa %g3, [%g3] 0x57
10032 .word 0xe05fc000 ! 178: LDX_R ldx [%r31 + %r0], %r16
10033memptr_4_102:
10034 set user_data_start, %r31
10035 .word 0x858435e4 ! 179: WRCCR_I wr %r16, 0x15e4, %ccr
10036 setx 0xbf7b2b886583b73c, %r1, %r28
10037 stxa %r28, [%g0] 0x73
10038intvec_4_103:
10039 .word 0x39400001 ! 180: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10040 .word 0xc1bfe0a0 ! 181: STDFA_I stda %f0, [0x00a0, %r31]
10041 set 0x2540, %l3
10042 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
10043 .word 0x99b407cc ! 182: PDIST pdistn %d16, %d12, %d12
10044mondo_4_104:
10045 nop
10046 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10047 ta T_CHANGE_PRIV
10048 stxa %r1, [%r0+0x3e0] %asi
10049 .word 0x9d92c012 ! 183: WRPR_WSTATE_R wrpr %r11, %r18, %wstate
10050 .word 0x9f802424 ! 184: SIR sir 0x0424
10051 .word 0x95a4c9c6 ! 185: FDIVd fdivd %f50, %f6, %f10
10052 .word 0x99b20491 ! 186: FCMPLE32 fcmple32 %d8, %d48, %r12
10053dvapa_4_105:
10054 nop
10055 ta T_CHANGE_HPRIV
10056 mov 0xb3f, %r20
10057 mov 0x9, %r19
10058 sllx %r20, 23, %r20
10059 or %r19, %r20, %r19
10060 stxa %r19, [%g0] ASI_LSU_CONTROL
10061 mov 0x38, %r18
10062 stxa %r31, [%r18]0x58
10063 ta T_CHANGE_NONHPRIV
10064 .word 0xd0bfc033 ! 187: STDA_R stda %r8, [%r31 + %r19] 0x01
10065mondo_4_106:
10066 nop
10067 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10068 stxa %r12, [%r0+0x3c8] %asi
10069 .word 0x9d94c00d ! 188: WRPR_WSTATE_R wrpr %r19, %r13, %wstate
10070 .word 0x87ac4a42 ! 189: FCMPd fcmpd %fcc<n>, %f48, %f2
10071vahole_4_107:
10072 nop
10073 ta T_CHANGE_NONHPRIV
10074 setx vahole_target, %r18, %r27
10075 jmpl %r27+0, %r27
10076 .word 0xc32fc001 ! 190: STXFSR_R st-sfr %f1, [%r1, %r31]
10077 .word 0xe237e0c2 ! 191: STH_I sth %r17, [%r31 + 0x00c2]
10078 .word 0x9b480000 ! 192: RDHPR_HPSTATE rdhpr %hpstate, %r13
10079!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_4_108)+0, 16, 16)) -> intp(mask2tid(0x4),1,3)
10080!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_4_108)&0xffffffff) +0, 16, 16)) -> intp(mask2tid(0x4),1,3)
10081xir_4_108:
10082 .word 0xa98533e0 ! 193: WR_SET_SOFTINT_I wr %r20, 0x13e0, %set_softint
10083 .word 0x9f802025 ! 194: SIR sir 0x0025
10084dvapa_4_109:
10085 nop
10086 ta T_CHANGE_HPRIV
10087 mov 0xd9e, %r20
10088 mov 0xa, %r19
10089 sllx %r20, 23, %r20
10090 or %r19, %r20, %r19
10091 stxa %r19, [%g0] ASI_LSU_CONTROL
10092 mov 0x38, %r18
10093 stxa %r31, [%r18]0x58
10094 ta T_CHANGE_NONHPRIV
10095 .word 0xc32fc001 ! 195: STXFSR_R st-sfr %f1, [%r1, %r31]
10096intveclr_4_110:
10097 nop
10098 ta T_CHANGE_HPRIV
10099 setx 0x571f0786a152451f, %r1, %r28
10100 stxa %r28, [%g0] 0x72
10101 ta T_CHANGE_NONHPRIV
10102 .word 0x25400001 ! 196: FBPLG fblg,a,pn %fcc0, <label_0x1>
10103 set 0x696, %l3
10104 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
10105 .word 0x95b107c8 ! 197: PDIST pdistn %d4, %d8, %d10
10106 .word 0xd23ff6e5 ! 198: STD_I std %r9, [%r31 + 0xfffff6e5]
10107mondo_4_112:
10108 nop
10109 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10110 stxa %r16, [%r0+0x3d0] %asi
10111 .word 0x9d94c008 ! 199: WRPR_WSTATE_R wrpr %r19, %r8, %wstate
10112 nop
10113 ta T_CHANGE_HPRIV
10114 mov 0x4+1, %r10
10115 set sync_thr_counter1, %r23
10116 cas [%r23],%g0,%r10 !lock
10117 brnz %r10, cwq_4_113
10118 rd %asi, %r12
10119 wr %g0, 0x40, %asi
10120 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
10121 and %l1, 0x3, %l1 ! Check if busy/enabled ..
10122 cmp %l1, 1
10123 bne cwq_4_113
10124 set CWQ_BASE, %l6
10125 best_set_reg(0x206100e0, %l1, %l2) !# Control Word
10126 sllx %l2, 32, %l2
10127 stx %l2, [%l6 + 0x0]
10128 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
10129 sub %l2, 0x40, %l2
10130 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
10131 wr %r12, %g0, %asi
10132 st %g0, [%r23]
10133cwq_4_113:
10134 ta T_CHANGE_NONHPRIV
10135 .word 0xa3414000 ! 200: RDPC rd %pc, %r17
10136mondo_4_114:
10137 nop
10138 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10139 stxa %r17, [%r0+0x3c8] %asi
10140 .word 0x9d91400d ! 201: WRPR_WSTATE_R wrpr %r5, %r13, %wstate
10141 .word 0xe1bfda00 ! 202: STDFA_R stda %f16, [%r0, %r31]
10142 .word 0x83d02035 ! 203: Tcc_I te icc_or_xcc, %r0 + 53
10143memptr_4_115:
10144 set 0x60740000, %r31
10145 .word 0x8584fd72 ! 204: WRCCR_I wr %r19, 0x1d72, %ccr
10146 nop
10147 mov 0x80, %g3
10148 stxa %g3, [%g3] 0x5f
10149 .word 0xe25fc000 ! 205: LDX_R ldx [%r31 + %r0], %r17
10150 .word 0x93d020b2 ! 206: Tcc_I tne icc_or_xcc, %r0 + 178
10151pmu_4_116:
10152 nop
10153 setx 0xfffffe03ffffff13, %g1, %g7
10154 .word 0xa3800007 ! 207: WR_PERF_COUNTER_R wr %r0, %r7, %-
10155 .word 0x24cc8001 ! 1: BRLEZ brlez,a,pt %r18,<label_0xc8001>
10156 .word 0x8d902c5d ! 208: WRPR_PSTATE_I wrpr %r0, 0x0c5d, %pstate
10157splash_tba_4_118:
10158 ta T_CHANGE_PRIV
10159 setx 0x0000000400380000, %r11, %r12
10160 .word 0x8b90000c ! 209: WRPR_TBA_R wrpr %r0, %r12, %tba
10161 .word 0xa3a149b4 ! 210: FDIVs fdivs %f5, %f20, %f17
10162 .word 0xc1bfe0a0 ! 211: STDFA_I stda %f0, [0x00a0, %r31]
10163 .word 0x38800001 ! 212: BGU bgu,a <label_0x1>
10164 .word 0xe19fdb60 ! 213: LDDFA_R ldda [%r31, %r0], %f16
10165 .word 0xa5454000 ! 214: RD_CLEAR_SOFTINT rd %clear_softint, %r18
10166 .word 0xa3b407d1 ! 215: PDIST pdistn %d16, %d48, %d48
10167mondo_4_119:
10168 nop
10169 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10170 ta T_CHANGE_PRIV
10171 stxa %r13, [%r0+0x3d8] %asi
10172 .word 0x9d944014 ! 216: WRPR_WSTATE_R wrpr %r17, %r20, %wstate
10173splash_lsu_4_120:
10174 nop
10175 ta T_CHANGE_HPRIV
10176 set 0x5d1f3d5f, %r2
10177 mov 0x1, %r1
10178 sllx %r1, 32, %r1
10179 or %r1, %r2, %r2
10180 stxa %r2, [%r0] ASI_LSU_CONTROL
10181 .word 0x3d400001 ! 217: FBPULE fbule,a,pn %fcc0, <label_0x1>
10182 .word 0x24800001 ! 218: BLE ble,a <label_0x1>
10183 .word 0xc19fc2c0 ! 219: LDDFA_R ldda [%r31, %r0], %f0
10184 .word 0xd797e030 ! 220: LDQFA_I - [%r31, 0x0030], %f11
10185 .word 0xd73fc000 ! 221: STDF_R std %f11, [%r0, %r31]
10186donret_4_121:
10187 nop
10188 ta T_CHANGE_HPRIV ! macro
10189 rd %pc, %r12
10190 add %r12, (donretarg_4_121-donret_4_121-4), %r12
10191 mov 0x38, %r18
10192 stxa %r12, [%r18]0x58
10193 add %r12, 0x4, %r11
10194 wrpr %g0, 0x2, %tl
10195 wrpr %g0, %r12, %tpc
10196 wrpr %g0, %r11, %tnpc
10197 set (0x0050ac02 | (0x8a << 24)), %r13
10198 rdpr %tstate, %r16
10199 mov 0x1f, %r19
10200 and %r19, %r16, %r17
10201 andn %r16, %r19, %r16
10202 or %r16, %r17, %r20
10203 wrpr %r20, %g0, %tstate
10204 wrhpr %g0, 0xbdd, %htstate
10205 ta T_CHANGE_NONHPRIV ! rand=1 (4)
10206 done
10207donretarg_4_121:
10208 .word 0xd6ffe040 ! 222: SWAPA_I swapa %r11, [%r31 + 0x0040] %asi
10209!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_4_122)+8, 16, 16)) -> intp(mask2tid(0x4),1,3)
10210!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_4_122)&0xffffffff) +8, 16, 16)) -> intp(mask2tid(0x4),1,3)
10211xir_4_122:
10212 .word 0xa9806224 ! 223: WR_SET_SOFTINT_I wr %r1, 0x0224, %set_softint
10213 .word 0xa1a489b0 ! 224: FDIVs fdivs %f18, %f16, %f16
10214ibp_4_123:
10215 nop
10216 ta T_CHANGE_HPRIV
10217 mov 8, %r18
10218 rd %asi, %r12
10219 wr %r0, 0x41, %asi
10220 set sync_thr_counter, %r23
10221 mov 0x4, %r16
10222ibp_startwait4_123:
10223 cas [%r23],%g0,%r16 !lock
10224 brz,a %r16, continue_ibp_4_123
10225 mov (~0x4&0xf), %r16
10226 ld [%r23], %r16
10227ibp_wait4_123:
10228 brnz %r16, ibp_wait4_123
10229 ld [%r23], %r16
10230 ba,a ibp_startwait4_123
10231 mov 0x4, %r16
10232continue_ibp_4_123:
10233 ldxa [%g0]0x63, %r14 !Get raw TID
10234 srlx %r14, 3, %r14 !Get CID
10235 sllx %r16, %r14, %r16 !Mask for my core only
10236 ldxa [0x58]%asi, %r17 !Running_status
10237wait_for_stat_4_123:
10238 ldxa [0x50]%asi, %r13 !Running_rw
10239 cmp %r13, %r17
10240 bne,a wait_for_stat_4_123
10241 ldxa [0x58]%asi, %r17 !Running_status
10242 stxa %r16, [0x68]%asi
10243 ldxa [0x50]%asi, %r14 !Running_rw
10244wait_for_ibp_4_123:
10245 ldxa [0x58]%asi, %r17 !Running_status
10246 cmp %r14, %r17
10247 bne,a wait_for_ibp_4_123
10248 ldxa [0x50]%asi, %r14 !Running_rw
10249ibp_doit4_123:
10250 best_set_reg(0x0000005085c023e3,%r19, %r20)
10251 stxa %r20, [%r18]0x42
10252 stxa %r13, [0x50] %asi ! Running_rw
10253 st %g0, [%r23] !clear lock
10254 wr %r0, %r12, %asi ! restore %asi
10255 .word 0x9f803577 ! 225: SIR sir 0x1577
10256 set 0x3fc9, %l3
10257 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
10258 .word 0x93b107cb ! 226: PDIST pdistn %d4, %d42, %d40
10259 invalw
10260 mov 0x33, %r30
10261 .word 0x91d0001e ! 227: Tcc_R ta icc_or_xcc, %r0 + %r30
10262 nop
10263 ta T_CHANGE_HPRIV
10264 mov 0x4+1, %r10
10265 set sync_thr_counter1, %r23
10266 cas [%r23],%g0,%r10 !lock
10267 brnz %r10, cwq_4_124
10268 rd %asi, %r12
10269 wr %g0, 0x40, %asi
10270 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
10271 and %l1, 0x3, %l1 ! Check if busy/enabled ..
10272 cmp %l1, 1
10273 bne cwq_4_124
10274 set CWQ_BASE, %l6
10275 best_set_reg(0x20610010, %l1, %l2) !# Control Word
10276 sllx %l2, 32, %l2
10277 stx %l2, [%l6 + 0x0]
10278 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
10279 sub %l2, 0x40, %l2
10280 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
10281 wr %r12, %g0, %asi
10282 st %g0, [%r23]
10283cwq_4_124:
10284 ta T_CHANGE_NONHPRIV
10285 .word 0x99414000 ! 228: RDPC rd %pc, %r12
10286 .word 0x91918005 ! 229: WRPR_PIL_R wrpr %r6, %r5, %pil
10287 .word 0x24800001 ! 1: BLE ble,a <label_0x1>
10288 .word 0x8d903d09 ! 230: WRPR_PSTATE_I wrpr %r0, 0x1d09, %pstate
10289 .word 0xd23fe099 ! 231: STD_I std %r9, [%r31 + 0x0099]
10290mondo_4_127:
10291 nop
10292 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10293 ta T_CHANGE_PRIV
10294 stxa %r4, [%r0+0x3e0] %asi
10295 .word 0x9d924009 ! 232: WRPR_WSTATE_R wrpr %r9, %r9, %wstate
10296 nop
10297 mov 0x80, %g3
10298 stxa %g3, [%g3] 0x57
10299 .word 0xd25fc000 ! 233: LDX_R ldx [%r31 + %r0], %r9
10300!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_4_128)+32, 16, 16)) -> intp(mask2tid(0x4),1,3)
10301!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_4_128)&0xffffffff) +32, 16, 16)) -> intp(mask2tid(0x4),1,3)
10302xir_4_128:
10303 .word 0xa984acb1 ! 234: WR_SET_SOFTINT_I wr %r18, 0x0cb1, %set_softint
10304 .word 0xc1bfe000 ! 235: STDFA_I stda %f0, [0x0000, %r31]
10305invtsb_4_129:
10306 nop
10307 ta T_CHANGE_HPRIV
10308 rd %asi, %r21
10309 wr %r0,ASI_MMU_REAL_RANGE, %asi
10310 mov 1, %r20
10311 sllx %r20, 63, %r20
10312 ldxa [ASI_MMU_REAL_RANGE_0] %asi, %r22
10313 xor %r22 ,%r20, %r22
10314 stxa %r22, [ASI_MMU_REAL_RANGE_0] %asi
10315 ldxa [ASI_MMU_REAL_RANGE_1] %asi, %r22
10316 xor %r22 ,%r20, %r22
10317 stxa %r22, [ASI_MMU_REAL_RANGE_1] %asi
10318 ldxa [ASI_MMU_REAL_RANGE_2] %asi, %r22
10319 xor %r22 ,%r20, %r22
10320 stxa %r22, [ASI_MMU_REAL_RANGE_2] %asi
10321 ldxa [ASI_MMU_REAL_RANGE_3] %asi, %r22
10322 xor %r22 ,%r20, %r22
10323 stxa %r22, [ASI_MMU_REAL_RANGE_3] %asi
10324 wr %r21, %r0, %asi
10325 ta T_CHANGE_NONHPRIV
10326 .word 0x29800001 ! 236: FBL fbl,a <label_0x1>
10327splash_htba_4_130:
10328 nop
10329 ta T_CHANGE_HPRIV
10330 setx 0x0000000200280000, %r11, %r12
10331 .word 0x8b98000c ! 237: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
10332ibp_4_131:
10333 nop
10334 ta T_CHANGE_HPRIV
10335 mov 8, %r18
10336 rd %asi, %r12
10337 wr %r0, 0x41, %asi
10338 set sync_thr_counter, %r23
10339 mov 0x4, %r16
10340ibp_startwait4_131:
10341 cas [%r23],%g0,%r16 !lock
10342 brz,a %r16, continue_ibp_4_131
10343 mov (~0x4&0xf), %r16
10344 ld [%r23], %r16
10345ibp_wait4_131:
10346 brnz %r16, ibp_wait4_131
10347 ld [%r23], %r16
10348 ba,a ibp_startwait4_131
10349 mov 0x4, %r16
10350continue_ibp_4_131:
10351 ldxa [%g0]0x63, %r14 !Get raw TID
10352 srlx %r14, 3, %r14 !Get CID
10353 sllx %r16, %r14, %r16 !Mask for my core only
10354 ldxa [0x58]%asi, %r17 !Running_status
10355wait_for_stat_4_131:
10356 ldxa [0x50]%asi, %r13 !Running_rw
10357 cmp %r13, %r17
10358 bne,a wait_for_stat_4_131
10359 ldxa [0x58]%asi, %r17 !Running_status
10360 stxa %r16, [0x68]%asi
10361 ldxa [0x50]%asi, %r14 !Running_rw
10362wait_for_ibp_4_131:
10363 ldxa [0x58]%asi, %r17 !Running_status
10364 cmp %r14, %r17
10365 bne,a wait_for_ibp_4_131
10366 ldxa [0x50]%asi, %r14 !Running_rw
10367ibp_doit4_131:
10368 best_set_reg(0x00000050cfe3e37b,%r19, %r20)
10369 stxa %r20, [%r18]0x42
10370 stxa %r13, [0x50] %asi ! Running_rw
10371 st %g0, [%r23] !clear lock
10372 wr %r0, %r12, %asi ! restore %asi
10373 ta T_CHANGE_NONHPRIV
10374 .word 0xd33fc013 ! 238: STDF_R std %f9, [%r19, %r31]
10375 .word 0xa9b48482 ! 239: FCMPLE32 fcmple32 %d18, %d2, %r20
10376!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_4_132)+32, 16, 16)) -> intp(mask2tid(0x4),1,3)
10377!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_4_132)&0xffffffff) +32, 16, 16)) -> intp(mask2tid(0x4),1,3)
10378xir_4_132:
10379 .word 0xa98373a9 ! 240: WR_SET_SOFTINT_I wr %r13, 0x13a9, %set_softint
10380 .word 0x91948011 ! 241: WRPR_PIL_R wrpr %r18, %r17, %pil
10381 nop
10382 ta T_CHANGE_HPRIV
10383 mov 0x4, %r10
10384 set sync_thr_counter2, %r23
10385 cas [%r23],%g0,%r10 !lock
10386 brnz %r10, sma_4_134
10387 rd %asi, %r12
10388 wr %g0, 0x40, %asi
10389 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
10390 set 0x000a1fff, %g1
10391 stxa %g1, [%g0 + 0x80] %asi
10392 wr %r12, %g0, %asi
10393 st %g0, [%r23]
10394sma_4_134:
10395 ta T_CHANGE_NONHPRIV
10396 .word 0xe5e7e00d ! 242: CASA_R casa [%r31] %asi, %r13, %r18
10397mondo_4_135:
10398 nop
10399 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10400 stxa %r16, [%r0+0x3e0] %asi
10401 .word 0x9d92c012 ! 243: WRPR_WSTATE_R wrpr %r11, %r18, %wstate
10402ibp_4_136:
10403 nop
10404 ta T_CHANGE_HPRIV
10405 mov 8, %r18
10406 rd %asi, %r12
10407 wr %r0, 0x41, %asi
10408 set sync_thr_counter, %r23
10409 mov 0x4, %r16
10410ibp_startwait4_136:
10411 cas [%r23],%g0,%r16 !lock
10412 brz,a %r16, continue_ibp_4_136
10413 mov (~0x4&0xf), %r16
10414 ld [%r23], %r16
10415ibp_wait4_136:
10416 brnz %r16, ibp_wait4_136
10417 ld [%r23], %r16
10418 ba,a ibp_startwait4_136
10419 mov 0x4, %r16
10420continue_ibp_4_136:
10421 ldxa [%g0]0x63, %r14 !Get raw TID
10422 srlx %r14, 3, %r14 !Get CID
10423 sllx %r16, %r14, %r16 !Mask for my core only
10424 ldxa [0x58]%asi, %r17 !Running_status
10425wait_for_stat_4_136:
10426 ldxa [0x50]%asi, %r13 !Running_rw
10427 cmp %r13, %r17
10428 bne,a wait_for_stat_4_136
10429 ldxa [0x58]%asi, %r17 !Running_status
10430 stxa %r16, [0x68]%asi
10431 ldxa [0x50]%asi, %r14 !Running_rw
10432wait_for_ibp_4_136:
10433 ldxa [0x58]%asi, %r17 !Running_status
10434 cmp %r14, %r17
10435 bne,a wait_for_ibp_4_136
10436 ldxa [0x50]%asi, %r14 !Running_rw
10437ibp_doit4_136:
10438 best_set_reg(0x0000005014e37bfd,%r19, %r20)
10439 stxa %r20, [%r18]0x42
10440 stxa %r13, [0x50] %asi ! Running_rw
10441 st %g0, [%r23] !clear lock
10442 wr %r0, %r12, %asi ! restore %asi
10443 .word 0xe4bfc033 ! 244: STDA_R stda %r18, [%r31 + %r19] 0x01
10444splash_tba_4_137:
10445 ta T_CHANGE_PRIV
10446 setx 0x0000000400380000, %r11, %r12
10447 .word 0x8b90000c ! 245: WRPR_TBA_R wrpr %r0, %r12, %tba
10448br_badelay3_4_138:
10449 .word 0x20800001 ! 1: BN bn,a <label_0x1>
10450 .word 0xef6bb9eb ! Random illegal ?
10451 .word 0xe1108007 ! 1: LDQF_R - [%r2, %r7], %f16
10452 .word 0xa1a0c834 ! 246: FADDs fadds %f3, %f20, %f16
10453 .word 0x87ac4a42 ! 247: FCMPd fcmpd %fcc<n>, %f48, %f2
10454 .word 0xc1bfc3e0 ! 248: STDFA_R stda %f0, [%r0, %r31]
10455brcommon_4_139:
10456 ba,a .+12
10457 mov %r31, %r15
10458 ba,a .+8
10459 call common_target
10460 .word 0xd4dfc030 ! 249: LDXA_R ldxa [%r31, %r16] 0x01, %r10
10461pmu_4_140:
10462 nop
10463 setx 0xffffffbdfffffffe, %g1, %g7
10464 .word 0xa3800007 ! 250: WR_PERF_COUNTER_R wr %r0, %r7, %-
10465 .word 0xd43fc000 ! 251: STD_R std %r10, [%r31 + %r0]
10466dvapa_4_141:
10467 nop
10468 ta T_CHANGE_HPRIV
10469 mov 0xc18, %r20
10470 mov 0x1b, %r19
10471 sllx %r20, 23, %r20
10472 or %r19, %r20, %r19
10473 stxa %r19, [%g0] ASI_LSU_CONTROL
10474 mov 0x38, %r18
10475 stxa %r31, [%r18]0x58
10476 ta T_CHANGE_NONHPRIV
10477 .word 0xd497c030 ! 252: LDUHA_R lduha [%r31, %r16] 0x01, %r10
10478br_badelay3_4_142:
10479 .word 0x22800001 ! 1: BE be,a <label_0x1>
10480 .word 0xbb51d3ac ! Random illegal ?
10481 .word 0xdb144012 ! 1: LDQF_R - [%r17, %r18], %f13
10482 .word 0xa5a1c834 ! 253: FADDs fadds %f7, %f20, %f18
10483 otherw
10484 mov 0x33, %r30
10485 .word 0x93d0001e ! 254: Tcc_R tne icc_or_xcc, %r0 + %r30
10486 setx 0xf9dac68ae74786b2, %r1, %r28
10487 stxa %r28, [%g0] 0x73
10488intvec_4_143:
10489 .word 0x39400001 ! 255: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10490 nop
10491 ta T_CHANGE_HPRIV
10492 mov 0x4+1, %r10
10493 set sync_thr_counter1, %r23
10494 cas [%r23],%g0,%r10 !lock
10495 brnz %r10, cwq_4_144
10496 rd %asi, %r12
10497 wr %g0, 0x40, %asi
10498 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
10499 and %l1, 0x3, %l1 ! Check if busy/enabled ..
10500 cmp %l1, 1
10501 bne cwq_4_144
10502 set CWQ_BASE, %l6
10503 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
10504 sllx %l2, 32, %l2
10505 stx %l2, [%l6 + 0x0]
10506 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
10507 sub %l2, 0x40, %l2
10508 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
10509 wr %r12, %g0, %asi
10510 st %g0, [%r23]
10511cwq_4_144:
10512 ta T_CHANGE_NONHPRIV
10513 .word 0x9b414000 ! 256: RDPC rd %pc, %r13
10514 .word 0x95a089a4 ! 257: FDIVs fdivs %f2, %f4, %f10
10515dvapa_4_145:
10516 nop
10517 ta T_CHANGE_HPRIV
10518 mov 0xd0a, %r20
10519 mov 0x2, %r19
10520 sllx %r20, 23, %r20
10521 or %r19, %r20, %r19
10522 stxa %r19, [%g0] ASI_LSU_CONTROL
10523 mov 0x38, %r18
10524 stxa %r31, [%r18]0x58
10525 ta T_CHANGE_NONHPRIV
10526 .word 0xc32fc012 ! 258: STXFSR_R st-sfr %f1, [%r18, %r31]
10527 invalw
10528 mov 0x35, %r30
10529 .word 0x93d0001e ! 259: Tcc_R tne icc_or_xcc, %r0 + %r30
10530 .word 0xe457c000 ! 260: LDSH_R ldsh [%r31 + %r0], %r18
10531splash_lsu_4_146:
10532 nop
10533 ta T_CHANGE_HPRIV
10534 set 0xd273e0dc, %r2
10535 mov 0x7, %r1
10536 sllx %r1, 32, %r1
10537 or %r1, %r2, %r2
10538 stxa %r2, [%r0] ASI_LSU_CONTROL
10539 .word 0x3d400001 ! 261: FBPULE fbule,a,pn %fcc0, <label_0x1>
10540 otherw
10541 mov 0x30, %r30
10542 .word 0x91d0001e ! 262: Tcc_R ta icc_or_xcc, %r0 + %r30
10543 .word 0x91930010 ! 263: WRPR_PIL_R wrpr %r12, %r16, %pil
10544 .word 0xc1bfe000 ! 264: STDFA_I stda %f0, [0x0000, %r31]
10545 .word 0xc19fe0a0 ! 265: LDDFA_I ldda [%r31, 0x00a0], %f0
10546 nop
10547 ta T_CHANGE_HPRIV
10548 mov 0x4, %r10
10549 set sync_thr_counter2, %r23
10550 cas [%r23],%g0,%r10 !lock
10551 brnz %r10, sma_4_148
10552 rd %asi, %r12
10553 wr %g0, 0x40, %asi
10554 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
10555 set 0x001a1fff, %g1
10556 stxa %g1, [%g0 + 0x80] %asi
10557 wr %r12, %g0, %asi
10558 st %g0, [%r23]
10559sma_4_148:
10560 ta T_CHANGE_NONHPRIV
10561 .word 0xe5e7e014 ! 266: CASA_R casa [%r31] %asi, %r20, %r18
10562 ta T_CHANGE_NONPRIV ! macro
10563 .word 0x9ba0016a ! 268: FABSq dis not found
10564
10565 nop
10566 ta T_CHANGE_HPRIV
10567 mov 0x4, %r10
10568 set sync_thr_counter2, %r23
10569 cas [%r23],%g0,%r10 !lock
10570 brnz %r10, sma_4_149
10571 rd %asi, %r12
10572 wr %g0, 0x40, %asi
10573 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
10574 set 0x00021fff, %g1
10575 stxa %g1, [%g0 + 0x80] %asi
10576 wr %r12, %g0, %asi
10577 st %g0, [%r23]
10578sma_4_149:
10579 ta T_CHANGE_NONHPRIV
10580 .word 0xe7e7e012 ! 269: CASA_R casa [%r31] %asi, %r18, %r19
10581 .word 0xe63fe0f0 ! 270: STD_I std %r19, [%r31 + 0x00f0]
10582!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_4_150) + 8, 16, 16)) -> intp(1,0,4)
10583!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_4_150)&0xffffffff) + 8, 16, 16)) -> intp(1,0,4)
10584intvec_4_150:
10585 .word 0x39400001 ! 271: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10586!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_4_151)+8, 16, 16)) -> intp(mask2tid(0x4),1,3)
10587!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_4_151)&0xffffffff) +8, 16, 16)) -> intp(mask2tid(0x4),1,3)
10588xir_4_151:
10589 .word 0xa984a04d ! 272: WR_SET_SOFTINT_I wr %r18, 0x004d, %set_softint
10590 .word 0xe63fe0c9 ! 273: STD_I std %r19, [%r31 + 0x00c9]
10591memptr_4_152:
10592 set 0x60340000, %r31
10593 .word 0x8583778c ! 274: WRCCR_I wr %r13, 0x178c, %ccr
10594br_badelay1_4_153:
10595 .word 0x39400001 ! 1: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10596 .word 0xe7340003 ! 1: STQF_R - %f19, [%r3, %r16]
10597 .word 0x2ec84001 ! 1: BRGEZ brgez,a,pt %r1,<label_0x84001>
10598 normalw
10599 .word 0x93458000 ! 275: RD_SOFTINT_REG rd %softint, %r9
10600 .word 0x87a9ca53 ! 276: FCMPd fcmpd %fcc<n>, %f38, %f50
10601 .word 0xe19fc2c0 ! 277: LDDFA_R ldda [%r31, %r0], %f16
10602 .word 0xc19fe000 ! 278: LDDFA_I ldda [%r31, 0x0000], %f0
10603 .word 0xc1bfd920 ! 279: STDFA_R stda %f0, [%r0, %r31]
10604 .word 0x91d02034 ! 280: Tcc_I ta icc_or_xcc, %r0 + 52
10605 .word 0x9f8020d3 ! 281: SIR sir 0x00d3
10606jmptr_4_154:
10607 nop
10608 best_set_reg(0xe1200000, %r20, %r27)
10609 .word 0xb7c6c000 ! 282: JMPL_R jmpl %r27 + %r0, %r27
10610 nop
10611 ta T_CHANGE_HPRIV
10612 mov 0x4, %r10
10613 set sync_thr_counter2, %r23
10614 cas [%r23],%g0,%r10 !lock
10615 brnz %r10, sma_4_155
10616 rd %asi, %r12
10617 wr %g0, 0x40, %asi
10618 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
10619 set 0x00121fff, %g1
10620 stxa %g1, [%g0 + 0x80] %asi
10621 wr %r12, %g0, %asi
10622 st %g0, [%r23]
10623sma_4_155:
10624 ta T_CHANGE_NONHPRIV
10625 .word 0xe9e7e011 ! 283: CASA_R casa [%r31] %asi, %r17, %r20
10626 .word 0xa3a0016c ! 284: FABSq dis not found
10627
10628mondo_4_156:
10629 nop
10630 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10631 ta T_CHANGE_PRIV
10632 stxa %r20, [%r0+0x3e8] %asi
10633 .word 0x9d940005 ! 285: WRPR_WSTATE_R wrpr %r16, %r5, %wstate
10634 .word 0xc32fc000 ! 286: STXFSR_R st-sfr %f1, [%r0, %r31]
10635 .word 0xe19fdf20 ! 287: LDDFA_R ldda [%r31, %r0], %f16
10636change_to_randtl_4_157:
10637 ta T_CHANGE_HPRIV ! macro
10638done_change_to_randtl_4_157:
10639 .word 0x8f902001 ! 288: WRPR_TL_I wrpr %r0, 0x0001, %tl
10640splash_decr_4_158:
10641 nop
10642 ta T_CHANGE_HPRIV
10643 mov 8, %r1
10644 stxa %r16, [%r1] 0x45
10645 .word 0xa7850011 ! 289: WR_GRAPHICS_STATUS_REG_R wr %r20, %r17, %-
10646 .word 0xe1bfe080 ! 290: STDFA_I stda %f16, [0x0080, %r31]
10647 .word 0xd86fe070 ! 291: LDSTUB_I ldstub %r12, [%r31 + 0x0070]
10648 .word 0x93b30991 ! 292: BSHUFFLE fmovc32 %d12, %d48, %d40
10649memptr_4_160:
10650 set 0x60340000, %r31
10651 .word 0x858133ce ! 293: WRCCR_I wr %r4, 0x13ce, %ccr
10652splash_hpstate_4_161:
10653 ta T_CHANGE_NONHPRIV
10654 .word 0x819827df ! 294: WRHPR_HPSTATE_I wrhpr %r0, 0x07df, %hpstate
10655!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_4_162) + 32, 16, 16)) -> intp(1,0,8)
10656!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_4_162)&0xffffffff) + 32, 16, 16)) -> intp(1,0,8)
10657intvec_4_162:
10658 .word 0x39400001 ! 295: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10659 .word 0xd0bfe099 ! 296: STDA_I stda %r8, [%r31 + 0x0099] %asi
10660 .word 0xa9a00173 ! 297: FABSq dis not found
10661
10662splash_tba_4_163:
10663 ta T_CHANGE_PRIV
10664 setx 0x0000000400380000, %r11, %r12
10665 .word 0x8b90000c ! 298: WRPR_TBA_R wrpr %r0, %r12, %tba
10666splash_tba_4_164:
10667 ta T_CHANGE_PRIV
10668 set 0x120000, %r12
10669 .word 0x8b90000c ! 299: WRPR_TBA_R wrpr %r0, %r12, %tba
10670 .word 0x8d903f35 ! 300: WRPR_PSTATE_I wrpr %r0, 0x1f35, %pstate
10671!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_4_166)+56, 16, 16)) -> intp(mask2tid(0x4),1,3)
10672!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_4_166)&0xffffffff) +56, 16, 16)) -> intp(mask2tid(0x4),1,3)
10673xir_4_166:
10674 .word 0xa984a043 ! 301: WR_SET_SOFTINT_I wr %r18, 0x0043, %set_softint
10675 nop
10676 nop
10677 ta T_CHANGE_PRIV
10678 wrpr %g0, %g0, %gl
10679 nop
10680 nop
10681 setx join_lbl_0_0, %g1, %g2
10682 jmp %g2
10683 nop
10684fork_lbl_0_2:
10685setup_cmp:
10686 mov mask2tid(0x2), %r10
10687 set sync_thr_counter, %r23
10688 st %r10, [%r23] !lock sync_thr_counter
10689 add %r23, 8, %r23
10690 st %r10, [%r23] !lock sync_thr_counter1
10691 add %r23, 8, %r23
10692 st %r10, [%r23] !lock sync_thr_counter2
10693 rd %asi, %r12
10694 wr %r0, 0x41, %asi
10695 ldxa [0x58]%asi, %r14
10696 stxa %r14, [0x50]%asi
10697setup_spu:
10698 wr %g0, 0x40, %asi
10699 !# allocate control word queue (e.g., setup head/tail/first/last registers)
10700 set CWQ_BASE, %l6
10701
10702 !# write base addr to first, head, and tail ptr
10703 !# first store to first
10704 stxa %l6, [%g0 + ASI_SPU_CWQ_FIRST] %asi !# first store to first
10705
10706 stxa %l6, [%g0 + ASI_SPU_CWQ_HEAD] %asi !# then to head
10707 stxa %l6, [%g0 + ASI_SPU_CWQ_TAIL] %asi !# then to tail
10708 setx CWQ_LAST, %g1, %l5 !# then end of CWQ region to LAST
10709 stxa %l5, [%g0 + ASI_SPU_CWQ_LAST] %asi
10710
10711 !# set CWQ control word ([38:36] is strand ID ..)
10712 best_set_reg(0x20610050, %l1, %l2) !# Control Word
10713 sllx %l2, 32, %l2
10714
10715 !# write CWQ entry (%l6 points to CWQ)
10716 stx %l2, [%l6 + 0x0]
10717
10718 setx msg, %g1, %l2
10719 stx %l2, [%l6 + 0x8] !# source address
10720
10721 stx %g0, [%l6 + 0x10] !# Authentication Key Address (40-bit)
10722 stx %g0, [%l6 + 0x18] !# Authentication IV Address (40-bit)
10723 stx %g0, [%l6 + 0x20] !# Authentication FSAS Address (40-bit)
10724 stx %g0, [%l6 + 0x28] !# Encryption Key Address (40-bit)
10725 stx %g0, [%l6 + 0x30] !# Encryption Initialization Vector Address (40-bit)
10726
10727 setx results, %g1, %o3
10728 stx %o3, [%l6 + 0x38] !# Destination Address (40-bit)
10729
10730 membar #Sync
10731
10732 ldxa [%g0 + ASI_SPU_CWQ_TAIL] %asi, %l2
10733 add %l2, 0x40, %l2
10734 stxa %l2, [%g0 + ASI_SPU_CWQ_TAIL] %asi
10735
10736 !# Kick off the CWQ operation by writing to the CWQ_CSR
10737 !# Set the enabled bit and reset the other bits
10738 or %g0, 0x1, %g1
10739 stxa %g1, [%g0 + ASI_SPU_CWQ_CSR] %asi
10740
10741 st %r0, [%r23] !unlock sync_thr_counter2
10742 sub %r23, 8, %r23
10743 st %r0, [%r23] !unlock sync_thr_counter1
10744 sub %r23, 8, %r23
10745 st %r0, [%r23] !unlock sync_thr_counter
10746
10747 wr %r0, %r12, %asi
10748 ta T_CHANGE_NONHPRIV
10749splash_cmpr_2_0:
10750 nop
10751 setx 0x78f91e6deafa4cb3, %l2, %l1
10752 ta T_CHANGE_HPRIV
10753 wrhpr %l1, %g0, %hsys_tick_cmpr
10754 ta T_CHANGE_NONHPRIV
10755 sub %l1, 40, %g1
10756 .word 0x89900011 ! 1: WRPR_TICK_R wrpr %r0, %r17, %tick
10757 .word 0x81510000 ! 2: RDPR_TICK rdpr %tick, %r0
10758 .word 0xc19fc2c0 ! 3: LDDFA_R ldda [%r31, %r0], %f0
10759 setx 0xd4b8449014ccaa96, %r1, %r28
10760 stxa %r28, [%g0] 0x73
10761intvec_2_1:
10762 .word 0x39400001 ! 4: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10763 invalw
10764 mov 0x33, %r30
10765 .word 0x91d0001e ! 5: Tcc_R ta icc_or_xcc, %r0 + %r30
10766mondo_2_2:
10767 nop
10768 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10769 ta T_CHANGE_PRIV
10770 stxa %r16, [%r0+0x3c8] %asi
10771 .word 0x9d91000c ! 6: WRPR_WSTATE_R wrpr %r4, %r12, %wstate
10772 ta T_CHANGE_NONPRIV ! macro
10773 .word 0xe1bfc2c0 ! 8: STDFA_R stda %f16, [%r0, %r31]
10774br_badelay2_2_3:
10775 .word 0x34800001 ! 1: BG bg,a <label_0x1>
10776 allclean
10777 .word 0x99b08312 ! 9: ALIGNADDRESS alignaddr %r2, %r18, %r12
10778!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_2_4) + 0, 16, 16)) -> intp(7,0,27)
10779!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_2_4)&0xffffffff) + 0, 16, 16)) -> intp(7,0,27)
10780intvec_2_4:
10781 .word 0x39400001 ! 10: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10782 .word 0xe477e009 ! 11: STX_I stx %r18, [%r31 + 0x0009]
10783donret_2_5:
10784 nop
10785 ta T_CHANGE_HPRIV ! macro
10786 rd %pc, %r12
10787 add %r12, (donretarg_2_5-donret_2_5-4), %r12
10788 mov 0x38, %r18
10789 stxa %r12, [%r18]0x58
10790 add %r12, 0x4, %r11
10791 wrpr %g0, 0x1, %tl
10792 wrpr %g0, %r12, %tpc
10793 wrpr %g0, %r11, %tnpc
10794 set (0x00414ad2 | (4 << 24)), %r13
10795 rdpr %tstate, %r16
10796 mov 0x1f, %r19
10797 and %r19, %r16, %r17
10798 andn %r16, %r19, %r16
10799 or %r16, %r17, %r20
10800 wrpr %r20, %g0, %tstate
10801 wrhpr %g0, 0xc4f, %htstate
10802 ta T_CHANGE_NONHPRIV ! rand=1 (2)
10803 done
10804donretarg_2_5:
10805 .word 0xe4ffe0d4 ! 12: SWAPA_I swapa %r18, [%r31 + 0x00d4] %asi
10806splash_cmpr_2_6:
10807 nop
10808 setx 0x47da11fd5e46e23e, %l2, %l1
10809 ta T_CHANGE_HPRIV
10810 wrhpr %l1, %g0, %hsys_tick_cmpr
10811 sub %l1, 40, %g1
10812 .word 0x89900011 ! 13: WRPR_TICK_R wrpr %r0, %r17, %tick
10813 .word 0xc3eb4032 ! 14: PREFETCHA_R prefetcha [%r13, %r18] 0x01, #one_read
10814 otherw
10815 mov 0xb2, %r30
10816 .word 0x91d0001e ! 15: Tcc_R ta icc_or_xcc, %r0 + %r30
10817 .word 0xe6dfc032 ! 16: LDXA_R ldxa [%r31, %r18] 0x01, %r19
10818br_badelay2_2_8:
10819 .word 0x32800001 ! 1: BNE bne,a <label_0x1>
10820 pdist %f26, %f30, %f0
10821 .word 0xa9b40313 ! 17: ALIGNADDRESS alignaddr %r16, %r19, %r20
10822 .word 0xa9a00173 ! 18: FABSq dis not found
10823
10824 .word 0xb1800011 ! 19: WR_STICK_REG_R wr %r0, %r17, %-
10825 .word 0xad84e6a5 ! 20: WR_SOFTINT_REG_I wr %r19, 0x06a5, %softint
10826 .word 0xd877c000 ! 21: STX_R stx %r12, [%r31 + %r0]
10827splash_tba_2_9:
10828 ta T_CHANGE_PRIV
10829 setx 0x00000004003a0000, %r11, %r12
10830 .word 0x8b90000c ! 22: WRPR_TBA_R wrpr %r0, %r12, %tba
10831 .word 0xd89fe010 ! 23: LDDA_I ldda [%r31, + 0x0010] %asi, %r12
10832jmptr_2_10:
10833 nop
10834 best_set_reg(0xe1a00000, %r20, %r27)
10835 .word 0xb7c6c000 ! 24: JMPL_R jmpl %r27 + %r0, %r27
10836mondo_2_11:
10837 nop
10838 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10839 ta T_CHANGE_PRIV
10840 stxa %r6, [%r0+0x3c8] %asi
10841 .word 0x9d910014 ! 25: WRPR_WSTATE_R wrpr %r4, %r20, %wstate
10842 .word 0x91a449c7 ! 26: FDIVd fdivd %f48, %f38, %f8
10843!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_2_12)+40, 16, 16)) -> intp(mask2tid(0x2),1,3)
10844!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_2_12)&0xffffffff) +40, 16, 16)) -> intp(mask2tid(0x2),1,3)
10845xir_2_12:
10846 .word 0xa982b020 ! 27: WR_SET_SOFTINT_I wr %r10, 0x1020, %set_softint
10847 .word 0x9f803f62 ! 28: SIR sir 0x1f62
10848intveclr_2_13:
10849 nop
10850 ta T_CHANGE_HPRIV
10851 setx 0x5c9b313cabd0ed83, %r1, %r28
10852 stxa %r28, [%g0] 0x72
10853 ta T_CHANGE_NONHPRIV
10854 .word 0x25400001 ! 29: FBPLG fblg,a,pn %fcc0, <label_0x1>
10855brcommon_2_14:
10856 ba,a .+12
10857 mov %r31, %r15
10858 ba,a .+8
10859 call common_target
10860 .word 0xe897c031 ! 30: LDUHA_R lduha [%r31, %r17] 0x01, %r20
10861 nop
10862 ta T_CHANGE_HPRIV
10863 mov 0x2+1, %r10
10864 set sync_thr_counter1, %r23
10865 cas [%r23],%g0,%r10 !lock
10866 brnz %r10, cwq_2_15
10867 rd %asi, %r12
10868 wr %g0, 0x40, %asi
10869 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
10870 and %l1, 0x3, %l1 ! Check if busy/enabled ..
10871 cmp %l1, 1
10872 bne cwq_2_15
10873 set CWQ_BASE, %l6
10874 best_set_reg(0x20610000, %l1, %l2) !# Control Word
10875 sllx %l2, 32, %l2
10876 stx %l2, [%l6 + 0x0]
10877 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
10878 sub %l2, 0x40, %l2
10879 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
10880 wr %r12, %g0, %asi
10881 st %g0, [%r23]
10882cwq_2_15:
10883 ta T_CHANGE_NONHPRIV
10884 .word 0x91414000 ! 31: RDPC rd %pc, %r8
10885 nop
10886 ta T_CHANGE_HPRIV
10887 mov 0x2, %r10
10888 set sync_thr_counter2, %r23
10889 cas [%r23],%g0,%r10 !lock
10890 brnz %r10, sma_2_16
10891 rd %asi, %r12
10892 wr %g0, 0x40, %asi
10893 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
10894 set 0x001a1fff, %g1
10895 stxa %g1, [%g0 + 0x80] %asi
10896 wr %r12, %g0, %asi
10897 st %g0, [%r23]
10898sma_2_16:
10899 ta T_CHANGE_NONHPRIV
10900 .word 0xd3e7e011 ! 32: CASA_R casa [%r31] %asi, %r17, %r9
10901splash_cmpr_2_17:
10902 nop
10903 setx 0x7c88062c84d7fb33, %l2, %l1
10904 ta T_CHANGE_PRIV
10905 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
10906 ta T_CHANGE_NONPRIV
10907 sub %l1, 40, %g1
10908 .word 0x89900011 ! 33: WRPR_TICK_R wrpr %r0, %r17, %tick
10909!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_2_18) + 0, 16, 16)) -> intp(5,0,28)
10910!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_2_18)&0xffffffff) + 0, 16, 16)) -> intp(5,0,28)
10911intvec_2_18:
10912 .word 0x39400001 ! 34: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10913 .word 0xd26fe073 ! 35: LDSTUB_I ldstub %r9, [%r31 + 0x0073]
10914splash_hpstate_2_19:
10915 .word 0x8198218d ! 36: WRHPR_HPSTATE_I wrhpr %r0, 0x018d, %hpstate
10916br_longdelay1_2_20:
10917 .word 0x39400001 ! 1: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10918 .word 0xbfe7c000 ! 37: SAVE_R save %r31, %r0, %r31
10919 nop
10920 mov 0x80, %g3
10921 stxa %g3, [%g3] 0x5f
10922 .word 0xd25fc000 ! 38: LDX_R ldx [%r31 + %r0], %r9
10923 .word 0xd23fc000 ! 39: STD_R std %r9, [%r31 + %r0]
10924!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_2_21)+56, 16, 16)) -> intp(mask2tid(0x2),1,3)
10925!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_2_21)&0xffffffff) +56, 16, 16)) -> intp(mask2tid(0x2),1,3)
10926xir_2_21:
10927 .word 0xa98525f8 ! 40: WR_SET_SOFTINT_I wr %r20, 0x05f8, %set_softint
10928splash_hpstate_2_22:
10929 ta T_CHANGE_NONHPRIV
10930 .word 0x81982894 ! 41: WRHPR_HPSTATE_I wrhpr %r0, 0x0894, %hpstate
10931 .word 0xa7a049a7 ! 42: FDIVs fdivs %f1, %f7, %f19
10932splash_tba_2_23:
10933 ta T_CHANGE_PRIV
10934 setx 0x00000004003a0000, %r11, %r12
10935 .word 0x8b90000c ! 43: WRPR_TBA_R wrpr %r0, %r12, %tba
10936splash_cmpr_2_24:
10937 nop
10938 setx 0x4591abcb63a1a9d0, %l2, %l1
10939 ta T_CHANGE_HPRIV
10940 wrhpr %l1, %g0, %hsys_tick_cmpr
10941 ta T_CHANGE_NONHPRIV
10942 sub %l1, 40, %g1
10943 .word 0x89900011 ! 44: WRPR_TICK_R wrpr %r0, %r17, %tick
10944br_longdelay1_2_25:
10945 .word 0x39400001 ! 1: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
10946 .word 0x9d97c000 ! 45: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
10947mondo_2_26:
10948 nop
10949 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
10950 stxa %r18, [%r0+0x3d8] %asi
10951 .word 0x9d950014 ! 46: WRPR_WSTATE_R wrpr %r20, %r20, %wstate
10952 otherw
10953 mov 0xb3, %r30
10954 .word 0x93d0001e ! 47: Tcc_R tne icc_or_xcc, %r0 + %r30
10955 .word 0xa9820014 ! 48: WR_SET_SOFTINT_R wr %r8, %r20, %set_softint
10956 nop
10957 ta T_CHANGE_HPRIV
10958 mov 0x2, %r10
10959 set sync_thr_counter2, %r23
10960 cas [%r23],%g0,%r10 !lock
10961 brnz %r10, sma_2_27
10962 rd %asi, %r12
10963 wr %g0, 0x40, %asi
10964 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
10965 set 0x000a1fff, %g1
10966 stxa %g1, [%g0 + 0x80] %asi
10967 wr %r12, %g0, %asi
10968 st %g0, [%r23]
10969sma_2_27:
10970 ta T_CHANGE_NONHPRIV
10971 .word 0xe9e7e013 ! 49: CASA_R casa [%r31] %asi, %r19, %r20
10972 .word 0xe86fe0f4 ! 50: LDSTUB_I ldstub %r20, [%r31 + 0x00f4]
10973 invalw
10974 mov 0x30, %r30
10975 .word 0x93d0001e ! 51: Tcc_R tne icc_or_xcc, %r0 + %r30
10976pmu_2_28:
10977 nop
10978 ta T_CHANGE_PRIV
10979 setx 0xfffffe93fffffc66, %g1, %g7
10980 .word 0xa3800007 ! 52: WR_PERF_COUNTER_R wr %r0, %r7, %-
10981dvapa_2_29:
10982 nop
10983 ta T_CHANGE_HPRIV
10984 mov 0xb69, %r20
10985 mov 0x2, %r19
10986 sllx %r20, 23, %r20
10987 or %r19, %r20, %r19
10988 stxa %r19, [%g0] ASI_LSU_CONTROL
10989 mov 0x38, %r18
10990 stxa %r31, [%r18]0x58
10991 ta T_CHANGE_NONHPRIV
10992 .word 0xe89fc033 ! 53: LDDA_R ldda [%r31, %r19] 0x01, %r20
10993 .word 0xe19fdb60 ! 54: LDDFA_R ldda [%r31, %r0], %f16
10994fpinit_2_30:
10995 setx fp_data_quads, %r19, %r20
10996 ldd [%r20], %f0
10997 ldd [%r20+8], %f4
10998 ld [%r20+16], %fsr
10999 ld [%r20+24], %r19
11000 wr %r19, %g0, %gsr
11001 .word 0x91b00484 ! 55: FCMPLE32 fcmple32 %d0, %d4, %r8
11002 setx 0x8337dd426ddf54bf, %r1, %r28
11003 stxa %r28, [%g0] 0x73
11004intvec_2_31:
11005 .word 0x39400001 ! 56: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
11006 invalw
11007 mov 0x34, %r30
11008 .word 0x91d0001e ! 57: Tcc_R ta icc_or_xcc, %r0 + %r30
11009br_longdelay4_2_32:
11010 nop
11011 not %g0, %r12
11012 jmp %r12
11013 .word 0x9d902005 ! 58: WRPR_WSTATE_I wrpr %r0, 0x0005, %wstate
11014 .word 0xa7a489d1 ! 59: FDIVd fdivd %f18, %f48, %f50
11015 setx 0x556cec7cba88ae70, %r1, %r28
11016 stxa %r28, [%g0] 0x73
11017intvec_2_33:
11018 .word 0x39400001 ! 60: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
11019mondo_2_34:
11020 nop
11021 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11022 ta T_CHANGE_PRIV
11023 stxa %r20, [%r0+0x3c8] %asi
11024 .word 0x9d924009 ! 61: WRPR_WSTATE_R wrpr %r9, %r9, %wstate
11025 nop
11026 ta T_CHANGE_HPRIV
11027 mov 0x2, %r10
11028 set sync_thr_counter2, %r23
11029 cas [%r23],%g0,%r10 !lock
11030 brnz %r10, sma_2_35
11031 rd %asi, %r12
11032 wr %g0, 0x40, %asi
11033 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
11034 set 0x00021fff, %g1
11035 stxa %g1, [%g0 + 0x80] %asi
11036 wr %r12, %g0, %asi
11037 st %g0, [%r23]
11038sma_2_35:
11039 ta T_CHANGE_NONHPRIV
11040 .word 0xd1e7e00a ! 62: CASA_R casa [%r31] %asi, %r10, %r8
11041splash_decr_2_36:
11042 nop
11043 ta T_CHANGE_HPRIV
11044 mov 8, %r1
11045 stxa %r15, [%r1] 0x45
11046 .word 0xa7844008 ! 63: WR_GRAPHICS_STATUS_REG_R wr %r17, %r8, %-
11047 .word 0x9f8025b8 ! 64: SIR sir 0x05b8
11048 .word 0xd08fe038 ! 65: LDUBA_I lduba [%r31, + 0x0038] %asi, %r8
11049 .word 0xd03fc000 ! 66: STD_R std %r8, [%r31 + %r0]
11050 .word 0xc32fc000 ! 67: STXFSR_R st-sfr %f1, [%r0, %r31]
11051 .word 0xd0800b20 ! 68: LDUWA_R lduwa [%r0, %r0] 0x59, %r8
11052change_to_randtl_2_37:
11053 ta T_CHANGE_HPRIV ! macro
11054done_change_to_randtl_2_37:
11055 .word 0x8f902000 ! 69: WRPR_TL_I wrpr %r0, 0x0000, %tl
11056dvapa_2_38:
11057 nop
11058 ta T_CHANGE_HPRIV
11059 mov 0xde8, %r20
11060 mov 0xf, %r19
11061 sllx %r20, 23, %r20
11062 or %r19, %r20, %r19
11063 stxa %r19, [%g0] ASI_LSU_CONTROL
11064 mov 0x38, %r18
11065 stxa %r31, [%r18]0x58
11066 ta T_CHANGE_NONHPRIV
11067 .word 0xd097c024 ! 70: LDUHA_R lduha [%r31, %r4] 0x01, %r8
11068intveclr_2_39:
11069 nop
11070 ta T_CHANGE_HPRIV
11071 setx 0xe6af2797101049e9, %r1, %r28
11072 stxa %r28, [%g0] 0x72
11073 .word 0x25400001 ! 71: FBPLG fblg,a,pn %fcc0, <label_0x1>
11074mondo_2_40:
11075 nop
11076 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11077 stxa %r20, [%r0+0x3c0] %asi
11078 .word 0x9d95000a ! 72: WRPR_WSTATE_R wrpr %r20, %r10, %wstate
11079cmp_2_41:
11080 nop
11081 ta T_CHANGE_HPRIV
11082 rd %asi, %r12
11083 wr %r0, 0x41, %asi
11084 set sync_thr_counter, %r23
11085 mov 0x2, %r10
11086cmp_startwait2_41:
11087 cas [%r23],%g0,%r10 !lock
11088 brz,a %r10, continue_cmp_2_41
11089 ldxa [0x50]%asi, %r13 !Running_rw
11090 ld [%r23], %r10
11091cmp_wait2_41:
11092 brnz,a %r10, cmp_wait2_41
11093 ld [%r23], %r10
11094 ba,a cmp_startwait2_41
11095 mov 0x2, %r10
11096continue_cmp_2_41:
11097 ldxa [0x58]%asi, %r14 !Running_status
11098 xnor %r14, %r13, %r14 !Bits equal
11099 ldxa [0x10]%asi, %r13 !Get enabled threads
11100 andn %r13, 0xff, %r16
11101 brz,a %r16, cmp_multi_core_2_41
11102 mov 0x59, %r17
11103 best_set_reg(0xc43e226034b4ed1d, %r16, %r17)
11104cmp_multi_core_2_41:
11105 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
11106 and %r14, %r13, %r14 !Apply core-enabled mask
11107 andn %r14, 0x2, %r14 !Leave master thread
11108 stxa %r14, [0x68]%asi
11109 st %g0, [%r23] !clear lock
11110 wr %g0, %r12, %asi
11111 .word 0x91918013 ! 73: WRPR_PIL_R wrpr %r6, %r19, %pil
11112!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_2_42) + 8, 16, 16)) -> intp(3,0,21)
11113!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_2_42)&0xffffffff) + 8, 16, 16)) -> intp(3,0,21)
11114intvec_2_42:
11115 .word 0x39400001 ! 74: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
11116 .word 0xa3a249b3 ! 75: FDIVs fdivs %f9, %f19, %f17
11117br_longdelay2_2_43:
11118 .word 0x2f400001 ! 1: FBPU fbu,a,pn %fcc0, <label_0x1>
11119 .word 0xd43c8008 ! 76: STD_R std %r10, [%r18 + %r8]
11120splash_cmpr_2_44:
11121 nop
11122 setx 0xbcce51112d97b5f0, %l2, %l1
11123 ta T_CHANGE_HPRIV
11124 wrhpr %l1, %g0, %hsys_tick_cmpr
11125 sub %l1, 40, %g1
11126 .word 0x89900011 ! 77: WRPR_TICK_R wrpr %r0, %r17, %tick
11127 nop
11128 ta T_CHANGE_HPRIV
11129 mov 0x2, %r10
11130 set sync_thr_counter2, %r23
11131 cas [%r23],%g0,%r10 !lock
11132 brnz %r10, sma_2_45
11133 rd %asi, %r12
11134 wr %g0, 0x40, %asi
11135 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
11136 set 0x00121fff, %g1
11137 stxa %g1, [%g0 + 0x80] %asi
11138 wr %r12, %g0, %asi
11139 st %g0, [%r23]
11140sma_2_45:
11141 ta T_CHANGE_NONHPRIV
11142 .word 0xe3e7e005 ! 78: CASA_R casa [%r31] %asi, %r5, %r17
11143 .word 0x35400001 ! 1: FBPUE fbue,a,pn %fcc0, <label_0x1>
11144 .word 0x8d9031cc ! 79: WRPR_PSTATE_I wrpr %r0, 0x11cc, %pstate
11145 nop
11146 ta T_CHANGE_HPRIV
11147 mov 0x2+1, %r10
11148 set sync_thr_counter1, %r23
11149 cas [%r23],%g0,%r10 !lock
11150 brnz %r10, cwq_2_47
11151 rd %asi, %r12
11152 wr %g0, 0x40, %asi
11153 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
11154 and %l1, 0x3, %l1 ! Check if busy/enabled ..
11155 cmp %l1, 1
11156 bne cwq_2_47
11157 set CWQ_BASE, %l6
11158 best_set_reg(0x206100e0, %l1, %l2) !# Control Word
11159 sllx %l2, 32, %l2
11160 stx %l2, [%l6 + 0x0]
11161 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
11162 sub %l2, 0x40, %l2
11163 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
11164 wr %r12, %g0, %asi
11165 st %g0, [%r23]
11166cwq_2_47:
11167 ta T_CHANGE_NONHPRIV
11168 .word 0xa3414000 ! 80: RDPC rd %pc, %r17
11169!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_2_48)+0, 16, 16)) -> intp(mask2tid(0x2),1,3)
11170!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_2_48)&0xffffffff) +0, 16, 16)) -> intp(mask2tid(0x2),1,3)
11171xir_2_48:
11172 .word 0xa98472a5 ! 81: WR_SET_SOFTINT_I wr %r17, 0x12a5, %set_softint
11173cmp_2_49:
11174 nop
11175 ta T_CHANGE_HPRIV
11176 rd %asi, %r12
11177 wr %r0, 0x41, %asi
11178 set sync_thr_counter, %r23
11179 mov 0x2, %r10
11180cmp_startwait2_49:
11181 cas [%r23],%g0,%r10 !lock
11182 brz,a %r10, continue_cmp_2_49
11183 ldxa [0x50]%asi, %r13 !Running_rw
11184 ld [%r23], %r10
11185cmp_wait2_49:
11186 brnz,a %r10, cmp_wait2_49
11187 ld [%r23], %r10
11188 ba,a cmp_startwait2_49
11189 mov 0x2, %r10
11190continue_cmp_2_49:
11191 ldxa [0x58]%asi, %r14 !Running_status
11192 xnor %r14, %r13, %r14 !Bits equal
11193 ldxa [0x10]%asi, %r13 !Get enabled threads
11194 andn %r13, 0xff, %r16
11195 brz,a %r16, cmp_multi_core_2_49
11196 mov 0x75, %r17
11197 best_set_reg(0xa3f682a0a548f9aa, %r16, %r17)
11198cmp_multi_core_2_49:
11199 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
11200 and %r14, %r13, %r14 !Apply core-enabled mask
11201 andn %r14, 0x2, %r14 !Leave master thread
11202 stxa %r14, [0x68]%asi
11203 st %g0, [%r23] !clear lock
11204 wr %g0, %r12, %asi
11205 ta T_CHANGE_NONHPRIV
11206 .word 0x91940003 ! 82: WRPR_PIL_R wrpr %r16, %r3, %pil
11207intveclr_2_50:
11208 nop
11209 ta T_CHANGE_HPRIV
11210 setx 0xc78ddc90d322253e, %r1, %r28
11211 stxa %r28, [%g0] 0x72
11212 ta T_CHANGE_NONHPRIV
11213 .word 0x25400001 ! 83: FBPLG fblg,a,pn %fcc0, <label_0x1>
11214mondo_2_51:
11215 nop
11216 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11217 stxa %r4, [%r0+0x3d0] %asi
11218 .word 0x9d924012 ! 84: WRPR_WSTATE_R wrpr %r9, %r18, %wstate
11219splash_hpstate_2_52:
11220 .word 0x81982bc4 ! 85: WRHPR_HPSTATE_I wrhpr %r0, 0x0bc4, %hpstate
11221 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
11222reduce_priv_lvl_2_53:
11223 ta T_CHANGE_NONHPRIV ! macro
11224ibp_2_54:
11225 nop
11226 ta T_CHANGE_HPRIV
11227 ta T_CHANGE_NONHPRIV
11228 .word 0xdb3fc008 ! 87: STDF_R std %f13, [%r8, %r31]
11229splash_hpstate_2_55:
11230 ta T_CHANGE_NONHPRIV
11231 .word 0x81982d1d ! 88: WRHPR_HPSTATE_I wrhpr %r0, 0x0d1d, %hpstate
11232 .word 0xa7703dd9 ! 89: POPC_I popc 0x1dd9, %r19
11233 .word 0xdb27c000 ! 90: STF_R st %f13, [%r0, %r31]
11234splash_tba_2_56:
11235 ta T_CHANGE_PRIV
11236 set 0x120000, %r12
11237 .word 0x8b90000c ! 91: WRPR_TBA_R wrpr %r0, %r12, %tba
11238fpinit_2_57:
11239 setx fp_data_quads, %r19, %r20
11240 ldd [%r20], %f0
11241 ldd [%r20+8], %f4
11242 ld [%r20+16], %fsr
11243 ld [%r20+24], %r19
11244 wr %r19, %g0, %gsr
11245 .word 0x87a80a44 ! 92: FCMPd fcmpd %fcc<n>, %f0, %f4
11246!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_2_58) + 24, 16, 16)) -> intp(0,0,21)
11247!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_2_58)&0xffffffff) + 24, 16, 16)) -> intp(0,0,21)
11248intvec_2_58:
11249 .word 0x39400001 ! 93: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
11250intveclr_2_59:
11251 nop
11252 ta T_CHANGE_HPRIV
11253 setx 0x037bb81ca646d521, %r1, %r28
11254 stxa %r28, [%g0] 0x72
11255 .word 0x25400001 ! 94: FBPLG fblg,a,pn %fcc0, <label_0x1>
11256 .word 0xe1bfe040 ! 95: STDFA_I stda %f16, [0x0040, %r31]
11257 .word 0x91d02035 ! 96: Tcc_I ta icc_or_xcc, %r0 + 53
11258 nop
11259 ta T_CHANGE_HPRIV
11260 mov 0x2+1, %r10
11261 set sync_thr_counter1, %r23
11262 cas [%r23],%g0,%r10 !lock
11263 brnz %r10, cwq_2_60
11264 rd %asi, %r12
11265 wr %g0, 0x40, %asi
11266 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
11267 and %l1, 0x3, %l1 ! Check if busy/enabled ..
11268 cmp %l1, 1
11269 bne cwq_2_60
11270 set CWQ_BASE, %l6
11271 best_set_reg(0x20610070, %l1, %l2) !# Control Word
11272 sllx %l2, 32, %l2
11273 stx %l2, [%l6 + 0x0]
11274 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
11275 sub %l2, 0x40, %l2
11276 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
11277 wr %r12, %g0, %asi
11278 st %g0, [%r23]
11279cwq_2_60:
11280 ta T_CHANGE_NONHPRIV
11281 .word 0x99414000 ! 97: RDPC rd %pc, %r12
11282memptr_2_61:
11283 set 0x60340000, %r31
11284 .word 0x8582baee ! 98: WRCCR_I wr %r10, 0x1aee, %ccr
11285mondo_2_62:
11286 nop
11287 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11288 ta T_CHANGE_PRIV
11289 stxa %r17, [%r0+0x3c0] %asi
11290 .word 0x9d94c013 ! 99: WRPR_WSTATE_R wrpr %r19, %r19, %wstate
11291 .word 0x93d02032 ! 100: Tcc_I tne icc_or_xcc, %r0 + 50
11292ibp_2_63:
11293 nop
11294 ta T_CHANGE_HPRIV
11295 .word 0xe11fc011 ! 101: LDDF_R ldd [%r31, %r17], %f16
11296 .word 0xe19fdc00 ! 102: LDDFA_R ldda [%r31, %r0], %f16
11297!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_2_64)+0, 16, 16)) -> intp(mask2tid(0x2),1,3)
11298!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_2_64)&0xffffffff) +0, 16, 16)) -> intp(mask2tid(0x2),1,3)
11299xir_2_64:
11300 .word 0xa982230c ! 103: WR_SET_SOFTINT_I wr %r8, 0x030c, %set_softint
11301 .word 0xc1bfdc00 ! 104: STDFA_R stda %f0, [%r0, %r31]
11302 .word 0xe1bfdf20 ! 105: STDFA_R stda %f16, [%r0, %r31]
11303 .word 0x20700001 ! 106: BPN <illegal instruction>
11304jmptr_2_65:
11305 nop
11306 best_set_reg(0xe1a00000, %r20, %r27)
11307 .word 0xb7c6c000 ! 107: JMPL_R jmpl %r27 + %r0, %r27
11308 .word 0xe06fe09a ! 108: LDSTUB_I ldstub %r16, [%r31 + 0x009a]
11309 .word 0xb1800011 ! 109: WR_STICK_REG_R wr %r0, %r17, %-
11310fpinit_2_66:
11311 setx fp_data_quads, %r19, %r20
11312 ldd [%r20], %f0
11313 ldd [%r20+8], %f4
11314 ld [%r20+16], %fsr
11315 ld [%r20+24], %r19
11316 wr %r19, %g0, %gsr
11317 .word 0x8da009a4 ! 110: FDIVs fdivs %f0, %f4, %f6
11318 .word 0xe19fde00 ! 111: LDDFA_R ldda [%r31, %r0], %f16
11319 nop
11320 ta T_CHANGE_HPRIV
11321 mov 0x2+1, %r10
11322 set sync_thr_counter1, %r23
11323 cas [%r23],%g0,%r10 !lock
11324 brnz %r10, cwq_2_67
11325 rd %asi, %r12
11326 wr %g0, 0x40, %asi
11327 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
11328 and %l1, 0x3, %l1 ! Check if busy/enabled ..
11329 cmp %l1, 1
11330 bne cwq_2_67
11331 set CWQ_BASE, %l6
11332 best_set_reg(0x20610030, %l1, %l2) !# Control Word
11333 sllx %l2, 32, %l2
11334 stx %l2, [%l6 + 0x0]
11335 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
11336 sub %l2, 0x40, %l2
11337 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
11338 wr %r12, %g0, %asi
11339 st %g0, [%r23]
11340cwq_2_67:
11341 ta T_CHANGE_NONHPRIV
11342 .word 0xa7414000 ! 112: RDPC rd %pc, %r19
11343 .word 0x91a00167 ! 113: FABSq dis not found
11344
11345 .word 0x93450000 ! 114: RD_SET_SOFTINT rd %set_softint, %r9
11346 .word 0xe1bfdf20 ! 115: STDFA_R stda %f16, [%r0, %r31]
11347pmu_2_68:
11348 nop
11349 ta T_CHANGE_PRIV
11350 setx 0xfffffa8ffffff44b, %g1, %g7
11351 .word 0xa3800007 ! 116: WR_PERF_COUNTER_R wr %r0, %r7, %-
11352 nop
11353 ta T_CHANGE_HPRIV
11354 mov 0x2+1, %r10
11355 set sync_thr_counter1, %r23
11356 cas [%r23],%g0,%r10 !lock
11357 brnz %r10, cwq_2_69
11358 rd %asi, %r12
11359 wr %g0, 0x40, %asi
11360 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
11361 and %l1, 0x3, %l1 ! Check if busy/enabled ..
11362 cmp %l1, 1
11363 bne cwq_2_69
11364 set CWQ_BASE, %l6
11365 best_set_reg(0x206100b0, %l1, %l2) !# Control Word
11366 sllx %l2, 32, %l2
11367 stx %l2, [%l6 + 0x0]
11368 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
11369 sub %l2, 0x40, %l2
11370 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
11371 wr %r12, %g0, %asi
11372 st %g0, [%r23]
11373cwq_2_69:
11374 ta T_CHANGE_NONHPRIV
11375 .word 0xa1414000 ! 117: RDPC rd %pc, %r16
11376splash_hpstate_2_70:
11377 .word 0x2d400001 ! 1: FBPG fbg,a,pn %fcc0, <label_0x1>
11378 .word 0x8198230e ! 118: WRHPR_HPSTATE_I wrhpr %r0, 0x030e, %hpstate
11379 nop
11380 ta T_CHANGE_HPRIV
11381 mov 0x2, %r10
11382 set sync_thr_counter2, %r23
11383 cas [%r23],%g0,%r10 !lock
11384 brnz %r10, sma_2_71
11385 rd %asi, %r12
11386 wr %g0, 0x40, %asi
11387 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
11388 set 0x000e1fff, %g1
11389 stxa %g1, [%g0 + 0x80] %asi
11390 wr %r12, %g0, %asi
11391 st %g0, [%r23]
11392sma_2_71:
11393 ta T_CHANGE_NONHPRIV
11394 .word 0xe3e7e00d ! 119: CASA_R casa [%r31] %asi, %r13, %r17
11395 .word 0xe2d7e028 ! 120: LDSHA_I ldsha [%r31, + 0x0028] %asi, %r17
11396 .word 0x9f802d5c ! 121: SIR sir 0x0d5c
11397 .word 0x9f802c96 ! 122: SIR sir 0x0c96
11398tagged_2_72:
11399 tsubcctv %r16, 0x1b1e, %r20
11400 .word 0xe207e060 ! 123: LDUW_I lduw [%r31 + 0x0060], %r17
11401pmu_2_73:
11402 nop
11403 ta T_CHANGE_PRIV
11404 setx 0xfffff04fffffff81, %g1, %g7
11405 .word 0xa3800007 ! 124: WR_PERF_COUNTER_R wr %r0, %r7, %-
11406mondo_2_74:
11407 nop
11408 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11409 stxa %r1, [%r0+0x3c8] %asi
11410 .word 0x9d90400c ! 125: WRPR_WSTATE_R wrpr %r1, %r12, %wstate
11411 .word 0xe26fe0b1 ! 126: LDSTUB_I ldstub %r17, [%r31 + 0x00b1]
11412 .word 0xe31fc000 ! 127: LDDF_R ldd [%r31, %r0], %f17
11413 .word 0xe227e070 ! 128: STW_I stw %r17, [%r31 + 0x0070]
11414intveclr_2_75:
11415 nop
11416 ta T_CHANGE_HPRIV
11417 setx 0x4c30daac89fc4fcf, %r1, %r28
11418 stxa %r28, [%g0] 0x72
11419 .word 0x25400001 ! 129: FBPLG fblg,a,pn %fcc0, <label_0x1>
11420 .word 0xe22fe001 ! 130: STB_I stb %r17, [%r31 + 0x0001]
11421!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_2_76)+16, 16, 16)) -> intp(mask2tid(0x2),1,3)
11422!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_2_76)&0xffffffff) +16, 16, 16)) -> intp(mask2tid(0x2),1,3)
11423xir_2_76:
11424 .word 0xa9806208 ! 131: WR_SET_SOFTINT_I wr %r1, 0x0208, %set_softint
11425 .word 0xe337e02e ! 132: STQF_I - %f17, [0x002e, %r31]
11426 .word 0xe337c000 ! 133: STQF_R - %f17, [%r0, %r31]
11427 .word 0xe327e00c ! 134: STF_I st %f17, [0x000c, %r31]
11428jmptr_2_77:
11429 nop
11430 best_set_reg(0xe1a00000, %r20, %r27)
11431 .word 0xb7c6c000 ! 135: JMPL_R jmpl %r27 + %r0, %r27
11432pmu_2_78:
11433 nop
11434 ta T_CHANGE_PRIV
11435 setx 0xfffffdfefffffde3, %g1, %g7
11436 .word 0xa3800007 ! 136: WR_PERF_COUNTER_R wr %r0, %r7, %-
11437dvapa_2_79:
11438 nop
11439 ta T_CHANGE_HPRIV
11440 mov 0xf68, %r20
11441 mov 0x13, %r19
11442 sllx %r20, 23, %r20
11443 or %r19, %r20, %r19
11444 stxa %r19, [%g0] ASI_LSU_CONTROL
11445 mov 0x38, %r18
11446 stxa %r31, [%r18]0x58
11447 ta T_CHANGE_NONHPRIV
11448 .word 0xe3e7e011 ! 137: CASA_R casa [%r31] %asi, %r17, %r17
11449 .word 0xc1bfe080 ! 138: STDFA_I stda %f0, [0x0080, %r31]
11450mondo_2_80:
11451 nop
11452 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11453 stxa %r18, [%r0+0x3d0] %asi
11454 .word 0x9d94c008 ! 139: WRPR_WSTATE_R wrpr %r19, %r8, %wstate
11455 .word 0x8d802000 ! 140: WRFPRS_I wr %r0, 0x0000, %fprs
11456mondo_2_81:
11457 nop
11458 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11459 stxa %r17, [%r0+0x3e0] %asi
11460 .word 0x9d904009 ! 141: WRPR_WSTATE_R wrpr %r1, %r9, %wstate
11461pmu_2_82:
11462 nop
11463 ta T_CHANGE_PRIV
11464 setx 0xfffff86dfffff280, %g1, %g7
11465 .word 0xa3800007 ! 142: WR_PERF_COUNTER_R wr %r0, %r7, %-
11466 .word 0x91702bc4 ! 143: POPC_I popc 0x0bc4, %r8
11467!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_2_83)+16, 16, 16)) -> intp(mask2tid(0x2),1,3)
11468!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_2_83)&0xffffffff) +16, 16, 16)) -> intp(mask2tid(0x2),1,3)
11469xir_2_83:
11470 .word 0xa9852cd4 ! 144: WR_SET_SOFTINT_I wr %r20, 0x0cd4, %set_softint
11471cwp_2_84:
11472 set user_data_start, %o7
11473 .word 0x93902001 ! 145: WRPR_CWP_I wrpr %r0, 0x0001, %cwp
11474intveclr_2_85:
11475 nop
11476 ta T_CHANGE_HPRIV
11477 setx 0x503308d7df54402b, %r1, %r28
11478 stxa %r28, [%g0] 0x72
11479 ta T_CHANGE_NONHPRIV
11480 .word 0x25400001 ! 146: FBPLG fblg,a,pn %fcc0, <label_0x1>
11481 nop
11482 ta T_CHANGE_HPRIV
11483 mov 0x2, %r10
11484 set sync_thr_counter2, %r23
11485 cas [%r23],%g0,%r10 !lock
11486 brnz %r10, sma_2_86
11487 rd %asi, %r12
11488 wr %g0, 0x40, %asi
11489 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
11490 set 0x000e1fff, %g1
11491 stxa %g1, [%g0 + 0x80] %asi
11492 wr %r12, %g0, %asi
11493 st %g0, [%r23]
11494sma_2_86:
11495 ta T_CHANGE_NONHPRIV
11496 .word 0xd9e7e011 ! 147: CASA_R casa [%r31] %asi, %r17, %r12
11497 .word 0xa1a00166 ! 148: FABSq dis not found
11498
11499 .word 0xa1b24486 ! 149: FCMPLE32 fcmple32 %d40, %d6, %r16
11500 nop
11501 ta T_CHANGE_HPRIV
11502 mov 0x2, %r10
11503 set sync_thr_counter2, %r23
11504 cas [%r23],%g0,%r10 !lock
11505 brnz %r10, sma_2_87
11506 rd %asi, %r12
11507 wr %g0, 0x40, %asi
11508 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
11509 set 0x00121fff, %g1
11510 stxa %g1, [%g0 + 0x80] %asi
11511 wr %r12, %g0, %asi
11512 st %g0, [%r23]
11513sma_2_87:
11514 ta T_CHANGE_NONHPRIV
11515 .word 0xdbe7e011 ! 150: CASA_R casa [%r31] %asi, %r17, %r13
11516cmp_2_88:
11517 nop
11518 ta T_CHANGE_HPRIV
11519 rd %asi, %r12
11520 wr %r0, 0x41, %asi
11521 set sync_thr_counter, %r23
11522 mov 0x2, %r10
11523cmp_startwait2_88:
11524 cas [%r23],%g0,%r10 !lock
11525 brz,a %r10, continue_cmp_2_88
11526 ldxa [0x50]%asi, %r13 !Running_rw
11527 ld [%r23], %r10
11528cmp_wait2_88:
11529 brnz,a %r10, cmp_wait2_88
11530 ld [%r23], %r10
11531 ba,a cmp_startwait2_88
11532 mov 0x2, %r10
11533continue_cmp_2_88:
11534 ldxa [0x58]%asi, %r14 !Running_status
11535 xnor %r14, %r13, %r14 !Bits equal
11536 ldxa [0x10]%asi, %r13 !Get enabled threads
11537 andn %r13, 0xff, %r16
11538 brz,a %r16, cmp_multi_core_2_88
11539 mov 0xa0, %r17
11540 best_set_reg(0x8316c66d2c5b5511, %r16, %r17)
11541cmp_multi_core_2_88:
11542 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
11543 and %r14, %r13, %r14 !Apply core-enabled mask
11544 andn %r14, 0x2, %r14 !Leave master thread
11545 stxa %r14, [0x60]%asi
11546 st %g0, [%r23] !clear lock
11547 wr %g0, %r12, %asi
11548 .word 0x9192c010 ! 151: WRPR_PIL_R wrpr %r11, %r16, %pil
11549 .word 0xc19fc2c0 ! 152: LDDFA_R ldda [%r31, %r0], %f0
11550 .word 0x3c700001 ! 153: BPPOS <illegal instruction>
11551 .word 0xda27e08b ! 154: STW_I stw %r13, [%r31 + 0x008b]
11552pmu_2_89:
11553 nop
11554 ta T_CHANGE_PRIV
11555 setx 0xfffff950fffff246, %g1, %g7
11556 .word 0xa3800007 ! 155: WR_PERF_COUNTER_R wr %r0, %r7, %-
11557 nop
11558 ta T_CHANGE_HPRIV
11559 mov 0x2, %r10
11560 set sync_thr_counter2, %r23
11561 cas [%r23],%g0,%r10 !lock
11562 brnz %r10, sma_2_90
11563 rd %asi, %r12
11564 wr %g0, 0x40, %asi
11565 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
11566 set 0x000e1fff, %g1
11567 stxa %g1, [%g0 + 0x80] %asi
11568 wr %r12, %g0, %asi
11569 st %g0, [%r23]
11570sma_2_90:
11571 ta T_CHANGE_NONHPRIV
11572 .word 0xdbe7e013 ! 156: CASA_R casa [%r31] %asi, %r19, %r13
11573 setx 0x95bfe0c499c697e8, %r1, %r28
11574 stxa %r28, [%g0] 0x73
11575intvec_2_91:
11576 .word 0x39400001 ! 157: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
11577 .word 0x2e700001 ! 158: BPVS <illegal instruction>
11578 .word 0xda47c000 ! 159: LDSW_R ldsw [%r31 + %r0], %r13
11579splash_lsu_2_92:
11580 nop
11581 ta T_CHANGE_HPRIV
11582 set 0x855ecc53, %r2
11583 mov 0x2, %r1
11584 sllx %r1, 32, %r1
11585 or %r1, %r2, %r2
11586 stxa %r2, [%r0] ASI_LSU_CONTROL
11587 ta T_CHANGE_NONHPRIV
11588 .word 0x3d400001 ! 160: FBPULE fbule,a,pn %fcc0, <label_0x1>
11589!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_2_93)+8, 16, 16)) -> intp(mask2tid(0x2),1,3)
11590!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_2_93)&0xffffffff) +8, 16, 16)) -> intp(mask2tid(0x2),1,3)
11591xir_2_93:
11592 .word 0xa9847640 ! 161: WR_SET_SOFTINT_I wr %r17, 0x1640, %set_softint
11593 .word 0xe19fda00 ! 162: LDDFA_R ldda [%r31, %r0], %f16
11594pmu_2_94:
11595 nop
11596 setx 0xfffff16efffff90c, %g1, %g7
11597 .word 0xa3800007 ! 163: WR_PERF_COUNTER_R wr %r0, %r7, %-
11598 .word 0x3a800001 ! 164: BCC bcc,a <label_0x1>
11599 .word 0xa9464000 ! 165: RD_STICK_CMPR_REG rd %-, %r20
11600pmu_2_95:
11601 nop
11602 ta T_CHANGE_PRIV
11603 setx 0xfffff680fffff6be, %g1, %g7
11604 .word 0xa3800007 ! 166: WR_PERF_COUNTER_R wr %r0, %r7, %-
11605 .word 0xb1800011 ! 167: WR_STICK_REG_R wr %r0, %r17, %-
11606 nop
11607 ta T_CHANGE_HPRIV
11608 mov 0x2, %r10
11609 set sync_thr_counter2, %r23
11610 cas [%r23],%g0,%r10 !lock
11611 brnz %r10, sma_2_96
11612 rd %asi, %r12
11613 wr %g0, 0x40, %asi
11614 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
11615 set 0x00061fff, %g1
11616 stxa %g1, [%g0 + 0x80] %asi
11617 wr %r12, %g0, %asi
11618 st %g0, [%r23]
11619sma_2_96:
11620 ta T_CHANGE_NONHPRIV
11621 .word 0xdbe7e013 ! 168: CASA_R casa [%r31] %asi, %r19, %r13
11622pmu_2_97:
11623 nop
11624 ta T_CHANGE_PRIV
11625 setx 0xfffffe87fffffa09, %g1, %g7
11626 .word 0xa3800007 ! 169: WR_PERF_COUNTER_R wr %r0, %r7, %-
11627pmu_2_98:
11628 nop
11629 ta T_CHANGE_PRIV
11630 setx 0xfffffaacfffff2e0, %g1, %g7
11631 .word 0xa3800007 ! 170: WR_PERF_COUNTER_R wr %r0, %r7, %-
11632 .word 0x83d02033 ! 171: Tcc_I te icc_or_xcc, %r0 + 51
11633 .word 0xa9808011 ! 172: WR_SET_SOFTINT_R wr %r2, %r17, %set_softint
11634 otherw
11635 mov 0xb1, %r30
11636 .word 0x91d0001e ! 173: Tcc_R ta icc_or_xcc, %r0 + %r30
11637brcommon_2_99:
11638 ba,a .+12
11639 mov %r31, %r15
11640 ba,a .+8
11641 call common_target
11642 .word 0xda9fc023 ! 174: LDDA_R ldda [%r31, %r3] 0x01, %r13
11643br_badelay3_2_100:
11644 .word 0x34800001 ! 1: BG bg,a <label_0x1>
11645 .word 0xfd5c6ff2 ! Random illegal ?
11646 .word 0xdb10c009 ! 1: LDQF_R - [%r3, %r9], %f13
11647 .word 0x91a4c834 ! 175: FADDs fadds %f19, %f20, %f8
11648 .word 0xa7a2c9d4 ! 176: FDIVd fdivd %f42, %f20, %f50
11649 .word 0x8f902001 ! 1: WRPR_TL_I wrpr %r0, 0x0001, %tl
11650reduce_priv_lvl_2_101:
11651 ta T_CHANGE_NONHPRIV ! macro
11652 nop
11653 mov 0x80, %g3
11654 stxa %g3, [%g3] 0x57
11655 .word 0xe05fc000 ! 178: LDX_R ldx [%r31 + %r0], %r16
11656memptr_2_102:
11657 set user_data_start, %r31
11658 .word 0x85852eb8 ! 179: WRCCR_I wr %r20, 0x0eb8, %ccr
11659 setx 0x28e695bd43a475c6, %r1, %r28
11660 stxa %r28, [%g0] 0x73
11661intvec_2_103:
11662 .word 0x39400001 ! 180: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
11663 .word 0xe1bfe040 ! 181: STDFA_I stda %f16, [0x0040, %r31]
11664 set 0x311e, %l3
11665 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
11666 .word 0x95b447d3 ! 182: PDIST pdistn %d48, %d50, %d10
11667mondo_2_104:
11668 nop
11669 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11670 ta T_CHANGE_PRIV
11671 stxa %r16, [%r0+0x3d0] %asi
11672 .word 0x9d950003 ! 183: WRPR_WSTATE_R wrpr %r20, %r3, %wstate
11673 .word 0x9f8020f4 ! 184: SIR sir 0x00f4
11674 .word 0xa7a049d0 ! 185: FDIVd fdivd %f32, %f16, %f50
11675 .word 0xa1b48492 ! 186: FCMPLE32 fcmple32 %d18, %d18, %r16
11676dvapa_2_105:
11677 nop
11678 ta T_CHANGE_HPRIV
11679 mov 0xd53, %r20
11680 mov 0x11, %r19
11681 sllx %r20, 23, %r20
11682 or %r19, %r20, %r19
11683 stxa %r19, [%g0] ASI_LSU_CONTROL
11684 mov 0x38, %r18
11685 stxa %r31, [%r18]0x58
11686 ta T_CHANGE_NONHPRIV
11687 .word 0xd11fc013 ! 187: LDDF_R ldd [%r31, %r19], %f8
11688mondo_2_106:
11689 nop
11690 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11691 stxa %r12, [%r0+0x3d0] %asi
11692 .word 0x9d940012 ! 188: WRPR_WSTATE_R wrpr %r16, %r18, %wstate
11693 .word 0xa3b044c1 ! 189: FCMPNE32 fcmpne32 %d32, %d32, %r17
11694 .word 0xe23fe275 ! 190: STD_I std %r17, [%r31 + 0x0275]
11695 .word 0xe237e034 ! 191: STH_I sth %r17, [%r31 + 0x0034]
11696 .word 0xa1480000 ! 192: RDHPR_HPSTATE rdhpr %hpstate, %r16
11697!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_2_108)+0, 16, 16)) -> intp(mask2tid(0x2),1,3)
11698!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_2_108)&0xffffffff) +0, 16, 16)) -> intp(mask2tid(0x2),1,3)
11699xir_2_108:
11700 .word 0xa98524e1 ! 193: WR_SET_SOFTINT_I wr %r20, 0x04e1, %set_softint
11701 .word 0x9f8030d1 ! 194: SIR sir 0x10d1
11702dvapa_2_109:
11703 nop
11704 ta T_CHANGE_HPRIV
11705 mov 0x984, %r20
11706 mov 0x1a, %r19
11707 sllx %r20, 23, %r20
11708 or %r19, %r20, %r19
11709 stxa %r19, [%g0] ASI_LSU_CONTROL
11710 mov 0x38, %r18
11711 stxa %r31, [%r18]0x58
11712 ta T_CHANGE_NONHPRIV
11713 .word 0xe69fc021 ! 195: LDDA_R ldda [%r31, %r1] 0x01, %r19
11714intveclr_2_110:
11715 nop
11716 ta T_CHANGE_HPRIV
11717 setx 0x1c969b8444bf39bf, %r1, %r28
11718 stxa %r28, [%g0] 0x72
11719 ta T_CHANGE_NONHPRIV
11720 .word 0x25400001 ! 196: FBPLG fblg,a,pn %fcc0, <label_0x1>
11721 set 0x3256, %l3
11722 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
11723 .word 0xa1b2c7c6 ! 197: PDIST pdistn %d42, %d6, %d16
11724 .word 0xd3e7e012 ! 198: CASA_R casa [%r31] %asi, %r18, %r9
11725mondo_2_112:
11726 nop
11727 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11728 stxa %r16, [%r0+0x3e0] %asi
11729 .word 0x9d948011 ! 199: WRPR_WSTATE_R wrpr %r18, %r17, %wstate
11730 nop
11731 ta T_CHANGE_HPRIV
11732 mov 0x2+1, %r10
11733 set sync_thr_counter1, %r23
11734 cas [%r23],%g0,%r10 !lock
11735 brnz %r10, cwq_2_113
11736 rd %asi, %r12
11737 wr %g0, 0x40, %asi
11738 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
11739 and %l1, 0x3, %l1 ! Check if busy/enabled ..
11740 cmp %l1, 1
11741 bne cwq_2_113
11742 set CWQ_BASE, %l6
11743 best_set_reg(0x20610080, %l1, %l2) !# Control Word
11744 sllx %l2, 32, %l2
11745 stx %l2, [%l6 + 0x0]
11746 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
11747 sub %l2, 0x40, %l2
11748 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
11749 wr %r12, %g0, %asi
11750 st %g0, [%r23]
11751cwq_2_113:
11752 ta T_CHANGE_NONHPRIV
11753 .word 0xa7414000 ! 200: RDPC rd %pc, %r19
11754mondo_2_114:
11755 nop
11756 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11757 stxa %r12, [%r0+0x3e0] %asi
11758 .word 0x9d944011 ! 201: WRPR_WSTATE_R wrpr %r17, %r17, %wstate
11759 .word 0xe1bfdc00 ! 202: STDFA_R stda %f16, [%r0, %r31]
11760 .word 0x91d02032 ! 203: Tcc_I ta icc_or_xcc, %r0 + 50
11761memptr_2_115:
11762 set 0x60540000, %r31
11763 .word 0x8580b331 ! 204: WRCCR_I wr %r2, 0x1331, %ccr
11764 nop
11765 mov 0x80, %g3
11766 stxa %g3, [%g3] 0x5f
11767 .word 0xe25fc000 ! 205: LDX_R ldx [%r31 + %r0], %r17
11768 .word 0x93d020b3 ! 206: Tcc_I tne icc_or_xcc, %r0 + 179
11769pmu_2_116:
11770 nop
11771 setx 0xfffff882fffffbea, %g1, %g7
11772 .word 0xa3800007 ! 207: WR_PERF_COUNTER_R wr %r0, %r7, %-
11773 .word 0x2acb0001 ! 1: BRNZ brnz,a,pt %r12,<label_0xb0001>
11774 .word 0x8d902da7 ! 208: WRPR_PSTATE_I wrpr %r0, 0x0da7, %pstate
11775splash_tba_2_118:
11776 ta T_CHANGE_PRIV
11777 setx 0x00000004003a0000, %r11, %r12
11778 .word 0x8b90000c ! 209: WRPR_TBA_R wrpr %r0, %r12, %tba
11779 .word 0x87a84a53 ! 210: FCMPd fcmpd %fcc<n>, %f32, %f50
11780 .word 0xe1bfe080 ! 211: STDFA_I stda %f16, [0x0080, %r31]
11781 .word 0x38800001 ! 212: BGU bgu,a <label_0x1>
11782 .word 0xc1bfe020 ! 213: STDFA_I stda %f0, [0x0020, %r31]
11783 .word 0xa5454000 ! 214: RD_CLEAR_SOFTINT rd %clear_softint, %r18
11784 .word 0x9970275e ! 215: POPC_I popc 0x075e, %r12
11785mondo_2_119:
11786 nop
11787 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11788 ta T_CHANGE_PRIV
11789 stxa %r1, [%r0+0x3e0] %asi
11790 .word 0x9d910014 ! 216: WRPR_WSTATE_R wrpr %r4, %r20, %wstate
11791splash_lsu_2_120:
11792 nop
11793 ta T_CHANGE_HPRIV
11794 set 0xd76778f7, %r2
11795 mov 0x3, %r1
11796 sllx %r1, 32, %r1
11797 or %r1, %r2, %r2
11798 stxa %r2, [%r0] ASI_LSU_CONTROL
11799 .word 0x3d400001 ! 217: FBPULE fbule,a,pn %fcc0, <label_0x1>
11800 .word 0x24800001 ! 218: BLE ble,a <label_0x1>
11801 .word 0xc19fc3e0 ! 219: LDDFA_R ldda [%r31, %r0], %f0
11802 .word 0xd797e010 ! 220: LDQFA_I - [%r31, 0x0010], %f11
11803 .word 0xd73fc000 ! 221: STDF_R std %f11, [%r0, %r31]
11804donret_2_121:
11805 nop
11806 ta T_CHANGE_HPRIV ! macro
11807 rd %pc, %r12
11808 add %r12, (donretarg_2_121-donret_2_121-4), %r12
11809 mov 0x38, %r18
11810 stxa %r12, [%r18]0x58
11811 add %r12, 0x4, %r11
11812 wrpr %g0, 0x1, %tl
11813 wrpr %g0, %r12, %tpc
11814 wrpr %g0, %r11, %tnpc
11815 set (0x005ee2c6 | (0x89 << 24)), %r13
11816 rdpr %tstate, %r16
11817 mov 0x1f, %r19
11818 and %r19, %r16, %r17
11819 andn %r16, %r19, %r16
11820 or %r16, %r17, %r20
11821 wrpr %r20, %g0, %tstate
11822 wrhpr %g0, 0x98f, %htstate
11823 ta T_CHANGE_NONHPRIV ! rand=1 (2)
11824 done
11825donretarg_2_121:
11826 .word 0xd6ffe095 ! 222: SWAPA_I swapa %r11, [%r31 + 0x0095] %asi
11827!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_2_122)+16, 16, 16)) -> intp(mask2tid(0x2),1,3)
11828!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_2_122)&0xffffffff) +16, 16, 16)) -> intp(mask2tid(0x2),1,3)
11829xir_2_122:
11830 .word 0xa984e778 ! 223: WR_SET_SOFTINT_I wr %r19, 0x0778, %set_softint
11831 .word 0xa3b18491 ! 224: FCMPLE32 fcmple32 %d6, %d48, %r17
11832ibp_2_123:
11833 nop
11834 ta T_CHANGE_HPRIV
11835 .word 0xe8bfc02b ! 225: STDA_R stda %r20, [%r31 + %r11] 0x01
11836 set 0x39b1, %l3
11837 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
11838 .word 0xa3b307d3 ! 226: PDIST pdistn %d12, %d50, %d48
11839 invalw
11840 mov 0x30, %r30
11841 .word 0x91d0001e ! 227: Tcc_R ta icc_or_xcc, %r0 + %r30
11842 nop
11843 ta T_CHANGE_HPRIV
11844 mov 0x2+1, %r10
11845 set sync_thr_counter1, %r23
11846 cas [%r23],%g0,%r10 !lock
11847 brnz %r10, cwq_2_124
11848 rd %asi, %r12
11849 wr %g0, 0x40, %asi
11850 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
11851 and %l1, 0x3, %l1 ! Check if busy/enabled ..
11852 cmp %l1, 1
11853 bne cwq_2_124
11854 set CWQ_BASE, %l6
11855 best_set_reg(0x20610000, %l1, %l2) !# Control Word
11856 sllx %l2, 32, %l2
11857 stx %l2, [%l6 + 0x0]
11858 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
11859 sub %l2, 0x40, %l2
11860 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
11861 wr %r12, %g0, %asi
11862 st %g0, [%r23]
11863cwq_2_124:
11864 ta T_CHANGE_NONHPRIV
11865 .word 0xa1414000 ! 228: RDPC rd %pc, %r16
11866cmp_2_125:
11867 nop
11868 ta T_CHANGE_HPRIV
11869 rd %asi, %r12
11870 wr %r0, 0x41, %asi
11871 set sync_thr_counter, %r23
11872 mov 0x2, %r10
11873cmp_startwait2_125:
11874 cas [%r23],%g0,%r10 !lock
11875 brz,a %r10, continue_cmp_2_125
11876 ldxa [0x50]%asi, %r13 !Running_rw
11877 ld [%r23], %r10
11878cmp_wait2_125:
11879 brnz,a %r10, cmp_wait2_125
11880 ld [%r23], %r10
11881 ba,a cmp_startwait2_125
11882 mov 0x2, %r10
11883continue_cmp_2_125:
11884 ldxa [0x58]%asi, %r14 !Running_status
11885 xnor %r14, %r13, %r14 !Bits equal
11886 ldxa [0x10]%asi, %r13 !Get enabled threads
11887 andn %r13, 0xff, %r16
11888 brz,a %r16, cmp_multi_core_2_125
11889 mov 0x74, %r17
11890 best_set_reg(0xdaf9b7cf45858f7b, %r16, %r17)
11891cmp_multi_core_2_125:
11892 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
11893 and %r14, %r13, %r14 !Apply core-enabled mask
11894 andn %r14, 0x2, %r14 !Leave master thread
11895 stxa %r14, [0x68]%asi
11896 st %g0, [%r23] !clear lock
11897 wr %g0, %r12, %asi
11898 ta T_CHANGE_NONHPRIV
11899 .word 0x9192c005 ! 229: WRPR_PIL_R wrpr %r11, %r5, %pil
11900 .word 0x22800001 ! 1: BE be,a <label_0x1>
11901 .word 0x8d9037c7 ! 230: WRPR_PSTATE_I wrpr %r0, 0x17c7, %pstate
11902 .word 0xd23fe028 ! 231: STD_I std %r9, [%r31 + 0x0028]
11903mondo_2_127:
11904 nop
11905 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
11906 ta T_CHANGE_PRIV
11907 stxa %r16, [%r0+0x3c0] %asi
11908 .word 0x9d910013 ! 232: WRPR_WSTATE_R wrpr %r4, %r19, %wstate
11909 nop
11910 mov 0x80, %g3
11911 stxa %g3, [%g3] 0x57
11912 .word 0xd25fc000 ! 233: LDX_R ldx [%r31 + %r0], %r9
11913!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_2_128)+40, 16, 16)) -> intp(mask2tid(0x2),1,3)
11914!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_2_128)&0xffffffff) +40, 16, 16)) -> intp(mask2tid(0x2),1,3)
11915xir_2_128:
11916 .word 0xa984768c ! 234: WR_SET_SOFTINT_I wr %r17, 0x168c, %set_softint
11917 .word 0xe19fc3e0 ! 235: LDDFA_R ldda [%r31, %r0], %f16
11918invtsb_2_129:
11919 nop
11920 ta T_CHANGE_HPRIV
11921 rd %asi, %r21
11922 wr %r0,ASI_MMU_REAL_RANGE, %asi
11923 mov 1, %r20
11924 sllx %r20, 63, %r20
11925 ldxa [ASI_MMU_REAL_RANGE_0] %asi, %r22
11926 xor %r22 ,%r20, %r22
11927 stxa %r22, [ASI_MMU_REAL_RANGE_0] %asi
11928 ldxa [ASI_MMU_REAL_RANGE_1] %asi, %r22
11929 xor %r22 ,%r20, %r22
11930 stxa %r22, [ASI_MMU_REAL_RANGE_1] %asi
11931 ldxa [ASI_MMU_REAL_RANGE_2] %asi, %r22
11932 xor %r22 ,%r20, %r22
11933 stxa %r22, [ASI_MMU_REAL_RANGE_2] %asi
11934 ldxa [ASI_MMU_REAL_RANGE_3] %asi, %r22
11935 xor %r22 ,%r20, %r22
11936 stxa %r22, [ASI_MMU_REAL_RANGE_3] %asi
11937 wr %r21, %r0, %asi
11938 ta T_CHANGE_NONHPRIV
11939 .word 0x29800001 ! 236: FBL fbl,a <label_0x1>
11940splash_htba_2_130:
11941 nop
11942 ta T_CHANGE_HPRIV
11943 setx 0x00000002002a0000, %r11, %r12
11944 .word 0x8b98000c ! 237: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
11945ibp_2_131:
11946 nop
11947 ta T_CHANGE_HPRIV
11948 ta T_CHANGE_NONHPRIV
11949 .word 0xd23ff10c ! 238: STD_I std %r9, [%r31 + 0xfffff10c]
11950 .word 0xa5702a41 ! 239: POPC_I popc 0x0a41, %r18
11951!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_2_132)+24, 16, 16)) -> intp(mask2tid(0x2),1,3)
11952!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_2_132)&0xffffffff) +24, 16, 16)) -> intp(mask2tid(0x2),1,3)
11953xir_2_132:
11954 .word 0xa9853b5f ! 240: WR_SET_SOFTINT_I wr %r20, 0x1b5f, %set_softint
11955cmp_2_133:
11956 nop
11957 ta T_CHANGE_HPRIV
11958 rd %asi, %r12
11959 wr %r0, 0x41, %asi
11960 set sync_thr_counter, %r23
11961 mov 0x2, %r10
11962cmp_startwait2_133:
11963 cas [%r23],%g0,%r10 !lock
11964 brz,a %r10, continue_cmp_2_133
11965 ldxa [0x50]%asi, %r13 !Running_rw
11966 ld [%r23], %r10
11967cmp_wait2_133:
11968 brnz,a %r10, cmp_wait2_133
11969 ld [%r23], %r10
11970 ba,a cmp_startwait2_133
11971 mov 0x2, %r10
11972continue_cmp_2_133:
11973 ldxa [0x58]%asi, %r14 !Running_status
11974 xnor %r14, %r13, %r14 !Bits equal
11975 ldxa [0x10]%asi, %r13 !Get enabled threads
11976 andn %r13, 0xff, %r16
11977 brz,a %r16, cmp_multi_core_2_133
11978 mov 47, %r17
11979 best_set_reg(0x22f2a0f41733d9c6, %r16, %r17)
11980cmp_multi_core_2_133:
11981 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
11982 and %r14, %r13, %r14 !Apply core-enabled mask
11983 andn %r14, 0x2, %r14 !Leave master thread
11984 stxa %r14, [0x68]%asi
11985 st %g0, [%r23] !clear lock
11986 wr %g0, %r12, %asi
11987 .word 0x91948013 ! 241: WRPR_PIL_R wrpr %r18, %r19, %pil
11988 nop
11989 ta T_CHANGE_HPRIV
11990 mov 0x2, %r10
11991 set sync_thr_counter2, %r23
11992 cas [%r23],%g0,%r10 !lock
11993 brnz %r10, sma_2_134
11994 rd %asi, %r12
11995 wr %g0, 0x40, %asi
11996 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
11997 set 0x001a1fff, %g1
11998 stxa %g1, [%g0 + 0x80] %asi
11999 wr %r12, %g0, %asi
12000 st %g0, [%r23]
12001sma_2_134:
12002 ta T_CHANGE_NONHPRIV
12003 .word 0xe5e7e00d ! 242: CASA_R casa [%r31] %asi, %r13, %r18
12004mondo_2_135:
12005 nop
12006 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12007 stxa %r16, [%r0+0x3e0] %asi
12008 .word 0x9d90c00a ! 243: WRPR_WSTATE_R wrpr %r3, %r10, %wstate
12009ibp_2_136:
12010 nop
12011 ta T_CHANGE_HPRIV
12012 .word 0xe5e7e013 ! 244: CASA_R casa [%r31] %asi, %r19, %r18
12013splash_tba_2_137:
12014 ta T_CHANGE_PRIV
12015 setx 0x00000004003a0000, %r11, %r12
12016 .word 0x8b90000c ! 245: WRPR_TBA_R wrpr %r0, %r12, %tba
12017br_badelay3_2_138:
12018 .word 0x20800001 ! 1: BN bn,a <label_0x1>
12019 .word 0xa1553377 ! Random illegal ?
12020 .word 0xd1150006 ! 1: LDQF_R - [%r20, %r6], %f8
12021 .word 0x91a34831 ! 246: FADDs fadds %f13, %f17, %f8
12022 .word 0x87ad0a53 ! 247: FCMPd fcmpd %fcc<n>, %f20, %f50
12023 .word 0xe1bfda00 ! 248: STDFA_R stda %f16, [%r0, %r31]
12024brcommon_2_139:
12025 ba,a .+12
12026 mov %r31, %r15
12027 ba,a .+8
12028 call common_target
12029 .word 0xc32fc010 ! 249: STXFSR_R st-sfr %f1, [%r16, %r31]
12030pmu_2_140:
12031 nop
12032 setx 0xfffff8f8fffffd7e, %g1, %g7
12033 .word 0xa3800007 ! 250: WR_PERF_COUNTER_R wr %r0, %r7, %-
12034 .word 0xd43fc000 ! 251: STD_R std %r10, [%r31 + %r0]
12035dvapa_2_141:
12036 nop
12037 ta T_CHANGE_HPRIV
12038 mov 0x993, %r20
12039 mov 0x17, %r19
12040 sllx %r20, 23, %r20
12041 or %r19, %r20, %r19
12042 stxa %r19, [%g0] ASI_LSU_CONTROL
12043 mov 0x38, %r18
12044 stxa %r31, [%r18]0x58
12045 ta T_CHANGE_NONHPRIV
12046 .word 0xd5e7e010 ! 252: CASA_R casa [%r31] %asi, %r16, %r10
12047br_badelay3_2_142:
12048 .word 0x22800001 ! 1: BE be,a <label_0x1>
12049 .word 0xe74fdfcb ! Random illegal ?
12050 .word 0xd9104012 ! 1: LDQF_R - [%r1, %r18], %f12
12051 .word 0xa3a48831 ! 253: FADDs fadds %f18, %f17, %f17
12052 otherw
12053 mov 0xb3, %r30
12054 .word 0x91d0001e ! 254: Tcc_R ta icc_or_xcc, %r0 + %r30
12055 setx 0x7956d81a51bff6c4, %r1, %r28
12056 stxa %r28, [%g0] 0x73
12057intvec_2_143:
12058 .word 0x39400001 ! 255: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
12059 nop
12060 ta T_CHANGE_HPRIV
12061 mov 0x2+1, %r10
12062 set sync_thr_counter1, %r23
12063 cas [%r23],%g0,%r10 !lock
12064 brnz %r10, cwq_2_144
12065 rd %asi, %r12
12066 wr %g0, 0x40, %asi
12067 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
12068 and %l1, 0x3, %l1 ! Check if busy/enabled ..
12069 cmp %l1, 1
12070 bne cwq_2_144
12071 set CWQ_BASE, %l6
12072 best_set_reg(0x20610030, %l1, %l2) !# Control Word
12073 sllx %l2, 32, %l2
12074 stx %l2, [%l6 + 0x0]
12075 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
12076 sub %l2, 0x40, %l2
12077 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
12078 wr %r12, %g0, %asi
12079 st %g0, [%r23]
12080cwq_2_144:
12081 ta T_CHANGE_NONHPRIV
12082 .word 0xa1414000 ! 256: RDPC rd %pc, %r16
12083 .word 0xa5b247d3 ! 257: PDIST pdistn %d40, %d50, %d18
12084dvapa_2_145:
12085 nop
12086 ta T_CHANGE_HPRIV
12087 mov 0xfb6, %r20
12088 mov 0x12, %r19
12089 sllx %r20, 23, %r20
12090 or %r19, %r20, %r19
12091 stxa %r19, [%g0] ASI_LSU_CONTROL
12092 mov 0x38, %r18
12093 stxa %r31, [%r18]0x58
12094 ta T_CHANGE_NONHPRIV
12095 .word 0xc32fc012 ! 258: STXFSR_R st-sfr %f1, [%r18, %r31]
12096 invalw
12097 mov 0xb5, %r30
12098 .word 0x83d0001e ! 259: Tcc_R te icc_or_xcc, %r0 + %r30
12099 .word 0xe457c000 ! 260: LDSH_R ldsh [%r31 + %r0], %r18
12100splash_lsu_2_146:
12101 nop
12102 ta T_CHANGE_HPRIV
12103 set 0xe215750d, %r2
12104 mov 0x2, %r1
12105 sllx %r1, 32, %r1
12106 or %r1, %r2, %r2
12107 stxa %r2, [%r0] ASI_LSU_CONTROL
12108 .word 0x3d400001 ! 261: FBPULE fbule,a,pn %fcc0, <label_0x1>
12109 otherw
12110 mov 0xb5, %r30
12111 .word 0x91d0001e ! 262: Tcc_R ta icc_or_xcc, %r0 + %r30
12112cmp_2_147:
12113 nop
12114 ta T_CHANGE_HPRIV
12115 rd %asi, %r12
12116 wr %r0, 0x41, %asi
12117 set sync_thr_counter, %r23
12118 mov 0x2, %r10
12119cmp_startwait2_147:
12120 cas [%r23],%g0,%r10 !lock
12121 brz,a %r10, continue_cmp_2_147
12122 ldxa [0x50]%asi, %r13 !Running_rw
12123 ld [%r23], %r10
12124cmp_wait2_147:
12125 brnz,a %r10, cmp_wait2_147
12126 ld [%r23], %r10
12127 ba,a cmp_startwait2_147
12128 mov 0x2, %r10
12129continue_cmp_2_147:
12130 ldxa [0x58]%asi, %r14 !Running_status
12131 xnor %r14, %r13, %r14 !Bits equal
12132 ldxa [0x10]%asi, %r13 !Get enabled threads
12133 andn %r13, 0xff, %r16
12134 brz,a %r16, cmp_multi_core_2_147
12135 mov 0xd0, %r17
12136 best_set_reg(0x6178a8397b4014a2, %r16, %r17)
12137cmp_multi_core_2_147:
12138 and %r14, %r17, %r14 !Apply set/clear mask to bits equal
12139 and %r14, %r13, %r14 !Apply core-enabled mask
12140 andn %r14, 0x2, %r14 !Leave master thread
12141 stxa %r14, [0x68]%asi
12142 st %g0, [%r23] !clear lock
12143 wr %g0, %r12, %asi
12144 ta T_CHANGE_NONHPRIV
12145 .word 0x91928013 ! 263: WRPR_PIL_R wrpr %r10, %r19, %pil
12146 .word 0xc1bfd920 ! 264: STDFA_R stda %f0, [%r0, %r31]
12147 .word 0xc19fe0c0 ! 265: LDDFA_I ldda [%r31, 0x00c0], %f0
12148 nop
12149 ta T_CHANGE_HPRIV
12150 mov 0x2, %r10
12151 set sync_thr_counter2, %r23
12152 cas [%r23],%g0,%r10 !lock
12153 brnz %r10, sma_2_148
12154 rd %asi, %r12
12155 wr %g0, 0x40, %asi
12156 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
12157 set 0x000a1fff, %g1
12158 stxa %g1, [%g0 + 0x80] %asi
12159 wr %r12, %g0, %asi
12160 st %g0, [%r23]
12161sma_2_148:
12162 ta T_CHANGE_NONHPRIV
12163 .word 0xe5e7e014 ! 266: CASA_R casa [%r31] %asi, %r20, %r18
12164 ta T_CHANGE_NONPRIV ! macro
12165 .word 0xa3a00166 ! 268: FABSq dis not found
12166
12167 nop
12168 ta T_CHANGE_HPRIV
12169 mov 0x2, %r10
12170 set sync_thr_counter2, %r23
12171 cas [%r23],%g0,%r10 !lock
12172 brnz %r10, sma_2_149
12173 rd %asi, %r12
12174 wr %g0, 0x40, %asi
12175 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
12176 set 0x000a1fff, %g1
12177 stxa %g1, [%g0 + 0x80] %asi
12178 wr %r12, %g0, %asi
12179 st %g0, [%r23]
12180sma_2_149:
12181 ta T_CHANGE_NONHPRIV
12182 .word 0xe7e7e012 ! 269: CASA_R casa [%r31] %asi, %r18, %r19
12183 .word 0xe63fe018 ! 270: STD_I std %r19, [%r31 + 0x0018]
12184!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_2_150) + 56, 16, 16)) -> intp(6,0,26)
12185!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_2_150)&0xffffffff) + 56, 16, 16)) -> intp(6,0,26)
12186intvec_2_150:
12187 .word 0x39400001 ! 271: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
12188!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_2_151)+40, 16, 16)) -> intp(mask2tid(0x2),1,3)
12189!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_2_151)&0xffffffff) +40, 16, 16)) -> intp(mask2tid(0x2),1,3)
12190xir_2_151:
12191 .word 0xa982b434 ! 272: WR_SET_SOFTINT_I wr %r10, 0x1434, %set_softint
12192 .word 0xe63fe0bc ! 273: STD_I std %r19, [%r31 + 0x00bc]
12193memptr_2_152:
12194 set 0x60140000, %r31
12195 .word 0x8581ffc0 ! 274: WRCCR_I wr %r7, 0x1fc0, %ccr
12196br_badelay1_2_153:
12197 .word 0x97b484cc ! 1: FCMPNE32 fcmpne32 %d18, %d12, %r11
12198 .word 0xd7314014 ! 1: STQF_R - %f11, [%r20, %r5]
12199 .word 0x33400001 ! 1: FBPE fbe,a,pn %fcc0, <label_0x1>
12200 normalw
12201 .word 0xa5458000 ! 275: RD_SOFTINT_REG rd %softint, %r18
12202 .word 0xa9b2c4d1 ! 276: FCMPNE32 fcmpne32 %d42, %d48, %r20
12203 .word 0xc1bfe0c0 ! 277: STDFA_I stda %f0, [0x00c0, %r31]
12204 .word 0xe19fe060 ! 278: LDDFA_I ldda [%r31, 0x0060], %f16
12205 .word 0xe1bfd960 ! 279: STDFA_R stda %f16, [%r0, %r31]
12206 .word 0x91d02034 ! 280: Tcc_I ta icc_or_xcc, %r0 + 52
12207 .word 0x9f803de6 ! 281: SIR sir 0x1de6
12208jmptr_2_154:
12209 nop
12210 best_set_reg(0xe1a00000, %r20, %r27)
12211 .word 0xb7c6c000 ! 282: JMPL_R jmpl %r27 + %r0, %r27
12212 nop
12213 ta T_CHANGE_HPRIV
12214 mov 0x2, %r10
12215 set sync_thr_counter2, %r23
12216 cas [%r23],%g0,%r10 !lock
12217 brnz %r10, sma_2_155
12218 rd %asi, %r12
12219 wr %g0, 0x40, %asi
12220 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
12221 set 0x000e1fff, %g1
12222 stxa %g1, [%g0 + 0x80] %asi
12223 wr %r12, %g0, %asi
12224 st %g0, [%r23]
12225sma_2_155:
12226 ta T_CHANGE_NONHPRIV
12227 .word 0xe9e7e011 ! 283: CASA_R casa [%r31] %asi, %r17, %r20
12228 .word 0x93a0016a ! 284: FABSq dis not found
12229
12230mondo_2_156:
12231 nop
12232 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12233 ta T_CHANGE_PRIV
12234 stxa %r19, [%r0+0x3d8] %asi
12235 .word 0x9d94000b ! 285: WRPR_WSTATE_R wrpr %r16, %r11, %wstate
12236 .word 0xc32fc000 ! 286: STXFSR_R st-sfr %f1, [%r0, %r31]
12237 .word 0xc1bfdb60 ! 287: STDFA_R stda %f0, [%r0, %r31]
12238change_to_randtl_2_157:
12239 ta T_CHANGE_HPRIV ! macro
12240done_change_to_randtl_2_157:
12241 .word 0x8f902000 ! 288: WRPR_TL_I wrpr %r0, 0x0000, %tl
12242splash_decr_2_158:
12243 nop
12244 ta T_CHANGE_HPRIV
12245 mov 8, %r1
12246 stxa %r16, [%r1] 0x45
12247 .word 0xa7814012 ! 289: WR_GRAPHICS_STATUS_REG_R wr %r5, %r18, %-
12248 .word 0xe1bfe060 ! 290: STDFA_I stda %f16, [0x0060, %r31]
12249 .word 0xd86fe00e ! 291: LDSTUB_I ldstub %r12, [%r31 + 0x000e]
12250 .word 0x95b50990 ! 292: BSHUFFLE fmovc32 %d20, %d16, %d10
12251memptr_2_160:
12252 set 0x60540000, %r31
12253 .word 0x8584764e ! 293: WRCCR_I wr %r17, 0x164e, %ccr
12254splash_hpstate_2_161:
12255 ta T_CHANGE_NONHPRIV
12256 .word 0x819828dd ! 294: WRHPR_HPSTATE_I wrhpr %r0, 0x08dd, %hpstate
12257!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_2_162) + 24, 16, 16)) -> intp(3,0,16)
12258!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_2_162)&0xffffffff) + 24, 16, 16)) -> intp(3,0,16)
12259intvec_2_162:
12260 .word 0x39400001 ! 295: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
12261 .word 0xd0bfe048 ! 296: STDA_I stda %r8, [%r31 + 0x0048] %asi
12262 .word 0xa7a00163 ! 297: FABSq dis not found
12263
12264splash_tba_2_163:
12265 ta T_CHANGE_PRIV
12266 setx 0x00000004003a0000, %r11, %r12
12267 .word 0x8b90000c ! 298: WRPR_TBA_R wrpr %r0, %r12, %tba
12268splash_tba_2_164:
12269 ta T_CHANGE_PRIV
12270 set 0x120000, %r12
12271 .word 0x8b90000c ! 299: WRPR_TBA_R wrpr %r0, %r12, %tba
12272 .word 0x8d902cd9 ! 300: WRPR_PSTATE_I wrpr %r0, 0x0cd9, %pstate
12273!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_2_166)+8, 16, 16)) -> intp(mask2tid(0x2),1,3)
12274!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_2_166)&0xffffffff) +8, 16, 16)) -> intp(mask2tid(0x2),1,3)
12275xir_2_166:
12276 .word 0xa9843233 ! 301: WR_SET_SOFTINT_I wr %r16, 0x1233, %set_softint
12277cmpenall_2_167:
12278 nop
12279 nop
12280 ta T_CHANGE_HPRIV
12281 rd %asi, %r12
12282 wr %r0, 0x41, %asi
12283 set sync_thr_counter, %r23
12284cmpenall_startwait2_167:
12285 mov 0x2, %r10
12286 cas [%r23],%g0,%r10 !lock
12287 brz,a %r10, continue_cmpenall_2_167
12288 nop
12289cmpenall_wait2_167:
12290 ld [%r23], %r10
12291 brnz %r10, cmpenall_wait2_167
12292 nop
12293 ba,a cmpenall_startwait2_167
12294continue_cmpenall_2_167:
12295 ldxa [0x58]%asi, %r14 !Running_status
12296wait_for_cmpstat_2_167:
12297 ldxa [0x50]%asi, %r13 !Running_rw
12298 cmp %r13, %r14
12299 bne,a %xcc, wait_for_cmpstat_2_167
12300 ldxa [0x58]%asi, %r14 !Running_status
12301 ldxa [0x10]%asi, %r14 !Get enabled threads
12302 stxa %r14, [0x50]%asi
12303 ldxa [0x58]%asi, %r16 !Running_status
12304wait_for_cmpstat2_2_167:
12305 cmp %r14, %r16
12306 bne,a %xcc, wait_for_cmpstat2_2_167
12307 ldxa [0x58]%asi, %r16 !Running_status
12308 st %g0, [%r23] !clear lock
12309 nop
12310 nop
12311 ta T_CHANGE_PRIV
12312 wrpr %g0, %g0, %gl
12313 nop
12314 nop
12315 setx join_lbl_0_0, %g1, %g2
12316 jmp %g2
12317 nop
12318fork_lbl_0_1:
12319 ta T_CHANGE_NONHPRIV
12320splash_cmpr_1_0:
12321 nop
12322 setx 0x1fd2ccdd1a07495a, %l2, %l1
12323 ta T_CHANGE_HPRIV
12324 wrhpr %l1, %g0, %hsys_tick_cmpr
12325 ta T_CHANGE_NONHPRIV
12326 sub %l1, 40, %g1
12327 .word 0x89900011 ! 1: WRPR_TICK_R wrpr %r0, %r17, %tick
12328 .word 0x81510000 ! 2: RDPR_TICK rdpr %tick, %r0
12329 .word 0xc1bfe020 ! 3: STDFA_I stda %f0, [0x0020, %r31]
12330 setx 0x7f39c61fc67de0b0, %r1, %r28
12331 stxa %r28, [%g0] 0x73
12332intvec_1_1:
12333 .word 0x39400001 ! 4: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
12334 invalw
12335 mov 0x32, %r30
12336 .word 0x91d0001e ! 5: Tcc_R ta icc_or_xcc, %r0 + %r30
12337mondo_1_2:
12338 nop
12339 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12340 ta T_CHANGE_PRIV
12341 stxa %r4, [%r0+0x3d8] %asi
12342 .word 0x9d93400c ! 6: WRPR_WSTATE_R wrpr %r13, %r12, %wstate
12343 ta T_CHANGE_NONPRIV ! macro
12344 .word 0xc1bfe040 ! 8: STDFA_I stda %f0, [0x0040, %r31]
12345br_badelay2_1_3:
12346 .word 0x34800001 ! 1: BG bg,a <label_0x1>
12347 allclean
12348 .word 0xa5b30314 ! 9: ALIGNADDRESS alignaddr %r12, %r20, %r18
12349!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_1_4) + 8, 16, 16)) -> intp(4,0,26)
12350!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_1_4)&0xffffffff) + 8, 16, 16)) -> intp(4,0,26)
12351intvec_1_4:
12352 .word 0x39400001 ! 10: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
12353 .word 0xe477e048 ! 11: STX_I stx %r18, [%r31 + 0x0048]
12354donret_1_5:
12355 nop
12356 ta T_CHANGE_HPRIV ! macro
12357 rd %pc, %r12
12358 add %r12, (donretarg_1_5-donret_1_5-4), %r12
12359 add %r12, 0x4, %r11
12360 wrpr %g0, 0x1, %tl
12361 wrpr %g0, %r12, %tpc
12362 wrpr %g0, %r11, %tnpc
12363 set (0x00400dd9 | (20 << 24)), %r13
12364 rdpr %tstate, %r16
12365 mov 0x1f, %r19
12366 and %r19, %r16, %r17
12367 andn %r16, %r19, %r16
12368 or %r16, %r17, %r20
12369 wrpr %r20, %g0, %tstate
12370 wrhpr %g0, 0xe44, %htstate
12371 ta T_CHANGE_NONHPRIV ! rand=1 (1)
12372 done
12373donretarg_1_5:
12374 .word 0xe4ffe00c ! 12: SWAPA_I swapa %r18, [%r31 + 0x000c] %asi
12375splash_cmpr_1_6:
12376 nop
12377 setx 0xb0a0326a68c6f07f, %l2, %l1
12378 ta T_CHANGE_HPRIV
12379 wrhpr %l1, %g0, %hsys_tick_cmpr
12380 sub %l1, 40, %g1
12381 .word 0x89900011 ! 13: WRPR_TICK_R wrpr %r0, %r17, %tick
12382 .word 0xa7a409b2 ! 14: FDIVs fdivs %f16, %f18, %f19
12383 otherw
12384 mov 0xb4, %r30
12385 .word 0x91d0001e ! 15: Tcc_R ta icc_or_xcc, %r0 + %r30
12386vahole_1_7:
12387 nop
12388 ta T_CHANGE_NONHPRIV
12389 setx vahole_target, %r18, %r27
12390 jmpl %r27+0, %r27
12391 .word 0xe71fc012 ! 16: LDDF_R ldd [%r31, %r18], %f19
12392br_badelay2_1_8:
12393 .word 0x32800001 ! 1: BNE bne,a <label_0x1>
12394 pdist %f4, %f16, %f12
12395 .word 0x93b2c314 ! 17: ALIGNADDRESS alignaddr %r11, %r20, %r9
12396 .word 0x99a00167 ! 18: FABSq dis not found
12397
12398 .word 0xb1800011 ! 19: WR_STICK_REG_R wr %r0, %r17, %-
12399 .word 0xad836715 ! 20: WR_SOFTINT_REG_I wr %r13, 0x0715, %softint
12400 .word 0xd877c000 ! 21: STX_R stx %r12, [%r31 + %r0]
12401splash_tba_1_9:
12402 ta T_CHANGE_PRIV
12403 setx 0x0000000000380000, %r11, %r12
12404 .word 0x8b90000c ! 22: WRPR_TBA_R wrpr %r0, %r12, %tba
12405 .word 0xd89fe038 ! 23: LDDA_I ldda [%r31, + 0x0038] %asi, %r12
12406jmptr_1_10:
12407 nop
12408 best_set_reg(0xe0200000, %r20, %r27)
12409 .word 0xb7c6c000 ! 24: JMPL_R jmpl %r27 + %r0, %r27
12410mondo_1_11:
12411 nop
12412 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12413 ta T_CHANGE_PRIV
12414 stxa %r18, [%r0+0x3c0] %asi
12415 .word 0x9d948012 ! 25: WRPR_WSTATE_R wrpr %r18, %r18, %wstate
12416 .word 0xa9a049d1 ! 26: FDIVd fdivd %f32, %f48, %f20
12417!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_1_12)+48, 16, 16)) -> intp(mask2tid(0x1),1,3)
12418!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_1_12)&0xffffffff) +48, 16, 16)) -> intp(mask2tid(0x1),1,3)
12419xir_1_12:
12420 .word 0xa981240a ! 27: WR_SET_SOFTINT_I wr %r4, 0x040a, %set_softint
12421 .word 0x9f802aa5 ! 28: SIR sir 0x0aa5
12422intveclr_1_13:
12423 nop
12424 ta T_CHANGE_HPRIV
12425 setx 0x7d384271231d7f8b, %r1, %r28
12426 stxa %r28, [%g0] 0x72
12427 ta T_CHANGE_NONHPRIV
12428 .word 0x25400001 ! 29: FBPLG fblg,a,pn %fcc0, <label_0x1>
12429brcommon_1_14:
12430 ba,a .+12
12431 mov %r31, %r15
12432 ba,a .+8
12433 call common_target
12434 .word 0xe897c031 ! 30: LDUHA_R lduha [%r31, %r17] 0x01, %r20
12435 nop
12436 ta T_CHANGE_HPRIV
12437 mov 0x1+1, %r10
12438 set sync_thr_counter1, %r23
12439 cas [%r23],%g0,%r10 !lock
12440 brnz %r10, cwq_1_15
12441 rd %asi, %r12
12442 wr %g0, 0x40, %asi
12443 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
12444 and %l1, 0x3, %l1 ! Check if busy/enabled ..
12445 cmp %l1, 1
12446 bne cwq_1_15
12447 set CWQ_BASE, %l6
12448 best_set_reg(0x20610000, %l1, %l2) !# Control Word
12449 sllx %l2, 32, %l2
12450 stx %l2, [%l6 + 0x0]
12451 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
12452 sub %l2, 0x40, %l2
12453 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
12454 wr %r12, %g0, %asi
12455 st %g0, [%r23]
12456cwq_1_15:
12457 ta T_CHANGE_NONHPRIV
12458 .word 0x93414000 ! 31: RDPC rd %pc, %r9
12459 nop
12460 ta T_CHANGE_HPRIV
12461 mov 0x1, %r10
12462 set sync_thr_counter2, %r23
12463 cas [%r23],%g0,%r10 !lock
12464 brnz %r10, sma_1_16
12465 rd %asi, %r12
12466 wr %g0, 0x40, %asi
12467 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
12468 set 0x000a1fff, %g1
12469 stxa %g1, [%g0 + 0x80] %asi
12470 wr %r12, %g0, %asi
12471 st %g0, [%r23]
12472sma_1_16:
12473 ta T_CHANGE_NONHPRIV
12474 .word 0xd3e7e011 ! 32: CASA_R casa [%r31] %asi, %r17, %r9
12475splash_cmpr_1_17:
12476 nop
12477 setx 0x1471a54ed8c0b52b, %l2, %l1
12478 ta T_CHANGE_PRIV
12479 .word 0xb3800011 ! 1: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
12480 ta T_CHANGE_NONPRIV
12481 sub %l1, 40, %g1
12482 .word 0x89900011 ! 33: WRPR_TICK_R wrpr %r0, %r17, %tick
12483!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_1_18) + 32, 16, 16)) -> intp(6,0,28)
12484!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_1_18)&0xffffffff) + 32, 16, 16)) -> intp(6,0,28)
12485intvec_1_18:
12486 .word 0x39400001 ! 34: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
12487 .word 0xd26fe078 ! 35: LDSTUB_I ldstub %r9, [%r31 + 0x0078]
12488splash_hpstate_1_19:
12489 .word 0x8198298f ! 36: WRHPR_HPSTATE_I wrhpr %r0, 0x098f, %hpstate
12490br_longdelay1_1_20:
12491 .word 0x3c800001 ! 1: BPOS bpos,a <label_0x1>
12492 .word 0x9d97c000 ! 37: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
12493 nop
12494 mov 0x80, %g3
12495 stxa %g3, [%g3] 0x5f
12496 .word 0xd25fc000 ! 38: LDX_R ldx [%r31 + %r0], %r9
12497 .word 0xd23fc000 ! 39: STD_R std %r9, [%r31 + %r0]
12498!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_1_21)+40, 16, 16)) -> intp(mask2tid(0x1),1,3)
12499!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_1_21)&0xffffffff) +40, 16, 16)) -> intp(mask2tid(0x1),1,3)
12500xir_1_21:
12501 .word 0xa984abd2 ! 40: WR_SET_SOFTINT_I wr %r18, 0x0bd2, %set_softint
12502splash_hpstate_1_22:
12503 ta T_CHANGE_NONHPRIV
12504 .word 0x81982d9f ! 41: WRHPR_HPSTATE_I wrhpr %r0, 0x0d9f, %hpstate
12505 .word 0xa9b48481 ! 42: FCMPLE32 fcmple32 %d18, %d32, %r20
12506splash_tba_1_23:
12507 ta T_CHANGE_PRIV
12508 setx 0x0000000000380000, %r11, %r12
12509 .word 0x8b90000c ! 43: WRPR_TBA_R wrpr %r0, %r12, %tba
12510splash_cmpr_1_24:
12511 nop
12512 setx 0x59f5dfc8d1f140d2, %l2, %l1
12513 ta T_CHANGE_HPRIV
12514 wrhpr %l1, %g0, %hsys_tick_cmpr
12515 ta T_CHANGE_NONHPRIV
12516 sub %l1, 40, %g1
12517 .word 0x89900011 ! 44: WRPR_TICK_R wrpr %r0, %r17, %tick
12518br_longdelay1_1_25:
12519 .word 0x22800001 ! 1: BE be,a <label_0x1>
12520 .word 0x9d97c000 ! 45: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
12521mondo_1_26:
12522 nop
12523 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12524 stxa %r17, [%r0+0x3d8] %asi
12525 .word 0x9d948002 ! 46: WRPR_WSTATE_R wrpr %r18, %r2, %wstate
12526 otherw
12527 mov 0x34, %r30
12528 .word 0x91d0001e ! 47: Tcc_R ta icc_or_xcc, %r0 + %r30
12529 .word 0xa9824013 ! 48: WR_SET_SOFTINT_R wr %r9, %r19, %set_softint
12530 nop
12531 ta T_CHANGE_HPRIV
12532 mov 0x1, %r10
12533 set sync_thr_counter2, %r23
12534 cas [%r23],%g0,%r10 !lock
12535 brnz %r10, sma_1_27
12536 rd %asi, %r12
12537 wr %g0, 0x40, %asi
12538 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
12539 set 0x000e1fff, %g1
12540 stxa %g1, [%g0 + 0x80] %asi
12541 wr %r12, %g0, %asi
12542 st %g0, [%r23]
12543sma_1_27:
12544 ta T_CHANGE_NONHPRIV
12545 .word 0xe9e7e013 ! 49: CASA_R casa [%r31] %asi, %r19, %r20
12546 .word 0xe86fe02e ! 50: LDSTUB_I ldstub %r20, [%r31 + 0x002e]
12547 invalw
12548 mov 0xb2, %r30
12549 .word 0x93d0001e ! 51: Tcc_R tne icc_or_xcc, %r0 + %r30
12550pmu_1_28:
12551 nop
12552 ta T_CHANGE_PRIV
12553 setx 0xfffffa5cffffff1d, %g1, %g7
12554 .word 0xa3800007 ! 52: WR_PERF_COUNTER_R wr %r0, %r7, %-
12555dvapa_1_29:
12556 nop
12557 ta T_CHANGE_HPRIV
12558 mov 0x840, %r20
12559 mov 0x4, %r19
12560 sllx %r20, 23, %r20
12561 or %r19, %r20, %r19
12562 stxa %r19, [%g0] ASI_LSU_CONTROL
12563 mov 0x38, %r18
12564 stxa %r31, [%r18]0x58
12565 ta T_CHANGE_NONHPRIV
12566 .word 0xc32fc013 ! 53: STXFSR_R st-sfr %f1, [%r19, %r31]
12567 .word 0xc19fdf20 ! 54: LDDFA_R ldda [%r31, %r0], %f0
12568fpinit_1_30:
12569 setx fp_data_quads, %r19, %r20
12570 ldd [%r20], %f0
12571 ldd [%r20+8], %f4
12572 ld [%r20+16], %fsr
12573 ld [%r20+24], %r19
12574 wr %r19, %g0, %gsr
12575 .word 0x89a009a4 ! 55: FDIVs fdivs %f0, %f4, %f4
12576 setx 0x258c37b10dff72d3, %r1, %r28
12577 stxa %r28, [%g0] 0x73
12578intvec_1_31:
12579 .word 0x39400001 ! 56: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
12580 invalw
12581 mov 0x33, %r30
12582 .word 0x91d0001e ! 57: Tcc_R ta icc_or_xcc, %r0 + %r30
12583br_longdelay4_1_32:
12584 nop
12585 not %g0, %r12
12586 jmp %r12
12587 .word 0x9d902005 ! 58: WRPR_WSTATE_I wrpr %r0, 0x0005, %wstate
12588 .word 0x91a089d0 ! 59: FDIVd fdivd %f2, %f16, %f8
12589 setx 0xe88596b9b0b34348, %r1, %r28
12590 stxa %r28, [%g0] 0x73
12591intvec_1_33:
12592 .word 0x39400001 ! 60: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
12593mondo_1_34:
12594 nop
12595 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12596 ta T_CHANGE_PRIV
12597 stxa %r3, [%r0+0x3d8] %asi
12598 .word 0x9d92800a ! 61: WRPR_WSTATE_R wrpr %r10, %r10, %wstate
12599 nop
12600 ta T_CHANGE_HPRIV
12601 mov 0x1, %r10
12602 set sync_thr_counter2, %r23
12603 cas [%r23],%g0,%r10 !lock
12604 brnz %r10, sma_1_35
12605 rd %asi, %r12
12606 wr %g0, 0x40, %asi
12607 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
12608 set 0x001a1fff, %g1
12609 stxa %g1, [%g0 + 0x80] %asi
12610 wr %r12, %g0, %asi
12611 st %g0, [%r23]
12612sma_1_35:
12613 ta T_CHANGE_NONHPRIV
12614 .word 0xd1e7e00a ! 62: CASA_R casa [%r31] %asi, %r10, %r8
12615splash_decr_1_36:
12616 nop
12617 ta T_CHANGE_HPRIV
12618 mov 8, %r1
12619 stxa %r19, [%r1] 0x45
12620 .word 0xa781c004 ! 63: WR_GRAPHICS_STATUS_REG_R wr %r7, %r4, %-
12621 .word 0x9f8036c3 ! 64: SIR sir 0x16c3
12622 .word 0xd08fe030 ! 65: LDUBA_I lduba [%r31, + 0x0030] %asi, %r8
12623 .word 0xd03fc000 ! 66: STD_R std %r8, [%r31 + %r0]
12624 .word 0xc32fc000 ! 67: STXFSR_R st-sfr %f1, [%r0, %r31]
12625 .word 0xd0800c80 ! 68: LDUWA_R lduwa [%r0, %r0] 0x64, %r8
12626change_to_randtl_1_37:
12627 ta T_CHANGE_HPRIV ! macro
12628done_change_to_randtl_1_37:
12629 .word 0x8f902000 ! 69: WRPR_TL_I wrpr %r0, 0x0000, %tl
12630dvapa_1_38:
12631 nop
12632 ta T_CHANGE_HPRIV
12633 mov 0x9f8, %r20
12634 mov 0x8, %r19
12635 sllx %r20, 23, %r20
12636 or %r19, %r20, %r19
12637 stxa %r19, [%g0] ASI_LSU_CONTROL
12638 mov 0x38, %r18
12639 stxa %r31, [%r18]0x58
12640 ta T_CHANGE_NONHPRIV
12641 .word 0xd0dfc024 ! 70: LDXA_R ldxa [%r31, %r4] 0x01, %r8
12642intveclr_1_39:
12643 nop
12644 ta T_CHANGE_HPRIV
12645 setx 0x893ee8b54e623745, %r1, %r28
12646 stxa %r28, [%g0] 0x72
12647 .word 0x25400001 ! 71: FBPLG fblg,a,pn %fcc0, <label_0x1>
12648mondo_1_40:
12649 nop
12650 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12651 stxa %r17, [%r0+0x3e8] %asi
12652 .word 0x9d910014 ! 72: WRPR_WSTATE_R wrpr %r4, %r20, %wstate
12653 .word 0x91944011 ! 73: WRPR_PIL_R wrpr %r17, %r17, %pil
12654!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_1_42) + 56, 16, 16)) -> intp(5,0,16)
12655!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_1_42)&0xffffffff) + 56, 16, 16)) -> intp(5,0,16)
12656intvec_1_42:
12657 .word 0x39400001 ! 74: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
12658 .word 0xa1b2c7c8 ! 75: PDIST pdistn %d42, %d8, %d16
12659br_longdelay2_1_43:
12660 .word 0x3c800001 ! 1: BPOS bpos,a <label_0x1>
12661 .word 0xe3e0c025 ! 76: CASA_I casa [%r3] 0x 1, %r5, %r17
12662splash_cmpr_1_44:
12663 nop
12664 setx 0x1d0a1fa0d0ffdb36, %l2, %l1
12665 ta T_CHANGE_HPRIV
12666 wrhpr %l1, %g0, %hsys_tick_cmpr
12667 sub %l1, 40, %g1
12668 .word 0x89900011 ! 77: WRPR_TICK_R wrpr %r0, %r17, %tick
12669 nop
12670 ta T_CHANGE_HPRIV
12671 mov 0x1, %r10
12672 set sync_thr_counter2, %r23
12673 cas [%r23],%g0,%r10 !lock
12674 brnz %r10, sma_1_45
12675 rd %asi, %r12
12676 wr %g0, 0x40, %asi
12677 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
12678 set 0x000a1fff, %g1
12679 stxa %g1, [%g0 + 0x80] %asi
12680 wr %r12, %g0, %asi
12681 st %g0, [%r23]
12682sma_1_45:
12683 ta T_CHANGE_NONHPRIV
12684 .word 0xe3e7e005 ! 78: CASA_R casa [%r31] %asi, %r5, %r17
12685 .word 0x2aca4001 ! 1: BRNZ brnz,a,pt %r9,<label_0xa4001>
12686 .word 0x8d90313d ! 79: WRPR_PSTATE_I wrpr %r0, 0x113d, %pstate
12687 nop
12688 ta T_CHANGE_HPRIV
12689 mov 0x1+1, %r10
12690 set sync_thr_counter1, %r23
12691 cas [%r23],%g0,%r10 !lock
12692 brnz %r10, cwq_1_47
12693 rd %asi, %r12
12694 wr %g0, 0x40, %asi
12695 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
12696 and %l1, 0x3, %l1 ! Check if busy/enabled ..
12697 cmp %l1, 1
12698 bne cwq_1_47
12699 set CWQ_BASE, %l6
12700 best_set_reg(0x206100b0, %l1, %l2) !# Control Word
12701 sllx %l2, 32, %l2
12702 stx %l2, [%l6 + 0x0]
12703 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
12704 sub %l2, 0x40, %l2
12705 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
12706 wr %r12, %g0, %asi
12707 st %g0, [%r23]
12708cwq_1_47:
12709 ta T_CHANGE_NONHPRIV
12710 .word 0x9b414000 ! 80: RDPC rd %pc, %r13
12711!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_1_48)+24, 16, 16)) -> intp(mask2tid(0x1),1,3)
12712!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_1_48)&0xffffffff) +24, 16, 16)) -> intp(mask2tid(0x1),1,3)
12713xir_1_48:
12714 .word 0xa9842e31 ! 81: WR_SET_SOFTINT_I wr %r16, 0x0e31, %set_softint
12715 .word 0x91928014 ! 82: WRPR_PIL_R wrpr %r10, %r20, %pil
12716intveclr_1_50:
12717 nop
12718 ta T_CHANGE_HPRIV
12719 setx 0x5af2ca2292a4c9a2, %r1, %r28
12720 stxa %r28, [%g0] 0x72
12721 ta T_CHANGE_NONHPRIV
12722 .word 0x25400001 ! 83: FBPLG fblg,a,pn %fcc0, <label_0x1>
12723mondo_1_51:
12724 nop
12725 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12726 stxa %r3, [%r0+0x3e0] %asi
12727 .word 0x9d930008 ! 84: WRPR_WSTATE_R wrpr %r12, %r8, %wstate
12728splash_hpstate_1_52:
12729 .word 0x81982a57 ! 85: WRHPR_HPSTATE_I wrhpr %r0, 0x0a57, %hpstate
12730 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
12731reduce_priv_lvl_1_53:
12732 ta T_CHANGE_NONHPRIV ! macro
12733ibp_1_54:
12734 nop
12735 ta T_CHANGE_HPRIV
12736 ta T_CHANGE_NONHPRIV
12737 .word 0xdb1fc008 ! 87: LDDF_R ldd [%r31, %r8], %f13
12738splash_hpstate_1_55:
12739 ta T_CHANGE_NONHPRIV
12740 .word 0x819820c6 ! 88: WRHPR_HPSTATE_I wrhpr %r0, 0x00c6, %hpstate
12741 .word 0x9b703ac7 ! 89: POPC_I popc 0x1ac7, %r13
12742 .word 0xdb27c000 ! 90: STF_R st %f13, [%r0, %r31]
12743splash_tba_1_56:
12744 ta T_CHANGE_PRIV
12745 set 0x120000, %r12
12746 .word 0x8b90000c ! 91: WRPR_TBA_R wrpr %r0, %r12, %tba
12747fpinit_1_57:
12748 setx fp_data_quads, %r19, %r20
12749 ldd [%r20], %f0
12750 ldd [%r20+8], %f4
12751 ld [%r20+16], %fsr
12752 ld [%r20+24], %r19
12753 wr %r19, %g0, %gsr
12754 .word 0x8db00484 ! 92: FCMPLE32 fcmple32 %d0, %d4, %r6
12755!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_1_58) + 16, 16, 16)) -> intp(2,0,4)
12756!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_1_58)&0xffffffff) + 16, 16, 16)) -> intp(2,0,4)
12757intvec_1_58:
12758 .word 0x39400001 ! 93: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
12759intveclr_1_59:
12760 nop
12761 ta T_CHANGE_HPRIV
12762 setx 0x34fab744ec155cc6, %r1, %r28
12763 stxa %r28, [%g0] 0x72
12764 .word 0x25400001 ! 94: FBPLG fblg,a,pn %fcc0, <label_0x1>
12765 .word 0xe1bfdc00 ! 95: STDFA_R stda %f16, [%r0, %r31]
12766 .word 0x83d02032 ! 96: Tcc_I te icc_or_xcc, %r0 + 50
12767 nop
12768 ta T_CHANGE_HPRIV
12769 mov 0x1+1, %r10
12770 set sync_thr_counter1, %r23
12771 cas [%r23],%g0,%r10 !lock
12772 brnz %r10, cwq_1_60
12773 rd %asi, %r12
12774 wr %g0, 0x40, %asi
12775 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
12776 and %l1, 0x3, %l1 ! Check if busy/enabled ..
12777 cmp %l1, 1
12778 bne cwq_1_60
12779 set CWQ_BASE, %l6
12780 best_set_reg(0x20610030, %l1, %l2) !# Control Word
12781 sllx %l2, 32, %l2
12782 stx %l2, [%l6 + 0x0]
12783 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
12784 sub %l2, 0x40, %l2
12785 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
12786 wr %r12, %g0, %asi
12787 st %g0, [%r23]
12788cwq_1_60:
12789 ta T_CHANGE_NONHPRIV
12790 .word 0xa1414000 ! 97: RDPC rd %pc, %r16
12791memptr_1_61:
12792 set 0x60140000, %r31
12793 .word 0x858139be ! 98: WRCCR_I wr %r4, 0x19be, %ccr
12794mondo_1_62:
12795 nop
12796 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12797 ta T_CHANGE_PRIV
12798 stxa %r1, [%r0+0x3e0] %asi
12799 .word 0x9d94c011 ! 99: WRPR_WSTATE_R wrpr %r19, %r17, %wstate
12800 .word 0x91d02035 ! 100: Tcc_I ta icc_or_xcc, %r0 + 53
12801ibp_1_63:
12802 nop
12803 ta T_CHANGE_HPRIV
12804 .word 0xe13fc011 ! 101: STDF_R std %f16, [%r17, %r31]
12805 .word 0xc19fda00 ! 102: LDDFA_R ldda [%r31, %r0], %f0
12806!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_1_64)+56, 16, 16)) -> intp(mask2tid(0x1),1,3)
12807!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_1_64)&0xffffffff) +56, 16, 16)) -> intp(mask2tid(0x1),1,3)
12808xir_1_64:
12809 .word 0xa9852765 ! 103: WR_SET_SOFTINT_I wr %r20, 0x0765, %set_softint
12810 .word 0xc1bfc2c0 ! 104: STDFA_R stda %f0, [%r0, %r31]
12811 .word 0xc1bfe080 ! 105: STDFA_I stda %f0, [0x0080, %r31]
12812 .word 0x20700001 ! 106: BPN <illegal instruction>
12813jmptr_1_65:
12814 nop
12815 best_set_reg(0xe0200000, %r20, %r27)
12816 .word 0xb7c6c000 ! 107: JMPL_R jmpl %r27 + %r0, %r27
12817 .word 0xe06fe086 ! 108: LDSTUB_I ldstub %r16, [%r31 + 0x0086]
12818 .word 0xb1800011 ! 109: WR_STICK_REG_R wr %r0, %r17, %-
12819fpinit_1_66:
12820 setx fp_data_quads, %r19, %r20
12821 ldd [%r20], %f0
12822 ldd [%r20+8], %f4
12823 ld [%r20+16], %fsr
12824 ld [%r20+24], %r19
12825 wr %r19, %g0, %gsr
12826 .word 0x91a009a4 ! 110: FDIVs fdivs %f0, %f4, %f8
12827 .word 0xc1bfdf20 ! 111: STDFA_R stda %f0, [%r0, %r31]
12828 nop
12829 ta T_CHANGE_HPRIV
12830 mov 0x1+1, %r10
12831 set sync_thr_counter1, %r23
12832 cas [%r23],%g0,%r10 !lock
12833 brnz %r10, cwq_1_67
12834 rd %asi, %r12
12835 wr %g0, 0x40, %asi
12836 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
12837 and %l1, 0x3, %l1 ! Check if busy/enabled ..
12838 cmp %l1, 1
12839 bne cwq_1_67
12840 set CWQ_BASE, %l6
12841 best_set_reg(0x206100b0, %l1, %l2) !# Control Word
12842 sllx %l2, 32, %l2
12843 stx %l2, [%l6 + 0x0]
12844 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
12845 sub %l2, 0x40, %l2
12846 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
12847 wr %r12, %g0, %asi
12848 st %g0, [%r23]
12849cwq_1_67:
12850 ta T_CHANGE_NONHPRIV
12851 .word 0xa9414000 ! 112: RDPC rd %pc, %r20
12852 .word 0xa7a0016d ! 113: FABSq dis not found
12853
12854 .word 0xa9450000 ! 114: RD_SET_SOFTINT rd %set_softint, %r20
12855 .word 0xc1bfd960 ! 115: STDFA_R stda %f0, [%r0, %r31]
12856pmu_1_68:
12857 nop
12858 ta T_CHANGE_PRIV
12859 setx 0xfffffaf4fffff3c5, %g1, %g7
12860 .word 0xa3800007 ! 116: WR_PERF_COUNTER_R wr %r0, %r7, %-
12861 nop
12862 ta T_CHANGE_HPRIV
12863 mov 0x1+1, %r10
12864 set sync_thr_counter1, %r23
12865 cas [%r23],%g0,%r10 !lock
12866 brnz %r10, cwq_1_69
12867 rd %asi, %r12
12868 wr %g0, 0x40, %asi
12869 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
12870 and %l1, 0x3, %l1 ! Check if busy/enabled ..
12871 cmp %l1, 1
12872 bne cwq_1_69
12873 set CWQ_BASE, %l6
12874 best_set_reg(0x20610010, %l1, %l2) !# Control Word
12875 sllx %l2, 32, %l2
12876 stx %l2, [%l6 + 0x0]
12877 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
12878 sub %l2, 0x40, %l2
12879 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
12880 wr %r12, %g0, %asi
12881 st %g0, [%r23]
12882cwq_1_69:
12883 ta T_CHANGE_NONHPRIV
12884 .word 0xa3414000 ! 117: RDPC rd %pc, %r17
12885splash_hpstate_1_70:
12886 .word 0x22cc0001 ! 1: BRZ brz,a,pt %r16,<label_0xc0001>
12887 .word 0x819825c4 ! 118: WRHPR_HPSTATE_I wrhpr %r0, 0x05c4, %hpstate
12888 nop
12889 ta T_CHANGE_HPRIV
12890 mov 0x1, %r10
12891 set sync_thr_counter2, %r23
12892 cas [%r23],%g0,%r10 !lock
12893 brnz %r10, sma_1_71
12894 rd %asi, %r12
12895 wr %g0, 0x40, %asi
12896 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
12897 set 0x00061fff, %g1
12898 stxa %g1, [%g0 + 0x80] %asi
12899 wr %r12, %g0, %asi
12900 st %g0, [%r23]
12901sma_1_71:
12902 ta T_CHANGE_NONHPRIV
12903 .word 0xe3e7e00d ! 119: CASA_R casa [%r31] %asi, %r13, %r17
12904 .word 0xe2d7e010 ! 120: LDSHA_I ldsha [%r31, + 0x0010] %asi, %r17
12905 .word 0x9f803012 ! 121: SIR sir 0x1012
12906 .word 0x9f8031e9 ! 122: SIR sir 0x11e9
12907tagged_1_72:
12908 tsubcctv %r18, 0x11ff, %r3
12909 .word 0xe207e048 ! 123: LDUW_I lduw [%r31 + 0x0048], %r17
12910pmu_1_73:
12911 nop
12912 ta T_CHANGE_PRIV
12913 setx 0xfffff498fffff1ab, %g1, %g7
12914 .word 0xa3800007 ! 124: WR_PERF_COUNTER_R wr %r0, %r7, %-
12915mondo_1_74:
12916 nop
12917 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12918 stxa %r3, [%r0+0x3e8] %asi
12919 .word 0x9d908011 ! 125: WRPR_WSTATE_R wrpr %r2, %r17, %wstate
12920 .word 0xe26fe070 ! 126: LDSTUB_I ldstub %r17, [%r31 + 0x0070]
12921 .word 0xe31fc000 ! 127: LDDF_R ldd [%r31, %r0], %f17
12922 .word 0xe227e0c8 ! 128: STW_I stw %r17, [%r31 + 0x00c8]
12923intveclr_1_75:
12924 nop
12925 ta T_CHANGE_HPRIV
12926 setx 0x1ad37647fa8d83b5, %r1, %r28
12927 stxa %r28, [%g0] 0x72
12928 .word 0x25400001 ! 129: FBPLG fblg,a,pn %fcc0, <label_0x1>
12929 .word 0xe22fe0b7 ! 130: STB_I stb %r17, [%r31 + 0x00b7]
12930!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_1_76)+56, 16, 16)) -> intp(mask2tid(0x1),1,3)
12931!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_1_76)&0xffffffff) +56, 16, 16)) -> intp(mask2tid(0x1),1,3)
12932xir_1_76:
12933 .word 0xa9836c38 ! 131: WR_SET_SOFTINT_I wr %r13, 0x0c38, %set_softint
12934 .word 0xe337e03e ! 132: STQF_I - %f17, [0x003e, %r31]
12935 .word 0xe337c000 ! 133: STQF_R - %f17, [%r0, %r31]
12936 .word 0xe327e08c ! 134: STF_I st %f17, [0x008c, %r31]
12937jmptr_1_77:
12938 nop
12939 best_set_reg(0xe0200000, %r20, %r27)
12940 .word 0xb7c6c000 ! 135: JMPL_R jmpl %r27 + %r0, %r27
12941pmu_1_78:
12942 nop
12943 ta T_CHANGE_PRIV
12944 setx 0xfffff273fffff606, %g1, %g7
12945 .word 0xa3800007 ! 136: WR_PERF_COUNTER_R wr %r0, %r7, %-
12946dvapa_1_79:
12947 nop
12948 ta T_CHANGE_HPRIV
12949 mov 0x9ba, %r20
12950 mov 0x8, %r19
12951 sllx %r20, 23, %r20
12952 or %r19, %r20, %r19
12953 stxa %r19, [%g0] ASI_LSU_CONTROL
12954 mov 0x38, %r18
12955 stxa %r31, [%r18]0x58
12956 ta T_CHANGE_NONHPRIV
12957 .word 0xe31fc011 ! 137: LDDF_R ldd [%r31, %r17], %f17
12958 .word 0xc1bfde00 ! 138: STDFA_R stda %f0, [%r0, %r31]
12959mondo_1_80:
12960 nop
12961 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12962 stxa %r16, [%r0+0x3d0] %asi
12963 .word 0x9d948010 ! 139: WRPR_WSTATE_R wrpr %r18, %r16, %wstate
12964 .word 0x8d802004 ! 140: WRFPRS_I wr %r0, 0x0004, %fprs
12965mondo_1_81:
12966 nop
12967 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
12968 stxa %r19, [%r0+0x3e8] %asi
12969 .word 0x9d91000a ! 141: WRPR_WSTATE_R wrpr %r4, %r10, %wstate
12970pmu_1_82:
12971 nop
12972 ta T_CHANGE_PRIV
12973 setx 0xffffffa9fffffe24, %g1, %g7
12974 .word 0xa3800007 ! 142: WR_PERF_COUNTER_R wr %r0, %r7, %-
12975 .word 0x99b44491 ! 143: FCMPLE32 fcmple32 %d48, %d48, %r12
12976!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_1_83)+32, 16, 16)) -> intp(mask2tid(0x1),1,3)
12977!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_1_83)&0xffffffff) +32, 16, 16)) -> intp(mask2tid(0x1),1,3)
12978xir_1_83:
12979 .word 0xa984e4b1 ! 144: WR_SET_SOFTINT_I wr %r19, 0x04b1, %set_softint
12980cwp_1_84:
12981 set user_data_start, %o7
12982 .word 0x93902007 ! 145: WRPR_CWP_I wrpr %r0, 0x0007, %cwp
12983intveclr_1_85:
12984 nop
12985 ta T_CHANGE_HPRIV
12986 setx 0x3267168824edbd8a, %r1, %r28
12987 stxa %r28, [%g0] 0x72
12988 ta T_CHANGE_NONHPRIV
12989 .word 0x25400001 ! 146: FBPLG fblg,a,pn %fcc0, <label_0x1>
12990 nop
12991 ta T_CHANGE_HPRIV
12992 mov 0x1, %r10
12993 set sync_thr_counter2, %r23
12994 cas [%r23],%g0,%r10 !lock
12995 brnz %r10, sma_1_86
12996 rd %asi, %r12
12997 wr %g0, 0x40, %asi
12998 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
12999 set 0x001e1fff, %g1
13000 stxa %g1, [%g0 + 0x80] %asi
13001 wr %r12, %g0, %asi
13002 st %g0, [%r23]
13003sma_1_86:
13004 ta T_CHANGE_NONHPRIV
13005 .word 0xd9e7e011 ! 147: CASA_R casa [%r31] %asi, %r17, %r12
13006 .word 0xa5a00165 ! 148: FABSq dis not found
13007
13008 .word 0x9ba349d1 ! 149: FDIVd fdivd %f44, %f48, %f44
13009 nop
13010 ta T_CHANGE_HPRIV
13011 mov 0x1, %r10
13012 set sync_thr_counter2, %r23
13013 cas [%r23],%g0,%r10 !lock
13014 brnz %r10, sma_1_87
13015 rd %asi, %r12
13016 wr %g0, 0x40, %asi
13017 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
13018 set 0x000e1fff, %g1
13019 stxa %g1, [%g0 + 0x80] %asi
13020 wr %r12, %g0, %asi
13021 st %g0, [%r23]
13022sma_1_87:
13023 ta T_CHANGE_NONHPRIV
13024 .word 0xdbe7e011 ! 150: CASA_R casa [%r31] %asi, %r17, %r13
13025 .word 0x91908013 ! 151: WRPR_PIL_R wrpr %r2, %r19, %pil
13026 .word 0xe19fc3e0 ! 152: LDDFA_R ldda [%r31, %r0], %f16
13027 .word 0x3c700001 ! 153: BPPOS <illegal instruction>
13028 .word 0xda27e069 ! 154: STW_I stw %r13, [%r31 + 0x0069]
13029pmu_1_89:
13030 nop
13031 ta T_CHANGE_PRIV
13032 setx 0xfffff3a1fffff0f8, %g1, %g7
13033 .word 0xa3800007 ! 155: WR_PERF_COUNTER_R wr %r0, %r7, %-
13034 nop
13035 ta T_CHANGE_HPRIV
13036 mov 0x1, %r10
13037 set sync_thr_counter2, %r23
13038 cas [%r23],%g0,%r10 !lock
13039 brnz %r10, sma_1_90
13040 rd %asi, %r12
13041 wr %g0, 0x40, %asi
13042 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
13043 set 0x00021fff, %g1
13044 stxa %g1, [%g0 + 0x80] %asi
13045 wr %r12, %g0, %asi
13046 st %g0, [%r23]
13047sma_1_90:
13048 ta T_CHANGE_NONHPRIV
13049 .word 0xdbe7e013 ! 156: CASA_R casa [%r31] %asi, %r19, %r13
13050 setx 0x0fdd744fedc3c594, %r1, %r28
13051 stxa %r28, [%g0] 0x73
13052intvec_1_91:
13053 .word 0x39400001 ! 157: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
13054 .word 0x2e700001 ! 158: BPVS <illegal instruction>
13055 .word 0xda47c000 ! 159: LDSW_R ldsw [%r31 + %r0], %r13
13056splash_lsu_1_92:
13057 nop
13058 ta T_CHANGE_HPRIV
13059 set 0xff0a5439, %r2
13060 mov 0x4, %r1
13061 sllx %r1, 32, %r1
13062 or %r1, %r2, %r2
13063 stxa %r2, [%r0] ASI_LSU_CONTROL
13064 ta T_CHANGE_NONHPRIV
13065 .word 0x3d400001 ! 160: FBPULE fbule,a,pn %fcc0, <label_0x1>
13066!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_1_93)+16, 16, 16)) -> intp(mask2tid(0x1),1,3)
13067!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_1_93)&0xffffffff) +16, 16, 16)) -> intp(mask2tid(0x1),1,3)
13068xir_1_93:
13069 .word 0xa9836e11 ! 161: WR_SET_SOFTINT_I wr %r13, 0x0e11, %set_softint
13070 .word 0xc1bfe0a0 ! 162: STDFA_I stda %f0, [0x00a0, %r31]
13071pmu_1_94:
13072 nop
13073 setx 0xfffff370fffff5da, %g1, %g7
13074 .word 0xa3800007 ! 163: WR_PERF_COUNTER_R wr %r0, %r7, %-
13075 .word 0x3a800001 ! 164: BCC bcc,a <label_0x1>
13076 .word 0x9b464000 ! 165: RD_STICK_CMPR_REG rd %-, %r13
13077pmu_1_95:
13078 nop
13079 ta T_CHANGE_PRIV
13080 setx 0xfffffc7bfffffc24, %g1, %g7
13081 .word 0xa3800007 ! 166: WR_PERF_COUNTER_R wr %r0, %r7, %-
13082 .word 0xb1800011 ! 167: WR_STICK_REG_R wr %r0, %r17, %-
13083 nop
13084 ta T_CHANGE_HPRIV
13085 mov 0x1, %r10
13086 set sync_thr_counter2, %r23
13087 cas [%r23],%g0,%r10 !lock
13088 brnz %r10, sma_1_96
13089 rd %asi, %r12
13090 wr %g0, 0x40, %asi
13091 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
13092 set 0x00021fff, %g1
13093 stxa %g1, [%g0 + 0x80] %asi
13094 wr %r12, %g0, %asi
13095 st %g0, [%r23]
13096sma_1_96:
13097 ta T_CHANGE_NONHPRIV
13098 .word 0xdbe7e013 ! 168: CASA_R casa [%r31] %asi, %r19, %r13
13099pmu_1_97:
13100 nop
13101 ta T_CHANGE_PRIV
13102 setx 0xfffff3b4fffff17e, %g1, %g7
13103 .word 0xa3800007 ! 169: WR_PERF_COUNTER_R wr %r0, %r7, %-
13104pmu_1_98:
13105 nop
13106 ta T_CHANGE_PRIV
13107 setx 0xfffffc3bfffff215, %g1, %g7
13108 .word 0xa3800007 ! 170: WR_PERF_COUNTER_R wr %r0, %r7, %-
13109 .word 0x83d020b3 ! 171: Tcc_I te icc_or_xcc, %r0 + 179
13110 .word 0xa9820003 ! 172: WR_SET_SOFTINT_R wr %r8, %r3, %set_softint
13111 otherw
13112 mov 0x32, %r30
13113 .word 0x91d0001e ! 173: Tcc_R ta icc_or_xcc, %r0 + %r30
13114brcommon_1_99:
13115 ba,a .+12
13116 mov %r31, %r15
13117 ba,a .+8
13118 call common_target
13119 .word 0xc32fc003 ! 174: STXFSR_R st-sfr %f1, [%r3, %r31]
13120br_badelay3_1_100:
13121 .word 0x34800001 ! 1: BG bg,a <label_0x1>
13122 .word 0xc77190c9 ! Random illegal ?
13123 .word 0xd5110014 ! 1: LDQF_R - [%r4, %r20], %f10
13124 .word 0x91a40834 ! 175: FADDs fadds %f16, %f20, %f8
13125 .word 0xa1a509c2 ! 176: FDIVd fdivd %f20, %f2, %f16
13126 .word 0x8f902000 ! 1: WRPR_TL_I wrpr %r0, 0x0000, %tl
13127reduce_priv_lvl_1_101:
13128 ta T_CHANGE_NONHPRIV ! macro
13129 nop
13130 mov 0x80, %g3
13131 stxa %g3, [%g3] 0x5f
13132 .word 0xe05fc000 ! 178: LDX_R ldx [%r31 + %r0], %r16
13133memptr_1_102:
13134 set user_data_start, %r31
13135 .word 0x8584f152 ! 179: WRCCR_I wr %r19, 0x1152, %ccr
13136 setx 0x83b4e5a6d533b905, %r1, %r28
13137 stxa %r28, [%g0] 0x73
13138intvec_1_103:
13139 .word 0x39400001 ! 180: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
13140 .word 0xe1bfe040 ! 181: STDFA_I stda %f16, [0x0040, %r31]
13141 set 0x364a, %l3
13142 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
13143 .word 0x95b507d2 ! 182: PDIST pdistn %d20, %d18, %d10
13144mondo_1_104:
13145 nop
13146 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
13147 ta T_CHANGE_PRIV
13148 stxa %r18, [%r0+0x3d8] %asi
13149 .word 0x9d934012 ! 183: WRPR_WSTATE_R wrpr %r13, %r18, %wstate
13150 .word 0x9f803d4d ! 184: SIR sir 0x1d4d
13151 .word 0x97a0c9c2 ! 185: FDIVd fdivd %f34, %f2, %f42
13152 .word 0x91b34493 ! 186: FCMPLE32 fcmple32 %d44, %d50, %r8
13153dvapa_1_105:
13154 nop
13155 ta T_CHANGE_HPRIV
13156 mov 0x8e3, %r20
13157 mov 0x16, %r19
13158 sllx %r20, 23, %r20
13159 or %r19, %r20, %r19
13160 stxa %r19, [%g0] ASI_LSU_CONTROL
13161 mov 0x38, %r18
13162 stxa %r31, [%r18]0x58
13163 ta T_CHANGE_NONHPRIV
13164 .word 0xd1e7e013 ! 187: CASA_R casa [%r31] %asi, %r19, %r8
13165mondo_1_106:
13166 nop
13167 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
13168 stxa %r3, [%r0+0x3c0] %asi
13169 .word 0x9d904011 ! 188: WRPR_WSTATE_R wrpr %r1, %r17, %wstate
13170 .word 0xc36ce275 ! 189: PREFETCH_I prefetch [%r19 + 0x0275], #one_read
13171vahole_1_107:
13172 nop
13173 ta T_CHANGE_NONHPRIV
13174 setx vahole_target, %r18, %r27
13175 jmpl %r27+0, %r27
13176 .word 0xe29fc021 ! 190: LDDA_R ldda [%r31, %r1] 0x01, %r17
13177 .word 0xe237e035 ! 191: STH_I sth %r17, [%r31 + 0x0035]
13178 .word 0xa7480000 ! 192: RDHPR_HPSTATE rdhpr %hpstate, %r19
13179!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_1_108)+56, 16, 16)) -> intp(mask2tid(0x1),1,3)
13180!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_1_108)&0xffffffff) +56, 16, 16)) -> intp(mask2tid(0x1),1,3)
13181xir_1_108:
13182 .word 0xa9807645 ! 193: WR_SET_SOFTINT_I wr %r1, 0x1645, %set_softint
13183 .word 0x9f8036e5 ! 194: SIR sir 0x16e5
13184dvapa_1_109:
13185 nop
13186 ta T_CHANGE_HPRIV
13187 mov 0xd62, %r20
13188 mov 0x13, %r19
13189 sllx %r20, 23, %r20
13190 or %r19, %r20, %r19
13191 stxa %r19, [%g0] ASI_LSU_CONTROL
13192 mov 0x38, %r18
13193 stxa %r31, [%r18]0x58
13194 ta T_CHANGE_NONHPRIV
13195 .word 0xe73fc001 ! 195: STDF_R std %f19, [%r1, %r31]
13196intveclr_1_110:
13197 nop
13198 ta T_CHANGE_HPRIV
13199 setx 0xdccd5c863b50d892, %r1, %r28
13200 stxa %r28, [%g0] 0x72
13201 ta T_CHANGE_NONHPRIV
13202 .word 0x25400001 ! 196: FBPLG fblg,a,pn %fcc0, <label_0x1>
13203 set 0x171f, %l3
13204 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
13205 .word 0x93b4c7d2 ! 197: PDIST pdistn %d50, %d18, %d40
13206iaw_1_111:
13207 nop
13208 ta T_CHANGE_HPRIV
13209 mov 8, %r18
13210 rd %asi, %r12
13211 wr %r0, 0x41, %asi
13212 set sync_thr_counter, %r23
13213 mov 0x1, %r16
13214iaw_startwait1_111:
13215 cas [%r23],%g0,%r16 !lock
13216 brz,a %r16, continue_iaw_1_111
13217 mov (~0x1&0xf), %r16
13218 ld [%r23], %r16
13219iaw_wait1_111:
13220 brnz %r16, iaw_wait1_111
13221 ld [%r23], %r16
13222 ba,a iaw_startwait1_111
13223 mov 0x1, %r16
13224continue_iaw_1_111:
13225 ldxa [%g0]0x63, %r14 !Get raw TID
13226 srlx %r14, 3, %r14 !Get CID
13227 sllx %r16, %r14, %r16 !Mask for my core only
13228 ldxa [0x58]%asi, %r17 !Running_status
13229wait_for_stat_1_111:
13230 ldxa [0x50]%asi, %r13 !Running_rw
13231 cmp %r13, %r17
13232 bne,a wait_for_stat_1_111
13233 ldxa [0x58]%asi, %r17 !Running_status
13234 stxa %r16, [0x68]%asi
13235 ldxa [0x50]%asi, %r14 !Running_rw
13236wait_for_iaw_1_111:
13237 ldxa [0x58]%asi, %r17 !Running_status
13238 cmp %r14, %r17
13239 bne,a wait_for_iaw_1_111
13240 ldxa [0x50]%asi, %r14 !Running_rw
13241iaw_doit1_111:
13242 mov 0x38, %r18
13243iaw3_1_111:
13244 setx common_target, %r20, %r19
13245 or %r19, 0x1, %r19
13246 stxa %r19, [%r18]0x50
13247 stxa %r13, [0x50] %asi ! Running_rw
13248 st %g0, [%r23] !clear lock
13249 wr %r0, %r12, %asi ! restore %asi
13250 ta T_CHANGE_NONHPRIV
13251 .word 0xd297c032 ! 198: LDUHA_R lduha [%r31, %r18] 0x01, %r9
13252mondo_1_112:
13253 nop
13254 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
13255 stxa %r17, [%r0+0x3c0] %asi
13256 .word 0x9d94c013 ! 199: WRPR_WSTATE_R wrpr %r19, %r19, %wstate
13257 nop
13258 ta T_CHANGE_HPRIV
13259 mov 0x1+1, %r10
13260 set sync_thr_counter1, %r23
13261 cas [%r23],%g0,%r10 !lock
13262 brnz %r10, cwq_1_113
13263 rd %asi, %r12
13264 wr %g0, 0x40, %asi
13265 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
13266 and %l1, 0x3, %l1 ! Check if busy/enabled ..
13267 cmp %l1, 1
13268 bne cwq_1_113
13269 set CWQ_BASE, %l6
13270 best_set_reg(0x20610030, %l1, %l2) !# Control Word
13271 sllx %l2, 32, %l2
13272 stx %l2, [%l6 + 0x0]
13273 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
13274 sub %l2, 0x40, %l2
13275 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
13276 wr %r12, %g0, %asi
13277 st %g0, [%r23]
13278cwq_1_113:
13279 ta T_CHANGE_NONHPRIV
13280 .word 0xa3414000 ! 200: RDPC rd %pc, %r17
13281mondo_1_114:
13282 nop
13283 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
13284 stxa %r10, [%r0+0x3c8] %asi
13285 .word 0x9d94c00a ! 201: WRPR_WSTATE_R wrpr %r19, %r10, %wstate
13286 .word 0xc1bfd920 ! 202: STDFA_R stda %f0, [%r0, %r31]
13287 .word 0x91d02035 ! 203: Tcc_I ta icc_or_xcc, %r0 + 53
13288memptr_1_115:
13289 set 0x60340000, %r31
13290 .word 0x85843f38 ! 204: WRCCR_I wr %r16, 0x1f38, %ccr
13291 nop
13292 mov 0x80, %g3
13293 stxa %g3, [%g3] 0x57
13294 .word 0xe25fc000 ! 205: LDX_R ldx [%r31 + %r0], %r17
13295 .word 0x83d02032 ! 206: Tcc_I te icc_or_xcc, %r0 + 50
13296pmu_1_116:
13297 nop
13298 setx 0xfffff4fafffffdc3, %g1, %g7
13299 .word 0xa3800007 ! 207: WR_PERF_COUNTER_R wr %r0, %r7, %-
13300 .word 0x25400001 ! 1: FBPLG fblg,a,pn %fcc0, <label_0x1>
13301 .word 0x8d903160 ! 208: WRPR_PSTATE_I wrpr %r0, 0x1160, %pstate
13302splash_tba_1_118:
13303 ta T_CHANGE_PRIV
13304 setx 0x0000000000380000, %r11, %r12
13305 .word 0x8b90000c ! 209: WRPR_TBA_R wrpr %r0, %r12, %tba
13306 .word 0xa1b40493 ! 210: FCMPLE32 fcmple32 %d16, %d50, %r16
13307 .word 0xc1bfe020 ! 211: STDFA_I stda %f0, [0x0020, %r31]
13308 .word 0x38800001 ! 212: BGU bgu,a <label_0x1>
13309 .word 0xc19fde00 ! 213: LDDFA_R ldda [%r31, %r0], %f0
13310 .word 0xa5454000 ! 214: RD_CLEAR_SOFTINT rd %clear_softint, %r18
13311 .word 0x97a289d1 ! 215: FDIVd fdivd %f10, %f48, %f42
13312mondo_1_119:
13313 nop
13314 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
13315 ta T_CHANGE_PRIV
13316 stxa %r17, [%r0+0x3d8] %asi
13317 .word 0x9d934001 ! 216: WRPR_WSTATE_R wrpr %r13, %r1, %wstate
13318splash_lsu_1_120:
13319 nop
13320 ta T_CHANGE_HPRIV
13321 set 0x8cf71dae, %r2
13322 mov 0x4, %r1
13323 sllx %r1, 32, %r1
13324 or %r1, %r2, %r2
13325 stxa %r2, [%r0] ASI_LSU_CONTROL
13326 .word 0x3d400001 ! 217: FBPULE fbule,a,pn %fcc0, <label_0x1>
13327 .word 0x24800001 ! 218: BLE ble,a <label_0x1>
13328 .word 0xe1bfe080 ! 219: STDFA_I stda %f16, [0x0080, %r31]
13329 .word 0xd797e018 ! 220: LDQFA_I - [%r31, 0x0018], %f11
13330 .word 0xd73fc000 ! 221: STDF_R std %f11, [%r0, %r31]
13331donret_1_121:
13332 nop
13333 ta T_CHANGE_HPRIV ! macro
13334 rd %pc, %r12
13335 add %r12, (donretarg_1_121-donret_1_121-4), %r12
13336 add %r12, 0x4, %r11
13337 wrpr %g0, 0x2, %tl
13338 wrpr %g0, %r12, %tpc
13339 wrpr %g0, %r11, %tnpc
13340 set (0x00aa82fe | (0x82 << 24)), %r13
13341 rdpr %tstate, %r16
13342 mov 0x1f, %r19
13343 and %r19, %r16, %r17
13344 andn %r16, %r19, %r16
13345 or %r16, %r17, %r20
13346 wrpr %r20, %g0, %tstate
13347 wrhpr %g0, 0xf87, %htstate
13348 ta T_CHANGE_NONHPRIV ! rand=1 (1)
13349 done
13350donretarg_1_121:
13351 .word 0xd6ffe05c ! 222: SWAPA_I swapa %r11, [%r31 + 0x005c] %asi
13352!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_1_122)+0, 16, 16)) -> intp(mask2tid(0x1),1,3)
13353!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_1_122)&0xffffffff) +0, 16, 16)) -> intp(mask2tid(0x1),1,3)
13354xir_1_122:
13355 .word 0xa982abbc ! 223: WR_SET_SOFTINT_I wr %r10, 0x0bbc, %set_softint
13356 .word 0xa9b087cb ! 224: PDIST pdistn %d2, %d42, %d20
13357ibp_1_123:
13358 nop
13359 ta T_CHANGE_HPRIV
13360 .word 0x9f803577 ! 225: SIR sir 0x1577
13361 set 0x2882, %l3
13362 stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
13363 .word 0xa3b4c7c4 ! 226: PDIST pdistn %d50, %d4, %d48
13364 invalw
13365 mov 0x30, %r30
13366 .word 0x93d0001e ! 227: Tcc_R tne icc_or_xcc, %r0 + %r30
13367 nop
13368 ta T_CHANGE_HPRIV
13369 mov 0x1+1, %r10
13370 set sync_thr_counter1, %r23
13371 cas [%r23],%g0,%r10 !lock
13372 brnz %r10, cwq_1_124
13373 rd %asi, %r12
13374 wr %g0, 0x40, %asi
13375 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
13376 and %l1, 0x3, %l1 ! Check if busy/enabled ..
13377 cmp %l1, 1
13378 bne cwq_1_124
13379 set CWQ_BASE, %l6
13380 best_set_reg(0x20610020, %l1, %l2) !# Control Word
13381 sllx %l2, 32, %l2
13382 stx %l2, [%l6 + 0x0]
13383 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
13384 sub %l2, 0x40, %l2
13385 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
13386 wr %r12, %g0, %asi
13387 st %g0, [%r23]
13388cwq_1_124:
13389 ta T_CHANGE_NONHPRIV
13390 .word 0x93414000 ! 228: RDPC rd %pc, %r9
13391 .word 0x91918003 ! 229: WRPR_PIL_R wrpr %r6, %r3, %pil
13392 .word 0x2c800001 ! 1: BNEG bneg,a <label_0x1>
13393 .word 0x8d903875 ! 230: WRPR_PSTATE_I wrpr %r0, 0x1875, %pstate
13394 .word 0xd23fe0c0 ! 231: STD_I std %r9, [%r31 + 0x00c0]
13395mondo_1_127:
13396 nop
13397 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
13398 ta T_CHANGE_PRIV
13399 stxa %r13, [%r0+0x3d8] %asi
13400 .word 0x9d94c013 ! 232: WRPR_WSTATE_R wrpr %r19, %r19, %wstate
13401 nop
13402 mov 0x80, %g3
13403 stxa %g3, [%g3] 0x57
13404 .word 0xd25fc000 ! 233: LDX_R ldx [%r31 + %r0], %r9
13405!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_1_128)+8, 16, 16)) -> intp(mask2tid(0x1),1,3)
13406!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_1_128)&0xffffffff) +8, 16, 16)) -> intp(mask2tid(0x1),1,3)
13407xir_1_128:
13408 .word 0xa985310c ! 234: WR_SET_SOFTINT_I wr %r20, 0x110c, %set_softint
13409 .word 0xc1bfde00 ! 235: STDFA_R stda %f0, [%r0, %r31]
13410invtsb_1_129:
13411 nop
13412 ta T_CHANGE_HPRIV
13413 rd %asi, %r21
13414 wr %r0,ASI_MMU_REAL_RANGE, %asi
13415 mov 1, %r20
13416 sllx %r20, 63, %r20
13417 ldxa [ASI_MMU_REAL_RANGE_0] %asi, %r22
13418 xor %r22 ,%r20, %r22
13419 stxa %r22, [ASI_MMU_REAL_RANGE_0] %asi
13420 ldxa [ASI_MMU_REAL_RANGE_1] %asi, %r22
13421 xor %r22 ,%r20, %r22
13422 stxa %r22, [ASI_MMU_REAL_RANGE_1] %asi
13423 ldxa [ASI_MMU_REAL_RANGE_2] %asi, %r22
13424 xor %r22 ,%r20, %r22
13425 stxa %r22, [ASI_MMU_REAL_RANGE_2] %asi
13426 ldxa [ASI_MMU_REAL_RANGE_3] %asi, %r22
13427 xor %r22 ,%r20, %r22
13428 stxa %r22, [ASI_MMU_REAL_RANGE_3] %asi
13429 wr %r21, %r0, %asi
13430 ta T_CHANGE_NONHPRIV
13431 .word 0x29800001 ! 236: FBL fbl,a <label_0x1>
13432splash_htba_1_130:
13433 nop
13434 ta T_CHANGE_HPRIV
13435 setx 0x0000000000280000, %r11, %r12
13436 .word 0x8b98000c ! 237: WRHPR_HTBA_R wrhpr %r0, %r12, %htba
13437ibp_1_131:
13438 nop
13439 ta T_CHANGE_HPRIV
13440 ta T_CHANGE_NONHPRIV
13441 .word 0x9f80310c ! 238: SIR sir 0x110c
13442 .word 0xc3ec0025 ! 239: PREFETCHA_R prefetcha [%r16, %r5] 0x01, #one_read
13443!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_1_132)+56, 16, 16)) -> intp(mask2tid(0x1),1,3)
13444!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_1_132)&0xffffffff) +56, 16, 16)) -> intp(mask2tid(0x1),1,3)
13445xir_1_132:
13446 .word 0xa9822530 ! 240: WR_SET_SOFTINT_I wr %r8, 0x0530, %set_softint
13447 .word 0x9194400d ! 241: WRPR_PIL_R wrpr %r17, %r13, %pil
13448 nop
13449 ta T_CHANGE_HPRIV
13450 mov 0x1, %r10
13451 set sync_thr_counter2, %r23
13452 cas [%r23],%g0,%r10 !lock
13453 brnz %r10, sma_1_134
13454 rd %asi, %r12
13455 wr %g0, 0x40, %asi
13456 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
13457 set 0x00021fff, %g1
13458 stxa %g1, [%g0 + 0x80] %asi
13459 wr %r12, %g0, %asi
13460 st %g0, [%r23]
13461sma_1_134:
13462 ta T_CHANGE_NONHPRIV
13463 .word 0xe5e7e00d ! 242: CASA_R casa [%r31] %asi, %r13, %r18
13464mondo_1_135:
13465 nop
13466 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
13467 stxa %r4, [%r0+0x3c8] %asi
13468 .word 0x9d918013 ! 243: WRPR_WSTATE_R wrpr %r6, %r19, %wstate
13469ibp_1_136:
13470 nop
13471 ta T_CHANGE_HPRIV
13472 .word 0xe49fc033 ! 244: LDDA_R ldda [%r31, %r19] 0x01, %r18
13473splash_tba_1_137:
13474 ta T_CHANGE_PRIV
13475 setx 0x0000000000380000, %r11, %r12
13476 .word 0x8b90000c ! 245: WRPR_TBA_R wrpr %r0, %r12, %tba
13477br_badelay3_1_138:
13478 .word 0x20800001 ! 1: BN bn,a <label_0x1>
13479 .word 0x974939ed ! Random illegal ?
13480 .word 0xd913000d ! 1: LDQF_R - [%r12, %r13], %f12
13481 .word 0x91a0882b ! 246: FADDs fadds %f2, %f11, %f8
13482 .word 0x95b107d0 ! 247: PDIST pdistn %d4, %d16, %d10
13483 .word 0xe19fde00 ! 248: LDDFA_R ldda [%r31, %r0], %f16
13484brcommon_1_139:
13485 ba,a .+12
13486 mov %r31, %r15
13487 ba,a .+8
13488 call common_target
13489 .word 0xd49fc030 ! 249: LDDA_R ldda [%r31, %r16] 0x01, %r10
13490pmu_1_140:
13491 nop
13492 setx 0xfffff2bffffffde0, %g1, %g7
13493 .word 0xa3800007 ! 250: WR_PERF_COUNTER_R wr %r0, %r7, %-
13494 .word 0xd43fc000 ! 251: STD_R std %r10, [%r31 + %r0]
13495dvapa_1_141:
13496 nop
13497 ta T_CHANGE_HPRIV
13498 mov 0xe25, %r20
13499 mov 0x1a, %r19
13500 sllx %r20, 23, %r20
13501 or %r19, %r20, %r19
13502 stxa %r19, [%g0] ASI_LSU_CONTROL
13503 mov 0x38, %r18
13504 stxa %r31, [%r18]0x58
13505 ta T_CHANGE_NONHPRIV
13506 .word 0xc32fc010 ! 252: STXFSR_R st-sfr %f1, [%r16, %r31]
13507br_badelay3_1_142:
13508 .word 0x22800001 ! 1: BE be,a <label_0x1>
13509 .word 0xf567ab92 ! Random illegal ?
13510 .word 0xd911000a ! 1: LDQF_R - [%r4, %r10], %f12
13511 .word 0xa1a2c82a ! 253: FADDs fadds %f11, %f10, %f16
13512 otherw
13513 mov 0x34, %r30
13514 .word 0x91d0001e ! 254: Tcc_R ta icc_or_xcc, %r0 + %r30
13515 setx 0x1cda628a72ce3a60, %r1, %r28
13516 stxa %r28, [%g0] 0x73
13517intvec_1_143:
13518 .word 0x39400001 ! 255: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
13519 nop
13520 ta T_CHANGE_HPRIV
13521 mov 0x1+1, %r10
13522 set sync_thr_counter1, %r23
13523 cas [%r23],%g0,%r10 !lock
13524 brnz %r10, cwq_1_144
13525 rd %asi, %r12
13526 wr %g0, 0x40, %asi
13527 ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
13528 and %l1, 0x3, %l1 ! Check if busy/enabled ..
13529 cmp %l1, 1
13530 bne cwq_1_144
13531 set CWQ_BASE, %l6
13532 best_set_reg(0x206100d0, %l1, %l2) !# Control Word
13533 sllx %l2, 32, %l2
13534 stx %l2, [%l6 + 0x0]
13535 ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
13536 sub %l2, 0x40, %l2
13537 stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
13538 wr %r12, %g0, %asi
13539 st %g0, [%r23]
13540cwq_1_144:
13541 ta T_CHANGE_NONHPRIV
13542 .word 0xa9414000 ! 256: RDPC rd %pc, %r20
13543 .word 0x87ac4a52 ! 257: FCMPd fcmpd %fcc<n>, %f48, %f18
13544dvapa_1_145:
13545 nop
13546 ta T_CHANGE_HPRIV
13547 mov 0xa2d, %r20
13548 mov 0x1b, %r19
13549 sllx %r20, 23, %r20
13550 or %r19, %r20, %r19
13551 stxa %r19, [%g0] ASI_LSU_CONTROL
13552 mov 0x38, %r18
13553 stxa %r31, [%r18]0x58
13554 ta T_CHANGE_NONHPRIV
13555 .word 0xe49fc032 ! 258: LDDA_R ldda [%r31, %r18] 0x01, %r18
13556 invalw
13557 mov 0xb3, %r30
13558 .word 0x91d0001e ! 259: Tcc_R ta icc_or_xcc, %r0 + %r30
13559 .word 0xe457c000 ! 260: LDSH_R ldsh [%r31 + %r0], %r18
13560splash_lsu_1_146:
13561 nop
13562 ta T_CHANGE_HPRIV
13563 set 0x75046062, %r2
13564 mov 0x1, %r1
13565 sllx %r1, 32, %r1
13566 or %r1, %r2, %r2
13567 stxa %r2, [%r0] ASI_LSU_CONTROL
13568 .word 0x3d400001 ! 261: FBPULE fbule,a,pn %fcc0, <label_0x1>
13569 otherw
13570 mov 0xb2, %r30
13571 .word 0x91d0001e ! 262: Tcc_R ta icc_or_xcc, %r0 + %r30
13572 .word 0x91924014 ! 263: WRPR_PIL_R wrpr %r9, %r20, %pil
13573 .word 0xe1bfe080 ! 264: STDFA_I stda %f16, [0x0080, %r31]
13574 .word 0xe19fe080 ! 265: LDDFA_I ldda [%r31, 0x0080], %f16
13575 nop
13576 ta T_CHANGE_HPRIV
13577 mov 0x1, %r10
13578 set sync_thr_counter2, %r23
13579 cas [%r23],%g0,%r10 !lock
13580 brnz %r10, sma_1_148
13581 rd %asi, %r12
13582 wr %g0, 0x40, %asi
13583 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
13584 set 0x000a1fff, %g1
13585 stxa %g1, [%g0 + 0x80] %asi
13586 wr %r12, %g0, %asi
13587 st %g0, [%r23]
13588sma_1_148:
13589 ta T_CHANGE_NONHPRIV
13590 .word 0xe5e7e014 ! 266: CASA_R casa [%r31] %asi, %r20, %r18
13591 ta T_CHANGE_NONPRIV ! macro
13592 .word 0xa7a00172 ! 268: FABSq dis not found
13593
13594 nop
13595 ta T_CHANGE_HPRIV
13596 mov 0x1, %r10
13597 set sync_thr_counter2, %r23
13598 cas [%r23],%g0,%r10 !lock
13599 brnz %r10, sma_1_149
13600 rd %asi, %r12
13601 wr %g0, 0x40, %asi
13602 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
13603 set 0x001a1fff, %g1
13604 stxa %g1, [%g0 + 0x80] %asi
13605 wr %r12, %g0, %asi
13606 st %g0, [%r23]
13607sma_1_149:
13608 ta T_CHANGE_NONHPRIV
13609 .word 0xe7e7e012 ! 269: CASA_R casa [%r31] %asi, %r18, %r19
13610 .word 0xe63fe0a4 ! 270: STD_I std %r19, [%r31 + 0x00a4]
13611!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_1_150) + 24, 16, 16)) -> intp(1,0,20)
13612!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_1_150)&0xffffffff) + 24, 16, 16)) -> intp(1,0,20)
13613intvec_1_150:
13614 .word 0x39400001 ! 271: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
13615!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_1_151)+48, 16, 16)) -> intp(mask2tid(0x1),1,3)
13616!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_1_151)&0xffffffff) +48, 16, 16)) -> intp(mask2tid(0x1),1,3)
13617xir_1_151:
13618 .word 0xa981e144 ! 272: WR_SET_SOFTINT_I wr %r7, 0x0144, %set_softint
13619 .word 0xe63fe030 ! 273: STD_I std %r19, [%r31 + 0x0030]
13620memptr_1_152:
13621 set 0x60540000, %r31
13622 .word 0x8581f3a4 ! 274: WRCCR_I wr %r7, 0x13a4, %ccr
13623br_badelay1_1_153:
13624 .word 0xc36a722b ! 1: PREFETCH_I prefetch [%r9 + 0xfffff22b], #one_read
13625 .word 0xe934c014 ! 1: STQF_R - %f20, [%r20, %r19]
13626 .word 0x24cc8001 ! 1: BRLEZ brlez,a,pt %r18,<label_0xc8001>
13627 normalw
13628 .word 0x95458000 ! 275: RD_SOFTINT_REG rd %softint, %r10
13629 .word 0x9f80285d ! 276: SIR sir 0x085d
13630 .word 0xc1bfdf20 ! 277: STDFA_R stda %f0, [%r0, %r31]
13631 .word 0xe19fe060 ! 278: LDDFA_I ldda [%r31, 0x0060], %f16
13632 .word 0xe1bfd920 ! 279: STDFA_R stda %f16, [%r0, %r31]
13633 .word 0x91d020b3 ! 280: Tcc_I ta icc_or_xcc, %r0 + 179
13634 .word 0x9f803508 ! 281: SIR sir 0x1508
13635jmptr_1_154:
13636 nop
13637 best_set_reg(0xe0200000, %r20, %r27)
13638 .word 0xb7c6c000 ! 282: JMPL_R jmpl %r27 + %r0, %r27
13639 nop
13640 ta T_CHANGE_HPRIV
13641 mov 0x1, %r10
13642 set sync_thr_counter2, %r23
13643 cas [%r23],%g0,%r10 !lock
13644 brnz %r10, sma_1_155
13645 rd %asi, %r12
13646 wr %g0, 0x40, %asi
13647 ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
13648 set 0x00021fff, %g1
13649 stxa %g1, [%g0 + 0x80] %asi
13650 wr %r12, %g0, %asi
13651 st %g0, [%r23]
13652sma_1_155:
13653 ta T_CHANGE_NONHPRIV
13654 .word 0xe9e7e011 ! 283: CASA_R casa [%r31] %asi, %r17, %r20
13655 .word 0x99a00170 ! 284: FABSq dis not found
13656
13657mondo_1_156:
13658 nop
13659 .word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
13660 ta T_CHANGE_PRIV
13661 stxa %r1, [%r0+0x3d8] %asi
13662 .word 0x9d944013 ! 285: WRPR_WSTATE_R wrpr %r17, %r19, %wstate
13663 .word 0xc32fc000 ! 286: STXFSR_R st-sfr %f1, [%r0, %r31]
13664 .word 0xc19fc3e0 ! 287: LDDFA_R ldda [%r31, %r0], %f0
13665change_to_randtl_1_157:
13666 ta T_CHANGE_HPRIV ! macro
13667done_change_to_randtl_1_157:
13668 .word 0x8f902001 ! 288: WRPR_TL_I wrpr %r0, 0x0001, %tl
13669splash_decr_1_158:
13670 nop
13671 ta T_CHANGE_HPRIV
13672 mov 8, %r1
13673 stxa %r7, [%r1] 0x45
13674 .word 0xa7844004 ! 289: WR_GRAPHICS_STATUS_REG_R wr %r17, %r4, %-
13675 .word 0xc1bfe0e0 ! 290: STDFA_I stda %f0, [0x00e0, %r31]
13676 .word 0xd86fe0fc ! 291: LDSTUB_I ldstub %r12, [%r31 + 0x00fc]
13677 .word 0x91b14994 ! 292: BSHUFFLE fmovc32 %d36, %d20, %d8
13678memptr_1_160:
13679 set 0x60740000, %r31
13680 .word 0x8581eec3 ! 293: WRCCR_I wr %r7, 0x0ec3, %ccr
13681splash_hpstate_1_161:
13682 ta T_CHANGE_NONHPRIV
13683 .word 0x81982d4f ! 294: WRHPR_HPSTATE_I wrhpr %r0, 0x0d4f, %hpstate
13684!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_1_162) + 40, 16, 16)) -> intp(0,0,18)
13685!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_1_162)&0xffffffff) + 40, 16, 16)) -> intp(0,0,18)
13686intvec_1_162:
13687 .word 0x39400001 ! 295: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
13688 .word 0xd0bfe098 ! 296: STDA_I stda %r8, [%r31 + 0x0098] %asi
13689 .word 0xa7a00170 ! 297: FABSq dis not found
13690
13691splash_tba_1_163:
13692 ta T_CHANGE_PRIV
13693 setx 0x0000000000380000, %r11, %r12
13694 .word 0x8b90000c ! 298: WRPR_TBA_R wrpr %r0, %r12, %tba
13695splash_tba_1_164:
13696 ta T_CHANGE_PRIV
13697 set 0x120000, %r12
13698 .word 0x8b90000c ! 299: WRPR_TBA_R wrpr %r0, %r12, %tba
13699 .word 0x8d9023c4 ! 300: WRPR_PSTATE_I wrpr %r0, 0x03c4, %pstate
13700!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_1_166)+32, 16, 16)) -> intp(mask2tid(0x1),1,3)
13701!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_1_166)&0xffffffff) +32, 16, 16)) -> intp(mask2tid(0x1),1,3)
13702xir_1_166:
13703 .word 0xa981abf6 ! 301: WR_SET_SOFTINT_I wr %r6, 0x0bf6, %set_softint
13704 nop
13705 nop
13706 ta T_CHANGE_PRIV
13707 wrpr %g0, %g0, %gl
13708 nop
13709 nop
13710
13711join_lbl_0_0:
13712SECTION .MAIN
13713.text
13714diag_finish:
13715 nop
13716 nop
13717 nop
13718 ta T_CHANGE_HPRIV
13719 best_set_reg(HV_TRAP_BASE_PA, %r1, %r2)
13720 wrhpr %g2, %g0, %htba
13721 ta T_GOOD_TRAP
13722 nop
13723 nop
13724 nop
13725.data
13726 .xword 0x0
13727 ! fp data rs1, rs2, fsr, gsr quads ..
13728.global fp_data_quads
13729fp_data_quads:
13730 .xword 0x0044000000000000
13731 .xword 0x4028000000000000
13732 .xword 0x0fc0400400000000
13733 .xword 0x0000000000000000
13734 .xword 0x0041000000000000
13735 .xword 0x4022000000000000
13736 .xword 0x0600800000000000
13737 .xword 0x0000000000000000
13738 .xword 0x0220000000000000
13739 .xword 0x4140000000000000
13740 .xword 0x4fc0400400000000
13741 .xword 0x0000000000000000
13742 .xword 0x4090000000000000
13743 .xword 0x0090000000000000
13744 .xword 0x0f80400800000000
13745 .xword 0x0a00000000000000
13746.align 128
13747.global user_data_start
13748.data
13749user_data_start:
13750
13751 .xword 0xb6e33ccce1af091e
13752 .xword 0xf2ddac3c74f2ee52
13753 .xword 0xa58f172d3656a7e1
13754 .xword 0xb617431df55bdb9c
13755 .xword 0x591cd031723ee010
13756 .xword 0x406da69e3a9eb4d4
13757 .xword 0x744d4e5ec24e48e6
13758 .xword 0xf483b974cd75107e
13759 .xword 0xe51345a87cb754ba
13760 .xword 0xa3c503ad80d4331d
13761 .xword 0x7b78c0c726e9a1ff
13762 .xword 0xd7c49f61253d72b3
13763 .xword 0x7bc44a1e7c883031
13764 .xword 0x099d1c0e91607f52
13765 .xword 0x03436915c19e20f5
13766 .xword 0x82da852a873c67f1
13767 .xword 0x9e66e14c4051ea82
13768 .xword 0xeffa012c3e1f8706
13769 .xword 0x3c1111580f475912
13770 .xword 0xc85d0c8d22e2eb7c
13771 .xword 0x1f347427c2b1a8b7
13772 .xword 0xde107cec311295f2
13773 .xword 0xea9d19912f48aecb
13774 .xword 0xf6a64ab7ca81afbb
13775 .xword 0x63f29c52aa52cc5f
13776 .xword 0x6eb57d1d80fcd807
13777 .xword 0x7a878330adf9614a
13778 .xword 0x61ea8af2f742f1f5
13779 .xword 0xa7a0dcf1ce10b71f
13780 .xword 0xc378add79dcbce55
13781 .xword 0x6289de9c544c5955
13782 .xword 0x46da5286f3ed087b
13783 .xword 0xa573881165f7c10b
13784 .xword 0x5004adec101fe403
13785 .xword 0xa4345aef085cbb57
13786 .xword 0x590baf3e77b4e887
13787 .xword 0xedce62fe913aff0d
13788 .xword 0xea497254008dfadb
13789 .xword 0x254365639aa205b8
13790 .xword 0x274f7d12b0bf8916
13791 .xword 0x721f099a393c69b3
13792 .xword 0xecce20a3dc0ff469
13793 .xword 0x62234aecf140e1a6
13794 .xword 0xb90a96a0cc21b49f
13795 .xword 0x35aa259c916e2c9b
13796 .xword 0x76b815f00a9e1e9e
13797 .xword 0x548cbc0e1818d9a4
13798 .xword 0xc470b31e1e0b5140
13799 .xword 0xac86ef014a4c91d3
13800 .xword 0x6b4dd94e738e5c9a
13801 .xword 0x57c245d7487ed9e0
13802 .xword 0xbde142587ee94ef5
13803 .xword 0xb434385dc941cc1a
13804 .xword 0x27a55cfd4782809a
13805 .xword 0x5a64275eea188ce8
13806 .xword 0x50de18d84f360f67
13807 .xword 0x49fe4009ddf6bbcb
13808 .xword 0x0e9ff927053ebdfc
13809 .xword 0x8973c213f0289bd6
13810 .xword 0xe185496958c9f4f1
13811 .xword 0xf80f03b9f9bdae55
13812 .xword 0xedf477ca7a243894
13813 .xword 0xb0c5ecca336ecdd3
13814 .xword 0xe217a98fba730dc6
13815 .xword 0x6c66f19af4d66965
13816 .xword 0x411fc5335761b15a
13817 .xword 0xc612d6811fbeb3e0
13818 .xword 0x462058e3525f78e3
13819 .xword 0xa581df1d154fa1e3
13820 .xword 0x05b77a5a7d571d6d
13821 .xword 0xa5cbd08c07f3140d
13822 .xword 0x3590fe0766d86233
13823 .xword 0x264786d6ecf08449
13824 .xword 0x60bec89256bfb996
13825 .xword 0x4ee483e1a8b38ae8
13826 .xword 0x6fb3743ffc4e83cf
13827 .xword 0xc41b77b7aeb758ac
13828 .xword 0x1f4ed78bd56ac408
13829 .xword 0x99e07aedea9cdff1
13830 .xword 0x753d280e0cddf8e9
13831 .xword 0xa1568038aa7d1d47
13832 .xword 0xb8930b2deea98825
13833 .xword 0x1b5dcf826c64a3f1
13834 .xword 0xd7e598c978fa3ad8
13835 .xword 0xd74c0883f662d1ae
13836 .xword 0xfdddb616841412c2
13837 .xword 0x06b671e74d2f80b6
13838 .xword 0x76c773b550689981
13839 .xword 0xd06b946a35f0de30
13840 .xword 0x4e4723f5f5402db2
13841 .xword 0xe1c45ddc0b04cf46
13842 .xword 0x64c84c57dd75eaae
13843 .xword 0xeba2f1cb48da6788
13844 .xword 0x108150572b741415
13845 .xword 0x9d2a3ab18e81fc24
13846 .xword 0x1620a3f35c88d674
13847 .xword 0x96532a7ca803278b
13848 .xword 0x34bbd59ccd1b864a
13849 .xword 0x5c4d7c9f83d66e66
13850 .xword 0xee57d41fb7994b27
13851 .xword 0x47bed43c46976c81
13852 .xword 0x8e75f6ac496e945c
13853 .xword 0xbbf0e8ffdd54e396
13854 .xword 0x75c7c25ca3112edc
13855 .xword 0x57627d5fd10293f8
13856 .xword 0xa2ce757d076c697e
13857 .xword 0xa360c0e9cba02445
13858 .xword 0xa58aeb81925ac94b
13859 .xword 0x2d0068a4dbb446b6
13860 .xword 0x60b7e032fb016c97
13861 .xword 0xe8b443eb152a5eb9
13862 .xword 0x8e702abd992ab763
13863 .xword 0x9382a784e6354327
13864 .xword 0x6f3592087d5e5a9b
13865 .xword 0x1d011ed5a3461b50
13866 .xword 0x153e82a63516c110
13867 .xword 0x3cb68bc7d8259812
13868 .xword 0x198966e0f66216f9
13869 .xword 0xf88733fae28ba254
13870 .xword 0x78d74b2b8204a346
13871 .xword 0xb17afd2e5abf5b69
13872 .xword 0xcbc8b00b50ec4d88
13873 .xword 0xa2b83b0b100b78ee
13874 .xword 0x4658aa61ebe549bf
13875 .xword 0x01df0ca1c6e6832c
13876 .xword 0xf52f87911c5f5bbd
13877 .xword 0xc00062ad06f75a2c
13878 .xword 0x0be13d173c31c877
13879 .xword 0xc101dc2fbed6a41b
13880 .xword 0xb838ab222d6e3a21
13881 .xword 0xbe35407fec9112b8
13882 .xword 0x7712d196df125e25
13883 .xword 0x2c3928db38ece5d6
13884 .xword 0x0d586b5e5b7118bd
13885 .xword 0x5540a55a590bd7d3
13886 .xword 0x0cb791d9c618b41a
13887 .xword 0x112555b2ff2d3787
13888 .xword 0x42c06f8fbda8c824
13889 .xword 0xb59fc79e3acb0b81
13890 .xword 0x4caabe73d29aa96e
13891 .xword 0x9381551ca995e1b9
13892 .xword 0x36341801e743b0a3
13893 .xword 0x399cbd62b3e25012
13894 .xword 0x0e1e88797c452341
13895 .xword 0x2abcb9197b267a3c
13896 .xword 0x57866b94401d5fa2
13897 .xword 0x4d48a5a0a9af6905
13898 .xword 0x06347f98bfc9ec99
13899 .xword 0xeecdf50dd945ab05
13900 .xword 0x71163337626748ec
13901 .xword 0x99e63b6f8c6e6a1f
13902 .xword 0xef2fd12c67add25e
13903 .xword 0x0832f539e1b25bd0
13904 .xword 0xdc0c86229f5de599
13905 .xword 0xf385d58ffcb0842a
13906 .xword 0x53800ae2494348e8
13907 .xword 0x429eb510e77a97c4
13908 .xword 0xf54b95c53cb57b2e
13909 .xword 0x928b47067320dd42
13910 .xword 0xec6bc65d4403d806
13911 .xword 0x3da3bf7655b90aa9
13912 .xword 0x005859bc39f117bb
13913 .xword 0xd39d5f5d2ac72626
13914 .xword 0x96f4e574df081283
13915 .xword 0x51a680ff4f552801
13916 .xword 0x97e8a2feb2c24d26
13917 .xword 0xd38a8b03fa7ee5c3
13918 .xword 0xe938e6aa352c9e93
13919 .xword 0x1a38f8b4e862128c
13920 .xword 0xb0ad6e62a4344808
13921 .xword 0x8b0ef17562c842d5
13922 .xword 0x29fb02983642b1c0
13923 .xword 0x2c85b6b462279de4
13924 .xword 0x60ed7a2c38f4c23f
13925 .xword 0x38eb6f0babb8f75b
13926 .xword 0x348eea7742094a9f
13927 .xword 0x607f6680772148c4
13928 .xword 0x3244cbec236b6d73
13929 .xword 0xc8306ad72fcccff4
13930 .xword 0x4071b5f542e63b7a
13931 .xword 0x3b49d7ef61ecbd3d
13932 .xword 0x450abaf637c1d0a7
13933 .xword 0x60a95849e52ec254
13934 .xword 0xefb72546649f9e30
13935 .xword 0x7f57b330b3d326b3
13936 .xword 0xcc43e40b7d709440
13937 .xword 0xf765a12e27b57e0d
13938 .xword 0x01539fe974f97f87
13939 .xword 0xb7d135f975c0e4f4
13940 .xword 0xd0b40645b1b208bc
13941 .xword 0x912d2517b1f24e29
13942 .xword 0x3c44d956eafaf0e9
13943 .xword 0x658f509f0e38ebbd
13944 .xword 0x4c4f76e83defbaa9
13945 .xword 0xc5b9b73a01a0d6bf
13946 .xword 0xd82e846230cd0d84
13947 .xword 0x04b401a260aea0a3
13948 .xword 0xb5b34981a4ae4315
13949 .xword 0x623d3e2eae42f5e3
13950 .xword 0xc2bcd2733f245c11
13951 .xword 0xd4bcea7e95f0714c
13952 .xword 0xbc0fe6b753fa9973
13953 .xword 0xe92f10125f008c35
13954 .xword 0xf416a0b803d9773a
13955 .xword 0xbc85e11b7cafc19b
13956 .xword 0x091da34842513e46
13957 .xword 0x2bad221a1575ab9e
13958 .xword 0xb1c0953276c409a0
13959 .xword 0xc6c787046690a49e
13960 .xword 0xcf0a839410934c1e
13961 .xword 0xe2788e26f5527fe4
13962 .xword 0x8a772fce0a82d285
13963 .xword 0xd8d5fb431c4bd015
13964 .xword 0x841e70db01b0434f
13965 .xword 0x4b684a96f0165333
13966 .xword 0xd058474624a77ad6
13967 .xword 0x0b5f0e447cca8295
13968 .xword 0x82c56a06d79fd44b
13969 .xword 0x60b6fce148c3f138
13970 .xword 0xf345c04351f5cdda
13971 .xword 0x5d083987f1d947b5
13972 .xword 0x774a888ef570ddce
13973 .xword 0x6622b53ab6493f94
13974 .xword 0x526eebddded7d9ff
13975 .xword 0x6a2d751d345d32a1
13976 .xword 0x38948b44823a2b58
13977 .xword 0xe3919f8479bc05f1
13978 .xword 0x6d9caaf2d1825d48
13979 .xword 0x2b9a76f2d7886fac
13980 .xword 0xd91730de7c0c1f84
13981 .xword 0xc2429c595bcc50a6
13982 .xword 0xac0c08c49c059998
13983 .xword 0x5e7fdc8ee9e568c8
13984 .xword 0xdc276068da1718ba
13985 .xword 0xe59e638a13552124
13986 .xword 0x59566d38b15be07f
13987 .xword 0x9621045e58a98f66
13988 .xword 0x408e1929ccfd73a8
13989 .xword 0xe8b9cca428d6129a
13990 .xword 0x946adcc743cbb400
13991 .xword 0xcb22972200db654c
13992 .xword 0xac6492633a3bbdb8
13993 .xword 0xc78abcc82b1cdaa0
13994 .xword 0x4c0e0a49c68b5d0c
13995 .xword 0xcaec4401fae00fa3
13996 .xword 0x0e384a83d4564aba
13997 .xword 0xd3d7f4f789a7bf86
13998 .xword 0xb83bd24c06d7ca66
13999 .xword 0xc3a4e2a7c7608027
14000 .xword 0x36e39cc67cf543b0
14001 .xword 0x66e8a9fb4c8cf3a9
14002 .xword 0x2eb06297939eb28b
14003 .xword 0x06b084ce768cf1eb
14004 .xword 0xeec5ca92d8523d6d
14005 .xword 0x06b71f6a913e1ff0
14006 .xword 0xfd9d367616021efb
14007
14008SECTION .HTRAPS
14009.text
14010.global restore_range_regs
14011restore_range_regs:
14012 wr %g0, ASI_MMU_REAL_RANGE, %asi
14013 mov 1, %g1
14014 sllx %g1, 63, %g1
14015 ldxa [ASI_MMU_REAL_RANGE_0] %asi, %g2
14016 or %g2 ,%g1, %g2
14017 stxa %g2, [ASI_MMU_REAL_RANGE_0] %asi
14018 ldxa [ASI_MMU_REAL_RANGE_1] %asi, %g2
14019 or %g2 ,%g1, %g2
14020 stxa %g2, [ASI_MMU_REAL_RANGE_1] %asi
14021 ldxa [ASI_MMU_REAL_RANGE_2] %asi, %g2
14022 or %g2 ,%g1, %g2
14023 stxa %g2, [ASI_MMU_REAL_RANGE_2] %asi
14024 ldxa [ASI_MMU_REAL_RANGE_3] %asi, %g2
14025 or %g2 ,%g1, %g2
14026 stxa %g2, [ASI_MMU_REAL_RANGE_3] %asi
14027 retry
14028
14029.global wdog_2_ext
14030# 9 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_trap_extensions.s"
14031.global wdog_2_ext
14032.global retry_with_base_tba
14033.global resolve_bad_tte
14034
14035SECTION .HTRAPS
14036.text
14037resolve_bad_tte:
14038 !if pc[13:5]==0, then assume not a relocated handler
14039 rdpr %tpc, %r4
14040 andn %r4, 0xf, %r4
14041 sllx %r4, 49, %r5
14042 brnz,a %r5, retry_with_base_tba
14043 !assume %r27 is where we came from ..
14044 fdivd %f0, %f4, %f12
14045 jmpl %r27+8, %r0
14046 fdivs %f0, %f4, %f12
14047retry_with_base_tba:
14048 best_set_reg(TRAP_BASE_VA, %r3, %r5)
14049 cmp %r4, %r5
14050 bz htrap_5_ext_done
14051 set 0x7fff, %r3
14052 and %r4, %r3, %r4
14053 or %r5, %r4, %r4
14054 wrpr %r4, %tpc
14055 rdpr %tnpc, %r4
14056 and %r4, %r3, %r4
14057 or %r5, %r4, %r4
14058 wrpr %r4, %tnpc
14059 retry
14060
14061htrap_5_ext:
14062 rd %pc, %l2
14063 inc %l3
14064 add %l2, htrap_5_ext_done-htrap_5_ext, %l2
14065 rdpr %tl, %l3
14066 rdpr %tstate, %l4
14067 rdhpr %htstate, %l5
14068 or %l5, 0x4, %l5
14069 inc %l3
14070 wrpr %l3, %tl
14071 wrpr %l2, %tpc
14072 add %l2, 4, %l2
14073 wrpr %l2, %tnpc
14074 wrpr %l4, %tstate
14075 wrhpr %l5, %htstate
14076 retry
14077htrap_5_ext_done:
14078 done
14079
14080wdog_2_ext:
14081 mov 0x1f, %l1
14082 stxa %l1, [%g0] ASI_LSU_CTL_REG
14083 ! If TT != 2, then goto trap handler
14084 rdpr %tt, %l1
14085 cmp %l1, 0x2
14086 bne wdog_2_goto_handler
14087 nop
14088 ! else done
14089 done
14090wdog_2_goto_handler:
14091 rdhpr %htstate, %l3
14092 and %l3, 0x4, %l3 ! If previously in hpriv mode, go to hpriv
14093 brnz,a %l3, wdog_2_goto_handler_1
14094 rdhpr %htba, %l3
14095 srlx %l1, 7, %l3 ! Send priv sw traps to priv mode ..
14096 cmp %l3, 0x2 ! 0x2 = priv sw trap, 0x3=hpriv sw trap ..
14097 be,a wdog_2_goto_handler_1
14098 rdpr %tba, %l3
14099 rdhpr %htba, %l3
14100wdog_2_goto_handler_1:
14101 sllx %l1, 5, %l1
14102 add %l1, %l3, %l3
14103 jmp %l3
14104 nop
14105# 85 "/import/n2-aus-localdir1/somePerson/n2cdmspp2/verif/diag/assembly/include/tlu_custom_trap_extensions.s"
14106! Red mode other reset handler
14107! Get htba, and tt and make trap address
14108! Jump to trap handler ..
14109
14110SECTION .RED_SEC
14111.text
14112red_other_ext:
14113 ! IF TL=6, shift stack by one ..
14114 rdpr %tl, %l1
14115 cmp %l1, 6
14116 be start_tsa_shift
14117 nop
14118
14119continue_red_other:
14120 mov 0x1f, %l1
14121 stxa %l1, [%g0] ASI_LSU_CTL_REG
14122
14123 rdpr %tt, %l1
14124
14125 rdhpr %htstate, %l2
14126 and %l2, 0x4, %l2 ! If previously in hpriv mode, go to hpriv
14127 brnz,a %l2, red_goto_handler
14128 rdhpr %htba, %l2
14129 srlx %l1, 7, %l2 ! Send priv sw traps to priv mode ..
14130 cmp %l2, 0x2 ! 0x2 = priv sw trap, 0x3=hpriv sw trap ..
14131 be,a red_goto_handler
14132 rdpr %tba, %l2
14133 rdhpr %htba, %l2
14134red_goto_handler:
14135
14136 sllx %l1, 5, %l1
14137 add %l1, %l2, %l2
14138 rdhpr %hpstate, %l1
14139 jmp %l2
14140 wrhpr %l1, 0x20, %hpstate
14141 nop
14142
14143wdog_red_ext:
14144 ! Shift stack down by 1 ...
14145 rdpr %tl, %l1
14146 cmp %l1, 6
14147 bl wdog_end
14148start_tsa_shift:
14149 mov 0x2, %l2
14150
14151tsa_shift:
14152 wrpr %l2, %tl
14153 rdpr %tt, %l3
14154 rdpr %tpc, %l4
14155 rdpr %tnpc, %l5
14156 rdpr %tstate, %l6
14157 rdhpr %htstate, %l7
14158 dec %l2
14159 wrpr %l2, %tl
14160 wrpr %l3, %tt
14161 wrpr %l4, %tpc
14162 wrpr %l5, %tnpc
14163 wrpr %l6, %tstate
14164 wrhpr %l7, %htstate
14165 add %l2, 2, %l2
14166 cmp %l2, %l1
14167 ble tsa_shift
14168 nop
14169tsa_shift_done:
14170 dec %l1
14171 wrpr %l1, %tl
14172
14173wdog_end:
14174 ! If TT != 2, then goto trap handler
14175 rdpr %tt, %l1
14176
14177 cmp %l1, 0x2
14178 bne continue_red_other
14179 nop
14180 ! else done
14181 mov 0x1f, %l1
14182 stxa %l1, [%g0] ASI_LSU_CTL_REG
14183 done
14184# 857 "diag.j"
14185SECTION .CWQ_DATA DATA_VA =0x4000
14186attr_data {
14187 Name = .CWQ_DATA
14188 hypervisor
14189}
14190
14191.data
14192.align 16
14193.global msg
14194msg:
14195.xword 0xad32fa52374cc6ba
14196.xword 0x4cbf52280549003a
14197
14198.align 16
14199.global results
14200results:
14201.xword 0xDEADBEEFDEADBEEF
14202.xword 0xDEADBEEFDEADBEEF
14203!# CWQ data area
14204.align 64
14205.global CWQ_BASE
14206CWQ_BASE:
14207.xword 0xAAAAAAAAAAAAAAA
14208.xword 0xAAAAAAAAAAAAAAA
14209.xword 0xAAAAAAAAAAAAAAA
14210.xword 0xAAAAAAAAAAAAAAA
14211.xword 0xAAAAAAAAAAAAAAA
14212.xword 0xAAAAAAAAAAAAAAA
14213.xword 0xAAAAAAAAAAAAAAA
14214.xword 0xAAAAAAAAAAAAAAA
14215.xword 0xAAAAAAAAAAAAAAA
14216.xword 0xAAAAAAAAAAAAAAA
14217.xword 0xAAAAAAAAAAAAAAA
14218.xword 0xAAAAAAAAAAAAAAA
14219.xword 0xAAAAAAAAAAAAAAA
14220.xword 0xAAAAAAAAAAAAAAA
14221.xword 0xAAAAAAAAAAAAAAA
14222.xword 0xAAAAAAAAAAAAAAA
14223.xword 0xAAAAAAAAAAAAAAA
14224.xword 0xAAAAAAAAAAAAAAA
14225.xword 0xAAAAAAAAAAAAAAA
14226.xword 0xAAAAAAAAAAAAAAA
14227.xword 0xAAAAAAAAAAAAAAA
14228.xword 0xAAAAAAAAAAAAAAA
14229.xword 0xAAAAAAAAAAAAAAA
14230.xword 0xAAAAAAAAAAAAAAA
14231.global CWQ_LAST
14232.align 64
14233CWQ_LAST:
14234.word 0x0
14235
14236
14237
14238SECTION .MyHTRAPS_0 TEXT_VA = 0x0000000000280000, DATA_VA = 0x00000000002c0000
14239attr_text {
14240 Name = .MyHTRAPS_0,
14241 RA = 0x0000000000280000,
14242 PA = ra2pa(0x0000000000280000,0),
14243 part_0_ctx_zero_tsb_config_3,
14244 part_0_ctx_nonzero_tsb_config_3,
14245 TTE_G = 1,
14246 TTE_Context = 0,
14247 TTE_V = 1,
14248 TTE_Size = PART0_Z_PAGE_SIZE_3,
14249 TTE_NFO = 0,
14250 TTE_IE = 0,
14251 TTE_Soft2 = 0,
14252 TTE_Diag = 0,
14253 TTE_Soft = 0,
14254 TTE_L = 0,
14255 TTE_CP = 1,
14256 TTE_CV = 1,
14257 TTE_E = 1,
14258 TTE_P = 1,
14259 TTE_W = 0,
14260 TTE_X = 0
14261}
14262
14263
14264attr_data {
14265 Name = .MyHTRAPS_0,
14266 RA = 0x00000000002c0000,
14267 PA = ra2pa(0x00000000002c0000,0),
14268 part_0_ctx_zero_tsb_config_3,
14269 part_0_ctx_nonzero_tsb_config_3,
14270 TTE_G = 1,
14271 TTE_Context = 0,
14272 TTE_V = 1,
14273 TTE_Size = PART0_Z_PAGE_SIZE_3,
14274 TTE_NFO = 0,
14275 TTE_IE = 0,
14276 TTE_Soft2 = 0,
14277 TTE_Diag = 0,
14278 TTE_Soft = 0,
14279 TTE_L = 0,
14280 TTE_CP = 1,
14281 TTE_CV = 0,
14282 TTE_E = 0,
14283 TTE_P = 1,
14284 TTE_W = 0
14285}
14286
14287.text
14288#include "htraps.s"
14289#include "tlu_htraps_ext.s"
14290
14291
14292
14293SECTION .MyHTRAPS_1 TEXT_VA = 0x00000000002a0000, DATA_VA = 0x00000000002e0000
14294attr_text {
14295 Name = .MyHTRAPS_1,
14296 RA = 0x00000000002a0000,
14297 PA = ra2pa(0x00000000002a0000,0),
14298 part_0_ctx_zero_tsb_config_3,
14299 part_0_ctx_nonzero_tsb_config_3,
14300 TTE_G = 1,
14301 TTE_Context = 0,
14302 TTE_V = 1,
14303 TTE_Size = PART0_Z_PAGE_SIZE_3,
14304 TTE_NFO = 0,
14305 TTE_IE = 0,
14306 TTE_Soft2 = 0,
14307 TTE_Diag = 0,
14308 TTE_Soft = 0,
14309 TTE_L = 0,
14310 TTE_CP = 0,
14311 TTE_CV = 0,
14312 TTE_E = 1,
14313 TTE_P = 1,
14314 TTE_W = 0,
14315 TTE_X = 0
14316}
14317
14318
14319attr_data {
14320 Name = .MyHTRAPS_1,
14321 RA = 0x00000000002e0000,
14322 PA = ra2pa(0x00000000002e0000,0),
14323 part_0_ctx_zero_tsb_config_3,
14324 part_0_ctx_nonzero_tsb_config_3,
14325 TTE_G = 1,
14326 TTE_Context = 0,
14327 TTE_V = 1,
14328 TTE_Size = PART0_Z_PAGE_SIZE_3,
14329 TTE_NFO = 0,
14330 TTE_IE = 0,
14331 TTE_Soft2 = 0,
14332 TTE_Diag = 0,
14333 TTE_Soft = 0,
14334 TTE_L = 0,
14335 TTE_CP = 1,
14336 TTE_CV = 1,
14337 TTE_E = 0,
14338 TTE_P = 1,
14339 TTE_W = 0
14340}
14341
14342.text
14343#include "htraps.s"
14344#include "tlu_htraps_ext.s"
14345
14346
14347
14348SECTION .MyHTRAPS_2 TEXT_VA = 0x0000000200280000, DATA_VA = 0x00000002002c0000
14349attr_text {
14350 Name = .MyHTRAPS_2,
14351 RA = 0x0000000200280000,
14352 PA = ra2pa(0x0000000200280000,0),
14353 part_0_ctx_zero_tsb_config_3,
14354 part_0_ctx_nonzero_tsb_config_3,
14355 TTE_G = 1,
14356 TTE_Context = 0,
14357 TTE_V = 1,
14358 TTE_Size = PART0_Z_PAGE_SIZE_3,
14359 TTE_NFO = 0,
14360 TTE_IE = 0,
14361 TTE_Soft2 = 0,
14362 TTE_Diag = 0,
14363 TTE_Soft = 0,
14364 TTE_L = 0,
14365 TTE_CP = 0,
14366 TTE_CV = 0,
14367 TTE_E = 1,
14368 TTE_P = 1,
14369 TTE_W = 0,
14370 TTE_X = 0
14371}
14372
14373
14374attr_data {
14375 Name = .MyHTRAPS_2,
14376 RA = 0x00000002002c0000,
14377 PA = ra2pa(0x00000002002c0000,0),
14378 part_0_ctx_zero_tsb_config_3,
14379 part_0_ctx_nonzero_tsb_config_3,
14380 TTE_G = 1,
14381 TTE_Context = 0,
14382 TTE_V = 1,
14383 TTE_Size = PART0_Z_PAGE_SIZE_3,
14384 TTE_NFO = 0,
14385 TTE_IE = 0,
14386 TTE_Soft2 = 0,
14387 TTE_Diag = 0,
14388 TTE_Soft = 0,
14389 TTE_L = 0,
14390 TTE_CP = 0,
14391 TTE_CV = 1,
14392 TTE_E = 0,
14393 TTE_P = 1,
14394 TTE_W = 0
14395}
14396
14397.text
14398#include "htraps.s"
14399#include "tlu_htraps_ext.s"
14400
14401
14402
14403SECTION .MyHTRAPS_3 TEXT_VA = 0x00000002002a0000, DATA_VA = 0x00000002002e0000
14404attr_text {
14405 Name = .MyHTRAPS_3,
14406 RA = 0x00000002002a0000,
14407 PA = ra2pa(0x00000002002a0000,0),
14408 part_0_ctx_zero_tsb_config_3,
14409 part_0_ctx_nonzero_tsb_config_3,
14410 TTE_G = 1,
14411 TTE_Context = 0,
14412 TTE_V = 1,
14413 TTE_Size = PART0_Z_PAGE_SIZE_3,
14414 TTE_NFO = 0,
14415 TTE_IE = 0,
14416 TTE_Soft2 = 0,
14417 TTE_Diag = 0,
14418 TTE_Soft = 0,
14419 TTE_L = 0,
14420 TTE_CP = 1,
14421 TTE_CV = 1,
14422 TTE_E = 1,
14423 TTE_P = 1,
14424 TTE_W = 0,
14425 TTE_X = 0
14426}
14427
14428
14429attr_data {
14430 Name = .MyHTRAPS_3,
14431 RA = 0x00000002002e0000,
14432 PA = ra2pa(0x00000002002e0000,0),
14433 part_0_ctx_zero_tsb_config_3,
14434 part_0_ctx_nonzero_tsb_config_3,
14435 TTE_G = 1,
14436 TTE_Context = 0,
14437 TTE_V = 1,
14438 TTE_Size = PART0_Z_PAGE_SIZE_3,
14439 TTE_NFO = 0,
14440 TTE_IE = 0,
14441 TTE_Soft2 = 0,
14442 TTE_Diag = 0,
14443 TTE_Soft = 0,
14444 TTE_L = 0,
14445 TTE_CP = 0,
14446 TTE_CV = 1,
14447 TTE_E = 0,
14448 TTE_P = 1,
14449 TTE_W = 0
14450}
14451
14452.text
14453#include "htraps.s"
14454#include "tlu_htraps_ext.s"
14455
14456
14457
14458
14459
14460SECTION .MyTRAPS_0 TEXT_VA = 0x0000000000380000, DATA_VA = 0x00000000003c0000
14461attr_text {
14462 Name = .MyTRAPS_0,
14463 RA = 0x0000000000380000,
14464 PA = ra2pa(0x0000000000380000,0),
14465 part_0_ctx_zero_tsb_config_3,
14466 part_0_ctx_nonzero_tsb_config_3,
14467 TTE_G = 1,
14468 TTE_Context = 0,
14469 TTE_V = 1,
14470 TTE_Size = PART0_Z_PAGE_SIZE_3,
14471 TTE_NFO = 0,
14472 TTE_IE = 1,
14473 TTE_Soft2 = 0,
14474 TTE_Diag = 0,
14475 TTE_Soft = 0,
14476 TTE_L = 0,
14477 TTE_CP = 1,
14478 TTE_CV = 0,
14479 TTE_E = 1,
14480 TTE_P = 0,
14481 TTE_W = 1,
14482 TTE_X = 0
14483}
14484
14485
14486attr_data {
14487 Name = .MyTRAPS_0,
14488 RA = 0x00000000003c0000,
14489 PA = ra2pa(0x00000000003c0000,0),
14490 part_0_ctx_zero_tsb_config_3,
14491 part_0_ctx_nonzero_tsb_config_3,
14492 TTE_G = 1,
14493 TTE_Context = 0,
14494 TTE_V = 1,
14495 TTE_Size = PART0_Z_PAGE_SIZE_3,
14496 TTE_NFO = 1,
14497 TTE_IE = 1,
14498 TTE_Soft2 = 0,
14499 TTE_Diag = 0,
14500 TTE_Soft = 0,
14501 TTE_L = 0,
14502 TTE_CP = 0,
14503 TTE_CV = 0,
14504 TTE_E = 0,
14505 TTE_P = 1,
14506 TTE_W = 0
14507}
14508
14509#include "traps.s"
14510
14511
14512
14513SECTION .MyTRAPS_1 TEXT_VA = 0x00000000003a0000, DATA_VA = 0x00000000003e0000
14514attr_text {
14515 Name = .MyTRAPS_1,
14516 RA = 0x00000000003a0000,
14517 PA = ra2pa(0x00000000003a0000,0),
14518 part_0_ctx_zero_tsb_config_3,
14519 part_0_ctx_nonzero_tsb_config_3,
14520 TTE_G = 1,
14521 TTE_Context = 0,
14522 TTE_V = 1,
14523 TTE_Size = PART0_Z_PAGE_SIZE_3,
14524 TTE_NFO = 1,
14525 TTE_IE = 0,
14526 TTE_Soft2 = 0,
14527 TTE_Diag = 0,
14528 TTE_Soft = 0,
14529 TTE_L = 0,
14530 TTE_CP = 1,
14531 TTE_CV = 1,
14532 TTE_E = 0,
14533 TTE_P = 1,
14534 TTE_W = 1,
14535 TTE_X = 1
14536}
14537
14538
14539attr_data {
14540 Name = .MyTRAPS_1,
14541 RA = 0x00000000003e0000,
14542 PA = ra2pa(0x00000000003e0000,0),
14543 part_0_ctx_zero_tsb_config_3,
14544 part_0_ctx_nonzero_tsb_config_3,
14545 TTE_G = 1,
14546 TTE_Context = 0,
14547 TTE_V = 1,
14548 TTE_Size = PART0_Z_PAGE_SIZE_3,
14549 TTE_NFO = 1,
14550 TTE_IE = 0,
14551 TTE_Soft2 = 0,
14552 TTE_Diag = 0,
14553 TTE_Soft = 0,
14554 TTE_L = 0,
14555 TTE_CP = 1,
14556 TTE_CV = 0,
14557 TTE_E = 0,
14558 TTE_P = 1,
14559 TTE_W = 0
14560}
14561
14562#include "traps.s"
14563
14564
14565
14566SECTION .MyTRAPS_2 TEXT_VA = 0x0000000400380000, DATA_VA = 0x00000004003c0000
14567attr_text {
14568 Name = .MyTRAPS_2,
14569 RA = 0x0000000400380000,
14570 PA = ra2pa(0x0000000400380000,0),
14571 part_0_ctx_zero_tsb_config_3,
14572 part_0_ctx_nonzero_tsb_config_3,
14573 TTE_G = 1,
14574 TTE_Context = 0,
14575 TTE_V = 1,
14576 TTE_Size = PART0_Z_PAGE_SIZE_3,
14577 TTE_NFO = 0,
14578 TTE_IE = 0,
14579 TTE_Soft2 = 0,
14580 TTE_Diag = 0,
14581 TTE_Soft = 0,
14582 TTE_L = 0,
14583 TTE_CP = 0,
14584 TTE_CV = 1,
14585 TTE_E = 0,
14586 TTE_P = 0,
14587 TTE_W = 1,
14588 TTE_X = 0
14589}
14590
14591
14592attr_data {
14593 Name = .MyTRAPS_2,
14594 RA = 0x00000004003c0000,
14595 PA = ra2pa(0x00000004003c0000,0),
14596 part_0_ctx_zero_tsb_config_3,
14597 part_0_ctx_nonzero_tsb_config_3,
14598 TTE_G = 1,
14599 TTE_Context = 0,
14600 TTE_V = 1,
14601 TTE_Size = PART0_Z_PAGE_SIZE_3,
14602 TTE_NFO = 0,
14603 TTE_IE = 1,
14604 TTE_Soft2 = 0,
14605 TTE_Diag = 0,
14606 TTE_Soft = 0,
14607 TTE_L = 0,
14608 TTE_CP = 0,
14609 TTE_CV = 0,
14610 TTE_E = 0,
14611 TTE_P = 1,
14612 TTE_W = 1
14613}
14614
14615#include "traps.s"
14616
14617
14618
14619SECTION .MyTRAPS_3 TEXT_VA = 0x00000004003a0000, DATA_VA = 0x00000004003e0000
14620attr_text {
14621 Name = .MyTRAPS_3,
14622 RA = 0x00000004003a0000,
14623 PA = ra2pa(0x00000004003a0000,0),
14624 part_0_ctx_zero_tsb_config_3,
14625 part_0_ctx_nonzero_tsb_config_3,
14626 TTE_G = 1,
14627 TTE_Context = 0,
14628 TTE_V = 1,
14629 TTE_Size = PART0_Z_PAGE_SIZE_3,
14630 TTE_NFO = 1,
14631 TTE_IE = 1,
14632 TTE_Soft2 = 0,
14633 TTE_Diag = 0,
14634 TTE_Soft = 0,
14635 TTE_L = 0,
14636 TTE_CP = 1,
14637 TTE_CV = 0,
14638 TTE_E = 1,
14639 TTE_P = 0,
14640 TTE_W = 0,
14641 TTE_X = 1
14642}
14643
14644
14645attr_data {
14646 Name = .MyTRAPS_3,
14647 RA = 0x00000004003e0000,
14648 PA = ra2pa(0x00000004003e0000,0),
14649 part_0_ctx_zero_tsb_config_3,
14650 part_0_ctx_nonzero_tsb_config_3,
14651 TTE_G = 1,
14652 TTE_Context = 0,
14653 TTE_V = 1,
14654 TTE_Size = PART0_Z_PAGE_SIZE_3,
14655 TTE_NFO = 1,
14656 TTE_IE = 0,
14657 TTE_Soft2 = 0,
14658 TTE_Diag = 0,
14659 TTE_Soft = 0,
14660 TTE_L = 0,
14661 TTE_CP = 0,
14662 TTE_CV = 1,
14663 TTE_E = 0,
14664 TTE_P = 1,
14665 TTE_W = 1
14666}
14667
14668#include "traps.s"
14669
14670
14671
14672
14673
14674SECTION .MyDATA_0 TEXT_VA = 0x00000000e0140000, DATA_VA = 0x0000000060140000
14675attr_data {
14676 Name = .MyDATA_0,
14677 RA = 0x0000000170100000,
14678 PA = ra2pa(0x0000000170100000,0),
14679 part_0_ctx_zero_tsb_config_0,
14680 part_0_ctx_nonzero_tsb_config_0,
14681 TTE_G = 1,
14682 TTE_Context = PCONTEXT,
14683 TTE_V = 1,
14684 TTE_Size = 5,
14685 TTE_NFO = 0,
14686 TTE_IE = 0,
14687 TTE_Soft2 = 0,
14688 TTE_Diag = 0,
14689 TTE_Soft = 0,
14690 TTE_L = 0,
14691 TTE_CP = 0,
14692 TTE_CV = 0,
14693 TTE_E = 0,
14694 TTE_P = 0,
14695 TTE_W = 1
14696}
14697
14698
14699attr_data {
14700 Name = .MyDATA_0,
14701 RA = 0x0000000170100000,
14702 PA = ra2pa(0x0000000170100000,0),
14703 part_0_ctx_zero_tsb_config_1,
14704 part_0_ctx_nonzero_tsb_config_1,
14705 TTE_G = 1,
14706 TTE_Context = SCONTEXT,
14707 TTE_V = 1,
14708 TTE_Size = 5,
14709 TTE_NFO = 0,
14710 TTE_IE = 0,
14711 TTE_Soft2 = 0,
14712 TTE_Diag = 0,
14713 TTE_Soft = 0,
14714 TTE_L = 0,
14715 TTE_CP = 1,
14716 TTE_CV = 1,
14717 TTE_E = 0,
14718 TTE_P = 0,
14719 TTE_W = 0,
14720 tsbonly
14721}
14722
14723
14724attr_data {
14725 Name = .MyDATA_0,
14726 hypervisor
14727}
14728
14729
14730attr_text {
14731 Name = .MyDATA_0,
14732 hypervisor
14733}
14734
14735.data
14736 .xword 0x2d2039a7611c7ffe
14737 .xword 0xacfdd5a44d01bace
14738 .xword 0xea04b2b1ad4b90e4
14739 .xword 0x08c0418ad90c0029
14740 .xword 0xff2f63631215c349
14741 .xword 0xd664fca771507ad8
14742 .xword 0x86a2cd528753556c
14743 .xword 0x7cfbca2e1315f9ac
14744 .xword 0xb4fbb4d962979411
14745 .xword 0xc335f0a33e19af7d
14746 .xword 0x41f8d2e9cdbe1ede
14747 .xword 0xfcb73781cbc6b831
14748 .xword 0xf806a9469042c2d8
14749 .xword 0x663f5a54d336ff99
14750 .xword 0xe53c203b869ba111
14751 .xword 0xcba1287fc7efe3ef
14752 .xword 0x991e3133ac70fb54
14753 .xword 0xbe010681871bddaa
14754 .xword 0xd871f7fe21f6fb0b
14755 .xword 0x9c8de64378004fa0
14756 .xword 0x6a38a4e07445edeb
14757 .xword 0x40c9af003a8f4d73
14758 .xword 0x9faf0c6c0dac668d
14759 .xword 0x9118a68459329665
14760 .xword 0x412bfb7cb72e3e57
14761 .xword 0x16a6ccbd5af1f474
14762 .xword 0x13a38ace4b148c0e
14763 .xword 0x96c7810e16a10b48
14764 .xword 0x6a55c33ad3de3215
14765 .xword 0xb84f5f20a3636082
14766 .xword 0xb2d26ddd396888da
14767 .xword 0xe0d304500c440134
14768
14769
14770
14771SECTION .MyDATA_1 TEXT_VA = 0x00000000e0340000, DATA_VA = 0x0000000060340000
14772attr_data {
14773 Name = .MyDATA_1,
14774 RA = 0x0000000170300000,
14775 PA = ra2pa(0x0000000170300000,0),
14776 part_0_ctx_zero_tsb_config_0,
14777 part_0_ctx_nonzero_tsb_config_0,
14778 TTE_G = 1,
14779 TTE_Context = PCONTEXT,
14780 TTE_V = 1,
14781 TTE_Size = 3,
14782 TTE_NFO = 0,
14783 TTE_IE = 1,
14784 TTE_Soft2 = 0,
14785 TTE_Diag = 0,
14786 TTE_Soft = 0,
14787 TTE_L = 0,
14788 TTE_CP = 1,
14789 TTE_CV = 1,
14790 TTE_E = 0,
14791 TTE_P = 1,
14792 TTE_W = 0
14793}
14794
14795
14796attr_data {
14797 Name = .MyDATA_1,
14798 RA = 0x0000000170300000,
14799 PA = ra2pa(0x0000000170300000,0),
14800 part_0_ctx_zero_tsb_config_1,
14801 part_0_ctx_nonzero_tsb_config_1,
14802 TTE_G = 1,
14803 TTE_Context = SCONTEXT,
14804 TTE_V = 1,
14805 TTE_Size = 1,
14806 TTE_NFO = 1,
14807 TTE_IE = 0,
14808 TTE_Soft2 = 0,
14809 TTE_Diag = 0,
14810 TTE_Soft = 0,
14811 TTE_L = 0,
14812 TTE_CP = 1,
14813 TTE_CV = 1,
14814 TTE_E = 1,
14815 TTE_P = 0,
14816 TTE_W = 1,
14817 tsbonly
14818}
14819
14820
14821attr_data {
14822 Name = .MyDATA_1,
14823 hypervisor
14824}
14825
14826
14827attr_text {
14828 Name = .MyDATA_1,
14829 hypervisor
14830}
14831
14832.data
14833 .xword 0x21805b916143fbf3
14834 .xword 0xde086f61df8d58b8
14835 .xword 0x9981a2ab0ead84e3
14836 .xword 0x0c2f1226c022c2ad
14837 .xword 0x982828c1663a0f01
14838 .xword 0xa51ff8c0a9628e40
14839 .xword 0x042308a28336481f
14840 .xword 0x7bd14fc9eeca358d
14841 .xword 0x5dd2093f82cdfbc1
14842 .xword 0x38ffc204412be612
14843 .xword 0x4e3fcae8769e4f67
14844 .xword 0x66cc8e7893278ed3
14845 .xword 0x4ab96365b7493466
14846 .xword 0xac2d102956abb417
14847 .xword 0x845903bd7fc27a40
14848 .xword 0x8a57ebc42e46719b
14849 .xword 0xc978236054a09fa7
14850 .xword 0xfd7d0e8afe15f874
14851 .xword 0xdd320a44762d2164
14852 .xword 0xb60938aec58b8e61
14853 .xword 0xcbf93cec1b201448
14854 .xword 0x91fe80bf3eff9ec1
14855 .xword 0xfb6a5237fb2e0c67
14856 .xword 0xd7f9811081384301
14857 .xword 0xf44bf625ed65ef17
14858 .xword 0x0dc43e4f5759737d
14859 .xword 0xd8d995b7809dcd11
14860 .xword 0x5913a0a3ef732856
14861 .xword 0x3d92eb82dfc3427b
14862 .xword 0xeaeebb38b96bb2ca
14863 .xword 0x8ef69917eaa507c0
14864 .xword 0xf312b6e4c97ab870
14865
14866
14867
14868SECTION .MyDATA_2 TEXT_VA = 0x00000000e0540000, DATA_VA = 0x0000000060540000
14869attr_data {
14870 Name = .MyDATA_2,
14871 RA = 0x0000000170500000,
14872 PA = ra2pa(0x0000000170500000,0),
14873 part_0_ctx_zero_tsb_config_0,
14874 part_0_ctx_nonzero_tsb_config_0,
14875 TTE_G = 1,
14876 TTE_Context = PCONTEXT,
14877 TTE_V = 1,
14878 TTE_Size = 0,
14879 TTE_NFO = 1,
14880 TTE_IE = 1,
14881 TTE_Soft2 = 0,
14882 TTE_Diag = 0,
14883 TTE_Soft = 0,
14884 TTE_L = 0,
14885 TTE_CP = 1,
14886 TTE_CV = 1,
14887 TTE_E = 1,
14888 TTE_P = 1,
14889 TTE_W = 0
14890}
14891
14892
14893attr_data {
14894 Name = .MyDATA_2,
14895 RA = 0x0000000170500000,
14896 PA = ra2pa(0x0000000170500000,0),
14897 part_0_ctx_zero_tsb_config_1,
14898 part_0_ctx_nonzero_tsb_config_1,
14899 TTE_G = 1,
14900 TTE_Context = SCONTEXT,
14901 TTE_V = 1,
14902 TTE_Size = 5,
14903 TTE_NFO = 1,
14904 TTE_IE = 0,
14905 TTE_Soft2 = 0,
14906 TTE_Diag = 0,
14907 TTE_Soft = 0,
14908 TTE_L = 0,
14909 TTE_CP = 0,
14910 TTE_CV = 1,
14911 TTE_E = 0,
14912 TTE_P = 0,
14913 TTE_W = 0,
14914 tsbonly
14915}
14916
14917
14918attr_data {
14919 Name = .MyDATA_2,
14920 hypervisor
14921}
14922
14923
14924attr_text {
14925 Name = .MyDATA_2,
14926 hypervisor
14927}
14928
14929.data
14930 .xword 0x13e40efb2db09995
14931 .xword 0xe9f96b0186a62e69
14932 .xword 0xbb6299b9cc00ba0e
14933 .xword 0x4ede207dace3118d
14934 .xword 0x53bdedbf81b209cc
14935 .xword 0xe463d442f5d5a57b
14936 .xword 0xfaddd8741ddb796f
14937 .xword 0xaafd15c72580230c
14938 .xword 0xbd85873158959742
14939 .xword 0xedb9b75f92f95ffa
14940 .xword 0x5702c123dae74547
14941 .xword 0xe2da34b15dd01ed9
14942 .xword 0x2ab46a60df2e7d49
14943 .xword 0xc371f8d8188c8acb
14944 .xword 0x9a127f79f1360396
14945 .xword 0x1aa1ab049879dac9
14946 .xword 0x8ea268bb78f60c59
14947 .xword 0x0b17f5486d340bbe
14948 .xword 0xf9b7a1bde7ffe716
14949 .xword 0xfa58a0e90e3acdcb
14950 .xword 0xf68761951506ecc9
14951 .xword 0x311a4dce4872fbaa
14952 .xword 0x1ca84008092a4f1d
14953 .xword 0xda8c2cd86f4980e3
14954 .xword 0x5d11d7574af54e1f
14955 .xword 0xb1d7b65b0d76854f
14956 .xword 0xee80f08d93eed7a5
14957 .xword 0xb80ccd13d10f80b7
14958 .xword 0x40a8e20d303c86c1
14959 .xword 0x9f6763d56dc856d1
14960 .xword 0x8428a7a27e0d2acd
14961 .xword 0x3b305ebfe9613ddc
14962
14963
14964
14965SECTION .MyDATA_3 TEXT_VA = 0x00000000e0740000, DATA_VA = 0x0000000060740000
14966attr_data {
14967 Name = .MyDATA_3,
14968 RA = 0x0000000170700000,
14969 PA = ra2pa(0x0000000170700000,0),
14970 part_0_ctx_zero_tsb_config_0,
14971 part_0_ctx_nonzero_tsb_config_0,
14972 TTE_G = 1,
14973 TTE_Context = PCONTEXT,
14974 TTE_V = 1,
14975 TTE_Size = 0,
14976 TTE_NFO = 0,
14977 TTE_IE = 0,
14978 TTE_Soft2 = 0,
14979 TTE_Diag = 0,
14980 TTE_Soft = 0,
14981 TTE_L = 0,
14982 TTE_CP = 0,
14983 TTE_CV = 0,
14984 TTE_E = 0,
14985 TTE_P = 0,
14986 TTE_W = 0
14987}
14988
14989
14990attr_data {
14991 Name = .MyDATA_3,
14992 RA = 0x0000000170700000,
14993 PA = ra2pa(0x0000000170700000,0),
14994 part_0_ctx_zero_tsb_config_1,
14995 part_0_ctx_nonzero_tsb_config_1,
14996 TTE_G = 1,
14997 TTE_Context = SCONTEXT,
14998 TTE_V = 1,
14999 TTE_Size = 1,
15000 TTE_NFO = 0,
15001 TTE_IE = 0,
15002 TTE_Soft2 = 0,
15003 TTE_Diag = 0,
15004 TTE_Soft = 0,
15005 TTE_L = 0,
15006 TTE_CP = 1,
15007 TTE_CV = 0,
15008 TTE_E = 0,
15009 TTE_P = 0,
15010 TTE_W = 0,
15011 tsbonly
15012}
15013
15014
15015attr_data {
15016 Name = .MyDATA_3,
15017 hypervisor
15018}
15019
15020
15021attr_text {
15022 Name = .MyDATA_3,
15023 hypervisor
15024}
15025
15026.data
15027 .xword 0x93cbf876aa70aa51
15028 .xword 0x103910f113126fbb
15029 .xword 0x9f1d9d87b0a1a5e5
15030 .xword 0x1ddac7c82d351a80
15031 .xword 0xa6f3e52948b0b27e
15032 .xword 0xd3186177a3d5bc9f
15033 .xword 0x21f92217ee7a1715
15034 .xword 0xf4457b60a9819069
15035 .xword 0xd214aab110d6838a
15036 .xword 0x7773aee64e277ce7
15037 .xword 0xfaa98652775fa39d
15038 .xword 0x1eafd3a330e48c09
15039 .xword 0x2ac1287421906507
15040 .xword 0x856c94924ddfb8f8
15041 .xword 0x7cb7b43923e6cea7
15042 .xword 0xabdccafb723e622a
15043 .xword 0x4e8c1cf3014bf6ab
15044 .xword 0xe04cd560e10702e7
15045 .xword 0xdbaa6fabd36b19d1
15046 .xword 0xd715641eb6399bc5
15047 .xword 0xe2c29e6b57f96d1a
15048 .xword 0x5b64e74cbe9c5b66
15049 .xword 0x62b453082d07e43c
15050 .xword 0xe19f012393e11624
15051 .xword 0xb11cebf47537c8a3
15052 .xword 0x7c9f8c9760f6c207
15053 .xword 0x2f388778a80dd38b
15054 .xword 0xe0e11c4ddae10b7b
15055 .xword 0x0ecfb6a07f13f066
15056 .xword 0xaea58e34ca9f5303
15057 .xword 0xd05641ceaafaa915
15058 .xword 0xf275b686f0897e48
15059
15060
15061
15062
15063
15064SECTION .MyTEXT_0 TEXT_VA = 0x00000000e0200000
15065attr_text {
15066 Name = .MyTEXT_0,
15067 RA = 0x00000000e0200000,
15068 PA = ra2pa(0x00000000e0200000,0),
15069 part_0_ctx_zero_tsb_config_1,
15070 part_0_ctx_nonzero_tsb_config_1,
15071 TTE_G = 1,
15072 TTE_Context = PCONTEXT,
15073 TTE_V = 1,
15074 TTE_Size = 3,
15075 TTE_NFO = 1,
15076 TTE_IE = 0,
15077 TTE_Soft2 = 0,
15078 TTE_Diag = 0,
15079 TTE_Soft = 0,
15080 TTE_L = 0,
15081 TTE_CP = 0,
15082 TTE_CV = 0,
15083 TTE_E = 1,
15084 TTE_P = 0,
15085 TTE_W = 1
15086}
15087
15088.text
15089nuff_said_0:
15090 fdivd %f0, %f4, %f4
15091 jmpl %r27+8, %r0
15092 fdivs %f0, %f4, %f4
15093
15094
15095
15096SECTION .MyTEXT_1 TEXT_VA = 0x00000000e0a00000
15097attr_text {
15098 Name = .MyTEXT_1,
15099 RA = 0x00000000e0a00000,
15100 PA = ra2pa(0x00000000e0a00000,0),
15101 part_0_ctx_zero_tsb_config_1,
15102 part_0_ctx_nonzero_tsb_config_1,
15103 TTE_G = 1,
15104 TTE_Context = PCONTEXT,
15105 TTE_V = 1,
15106 TTE_Size = 5,
15107 TTE_NFO = 0,
15108 TTE_IE = 1,
15109 TTE_Soft2 = 0,
15110 TTE_Diag = 0,
15111 TTE_Soft = 0,
15112 TTE_L = 0,
15113 TTE_CP = 0,
15114 TTE_CV = 1,
15115 TTE_E = 1,
15116 TTE_P = 0,
15117 TTE_W = 0
15118}
15119
15120.text
15121nuff_said_1:
15122 fdivs %f0, %f4, %f4
15123 jmpl %r27+8, %r0
15124 fdivd %f0, %f4, %f6
15125
15126
15127
15128SECTION .MyTEXT_2 TEXT_VA = 0x00000000e1200000
15129attr_text {
15130 Name = .MyTEXT_2,
15131 RA = 0x00000000e1200000,
15132 PA = ra2pa(0x00000000e1200000,0),
15133 part_0_ctx_zero_tsb_config_1,
15134 part_0_ctx_nonzero_tsb_config_1,
15135 TTE_G = 1,
15136 TTE_Context = PCONTEXT,
15137 TTE_V = 1,
15138 TTE_Size = 1,
15139 TTE_NFO = 0,
15140 TTE_IE = 1,
15141 TTE_Soft2 = 0,
15142 TTE_Diag = 0,
15143 TTE_Soft = 0,
15144 TTE_L = 0,
15145 TTE_CP = 0,
15146 TTE_CV = 0,
15147 TTE_E = 1,
15148 TTE_P = 1,
15149 TTE_W = 0
15150}
15151
15152.text
15153nuff_said_2:
15154 fdivd %f0, %f4, %f4
15155 jmpl %r27+8, %r0
15156 fdivs %f0, %f4, %f6
15157
15158
15159
15160SECTION .MyTEXT_3 TEXT_VA = 0x00000000e1a00000
15161attr_text {
15162 Name = .MyTEXT_3,
15163 RA = 0x00000000e1a00000,
15164 PA = ra2pa(0x00000000e1a00000,0),
15165 part_0_ctx_zero_tsb_config_1,
15166 part_0_ctx_nonzero_tsb_config_1,
15167 TTE_G = 1,
15168 TTE_Context = PCONTEXT,
15169 TTE_V = 1,
15170 TTE_Size = 5,
15171 TTE_NFO = 0,
15172 TTE_IE = 0,
15173 TTE_Soft2 = 0,
15174 TTE_Diag = 0,
15175 TTE_Soft = 0,
15176 TTE_L = 0,
15177 TTE_CP = 0,
15178 TTE_CV = 0,
15179 TTE_E = 1,
15180 TTE_P = 0,
15181 TTE_W = 1
15182}
15183
15184.text
15185nuff_said_3:
15186 fdivs %f0, %f4, %f6
15187 jmpl %r27+8, %r0
15188 fdivd %f0, %f4, %f6
15189
15190
15191
15192
15193
15194SECTION .VaHOLE_0 TEXT_VA = 0x00007fffffffe000
15195attr_text {
15196 Name = .VaHOLE_0,
15197 RA = 0x00000000ffffe000,
15198 PA = ra2pa(0x00000000ffffe000,0),
15199 part_0_ctx_zero_tsb_config_1,
15200 part_0_ctx_nonzero_tsb_config_1,
15201 TTE_G = 1,
15202 TTE_Context = PCONTEXT,
15203 TTE_V = 1,
15204 TTE_Size = 1,
15205 TTE_NFO = 0,
15206 TTE_IE = 1,
15207 TTE_Soft2 = 0,
15208 TTE_Diag = 0,
15209 TTE_Soft = 0,
15210 TTE_L = 0,
15211 TTE_CP = 1,
15212 TTE_CV = 1,
15213 TTE_E = 0,
15214 TTE_P = 0,
15215 TTE_W = 1,
15216 TTE_X = 1
15217}
15218
15219.text
15220.global vahole_target
15221 nop
15222.align 4096
15223 nop
15224.align 2048
15225 nop
15226.align 1024
15227 nop
15228.align 512
15229 nop
15230.align 256
15231 nop
15232.align 128
15233 nop
15234.align 64
15235 nop
15236.align 32
15237 nop
15238.align 16
15239 nop
15240vahole_target: ba vahole_target2
15241vahole_target1: nop
15242vahole_target2: nop
15243
15244
15245
15246
15247
15248SECTION .VaHOLEL_0 TEXT_VA = 0x00000000ffffe000
15249attr_text {
15250 Name = .VaHOLEL_0,
15251 RA = 0x00000000ffffe000,
15252 PA = ra2pa(0x00000000ffffe000,0),
15253 part_0_ctx_zero_tsb_config_0,
15254 part_0_ctx_nonzero_tsb_config_0,
15255 TTE_G = 1,
15256 TTE_Context = PCONTEXT,
15257 TTE_V = 1,
15258 TTE_Size = 1,
15259 TTE_NFO = 0,
15260 TTE_IE = 0,
15261 TTE_Soft2 = 0,
15262 TTE_Diag = 0,
15263 TTE_Soft = 0,
15264 TTE_L = 0,
15265 TTE_CP = 1,
15266 TTE_CV = 0,
15267 TTE_E = 0,
15268 TTE_P = 0,
15269 TTE_W = 1,
15270 TTE_X = 1,
15271 tsbonly
15272}
15273
15274.text
15275 nop
15276
15277
15278
15279SECTION .MASKEDHOLE TEXT_VA = 0x0000000100000000
15280attr_text {
15281 Name = .MASKEDHOLE,
15282 RA = 0x0000000000000000,
15283 PA = ra2pa(0x0000000000000000,0),
15284 part_0_ctx_zero_tsb_config_3,
15285 part_0_ctx_nonzero_tsb_config_3,
15286 TTE_G = 1, TTE_Context = 0x44, TTE_V = 1, TTE_Size = 1,
15287 TTE_NFO = 0, TTE_IE = 1, TTE_Soft2 = 0, TTE_Diag = 0,
15288 TTE_Soft = 0, TTE_L = 0, TTE_CP = 1, TTE_CV = 0,
15289 TTE_E = 0, TTE_P = 0, TTE_W = 1, TTE_X = 1
15290 tsbonly
15291}
15292
15293
15294.text
15295 nop
15296 nop
15297 jmpl %r27+8, %r0
15298 nop
15299 nop
15300 nop
15301 nop
15302 nop
15303
15304
15305SECTION .ZERO_0 TEXT_VA = 0x0000000000000000
15306attr_text {
15307 Name = .ZERO_0,
15308 RA = 0x0000000000000000,
15309 PA = ra2pa(0x0000000000000000,0),
15310 part_0_ctx_zero_tsb_config_1,
15311 part_0_ctx_nonzero_tsb_config_1,
15312 TTE_G = 1,
15313 TTE_Context = 0x44,
15314 TTE_V = 1,
15315 TTE_Size = 5,
15316 TTE_NFO = 0,
15317 TTE_IE = 1,
15318 TTE_Soft2 = 0,
15319 TTE_Diag = 0,
15320 TTE_Soft = 0,
15321 TTE_L = 0,
15322 TTE_CP = 1,
15323 TTE_CV = 1,
15324 TTE_E = 0,
15325 TTE_P = 0,
15326 TTE_W = 1,
15327 TTE_X = 1
15328}
15329
15330.text
15331 nop
15332 nop
15333 jmpl %r27+8, %r0
15334 nop
15335
15336
15337
15338#if 0
15339#endif