| 1 | /* |
| 2 | * ========== Copyright Header Begin ========================================== |
| 3 | * |
| 4 | * OpenSPARC T2 Processor File: tlu_rand01_ind_09.s |
| 5 | * Copyright (C) 1995-2007 Sun Microsystems, Inc. All Rights Reserved |
| 6 | * 4150 Network Circle, Santa Clara, California 95054, U.S.A. |
| 7 | * |
| 8 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| 9 | * |
| 10 | * This program is free software; you can redistribute it and/or modify |
| 11 | * it under the terms of the GNU General Public License as published by |
| 12 | * the Free Software Foundation; version 2 of the License. |
| 13 | * |
| 14 | * This program is distributed in the hope that it will be useful, |
| 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 17 | * GNU General Public License for more details. |
| 18 | * |
| 19 | * You should have received a copy of the GNU General Public License |
| 20 | * along with this program; if not, write to the Free Software |
| 21 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| 22 | * |
| 23 | * For the avoidance of doubt, and except that if any non-GPL license |
| 24 | * choice is available it will apply instead, Sun elects to use only |
| 25 | * the General Public License version 2 (GPLv2) at this time for any |
| 26 | * software where a choice of GPL license versions is made |
| 27 | * available with the language indicating that GPLv2 or any later version |
| 28 | * may be used, or where a choice of which version of the GPL is applied is |
| 29 | * otherwise unspecified. |
| 30 | * |
| 31 | * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, |
| 32 | * CA 95054 USA or visit www.sun.com if you need additional information or |
| 33 | * have any questions. |
| 34 | * |
| 35 | * |
| 36 | * ========== Copyright Header End ============================================ |
| 37 | */ |
| 38 | #define TRAP_SECT_HV_ALSO |
| 39 | #define DMMU_SKIP_IF_NO_TTE |
| 40 | #define IMMU_SKIP_IF_NO_TTE |
| 41 | |
| 42 | #define MAIN_PAGE_NUCLEUS_ALSO |
| 43 | #define MAIN_PAGE_HV_ALSO |
| 44 | |
| 45 | #define H_T1_Trap_Instruction_0 |
| 46 | #define My_T1_Trap_Instruction_0 \ |
| 47 | inc %o4;\ |
| 48 | umul %o4, 2, %o5;\ |
| 49 | ba 1f; \ |
| 50 | save; \ |
| 51 | 2: done; \ |
| 52 | nop; \ |
| 53 | 1: ba 2b; \ |
| 54 | restore |
| 55 | #define H_T1_Trap_Instruction_1 |
| 56 | #define My_T1_Trap_Instruction_1 \ |
| 57 | umul %o4, 2, %o5;\ |
| 58 | inc %o1;\ |
| 59 | rdpr %tnpc, %g2; \ |
| 60 | wrpr %g2, %tpc; \ |
| 61 | add %g2, 4, %g2;\ |
| 62 | wrpr %g2, %tnpc; \ |
| 63 | illtrap;\ |
| 64 | retry |
| 65 | #define H_T1_Trap_Instruction_2 |
| 66 | #define My_T1_Trap_Instruction_2 \ |
| 67 | inc %o3;\ |
| 68 | umul %o3, 2, %o4;\ |
| 69 | ba 1f; \ |
| 70 | save; \ |
| 71 | 2: done; \ |
| 72 | nop; \ |
| 73 | 1: ba 2b; \ |
| 74 | restore |
| 75 | #define H_T1_Trap_Instruction_3 |
| 76 | #define My_T1_Trap_Instruction_3 \ |
| 77 | inc %l3;\ |
| 78 | inc %o3;\ |
| 79 | umul %o3, 2, %o4;\ |
| 80 | inc %i3;\ |
| 81 | save ;\ |
| 82 | restore ;\ |
| 83 | done ;\ |
| 84 | nop; |
| 85 | #define H_T1_Trap_Instruction_4 |
| 86 | #define My_T1_Trap_Instruction_4 \ |
| 87 | umul %i4, 2, %l5;\ |
| 88 | inc %o1;\ |
| 89 | rdpr %tnpc, %g2; \ |
| 90 | wrpr %g2, %tpc; \ |
| 91 | add %g2, 4, %g2;\ |
| 92 | wrpr %g2, %tnpc; \ |
| 93 | retry ;\ |
| 94 | illtrap |
| 95 | #define H_T1_Trap_Instruction_5 |
| 96 | #define My_T1_Trap_Instruction_5 \ |
| 97 | umul %i7, 2, %l1;\ |
| 98 | inc %o5;\ |
| 99 | rdpr %tnpc, %g2; \ |
| 100 | wrpr %g2, %tpc; \ |
| 101 | add %g2, 4, %g2;\ |
| 102 | wrpr %g2, %tnpc; \ |
| 103 | sdiv %r2, %r10, %r0; \ |
| 104 | retry |
| 105 | |
| 106 | #define H_HT0_Trap_Instruction_0 |
| 107 | #define My_HT0_Trap_Instruction_0 \ |
| 108 | umul %i7, 2, %l1;\ |
| 109 | inc %o5;\ |
| 110 | umul %i5, 2, %l3;\ |
| 111 | inc %o3;\ |
| 112 | save; \ |
| 113 | restore; \ |
| 114 | done ;\ |
| 115 | nop; |
| 116 | #define H_HT0_Trap_Instruction_1 |
| 117 | #define My_HT0_Trap_Instruction_1 \ |
| 118 | umul %i7, 2, %l1;\ |
| 119 | inc %o5;\ |
| 120 | ba 1f; \ |
| 121 | save; \ |
| 122 | 2: done; \ |
| 123 | nop; \ |
| 124 | 1: ba 2b; \ |
| 125 | restore |
| 126 | #define H_HT0_Trap_Instruction_2 |
| 127 | #define My_HT0_Trap_Instruction_2 \ |
| 128 | umul %i6, 2, %l4;\ |
| 129 | inc %o4;\ |
| 130 | rdpr %tnpc, %g2; \ |
| 131 | wrpr %g2, %tpc; \ |
| 132 | add %g2, 4, %g2;\ |
| 133 | wrpr %g2, %tnpc; \ |
| 134 | sdiv %r2, %r0, %r0; \ |
| 135 | retry |
| 136 | #define H_HT0_Trap_Instruction_3 |
| 137 | #define My_HT0_Trap_Instruction_3 \ |
| 138 | umul %i5, 3, %l3;\ |
| 139 | inc %o6;\ |
| 140 | rdpr %tnpc, %g2; \ |
| 141 | illtrap ;\ |
| 142 | wrpr %g2, %tpc; \ |
| 143 | add %g2, 4, %g2;\ |
| 144 | wrpr %g2, %tnpc; \ |
| 145 | retry |
| 146 | #define H_HT0_Trap_Instruction_4 |
| 147 | #define My_HT0_Trap_Instruction_4 \ |
| 148 | rdpr %tnpc, %g2; \ |
| 149 | save; \ |
| 150 | wrpr %g2, %tpc; \ |
| 151 | add %g2, 4, %g2;\ |
| 152 | wrpr %g2, %tnpc; \ |
| 153 | restore; \ |
| 154 | illtrap;\ |
| 155 | retry |
| 156 | #define H_HT0_Trap_Instruction_5 |
| 157 | #define My_HT0_Trap_Instruction_5 \ |
| 158 | call htrap_5_ext;\ |
| 159 | nop; retry;\ |
| 160 | nop; nop; nop; nop; nop |
| 161 | |
| 162 | #define H_HT0_Mem_Address_Not_Aligned_0x34 |
| 163 | #define My_HT0_Mem_Address_Not_Aligned_0x34 \ |
| 164 | umul %i7, 4, %g1;\ |
| 165 | inc %o6;\ |
| 166 | umul %i4, 3, %l3;\ |
| 167 | inc %g6;\ |
| 168 | save ;\ |
| 169 | restore ;\ |
| 170 | done ;\ |
| 171 | nop; |
| 172 | #define H_HT0_Illegal_instruction_0x10 |
| 173 | #define My_HT0_Illegal_instruction_0x10 \ |
| 174 | umul %i0, 4, %g1;\ |
| 175 | inc %o6;\ |
| 176 | ba 1f; \ |
| 177 | save; \ |
| 178 | 2: done; \ |
| 179 | nop; \ |
| 180 | 1: ba 2b; \ |
| 181 | restore |
| 182 | #define H_HT0_DAE_so_page_0x30 |
| 183 | #define My_HT0_DAE_so_page_0x30 \ |
| 184 | umul %i5, 4, %g5;\ |
| 185 | inc %g6;\ |
| 186 | save; \ |
| 187 | restore;\ |
| 188 | rd %fprs, %g2; \ |
| 189 | wr %g2, 0x4, %fprs ;\ |
| 190 | done; \ |
| 191 | nop; |
| 192 | #define H_HT0_DAE_invalid_asi_0x14 |
| 193 | #define SUN_H_HT0_DAE_invalid_asi_0x14 \ |
| 194 | umul %i5, 4, %g5;\ |
| 195 | inc %g6;\ |
| 196 | save; \ |
| 197 | restore;\ |
| 198 | rd %fprs, %g2; \ |
| 199 | wr %g2, 0x4, %fprs ;\ |
| 200 | done; \ |
| 201 | nop; |
| 202 | #define H_HT0_DAE_privilege_violation_0x15 |
| 203 | #define SUN_H_HT0_DAE_privilege_violation_0x15 \ |
| 204 | umul %i5, 4, %g5;\ |
| 205 | inc %g6;\ |
| 206 | save; \ |
| 207 | restore;\ |
| 208 | rd %fprs, %g2; \ |
| 209 | wr %g2, 0x4, %fprs ;\ |
| 210 | done; \ |
| 211 | nop; |
| 212 | #define H_HT0_Privileged_Action_0x37 |
| 213 | #define My_HT0_Privileged_Action_0x37 \ |
| 214 | inc %l5;\ |
| 215 | dec %g3;\ |
| 216 | umul %i5, 4, %g5;\ |
| 217 | save; \ |
| 218 | restore;\ |
| 219 | done; \ |
| 220 | nop; nop |
| 221 | #define H_HT0_Lddf_Mem_Address_Not_Aligned_0x35 |
| 222 | #define My_HT0_Lddf_Mem_Address_Not_Aligned_0x35 \ |
| 223 | inc %l5;\ |
| 224 | dec %g3;\ |
| 225 | rdpr %tpc, %g2; \ |
| 226 | add %g2, 0x4, %g2; \ |
| 227 | wrpr %g2, %tpc; \ |
| 228 | add %g2, 0x4, %g2; \ |
| 229 | wrpr %g2, %tnpc; \ |
| 230 | retry |
| 231 | #define H_HT0_Fp_exception_other_0x22 |
| 232 | #define My_HT0_Fp_exception_other_0x22 \ |
| 233 | inc %l6;\ |
| 234 | dec %g5;\ |
| 235 | umul %i5, 4, %g2;\ |
| 236 | save; \ |
| 237 | restore;\ |
| 238 | done; \ |
| 239 | nop; nop |
| 240 | #define H_HT0_Division_By_Zero |
| 241 | #define My_HT0_Division_By_Zero \ |
| 242 | inc %l6;\ |
| 243 | dec %g5;\ |
| 244 | umul %i5, 4, %g2;\ |
| 245 | save; \ |
| 246 | restore;\ |
| 247 | done; \ |
| 248 | nop; nop |
| 249 | #define H_T1_Division_By_Zero_0x28 |
| 250 | #define My_H_T1_Division_By_Zero_0x28 \ |
| 251 | inc %l6;\ |
| 252 | dec %g5;\ |
| 253 | umul %i5, 4, %g2;\ |
| 254 | save; \ |
| 255 | restore;\ |
| 256 | done; \ |
| 257 | nop; nop |
| 258 | #define H_T1_Fp_Exception_Other_0x22 |
| 259 | #define My_H_T1_Fp_Exception_Other_0x22 \ |
| 260 | inc %l6;\ |
| 261 | dec %g5;\ |
| 262 | umul %i5, 4, %g2;\ |
| 263 | save; \ |
| 264 | restore;\ |
| 265 | done; \ |
| 266 | nop; nop |
| 267 | #define H_T1_Privileged_Opcode_0x11 |
| 268 | #define SUN_H_T1_Privileged_Opcode_0x11 \ |
| 269 | inc %l6;\ |
| 270 | dec %g5;\ |
| 271 | umul %i5, 4, %g2;\ |
| 272 | save; \ |
| 273 | restore;\ |
| 274 | done; \ |
| 275 | nop; nop |
| 276 | |
| 277 | #define H_HT0_Fp_disabled_0x20 |
| 278 | #define My_HT0_Fp_disabled_0x20 \ |
| 279 | inc %l6;\ |
| 280 | dec %g5;\ |
| 281 | umul %i5, 4, %g2;\ |
| 282 | rd %fprs, %g2; \ |
| 283 | wr %g2, 0x4, %fprs ;\ |
| 284 | retry;\ |
| 285 | nop; nop |
| 286 | |
| 287 | #define H_T1_Fp_Disabled_0x20 |
| 288 | #define My_H_T1_Fp_Disabled_0x20 \ |
| 289 | inc %l6;\ |
| 290 | dec %g5;\ |
| 291 | umul %i5, 4, %g2;\ |
| 292 | rd %fprs, %g2; \ |
| 293 | wr %g2, 0x4, %fprs ;\ |
| 294 | retry;\ |
| 295 | nop; nop |
| 296 | |
| 297 | #define H_HT0_Watchdog_Reset_0x02 |
| 298 | #define My_HT0_Watchdog_Reset_0x02 \ |
| 299 | setx Watchdog_Reset_Handler, %g1, %g2 ;\ |
| 300 | jmp %g2;\ |
| 301 | nop |
| 302 | |
| 303 | #define H_HT0_Stdf_Mem_Address_Not_Aligned_0x36 |
| 304 | #define My_HT0_Stdf_Mem_Address_Not_Aligned_0x36 \ |
| 305 | inc %l5;\ |
| 306 | dec %g3;\ |
| 307 | rdpr %tpc, %g2; \ |
| 308 | add %g2, 0x4, %g2; \ |
| 309 | wrpr %g2, %tpc; \ |
| 310 | add %g2, 0x4, %g2; \ |
| 311 | wrpr %g2, %tnpc; \ |
| 312 | retry |
| 313 | |
| 314 | |
| 315 | #define H_HT0_Instruction_address_range_0x0d |
| 316 | #define SUN_H_HT0_Instruction_address_range_0x0d \ |
| 317 | done;nop |
| 318 | |
| 319 | #define H_HT0_mem_address_range_0x2e |
| 320 | #define SUN_H_HT0_mem_address_range_0x2e \ |
| 321 | done;nop |
| 322 | |
| 323 | |
| 324 | #include "hboot.s" |
| 325 | .text |
| 326 | .global main |
| 327 | main: |
| 328 | |
| 329 | !Start with TL 1 |
| 330 | ta T_CHANGE_TO_TL1 |
| 331 | |
| 332 | ! Set up ld/st area per thread |
| 333 | ta T_RD_THID ! Result in %o1 = r9 |
| 334 | umul %r9, 256, %r31 |
| 335 | setx user_data_start, %r1, %r3 |
| 336 | add %r31, %r3, %r31 |
| 337 | wr %r0, 0x4, %asi |
| 338 | |
| 339 | !Initialializing registers |
| 340 | ldx [%r31+0], %r0 |
| 341 | ldx [%r31+8], %r1 |
| 342 | ldx [%r31+16], %r2 |
| 343 | ldx [%r31+24], %r3 |
| 344 | ldx [%r31+32], %r4 |
| 345 | ldx [%r31+40], %r5 |
| 346 | ldx [%r31+48], %r6 |
| 347 | ldx [%r31+56], %r7 |
| 348 | ldx [%r31+64], %r8 |
| 349 | ldx [%r31+72], %r9 |
| 350 | ldx [%r31+80], %r10 |
| 351 | ldx [%r31+88], %r11 |
| 352 | ldx [%r31+96], %r12 |
| 353 | ldx [%r31+104], %r13 |
| 354 | ldx [%r31+112], %r14 |
| 355 | ldx [%r31+120], %r15 |
| 356 | ldx [%r31+128], %r16 |
| 357 | ldx [%r31+136], %r17 |
| 358 | ldx [%r31+144], %r18 |
| 359 | ldx [%r31+152], %r19 |
| 360 | ldx [%r31+160], %r20 |
| 361 | ldx [%r31+168], %r21 |
| 362 | ldx [%r31+176], %r22 |
| 363 | ldx [%r31+184], %r23 |
| 364 | ldx [%r31+192], %r24 |
| 365 | ldx [%r31+200], %r25 |
| 366 | ldx [%r31+208], %r26 |
| 367 | ldx [%r31+216], %r27 |
| 368 | ldx [%r31+224], %r28 |
| 369 | ldx [%r31+232], %r29 |
| 370 | ldx [%r31+240], %r30 |
| 371 | save %r31, %r0, %r31 |
| 372 | ldx [%r31+0], %r0 |
| 373 | ldx [%r31+8], %r1 |
| 374 | ldx [%r31+16], %r2 |
| 375 | ldx [%r31+24], %r3 |
| 376 | ldx [%r31+32], %r4 |
| 377 | ldx [%r31+40], %r5 |
| 378 | ldx [%r31+48], %r6 |
| 379 | ldx [%r31+56], %r7 |
| 380 | ldx [%r31+64], %r8 |
| 381 | ldx [%r31+72], %r9 |
| 382 | ldx [%r31+80], %r10 |
| 383 | ldx [%r31+88], %r11 |
| 384 | ldx [%r31+96], %r12 |
| 385 | ldx [%r31+104], %r13 |
| 386 | ldx [%r31+112], %r14 |
| 387 | ldx [%r31+120], %r15 |
| 388 | ldx [%r31+128], %r16 |
| 389 | ldx [%r31+136], %r17 |
| 390 | ldx [%r31+144], %r18 |
| 391 | ldx [%r31+152], %r19 |
| 392 | ldx [%r31+160], %r20 |
| 393 | ldx [%r31+168], %r21 |
| 394 | ldx [%r31+176], %r22 |
| 395 | ldx [%r31+184], %r23 |
| 396 | ldx [%r31+192], %r24 |
| 397 | ldx [%r31+200], %r25 |
| 398 | ldx [%r31+208], %r26 |
| 399 | ldx [%r31+216], %r27 |
| 400 | ldx [%r31+224], %r28 |
| 401 | ldx [%r31+232], %r29 |
| 402 | ldx [%r31+240], %r30 |
| 403 | save %r31, %r0, %r31 |
| 404 | ldx [%r31+0], %r0 |
| 405 | ldx [%r31+8], %r1 |
| 406 | ldx [%r31+16], %r2 |
| 407 | ldx [%r31+24], %r3 |
| 408 | ldx [%r31+32], %r4 |
| 409 | ldx [%r31+40], %r5 |
| 410 | ldx [%r31+48], %r6 |
| 411 | ldx [%r31+56], %r7 |
| 412 | ldx [%r31+64], %r8 |
| 413 | ldx [%r31+72], %r9 |
| 414 | ldx [%r31+80], %r10 |
| 415 | ldx [%r31+88], %r11 |
| 416 | ldx [%r31+96], %r12 |
| 417 | ldx [%r31+104], %r13 |
| 418 | ldx [%r31+112], %r14 |
| 419 | ldx [%r31+120], %r15 |
| 420 | ldx [%r31+128], %r16 |
| 421 | ldx [%r31+136], %r17 |
| 422 | ldx [%r31+144], %r18 |
| 423 | ldx [%r31+152], %r19 |
| 424 | ldx [%r31+160], %r20 |
| 425 | ldx [%r31+168], %r21 |
| 426 | ldx [%r31+176], %r22 |
| 427 | ldx [%r31+184], %r23 |
| 428 | ldx [%r31+192], %r24 |
| 429 | ldx [%r31+200], %r25 |
| 430 | ldx [%r31+208], %r26 |
| 431 | ldx [%r31+216], %r27 |
| 432 | ldx [%r31+224], %r28 |
| 433 | ldx [%r31+232], %r29 |
| 434 | ldx [%r31+240], %r30 |
| 435 | save %r31, %r0, %r31 |
| 436 | restore |
| 437 | restore |
| 438 | restore |
| 439 | .word 0x81494000 ! 3: RDHPR_HTBA rdhpr %htba, %r0 |
| 440 | .word 0xc127e001 ! 8: STF_I st %f0, [0x0001, %r31] |
| 441 | .word 0xc0d7e000 ! 9: LDSHA_I ldsha [%r31, + 0x0000] %asi, %r0 |
| 442 | mov 0x30, %r30 |
| 443 | .word 0x99d0001e ! 12: Tcc_R tgu icc_or_xcc, %r0 + %r30 |
| 444 | .word 0xc037e001 ! 13: STH_I sth %r0, [%r31 + 0x0001] |
| 445 | .word 0x8dd02032 ! 14: Tcc_I tneg icc_or_xcc, %r0 + 50 |
| 446 | .word 0x24700001 ! 25: BPLE <illegal instruction> |
| 447 | .word 0x9a7b2001 ! 28: SDIV_I sdiv %r12, 0x0001, %r13 |
| 448 | mov 0x35, %r30 |
| 449 | .word 0x95d0001e ! 31: Tcc_R tg icc_or_xcc, %r0 + %r30 |
| 450 | .word 0xdb3fe001 ! 32: STDF_I std %f13, [0x0001, %r31] |
| 451 | .word 0x97d02034 ! 33: Tcc_I tge icc_or_xcc, %r0 + 52 |
| 452 | .word 0x20800001 ! 34: BN bn,a <label_0x1> |
| 453 | .word 0x24700001 ! 35: BPLE <illegal instruction> |
| 454 | .word 0xda57c000 ! 36: LDSH_R ldsh [%r31 + %r0], %r13 |
| 455 | .word 0xda87e000 ! 37: LDUWA_I lduwa [%r31, + 0x0000] %asi, %r13 |
| 456 | .word 0xdac7e030 ! 46: LDSWA_I ldswa [%r31, + 0x0030] %asi, %r13 |
| 457 | .word 0x34700001 ! 49: BPG <illegal instruction> |
| 458 | .word 0xdad7e010 ! 54: LDSHA_I ldsha [%r31, + 0x0010] %asi, %r13 |
| 459 | .word 0xda57c000 ! 55: LDSH_R ldsh [%r31 + %r0], %r13 |
| 460 | .word 0x8051000e ! 62: UMUL_R umul %r4, %r14, %r0 |
| 461 | .word 0x8d802000 ! 63: WRFPRS_I wr %r0, 0x0000, %fprs |
| 462 | .word 0x81d02034 ! 64: Tcc_I tn icc_or_xcc, %r0 + 52 |
| 463 | .word 0xc13fc00e ! 69: STDF_R std %f0, [%r14, %r31] |
| 464 | .word 0x9151c000 ! 74: RDPR_TL rdpr %tl, %r8 |
| 465 | .word 0xd04fe001 ! 75: LDSB_I ldsb [%r31 + 0x0001], %r8 |
| 466 | .word 0x87802004 ! 76: WRASI_I wr %r0, 0x0004, %asi |
| 467 | .word 0x93d02031 ! 79: Tcc_I tne icc_or_xcc, %r0 + 49 |
| 468 | .word 0x8dd02033 ! 84: Tcc_I tneg icc_or_xcc, %r0 + 51 |
| 469 | .word 0x9248000d ! 87: MULX_R mulx %r0, %r13, %r9 |
| 470 | .word 0xd20fc000 ! 102: LDUB_R ldub [%r31 + %r0], %r9 |
| 471 | .word 0xd217c000 ! 111: LDUH_R lduh [%r31 + %r0], %r9 |
| 472 | .word 0xd20fe001 ! 112: LDUB_I ldub [%r31 + 0x0001], %r9 |
| 473 | .word 0xd24fe001 ! 113: LDSB_I ldsb [%r31 + 0x0001], %r9 |
| 474 | .word 0xd20fe001 ! 118: LDUB_I ldub [%r31 + 0x0001], %r9 |
| 475 | mov 0x30, %r30 |
| 476 | .word 0x81d0001e ! 119: Tcc_R tn icc_or_xcc, %r0 + %r30 |
| 477 | .word 0x9f508000 ! 120: RDPR_TSTATE rdpr %tstate, %r15 |
| 478 | mov 0x34, %r30 |
| 479 | .word 0x95d0001e ! 141: Tcc_R tg icc_or_xcc, %r0 + %r30 |
| 480 | .word 0x89d02034 ! 142: Tcc_I tleu icc_or_xcc, %r0 + 52 |
| 481 | mov 0x30, %r30 |
| 482 | .word 0x9fd0001e ! 147: Tcc_R tvc icc_or_xcc, %r0 + %r30 |
| 483 | .word 0xdec7e010 ! 148: LDSWA_I ldswa [%r31, + 0x0010] %asi, %r15 |
| 484 | ta T_CHANGE_NONPRIV ! macro |
| 485 | .word 0x97d02035 ! 152: Tcc_I tge icc_or_xcc, %r0 + 53 |
| 486 | .word 0x91500000 ! 155: RDPR_TPC rdpr %tpc, %r8 |
| 487 | .word 0xd117c000 ! 156: LDQF_R - [%r31, %r0], %f8 |
| 488 | ta T_CHANGE_PRIV ! macro |
| 489 | mov 0x35, %r30 |
| 490 | .word 0x91d0001e ! 162: Tcc_R ta icc_or_xcc, %r0 + %r30 |
| 491 | .word 0xd057e001 ! 163: LDSH_I ldsh [%r31 + 0x0001], %r8 |
| 492 | mov 0x35, %r30 |
| 493 | .word 0x89d0001e ! 164: Tcc_R tleu icc_or_xcc, %r0 + %r30 |
| 494 | .word 0x91d02033 ! 165: Tcc_I ta icc_or_xcc, %r0 + 51 |
| 495 | .word 0x93514000 ! 168: RDPR_TBA rdpr %tba, %r9 |
| 496 | .word 0x93d02030 ! 171: Tcc_I tne icc_or_xcc, %r0 + 48 |
| 497 | .word 0xd327e001 ! 172: STF_I st %f9, [0x0001, %r31] |
| 498 | .word 0x32700001 ! 173: BPNE <illegal instruction> |
| 499 | .word 0x28700001 ! 176: BPLEU <illegal instruction> |
| 500 | .word 0x24800001 ! 181: BLE ble,a <label_0x1> |
| 501 | .word 0x36800001 ! 182: BGE bge,a <label_0x1> |
| 502 | .word 0xd2cfe000 ! 183: LDSBA_I ldsba [%r31, + 0x0000] %asi, %r9 |
| 503 | mov 0x30, %r30 |
| 504 | .word 0x8bd0001e ! 190: Tcc_R tcs icc_or_xcc, %r0 + %r30 |
| 505 | .word 0xd2c7e030 ! 193: LDSWA_I ldswa [%r31, + 0x0030] %asi, %r9 |
| 506 | .word 0x9f480000 ! 198: RDHPR_HPSTATE rdhpr %hpstate, %r15 |
| 507 | .word 0x3a700001 ! 201: BPCC <illegal instruction> |
| 508 | .word 0xded7e000 ! 202: LDSHA_I ldsha [%r31, + 0x0000] %asi, %r15 |
| 509 | .word 0x8d50c000 ! 203: RDPR_TT rdpr %tt, %r6 |
| 510 | mov 0x33, %r30 |
| 511 | .word 0x89d0001e ! 204: Tcc_R tleu icc_or_xcc, %r0 + %r30 |
| 512 | .word 0xcd27c00d ! 209: STF_R st %f6, [%r13, %r31] |
| 513 | .word 0x8c824005 ! 210: ADDcc_R addcc %r9, %r5, %r6 |
| 514 | .word 0x9dd02034 ! 217: Tcc_I tpos icc_or_xcc, %r0 + 52 |
| 515 | .word 0xcc07c000 ! 220: LDUW_R lduw [%r31 + %r0], %r6 |
| 516 | .word 0xcc97e010 ! 221: LDUHA_I lduha [%r31, + 0x0010] %asi, %r6 |
| 517 | .word 0x93d02030 ! 228: Tcc_I tne icc_or_xcc, %r0 + 48 |
| 518 | .word 0xccc7e010 ! 233: LDSWA_I ldswa [%r31, + 0x0010] %asi, %r6 |
| 519 | .word 0x9950c000 ! 234: RDPR_TT rdpr %tt, %r12 |
| 520 | .word 0xd85fe001 ! 235: LDX_I ldx [%r31 + 0x0001], %r12 |
| 521 | .word 0x95a00542 ! 238: FSQRTd fsqrt |
| 522 | .word 0x2a800001 ! 239: BCS bcs,a <label_0x1> |
| 523 | .word 0xd4c804a0 ! 240: LDSBA_R ldsba [%r0, %r0] 0x25, %r10 |
| 524 | .word 0x83d02035 ! 243: Tcc_I te icc_or_xcc, %r0 + 53 |
| 525 | .word 0x9551c000 ! 244: RDPR_TL rdpr %tl, %r10 |
| 526 | .word 0x95504000 ! 245: RDPR_TNPC rdpr %tnpc, %r10 |
| 527 | .word 0x8d802000 ! 246: WRFPRS_I wr %r0, 0x0000, %fprs |
| 528 | .word 0x8d802004 ! 249: WRFPRS_I wr %r0, 0x0004, %fprs |
| 529 | mov 0x30, %r30 |
| 530 | .word 0x97d0001e ! 254: Tcc_R tge icc_or_xcc, %r0 + %r30 |
| 531 | ta T_CHANGE_NONHPRIV ! macro |
| 532 | .word 0x87d02034 ! 258: Tcc_I tl icc_or_xcc, %r0 + 52 |
| 533 | .word 0x8d802000 ! 261: WRFPRS_I wr %r0, 0x0000, %fprs |
| 534 | .word 0xd487e020 ! 264: LDUWA_I lduwa [%r31, + 0x0020] %asi, %r10 |
| 535 | .word 0x34700001 ! 271: BPG <illegal instruction> |
| 536 | .word 0xd40fe001 ! 272: LDUB_I ldub [%r31 + 0x0001], %r10 |
| 537 | .word 0xd4cfe000 ! 273: LDSBA_I ldsba [%r31, + 0x0000] %asi, %r10 |
| 538 | mov 0x34, %r30 |
| 539 | .word 0x87d0001e ! 276: Tcc_R tl icc_or_xcc, %r0 + %r30 |
| 540 | .word 0x87802054 ! 277: WRASI_I wr %r0, 0x0054, %asi |
| 541 | .word 0xd48fe020 ! 284: LDUBA_I lduba [%r31, + 0x0020] %asi, %r10 |
| 542 | mov 0x34, %r30 |
| 543 | .word 0x83d0001e ! 285: Tcc_R te icc_or_xcc, %r0 + %r30 |
| 544 | .word 0x99504000 ! 286: RDPR_TNPC rdpr %tnpc, %r12 |
| 545 | .word 0x8d802000 ! 287: WRFPRS_I wr %r0, 0x0000, %fprs |
| 546 | .word 0x8d802000 ! 290: WRFPRS_I wr %r0, 0x0000, %fprs |
| 547 | .word 0x8bd02034 ! 301: Tcc_I tcs icc_or_xcc, %r0 + 52 |
| 548 | .word 0x83d02035 ! 304: Tcc_I te icc_or_xcc, %r0 + 53 |
| 549 | .word 0x87802010 ! 311: WRASI_I wr %r0, 0x0010, %asi |
| 550 | mov 0x34, %r30 |
| 551 | .word 0x87d0001e ! 312: Tcc_R tl icc_or_xcc, %r0 + %r30 |
| 552 | mov 0x33, %r30 |
| 553 | .word 0x8bd0001e ! 313: Tcc_R tcs icc_or_xcc, %r0 + %r30 |
| 554 | mov 0x35, %r30 |
| 555 | .word 0x89d0001e ! 314: Tcc_R tleu icc_or_xcc, %r0 + %r30 |
| 556 | mov 0x34, %r30 |
| 557 | .word 0x8dd0001e ! 321: Tcc_R tneg icc_or_xcc, %r0 + %r30 |
| 558 | .word 0x8fd02035 ! 326: Tcc_I tvs icc_or_xcc, %r0 + 53 |
| 559 | .word 0x28800001 ! 337: BLEU bleu,a <label_0x1> |
| 560 | .word 0xd857c000 ! 344: LDSH_R ldsh [%r31 + %r0], %r12 |
| 561 | .word 0x8d802000 ! 349: WRFPRS_I wr %r0, 0x0000, %fprs |
| 562 | .word 0x904ba001 ! 350: MULX_I mulx %r14, 0x0001, %r8 |
| 563 | .word 0xd0dfe030 ! 353: LDXA_I ldxa [%r31, + 0x0030] %asi, %r8 |
| 564 | mov 0x35, %r30 |
| 565 | .word 0x89d0001e ! 354: Tcc_R tleu icc_or_xcc, %r0 + %r30 |
| 566 | .word 0xd0d7e010 ! 377: LDSHA_I ldsha [%r31, + 0x0010] %asi, %r8 |
| 567 | .word 0x83d02034 ! 378: Tcc_I te icc_or_xcc, %r0 + 52 |
| 568 | .word 0x85d02034 ! 379: Tcc_I tle icc_or_xcc, %r0 + 52 |
| 569 | .word 0x8883a001 ! 380: ADDcc_I addcc %r14, 0x0001, %r4 |
| 570 | .word 0xc857e001 ! 381: LDSH_I ldsh [%r31 + 0x0001], %r4 |
| 571 | .word 0xc9e34020 ! 390: CASA_I casa [%r13] 0x 1, %r0, %r4 |
| 572 | .word 0x8d802000 ! 393: WRFPRS_I wr %r0, 0x0000, %fprs |
| 573 | .word 0xc897e020 ! 394: LDUHA_I lduha [%r31, + 0x0020] %asi, %r4 |
| 574 | .word 0xcde00020 ! 401: CASA_I casa [%r0] 0x 1, %r0, %r6 |
| 575 | .word 0xccc804a0 ! 402: LDSBA_R ldsba [%r0, %r0] 0x25, %r6 |
| 576 | .word 0x36800001 ! 405: BGE bge,a <label_0x1> |
| 577 | .word 0x26800001 ! 406: BL bl,a <label_0x1> |
| 578 | .word 0x83a2c9ab ! 415: FDIVs fdivs %f11, %f11, %f1 |
| 579 | .word 0xc2cfe000 ! 422: LDSBA_I ldsba [%r31, + 0x0000] %asi, %r1 |
| 580 | .word 0xc2c80e60 ! 431: LDSBA_R ldsba [%r0, %r0] 0x73, %r1 |
| 581 | .word 0xc22fe001 ! 432: STB_I stb %r1, [%r31 + 0x0001] |
| 582 | mov 0x33, %r30 |
| 583 | .word 0x83d0001e ! 433: Tcc_R te icc_or_xcc, %r0 + %r30 |
| 584 | .word 0x2a700001 ! 438: BPCS <illegal instruction> |
| 585 | .word 0x89d02030 ! 439: Tcc_I tleu icc_or_xcc, %r0 + 48 |
| 586 | .word 0x85d02035 ! 442: Tcc_I tle icc_or_xcc, %r0 + 53 |
| 587 | .word 0xc2cfe000 ! 447: LDSBA_I ldsba [%r31, + 0x0000] %asi, %r1 |
| 588 | .word 0x9551c000 ! 456: RDPR_TL rdpr %tl, %r10 |
| 589 | .word 0xd40fe001 ! 459: LDUB_I ldub [%r31 + 0x0001], %r10 |
| 590 | .word 0x87802010 ! 460: WRASI_I wr %r0, 0x0010, %asi |
| 591 | mov 0x34, %r30 |
| 592 | .word 0x9bd0001e ! 461: Tcc_R tcc icc_or_xcc, %r0 + %r30 |
| 593 | .word 0x24800001 ! 466: BLE ble,a <label_0x1> |
| 594 | ta T_CHANGE_NONPRIV ! macro |
| 595 | .word 0x89a0054e ! 472: FSQRTd fsqrt |
| 596 | .word 0xc80fe001 ! 475: LDUB_I ldub [%r31 + 0x0001], %r4 |
| 597 | .word 0xc8d00e40 ! 476: LDSHA_R ldsha [%r0, %r0] 0x72, %r4 |
| 598 | .word 0xc817c000 ! 481: LDUH_R lduh [%r31 + %r0], %r4 |
| 599 | .word 0x85a00541 ! 482: FSQRTd fsqrt |
| 600 | .word 0x8d802000 ! 485: WRFPRS_I wr %r0, 0x0000, %fprs |
| 601 | .word 0x87802054 ! 488: WRASI_I wr %r0, 0x0054, %asi |
| 602 | .word 0x8d802000 ! 493: WRFPRS_I wr %r0, 0x0000, %fprs |
| 603 | .word 0x83a349cb ! 494: FDIVd fdivd %f44, %f42, %f32 |
| 604 | .word 0xc2bfc02b ! 497: STDA_R stda %r1, [%r31 + %r11] 0x01 |
| 605 | .word 0xc247e001 ! 498: LDSW_I ldsw [%r31 + 0x0001], %r1 |
| 606 | .word 0x87802014 ! 513: WRASI_I wr %r0, 0x0014, %asi |
| 607 | .word 0x87802016 ! 514: WRASI_I wr %r0, 0x0016, %asi |
| 608 | mov 0x32, %r30 |
| 609 | .word 0x95d0001e ! 515: Tcc_R tg icc_or_xcc, %r0 + %r30 |
| 610 | .word 0x8679c00f ! 518: SDIV_R sdiv %r7, %r15, %r3 |
| 611 | ta T_CHANGE_NONPRIV ! macro |
| 612 | .word 0x89686001 ! 524: SDIVX_I sdivx %r1, 0x0001, %r4 |
| 613 | .word 0xc837c00f ! 527: STH_R sth %r4, [%r31 + %r15] |
| 614 | .word 0xc8cfe010 ! 528: LDSBA_I ldsba [%r31, + 0x0010] %asi, %r4 |
| 615 | .word 0xc83fc00f ! 529: STD_R std %r4, [%r31 + %r15] |
| 616 | mov 0x31, %r30 |
| 617 | .word 0x9fd0001e ! 532: Tcc_R tvc icc_or_xcc, %r0 + %r30 |
| 618 | .word 0x30700001 ! 533: BPA <illegal instruction> |
| 619 | .word 0xc857c000 ! 536: LDSH_R ldsh [%r31 + %r0], %r4 |
| 620 | .word 0xc887e030 ! 537: LDUWA_I lduwa [%r31, + 0x0030] %asi, %r4 |
| 621 | mov 0x32, %r30 |
| 622 | .word 0x95d0001e ! 538: Tcc_R tg icc_or_xcc, %r0 + %r30 |
| 623 | .word 0x91d02035 ! 539: Tcc_I ta icc_or_xcc, %r0 + 53 |
| 624 | mov 0x34, %r30 |
| 625 | .word 0x89d0001e ! 542: Tcc_R tleu icc_or_xcc, %r0 + %r30 |
| 626 | .word 0xc817c000 ! 543: LDUH_R lduh [%r31 + %r0], %r4 |
| 627 | .word 0x87d02032 ! 544: Tcc_I tl icc_or_xcc, %r0 + 50 |
| 628 | .word 0xc8d804a0 ! 553: LDXA_R ldxa [%r0, %r0] 0x25, %r4 |
| 629 | .word 0x9bd02035 ! 556: Tcc_I tcc icc_or_xcc, %r0 + 53 |
| 630 | .word 0xc917c000 ! 559: LDQF_R - [%r31, %r0], %f4 |
| 631 | .word 0x8d480000 ! 562: RDHPR_HPSTATE rdhpr %hpstate, %r6 |
| 632 | .word 0x916ac004 ! 569: SDIVX_R sdivx %r11, %r4, %r8 |
| 633 | .word 0xd08804a0 ! 570: LDUBA_R lduba [%r0, %r0] 0x25, %r8 |
| 634 | .word 0x91d02034 ! 571: Tcc_I ta icc_or_xcc, %r0 + 52 |
| 635 | .word 0xd097e030 ! 576: LDUHA_I lduha [%r31, + 0x0030] %asi, %r8 |
| 636 | .word 0xd097e020 ! 577: LDUHA_I lduha [%r31, + 0x0020] %asi, %r8 |
| 637 | .word 0xd08804a0 ! 580: LDUBA_R lduba [%r0, %r0] 0x25, %r8 |
| 638 | .word 0xd007e001 ! 581: LDUW_I lduw [%r31 + 0x0001], %r8 |
| 639 | .word 0x8d802000 ! 582: WRFPRS_I wr %r0, 0x0000, %fprs |
| 640 | ta T_CHANGE_HPRIV ! macro |
| 641 | .word 0x32800001 ! 586: BNE bne,a <label_0x1> |
| 642 | .word 0xd127e001 ! 589: STF_I st %f8, [0x0001, %r31] |
| 643 | .word 0xd1e3802a ! 590: CASA_I casa [%r14] 0x 1, %r10, %r8 |
| 644 | ta T_CHANGE_HPRIV ! macro |
| 645 | .word 0x90d12001 ! 600: UMULcc_I umulcc %r4, 0x0001, %r8 |
| 646 | .word 0xd197e001 ! 603: LDQFA_I - [%r31, 0x0001], %f8 |
| 647 | .word 0xd017e001 ! 604: LDUH_I lduh [%r31 + 0x0001], %r8 |
| 648 | .word 0xd0dfe010 ! 605: LDXA_I ldxa [%r31, + 0x0010] %asi, %r8 |
| 649 | .word 0x94dbc000 ! 608: SMULcc_R smulcc %r15, %r0, %r10 |
| 650 | .word 0x8cd9c001 ! 609: SMULcc_R smulcc %r7, %r1, %r6 |
| 651 | .word 0x9dd02034 ! 618: Tcc_I tpos icc_or_xcc, %r0 + 52 |
| 652 | .word 0xcc0fe001 ! 621: LDUB_I ldub [%r31 + 0x0001], %r6 |
| 653 | .word 0xcc17c000 ! 622: LDUH_R lduh [%r31 + %r0], %r6 |
| 654 | .word 0x80026001 ! 623: ADD_I add %r9, 0x0001, %r0 |
| 655 | .word 0xc0c004a0 ! 624: LDSWA_R ldswa [%r0, %r0] 0x25, %r0 |
| 656 | mov 0x35, %r30 |
| 657 | .word 0x89d0001e ! 625: Tcc_R tleu icc_or_xcc, %r0 + %r30 |
| 658 | mov 0x31, %r30 |
| 659 | .word 0x89d0001e ! 628: Tcc_R tleu icc_or_xcc, %r0 + %r30 |
| 660 | .word 0xc0cfe020 ! 635: LDSBA_I ldsba [%r31, + 0x0020] %asi, %r0 |
| 661 | .word 0x87802004 ! 636: WRASI_I wr %r0, 0x0004, %asi |
| 662 | .word 0xc0c004a0 ! 639: LDSWA_R ldswa [%r0, %r0] 0x25, %r0 |
| 663 | .word 0xc0800e60 ! 642: LDUWA_R lduwa [%r0, %r0] 0x73, %r0 |
| 664 | .word 0xc087e010 ! 645: LDUWA_I lduwa [%r31, + 0x0010] %asi, %r0 |
| 665 | .word 0xc0c80e60 ! 646: LDSBA_R ldsba [%r0, %r0] 0x73, %r0 |
| 666 | mov 0x35, %r30 |
| 667 | .word 0x8bd0001e ! 649: Tcc_R tcs icc_or_xcc, %r0 + %r30 |
| 668 | .word 0x9a50400e ! 656: UMUL_R umul %r1, %r14, %r13 |
| 669 | .word 0xdb27c00e ! 657: STF_R st %f13, [%r14, %r31] |
| 670 | .word 0x24800001 ! 658: BLE ble,a <label_0x1> |
| 671 | .word 0x87802054 ! 659: WRASI_I wr %r0, 0x0054, %asi |
| 672 | .word 0xda07c000 ! 662: LDUW_R lduw [%r31 + %r0], %r13 |
| 673 | mov 0x31, %r30 |
| 674 | .word 0x87d0001e ! 663: Tcc_R tl icc_or_xcc, %r0 + %r30 |
| 675 | .word 0x9150c000 ! 664: RDPR_TT rdpr %tt, %r8 |
| 676 | .word 0x87802014 ! 667: WRASI_I wr %r0, 0x0014, %asi |
| 677 | .word 0xd05fc000 ! 676: LDX_R ldx [%r31 + %r0], %r8 |
| 678 | .word 0x9fd02032 ! 689: Tcc_I tvc icc_or_xcc, %r0 + 50 |
| 679 | mov 0x34, %r30 |
| 680 | .word 0x93d0001e ! 690: Tcc_R tne icc_or_xcc, %r0 + %r30 |
| 681 | .word 0xd09004a0 ! 691: LDUHA_R lduha [%r0, %r0] 0x25, %r8 |
| 682 | .word 0xd007e001 ! 694: LDUW_I lduw [%r31 + 0x0001], %r8 |
| 683 | .word 0x9dd02031 ! 695: Tcc_I tpos icc_or_xcc, %r0 + 49 |
| 684 | .word 0xd0c004a0 ! 696: LDSWA_R ldswa [%r0, %r0] 0x25, %r8 |
| 685 | .word 0xd0c7e000 ! 697: LDSWA_I ldswa [%r31, + 0x0000] %asi, %r8 |
| 686 | .word 0x28700001 ! 698: BPLEU <illegal instruction> |
| 687 | .word 0xd04fc000 ! 707: LDSB_R ldsb [%r31 + %r0], %r8 |
| 688 | .word 0xd087e010 ! 708: LDUWA_I lduwa [%r31, + 0x0010] %asi, %r8 |
| 689 | .word 0xd117c000 ! 709: LDQF_R - [%r31, %r0], %f8 |
| 690 | .word 0x2a700001 ! 710: BPCS <illegal instruction> |
| 691 | .word 0xd097e000 ! 711: LDUHA_I lduha [%r31, + 0x0000] %asi, %r8 |
| 692 | .word 0x83d02035 ! 714: Tcc_I te icc_or_xcc, %r0 + 53 |
| 693 | .word 0x8d698009 ! 717: SDIVX_R sdivx %r6, %r9, %r6 |
| 694 | .word 0x8d802004 ! 718: WRFPRS_I wr %r0, 0x0004, %fprs |
| 695 | .word 0xcc97e000 ! 719: LDUHA_I lduha [%r31, + 0x0000] %asi, %r6 |
| 696 | ta T_CHANGE_HPRIV ! macro |
| 697 | .word 0x30700001 ! 725: BPA <illegal instruction> |
| 698 | .word 0x99a00564 ! 726: FSQRTq fsqrt |
| 699 | .word 0x30800001 ! 733: BA ba,a <label_0x1> |
| 700 | .word 0xd85fc000 ! 734: LDX_R ldx [%r31 + %r0], %r12 |
| 701 | .word 0xd8dfe020 ! 735: LDXA_I ldxa [%r31, + 0x0020] %asi, %r12 |
| 702 | mov 0x35, %r30 |
| 703 | .word 0x9bd0001e ! 736: Tcc_R tcc icc_or_xcc, %r0 + %r30 |
| 704 | .word 0x9ba2c9a5 ! 739: FDIVs fdivs %f11, %f5, %f13 |
| 705 | .word 0x93d02031 ! 742: Tcc_I tne icc_or_xcc, %r0 + 49 |
| 706 | .word 0xdac80e60 ! 749: LDSBA_R ldsba [%r0, %r0] 0x73, %r13 |
| 707 | .word 0xdac7e010 ! 754: LDSWA_I ldswa [%r31, + 0x0010] %asi, %r13 |
| 708 | .word 0xdad804a0 ! 757: LDXA_R ldxa [%r0, %r0] 0x25, %r13 |
| 709 | .word 0xda97e000 ! 760: LDUHA_I lduha [%r31, + 0x0000] %asi, %r13 |
| 710 | .word 0x36800001 ! 763: BGE bge,a <label_0x1> |
| 711 | ta T_CHANGE_NONHPRIV ! macro |
| 712 | .word 0xdac7e030 ! 771: LDSWA_I ldswa [%r31, + 0x0030] %asi, %r13 |
| 713 | .word 0xda0fe001 ! 772: LDUB_I ldub [%r31 + 0x0001], %r13 |
| 714 | mov 0x33, %r30 |
| 715 | .word 0x85d0001e ! 777: Tcc_R tle icc_or_xcc, %r0 + %r30 |
| 716 | .word 0xda5fe001 ! 778: LDX_I ldx [%r31 + 0x0001], %r13 |
| 717 | ta T_CHANGE_HPRIV ! macro |
| 718 | .word 0x87802010 ! 786: WRASI_I wr %r0, 0x0010, %asi |
| 719 | .word 0x87802045 ! 791: WRASI_I wr %r0, 0x0045, %asi |
| 720 | .word 0xda57c000 ! 792: LDSH_R ldsh [%r31 + %r0], %r13 |
| 721 | .word 0x28800001 ! 793: BLEU bleu,a <label_0x1> |
| 722 | .word 0x83d02035 ! 794: Tcc_I te icc_or_xcc, %r0 + 53 |
| 723 | .word 0x3e800001 ! 797: BVC bvc,a <label_0x1> |
| 724 | .word 0xda8fe000 ! 798: LDUBA_I lduba [%r31, + 0x0000] %asi, %r13 |
| 725 | .word 0xda17c000 ! 803: LDUH_R lduh [%r31 + %r0], %r13 |
| 726 | .word 0x87802016 ! 804: WRASI_I wr %r0, 0x0016, %asi |
| 727 | mov 0x32, %r30 |
| 728 | .word 0x81d0001e ! 805: Tcc_R tn icc_or_xcc, %r0 + %r30 |
| 729 | .word 0x28800001 ! 808: BLEU bleu,a <label_0x1> |
| 730 | ta T_CHANGE_HPRIV ! macro |
| 731 | .word 0xda57e001 ! 820: LDSH_I ldsh [%r31 + 0x0001], %r13 |
| 732 | .word 0xdb17c000 ! 821: LDQF_R - [%r31, %r0], %f13 |
| 733 | .word 0x24800001 ! 826: BLE ble,a <label_0x1> |
| 734 | mov 0x31, %r30 |
| 735 | .word 0x8fd0001e ! 827: Tcc_R tvs icc_or_xcc, %r0 + %r30 |
| 736 | .word 0x87802054 ! 828: WRASI_I wr %r0, 0x0054, %asi |
| 737 | .word 0x8283a001 ! 829: ADDcc_I addcc %r14, 0x0001, %r1 |
| 738 | .word 0x81d02033 ! 836: Tcc_I tn icc_or_xcc, %r0 + 51 |
| 739 | .word 0xc20fe001 ! 845: LDUB_I ldub [%r31 + 0x0001], %r1 |
| 740 | .word 0x86d0a001 ! 850: UMULcc_I umulcc %r2, 0x0001, %r3 |
| 741 | mov 0x31, %r30 |
| 742 | .word 0x93d0001e ! 859: Tcc_R tne icc_or_xcc, %r0 + %r30 |
| 743 | mov 0x30, %r30 |
| 744 | .word 0x9bd0001e ! 862: Tcc_R tcc icc_or_xcc, %r0 + %r30 |
| 745 | mov 0x31, %r30 |
| 746 | .word 0x8fd0001e ! 865: Tcc_R tvs icc_or_xcc, %r0 + %r30 |
| 747 | ta T_CHANGE_NONPRIV ! macro |
| 748 | .word 0x2e800001 ! 871: BVS bvs,a <label_0x1> |
| 749 | .word 0xc6d00e80 ! 878: LDSHA_R ldsha [%r0, %r0] 0x74, %r3 |
| 750 | .word 0x87802016 ! 879: WRASI_I wr %r0, 0x0016, %asi |
| 751 | .word 0x89d02031 ! 882: Tcc_I tleu icc_or_xcc, %r0 + 49 |
| 752 | .word 0xc68fe020 ! 883: LDUBA_I lduba [%r31, + 0x0020] %asi, %r3 |
| 753 | .word 0x8d802000 ! 884: WRFPRS_I wr %r0, 0x0000, %fprs |
| 754 | .word 0x3e800001 ! 887: BVC bvc,a <label_0x1> |
| 755 | .word 0x8d802000 ! 888: WRFPRS_I wr %r0, 0x0000, %fprs |
| 756 | .word 0xc65fe001 ! 893: LDX_I ldx [%r31 + 0x0001], %r3 |
| 757 | .word 0x8d802004 ! 896: WRFPRS_I wr %r0, 0x0004, %fprs |
| 758 | .word 0x3e700001 ! 901: BPVC <illegal instruction> |
| 759 | .word 0xd6f9802e ! 902: SWAPA_R swapa %r11, [%r6 + %r14] 0x01 |
| 760 | .word 0x8bd02034 ! 905: Tcc_I tcs icc_or_xcc, %r0 + 52 |
| 761 | .word 0x34800001 ! 906: BG bg,a <label_0x1> |
| 762 | .word 0x95d02035 ! 911: Tcc_I tg icc_or_xcc, %r0 + 53 |
| 763 | mov 0x32, %r30 |
| 764 | .word 0x89d0001e ! 912: Tcc_R tleu icc_or_xcc, %r0 + %r30 |
| 765 | .word 0xd607e001 ! 913: LDUW_I lduw [%r31 + 0x0001], %r11 |
| 766 | mov 0x35, %r30 |
| 767 | .word 0x93d0001e ! 914: Tcc_R tne icc_or_xcc, %r0 + %r30 |
| 768 | .word 0xd6d7e030 ! 915: LDSHA_I ldsha [%r31, + 0x0030] %asi, %r11 |
| 769 | .word 0x97d02033 ! 922: Tcc_I tge icc_or_xcc, %r0 + 51 |
| 770 | .word 0xd63fe001 ! 923: STD_I std %r11, [%r31 + 0x0001] |
| 771 | mov 0x32, %r30 |
| 772 | .word 0x99d0001e ! 924: Tcc_R tgu icc_or_xcc, %r0 + %r30 |
| 773 | .word 0x9a6a6001 ! 925: UDIVX_I udivx %r9, 0x0001, %r13 |
| 774 | .word 0x8d802004 ! 926: WRFPRS_I wr %r0, 0x0004, %fprs |
| 775 | .word 0xdac7e030 ! 927: LDSWA_I ldswa [%r31, + 0x0030] %asi, %r13 |
| 776 | .word 0xda87e020 ! 932: LDUWA_I lduwa [%r31, + 0x0020] %asi, %r13 |
| 777 | .word 0xdadfe010 ! 935: LDXA_I ldxa [%r31, + 0x0010] %asi, %r13 |
| 778 | .word 0xda8fe030 ! 938: LDUBA_I lduba [%r31, + 0x0030] %asi, %r13 |
| 779 | mov 0x31, %r30 |
| 780 | .word 0x93d0001e ! 939: Tcc_R tne icc_or_xcc, %r0 + %r30 |
| 781 | .word 0x8fd02033 ! 940: Tcc_I tvs icc_or_xcc, %r0 + 51 |
| 782 | .word 0xdac004a0 ! 943: LDSWA_R ldswa [%r0, %r0] 0x25, %r13 |
| 783 | .word 0x81692001 ! 952: SDIVX_I sdivx %r4, 0x0001, %r0 |
| 784 | mov 0x35, %r30 |
| 785 | .word 0x95d0001e ! 955: Tcc_R tg icc_or_xcc, %r0 + %r30 |
| 786 | .word 0xc08004a0 ! 956: LDUWA_R lduwa [%r0, %r0] 0x25, %r0 |
| 787 | mov 0x32, %r30 |
| 788 | .word 0x95d0001e ! 959: Tcc_R tg icc_or_xcc, %r0 + %r30 |
| 789 | .word 0xc0c804a0 ! 960: LDSBA_R ldsba [%r0, %r0] 0x25, %r0 |
| 790 | .word 0x97d02034 ! 961: Tcc_I tge icc_or_xcc, %r0 + 52 |
| 791 | .word 0xc0d804a0 ! 966: LDXA_R ldxa [%r0, %r0] 0x25, %r0 |
| 792 | .word 0x8fd02034 ! 967: Tcc_I tvs icc_or_xcc, %r0 + 52 |
| 793 | .word 0x91d02033 ! 970: Tcc_I ta icc_or_xcc, %r0 + 51 |
| 794 | .word 0xc007e001 ! 971: LDUW_I lduw [%r31 + 0x0001], %r0 |
| 795 | .word 0xc00fe001 ! 972: LDUB_I ldub [%r31 + 0x0001], %r0 |
| 796 | .word 0xd9e00029 ! 983: CASA_I casa [%r0] 0x 1, %r9, %r12 |
| 797 | .word 0x87802004 ! 986: WRASI_I wr %r0, 0x0004, %asi |
| 798 | .word 0x8d802000 ! 997: WRFPRS_I wr %r0, 0x0000, %fprs |
| 799 | |
| 800 | |
| 801 | .data |
| 802 | user_data_start: |
| 803 | .xword 0xd9bfa99426db4f54 |
| 804 | .xword 0xc61e3599d0a7a38e |
| 805 | .xword 0xe8e11f6cda58cd08 |
| 806 | .xword 0xd469b4cadfef6304 |
| 807 | .xword 0xfe640a078688cdc9 |
| 808 | .xword 0x021b4c0e561f6445 |
| 809 | .xword 0x328ab10a5099814c |
| 810 | .xword 0xb6afa4c44a58cc26 |
| 811 | .xword 0xc718e7c455e1a0d6 |
| 812 | .xword 0x274918d8bcfa669c |
| 813 | .xword 0x3a69ae77f2de4f72 |
| 814 | .xword 0xd97c88fa57c2f39b |
| 815 | .xword 0xcb0d0f0ad85ca6d8 |
| 816 | .xword 0xf4173012a5bbac84 |
| 817 | .xword 0xc58a98841fd76f83 |
| 818 | .xword 0x1443eb316d5626ba |
| 819 | .xword 0xf658be66c82779d7 |
| 820 | .xword 0x764a93dd0089e0a4 |
| 821 | .xword 0x267319deff4b9ba2 |
| 822 | .xword 0x4ef9d73ad42de9bd |
| 823 | .xword 0x02a0612dc08de3db |
| 824 | .xword 0x585321ea7ed06c54 |
| 825 | .xword 0xf915e9365864544e |
| 826 | .xword 0x271767dca0338d16 |
| 827 | .xword 0xae56bf3a355852e6 |
| 828 | .xword 0x135bf9e8a475f8bd |
| 829 | .xword 0xc5184da6f3188dd5 |
| 830 | .xword 0x4fd319d621a86534 |
| 831 | .xword 0x8a4bb29675c3bc5b |
| 832 | .xword 0x9cd3abf0a496e94f |
| 833 | .xword 0xa505c77f93899a76 |
| 834 | .xword 0xcff3e983c280a543 |
| 835 | .xword 0x90c3f23e62407914 |
| 836 | .xword 0xdc26c0fb456833dc |
| 837 | .xword 0xf3f3c2d6c406cd17 |
| 838 | .xword 0x4614ffc2aa113f86 |
| 839 | .xword 0x5807a1e0f2ecadfa |
| 840 | .xword 0x36b67563e9d4cfde |
| 841 | .xword 0xda5ea879c33c5017 |
| 842 | .xword 0xa170ff4ab058db0f |
| 843 | .xword 0x4b8ea5f4f2799335 |
| 844 | .xword 0xf1de8417f78e13a7 |
| 845 | .xword 0x568bb6620148d3ca |
| 846 | .xword 0xd531f6ff1d463c3b |
| 847 | .xword 0x59bdc6f18e3e23b9 |
| 848 | .xword 0x8a47b0bbc9d148aa |
| 849 | .xword 0x7009c1bdf840693e |
| 850 | .xword 0x2639867dc1acb55b |
| 851 | .xword 0x39741e940ae48eb5 |
| 852 | .xword 0x81fd6f2e4af84e3d |
| 853 | .xword 0xf95f8310c2aafef6 |
| 854 | .xword 0xdfbe707e9873c8ee |
| 855 | .xword 0x6ed37f37bb659aa1 |
| 856 | .xword 0xe1026f2663c2ece5 |
| 857 | .xword 0x299f3fa721964d88 |
| 858 | .xword 0x2ab3e5e3aa5fa1e9 |
| 859 | .xword 0x209cbc20e6f3b244 |
| 860 | .xword 0xa941bd641d3f2682 |
| 861 | .xword 0x29724e8181b7d190 |
| 862 | .xword 0xa640b88cef39e231 |
| 863 | .xword 0x8f32ccff5b8729ef |
| 864 | .xword 0x03eba2410281706f |
| 865 | .xword 0x429aca9add8a691c |
| 866 | .xword 0x069d5c73a02ed56b |
| 867 | .xword 0x26e9393de2742d3d |
| 868 | .xword 0x0ec2f1de06771ee1 |
| 869 | .xword 0xe580d615c7aca5fc |
| 870 | .xword 0x691ae7e6e5c297a8 |
| 871 | .xword 0x2122199bae334594 |
| 872 | .xword 0x175cb15e77bc607a |
| 873 | .xword 0x127172c1ec611a96 |
| 874 | .xword 0xff1f75390d5f4844 |
| 875 | .xword 0x820c2d96b88e441b |
| 876 | .xword 0x58e0d583c84ac138 |
| 877 | .xword 0xce0bc4d0ba3652af |
| 878 | .xword 0x7208544b7c2b197e |
| 879 | .xword 0x0346e9162b4e7fdd |
| 880 | .xword 0x85be86750aec0710 |
| 881 | .xword 0x3bfa2f482f9b9e1a |
| 882 | .xword 0x2cc483cdbcef166a |
| 883 | .xword 0x08fda66cfebc1680 |
| 884 | .xword 0x22c24ee5e81a0175 |
| 885 | .xword 0xfa3c6096447672d6 |
| 886 | .xword 0xfe316416eba2a03d |
| 887 | .xword 0x8993516c4705cdf6 |
| 888 | .xword 0xa4dc7bea277fa6d2 |
| 889 | .xword 0x0e29f4487a5651a2 |
| 890 | .xword 0x38f6d1f177ac5b32 |
| 891 | .xword 0x5ae3a3ffadf6c75f |
| 892 | .xword 0xe73772c6d635bb52 |
| 893 | .xword 0xa1c4f26b4fceffa8 |
| 894 | .xword 0xe014170484f548e5 |
| 895 | .xword 0xf4881c7dcec73632 |
| 896 | .xword 0x32c795ccb2396c08 |
| 897 | .xword 0x3d5a6a3dfe20e443 |
| 898 | .xword 0x826da5ffd8c49071 |
| 899 | .xword 0x608a1aa31ab96086 |
| 900 | .xword 0x67c7c439dc976871 |
| 901 | .xword 0x27235b5517c3c95c |
| 902 | .xword 0x412d481561506585 |
| 903 | .xword 0x52ba2f5e961e1028 |
| 904 | .xword 0xb750dd76b54ca614 |
| 905 | .xword 0xd27d8740cd0038fd |
| 906 | .xword 0x8099b0799abb07ef |
| 907 | .xword 0x508f4a126353a510 |
| 908 | .xword 0x84b066909126b39c |
| 909 | .xword 0x4c051b2cf78e163a |
| 910 | .xword 0x91ee0cbafdded355 |
| 911 | .xword 0x29bc73289da7e0a4 |
| 912 | .xword 0x0ba4f0318959be58 |
| 913 | .xword 0x9d29335940521882 |
| 914 | .xword 0x39fbb7bf3cc0859f |
| 915 | .xword 0x39bc8d2c1f1151ec |
| 916 | .xword 0xc335a7b3cce5c0b7 |
| 917 | .xword 0x5c6c1f4a46f408c8 |
| 918 | .xword 0x43b7502996b2aaca |
| 919 | .xword 0xa965ea3917984a9b |
| 920 | .xword 0x391107262fc15493 |
| 921 | .xword 0xfa29cd40c1b9e61f |
| 922 | .xword 0x6498df7eac8c39b4 |
| 923 | .xword 0x06cf8a272eef6108 |
| 924 | .xword 0x758621fedb33de4f |
| 925 | .xword 0x52eb32337b3d1693 |
| 926 | .xword 0x996ff94b480c10c8 |
| 927 | .xword 0xb353abbbf1df9d19 |
| 928 | .xword 0x95360f4a0182ee43 |
| 929 | .xword 0x488d5f6fb64b6119 |
| 930 | .xword 0xe301c64a6871898f |
| 931 | .xword 0x0f02804af72c9140 |
| 932 | .xword 0x82e0d40efc0768be |
| 933 | .xword 0xf48c29c0f5631d3d |
| 934 | .xword 0xf19a1bbd06dda8e4 |
| 935 | .xword 0xbb530b07a3ac887e |
| 936 | .xword 0x95314e0689205713 |
| 937 | .xword 0x777ca4ae1414eed5 |
| 938 | .xword 0x09fdf3c6094376dc |
| 939 | .xword 0x776bf964349d3451 |
| 940 | .xword 0x6b5d00f89822ad8c |
| 941 | .xword 0xcd2409c974cccb66 |
| 942 | .xword 0xc263b96b8da8169d |
| 943 | .xword 0x2d9e706b75ed38b0 |
| 944 | .xword 0x52dfd8567879e06a |
| 945 | .xword 0x89b08d294d4decf5 |
| 946 | .xword 0xa66005e9a313f13b |
| 947 | .xword 0x980d0ae950363971 |
| 948 | .xword 0xd4b6620de28911d3 |
| 949 | .xword 0x4f45a3dc54a0cf46 |
| 950 | .xword 0x51a822c29a3606c6 |
| 951 | .xword 0xeda05adddf374a23 |
| 952 | .xword 0xf4b6cf106f4e95fd |
| 953 | .xword 0xb17ea5f9d58ee60d |
| 954 | .xword 0x0936e47fce206edf |
| 955 | .xword 0x4be64a07231b1a9f |
| 956 | .xword 0xdaf2bbad7b209bcb |
| 957 | .xword 0xe553d232c7256497 |
| 958 | .xword 0x50092e47a3444fb7 |
| 959 | .xword 0xfa6a36bfad37feab |
| 960 | .xword 0x08a68ae9bc7b3c09 |
| 961 | .xword 0x454057c00db29ed5 |
| 962 | .xword 0x2a063c582f967fdf |
| 963 | .xword 0xe9aab6e8ce29c675 |
| 964 | .xword 0x0999069303f7986c |
| 965 | .xword 0xc6ab67b89d8f8933 |
| 966 | .xword 0x45bd78d3260d6788 |
| 967 | .xword 0x0d4214bb2747f6fd |
| 968 | .xword 0x15c06338d96a282a |
| 969 | .xword 0x275a5a5705f9a7a6 |
| 970 | .xword 0xb4eafeb8b1349c58 |
| 971 | .xword 0x0e0872db927678a4 |
| 972 | .xword 0xf5df01854877c99f |
| 973 | .xword 0x0264292aaecaed69 |
| 974 | .xword 0x1fefb80563d4c760 |
| 975 | .xword 0xb9d46af64ce8c710 |
| 976 | .xword 0x3b06307d067905a0 |
| 977 | .xword 0x8f5983661943f2ff |
| 978 | .xword 0x23f1bd9d0627b607 |
| 979 | .xword 0x4b1512f2c327cefa |
| 980 | .xword 0xf4eb3fc632e0ed46 |
| 981 | .xword 0x0b843f152c754ced |
| 982 | .xword 0x9d319700736e906e |
| 983 | .xword 0x3200f53fb95d0c83 |
| 984 | .xword 0xe87baa23f2ea9b61 |
| 985 | .xword 0x4e074ad9f9def5f2 |
| 986 | .xword 0x77b1e91b4d5c3164 |
| 987 | .xword 0x870d816c9aae586b |
| 988 | .xword 0x01dd4395d7df3602 |
| 989 | .xword 0x646852a947768256 |
| 990 | .xword 0x91ce0169ff5c86d6 |
| 991 | .xword 0xf392d18f99ba311e |
| 992 | .xword 0xdb5fda28619b4e19 |
| 993 | .xword 0x9967b2bbcab66bc3 |
| 994 | .xword 0x637a35a0993708eb |
| 995 | .xword 0xeb97906133e5d59a |
| 996 | .xword 0xada7ce8f5e3da53e |
| 997 | .xword 0xeaf49989435e339b |
| 998 | .xword 0x855f38789db278cd |
| 999 | .xword 0xc9c9c241c2525ed0 |
| 1000 | .xword 0x9db9f30af160c97a |
| 1001 | .xword 0x32ad42cb7d63abc3 |
| 1002 | .xword 0x805690b7a82dce7a |
| 1003 | .xword 0x5b059094b135c4bb |
| 1004 | .xword 0xc4527b34756d1e14 |
| 1005 | .xword 0x17fd2cfd8c873deb |
| 1006 | .xword 0xac46f46f0edf9cc2 |
| 1007 | .xword 0x2a5e43844cf069ac |
| 1008 | .xword 0x426d0c23953f8d9c |
| 1009 | .xword 0x3d3a2d9e1807bb4c |
| 1010 | .xword 0x14e760518bf2821f |
| 1011 | .xword 0x9d5747dc69b9a540 |
| 1012 | .xword 0x591bda52e8b8a265 |
| 1013 | .xword 0x1fed5a26b7d379bb |
| 1014 | .xword 0x86c5d31e20baae0c |
| 1015 | .xword 0x5078a9f2a3b97ee8 |
| 1016 | .xword 0x2e8b572b90745660 |
| 1017 | .xword 0x19a6b57a103506df |
| 1018 | .xword 0x5afedaaec60cd194 |
| 1019 | .xword 0xa4ea272474d002e8 |
| 1020 | .xword 0x87ed4894e064b912 |
| 1021 | .xword 0x5a7016206da56a43 |
| 1022 | .xword 0xe1dd565ec2d163c1 |
| 1023 | .xword 0x982c422dc6ad7e85 |
| 1024 | .xword 0x444a83d80a87db92 |
| 1025 | .xword 0x45a5e54d68335243 |
| 1026 | .xword 0xb8a2b7b4ebcfa216 |
| 1027 | .xword 0x2815e6c9f5cf9105 |
| 1028 | .xword 0x693d4a3a738a1cee |
| 1029 | .xword 0x82ecce3c09d072fd |
| 1030 | .xword 0xeb277b0f5e31a5d5 |
| 1031 | .xword 0x36e53eea3e3b4ed9 |
| 1032 | .xword 0x1a8484e03aeff22d |
| 1033 | .xword 0x1397c7c09f3fd508 |
| 1034 | .xword 0x67c5df3afef8b6bb |
| 1035 | .xword 0xf17fcf56ace93df7 |
| 1036 | .xword 0x1e433962c3c54273 |
| 1037 | .xword 0x997cb02838a7872b |
| 1038 | .xword 0x9e196d81b9565f0b |
| 1039 | .xword 0xad25ebaff289a981 |
| 1040 | .xword 0x8c809f0d93f69b5f |
| 1041 | .xword 0x4d37c02f050b563c |
| 1042 | .xword 0xd10d389415cdb4d3 |
| 1043 | .xword 0xd6cf6a5d42468638 |
| 1044 | .xword 0x027dca3132632d84 |
| 1045 | .xword 0x14dda5bb19ea9ade |
| 1046 | .xword 0x95721f830bef5196 |
| 1047 | .xword 0x061fc3ae355f4fff |
| 1048 | .xword 0x752b31fffbb9849c |
| 1049 | .xword 0x6359eff83ea25a8d |
| 1050 | .xword 0xec09bb0acea9e67f |
| 1051 | .xword 0x31be1b718f1e99d5 |
| 1052 | .xword 0x2eb434265bbd7f33 |
| 1053 | .xword 0x43dbe94a88f79f11 |
| 1054 | .xword 0xeb897024f7e12e61 |
| 1055 | .xword 0x37a048b93b78fb03 |
| 1056 | .xword 0x39df375434d26099 |
| 1057 | .xword 0x40712cebb6607a4f |
| 1058 | .xword 0x5dccdb92d12a6656 |
| 1059 | |
| 1060 | |
| 1061 | .text |
| 1062 | ta T_GOOD_TRAP |
| 1063 | .data |
| 1064 | .xword 0x0 |
| 1065 | |
| 1066 | SECTION .HTRAPS |
| 1067 | .text |
| 1068 | htrap_5_ext: |
| 1069 | rd %pc, %g2 |
| 1070 | inc %g3 |
| 1071 | add %g2, htrap_5_ext_done-htrap_5_ext, %g2 |
| 1072 | rdpr %tl, %g3 |
| 1073 | rdpr %tstate, %g4 |
| 1074 | rdhpr %htstate, %g5 |
| 1075 | inc %g3 |
| 1076 | wrpr %g3, %tl |
| 1077 | wrpr %g2, %tpc |
| 1078 | wrpr %g4, %tstate |
| 1079 | wrhpr %g5, %htstate |
| 1080 | retry |
| 1081 | htrap_5_ext_done: |
| 1082 | done |
| 1083 | |
| 1084 | #if 0 |
| 1085 | !!# /* |
| 1086 | !!# output of /import/bw/tools/local/indra-release/indra,1.4.11/bin/ijpp (indrajal preprocessor) - Tue Mar 30 09:54:34 2004 |
| 1087 | !!# */ |
| 1088 | !!# |
| 1089 | !!# %%section c_declarations |
| 1090 | !!# |
| 1091 | !!# |
| 1092 | !!# #define HTRAPS 0 |
| 1093 | !!# |
| 1094 | !!# %% |
| 1095 | !!# %%section control |
| 1096 | !!# |
| 1097 | !!# %% |
| 1098 | !!# %%section init |
| 1099 | !!# { |
| 1100 | !!# |
| 1101 | !!# |
| 1102 | !!# IJ_bind_thread_group("diag.j", 24, th0, 0x01); |
| 1103 | !!# |
| 1104 | !!# // Random 64 bits // |
| 1105 | !!# IJ_set_rvar("diag.j", 27, Rv_rand_64,"64'hrrrrrrrr_rrrrrrrr"); |
| 1106 | !!# |
| 1107 | !!# // Register usage - use 0-27 // |
| 1108 | !!# // R31 is memory pointer |
| 1109 | !!# // R30 is trap number register |
| 1110 | !!# // |
| 1111 | !!# IJ_set_ropr_fld("diag.j", 33, ijdefault, Ft_Rs1, "5'b0rrrr"); |
| 1112 | !!# IJ_set_ropr_fld("diag.j", 34, ijdefault, Ft_Rs2, "5'b0rrrr"); |
| 1113 | !!# IJ_set_ropr_fld("diag.j", 35, ijdefault, Ft_Rd, "5'b0rrrr"); |
| 1114 | !!# |
| 1115 | !!# // Load/Store pointer = r31 |
| 1116 | !!# IJ_set_ropr_fld("diag.j", 38, Ro_ldst_ptr, Ft_Rs1, "{31}"); |
| 1117 | !!# |
| 1118 | !!# // ASI register values |
| 1119 | !!# IJ_set_ropr_fld("diag.j", 41, Ro_wrasi_i, Ft_Rs1, "{0}"); |
| 1120 | !!# IJ_set_ropr_fld("diag.j", 42, Ro_wrasi_i, Ft_Simm13, "{0x4, 0x10, 0x14, 0x16, 0x45, 0x54}"); |
| 1121 | !!# |
| 1122 | !!# // General Ldst ASIs to use .. 50% should be illegal .. |
| 1123 | !!# IJ_set_ropr_fld("diag.j", 45, Ro_nontrap_ldasi, Ft_Imm_Asi, "{0x12,0x14, 0x53..0x64}"); |
| 1124 | !!# IJ_set_ropr_fld("diag.j", 46, Ro_nontrap_ldasi, Ft_Rs1, "{31}"); |
| 1125 | !!# IJ_set_ropr_fld("diag.j", 47, Ro_nontrap_ldasi, Ft_Rs2, "{0}"); |
| 1126 | !!# IJ_set_ropr_fld("diag.j", 48, Ro_nontrap_ldasi, Ft_Simm13, "{0x0}, 6'brr0000"); |
| 1127 | !!# |
| 1128 | !!# // General Ldst alignment to use .. 50% should be illegal .. |
| 1129 | !!# IJ_set_ropr_fld("diag.j", 51, Ro_nontrap_ld, Fm_align_Simm13, "{0x0, 0x7}"); |
| 1130 | !!# IJ_set_ropr_fld("diag.j", 52, Ro_nontrap_ld, Ft_Rs1, "{31}"); |
| 1131 | !!# IJ_set_ropr_fld("diag.j", 53, Ro_nontrap_ld, Ft_Rs2, "{0}"); |
| 1132 | !!# |
| 1133 | !!# // Trap ASI operands |
| 1134 | !!# IJ_set_ropr_fld("diag.j", 56, Ro_traps_asi, Ft_Imm_Asi, "{0x25, 0x72..0x74}"); |
| 1135 | !!# IJ_set_ropr_fld("diag.j", 57, Ro_traps_asi, Ft_Rs1, "{0}"); |
| 1136 | !!# IJ_set_ropr_fld("diag.j", 58, Ro_traps_asi, Ft_Rs2, "{0}"); |
| 1137 | !!# IJ_set_ropr_fld("diag.j", 59, Ro_traps_asi, Ft_Simm13, "{0x25, 0x72..0x74}"); |
| 1138 | !!# |
| 1139 | !!# // Trap #s to use |
| 1140 | !!# IJ_set_ropr_fld("diag.j", 62, Ro_traps_i, Ft_Sw_Trap, "{0x30..0x35 }"); |
| 1141 | !!# IJ_set_ropr_fld("diag.j", 63, Ro_traps_i, Ft_Rs1, "{0}"); |
| 1142 | !!# IJ_set_ropr_fld("diag.j", 64, Ro_traps_i, Ft_Cond_f2, "{0x0 .. 0xf}"); |
| 1143 | !!# IJ_set_ropr_fld("diag.j", 65, Ro_traps_r, Ft_Rs1, "{0}"); |
| 1144 | !!# IJ_set_ropr_fld("diag.j", 66, Ro_traps_r, Ft_Rs2, "{30}"); |
| 1145 | !!# IJ_set_ropr_fld("diag.j", 67, Ro_traps_r, Ft_Cond_f2, "{0x0 .. 0xf}"); |
| 1146 | !!# IJ_set_ropr_fld("diag.j", 68, Ro_traps_r, Ft_Simm13, "{0x30..0x35}"); |
| 1147 | !!# IJ_set_rvar("diag.j", 69, Rv_init_trap, "{0x30..0x35}"); |
| 1148 | !!# |
| 1149 | !!# // FPRS splash |
| 1150 | !!# IJ_set_ropr_fld("diag.j", 72, Ro_wrfprs, Ft_Rs1, "{0}"); |
| 1151 | !!# IJ_set_ropr_fld("diag.j", 73, Ro_wrfprs, Ft_Simm13, "{0, 4}"); |
| 1152 | !!# |
| 1153 | !!# // Weights |
| 1154 | !!# IJ_set_rvar("diag.j", 76, wt_high, "{6}"); |
| 1155 | !!# IJ_set_rvar("diag.j", 77, wt_med, "{3}"); |
| 1156 | !!# IJ_set_rvar("diag.j", 78, wt_low, "{1}"); |
| 1157 | !!# |
| 1158 | !!# // Initialize registers .. |
| 1159 | !!# int i, j, k; |
| 1160 | !!# IJ_printf ("diag.j", 82, th0,"!Initialializing registers\n"); |
| 1161 | !!# for (k=0; k<3; k++) { |
| 1162 | !!# for (i = 0; i < 31; i++) { |
| 1163 | !!# j=i*8; |
| 1164 | !!# IJ_printf ("diag.j", 86, th0,"\tldx [%%r31+%d], %%r%d\n", j,i); |
| 1165 | !!# } |
| 1166 | !!# IJ_printf ("diag.j", 88, th0,"\tsave %%r31, %%r0, %%r31\n"); |
| 1167 | !!# } |
| 1168 | !!# for (k=0; k<3; k++) { |
| 1169 | !!# IJ_printf ("diag.j", 91, th0,"\trestore\n"); |
| 1170 | !!# } |
| 1171 | !!# |
| 1172 | !!# } |
| 1173 | !!# |
| 1174 | !!# %% |
| 1175 | !!# %%section finish |
| 1176 | !!# { |
| 1177 | !!# |
| 1178 | !!# |
| 1179 | !!# int i; |
| 1180 | !!# IJ_printf ("diag.j", 97, th0,"\n\n.data\nuser_data_start:\n"); |
| 1181 | !!# for (i = 0; i < 256; i++) { |
| 1182 | !!# IJ_printf ("diag.j", 99, th0,"\t.xword\t0x%016llrx\n", Rv_rand_64); |
| 1183 | !!# } |
| 1184 | !!# |
| 1185 | !!# } |
| 1186 | !!# |
| 1187 | !!# %% |
| 1188 | !!# %%section map |
| 1189 | !!# |
| 1190 | !!# %% |
| 1191 | !!# %%section grammar |
| 1192 | !!# |
| 1193 | !!# |
| 1194 | !!# block: inst | block inst |
| 1195 | !!# { |
| 1196 | !!# IJ_generate ("diag.j", 390, th0, $2); |
| 1197 | !!# }; |
| 1198 | !!# |
| 1199 | !!# inst: trap_asr %rvar wt_low |
| 1200 | !!# | trap_asi %rvar wt_low |
| 1201 | !!# | tcc %rvar wt_high |
| 1202 | !!# | ldst_excp %rvar wt_med |
| 1203 | !!# | ldstasi_excp %rvar wt_med |
| 1204 | !!# | change_mode %rvar wt_low |
| 1205 | !!# | alu %rvar wt_med |
| 1206 | !!# | br %rvar wt_med |
| 1207 | !!# | wrasi %rvar wt_low |
| 1208 | !!# | splash_fprs %rvar wt_low |
| 1209 | !!# | stores %rvar wt_low |
| 1210 | !!# ; |
| 1211 | !!# |
| 1212 | !!# change_mode : |
| 1213 | !!# tCHANGE_NONPRIV |
| 1214 | !!# | tCHANGE_PRIV |
| 1215 | !!# | tCHANGE_NONHPRIV |
| 1216 | !!# | tCHANGE_HPRIV |
| 1217 | !!# ; |
| 1218 | !!# |
| 1219 | !!# trap_asr : |
| 1220 | !!# tRDPR_TPC |
| 1221 | !!# | tRDPR_TSTATE |
| 1222 | !!# | tRDPR_TT |
| 1223 | !!# | tRDPR_TNPC |
| 1224 | !!# | tRDPR_TBA |
| 1225 | !!# | tRDPR_TL |
| 1226 | !!# | tRDHPR_HTBA |
| 1227 | !!# | tRDHPR_HPSTATE |
| 1228 | !!# ; |
| 1229 | !!# |
| 1230 | !!# splash_fprs : |
| 1231 | !!# tWRFPRS_I %ropr Ro_wrfprs |
| 1232 | !!# ; |
| 1233 | !!# |
| 1234 | !!# trap_asi : |
| 1235 | !!# asi_load_r %ropr Ro_traps_asi |
| 1236 | !!# ; |
| 1237 | !!# |
| 1238 | !!# wrasi : tWRASI_I %ropr Ro_wrasi_i |
| 1239 | !!# ; |
| 1240 | !!# reg_tcc : tTcc_R %ropr Ro_traps_r |
| 1241 | !!# { |
| 1242 | !!# IJ_printf("diag.j", 438, th0, "\tmov 0x%rx, %%r30\n", Rv_init_trap); |
| 1243 | !!# } |
| 1244 | !!# ; |
| 1245 | !!# |
| 1246 | !!# tcc : |
| 1247 | !!# tTcc_I %ropr Ro_traps_i |
| 1248 | !!# | reg_tcc |
| 1249 | !!# |
| 1250 | !!# ; |
| 1251 | !!# |
| 1252 | !!# ldst_excp : mLDST_EXCP |
| 1253 | !!# ldds %ropr Ro_nontrap_ld | |
| 1254 | !!# load_r %ropr Ro_nontrap_ld | |
| 1255 | !!# load_i %ropr Ro_nontrap_ld |
| 1256 | !!# |
| 1257 | !!# ; |
| 1258 | !!# |
| 1259 | !!# ldstasi_excp : |
| 1260 | !!# asi_load_i %ropr Ro_nontrap_ldasi |
| 1261 | !!# ; |
| 1262 | !!# |
| 1263 | !!# ldds: tLDD_R | tLDD_I | tLDDA_I | tLDDA_R |
| 1264 | !!# ; |
| 1265 | !!# |
| 1266 | !!# stores: |
| 1267 | !!# stds %ropr Ro_ldst_ptr | |
| 1268 | !!# stfs %ropr Ro_ldst_ptr | |
| 1269 | !!# stqfs %ropr Ro_ldst_ptr | |
| 1270 | !!# sts %ropr Ro_ldst_ptr |
| 1271 | !!# ; |
| 1272 | !!# stds: tSTDA_R | tSTDA_I | tSTD_R | tSTD_I | tSTDF_R | tSTDF_I |
| 1273 | !!# ; |
| 1274 | !!# stfs: tSTF_R | tSTF_I |
| 1275 | !!# ; |
| 1276 | !!# stqfs: tSTQF_R | tSTQF_I |
| 1277 | !!# ; |
| 1278 | !!# sts: tSTB_R | tSTB_I | tSTH_R | tSTH_I | tSTW_R | tSTW_I | tSTX_R | tSTX_I |
| 1279 | !!# |
| 1280 | !!# ; |
| 1281 | !!# |
| 1282 | !!# load_r: tLDSB_R | tLDSH_R | tLDSW_R | tLDUB_R | tLDUH_R | tLDUW_R | tLDX_R |
| 1283 | !!# | tLDQF_R |
| 1284 | !!# ; |
| 1285 | !!# |
| 1286 | !!# load_i: tLDSB_I | tLDSH_I | tLDSW_I | tLDUB_I | tLDUH_I | tLDUW_I | tLDX_I |
| 1287 | !!# | tLDQFA_I |
| 1288 | !!# ; |
| 1289 | !!# |
| 1290 | !!# asi_load_i: tLDSBA_I | tLDSHA_I | tLDSWA_I | tLDUBA_I | tLDUHA_I | tLDUWA_I |
| 1291 | !!# | tLDXA_I |
| 1292 | !!# ; |
| 1293 | !!# |
| 1294 | !!# asi_load_r:tLDSBA_R | tLDSHA_R | tLDSWA_R | tLDUBA_R | tLDUHA_R | tLDUWA_R |
| 1295 | !!# | tLDXA_R |
| 1296 | !!# ; |
| 1297 | !!# |
| 1298 | !!# asi_store_i: tSTBA_I | tSTHA_I | tSTWA_I | tSTXA_I |
| 1299 | !!# ; |
| 1300 | !!# |
| 1301 | !!# asi_store_r: tSTBA_R | tSTHA_R | tSTWA_R | tSTXA_R |
| 1302 | !!# ; |
| 1303 | !!# |
| 1304 | !!# alu : |
| 1305 | !!# tADD_I | tADDcc_R | tADDcc_I | tADDCcc_I | |
| 1306 | !!# tMULX_R | tMULX_I | tUMUL_R | tUMULcc_R | tUMULcc_I | |
| 1307 | !!# tSMULcc_R | tSDIV_I | tSDIV_R | tSDIVX_R | tSDIVX_I | tUDIVX_R | |
| 1308 | !!# tUDIVX_I | tFDIVs | tFDIVd | tFDIVq | tSWAP_I | tSWAPA_R | tCASA_I | |
| 1309 | !!# tFSQRTq | tFSQRTd |
| 1310 | !!# ; |
| 1311 | !!# |
| 1312 | !!# br : tBA | tBN | tBNE | tBE | tBG | tBLE | tBGE | tBL | tBGU | tBLEU | |
| 1313 | !!# tBCC | tBCS | tBPOS | tBNEG | tBVC | tBVS | tBPA | tBPN | tBPNE | |
| 1314 | !!# tBPE | tBPG | tBPLE | tBPGE | tBPL | tBPGU | tBPLEU | tBPCC | tBPCS | |
| 1315 | !!# tBPPOS | tBPNEG | tBPVC | tBPVS |
| 1316 | !!# ; |
| 1317 | !!# |
| 1318 | !!# |
| 1319 | !!# |
| 1320 | !!# |
| 1321 | !!# %% |
| 1322 | !!# %%section cbfunc |
| 1323 | !!# |
| 1324 | !!# %% |
| 1325 | !!# %%section stat |
| 1326 | !!# |
| 1327 | !!# %% |
| 1328 | #endif |