/* * ========== Copyright Header Begin ========================================== * * OpenSPARC T2 Processor File: blimp_rand1_st_2865865.s * Copyright (C) 1995-2007 Sun Microsystems, Inc. All Rights Reserved * 4150 Network Circle, Santa Clara, California 95054, U.S.A. * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 2 of the License. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * For the avoidance of doubt, and except that if any non-GPL license * choice is available it will apply instead, Sun elects to use only * the General Public License version 2 (GPLv2) at this time for any * software where a choice of GPL license versions is made * available with the language indicating that GPLv2 or any later version * may be used, or where a choice of which version of the GPL is applied is * otherwise unspecified. * * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, * CA 95054 USA or visit www.sun.com if you need additional information or * have any questions. * * * ========== Copyright Header End ============================================ */ #include "asi_s.h" #define THREAD_COUNT 1 #define PART0_NZ_PAGE_SIZE_0 1 #define PART0_NZ_PAGE_SIZE_1 5 #define PART0_NZ_PAGE_SIZE_2 3 #define PART0_NZ_PAGE_SIZE_3 0 #define PART0_Z_PAGE_SIZE_0 0 #define PART0_Z_PAGE_SIZE_1 1 #define PART0_Z_PAGE_SIZE_2 0 #define PART0_Z_PAGE_SIZE_3 0 #define PART0_NZ_HWTEN_0 0 #define PART0_NZ_HWTEN_1 0 #define PART0_NZ_HWTEN_2 0 #define PART0_NZ_HWTEN_3 1 #define PART0_Z_HWTEN_0 1 #define PART0_Z_HWTEN_1 1 #define PART0_Z_HWTEN_2 1 #define PART0_Z_HWTEN_3 1 #define CREGS_PIL 0 #define CREGS_FPRS_FEF 1 #define CREGS_TSTATE_ASI 0x81 #define SCONTEXT 0x44 #define MAIN_PAGE_NUCLEUS_ONLY #define USER_PAGE_CUSTOM_MAP #define USER_TEXT_MT_MAP #define USER_DATA_MT_MAP #define NO_NZ_TSB_IN_PRIV ! Give us more space to work with #define PART_0_LIMIT 0xFFFFFFFFF #define DISABLE_PART_LIMIT_CHECK #define KERNEL_BASE_TEXT_VA 0xA34000 /*TSB index 11A*/ #define KERNEL_BASE_TEXT_RA 0xA34000 #define KERNEL_BASE_DATA_VA 0xC34000 /*TSB index 21A*/ #define KERNEL_BASE_DATA_RA 0xC34000 ! Use BLIMP's reflecting handler for the direct-to-hypervisor traps #define H_HT0_IAE_privilege_violation_0x08 blimp_reflector #define H_HT0_IAE_unauth_access_0x0b blimp_reflector #define H_HT0_IAE_nfo_page_0x0c blimp_reflector #define H_HT0_Illegal_instruction_0x10 blimp_reflector #define H_HT0_DAE_invalid_asi_0x14 blimp_reflector #define H_HT0_DAE_privilege_violation_0x15 blimp_reflector #define H_HT0_DAE_nc_page_0x16 blimp_reflector #define H_HT0_DAE_nfo_page_0x17 blimp_reflector #define H_HT0_DAE_so_page_0x30 blimp_reflector #define H_HT0_Mem_Address_Not_Aligned_0x34 blimp_reflector #define H_HT0_Lddf_Mem_Address_Not_Aligned_0x35 blimp_reflector #define H_HT0_Stdf_Mem_Address_Not_Aligned_0x36 blimp_reflector #define H_HT0_Privileged_Action_0x37 blimp_reflector ! BLIMP's own demap services #define H_HT0_HTrap_Instruction_0 blimp_hyp_demapd #define H_HT0_HTrap_Instruction_1 blimp_hyp_demapi #include "hboot.s" #ifndef BLIMP_HYPER_INCLUDED #define BLIMP_HYPER_INCLUDED #ifndef BLIMP_HYPER_PA #define BLIMP_HYPER_PA 0xB0000 #endif SECTION .BLIMP_HYPER TEXT_VA=BLIMP_HYPER_PA attr_text { Name = .BLIMP_HYPER, hypervisor } .text .global blimp_reflector blimp_reflector: #if 0 rdpr %tl, %g2 ! allowed only from TL=0 cmp %g2, 1 tne T_BAD_TRAP #endif rdpr %tstate, %g2 ! get TSTATE[1] rdpr %tt, %g3 ! get TT[1] rdhpr %htstate, %g4 ! get HTSTATE[1] wrpr %g0, 2, %tl ! TL = 2 or %g2, 0x400, %g2 ! priv bit mov 1, %g5 sllx %g5, 40, %g5 add %g2, %g5, %g2 ! inc GL for new TSTATE wrpr %g2, 0, %tstate ! set TSTATE[2] with PRIV=1 wrhpr %g4, 0, %htstate ! set HTSTATE[2] with HPRIV=0 rdpr %tba, %g4 sllx %g3, 5, %g3 add %g4, %g3, %g4 ! vector = tba + tt<<5 wrpr %g4, 0, %tpc ! set TPC[2] wrpr %g4, 4, %tnpc ! set TNPC[2] retry ! resume in priv mode handler (TL=1) /************************************************************************** * BLIMP Hypervisor services: **************************************************************************/ ! DEMAP DATA .global blimp_hyp_demapd blimp_hyp_demapd: stxa %o0, [%o0]ASI_DMMU_DEMAP done ! DEMAP INST .global blimp_hyp_demapi blimp_hyp_demapi: stxa %o0, [%o0]ASI_IMMU_DEMAP done #endif /*BLIMP_HYPER_INCLUDED*/ ! Context 68 runs in 64-bit addressing mode, big-endian !======================================================================== SECTION .bdata002 DATA_VA=0x7ad1c0000000 attr_data { Name = .bdata002, VA = 0x7ad1c0000000, RA = 0xfe0000000, PA = ra2pa(0xfe0000000,0), part_0_ctx_nonzero_tsb_config_1, TTE_Context=68, TTE_Size=5, TTE_W=1, TTE_X=0, TTE_V=1, TTE_P=0, TTE_IE=0, TTE_NFO=0, TTE_E=0, TTE_CP=1, TTE_CV=0, TTE_Soft=0x0, TTE_SW0=0, TTE_SW1=0 } SECTION .bdata002 .data DATA003: .xword 0xFFFFEA1A6FBCA088 ! 00007AD1C0000000 -0088 DATA004+0x88 .xword 0xFFFFD37EEC000088 ! 00007AD1C0000008 -0080 DATA012+0x88 BD00027: .word 0xBB7F2AC7 ! 00007AD1C0000010 -0078 0 Single -3.893541E-03 BD00032: .word 0xBA07DA3C ! 00007AD1C0000014 -0074 0 Single -5.182361E-04 BD00047: .xword 0x3FF397BF3067DA91 ! 00007AD1C0000018 -0070 0 Double 1.224548E+00 BD00013: .byte 0x5F ! 00007AD1C0000020 -0068 0 BD00096: .byte 0xE6 ! 00007AD1C0000021 -0067 0 BD00113: .half 0xE8DF ! 00007AD1C0000022 -0066 0 BD00044: .word 0x3C7D6030 ! 00007AD1C0000024 -0064 0 BD00067: .word 0xEE53AC9D ! 00007AD1C0000028 -0060 0 BD00088: .word 0x2C603A79 ! 00007AD1C000002C -005C 0 BD00004: .xword 0xFF038DFD999F0344 ! 00007AD1C0000030 -0058 0 BD00036: .xword 0x0ED0D14A8BB4EC53 ! 00007AD1C0000038 -0050 0 BD00062: .word 0x3180FCA5 ! 00007AD1C0000040 -0048 0 BD00129: .word 0x3971C61D ! 00007AD1C0000044 -0044 0 Single 2.305735E-04 BD00020: .xword 0xAFFFBC4F0B9AB83A ! 00007AD1C0000048 -0040 0 BD00045: .half 0xF425 ! 00007AD1C0000050 -0038 0 BD00069: .half 0x37EA ! 00007AD1C0000052 -0036 0 BD00098: .word 0x85AEE0D2 ! 00007AD1C0000054 -0034 0 BD00051: .xword 0xA012B046669F99A6 ! 00007AD1C0000058 -0030 0 BD00103: .word 0xC6508AC2 ! 00007AD1C0000060 -0028 0 Single -1.334669E+04 BD00102: .byte 0x4A ! 00007AD1C0000064 -0024 0 .byte 0x90 ! 00007AD1C0000065 -0023 0 BD00148: .half 0x6CD6 ! 00007AD1C0000066 -0022 0 BD00093: .xword 0xBFE72E1992607102 ! 00007AD1C0000068 -0020 0 Double -7.243774E-01 BD00139: .xword 0x405C0EF55988F1A5 ! 00007AD1C0000070 -0018 0 Double 1.122337E+02 BD00063: .xword 0xB72B1F1255CC3253 ! 00007AD1C0000078 -0010 0 BD00040: .xword 0x57D42331E9C669A5 ! 00007AD1C0000080 -0008 0 BD00111: .half 0x395A ! 00007AD1C0000088 +0000 0 BD00124: .byte 0xFE ! 00007AD1C000008A +0002 0 BD00038: .byte 0xDD ! 00007AD1C000008B +0003 0 BD00037: .half 0x1EA0 ! 00007AD1C000008C +0004 0 BD00213: .byte 0xFC ! 00007AD1C000008E +0006 0 BD00217: .byte 0x25 ! 00007AD1C000008F +0007 0 BD00240: .half 0x0F86 ! 00007AD1C0000090 +0008 0 BD00215: .half 0x1602 ! 00007AD1C0000092 +000A 0 BD00136: .byte 0x22 ! 00007AD1C0000094 +000C 0 BD00205: .byte 0xF4 ! 00007AD1C0000095 +000D 0 BD00005: .half 0x5232 ! 00007AD1C0000096 +000E 0 BD00046: .byte 0x1E ! 00007AD1C0000098 +0010 0 BD00201: .byte 0x78 ! 00007AD1C0000099 +0011 0 BD00010: .half 0xB8C3 ! 00007AD1C000009A +0012 0 BD00087: .word 0x43FAF351 ! 00007AD1C000009C +0014 0 Single 5.019009E+02 BD00025: .xword 0xF7DE84A8FE867E34 ! 00007AD1C00000A0 +0018 0 BD00034: .half 0x672E ! 00007AD1C00000A8 +0020 0 BD00230: .half 0x3094 ! 00007AD1C00000AA +0022 0 BD00159: .half 0x9325 ! 00007AD1C00000AC +0024 0 BD00050: .half 0x3886 ! 00007AD1C00000AE +0026 0 BD00071: .xword 0xEE0EE0E13616B8B0 ! 00007AD1C00000B0 +0028 0 BD00097: .half 0x5D87 ! 00007AD1C00000B8 +0030 0 BD00033: .half 0xAAF7 ! 00007AD1C00000BA +0032 0 BD00012: .word 0x847560E2 ! 00007AD1C00000BC +0034 0 BD00080: .xword 0x0A6E44E40DE268F9 ! 00007AD1C00000C0 +0038 0 BD00101: .byte 0xC2 ! 00007AD1C00000C8 +0040 0 BD00061: .byte 0xC2 ! 00007AD1C00000C9 +0041 0 BD00188: .half 0x7648 ! 00007AD1C00000CA +0042 0 BD00156: .word 0x3EEAF6B9 ! 00007AD1C00000CC +0044 0 Single 4.589136E-01 BD00175: .xword 0x449DD49493790F1B ! 00007AD1C00000D0 +0048 0 BD00058: .xword 0x0598E5101505266D ! 00007AD1C00000D8 +0050 0 BD00024: .xword 0x40F632B50A8A7AC4 ! 00007AD1C00000E0 +0058 0 Double 9.092332E+04 BD00115: .xword 0x857A9E5B4E78D25F ! 00007AD1C00000E8 +0060 0 BD00081: .xword 0x3FA24E13881E2028 ! 00007AD1C00000F0 +0068 0 Double 3.575192E-02 BD00110: .byte 0x30 ! 00007AD1C00000F8 +0070 0 BD00073: .byte 0x96 ! 00007AD1C00000F9 +0071 0 BD00120: .byte 0xE6 ! 00007AD1C00000FA +0072 0 BD00140: .byte 0x99 ! 00007AD1C00000FB +0073 0 BD00227: .half 0xCA8E ! 00007AD1C00000FC +0074 0 BD00131: .byte 0x21 ! 00007AD1C00000FE +0076 0 BD00112: .byte 0x0C ! 00007AD1C00000FF +0077 0 BD00094: .half 0x418D ! 00007AD1C0000100 +0078 0 BD00121: .half 0x5AA0 ! 00007AD1C0000102 +007A 0 BD00171: .half 0x2136 ! 00007AD1C0000104 +007C 0 BD00072: .half 0xA4CA ! 00007AD1C0000106 +007E 0 BD00031: .xword 0xDDEA20537C97D458 ! 00007AD1C0000108 +0080 0 !======================================================================== SECTION .bdata003 DATA_VA=0xffffea1a6fbca000 attr_data { Name = .bdata003, VA = 0xffffea1a6fbca000, RA = 0xffffdc000, PA = ra2pa(0xffffdc000,0), part_0_ctx_nonzero_tsb_config_3, TTE_Context=68, TTE_Size=0, TTE_W=1, TTE_X=0, TTE_V=1, TTE_P=0, TTE_IE=0, TTE_NFO=0, TTE_E=0, TTE_CP=1, TTE_CV=0, TTE_Soft=0x0, TTE_SW0=0, TTE_SW1=0 } SECTION .bdata003 .data DATA004: .xword 0x00005C4284030088 ! FFFFEA1A6FBCA000 -0088 DATA005+0x88 .xword 0x00007AD1C0000088 ! FFFFEA1A6FBCA008 -0080 DATA003+0x88 .word 0x3BF5A602 ! FFFFEA1A6FBCA010 -0078 0 Single 7.496596E-03 .word 0x42149864 ! FFFFEA1A6FBCA014 -0074 0 Single 3.714882E+01 .xword 0x3FF5A88EBE6F81E9 ! FFFFEA1A6FBCA018 -0070 0 Double 1.353652E+00 .byte 0xB8 ! FFFFEA1A6FBCA020 -0068 0 .byte 0xFE ! FFFFEA1A6FBCA021 -0067 0 .half 0x992A ! FFFFEA1A6FBCA022 -0066 0 .word 0xEE32D97E ! FFFFEA1A6FBCA024 -0064 0 .word 0x203CE060 ! FFFFEA1A6FBCA028 -0060 0 .word 0x9CA4E026 ! FFFFEA1A6FBCA02C -005C 0 .xword 0x892171D93109CCCE ! FFFFEA1A6FBCA030 -0058 0 .xword 0x28E10205968C6729 ! FFFFEA1A6FBCA038 -0050 0 .word 0x546B2BD9 ! FFFFEA1A6FBCA040 -0048 0 .word 0x391250A9 ! FFFFEA1A6FBCA044 -0044 0 Single 1.395369E-04 .xword 0x4398BB8FE7771F24 ! FFFFEA1A6FBCA048 -0040 0 .half 0x20B3 ! FFFFEA1A6FBCA050 -0038 0 .half 0xCB3D ! FFFFEA1A6FBCA052 -0036 0 .word 0xBB3B37B2 ! FFFFEA1A6FBCA054 -0034 0 .xword 0x0FDDDB8ECE1B4FD3 ! FFFFEA1A6FBCA058 -0030 0 .word 0x44A06F22 ! FFFFEA1A6FBCA060 -0028 0 Single 1.283473E+03 .byte 0x15 ! FFFFEA1A6FBCA064 -0024 0 .byte 0xE0 ! FFFFEA1A6FBCA065 -0023 0 .half 0x9246 ! FFFFEA1A6FBCA066 -0022 0 .xword 0x407A3CCADAD57024 ! FFFFEA1A6FBCA068 -0020 0 Double 4.197995E+02 .xword 0x3FB6391FCD57E129 ! FFFFEA1A6FBCA070 -0018 0 Double 8.680915E-02 .xword 0x72FE96A679A533F2 ! FFFFEA1A6FBCA078 -0010 0 .xword 0xAD5A4F8FEEDC49CF ! FFFFEA1A6FBCA080 -0008 0 .half 0xD619 ! FFFFEA1A6FBCA088 +0000 0 .byte 0x21 ! FFFFEA1A6FBCA08A +0002 0 .byte 0xC5 ! FFFFEA1A6FBCA08B +0003 0 .half 0xDEF0 ! FFFFEA1A6FBCA08C +0004 0 .byte 0x4B ! FFFFEA1A6FBCA08E +0006 0 .byte 0xF7 ! FFFFEA1A6FBCA08F +0007 0 .half 0x0E88 ! FFFFEA1A6FBCA090 +0008 0 .half 0x967C ! FFFFEA1A6FBCA092 +000A 0 .byte 0x54 ! FFFFEA1A6FBCA094 +000C 0 .byte 0x1D ! FFFFEA1A6FBCA095 +000D 0 .half 0xA591 ! FFFFEA1A6FBCA096 +000E 0 .byte 0x13 ! FFFFEA1A6FBCA098 +0010 0 .byte 0xA1 ! FFFFEA1A6FBCA099 +0011 0 .half 0xB0C3 ! FFFFEA1A6FBCA09A +0012 0 .word 0xC7A111BC ! FFFFEA1A6FBCA09C +0014 0 Single -8.246747E+04 .xword 0xB22F7D8C78751F24 ! FFFFEA1A6FBCA0A0 +0018 0 .half 0xE25C ! FFFFEA1A6FBCA0A8 +0020 0 .half 0x69D8 ! FFFFEA1A6FBCA0AA +0022 0 .half 0x0FA4 ! FFFFEA1A6FBCA0AC +0024 0 .half 0xC91E ! FFFFEA1A6FBCA0AE +0026 0 .xword 0x09E3EB5343B56E59 ! FFFFEA1A6FBCA0B0 +0028 0 .half 0xD6A4 ! FFFFEA1A6FBCA0B8 +0030 0 .half 0x5E42 ! FFFFEA1A6FBCA0BA +0032 0 .word 0xAFD3A5F8 ! FFFFEA1A6FBCA0BC +0034 0 .xword 0x3F8D5DF25C449511 ! FFFFEA1A6FBCA0C0 +0038 0 .byte 0x5E ! FFFFEA1A6FBCA0C8 +0040 0 .byte 0xE7 ! FFFFEA1A6FBCA0C9 +0041 0 .half 0x283F ! FFFFEA1A6FBCA0CA +0042 0 .word 0x3C39248B ! FFFFEA1A6FBCA0CC +0044 0 Single 1.130022E-02 .xword 0x316142DF0D3FAEAE ! FFFFEA1A6FBCA0D0 +0048 0 .xword 0x015B056172BBD7F2 ! FFFFEA1A6FBCA0D8 +0050 0 .xword 0x4052DA4930B86AA6 ! FFFFEA1A6FBCA0E0 +0058 0 Double 7.541072E+01 .xword 0x719DFF605520FFC9 ! FFFFEA1A6FBCA0E8 +0060 0 .xword 0x3F02F200BB2744FD ! FFFFEA1A6FBCA0F0 +0068 0 Double 3.613534E-05 .byte 0x3A ! FFFFEA1A6FBCA0F8 +0070 0 .byte 0x21 ! FFFFEA1A6FBCA0F9 +0071 0 .byte 0xF6 ! FFFFEA1A6FBCA0FA +0072 0 .byte 0xB2 ! FFFFEA1A6FBCA0FB +0073 0 .half 0xA912 ! FFFFEA1A6FBCA0FC +0074 0 .byte 0x5B ! FFFFEA1A6FBCA0FE +0076 0 .byte 0x9F ! FFFFEA1A6FBCA0FF +0077 0 .half 0x2E70 ! FFFFEA1A6FBCA100 +0078 0 .half 0xF476 ! FFFFEA1A6FBCA102 +007A 0 .half 0xF317 ! FFFFEA1A6FBCA104 +007C 0 .half 0x8B10 ! FFFFEA1A6FBCA106 +007E 0 .xword 0x18FEA81FFE5FF8CF ! FFFFEA1A6FBCA108 +0080 0 !======================================================================== SECTION .bdata004 DATA_VA=0x5c4284030000 attr_data { Name = .bdata004, VA = 0x5c4284030000, RA = 0xfdfff0000, PA = ra2pa(0xfdfff0000,0), part_0_ctx_nonzero_tsb_config_0, TTE_Context=68, TTE_Size=1, TTE_W=1, TTE_X=0, TTE_V=1, TTE_P=0, TTE_IE=0, TTE_NFO=0, TTE_E=0, TTE_CP=1, TTE_CV=0, TTE_Soft=0x0, TTE_SW0=0, TTE_SW1=0 } SECTION .bdata004 .data DATA005: .xword 0x00000C6CECCDC088 ! 00005C4284030000 -0088 DATA006+0x88 .xword 0xFFFFEA1A6FBCA088 ! 00005C4284030008 -0080 DATA004+0x88 .word 0x42FE2ADA ! 00005C4284030010 -0078 0 Single 1.270837E+02 .word 0x3D8A8486 ! 00005C4284030014 -0074 0 Single 6.763558E-02 .xword 0xC02ACDD99A1D9E0E ! 00005C4284030018 -0070 0 Double -1.340205E+01 .byte 0xD5 ! 00005C4284030020 -0068 0 .byte 0x07 ! 00005C4284030021 -0067 0 .half 0x71DE ! 00005C4284030022 -0066 0 .word 0x0F0C8990 ! 00005C4284030024 -0064 0 .word 0x659100A0 ! 00005C4284030028 -0060 0 .word 0xA19A225B ! 00005C428403002C -005C 0 .xword 0x64025F858822F67F ! 00005C4284030030 -0058 0 .xword 0xB361FA9F5B88F74B ! 00005C4284030038 -0050 0 .word 0x811F49DD ! 00005C4284030040 -0048 0 .word 0xC5AB1ABE ! 00005C4284030044 -0044 0 Single -5.475343E+03 .xword 0xCF41980E2581EC05 ! 00005C4284030048 -0040 0 .half 0xC142 ! 00005C4284030050 -0038 0 .half 0xD949 ! 00005C4284030052 -0036 0 .word 0x6901EAE7 ! 00005C4284030054 -0034 0 .xword 0x99C3FC1B747DF98C ! 00005C4284030058 -0030 0 .word 0xC7D621B7 ! 00005C4284030060 -0028 0 Single -1.096354E+05 .byte 0xA8 ! 00005C4284030064 -0024 0 .byte 0x4A ! 00005C4284030065 -0023 0 .half 0x4C33 ! 00005C4284030066 -0022 0 .xword 0xC08A1A1E257F7241 ! 00005C4284030068 -0020 0 Double -8.352647E+02 .xword 0xBECA20A892B4D0E0 ! 00005C4284030070 -0018 0 Double -3.114649E-06 .xword 0x17771DCA15724B8C ! 00005C4284030078 -0010 0 .xword 0x56233339D70DD9B9 ! 00005C4284030080 -0008 0 .half 0x3F7E ! 00005C4284030088 +0000 0 .byte 0xD7 ! 00005C428403008A +0002 0 .byte 0x7A ! 00005C428403008B +0003 0 .half 0x3583 ! 00005C428403008C +0004 0 .byte 0x72 ! 00005C428403008E +0006 0 .byte 0xB1 ! 00005C428403008F +0007 0 .half 0x2023 ! 00005C4284030090 +0008 0 .half 0xD81D ! 00005C4284030092 +000A 0 .byte 0x12 ! 00005C4284030094 +000C 0 .byte 0xE4 ! 00005C4284030095 +000D 0 .half 0x212C ! 00005C4284030096 +000E 0 .byte 0x2E ! 00005C4284030098 +0010 0 .byte 0xEE ! 00005C4284030099 +0011 0 .half 0xB3A6 ! 00005C428403009A +0012 0 .word 0xBF9B3719 ! 00005C428403009C +0014 0 Single -1.212619E+00 .xword 0x03A2926A3D8DB067 ! 00005C42840300A0 +0018 0 .half 0x1C10 ! 00005C42840300A8 +0020 0 .half 0x4984 ! 00005C42840300AA +0022 0 .half 0xDBA9 ! 00005C42840300AC +0024 0 .half 0x7ED8 ! 00005C42840300AE +0026 0 .xword 0x879110839E52C357 ! 00005C42840300B0 +0028 0 .half 0x3F1E ! 00005C42840300B8 +0030 0 .half 0x440C ! 00005C42840300BA +0032 0 .word 0xEA49EAB9 ! 00005C42840300BC +0034 0 .xword 0x29367339EC34AE27 ! 00005C42840300C0 +0038 0 .byte 0xDB ! 00005C42840300C8 +0040 0 .byte 0xFC ! 00005C42840300C9 +0041 0 .half 0xFE83 ! 00005C42840300CA +0042 0 .word 0x3C1F739F ! 00005C42840300CC +0044 0 Single 9.732156E-03 .xword 0xCB94B5900E6487CA ! 00005C42840300D0 +0048 0 .xword 0x3C6F0DAF2879EDAB ! 00005C42840300D8 +0050 0 .xword 0x3FC315167771B798 ! 00005C42840300E0 +0058 0 Double 1.490810E-01 .xword 0x61AC576E3BC64DEF ! 00005C42840300E8 +0060 0 .xword 0x4006EFCC86165C90 ! 00005C42840300F0 +0068 0 Double 2.867089E+00 .byte 0xEE ! 00005C42840300F8 +0070 0 .byte 0x2B ! 00005C42840300F9 +0071 0 .byte 0x2B ! 00005C42840300FA +0072 0 .byte 0xAC ! 00005C42840300FB +0073 0 .half 0x6541 ! 00005C42840300FC +0074 0 .byte 0x0A ! 00005C42840300FE +0076 0 .byte 0x77 ! 00005C42840300FF +0077 0 .half 0x34DA ! 00005C4284030100 +0078 0 .half 0xE95D ! 00005C4284030102 +007A 0 .half 0x0F9C ! 00005C4284030104 +007C 0 .half 0xB76C ! 00005C4284030106 +007E 0 .xword 0x46B9237141AFCB59 ! 00005C4284030108 +0080 0 !======================================================================== SECTION .bdata005 DATA_VA=0xc6ceccdc000 attr_data { Name = .bdata005, VA = 0xc6ceccdc000, RA = 0xffffda000, PA = ra2pa(0xffffda000,0), part_0_ctx_nonzero_tsb_config_3, TTE_Context=68, TTE_Size=0, TTE_W=1, TTE_X=0, TTE_V=1, TTE_P=0, TTE_IE=0, TTE_NFO=0, TTE_E=0, TTE_CP=1, TTE_CV=0, TTE_Soft=0x0, TTE_SW0=0, TTE_SW1=0 } SECTION .bdata005 .data DATA006: .xword 0x000012F950000088 ! 00000C6CECCDC000 -0088 DATA007+0x88 .xword 0x00005C4284030088 ! 00000C6CECCDC008 -0080 DATA005+0x88 .word 0xBCFF87D5 ! 00000C6CECCDC010 -0078 0 Single -3.119270E-02 .word 0x3DEA52BA ! 00000C6CECCDC014 -0074 0 Single 1.144156E-01 .xword 0xC074B6857F21C863 ! 00000C6CECCDC018 -0070 0 Double -3.314076E+02 .byte 0x6C ! 00000C6CECCDC020 -0068 0 .byte 0x43 ! 00000C6CECCDC021 -0067 0 .half 0xA71E ! 00000C6CECCDC022 -0066 0 .word 0x5702AC8C ! 00000C6CECCDC024 -0064 0 .word 0xD6AA740F ! 00000C6CECCDC028 -0060 0 .word 0x4382532A ! 00000C6CECCDC02C -005C 0 .xword 0xFC3FB6D5E162E8A1 ! 00000C6CECCDC030 -0058 0 .xword 0xE010C42F861BF85A ! 00000C6CECCDC038 -0050 0 .word 0x3E46A847 ! 00000C6CECCDC040 -0048 0 .word 0x4570C8EF ! 00000C6CECCDC044 -0044 0 Single 3.852558E+03 .xword 0xC7C0E3B3AD7F8BBF ! 00000C6CECCDC048 -0040 0 .half 0x5576 ! 00000C6CECCDC050 -0038 0 .half 0x4CA7 ! 00000C6CECCDC052 -0036 0 .word 0x2AE3D370 ! 00000C6CECCDC054 -0034 0 .xword 0x6D563975716B9CFA ! 00000C6CECCDC058 -0030 0 .word 0x3FC456D0 ! 00000C6CECCDC060 -0028 0 Single 1.533899E+00 .byte 0x37 ! 00000C6CECCDC064 -0024 0 .byte 0x42 ! 00000C6CECCDC065 -0023 0 .half 0x4054 ! 00000C6CECCDC066 -0022 0 .xword 0xC0177D2FD5FF19B2 ! 00000C6CECCDC068 -0020 0 Double -5.872253E+00 .xword 0xBFCB05AD8617D698 ! 00000C6CECCDC070 -0018 0 Double -2.111108E-01 .xword 0x20213B0818BB6165 ! 00000C6CECCDC078 -0010 0 .xword 0x083DF3853DE0B1F0 ! 00000C6CECCDC080 -0008 0 .half 0x7565 ! 00000C6CECCDC088 +0000 0 .byte 0xBC ! 00000C6CECCDC08A +0002 0 .byte 0x09 ! 00000C6CECCDC08B +0003 0 .half 0x2E4A ! 00000C6CECCDC08C +0004 0 .byte 0x7E ! 00000C6CECCDC08E +0006 0 .byte 0xFB ! 00000C6CECCDC08F +0007 0 .half 0xE415 ! 00000C6CECCDC090 +0008 0 .half 0x5BA2 ! 00000C6CECCDC092 +000A 0 .byte 0xBF ! 00000C6CECCDC094 +000C 0 .byte 0xC9 ! 00000C6CECCDC095 +000D 0 .half 0x3EF4 ! 00000C6CECCDC096 +000E 0 .byte 0x0B ! 00000C6CECCDC098 +0010 0 .byte 0x93 ! 00000C6CECCDC099 +0011 0 .half 0x7FD8 ! 00000C6CECCDC09A +0012 0 .word 0xB901F57C ! 00000C6CECCDC09C +0014 0 Single -1.239385E-04 .xword 0x0BCB465768E9F30C ! 00000C6CECCDC0A0 +0018 0 .half 0x193B ! 00000C6CECCDC0A8 +0020 0 .half 0x671C ! 00000C6CECCDC0AA +0022 0 .half 0x3329 ! 00000C6CECCDC0AC +0024 0 .half 0xA9DA ! 00000C6CECCDC0AE +0026 0 .xword 0xB4015C399D5D1AA9 ! 00000C6CECCDC0B0 +0028 0 .half 0x7B62 ! 00000C6CECCDC0B8 +0030 0 .half 0x04AC ! 00000C6CECCDC0BA +0032 0 .word 0xB1C5D67D ! 00000C6CECCDC0BC +0034 0 .xword 0xB7B10BB11E913658 ! 00000C6CECCDC0C0 +0038 0 .byte 0xA1 ! 00000C6CECCDC0C8 +0040 0 .byte 0x0F ! 00000C6CECCDC0C9 +0041 0 .half 0x812F ! 00000C6CECCDC0CA +0042 0 .word 0xB9E90429 ! 00000C6CECCDC0CC +0044 0 Single -4.444432E-04 .xword 0x101405BFDC61AF01 ! 00000C6CECCDC0D0 +0048 0 .xword 0x372377F61ADAC30F ! 00000C6CECCDC0D8 +0050 0 .xword 0x412C85FE31490F6E ! 00000C6CECCDC0E0 +0058 0 Double 9.346551E+05 .xword 0x988E6BF1C0BA0FF4 ! 00000C6CECCDC0E8 +0060 0 .xword 0xBF28891019E80659 ! 00000C6CECCDC0F0 +0068 0 Double -1.871903E-04 .byte 0xDB ! 00000C6CECCDC0F8 +0070 0 .byte 0x82 ! 00000C6CECCDC0F9 +0071 0 .byte 0x9A ! 00000C6CECCDC0FA +0072 0 .byte 0x5F ! 00000C6CECCDC0FB +0073 0 .half 0x095D ! 00000C6CECCDC0FC +0074 0 .byte 0x8B ! 00000C6CECCDC0FE +0076 0 .byte 0x98 ! 00000C6CECCDC0FF +0077 0 .half 0xDC87 ! 00000C6CECCDC100 +0078 0 .half 0xFFA7 ! 00000C6CECCDC102 +007A 0 .half 0xDA4C ! 00000C6CECCDC104 +007C 0 .half 0x7640 ! 00000C6CECCDC106 +007E 0 .xword 0x44C3E7C8999AB535 ! 00000C6CECCDC108 +0080 0 !======================================================================== SECTION .bdata006 DATA_VA=0x12f950000000 attr_data { Name = .bdata006, VA = 0x12f950000000, RA = 0xfc0000000, PA = ra2pa(0xfc0000000,0), part_0_ctx_nonzero_tsb_config_1, TTE_Context=68, TTE_Size=5, TTE_W=1, TTE_X=0, TTE_V=1, TTE_P=1, TTE_IE=0, TTE_NFO=0, TTE_E=0, TTE_CP=1, TTE_CV=0, TTE_Soft=0x0, TTE_SW0=0, TTE_SW1=0 } SECTION .bdata006 .data DATA007: .xword 0x00002EBD20000088 ! 000012F950000000 -0088 DATA008+0x88 .xword 0x00000C6CECCDC088 ! 000012F950000008 -0080 DATA006+0x88 .word 0x3F6C0C3B ! 000012F950000010 -0078 0 Single 9.220616E-01 .word 0xC521724E ! 000012F950000014 -0074 0 Single -2.583144E+03 .xword 0x40DDBAD7A4F04C07 ! 000012F950000018 -0070 0 Double 3.044337E+04 .byte 0xF8 ! 000012F950000020 -0068 0 .byte 0x24 ! 000012F950000021 -0067 0 .half 0x470E ! 000012F950000022 -0066 0 .word 0x9DF2622A ! 000012F950000024 -0064 0 .word 0x1D4521EE ! 000012F950000028 -0060 0 .word 0x3AE3AB18 ! 000012F95000002C -005C 0 .xword 0xCB55050F679B2085 ! 000012F950000030 -0058 0 .xword 0xAB1C99E464282C13 ! 000012F950000038 -0050 0 .word 0x6460B708 ! 000012F950000040 -0048 0 .word 0xC517EC6D ! 000012F950000044 -0044 0 Single -2.430777E+03 .xword 0x4E94DE59D2E443BE ! 000012F950000048 -0040 0 .half 0xB77A ! 000012F950000050 -0038 0 .half 0xE78B ! 000012F950000052 -0036 0 .word 0x91BF934B ! 000012F950000054 -0034 0 .xword 0x0A63133D97005D9B ! 000012F950000058 -0030 0 .word 0x463AACF8 ! 000012F950000060 -0028 0 Single 1.194724E+04 .byte 0xCB ! 000012F950000064 -0024 0 .byte 0x07 ! 000012F950000065 -0023 0 .half 0xDACF ! 000012F950000066 -0022 0 .xword 0xBEE4C659940E9717 ! 000012F950000068 -0020 0 Double -9.906199E-06 .xword 0x4001F20656FCD2C8 ! 000012F950000070 -0018 0 Double 2.243176E+00 .xword 0x36FF746EBAFE199D ! 000012F950000078 -0010 0 .xword 0x27AB8D750F28BBFE ! 000012F950000080 -0008 0 .half 0xCAE3 ! 000012F950000088 +0000 0 .byte 0xED ! 000012F95000008A +0002 0 .byte 0x6A ! 000012F95000008B +0003 0 .half 0x1270 ! 000012F95000008C +0004 0 .byte 0x10 ! 000012F95000008E +0006 0 .byte 0x37 ! 000012F95000008F +0007 0 .half 0x88AE ! 000012F950000090 +0008 0 .half 0x8A21 ! 000012F950000092 +000A 0 .byte 0xFC ! 000012F950000094 +000C 0 .byte 0x56 ! 000012F950000095 +000D 0 .half 0xDBBB ! 000012F950000096 +000E 0 .byte 0xE0 ! 000012F950000098 +0010 0 .byte 0x0D ! 000012F950000099 +0011 0 .half 0x392D ! 000012F95000009A +0012 0 .word 0xC12E9C50 ! 000012F95000009C +0014 0 Single -1.091316E+01 .xword 0x75D361743541880B ! 000012F9500000A0 +0018 0 .half 0xE68F ! 000012F9500000A8 +0020 0 .half 0x5B0D ! 000012F9500000AA +0022 0 .half 0xDFBD ! 000012F9500000AC +0024 0 .half 0x0152 ! 000012F9500000AE +0026 0 .xword 0x0662A0FCF01B415A ! 000012F9500000B0 +0028 0 .half 0x76FD ! 000012F9500000B8 +0030 0 .half 0x0AC7 ! 000012F9500000BA +0032 0 .word 0x77B5CE1E ! 000012F9500000BC +0034 0 .xword 0xAE019CDA52E30A3E ! 000012F9500000C0 +0038 0 .byte 0x0E ! 000012F9500000C8 +0040 0 .byte 0x90 ! 000012F9500000C9 +0041 0 .half 0xDA90 ! 000012F9500000CA +0042 0 .word 0x3F7C64D0 ! 000012F9500000CC +0044 0 Single 9.859133E-01 .xword 0xAA6BEBD486323673 ! 000012F9500000D0 +0048 0 .xword 0x8620C8C2E0D52503 ! 000012F9500000D8 +0050 0 .xword 0x401C299A23662E87 ! 000012F9500000E0 +0058 0 Double 7.040627E+00 .xword 0xBBE19D2396D8A1DA ! 000012F9500000E8 +0060 0 .xword 0xC098BDAC00B93755 ! 000012F9500000F0 +0068 0 Double -1.583418E+03 .byte 0x9B ! 000012F9500000F8 +0070 0 .byte 0x5F ! 000012F9500000F9 +0071 0 .byte 0x3F ! 000012F9500000FA +0072 0 .byte 0xF6 ! 000012F9500000FB +0073 0 .half 0x9F6C ! 000012F9500000FC +0074 0 .byte 0x7E ! 000012F9500000FE +0076 0 .byte 0xD8 ! 000012F9500000FF +0077 0 .half 0xAF38 ! 000012F950000100 +0078 0 .half 0x64F2 ! 000012F950000102 +007A 0 .half 0xF141 ! 000012F950000104 +007C 0 .half 0x1CE5 ! 000012F950000106 +007E 0 .xword 0x30F09EB2CAF352B8 ! 000012F950000108 +0080 0 !======================================================================== SECTION .bdata007 DATA_VA=0x2ebd20000000 attr_data { Name = .bdata007, VA = 0x2ebd20000000, RA = 0xfb0000000, PA = ra2pa(0xfb0000000,0), part_0_ctx_nonzero_tsb_config_1, TTE_Context=68, TTE_Size=5, TTE_W=1, TTE_X=0, TTE_V=1, TTE_P=0, TTE_IE=0, TTE_NFO=0, TTE_E=0, TTE_CP=1, TTE_CV=0, TTE_Soft=0x0, TTE_SW0=0, TTE_SW1=0 } SECTION .bdata007 .data DATA008: .xword 0x00003D1E10000088 ! 00002EBD20000000 -0088 DATA009+0x88 .xword 0x000012F950000088 ! 00002EBD20000008 -0080 DATA007+0x88 .word 0x465C10FB ! 00002EBD20000010 -0078 0 Single 1.408425E+04 .word 0x3FAC3C1C ! 00002EBD20000014 -0074 0 Single 1.345584E+00 .xword 0xC0C0749D83C79B6F ! 00002EBD20000018 -0070 0 Double -8.425231E+03 .byte 0x99 ! 00002EBD20000020 -0068 0 .byte 0x3F ! 00002EBD20000021 -0067 0 .half 0x13C6 ! 00002EBD20000022 -0066 0 .word 0x375F02C5 ! 00002EBD20000024 -0064 0 .word 0xC5046AFF ! 00002EBD20000028 -0060 0 .word 0xBF5D2B5B ! 00002EBD2000002C -005C 0 .xword 0x2874256A60CF2B48 ! 00002EBD20000030 -0058 0 .xword 0x003132FF57B25332 ! 00002EBD20000038 -0050 0 .word 0xB9F8535C ! 00002EBD20000040 -0048 0 .word 0xBFC5F812 ! 00002EBD20000044 -0044 0 Single -1.546633E+00 .xword 0x45242A95052425B1 ! 00002EBD20000048 -0040 0 .half 0xCF72 ! 00002EBD20000050 -0038 0 .half 0xB034 ! 00002EBD20000052 -0036 0 .word 0xFFA4B0CD ! 00002EBD20000054 -0034 0 .xword 0x87930F0D5A5FC578 ! 00002EBD20000058 -0030 0 .word 0x3856B28D ! 00002EBD20000060 -0028 0 Single 5.118786E-05 .byte 0x18 ! 00002EBD20000064 -0024 0 .byte 0x0B ! 00002EBD20000065 -0023 0 .half 0x6018 ! 00002EBD20000066 -0022 0 .xword 0x411AD7BB28CD15D5 ! 00002EBD20000068 -0020 0 Double 4.397908E+05 .xword 0xC0989125D282DC11 ! 00002EBD20000070 -0018 0 Double -1.572287E+03 .xword 0xDBDD4AED7E25DCB9 ! 00002EBD20000078 -0010 0 .xword 0x2AE801B3A8A0D428 ! 00002EBD20000080 -0008 0 .half 0x13D7 ! 00002EBD20000088 +0000 0 .byte 0xC2 ! 00002EBD2000008A +0002 0 .byte 0x11 ! 00002EBD2000008B +0003 0 .half 0xC136 ! 00002EBD2000008C +0004 0 .byte 0xCE ! 00002EBD2000008E +0006 0 .byte 0xB9 ! 00002EBD2000008F +0007 0 .half 0xB156 ! 00002EBD20000090 +0008 0 .half 0x2E4B ! 00002EBD20000092 +000A 0 .byte 0xB2 ! 00002EBD20000094 +000C 0 .byte 0x29 ! 00002EBD20000095 +000D 0 .half 0x6D92 ! 00002EBD20000096 +000E 0 .byte 0x6B ! 00002EBD20000098 +0010 0 .byte 0x6A ! 00002EBD20000099 +0011 0 .half 0x1469 ! 00002EBD2000009A +0012 0 .word 0x3E2388C2 ! 00002EBD2000009C +0014 0 Single 1.597014E-01 .xword 0xFA03CAF78111987C ! 00002EBD200000A0 +0018 0 .half 0x1A56 ! 00002EBD200000A8 +0020 0 .half 0x9ED1 ! 00002EBD200000AA +0022 0 .half 0x1EF2 ! 00002EBD200000AC +0024 0 .half 0x40A9 ! 00002EBD200000AE +0026 0 .xword 0x94CB4C9FE89EA39D ! 00002EBD200000B0 +0028 0 .half 0xCF04 ! 00002EBD200000B8 +0030 0 .half 0x6570 ! 00002EBD200000BA +0032 0 .word 0x044D5B06 ! 00002EBD200000BC +0034 0 .xword 0xFDE223A497F263CB ! 00002EBD200000C0 +0038 0 .byte 0xEA ! 00002EBD200000C8 +0040 0 .byte 0xA8 ! 00002EBD200000C9 +0041 0 .half 0xB948 ! 00002EBD200000CA +0042 0 .word 0xC1C69D30 ! 00002EBD200000CC +0044 0 Single -2.482675E+01 .xword 0x79FDAE35C95DFFC3 ! 00002EBD200000D0 +0048 0 .xword 0x05B9710548F25CB8 ! 00002EBD200000D8 +0050 0 .xword 0xBF8C7BD1BCFF6F53 ! 00002EBD200000E0 +0058 0 Double -1.390804E-02 .xword 0x56DB54EC03007624 ! 00002EBD200000E8 +0060 0 .xword 0x3EF9C0F197569EE5 ! 00002EBD200000F0 +0068 0 Double 2.456063E-05 .byte 0x46 ! 00002EBD200000F8 +0070 0 .byte 0xF0 ! 00002EBD200000F9 +0071 0 .byte 0xF2 ! 00002EBD200000FA +0072 0 .byte 0x67 ! 00002EBD200000FB +0073 0 .half 0xA516 ! 00002EBD200000FC +0074 0 .byte 0x57 ! 00002EBD200000FE +0076 0 .byte 0x0C ! 00002EBD200000FF +0077 0 .half 0x4861 ! 00002EBD20000100 +0078 0 .half 0xA45B ! 00002EBD20000102 +007A 0 .half 0x4A6D ! 00002EBD20000104 +007C 0 .half 0x64F2 ! 00002EBD20000106 +007E 0 .xword 0xA89BD6E8A0D44E7F ! 00002EBD20000108 +0080 0 !======================================================================== SECTION .bdata008 DATA_VA=0x3d1e10000000 attr_data { Name = .bdata008, VA = 0x3d1e10000000, RA = 0xfa0000000, PA = ra2pa(0xfa0000000,0), part_0_ctx_nonzero_tsb_config_1, TTE_Context=68, TTE_Size=5, TTE_W=1, TTE_X=0, TTE_V=1, TTE_P=1, TTE_IE=0, TTE_NFO=0, TTE_E=0, TTE_CP=1, TTE_CV=0, TTE_Soft=0x0, TTE_SW0=0, TTE_SW1=0 } SECTION .bdata008 .data DATA009: .xword 0x00000C9D7B710088 ! 00003D1E10000000 -0088 DATA010+0x88 .xword 0x00002EBD20000088 ! 00003D1E10000008 -0080 DATA008+0x88 .word 0x42E5D612 ! 00003D1E10000010 -0078 0 Single 1.149181E+02 .word 0xBC925E8E ! 00003D1E10000014 -0074 0 Single -1.786735E-02 .xword 0x4078347F6F9C6503 ! 00003D1E10000018 -0070 0 Double 3.872811E+02 .byte 0xE7 ! 00003D1E10000020 -0068 0 .byte 0x5C ! 00003D1E10000021 -0067 0 .half 0x61D5 ! 00003D1E10000022 -0066 0 .word 0x1C09B0C8 ! 00003D1E10000024 -0064 0 .word 0x8973BB17 ! 00003D1E10000028 -0060 0 .word 0x906354FC ! 00003D1E1000002C -005C 0 .xword 0xA6DBA529C9F30524 ! 00003D1E10000030 -0058 0 .xword 0x4A351C23A57B3A39 ! 00003D1E10000038 -0050 0 .word 0xE4C91539 ! 00003D1E10000040 -0048 0 .word 0xC24841DA ! 00003D1E10000044 -0044 0 Single -5.006431E+01 .xword 0x070FF265E72C9D2F ! 00003D1E10000048 -0040 0 .half 0xA7AF ! 00003D1E10000050 -0038 0 .half 0x77FB ! 00003D1E10000052 -0036 0 .word 0x2828FE4B ! 00003D1E10000054 -0034 0 .xword 0x6A1FC5D683A0A0DB ! 00003D1E10000058 -0030 0 .word 0xC4865EF5 ! 00003D1E10000060 -0028 0 Single -1.074967E+03 .byte 0x44 ! 00003D1E10000064 -0024 0 .byte 0x39 ! 00003D1E10000065 -0023 0 .half 0x560A ! 00003D1E10000066 -0022 0 .xword 0xC0A0B7B41B0CBE80 ! 00003D1E10000068 -0020 0 Double -2.139852E+03 .xword 0xBED92D549864CFED ! 00003D1E10000070 -0018 0 Double -6.002682E-06 .xword 0xFC4D058F6698E672 ! 00003D1E10000078 -0010 0 .xword 0x66BFD5B9AA131A4F ! 00003D1E10000080 -0008 0 .half 0xF67A ! 00003D1E10000088 +0000 0 .byte 0xB9 ! 00003D1E1000008A +0002 0 .byte 0x65 ! 00003D1E1000008B +0003 0 .half 0x4224 ! 00003D1E1000008C +0004 0 .byte 0x67 ! 00003D1E1000008E +0006 0 .byte 0xDE ! 00003D1E1000008F +0007 0 .half 0x9BD9 ! 00003D1E10000090 +0008 0 .half 0xB4E7 ! 00003D1E10000092 +000A 0 .byte 0x2E ! 00003D1E10000094 +000C 0 .byte 0x71 ! 00003D1E10000095 +000D 0 .half 0x41E5 ! 00003D1E10000096 +000E 0 .byte 0x68 ! 00003D1E10000098 +0010 0 .byte 0xAF ! 00003D1E10000099 +0011 0 .half 0xD603 ! 00003D1E1000009A +0012 0 .word 0x442CB2B8 ! 00003D1E1000009C +0014 0 Single 6.907925E+02 .xword 0x1408731F14530191 ! 00003D1E100000A0 +0018 0 .half 0x0176 ! 00003D1E100000A8 +0020 0 .half 0x3ED8 ! 00003D1E100000AA +0022 0 .half 0x3A4B ! 00003D1E100000AC +0024 0 .half 0x0F58 ! 00003D1E100000AE +0026 0 .xword 0x4D32FD3A9C635E81 ! 00003D1E100000B0 +0028 0 .half 0x6EA3 ! 00003D1E100000B8 +0030 0 .half 0x3085 ! 00003D1E100000BA +0032 0 .word 0x8C341DEC ! 00003D1E100000BC +0034 0 .xword 0xCB366227A72278C8 ! 00003D1E100000C0 +0038 0 .byte 0x0D ! 00003D1E100000C8 +0040 0 .byte 0xD6 ! 00003D1E100000C9 +0041 0 .half 0x5043 ! 00003D1E100000CA +0042 0 .word 0xC4811FA8 ! 00003D1E100000CC +0044 0 Single -1.032989E+03 .xword 0xF249E5F7AEE3394F ! 00003D1E100000D0 +0048 0 .xword 0xC7AD2D64A9042729 ! 00003D1E100000D8 +0050 0 .xword 0x4102440C27ED9030 ! 00003D1E100000E0 +0058 0 Double 1.496335E+05 .xword 0xA0FFA0FA91FB538E ! 00003D1E100000E8 +0060 0 .xword 0x4091F4AF09261172 ! 00003D1E100000F0 +0068 0 Double 1.149171E+03 .byte 0xA0 ! 00003D1E100000F8 +0070 0 .byte 0x62 ! 00003D1E100000F9 +0071 0 .byte 0x52 ! 00003D1E100000FA +0072 0 .byte 0x5F ! 00003D1E100000FB +0073 0 .half 0xF538 ! 00003D1E100000FC +0074 0 .byte 0x22 ! 00003D1E100000FE +0076 0 .byte 0xC3 ! 00003D1E100000FF +0077 0 .half 0xF1B7 ! 00003D1E10000100 +0078 0 .half 0x51C8 ! 00003D1E10000102 +007A 0 .half 0x5187 ! 00003D1E10000104 +007C 0 .half 0x4054 ! 00003D1E10000106 +007E 0 .xword 0x520F6D894C7EE1AC ! 00003D1E10000108 +0080 0 !======================================================================== SECTION .bdata009 DATA_VA=0xc9d7b710000 attr_data { Name = .bdata009, VA = 0xc9d7b710000, RA = 0xfdffe0000, PA = ra2pa(0xfdffe0000,0), part_0_ctx_nonzero_tsb_config_0, TTE_Context=68, TTE_Size=1, TTE_W=1, TTE_X=0, TTE_V=1, TTE_P=0, TTE_IE=0, TTE_NFO=0, TTE_E=0, TTE_CP=1, TTE_CV=0, TTE_Soft=0x0, TTE_SW0=0, TTE_SW1=0 } SECTION .bdata009 .data DATA010: .xword 0x000051E14D800088 ! 00000C9D7B710000 -0088 DATA011+0x88 .xword 0x00003D1E10000088 ! 00000C9D7B710008 -0080 DATA009+0x88 .word 0xB9D6EFEF ! 00000C9D7B710010 -0078 0 Single -4.099603E-04 .word 0x47D7DF0B ! 00000C9D7B710014 -0074 0 Single 1.105261E+05 .xword 0x4000F20CEB4D8682 ! 00000C9D7B710018 -0070 0 Double 2.118189E+00 .byte 0xBF ! 00000C9D7B710020 -0068 0 .byte 0xEA ! 00000C9D7B710021 -0067 0 .half 0xD073 ! 00000C9D7B710022 -0066 0 .word 0x52FCF031 ! 00000C9D7B710024 -0064 0 .word 0x41C7510D ! 00000C9D7B710028 -0060 0 .word 0xBE4C1304 ! 00000C9D7B71002C -005C 0 .xword 0xD9FA47569CE37340 ! 00000C9D7B710030 -0058 0 .xword 0x7B6888987DA0C87E ! 00000C9D7B710038 -0050 0 .word 0x4D4D9174 ! 00000C9D7B710040 -0048 0 .word 0x38BD7CF3 ! 00000C9D7B710044 -0044 0 Single 9.035496E-05 .xword 0x500579E03FE0682A ! 00000C9D7B710048 -0040 0 .half 0xB25F ! 00000C9D7B710050 -0038 0 .half 0xD42D ! 00000C9D7B710052 -0036 0 .word 0x3BFDCF08 ! 00000C9D7B710054 -0034 0 .xword 0x96EDB5F658532109 ! 00000C9D7B710058 -0030 0 .word 0x4427E012 ! 00000C9D7B710060 -0028 0 Single 6.715011E+02 .byte 0xEB ! 00000C9D7B710064 -0024 0 .byte 0x49 ! 00000C9D7B710065 -0023 0 .half 0xBE9A ! 00000C9D7B710066 -0022 0 .xword 0xC069FB2F4ED102FC ! 00000C9D7B710068 -0020 0 Double -2.078495E+02 .xword 0x404EACC2402A767E ! 00000C9D7B710070 -0018 0 Double 6.134968E+01 .xword 0x4289662B68A92E61 ! 00000C9D7B710078 -0010 0 .xword 0xB173CBA625BBBDDE ! 00000C9D7B710080 -0008 0 .half 0xCC48 ! 00000C9D7B710088 +0000 0 .byte 0x02 ! 00000C9D7B71008A +0002 0 .byte 0x7C ! 00000C9D7B71008B +0003 0 .half 0xD3BC ! 00000C9D7B71008C +0004 0 .byte 0x0C ! 00000C9D7B71008E +0006 0 .byte 0x03 ! 00000C9D7B71008F +0007 0 .half 0x5F2E ! 00000C9D7B710090 +0008 0 .half 0x0BCC ! 00000C9D7B710092 +000A 0 .byte 0xC4 ! 00000C9D7B710094 +000C 0 .byte 0x1F ! 00000C9D7B710095 +000D 0 .half 0xDEC4 ! 00000C9D7B710096 +000E 0 .byte 0x04 ! 00000C9D7B710098 +0010 0 .byte 0x02 ! 00000C9D7B710099 +0011 0 .half 0xDFFC ! 00000C9D7B71009A +0012 0 .word 0xBEAAA264 ! 00000C9D7B71009C +0014 0 Single -3.332702E-01 .xword 0x90487E6AF69C90C9 ! 00000C9D7B7100A0 +0018 0 .half 0x7842 ! 00000C9D7B7100A8 +0020 0 .half 0x87DC ! 00000C9D7B7100AA +0022 0 .half 0xDB19 ! 00000C9D7B7100AC +0024 0 .half 0x5A4B ! 00000C9D7B7100AE +0026 0 .xword 0xB970621139C0A6B8 ! 00000C9D7B7100B0 +0028 0 .half 0xB0B8 ! 00000C9D7B7100B8 +0030 0 .half 0xEFE6 ! 00000C9D7B7100BA +0032 0 .word 0xDC1EEF82 ! 00000C9D7B7100BC +0034 0 .xword 0x883277D7423A182D ! 00000C9D7B7100C0 +0038 0 .byte 0x47 ! 00000C9D7B7100C8 +0040 0 .byte 0x34 ! 00000C9D7B7100C9 +0041 0 .half 0x5172 ! 00000C9D7B7100CA +0042 0 .word 0x39317713 ! 00000C9D7B7100CC +0044 0 Single 1.692439E-04 .xword 0xC8ED3A65711D3EFE ! 00000C9D7B7100D0 +0048 0 .xword 0xD78CF39B15DBE3AF ! 00000C9D7B7100D8 +0050 0 .xword 0xBEE36378ECF07CFB ! 00000C9D7B7100E0 +0058 0 Double -9.245188E-06 .xword 0x51446D16889ACDA0 ! 00000C9D7B7100E8 +0060 0 .xword 0x3F19F41390C4BA0B ! 00000C9D7B7100F0 +0068 0 Double 9.900445E-05 .byte 0xD0 ! 00000C9D7B7100F8 +0070 0 .byte 0x29 ! 00000C9D7B7100F9 +0071 0 .byte 0x77 ! 00000C9D7B7100FA +0072 0 .byte 0x47 ! 00000C9D7B7100FB +0073 0 .half 0x2455 ! 00000C9D7B7100FC +0074 0 .byte 0x6C ! 00000C9D7B7100FE +0076 0 .byte 0xC1 ! 00000C9D7B7100FF +0077 0 .half 0xD268 ! 00000C9D7B710100 +0078 0 .half 0x479E ! 00000C9D7B710102 +007A 0 .half 0xE306 ! 00000C9D7B710104 +007C 0 .half 0xC455 ! 00000C9D7B710106 +007E 0 .xword 0x3FD5DBEE130F6345 ! 00000C9D7B710108 +0080 0 !======================================================================== SECTION .bdata010 DATA_VA=0x51e14d800000 attr_data { Name = .bdata010, VA = 0x51e14d800000, RA = 0xf9fc00000, PA = ra2pa(0xf9fc00000,0), part_0_ctx_nonzero_tsb_config_2, TTE_Context=68, TTE_Size=3, TTE_W=1, TTE_X=0, TTE_V=1, TTE_P=1, TTE_IE=0, TTE_NFO=0, TTE_E=0, TTE_CP=1, TTE_CV=0, TTE_Soft=0x0, TTE_SW0=0, TTE_SW1=0 } SECTION .bdata010 .data DATA011: .xword 0xFFFFD37EEC000088 ! 000051E14D800000 -0088 DATA012+0x88 .xword 0x00000C9D7B710088 ! 000051E14D800008 -0080 DATA010+0x88 .word 0xC33DB036 ! 000051E14D800010 -0078 0 Single -1.896883E+02 .word 0xB9F41531 ! 000051E14D800014 -0074 0 Single -4.655510E-04 .xword 0x40D82CCEBD64AB35 ! 000051E14D800018 -0070 0 Double 2.475523E+04 .byte 0x78 ! 000051E14D800020 -0068 0 .byte 0x05 ! 000051E14D800021 -0067 0 .half 0x5792 ! 000051E14D800022 -0066 0 .word 0x37369DD4 ! 000051E14D800024 -0064 0 .word 0xE68EDB80 ! 000051E14D800028 -0060 0 .word 0xCABD901F ! 000051E14D80002C -005C 0 .xword 0x733FB486CDC9375E ! 000051E14D800030 -0058 0 .xword 0xC87604CEA42549D4 ! 000051E14D800038 -0050 0 .word 0x58CF3C57 ! 000051E14D800040 -0048 0 .word 0xC6727C14 ! 000051E14D800044 -0044 0 Single -1.551902E+04 .xword 0xA535F27F05340734 ! 000051E14D800048 -0040 0 .half 0x2C04 ! 000051E14D800050 -0038 0 .half 0x777F ! 000051E14D800052 -0036 0 .word 0xD57A2E5B ! 000051E14D800054 -0034 0 .xword 0xA737B4538807A30B ! 000051E14D800058 -0030 0 .word 0x383BC356 ! 000051E14D800060 -0028 0 Single 4.476620E-05 .byte 0xC7 ! 000051E14D800064 -0024 0 .byte 0x53 ! 000051E14D800065 -0023 0 .half 0xBA8A ! 000051E14D800066 -0022 0 .xword 0x3EEF6D282DD0EB57 ! 000051E14D800068 -0020 0 Double 1.498527E-05 .xword 0x3EC99199A7949009 ! 000051E14D800070 -0018 0 Double 3.048033E-06 .xword 0x1CF730D1CE8E6386 ! 000051E14D800078 -0010 0 .xword 0x56DBFA7B15B0350D ! 000051E14D800080 -0008 0 .half 0xA868 ! 000051E14D800088 +0000 0 .byte 0x5B ! 000051E14D80008A +0002 0 .byte 0xE1 ! 000051E14D80008B +0003 0 .half 0xD634 ! 000051E14D80008C +0004 0 .byte 0xEB ! 000051E14D80008E +0006 0 .byte 0x41 ! 000051E14D80008F +0007 0 .half 0xE85D ! 000051E14D800090 +0008 0 .half 0xA472 ! 000051E14D800092 +000A 0 .byte 0xD1 ! 000051E14D800094 +000C 0 .byte 0xD3 ! 000051E14D800095 +000D 0 .half 0x7500 ! 000051E14D800096 +000E 0 .byte 0xDE ! 000051E14D800098 +0010 0 .byte 0xF6 ! 000051E14D800099 +0011 0 .half 0x603F ! 000051E14D80009A +0012 0 .word 0xC1F9B9B1 ! 000051E14D80009C +0014 0 Single -3.121567E+01 .xword 0xA87D051A4FC5B484 ! 000051E14D8000A0 +0018 0 .half 0x2230 ! 000051E14D8000A8 +0020 0 .half 0x0EE1 ! 000051E14D8000AA +0022 0 .half 0xA047 ! 000051E14D8000AC +0024 0 .half 0x2136 ! 000051E14D8000AE +0026 0 .xword 0xB9BADD2CB9646288 ! 000051E14D8000B0 +0028 0 .half 0x7A60 ! 000051E14D8000B8 +0030 0 .half 0x4859 ! 000051E14D8000BA +0032 0 .word 0x40EAAAEF ! 000051E14D8000BC +0034 0 .xword 0x93C7C3365814206D ! 000051E14D8000C0 +0038 0 .byte 0x1D ! 000051E14D8000C8 +0040 0 .byte 0x36 ! 000051E14D8000C9 +0041 0 .half 0x7065 ! 000051E14D8000CA +0042 0 .word 0xC3F86EC4 ! 000051E14D8000CC +0044 0 Single -4.968654E+02 .xword 0xB9495E77C76B89EB ! 000051E14D8000D0 +0048 0 .xword 0x3D1348D00ACF1E8B ! 000051E14D8000D8 +0050 0 .xword 0xC058E047BD159212 ! 000051E14D8000E0 +0058 0 Double -9.950438E+01 .xword 0x71AB7183299DA296 ! 000051E14D8000E8 +0060 0 .xword 0x3FAFE0AAC9EB7042 ! 000051E14D8000F0 +0068 0 Double 6.226095E-02 .byte 0x2A ! 000051E14D8000F8 +0070 0 .byte 0xD1 ! 000051E14D8000F9 +0071 0 .byte 0xEB ! 000051E14D8000FA +0072 0 .byte 0x80 ! 000051E14D8000FB +0073 0 .half 0xD61E ! 000051E14D8000FC +0074 0 .byte 0xAE ! 000051E14D8000FE +0076 0 .byte 0xAE ! 000051E14D8000FF +0077 0 .half 0x3168 ! 000051E14D800100 +0078 0 .half 0x36DA ! 000051E14D800102 +007A 0 .half 0x6637 ! 000051E14D800104 +007C 0 .half 0xC42B ! 000051E14D800106 +007E 0 .xword 0x1633CC069A907E62 ! 000051E14D800108 +0080 0 !======================================================================== SECTION .bdata011 DATA_VA=0xffffd37eec000000 attr_data { Name = .bdata011, VA = 0xffffd37eec000000, RA = 0xf9f800000, PA = ra2pa(0xf9f800000,0), part_0_ctx_nonzero_tsb_config_2, TTE_Context=68, TTE_Size=3, TTE_W=1, TTE_X=0, TTE_V=1, TTE_P=0, TTE_IE=0, TTE_NFO=0, TTE_E=0, TTE_CP=1, TTE_CV=0, TTE_Soft=0x0, TTE_SW0=0, TTE_SW1=0 } SECTION .bdata011 .data DATA012: .xword 0x00007AD1C0000088 ! FFFFD37EEC000000 -0088 DATA003+0x88 .xword 0x000051E14D800088 ! FFFFD37EEC000008 -0080 DATA011+0x88 .word 0xC206BF26 ! FFFFD37EEC000010 -0078 0 Single -3.368667E+01 .word 0x3B77FF62 ! FFFFD37EEC000014 -0074 0 Single 3.784143E-03 .xword 0x40AAD9E4EF1AB37C ! FFFFD37EEC000018 -0070 0 Double 3.436947E+03 .byte 0x05 ! FFFFD37EEC000020 -0068 0 .byte 0xE0 ! FFFFD37EEC000021 -0067 0 .half 0x41D6 ! FFFFD37EEC000022 -0066 0 .word 0x138A2357 ! FFFFD37EEC000024 -0064 0 .word 0x6179D7EE ! FFFFD37EEC000028 -0060 0 .word 0xE89D379F ! FFFFD37EEC00002C -005C 0 .xword 0xFE5B0C0969B21112 ! FFFFD37EEC000030 -0058 0 .xword 0x8D5E57A087B1A30D ! FFFFD37EEC000038 -0050 0 .word 0xD89E57A4 ! FFFFD37EEC000040 -0048 0 .word 0xC7E2E756 ! FFFFD37EEC000044 -0044 0 Single -1.161747E+05 .xword 0x64828986A008DBF4 ! FFFFD37EEC000048 -0040 0 .half 0x347C ! FFFFD37EEC000050 -0038 0 .half 0x31E6 ! FFFFD37EEC000052 -0036 0 .word 0x0FFF67C0 ! FFFFD37EEC000054 -0034 0 .xword 0x8CEEF2EF162B5541 ! FFFFD37EEC000058 -0030 0 .word 0xBC0A13A8 ! FFFFD37EEC000060 -0028 0 Single -8.427538E-03 .byte 0xE3 ! FFFFD37EEC000064 -0024 0 .byte 0x14 ! FFFFD37EEC000065 -0023 0 .half 0x962F ! FFFFD37EEC000066 -0022 0 .xword 0x3F4AC4298589993D ! FFFFD37EEC000068 -0020 0 Double 8.168414E-04 .xword 0xC0C67F56F961EF33 ! FFFFD37EEC000070 -0018 0 Double -1.151868E+04 .xword 0xCBA8CE000E61E10C ! FFFFD37EEC000078 -0010 0 .xword 0x50582378EAD88248 ! FFFFD37EEC000080 -0008 0 .half 0x0A20 ! FFFFD37EEC000088 +0000 0 .byte 0x36 ! FFFFD37EEC00008A +0002 0 .byte 0x60 ! FFFFD37EEC00008B +0003 0 .half 0xC416 ! FFFFD37EEC00008C +0004 0 .byte 0x49 ! FFFFD37EEC00008E +0006 0 .byte 0x29 ! FFFFD37EEC00008F +0007 0 .half 0xC2F6 ! FFFFD37EEC000090 +0008 0 .half 0xF167 ! FFFFD37EEC000092 +000A 0 .byte 0xA9 ! FFFFD37EEC000094 +000C 0 .byte 0xA6 ! FFFFD37EEC000095 +000D 0 .half 0xB1B4 ! FFFFD37EEC000096 +000E 0 .byte 0xE0 ! FFFFD37EEC000098 +0010 0 .byte 0x10 ! FFFFD37EEC000099 +0011 0 .half 0xB465 ! FFFFD37EEC00009A +0012 0 .word 0xC06FC90C ! FFFFD37EEC00009C +0014 0 Single -3.746646E+00 .xword 0xA31CC7E3D3E515DE ! FFFFD37EEC0000A0 +0018 0 .half 0xC626 ! FFFFD37EEC0000A8 +0020 0 .half 0xD040 ! FFFFD37EEC0000AA +0022 0 .half 0xE86A ! FFFFD37EEC0000AC +0024 0 .half 0x7C7D ! FFFFD37EEC0000AE +0026 0 .xword 0xB852D265CD17037F ! FFFFD37EEC0000B0 +0028 0 .half 0xA807 ! FFFFD37EEC0000B8 +0030 0 .half 0xB224 ! FFFFD37EEC0000BA +0032 0 .word 0x43E89C0A ! FFFFD37EEC0000BC +0034 0 .xword 0x983F91630E546BF1 ! FFFFD37EEC0000C0 +0038 0 .byte 0x36 ! FFFFD37EEC0000C8 +0040 0 .byte 0x19 ! FFFFD37EEC0000C9 +0041 0 .half 0x78CD ! FFFFD37EEC0000CA +0042 0 .word 0x3E979916 ! FFFFD37EEC0000CC +0044 0 Single 2.960898E-01 .xword 0x41718E8CC41AE9A7 ! FFFFD37EEC0000D0 +0048 0 .xword 0x2FE8D611BBC457D8 ! FFFFD37EEC0000D8 +0050 0 .xword 0x40A644FB1843A3DC ! FFFFD37EEC0000E0 +0058 0 Double 2.850490E+03 .xword 0xBD64456A6CC225EC ! FFFFD37EEC0000E8 +0060 0 .xword 0x402DD310F2748ACC ! FFFFD37EEC0000F0 +0068 0 Double 1.491224E+01 .byte 0xF9 ! FFFFD37EEC0000F8 +0070 0 .byte 0xCD ! FFFFD37EEC0000F9 +0071 0 .byte 0x67 ! FFFFD37EEC0000FA +0072 0 .byte 0x27 ! FFFFD37EEC0000FB +0073 0 .half 0x52C1 ! FFFFD37EEC0000FC +0074 0 .byte 0x15 ! FFFFD37EEC0000FE +0076 0 .byte 0xFF ! FFFFD37EEC0000FF +0077 0 .half 0x2E52 ! FFFFD37EEC000100 +0078 0 .half 0x79A2 ! FFFFD37EEC000102 +007A 0 .half 0xF7AB ! FFFFD37EEC000104 +007C 0 .half 0xA3C1 ! FFFFD37EEC000106 +007E 0 .xword 0x3C0A5480ED2075F9 ! FFFFD37EEC000108 +0080 0 !======================================================================== SECTION .bcom001 DATA_VA=0x0 attr_data { Name = .bcom001, VA = 0x0, RA = 0xffffde000, PA = ra2pa(0xffffde000,0), part_0_ctx_nonzero_tsb_config_3, TTE_Context=68, TTE_Size=0, TTE_W=1, TTE_X=0, TTE_V=1, TTE_P=0, TTE_IE=0, TTE_NFO=1, TTE_E=0, TTE_CP=1, TTE_CV=0, TTE_Soft=0x0, TTE_SW0=0, TTE_SW1=0 } SECTION .bcom001 .data DATA002: .xword 0x9DE3D2A4E2EC89B0 ! 0000000000000000 +0000 0 !======================================================================== SECTION .bstk012 DATA_VA=0x2108d0000000 attr_data { Name = .bstk012, VA = 0x2108d0000000, RA = 0xf80000000, PA = ra2pa(0xf80000000,0), part_0_ctx_nonzero_tsb_config_1, TTE_Context=68, TTE_Size=5, TTE_W=1, TTE_X=0, TTE_V=1, TTE_P=0, TTE_IE=0, TTE_NFO=0, TTE_E=0, TTE_CP=1, TTE_CV=0, TTE_Soft=0x0, TTE_SW0=0, TTE_SW1=0 } SECTION .bstk012 .data .skip 0x2000 ! 00002108D0000000 STACK0068: !======================================================================== SECTION .bkey013 DATA_VA=0x52cac00000 attr_data { Name = .bkey013, VA = 0x52cac00000, RA = 0xf9f400000, PA = ra2pa(0xf9f400000,0), part_0_ctx_nonzero_tsb_config_2, TTE_Context=68, TTE_Size=3, TTE_W=1, TTE_X=0, TTE_V=1, TTE_P=0, TTE_IE=0, TTE_NFO=0, TTE_E=0, TTE_CP=1, TTE_CV=0, TTE_Soft=0x0, TTE_SW0=0, TTE_SW1=0 } SECTION .bkey013 .data DATA014: .xword 0x00007AD1C0000088 ! 00000052CAC00000 +0000 DATA003+0x88 .xword 0xFFFFEA1A6FBCA088 ! 00000052CAC00008 +0008 DATA004+0x88 .xword 0x00005C4284030088 ! 00000052CAC00010 +0010 DATA005+0x88 .xword 0x00000C6CECCDC088 ! 00000052CAC00018 +0018 DATA006+0x88 .xword 0x000012F950000088 ! 00000052CAC00020 +0020 DATA007+0x88 .xword 0x00002EBD20000088 ! 00000052CAC00028 +0028 DATA008+0x88 .xword 0x00003D1E10000088 ! 00000052CAC00030 +0030 DATA009+0x88 .xword 0x00000C9D7B710088 ! 00000052CAC00038 +0038 DATA010+0x88 .xword 0x000051E14D800088 ! 00000052CAC00040 +0040 DATA011+0x88 .xword 0xFFFFD37EEC000088 ! 00000052CAC00048 +0048 DATA012+0x88 .xword 0x0000000FFFFE0000 ! 00000052CAC00050 +0050 DATA001+0x0 BD00039: .xword 0x0000000000000000 ! 00000052CAC00058 +0058 0 BD00221: .xword 0x3F643C50DE3B394A ! 00000052CAC00060 +0060 0 Double 2.470167E-03 BD00222: .word 0xC778F5F9 ! 00000052CAC00068 +0068 0 Single -6.373397E+04 #undef BLIMP_BIAS #define BLIMP_BIAS 0 #undef BLIMP_FRAME #define BLIMP_FRAME 128 #undef BLIMP_32BIT #define BLIMP_32BIT 0 !======================================================================== SECTION .btext001 TEXT_VA=0x11d6c0f3fd00 attr_text { Name = .btext001, VA = 0x11d6c0f3fd00, RA = 0xfdff8fd00, PA = ra2pa(0xfdff8fd00,0), notsb } SECTION .btext001_pg0 TEXT_VA=0x11d6c0f30000 attr_text { Name = .btext001_pg0, VA = 0x11d6c0f30000, RA = 0xfdff80000, PA = ra2pa(0xfdff80000,0), tsbonly, part_0_ctx_nonzero_tsb_config_0, TTE_Context=68, TTE_Size=1, TTE_W=0, TTE_X=1, TTE_V=1, TTE_P=0, TTE_IE=0, TTE_NFO=0, TTE_E=0, TTE_CP=1, TTE_CV=0, TTE_Soft=0x0, TTE_SW0=0, TTE_SW1=0 } .text; .skip 8 SECTION .btext001 .text .global start_th_0; start_th_0: .global SUBR015; SUBR015: BL00219: ! MAIN:L0-B000 nop ! 000011D6C0F3FD00 MAIN:L0-B000 1 sethi %hh(0x52CAC00000),%g2 ! 000011D6C0F3FD04 MAIN:L0-B000 1 BD00187 or %g2,%hm(0x52CAC00000),%g2 ! 000011D6C0F3FD08 MAIN:L0-B000 1 sethi %lm(0x52CAC00000),%g3 ! 000011D6C0F3FD0C MAIN:L0-B000 1 or %g3,%lo(0x52CAC00000),%g3 ! 000011D6C0F3FD10 MAIN:L0-B000 1 sllx %g2, 0x20, %g2 ! 000011D6C0F3FD14 MAIN:L0-B000 1 or %g2, %g3, %g2 ! 000011D6C0F3FD18 MAIN:L0-B000 1 sethi %hh(0x2108D0002000),%l0 ! 000011D6C0F3FD1C MAIN:L0-B000 1 STACK0068 or %l0,%hm(0x2108D0002000),%l0 ! 000011D6C0F3FD20 MAIN:L0-B000 1 sethi %lm(0x2108D0002000),%l1 ! 000011D6C0F3FD24 MAIN:L0-B000 1 or %l1,%lo(0x2108D0002000),%l1 ! 000011D6C0F3FD28 MAIN:L0-B000 1 sllx %l0, 0x20, %l0 ! 000011D6C0F3FD2C MAIN:L0-B000 1 or %l0, %l1, %l0 ! 000011D6C0F3FD30 MAIN:L0-B000 1 sub %l0, 0x100, %o6 ! 000011D6C0F3FD34 MAIN:L0-B000 1 add %o6, 0x80, %i6 ! 000011D6C0F3FD38 MAIN:L0-B000 1 addcc %g0, 0x1, %g1 ! 000011D6C0F3FD3C MAIN:L0-B000 1 or %g0, 0x3CF, %g3 ! 000011D6C0F3FD40 MAIN:L0-B000 1 or %g0, -3620, %g4 ! 000011D6C0F3FD44 MAIN:L0-B000 1 or %g0, -1823, %g5 ! 000011D6C0F3FD48 MAIN:L0-B000 1 or %g0, -2925, %g6 ! 000011D6C0F3FD4C MAIN:L0-B000 1 or %g0, 0x0, %g7 ! 000011D6C0F3FD50 MAIN:L0-B000 1 or %g0, 0x10B, %o0 ! 000011D6C0F3FD54 MAIN:L0-B000 1 or %g0, 0xD1, %o1 ! 000011D6C0F3FD58 MAIN:L0-B000 1 or %g0, 0x7BB, %o2 ! 000011D6C0F3FD5C MAIN:L0-B000 1 or %g0, 0x2FC, %o3 ! 000011D6C0F3FD60 MAIN:L0-B000 1 or %g0, -1500, %o4 ! 000011D6C0F3FD64 MAIN:L0-B000 1 or %g0, -1147, %o5 ! 000011D6C0F3FD68 MAIN:L0-B000 1 or %g0, -2762, %o7 ! 000011D6C0F3FD6C MAIN:L0-B000 1 or %g0, 0xFEB, %l0 ! 000011D6C0F3FD70 MAIN:L0-B000 1 or %g0, 0xB78, %l1 ! 000011D6C0F3FD74 MAIN:L0-B000 1 or %g0, 0x85F, %l2 ! 000011D6C0F3FD78 MAIN:L0-B000 1 or %g0, 0x38C, %l3 ! 000011D6C0F3FD7C MAIN:L0-B000 1 or %g0, -673, %l4 ! 000011D6C0F3FD80 MAIN:L0-B000 1 or %g0, 0xF25, %l5 ! 000011D6C0F3FD84 MAIN:L0-B000 1 sethi %hh(0x11D6C0F3FD00),%l7 ! 000011D6C0F3FD88 MAIN:L0-B000 1 SUBR015 or %l7,%hm(0x11D6C0F3FD00),%l7 ! 000011D6C0F3FD8C MAIN:L0-B000 1 sethi %lm(0x11D6C0F3FD00),%l6 ! 000011D6C0F3FD90 MAIN:L0-B000 1 or %l6,%lo(0x11D6C0F3FD00),%l6 ! 000011D6C0F3FD94 MAIN:L0-B000 1 sllx %l7, 0x20, %l7 ! 000011D6C0F3FD98 MAIN:L0-B000 1 or %l7, %l6, %l7 ! 000011D6C0F3FD9C MAIN:L0-B000 1 or %g0, -2260, %l6 ! 000011D6C0F3FDA0 MAIN:L0-B000 1 or %g0, -1734, %i0 ! 000011D6C0F3FDA4 MAIN:L0-B000 1 or %g0, 0xC83, %i1 ! 000011D6C0F3FDA8 MAIN:L0-B000 1 or %g0, 0x3BB, %i2 ! 000011D6C0F3FDAC MAIN:L0-B000 1 or %g0, -2004, %i3 ! 000011D6C0F3FDB0 MAIN:L0-B000 1 or %g0, 0x97, %i4 ! 000011D6C0F3FDB4 MAIN:L0-B000 1 or %g0, 0x17A, %i5 ! 000011D6C0F3FDB8 MAIN:L0-B000 1 or %g0, 0xFF8, %i7 ! 000011D6C0F3FDBC MAIN:L0-B000 1 or %g0, 0x4, %g6 ! 000011D6C0F3FDC0 MAIN:L0-B000 1 BL00220:save %o6, -128, %o6 ! 000011D6C0F3FDC4 MAIN:L0-B000 4 add %i0, %g6, %l0 ! 000011D6C0F3FDC8 MAIN:L0-B000 4 add %i1, %g6, %l1 ! 000011D6C0F3FDCC MAIN:L0-B000 4 add %i2, %g6, %l2 ! 000011D6C0F3FDD0 MAIN:L0-B000 4 add %i3, %g6, %l3 ! 000011D6C0F3FDD4 MAIN:L0-B000 4 add %i4, %g6, %l4 ! 000011D6C0F3FDD8 MAIN:L0-B000 4 add %i5, %g6, %l5 ! 000011D6C0F3FDDC MAIN:L0-B000 4 add %i6, %g6, %l6 ! 000011D6C0F3FDE0 MAIN:L0-B000 4 add %i7, %g6, %l7 ! 000011D6C0F3FDE4 MAIN:L0-B000 4 add %l0, %g6, %o0 ! 000011D6C0F3FDE8 MAIN:L0-B000 4 add %l1, %g6, %o1 ! 000011D6C0F3FDEC MAIN:L0-B000 4 add %l2, %g6, %o2 ! 000011D6C0F3FDF0 MAIN:L0-B000 4 add %l3, %g6, %o3 ! 000011D6C0F3FDF4 MAIN:L0-B000 4 add %l4, %g6, %o4 ! 000011D6C0F3FDF8 MAIN:L0-B000 4 add %l5, %g6, %o5 ! 000011D6C0F3FDFC MAIN:L0-B000 4 add %l7, %g6, %o7 ! 000011D6C0F3FE00 MAIN:L0-B000 4 subcc %g6, 0x1, %g6 ! 000011D6C0F3FE04 MAIN:L0-B000 4 bnz,a,pn %xcc, BL00220 ! 000011D6C0F3FE08 MAIN:L0-B000 4 nop ! 000011D6C0F3FE0C MAIN:L0-B000 3 restore %g0, %g0, %g0 ! 000011D6C0F3FE10 MAIN:L0-B000 1 restore %g0, %g0, %g0 ! 000011D6C0F3FE14 MAIN:L0-B000 1 restore %g0, %g0, %g0 ! 000011D6C0F3FE18 MAIN:L0-B000 1 restore %g0, %g0, %g0 ! 000011D6C0F3FE1C MAIN:L0-B000 1 ta %xcc, 0x44 ! 000011D6C0F3FE20 MAIN:L0-B000 1 cleanwin=0 wr %g0, -946, %y ! 000011D6C0F3FE24 MAIN:L0-B000 1 wr %g0, 0x20, %gsr ! 000011D6C0F3FE28 MAIN:L0-B000 1 ldd [%g2+0x0060], %f0 ! 000011D6C0F3FE2C MAIN:L0-B000 1 BD00101 xnorcc %i0, %o0, %i5 ! 000011D6C0F3FEF4 LOOP:L1-B000 1 S BL00223:.word 0xB5A48876 ! 000011D6C0F3FEF8 LOOP:L1-B000 2 S illop_FP fba BL00226 ! 000011D6C0F3FEFC LOOP:L1-B000 2 L BL00226:ldx [%g4+0x0038], %l2 ! 000011D6C0F3FF00 LOOP:L1-B000 4 S BD00023 ldx [%g3+0x0018], %o1 ! 000011D6C0F3FF68 SKIP:L3-B000 1 S BD00087 rd %gsr, %l6 ! 000011D6C0F3FF70 SKIP:L3-B000 1 S wr %l6, 0xF0, %gsr ! 000011D6C0F3FF74 SKIP:L3-B000 1 S subcc %o1, %i5, %i2 ! 000011D6C0F3FF78 SKIP:L3-B000 1 S add %g1, 0xB7D, %g1 ! 000011D6C0F3FF7C SKIP:L3-B000 1 chksum++ add %l3, 0x0, %l3 ! 000011D6C0F3FF80 SKIP:L3-B000 1 S sth %i0, [%g6+0x0074] ! 000011D6C0F3FF84 SKIP:L3-B000 1 S >BD00227 sth %o2, [%g5+0x0056] ! 000011D6C0F3FF88 SKIP:L3-B000 1 S >BD00058+6 ldsw [%g6-0x0064], %i5 ! 000011D6C0F3FF8C SKIP:L3-B000 1 S BD00112 ldsb [%g3+0x0071], %i0 ! 000011D6C0F3FFB4 ELSE:L3-B001 3 S BD00093 add %g1, 0xD12, %g1 ! 000011D6C0F3FFBC ELSE:L3-B001 3 chksum++ fcmple16 %f20, %f20, %l0 ! 000011D6C0F3FFC0 ELSE:L3-B001 3 S ldx [%g2+0x0050], %l6 ! 000011D6C0F3FFC4 ELSE:L3-B001 3 BD00230 srlx %l4, 0x1, %l4 ! 000011D6C0F40038 LOOP:L3-B002 4 andcc %l4, 0x1, %g0 ! 000011D6C0F4003C LOOP:L3-B002 4 bne,a,pn %xcc, BL00231 ! 000011D6C0F40040 LOOP:L3-B002 4 sta %f8, [%g6-0x0044]%asi ! 000011D6C0F40044 LOOP:L3-B002 0 S >BD00129 add %g1, 0x7A3, %g1 ! 000011D6C0F40048 LOOP:L3-B002 4 chksum++ and %g1, 0xFE, %l2 ! 000011D6C0F4004C LOOP:L3-B003 4 BL00232: ! LOOP:L3-B003 add %g1, 0x93, %g1 ! 000011D6C0F40050 LOOP:L3-B003 10 chksum++ fnand %f24, %f16, %f16 ! 000011D6C0F40054 LOOP:L3-B003 10 S ldx [%g2+0x0050], %l6 ! 000011D6C0F40058 LOOP:L3-B003 10 BD00062+2 add %g1, 0x107, %g1 ! 000011D6C0F40090 LOOP:L2-B000 2 chksum++ and %g1, 0xFE, %l0 ! 000011D6C0F40094 LOOP:L2-B001 2 BL00256: ! LOOP:L2-B001 add %g1, 0xC27, %g1 ! 000011D6C0F40098 LOOP:L2-B001 2 chksum++ andcc %i2, 0x10, %g0 ! 000011D6C0F4009C SKIP:L3-B004 2 bz,pt %icc, BL00237 ! 000011D6C0F400A0 SKIP:L3-B004 2 fmovscs %icc, %f11, %f9 ! 000011D6C0F400A4 SKIP:L3-B004 2 S fsubs %f11, %f8, %f11 ! 000011D6C0F400A8 SKIP:L3-B004 1 S st %f24, [%g6-0x0064] ! 000011D6C0F400AC SKIP:L3-B004 1 S >BD00044 .word 0x9BB1C9C9 ! 000011D6C0F400B0 SKIP:L3-B004 1 S illop_VIS lduw [%g3-0x0060], %i1 ! 000011D6C0F400B4 SKIP:L3-B004 1 S BD00093 ldd [%g6+0x0060], %i4 ! 000011D6C0F40150 SKIP:L3-B006 2 S BD00036 xor %i4, %i1, %i4 ! 000011D6C0F4017C ELSE:L3-B007 0 S stx %i5, [%g4-0x0058] ! 000011D6C0F40180 ELSE:L3-B007 0 S >BD00004 fpadd32s %f24, %f18, %f25 ! 000011D6C0F40184 ELSE:L3-B007 0 S lduh [%g5+0x0030], %o4 ! 000011D6C0F40188 ELSE:L3-B007 0 S BD00240 ldx [%g4+0x0038], %i2 ! 000011D6C0F401B0 ELSE:L3-B007 0 S BD00063 BL00243:ba BL00244 ! 000011D6C0F401D4 ELSE:L3-B007 0 L BL00244:nop ! 000011D6C0F401D8 ELSE:L3-B007 0 S BL00241:nop ! 000011D6C0F401DC ELSE:L3-B007 0 S add %g1, 0xB61, %g1 ! 000011D6C0F401E0 ELSE:L3-B007 0 chksum++ BL00245: ! ELSE:L3-B007 add %g1, 0x15C, %g1 ! 000011D6C0F401E4 ELSE:L3-B007 2 chksum++ andcc %o1, 0x1, %g0 ! 000011D6C0F401E8 SKIP:L3-B008 2 bnz,pn %xcc, BL00246 ! 000011D6C0F401EC SKIP:L3-B008 2 or %l5, 0x0, %l5 ! 000011D6C0F401F0 SKIP:L3-B008 2 S ldx [%g2+0x0050], %l6 ! 000011D6C0F401F4 SKIP:L3-B008 1 BD00023 add %g1, 0x760, %g1 ! 000011D6C0F40238 SKIP:L3-B008 1 chksum++ mulx %g1, -104, %o5 ! 000011D6C0F4023C SKIP:L3-B008 1 S cmp %i1, %i0 ! 000011D6C0F40240 SKIP:L3-B008 1 S call .+8 ! 000011D6C0F40244 SKIP:L3-B008 1 S cmp %i2, %i5 ! 000011D6C0F40248 SKIP:L3-B008 1 S sdivx %o1, %i0, %i4 ! 000011D6C0F4024C SKIP:L3-B008 1 S nop ! 000011D6C0F40250 SKIP:L3-B008 1 S ba BL00247 ! 000011D6C0F40254 SKIP:L3-B008 1 xor %i4, %o3, %i2 ! 000011D6C0F40258 SKIP:L3-B008 1 S BL00246: ! ELSE:L3-B009 nop ! 000011D6C0F4025C ELSE:L3-B009 1 S fcmpd %fcc1, %f62, %f12 ! 000011D6C0F40260 ELSE:L3-B009 1 S orn %o0, -1, %o0 ! 000011D6C0F40264 ELSE:L3-B009 1 S xnorcc %i2, %i1, %i1 ! 000011D6C0F40268 ELSE:L3-B009 1 S ldx [%g2+0x0050], %l6 ! 000011D6C0F4026C ELSE:L3-B009 1 BD00063+4 add %i3, %o3, %i4 ! 000011D6C0F40288 ELSE:L3-B009 1 S add %o5, 0x0, %o5 ! 000011D6C0F4028C ELSE:L3-B009 1 S xnor %i1, %i4, %i1 ! 000011D6C0F40290 ELSE:L3-B009 1 S BL00247: ! ELSE:L3-B009 add %g1, 0xB74, %g1 ! 000011D6C0F40294 ELSE:L3-B009 2 chksum++ nop ! 000011D6C0F40298 LOOP:L3-B010 2 andcc %g1, 0x18, %g0 ! 000011D6C0F4029C LOOP:L2-B001 2 bz,a,pn %xcc, BL00266 ! 000011D6C0F402A0 LOOP:L2-B001 2 sth %i1, [%g4-0x004E] ! 000011D6C0F402A4 LOOP:L2-B001 0 S >BD00036+2 add %g1, 0xAE5, %g1 ! 000011D6C0F402A8 LOOP:L2-B001 2 chksum++ andcc %i4, 0x40, %g0 ! 000011D6C0F402AC SKIP:L3-B011 2 bz,pt %icc, BL00251 ! 000011D6C0F402B0 SKIP:L3-B011 2 lduh [%g5+0x0042], %o4 ! 000011D6C0F402B4 SKIP:L3-B011 2 S BD00038 stw %g1, [%g4-0x0060] ! 000011D6C0F402C4 SKIP:L3-B011 1 S >BD00067 lduba [%g7+%g7]0x82, %o4 ! 000011D6C0F402C8 SKIP:L3-B011 1 S BD00080 nop ! 000011D6C0F402D4 SKIP:L3-B011 1 S sth %o0, [%g5+0x0078] ! 000011D6C0F402D8 SKIP:L3-B011 1 S >BD00094 fbuge,pn %fcc1, BL00248 ! 000011D6C0F402DC SKIP:L3-B011 1 L sth %i1, [%g5-0x004E] ! 000011D6C0F402E0 SKIP:L3-B011 1 S >BD00036+2 xnor %o5, %g1, %o1 ! 000011D6C0F402E4 SKIP:L3-B011 0 S add %o3, %g1, %i4 ! 000011D6C0F402E8 SKIP:L3-B011 0 S bz,pn %icc, BL00248 ! 000011D6C0F402EC SKIP:L3-B011 0 L BL00248:addcc %l2, %g7, %l2 ! 000011D6C0F402F0 SKIP:L3-B011 1 S subcc %i0, %o5, %i5 ! 000011D6C0F402F4 SKIP:L3-B011 1 S lduba [%g6+0x0070]%asi, %o5 ! 000011D6C0F402F8 SKIP:L3-B011 1 S BD00115 bg,a BL00249 ;.empty ! 000011D6C0F40300 SKIP:L3-B011 1 L BL00249:bvc BL00250 ! 000011D6C0F40304 SKIP:L3-B011 2 L nop ! 000011D6C0F40308 SKIP:L3-B011 0 S bvc,a,pn %icc, BL00250 ! 000011D6C0F4030C SKIP:L3-B011 0 L nop ! 000011D6C0F40310 SKIP:L3-B011 0 S subc %i4, %o4, %i4 ! 000011D6C0F40314 SKIP:L3-B011 0 S BL00250:add %g1, 0x424, %g1 ! 000011D6C0F40318 SKIP:L3-B011 2 chksum++ fba,pt %fcc1, BL00255 ! 000011D6C0F4031C SKIP:L3-B011 1 fmul8x16au %f25, %f16, %f28 ! 000011D6C0F40320 SKIP:L3-B011 1 S BL00251: ! ELSE:L3-B012 fadds %f8, %f8, %f2 ! 000011D6C0F40324 ELSE:L3-B012 1 S stx %i3, [%g6+0x0080] ! 000011D6C0F40328 ELSE:L3-B012 1 S >BD00031 fcmpd %fcc1, %f6, %f34 ! 000011D6C0F4032C ELSE:L3-B012 1 S stb %o2, [%g3-0x0068] ! 000011D6C0F40330 ELSE:L3-B012 1 S >BD00013 and %l2, %o1, %o3 ! 000011D6C0F40334 ELSE:L3-B012 1 S ldxa [%g3+0x0080]%asi, %i1 ! 000011D6C0F40338 ELSE:L3-B012 1 S BD00067 stx %o4, [%g4-0x0030] ! 000011D6C0F403E0 SKIP:L3-B013 0 S >BD00051 std %i2, [%g5+0x0048] ! 000011D6C0F403E4 SKIP:L3-B013 0 S >BD00175 ldx [%g6-0x0088], %g6 ! 000011D6C0F403E8 SKIP:L3-B013 0 ptr_chase ldx [%g6-0x0088], %g6 ! 000011D6C0F403EC SKIP:L3-B013 0 ptr_chase ldx [%g6-0x0088], %g6 ! 000011D6C0F403F0 SKIP:L3-B013 0 ptr_chase ldx [%g6-0x0088], %g6 ! 000011D6C0F403F4 SKIP:L3-B013 0 ptr_chase subcc %g3, %g4, %g0 ! 000011D6C0F403F8 SKIP:L3-B013 0 S ldx [%g2+0x0000], %g4 ! 000011D6C0F403FC SKIP:L3-B013 0 S BASEBD00175 BL00259:add %g1, 0x629, %g1 ! 000011D6C0F4044C ELSE:L3-B014 0 chksum++ add %g1, 0x97E, %g1 ! 000011D6C0F40450 ELSE:L3-B014 0 chksum++ .word 0xAEEDE5DD ! 000011D6C0F40454 ELSE:L3-B014 0 S illop ldub [%g4+0x0011], %i4 ! 000011D6C0F40458 ELSE:L3-B014 0 S BD00071 lduha [%g7+%g7]0x83, %o2 ! 000011D6C0F40480 ELSE:L3-B014 0 S BD00098 rd %y, %o2 ! 000011D6C0F404A4 SKIP:L3-B015 0 S add %g1, 0x73D, %g1 ! 000011D6C0F404A8 SKIP:L3-B015 0 chksum++ ldx [%g2+0x0050], %l6 ! 000011D6C0F404AC SKIP:L3-B015 0 BD00087 cmp %o4, %i4 ! 000011D6C0F404DC ELSE:L3-B016 0 S ldx [%g3-0x0088], %g3 ! 000011D6C0F404E0 ELSE:L3-B016 0 ptr_chase ldx [%g3-0x0088], %g3 ! 000011D6C0F404E4 ELSE:L3-B016 0 ptr_chase ldx [%g3-0x0088], %g3 ! 000011D6C0F404E8 ELSE:L3-B016 0 ptr_chase ldx [%g3-0x0088], %g3 ! 000011D6C0F404EC ELSE:L3-B016 0 ptr_chase ldx [%g3-0x0088], %g3 ! 000011D6C0F404F0 ELSE:L3-B016 0 ptr_chase ldx [%g3-0x0088], %g3 ! 000011D6C0F404F4 ELSE:L3-B016 0 ptr_chase ldx [%g3-0x0088], %g3 ! 000011D6C0F404F8 ELSE:L3-B016 0 ptr_chase add %g1, 0x9E0, %g1 ! 000011D6C0F404FC ELSE:L3-B016 0 chksum++ ldx [%g2+0x0038], %g4 ! 000011D6C0F40500 ELSE:L3-B016 0 S BASEBD00046 add %i4, 0x664, %o1 ! 000011D6C0F40510 ELSE:L3-B016 0 S fcmpd %fcc1, %f14, %f60 ! 000011D6C0F40514 ELSE:L3-B016 0 S sethi %hh(0x74948B4FF00),%l6 ! 000011D6C0F40518 ELSE:L3-B016 0 SUBR016 or %l6,%hm(0x74948B4FF00),%l6 ! 000011D6C0F4051C ELSE:L3-B016 0 sethi %lm(0x74948B4FF00),%l5 ! 000011D6C0F40520 ELSE:L3-B016 0 or %l5,%lo(0x74948B4FF00),%l5 ! 000011D6C0F40524 ELSE:L3-B016 0 sllx %l6, 0x20, %l6 ! 000011D6C0F40528 ELSE:L3-B016 0 or %l6, %l5, %l6 ! 000011D6C0F4052C ELSE:L3-B016 0 add %l6, 0x1, %l6 ! 000011D6C0F40530 ELSE:L3-B016 0 jmpl %l6+0x0000, %o7 ! 000011D6C0F40534 ELSE:L3-B016 0 S nop ! 000011D6C0F40538 ELSE:L3-B016 0 S nop ! 000011D6C0F4053C ELSE:L3-B016 0 S BL00264: ! ELSE:L3-B016 add %g1, 0xBF7, %g1 ! 000011D6C0F40540 ELSE:L3-B016 0 chksum++ nop ! 000011D6C0F40544 LOOP:L3-B017 0 nop ! 000011D6C0F40548 LOOP:L3-B018 0 nop ! 000011D6C0F4054C LOOP:L3-B019 0 add %g1, 0x1FE, %g1 ! 000011D6C0F40550 SIDE:L2-B002 0 chksum++ BL00265: ! SIDE:L2-B002 nop ! 000011D6C0F40554 LOOP:L2-B003 2 nop ! 000011D6C0F40558 LOOP:L2-B004 2 nop ! 000011D6C0F4055C LOOP:L2-B005 2 nop ! 000011D6C0F40560 LOOP:L2-B006 2 nop ! 000011D6C0F40564 LOOP:L2-B007 2 nop ! 000011D6C0F40568 LOOP:L2-B008 2 nop ! 000011D6C0F4056C LOOP:L2-B009 2 nop ! 000011D6C0F40570 LOOP:L2-B010 2 nop ! 000011D6C0F40574 LOOP:L2-B011 2 nop ! 000011D6C0F40578 LOOP:L2-B012 2 nop ! 000011D6C0F4057C LOOP:L2-B013 2 nop ! 000011D6C0F40580 LOOP:L2-B014 2 add %i1, %g1, %i0 ! 000011D6C0F40584 SWCH:L2-B015 2 andcc %i0, 0x100, %g0 ! 000011D6C0F40588 SWCH:L2-B015 2 bnz,pt %xcc, BL00278 ! 000011D6C0F4058C SWCH:L2-B015 2 andcc %i0, 0x8, %g0 ! 000011D6C0F40590 SWCH:L2-B015 2 bnz,pn %xcc, BL00277 ! 000011D6C0F40594 SWCH:L2-B015 1 add %g1, 0x1CA, %g1 ! 000011D6C0F40598 SWCH:L2-B015 1 chksum++ andcc %i0, 0x2, %g0 ! 000011D6C0F4059C SWCH:L2-B015 0 bnz,pn %xcc, BL00276 ! 000011D6C0F405A0 SWCH:L2-B015 0 andcc %i0, 0x800, %g0 ! 000011D6C0F405A4 SWCH:L2-B015 0 bnz,pn %xcc, BL00271 ! 000011D6C0F405A8 SWCH:L2-B015 0 fmovsn %fcc0, %f10, %f3 ! 000011D6C0F405AC SWCH:L2-B015 0 S fble BL00267 ! 000011D6C0F405B0 SWCH:L2-B015 0 L nop ! 000011D6C0F405B4 SWCH:L2-B015 0 S fble,a,pn %fcc1, BL00268 ! 000011D6C0F405B8 SWCH:L2-B015 0 L st %fsr, [%g2+0x005C] ! 000011D6C0F405BC SWCH:L2-B015 0 S BD00098 add %g1, 0xBE3, %g1 ! 000011D6C0F405E0 SWCH:L2-B015 0 chksum++ add %g1, 0xFB0, %g1 ! 000011D6C0F405E4 SWCH:L2-B015 0 chksum++ fba BL00279 ! 000011D6C0F405E8 SWCH:L2-B015 0 prefetch [%o3-0x09C1], 1 ! 000011D6C0F405EC SWCH:L2-B015 0 S <.-2497 BL00271:add %g1, 0xBB8, %g1 ! 000011D6C0F405F0 CASE:L3-B020 0 chksum++ ldx [%g2+0x0050], %l6 ! 000011D6C0F405F4 CASE:L3-B020 0 BD00213 ldda [%g7+%g0]0x8B, %i4 ! 000011D6C0F40604 CASE:L3-B020 0 S BD00044+1 sllx %g6, 0x0, %g6 ! 000011D6C0F40620 CASE:L3-B021 0 S bgu,a BL00272 ;.empty ! 000011D6C0F40624 CASE:L3-B021 0 L bnz BL00273 ;.empty ! 000011D6C0F40628 CASE:L3-B021 0 L brnz,pt %o1, BL00272 ;.empty ! 000011D6C0F4062C CASE:L3-B021 0 L fbo BL00274 ! 000011D6C0F40630 CASE:L3-B021 0 L ldsh [%g4+0x0030], %o4 ! 000011D6C0F40634 CASE:L3-B021 0 S BD00058 BL00275:add %g1, 0x97B, %g1 ! 000011D6C0F40660 CASE:L3-B021 0 chksum++ fba,a,pt %fcc2, BL00279 ! 000011D6C0F40664 CASE:L3-B021 0 stx %g3, [%g4+0x0060] ! 000011D6C0F40668 CASE:L3-B021 0 S >BD00115 BL00277:add %g1, 0x634, %g1 ! 000011D6C0F4066C CASE:L3-B022 1 chksum++ xor %i3, %g7, %i3 ! 000011D6C0F40670 CASE:L3-B022 1 S std %f36, [%g3+0x0058] ! 000011D6C0F40674 CASE:L3-B022 1 S >BD00024 fmovs %f11, %f4 ! 000011D6C0F40678 CASE:L3-B022 1 S and %i1, -1, %i1 ! 000011D6C0F4067C CASE:L3-B022 1 S sth %o4, [%g4+0x000B] ! 000011D6C0F40680 CASE:L3-B022 1 S >BD00215+1 add %i2, %i2, %i4 ! 000011D6C0F40684 CASE:L3-B022 1 S call .+8 ! 000011D6C0F40688 CASE:L3-B022 1 S nop ! 000011D6C0F4068C CASE:L3-B022 1 S xorcc %i1, %o3, %o3 ! 000011D6C0F40690 CASE:L3-B022 1 S sth %o2, [%g3+0x0004] ! 000011D6C0F40694 CASE:L3-B022 1 S >BD00037 ba BL00279 ! 000011D6C0F40698 CASE:L3-B022 1 movlg %fcc2, %o5, %i3 ! 000011D6C0F4069C CASE:L3-B022 1 S BL00278:add %g1, 0xD02, %g1 ! 000011D6C0F406A0 CASE:L3-B023 1 chksum++ ldsb [%g5+0x0071], %i2 ! 000011D6C0F406A4 CASE:L3-B023 1 S BD00063 BL00279: ! SWCH:L2-B015 add %g1, 0xE9C, %g1 ! 000011D6C0F406BC SWCH:L2-B015 2 chksum++ .word 0x81A59BB0 ! 000011D6C0F406C0 SWCH:L2-B015 2 S illop_FP ldx [%g2+0x0050], %l6 ! 000011D6C0F406C4 SWCH:L2-B015 2 BD00023 .word 0xB9B24940 ! 000011D6C0F406CC SWCH:L2-B015 2 S illop_VIS sth %o3, [%g4-0x005A] ! 000011D6C0F406D0 SWCH:L2-B015 2 S >BD00088+2 nop ! 000011D6C0F406D4 LOOP:L2-B016 2 add %o2, %g1, %i3 ! 000011D6C0F406D8 SWCH:L2-B017 2 and %i3, 0x18, %o7 ! 000011D6C0F406DC SWCH:L2-B017 2 sethi %hi(0x9F4), %i3 ! 000011D6C0F406E0 SWCH:L2-B017 2 .+0 or %i3,%lo(0x9F4),%i3 ! 000011D6C0F406E4 SWCH:L2-B017 2 add %i3, %o7, %i3 ! 000011D6C0F406E8 SWCH:L2-B017 2 jmpl %l7+%i3, %g0 ! 000011D6C0F406EC SWCH:L2-B017 2 ldsw [%g3-0x0048], %o0 ! 000011D6C0F406F0 SWCH:L2-B017 2 S BD00004 sethi %hh(0x32BBDF3FF00),%l6 ! 000011D6C0F40734 CASE:L3-B024 1 SUBR018 or %l6,%hm(0x32BBDF3FF00),%l6 ! 000011D6C0F40738 CASE:L3-B024 1 sethi %lm(0x32BBDF3FF00),%l5 ! 000011D6C0F4073C CASE:L3-B024 1 or %l5,%lo(0x32BBDF3FF00),%l5 ! 000011D6C0F40740 CASE:L3-B024 1 sllx %l6, 0x20, %l6 ! 000011D6C0F40744 CASE:L3-B024 1 or %l6, %l5, %l6 ! 000011D6C0F40748 CASE:L3-B024 1 jmpl %l6+0x0000, %o7 ! 000011D6C0F4074C CASE:L3-B024 1 S ta %xcc, 0x46 ! 000011D6C0F40750 CASE:L3-B024 1 S demap-page xnor %o0, %i2, %i5 ! 000011D6C0F40754 CASE:L3-B024 1 S cmp %o0, %o2 ! 000011D6C0F40758 CASE:L3-B024 1 S .word 0x8DB54B2D ! 000011D6C0F4075C CASE:L3-B024 1 S illop_VIS .word 0xCB623551 ! 000011D6C0F40760 CASE:L3-B024 1 S illop fba,pn %fcc1, BL00290 ! 000011D6C0F40764 CASE:L3-B024 1 alignaddrl %o2, %o0, %o5 ! 000011D6C0F40768 CASE:L3-B024 1 S BL00281:add %g1, 0x5B3, %g1 ! 000011D6C0F4076C CASE:L3-B025 0 chksum++ fmovdo %fcc3, %f6, %f34 ! 000011D6C0F40770 CASE:L3-B025 0 S .word 0xBFAE9DC7 ! 000011D6C0F40774 CASE:L3-B025 0 S illop_FP orn %i3, %i5, %i4 ! 000011D6C0F40778 CASE:L3-B025 0 S swap [%g6-0x0064], %o4 ! 000011D6C0F4077C CASE:L3-B025 0 S >BD00044 fcmpd %fcc0, %f6, %f62 ! 000011D6C0F40780 CASE:L3-B025 0 S lduw [%g4-0x0060], %o1 ! 000011D6C0F40784 CASE:L3-B025 0 S BD00063 fabss %f25, %f18 ! 000011D6C0F4079C CASE:L3-B026 1 S fpsub16 %f20, %f28, %f16 ! 000011D6C0F407A0 CASE:L3-B026 1 S ldx [%g2+0x0008], %g4 ! 000011D6C0F407A4 CASE:L3-B026 1 S BASEBD00020 cmp %o3, %g1 ! 000011D6C0F407B4 CASE:L3-B026 1 S fba BL00290 ! 000011D6C0F407B8 CASE:L3-B026 1 std %f38, [%g4+0x0068] ! 000011D6C0F407BC CASE:L3-B026 1 S >BD00081 BL00289:add %g1, 0x6BE, %g1 ! 000011D6C0F407C0 CASE:L3-B027 0 chksum++ sll %i0, %g1, %o5 ! 000011D6C0F407C4 CASE:L3-B027 0 S bneg BL00283 ;.empty ! 000011D6C0F407C8 CASE:L3-B027 0 L bgu,a BL00284 ! 000011D6C0F407CC CASE:L3-B027 0 L BL00284:subc %g1, %i0, %o0 ! 000011D6C0F407D0 CASE:L3-B027 0 S fble,pn %fcc3, BL00285 ;.empty ! 000011D6C0F407D4 CASE:L3-B027 0 L BL00285:bgu BL00286 ;.empty ! 000011D6C0F407D8 CASE:L3-B027 0 L bcc BL00283 ;.empty ! 000011D6C0F407DC CASE:L3-B027 0 L bgu,a,pn %xcc, BL00287 ;.empty ! 000011D6C0F407E0 CASE:L3-B027 0 L BL00283:be,a BL00288 ! 000011D6C0F407E4 CASE:L3-B027 0 L BL00286:fmovrslez %g1, %f11, %f11 ! 000011D6C0F407E8 CASE:L3-B027 0 S BL00287:movleu %xcc, %o1, %i1 ! 000011D6C0F407EC CASE:L3-B027 0 S BL00288:add %g1, 0x970, %g1 ! 000011D6C0F407F0 CASE:L3-B027 0 chksum++ ba,a,pn %icc, BL00290 ! 000011D6C0F407F4 CASE:L3-B027 0 fpadd16 %f28, %f16, %f28 ! 000011D6C0F407F8 CASE:L3-B027 0 S BL00290: ! SWCH:L2-B017 add %g1, 0x699, %g1 ! 000011D6C0F407FC SWCH:L2-B017 2 chksum++ std %f14, [%g5-0x0020] ! 000011D6C0F40800 SWCH:L2-B017 2 S >BD00093 fpsub16s %f26, %f28, %f28 ! 000011D6C0F40804 SWCH:L2-B017 2 S st %f11, [%g4-0x0074] ! 000011D6C0F40808 SWCH:L2-B017 2 S >BD00032 ldub [%g6+0x0070], %o3 ! 000011D6C0F4080C SWCH:L2-B017 2 S BD00012 lda [%g6+0x0034]%asi, %f24 ! 0000074948B4FFFC ELSE:L2-B001 0 S BD00013 BL00017:add %g1, 0x64F, %g1 ! 0000074948B5001C ELSE:L2-B001 0 chksum++ add %g1, 0xC4F, %g1 ! 0000074948B50020 ELSE:L2-B001 0 chksum++ fcmps %fcc0, %f3, %f2 ! 0000074948B50024 ELSE:L2-B001 0 S fadds %f2, %f9, %f3 ! 0000074948B50028 ELSE:L2-B001 0 S fcmps %fcc1, %f3, %f5 ! 0000074948B5002C ELSE:L2-B001 0 S .word 0xB9CE16BC ! 0000074948B50030 ELSE:L2-B001 0 S illop BL00019: ! ELSE:L2-B001 add %g1, 0x3EB, %g1 ! 0000074948B50034 ELSE:L2-B001 0 chksum++ fcmpd %fcc1, %f6, %f62 ! 0000074948B50038 SKIP:L2-B002 0 fbge,a,pn %fcc1, BL00026 ! 0000074948B5003C SKIP:L2-B002 0 std %f18, [%g4-0x0040] ! 0000074948B50040 SKIP:L2-B002 0 S >BD00020 lduba [%g7+%g7]0x83, %o2 ! 0000074948B50044 SKIP:L2-B002 0 S BD00023 ldda [%g7+%g0]0x83, %i0 ! 0000074948B50050 SKIP:L2-B002 0 S BD00024 ba BL00029 ! 0000074948B5007C SKIP:L2-B002 0 stda %l2, [%g3+0x0018]%asi ! 0000074948B50080 SKIP:L2-B002 0 S >BD00025 BL00026: ! ELSE:L2-B003 lduba [%g7+%g7]0x83, %i4 ! 0000074948B50084 ELSE:L2-B003 0 S BD00027 andn %i1, %l3, %l3 ! 0000074948B500A8 ELSE:L2-B003 0 S add %g1, 0x9DE, %g1 ! 0000074948B500AC ELSE:L2-B003 0 chksum++ fnand %f24, %f20, %f24 ! 0000074948B500B0 ELSE:L2-B003 0 S subcc %o0, %o1, %l0 ! 0000074948B500B4 ELSE:L2-B003 0 S .word 0xB9B109D6 ! 0000074948B500B8 ELSE:L2-B003 0 S illop_VIS ldx [%g2+0x0040], %g6 ! 0000074948B500BC ELSE:L2-B003 0 S BASEBD00031 add %g1, 0x83F, %g1 ! 0000074948B500D4 LOOP:L1-B000 0 chksum++ ta %xcc, 0x46 ! 0000074948B500D8 SUBR:L0-B000 0 S demap-page ldx [%g2+0x0050], %l6 ! 0000074948B500DC SUBR:L0-B000 0 BD00023 ldx [%g5-0x0088], %g5 ! 0000074948B500E4 SUBR:L0-B000 0 ptr_chase ldx [%g5-0x0088], %g5 ! 0000074948B500E8 SUBR:L0-B000 0 ptr_chase xor %l0, %o0, %o1 ! 0000074948B500EC SUBR:L0-B000 0 S sta %f9, [%g5-0x0074]%asi ! 0000074948B500F0 SUBR:L0-B000 0 S >BD00032 ldsh [%g5+0x0032], %o1 ! 0000074948B500F4 SUBR:L0-B000 0 S BD00034 array16 %i0, %l3, %i2 ! 0000074948B50100 SUBR:L0-B000 0 S call .+8 ! 0000074948B50104 SUBR:L0-B000 0 S movue %fcc3, %l0, %l1 ! 0000074948B50108 SUBR:L0-B000 0 S ta %xcc, 0x45 ! 0000074948B5010C SUBR:L0-B000 0 demap-stack add %g1, 0xEE, %i0 ! 0000074948B50110 SUBR:L0-B000 0 add %g1, 0x91C, %g1 ! 0000074948B50114 SUBR:L0-B000 0 chksum++ ret ! 0000074948B50118 SUBR:L0-B000 0 restore %i0, %l7, %o0 ! 0000074948B5011C SUBR:L0-B000 0 SECTION .btext002_pg1 TEXT_VA=0x74948b50000 attr_text { Name = .btext002_pg1, VA = 0x74948b50000, RA = 0xfdffd0000, PA = ra2pa(0xfdffd0000,0), tsbonly, part_0_ctx_nonzero_tsb_config_0, TTE_Context=68, TTE_Size=1, TTE_W=0, TTE_X=1, TTE_V=1, TTE_P=0, TTE_IE=0, TTE_NFO=0, TTE_E=0, TTE_CP=1, TTE_CV=0, TTE_Soft=0x0, TTE_SW0=0, TTE_SW1=0 } .text; .skip 8 !======================================================================== SECTION .btext003 TEXT_VA=0xfffff65d4cffff00 attr_text { Name = .btext003, VA = 0xfffff65d4cffff00, RA = 0xf9effff00, PA = ra2pa(0xf9effff00,0), notsb } SECTION .btext003_pg0 TEXT_VA=0xfffff65d4cc00000 attr_text { Name = .btext003_pg0, VA = 0xfffff65d4cc00000, RA = 0xf9ec00000, PA = ra2pa(0xf9ec00000,0), tsbonly, part_0_ctx_nonzero_tsb_config_2, TTE_Context=68, TTE_Size=3, TTE_W=0, TTE_X=1, TTE_V=1, TTE_P=0, TTE_IE=0, TTE_NFO=0, TTE_E=0, TTE_CP=1, TTE_CV=0, TTE_Soft=0x0, TTE_SW0=0, TTE_SW1=0 } .text; .skip 8 SECTION .btext003 .text .global SUBR017; SUBR017: BL00035: ! SUBR:L0-B000 add %g1, 0x7F0, %g1 ! FFFFF65D4CFFFF00 SUBR:L0-B000 1 chksum++ save %o6, -128, %o6 ! FFFFF65D4CFFFF04 SUBR:L0-B000 1 sethi %hh(0xFFFFF65D4CFFFF00),%l7 ! FFFFF65D4CFFFF08 SUBR:L0-B000 1 SUBR017 or %l7,%hm(0xFFFFF65D4CFFFF00),%l7 ! FFFFF65D4CFFFF0C SUBR:L0-B000 1 sethi %lm(0xFFFFF65D4CFFFF00),%l6 ! FFFFF65D4CFFFF10 SUBR:L0-B000 1 or %l6,%lo(0xFFFFF65D4CFFFF00),%l6 ! FFFFF65D4CFFFF14 SUBR:L0-B000 1 sllx %l7, 0x20, %l7 ! FFFFF65D4CFFFF18 SUBR:L0-B000 1 or %l7, %l6, %l7 ! FFFFF65D4CFFFF1C SUBR:L0-B000 1 ta %xcc, 0x45 ! FFFFF65D4CFFFF20 SUBR:L0-B000 1 demap-stack add %g1, 0x5A9, %g1 ! FFFFF65D4CFFFF24 SUBR:L0-B000 1 chksum++ and %g1, 0xFE, %l4 ! FFFFF65D4CFFFF28 LOOP:L1-B000 1 BL00057: ! LOOP:L1-B000 add %g1, 0x4E0, %g1 ! FFFFF65D4CFFFF2C LOOP:L1-B000 1 chksum++ st %f10, [%g4-0x0078] ! FFFFF65D4CFFFF30 LOOP:L1-B000 1 S >BD00027 popc %i0, %o0 ! FFFFF65D4CFFFF34 LOOP:L1-B000 1 S sethi %hh(0x3D368FFFFF00),%l6 ! FFFFF65D4CFFFF38 LOOP:L1-B000 1 SUBR023 or %l6,%hm(0x3D368FFFFF00),%l6 ! FFFFF65D4CFFFF3C LOOP:L1-B000 1 sethi %lm(0x3D368FFFFF00),%l5 ! FFFFF65D4CFFFF40 LOOP:L1-B000 1 or %l5,%lo(0x3D368FFFFF00),%l5 ! FFFFF65D4CFFFF44 LOOP:L1-B000 1 sllx %l6, 0x20, %l6 ! FFFFF65D4CFFFF48 LOOP:L1-B000 1 or %l6, %l5, %l6 ! FFFFF65D4CFFFF4C LOOP:L1-B000 1 jmpl %l6+0x0000, %o7 ! FFFFF65D4CFFFF50 LOOP:L1-B000 1 S .word 0xCB33172F ! FFFFF65D4CFFFF54 LOOP:L1-B000 1 S illop std %i2, [%g5-0x0050] ! FFFFF65D4CFFFF58 LOOP:L1-B000 1 S >BD00036 andcc %i1, 0x1, %g0 ! FFFFF65D4CFFFF5C SKIP:L2-B000 1 bnz BL00043 ! FFFFF65D4CFFFF60 SKIP:L2-B000 1 ldsh [%g5+0x0004], %o3 ! FFFFF65D4CFFFF64 SKIP:L2-B000 1 S BD00040+4 bge,pn %icc, BL00041 ! FFFFF65D4CFFFFA0 SKIP:L2-B000 1 L fadds %f5, %f11, %f3 ! FFFFF65D4CFFFFA4 SKIP:L2-B000 1 S call .+8 ;.empty ! FFFFF65D4CFFFFA8 SKIP:L2-B000 0 L BL00041:bne,pn %xcc, BL00042 ! FFFFF65D4CFFFFAC SKIP:L2-B000 1 L nop ! FFFFF65D4CFFFFB0 SKIP:L2-B000 1 S bg,a BL00042 ! FFFFF65D4CFFFFB4 SKIP:L2-B000 1 L fxors %f22, %f16, %f17 ! FFFFF65D4CFFFFB8 SKIP:L2-B000 0 S add %l6, 0x0, %l6 ! FFFFF65D4CFFFFBC SKIP:L2-B000 1 S BL00042:add %g1, 0xF03, %g1 ! FFFFF65D4CFFFFC0 SKIP:L2-B000 1 chksum++ ba BL00049 ! FFFFF65D4CFFFFC4 SKIP:L2-B000 1 wr %g1, %i1, %fprs ! FFFFF65D4CFFFFC8 SKIP:L2-B000 1 S BL00043: ! ELSE:L2-B001 fpadd16 %f26, %f28, %f16 ! FFFFF65D4CFFFFCC ELSE:L2-B001 0 S ldda [%g7+%g7]0x83, %i0 ! FFFFF65D4CFFFFD0 ELSE:L2-B001 0 S BD00046 std %f36, [%g4-0x0070] ! FFFFF65D4D000008 ELSE:L2-B001 0 S >BD00047 ldx [%g2+0x0038], %g3 ! FFFFF65D4D00000C ELSE:L2-B001 0 S BASEBD00058 .word 0x93ACD80A ! FFFFF65D4D00006C SUBR:L0-B000 1 S illop_FP ldx [%g2+0x0048], %g3 ! FFFFF65D4D000070 SUBR:L0-B000 1 S BASEBD00023 sethi %hh(0xFFFFEAED0FFFFF00),%l6 ! 0000032BBDF3FF5C LOOP:L1-B000 1 SUBR021 or %l6,%hm(0xFFFFEAED0FFFFF00),%l6 ! 0000032BBDF3FF60 LOOP:L1-B000 1 sethi %lm(0xFFFFEAED0FFFFF00),%l5 ! 0000032BBDF3FF64 LOOP:L1-B000 1 or %l5,%lo(0xFFFFEAED0FFFFF00),%l5 ! 0000032BBDF3FF68 LOOP:L1-B000 1 sllx %l6, 0x20, %l6 ! 0000032BBDF3FF6C LOOP:L1-B000 1 or %l6, %l5, %l6 ! 0000032BBDF3FF70 LOOP:L1-B000 1 jmpl %l6+0x0000, %o7 ! 0000032BBDF3FF74 LOOP:L1-B000 1 S nop ! 0000032BBDF3FF78 LOOP:L1-B000 1 S rd %gsr, %l6 ! 0000032BBDF3FF7C LOOP:L1-B000 1 S wr %l6, 0x30, %gsr ! 0000032BBDF3FF80 LOOP:L1-B000 1 S andcc %o4, 0x1, %g0 ! 0000032BBDF3FF84 SKIP:L2-B000 1 bz,a BL00068 ! 0000032BBDF3FF88 SKIP:L2-B000 1 ldx [%g2+0x0058], %fsr ! 0000032BBDF3FF8C SKIP:L2-B000 1 S BD00061 lduh [%g6+0x0004], %o0 ! 0000032BBDF3FF94 SKIP:L2-B000 0 S BD00040 srlx %i6, 0x0, %i6 ! 0000032BBDF3FFA4 SKIP:L2-B000 0 S xorcc %i3, %i6, %i4 ! 0000032BBDF3FFA8 SKIP:L2-B000 0 S fmovsl %fcc1, %f10, %f3 ! 0000032BBDF3FFAC SKIP:L2-B000 0 S sethi %hh(0x3D368FFFFF00),%l6 ! 0000032BBDF3FFB0 SKIP:L2-B000 0 SUBR023 or %l6,%hm(0x3D368FFFFF00),%l6 ! 0000032BBDF3FFB4 SKIP:L2-B000 0 sethi %lm(0x3D368FFFFF00),%l5 ! 0000032BBDF3FFB8 SKIP:L2-B000 0 or %l5,%lo(0x3D368FFFFF00),%l5 ! 0000032BBDF3FFBC SKIP:L2-B000 0 sllx %l6, 0x20, %l6 ! 0000032BBDF3FFC0 SKIP:L2-B000 0 or %l6, %l5, %l6 ! 0000032BBDF3FFC4 SKIP:L2-B000 0 add %l6, 0x1, %l6 ! 0000032BBDF3FFC8 SKIP:L2-B000 0 jmpl %l6+0x0000, %o7 ! 0000032BBDF3FFCC SKIP:L2-B000 0 S stw %o5, [%g4-0x0048] ! 0000032BBDF3FFD0 SKIP:L2-B000 0 S >BD00062 .word 0xBBB20372 ! 0000032BBDF3FFD4 SKIP:L2-B000 0 S illop_VIS ldsha [%g7+%g0]0x83, %o4 ! 0000032BBDF3FFD8 SKIP:L2-B000 0 S BD00063 BL00064:fbn BL00065 ! 0000032BBDF3FFF4 SKIP:L2-B000 0 L fcmpd %fcc0, %f14, %f60 ! 0000032BBDF3FFF8 SKIP:L2-B000 0 S bvc,pt %icc, BL00066 ! 0000032BBDF3FFFC SKIP:L2-B000 0 L BL00066:sth %i4, [%g6+0x0032] ! 0000032BBDF40000 SKIP:L2-B000 0 S >BD00033 BL00065:add %g1, 0x13C, %g1 ! 0000032BBDF40004 SKIP:L2-B000 0 chksum++ ba BL00070 ! 0000032BBDF40008 SKIP:L2-B000 0 stw %o5, [%g6-0x0060] ! 0000032BBDF4000C SKIP:L2-B000 0 S >BD00067 BL00068: ! ELSE:L2-B001 add %g5, -54, %l6 ! 0000032BBDF40010 ELSE:L2-B001 1 @BD00069 stda %f22, [%l6]0xD2 ! 0000032BBDF40014 ELSE:L2-B001 1 S Short16 fsrc2 %f22, %f16 ! 0000032BBDF40018 ELSE:L2-B001 1 S call .+8 ! 0000032BBDF4001C ELSE:L2-B001 1 S sth %i6, [%g4-0x0062] ! 0000032BBDF40020 ELSE:L2-B001 1 S >BD00044+2 xorcc %o0, %i4, %i4 ! 0000032BBDF40024 ELSE:L2-B001 1 S add %g1, 0x83D, %g1 ! 0000032BBDF40028 ELSE:L2-B001 1 chksum++ xorcc %g1, %o3, %i2 ! 0000032BBDF4002C ELSE:L2-B001 1 S call .+8 ! 0000032BBDF40030 ELSE:L2-B001 1 S ldda [%g5+0x0050]%asi, %f30 ! 0000032BBDF40034 ELSE:L2-B001 1 S BD00067 BL00070: ! ELSE:L2-B001 add %g1, 0xB7F, %g1 ! 0000032BBDF4004C ELSE:L2-B001 1 chksum++ fcmpd %fcc0, %f60, %f34 ! 0000032BBDF40050 SKIP:L2-B002 1 fbge BL00074 ! 0000032BBDF40054 SKIP:L2-B002 1 subcc %g1, %l2, %o4 ! 0000032BBDF40058 SKIP:L2-B002 1 S stx %g1, [%g3+0x0028] ! 0000032BBDF4005C SKIP:L2-B002 1 S >BD00071 fmovd %f22, %f18 ! 0000032BBDF40060 SKIP:L2-B002 1 S ld [%g2+0x005C], %fsr ! 0000032BBDF40064 SKIP:L2-B002 1 S BD00020 ta %xcc, 0x40 ! 0000032BBDF40088 SKIP:L2-B002 1 S +-priv umulcc %l2, %o3, %i3 ! 0000032BBDF4008C SKIP:L2-B002 1 S ldsh [%g3+0x007E], %i1 ! 0000032BBDF40090 SKIP:L2-B002 2 S BD00073 ba BL00076 ! 0000032BBDF400A4 SKIP:L2-B002 1 xor %i0, %i0, %o5 ! 0000032BBDF400A8 SKIP:L2-B002 1 S BL00074: ! ELSE:L2-B003 nop ! 0000032BBDF400AC ELSE:L2-B003 0 S sub %o5, %o2, %i5 ! 0000032BBDF400B0 ELSE:L2-B003 0 S wr %g1, %i0, %fprs ! 0000032BBDF400B4 ELSE:L2-B003 0 S sethi %hh(0x6B13DFFFFF00),%l6 ! 0000032BBDF400B8 ELSE:L2-B003 0 SUBR022 or %l6,%hm(0x6B13DFFFFF00),%l6 ! 0000032BBDF400BC ELSE:L2-B003 0 sethi %lm(0x6B13DFFFFF00),%l5 ! 0000032BBDF400C0 ELSE:L2-B003 0 or %l5,%lo(0x6B13DFFFFF00),%l5 ! 0000032BBDF400C4 ELSE:L2-B003 0 sllx %l6, 0x20, %l6 ! 0000032BBDF400C8 ELSE:L2-B003 0 or %l6, %l5, %l6 ! 0000032BBDF400CC ELSE:L2-B003 0 jmpl %l6+0x0000, %o7 ! 0000032BBDF400D0 ELSE:L2-B003 0 S stw %o0, [%g5+0x001C] ! 0000032BBDF400D4 ELSE:L2-B003 0 S >BD00025+4 ldx [%g2+0x0010], %g6 ! 0000032BBDF400D8 ELSE:L2-B003 0 S BASEBD00069+1 stx %o5, [%g5+0x0080] ! 00005C30F9851F58 SUBR:L0-B000 0 S >BD00031 rd %gsr, %l6 ! 00005C30F9851F5C SUBR:L0-B000 0 S wr %l6, 0xD0, %gsr ! 00005C30F9851F60 SUBR:L0-B000 0 S fpack32 %f18, %f16, %f16 ! 00005C30F9851F64 SUBR:L0-B000 0 S ldd [%g3+0x0068], %f40 ! 00005C30F9851F68 SUBR:L0-B000 0 S BD00081 add %g1, 0xA0E, %g1 ! 00005C30F9851F70 SUBR:L0-B000 0 chksum++ and %g1, 0xFE, %l2 ! 00005C30F9851F74 LOOP:L1-B000 0 BL00133: ! LOOP:L1-B000 add %g1, 0x684, %g1 ! 00005C30F9851F78 LOOP:L1-B000 0 chksum++ st %f5, [%g3-0x0078] ! 00005C30F9851F7C LOOP:L1-B000 0 S >BD00027 orn %i2, -1, %i2 ! 00005C30F9851F80 LOOP:L1-B000 0 S subccc %i3, %i5, %g0 ! 00005C30F9851F84 LOOP:L1-B000 0 S lduba [%g7+%g7]0x83, %o4 ! 00005C30F9851F88 LOOP:L1-B000 0 S BD00081 bl,pn %icc, BL00084 ;.empty ! 00005C30F9851FB8 SKIP:L2-B000 0 L bpos,pt %icc, BL00085 ! 00005C30F9851FBC SKIP:L2-B000 0 L .word 0xA7AD9998 ! 00005C30F9851FC0 SKIP:L2-B000 0 S illop_FP bg,pn %icc, BL00086 ;.empty ! 00005C30F9851FC4 SKIP:L2-B000 0 L BL00084:fbuge,a,pn %fcc0, BL00086 ;.empty ! 00005C30F9851FC8 SKIP:L2-B000 0 L BL00083:bneg,a BL00085 ! 00005C30F9851FCC SKIP:L2-B000 0 L BL00086:fmovs %f11, %f10 ! 00005C30F9851FD0 SKIP:L2-B000 0 S BL00085:add %g1, 0x678, %g1 ! 00005C30F9851FD4 SKIP:L2-B000 0 chksum++ add %g1, 0x886, %g1 ! 00005C30F9851FD8 SKIP:L2-B000 0 chksum++ nop ! 00005C30F9851FDC SKIP:L2-B000 0 S fbe BL00089 ! 00005C30F9851FE0 SKIP:L2-B000 0 L nop ! 00005C30F9851FE4 SKIP:L2-B000 0 S st %f9, [%g4+0x0014] ! 00005C30F9851FE8 SKIP:L2-B000 0 S >BD00087 bvc,a,pn %xcc, BL00090 ! 00005C30F9851FEC SKIP:L2-B000 0 L BL00090:prefetch [%o2+0x0461], 20 ! 00005C30F9851FF0 SKIP:L2-B000 0 S <.+1121 BL00089:stw %g1, [%g6-0x005C] ! 00005C30F9851FF4 SKIP:L2-B000 0 S >BD00088 fbge,a,pn %fcc0, BL00091 ! 00005C30F9851FF8 SKIP:L2-B000 0 L BL00091:add %i4, 0x0, %i4 ! 00005C30F9851FFC SKIP:L2-B000 0 S add %g1, 0xF9D, %g1 ! 00005C30F9852000 SKIP:L2-B000 0 chksum++ ba,pn %icc, BL00095 ! 00005C30F9852004 SKIP:L2-B000 0 movn %fcc0, %o4, %i2 ! 00005C30F9852008 SKIP:L2-B000 0 S BL00092: ! ELSE:L2-B001 .word 0xAB910535 ! 00005C30F985200C ELSE:L2-B001 0 S illop sub %i2, %o4, %o5 ! 00005C30F9852010 ELSE:L2-B001 0 S fmovsvc %icc, %f19, %f25 ! 00005C30F9852014 ELSE:L2-B001 0 S call .+8 ! 00005C30F9852018 ELSE:L2-B001 0 S wr %i3, %i4, %ccr ! 00005C30F985201C ELSE:L2-B001 0 S fmovda %xcc, %f38, %f32 ! 00005C30F9852020 ELSE:L2-B001 0 S ldx [%g2+0x0058], %fsr ! 00005C30F9852024 ELSE:L2-B001 0 S BD00096 std %i2, [%g4+0x0038] ! 00005C30F9852068 SKIP:L2-B002 0 S >BD00080 ta %xcc, 0x40 ! 00005C30F985206C SKIP:L2-B002 0 S +-priv ldd [%g4+0x0080], %i0 ! 00005C30F9852070 SKIP:L2-B002 0 S BD00050 fba,pn %fcc3, BL00109 ! 00005C30F9852094 SKIP:L2-B002 0 sra %i1, 0x1, %o2 ! 00005C30F9852098 SKIP:L2-B002 0 S BL00099: ! ELSE:L2-B003 subcc %l4, %l3, %l3 ! 00005C30F985209C ELSE:L2-B003 0 S ldx [%g2+0x0030], %g4 ! 00005C30F98520A0 ELSE:L2-B003 0 S BASEBD00101 ldx [%g2+0x0050], %l6 ! 00005C30F98520A8 ELSE:L2-B003 0 BD00102 BL00104:ldx [%g2+0x0058], %fsr ! 00005C30F98520DC ELSE:L2-B003 0 S BD00110 ldx [%g2+0x0058], %fsr ! 00005C30F985210C SKIP:L2-B004 0 S BD00025 rd %gsr, %l6 ! 00005C30F985211C SKIP:L2-B004 0 S wr %l6, 0x38, %gsr ! 00005C30F9852120 SKIP:L2-B004 0 S add %g1, 0x39E, %g1 ! 00005C30F9852124 SKIP:L2-B004 0 chksum++ sth %g1, [%g3-0x0066] ! 00005C30F9852128 SKIP:L2-B004 0 S >BD00113 faddd %f32, %f44, %f40 ! 00005C30F985212C SKIP:L2-B004 0 S ldx [%g4-0x0058], %l4 ! 00005C30F9852130 SKIP:L2-B004 0 S BD00067 .word 0xB3CD7F82 ! 00005C30F9852138 SKIP:L2-B004 0 S illop ldsb [%g3+0x0040], %o0 ! 00005C30F985213C SKIP:L2-B004 0 S BD00069 sth %i0, [%g3+0x0030] ! 00005C30F985220C SKIP:L2-B006 0 S >BD00097 .word 0xBF6439ED ! 00005C30F9852210 SKIP:L2-B006 0 S illop stx %i3, [%g4+0x0038] ! 00005C30F9852214 SKIP:L2-B006 0 S >BD00080 movule %fcc0, %g1, %o3 ! 00005C30F9852218 SKIP:L2-B006 0 S wr %o0, %i0, %y ! 00005C30F985221C SKIP:L2-B006 0 S rd %y, %i1 ! 00005C30F9852220 SKIP:L2-B006 0 S lduba [%g5+0x0041]%asi, %i2 ! 00005C30F9852224 SKIP:L2-B006 0 S BD00050 lduh [%g5+0x007A], %i5 ! 00005C30F985228C ELSE:L2-B007 0 S BD00031+4 ldx [%g2+0x0018], %g4 ! 00005C30F98522B4 SKIP:L2-B008 0 S BASEBD00024 sra %l0, 0x1, %l0 ! 00005C30F98522DC SKIP:L2-B008 0 S BL00126:add %i1, 0xFB2, %o2 ! 00005C30F98522E0 SKIP:L2-B008 0 S lduw [%g6-0x0048], %o1 ! 00005C30F98522E4 SKIP:L2-B008 0 S BD00129 subccc %o1, %o0, %l4 ! 00005C30F9852304 SKIP:L2-B008 0 S stba %o2, [%g6-0x0067]%asi ! 00005C30F9852308 SKIP:L2-B008 0 S >BD00096 ba,pn %icc, BL00132 ! 00005C30F985230C SKIP:L2-B008 0 stw %g1, [%g6-0x0054] ! 00005C30F9852310 SKIP:L2-B008 0 S >BD00004+4 BL00130: ! ELSE:L2-B009 std %l0, [%g3+0x0028] ! 00005C30F9852314 ELSE:L2-B009 0 S >BD00071 ta %xcc, 0x46 ! 00005C30F9852318 ELSE:L2-B009 0 S demap-page sethi %hh(0x6B13DFFFFF00),%l6 ! 00005C30F985231C ELSE:L2-B009 0 SUBR022 or %l6,%hm(0x6B13DFFFFF00),%l6 ! 00005C30F9852320 ELSE:L2-B009 0 sethi %lm(0x6B13DFFFFF00),%l5 ! 00005C30F9852324 ELSE:L2-B009 0 or %l5,%lo(0x6B13DFFFFF00),%l5 ! 00005C30F9852328 ELSE:L2-B009 0 sllx %l6, 0x20, %l6 ! 00005C30F985232C ELSE:L2-B009 0 or %l6, %l5, %l6 ! 00005C30F9852330 ELSE:L2-B009 0 jmpl %l6+0x0000, %o7 ! 00005C30F9852334 ELSE:L2-B009 0 S ldsba [%g7+%g7]0x83, %i0 ! 00005C30F9852338 ELSE:L2-B009 0 S BD00131 add %g1, 0xA6F, %g1 ! 00005C30F9852344 ELSE:L2-B009 0 chksum++ orcc %o0, %l4, %l3 ! 00005C30F9852348 ELSE:L2-B009 0 S movgu %icc, %i2, %o2 ! 00005C30F985234C ELSE:L2-B009 0 S stw %i3, [%g3+0x0034] ! 00005C30F9852350 ELSE:L2-B009 0 S >BD00012 ld [%g2+0x005C], %fsr ! 00005C30F9852354 ELSE:L2-B009 0 S BD00139 tcs %xcc, %g7+0x006A ! 0000399B057FFF64 LOOP:L1-B000 0 S lduh [%g5+0x0026], %o0 ! 0000399B057FFF68 LOOP:L1-B000 0 S BD00044+2 srl %g1, %g1, %o0 ! 0000399B057FFF74 LOOP:L1-B000 0 S subcc %i0, %i0, %i4 ! 0000399B057FFF78 LOOP:L1-B000 0 S sethi %hh(0x3D368FFFFF00),%l6 ! 0000399B057FFF7C LOOP:L1-B000 0 SUBR023 or %l6,%hm(0x3D368FFFFF00),%l6 ! 0000399B057FFF80 LOOP:L1-B000 0 sethi %lm(0x3D368FFFFF00),%l5 ! 0000399B057FFF84 LOOP:L1-B000 0 or %l5,%lo(0x3D368FFFFF00),%l5 ! 0000399B057FFF88 LOOP:L1-B000 0 sllx %l6, 0x20, %l6 ! 0000399B057FFF8C LOOP:L1-B000 0 or %l6, %l5, %l6 ! 0000399B057FFF90 LOOP:L1-B000 0 jmpl %l6+0x0000, %o7 ! 0000399B057FFF94 LOOP:L1-B000 0 S ldstub [%g6+0x0073], %o5 ! 0000399B057FFF98 LOOP:L1-B000 0 S >BD00140 .word 0x8F705CD5 ! 0000399B057FFF9C LOOP:L1-B000 0 S illop andcc %o3, 0x4, %g0 ! 0000399B057FFFA0 SKIP:L2-B000 0 bnz,pn %xcc, BL00145 ! 0000399B057FFFA4 SKIP:L2-B000 0 xnor %o3, %i3, %o5 ! 0000399B057FFFA8 SKIP:L2-B000 0 S .word 0xBBB08270 ! 0000399B057FFFAC SKIP:L2-B000 0 S illop_VIS bne BL00142 ! 0000399B057FFFB0 SKIP:L2-B000 0 L nop ! 0000399B057FFFB4 SKIP:L2-B000 0 S nop ! 0000399B057FFFB8 SKIP:L2-B000 0 S bnz,pn %xcc, BL00143 ;.empty ! 0000399B057FFFBC SKIP:L2-B000 0 L be,pn %icc, BL00144 ;.empty ! 0000399B057FFFC0 SKIP:L2-B000 0 L fbg,pn %fcc3, BL00142 ! 0000399B057FFFC4 SKIP:L2-B000 0 L BL00143:ldx [%g2+0x0008], %g4 ! 0000399B057FFFC8 SKIP:L2-B000 0 S BASEBD00012 lduwa [%g7+%g7]0x83, %o0 ! 0000399B057FFFD8 SKIP:L2-B000 0 S BD00139 .word 0x81B68944 ! 0000399B057FFFE0 SKIP:L2-B000 0 S illop_VIS sllx %i1, 0x1, %i4 ! 0000399B057FFFE4 SKIP:L2-B000 0 S BL00142:add %g1, 0x738, %g1 ! 0000399B057FFFE8 SKIP:L2-B000 0 chksum++ add %g1, 0x83, %g1 ! 0000399B057FFFEC SKIP:L2-B000 0 chksum++ fpackfix %f30, %f20 ! 0000399B057FFFF0 SKIP:L2-B000 0 S lduha [%g7+%g7]0x83, %i0 ! 0000399B057FFFF4 SKIP:L2-B000 0 S BD00098 BL00146: ! ELSE:L2-B001 add %g1, 0x528, %g1 ! 0000399B05800040 ELSE:L2-B001 0 chksum++ andcc %o5, 0x1, %g0 ! 0000399B05800044 SKIP:L2-B002 0 bnz,pn %icc, BL00147 ! 0000399B05800048 SKIP:L2-B002 0 xnor %i1, %i1, %o1 ! 0000399B0580004C SKIP:L2-B002 0 S fornot2 %f16, %f26, %f22 ! 0000399B05800050 SKIP:L2-B002 0 S cmp %g1, %g1 ! 0000399B05800054 SKIP:L2-B002 0 S sth %i0, [%g5-0x0066] ! 0000399B05800058 SKIP:L2-B002 0 S >BD00113 .word 0xA9F00000 ! 0000399B0580005C SKIP:L2-B002 0 S illop nop ! 0000399B05800060 SKIP:L2-B002 0 S add %g1, 0xE56, %g1 ! 0000399B05800064 SKIP:L2-B002 0 chksum++ .word 0x97AC2940 ! 0000399B05800068 SKIP:L2-B002 0 S illop_FP add %o0, %o4, %o4 ! 0000399B0580006C SKIP:L2-B002 0 S lduw [%g6-0x005C], %i3 ! 0000399B05800070 SKIP:L2-B002 0 S BD00023 ld [%g3-0x0028], %f3 ! 0000399B0580007C SKIP:L2-B002 0 S BD00148 BL00153:add %g1, 0xC32, %g1 ! 0000399B058000C8 ELSE:L2-B003 0 chksum++ add %g1, 0x307, %g1 ! 0000399B058000CC ELSE:L2-B003 0 chksum++ .word 0x8B792028 ! 0000399B058000D0 ELSE:L2-B003 0 S illop srlx %i1, %g1, %i1 ! 0000399B058000D4 ELSE:L2-B003 0 S xor %l6, %g7, %l6 ! 0000399B058000D8 ELSE:L2-B003 0 S ldub [%g6+0x0071], %o0 ! 0000399B058000DC ELSE:L2-B003 0 S BD00093 BL00155: ! ELSE:L2-B003 add %g1, 0x7F2, %g1 ! 0000399B058000E8 ELSE:L2-B003 0 chksum++ st %f5, [%g4+0x0044] ! 0000399B058000EC LOOP:L1-B000 0 S >BD00156 ldx [%g2+0x0050], %l6 ! 0000399B058000F0 LOOP:L1-B000 0 BD00051 srlx %l0, 0x1, %l0 ! 0000399B05800114 LOOP:L1-B000 0 andcc %l0, 0x1, %g0 ! 0000399B05800118 LOOP:L1-B000 0 bne,pt %xcc, BL00158 ! 0000399B0580011C LOOP:L1-B000 0 stda %f38, [%g3+0x0058]%asi ! 0000399B05800120 LOOP:L1-B000 0 S >BD00024 add %g1, 0xA11, %g1 ! 0000399B05800124 LOOP:L1-B000 0 chksum++ and %l7, -1, %l7 ! 0000399B05800128 SUBR:L0-B000 0 S fmovrsgez %l6, %f16, %f29 ! 0000399B0580012C SUBR:L0-B000 0 S lduh [%g4+0x0024], %i1 ! 0000399B05800130 SUBR:L0-B000 0 S BD00020 fpsub16 %f30, %f26, %f22 ! FFFFEAED0FFFFF24 SUBR:L0-B000 2 S cmp %g1, %i3 ! FFFFEAED0FFFFF28 SUBR:L0-B000 2 S ldub [%g5+0x0041], %o3 ! FFFFEAED0FFFFF2C SUBR:L0-B000 2 S BD00036 nop ! FFFFEAED0FFFFF4C SKIP:L2-B000 2 S fblg,pn %fcc0, BL00161 ;.empty ! FFFFEAED0FFFFF50 SKIP:L2-B000 2 L bgu,pn %xcc, BL00162 ;.empty ! FFFFEAED0FFFFF54 SKIP:L2-B000 2 L BL00161:fbug BL00163 ;.empty ! FFFFEAED0FFFFF58 SKIP:L2-B000 2 L fbule,pt %fcc2, BL00164 ! FFFFEAED0FFFFF5C SKIP:L2-B000 0 L stx %i4, [%g3+0x0060] ! FFFFEAED0FFFFF60 SKIP:L2-B000 0 S >BD00115 call .+8 ;.empty ! FFFFEAED0FFFFF64 SKIP:L2-B000 0 L bleu,pn %xcc, BL00166 ! FFFFEAED0FFFFF68 SKIP:L2-B000 0 L fcmps %fcc1, %f4, %f8 ! FFFFEAED0FFFFF6C SKIP:L2-B000 0 S brgez,pn %i1, BL00163 ;.empty ! FFFFEAED0FFFFF70 SKIP:L2-B000 0 L BL00162:bgu,pn %icc, BL00165 ;.empty ! FFFFEAED0FFFFF74 SKIP:L2-B000 2 L bn,a BL00167 ! FFFFEAED0FFFFF78 SKIP:L2-B000 2 L BL00164:fmuld8sux16 %f27, %f19, %f20 ! FFFFEAED0FFFFF7C SKIP:L2-B000 0 S BL00165:ld [%g2+0x005C], %fsr ! FFFFEAED0FFFFF80 SKIP:L2-B000 0 S BD00139 fbo,a BL00169 ! FFFFEAED0FFFFFB4 SKIP:L2-B000 2 L xorcc %i2, %i4, %o4 ! FFFFEAED0FFFFFB8 SKIP:L2-B000 2 S BL00169:.word 0x89ABCC8B ! FFFFEAED0FFFFFBC SKIP:L2-B000 2 S illop_FP add %g1, 0xFCA, %g1 ! FFFFEAED0FFFFFC0 SKIP:L2-B000 2 chksum++ ba,pn %xcc, BL00172 ! FFFFEAED0FFFFFC4 SKIP:L2-B000 2 sth %i4, [%g6+0x0030] ! FFFFEAED0FFFFFC8 SKIP:L2-B000 2 S >BD00097 BL00170: ! ELSE:L2-B001 ldsh [%g6-0x0066], %l3 ! FFFFEAED0FFFFFCC ELSE:L2-B001 1 S BD00051 lduh [%g4+0x007C], %o2 ! FFFFEAED1000000C ELSE:L2-B001 1 S BD00081 cmp %g1, %i0 ! FFFFEAED10000014 ELSE:L2-B001 1 S BL00172: ! ELSE:L2-B001 add %g1, 0xC61, %g1 ! FFFFEAED10000018 ELSE:L2-B001 3 chksum++ fcmpd %fcc1, %f44, %f46 ! FFFFEAED1000001C SKIP:L2-B002 3 fbl,pt %fcc1, BL00173 ! FFFFEAED10000020 SKIP:L2-B002 3 rd %y, %l3 ! FFFFEAED10000024 SKIP:L2-B002 3 S rd %ccr, %i4 ! FFFFEAED10000028 SKIP:L2-B002 0 S subcc %l1, %i0, %i0 ! FFFFEAED1000002C SKIP:L2-B002 0 S .word 0xBBB64364 ! FFFFEAED10000030 SKIP:L2-B002 0 S illop_VIS xnorcc %l3, %o1, %i0 ! FFFFEAED10000034 SKIP:L2-B002 0 S sth %i6, [%g4-0x0036] ! FFFFEAED10000038 SKIP:L2-B002 0 S >BD00069 ldd [%g5-0x0010], %i2 ! FFFFEAED1000003C SKIP:L2-B002 0 S BD00027 subcc %i6, %o3, %o3 ! FFFFEAED10000044 SKIP:L2-B002 0 S orn %o2, %i2, %o1 ! FFFFEAED10000048 SKIP:L2-B002 0 S ldswa [%g4-0x0064]%asi, %i2 ! FFFFEAED1000004C SKIP:L2-B002 0 S BD00023 add %g1, 0x987, %g1 ! FFFFEAED100000B4 ELSE:L2-B003 3 chksum++ sth %l3, [%g4+0x002C] ! FFFFEAED100000B8 ELSE:L2-B003 3 S >BD00071+4 wr %o3, %i3, %ccr ! FFFFEAED100000BC ELSE:L2-B003 3 S call .+8 ! FFFFEAED100000C0 ELSE:L2-B003 3 S and %o0, -1, %o0 ! FFFFEAED100000C4 ELSE:L2-B003 3 S st %f10, [%g6-0x0078] ! FFFFEAED100000C8 ELSE:L2-B003 3 S >BD00027 ldx [%g2+0x0048], %g5 ! FFFFEAED100000CC ELSE:L2-B003 3 S BASEBD00088 rd %gsr, %l6 ! FFFFEAED1000012C SKIP:L2-B004 3 S wr %l6, 0x38, %gsr ! FFFFEAED10000130 SKIP:L2-B004 3 S stw %i5, [%g5-0x0060] ! FFFFEAED10000134 SKIP:L2-B004 3 S >BD00067 ba,a BL00186 ! FFFFEAED10000138 SKIP:L2-B004 3 lduh [%g4+0x0026], %i5 ! FFFFEAED1000013C SKIP:L2-B004 0 S BD00175 nop ! FFFFEAED10000144 ELSE:L2-B005 0 S bpos,pt %xcc, BL00177 ;.empty ! FFFFEAED10000148 ELSE:L2-B005 0 L fbg,pn %fcc1, BL00178 ;.empty ! FFFFEAED1000014C ELSE:L2-B005 0 L fbn,a BL00179 ! FFFFEAED10000150 ELSE:L2-B005 0 L BL00177:fabss %f9, %f3 ! FFFFEAED10000154 ELSE:L2-B005 0 S bvc,a,pn %icc, BL00179 ! FFFFEAED10000158 ELSE:L2-B005 0 L BL00179:cmp %i5, %g1 ! FFFFEAED1000015C ELSE:L2-B005 0 S BL00178:add %g1, 0x8CB, %g1 ! FFFFEAED10000160 ELSE:L2-B005 0 chksum++ add %g1, 0x945, %g1 ! FFFFEAED10000164 ELSE:L2-B005 0 chksum++ movneg %icc, %i5, %o3 ! FFFFEAED10000168 ELSE:L2-B005 0 S std %f18, [%g6+0x0050] ! FFFFEAED1000016C ELSE:L2-B005 0 S >BD00058 fbe,pn %fcc0, BL00180 ;.empty ! FFFFEAED10000170 ELSE:L2-B005 0 L bpos,pn %icc, BL00181 ! FFFFEAED10000174 ELSE:L2-B005 0 L .word 0xD6B9B0CC ! FFFFEAED10000178 ELSE:L2-B005 0 S illop fbg,pn %fcc0, BL00182 ;.empty ! FFFFEAED1000017C ELSE:L2-B005 0 L BL00182:ble,pn %xcc, BL00183 ;.empty ! FFFFEAED10000180 ELSE:L2-B005 0 L BL00183:brlz,pn %i5, BL00184 ;.empty ! FFFFEAED10000184 ELSE:L2-B005 0 L BL00181:fbule,a,pn %fcc1, BL00185 ! FFFFEAED10000188 ELSE:L2-B005 0 L BL00184:fpsub16s %f18, %f30, %f20 ! FFFFEAED1000018C ELSE:L2-B005 0 S bl,a,pn %icc, BL00185 ! FFFFEAED10000190 ELSE:L2-B005 0 L wr %g1, 0xBEC, %ccr ! FFFFEAED10000194 ELSE:L2-B005 0 S std %g0, [%g3-0x0008] ! FFFFEAED10000198 ELSE:L2-B005 0 S >BD00040 BL00185:xor %g1, %i1, %i1 ! FFFFEAED1000019C ELSE:L2-B005 0 S BL00180:add %g1, 0x164, %g1 ! FFFFEAED100001A0 ELSE:L2-B005 0 chksum++ BL00186: ! ELSE:L2-B005 add %g1, 0xB04, %g1 ! FFFFEAED100001A4 ELSE:L2-B005 3 chksum++ andcc %i0, 0x100, %g0 ! FFFFEAED100001A8 SKIP:L2-B006 3 bz,pn %icc, BL00189 ! FFFFEAED100001AC SKIP:L2-B006 3 nop ! FFFFEAED100001B0 SKIP:L2-B006 3 S ldx [%g5-0x0010], %o3 ! FFFFEAED100001B4 SKIP:L2-B006 1 S BD00088 rd %gsr, %l6 ! FFFFEAED100001D4 SKIP:L2-B006 1 S wr %l6, 0xF0, %gsr ! FFFFEAED100001D8 SKIP:L2-B006 1 S nop ! FFFFEAED100001DC SKIP:L2-B006 1 S add %g1, 0xDCF, %g1 ! FFFFEAED100001E0 SKIP:L2-B006 1 chksum++ xor %o3, %i0, %o1 ! FFFFEAED100001E4 SKIP:L2-B006 1 S fcmps %fcc3, %f9, %f3 ! FFFFEAED100001E8 SKIP:L2-B006 1 S bmask %o1, %o1, %i1 ! FFFFEAED100001EC SKIP:L2-B006 1 S st %f3, [%g6-0x0078] ! FFFFEAED100001F0 SKIP:L2-B006 1 S >BD00027 stb %i0, [%g6+0x0027] ! FFFFEAED100001F4 SKIP:L2-B006 1 S >BD00050+1 ba,pn %icc, BL00190 ! FFFFEAED100001F8 SKIP:L2-B006 1 nop ! FFFFEAED100001FC SKIP:L2-B006 1 S BL00189: ! ELSE:L2-B007 lduw [%g6-0x005C], %l3 ! FFFFEAED10000200 ELSE:L2-B007 2 S BD00036 stb %o3, [%g5-0x0024] ! 00006B13DFFFFFA4 LOOP:L1-B000 0 S >BD00102 nop ! 00006B13DFFFFFA8 LOOP:L1-B000 0 S lduh [%g4+0x0012], %o0 ! 00006B13DFFFFFAC LOOP:L1-B000 0 S BD00012 xor %o0, %o3, %o2 ! 00006B13DFFFFFCC SUBR:L0-B000 0 S ldx [%g2+0x0050], %l6 ! 00006B13DFFFFFD0 SUBR:L0-B000 0 BD00129 .word 0x83B5CBDE ! 00003D368FFFFF54 SKIP:L2-B000 10 S illop_VIS ba,pn %icc, BL00202 ! 00003D368FFFFF58 SKIP:L2-B000 10 subcc %o4, %o2, %o4 ! 00003D368FFFFF5C SKIP:L2-B000 10 S BL00195: ! ELSE:L2-B001 fcmps %fcc3, %f9, %f4 ! 00003D368FFFFF60 ELSE:L2-B001 0 S bg,pn %xcc, BL00196 ! 00003D368FFFFF64 ELSE:L2-B001 0 L xor %g1, %o3, %o3 ! 00003D368FFFFF68 ELSE:L2-B001 0 S ldsw [%g6-0x0060], %o0 ! 00003D368FFFFF6C ELSE:L2-B001 0 S BD00175 ldx [%g2+0x0050], %l6 ! 00003D368FFFFFC4 ELSE:L2-B001 0 BD00058 .word 0xAFB6C937 ! 00003D3690000010 SKIP:L2-B002 10 S illop_VIS stx %o0, [%g5-0x0030] ! 00003D3690000014 SKIP:L2-B002 10 S >BD00051 orn %g6, -1, %g6 ! 00003D3690000018 SKIP:L2-B002 10 S ba BL00204 ! 00003D369000001C SKIP:L2-B002 10 nop ! 00003D3690000020 SKIP:L2-B002 10 S BL00203: ! ELSE:L2-B003 ldsh [%g5-0x0036], %o4 ! 00003D3690000024 ELSE:L2-B003 0 S BD00023 fcmps %fcc0, %f2, %f10 ! 00003D3690000044 ELSE:L2-B003 0 S sll %o0, %g1, %o0 ! 00003D3690000048 ELSE:L2-B003 0 S nop ! 00003D369000004C ELSE:L2-B003 0 S BL00204: ! ELSE:L2-B003 add %g1, 0x2E7, %g1 ! 00003D3690000050 ELSE:L2-B003 10 chksum++ andcc %o0, 0x400, %g0 ! 00003D3690000054 SKIP:L2-B004 10 bnz,pn %icc, BL00206 ! 00003D3690000058 SKIP:L2-B004 10 ta %xcc, 0x46 ! 00003D369000005C SKIP:L2-B004 10 S demap-page add %o3, %o0, %o0 ! 00003D3690000060 SKIP:L2-B004 10 S ldx [%g2+0x0020], %g6 ! 00003D3690000064 SKIP:L2-B004 10 S BASEBD00148 stb %o4, [%g4+0x000D] ! 00003D3690000078 SKIP:L2-B004 10 S >BD00205 add %g1, 0xAA7, %g1 ! 00003D369000007C SKIP:L2-B004 10 chksum++ nop ! 00003D3690000080 SKIP:L2-B004 10 S swap [%g3-0x0064], %o0 ! 00003D3690000084 SKIP:L2-B004 10 S >BD00044 nop ! 00003D3690000088 SKIP:L2-B004 10 S ld [%g6+0x0044], %f2 ! 00003D369000008C SKIP:L2-B004 10 S BD00062 array8 %o4, %o1, %o4 ! 00003D3690000094 SKIP:L2-B004 10 S ba,pn %icc, BL00214 ! 00003D3690000098 SKIP:L2-B004 10 cmp %o4, %o2 ! 00003D369000009C SKIP:L2-B004 10 S BL00206: ! ELSE:L2-B005 subcc %g1, %o5, %o5 ! 00003D36900000A0 ELSE:L2-B005 0 S fbe,pt %fcc0, BL00207 ! 00003D36900000A4 ELSE:L2-B005 0 L addcc %g4, 0x0, %g4 ! 00003D36900000A8 ELSE:L2-B005 0 S xor %i6, 0x0, %i6 ! 00003D36900000AC ELSE:L2-B005 0 S .word 0xADA0501F ! 00003D36900000B0 ELSE:L2-B005 0 S illop_FP xor %o4, %g4, %o2 ! 00003D36900000B4 ELSE:L2-B005 0 S bne BL00208 ;.empty ! 00003D36900000B8 ELSE:L2-B005 0 L BL00207:fbo,pn %fcc3, BL00209 ;.empty ! 00003D36900000BC ELSE:L2-B005 0 L BL00208:ba,a,pn %xcc, BL00210 ! 00003D36900000C0 ELSE:L2-B005 0 L add %o2, %o2, %o4 ! 00003D36900000C4 ELSE:L2-B005 0 S sth %g1, [%g5+0x0000] ! 00003D36900000C8 ELSE:L2-B005 0 S >BD00111 BL00209:bneg,a,pn %xcc, BL00211 ;.empty ! 00003D36900000CC ELSE:L2-B005 0 L BL00211:fbe,pt %fcc3, BL00212 ! 00003D36900000D0 ELSE:L2-B005 0 L popc %g4, %o0 ! 00003D36900000D4 ELSE:L2-B005 0 S nop ! 00003D36900000D8 ELSE:L2-B005 0 S BL00212:fbule,a BL00210 ! 00003D36900000DC ELSE:L2-B005 0 L nop ! 00003D36900000E0 ELSE:L2-B005 0 S BL00210:add %g1, 0x2BC, %g1 ! 00003D36900000E4 ELSE:L2-B005 0 chksum++ add %g1, 0xA0F, %g1 ! 00003D36900000E8 ELSE:L2-B005 0 chksum++ srlx %i7, 0x0, %i7 ! 00003D36900000EC ELSE:L2-B005 0 S rd %gsr, %l6 ! 00003D36900000F0 ELSE:L2-B005 0 S wr %l6, 0x78, %gsr ! 00003D36900000F4 ELSE:L2-B005 0 S ldub [%g4+0x0002], %o0 ! 00003D36900000F8 ELSE:L2-B005 0 S BD00213 BL00214: ! ELSE:L2-B005 add %g1, 0xDBF, %g1 ! 00003D3690000108 ELSE:L2-B005 10 chksum++ nop ! 00003D369000010C LOOP:L1-B000 10 S stha %g4, [%g3-0x002C]%asi ! 00003D3690000110 LOOP:L1-B000 10 S >BD00051+4 nop ! 00003D3690000114 LOOP:L1-B000 10 S xorcc %o4, %o3, %o3 ! 00003D3690000118 LOOP:L1-B000 10 S ldx [%g2+0x0030], %g4 ! 00003D369000011C LOOP:L1-B000 10 S BASE // min-max= 0-8191 RELOCATABLE no NAME_OPT no L_UPPER no START_HANDLER blimp_n2_start.s PREAMBLE blimp_n2_preamble.s TRAP_HANDLER blimp_n2_trap.s USER_HANDLER PAGE_SHARING <1> // min-max= 0-6 SYNC_STRANDS no SYNC_FINISH no PRIVATE_TTABLE TTABLE_VA 0xE00000 // min-max= 0x0-0xFFFFFFFFFFFF0000 CACHE_FLUSH no SINGLE_OBJECT no PRIV_MODE SF_HELPER_PROB 0% // min-max= 0-100 HELPER_AIUP BIAS64 0 // min-max= 0-4095 BIAS32 0 // min-max= 0-4095 32BIT_PROB 25% // min-max= 0-100 LITTLE_PROB 0% // min-max= 0-100 UPPER32_ZERO FILL_DELAY SAVE_REST_DELAY 30% // min-max= 0-100 DCTI_COUPLES EN_FPOINT EN_VIS EN_VIS2 EN_VIS3 EN_CALL EN_RETURN RETURN_PROB 45% // min-max= 0-100 FP_UNFIN yes LAZY_SAVE no IMPDEP_102 no IMPDEP_107_108 yes IMPDEP_125 no QUAD_LDD_ASI 0x24 // min-max= 0x0-0xFF QUAD_LDDP_ASI 0x26 // min-max= 0x0-0xFF ASI_BLK_LD 0x21FF90000000000 // min-max= 0x0-0xFFFFFFFFFFFFFFFF ASI_BLK_ST 0x31FF9E100000000 // min-max= 0x0-0xFFFFFFFFFFFFFFFF NWINDOWS 8 // min-max= 3-32 SIMULATE VERIFY_CHECKSUM yes EN_TRAPS EN_CLEANWIN EN_FLUSHW DIV_BY_ZERO BAD_ALIGN 1 // min-max= 0-50 BAD_ALIGN_JMPL 15% // min-max= 0-100 TRAP_CHECKSUM SF_CHECKSUM yes READ_TRAPREGS READ_FAULTREGS READ_FSR UNIFIED_TSB yes VA_HOLE 48 // min-max= 0-63 MMU_RANDOM 3 // min-max= 0-7 PAGE_SIZE_MAX 7 // 16G USE_HASH NO_TSB yes USE_MASTER_TSB yes MAP_VEQP no TTE_PRELOAD no TSB_SIZE_MIN 1 // min-max= 0-15 TSB_SIZE_MAX 1 // min-max= 0-15 TSB_SIZE_SPARSE 9 // min-max= 0-16 MSA_SLOTS_MIN 512 // min-max= 1-512 MSA_SLOTS_MAX 512 // min-max= 1-512 BEGIN_PHYS 0x1000000 // min-max= 0x0-0xFFFFFFFFFFFFE000 END_PHYS 0x1000000000 // min-max= 0x0-0xFFFFFFFFFFFFE000 REGION_SIZE 0x0 // min-max= 0x0-0x100000000000000 STARTUP_ADDR 0x800000 // min-max= 0x0-0xFFFFFFFFFFFFE000 DATA_AREAS <10> // min-max= 0-512 DATA_LENGTH <0x100> // min-max= 0x10-0x2000 DATA_PRIV <30> // min-max= 0-100 DATA_UNCONFIG <0> // min-max= 0-100 STACK_PAGECROSS STACK_DISCONTIG STACK_DEMAP SUBR_NEST <4> // min-max= 1-8 NUM_SUBS <2> // min-max= 0-99 TEXT_PAGECROSS TEXT_DISCONTIG TEXT_PRIV <50> // min-max= 0-100 TEXT_UNCONFIG <0> // min-max= 0-100 MAIN_SETBACK 0x300 // min-max= 0x0-0x1FFC SUBR_SETBACK 0x100 // min-max= 0x0-0x1FFC SKIP_ELSE yes NEST_LEVELS 3 // min-max= 2-7 SUBR_LEVELS 2 // min-max= 1-3 MIN_BLOCKS 1 // min-max= 1-32 MAX_BLOCKS 5 // min-max= 1-32 L2_BLOCKS <20> // min-max= 1-99 MIN_LOOP 2 // min-max= 2-32 MAX_LOOP 3 // min-max= 2-32 L1_LOOP <2> // min-max= 1-32 MIN_SEQ 4 // min-max= 0-128 MAX_SEQ 12 // min-max= 0-128 LADDER_PROB 20 // min-max= 0-50 LADDER_MIN 8 // min-max= 2-64 LADDER_MAX 18 // min-max= 2-64 LADDER_MIX <50> // min-max= 0-100 RELOAD_PROB 80% // min-max= 0-100 RECENT_REGS 10 // min-max= 1-32 RECENT_PROB 80% // min-max= 0-100 RELEASE_PROB 20% // min-max= 0-100 ANNUL_PROB <30> // min-max= 0-100 PREDICT_PROB <25> // min-max= 0-100 OVLAP_STORES MEMBAR_MASK <0x40> // min-max= 0x0-0x7F BLKLD_MEMBAR 2 // min-max= 0-3 BLKST_MEMBAR 1 // min-max= 0-3 PREFETCH_MASK 0xF0001F // min-max= 0x0-0xFFFFFFFF PREF_PRIV_MASK 0x0 // min-max= 0x0-0xFFFFFFFF PREF_ILL_MASK 0xFFE0 // min-max= 0x0-0xFFFFFFFF EN_VECT_CASE LITTLE_ASI_PROB <20> // min-max= 0-100 PTR_CHASE_MIN 1 // min-max= 1-256 PTR_CHASE_MAX 8 // min-max= 1-256 DEMAP_ALL BADPATH_INVALID <0> // min-max= 0-100 BADPATH_RANDOM <25> // min-max= 0-100 EVIL_TWIN_PROB 10% // min-max= 0-100 ALT_PROB <10> // min-max= 0-100 TRAPNUM_FIRST 0x50 // min-max= 0x0-0xFF TRAPNUM_LAST 0x6F // min-max= 0x0-0xFF TRAPNUM_PBRAN 0x70 // min-max= 0x0-0xFF OP_LD_INT 300 // 8.9793% OP_LD_FP 50 // 1.4966% OP_LD_SHORT 5 // 0.1497% OP_LD_NF 100 // 2.9931% OP_LD_BLK 0 // 0.0000% OP_LD_QUAD 100 // 2.9931% OP_LD_QUAD_P 100 // 2.9931% OP_LDFSR 30 // 0.8979% OP_LDXFSR 30 // 0.8979% OP_LD_BASE 100 // 2.9931% OP_PTR_CHASE 50 // 1.4966% OP_ST_INT 300 // 8.9793% OP_ST_FP 100 // 2.9931% OP_ST_SHORT 10 // 0.2993% OP_ST_PARTIAL 10 // 0.2993% OP_ST_BLK 0 // 0.0000% OP_STFSR 10 // 0.2993% OP_STXFSR 10 // 0.2993% OP_LDSTUB 5 // 0.1497% OP_SWAP 5 // 0.1497% OP_QUAD_INTERF 50 // 1.4966% OP_PREFETCH 30 // 0.8979% OP_CALL 170 // 5.0883% OP_CALL8 100 // 2.9931% OP_ADD 50 // 1.4966% OP_ADDCC 30 // 0.8979% OP_SUB 50 // 1.4966% OP_SUBCC 100 // 2.9931% OP_MUL 5 // 0.1497% OP_MULX 5 // 0.1497% OP_DIVX 5 // 0.1497% OP_TAG 5 // 0.1497% OP_TAGTV 0 // 0.0000% OP_AND 5 // 0.1497% OP_ANDN 5 // 0.1497% OP_ANDCC 5 // 0.1497% OP_ANDNCC 5 // 0.1497% OP_OR 5 // 0.1497% OP_ORN 5 // 0.1497% OP_ORCC 5 // 0.1497% OP_ORNCC 5 // 0.1497% OP_XOR 50 // 1.4966% OP_XORCC 30 // 0.8979% OP_XNOR 50 // 1.4966% OP_XNORCC 30 // 0.8979% OP_SHIFT 50 // 1.4966% OP_MOVCC 50 // 1.4966% OP_CMP 100 // 2.9931% OP_NOP 10 // 0.2993% OP_TOUCH_G 30 // 0.8979% OP_TOUCH_I 30 // 0.8979% OP_TOUCH_L 30 // 0.8979% OP_TOUCH_O 30 // 0.8979% OP_RDPC 1 // 0.0299% OP_RDCCR 10 // 0.2993% OP_WRCCR 10 // 0.2993% OP_WRFPRS 20 // 0.5986% OP_POPC 10 // 0.2993% OP_SETHI 10 // 0.2993% OP_MEMBAR 10 // 0.2993% OP_STBAR 5 // 0.1497% OP_TRAPCC 10 // 0.2993% OP_ILLEGAL 80 // 2.3945% OP_ILL_FP 70 // 2.0952% OP_ILL_VIS 70 // 2.0952% OP_ILL_ASI 0 // 0.0000% OP_DIV32_0 20 // 0.5986% OP_BAD_RETURN 0 // 0.0000% OP_FLIP_PRIV 20 // 0.5986% OP_FLIP_FP 10 // 0.2993% OP_SW_CTX2 0 // 0.0000% OP_DEMAP 30 // 0.8979% OP_PBRANCH 30 // 0.8979% OP_SOFTINT 0 // 0.0000% OP_WRPIL 0 // 0.0000% OP_BN 10 // 0.2993% OP_RDY 10 // 0.2993% OP_WRY 10 // 0.2993% OP_VISLOG 50 // 1.4966% OP_VISMOV 0 // 0.0000% OP_PDIST 5 // 0.1497% OP_PADDSUB 50 // 1.4966% OP_PMULT 5 // 0.1497% OP_PCMP 5 // 0.1497% OP_PSHIFT 0 // 0.0000% OP_PFORMAT 5 // 0.1497% OP_ALIGN 50 // 1.4966% OP_ARRAY 5 // 0.1497% OP_EDGE 5 // 0.1497% OP_GSR 50 // 1.4966% OP_LZD 0 // 0.0000% OP_UMULXHI 0 // 0.0000% OP_XMULX 0 // 0.0000% OP_FADDSUB 50 // 1.4966% OP_FCMP 80 // 2.3945% OP_FCMPE 0 // 0.0000% OP_FMOV 40 // 1.1972% OP_FMOVCC 50 // 1.4966% */ ! Context 68: 2021 instructions generated, 4477 executed, 127 traps SECTION .blimp_traps0 TEXT_VA=0xe00000 attr_text { Name = .blimp_traps0, VA = 0xe00000, RA = 0xfffff0000, PA = ra2pa(0xfffff0000,0), part_0_ctx_zero_tsb_config_1, TTE_Context=0, TTE_Size=1, TTE_W=1, TTE_X=1, TTE_V=1, TTE_P=0, TTE_IE=0, TTE_NFO=0, TTE_E=0, TTE_CP=1, TTE_CV=0, TTE_Soft=0x0, TTE_SW0=0, TTE_SW1=0 } SECTION .blimp_traps0 .text #define BLIMP_TLABEL Blimp_tt0 #define BLIMP_LDD_STD 1 #define BLIMP_TRAP_CKSUM 1 #define BLIMP_VERIFY_FAULTS 0 #define BLIMP_SPLIT_STACK 0 #define BLIMP_BIAS64 0 #define BLIMP_BIAS32 0 #define BLIMP_1ST_CTX 68 #define BLIMP_MAX_CTX 68 #define BLIMP_VERIFY_TRAPS #define BLIMP_VERIFY_XFSR #define BLIMP_ENABLE_DEMAP #define BLIMP_BAD_JMPL #ifndef BLIMP_SCRATCHPAD_VA #define BLIMP_SCRATCHPAD_VA ASI_SCRATCHPAD_7 #endif ! %g7 ERROR CODES for problems detected in trap handlers. #define BLIMP_ERR_PROGRAM 0 /* EXIT_BAD called by test case */ #define BLIMP_ERR_BAD_ENTRY 1 /* inconsistency between %tt and entry point */ #define BLIMP_ERR_INV_TRAP 2 /* this trap type is undefined in MM */ #define BLIMP_ERR_UNEXP_TRAP 3 /* this trap type should never occur in BLIMP */ #define BLIMP_ERR_INCOR_TRAP 4 /* this trap type was taken when it shouldn't */ #define BLIMP_ERR_MMU_MISS 5 /* mmu miss that cannot be resolved */ ! Note: DEFAULT_TRAP() depends on TRAP_BASE_VA fitting in 32 bits #define DEFAULT_TRAP(NUM) \ mov NUM, %g7; \ sllx %g7, 5, %g7; \ sethi %lm(TRAP_BASE_VA), %g6; \ or %g6, %lo(TRAP_BASE_VA), %g6; \ jmpl %g6+%g7, %g0; \ nop; nop; nop; #define TRAP_JUMP(ADDR) \ sethi %hh(ADDR), %g6; \ or %g6, %hm(ADDR), %g6; \ sethi %lm(ADDR), %g7; \ or %g7, %lo(ADDR), %g7; \ sllx %g6, 32, %g6; \ or %g6, %g7, %g6; \ jmpl %g6, %g0; \ nop; #ifdef BLIMP_VERIFY_TRAPS #define TRAP_BRANCH(NUM,ADDR) \ or %g0, NUM, %g6; \ rdpr %tt, %g2; \ rdpr %tl, %g5; \ rdpr %tstate, %g3; \ rdpr %tpc, %g4; \ rdpr %tnpc, %g5; \ ba,a %xcc,ADDR; \ nop; #else #define TRAP_BRANCH(NUM,ADDR) TRAP_JUMP(ADDR) #define NEED_TREGS #undef BLIMP_CHECK_ENTRY #endif #define GENERIC_TRAP(NUM) TRAP_BRANCH(NUM,blimp_generic_handler) #define INVALID_TRAP(NUM) TRAP_BRANCH(NUM,blimp_invalid_trap) #define T1_INVALID_TRAP(NUM) TRAP_BRANCH(NUM,blimp_generic_no_cksum) #ifdef BLIMP_IGNORE_UNHANDLED_TRAPS #define UNHANDLED_TRAP(NUM) TRAP_BRANCH(NUM,blimp_generic_no_cksum) #else #define UNHANDLED_TRAP(NUM) TRAP_BRANCH(NUM,blimp_unhandled_trap) #endif #if BLIMP_TRAP_CKSUM #define BLIMP_DONE \ wrpr %g0, 0, %gl; \ rdpr %tt, %g7; \ add %g1, %g7, %g1; \ mov 0, %g7; \ done; ! ba blimp_done; \ ! nop; #define BLIMP_RETRY \ wrpr %g0, 0, %gl; \ rdpr %tt, %g7; \ add %g1, %g7, %g1; \ mov 0, %g7; \ retry; ! ba blimp_retry; \ ! nop; #else #define BLIMP_DONE done; #define BLIMP_RETRY retry; #endif #if defined(BLIMP_USE_DEFAULT_TT) #define CHECK_ENTRY #define NEED_TREGS #elif !defined(BLIMP_CHECK_ENTRY) #define CHECK_ENTRY #else #define CHECK_ENTRY \ cmp %g6, %g2; /* compare TT with entry point */ \ bne %xcc, blimp_bad_entry; /* better be the same */ \ nop; #endif #define READ_DFAULT_REGS #define READ_IFAULT_REGS #define READ_TAG_ACCESS #define LOCL(LABEL) .local LABEL; LABEL: #define GLOB(LABEL) .global LABEL; LABEL: #ifdef BLIMP_USE_DEFAULT_TT #define HANDLER(LABEL) GLOB(LABEL) #else #define HANDLER(LABEL) LOCL(LABEL) #endif /*********************************************************************************/ #ifndef BLIMP_USE_DEFAULT_TT .align 0x10000 GLOB(BLIMP_TLABEL) /*TT_RESERVED_000:*/ DEFAULT_TRAP(0x000) /*TT_POWERON_RESET:*/ DEFAULT_TRAP(0x001) /*TT_WATCHDOG_RESET:*/ DEFAULT_TRAP(0x002) /*TT_EXTERNAL_RESET:*/ DEFAULT_TRAP(0x003) /*TT_SOFTWARE_RESET:*/ DEFAULT_TRAP(0x004) /*TT_REDMODE:*/ DEFAULT_TRAP(0x005) /*TT_RESERVED_006:*/ DEFAULT_TRAP(0x006) /*TT_RESERVED_007:*/ DEFAULT_TRAP(0x007) /*TT_INSTR_ACCESS_EXCP:*/ TRAP_BRANCH(0x008,blimp_iae) /*TT_IA_MMU_MISS:*/ DEFAULT_TRAP(0x009) /*TT_INSTR_ACCESS_ERR:*/ DEFAULT_TRAP(0x00A) /*TT_RESERVED_00b:*/ TRAP_BRANCH(0x00B,blimp_fake_tt08) /*TT_RESERVED_00c:*/ TRAP_BRANCH(0x00C,blimp_fake_tt08) /*TT_RESERVED_00d:*/ DEFAULT_TRAP(0x00D) /*TT_RESERVED_00e:*/ DEFAULT_TRAP(0x00E) /*TT_RESERVED_00f:*/ DEFAULT_TRAP(0x00F) /*TT_ILLEGAL_INST:*/ GENERIC_TRAP(0x010) /*TT_PRIVILEGED_OPCODE:*/ TRAP_BRANCH(0x011,blimp_privop) #if BLIMP_LDD_STD /*TT_UNIMPLEMENTED_LDD:*/ DEFAULT_TRAP(0x012) /*TT_UNIMPLEMENTED_STD:*/ DEFAULT_TRAP(0x013) #else /*TT_UNIMPLEMENTED_LDD:*/ GENERIC_TRAP(0x012) /*TT_UNIMPLEMENTED_STD:*/ GENERIC_TRAP(0x013) #endif /*TT_RESERVED_014:*/ TRAP_BRANCH(0x014,blimp_fake_tt30) /*TT_RESERVED_015:*/ TRAP_BRANCH(0x015,blimp_fake_tt30) /*TT_RESERVED_016:*/ TRAP_BRANCH(0x016,blimp_fake_tt30) /*TT_RESERVED_017:*/ TRAP_BRANCH(0x017,blimp_fake_tt30) /*TT_RESERVED_018:*/ DEFAULT_TRAP(0x018) /*TT_RESERVED_019:*/ DEFAULT_TRAP(0x019) /*TT_RESERVED_01a:*/ DEFAULT_TRAP(0x01A) /*TT_RESERVED_01b:*/ DEFAULT_TRAP(0x01B) /*TT_RESERVED_01c:*/ DEFAULT_TRAP(0x01C) /*TT_RESERVED_01d:*/ DEFAULT_TRAP(0x01D) /*TT_RESERVED_01e:*/ DEFAULT_TRAP(0x01E) /*TT_RESERVED_01f:*/ DEFAULT_TRAP(0x01F) /*TT_FP_DISABLED:*/ TRAP_BRANCH(0x020,blimp_set_fp) /*TT_FP_IEEE_754:*/ TRAP_BRANCH(0x021,blimp_fp_trap) /*TT_FP_EXCP_OTHER:*/ TRAP_BRANCH(0x022,blimp_fp_trap) /*TT_TAG_OVERFLOW:*/ GENERIC_TRAP(0x023) /*TT_CLEAN_WIN:*/ TRAP_BRANCH(0x024,blimp_cleanwin) /*TT_EXTRA_025:*/ DEFAULT_TRAP(0x025) /*TT_EXTRA_026:*/ DEFAULT_TRAP(0x026) /*TT_EXTRA_027:*/ DEFAULT_TRAP(0x027) /*TT_DIV_ZERO:*/ GENERIC_TRAP(0x028) /*TT_INT_PROC_ERROR:*/ DEFAULT_TRAP(0x029) /*TT_RESERVED_02a:*/ DEFAULT_TRAP(0x02A) /*TT_RESERVED_02b:*/ DEFAULT_TRAP(0x02B) /*TT_RESERVED_02c:*/ DEFAULT_TRAP(0x02C) /*TT_RESERVED_02d:*/ DEFAULT_TRAP(0x02D) /*TT_RESERVED_02e:*/ DEFAULT_TRAP(0x02E) /*TT_RESERVED_02f:*/ DEFAULT_TRAP(0x02F) /*TT_DATA_ACCESS_EXCEPT:*/ TRAP_BRANCH(0x030,blimp_dae) /*TT_DA_MMU_MISS:*/ DEFAULT_TRAP(0x031) /*TT_DATA_ACCESS_ERROR:*/ DEFAULT_TRAP(0x032) /*TT_DATA_PROT:*/ DEFAULT_TRAP(0x033) /*TT_MEM_NONALIGNED:*/ TRAP_BRANCH(0x034,blimp_misalign_handler) /*TT_LDDF_MEM_NONALIGNED:*/ GENERIC_TRAP(0x035) /*TT_STDF_MEM_NONALIGNED:*/ GENERIC_TRAP(0x036) /*TT_PRIVILEGED_ACTION:*/ TRAP_BRANCH(0x037,blimp_privacc) /*TT_LDQF_MEM_NONALIGNED:*/ DEFAULT_TRAP(0x038) /*TT_STQF_MEM_NONALIGNED:*/ DEFAULT_TRAP(0x039) /*TT_RESERVED_03a:*/ DEFAULT_TRAP(0x03A) /*TT_RESERVED_03b:*/ DEFAULT_TRAP(0x03B) /*TT_RESERVED_03c:*/ DEFAULT_TRAP(0x03C) /*TT_RESERVED_03d:*/ DEFAULT_TRAP(0x03D) /*TT_RESERVED_03e:*/ DEFAULT_TRAP(0x03E) /*TT_RESERVED_03f:*/ DEFAULT_TRAP(0x03F) /*TT_ASYNC_DATA_ERROR:*/ DEFAULT_TRAP(0x040) /*TT_INTERRUPT_LEVEL_1:*/ TRAP_BRANCH(0x041,blimp_softint) /*TT_INTERRUPT_LEVEL_2:*/ TRAP_BRANCH(0x042,blimp_softint) /*TT_INTERRUPT_LEVEL_3:*/ TRAP_BRANCH(0x043,blimp_softint) /*TT_INTERRUPT_LEVEL_4:*/ TRAP_BRANCH(0x044,blimp_softint) /*TT_INTERRUPT_LEVEL_5:*/ TRAP_BRANCH(0x045,blimp_softint) /*TT_INTERRUPT_LEVEL_6:*/ TRAP_BRANCH(0x046,blimp_softint) /*TT_INTERRUPT_LEVEL_7:*/ TRAP_BRANCH(0x047,blimp_softint) /*TT_INTERRUPT_LEVEL_8:*/ TRAP_BRANCH(0x048,blimp_softint) /*TT_INTERRUPT_LEVEL_9:*/ TRAP_BRANCH(0x049,blimp_softint) /*TT_INTERRUPT_LEVEL_10:*/ TRAP_BRANCH(0x04A,blimp_softint) /*TT_INTERRUPT_LEVEL_11:*/ TRAP_BRANCH(0x04B,blimp_softint) /*TT_INTERRUPT_LEVEL_12:*/ TRAP_BRANCH(0x04C,blimp_softint) /*TT_INTERRUPT_LEVEL_13:*/ TRAP_BRANCH(0x04D,blimp_softint) /*TT_INTERRUPT_LEVEL_14:*/ TRAP_BRANCH(0x04E,blimp_tickint) /*TT_INTERRUPT_LEVEL_15:*/ TRAP_BRANCH(0x04F,blimp_softint) /*TT_RESERVED_050:*/ DEFAULT_TRAP(0x050) /*TT_RESERVED_051:*/ DEFAULT_TRAP(0x051) /*TT_RESERVED_052:*/ DEFAULT_TRAP(0x052) /*TT_RESERVED_053:*/ DEFAULT_TRAP(0x053) /*TT_RESERVED_054:*/ DEFAULT_TRAP(0x054) /*TT_RESERVED_055:*/ DEFAULT_TRAP(0x055) /*TT_RESERVED_056:*/ DEFAULT_TRAP(0x056) /*TT_RESERVED_057:*/ DEFAULT_TRAP(0x057) /*TT_RESERVED_058:*/ DEFAULT_TRAP(0x058) /*TT_RESERVED_059:*/ DEFAULT_TRAP(0x059) /*TT_RESERVED_05a:*/ DEFAULT_TRAP(0x05A) /*TT_RESERVED_05b:*/ DEFAULT_TRAP(0x05B) /*TT_RESERVED_05c:*/ DEFAULT_TRAP(0x05C) /*TT_RESERVED_05d:*/ DEFAULT_TRAP(0x05D) /*TT_RESERVED_05e:*/ DEFAULT_TRAP(0x05E) /*TT_RESERVED_05f:*/ DEFAULT_TRAP(0x05F) /*TT_INTERRUPT_VECTOR:*/ DEFAULT_TRAP(0x060) /*TT_PA_WATCHPOINT:*/ DEFAULT_TRAP(0x061) /*TT_VA_WATCHPOINT:*/ DEFAULT_TRAP(0x062) /*TT_CORRECTED_ECC_ERROR:*/ DEFAULT_TRAP(0x063) /*TT_FAST_IA_MMU_MISS:*/ DEFAULT_TRAP(0x064) /*TT_FAST_IA_MMU_MISS_1:*/ INVALID_TRAP(0x065) /*TT_FAST_IA_MMU_MISS_2:*/ INVALID_TRAP(0x066) /*TT_FAST_IA_MMU_MISS_3:*/ INVALID_TRAP(0x067) /*TT_FAST_DA_MMU_MISS:*/ DEFAULT_TRAP(0x068) /*TT_FAST_DA_MMU_MISS_1:*/ INVALID_TRAP(0x069) /*TT_FAST_DA_MMU_MISS_2:*/ INVALID_TRAP(0x06A) /*TT_FAST_DA_MMU_MISS_3:*/ INVALID_TRAP(0x06B) /*TT_FAST_DATA_PROT:*/ DEFAULT_TRAP(0x06C) /*TT_FAST_DATA_PROT_1:*/ INVALID_TRAP(0x06D) /*TT_FAST_DATA_PROT_2:*/ INVALID_TRAP(0x06E) /*TT_FAST_DATA_PROT_3:*/ INVALID_TRAP(0x06F) /*TT_RESERVED_070:*/ DEFAULT_TRAP(0x070) /*TT_INST_ACC_MMU_ERR:*/ DEFAULT_TRAP(0x071) /*TT_DATA_ACC_MMU_ERR:*/ DEFAULT_TRAP(0x072) /*TT_STRAND_TRAP:*/ DEFAULT_TRAP(0x073) /*TT_CNTRL_XFER_INSTR:*/ DEFAULT_TRAP(0x074) /*TT_INST_VA_WATCHPOINT:*/ DEFAULT_TRAP(0x075) /*TT_INST_BREAKPOINT:*/ DEFAULT_TRAP(0x076) /*TT_RESERVED_077:*/ DEFAULT_TRAP(0x077) /*TT_RESERVED_078:*/ DEFAULT_TRAP(0x078) /*TT_RESERVED_079:*/ DEFAULT_TRAP(0x079) /*TT_RESERVED_07A:*/ DEFAULT_TRAP(0x07A) /*TT_RESERVED_07B:*/ DEFAULT_TRAP(0x07B) /*TT_RESERVED_07C:*/ DEFAULT_TRAP(0x07C) /*TT_RESERVED_07D:*/ DEFAULT_TRAP(0x07D) /*TT_RESERVED_07E:*/ DEFAULT_TRAP(0x07E) /*TT_RESERVED_07F:*/ DEFAULT_TRAP(0x07F) /*TT_SPILL_0_NORMAL:*/ TRAP_BRANCH(0x080,blimp_spill64_handler) /*TT_EXTRA_081:*/ INVALID_TRAP(0x081) /*TT_EXTRA_082:*/ INVALID_TRAP(0x082) /*TT_EXTRA_083:*/ INVALID_TRAP(0x083) /*TT_SPILL_1_NORMAL:*/ UNHANDLED_TRAP(0x084) /*TT_EXTRA_085:*/ INVALID_TRAP(0x085) /*TT_EXTRA_086:*/ INVALID_TRAP(0x086) /*TT_EXTRA_087:*/ INVALID_TRAP(0x087) /*TT_SPILL_2_NORMAL:*/ TRAP_BRANCH(0x088,blimp_spill64_handler) /*TT_EXTRA_089:*/ INVALID_TRAP(0x089) /*TT_EXTRA_08a:*/ INVALID_TRAP(0x08A) /*TT_EXTRA_08b:*/ INVALID_TRAP(0x08B) /*TT_SPILL_3_NORMAL:*/ UNHANDLED_TRAP(0x08C) /*TT_EXTRA_08d:*/ INVALID_TRAP(0x08D) /*TT_EXTRA_08e:*/ INVALID_TRAP(0x08E) /*TT_EXTRA_08f:*/ INVALID_TRAP(0x08F) /*TT_SPILL_4_NORMAL:*/ TRAP_BRANCH(0x090,blimp_spill32_handler) /*TT_EXTRA_091:*/ INVALID_TRAP(0x091) /*TT_EXTRA_092:*/ INVALID_TRAP(0x092) /*TT_EXTRA_093:*/ INVALID_TRAP(0x093) /*TT_SPILL_5_NORMAL:*/ UNHANDLED_TRAP(0x094) /*TT_EXTRA_095:*/ INVALID_TRAP(0x095) /*TT_EXTRA_096:*/ INVALID_TRAP(0x096) /*TT_EXTRA_097:*/ INVALID_TRAP(0x097) /*TT_SPILL_6_NORMAL:*/ TRAP_BRANCH(0x098,blimp_spill32_handler) /*TT_EXTRA_099:*/ INVALID_TRAP(0x099) /*TT_EXTRA_09a:*/ INVALID_TRAP(0x09A) /*TT_EXTRA_09b:*/ INVALID_TRAP(0x09B) /*TT_SPILL_7_NORMAL:*/ UNHANDLED_TRAP(0x09C) /*TT_EXTRA_09d:*/ INVALID_TRAP(0x09D) /*TT_EXTRA_09e:*/ INVALID_TRAP(0x09E) /*TT_EXTRA_09f:*/ INVALID_TRAP(0x09F) /*TT_SPILL_0_OTHER:*/ UNHANDLED_TRAP(0x0A0) /*TT_EXTRA_0a1:*/ INVALID_TRAP(0x0A1) /*TT_EXTRA_0a2:*/ INVALID_TRAP(0x0A2) /*TT_EXTRA_0a3:*/ INVALID_TRAP(0x0A3) /*TT_SPILL_1_OTHER:*/ UNHANDLED_TRAP(0x0A4) /*TT_EXTRA_0a5:*/ INVALID_TRAP(0x0A5) /*TT_EXTRA_0a6:*/ INVALID_TRAP(0x0A6) /*TT_EXTRA_0a7:*/ INVALID_TRAP(0x0A7) /*TT_SPILL_2_OTHER:*/ UNHANDLED_TRAP(0x0A8) /*TT_EXTRA_0a9:*/ INVALID_TRAP(0x0A9) /*TT_EXTRA_0aa:*/ INVALID_TRAP(0x0AA) /*TT_EXTRA_0ab:*/ INVALID_TRAP(0x0AB) /*TT_SPILL_3_OTHER:*/ UNHANDLED_TRAP(0x0AC) /*TT_EXTRA_0ad:*/ INVALID_TRAP(0x0AD) /*TT_EXTRA_0ae:*/ INVALID_TRAP(0x0AE) /*TT_EXTRA_0af:*/ INVALID_TRAP(0x0AF) /*TT_SPILL_4_OTHER:*/ UNHANDLED_TRAP(0x0B0) /*TT_EXTRA_0b1:*/ INVALID_TRAP(0x0B1) /*TT_EXTRA_0b2:*/ INVALID_TRAP(0x0B2) /*TT_EXTRA_0b3:*/ INVALID_TRAP(0x0B3) /*TT_SPILL_5_OTHER:*/ UNHANDLED_TRAP(0x0B4) /*TT_EXTRA_0b5:*/ INVALID_TRAP(0x0B5) /*TT_EXTRA_0b6:*/ INVALID_TRAP(0x0B6) /*TT_EXTRA_0b7:*/ INVALID_TRAP(0x0B7) /*TT_SPILL_6_OTHER:*/ UNHANDLED_TRAP(0x0B8) /*TT_EXTRA_0b9:*/ INVALID_TRAP(0x0B9) /*TT_EXTRA_0ba:*/ INVALID_TRAP(0x0BA) /*TT_EXTRA_0bb:*/ INVALID_TRAP(0x0BB) /*TT_SPILL_7_OTHER:*/ UNHANDLED_TRAP(0x0BC) /*TT_EXTRA_0bd:*/ INVALID_TRAP(0x0BD) /*TT_EXTRA_0be:*/ INVALID_TRAP(0x0BE) /*TT_EXTRA_0bf:*/ INVALID_TRAP(0x0BF) /*TT_FILL_0_NORMAL:*/ TRAP_BRANCH(0x0C0,blimp_fill64_handler) /*TT_EXTRA_0c1:*/ INVALID_TRAP(0x0C1) /*TT_EXTRA_0c2:*/ INVALID_TRAP(0x0C2) /*TT_EXTRA_0c3:*/ INVALID_TRAP(0x0C3) /*TT_FILL_1_NORMAL:*/ TRAP_BRANCH(0x0C4,blimp_fill64_handler) /*TT_EXTRA_0c5:*/ INVALID_TRAP(0x0C5) /*TT_EXTRA_0c6:*/ INVALID_TRAP(0x0C6) /*TT_EXTRA_0c7:*/ INVALID_TRAP(0x0C7) /*TT_FILL_2_NORMAL:*/ TRAP_BRANCH(0x0C8,blimp_fill64_handler) /*TT_EXTRA_0c9:*/ INVALID_TRAP(0x0C9) /*TT_EXTRA_0ca:*/ INVALID_TRAP(0x0Ca) /*TT_EXTRA_0cb:*/ INVALID_TRAP(0x0Cb) /*TT_FILL_3_NORMAL:*/ TRAP_BRANCH(0x0CC,blimp_fill64_handler) /*TT_EXTRA_0cd:*/ INVALID_TRAP(0x0CD) /*TT_EXTRA_0ce:*/ INVALID_TRAP(0x0CE) /*TT_EXTRA_0cf:*/ INVALID_TRAP(0x0CF) /*TT_FILL_4_NORMAL:*/ TRAP_BRANCH(0x0D0,blimp_fill32_handler) /*TT_EXTRA_0d1:*/ INVALID_TRAP(0x0D1) /*TT_EXTRA_0d2:*/ INVALID_TRAP(0x0D2) /*TT_EXTRA_0d3:*/ INVALID_TRAP(0x0D3) /*TT_FILL_5_NORMAL:*/ TRAP_BRANCH(0x0D4,blimp_fill32_handler) /*TT_EXTRA_0d5:*/ INVALID_TRAP(0x0D5) /*TT_EXTRA_0d6:*/ INVALID_TRAP(0x0D6) /*TT_EXTRA_0d7:*/ INVALID_TRAP(0x0D7) /*TT_FILL_6_NORMAL:*/ TRAP_BRANCH(0x0D8,blimp_fill32_handler) /*TT_EXTRA_0d9:*/ INVALID_TRAP(0x0D9) /*TT_EXTRA_0da:*/ INVALID_TRAP(0x0DA) /*TT_EXTRA_0db:*/ INVALID_TRAP(0x0DB) /*TT_FILL_7_NORMAL:*/ TRAP_BRANCH(0x0DC,blimp_fill32_handler) /*TT_EXTRA_0dd:*/ INVALID_TRAP(0x0DD) /*TT_EXTRA_0de:*/ INVALID_TRAP(0x0DE) /*TT_EXTRA_0df:*/ INVALID_TRAP(0x0DF) /*TT_FILL_0_OTHER:*/ UNHANDLED_TRAP(0x0E0) /*TT_EXTRA_0e1:*/ INVALID_TRAP(0x0E1) /*TT_EXTRA_0e2:*/ INVALID_TRAP(0x0E2) /*TT_EXTRA_0e3:*/ INVALID_TRAP(0x0E3) /*TT_FILL_1_OTHER:*/ UNHANDLED_TRAP(0x0E4) /*TT_EXTRA_0e5:*/ INVALID_TRAP(0x0E5) /*TT_EXTRA_0e6:*/ INVALID_TRAP(0x0E6) /*TT_EXTRA_0e7:*/ INVALID_TRAP(0x0E7) /*TT_FILL_2_OTHER:*/ UNHANDLED_TRAP(0x0E8) /*TT_EXTRA_0e9:*/ INVALID_TRAP(0x0E9) /*TT_EXTRA_0ea:*/ INVALID_TRAP(0x0EA) /*TT_EXTRA_0eb:*/ INVALID_TRAP(0x0EB) /*TT_FILL_3_OTHER:*/ UNHANDLED_TRAP(0x0EC) /*TT_EXTRA_0ed:*/ INVALID_TRAP(0x0ED) /*TT_EXTRA_0ee:*/ INVALID_TRAP(0x0DE) /*TT_EXTRA_0ef:*/ INVALID_TRAP(0x0DF) /*TT_FILL_4_OTHER:*/ UNHANDLED_TRAP(0x0F0) /*TT_EXTRA_0f1:*/ INVALID_TRAP(0x0F1) /*TT_EXTRA_0f2:*/ INVALID_TRAP(0x0F2) /*TT_EXTRA_0f3:*/ INVALID_TRAP(0x0F3) /*TT_FILL_5_OTHER:*/ UNHANDLED_TRAP(0x0F4) /*TT_EXTRA_0f5:*/ INVALID_TRAP(0x0F5) /*TT_EXTRA_0f6:*/ INVALID_TRAP(0x0F6) /*TT_EXTRA_0f7:*/ INVALID_TRAP(0x0F7) /*TT_FILL_6_OTHER:*/ UNHANDLED_TRAP(0x0F8) /*TT_EXTRA_0f9:*/ INVALID_TRAP(0x0F9) /*TT_EXTRA_0fa:*/ INVALID_TRAP(0x0FA) /*TT_EXTRA_0fb:*/ INVALID_TRAP(0x0FB) /*TT_FILL_7_OTHER:*/ UNHANDLED_TRAP(0x0FC) /*TT_EXTRA_0fd:*/ INVALID_TRAP(0x0FD) /*TT_EXTRA_0fe:*/ INVALID_TRAP(0x0FE) /*TT_EXTRA_0ff:*/ INVALID_TRAP(0x0FF) /*TT_TCC_00:*/ TRAP_JUMP(blimp_end_good) ! good trap /*TT_TCC_01:*/ TRAP_JUMP(blimp_end_bad) ! bad trap /*TT_TCC_02:*/ DEFAULT_TRAP(0x102) /*TT_TCC_03:*/ DEFAULT_TRAP(0x103) /*TT_TCC_04:*/ DEFAULT_TRAP(0x104) /*TT_TCC_05:*/ DEFAULT_TRAP(0x105) /*TT_TCC_06:*/ DEFAULT_TRAP(0x106) /*TT_TCC_07:*/ DEFAULT_TRAP(0x107) /*TT_TCC_08:*/ DEFAULT_TRAP(0x108) /*TT_TCC_09:*/ DEFAULT_TRAP(0x109) /*TT_TCC_0A:*/ DEFAULT_TRAP(0x10A) /*TT_TCC_0B:*/ DEFAULT_TRAP(0x10B) /*TT_TCC_0C:*/ DEFAULT_TRAP(0x10C) /*TT_TCC_0D:*/ DEFAULT_TRAP(0x10D) /*TT_TCC_0E:*/ DEFAULT_TRAP(0x10E) /*TT_TCC_0F:*/ DEFAULT_TRAP(0x10F) /*TT_TCC_10:*/ DEFAULT_TRAP(0x110) /*TT_TCC_11:*/ DEFAULT_TRAP(0x111) /*TT_TCC_12:*/ DEFAULT_TRAP(0x112) /*TT_TCC_13:*/ DEFAULT_TRAP(0x113) /*TT_TCC_14:*/ DEFAULT_TRAP(0x114) /*TT_TCC_15:*/ DEFAULT_TRAP(0x115) /*TT_TCC_16:*/ DEFAULT_TRAP(0x116) /*TT_TCC_17:*/ DEFAULT_TRAP(0x117) /*TT_TCC_18:*/ DEFAULT_TRAP(0x118) /*TT_TCC_19:*/ DEFAULT_TRAP(0x119) /*TT_TCC_1A:*/ DEFAULT_TRAP(0x11A) /*TT_TCC_1B:*/ DEFAULT_TRAP(0x11B) /*TT_TCC_1C:*/ DEFAULT_TRAP(0x11C) /*TT_TCC_1D:*/ DEFAULT_TRAP(0x11D) /*TT_TCC_1E:*/ DEFAULT_TRAP(0x11E) /*TT_TCC_1F:*/ DEFAULT_TRAP(0x11F) /*TT_TCC_20:*/ DEFAULT_TRAP(0x120) /*TT_TCC_21:*/ DEFAULT_TRAP(0x121) /*TT_TCC_22:*/ DEFAULT_TRAP(0x122) /*TT_TCC_23:*/ DEFAULT_TRAP(0x123) /*TT_TCC_24:*/ DEFAULT_TRAP(0x124) /*TT_TCC_25:*/ DEFAULT_TRAP(0x125) /*TT_TCC_26:*/ DEFAULT_TRAP(0x126) /*TT_TCC_27:*/ DEFAULT_TRAP(0x127) /*TT_TCC_28:*/ DEFAULT_TRAP(0x128) /*TT_TCC_29:*/ DEFAULT_TRAP(0x129) /*TT_TCC_2A:*/ DEFAULT_TRAP(0x12A) /*TT_TCC_2B:*/ DEFAULT_TRAP(0x12B) /*TT_TCC_2C:*/ DEFAULT_TRAP(0x12C) /*TT_TCC_2D:*/ DEFAULT_TRAP(0x12D) /*TT_TCC_2E:*/ DEFAULT_TRAP(0x12E) /*TT_TCC_2F:*/ DEFAULT_TRAP(0x12F) /* User-defined traps */ #ifdef BLIMP_UTRAP0 TRAP_JUMP(BLIMP_UTRAP0) #else DEFAULT_TRAP(0x130) #endif #ifdef BLIMP_UTRAP1 TRAP_JUMP(BLIMP_UTRAP1) #else DEFAULT_TRAP(0x131) #endif #ifdef BLIMP_UTRAP2 TRAP_JUMP(BLIMP_UTRAP2) #else DEFAULT_TRAP(0x132) #endif #ifdef BLIMP_UTRAP3 TRAP_JUMP(BLIMP_UTRAP3) #else DEFAULT_TRAP(0x133) #endif #ifdef BLIMP_UTRAP4 TRAP_JUMP(BLIMP_UTRAP4) #else DEFAULT_TRAP(0x134) #endif #ifdef BLIMP_UTRAP5 TRAP_JUMP(BLIMP_UTRAP5) #else DEFAULT_TRAP(0x135) #endif #ifdef BLIMP_UTRAP6 TRAP_JUMP(BLIMP_UTRAP6) #else DEFAULT_TRAP(0x136) #endif #ifdef BLIMP_UTRAP7 TRAP_JUMP(BLIMP_UTRAP7) #else DEFAULT_TRAP(0x137) #endif #ifdef BLIMP_UTRAP8 TRAP_JUMP(BLIMP_UTRAP8) #else DEFAULT_TRAP(0x138) #endif #ifdef BLIMP_UTRAP9 TRAP_JUMP(BLIMP_UTRAP9) #else DEFAULT_TRAP(0x139) #endif #ifdef BLIMP_UTRAP10 TRAP_JUMP(BLIMP_UTRAP10) #else DEFAULT_TRAP(0x13A) #endif #ifdef BLIMP_UTRAP11 TRAP_JUMP(BLIMP_UTRAP11) #else DEFAULT_TRAP(0x13B) #endif #ifdef BLIMP_UTRAP12 TRAP_JUMP(BLIMP_UTRAP12) #else DEFAULT_TRAP(0x13C) #endif #ifdef BLIMP_UTRAP13 TRAP_JUMP(BLIMP_UTRAP13) #else DEFAULT_TRAP(0x13D) #endif #ifdef BLIMP_UTRAP14 TRAP_JUMP(BLIMP_UTRAP14) #else DEFAULT_TRAP(0x13E) #endif #ifdef BLIMP_UTRAP15 TRAP_JUMP(BLIMP_UTRAP15) #else DEFAULT_TRAP(0x13F) #endif /*TT_TCC_40:*/ TRAP_BRANCH(0x140,blimp_flip_priv) /*TT_TCC_41:*/ TRAP_BRANCH(0x141,blimp_reset_priv) /*TT_TCC_42:*/ TRAP_BRANCH(0x142,blimp_set_priv) /*TT_TCC_43:*/ TRAP_BRANCH(0x143,blimp_flip_fp) /*TT_TCC_44:*/ TRAP_BRANCH(0x144,blimp_cleanwin0) /*TT_TCC_45:*/ TRAP_BRANCH(0x145,blimp_demap_stack) /*TT_TCC_46:*/ TRAP_BRANCH(0x146,blimp_demap_page) /*TT_TCC_47:*/ DEFAULT_TRAP(0x147) /*TT_TCC_48:*/ TRAP_BRANCH(0x148,blimp_demap_all) /*TT_TCC_49:*/ TRAP_BRANCH(0x149,blimp_switch_ctx2) /*TT_TCC_4A:*/ DEFAULT_TRAP(0x14A) /*TT_TCC_4B:*/ DEFAULT_TRAP(0x14B) /*TT_TCC_4C:*/ DEFAULT_TRAP(0x14C) /*TT_TCC_4D:*/ DEFAULT_TRAP(0x14D) /*TT_TCC_4E:*/ DEFAULT_TRAP(0x14E) /*TT_TCC_4F:*/ DEFAULT_TRAP(0x14F) /*TT_TCC_50:*/ GENERIC_TRAP(0x150) /*TT_TCC_51:*/ GENERIC_TRAP(0x151) /*TT_TCC_52:*/ GENERIC_TRAP(0x152) /*TT_TCC_53:*/ GENERIC_TRAP(0x153) /*TT_TCC_54:*/ GENERIC_TRAP(0x154) /*TT_TCC_55:*/ GENERIC_TRAP(0x155) /*TT_TCC_56:*/ GENERIC_TRAP(0x156) /*TT_TCC_57:*/ GENERIC_TRAP(0x157) /*TT_TCC_58:*/ GENERIC_TRAP(0x158) /*TT_TCC_59:*/ GENERIC_TRAP(0x159) /*TT_TCC_5a:*/ GENERIC_TRAP(0x15A) /*TT_TCC_5b:*/ GENERIC_TRAP(0x15B) /*TT_TCC_5c:*/ GENERIC_TRAP(0x15C) /*TT_TCC_5d:*/ GENERIC_TRAP(0x15D) /*TT_TCC_5e:*/ GENERIC_TRAP(0x15E) /*TT_TCC_5f:*/ GENERIC_TRAP(0x15F) /* Half the traps are handled using retry instead of done /*TT_TCC_60:*/ TRAP_BRANCH(0x160,blimp_generic_redone) /*TT_TCC_61:*/ TRAP_BRANCH(0x161,blimp_generic_redone) /*TT_TCC_62:*/ TRAP_BRANCH(0x162,blimp_generic_redone) /*TT_TCC_63:*/ TRAP_BRANCH(0x163,blimp_generic_redone) /*TT_TCC_64:*/ TRAP_BRANCH(0x164,blimp_generic_redone) /*TT_TCC_65:*/ TRAP_BRANCH(0x165,blimp_generic_redone) /*TT_TCC_66:*/ TRAP_BRANCH(0x166,blimp_generic_redone) /*TT_TCC_67:*/ TRAP_BRANCH(0x167,blimp_generic_redone) /*TT_TCC_68:*/ TRAP_BRANCH(0x168,blimp_generic_redone) /*TT_TCC_69:*/ TRAP_BRANCH(0x169,blimp_generic_redone) /*TT_TCC_6a:*/ TRAP_BRANCH(0x16A,blimp_generic_redone) /*TT_TCC_6b:*/ TRAP_BRANCH(0x16B,blimp_generic_redone) /*TT_TCC_6c:*/ TRAP_BRANCH(0x16C,blimp_generic_redone) /*TT_TCC_6d:*/ TRAP_BRANCH(0x16D,blimp_generic_redone) /*TT_TCC_6e:*/ TRAP_BRANCH(0x16E,blimp_generic_redone) /*TT_TCC_6f:*/ TRAP_BRANCH(0x16F,blimp_generic_redone) /* Pseudo branches */ /*TT_TCC_70:*/ TRAP_BRANCH(0x170,blimp_pseudo_branch) /*PBRAN_MIN*/ /*TT_TCC_71:*/ TRAP_BRANCH(0x171,blimp_pseudo_branch) /*TT_TCC_72:*/ TRAP_BRANCH(0x172,blimp_pseudo_branch) /*TT_TCC_73:*/ TRAP_BRANCH(0x173,blimp_pseudo_branch) /*TT_TCC_74:*/ TRAP_BRANCH(0x174,blimp_pseudo_branch) /*TT_TCC_75:*/ TRAP_BRANCH(0x175,blimp_pseudo_branch) /*TT_TCC_76:*/ TRAP_BRANCH(0x176,blimp_pseudo_branch) /*TT_TCC_77:*/ TRAP_BRANCH(0x177,blimp_pseudo_branch) /*TT_TCC_78:*/ TRAP_BRANCH(0x178,blimp_pseudo_branch) /*TT_TCC_79:*/ TRAP_BRANCH(0x179,blimp_pseudo_branch) /*TT_TCC_7a:*/ TRAP_BRANCH(0x17A,blimp_pseudo_branch) /*TT_TCC_7b:*/ TRAP_BRANCH(0x17B,blimp_pseudo_branch) /*TT_TCC_7c:*/ TRAP_BRANCH(0x17C,blimp_pseudo_branch) /*TT_TCC_7d:*/ TRAP_BRANCH(0x17D,blimp_pseudo_branch) /*TT_TCC_7e:*/ TRAP_BRANCH(0x17E,blimp_pseudo_branch) /*TT_TCC_7f:*/ TRAP_BRANCH(0x17F,blimp_pseudo_branch) .skip 128*32 ! Trap table for TL>=1: nothing for now DEFAULT_TRAP(0x200) DEFAULT_TRAP(0x201) DEFAULT_TRAP(0x202) DEFAULT_TRAP(0x203) DEFAULT_TRAP(0x204) DEFAULT_TRAP(0x205) DEFAULT_TRAP(0x206) DEFAULT_TRAP(0x207) DEFAULT_TRAP(0x208) DEFAULT_TRAP(0x209) DEFAULT_TRAP(0x20A) DEFAULT_TRAP(0x20B) DEFAULT_TRAP(0x20C) DEFAULT_TRAP(0x20D) DEFAULT_TRAP(0x20E) DEFAULT_TRAP(0x20F) DEFAULT_TRAP(0x210) DEFAULT_TRAP(0x211) DEFAULT_TRAP(0x212) DEFAULT_TRAP(0x213) DEFAULT_TRAP(0x214) DEFAULT_TRAP(0x215) DEFAULT_TRAP(0x216) DEFAULT_TRAP(0x217) DEFAULT_TRAP(0x218) DEFAULT_TRAP(0x219) DEFAULT_TRAP(0x21A) DEFAULT_TRAP(0x21B) DEFAULT_TRAP(0x21C) DEFAULT_TRAP(0x21D) DEFAULT_TRAP(0x21E) DEFAULT_TRAP(0x21F) DEFAULT_TRAP(0x220) DEFAULT_TRAP(0x221) DEFAULT_TRAP(0x222) DEFAULT_TRAP(0x223) DEFAULT_TRAP(0x224) DEFAULT_TRAP(0x225) DEFAULT_TRAP(0x226) DEFAULT_TRAP(0x227) DEFAULT_TRAP(0x228) DEFAULT_TRAP(0x229) DEFAULT_TRAP(0x22A) DEFAULT_TRAP(0x22B) DEFAULT_TRAP(0x22C) DEFAULT_TRAP(0x22D) DEFAULT_TRAP(0x22E) DEFAULT_TRAP(0x22F) DEFAULT_TRAP(0x230) DEFAULT_TRAP(0x231) DEFAULT_TRAP(0x232) DEFAULT_TRAP(0x233) DEFAULT_TRAP(0x234) DEFAULT_TRAP(0x235) DEFAULT_TRAP(0x236) DEFAULT_TRAP(0x237) DEFAULT_TRAP(0x238) DEFAULT_TRAP(0x239) DEFAULT_TRAP(0x23A) DEFAULT_TRAP(0x23B) DEFAULT_TRAP(0x23C) DEFAULT_TRAP(0x23D) DEFAULT_TRAP(0x23E) DEFAULT_TRAP(0x23F) DEFAULT_TRAP(0x240) DEFAULT_TRAP(0x241) DEFAULT_TRAP(0x242) DEFAULT_TRAP(0x243) DEFAULT_TRAP(0x244) DEFAULT_TRAP(0x245) DEFAULT_TRAP(0x246) DEFAULT_TRAP(0x247) DEFAULT_TRAP(0x248) DEFAULT_TRAP(0x249) DEFAULT_TRAP(0x24A) DEFAULT_TRAP(0x24B) DEFAULT_TRAP(0x24C) DEFAULT_TRAP(0x24D) DEFAULT_TRAP(0x24E) DEFAULT_TRAP(0x24F) DEFAULT_TRAP(0x250) DEFAULT_TRAP(0x251) DEFAULT_TRAP(0x252) DEFAULT_TRAP(0x253) DEFAULT_TRAP(0x254) DEFAULT_TRAP(0x255) DEFAULT_TRAP(0x256) DEFAULT_TRAP(0x257) DEFAULT_TRAP(0x258) DEFAULT_TRAP(0x259) DEFAULT_TRAP(0x25A) DEFAULT_TRAP(0x25B) DEFAULT_TRAP(0x25C) DEFAULT_TRAP(0x25D) DEFAULT_TRAP(0x25E) DEFAULT_TRAP(0x25F) DEFAULT_TRAP(0x260) DEFAULT_TRAP(0x261) DEFAULT_TRAP(0x262) DEFAULT_TRAP(0x263) DEFAULT_TRAP(0x264) DEFAULT_TRAP(0x265) DEFAULT_TRAP(0x266) DEFAULT_TRAP(0x267) DEFAULT_TRAP(0x268) DEFAULT_TRAP(0x269) DEFAULT_TRAP(0x26A) DEFAULT_TRAP(0x26B) DEFAULT_TRAP(0x26C) DEFAULT_TRAP(0x26D) DEFAULT_TRAP(0x26E) DEFAULT_TRAP(0x26F) DEFAULT_TRAP(0x270) DEFAULT_TRAP(0x271) DEFAULT_TRAP(0x272) DEFAULT_TRAP(0x273) DEFAULT_TRAP(0x274) DEFAULT_TRAP(0x275) DEFAULT_TRAP(0x276) DEFAULT_TRAP(0x277) DEFAULT_TRAP(0x278) DEFAULT_TRAP(0x279) DEFAULT_TRAP(0x27A) DEFAULT_TRAP(0x27B) DEFAULT_TRAP(0x27C) DEFAULT_TRAP(0x27D) DEFAULT_TRAP(0x27E) DEFAULT_TRAP(0x27F) DEFAULT_TRAP(0x280) DEFAULT_TRAP(0x281) DEFAULT_TRAP(0x282) DEFAULT_TRAP(0x283) DEFAULT_TRAP(0x284) DEFAULT_TRAP(0x285) DEFAULT_TRAP(0x286) DEFAULT_TRAP(0x287) DEFAULT_TRAP(0x288) DEFAULT_TRAP(0x289) DEFAULT_TRAP(0x28A) DEFAULT_TRAP(0x28B) DEFAULT_TRAP(0x28C) DEFAULT_TRAP(0x28D) DEFAULT_TRAP(0x28E) DEFAULT_TRAP(0x28F) DEFAULT_TRAP(0x290) DEFAULT_TRAP(0x291) DEFAULT_TRAP(0x292) DEFAULT_TRAP(0x293) DEFAULT_TRAP(0x294) DEFAULT_TRAP(0x295) DEFAULT_TRAP(0x296) DEFAULT_TRAP(0x297) DEFAULT_TRAP(0x298) DEFAULT_TRAP(0x299) DEFAULT_TRAP(0x29A) DEFAULT_TRAP(0x29B) DEFAULT_TRAP(0x29C) DEFAULT_TRAP(0x29D) DEFAULT_TRAP(0x29E) DEFAULT_TRAP(0x29F) DEFAULT_TRAP(0x2A0) DEFAULT_TRAP(0x2A1) DEFAULT_TRAP(0x2A2) DEFAULT_TRAP(0x2A3) DEFAULT_TRAP(0x2A4) DEFAULT_TRAP(0x2A5) DEFAULT_TRAP(0x2A6) DEFAULT_TRAP(0x2A7) DEFAULT_TRAP(0x2A8) DEFAULT_TRAP(0x2A9) DEFAULT_TRAP(0x2AA) DEFAULT_TRAP(0x2AB) DEFAULT_TRAP(0x2AC) DEFAULT_TRAP(0x2AD) DEFAULT_TRAP(0x2AE) DEFAULT_TRAP(0x2AF) DEFAULT_TRAP(0x2B0) DEFAULT_TRAP(0x2B1) DEFAULT_TRAP(0x2B2) DEFAULT_TRAP(0x2B3) DEFAULT_TRAP(0x2B4) DEFAULT_TRAP(0x2B5) DEFAULT_TRAP(0x2B6) DEFAULT_TRAP(0x2B7) DEFAULT_TRAP(0x2B8) DEFAULT_TRAP(0x2B9) DEFAULT_TRAP(0x2BA) DEFAULT_TRAP(0x2BB) DEFAULT_TRAP(0x2BC) DEFAULT_TRAP(0x2BD) DEFAULT_TRAP(0x2BE) DEFAULT_TRAP(0x2BF) DEFAULT_TRAP(0x2C0) DEFAULT_TRAP(0x2C1) DEFAULT_TRAP(0x2C2) DEFAULT_TRAP(0x2C3) DEFAULT_TRAP(0x2C4) DEFAULT_TRAP(0x2C5) DEFAULT_TRAP(0x2C6) DEFAULT_TRAP(0x2C7) DEFAULT_TRAP(0x2C8) DEFAULT_TRAP(0x2C9) DEFAULT_TRAP(0x2CA) DEFAULT_TRAP(0x2CB) DEFAULT_TRAP(0x2CC) DEFAULT_TRAP(0x2CD) DEFAULT_TRAP(0x2CE) DEFAULT_TRAP(0x2CF) DEFAULT_TRAP(0x2D0) DEFAULT_TRAP(0x2D1) DEFAULT_TRAP(0x2D2) DEFAULT_TRAP(0x2D3) DEFAULT_TRAP(0x2D4) DEFAULT_TRAP(0x2D5) DEFAULT_TRAP(0x2D6) DEFAULT_TRAP(0x2D7) DEFAULT_TRAP(0x2D8) DEFAULT_TRAP(0x2D9) DEFAULT_TRAP(0x2DA) DEFAULT_TRAP(0x2DB) DEFAULT_TRAP(0x2DC) DEFAULT_TRAP(0x2DD) DEFAULT_TRAP(0x2DE) DEFAULT_TRAP(0x2DF) DEFAULT_TRAP(0x2E0) DEFAULT_TRAP(0x2E1) DEFAULT_TRAP(0x2E2) DEFAULT_TRAP(0x2E3) DEFAULT_TRAP(0x2E4) DEFAULT_TRAP(0x2E5) DEFAULT_TRAP(0x2E6) DEFAULT_TRAP(0x2E7) DEFAULT_TRAP(0x2E8) DEFAULT_TRAP(0x2E9) DEFAULT_TRAP(0x2EA) DEFAULT_TRAP(0x2EB) DEFAULT_TRAP(0x2EC) DEFAULT_TRAP(0x2ED) DEFAULT_TRAP(0x2EE) DEFAULT_TRAP(0x2EF) DEFAULT_TRAP(0x2F0) DEFAULT_TRAP(0x2F1) DEFAULT_TRAP(0x2F2) DEFAULT_TRAP(0x2F3) DEFAULT_TRAP(0x2F4) DEFAULT_TRAP(0x2F5) DEFAULT_TRAP(0x2F6) DEFAULT_TRAP(0x2F7) DEFAULT_TRAP(0x2F8) DEFAULT_TRAP(0x2F9) DEFAULT_TRAP(0x2FA) DEFAULT_TRAP(0x2FB) DEFAULT_TRAP(0x2FC) DEFAULT_TRAP(0x2FD) DEFAULT_TRAP(0x2FE) DEFAULT_TRAP(0x2FF) TRAP_JUMP(blimp_end_good) TRAP_JUMP(blimp_end_bad) DEFAULT_TRAP(0x302) DEFAULT_TRAP(0x303) DEFAULT_TRAP(0x304) DEFAULT_TRAP(0x305) DEFAULT_TRAP(0x306) DEFAULT_TRAP(0x307) DEFAULT_TRAP(0x308) DEFAULT_TRAP(0x309) DEFAULT_TRAP(0x30A) DEFAULT_TRAP(0x30B) DEFAULT_TRAP(0x30C) DEFAULT_TRAP(0x30D) DEFAULT_TRAP(0x30E) DEFAULT_TRAP(0x30F) DEFAULT_TRAP(0x310) DEFAULT_TRAP(0x311) DEFAULT_TRAP(0x312) DEFAULT_TRAP(0x313) DEFAULT_TRAP(0x314) DEFAULT_TRAP(0x315) DEFAULT_TRAP(0x316) DEFAULT_TRAP(0x317) DEFAULT_TRAP(0x318) DEFAULT_TRAP(0x319) DEFAULT_TRAP(0x31A) DEFAULT_TRAP(0x31B) DEFAULT_TRAP(0x31C) DEFAULT_TRAP(0x31D) DEFAULT_TRAP(0x31E) DEFAULT_TRAP(0x31F) DEFAULT_TRAP(0x320) DEFAULT_TRAP(0x321) DEFAULT_TRAP(0x322) DEFAULT_TRAP(0x323) DEFAULT_TRAP(0x324) DEFAULT_TRAP(0x325) DEFAULT_TRAP(0x326) DEFAULT_TRAP(0x327) DEFAULT_TRAP(0x328) DEFAULT_TRAP(0x329) DEFAULT_TRAP(0x32A) DEFAULT_TRAP(0x32B) DEFAULT_TRAP(0x32C) DEFAULT_TRAP(0x32D) DEFAULT_TRAP(0x32E) DEFAULT_TRAP(0x32F) DEFAULT_TRAP(0x330) DEFAULT_TRAP(0x331) DEFAULT_TRAP(0x332) DEFAULT_TRAP(0x333) DEFAULT_TRAP(0x334) DEFAULT_TRAP(0x335) DEFAULT_TRAP(0x336) DEFAULT_TRAP(0x337) DEFAULT_TRAP(0x338) DEFAULT_TRAP(0x339) DEFAULT_TRAP(0x33A) DEFAULT_TRAP(0x33B) DEFAULT_TRAP(0x33C) DEFAULT_TRAP(0x33D) DEFAULT_TRAP(0x33E) DEFAULT_TRAP(0x33F) DEFAULT_TRAP(0x340) DEFAULT_TRAP(0x341) DEFAULT_TRAP(0x342) DEFAULT_TRAP(0x343) DEFAULT_TRAP(0x344) DEFAULT_TRAP(0x345) DEFAULT_TRAP(0x346) DEFAULT_TRAP(0x347) DEFAULT_TRAP(0x348) DEFAULT_TRAP(0x349) DEFAULT_TRAP(0x34A) DEFAULT_TRAP(0x34B) DEFAULT_TRAP(0x34C) DEFAULT_TRAP(0x34D) DEFAULT_TRAP(0x34E) DEFAULT_TRAP(0x34F) DEFAULT_TRAP(0x350) DEFAULT_TRAP(0x351) DEFAULT_TRAP(0x352) DEFAULT_TRAP(0x353) DEFAULT_TRAP(0x354) DEFAULT_TRAP(0x355) DEFAULT_TRAP(0x356) DEFAULT_TRAP(0x357) DEFAULT_TRAP(0x358) DEFAULT_TRAP(0x359) DEFAULT_TRAP(0x35A) DEFAULT_TRAP(0x35B) DEFAULT_TRAP(0x35C) DEFAULT_TRAP(0x35D) DEFAULT_TRAP(0x35E) DEFAULT_TRAP(0x35F) DEFAULT_TRAP(0x360) DEFAULT_TRAP(0x361) DEFAULT_TRAP(0x362) DEFAULT_TRAP(0x363) DEFAULT_TRAP(0x364) DEFAULT_TRAP(0x365) DEFAULT_TRAP(0x366) DEFAULT_TRAP(0x367) DEFAULT_TRAP(0x368) DEFAULT_TRAP(0x369) DEFAULT_TRAP(0x36A) DEFAULT_TRAP(0x36B) DEFAULT_TRAP(0x36C) DEFAULT_TRAP(0x36D) DEFAULT_TRAP(0x36E) DEFAULT_TRAP(0x36F) DEFAULT_TRAP(0x370) DEFAULT_TRAP(0x371) DEFAULT_TRAP(0x372) DEFAULT_TRAP(0x373) DEFAULT_TRAP(0x374) DEFAULT_TRAP(0x375) DEFAULT_TRAP(0x376) DEFAULT_TRAP(0x377) DEFAULT_TRAP(0x378) DEFAULT_TRAP(0x379) DEFAULT_TRAP(0x37A) DEFAULT_TRAP(0x37B) DEFAULT_TRAP(0x37C) DEFAULT_TRAP(0x37D) DEFAULT_TRAP(0x37E) DEFAULT_TRAP(0x37F) /*TT_END:*/ #endif /************************************************************************ BLIMP TRAP HANDLERS: ************************************************************************/ ! Generic trap: just check the parameters and move on HANDLER(blimp_generic_handler) CHECK_ENTRY BLIMP_DONE HANDLER(blimp_generic_no_cksum) CHECK_ENTRY done HANDLER(blimp_misalign_handler) CHECK_ENTRY #ifdef NEED_TREGS rdpr %tpc, %g7 rdpr %tstate, %g3 #else mov %g4, %g7 ! tpc #endif READ_DFAULT_REGS #ifdef BLIMP_BAD_JMPL ! If offending instruction was JMPL %l6,%o7 then fix up ! the misaligned address in %l6 and retry it. andcc %g3, 0x800, %g0 ! test %tstate.pstate.am bit bz mal_64 nop srl %g7, 0, %g7 LOCL(mal_64) lduwa [%g7]ASI_PRIMARY, %g5 ! fetch instr srlx %g5, 25, %g2 cmp %g2, 0x4F ! 31:25 = 10 01111 = jmpl %o7 bne mal_done nop andn %l6, 0x3, %l6 ! zero lower 2 bits BLIMP_RETRY ! have another go #endif LOCL(mal_done) BLIMP_DONE !======================================== ! Faked trap codes: make blimp think ! a correct V9 trap type occurred instead ! of the SunSparc-2.0 variants. HANDLER(blimp_fake_tt08) CHECK_ENTRY #if BLIMP_TRAP_CKSUM wrpr %g0, 0x08, %tt #endif ba blimp_iae1 nop HANDLER(blimp_fake_tt30) CHECK_ENTRY #if BLIMP_TRAP_CKSUM wrpr %g0, 0x30, %tt #endif ba blimp_dae1 nop !======================================== ! Redone: do a RETRY that looks like a DONE HANDLER(blimp_generic_redone) CHECK_ENTRY #ifdef NEED_TREGS rdpr %tnpc, %g5 #endif add %g5, 4, %g4 wrpr %g5, 0, %tpc ! tpc <-- tnpc wrpr %g4, 0, %tnpc ! tnpc <-- tnpc+4 BLIMP_RETRY !======================================== ! Special TA trap to toggle privileged mode HANDLER(blimp_flip_priv) CHECK_ENTRY #ifdef NEED_TREGS rdpr %tstate, %g3 ! get pstate from tstate #endif wrpr %g3, 0x400, %tstate ! put pstate.priv back inverted BLIMP_DONE ! return !======================================== ! Special TA trap to enter non-privileged mode HANDLER(blimp_reset_priv) CHECK_ENTRY #ifdef NEED_TREGS rdpr %tstate, %g3 ! get pstate from tstate #endif andn %g3, 0x400, %g3 ! turn off pstate.priv bit wrpr %g3, 0, %tstate ! put it back BLIMP_DONE ! return in non-priv mode !======================================== ! Special TA trap to enter privileged mode HANDLER(blimp_set_priv) CHECK_ENTRY #ifdef NEED_TREGS rdpr %tstate, %g3 ! get pstate from tstate #endif or %g3, 0x400, %g3 ! turn on pstate.priv bit wrpr %g3, 0, %tstate ! put it back BLIMP_DONE ! return in priv mode !======================================== ! Special TA trap to toggle PSTATE_PEF bit HANDLER(blimp_flip_fp) CHECK_ENTRY #ifdef NEED_TREGS rdpr %tstate, %g3 ! get pstate from tstate #endif sethi %hi(0x1000), %g4 wrpr %g3, %g4, %tstate ! put pstate.pef back inverted BLIMP_DONE ! return !======================================== ! Special TA trap to clear %cleanwin reg HANDLER(blimp_cleanwin0) CHECK_ENTRY wrpr %g0, %g0, %cleanwin ! reset cleanwin reg BLIMP_DONE ! return !======================================== ! Priv-Op or Instruction-Access Exception: ! Turn on privileged mode and retry HANDLER(blimp_iae) READ_IFAULT_REGS READ_TAG_ACCESS HANDLER(blimp_privop) CHECK_ENTRY LOCL(blimp_iae1) #ifdef NEED_TREGS rdpr %tstate, %g3 ! get pstate from tstate #endif or %g3, 0x400, %g3 ! turn on pstate.priv bit wrpr %g3, 0, %tstate ! put it back BLIMP_RETRY ! retry in priv mode !======================================== ! Data-Access Exception or Privileged Access Exception: ! Turn on priv mode and retry, or skip if already on HANDLER(blimp_dae) READ_TAG_ACCESS HANDLER(blimp_privacc) CHECK_ENTRY READ_DFAULT_REGS LOCL(blimp_dae1) #ifdef NEED_TREGS rdpr %tstate, %g3 ! get pstate from tstate #endif andcc %g3, 0x400, %g0 ! IF already running in priv mode bnz dae_done ! THEN skip over instruction nop ! ELSE or %g3, 0x400, %g3 ! turn on pstate.priv bit wrpr %g3, 0, %tstate ! put it back BLIMP_RETRY ! retry in priv mode LOCL(dae_done) BLIMP_DONE !======================================== ! FP_disabled handler: turn it on (both PEF and FEF) HANDLER(blimp_set_fp) CHECK_ENTRY #ifdef NEED_TREGS rdpr %tstate, %g3 ! get pstate from tstate #endif sethi %hi(0x1000), %g4 or %g3, %g4, %g3 ! turn on pstate.pef bit wrpr %g3, 0, %tstate ! put it back rd %fprs, %g5 ! turn on fprs.fef or %g5, 0x04, %g5 wr %g5, 0, %fprs BLIMP_RETRY ! retry in priv mode HANDLER(blimp_set_fprs) ! handler just for TL>1 CHECK_ENTRY wr %g5, 0x04, %fprs retry !======================================== ! FP_trap handler: verify XFSR and continue HANDLER(blimp_fp_trap) CHECK_ENTRY #ifdef BLIMP_VERIFY_XFSR mov BLIMP_SCRATCHPAD_VA, %g3 ldxa [%g3]ASI_SCRATCHPAD, %g4 stx %fsr, [%g4+0] ! get fsr and zero ftt ldx [%g4+0], %g5 ! load it to verify it #endif BLIMP_DONE !======================================== ! SOFTINT trap handler ! Check validity, turn off bit, and retry ! HANDLER(blimp_softint) CHECK_ENTRY HANDLER(rd_softint) LOCL(rd_softint_l) #ifdef NEED_TREGS rdpr %tt, %g2 #endif rd %softint, %g3 ! get softint bits sethi %hi(0x10000), %g4 ! bit 16 or %g4, 1, %g4 ! bit 0 mov 1, %g5 ! make a bit mask sllx %g5, %g2, %g5 ! using tt[5:0] = int# or %g5, %g4, %g5 ! also bits 16,0 andcc %g5, %g3, %g0 ! IF softint bit or 16/0 not set bz blimp_incorr_trap ! THEN error: why the trap? nop wr %g5, 0, %clear_softint ! remove the bit from softint BLIMP_RETRY HANDLER(blimp_tickint) /* special handler for tick-comparator/timeout function */ CHECK_ENTRY #if ((defined TICK_END_GOOD) || (defined TICK_END_BAD)) rd %tick_cmpr, %g5 ! get tick comparator rd %tick, %g4 ! get tick reg cmp %g4, %g5 ! IF tick < comparator blu %xcc, rd_softint_l ! THEN handle as normal softint nop ! ELSE abandon ship (timeout) #ifdef TICK_END_GOOD ba %xcc, blimp_end_good #else ba %xcc, blimp_end_bad #endif nop #else ba %xcc, rd_softint_l nop #endif !======================================== ! Special TA trap to demap stack: ! The stack pointer is used to determine a page to demap HANDLER(blimp_demap_stack) CHECK_ENTRY rdpr %tstate, %g3 add %o6, BLIMP_BIAS64, %g2 ! cancel out bias andcc %g3, 0x800, %g0 ! if 32-bit mode bz bds10 ! then nop add %o6, BLIMP_BIAS32, %g2 ! use bias32 srl %g2, 0, %g2 ! mask upper 32 bits LOCL(bds10) #if BLIMP_SPLIT_STACK set 0x2000, %g4 ! size of stack area andcc %g2, 0x800, %g0 ! if near beginning of a page bnz bds20 ! then nop sub %g2, %g4, %g2 ! hit previous page ba bds30 ! else near end of a page nop LOCL(bds20) add %g2, %g4, %g2 ! hit next page LOCL(bds30) #endif set 0x7FF, %g4 andn %g2, %g4, %g2 ! select type=Page, ctx=Pri mov %o0, %g4 mov %g2, %o0 ta T_API_HTRAP_INST0 ! must be done from hypervisor mov %g4, %o0 BLIMP_DONE !======================================== ! Special TA trap to demap a random page ! selected from table of pages appended ! to the end of this file. HANDLER(blimp_demap_page) CHECK_ENTRY #ifdef BLIMP_ENABLE_DEMAP mov BLIMP_SCRATCHPAD_VA, %g3 ldxa [%g3]ASI_SCRATCHPAD, %g7 ! get adr of unique area ! El-cheapo random# generator lduw [%g7+8], %g5 ! previous rand# from unique area set 3141592653, %g2 mulx %g5, %g2, %g5 mov %g5, %g2 srlx %g2, 32, %g2 xor %g5, %g2, %g5 set 0x1033C728, %g2 add %g5, %g2, %g5 stw %g5, [%g7+8] ! update rand# in unique area ! Compute random offset into list set DEMAP_PAGES, %g2 ! divisor udivx %g5, %g2, %g3 ! quotient mulx %g3, %g2, %g2 ! quotient * divisor sub %g5, %g2, %g5 ! remainder ! Pick page from list and demap it sllx %g5, 3, %g5 setx blimp_demap_list, %g3, %g2 ! label&list generated by blimp ldx [%g2 + %g5], %g3 mov %o0, %g4 mov %g3, %o0 andcc %o0, 0x10, %g0 tnz T_API_HTRAP_INST0 ! must be done from hypervisor tz T_API_HTRAP_INST1 mov %g4, %o0 #endif BLIMP_DONE !======================================== ! Special TA trap to demap all contexts HANDLER(blimp_demap_all) CHECK_ENTRY mov %o0, %g4 mov 0x80, %o0 ta T_API_HTRAP_INST0 ! must be done from hypervisor ta T_API_HTRAP_INST1 mov %g4, %o0 BLIMP_DONE !======================================== ! Special TA trap to perform a pseudo-branch: ! The last 4 bits of the trap-type code signify the ! number of instructions ahead to set %npc. ! %pc is set to the "delay slot" after the trap instruction. HANDLER(blimp_pseudo_branch) CHECK_ENTRY #ifdef NEED_TREGS rdpr %tt, %g2 rdpr %tpc, %g4 rdpr %tnpc, %g5 #endif and %g2, 0x0F, %g2 ! last 4 bits of trap code add %g2, 1, %g2 ! +1 sllx %g2, 2, %g2 ! convert to instruction offset wrpr %g5, 0, %tpc ! tnpc -> tpc add %g4, %g2, %g4 ! add offset wrpr %g4, 0, %tnpc ! tpc+4+offset -> tnpc retry ! resume program like a branch !======================================== ! Special TA trap to increment the secondary context number: HANDLER(blimp_switch_ctx2) CHECK_ENTRY set ASI_SECONDARY_CONTEXT_0_REG_VAL, %g7 ldxa [%g7]ASI_SECONDARY_CONTEXT_REG, %g2 ! get current sec ctx# set BLIMP_1ST_CTX-1, %g3 ! first ctx#-1 set BLIMP_MAX_CTX, %g4 ! last ctx# set 0x1FFF, %g5 ! mask cmp %g2, %g4 ! if old == last ctx# move %xcc, %g3, %g2 ! then new = first ctx#-1 add %g2, 1, %g2 ! next sequential ctx# and %g2, %g5, %g2 ! wrap at 0x1FFF movrz %g2, 1, %g2 ! skip ctx==0 stxa %g2, [%g7]ASI_SECONDARY_CONTEXT_REG ! set new sec ctx# BLIMP_DONE !======================================== ! Spill and Fill handlers: ! SPILL handler 64-bit mode HANDLER(blimp_spill64_handler) CHECK_ENTRY wr %g0, ASI_AS_IF_USER_PRIMARY, %asi stxa %l0, [%o6 + BLIMP_BIAS64 + (8*0)]%asi stxa %l1, [%o6 + BLIMP_BIAS64 + (8*1)]%asi stxa %l2, [%o6 + BLIMP_BIAS64 + (8*2)]%asi stxa %l3, [%o6 + BLIMP_BIAS64 + (8*3)]%asi stxa %l4, [%o6 + BLIMP_BIAS64 + (8*4)]%asi stxa %l5, [%o6 + BLIMP_BIAS64 + (8*5)]%asi stxa %l6, [%o6 + BLIMP_BIAS64 + (8*6)]%asi stxa %l7, [%o6 + BLIMP_BIAS64 + (8*7)]%asi stxa %i0, [%o6 + BLIMP_BIAS64 + (8*8)]%asi stxa %i1, [%o6 + BLIMP_BIAS64 + (8*9)]%asi stxa %i2, [%o6 + BLIMP_BIAS64 + (8*10)]%asi stxa %i3, [%o6 + BLIMP_BIAS64 + (8*11)]%asi stxa %i4, [%o6 + BLIMP_BIAS64 + (8*12)]%asi stxa %i5, [%o6 + BLIMP_BIAS64 + (8*13)]%asi stxa %i6, [%o6 + BLIMP_BIAS64 + (8*14)]%asi stxa %i7, [%o6 + BLIMP_BIAS64 + (8*15)]%asi saved BLIMP_RETRY ! SPILL handler 32-bit mode HANDLER(blimp_spill32_handler) CHECK_ENTRY srl %o6, 0, %o6 ! cuz helpers do it wr %g0, ASI_AS_IF_USER_PRIMARY, %asi stwa %l0, [%o6 + BLIMP_BIAS32 + (4*0)]%asi stwa %l1, [%o6 + BLIMP_BIAS32 + (4*1)]%asi stwa %l2, [%o6 + BLIMP_BIAS32 + (4*2)]%asi stwa %l3, [%o6 + BLIMP_BIAS32 + (4*3)]%asi stwa %l4, [%o6 + BLIMP_BIAS32 + (4*4)]%asi stwa %l5, [%o6 + BLIMP_BIAS32 + (4*5)]%asi stwa %l6, [%o6 + BLIMP_BIAS32 + (4*6)]%asi stwa %l7, [%o6 + BLIMP_BIAS32 + (4*7)]%asi stwa %i0, [%o6 + BLIMP_BIAS32 + (4*8)]%asi stwa %i1, [%o6 + BLIMP_BIAS32 + (4*9)]%asi stwa %i2, [%o6 + BLIMP_BIAS32 + (4*10)]%asi stwa %i3, [%o6 + BLIMP_BIAS32 + (4*11)]%asi stwa %i4, [%o6 + BLIMP_BIAS32 + (4*12)]%asi stwa %i5, [%o6 + BLIMP_BIAS32 + (4*13)]%asi stwa %i6, [%o6 + BLIMP_BIAS32 + (4*14)]%asi stwa %i7, [%o6 + BLIMP_BIAS32 + (4*15)]%asi saved BLIMP_RETRY ! FILL handler 64-bit mode HANDLER(blimp_fill64_handler) CHECK_ENTRY wr %g0, ASI_AS_IF_USER_PRIMARY, %asi ldxa [%o6 + BLIMP_BIAS64 + (8*0)]%asi, %l0 ldxa [%o6 + BLIMP_BIAS64 + (8*1)]%asi, %l1 ldxa [%o6 + BLIMP_BIAS64 + (8*2)]%asi, %l2 ldxa [%o6 + BLIMP_BIAS64 + (8*3)]%asi, %l3 ldxa [%o6 + BLIMP_BIAS64 + (8*4)]%asi, %l4 ldxa [%o6 + BLIMP_BIAS64 + (8*5)]%asi, %l5 ldxa [%o6 + BLIMP_BIAS64 + (8*6)]%asi, %l6 ldxa [%o6 + BLIMP_BIAS64 + (8*7)]%asi, %l7 ldxa [%o6 + BLIMP_BIAS64 + (8*8)]%asi, %i0 ldxa [%o6 + BLIMP_BIAS64 + (8*9)]%asi, %i1 ldxa [%o6 + BLIMP_BIAS64 + (8*10)]%asi, %i2 ldxa [%o6 + BLIMP_BIAS64 + (8*11)]%asi, %i3 ldxa [%o6 + BLIMP_BIAS64 + (8*12)]%asi, %i4 ldxa [%o6 + BLIMP_BIAS64 + (8*13)]%asi, %i5 ldxa [%o6 + BLIMP_BIAS64 + (8*14)]%asi, %i6 ldxa [%o6 + BLIMP_BIAS64 + (8*15)]%asi, %i7 restored BLIMP_RETRY ! FILL handler 32-bit mode HANDLER(blimp_fill32_handler) CHECK_ENTRY srl %o6, 0, %o6 ! cuz helpers do it wr %g0, ASI_AS_IF_USER_PRIMARY, %asi lduwa [%o6 + BLIMP_BIAS32 + (4*0)]%asi, %l0 lduwa [%o6 + BLIMP_BIAS32 + (4*1)]%asi, %l1 lduwa [%o6 + BLIMP_BIAS32 + (4*2)]%asi, %l2 lduwa [%o6 + BLIMP_BIAS32 + (4*3)]%asi, %l3 lduwa [%o6 + BLIMP_BIAS32 + (4*4)]%asi, %l4 lduwa [%o6 + BLIMP_BIAS32 + (4*5)]%asi, %l5 lduwa [%o6 + BLIMP_BIAS32 + (4*6)]%asi, %l6 lduwa [%o6 + BLIMP_BIAS32 + (4*7)]%asi, %l7 lduwa [%o6 + BLIMP_BIAS32 + (4*8)]%asi, %i0 lduwa [%o6 + BLIMP_BIAS32 + (4*9)]%asi, %i1 lduwa [%o6 + BLIMP_BIAS32 + (4*10)]%asi, %i2 lduwa [%o6 + BLIMP_BIAS32 + (4*11)]%asi, %i3 lduwa [%o6 + BLIMP_BIAS32 + (4*12)]%asi, %i4 lduwa [%o6 + BLIMP_BIAS32 + (4*13)]%asi, %i5 lduwa [%o6 + BLIMP_BIAS32 + (4*14)]%asi, %i6 lduwa [%o6 + BLIMP_BIAS32 + (4*15)]%asi, %i7 restored BLIMP_RETRY !======================================== ! CLEAN_WIN trap handler HANDLER(blimp_cleanwin) CHECK_ENTRY sethi %hi(0xC1EA1000), %g5 ! init regs to known values add %g5, 0x010, %l0 ! 0x00000000C1EAnnnn add %l0, 0x101, %l1 ! where nn=register# (10-1F) add %l1, 0x101, %l2 add %l2, 0x101, %l3 add %l3, 0x101, %l4 add %l4, 0x101, %l5 add %l5, 0x101, %l6 add %l6, 0x101, %l7 add %l7, 0x101, %o0 add %o0, 0x101, %o1 add %o1, 0x101, %o2 add %o2, 0x101, %o3 add %o3, 0x101, %o4 add %o4, 0x101, %o5 add %o5, 0x101, %o6 add %o6, 0x101, %o7 rdpr %cleanwin, %g4 ! increment cleanwin reg add %g4, 1, %g4 wrpr %g4, 0, %cleanwin BLIMP_RETRY #if 0 /*unused code*/ !======================================== ! Trap checksum: add trap-type (g6) to path checksum before doing DONE LOCL(blimp_done) mov %l0, %g3 ! save user L0 mov %l1, %g4 ! save user L1 #ifdef NEED_TREGS rdpr %tt, %l0 #else mov %g6, %l0 ! copy TT #endif rdpr %gl, %l1 ! wrpr %g0, 0, %gl ! select user globals add %g1, %l0, %g1 ! add TT to checksum wrpr %l1, 0, %gl ! back to alt globals mov %g3, %l0 ! restore user L0 mov %g4, %l1 ! restore user L1 done ! DONE ! Trap checksum: add trap-type (g6) to path checksum before doing RETRY LOCL(blimp_retry) mov %l0, %g3 ! save user L0 mov %l1, %g4 ! save user L1 #ifdef NEED_TREGS rdpr %tt, %l0 #else mov %g6, %l0 ! copy TT #endif rdpr %gl, %l1 ! wrpr %g0, 0, %gl ! select user globals add %g1, %l0, %g1 ! add TT to checksum wrpr %l1, 0, %gl ! back to alt globals mov %g3, %l0 ! restore user L0 mov %g4, %l1 ! restore user L1 retry ! RETRY #endif !======================================================================= ! Finish-up the test. The reason code can be found in %g7. ! Hey, the TT register and trap table entry point are inconsistent ! LOCL(blimp_bad_entry) mov BLIMP_ERR_BAD_ENTRY, %g7 ba blimp_end_bad nop ! Hey, this kind of trap is undefined/reserved in the MM architecture ! LOCL(blimp_invalid_trap) mov BLIMP_ERR_INV_TRAP, %g7 ba blimp_end_bad nop ! Hey, this kind of trap is valid, but BLIMP should never create one ! LOCL(blimp_unhandled_trap) mov BLIMP_ERR_UNEXP_TRAP, %g7 ba blimp_end_bad nop ! Hey, this trap can occur in BLIMP, but shouldn't have at this time ! LOCL(blimp_incorr_trap) mov BLIMP_ERR_INCOR_TRAP, %g7 ba blimp_end_bad nop ! HAPPY RETURN POINT (EXIT_GOOD) LOCL(blimp_end_good) #if defined(BLIMP_SYNC_FINISH) && (THREAD_COUNT > 1) ! For a multistrand test, wait for all strands to finish setx blimp_sync_count, %g2, %g1 lduw [%g1], %g2 ! load thread counter LOCL(blimp_cas_retry) sub %g2, 1, %g3 ! decrement it casa [%g1]0x04, %g2, %g3 ! atomic update cmp %g2, %g3 ! if it didn't work bne,a %icc, blimp_cas_retry ! then retry mov %g3, %g2 membar #Sync brnz %g3, . ! spin here until counter goes to 0 lduw [%g1], %g3 #endif ! ta T_HGOOD_TRAP setx TRAP_BASE_VA+((0x100+T_GOOD_TRAP)*32), %g2, %g1 jmpl %g1, %g0 nop ! ERROR RETURN POINT (EXIT_BAD) - terminate with %g7=error code LOCL(blimp_end_bad) ! ta T_HBAD_TRAP setx TRAP_BASE_VA+((0x100+T_BAD_TRAP)*32), %g2, %g1 jmpl %g1, %g0 nop /************************************************************************/ #if defined(BLIMP_SYNC_FINISH) && (THREAD_COUNT > 1) .align 64 LOCL(blimp_sync_count) .word THREAD_COUNT ! count of threads still running #endif /************************************************************************/ !======================================================================== SECTION .bcom000 DATA_VA=0xffffe0000 attr_data { Name = .bcom000, VA = 0xffffe0000, RA = 0xffffe0000, PA = ra2pa(0xffffe0000,0), part_0_ctx_zero_tsb_config_1, TTE_Context=0, TTE_Size=1, TTE_W=1, TTE_X=0, TTE_V=1, TTE_P=0, TTE_IE=0, TTE_NFO=0, TTE_E=0, TTE_CP=1, TTE_CV=0, TTE_Soft=0x0, TTE_SW0=0, TTE_SW1=0 } SECTION .bcom000 .data DATA001: .xword 0x0000000000000000 ! 0000000FFFFE0000 +0000 0 .xword 0xEF7308F7B575EF1B ! 0000000FFFFE0008 +0008 0 .align 8 GLOB(blimp_demap_list) ! demap page addresses .xword 0x0000000000000010 ! 8K bcom001 .xword 0x00000052CAC00010 ! 4M bkey013 .xword 0x0000032BBDF30000 ! 64K btext004 .xword 0x0000032BBDF40000 ! 64K btext004a .xword 0x0000074948B40000 ! 64K btext002 .xword 0x0000074948B50000 ! 64K btext002a .xword 0x00000C6CECCDC010 ! 8K bdata005 .xword 0x00000C9D7B710010 ! 64K bdata009 .xword 0x000011D6C0F30000 ! 64K btext001 .xword 0x000011D6C0F40000 ! 64K btext001a .xword 0x000012F950000010 ! 256M bdata006 .xword 0x00002108D0000010 ! 256M bstk012 .xword 0x00002EBD20000010 ! 256M bdata007 .xword 0x0000399B05400000 ! 4M btext006 .xword 0x0000399B05800000 ! 4M btext006a .xword 0x00003D1E10000010 ! 256M bdata008 .xword 0x00003D3680000000 ! 256M btext009 .xword 0x00003D3690000000 ! 256M btext009a .xword 0x000051E14D800010 ! 4M bdata010 .xword 0x00005C30F9850000 ! 8K btext005 .xword 0x00005C30F9852000 ! 8K btext005a .xword 0x00005C4284030010 ! 64K bdata004 .xword 0x00006B13D0000000 ! 256M btext008 .xword 0x00007AD1C0000010 ! 256M bdata002 .xword 0xFFFFD37EEC000010 ! 4M bdata011 .xword 0xFFFFEA1A6FBCA010 ! 8K bdata003 .xword 0xFFFFEAED00000000 ! 256M btext007 .xword 0xFFFFEAED10000000 ! 256M btext007a .xword 0xFFFFF65D4CC00000 ! 4M btext003 .xword 0xFFFFF65D4D000000 ! 4M btext003a DEMAP_PAGES=30 .global DEMAP_PAGES #undef BLIMP_PRI_CONTEXT #define BLIMP_PRI_CONTEXT 68 #undef BLIMP_SEC_CONTEXT #define BLIMP_SEC_CONTEXT 68 #undef BLIMP_USER_PC #define BLIMP_USER_PC 0x11D6C0F3FD00 #undef BLIMP_USER_ASI #define BLIMP_USER_ASI 0x81 #undef BLIMP_USER_PSTATE #define BLIMP_USER_PSTATE 0x16 #undef BLIMP_USER_TSTATE #define BLIMP_USER_TSTATE 0x81001600 #undef BLIMP_USER_WSTATE #define BLIMP_USER_WSTATE 0x0 #undef BLIMP_TTABLE_ADDR #define BLIMP_TTABLE_ADDR 0xE00000 #define BLIMP_START_VA 0x800000 #define BLIMP_UNIQUE_AREA #define BLIMP_THREADS 1 #ifndef BLIMP_SCRATCHPAD_VA #define BLIMP_SCRATCHPAD_VA ASI_SCRATCHPAD_7 #endif changequote([,]) #define BLIMP_START_RA 0x800000 SECTION .MAIN0 TEXT_VA=[0x]mpeval(BLIMP_START_VA+(0x2000*0),16) attr_text { Name = .MAIN0, VA=[0x]mpeval(BLIMP_START_VA+(0x2000*0),16), RA=[0x]mpeval(BLIMP_START_RA+(0x2000*0),16), PA=[0x]mpeval(BLIMP_START_RA+(0x2000*0)+PART_0_BASE,16), part_0_ctx_zero_tsb_config_0, TTE_Context=0, TTE_Size=0, TTE_X=1, TTE_V=1, TTE_NFO=0, TTE_IE=0, TTE_Soft2=0, TTE_Diag=0, TTE_Soft=0, TTE_L=0, TTE_CP=1, TTE_CV=1, TTE_E=0, TTE_P=0, TTE_W=1 } changequote(`,') .text main0: .global main0 #ifndef BLIMP_MAIN_LABEL #define BLIMP_MAIN_LABEL main: .global main #endif #if THREAD_COUNT > 1 ! Every thread is forced to start here, so we have to vector ourself rdth_id_p ! get thread# in o1 sllx %o1, 13, %o1 ! convert to 8K page index setx contin, %l2, %l1 jmpl %l1 + %o1, %g0 nop contin: ! arrive here in appropriate thread start page #endif wrpr %g0, 1, %tl ! switch to TL=1 #ifdef BLIMP_UNIQUE_AREA ! Keep address of a strand-unique area in a scratchpad reg setx unique_area, %g5, %g6 mov BLIMP_SCRATCHPAD_VA, %g3 stxa %g6, [%g3]ASI_SCRATCHPAD ! Init demap random number seed using uarea address mov %g6, %g4 srlx %g4, 32, %g4 xor %g4, %g6, %g4 stw %g4, [%g6+8] #endif ! Set the secondary context set BLIMP_SEC_CONTEXT, %g5 set ASI_SECONDARY_CONTEXT_0_REG_VAL, %g4 stxa %g5, [%g4]ASI_SECONDARY_CONTEXT_REG set BLIMP_PRI_CONTEXT, %g5 set ASI_PRIMARY_CONTEXT_0_REG_VAL, %g4 stxa %g5, [%g4]ASI_PRIMARY_CONTEXT_REG #ifdef BLIMP_TTABLE_ADDR ! Set up the TBA register to point to BLIMP's trap table setx BLIMP_TTABLE_ADDR, %l1, %l2 wrpr %l2, 0, %tba #endif ! Set initial pstate, asi, etc. wrpr %g0, BLIMP_USER_WSTATE, %wstate ! init WSTATE reg setx BLIMP_USER_TSTATE, %g5, %g6 wrpr %g6, %tstate ! Set starting PC and go there setx BLIMP_USER_PC, %g5, %g6 ! PC add %g6, 4, %g7 ! NPC = PC+4 wrpr %g6, 0, %tpc wrpr %g7, 0, %tnpc retry ! start running in test case context & code !----------------------------------------------------------- #ifdef BLIMP_UNIQUE_AREA ! This is a writeable area unique for each cpu/strand .align 0x800 .local unique_area unique_area: .skip 8 ! 0: place to save xfsr .skip 4 ! 8: random number for page demaps #endif