* ========== Copyright Header Begin ==========================================
* OpenSPARC T2 Processor File: tlu_rand5fc_8149597.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
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* ========== Copyright Header End ============================================
#define IMMU_SKIP_IF_NO_TTE
#define DMMU_SKIP_IF_NO_TTE
#define MAIN_PAGE_NUCLEUS_ALSO
#define MAIN_PAGE_HV_ALSO
#define MAIN_PAGE_VA_IS_RA_ALSO
#define DISABLE_PART_LIMIT_CHECK
#define MAIN_PAGE_USE_CONFIG 3
#define PART0_Z_TSB_SIZE_3 10
#define PART0_Z_PAGE_SIZE_3 1
#define PART0_NZ_TSB_SIZE_3 10
#define PART0_NZ_PAGE_SIZE_3 1
#define PART0_Z_TSB_SIZE_1 3
#define PART0_NZ_TSB_SIZE_1 3
#define USER_PAGE_CUSTOM_MAP
#define MAIN_BASE_TEXT_VA 0x333000000
#define MAIN_BASE_TEXT_RA 0x033000000
#define MAIN_BASE_DATA_VA 0x379400000
#define MAIN_BASE_DATA_RA 0x079400000
#define HIGHVA_HIGHNUM 0x3
#undef H_HT0_Instruction_Access_MMU_Error_0x71
#define H_HT0_Instruction_Access_MMU_Error_0x71 inst_access_mmu_error_handler
#undef H_HT0_Instruction_access_error_0x0a
#define H_HT0_Instruction_access_error_0x0a inst_access_error_handler
#undef H_HT0_Internal_Processor_Error_0x29
#define H_HT0_Internal_Processor_Error_0x29 int_proc_err_handler
#undef H_HT0_Data_Access_MMU_Error_0x72
#define H_HT0_Data_Access_MMU_Error_0x72 data_access_mmu_error_handler
#undef H_HT0_Data_access_error_0x32
#define H_HT0_Data_access_error_0x32 data_access_error_handler
#undef H_HT0_Hw_Corrected_Error_0x63
#define H_HT0_Hw_Corrected_Error_0x63 hw_corrected_error_handler
#undef H_HT0_Sw_Recoverable_Error_0x40
#define H_HT0_Sw_Recoverable_Error_0x40 sw_recoverable_error_handler
#undef H_HT0_Store_Error_0x07
#define H_HT0_Store_Error_0x07 store_error_handler
#define DAE_SKIP_IF_SOCU_ERROR
# 5 "/import/n2-aus-random/N2/sandbox-24x7/somePerson/SIMRUN/DIAG/include/tlu_custom_trap_handlers.s"
#ifndef T_HANDLER_RAND4_1
#define T_HANDLER_RAND4_1 b .+16;\
sdiv %r1, %r0, %l4;nop;nop
#ifndef T_HANDLER_RAND7_1
#define T_HANDLER_RAND7_1 b .+28;\
nop; nop ; nop; nop; illtrap
#ifndef T_HANDLER_RAND4_2
#define T_HANDLER_RAND4_2 save %i7, %g0, %i7; \
#ifndef T_HANDLER_RAND7_2
#define T_HANDLER_RAND7_2 b .+8 ;\
wrpr %l3, %r0, %tstate; nop
#ifndef T_HANDLER_RAND4_3
#define T_HANDLER_RAND4_3 save %i7, %g0, %i7;\
#ifndef T_HANDLER_RAND7_3
#define T_HANDLER_RAND7_3 b .+8 ;\
stda %f16,[%i7]ASI_BLOCK_AS_IF_USER_PRIMARY ;\
stda %f0,[%i7]ASI_BLOCK_AS_IF_USER_PRIMARY_LITTLE ;
#ifndef T_HANDLER_RAND4_4
#define T_HANDLER_RAND4_4 b .+4 ; b .+4; b .+4; b .+4
#ifndef T_HANDLER_RAND7_4
#define T_HANDLER_RAND7_4 b .+8;\
#ifndef T_HANDLER_RAND4_5
#define T_HANDLER_RAND4_5 ldda [%r31]ASI_NUCLEUS_QUAD_LDD, %l4;\
stda %l4, [%i7]ASI_BLOCK_PRIMARY_LITTLE;
#ifndef T_HANDLER_RAND7_5
#define T_HANDLER_RAND7_5 save %i7, %g0, %i7;\
#ifndef T_HANDLER_RAND4_6
#define T_HANDLER_RAND4_6 ldda [%r31]ASI_BLOCK_AS_IF_USER_PRIMARY, %l2;\
stda %f0,[%r31]ASI_BLOCK_AS_IF_USER_PRIMARY_LITTLE;
#ifndef T_HANDLER_RAND7_6
#define T_HANDLER_RAND7_6 umul %o4, 2, %o5;\
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#ifndef HT_HANDLER_RAND4_1
#define HT_HANDLER_RAND4_1 mov 0x80, %l3;\
#ifndef HT_HANDLER_RAND7_1
#define HT_HANDLER_RAND7_1 b .+28;\
nop; nop ; nop; nop; illtrap
#ifndef HT_HANDLER_RAND4_2
#define HT_HANDLER_RAND4_2 rdpr %tstate, %l2;\
wrpr %l2, 0x800, %tstate;\
#ifndef HT_HANDLER_RAND7_2
#define HT_HANDLER_RAND7_2 b .+8 ;\
wrhpr %l3, %r0, %htstate; nop
#ifndef HT_HANDLER_RAND4_3
#define HT_HANDLER_RAND4_3 stxa %l4, [%r31]ASI_AS_IF_USER_PRIMARY;\
ldxa [%r31]ASI_AS_IF_USER_PRIMARY, %l4;
#ifndef HT_HANDLER_RAND7_3
#define HT_HANDLER_RAND7_3 b .+8 ;\
stda %f16,[%i7]ASI_BLOCK_AS_IF_USER_PRIMARY ;\
stda %f0,[%i7]ASI_BLOCK_AS_IF_USER_PRIMARY_LITTLE ;
#ifndef HT_HANDLER_RAND4_4
#define HT_HANDLER_RAND4_4 ldda [%i7]ASI_BLOCK_AS_IF_USER_PRIMARY_LITTLE, %l3;\
stxa %l3, [%g0]ASI_LSU_CONTROL; nop
#ifndef HT_HANDLER_RAND7_4
#define HT_HANDLER_RAND7_4 rdpr %tnpc, %l3;\
#ifndef HT_HANDLER_RAND4_5
#define HT_HANDLER_RAND4_5 ldda [%r31]ASI_NUCLEUS_QUAD_LDD, %l4;\
stda %f32, [%r31]ASI_BLOCK_PRIMARY_LITTLE;
#ifndef HT_HANDLER_RAND7_5
#define HT_HANDLER_RAND7_5 save %i7, %g0, %i7;\
#ifndef HT_HANDLER_RAND4_6
#define HT_HANDLER_RAND4_6 ld [%r31], %l2;\
stda %f0,[%i7]ASI_BLOCK_AS_IF_USER_PRIMARY_LITTLE;
#ifndef HT_HANDLER_RAND7_6
#define HT_HANDLER_RAND7_6 rdhpr %htstate, %o4;\
wrhpr %o4, %r0, %htstate;\
!!!!!!!!!!!!!!!!!!!!!!!!!
#define ENABLE_T1_Privileged_Opcode_0x11
#define ENABLE_T1_Fp_Disabled_0x20
#define ENABLE_HT0_Watchdog_Reset_0x02
#define My_RED_Mode_Other_Reset
#define My_RED_Mode_Other_Reset \
nop;retry;nop;nop;nop;nop;nop
#define H_HT0_Software_Initiated_Reset_0x04
#define SUN_H_HT0_Software_Initiated_Reset_0x04 \
setx Software_Reset_Handler, %g1, %g2 ;\
# 198 "/import/n2-aus-random/N2/sandbox-24x7/somePerson/SIMRUN/DIAG/include/tlu_custom_trap_handlers.s"
#define H_T1_Clean_Window_0x24
#define SUN_H_T1_Clean_Window_0x24 \
wrpr %l1, %g0, %cleanwin;\
retry; nop; nop; nop; nop
#define H_T1_Clean_Window_0x25
#define SUN_H_T1_Clean_Window_0x25 \
wrpr %l1, %g0, %cleanwin;\
retry; nop; nop; nop; nop
#define H_T1_Clean_Window_0x26
#define SUN_H_T1_Clean_Window_0x26 \
wrpr %l1, %g0, %cleanwin;\
retry; nop; nop; nop; nop
#define H_T1_Clean_Window_0x27
#define SUN_H_T1_Clean_Window_0x27 \
wrpr %l1, %g0, %cleanwin;\
retry; nop; nop; nop; nop
# 227 "/import/n2-aus-random/N2/sandbox-24x7/somePerson/SIMRUN/DIAG/include/tlu_custom_trap_handlers.s"
#define H_HT0_Tag_Overflow
#define My_HT0_Tag_Overflow \
#define H_T0_Tag_Overflow
#define My_T0_Tag_Overflow \
#define H_T1_Tag_Overflow_0x23
#define SUN_H_T1_Tag_Overflow_0x23 \
#define H_T0_Window_Spill_0_Normal_Trap
#define SUN_H_T0_Window_Spill_0_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Window_Spill_1_Normal_Trap
#define SUN_H_T0_Window_Spill_1_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Window_Spill_2_Normal_Trap
#define SUN_H_T0_Window_Spill_2_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Window_Spill_3_Normal_Trap
#define SUN_H_T0_Window_Spill_3_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Window_Spill_4_Normal_Trap
#define SUN_H_T0_Window_Spill_4_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Window_Spill_5_Normal_Trap
#define SUN_H_T0_Window_Spill_5_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Window_Spill_6_Normal_Trap
#define SUN_H_T0_Window_Spill_6_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Window_Spill_7_Normal_Trap
#define SUN_H_T0_Window_Spill_7_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Window_Spill_0_Other_Trap
#define SUN_H_T0_Window_Spill_0_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Window_Spill_1_Other_Trap
#define SUN_H_T0_Window_Spill_1_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Window_Spill_2_Other_Trap
#define SUN_H_T0_Window_Spill_2_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Window_Spill_3_Other_Trap
#define SUN_H_T0_Window_Spill_3_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Window_Spill_4_Other_Trap
#define SUN_H_T0_Window_Spill_4_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Window_Spill_5_Other_Trap
#define SUN_H_T0_Window_Spill_5_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Window_Spill_6_Other_Trap
#define SUN_H_T0_Window_Spill_6_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Window_Spill_7_Other_Trap
#define SUN_H_T0_Window_Spill_7_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Window_Fill_0_Normal_Trap
#define SUN_H_T0_Window_Fill_0_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Window_Fill_1_Normal_Trap
#define SUN_H_T0_Window_Fill_1_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Window_Fill_2_Normal_Trap
#define SUN_H_T0_Window_Fill_2_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Window_Fill_3_Normal_Trap
#define SUN_H_T0_Window_Fill_3_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Window_Fill_4_Normal_Trap
#define SUN_H_T0_Window_Fill_4_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Window_Fill_5_Normal_Trap
#define SUN_H_T0_Window_Fill_5_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Window_Fill_6_Normal_Trap
#define SUN_H_T0_Window_Fill_6_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Window_Fill_7_Normal_Trap
#define SUN_H_T0_Window_Fill_7_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Window_Fill_0_Other_Trap
#define SUN_H_T0_Window_Fill_0_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Window_Fill_1_Other_Trap
#define SUN_H_T0_Window_Fill_1_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Window_Fill_2_Other_Trap
#define SUN_H_T0_Window_Fill_2_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Window_Fill_3_Other_Trap
#define SUN_H_T0_Window_Fill_3_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Window_Fill_4_Other_Trap
#define SUN_H_T0_Window_Fill_4_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Window_Fill_5_Other_Trap
#define SUN_H_T0_Window_Fill_5_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Window_Fill_6_Other_Trap
#define SUN_H_T0_Window_Fill_6_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Window_Fill_7_Other_Trap
#define SUN_H_T0_Window_Fill_7_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
# 339 "/import/n2-aus-random/N2/sandbox-24x7/somePerson/SIMRUN/DIAG/include/tlu_custom_trap_handlers.s"
#define H_T1_Window_Spill_0_Normal_Trap
#define SUN_H_T1_Window_Spill_0_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T1_Window_Spill_1_Normal_Trap
#define SUN_H_T1_Window_Spill_1_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T1_Window_Spill_2_Normal_Trap
#define SUN_H_T1_Window_Spill_2_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T1_Window_Spill_3_Normal_Trap
#define SUN_H_T1_Window_Spill_3_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T1_Window_Spill_4_Normal_Trap
#define SUN_H_T1_Window_Spill_4_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T1_Window_Spill_5_Normal_Trap
#define SUN_H_T1_Window_Spill_5_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T1_Window_Spill_6_Normal_Trap
#define SUN_H_T1_Window_Spill_6_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T1_Window_Spill_7_Normal_Trap
#define SUN_H_T1_Window_Spill_7_Normal_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T1_Window_Spill_0_Other_Trap
#define SUN_H_T1_Window_Spill_0_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T1_Window_Spill_1_Other_Trap
#define SUN_H_T1_Window_Spill_1_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T1_Window_Spill_2_Other_Trap
#define SUN_H_T1_Window_Spill_2_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T1_Window_Spill_3_Other_Trap
#define SUN_H_T1_Window_Spill_3_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T1_Window_Spill_4_Other_Trap
#define SUN_H_T1_Window_Spill_4_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T1_Window_Spill_5_Other_Trap
#define SUN_H_T1_Window_Spill_5_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T1_Window_Spill_6_Other_Trap
#define SUN_H_T1_Window_Spill_6_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T1_Window_Spill_7_Other_Trap
#define SUN_H_T1_Window_Spill_7_Other_Trap saved; retry; nop;nop;nop;nop;nop;nop;
#define H_T1_Window_Fill_0_Normal_Trap
#define SUN_H_T1_Window_Fill_0_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
#define H_T1_Window_Fill_1_Normal_Trap
#define SUN_H_T1_Window_Fill_1_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
#define H_T1_Window_Fill_2_Normal_Trap
#define SUN_H_T1_Window_Fill_2_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
#define H_T1_Window_Fill_3_Normal_Trap
#define SUN_H_T1_Window_Fill_3_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
#define H_T1_Window_Fill_4_Normal_Trap
#define SUN_H_T1_Window_Fill_4_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
#define H_T1_Window_Fill_5_Normal_Trap
#define SUN_H_T1_Window_Fill_5_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
#define H_T1_Window_Fill_6_Normal_Trap
#define SUN_H_T1_Window_Fill_6_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
#define H_T1_Window_Fill_7_Normal_Trap
#define SUN_H_T1_Window_Fill_7_Normal_Trap restored; retry; nop;nop;nop;nop;nop;nop;
#define H_T1_Window_Fill_0_Other_Trap
#define SUN_H_T1_Window_Fill_0_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
#define H_T1_Window_Fill_1_Other_Trap
#define SUN_H_T1_Window_Fill_1_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
#define H_T1_Window_Fill_2_Other_Trap
#define SUN_H_T1_Window_Fill_2_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
#define H_T1_Window_Fill_3_Other_Trap
#define SUN_H_T1_Window_Fill_3_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
#define H_T1_Window_Fill_4_Other_Trap
#define SUN_H_T1_Window_Fill_4_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
#define H_T1_Window_Fill_5_Other_Trap
#define SUN_H_T1_Window_Fill_5_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
#define H_T1_Window_Fill_6_Other_Trap
#define SUN_H_T1_Window_Fill_6_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
#define H_T1_Window_Fill_7_Other_Trap
#define SUN_H_T1_Window_Fill_7_Other_Trap restored; retry; nop;nop;nop;nop;nop;nop;
#define H_T0_Trap_Instruction_0
#define My_T0_Trap_Instruction_0 \
#define H_T0_Trap_Instruction_1
#define My_T0_Trap_Instruction_1 \
#define H_T0_Trap_Instruction_2
#define My_T0_Trap_Instruction_2 \
#define H_T0_Trap_Instruction_3
#define My_T0_Trap_Instruction_3 \
#define H_T0_Trap_Instruction_4
#define My_T0_Trap_Instruction_4 \
#define H_T0_Trap_Instruction_5
#define My_T0_Trap_Instruction_5 \
#define H_T1_Trap_Instruction_0
#define My_T1_Trap_Instruction_0 \
#define H_T1_Trap_Instruction_1
#define My_T1_Trap_Instruction_1 \
#define H_T1_Trap_Instruction_2
#define My_T1_Trap_Instruction_2 \
#define H_T1_Trap_Instruction_3
#define My_T1_Trap_Instruction_3 \
#define H_T1_Trap_Instruction_4
#define My_T1_Trap_Instruction_4 \
#define H_T1_Trap_Instruction_5
#define My_T1_Trap_Instruction_5 \
#define H_HT0_Trap_Instruction_0
#define My_HT0_Trap_Instruction_0 \
#define H_HT0_Trap_Instruction_1
#define My_HT0_Trap_Instruction_1 \
#define H_HT0_Trap_Instruction_2
#define My_HT0_Trap_Instruction_2 \
#define H_HT0_Trap_Instruction_3
#define My_HT0_Trap_Instruction_3 \
#define H_HT0_Trap_Instruction_4
#define My_HT0_Trap_Instruction_4 \
#define H_HT0_Trap_Instruction_5
#define My_HT0_Trap_Instruction_5 \
#define H_HT0_Mem_Address_Not_Aligned_0x34
#define My_HT0_Mem_Address_Not_Aligned_0x34 \
#define H_HT0_Illegal_instruction_0x10
#define My_HT0_Illegal_instruction_0x10 \
#define H_HT0_DAE_so_page_0x30
#define My_HT0_DAE_so_page_0x30 \
#define H_HT0_DAE_invalid_asi_0x14
#define SUN_H_HT0_DAE_invalid_asi_0x14 \
#define H_HT0_DAE_privilege_violation_0x15
#define SUN_H_HT0_DAE_privilege_violation_0x15 \
#define H_HT0_Privileged_Action_0x37
#define My_HT0_Privileged_Action_0x37 \
#define H_HT0_Lddf_Mem_Address_Not_Aligned_0x35
#define My_HT0_Lddf_Mem_Address_Not_Aligned_0x35 \
#define H_HT0_Stdf_Mem_Address_Not_Aligned_0x36
#define My_HT0_Stdf_Mem_Address_Not_Aligned_0x36 \
#define H_HT0_Fp_exception_ieee_754_0x21
#define My_HT0_Fp_exception_ieee_754_0x21 \
#define H_HT0_Fp_exception_other_0x22
#define My_HT0_Fp_exception_other_0x22 \
#define H_HT0_Division_By_Zero
#define My_HT0_Division_By_Zero \
#define H_T0_Division_By_Zero
#define My_T0_Division_By_Zero \
#define H_T1_Division_By_Zero_0x28
#define My_H_T1_Division_By_Zero_0x28 \
#define H_T0_Division_By_Zero
#define My_T0_Division_By_Zero\
#define H_T0_Fp_exception_ieee_754_0x21
#define My_T0_Fp_exception_ieee_754_0x21 \
#define H_T1_Fp_Exception_Ieee_754_0x21
#define My_H_T1_Fp_Exception_Ieee_754_0x21 \
#define H_T1_Fp_Exception_Other_0x22
#define My_H_T1_Fp_Exception_Other_0x22 \
#define H_T1_Privileged_Opcode_0x11
#define SUN_H_T1_Privileged_Opcode_0x11 \
#define H_HT0_Privileged_opcode_0x11
#define My_HT0_Privileged_opcode_0x11 \
#define H_HT0_Fp_disabled_0x20
#define My_HT0_Fp_disabled_0x20 \
#define H_T0_Fp_disabled_0x20
#define My_T0_Fp_disabled_0x20 \
#define H_T1_Fp_Disabled_0x20
#define My_H_T1_Fp_Disabled_0x20 \
#define H_HT0_Watchdog_Reset_0x02
#define My_HT0_Watchdog_Reset_0x02 \
nop;retry;nop;nop;nop;nop;nop
#define H_T0_Privileged_opcode_0x11
#define My_T0_Privileged_opcode_0x11 \
#define H_T1_Fp_exception_other_0x22
#define My_T1_Fp_exception_other_0x22 \
#define H_T0_Fp_exception_other_0x22
#define My_T0_Fp_exception_other_0x22 \
#define H_HT0_Trap_Level_Zero_0x5f
#define My_HT0_Trap_Level_Zero_0x5f \
#define My_Watchdog_Reset
#define My_Watchdog_Reset \
nop;retry;nop;nop;nop;nop;nop
#define H_HT0_Control_Transfer_Instr_0x74
#define My_H_HT0_Control_Transfer_Instr_0x74 \
wrpr %l3, %l4, %tstate ;\
#define H_T0_Control_Transfer_Instr_0x74
#define My_H_T0_Control_Transfer_Instr_0x74 \
wrpr %l3, %l4, %tstate ;\
#define H_T1_Control_Transfer_Instr_0x74
#define My_H_T1_Control_Transfer_Instr_0x74 \
wrpr %l3, %l4, %tstate ;\
# 707 "/import/n2-aus-random/N2/sandbox-24x7/somePerson/SIMRUN/DIAG/include/tlu_custom_trap_handlers.s"
#define H_HT0_data_access_protection_0x6c
#define SUN_H_HT0_data_access_protection_0x6c ba daccess_prot_handler; nop
#define H_HT0_PA_Watchpoint_0x61
#define My_H_HT0_PA_Watchpoint_0x61 \
#ifndef H_HT0_Data_access_error_0x32
#define H_HT0_Data_access_error_0x32
#define SUN_H_HT0_Data_access_error_0x32 \
# 722 "/import/n2-aus-random/N2/sandbox-24x7/somePerson/SIMRUN/DIAG/include/tlu_custom_trap_handlers.s"
#define H_T0_VA_Watchpoint_0x62
#define My_T0_VA_Watchpoint_0x62 \
#define H_T1_VA_Watchpoint_0x62
#define SUN_H_T1_VA_Watchpoint_0x62 \
#define H_HT0_VA_Watchpoint_0x62
#define My_H_HT0_VA_Watchpoint_0x62 \
#define H_HT0_Instruction_VA_Watchpoint_0x75
#define SUN_H_HT0_Instruction_VA_Watchpoint_0x75 \
#define H_HT0_Instruction_Breakpoint_0x76
#define SUN_H_HT0_Instruction_Breakpoint_0x76 \
wrhpr %g1, 0x400, %htstate;\
# 748 "/import/n2-aus-random/N2/sandbox-24x7/somePerson/SIMRUN/DIAG/include/tlu_custom_trap_handlers.s"
#define H_HT0_Instruction_address_range_0x0d
#define SUN_H_HT0_Instruction_address_range_0x0d \
#define H_HT0_Instruction_real_range_0x0e
#define SUN_H_HT0_Instruction_real_range_0x0e \
#define H_HT0_mem_real_range_0x2d
#define SUN_H_HT0_mem_real_range_0x2d \
# 764 "/import/n2-aus-random/N2/sandbox-24x7/somePerson/SIMRUN/DIAG/include/tlu_custom_trap_handlers.s"
#define H_HT0_mem_address_range_0x2e
#define SUN_H_HT0_mem_address_range_0x2e \
#define H_HT0_DAE_nc_page_0x16
#define SUN_H_HT0_DAE_nc_page_0x16 \
#define H_HT0_DAE_nfo_page_0x17
#define SUN_H_HT0_DAE_nfo_page_0x17 \
# 780 "/import/n2-aus-random/N2/sandbox-24x7/somePerson/SIMRUN/DIAG/include/tlu_custom_trap_handlers.s"
#define H_HT0_IAE_unauth_access_0x0b
#define SUN_H_HT0_IAE_unauth_access_0x0b \
# 786 "/import/n2-aus-random/N2/sandbox-24x7/somePerson/SIMRUN/DIAG/include/tlu_custom_trap_handlers.s"
#define H_HT0_IAE_nfo_page_0x0c
#define SUN_H_HT0_IAE_nfo_page_0x0c \
# 792 "/import/n2-aus-random/N2/sandbox-24x7/somePerson/SIMRUN/DIAG/include/tlu_custom_trap_handlers.s"
#define H_HT0_Reserved_0x3b
#define SUN_H_HT0_Reserved_0x3b \
# 802 "/import/n2-aus-random/N2/sandbox-24x7/somePerson/SIMRUN/DIAG/include/tlu_custom_trap_handlers.s"
#define H_HT0_IAE_privilege_violation_0x08
#define My_HT0_IAE_privilege_violation_0x08 \
#ifndef H_HT0_Instruction_Access_MMU_Error_0x71
#define H_HT0_Instruction_Access_MMU_Error_0x71
#define SUN_H_HT0_Instruction_Access_MMU_Error_0x71 \
#ifndef H_HT0_Data_Access_MMU_Error_0x72
#define H_HT0_Data_Access_MMU_Error_0x72
#define SUN_H_HT0_Data_Access_MMU_Error_0x72 \
!!!!!!!!!!!!!!!!!!!!!! END of all handlers !!!!!!!!!!!!!!!!!!!
# 12 "/import/n2-aus-random/N2/sandbox-24x7/somePerson/SIMRUN/DIAG/include/tlu_custom_intr_handlers.s"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!! START of Interrupt Handlers !!!!!!!!!!!!!!!!!
#ifndef INT_HANDLER_RAND4_1
#define INT_HANDLER_RAND4_1 retry; nop; nop; nop
#ifndef INT_HANDLER_RAND7_1
#define INT_HANDLER_RAND7_1 mov 0x20,%g1; mov 1, %g2;stxa %g2,[%g1]0x40
#ifndef INT_HANDLER_RAND4_2
#define INT_HANDLER_RAND4_2 retry; nop; nop; nop
#ifndef INT_HANDLER_RAND7_2
#define INT_HANDLER_RAND7_2 mov 0x80,%g1;stxa %g0,[%g1]0x40
#ifndef INT_HANDLER_RAND4_3
#define INT_HANDLER_RAND4_3 retry; nop; nop; nop
#ifndef INT_HANDLER_RAND7_3
#define INT_HANDLER_RAND7_3 retry; nop; nop; nop ; nop; nop; nop
#define H_HT0_Externally_Initiated_Reset_0x03
#define SUN_H_HT0_Externally_Initiated_Reset_0x03 \
ldxa [%g0] ASI_LSU_CTL_REG, %g1; \
set cregs_lsu_ctl_reg_r64, %g1; \
stxa %g1, [%g0] ASI_LSU_CTL_REG; \
#define My_External_Reset \
ldxa [%g0] ASI_LSU_CTL_REG, %l5; \
set cregs_lsu_ctl_reg_r64, %l5; \
stxa %l5, [%g0] ASI_LSU_CTL_REG; \
!!!!! SPU Interrupt Handlers
#define H_HT0_Control_Word_Queue_Interrupt_0x3c
#define My_HT0_Control_Word_Queue_Interrupt_0x3c \
#define H_HT0_Modular_Arithmetic_Interrupt_0x3d
#define My_H_HT0_Modular_Arithmetic_Interrupt_0x3d \
# 59 "/import/n2-aus-random/N2/sandbox-24x7/somePerson/SIMRUN/DIAG/include/tlu_custom_intr_handlers.s"
!!!!! HW interrupt handlers
#define H_HT0_Interrupt_0x60
#define My_HT0_Interrupt_0x60 \
ldxa [%g0] ASI_SWVR_INTR_RECEIVE, %g5 ;\
ldxa [%g0] ASI_SWVR_INTR_R, %g4 ;\
ldxa [%g0] ASI_SWVR_INTR_RECEIVE, %g3 ;\
!!!!! Queue interrupt handler
# 72 "/import/n2-aus-random/N2/sandbox-24x7/somePerson/SIMRUN/DIAG/include/tlu_custom_intr_handlers.s"
#define H_T0_Cpu_Mondo_Trap_0x7c
#define My_T0_Cpu_Mondo_Trap_0x7c \
#define H_T0_Dev_Mondo_Trap_0x7d
#define My_T0_Dev_Mondo_Trap_0x7d \
#define H_T0_Resumable_Error_0x7e
#define My_T0_Resumable_Error_0x7e \
#define H_T1_Cpu_Mondo_Trap_0x7c
#define My_T1_Cpu_Mondo_Trap_0x7c \
#define H_T1_Dev_Mondo_Trap_0x7d
#define My_T1_Dev_Mondo_Trap_0x7d \
#define H_T1_Resumable_Error_0x7e
#define My_T1_Resumable_Error_0x7e \
#define H_HT0_Reserved_0x7c
#define SUN_H_HT0_Reserved_0x7c \
#define H_HT0_Reserved_0x7d
#define SUN_H_HT0_Reserved_0x7d \
#define H_HT0_Reserved_0x7e
#define SUN_H_HT0_Reserved_0x7e \
# 172 "/import/n2-aus-random/N2/sandbox-24x7/somePerson/SIMRUN/DIAG/include/tlu_custom_intr_handlers.s"
!!!!! Hstick-match trap handler
# 175 "/import/n2-aus-random/N2/sandbox-24x7/somePerson/SIMRUN/DIAG/include/tlu_custom_intr_handlers.s"
#define H_T0_Reserved_0x5e
#define My_T0_Reserved_0x5e \
wrhpr %g3, %g3, %hintp; \
#define H_HT0_Hstick_Match_0x5e
#define My_HT0_Hstick_Match_0x5e \
wrhpr %g3, %g3, %hintp; \
#define H_T0_Reserved_0x5e
#define My_T0_Reserved_0x5e \
wrhpr %g3, %g3, %hintp; \
#define H_T1_Reserved_0x5e
#define My_T1_Reserved_0x5e \
wrhpr %g3, %g3, %hintp; \
# 220 "/import/n2-aus-random/N2/sandbox-24x7/somePerson/SIMRUN/DIAG/include/tlu_custom_intr_handlers.s"
!!!!! SW interuupt handlers
# 223 "/import/n2-aus-random/N2/sandbox-24x7/somePerson/SIMRUN/DIAG/include/tlu_custom_intr_handlers.s"
#define H_T0_Interrupt_Level_14_0x4e
#define My_T0_Interrupt_Level_14_0x4e \
sethi %hi(0x14000), %g3; \
wr %g3, %g0, %clear_softint; \
#define H_T0_Interrupt_Level_1_0x41
#define My_T0_Interrupt_Level_1_0x41 \
wr %g3, %g0, %clear_softint; \
#define H_T0_Interrupt_Level_2_0x42
#define My_T0_Interrupt_Level_2_0x42 \
wr %g3, %g0, %clear_softint; \
#define H_T0_Interrupt_Level_3_0x43
#define My_T0_Interrupt_Level_3_0x43 \
wr %g3, %g0, %clear_softint; \
#define H_T0_Interrupt_Level_4_0x44
#define My_T0_Interrupt_Level_4_0x44 \
wr %g3, %g0, %clear_softint; \
#define H_T0_Interrupt_Level_5_0x45
#define My_T0_Interrupt_Level_5_0x45 \
wr %g3, %g0, %clear_softint; \
#define H_T0_Interrupt_Level_6_0x46
#define My_T0_Interrupt_Level_6_0x46 \
wr %g3, %g0, %clear_softint; \
#define H_T0_Interrupt_Level_7_0x47
#define My_T0_Interrupt_Level_7_0x47 \
wr %g3, %g0, %clear_softint; \
#define H_T0_Interrupt_Level_8_0x48
#define My_T0_Interrupt_Level_8_0x48 \
wr %g3, %g0, %clear_softint; \
#define H_T0_Interrupt_Level_9_0x49
#define My_T0_Interrupt_Level_9_0x49 \
wr %g3, %g0, %clear_softint; \
#define H_T0_Interrupt_Level_10_0x4a
#define My_T0_Interrupt_Level_10_0x4a \
wr %g3, %g0, %clear_softint; \
#define H_T0_Interrupt_Level_11_0x4b
#define My_T0_Interrupt_Level_11_0x4b \
wr %g3, %g0, %clear_softint; \
#define H_T0_Interrupt_Level_12_0x4c
#define My_T0_Interrupt_Level_12_0x4c \
sethi %hi(0x1000), %g3; \
wr %g3, %g0, %clear_softint; \
#define H_T0_Interrupt_Level_13_0x4d
#define My_T0_Interrupt_Level_13_0x4d \
sethi %hi(0x2000), %g3; \
wr %g3, %g0, %clear_softint; \
#define H_T0_Interrupt_Level_15_0x4f
#define My_T0_Interrupt_Level_15_0x4f \
sethi %hi(0x8000), %g3; \
wr %g3, %g0, %clear_softint; \
sethi %hi(0x80040000), %g2;\
#define H_T1_Interrupt_Level_14_0x4e
#define My_T1_Interrupt_Level_14_0x4e \
sethi %hi(0x14000), %g3; \
wr %g3, %g0, %clear_softint; \
#define H_T1_Interrupt_Level_1_0x41
#define My_T1_Interrupt_Level_1_0x41 \
wr %g3, %g0, %clear_softint; \
#define H_T1_Interrupt_Level_2_0x42
#define My_T1_Interrupt_Level_2_0x42 \
wr %g3, %g0, %clear_softint; \
#define H_T1_Interrupt_Level_3_0x43
#define My_T1_Interrupt_Level_3_0x43 \
wr %g3, %g0, %clear_softint; \
#define H_T1_Interrupt_Level_4_0x44
#define My_T1_Interrupt_Level_4_0x44 \
wr %g3, %g0, %clear_softint; \
#define H_T1_Interrupt_Level_5_0x45
#define My_T1_Interrupt_Level_5_0x45 \
wr %g3, %g0, %clear_softint; \
#define H_T1_Interrupt_Level_6_0x46
#define My_T1_Interrupt_Level_6_0x46 \
wr %g3, %g0, %clear_softint; \
#define H_T1_Interrupt_Level_7_0x47
#define My_T1_Interrupt_Level_7_0x47 \
wr %g3, %g0, %clear_softint; \
#define H_T1_Interrupt_Level_8_0x48
#define My_T1_Interrupt_Level_8_0x48 \
wr %g3, %g0, %clear_softint; \
#define H_T1_Interrupt_Level_9_0x49
#define My_T1_Interrupt_Level_9_0x49 \
wr %g3, %g0, %clear_softint; \
#define H_T1_Interrupt_Level_10_0x4a
#define My_T1_Interrupt_Level_10_0x4a \
wr %g3, %g0, %clear_softint; \
#define H_T1_Interrupt_Level_11_0x4b
#define My_T1_Interrupt_Level_11_0x4b \
wr %g3, %g0, %clear_softint; \
#define H_T1_Interrupt_Level_12_0x4c
#define My_T1_Interrupt_Level_12_0x4c \
sethi %hi(0x1000), %g3; \
wr %g3, %g0, %clear_softint; \
#define H_T1_Interrupt_Level_13_0x4d
#define My_T1_Interrupt_Level_13_0x4d \
sethi %hi(0x2000), %g3; \
wr %g3, %g0, %clear_softint; \
#define H_T1_Interrupt_Level_15_0x4f
#define My_T1_Interrupt_Level_15_0x4f \
sethi %hi(0x8000), %g3; \
wr %g3, %g0, %clear_softint; \
sethi %hi(0x80040000), %g2;\
#define H_HT0_Interrupt_Level_14_0x4e
#define My_HT0_Interrupt_Level_14_0x4e \
sethi %hi(0x14000), %g3; \
wr %g3, %g0, %clear_softint; \
#define H_HT0_Interrupt_Level_1_0x41
#define My_HT0_Interrupt_Level_1_0x41 \
wr %g3, %g0, %clear_softint; \
#define H_HT0_Interrupt_Level_2_0x42
#define My_HT0_Interrupt_Level_2_0x42 \
wr %g3, %g0, %clear_softint; \
#define H_HT0_Interrupt_Level_3_0x43
#define My_HT0_Interrupt_Level_3_0x43 \
wr %g3, %g0, %clear_softint; \
#define H_HT0_Interrupt_Level_4_0x44
#define My_HT0_Interrupt_Level_4_0x44 \
wr %g3, %g0, %clear_softint; \
#define H_HT0_Interrupt_Level_5_0x45
#define My_HT0_Interrupt_Level_5_0x45 \
wr %g3, %g0, %clear_softint; \
#define H_HT0_Interrupt_Level_6_0x46
#define My_HT0_Interrupt_Level_6_0x46 \
wr %g3, %g0, %clear_softint; \
#define H_HT0_Interrupt_Level_7_0x47
#define My_HT0_Interrupt_Level_7_0x47 \
wr %g3, %g0, %clear_softint; \
#define H_HT0_Interrupt_Level_8_0x48
#define My_HT0_Interrupt_Level_8_0x48 \
wr %g3, %g0, %clear_softint; \
#define H_HT0_Interrupt_Level_9_0x49
#define My_HT0_Interrupt_Level_9_0x49 \
wr %g3, %g0, %clear_softint; \
#define H_HT0_Interrupt_Level_10_0x4a
#define My_HT0_Interrupt_Level_10_0x4a \
wr %g3, %g0, %clear_softint; \
#define H_HT0_Interrupt_Level_11_0x4b
#define My_HT0_Interrupt_Level_11_0x4b \
wr %g3, %g0, %clear_softint; \
#define H_HT0_Interrupt_Level_12_0x4c
#define My_HT0_Interrupt_Level_12_0x4c \
sethi %hi(0x1000), %g3; \
wr %g3, %g0, %clear_softint; \
#define H_HT0_Interrupt_Level_13_0x4d
#define My_HT0_Interrupt_Level_13_0x4d \
sethi %hi(0x2000), %g3; \
wr %g3, %g0, %clear_softint; \
#define H_HT0_Interrupt_Level_15_0x4f
#define My_HT0_Interrupt_Level_15_0x4f \
sethi %hi(0x8000), %g3; \
wr %g3, %g0, %clear_softint; \
sethi %hi(0x80040000), %g2;\
# 710 "/import/n2-aus-random/N2/sandbox-24x7/somePerson/SIMRUN/DIAG/include/tlu_custom_intr_handlers.s"
!!!!!!!!!!!!!!!!!!!!!! END of all handlers !!!!!!!!!!!!!!!!!!!
!# Steer towards main TBA on these errors ..
!# These are redefines ...
#undef SUN_H_HT0_DAE_nc_page_0x16
#define SUN_H_HT0_DAE_nc_page_0x16 \
best_set_reg(0x120000, %r1, %r2);\
#undef SUN_H_HT0_DAE_nfo_page_0x17
#define SUN_H_HT0_DAE_nfo_page_0x17 \
best_set_reg(0x120000, %r1, %r2);\
#undef SUN_H_HT0_IAE_unauth_access_0x0b
#define SUN_H_HT0_IAE_unauth_access_0x0b \
set resolve_bad_tte, %g3;\
#undef My_HT0_IAE_privilege_violation_0x08
#define My_HT0_IAE_privilege_violation_0x08 \
set resolve_bad_tte, %g3;\
#define H_HT0_Instruction_address_range_0x0d
#define SUN_H_HT0_Instruction_address_range_0x0d \
#define H_HT0_Instruction_real_range_0x0e
#define SUN_H_HT0_Instruction_real_range_0x0e \
#undef SUN_H_HT0_IAE_nfo_page_0x0c
#define SUN_H_HT0_IAE_nfo_page_0x0c \
set resolve_bad_tte, %g3;\
#define H_HT0_Instruction_Invalid_TSB_Entry_0x2a
#define SUN_H_HT0_Instruction_Invalid_TSB_Entry_0x2a \
set restore_range_regs, %g3;\
#define H_HT0_Data_Invalid_TSB_Entry_0x2b
#define SUN_H_HT0_Data_Invalid_TSB_Entry_0x2b \
set restore_range_regs, %g3;\
#define LOMEIN_TEXT_VA [0x]mpeval(MAIN_BASE_TEXT_VA&0xffffffff,16)
#define LOMEIN_DATA_VA [0x]mpeval(MAIN_BASE_DATA_VA&0xffffffff,16)
SECTION .LOMEIN TEXT_VA=LOMEIN_TEXT_VA, DATA_VA=LOMEIN_DATA_VA
PA= ra2pa2(MAIN_BASE_TEXT_RA, 0),
part_0_ctx_nonzero_tsb_config_1,
part_0_ctx_zero_tsb_config_1,
TTE_G=1, TTE_Context=0x44, TTE_V=1,
TTE_Size=0, TTE_NFO=0, TTE_IE=0, TTE_Soft2=0, TTE_Diag=0, TTE_Soft=0,
TTE_L=0, TTE_CP=1, TTE_CV=0, TTE_E=0, TTE_P=0, TTE_W=1, TTE_X=1,
PA= ra2pa2(MAIN_BASE_DATA_RA, 0),
part_0_ctx_nonzero_tsb_config_2,
part_0_ctx_zero_tsb_config_2
TTE_G=1, TTE_Context=0x44, TTE_V=1, TTE_Size=0, TTE_NFO=0,
TTE_IE=0, TTE_Soft2=0, TTE_Diag=0, TTE_Soft=0,
TTE_L=0, TTE_CP=1, TTE_CV=0, TTE_E=0, TTE_P=0, TTE_W=1, TTE_X=0,
PA= ra2pa2(MAIN_BASE_DATA_RA, 0),
part_0_ctx_nonzero_tsb_config_3,
part_0_ctx_zero_tsb_config_3
TTE_G=1, TTE_Context=0x55, TTE_V=1, TTE_Size=0, TTE_NFO=0,
TTE_IE=0, TTE_Soft2=0, TTE_Diag=0, TTE_Soft=0,
TTE_L=0, TTE_CP=1, TTE_CV=0, TTE_E=0, TTE_P=0, TTE_W=1, TTE_X=0,
SECTION .MAIN TEXT_VA=MAIN_BASE_TEXT_VA, DATA_VA=MAIN_BASE_DATA_VA
part_0_ctx_nonzero_tsb_config_2,
part_0_ctx_zero_tsb_config_2,
TTE_G=1, TTE_Context=0x44, TTE_V=1,
TTE_Size=0, TTE_NFO=0, TTE_IE=0, TTE_Soft2=0, TTE_Diag=0, TTE_Soft=0,
TTE_L=0, TTE_CP=1, TTE_CV=0, TTE_E=0, TTE_P=0, TTE_W=1, TTE_X=1,
part_0_ctx_nonzero_tsb_config_1,
part_0_ctx_zero_tsb_config_1
TTE_G=1, TTE_Context=0x44, TTE_V=1, TTE_Size=0, TTE_NFO=0,
TTE_IE=0, TTE_Soft2=0, TTE_Diag=0, TTE_Soft=0,
TTE_L=0, TTE_CP=1, TTE_CV=0, TTE_E=0, TTE_P=0, TTE_W=1, TTE_X=0,
part_0_ctx_nonzero_tsb_config_3,
part_0_ctx_zero_tsb_config_3
TTE_G=1, TTE_Context=0x55, TTE_V=1, TTE_Size=0, TTE_NFO=0,
TTE_IE=0, TTE_Soft2=0, TTE_Diag=0, TTE_Soft=0,
TTE_L=0, TTE_CP=1, TTE_CV=0, TTE_E=0, TTE_P=0, TTE_W=1, TTE_X=0,
! Set up ld/st area per thread
set sync_thr_counter4, %r23
add %o2,%r23,%r23 !Core's sync counter
st %r10, [%r23] !lock sync_thr_counter4
st %r10, [%r23] !lock sync_thr_counter5
st %r10, [%r23] !lock sync_thr_counter6
setx user_data_start, %r1, %r3
!Initializing integer registers
!Initializing float registers
!! Set TPC/TNPC to diag-finish in case we get to a strange TL ..
setx diag_finish, %r29, %r28
wrhpr %g1, %g0, %hsys_tick_cmpr
wr %g1, %g0, %sys_tick_cmpr
stxa %r0, [%g1]ASI_SCRATCHPAD
lduw [%r27], %r12 ! load jmp dest into dcache - xinval
.word 0x87a94a46 ! 1: FCMPd fcmpd %fcc<n>, %f36, %f6
! fork: source strm = 0xffffffffffffffff; target strm = 0x1
setx fork_lbl_0_1, %g2, %g3
! fork: source strm = 0xffffffffffffffff; target strm = 0x2
setx fork_lbl_0_2, %g2, %g3
! fork: source strm = 0xffffffffffffffff; target strm = 0x4
setx fork_lbl_0_3, %g2, %g3
! fork: source strm = 0xffffffffffffffff; target strm = 0x8
setx fork_lbl_0_4, %g2, %g3
! fork: source strm = 0xffffffffffffffff; target strm = 0x10
setx fork_lbl_0_5, %g2, %g3
! fork: source strm = 0xffffffffffffffff; target strm = 0x20
setx fork_lbl_0_6, %g2, %g3
! fork: source strm = 0xffffffffffffffff; target strm = 0x40
setx fork_lbl_0_7, %g2, %g3
! fork: source strm = 0xffffffffffffffff; target strm = 0x80
setx fork_lbl_0_8, %g2, %g3
setx join_lbl_0_0, %g1, %g2
setx join_lbl_0_0, %g1, %g2
setx 0x35fa54dc6e413323, %r1, %r17
setx 0xcbd887619c93dcb4, %r1, %r28
!# allocate control word queue (e.g., setup head/tail/first/last registers)
sllx %o2, 5, %o2 !(CID*256)
!# write base addr to first, head, and tail ptr
stxa %l6, [%g0 + ASI_SPU_CWQ_FIRST] %asi !# first store to first
stxa %l6, [%g0 + ASI_SPU_CWQ_HEAD] %asi !# then to head
stxa %l6, [%g0 + ASI_SPU_CWQ_TAIL] %asi !# then to tail
setx CWQ_LAST, %g1, %l5 !# then end of CWQ region to LAST
stxa %l5, [%g0 + ASI_SPU_CWQ_LAST] %asi
!# set CWQ control word ([39:37] is strand ID ..)
best_set_reg(0x206100b0, %l1, %l2) !# Control Word
!# write CWQ entry (%l6 points to CWQ)
stx %l2, [%l6 + 0x8] !# source address
stx %g0, [%l6 + 0x10] !# Authentication Key Address (40-bit)
stx %g0, [%l6 + 0x18] !# Authentication IV Address (40-bit)
stx %g0, [%l6 + 0x20] !# Authentication FSAS Address (40-bit)
stx %g0, [%l6 + 0x28] !# Encryption Key Address (40-bit)
stx %g0, [%l6 + 0x30] !# Encryption Initialization Vector Address (40-bit)
stx %o3, [%l6 + 0x38] !# Destination Address (40-bit)
ldxa [%g0 + ASI_SPU_CWQ_TAIL] %asi, %l2
stxa %l2, [%g0 + ASI_SPU_CWQ_TAIL] %asi
!# Kick off the CWQ operation by writing to the CWQ_CSR
!# Set the enabled bit and reset the other bits
stxa %g1, [%g0 + ASI_SPU_CWQ_CSR] %asi
set sync_thr_counter6, %r23
st %r0, [%r23] !unlock sync_thr_counter6
st %r0, [%r23] !unlock sync_thr_counter5
st %r0, [%r23] !unlock sync_thr_counter4
.word 0xe877e082 ! 1: STX_I stx %r20, [%r31 + 0x0082]
.word 0x9d902002 ! 2: WRPR_WSTATE_I wrpr %r0, 0x0002, %wstate
.word 0xe93fe054 ! 3: STDF_I std %f20, [0x0054, %r31]
setx fp_data_quads, %r19, %r20
.word 0x89a009a4 ! 4: FDIVs fdivs %f0, %f4, %f4
.word 0x26800001 ! 1: BL bl,a <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 5: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0x81982cde ! 6: WRHPR_HPSTATE_I wrhpr %r0, 0x0cde, %hpstate
.word 0x858531f5 ! 7: WRCCR_I wr %r20, 0x11f5, %ccr
.word 0x26800001 ! 1: BL bl,a <label_0x1>
.word 0xe85fc000 ! 8: LDX_R ldx [%r31 + %r0], %r20
.word 0xc19fe000 ! 9: LDDFA_I ldda [%r31, 0x0000], %f0
best_set_reg(0x13ff3c4654610161, %r16, %r17)
.word 0x89800011 ! 10: WRTICK_R wr %r0, %r17, %tick
.word 0xc1bfd920 ! 11: STDFA_R stda %f0, [%r0, %r31]
stxa %r19, [%g0] ASI_LSU_CONTROL
.word 0xc1bfd920 ! 12: STDFA_R stda %f0, [%r0, %r31]
.word 0x3c800001 ! 13: BPOS bpos,a <label_0x1>
best_set_reg(0xe0a00000, %r20, %r27)
.word 0xb7c6c000 ! 14: JMPL_R jmpl %r27 + %r0, %r27
setx 0xffffffbfffffffae, %g1, %g7
.word 0xa3800007 ! 15: WR_PERF_COUNTER_R wr %r0, %r7, %-
best_set_reg(0xe0a00000, %r20, %r27)
.word 0xb7c6c000 ! 16: JMPL_R jmpl %r27 + %r0, %r27
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe9e7e00b ! 17: CASA_R casa [%r31] %asi, %r11, %r20
.word 0x87802004 ! 18: WRASI_I wr %r0, 0x0004, %asi
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 19: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xe93fe1e2 ! 20: STDF_I std %f20, [0x01e2, %r31]
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xa9b7c7c8 ! 1: PDIST pdistn %d62, %d8, %d20
.word 0x95b44491 ! 21: FCMPLE32 fcmple32 %d48, %d48, %r10
.word 0x2f400001 ! 1: FBPU fbu,a,pn %fcc0, <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 22: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xc19fdc00 ! 23: LDDFA_R ldda [%r31, %r0], %f0
.word 0xe1bfc3e0 ! 24: STDFA_R stda %f16, [%r0, %r31]
setx 0xffffffb8ffffffa0, %g1, %g7
.word 0xa3800007 ! 25: WR_PERF_COUNTER_R wr %r0, %r7, %-
.word 0xc36b3717 ! 1: PREFETCH_I prefetch [%r12 + 0xfffff717], #one_read
.word 0x97a4c9ca ! 26: FDIVd fdivd %f50, %f10, %f42
set sync_thr_counter4, %r23
and %r8, 0x38, %r8 ! Core ID
sllx %r9, %r8, %r9 ! My core mask
xor %r9, 0x80, %r9 ! My core mask
cas [%r23],%g0,%r10 !lock
brz,a %r10, continue_cmp_80_16
ldxa [0x50]%asi, %r13 !Running_rw
brnz,a %r10, cmp_wait80_16
ldxa [0x58]%asi, %r14 !Running_status
xnor %r14, %r13, %r14 !Bits equal
brz,a %r8, cmp_multi_core_80_16
best_set_reg(0x0e000cc4361d4b95, %r16, %r17)
and %r14, %r17, %r14 !Apply set/clear mask to bits equal
and %r14, %r9, %r14 !Apply core-mask
st %g0, [%r23] !clear lock
.word 0x9194c00c ! 27: WRPR_PIL_R wrpr %r19, %r12, %pil
stxa %r6, [%r0] ASI_LSU_CONTROL
.word 0xd85fc000 ! 28: LDX_R ldx [%r31 + %r0], %r12
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_80_17)+32, 16, 16)) -> intp(mask2tid(0x80),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_80_17)&0xffffffff) + 56, 16, 16)) -> intp(mask2tid(0x80),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa9852894 ! 29: WR_SET_SOFTINT_I wr %r20, 0x0894, %set_softint
set sync_thr_counter4, %r23
and %r8, 0x38, %r8 ! Core ID
sllx %r9, %r8, %r9 ! My core mask
xor %r9, 0x80, %r9 ! My core mask
cas [%r23],%g0,%r10 !lock
brz,a %r10, continue_cmp_80_18
ldxa [0x50]%asi, %r13 !Running_rw
brnz,a %r10, cmp_wait80_18
ldxa [0x58]%asi, %r14 !Running_status
xnor %r14, %r13, %r14 !Bits equal
brz,a %r8, cmp_multi_core_80_18
best_set_reg(0xcefe037aaee8500b, %r16, %r17)
and %r14, %r17, %r14 !Apply set/clear mask to bits equal
and %r14, %r9, %r14 !Apply core-mask
st %g0, [%r23] !clear lock
.word 0x91a00173 ! 30: FABSq dis not found
set sync_thr_counter4, %r23
and %r8, 0x38, %r8 ! Core ID
sllx %r9, %r8, %r9 ! My core mask
xor %r9, 0x80, %r9 ! My core mask
cas [%r23],%g0,%r10 !lock
brz,a %r10, continue_cmp_80_19
ldxa [0x50]%asi, %r13 !Running_rw
brnz,a %r10, cmp_wait80_19
ldxa [0x58]%asi, %r14 !Running_status
xnor %r14, %r13, %r14 !Bits equal
brz,a %r8, cmp_multi_core_80_19
best_set_reg(0xc000c3a54f360794, %r16, %r17)
and %r14, %r17, %r14 !Apply set/clear mask to bits equal
and %r14, %r9, %r14 !Apply core-mask
st %g0, [%r23] !clear lock
.word 0xa3a00169 ! 31: FABSq dis not found
tsubcctv %r9, 0x128c, %r16
.word 0xd807e0fc ! 32: LDUW_I lduw [%r31 + 0x00fc], %r12
.word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
stxa %r2, [%r0+0x3c8] %asi
.word 0x9d948014 ! 33: WRPR_WSTATE_R wrpr %r18, %r20, %wstate
.word 0xb184c010 ! 34: WR_STICK_REG_R wr %r19, %r16, %-
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd9e7e011 ! 35: CASA_R casa [%r31] %asi, %r17, %r12
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd9e7e012 ! 36: CASA_R casa [%r31] %asi, %r18, %r12
.word 0x8b90000c ! 37: WRPR_TBA_R wrpr %r0, %r12, %tba
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 38: FBPULE fbule,a,pn %fcc0, <label_0x1>
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_80_26) + 24, 16, 16)) -> intp(7,0,11,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_80_26)&0xffffffff) + 32, 16, 16)) -> intp(4,0,7,,,,,1)
.word 0x39400001 ! 1: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
.word 0xa9b404d2 ! 39: FCMPNE32 fcmpne32 %d16, %d18, %r20
.word 0xd727e16d ! 40: STF_I st %f11, [0x016d, %r31]
.word 0xd627e1a8 ! 41: STW_I stw %r11, [%r31 + 0x01a8]
best_set_reg(0xe0a00000, %r20, %r27)
.word 0xb7c6c000 ! 42: JMPL_R jmpl %r27 + %r0, %r27
.word 0x8b90000c ! 43: WRPR_TBA_R wrpr %r0, %r12, %tba
stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
.word 0x95b4c7c9 ! 44: PDIST pdistn %d50, %d40, %d10
setx 0xffffffbaffffffa6, %g1, %g7
.word 0xa3800007 ! 45: WR_PERF_COUNTER_R wr %r0, %r7, %-
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xe3e7c030 ! 1: CASA_I casa [%r31] 0x 1, %r16, %r17
.word 0xe31fe1b0 ! 46: LDDF_I ldd [%r31, 0x01b0], %f17
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xe26fe060 ! 1: LDSTUB_I ldstub %r17, [%r31 + 0x0060]
stxa %r10, [%r0] ASI_LSU_CONTROL
.word 0x93aac830 ! 47: FMOVGE fmovs %fcc1, %f16, %f9
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xd737e0c0 ! 1: STQF_I - %f11, [0x00c0, %r31]
.word 0xd73fc010 ! 48: STDF_R std %f11, [%r16, %r31]
.word 0x25400001 ! 1: FBPLG fblg,a,pn %fcc0, <label_0x1>
.word 0xd65fc000 ! 49: LDX_R ldx [%r31 + %r0], %r11
ta T_CHANGE_HPRIV ! macro
add %r12, (donretarg_80_33-donret_80_33), %r12
add %r12, 0x8, %r11 ! nonseq tnpc
andn %r11, %r10, %r11 ! low VA tnpc
set (0x00288900 | (0x8b << 24)), %r13
wrhpr %g0, 0x1c56, %htstate
ta T_CHANGE_NONHPRIV ! rand=1 (80)
.word 0x2a800001 ! 50: BCS bcs,a <label_0x1>
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_80_34) + 24, 16, 16)) -> intp(7,0,16,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_80_34)&0xffffffff) + 48, 16, 16)) -> intp(3,0,13,,,,,1)
.word 0xa3a209d0 ! 51: FDIVd fdivd %f8, %f16, %f48
.word 0xe927e06d ! 52: STF_I st %f20, [0x006d, %r31]
.word 0xe8bfc020 ! 53: STDA_R stda %r20, [%r31 + %r0] 0x01
setx 0x00000000003a0000, %r11, %r12
.word 0x8b90000c ! 54: WRPR_TBA_R wrpr %r0, %r12, %tba
.word 0xc3ed0030 ! 55: PREFETCHA_R prefetcha [%r20, %r16] 0x01, #one_read
set sync_thr_counter4, %r23
and %r8, 0x38, %r8 ! Core ID
cas [%r23],%g0,%r16 !lock
brz,a %r16, continue_ibp_80_37
sllx %r16, %r8, %r16 !Mask for my core only
ldxa [0x58]%asi, %r17 !Running_status
ldxa [0x50]%asi, %r13 !Running_rw
bne,a %xcc, wait_for_stat_80_37
ldxa [0x58]%asi, %r17 !Running_status
stxa %r16, [0x68]%asi !Park (W1C)
ldxa [0x50]%asi, %r14 !Running_rw
ldxa [0x58]%asi, %r17 !Running_status
bne,a %xcc, wait_for_ibp_80_37
ldxa [0x50]%asi, %r14 !Running_rw
best_set_reg(0x000000503ec000be,%r19, %r20)
stxa %r16, [0x60] %asi !Unpark (W1S)
st %g0, [%r23] !clear lock
wr %r0, %r12, %asi !restore %asi
.word 0xa5a289b0 ! 56: FDIVs fdivs %f10, %f16, %f18
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xe937e140 ! 1: STQF_I - %f20, [0x0140, %r31]
.word 0xe8bfc028 ! 57: STDA_R stda %r20, [%r31 + %r8] 0x01
set sync_thr_counter4, %r23
and %r8, 0x38, %r8 ! Core ID
cas [%r23],%g0,%r16 !lock
brz,a %r16, continue_ibp_80_39
sllx %r16, %r8, %r16 !Mask for my core only
ldxa [0x58]%asi, %r17 !Running_status
ldxa [0x50]%asi, %r13 !Running_rw
bne,a %xcc, wait_for_stat_80_39
ldxa [0x58]%asi, %r17 !Running_status
stxa %r16, [0x68]%asi !Park (W1C)
ldxa [0x50]%asi, %r14 !Running_rw
ldxa [0x58]%asi, %r17 !Running_status
bne,a %xcc, wait_for_ibp_80_39
ldxa [0x50]%asi, %r14 !Running_rw
best_set_reg(0x00000040fcc0be4b,%r19, %r20)
stxa %r16, [0x60] %asi !Unpark (W1S)
st %g0, [%r23] !clear lock
wr %r0, %r12, %asi !restore %asi
.word 0x87acca51 ! 58: FCMPd fcmpd %fcc<n>, %f50, %f48
ta T_CHANGE_HPRIV ! macro
add %r12, (donretarg_80_40-donret_80_40+4), %r12
add %r12, 0x4, %r11 ! seq tnpc
andn %r12, %r10, %r12 ! low VA tpc
set (0x00707900 | (0x8b << 24)), %r13
wrhpr %g0, 0x1c17, %htstate
ta T_CHANGE_NONPRIV ! rand=0 (80)
.word 0x2f400001 ! 59: FBPU fbu,a,pn %fcc0, <label_0x1>
.word 0x8580aa21 ! 60: WRCCR_I wr %r2, 0x0a21, %ccr
stxa %r8, [%r0] ASI_LSU_CONTROL
.word 0xe05fc000 ! 61: LDX_R ldx [%r31 + %r0], %r16
.word 0x9953c000 ! 62: RDPR_FQ <illegal instruction>
fbul,a,pn %fcc0, skip_80_42
.word 0xa3b4c4d2 ! 1: FCMPNE32 fcmpne32 %d50, %d18, %r17
.word 0x95a409d0 ! 63: FDIVd fdivd %f16, %f16, %f10
brgz,a,pn %r9, skip_80_43
stxa %r7, [%r0] ASI_LSU_CONTROL
stxa %r13, [%r0] ASI_LSU_CONTROL
.word 0xc30fc000 ! 64: LDXFSR_R ld-fsr [%r31, %r0], %f1
.word 0xe19fdf20 ! 65: LDDFA_R ldda [%r31, %r0], %f16
set sync_thr_counter5, %r23
sllx %o1, 5, %o3 !(CID*256)
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
and %l1, 0x3, %l1 ! Check if busy/enabled ..
stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
best_set_reg(0x206100d0, %l1, %l2) !# Control Word
ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
.word 0xa7414000 ! 66: RDPC rd %pc, %r19
.word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
stxa %r20, [%r0+0x3e8] %asi
.word 0x9d944006 ! 67: WRPR_WSTATE_R wrpr %r17, %r6, %wstate
set sync_thr_counter4, %r23
and %r8, 0x38, %r8 ! Core ID
sllx %r9, %r8, %r9 ! My core mask
xor %r9, 0x80, %r9 ! My core mask
cas [%r23],%g0,%r10 !lock
brz,a %r10, continue_cmp_80_46
ldxa [0x50]%asi, %r13 !Running_rw
brnz,a %r10, cmp_wait80_46
ldxa [0x58]%asi, %r14 !Running_status
xnor %r14, %r13, %r14 !Bits equal
brz,a %r8, cmp_multi_core_80_46
best_set_reg(0x75a5606940c0cb66, %r16, %r17)
and %r14, %r17, %r14 !Apply set/clear mask to bits equal
and %r14, %r9, %r14 !Apply core-mask
st %g0, [%r23] !clear lock
.word 0x91a00165 ! 68: FABSq dis not found
set sync_thr_counter4, %r23
and %r8, 0x38, %r8 ! Core ID
sllx %r9, %r8, %r9 ! My core mask
xor %r9, 0x80, %r9 ! My core mask
cas [%r23],%g0,%r10 !lock
brz,a %r10, continue_cmp_80_47
ldxa [0x50]%asi, %r13 !Running_rw
brnz,a %r10, cmp_wait80_47
ldxa [0x58]%asi, %r14 !Running_status
xnor %r14, %r13, %r14 !Bits equal
brz,a %r8, cmp_multi_core_80_47
best_set_reg(0x37befdf8ec0eddf0, %r16, %r17)
and %r14, %r17, %r14 !Apply set/clear mask to bits equal
and %r14, %r9, %r14 !Apply core-mask
st %g0, [%r23] !clear lock
.word 0x91928012 ! 69: WRPR_PIL_R wrpr %r10, %r18, %pil
best_set_reg(0x6dd9ef5706b99a05, %r16, %r17)
.word 0x89800011 ! 70: WRTICK_R wr %r0, %r17, %tick
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_80_49)+16, 16, 16)) -> intp(mask2tid(0x80),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_80_49)&0xffffffff) + 56, 16, 16)) -> intp(mask2tid(0x80),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa98422ad ! 71: WR_SET_SOFTINT_I wr %r16, 0x02ad, %set_softint
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_80_50) + 56, 16, 16)) -> intp(5,0,20,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_80_50)&0xffffffff) + 40, 16, 16)) -> intp(6,0,26,,,,,1)
.word 0x39400001 ! 1: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
.word 0xc369f0eb ! 72: PREFETCH_I prefetch [%r7 + 0xfffff0eb], #one_read
wr %r0,ASI_MMU_REAL_RANGE, %asi
ldxa [ASI_MMU_REAL_RANGE_0] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_0] %asi
ldxa [ASI_MMU_REAL_RANGE_1] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_1] %asi
ldxa [ASI_MMU_REAL_RANGE_2] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_2] %asi
ldxa [ASI_MMU_REAL_RANGE_3] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_3] %asi
.word 0x29800001 ! 73: FBL fbl,a <label_0x1>
stxa %r14, [%r0] ASI_LSU_CONTROL
.word 0xe45fc000 ! 74: LDX_R ldx [%r31 + %r0], %r18
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe5e7e014 ! 75: CASA_R casa [%r31] %asi, %r20, %r18
set sync_thr_counter4, %r23
and %r8, 0x38, %r8 ! Core ID
sllx %r9, %r8, %r9 ! My core mask
xor %r9, 0x80, %r9 ! My core mask
cas [%r23],%g0,%r10 !lock
brz,a %r10, continue_cmp_80_53
ldxa [0x50]%asi, %r13 !Running_rw
brnz,a %r10, cmp_wait80_53
ldxa [0x58]%asi, %r14 !Running_status
xnor %r14, %r13, %r14 !Bits equal
brz,a %r8, cmp_multi_core_80_53
best_set_reg(0xba9296c1bd158538, %r16, %r17)
and %r14, %r17, %r14 !Apply set/clear mask to bits equal
and %r14, %r9, %r14 !Apply core-mask
st %g0, [%r23] !clear lock
.word 0x9194c011 ! 76: WRPR_PIL_R wrpr %r19, %r17, %pil
setx 0xffffffbaffffffa3, %g1, %g7
.word 0xa3800007 ! 77: WR_PERF_COUNTER_R wr %r0, %r7, %-
setx fp_data_quads, %r19, %r20
.word 0xc3e82b59 ! 78: PREFETCHA_I prefetcha [%r0, + 0x0b59] %asi, #one_read
best_set_reg(0xe0a00000, %r20, %r27)
.word 0xb7c6c000 ! 79: JMPL_R jmpl %r27 + %r0, %r27
stxa %r8, [%r0] ASI_LSU_CONTROL
.word 0xe45fc000 ! 80: LDX_R ldx [%r31 + %r0], %r18
best_set_reg(0xd86624f368b787f7, %r16, %r17)
.word 0x91b100e9 ! 81: EDGE16LN edge16ln %r4, %r9, %r8
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_80_58) + 16, 16, 16)) -> intp(6,0,11,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_80_58)&0xffffffff) + 40, 16, 16)) -> intp(5,0,22,,,,,1)
.word 0xa3b084d1 ! 1: FCMPNE32 fcmpne32 %d2, %d48, %r17
.word 0x91b404ca ! 82: FCMPNE32 fcmpne32 %d16, %d10, %r8
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe5e7e00c ! 83: CASA_R casa [%r31] %asi, %r12, %r18
setx fp_data_quads, %r19, %r20
.word 0x87a80a44 ! 84: FCMPd fcmpd %fcc<n>, %f0, %f4
.word 0x87802020 ! 85: WRASI_I wr %r0, 0x0020, %asi
.word 0xc19fdf20 ! 86: LDDFA_R ldda [%r31, %r0], %f0
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 87: FBPULE fbule,a,pn %fcc0, <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 88: FBPULE fbule,a,pn %fcc0, <label_0x1>
wrhpr %r17, %g0, %hsys_tick_cmpr
.word 0xb3800011 ! 89: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
.word 0x22800001 ! 1: BE be,a <label_0x1>
.word 0xe45fc000 ! 90: LDX_R ldx [%r31 + %r0], %r18
.word 0x8b90000c ! 91: WRPR_TBA_R wrpr %r0, %r12, %tba
stxa %r19, [%g0] ASI_LSU_CONTROL
.word 0xe4dfc02c ! 92: LDXA_R ldxa [%r31, %r12] 0x01, %r18
.word 0x20800001 ! 1: BN bn,a <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 93: FBPULE fbule,a,pn %fcc0, <label_0x1>
set sync_thr_counter4, %r23
and %r8, 0x38, %r8 ! Core ID
cas [%r23],%g0,%r16 !lock
brz,a %r16, continue_ibp_80_67
sllx %r16, %r8, %r16 !Mask for my core only
ldxa [0x58]%asi, %r17 !Running_status
ldxa [0x50]%asi, %r13 !Running_rw
bne,a %xcc, wait_for_stat_80_67
ldxa [0x58]%asi, %r17 !Running_status
stxa %r16, [0x68]%asi !Park (W1C)
ldxa [0x50]%asi, %r14 !Running_rw
ldxa [0x58]%asi, %r17 !Running_status
bne,a %xcc, wait_for_ibp_80_67
ldxa [0x50]%asi, %r14 !Running_rw
best_set_reg(0x00000040b9fe4b94,%r19, %r20)
stxa %r16, [0x60] %asi !Unpark (W1S)
st %g0, [%r23] !clear lock
wr %r0, %r12, %asi !restore %asi
.word 0xe497c029 ! 94: LDUHA_R lduha [%r31, %r9] 0x01, %r18
.word 0xe527c000 ! 95: STF_R st %f18, [%r0, %r31]
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe5e7e010 ! 96: CASA_R casa [%r31] %asi, %r16, %r18
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_80_69)+24, 16, 16)) -> intp(mask2tid(0x80),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_80_69)&0xffffffff) + 16, 16, 16)) -> intp(mask2tid(0x80),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa9816b74 ! 97: WR_SET_SOFTINT_I wr %r5, 0x0b74, %set_softint
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_80_70) + 40, 16, 16)) -> intp(1,0,22,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_80_70)&0xffffffff) + 8, 16, 16)) -> intp(6,0,22,,,,,1)
.word 0x95a249d4 ! 98: FDIVd fdivd %f40, %f20, %f10
setx fp_data_quads, %r19, %r20
.word 0xc3e8228f ! 99: PREFETCHA_I prefetcha [%r0, + 0x028f] %asi, #one_read
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 100: FBPULE fbule,a,pn %fcc0, <label_0x1>
best_set_reg(0x53672f119fbbaea9, %r16, %r17)
.word 0xa5b480f4 ! 101: EDGE16LN edge16ln %r18, %r20, %r18
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd7e7e00a ! 102: CASA_R casa [%r31] %asi, %r10, %r11
.word 0x3a800001 ! 1: BCC bcc,a <label_0x1>
.word 0xd65fc000 ! 103: LDX_R ldx [%r31 + %r0], %r11
wr %r0,ASI_MMU_REAL_RANGE, %asi
ldxa [ASI_MMU_REAL_RANGE_0] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_0] %asi
ldxa [ASI_MMU_REAL_RANGE_1] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_1] %asi
ldxa [ASI_MMU_REAL_RANGE_2] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_2] %asi
ldxa [ASI_MMU_REAL_RANGE_3] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_3] %asi
.word 0x29800001 ! 104: FBL fbl,a <label_0x1>
.word 0xe19fdc00 ! 105: LDDFA_R ldda [%r31, %r0], %f16
.word 0x22cb0001 ! 1: BRZ brz,a,pt %r12,<label_0xb0001>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 106: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xe1bfdf20 ! 107: STDFA_R stda %f16, [%r0, %r31]
set sync_thr_counter4, %r23
and %r8, 0x38, %r8 ! Core ID
sllx %r9, %r8, %r9 ! My core mask
xor %r9, 0x80, %r9 ! My core mask
cas [%r23],%g0,%r10 !lock
brz,a %r10, continue_cmp_80_78
ldxa [0x50]%asi, %r13 !Running_rw
brnz,a %r10, cmp_wait80_78
ldxa [0x58]%asi, %r14 !Running_status
xnor %r14, %r13, %r14 !Bits equal
brz,a %r8, cmp_multi_core_80_78
best_set_reg(0x84ec48351a966b79, %r16, %r17)
and %r14, %r17, %r14 !Apply set/clear mask to bits equal
and %r14, %r9, %r14 !Apply core-mask
st %g0, [%r23] !clear lock
.word 0x91918010 ! 108: WRPR_PIL_R wrpr %r6, %r16, %pil
.word 0x2acc8001 ! 1: BRNZ brnz,a,pt %r18,<label_0xc8001>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 109: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xc1bfd960 ! 110: STDFA_R stda %f0, [%r0, %r31]
.word 0x39400001 ! 111: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
.word 0xc1bfc3e0 ! 112: STDFA_R stda %f0, [%r0, %r31]
.word 0x39400001 ! 113: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
.word 0xc1bfe060 ! 114: STDFA_I stda %f0, [0x0060, %r31]
.word 0x3d400001 ! 1: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xe65fc000 ! 115: LDX_R ldx [%r31 + %r0], %r19
best_set_reg(0xe0a00000, %r20, %r27)
.word 0xb7c6c000 ! 116: JMPL_R jmpl %r27 + %r0, %r27
setx 0x00000000003a0000, %r11, %r12
.word 0x8b90000c ! 117: WRPR_TBA_R wrpr %r0, %r12, %tba
set sync_thr_counter4, %r23
and %r8, 0x38, %r8 ! Core ID
sllx %r9, %r8, %r9 ! My core mask
xor %r9, 0x80, %r9 ! My core mask
cas [%r23],%g0,%r10 !lock
brz,a %r10, continue_cmp_80_84
ldxa [0x50]%asi, %r13 !Running_rw
brnz,a %r10, cmp_wait80_84
ldxa [0x58]%asi, %r14 !Running_status
xnor %r14, %r13, %r14 !Bits equal
brz,a %r8, cmp_multi_core_80_84
best_set_reg(0x4653c94ab63ca68f, %r16, %r17)
and %r14, %r17, %r14 !Apply set/clear mask to bits equal
and %r14, %r9, %r14 !Apply core-mask
st %g0, [%r23] !clear lock
.word 0x9191800b ! 118: WRPR_PIL_R wrpr %r6, %r11, %pil
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_80_85)+24, 16, 16)) -> intp(mask2tid(0x80),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_80_85)&0xffffffff) + 32, 16, 16)) -> intp(mask2tid(0x80),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa98533a8 ! 119: WR_SET_SOFTINT_I wr %r20, 0x13a8, %set_softint
.word 0x93902006 ! 120: WRPR_CWP_I wrpr %r0, 0x0006, %cwp
stxa %r13, [%r0] ASI_LSU_CONTROL
.word 0xe65fc000 ! 121: LDX_R ldx [%r31 + %r0], %r19
ta T_CHANGE_HPRIV ! macro
add %r12, (donretarg_80_87-donret_80_87), %r12
add %r12, 0x4, %r11 ! seq tnpc
andn %r11, %r10, %r11 ! low VA tnpc
set (0x00cdd000 | (0x8a << 24)), %r13
wrhpr %g0, 0x98d, %htstate
ta T_CHANGE_NONPRIV ! rand=0 (80)
.word 0xe66fe13c ! 122: LDSTUB_I ldstub %r19, [%r31 + 0x013c]
wr %r0,ASI_MMU_REAL_RANGE, %asi
ldxa [ASI_MMU_REAL_RANGE_0] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_0] %asi
ldxa [ASI_MMU_REAL_RANGE_1] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_1] %asi
ldxa [ASI_MMU_REAL_RANGE_2] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_2] %asi
ldxa [ASI_MMU_REAL_RANGE_3] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_3] %asi
.word 0x29800001 ! 123: FBL fbl,a <label_0x1>
.word 0x9545c000 ! 124: RD_TICK_CMPR_REG rd %-, %r10
.word 0xc19fdc00 ! 125: LDDFA_R ldda [%r31, %r0], %f0
set sync_thr_counter5, %r23
sllx %o1, 5, %o3 !(CID*256)
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
and %l1, 0x3, %l1 ! Check if busy/enabled ..
stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
best_set_reg(0x20610010, %l1, %l2) !# Control Word
ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
.word 0xa9414000 ! 126: RDPC rd %pc, %r20
set sync_thr_counter4, %r23
and %r8, 0x38, %r8 ! Core ID
sllx %r9, %r8, %r9 ! My core mask
xor %r9, 0x80, %r9 ! My core mask
cas [%r23],%g0,%r10 !lock
brz,a %r10, continue_cmp_80_90
ldxa [0x50]%asi, %r13 !Running_rw
brnz,a %r10, cmp_wait80_90
ldxa [0x58]%asi, %r14 !Running_status
xnor %r14, %r13, %r14 !Bits equal
brz,a %r8, cmp_multi_core_80_90
best_set_reg(0x6ceb81a2ca3b526e, %r16, %r17)
and %r14, %r17, %r14 !Apply set/clear mask to bits equal
and %r14, %r9, %r14 !Apply core-mask
st %g0, [%r23] !clear lock
.word 0xa5a00174 ! 127: FABSq dis not found
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_80_91)+32, 16, 16)) -> intp(mask2tid(0x80),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_80_91)&0xffffffff) + 48, 16, 16)) -> intp(mask2tid(0x80),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa9846b2b ! 128: WR_SET_SOFTINT_I wr %r17, 0x0b2b, %set_softint
.word 0x8584258f ! 129: WRCCR_I wr %r16, 0x058f, %ccr
.word 0xa7b4c4c3 ! 130: FCMPNE32 fcmpne32 %d50, %d34, %r19
best_set_reg(0x435ae92b637f0328, %r16, %r17)
.word 0x89800011 ! 131: WRTICK_R wr %r0, %r17, %tick
.word 0x8581b230 ! 132: WRCCR_I wr %r6, 0x1230, %ccr
.word 0x34800001 ! 1: BG bg,a <label_0x1>
.word 0x81983415 ! 133: WRHPR_HPSTATE_I wrhpr %r0, 0x1415, %hpstate
best_set_reg(0xe0a00000, %r20, %r27)
.word 0xb7c6c000 ! 134: JMPL_R jmpl %r27 + %r0, %r27
stxa %r7, [%r0] ASI_LSU_CONTROL
fbuge,a,pn %fcc0, skip_80_98
stxa %r17, [%r0] ASI_LSU_CONTROL
.word 0xd3e7c020 ! 135: CASA_I casa [%r31] 0x 1, %r0, %r9
.word 0x8d903041 ! 136: WRPR_PSTATE_I wrpr %r0, 0x1041, %pstate
set sync_thr_counter4, %r23
and %r8, 0x38, %r8 ! Core ID
sllx %r9, %r8, %r9 ! My core mask
xor %r9, 0x80, %r9 ! My core mask
cas [%r23],%g0,%r10 !lock
brz,a %r10, continue_cmp_80_100
ldxa [0x50]%asi, %r13 !Running_rw
brnz,a %r10, cmp_wait80_100
ldxa [0x58]%asi, %r14 !Running_status
xnor %r14, %r13, %r14 !Bits equal
brz,a %r8, cmp_multi_core_80_100
best_set_reg(0x226e9bb71c5a9c2e, %r16, %r17)
and %r14, %r17, %r14 !Apply set/clear mask to bits equal
and %r14, %r9, %r14 !Apply core-mask
st %g0, [%r23] !clear lock
.word 0xa3a00170 ! 137: FABSq dis not found
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe1e7e00b ! 138: CASA_R casa [%r31] %asi, %r11, %r16
best_set_reg(0x240ea2c9565d48a4, %r16, %r17)
.word 0xa5b400eb ! 139: EDGE16LN edge16ln %r16, %r11, %r18
.word 0x30800001 ! 1: BA ba,a <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 140: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0x956c400c ! 141: SDIVX_R sdivx %r17, %r12, %r10
.word 0xc19fe000 ! 142: LDDFA_I ldda [%r31, 0x0000], %f0
set sync_thr_counter4, %r23
and %r8, 0x38, %r8 ! Core ID
sllx %r9, %r8, %r9 ! My core mask
xor %r9, 0x80, %r9 ! My core mask
cas [%r23],%g0,%r10 !lock
brz,a %r10, continue_cmp_80_104
ldxa [0x50]%asi, %r13 !Running_rw
brnz,a %r10, cmp_wait80_104
ldxa [0x58]%asi, %r14 !Running_status
xnor %r14, %r13, %r14 !Bits equal
brz,a %r8, cmp_multi_core_80_104
best_set_reg(0x24675290b57af9e5, %r16, %r17)
and %r14, %r17, %r14 !Apply set/clear mask to bits equal
and %r14, %r9, %r14 !Apply core-mask
st %g0, [%r23] !clear lock
.word 0x91950006 ! 143: WRPR_PIL_R wrpr %r20, %r6, %pil
.word 0x81983ba4 ! 144: WRHPR_HPSTATE_I wrhpr %r0, 0x1ba4, %hpstate
best_set_reg(0x3deb81030a93c6eb, %r16, %r17)
.word 0x89800011 ! 145: WRTICK_R wr %r0, %r17, %tick
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd1e7e00c ! 146: CASA_R casa [%r31] %asi, %r12, %r8
setx fp_data_quads, %r19, %r20
.word 0x91a009c4 ! 147: FDIVd fdivd %f0, %f4, %f8
setx 0xb0d314e1ba80279a, %r1, %r28
.word 0x25400001 ! 148: FBPLG fblg,a,pn %fcc0, <label_0x1>
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xd06fe050 ! 1: LDSTUB_I ldstub %r8, [%r31 + 0x0050]
.word 0xd09fe1e0 ! 149: LDDA_I ldda [%r31, + 0x01e0] %asi, %r8
.word 0x2f400001 ! 1: FBPU fbu,a,pn %fcc0, <label_0x1>
.word 0x8d903cbf ! 150: WRPR_PSTATE_I wrpr %r0, 0x1cbf, %pstate
set sync_thr_counter4, %r23
and %r8, 0x38, %r8 ! Core ID
sllx %r9, %r8, %r9 ! My core mask
mov 0xff, %r9 ! My core mask
cmpenall_startwait80_112:
cas [%r23],%g0,%r10 !lock
brz,a %r10, continue_cmpenall_80_112
brnz %r10, cmpenall_wait80_112
ba,a cmpenall_startwait80_112
continue_cmpenall_80_112:
ldxa [0x58]%asi, %r14 !Running_status
ldxa [0x50]%asi, %r13 !Running_rw
bne,a %xcc, wait_for_cmpstat_80_112
ldxa [0x58]%asi, %r14 !Running_status
ldxa [0x10]%asi, %r14 !Get enabled threads
and %r14, %r9, %r14 !My core mask
stxa %r14, [0x60]%asi !W1S
ldxa [0x58]%asi, %r16 !Running_status
wait_for_cmpstat2_80_112:
and %r16, %r9, %r16 !My core mask
bne,a %xcc, wait_for_cmpstat2_80_112
ldxa [0x58]%asi, %r16 !Running_status
st %g0, [%r23] !clear lock
wr %g0, ASI_SCRATCHPAD, %asi
set sync_thr_counter4, %r23
add %o2,%r9,%r23 !Core's sync counter
st %r10, [%r23] !lock sync_thr_counter4
st %r10, [%r23] !lock sync_thr_counter5
st %r10, [%r23] !lock sync_thr_counter6
setx join_lbl_0_0, %g1, %g2
.word 0xe877e022 ! 1: STX_I stx %r20, [%r31 + 0x0022]
.word 0x9d902000 ! 2: WRPR_WSTATE_I wrpr %r0, 0x0000, %wstate
.word 0xe93fe00c ! 3: STDF_I std %f20, [0x000c, %r31]
setx fp_data_quads, %r19, %r20
.word 0x8db00484 ! 4: FCMPLE32 fcmple32 %d0, %d4, %r6
.word 0x21400001 ! 1: FBPN fbn,a,pn %fcc0, <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 5: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0x81982c1f ! 6: WRHPR_HPSTATE_I wrhpr %r0, 0x0c1f, %hpstate
.word 0x85836c23 ! 7: WRCCR_I wr %r13, 0x0c23, %ccr
.word 0x2b400001 ! 1: FBPUG fbug,a,pn %fcc0, <label_0x1>
.word 0xe85fc000 ! 8: LDX_R ldx [%r31 + %r0], %r20
.word 0xe19fe1c0 ! 9: LDDFA_I ldda [%r31, 0x01c0], %f16
.word 0x89800011 ! 10: WRTICK_R wr %r0, %r17, %tick
.word 0xe1bfc2c0 ! 11: STDFA_R stda %f16, [%r0, %r31]
stxa %r19, [%g0] ASI_LSU_CONTROL
.word 0xc19fe180 ! 12: LDDFA_I ldda [%r31, 0x0180], %f0
.word 0x3c800001 ! 13: BPOS bpos,a <label_0x1>
best_set_reg(0xe1200000, %r20, %r27)
.word 0xb7c6c000 ! 14: JMPL_R jmpl %r27 + %r0, %r27
setx 0xffffffb0ffffffa4, %g1, %g7
.word 0xa3800007 ! 15: WR_PERF_COUNTER_R wr %r0, %r7, %-
best_set_reg(0xe1200000, %r20, %r27)
.word 0xb7c6c000 ! 16: JMPL_R jmpl %r27 + %r0, %r27
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe9e7e011 ! 17: CASA_R casa [%r31] %asi, %r17, %r20
.word 0x87802020 ! 18: WRASI_I wr %r0, 0x0020, %asi
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 19: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xe93fe078 ! 20: STDF_I std %f20, [0x0078, %r31]
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xa9b7c7cc ! 1: PDIST pdistn %d62, %d12, %d20
.word 0x9f8022aa ! 21: SIR sir 0x02aa
.word 0x2d400001 ! 1: FBPG fbg,a,pn %fcc0, <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 22: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xc19fd920 ! 23: LDDFA_R ldda [%r31, %r0], %f0
.word 0xc1bfdf20 ! 24: STDFA_R stda %f0, [%r0, %r31]
setx 0xffffffbeffffffa8, %g1, %g7
.word 0xa3800007 ! 25: WR_PERF_COUNTER_R wr %r0, %r7, %-
.word 0x91a449d1 ! 1: FDIVd fdivd %f48, %f48, %f8
.word 0x95a409c6 ! 26: FDIVd fdivd %f16, %f6, %f10
.word 0x91908008 ! 27: WRPR_PIL_R wrpr %r2, %r8, %pil
stxa %r18, [%r0] ASI_LSU_CONTROL
.word 0xd85fc000 ! 28: LDX_R ldx [%r31 + %r0], %r12
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_40_17)+32, 16, 16)) -> intp(mask2tid(0x40),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_40_17)&0xffffffff) + 48, 16, 16)) -> intp(mask2tid(0x40),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa9852418 ! 29: WR_SET_SOFTINT_I wr %r20, 0x0418, %set_softint
.word 0xa5a00161 ! 30: FABSq dis not found
.word 0x93a00166 ! 31: FABSq dis not found
tsubcctv %r13, 0x1bc6, %r17
.word 0xd807e0a4 ! 32: LDUW_I lduw [%r31 + 0x00a4], %r12
.word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
stxa %r7, [%r0+0x3c8] %asi
.word 0x9d940014 ! 33: WRPR_WSTATE_R wrpr %r16, %r20, %wstate
.word 0xb1830013 ! 34: WR_STICK_REG_R wr %r12, %r19, %-
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd9e7e00c ! 35: CASA_R casa [%r31] %asi, %r12, %r12
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd9e7e00c ! 36: CASA_R casa [%r31] %asi, %r12, %r12
.word 0x8b90000c ! 37: WRPR_TBA_R wrpr %r0, %r12, %tba
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 38: FBPULE fbule,a,pn %fcc0, <label_0x1>
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_40_26) + 48, 16, 16)) -> intp(7,0,2,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_40_26)&0xffffffff) + 48, 16, 16)) -> intp(0,0,2,,,,,1)
.word 0x39400001 ! 1: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
.word 0xc36afd54 ! 39: PREFETCH_I prefetch [%r11 + 0xfffffd54], #one_read
.word 0xd727e0b4 ! 40: STF_I st %f11, [0x00b4, %r31]
.word 0xd627e07c ! 41: STW_I stw %r11, [%r31 + 0x007c]
best_set_reg(0xe1200000, %r20, %r27)
.word 0xb7c6c000 ! 42: JMPL_R jmpl %r27 + %r0, %r27
.word 0x8b90000c ! 43: WRPR_TBA_R wrpr %r0, %r12, %tba
stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
.word 0x95b047d3 ! 44: PDIST pdistn %d32, %d50, %d10
setx 0xffffffb8ffffffa2, %g1, %g7
.word 0xa3800007 ! 45: WR_PERF_COUNTER_R wr %r0, %r7, %-
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xe3e7c032 ! 1: CASA_I casa [%r31] 0x 1, %r18, %r17
.word 0xe3e7e010 ! 46: CASA_R casa [%r31] %asi, %r16, %r17
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xe26fe150 ! 1: LDSTUB_I ldstub %r17, [%r31 + 0x0150]
stxa %r13, [%r0] ASI_LSU_CONTROL
.word 0xa1aac831 ! 47: FMOVGE fmovs %fcc1, %f17, %f16
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xd737e1a0 ! 1: STQF_I - %f11, [0x01a0, %r31]
.word 0xd6dfc032 ! 48: LDXA_R ldxa [%r31, %r18] 0x01, %r11
.word 0x2cc98001 ! 1: BRGZ brgz,a,pt %r6,<label_0x98001>
.word 0xd65fc000 ! 49: LDX_R ldx [%r31 + %r0], %r11
ta T_CHANGE_HPRIV ! macro
add %r12, (donretarg_40_33-donret_40_33), %r12
add %r12, 0x8, %r11 ! nonseq tnpc
andn %r11, %r10, %r11 ! low VA tnpc
set (0x00c2b300 | (57 << 24)), %r13
wrhpr %g0, 0x6ed, %htstate
ta T_CHANGE_NONHPRIV ! rand=1 (40)
.word 0x3d400001 ! 50: FBPULE fbule,a,pn %fcc0, <label_0x1>
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_40_34) + 56, 16, 16)) -> intp(1,0,31,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_40_34)&0xffffffff) + 56, 16, 16)) -> intp(3,0,29,,,,,1)
.word 0x9f8026ad ! 51: SIR sir 0x06ad
.word 0xe927e056 ! 52: STF_I st %f20, [0x0056, %r31]
.word 0xe8bfc020 ! 53: STDA_R stda %r20, [%r31 + %r0] 0x01
setx 0x0000000400380000, %r11, %r12
.word 0x8b90000c ! 54: WRPR_TBA_R wrpr %r0, %r12, %tba
set sync_thr_counter4, %r23
and %r8, 0x38, %r8 ! Core ID
cas [%r23],%g0,%r16 !lock
brz,a %r16, continue_iaw_40_36
sllx %r16, %r8, %r16 !Mask for my core only
ldxa [0x58]%asi, %r17 !Running_status
ldxa [0x50]%asi, %r13 !Running_rw
bne,a %xcc, wait_for_stat_40_36
ldxa [0x58]%asi, %r17 !Running_status
stxa %r16, [0x68]%asi !Park (W1C)
ldxa [0x50]%asi, %r14 !Running_rw
ldxa [0x58]%asi, %r17 !Running_status
bne,a %xcc, wait_for_iaw_40_36
ldxa [0x50]%asi, %r14 !Running_rw
stxa %r16, [0x60] %asi ! Unpark (W1S)
st %g0, [%r23] !clear lock
wr %r0, %r12, %asi ! restore %asi
.word 0x91b047c9 ! 55: PDIST pdistn %d32, %d40, %d8
.word 0x93a309b3 ! 56: FDIVs fdivs %f12, %f19, %f9
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xe937e180 ! 1: STQF_I - %f20, [0x0180, %r31]
.word 0xe89fe170 ! 57: LDDA_I ldda [%r31, + 0x0170] %asi, %r20
.word 0xc3ec4026 ! 58: PREFETCHA_R prefetcha [%r17, %r6] 0x01, #one_read
ta T_CHANGE_HPRIV ! macro
add %r12, (donretarg_40_40-donret_40_40+4), %r12
add %r12, 0x4, %r11 ! seq tnpc
andn %r12, %r10, %r12 ! low VA tpc
set (0x00720d00 | (16 << 24)), %r13
wrhpr %g0, 0x179f, %htstate
ta T_CHANGE_NONPRIV ! rand=0 (40)
.word 0x2cccc001 ! 59: BRGZ brgz,a,pt %r19,<label_0xcc001>
.word 0x8580bab6 ! 60: WRCCR_I wr %r2, 0x1ab6, %ccr
stxa %r20, [%r0] ASI_LSU_CONTROL
.word 0xe05fc000 ! 61: LDX_R ldx [%r31 + %r0], %r16
.word 0xa753c000 ! 62: RDPR_FQ <illegal instruction>
brlez,pt %r19, skip_40_42
.word 0x9ba4c9d4 ! 63: FDIVd fdivd %f50, %f20, %f44
stxa %r18, [%r0] ASI_LSU_CONTROL
stxa %r14, [%r0] ASI_LSU_CONTROL
.word 0xc36fe1fc ! 64: PREFETCH_I prefetch [%r31 + 0x01fc], #one_read
.word 0xe19fc3e0 ! 65: LDDFA_R ldda [%r31, %r0], %f16
set sync_thr_counter5, %r23
sllx %o1, 5, %o3 !(CID*256)
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
and %l1, 0x3, %l1 ! Check if busy/enabled ..
stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
best_set_reg(0x20610090, %l1, %l2) !# Control Word
ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
.word 0x9b414000 ! 66: RDPC rd %pc, %r13
.word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
stxa %r19, [%r0+0x3c8] %asi
.word 0x9d914013 ! 67: WRPR_WSTATE_R wrpr %r5, %r19, %wstate
.word 0xa7a00167 ! 68: FABSq dis not found
.word 0x9190c00d ! 69: WRPR_PIL_R wrpr %r3, %r13, %pil
.word 0x89800011 ! 70: WRTICK_R wr %r0, %r17, %tick
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_40_49)+24, 16, 16)) -> intp(mask2tid(0x40),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_40_49)&0xffffffff) + 0, 16, 16)) -> intp(mask2tid(0x40),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa9853678 ! 71: WR_SET_SOFTINT_I wr %r20, 0x1678, %set_softint
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_40_50) + 0, 16, 16)) -> intp(5,0,27,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_40_50)&0xffffffff) + 8, 16, 16)) -> intp(7,0,13,,,,,1)
.word 0xa9b404d0 ! 1: FCMPNE32 fcmpne32 %d16, %d16, %r20
.word 0x39400001 ! 72: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
.word 0x29800001 ! 73: FBL fbl,a <label_0x1>
stxa %r12, [%r0] ASI_LSU_CONTROL
.word 0xe45fc000 ! 74: LDX_R ldx [%r31 + %r0], %r18
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe5e7e011 ! 75: CASA_R casa [%r31] %asi, %r17, %r18
.word 0x91940014 ! 76: WRPR_PIL_R wrpr %r16, %r20, %pil
setx 0xffffffb1ffffffa8, %g1, %g7
.word 0xa3800007 ! 77: WR_PERF_COUNTER_R wr %r0, %r7, %-
setx fp_data_quads, %r19, %r20
.word 0x91a009a4 ! 78: FDIVs fdivs %f0, %f4, %f8
best_set_reg(0xe1200000, %r20, %r27)
.word 0xb7c6c000 ! 79: JMPL_R jmpl %r27 + %r0, %r27
stxa %r20, [%r0] ASI_LSU_CONTROL
.word 0xe45fc000 ! 80: LDX_R ldx [%r31 + %r0], %r18
.word 0xa1b500f2 ! 81: EDGE16LN edge16ln %r20, %r18, %r16
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_40_58) + 32, 16, 16)) -> intp(0,0,23,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_40_58)&0xffffffff) + 24, 16, 16)) -> intp(3,0,12,,,,,1)
.word 0x9f803b73 ! 1: SIR sir 0x1b73
.word 0x39400001 ! 82: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe5e7e013 ! 83: CASA_R casa [%r31] %asi, %r19, %r18
setx fp_data_quads, %r19, %r20
.word 0x89a009c4 ! 84: FDIVd fdivd %f0, %f4, %f4
.word 0x87802088 ! 85: WRASI_I wr %r0, 0x0088, %asi
.word 0xc19fc2c0 ! 86: LDDFA_R ldda [%r31, %r0], %f0
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 87: FBPULE fbule,a,pn %fcc0, <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 88: FBPULE fbule,a,pn %fcc0, <label_0x1>
wrhpr %r17, %g0, %hsys_tick_cmpr
.word 0xaf800011 ! 89: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
.word 0x27400001 ! 1: FBPUL fbul,a,pn %fcc0, <label_0x1>
.word 0xe45fc000 ! 90: LDX_R ldx [%r31 + %r0], %r18
.word 0x8b90000c ! 91: WRPR_TBA_R wrpr %r0, %r12, %tba
stxa %r19, [%g0] ASI_LSU_CONTROL
.word 0xe49fe1c0 ! 92: LDDA_I ldda [%r31, + 0x01c0] %asi, %r18
.word 0x21400001 ! 1: FBPN fbn,a,pn %fcc0, <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 93: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xe5e7e00d ! 94: CASA_R casa [%r31] %asi, %r13, %r18
.word 0xe527c000 ! 95: STF_R st %f18, [%r0, %r31]
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe5e7e014 ! 96: CASA_R casa [%r31] %asi, %r20, %r18
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_40_69)+8, 16, 16)) -> intp(mask2tid(0x40),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_40_69)&0xffffffff) + 40, 16, 16)) -> intp(mask2tid(0x40),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa9846428 ! 97: WR_SET_SOFTINT_I wr %r17, 0x0428, %set_softint
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_40_70) + 24, 16, 16)) -> intp(6,0,25,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_40_70)&0xffffffff) + 32, 16, 16)) -> intp(7,0,9,,,,,1)
.word 0xa7a509d4 ! 98: FDIVd fdivd %f20, %f20, %f50
setx fp_data_quads, %r19, %r20
.word 0x89a009a4 ! 99: FDIVs fdivs %f0, %f4, %f4
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 100: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xa7b240f3 ! 101: EDGE16LN edge16ln %r9, %r19, %r19
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd7e7e00c ! 102: CASA_R casa [%r31] %asi, %r12, %r11
.word 0x2b400001 ! 1: FBPUG fbug,a,pn %fcc0, <label_0x1>
.word 0xd65fc000 ! 103: LDX_R ldx [%r31 + %r0], %r11
.word 0x29800001 ! 104: FBL fbl,a <label_0x1>
set sync_thr_counter4, %r23
and %r8, 0x38, %r8 ! Core ID
cas [%r23],%g0,%r16 !lock
brz,a %r16, continue_iaw_40_76
sllx %r16, %r8, %r16 !Mask for my core only
ldxa [0x58]%asi, %r17 !Running_status
ldxa [0x50]%asi, %r13 !Running_rw
bne,a %xcc, wait_for_stat_40_76
ldxa [0x58]%asi, %r17 !Running_status
stxa %r16, [0x68]%asi !Park (W1C)
ldxa [0x50]%asi, %r14 !Running_rw
ldxa [0x58]%asi, %r17 !Running_status
bne,a %xcc, wait_for_iaw_40_76
ldxa [0x50]%asi, %r14 !Running_rw
stxa %r16, [0x60] %asi ! Unpark (W1S)
st %g0, [%r23] !clear lock
wr %r0, %r12, %asi ! restore %asi
.word 0xc1bfde00 ! 105: STDFA_R stda %f0, [%r0, %r31]
.word 0x20800001 ! 1: BN bn,a <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 106: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xe1bfc2c0 ! 107: STDFA_R stda %f16, [%r0, %r31]
.word 0x9194c00d ! 108: WRPR_PIL_R wrpr %r19, %r13, %pil
.word 0x3f400001 ! 1: FBPO fbo,a,pn %fcc0, <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 109: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xe1bfc2c0 ! 110: STDFA_R stda %f16, [%r0, %r31]
fbo,a,pn %fcc0, skip_40_80
.word 0x39400001 ! 111: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
.word 0xe1bfd920 ! 112: STDFA_R stda %f16, [%r0, %r31]
.word 0x39400001 ! 113: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
.word 0xe1bfe100 ! 114: STDFA_I stda %f16, [0x0100, %r31]
.word 0x3d400001 ! 1: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xe65fc000 ! 115: LDX_R ldx [%r31 + %r0], %r19
best_set_reg(0xe1200000, %r20, %r27)
.word 0xb7c6c000 ! 116: JMPL_R jmpl %r27 + %r0, %r27
setx 0x0000000400380000, %r11, %r12
.word 0x8b90000c ! 117: WRPR_TBA_R wrpr %r0, %r12, %tba
.word 0x91944012 ! 118: WRPR_PIL_R wrpr %r17, %r18, %pil
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_40_85)+0, 16, 16)) -> intp(mask2tid(0x40),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_40_85)&0xffffffff) + 24, 16, 16)) -> intp(mask2tid(0x40),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa980b7b3 ! 119: WR_SET_SOFTINT_I wr %r2, 0x17b3, %set_softint
.word 0x93902002 ! 120: WRPR_CWP_I wrpr %r0, 0x0002, %cwp
stxa %r20, [%r0] ASI_LSU_CONTROL
.word 0xe65fc000 ! 121: LDX_R ldx [%r31 + %r0], %r19
ta T_CHANGE_HPRIV ! macro
add %r12, (donretarg_40_87-donret_40_87), %r12
add %r12, 0x4, %r11 ! seq tnpc
andn %r11, %r10, %r11 ! low VA tnpc
set (0x001cb200 | (0x4f << 24)), %r13
wrhpr %g0, 0x155, %htstate
ta T_CHANGE_NONPRIV ! rand=0 (40)
.word 0xe66fe0b6 ! 122: LDSTUB_I ldstub %r19, [%r31 + 0x00b6]
.word 0x29800001 ! 123: FBL fbl,a <label_0x1>
.word 0x9b45c000 ! 124: RD_TICK_CMPR_REG rd %-, %r13
.word 0xe19fd960 ! 125: LDDFA_R ldda [%r31, %r0], %f16
set sync_thr_counter5, %r23
sllx %o1, 5, %o3 !(CID*256)
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
and %l1, 0x3, %l1 ! Check if busy/enabled ..
stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
best_set_reg(0x20610080, %l1, %l2) !# Control Word
ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
.word 0x93414000 ! 126: RDPC rd %pc, %r9
.word 0x93a00164 ! 127: FABSq dis not found
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_40_91)+24, 16, 16)) -> intp(mask2tid(0x40),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_40_91)&0xffffffff) + 0, 16, 16)) -> intp(mask2tid(0x40),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa98533d8 ! 128: WR_SET_SOFTINT_I wr %r20, 0x13d8, %set_softint
.word 0x85846400 ! 129: WRCCR_I wr %r17, 0x0400, %ccr
.word 0xc36c6283 ! 130: PREFETCH_I prefetch [%r17 + 0x0283], #one_read
.word 0x89800011 ! 131: WRTICK_R wr %r0, %r17, %tick
.word 0x8584fc58 ! 132: WRCCR_I wr %r19, 0x1c58, %ccr
.word 0x30800001 ! 1: BA ba,a <label_0x1>
.word 0x81982b9d ! 133: WRHPR_HPSTATE_I wrhpr %r0, 0x0b9d, %hpstate
best_set_reg(0xe1200000, %r20, %r27)
.word 0xb7c6c000 ! 134: JMPL_R jmpl %r27 + %r0, %r27
stxa %r9, [%r0] ASI_LSU_CONTROL
.word 0xa3b304cb ! 1: FCMPNE32 fcmpne32 %d12, %d42, %r17
stxa %r9, [%r0] ASI_LSU_CONTROL
.word 0xc32fc000 ! 135: STXFSR_R st-sfr %f1, [%r0, %r31]
.word 0x8d902511 ! 136: WRPR_PSTATE_I wrpr %r0, 0x0511, %pstate
.word 0xa1a00171 ! 137: FABSq dis not found
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe1e7e008 ! 138: CASA_R casa [%r31] %asi, %r8, %r16
.word 0xa3b480e5 ! 139: EDGE16LN edge16ln %r18, %r5, %r17
.word 0x2d400001 ! 1: FBPG fbg,a,pn %fcc0, <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 140: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xa5688012 ! 141: SDIVX_R sdivx %r2, %r18, %r18
.word 0xc19fe000 ! 142: LDDFA_I ldda [%r31, 0x0000], %f0
.word 0x91944004 ! 143: WRPR_PIL_R wrpr %r17, %r4, %pil
.word 0x81983c15 ! 144: WRHPR_HPSTATE_I wrhpr %r0, 0x1c15, %hpstate
.word 0x89800011 ! 145: WRTICK_R wr %r0, %r17, %tick
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd1e7e013 ! 146: CASA_R casa [%r31] %asi, %r19, %r8
setx fp_data_quads, %r19, %r20
.word 0x91a009c4 ! 147: FDIVd fdivd %f0, %f4, %f8
setx 0xbc2e70680e78965b, %r1, %r28
.word 0x25400001 ! 148: FBPLG fblg,a,pn %fcc0, <label_0x1>
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xd06fe0e0 ! 1: LDSTUB_I ldstub %r8, [%r31 + 0x00e0]
.word 0xd0bfc028 ! 149: STDA_R stda %r8, [%r31 + %r8] 0x01
.word 0x3a800001 ! 1: BCC bcc,a <label_0x1>
.word 0x8d903212 ! 150: WRPR_PSTATE_I wrpr %r0, 0x1212, %pstate
setx join_lbl_0_0, %g1, %g2
.word 0xe877e039 ! 1: STX_I stx %r20, [%r31 + 0x0039]
.word 0x9d902003 ! 2: WRPR_WSTATE_I wrpr %r0, 0x0003, %wstate
.word 0xe93fe1e6 ! 3: STDF_I std %f20, [0x01e6, %r31]
setx fp_data_quads, %r19, %r20
.word 0x89a009c4 ! 4: FDIVd fdivd %f0, %f4, %f4
.word 0x27400001 ! 1: FBPUL fbul,a,pn %fcc0, <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 5: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0x81982cc5 ! 6: WRHPR_HPSTATE_I wrhpr %r0, 0x0cc5, %hpstate
.word 0x8584ac98 ! 7: WRCCR_I wr %r18, 0x0c98, %ccr
.word 0x2a800001 ! 1: BCS bcs,a <label_0x1>
.word 0xe85fc000 ! 8: LDX_R ldx [%r31 + %r0], %r20
.word 0xc19fe040 ! 9: LDDFA_I ldda [%r31, 0x0040], %f0
.word 0x89800011 ! 10: WRTICK_R wr %r0, %r17, %tick
.word 0xe1bfd960 ! 11: STDFA_R stda %f16, [%r0, %r31]
stxa %r19, [%g0] ASI_LSU_CONTROL
.word 0xe1bfe080 ! 12: STDFA_I stda %f16, [0x0080, %r31]
.word 0x3c800001 ! 13: BPOS bpos,a <label_0x1>
best_set_reg(0xe1a00000, %r20, %r27)
.word 0xb7c6c000 ! 14: JMPL_R jmpl %r27 + %r0, %r27
setx 0xffffffb4ffffffae, %g1, %g7
.word 0xa3800007 ! 15: WR_PERF_COUNTER_R wr %r0, %r7, %-
best_set_reg(0xe1a00000, %r20, %r27)
.word 0xb7c6c000 ! 16: JMPL_R jmpl %r27 + %r0, %r27
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe9e7e012 ! 17: CASA_R casa [%r31] %asi, %r18, %r20
.word 0x87802010 ! 18: WRASI_I wr %r0, 0x0010, %asi
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 19: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xe93fe070 ! 20: STDF_I std %f20, [0x0070, %r31]
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xa9b7c7ca ! 1: PDIST pdistn %d62, %d10, %d20
.word 0x87a90a45 ! 21: FCMPd fcmpd %fcc<n>, %f4, %f36
.word 0x20800001 ! 1: BN bn,a <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 22: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xc19fde00 ! 23: LDDFA_R ldda [%r31, %r0], %f0
.word 0xc1bfc2c0 ! 24: STDFA_R stda %f0, [%r0, %r31]
setx 0xffffffb5ffffffaa, %g1, %g7
.word 0xa3800007 ! 25: WR_PERF_COUNTER_R wr %r0, %r7, %-
.word 0x9f802193 ! 1: SIR sir 0x0193
.word 0x9f8027e2 ! 26: SIR sir 0x07e2
.word 0x91948014 ! 27: WRPR_PIL_R wrpr %r18, %r20, %pil
stxa %r14, [%r0] ASI_LSU_CONTROL
.word 0xd85fc000 ! 28: LDX_R ldx [%r31 + %r0], %r12
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_20_17)+0, 16, 16)) -> intp(mask2tid(0x20),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_20_17)&0xffffffff) + 24, 16, 16)) -> intp(mask2tid(0x20),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa98461da ! 29: WR_SET_SOFTINT_I wr %r17, 0x01da, %set_softint
.word 0x97a0016d ! 30: FABSq dis not found
.word 0xa1a0016c ! 31: FABSq dis not found
tsubcctv %r7, 0x1ca8, %r18
.word 0xd807e0f4 ! 32: LDUW_I lduw [%r31 + 0x00f4], %r12
.word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
stxa %r4, [%r0+0x3e0] %asi
.word 0x9d944010 ! 33: WRPR_WSTATE_R wrpr %r17, %r16, %wstate
.word 0xb184800b ! 34: WR_STICK_REG_R wr %r18, %r11, %-
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd9e7e00b ! 35: CASA_R casa [%r31] %asi, %r11, %r12
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd9e7e013 ! 36: CASA_R casa [%r31] %asi, %r19, %r12
.word 0x8b90000c ! 37: WRPR_TBA_R wrpr %r0, %r12, %tba
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 38: FBPULE fbule,a,pn %fcc0, <label_0x1>
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_20_26) + 16, 16, 16)) -> intp(5,0,8,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_20_26)&0xffffffff) + 24, 16, 16)) -> intp(1,0,10,,,,,1)
.word 0x9f802b4d ! 1: SIR sir 0x0b4d
.word 0x9f803215 ! 39: SIR sir 0x1215
.word 0xd727e095 ! 40: STF_I st %f11, [0x0095, %r31]
.word 0xd627e076 ! 41: STW_I stw %r11, [%r31 + 0x0076]
best_set_reg(0xe1a00000, %r20, %r27)
.word 0xb7c6c000 ! 42: JMPL_R jmpl %r27 + %r0, %r27
.word 0x8b90000c ! 43: WRPR_TBA_R wrpr %r0, %r12, %tba
stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
.word 0x99b0c7cd ! 44: PDIST pdistn %d34, %d44, %d12
setx 0xffffffb5ffffffa9, %g1, %g7
.word 0xa3800007 ! 45: WR_PERF_COUNTER_R wr %r0, %r7, %-
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xe3e7c034 ! 1: CASA_I casa [%r31] 0x 1, %r20, %r17
.word 0xe31fe170 ! 46: LDDF_I ldd [%r31, 0x0170], %f17
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xe26fe170 ! 1: LDSTUB_I ldstub %r17, [%r31 + 0x0170]
stxa %r9, [%r0] ASI_LSU_CONTROL
.word 0x91aac825 ! 47: FMOVGE fmovs %fcc1, %f5, %f8
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xd737e010 ! 1: STQF_I - %f11, [0x0010, %r31]
.word 0xd6bfc029 ! 48: STDA_R stda %r11, [%r31 + %r9] 0x01
.word 0x26800001 ! 1: BL bl,a <label_0x1>
.word 0xd65fc000 ! 49: LDX_R ldx [%r31 + %r0], %r11
ta T_CHANGE_HPRIV ! macro
add %r12, (donretarg_20_33-donret_20_33), %r12
add %r12, 0x8, %r11 ! nonseq tnpc
andn %r11, %r10, %r11 ! low VA tnpc
set (0x0044f600 | (28 << 24)), %r13
wrhpr %g0, 0x1d9, %htstate
ta T_CHANGE_NONHPRIV ! rand=1 (20)
.word 0x2e800001 ! 50: BVS bvs,a <label_0x1>
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_20_34) + 56, 16, 16)) -> intp(6,0,13,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_20_34)&0xffffffff) + 24, 16, 16)) -> intp(7,0,22,,,,,1)
.word 0xa9a4c9d1 ! 51: FDIVd fdivd %f50, %f48, %f20
.word 0xe927e172 ! 52: STF_I st %f20, [0x0172, %r31]
.word 0xe8bfc020 ! 53: STDA_R stda %r20, [%r31 + %r0] 0x01
setx 0x00000004003a0000, %r11, %r12
.word 0x8b90000c ! 54: WRPR_TBA_R wrpr %r0, %r12, %tba
.word 0xa5a409a1 ! 55: FDIVs fdivs %f16, %f1, %f18
.word 0xc3e88028 ! 56: PREFETCHA_R prefetcha [%r2, %r8] 0x01, #one_read
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xe937e050 ! 1: STQF_I - %f20, [0x0050, %r31]
.word 0xe91fe0b0 ! 57: LDDF_I ldd [%r31, 0x00b0], %f20
.word 0x97a509ad ! 58: FDIVs fdivs %f20, %f13, %f11
ta T_CHANGE_HPRIV ! macro
add %r12, (donretarg_20_40-donret_20_40+4), %r12
add %r12, 0x4, %r11 ! seq tnpc
andn %r12, %r10, %r12 ! low VA tpc
set (0x00eb8800 | (20 << 24)), %r13
wrhpr %g0, 0xa4b, %htstate
ta T_CHANGE_NONPRIV ! rand=0 (20)
.word 0x3c800001 ! 59: BPOS bpos,a <label_0x1>
.word 0x8584b307 ! 60: WRCCR_I wr %r18, 0x1307, %ccr
stxa %r10, [%r0] ASI_LSU_CONTROL
.word 0xe05fc000 ! 61: LDX_R ldx [%r31 + %r0], %r16
.word 0x9953c000 ! 62: RDPR_FQ <illegal instruction>
.word 0x97a049c5 ! 1: FDIVd fdivd %f32, %f36, %f42
.word 0x39400001 ! 63: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
stxa %r13, [%r0] ASI_LSU_CONTROL
stxa %r8, [%r0] ASI_LSU_CONTROL
.word 0xc30fc000 ! 64: LDXFSR_R ld-fsr [%r31, %r0], %f1
.word 0xc19fdc00 ! 65: LDDFA_R ldda [%r31, %r0], %f0
set sync_thr_counter5, %r23
sllx %o1, 5, %o3 !(CID*256)
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
and %l1, 0x3, %l1 ! Check if busy/enabled ..
stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
best_set_reg(0x20610070, %l1, %l2) !# Control Word
ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
.word 0xa1414000 ! 66: RDPC rd %pc, %r16
.word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
stxa %r18, [%r0+0x3c8] %asi
.word 0x9d940014 ! 67: WRPR_WSTATE_R wrpr %r16, %r20, %wstate
.word 0xa7a00173 ! 68: FABSq dis not found
.word 0x91940001 ! 69: WRPR_PIL_R wrpr %r16, %r1, %pil
.word 0x89800011 ! 70: WRTICK_R wr %r0, %r17, %tick
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_20_49)+8, 16, 16)) -> intp(mask2tid(0x20),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_20_49)&0xffffffff) + 0, 16, 16)) -> intp(mask2tid(0x20),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa9847665 ! 71: WR_SET_SOFTINT_I wr %r17, 0x1665, %set_softint
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_20_50) + 0, 16, 16)) -> intp(2,0,0,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_20_50)&0xffffffff) + 56, 16, 16)) -> intp(4,0,11,,,,,1)
.word 0x9f802b9c ! 1: SIR sir 0x0b9c
.word 0x9ba409d0 ! 72: FDIVd fdivd %f16, %f16, %f44
wr %r0,ASI_MMU_REAL_RANGE, %asi
ldxa [ASI_MMU_REAL_RANGE_0] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_0] %asi
ldxa [ASI_MMU_REAL_RANGE_1] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_1] %asi
ldxa [ASI_MMU_REAL_RANGE_2] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_2] %asi
ldxa [ASI_MMU_REAL_RANGE_3] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_3] %asi
.word 0x29800001 ! 73: FBL fbl,a <label_0x1>
stxa %r10, [%r0] ASI_LSU_CONTROL
.word 0xe45fc000 ! 74: LDX_R ldx [%r31 + %r0], %r18
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe5e7e00d ! 75: CASA_R casa [%r31] %asi, %r13, %r18
.word 0x91950014 ! 76: WRPR_PIL_R wrpr %r20, %r20, %pil
setx 0xffffffbcffffffa0, %g1, %g7
.word 0xa3800007 ! 77: WR_PERF_COUNTER_R wr %r0, %r7, %-
setx fp_data_quads, %r19, %r20
.word 0x8da009c4 ! 78: FDIVd fdivd %f0, %f4, %f6
best_set_reg(0xe1a00000, %r20, %r27)
.word 0xb7c6c000 ! 79: JMPL_R jmpl %r27 + %r0, %r27
stxa %r14, [%r0] ASI_LSU_CONTROL
.word 0xe45fc000 ! 80: LDX_R ldx [%r31 + %r0], %r18
.word 0x91b040f0 ! 81: EDGE16LN edge16ln %r1, %r16, %r8
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_20_58) + 24, 16, 16)) -> intp(2,0,6,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_20_58)&0xffffffff) + 16, 16, 16)) -> intp(6,0,2,,,,,1)
.word 0x99a309c9 ! 1: FDIVd fdivd %f12, %f40, %f12
.word 0xc36a6d47 ! 82: PREFETCH_I prefetch [%r9 + 0x0d47], #one_read
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe5e7e010 ! 83: CASA_R casa [%r31] %asi, %r16, %r18
setx fp_data_quads, %r19, %r20
.word 0x91a009c4 ! 84: FDIVd fdivd %f0, %f4, %f8
.word 0x87802010 ! 85: WRASI_I wr %r0, 0x0010, %asi
.word 0xe19fdc00 ! 86: LDDFA_R ldda [%r31, %r0], %f16
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 87: FBPULE fbule,a,pn %fcc0, <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 88: FBPULE fbule,a,pn %fcc0, <label_0x1>
wrhpr %r17, %g0, %hsys_tick_cmpr
.word 0xb3800011 ! 89: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
.word 0x22c98001 ! 1: BRZ brz,a,pt %r6,<label_0x98001>
.word 0xe45fc000 ! 90: LDX_R ldx [%r31 + %r0], %r18
.word 0x8b90000c ! 91: WRPR_TBA_R wrpr %r0, %r12, %tba
stxa %r19, [%g0] ASI_LSU_CONTROL
.word 0xe51fe0e0 ! 92: LDDF_I ldd [%r31, 0x00e0], %f18
.word 0x2d400001 ! 1: FBPG fbg,a,pn %fcc0, <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 93: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xe51fe1d0 ! 94: LDDF_I ldd [%r31, 0x01d0], %f18
.word 0xe527c000 ! 95: STF_R st %f18, [%r0, %r31]
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe5e7e010 ! 96: CASA_R casa [%r31] %asi, %r16, %r18
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_20_69)+0, 16, 16)) -> intp(mask2tid(0x20),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_20_69)&0xffffffff) + 0, 16, 16)) -> intp(mask2tid(0x20),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa981221e ! 97: WR_SET_SOFTINT_I wr %r4, 0x021e, %set_softint
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_20_70) + 40, 16, 16)) -> intp(4,0,28,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_20_70)&0xffffffff) + 32, 16, 16)) -> intp(7,0,15,,,,,1)
.word 0x39400001 ! 98: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
setx fp_data_quads, %r19, %r20
.word 0x87a80a44 ! 99: FCMPd fcmpd %fcc<n>, %f0, %f4
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 100: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0x9bb040f1 ! 101: EDGE16LN edge16ln %r1, %r17, %r13
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd7e7e008 ! 102: CASA_R casa [%r31] %asi, %r8, %r11
.word 0x25400001 ! 1: FBPLG fblg,a,pn %fcc0, <label_0x1>
.word 0xd65fc000 ! 103: LDX_R ldx [%r31 + %r0], %r11
wr %r0,ASI_MMU_REAL_RANGE, %asi
ldxa [ASI_MMU_REAL_RANGE_0] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_0] %asi
ldxa [ASI_MMU_REAL_RANGE_1] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_1] %asi
ldxa [ASI_MMU_REAL_RANGE_2] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_2] %asi
ldxa [ASI_MMU_REAL_RANGE_3] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_3] %asi
.word 0x29800001 ! 104: FBL fbl,a <label_0x1>
.word 0xe19fdc00 ! 105: LDDFA_R ldda [%r31, %r0], %f16
.word 0x2a800001 ! 1: BCS bcs,a <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 106: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xe1bfdb60 ! 107: STDFA_R stda %f16, [%r0, %r31]
.word 0x91948001 ! 108: WRPR_PIL_R wrpr %r18, %r1, %pil
.word 0x24800001 ! 1: BLE ble,a <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 109: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xe1bfdb60 ! 110: STDFA_R stda %f16, [%r0, %r31]
.word 0x93a489c8 ! 111: FDIVd fdivd %f18, %f8, %f40
.word 0xc1bfc2c0 ! 112: STDFA_R stda %f0, [%r0, %r31]
.word 0x9f80391f ! 113: SIR sir 0x191f
.word 0xe1bfe0a0 ! 114: STDFA_I stda %f16, [0x00a0, %r31]
.word 0x22cd0001 ! 1: BRZ brz,a,pt %r20,<label_0xd0001>
.word 0xe65fc000 ! 115: LDX_R ldx [%r31 + %r0], %r19
best_set_reg(0xe1a00000, %r20, %r27)
.word 0xb7c6c000 ! 116: JMPL_R jmpl %r27 + %r0, %r27
setx 0x00000004003a0000, %r11, %r12
.word 0x8b90000c ! 117: WRPR_TBA_R wrpr %r0, %r12, %tba
.word 0x91928011 ! 118: WRPR_PIL_R wrpr %r10, %r17, %pil
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_20_85)+8, 16, 16)) -> intp(mask2tid(0x20),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_20_85)&0xffffffff) + 0, 16, 16)) -> intp(mask2tid(0x20),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa981e559 ! 119: WR_SET_SOFTINT_I wr %r7, 0x0559, %set_softint
.word 0x93902003 ! 120: WRPR_CWP_I wrpr %r0, 0x0003, %cwp
stxa %r14, [%r0] ASI_LSU_CONTROL
.word 0xe65fc000 ! 121: LDX_R ldx [%r31 + %r0], %r19
ta T_CHANGE_HPRIV ! macro
add %r12, (donretarg_20_87-donret_20_87), %r12
add %r12, 0x4, %r11 ! seq tnpc
andn %r11, %r10, %r11 ! low VA tnpc
set (0x00f24300 | (0x83 << 24)), %r13
wrhpr %g0, 0x347, %htstate
ta T_CHANGE_NONPRIV ! rand=0 (20)
.word 0xe66fe019 ! 122: LDSTUB_I ldstub %r19, [%r31 + 0x0019]
wr %r0,ASI_MMU_REAL_RANGE, %asi
ldxa [ASI_MMU_REAL_RANGE_0] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_0] %asi
ldxa [ASI_MMU_REAL_RANGE_1] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_1] %asi
ldxa [ASI_MMU_REAL_RANGE_2] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_2] %asi
ldxa [ASI_MMU_REAL_RANGE_3] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_3] %asi
.word 0x29800001 ! 123: FBL fbl,a <label_0x1>
.word 0x9745c000 ! 124: RD_TICK_CMPR_REG rd %-, %r11
.word 0xc19fde00 ! 125: LDDFA_R ldda [%r31, %r0], %f0
set sync_thr_counter5, %r23
sllx %o1, 5, %o3 !(CID*256)
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
and %l1, 0x3, %l1 ! Check if busy/enabled ..
stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
best_set_reg(0x206100a0, %l1, %l2) !# Control Word
ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
.word 0xa5414000 ! 126: RDPC rd %pc, %r18
.word 0xa7a00171 ! 127: FABSq dis not found
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_20_91)+0, 16, 16)) -> intp(mask2tid(0x20),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_20_91)&0xffffffff) + 24, 16, 16)) -> intp(mask2tid(0x20),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa9836ca2 ! 128: WR_SET_SOFTINT_I wr %r13, 0x0ca2, %set_softint
.word 0x85806323 ! 129: WRCCR_I wr %r1, 0x0323, %ccr
.word 0x93b0c4c9 ! 130: FCMPNE32 fcmpne32 %d34, %d40, %r9
.word 0x89800011 ! 131: WRTICK_R wr %r0, %r17, %tick
.word 0x8584bc28 ! 132: WRCCR_I wr %r18, 0x1c28, %ccr
.word 0x3c800001 ! 1: BPOS bpos,a <label_0x1>
.word 0x8198368f ! 133: WRHPR_HPSTATE_I wrhpr %r0, 0x168f, %hpstate
best_set_reg(0xe1a00000, %r20, %r27)
.word 0xb7c6c000 ! 134: JMPL_R jmpl %r27 + %r0, %r27
stxa %r11, [%r0] ASI_LSU_CONTROL
.word 0x9f80367d ! 1: SIR sir 0x167d
stxa %r16, [%r0] ASI_LSU_CONTROL
.word 0xc32fc000 ! 135: STXFSR_R st-sfr %f1, [%r0, %r31]
.word 0x8d9030e8 ! 136: WRPR_PSTATE_I wrpr %r0, 0x10e8, %pstate
.word 0x99a00168 ! 137: FABSq dis not found
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe1e7e010 ! 138: CASA_R casa [%r31] %asi, %r16, %r16
.word 0xa7b140e7 ! 139: EDGE16LN edge16ln %r5, %r7, %r19
.word 0x30800001 ! 1: BA ba,a <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 140: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0x95684011 ! 141: SDIVX_R sdivx %r1, %r17, %r10
.word 0xe19fe000 ! 142: LDDFA_I ldda [%r31, 0x0000], %f16
.word 0x91940001 ! 143: WRPR_PIL_R wrpr %r16, %r1, %pil
.word 0x81983d8f ! 144: WRHPR_HPSTATE_I wrhpr %r0, 0x1d8f, %hpstate
.word 0x89800011 ! 145: WRTICK_R wr %r0, %r17, %tick
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd1e7e00b ! 146: CASA_R casa [%r31] %asi, %r11, %r8
setx fp_data_quads, %r19, %r20
.word 0x91a009a4 ! 147: FDIVs fdivs %f0, %f4, %f8
setx 0xe83f03ce9e2cda7d, %r1, %r28
.word 0x25400001 ! 148: FBPLG fblg,a,pn %fcc0, <label_0x1>
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xd06fe030 ! 1: LDSTUB_I ldstub %r8, [%r31 + 0x0030]
.word 0xd11fe060 ! 149: LDDF_I ldd [%r31, 0x0060], %f8
.word 0x3b400001 ! 1: FBPLE fble,a,pn %fcc0, <label_0x1>
.word 0x8d903a23 ! 150: WRPR_PSTATE_I wrpr %r0, 0x1a23, %pstate
setx join_lbl_0_0, %g1, %g2
.word 0xe877e0ba ! 1: STX_I stx %r20, [%r31 + 0x00ba]
.word 0x9d902002 ! 2: WRPR_WSTATE_I wrpr %r0, 0x0002, %wstate
.word 0xe93fe0a8 ! 3: STDF_I std %f20, [0x00a8, %r31]
setx fp_data_quads, %r19, %r20
.word 0x87a80a44 ! 4: FCMPd fcmpd %fcc<n>, %f0, %f4
.word 0x33400001 ! 1: FBPE fbe,a,pn %fcc0, <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 5: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0x81983f1b ! 6: WRHPR_HPSTATE_I wrhpr %r0, 0x1f1b, %hpstate
.word 0x8584abeb ! 7: WRCCR_I wr %r18, 0x0beb, %ccr
.word 0x29400001 ! 1: FBPL fbl,a,pn %fcc0, <label_0x1>
.word 0xe85fc000 ! 8: LDX_R ldx [%r31 + %r0], %r20
.word 0xe19fe040 ! 9: LDDFA_I ldda [%r31, 0x0040], %f16
.word 0x89800011 ! 10: WRTICK_R wr %r0, %r17, %tick
.word 0xe1bfc3e0 ! 11: STDFA_R stda %f16, [%r0, %r31]
stxa %r19, [%g0] ASI_LSU_CONTROL
.word 0xc1bfdf20 ! 12: STDFA_R stda %f0, [%r0, %r31]
.word 0x3c800001 ! 13: BPOS bpos,a <label_0x1>
best_set_reg(0xe0200000, %r20, %r27)
.word 0xb7c6c000 ! 14: JMPL_R jmpl %r27 + %r0, %r27
setx 0xffffffbcffffffac, %g1, %g7
.word 0xa3800007 ! 15: WR_PERF_COUNTER_R wr %r0, %r7, %-
best_set_reg(0xe0200000, %r20, %r27)
.word 0xb7c6c000 ! 16: JMPL_R jmpl %r27 + %r0, %r27
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe9e7e010 ! 17: CASA_R casa [%r31] %asi, %r16, %r20
.word 0x87802058 ! 18: WRASI_I wr %r0, 0x0058, %asi
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 19: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xe93fe169 ! 20: STDF_I std %f20, [0x0169, %r31]
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xa9b7c7c9 ! 1: PDIST pdistn %d62, %d40, %d20
.word 0x87aa8a51 ! 21: FCMPd fcmpd %fcc<n>, %f10, %f48
.word 0x32800001 ! 1: BNE bne,a <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 22: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xe19fd960 ! 23: LDDFA_R ldda [%r31, %r0], %f16
.word 0xe1bfda00 ! 24: STDFA_R stda %f16, [%r0, %r31]
setx 0xffffffb1ffffffad, %g1, %g7
.word 0xa3800007 ! 25: WR_PERF_COUNTER_R wr %r0, %r7, %-
.word 0xa7a349d4 ! 1: FDIVd fdivd %f44, %f20, %f50
.word 0x95b144d4 ! 26: FCMPNE32 fcmpne32 %d36, %d20, %r10
.word 0x91944012 ! 27: WRPR_PIL_R wrpr %r17, %r18, %pil
.word 0xd85fc000 ! 28: LDX_R ldx [%r31 + %r0], %r12
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_10_17)+24, 16, 16)) -> intp(mask2tid(0x10),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_10_17)&0xffffffff) + 0, 16, 16)) -> intp(mask2tid(0x10),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa9852545 ! 29: WR_SET_SOFTINT_I wr %r20, 0x0545, %set_softint
.word 0xa7a00161 ! 30: FABSq dis not found
.word 0xa3a00167 ! 31: FABSq dis not found
tsubcctv %r6, 0x1575, %r16
.word 0xd807e1d1 ! 32: LDUW_I lduw [%r31 + 0x01d1], %r12
.word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
stxa %r2, [%r0+0x3e0] %asi
.word 0x9d940010 ! 33: WRPR_WSTATE_R wrpr %r16, %r16, %wstate
.word 0xb181800b ! 34: WR_STICK_REG_R wr %r6, %r11, %-
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd9e7e00b ! 35: CASA_R casa [%r31] %asi, %r11, %r12
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd9e7e010 ! 36: CASA_R casa [%r31] %asi, %r16, %r12
.word 0x8b90000c ! 37: WRPR_TBA_R wrpr %r0, %r12, %tba
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 38: FBPULE fbule,a,pn %fcc0, <label_0x1>
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_10_26) + 40, 16, 16)) -> intp(6,0,11,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_10_26)&0xffffffff) + 48, 16, 16)) -> intp(2,0,27,,,,,1)
.word 0x9ba489c3 ! 1: FDIVd fdivd %f18, %f34, %f44
.word 0xa7b284d0 ! 39: FCMPNE32 fcmpne32 %d10, %d16, %r19
.word 0xd727e0e0 ! 40: STF_I st %f11, [0x00e0, %r31]
.word 0xd627e09e ! 41: STW_I stw %r11, [%r31 + 0x009e]
best_set_reg(0xe0200000, %r20, %r27)
.word 0xb7c6c000 ! 42: JMPL_R jmpl %r27 + %r0, %r27
.word 0x8b90000c ! 43: WRPR_TBA_R wrpr %r0, %r12, %tba
stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
.word 0x97b487c4 ! 44: PDIST pdistn %d18, %d4, %d42
setx 0xffffffb5ffffffa7, %g1, %g7
.word 0xa3800007 ! 45: WR_PERF_COUNTER_R wr %r0, %r7, %-
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xe3e7c032 ! 1: CASA_I casa [%r31] 0x 1, %r18, %r17
.word 0xe29fe1c0 ! 46: LDDA_I ldda [%r31, + 0x01c0] %asi, %r17
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xe26fe0d0 ! 1: LDSTUB_I ldstub %r17, [%r31 + 0x00d0]
stxa %r12, [%r0] ASI_LSU_CONTROL
.word 0x95aac830 ! 47: FMOVGE fmovs %fcc1, %f16, %f10
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xd737e160 ! 1: STQF_I - %f11, [0x0160, %r31]
.word 0xd69fc032 ! 48: LDDA_R ldda [%r31, %r18] 0x01, %r11
.word 0x2e800001 ! 1: BVS bvs,a <label_0x1>
.word 0xd65fc000 ! 49: LDX_R ldx [%r31 + %r0], %r11
ta T_CHANGE_HPRIV ! macro
add %r12, (donretarg_10_33-donret_10_33), %r12
add %r12, 0x8, %r11 ! nonseq tnpc
andn %r11, %r10, %r11 ! low VA tnpc
set (0x00454600 | (0x89 << 24)), %r13
wrhpr %g0, 0x190f, %htstate
ta T_CHANGE_NONHPRIV ! rand=1 (10)
.word 0x26c98001 ! 50: BRLZ brlz,a,pt %r6,<label_0x98001>
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_10_34) + 48, 16, 16)) -> intp(6,0,9,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_10_34)&0xffffffff) + 48, 16, 16)) -> intp(4,0,19,,,,,1)
.word 0x39400001 ! 51: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
.word 0xe927e123 ! 52: STF_I st %f20, [0x0123, %r31]
.word 0xe8bfc020 ! 53: STDA_R stda %r20, [%r31 + %r0] 0x01
setx 0x0000000000380000, %r11, %r12
.word 0x8b90000c ! 54: WRPR_TBA_R wrpr %r0, %r12, %tba
.word 0xc3ea0023 ! 55: PREFETCHA_R prefetcha [%r8, %r3] 0x01, #one_read
.word 0xa7a349c7 ! 56: FDIVd fdivd %f44, %f38, %f50
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xe937e0f0 ! 1: STQF_I - %f20, [0x00f0, %r31]
.word 0xe8dfc032 ! 57: LDXA_R ldxa [%r31, %r18] 0x01, %r20
.word 0xa5702576 ! 58: POPC_I popc 0x0576, %r18
ta T_CHANGE_HPRIV ! macro
add %r12, (donretarg_10_40-donret_10_40+4), %r12
add %r12, 0x4, %r11 ! seq tnpc
andn %r12, %r10, %r12 ! low VA tpc
set (0x00e23500 | (54 << 24)), %r13
wrhpr %g0, 0x1f5e, %htstate
ta T_CHANGE_NONPRIV ! rand=0 (10)
.word 0x27400001 ! 59: FBPUL fbul,a,pn %fcc0, <label_0x1>
.word 0x8584f3df ! 60: WRCCR_I wr %r19, 0x13df, %ccr
.word 0xe05fc000 ! 61: LDX_R ldx [%r31 + %r0], %r16
.word 0xa953c000 ! 62: RDPR_FQ <illegal instruction>
.word 0x9ba049cc ! 63: FDIVd fdivd %f32, %f12, %f44
.word 0xc36fe052 ! 64: PREFETCH_I prefetch [%r31 + 0x0052], #one_read
.word 0xe19fd960 ! 65: LDDFA_R ldda [%r31, %r0], %f16
set sync_thr_counter5, %r23
sllx %o1, 5, %o3 !(CID*256)
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
and %l1, 0x3, %l1 ! Check if busy/enabled ..
stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
best_set_reg(0x206100b0, %l1, %l2) !# Control Word
ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
.word 0xa3414000 ! 66: RDPC rd %pc, %r17
.word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
stxa %r12, [%r0+0x3e0] %asi
.word 0x9d914001 ! 67: WRPR_WSTATE_R wrpr %r5, %r1, %wstate
.word 0xa5a00165 ! 68: FABSq dis not found
.word 0x91950012 ! 69: WRPR_PIL_R wrpr %r20, %r18, %pil
.word 0x89800011 ! 70: WRTICK_R wr %r0, %r17, %tick
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_10_49)+0, 16, 16)) -> intp(mask2tid(0x10),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_10_49)&0xffffffff) + 0, 16, 16)) -> intp(mask2tid(0x10),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa984b66f ! 71: WR_SET_SOFTINT_I wr %r18, 0x166f, %set_softint
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_10_50) + 56, 16, 16)) -> intp(3,0,27,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_10_50)&0xffffffff) + 32, 16, 16)) -> intp(1,0,17,,,,,1)
.word 0x39400001 ! 1: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
.word 0x39400001 ! 72: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
.word 0x29800001 ! 73: FBL fbl,a <label_0x1>
.word 0xe45fc000 ! 74: LDX_R ldx [%r31 + %r0], %r18
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe5e7e00d ! 75: CASA_R casa [%r31] %asi, %r13, %r18
.word 0x91944011 ! 76: WRPR_PIL_R wrpr %r17, %r17, %pil
setx 0xffffffbcffffffa8, %g1, %g7
.word 0xa3800007 ! 77: WR_PERF_COUNTER_R wr %r0, %r7, %-
setx fp_data_quads, %r19, %r20
.word 0xc3e82b59 ! 78: PREFETCHA_I prefetcha [%r0, + 0x0b59] %asi, #one_read
best_set_reg(0xe0200000, %r20, %r27)
.word 0xb7c6c000 ! 79: JMPL_R jmpl %r27 + %r0, %r27
.word 0xe45fc000 ! 80: LDX_R ldx [%r31 + %r0], %r18
.word 0xa9b300f0 ! 81: EDGE16LN edge16ln %r12, %r16, %r20
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_10_58) + 24, 16, 16)) -> intp(3,0,16,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_10_58)&0xffffffff) + 16, 16, 16)) -> intp(3,0,20,,,,,1)
.word 0x39400001 ! 1: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
.word 0x9f802b35 ! 82: SIR sir 0x0b35
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe5e7e011 ! 83: CASA_R casa [%r31] %asi, %r17, %r18
setx fp_data_quads, %r19, %r20
.word 0x91a009a4 ! 84: FDIVs fdivs %f0, %f4, %f8
.word 0x8780201c ! 85: WRASI_I wr %r0, 0x001c, %asi
.word 0xe19fdf20 ! 86: LDDFA_R ldda [%r31, %r0], %f16
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 87: FBPULE fbule,a,pn %fcc0, <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 88: FBPULE fbule,a,pn %fcc0, <label_0x1>
wrhpr %r17, %g0, %hsys_tick_cmpr
.word 0xb3800011 ! 89: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
.word 0x2b400001 ! 1: FBPUG fbug,a,pn %fcc0, <label_0x1>
.word 0xe45fc000 ! 90: LDX_R ldx [%r31 + %r0], %r18
.word 0x8b90000c ! 91: WRPR_TBA_R wrpr %r0, %r12, %tba
stxa %r19, [%g0] ASI_LSU_CONTROL
.word 0xe51fe070 ! 92: LDDF_I ldd [%r31, 0x0070], %f18
.word 0x34800001 ! 1: BG bg,a <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 93: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xe5e7e008 ! 94: CASA_R casa [%r31] %asi, %r8, %r18
.word 0xe527c000 ! 95: STF_R st %f18, [%r0, %r31]
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe5e7e00a ! 96: CASA_R casa [%r31] %asi, %r10, %r18
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_10_69)+8, 16, 16)) -> intp(mask2tid(0x10),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_10_69)&0xffffffff) + 0, 16, 16)) -> intp(mask2tid(0x10),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa982e29f ! 97: WR_SET_SOFTINT_I wr %r11, 0x029f, %set_softint
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_10_70) + 56, 16, 16)) -> intp(0,0,31,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_10_70)&0xffffffff) + 56, 16, 16)) -> intp(4,0,24,,,,,1)
.word 0x97b0c4c2 ! 98: FCMPNE32 fcmpne32 %d34, %d2, %r11
setx fp_data_quads, %r19, %r20
.word 0x89a009c4 ! 99: FDIVd fdivd %f0, %f4, %f4
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 100: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xa3b340f4 ! 101: EDGE16LN edge16ln %r13, %r20, %r17
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd7e7e00c ! 102: CASA_R casa [%r31] %asi, %r12, %r11
.word 0x24800001 ! 1: BLE ble,a <label_0x1>
.word 0xd65fc000 ! 103: LDX_R ldx [%r31 + %r0], %r11
.word 0x29800001 ! 104: FBL fbl,a <label_0x1>
.word 0xe1bfc2c0 ! 105: STDFA_R stda %f16, [%r0, %r31]
.word 0x2f400001 ! 1: FBPU fbu,a,pn %fcc0, <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 106: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xc1bfdf20 ! 107: STDFA_R stda %f0, [%r0, %r31]
.word 0x91948011 ! 108: WRPR_PIL_R wrpr %r18, %r17, %pil
.word 0x38800001 ! 1: BGU bgu,a <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 109: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xc1bfdc00 ! 110: STDFA_R stda %f0, [%r0, %r31]
.word 0x99b344c7 ! 111: FCMPNE32 fcmpne32 %d44, %d38, %r12
.word 0xe1bfc3e0 ! 112: STDFA_R stda %f16, [%r0, %r31]
.word 0x91a409d2 ! 113: FDIVd fdivd %f16, %f18, %f8
.word 0xe1bfe0e0 ! 114: STDFA_I stda %f16, [0x00e0, %r31]
.word 0x39400001 ! 1: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
.word 0xe65fc000 ! 115: LDX_R ldx [%r31 + %r0], %r19
best_set_reg(0xe0200000, %r20, %r27)
.word 0xb7c6c000 ! 116: JMPL_R jmpl %r27 + %r0, %r27
setx 0x0000000000380000, %r11, %r12
.word 0x8b90000c ! 117: WRPR_TBA_R wrpr %r0, %r12, %tba
.word 0x91914012 ! 118: WRPR_PIL_R wrpr %r5, %r18, %pil
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_10_85)+8, 16, 16)) -> intp(mask2tid(0x10),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_10_85)&0xffffffff) + 48, 16, 16)) -> intp(mask2tid(0x10),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa982a580 ! 119: WR_SET_SOFTINT_I wr %r10, 0x0580, %set_softint
.word 0x93902005 ! 120: WRPR_CWP_I wrpr %r0, 0x0005, %cwp
.word 0xe65fc000 ! 121: LDX_R ldx [%r31 + %r0], %r19
ta T_CHANGE_HPRIV ! macro
add %r12, (donretarg_10_87-donret_10_87), %r12
add %r12, 0x4, %r11 ! seq tnpc
andn %r11, %r10, %r11 ! low VA tnpc
set (0x00710100 | (28 << 24)), %r13
wrhpr %g0, 0x109f, %htstate
ta T_CHANGE_NONPRIV ! rand=0 (10)
.word 0xe66fe0a9 ! 122: LDSTUB_I ldstub %r19, [%r31 + 0x00a9]
.word 0x29800001 ! 123: FBL fbl,a <label_0x1>
.word 0x9345c000 ! 124: RD_TICK_CMPR_REG rd %-, %r9
.word 0xe19fde00 ! 125: LDDFA_R ldda [%r31, %r0], %f16
set sync_thr_counter5, %r23
sllx %o1, 5, %o3 !(CID*256)
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
and %l1, 0x3, %l1 ! Check if busy/enabled ..
stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
best_set_reg(0x206100a0, %l1, %l2) !# Control Word
ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
.word 0x99414000 ! 126: RDPC rd %pc, %r12
.word 0xa3a00174 ! 127: FABSq dis not found
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_10_91)+32, 16, 16)) -> intp(mask2tid(0x10),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_10_91)&0xffffffff) + 24, 16, 16)) -> intp(mask2tid(0x10),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa98331ba ! 128: WR_SET_SOFTINT_I wr %r12, 0x11ba, %set_softint
.word 0x8584be90 ! 129: WRCCR_I wr %r18, 0x1e90, %ccr
.word 0xc36caf4d ! 130: PREFETCH_I prefetch [%r18 + 0x0f4d], #one_read
.word 0x89800011 ! 131: WRTICK_R wr %r0, %r17, %tick
.word 0x8584e87d ! 132: WRCCR_I wr %r19, 0x087d, %ccr
.word 0x26ca4001 ! 1: BRLZ brlz,a,pt %r9,<label_0xa4001>
.word 0x81983d97 ! 133: WRHPR_HPSTATE_I wrhpr %r0, 0x1d97, %hpstate
best_set_reg(0xe0200000, %r20, %r27)
.word 0xb7c6c000 ! 134: JMPL_R jmpl %r27 + %r0, %r27
.word 0xd3e7c020 ! 135: CASA_I casa [%r31] 0x 1, %r0, %r9
.word 0x8d903af5 ! 136: WRPR_PSTATE_I wrpr %r0, 0x1af5, %pstate
.word 0x99a00171 ! 137: FABSq dis not found
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe1e7e010 ! 138: CASA_R casa [%r31] %asi, %r16, %r16
.word 0xa9b0c0e6 ! 139: EDGE16LN edge16ln %r3, %r6, %r20
.word 0x3b400001 ! 1: FBPLE fble,a,pn %fcc0, <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 140: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0x996b4011 ! 141: SDIVX_R sdivx %r13, %r17, %r12
.word 0xc19fe060 ! 142: LDDFA_I ldda [%r31, 0x0060], %f0
.word 0x9194400a ! 143: WRPR_PIL_R wrpr %r17, %r10, %pil
.word 0x819821cd ! 144: WRHPR_HPSTATE_I wrhpr %r0, 0x01cd, %hpstate
.word 0x89800011 ! 145: WRTICK_R wr %r0, %r17, %tick
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd1e7e011 ! 146: CASA_R casa [%r31] %asi, %r17, %r8
setx fp_data_quads, %r19, %r20
.word 0x89a009a4 ! 147: FDIVs fdivs %f0, %f4, %f4
setx 0x18ce3ecde50394c5, %r1, %r28
.word 0x25400001 ! 148: FBPLG fblg,a,pn %fcc0, <label_0x1>
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xd06fe1b0 ! 1: LDSTUB_I ldstub %r8, [%r31 + 0x01b0]
.word 0xd13fc00b ! 149: STDF_R std %f8, [%r11, %r31]
.word 0x32800001 ! 1: BNE bne,a <label_0x1>
.word 0x8d90368d ! 150: WRPR_PSTATE_I wrpr %r0, 0x168d, %pstate
setx join_lbl_0_0, %g1, %g2
.word 0xe877e039 ! 1: STX_I stx %r20, [%r31 + 0x0039]
.word 0x9d902005 ! 2: WRPR_WSTATE_I wrpr %r0, 0x0005, %wstate
.word 0xe93fe1b1 ! 3: STDF_I std %f20, [0x01b1, %r31]
setx fp_data_quads, %r19, %r20
.word 0x91a009a4 ! 4: FDIVs fdivs %f0, %f4, %f8
.word 0x20800001 ! 1: BN bn,a <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 5: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0x819824d5 ! 6: WRHPR_HPSTATE_I wrhpr %r0, 0x04d5, %hpstate
.word 0x85852cd0 ! 7: WRCCR_I wr %r20, 0x0cd0, %ccr
.word 0x26800001 ! 1: BL bl,a <label_0x1>
.word 0x9d97c000 ! 1: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
.word 0x9d97c000 ! 1: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
.word 0xe85fc000 ! 8: LDX_R ldx [%r31 + %r0], %r20
.word 0xe19fe1c0 ! 9: LDDFA_I ldda [%r31, 0x01c0], %f16
.word 0x89800011 ! 10: WRTICK_R wr %r0, %r17, %tick
.word 0xe1bfdc00 ! 11: STDFA_R stda %f16, [%r0, %r31]
stxa %r19, [%g0] ASI_LSU_CONTROL
.word 0xc19fdc00 ! 12: LDDFA_R ldda [%r31, %r0], %f0
.word 0x3c800001 ! 13: BPOS bpos,a <label_0x1>
best_set_reg(0xe0a00000, %r20, %r27)
.word 0xb7c6c000 ! 14: JMPL_R jmpl %r27 + %r0, %r27
setx 0xffffffb9ffffffa2, %g1, %g7
.word 0xa3800007 ! 15: WR_PERF_COUNTER_R wr %r0, %r7, %-
best_set_reg(0xe0a00000, %r20, %r27)
.word 0xb7c6c000 ! 16: JMPL_R jmpl %r27 + %r0, %r27
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe9e7e009 ! 17: CASA_R casa [%r31] %asi, %r9, %r20
.word 0x87802055 ! 18: WRASI_I wr %r0, 0x0055, %asi
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 19: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xe93fe001 ! 20: STDF_I std %f20, [0x0001, %r31]
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xa9b7c7d2 ! 1: PDIST pdistn %d62, %d18, %d20
.word 0x9f8021b2 ! 21: SIR sir 0x01b2
.word 0x36800001 ! 1: BGE bge,a <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 22: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xe19fd960 ! 23: LDDFA_R ldda [%r31, %r0], %f16
.word 0xe1bfdc00 ! 24: STDFA_R stda %f16, [%r0, %r31]
setx 0xffffffb0ffffffab, %g1, %g7
.word 0xa3800007 ! 25: WR_PERF_COUNTER_R wr %r0, %r7, %-
.word 0xa7a449d4 ! 1: FDIVd fdivd %f48, %f20, %f50
.word 0xa9a109d3 ! 26: FDIVd fdivd %f4, %f50, %f20
.word 0x91914007 ! 27: WRPR_PIL_R wrpr %r5, %r7, %pil
stxa %r7, [%r0] ASI_LSU_CONTROL
.word 0xbfefc000 ! 1: RESTORE_R restore %r31, %r0, %r31
.word 0xbfefc000 ! 1: RESTORE_R restore %r31, %r0, %r31
.word 0xd85fc000 ! 28: LDX_R ldx [%r31 + %r0], %r12
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_8_17)+40, 16, 16)) -> intp(mask2tid(0x8),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_8_17)&0xffffffff) + 56, 16, 16)) -> intp(mask2tid(0x8),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa9853de9 ! 29: WR_SET_SOFTINT_I wr %r20, 0x1de9, %set_softint
.word 0xa5a00172 ! 30: FABSq dis not found
.word 0x95a00164 ! 31: FABSq dis not found
tsubcctv %r18, 0x13eb, %r13
.word 0xd807e1e8 ! 32: LDUW_I lduw [%r31 + 0x01e8], %r12
.word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
stxa %r12, [%r0+0x3e0] %asi
.word 0x9d90800c ! 33: WRPR_WSTATE_R wrpr %r2, %r12, %wstate
.word 0xb180c013 ! 34: WR_STICK_REG_R wr %r3, %r19, %-
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd9e7e009 ! 35: CASA_R casa [%r31] %asi, %r9, %r12
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd9e7e00d ! 36: CASA_R casa [%r31] %asi, %r13, %r12
.word 0x8b90000c ! 37: WRPR_TBA_R wrpr %r0, %r12, %tba
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 38: FBPULE fbule,a,pn %fcc0, <label_0x1>
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_8_26) + 0, 16, 16)) -> intp(0,0,8,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_8_26)&0xffffffff) + 32, 16, 16)) -> intp(1,0,5,,,,,1)
.word 0xc368aeb1 ! 1: PREFETCH_I prefetch [%r2 + 0x0eb1], #one_read
.word 0x9f803c22 ! 39: SIR sir 0x1c22
.word 0xd727e077 ! 40: STF_I st %f11, [0x0077, %r31]
.word 0xd627e05e ! 41: STW_I stw %r11, [%r31 + 0x005e]
best_set_reg(0xe0a00000, %r20, %r27)
.word 0xb7c6c000 ! 42: JMPL_R jmpl %r27 + %r0, %r27
.word 0x8b90000c ! 43: WRPR_TBA_R wrpr %r0, %r12, %tba
stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
.word 0x99b247d2 ! 44: PDIST pdistn %d40, %d18, %d12
setx 0xffffffb4ffffffa7, %g1, %g7
.word 0xa3800007 ! 45: WR_PERF_COUNTER_R wr %r0, %r7, %-
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xe3e7c030 ! 1: CASA_I casa [%r31] 0x 1, %r16, %r17
.word 0xe31fc00c ! 46: LDDF_R ldd [%r31, %r12], %f17
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xe26fe0c0 ! 1: LDSTUB_I ldstub %r17, [%r31 + 0x00c0]
stxa %r7, [%r0] ASI_LSU_CONTROL
.word 0x97aac832 ! 47: FMOVGE fmovs %fcc1, %f18, %f11
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xd737e180 ! 1: STQF_I - %f11, [0x0180, %r31]
.word 0xc32fc014 ! 48: STXFSR_R st-sfr %f1, [%r20, %r31]
.word 0x2e800001 ! 1: BVS bvs,a <label_0x1>
.word 0xd65fc000 ! 49: LDX_R ldx [%r31 + %r0], %r11
ta T_CHANGE_HPRIV ! macro
add %r12, (donretarg_8_33-donret_8_33), %r12
add %r12, 0x8, %r11 ! nonseq tnpc
andn %r11, %r10, %r11 ! low VA tnpc
set (0x002c4800 | (0x58 << 24)), %r13
wrhpr %g0, 0x645, %htstate
ta T_CHANGE_NONHPRIV ! rand=1 (8)
.word 0x2f400001 ! 50: FBPU fbu,a,pn %fcc0, <label_0x1>
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_8_34) + 48, 16, 16)) -> intp(3,0,15,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_8_34)&0xffffffff) + 8, 16, 16)) -> intp(0,0,26,,,,,1)
.word 0xc369fb4d ! 51: PREFETCH_I prefetch [%r7 + 0xfffffb4d], #one_read
.word 0xe927e1b0 ! 52: STF_I st %f20, [0x01b0, %r31]
.word 0xe8bfc020 ! 53: STDA_R stda %r20, [%r31 + %r0] 0x01
setx 0x00000000003a0000, %r11, %r12
.word 0x8b90000c ! 54: WRPR_TBA_R wrpr %r0, %r12, %tba
set sync_thr_counter4, %r23
and %r8, 0x38, %r8 ! Core ID
cas [%r23],%g0,%r16 !lock
brz,a %r16, continue_iaw_8_36
sllx %r16, %r8, %r16 !Mask for my core only
ldxa [0x58]%asi, %r17 !Running_status
ldxa [0x50]%asi, %r13 !Running_rw
bne,a %xcc, wait_for_stat_8_36
ldxa [0x58]%asi, %r17 !Running_status
stxa %r16, [0x68]%asi !Park (W1C)
ldxa [0x50]%asi, %r14 !Running_rw
ldxa [0x58]%asi, %r17 !Running_status
bne,a %xcc, wait_for_iaw_8_36
ldxa [0x50]%asi, %r14 !Running_rw
stxa %r16, [0x60] %asi ! Unpark (W1S)
st %g0, [%r23] !clear lock
wr %r0, %r12, %asi ! restore %asi
.word 0x97b40486 ! 55: FCMPLE32 fcmple32 %d16, %d6, %r11
.word 0xa3703380 ! 56: POPC_I popc 0x1380, %r17
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xe937e0b0 ! 1: STQF_I - %f20, [0x00b0, %r31]
.word 0xe9e7e00b ! 57: CASA_R casa [%r31] %asi, %r11, %r20
.word 0xa3a409b0 ! 58: FDIVs fdivs %f16, %f16, %f17
ta T_CHANGE_HPRIV ! macro
add %r12, (donretarg_8_40-donret_8_40+4), %r12
add %r12, 0x4, %r11 ! seq tnpc
andn %r12, %r10, %r12 ! low VA tpc
set (0x00dea800 | (48 << 24)), %r13
wrhpr %g0, 0x1ad7, %htstate
ta T_CHANGE_NONPRIV ! rand=0 (8)
.word 0x25400001 ! 59: FBPLG fblg,a,pn %fcc0, <label_0x1>
.word 0x85847b29 ! 60: WRCCR_I wr %r17, 0x1b29, %ccr
stxa %r14, [%r0] ASI_LSU_CONTROL
.word 0xbfefc000 ! 1: RESTORE_R restore %r31, %r0, %r31
.word 0xe05fc000 ! 61: LDX_R ldx [%r31 + %r0], %r16
.word 0x9153c000 ! 62: RDPR_FQ <illegal instruction>
fbuge,a,pn %fcc0, skip_8_42
.word 0x87a8ca44 ! 63: FCMPd fcmpd %fcc<n>, %f34, %f4
fbg,a,pn %fcc0, skip_8_43
stxa %r18, [%r0] ASI_LSU_CONTROL
fbug,a,pn %fcc0, skip_8_43
stxa %r15, [%r0] ASI_LSU_CONTROL
.word 0xc30fc000 ! 64: LDXFSR_R ld-fsr [%r31, %r0], %f1
.word 0xc19fc2c0 ! 65: LDDFA_R ldda [%r31, %r0], %f0
set sync_thr_counter5, %r23
sllx %o1, 5, %o3 !(CID*256)
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
and %l1, 0x3, %l1 ! Check if busy/enabled ..
stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
best_set_reg(0x20610070, %l1, %l2) !# Control Word
ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
.word 0x97414000 ! 66: RDPC rd %pc, %r11
.word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
stxa %r8, [%r0+0x3c8] %asi
.word 0x9d94000c ! 67: WRPR_WSTATE_R wrpr %r16, %r12, %wstate
.word 0xa7a00161 ! 68: FABSq dis not found
.word 0x91948004 ! 69: WRPR_PIL_R wrpr %r18, %r4, %pil
.word 0x89800011 ! 70: WRTICK_R wr %r0, %r17, %tick
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_8_49)+56, 16, 16)) -> intp(mask2tid(0x8),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_8_49)&0xffffffff) + 48, 16, 16)) -> intp(mask2tid(0x8),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa981f201 ! 71: WR_SET_SOFTINT_I wr %r7, 0x1201, %set_softint
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_8_50) + 0, 16, 16)) -> intp(7,0,18,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_8_50)&0xffffffff) + 40, 16, 16)) -> intp(6,0,9,,,,,1)
.word 0xc36b7245 ! 1: PREFETCH_I prefetch [%r13 + 0xfffff245], #one_read
.word 0x39400001 ! 72: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
.word 0x29800001 ! 73: FBL fbl,a <label_0x1>
stxa %r15, [%r0] ASI_LSU_CONTROL
.word 0x9d97c000 ! 1: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
.word 0xbfe7c000 ! 1: SAVE_R save %r31, %r0, %r31
.word 0x9d97c000 ! 1: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
.word 0xe45fc000 ! 74: LDX_R ldx [%r31 + %r0], %r18
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe5e7e010 ! 75: CASA_R casa [%r31] %asi, %r16, %r18
.word 0x9190c010 ! 76: WRPR_PIL_R wrpr %r3, %r16, %pil
setx 0xffffffb2ffffffaa, %g1, %g7
.word 0xa3800007 ! 77: WR_PERF_COUNTER_R wr %r0, %r7, %-
setx fp_data_quads, %r19, %r20
.word 0x8db00484 ! 78: FCMPLE32 fcmple32 %d0, %d4, %r6
best_set_reg(0xe0a00000, %r20, %r27)
.word 0xb7c6c000 ! 79: JMPL_R jmpl %r27 + %r0, %r27
stxa %r12, [%r0] ASI_LSU_CONTROL
.word 0xbfefc000 ! 1: RESTORE_R restore %r31, %r0, %r31
.word 0xbfe7c000 ! 1: SAVE_R save %r31, %r0, %r31
.word 0xe45fc000 ! 80: LDX_R ldx [%r31 + %r0], %r18
.word 0x95b340e3 ! 81: EDGE16LN edge16ln %r13, %r3, %r10
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_8_58) + 0, 16, 16)) -> intp(2,0,22,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_8_58)&0xffffffff) + 0, 16, 16)) -> intp(0,0,22,,,,,1)
.word 0xc36c6e5a ! 1: PREFETCH_I prefetch [%r17 + 0x0e5a], #one_read
.word 0x39400001 ! 82: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe5e7e00b ! 83: CASA_R casa [%r31] %asi, %r11, %r18
setx fp_data_quads, %r19, %r20
.word 0x91a009a4 ! 84: FDIVs fdivs %f0, %f4, %f8
.word 0x87802058 ! 85: WRASI_I wr %r0, 0x0058, %asi
.word 0xe19fda00 ! 86: LDDFA_R ldda [%r31, %r0], %f16
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 87: FBPULE fbule,a,pn %fcc0, <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 88: FBPULE fbule,a,pn %fcc0, <label_0x1>
wrhpr %r17, %g0, %hsys_tick_cmpr
.word 0xb3800011 ! 89: WR_STICK_CMPR_REG_R wr %r0, %r17, %-
.word 0x37400001 ! 1: FBPGE fbge,a,pn %fcc0, <label_0x1>
.word 0xe45fc000 ! 90: LDX_R ldx [%r31 + %r0], %r18
.word 0x8b90000c ! 91: WRPR_TBA_R wrpr %r0, %r12, %tba
stxa %r19, [%g0] ASI_LSU_CONTROL
.word 0xe4dfc030 ! 92: LDXA_R ldxa [%r31, %r16] 0x01, %r18
.word 0x24800001 ! 1: BLE ble,a <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 93: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0x9f8021d0 ! 94: SIR sir 0x01d0
.word 0xe527c000 ! 95: STF_R st %f18, [%r0, %r31]
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe5e7e011 ! 96: CASA_R casa [%r31] %asi, %r17, %r18
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_8_69)+16, 16, 16)) -> intp(mask2tid(0x8),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_8_69)&0xffffffff) + 48, 16, 16)) -> intp(mask2tid(0x8),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa984f071 ! 97: WR_SET_SOFTINT_I wr %r19, 0x1071, %set_softint
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_8_70) + 56, 16, 16)) -> intp(3,0,9,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_8_70)&0xffffffff) + 56, 16, 16)) -> intp(3,0,12,,,,,1)
.word 0x97a349d3 ! 98: FDIVd fdivd %f44, %f50, %f42
setx fp_data_quads, %r19, %r20
.word 0xc3e8228f ! 99: PREFETCHA_I prefetcha [%r0, + 0x028f] %asi, #one_read
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 100: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0x97b140e3 ! 101: EDGE16LN edge16ln %r5, %r3, %r11
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd7e7e011 ! 102: CASA_R casa [%r31] %asi, %r17, %r11
.word 0x24ccc001 ! 1: BRLEZ brlez,a,pt %r19,<label_0xcc001>
.word 0xbfe7c000 ! 1: SAVE_R save %r31, %r0, %r31
.word 0xd65fc000 ! 103: LDX_R ldx [%r31 + %r0], %r11
.word 0x29800001 ! 104: FBL fbl,a <label_0x1>
set sync_thr_counter4, %r23
and %r8, 0x38, %r8 ! Core ID
cas [%r23],%g0,%r16 !lock
brz,a %r16, continue_iaw_8_76
sllx %r16, %r8, %r16 !Mask for my core only
ldxa [0x58]%asi, %r17 !Running_status
ldxa [0x50]%asi, %r13 !Running_rw
bne,a %xcc, wait_for_stat_8_76
ldxa [0x58]%asi, %r17 !Running_status
stxa %r16, [0x68]%asi !Park (W1C)
ldxa [0x50]%asi, %r14 !Running_rw
ldxa [0x58]%asi, %r17 !Running_status
bne,a %xcc, wait_for_iaw_8_76
ldxa [0x50]%asi, %r14 !Running_rw
stxa %r16, [0x60] %asi ! Unpark (W1S)
st %g0, [%r23] !clear lock
wr %r0, %r12, %asi ! restore %asi
.word 0xe19fe0e0 ! 105: LDDFA_I ldda [%r31, 0x00e0], %f16
.word 0x2b400001 ! 1: FBPUG fbug,a,pn %fcc0, <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 106: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xc1bfde00 ! 107: STDFA_R stda %f0, [%r0, %r31]
.word 0x91948012 ! 108: WRPR_PIL_R wrpr %r18, %r18, %pil
.word 0x2ac84001 ! 1: BRNZ brnz,a,pt %r1,<label_0x84001>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 109: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xe1bfc2c0 ! 110: STDFA_R stda %f16, [%r0, %r31]
.word 0x24ca0001 ! 111: BRLEZ brlez,a,pt %r8,<label_0xa0001>
.word 0xc1bfde00 ! 112: STDFA_R stda %f0, [%r0, %r31]
.word 0xa7b404d4 ! 113: FCMPNE32 fcmpne32 %d16, %d20, %r19
.word 0xc1bfe080 ! 114: STDFA_I stda %f0, [0x0080, %r31]
.word 0x36800001 ! 1: BGE bge,a <label_0x1>
.word 0x9d97c000 ! 1: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
.word 0x9d97c000 ! 1: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
.word 0x9d97c000 ! 1: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
.word 0xe65fc000 ! 115: LDX_R ldx [%r31 + %r0], %r19
best_set_reg(0xe0a00000, %r20, %r27)
.word 0xb7c6c000 ! 116: JMPL_R jmpl %r27 + %r0, %r27
setx 0x00000000003a0000, %r11, %r12
.word 0x8b90000c ! 117: WRPR_TBA_R wrpr %r0, %r12, %tba
.word 0x9191800d ! 118: WRPR_PIL_R wrpr %r6, %r13, %pil
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_8_85)+48, 16, 16)) -> intp(mask2tid(0x8),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_8_85)&0xffffffff) + 16, 16, 16)) -> intp(mask2tid(0x8),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa980e138 ! 119: WR_SET_SOFTINT_I wr %r3, 0x0138, %set_softint
.word 0x93902000 ! 120: WRPR_CWP_I wrpr %r0, 0x0000, %cwp
stxa %r9, [%r0] ASI_LSU_CONTROL
.word 0xbfe7c000 ! 1: SAVE_R save %r31, %r0, %r31
.word 0xe65fc000 ! 121: LDX_R ldx [%r31 + %r0], %r19
ta T_CHANGE_HPRIV ! macro
add %r12, (donretarg_8_87-donret_8_87), %r12
add %r12, 0x4, %r11 ! seq tnpc
andn %r11, %r10, %r11 ! low VA tnpc
set (0x007cab00 | (0x88 << 24)), %r13
wrhpr %g0, 0x19ef, %htstate
ta T_CHANGE_NONPRIV ! rand=0 (8)
.word 0xe66fe156 ! 122: LDSTUB_I ldstub %r19, [%r31 + 0x0156]
.word 0x29800001 ! 123: FBL fbl,a <label_0x1>
.word 0x9345c000 ! 124: RD_TICK_CMPR_REG rd %-, %r9
.word 0xe19fdf20 ! 125: LDDFA_R ldda [%r31, %r0], %f16
set sync_thr_counter5, %r23
sllx %o1, 5, %o3 !(CID*256)
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
and %l1, 0x3, %l1 ! Check if busy/enabled ..
stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
best_set_reg(0x20610090, %l1, %l2) !# Control Word
ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
.word 0x99414000 ! 126: RDPC rd %pc, %r12
.word 0x95a00169 ! 127: FABSq dis not found
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_8_91)+0, 16, 16)) -> intp(mask2tid(0x8),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_8_91)&0xffffffff) + 48, 16, 16)) -> intp(mask2tid(0x8),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa9846abb ! 128: WR_SET_SOFTINT_I wr %r17, 0x0abb, %set_softint
.word 0x8584beb0 ! 129: WRCCR_I wr %r18, 0x1eb0, %ccr
.word 0x9f803ec7 ! 130: SIR sir 0x1ec7
.word 0x89800011 ! 131: WRTICK_R wr %r0, %r17, %tick
.word 0x8584eb63 ! 132: WRCCR_I wr %r19, 0x0b63, %ccr
.word 0x37400001 ! 1: FBPGE fbge,a,pn %fcc0, <label_0x1>
.word 0x81982c2e ! 133: WRHPR_HPSTATE_I wrhpr %r0, 0x0c2e, %hpstate
best_set_reg(0xe0a00000, %r20, %r27)
.word 0xb7c6c000 ! 134: JMPL_R jmpl %r27 + %r0, %r27
stxa %r7, [%r0] ASI_LSU_CONTROL
.word 0x87ac0a4a ! 1: FCMPd fcmpd %fcc<n>, %f16, %f10
stxa %r19, [%r0] ASI_LSU_CONTROL
.word 0xc36fe183 ! 135: PREFETCH_I prefetch [%r31 + 0x0183], #one_read
.word 0x8d90268f ! 136: WRPR_PSTATE_I wrpr %r0, 0x068f, %pstate
.word 0xa5a00162 ! 137: FABSq dis not found
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe1e7e00c ! 138: CASA_R casa [%r31] %asi, %r12, %r16
.word 0x93b400e3 ! 139: EDGE16LN edge16ln %r16, %r3, %r9
.word 0x2a800001 ! 1: BCS bcs,a <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 140: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0x91690005 ! 141: SDIVX_R sdivx %r4, %r5, %r8
.word 0xe19fe1a0 ! 142: LDDFA_I ldda [%r31, 0x01a0], %f16
.word 0x9191400c ! 143: WRPR_PIL_R wrpr %r5, %r12, %pil
.word 0x81982f4f ! 144: WRHPR_HPSTATE_I wrhpr %r0, 0x0f4f, %hpstate
.word 0x89800011 ! 145: WRTICK_R wr %r0, %r17, %tick
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd1e7e009 ! 146: CASA_R casa [%r31] %asi, %r9, %r8
setx fp_data_quads, %r19, %r20
.word 0x87a80a44 ! 147: FCMPd fcmpd %fcc<n>, %f0, %f4
setx 0x0c1fd3e3cd6f6159, %r1, %r28
.word 0x25400001 ! 148: FBPLG fblg,a,pn %fcc0, <label_0x1>
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xd06fe1b0 ! 1: LDSTUB_I ldstub %r8, [%r31 + 0x01b0]
.word 0xd11fc00d ! 149: LDDF_R ldd [%r31, %r13], %f8
.word 0x2c800001 ! 1: BNEG bneg,a <label_0x1>
.word 0x8d902841 ! 150: WRPR_PSTATE_I wrpr %r0, 0x0841, %pstate
setx join_lbl_0_0, %g1, %g2
.word 0xe877e062 ! 1: STX_I stx %r20, [%r31 + 0x0062]
.word 0x9d902002 ! 2: WRPR_WSTATE_I wrpr %r0, 0x0002, %wstate
.word 0xe93fe1a2 ! 3: STDF_I std %f20, [0x01a2, %r31]
setx fp_data_quads, %r19, %r20
.word 0x8db00484 ! 4: FCMPLE32 fcmple32 %d0, %d4, %r6
.word 0x26cd0001 ! 1: BRLZ brlz,a,pt %r20,<label_0xd0001>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 5: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0x81983596 ! 6: WRHPR_HPSTATE_I wrhpr %r0, 0x1596, %hpstate
.word 0x85852ada ! 7: WRCCR_I wr %r20, 0x0ada, %ccr
.word 0x39400001 ! 1: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
.word 0xbfe7c000 ! 1: SAVE_R save %r31, %r0, %r31
.word 0x9d97c000 ! 1: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
.word 0xe85fc000 ! 8: LDX_R ldx [%r31 + %r0], %r20
.word 0xc19fe1a0 ! 9: LDDFA_I ldda [%r31, 0x01a0], %f0
.word 0x89800011 ! 10: WRTICK_R wr %r0, %r17, %tick
.word 0xc1bfc2c0 ! 11: STDFA_R stda %f0, [%r0, %r31]
stxa %r19, [%g0] ASI_LSU_CONTROL
.word 0xe1bfe0c0 ! 12: STDFA_I stda %f16, [0x00c0, %r31]
.word 0x3c800001 ! 13: BPOS bpos,a <label_0x1>
best_set_reg(0xe1200000, %r20, %r27)
.word 0xb7c6c000 ! 14: JMPL_R jmpl %r27 + %r0, %r27
setx 0xffffffb2ffffffa2, %g1, %g7
.word 0xa3800007 ! 15: WR_PERF_COUNTER_R wr %r0, %r7, %-
best_set_reg(0xe1200000, %r20, %r27)
.word 0xb7c6c000 ! 16: JMPL_R jmpl %r27 + %r0, %r27
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe9e7e012 ! 17: CASA_R casa [%r31] %asi, %r18, %r20
.word 0x87802083 ! 18: WRASI_I wr %r0, 0x0083, %asi
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 19: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xe93fe0b4 ! 20: STDF_I std %f20, [0x00b4, %r31]
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xa9b7c7cc ! 1: PDIST pdistn %d62, %d12, %d20
.word 0xa970317a ! 21: POPC_I popc 0x117a, %r20
.word 0x37400001 ! 1: FBPGE fbge,a,pn %fcc0, <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 22: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xe19fd920 ! 23: LDDFA_R ldda [%r31, %r0], %f16
.word 0xe1bfde00 ! 24: STDFA_R stda %f16, [%r0, %r31]
setx 0xffffffb0ffffffaa, %g1, %g7
.word 0xa3800007 ! 25: WR_PERF_COUNTER_R wr %r0, %r7, %-
.word 0xa5b284d3 ! 1: FCMPNE32 fcmpne32 %d10, %d50, %r18
.word 0x99b304d4 ! 26: FCMPNE32 fcmpne32 %d12, %d20, %r12
.word 0x91924004 ! 27: WRPR_PIL_R wrpr %r9, %r4, %pil
stxa %r11, [%r0] ASI_LSU_CONTROL
.word 0xbfefc000 ! 1: RESTORE_R restore %r31, %r0, %r31
.word 0xbfe7c000 ! 1: SAVE_R save %r31, %r0, %r31
.word 0xd85fc000 ! 28: LDX_R ldx [%r31 + %r0], %r12
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_4_17)+32, 16, 16)) -> intp(mask2tid(0x4),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_4_17)&0xffffffff) + 0, 16, 16)) -> intp(mask2tid(0x4),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa981e7d2 ! 29: WR_SET_SOFTINT_I wr %r7, 0x07d2, %set_softint
.word 0x99a00161 ! 30: FABSq dis not found
.word 0xa9a00173 ! 31: FABSq dis not found
tsubcctv %r2, 0x1fb3, %r20
.word 0xd807e05c ! 32: LDUW_I lduw [%r31 + 0x005c], %r12
.word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
stxa %r7, [%r0+0x3c0] %asi
.word 0x9d950012 ! 33: WRPR_WSTATE_R wrpr %r20, %r18, %wstate
.word 0xb181000a ! 34: WR_STICK_REG_R wr %r4, %r10, %-
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd9e7e008 ! 35: CASA_R casa [%r31] %asi, %r8, %r12
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd9e7e012 ! 36: CASA_R casa [%r31] %asi, %r18, %r12
.word 0x8b90000c ! 37: WRPR_TBA_R wrpr %r0, %r12, %tba
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 38: FBPULE fbule,a,pn %fcc0, <label_0x1>
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_4_26) + 32, 16, 16)) -> intp(1,0,15,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_4_26)&0xffffffff) + 48, 16, 16)) -> intp(3,0,8,,,,,1)
.word 0xa3b1c4d2 ! 1: FCMPNE32 fcmpne32 %d38, %d18, %r17
.word 0xa7b0c4c1 ! 39: FCMPNE32 fcmpne32 %d34, %d32, %r19
.word 0xd727e1c4 ! 40: STF_I st %f11, [0x01c4, %r31]
.word 0xd627e0d0 ! 41: STW_I stw %r11, [%r31 + 0x00d0]
best_set_reg(0xe1200000, %r20, %r27)
.word 0xb7c6c000 ! 42: JMPL_R jmpl %r27 + %r0, %r27
.word 0x8b90000c ! 43: WRPR_TBA_R wrpr %r0, %r12, %tba
stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
.word 0x93b307d3 ! 44: PDIST pdistn %d12, %d50, %d40
setx 0xffffffb9ffffffa9, %g1, %g7
.word 0xa3800007 ! 45: WR_PERF_COUNTER_R wr %r0, %r7, %-
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xe3e7c02d ! 1: CASA_I casa [%r31] 0x 1, %r13, %r17
.word 0xe23fe0b0 ! 46: STD_I std %r17, [%r31 + 0x00b0]
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xe26fe120 ! 1: LDSTUB_I ldstub %r17, [%r31 + 0x0120]
stxa %r20, [%r0] ASI_LSU_CONTROL
.word 0x95aac831 ! 47: FMOVGE fmovs %fcc1, %f17, %f10
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xd737e0b0 ! 1: STQF_I - %f11, [0x00b0, %r31]
.word 0xd697c02c ! 48: LDUHA_R lduha [%r31, %r12] 0x01, %r11
.word 0x27400001 ! 1: FBPUL fbul,a,pn %fcc0, <label_0x1>
.word 0xd65fc000 ! 49: LDX_R ldx [%r31 + %r0], %r11
ta T_CHANGE_HPRIV ! macro
add %r12, (donretarg_4_33-donret_4_33), %r12
add %r12, 0x8, %r11 ! nonseq tnpc
andn %r11, %r10, %r11 ! low VA tnpc
set (0x00ef8200 | (22 << 24)), %r13
wrhpr %g0, 0x5c4, %htstate
ta T_CHANGE_NONHPRIV ! rand=1 (4)
.word 0x2d400001 ! 50: FBPG fbg,a,pn %fcc0, <label_0x1>
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_4_34) + 16, 16, 16)) -> intp(0,0,9,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_4_34)&0xffffffff) + 16, 16, 16)) -> intp(0,0,10,,,,,1)
.word 0x39400001 ! 51: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
.word 0xe927e03c ! 52: STF_I st %f20, [0x003c, %r31]
.word 0xe8bfc020 ! 53: STDA_R stda %r20, [%r31 + %r0] 0x01
setx 0x0000000400380000, %r11, %r12
.word 0x8b90000c ! 54: WRPR_TBA_R wrpr %r0, %r12, %tba
.word 0xa1a509d0 ! 55: FDIVd fdivd %f20, %f16, %f16
set sync_thr_counter4, %r23
and %r8, 0x38, %r8 ! Core ID
cas [%r23],%g0,%r16 !lock
brz,a %r16, continue_ibp_4_37
sllx %r16, %r8, %r16 !Mask for my core only
ldxa [0x58]%asi, %r17 !Running_status
ldxa [0x50]%asi, %r13 !Running_rw
bne,a %xcc, wait_for_stat_4_37
ldxa [0x58]%asi, %r17 !Running_status
stxa %r16, [0x68]%asi !Park (W1C)
ldxa [0x50]%asi, %r14 !Running_rw
ldxa [0x58]%asi, %r17 !Running_status
bne,a %xcc, wait_for_ibp_4_37
ldxa [0x50]%asi, %r14 !Running_rw
best_set_reg(0x00000040bec00be4,%r19, %r20)
stxa %r16, [0x60] %asi !Unpark (W1S)
st %g0, [%r23] !clear lock
wr %r0, %r12, %asi !restore %asi
.word 0x87ad0a4c ! 56: FCMPd fcmpd %fcc<n>, %f20, %f12
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xe937e170 ! 1: STQF_I - %f20, [0x0170, %r31]
.word 0xc32fc012 ! 57: STXFSR_R st-sfr %f1, [%r18, %r31]
set sync_thr_counter4, %r23
and %r8, 0x38, %r8 ! Core ID
cas [%r23],%g0,%r16 !lock
brz,a %r16, continue_ibp_4_39
sllx %r16, %r8, %r16 !Mask for my core only
ldxa [0x58]%asi, %r17 !Running_status
ldxa [0x50]%asi, %r13 !Running_rw
bne,a %xcc, wait_for_stat_4_39
ldxa [0x58]%asi, %r17 !Running_status
stxa %r16, [0x68]%asi !Park (W1C)
ldxa [0x50]%asi, %r14 !Running_rw
ldxa [0x58]%asi, %r17 !Running_status
bne,a %xcc, wait_for_ibp_4_39
ldxa [0x50]%asi, %r14 !Running_rw
best_set_reg(0x00000040ddcbe4b9,%r19, %r20)
stxa %r16, [0x60] %asi !Unpark (W1S)
st %g0, [%r23] !clear lock
wr %r0, %r12, %asi !restore %asi
.word 0x97b34492 ! 58: FCMPLE32 fcmple32 %d44, %d18, %r11
ta T_CHANGE_HPRIV ! macro
add %r12, (donretarg_4_40-donret_4_40+4), %r12
add %r12, 0x4, %r11 ! seq tnpc
andn %r12, %r10, %r12 ! low VA tpc
set (0x00bc0c00 | (0x89 << 24)), %r13
wrhpr %g0, 0xd1c, %htstate
ta T_CHANGE_NONPRIV ! rand=0 (4)
.word 0x20800001 ! 59: BN bn,a <label_0x1>
.word 0x85852e02 ! 60: WRCCR_I wr %r20, 0x0e02, %ccr
stxa %r11, [%r0] ASI_LSU_CONTROL
.word 0xbfe7c000 ! 1: SAVE_R save %r31, %r0, %r31
.word 0xe05fc000 ! 61: LDX_R ldx [%r31 + %r0], %r16
.word 0xa953c000 ! 62: RDPR_FQ <illegal instruction>
fbuge,a,pn %fcc0, skip_4_42
.word 0x24cc8001 ! 63: BRLEZ brlez,a,pt %r18,<label_0xc8001>
stxa %r12, [%r0] ASI_LSU_CONTROL
stxa %r9, [%r0] ASI_LSU_CONTROL
.word 0xc32fc000 ! 64: STXFSR_R st-sfr %f1, [%r0, %r31]
.word 0xc19fde00 ! 65: LDDFA_R ldda [%r31, %r0], %f0
set sync_thr_counter5, %r23
sllx %o1, 5, %o3 !(CID*256)
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
and %l1, 0x3, %l1 ! Check if busy/enabled ..
stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
best_set_reg(0x206100d0, %l1, %l2) !# Control Word
ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
.word 0x91414000 ! 66: RDPC rd %pc, %r8
.word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
stxa %r16, [%r0+0x3e8] %asi
.word 0x9d950014 ! 67: WRPR_WSTATE_R wrpr %r20, %r20, %wstate
.word 0x93a00172 ! 68: FABSq dis not found
.word 0x9191c004 ! 69: WRPR_PIL_R wrpr %r7, %r4, %pil
.word 0x89800011 ! 70: WRTICK_R wr %r0, %r17, %tick
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_4_49)+24, 16, 16)) -> intp(mask2tid(0x4),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_4_49)&0xffffffff) + 48, 16, 16)) -> intp(mask2tid(0x4),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa980a5e0 ! 71: WR_SET_SOFTINT_I wr %r2, 0x05e0, %set_softint
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_4_50) + 24, 16, 16)) -> intp(4,0,8,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_4_50)&0xffffffff) + 16, 16, 16)) -> intp(2,0,12,,,,,1)
.word 0xa5a1c9d1 ! 1: FDIVd fdivd %f38, %f48, %f18
.word 0x39400001 ! 72: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
.word 0x29800001 ! 73: FBL fbl,a <label_0x1>
stxa %r18, [%r0] ASI_LSU_CONTROL
.word 0xbfe7c000 ! 1: SAVE_R save %r31, %r0, %r31
.word 0xbfefc000 ! 1: RESTORE_R restore %r31, %r0, %r31
.word 0xbfefc000 ! 1: RESTORE_R restore %r31, %r0, %r31
.word 0xe45fc000 ! 74: LDX_R ldx [%r31 + %r0], %r18
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe5e7e00b ! 75: CASA_R casa [%r31] %asi, %r11, %r18
.word 0x91910005 ! 76: WRPR_PIL_R wrpr %r4, %r5, %pil
setx 0xffffffb4ffffffa5, %g1, %g7
.word 0xa3800007 ! 77: WR_PERF_COUNTER_R wr %r0, %r7, %-
setx fp_data_quads, %r19, %r20
.word 0x8db00484 ! 78: FCMPLE32 fcmple32 %d0, %d4, %r6
best_set_reg(0xe1200000, %r20, %r27)
.word 0xb7c6c000 ! 79: JMPL_R jmpl %r27 + %r0, %r27
stxa %r18, [%r0] ASI_LSU_CONTROL
.word 0x9d97c000 ! 1: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
.word 0x9d97c000 ! 1: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
.word 0xe45fc000 ! 80: LDX_R ldx [%r31 + %r0], %r18
.word 0x95b100f4 ! 81: EDGE16LN edge16ln %r4, %r20, %r10
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_4_58) + 40, 16, 16)) -> intp(2,0,26,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_4_58)&0xffffffff) + 48, 16, 16)) -> intp(0,0,15,,,,,1)
.word 0x9f80250d ! 1: SIR sir 0x050d
.word 0x39400001 ! 82: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe5e7e010 ! 83: CASA_R casa [%r31] %asi, %r16, %r18
setx fp_data_quads, %r19, %r20
.word 0x89a009a4 ! 84: FDIVs fdivs %f0, %f4, %f4
.word 0x87802004 ! 85: WRASI_I wr %r0, 0x0004, %asi
.word 0xc19fdc00 ! 86: LDDFA_R ldda [%r31, %r0], %f0
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 87: FBPULE fbule,a,pn %fcc0, <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 88: FBPULE fbule,a,pn %fcc0, <label_0x1>
wrhpr %r17, %g0, %hsys_tick_cmpr
.word 0xaf800011 ! 89: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
.word 0x25400001 ! 1: FBPLG fblg,a,pn %fcc0, <label_0x1>
.word 0xe45fc000 ! 90: LDX_R ldx [%r31 + %r0], %r18
.word 0x8b90000c ! 91: WRPR_TBA_R wrpr %r0, %r12, %tba
stxa %r19, [%g0] ASI_LSU_CONTROL
.word 0xe497c02c ! 92: LDUHA_R lduha [%r31, %r12] 0x01, %r18
.word 0x2ac84001 ! 1: BRNZ brnz,a,pt %r1,<label_0x84001>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 93: FBPULE fbule,a,pn %fcc0, <label_0x1>
set sync_thr_counter4, %r23
and %r8, 0x38, %r8 ! Core ID
cas [%r23],%g0,%r16 !lock
brz,a %r16, continue_ibp_4_67
sllx %r16, %r8, %r16 !Mask for my core only
ldxa [0x58]%asi, %r17 !Running_status
ldxa [0x50]%asi, %r13 !Running_rw
bne,a %xcc, wait_for_stat_4_67
ldxa [0x58]%asi, %r17 !Running_status
stxa %r16, [0x68]%asi !Park (W1C)
ldxa [0x50]%asi, %r14 !Running_rw
ldxa [0x58]%asi, %r17 !Running_status
bne,a %xcc, wait_for_ibp_4_67
ldxa [0x50]%asi, %r14 !Running_rw
best_set_reg(0x00000040fbe4b944,%r19, %r20)
stxa %r16, [0x60] %asi !Unpark (W1S)
st %g0, [%r23] !clear lock
wr %r0, %r12, %asi !restore %asi
.word 0xe51fc012 ! 94: LDDF_R ldd [%r31, %r18], %f18
.word 0xe527c000 ! 95: STF_R st %f18, [%r0, %r31]
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe5e7e011 ! 96: CASA_R casa [%r31] %asi, %r17, %r18
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_4_69)+56, 16, 16)) -> intp(mask2tid(0x4),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_4_69)&0xffffffff) + 32, 16, 16)) -> intp(mask2tid(0x4),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa984a8ac ! 97: WR_SET_SOFTINT_I wr %r18, 0x08ac, %set_softint
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_4_70) + 56, 16, 16)) -> intp(5,0,21,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_4_70)&0xffffffff) + 0, 16, 16)) -> intp(6,0,30,,,,,1)
.word 0xc36ca28f ! 98: PREFETCH_I prefetch [%r18 + 0x028f], #one_read
setx fp_data_quads, %r19, %r20
.word 0x87a80a44 ! 99: FCMPd fcmpd %fcc<n>, %f0, %f4
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 100: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0x93b0c0eb ! 101: EDGE16LN edge16ln %r3, %r11, %r9
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd7e7e010 ! 102: CASA_R casa [%r31] %asi, %r16, %r11
.word 0x22c98001 ! 1: BRZ brz,a,pt %r6,<label_0x98001>
.word 0xbfe7c000 ! 1: SAVE_R save %r31, %r0, %r31
.word 0xd65fc000 ! 103: LDX_R ldx [%r31 + %r0], %r11
.word 0x29800001 ! 104: FBL fbl,a <label_0x1>
.word 0xe19fd960 ! 105: LDDFA_R ldda [%r31, %r0], %f16
.word 0x35400001 ! 1: FBPUE fbue,a,pn %fcc0, <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 106: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xc1bfde00 ! 107: STDFA_R stda %f0, [%r0, %r31]
.word 0x91918009 ! 108: WRPR_PIL_R wrpr %r6, %r9, %pil
.word 0x24c84001 ! 1: BRLEZ brlez,a,pt %r1,<label_0x84001>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 109: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xe1bfd960 ! 110: STDFA_R stda %f16, [%r0, %r31]
.word 0x87ac4a49 ! 111: FCMPd fcmpd %fcc<n>, %f48, %f40
.word 0xc1bfde00 ! 112: STDFA_R stda %f0, [%r0, %r31]
.word 0x39400001 ! 113: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
.word 0xc1bfe120 ! 114: STDFA_I stda %f0, [0x0120, %r31]
.word 0x22800001 ! 1: BE be,a <label_0x1>
.word 0xbfe7c000 ! 1: SAVE_R save %r31, %r0, %r31
.word 0xbfefc000 ! 1: RESTORE_R restore %r31, %r0, %r31
.word 0xbfefc000 ! 1: RESTORE_R restore %r31, %r0, %r31
.word 0xe65fc000 ! 115: LDX_R ldx [%r31 + %r0], %r19
best_set_reg(0xe1200000, %r20, %r27)
.word 0xb7c6c000 ! 116: JMPL_R jmpl %r27 + %r0, %r27
setx 0x0000000400380000, %r11, %r12
.word 0x8b90000c ! 117: WRPR_TBA_R wrpr %r0, %r12, %tba
.word 0x9191c001 ! 118: WRPR_PIL_R wrpr %r7, %r1, %pil
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_4_85)+24, 16, 16)) -> intp(mask2tid(0x4),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_4_85)&0xffffffff) + 0, 16, 16)) -> intp(mask2tid(0x4),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa9817564 ! 119: WR_SET_SOFTINT_I wr %r5, 0x1564, %set_softint
.word 0x93902006 ! 120: WRPR_CWP_I wrpr %r0, 0x0006, %cwp
stxa %r8, [%r0] ASI_LSU_CONTROL
.word 0xbfe7c000 ! 1: SAVE_R save %r31, %r0, %r31
.word 0xe65fc000 ! 121: LDX_R ldx [%r31 + %r0], %r19
ta T_CHANGE_HPRIV ! macro
add %r12, (donretarg_4_87-donret_4_87), %r12
add %r12, 0x4, %r11 ! seq tnpc
andn %r11, %r10, %r11 ! low VA tnpc
set (0x00378100 | (22 << 24)), %r13
wrhpr %g0, 0x40d, %htstate
ta T_CHANGE_NONPRIV ! rand=0 (4)
.word 0xe66fe08f ! 122: LDSTUB_I ldstub %r19, [%r31 + 0x008f]
.word 0x29800001 ! 123: FBL fbl,a <label_0x1>
.word 0xa545c000 ! 124: RD_TICK_CMPR_REG rd %-, %r18
.word 0xc19fc3e0 ! 125: LDDFA_R ldda [%r31, %r0], %f0
set sync_thr_counter5, %r23
sllx %o1, 5, %o3 !(CID*256)
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
and %l1, 0x3, %l1 ! Check if busy/enabled ..
stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
best_set_reg(0x20610070, %l1, %l2) !# Control Word
ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
.word 0xa3414000 ! 126: RDPC rd %pc, %r17
.word 0xa5a0016b ! 127: FABSq dis not found
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_4_91)+48, 16, 16)) -> intp(mask2tid(0x4),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_4_91)&0xffffffff) + 8, 16, 16)) -> intp(mask2tid(0x4),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa984b933 ! 128: WR_SET_SOFTINT_I wr %r18, 0x1933, %set_softint
.word 0x8581b570 ! 129: WRCCR_I wr %r6, 0x1570, %ccr
.word 0xc3693d99 ! 130: PREFETCH_I prefetch [%r4 + 0xfffffd99], #one_read
.word 0x89800011 ! 131: WRTICK_R wr %r0, %r17, %tick
.word 0x858171f1 ! 132: WRCCR_I wr %r5, 0x11f1, %ccr
.word 0x34800001 ! 1: BG bg,a <label_0x1>
.word 0x8198259f ! 133: WRHPR_HPSTATE_I wrhpr %r0, 0x059f, %hpstate
best_set_reg(0xe1200000, %r20, %r27)
.word 0xb7c6c000 ! 134: JMPL_R jmpl %r27 + %r0, %r27
stxa %r13, [%r0] ASI_LSU_CONTROL
.word 0x87ad0a53 ! 1: FCMPd fcmpd %fcc<n>, %f20, %f50
stxa %r17, [%r0] ASI_LSU_CONTROL
.word 0xc36fe024 ! 135: PREFETCH_I prefetch [%r31 + 0x0024], #one_read
.word 0x8d903683 ! 136: WRPR_PSTATE_I wrpr %r0, 0x1683, %pstate
.word 0xa1a00163 ! 137: FABSq dis not found
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe1e7e010 ! 138: CASA_R casa [%r31] %asi, %r16, %r16
.word 0x91b1c0e8 ! 139: EDGE16LN edge16ln %r7, %r8, %r8
.word 0x3d400001 ! 1: FBPULE fbule,a,pn %fcc0, <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 140: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0x9768c013 ! 141: SDIVX_R sdivx %r3, %r19, %r11
.word 0xc19fe0e0 ! 142: LDDFA_I ldda [%r31, 0x00e0], %f0
.word 0x9194c006 ! 143: WRPR_PIL_R wrpr %r19, %r6, %pil
.word 0x81982ec7 ! 144: WRHPR_HPSTATE_I wrhpr %r0, 0x0ec7, %hpstate
.word 0x89800011 ! 145: WRTICK_R wr %r0, %r17, %tick
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd1e7e00d ! 146: CASA_R casa [%r31] %asi, %r13, %r8
setx fp_data_quads, %r19, %r20
.word 0x8da009c4 ! 147: FDIVd fdivd %f0, %f4, %f6
setx 0x79541440b0840665, %r1, %r28
.word 0x25400001 ! 148: FBPLG fblg,a,pn %fcc0, <label_0x1>
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xd06fe0a0 ! 1: LDSTUB_I ldstub %r8, [%r31 + 0x00a0]
.word 0xd11fe060 ! 149: LDDF_I ldd [%r31, 0x0060], %f8
.word 0x2cc8c001 ! 1: BRGZ brgz,a,pt %r3,<label_0x8c001>
.word 0x8d902d27 ! 150: WRPR_PSTATE_I wrpr %r0, 0x0d27, %pstate
setx join_lbl_0_0, %g1, %g2
.word 0xe877e070 ! 1: STX_I stx %r20, [%r31 + 0x0070]
.word 0x9d902003 ! 2: WRPR_WSTATE_I wrpr %r0, 0x0003, %wstate
.word 0xe93fe0e0 ! 3: STDF_I std %f20, [0x00e0, %r31]
setx fp_data_quads, %r19, %r20
.word 0x8da009a4 ! 4: FDIVs fdivs %f0, %f4, %f6
.word 0x3a800001 ! 1: BCC bcc,a <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 5: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0x81983499 ! 6: WRHPR_HPSTATE_I wrhpr %r0, 0x1499, %hpstate
.word 0x858129ec ! 7: WRCCR_I wr %r4, 0x09ec, %ccr
.word 0x2ec90001 ! 1: BRGEZ brgez,a,pt %r4,<label_0x90001>
.word 0xe85fc000 ! 8: LDX_R ldx [%r31 + %r0], %r20
.word 0xc19fe180 ! 9: LDDFA_I ldda [%r31, 0x0180], %f0
.word 0x89800011 ! 10: WRTICK_R wr %r0, %r17, %tick
.word 0xe1bfdc00 ! 11: STDFA_R stda %f16, [%r0, %r31]
stxa %r19, [%g0] ASI_LSU_CONTROL
.word 0xe1bfe120 ! 12: STDFA_I stda %f16, [0x0120, %r31]
.word 0x3c800001 ! 13: BPOS bpos,a <label_0x1>
best_set_reg(0xe1a00000, %r20, %r27)
.word 0xb7c6c000 ! 14: JMPL_R jmpl %r27 + %r0, %r27
setx 0xffffffb2ffffffa1, %g1, %g7
.word 0xa3800007 ! 15: WR_PERF_COUNTER_R wr %r0, %r7, %-
best_set_reg(0xe1a00000, %r20, %r27)
.word 0xb7c6c000 ! 16: JMPL_R jmpl %r27 + %r0, %r27
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe9e7e00b ! 17: CASA_R casa [%r31] %asi, %r11, %r20
.word 0x87802014 ! 18: WRASI_I wr %r0, 0x0014, %asi
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 19: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xe93fe0a7 ! 20: STDF_I std %f20, [0x00a7, %r31]
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xa9b7c7d2 ! 1: PDIST pdistn %d62, %d18, %d20
.word 0xc3e98027 ! 21: PREFETCHA_R prefetcha [%r6, %r7] 0x01, #one_read
.word 0x22800001 ! 1: BE be,a <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 22: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xc19fdb60 ! 23: LDDFA_R ldda [%r31, %r0], %f0
.word 0xc1bfc2c0 ! 24: STDFA_R stda %f0, [%r0, %r31]
setx 0xffffffb3ffffffa2, %g1, %g7
.word 0xa3800007 ! 25: WR_PERF_COUNTER_R wr %r0, %r7, %-
.word 0x39400001 ! 1: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
.word 0xc36c20c9 ! 26: PREFETCH_I prefetch [%r16 + 0x00c9], #one_read
.word 0x91934008 ! 27: WRPR_PIL_R wrpr %r13, %r8, %pil
stxa %r20, [%r0] ASI_LSU_CONTROL
.word 0xd85fc000 ! 28: LDX_R ldx [%r31 + %r0], %r12
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_2_17)+56, 16, 16)) -> intp(mask2tid(0x2),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_2_17)&0xffffffff) + 32, 16, 16)) -> intp(mask2tid(0x2),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa980bf53 ! 29: WR_SET_SOFTINT_I wr %r2, 0x1f53, %set_softint
.word 0x99a00168 ! 30: FABSq dis not found
.word 0xa7a0016b ! 31: FABSq dis not found
tsubcctv %r18, 0x176d, %r20
.word 0xd807e1ec ! 32: LDUW_I lduw [%r31 + 0x01ec], %r12
.word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
stxa %r5, [%r0+0x3e8] %asi
.word 0x9d91800b ! 33: WRPR_WSTATE_R wrpr %r6, %r11, %wstate
.word 0xb1804012 ! 34: WR_STICK_REG_R wr %r1, %r18, %-
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd9e7e010 ! 35: CASA_R casa [%r31] %asi, %r16, %r12
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd9e7e012 ! 36: CASA_R casa [%r31] %asi, %r18, %r12
.word 0x8b90000c ! 37: WRPR_TBA_R wrpr %r0, %r12, %tba
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 38: FBPULE fbule,a,pn %fcc0, <label_0x1>
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_2_26) + 48, 16, 16)) -> intp(2,0,4,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_2_26)&0xffffffff) + 0, 16, 16)) -> intp(3,0,5,,,,,1)
.word 0xc36d38ad ! 1: PREFETCH_I prefetch [%r20 + 0xfffff8ad], #one_read
.word 0x97a189d3 ! 39: FDIVd fdivd %f6, %f50, %f42
.word 0xd727e192 ! 40: STF_I st %f11, [0x0192, %r31]
.word 0xd627e1f8 ! 41: STW_I stw %r11, [%r31 + 0x01f8]
best_set_reg(0xe1a00000, %r20, %r27)
.word 0xb7c6c000 ! 42: JMPL_R jmpl %r27 + %r0, %r27
.word 0x8b90000c ! 43: WRPR_TBA_R wrpr %r0, %r12, %tba
stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
.word 0x97b147d4 ! 44: PDIST pdistn %d36, %d20, %d42
setx 0xffffffb1ffffffa7, %g1, %g7
.word 0xa3800007 ! 45: WR_PERF_COUNTER_R wr %r0, %r7, %-
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xe3e7c030 ! 1: CASA_I casa [%r31] 0x 1, %r16, %r17
.word 0xe31fc010 ! 46: LDDF_R ldd [%r31, %r16], %f17
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xe26fe150 ! 1: LDSTUB_I ldstub %r17, [%r31 + 0x0150]
stxa %r14, [%r0] ASI_LSU_CONTROL
.word 0xa9aac82c ! 47: FMOVGE fmovs %fcc1, %f12, %f20
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xd737e050 ! 1: STQF_I - %f11, [0x0050, %r31]
.word 0xd7e7e012 ! 48: CASA_R casa [%r31] %asi, %r18, %r11
.word 0x33400001 ! 1: FBPE fbe,a,pn %fcc0, <label_0x1>
.word 0xd65fc000 ! 49: LDX_R ldx [%r31 + %r0], %r11
ta T_CHANGE_HPRIV ! macro
add %r12, (donretarg_2_33-donret_2_33), %r12
add %r12, 0x8, %r11 ! nonseq tnpc
andn %r11, %r10, %r11 ! low VA tnpc
set (0x00134900 | (0x4f << 24)), %r13
wrhpr %g0, 0x1b93, %htstate
ta T_CHANGE_NONHPRIV ! rand=1 (2)
.word 0x2eca8001 ! 50: BRGEZ brgez,a,pt %r10,<label_0xa8001>
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_2_34) + 32, 16, 16)) -> intp(5,0,4,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_2_34)&0xffffffff) + 40, 16, 16)) -> intp(4,0,21,,,,,1)
.word 0x9f802760 ! 51: SIR sir 0x0760
.word 0xe927e0f0 ! 52: STF_I st %f20, [0x00f0, %r31]
.word 0xe8bfc020 ! 53: STDA_R stda %r20, [%r31 + %r0] 0x01
setx 0x00000004003a0000, %r11, %r12
.word 0x8b90000c ! 54: WRPR_TBA_R wrpr %r0, %r12, %tba
.word 0x87acca4b ! 55: FCMPd fcmpd %fcc<n>, %f50, %f42
.word 0xa3a509d3 ! 56: FDIVd fdivd %f20, %f50, %f48
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xe937e000 ! 1: STQF_I - %f20, [0x0000, %r31]
.word 0xe8bfc032 ! 57: STDA_R stda %r20, [%r31 + %r18] 0x01
.word 0xa1702168 ! 58: POPC_I popc 0x0168, %r16
ta T_CHANGE_HPRIV ! macro
add %r12, (donretarg_2_40-donret_2_40+4), %r12
add %r12, 0x4, %r11 ! seq tnpc
andn %r12, %r10, %r12 ! low VA tpc
set (0x0004a500 | (0x83 << 24)), %r13
wrhpr %g0, 0x1e75, %htstate
ta T_CHANGE_NONPRIV ! rand=0 (2)
.word 0x2c800001 ! 59: BNEG bneg,a <label_0x1>
.word 0x8580a03e ! 60: WRCCR_I wr %r2, 0x003e, %ccr
stxa %r20, [%r0] ASI_LSU_CONTROL
.word 0xe05fc000 ! 61: LDX_R ldx [%r31 + %r0], %r16
.word 0x9153c000 ! 62: RDPR_FQ <illegal instruction>
.word 0x9f803aa7 ! 1: SIR sir 0x1aa7
.word 0x99b444d4 ! 63: FCMPNE32 fcmpne32 %d48, %d20, %r12
stxa %r6, [%r0] ASI_LSU_CONTROL
stxa %r10, [%r0] ASI_LSU_CONTROL
.word 0xd9e7c020 ! 64: CASA_I casa [%r31] 0x 1, %r0, %r12
.word 0xc19fde00 ! 65: LDDFA_R ldda [%r31, %r0], %f0
set sync_thr_counter5, %r23
sllx %o1, 5, %o3 !(CID*256)
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
and %l1, 0x3, %l1 ! Check if busy/enabled ..
stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
best_set_reg(0x206100d0, %l1, %l2) !# Control Word
ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
.word 0xa1414000 ! 66: RDPC rd %pc, %r16
.word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
stxa %r16, [%r0+0x3d0] %asi
.word 0x9d904012 ! 67: WRPR_WSTATE_R wrpr %r1, %r18, %wstate
.word 0x97a00162 ! 68: FABSq dis not found
.word 0x9192c00c ! 69: WRPR_PIL_R wrpr %r11, %r12, %pil
.word 0x89800011 ! 70: WRTICK_R wr %r0, %r17, %tick
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_2_49)+40, 16, 16)) -> intp(mask2tid(0x2),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_2_49)&0xffffffff) + 40, 16, 16)) -> intp(mask2tid(0x2),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa984af84 ! 71: WR_SET_SOFTINT_I wr %r18, 0x0f84, %set_softint
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_2_50) + 56, 16, 16)) -> intp(6,0,12,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_2_50)&0xffffffff) + 24, 16, 16)) -> intp(0,0,21,,,,,1)
.word 0xa1a1c9d0 ! 1: FDIVd fdivd %f38, %f16, %f16
.word 0xa5b144c7 ! 72: FCMPNE32 fcmpne32 %d36, %d38, %r18
wr %r0,ASI_MMU_REAL_RANGE, %asi
ldxa [ASI_MMU_REAL_RANGE_0] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_0] %asi
ldxa [ASI_MMU_REAL_RANGE_1] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_1] %asi
ldxa [ASI_MMU_REAL_RANGE_2] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_2] %asi
ldxa [ASI_MMU_REAL_RANGE_3] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_3] %asi
.word 0x29800001 ! 73: FBL fbl,a <label_0x1>
stxa %r18, [%r0] ASI_LSU_CONTROL
.word 0xe45fc000 ! 74: LDX_R ldx [%r31 + %r0], %r18
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe5e7e009 ! 75: CASA_R casa [%r31] %asi, %r9, %r18
.word 0x91920009 ! 76: WRPR_PIL_R wrpr %r8, %r9, %pil
setx 0xffffffb7ffffffae, %g1, %g7
.word 0xa3800007 ! 77: WR_PERF_COUNTER_R wr %r0, %r7, %-
setx fp_data_quads, %r19, %r20
.word 0xc3e82b59 ! 78: PREFETCHA_I prefetcha [%r0, + 0x0b59] %asi, #one_read
best_set_reg(0xe1a00000, %r20, %r27)
.word 0xb7c6c000 ! 79: JMPL_R jmpl %r27 + %r0, %r27
stxa %r12, [%r0] ASI_LSU_CONTROL
.word 0xe45fc000 ! 80: LDX_R ldx [%r31 + %r0], %r18
.word 0xa1b180e1 ! 81: EDGE16LN edge16ln %r6, %r1, %r16
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_2_58) + 24, 16, 16)) -> intp(3,0,6,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_2_58)&0xffffffff) + 8, 16, 16)) -> intp(3,0,30,,,,,1)
.word 0xa3b344d1 ! 1: FCMPNE32 fcmpne32 %d44, %d48, %r17
.word 0x9f802142 ! 82: SIR sir 0x0142
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe5e7e012 ! 83: CASA_R casa [%r31] %asi, %r18, %r18
setx fp_data_quads, %r19, %r20
.word 0x87a80a44 ! 84: FCMPd fcmpd %fcc<n>, %f0, %f4
.word 0x8780201c ! 85: WRASI_I wr %r0, 0x001c, %asi
.word 0xc19fda00 ! 86: LDDFA_R ldda [%r31, %r0], %f0
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 87: FBPULE fbule,a,pn %fcc0, <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 88: FBPULE fbule,a,pn %fcc0, <label_0x1>
wrhpr %r17, %g0, %hsys_tick_cmpr
.word 0xaf800011 ! 89: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
.word 0x36800001 ! 1: BGE bge,a <label_0x1>
.word 0xe45fc000 ! 90: LDX_R ldx [%r31 + %r0], %r18
.word 0x8b90000c ! 91: WRPR_TBA_R wrpr %r0, %r12, %tba
stxa %r19, [%g0] ASI_LSU_CONTROL
.word 0xe49fe170 ! 92: LDDA_I ldda [%r31, + 0x0170] %asi, %r18
.word 0x30800001 ! 1: BA ba,a <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 93: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xe43fe100 ! 94: STD_I std %r18, [%r31 + 0x0100]
.word 0xe527c000 ! 95: STF_R st %f18, [%r0, %r31]
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe5e7e014 ! 96: CASA_R casa [%r31] %asi, %r20, %r18
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_2_69)+16, 16, 16)) -> intp(mask2tid(0x2),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_2_69)&0xffffffff) + 32, 16, 16)) -> intp(mask2tid(0x2),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa9812027 ! 97: WR_SET_SOFTINT_I wr %r4, 0x0027, %set_softint
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_2_70) + 0, 16, 16)) -> intp(7,0,30,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_2_70)&0xffffffff) + 48, 16, 16)) -> intp(5,0,2,,,,,1)
.word 0x39400001 ! 98: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
setx fp_data_quads, %r19, %r20
.word 0xc3e8228f ! 99: PREFETCHA_I prefetcha [%r0, + 0x028f] %asi, #one_read
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 100: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0x95b340f3 ! 101: EDGE16LN edge16ln %r13, %r19, %r10
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd7e7e012 ! 102: CASA_R casa [%r31] %asi, %r18, %r11
.word 0x2f400001 ! 1: FBPU fbu,a,pn %fcc0, <label_0x1>
.word 0xd65fc000 ! 103: LDX_R ldx [%r31 + %r0], %r11
wr %r0,ASI_MMU_REAL_RANGE, %asi
ldxa [ASI_MMU_REAL_RANGE_0] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_0] %asi
ldxa [ASI_MMU_REAL_RANGE_1] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_1] %asi
ldxa [ASI_MMU_REAL_RANGE_2] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_2] %asi
ldxa [ASI_MMU_REAL_RANGE_3] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_3] %asi
.word 0x29800001 ! 104: FBL fbl,a <label_0x1>
.word 0xc1bfe0a0 ! 105: STDFA_I stda %f0, [0x00a0, %r31]
.word 0x20800001 ! 1: BN bn,a <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 106: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xc1bfd920 ! 107: STDFA_R stda %f0, [%r0, %r31]
.word 0x91948007 ! 108: WRPR_PIL_R wrpr %r18, %r7, %pil
.word 0x22c88001 ! 1: BRZ brz,a,pt %r2,<label_0x88001>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 109: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xc1bfdb60 ! 110: STDFA_R stda %f0, [%r0, %r31]
fbl,a,pn %fcc0, skip_2_80
.word 0x9f802c50 ! 111: SIR sir 0x0c50
.word 0xc1bfd960 ! 112: STDFA_R stda %f0, [%r0, %r31]
.word 0x9f802298 ! 113: SIR sir 0x0298
.word 0xe1bfe000 ! 114: STDFA_I stda %f16, [0x0000, %r31]
.word 0x22800001 ! 1: BE be,a <label_0x1>
.word 0xe65fc000 ! 115: LDX_R ldx [%r31 + %r0], %r19
best_set_reg(0xe1a00000, %r20, %r27)
.word 0xb7c6c000 ! 116: JMPL_R jmpl %r27 + %r0, %r27
setx 0x00000004003a0000, %r11, %r12
.word 0x8b90000c ! 117: WRPR_TBA_R wrpr %r0, %r12, %tba
.word 0x91940006 ! 118: WRPR_PIL_R wrpr %r16, %r6, %pil
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_2_85)+56, 16, 16)) -> intp(mask2tid(0x2),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_2_85)&0xffffffff) + 24, 16, 16)) -> intp(mask2tid(0x2),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa9817281 ! 119: WR_SET_SOFTINT_I wr %r5, 0x1281, %set_softint
.word 0x93902002 ! 120: WRPR_CWP_I wrpr %r0, 0x0002, %cwp
stxa %r15, [%r0] ASI_LSU_CONTROL
.word 0xe65fc000 ! 121: LDX_R ldx [%r31 + %r0], %r19
ta T_CHANGE_HPRIV ! macro
add %r12, (donretarg_2_87-donret_2_87), %r12
add %r12, 0x4, %r11 ! seq tnpc
andn %r11, %r10, %r11 ! low VA tnpc
set (0x0005df00 | (0x88 << 24)), %r13
wrhpr %g0, 0x9d, %htstate
ta T_CHANGE_NONPRIV ! rand=0 (2)
.word 0xe66fe089 ! 122: LDSTUB_I ldstub %r19, [%r31 + 0x0089]
wr %r0,ASI_MMU_REAL_RANGE, %asi
ldxa [ASI_MMU_REAL_RANGE_0] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_0] %asi
ldxa [ASI_MMU_REAL_RANGE_1] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_1] %asi
ldxa [ASI_MMU_REAL_RANGE_2] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_2] %asi
ldxa [ASI_MMU_REAL_RANGE_3] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_3] %asi
.word 0x29800001 ! 123: FBL fbl,a <label_0x1>
.word 0xa145c000 ! 124: RD_TICK_CMPR_REG rd %-, %r16
.word 0xc19fc2c0 ! 125: LDDFA_R ldda [%r31, %r0], %f0
set sync_thr_counter5, %r23
sllx %o1, 5, %o3 !(CID*256)
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
and %l1, 0x3, %l1 ! Check if busy/enabled ..
stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
best_set_reg(0x206100e0, %l1, %l2) !# Control Word
ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
.word 0xa9414000 ! 126: RDPC rd %pc, %r20
.word 0xa1a00173 ! 127: FABSq dis not found
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_2_91)+56, 16, 16)) -> intp(mask2tid(0x2),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_2_91)&0xffffffff) + 8, 16, 16)) -> intp(mask2tid(0x2),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa984fff1 ! 128: WR_SET_SOFTINT_I wr %r19, 0x1ff1, %set_softint
.word 0x8584b933 ! 129: WRCCR_I wr %r18, 0x1933, %ccr
.word 0x39400001 ! 130: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
.word 0x89800011 ! 131: WRTICK_R wr %r0, %r17, %tick
.word 0x8584a86b ! 132: WRCCR_I wr %r18, 0x086b, %ccr
.word 0x2ecd0001 ! 1: BRGEZ brgez,a,pt %r20,<label_0xd0001>
.word 0x819834d6 ! 133: WRHPR_HPSTATE_I wrhpr %r0, 0x14d6, %hpstate
best_set_reg(0xe1a00000, %r20, %r27)
.word 0xb7c6c000 ! 134: JMPL_R jmpl %r27 + %r0, %r27
stxa %r18, [%r0] ASI_LSU_CONTROL
brlez,a,pt %r19, skip_2_98
stxa %r8, [%r0] ASI_LSU_CONTROL
.word 0xd23fc000 ! 135: STD_R std %r9, [%r31 + %r0]
.word 0x8d903db3 ! 136: WRPR_PSTATE_I wrpr %r0, 0x1db3, %pstate
.word 0x9ba00170 ! 137: FABSq dis not found
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe1e7e011 ! 138: CASA_R casa [%r31] %asi, %r17, %r16
.word 0x95b300f2 ! 139: EDGE16LN edge16ln %r12, %r18, %r10
.word 0x24800001 ! 1: BLE ble,a <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 140: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0x93688013 ! 141: SDIVX_R sdivx %r2, %r19, %r9
.word 0xe19fe020 ! 142: LDDFA_I ldda [%r31, 0x0020], %f16
.word 0x91924004 ! 143: WRPR_PIL_R wrpr %r9, %r4, %pil
.word 0x81982de7 ! 144: WRHPR_HPSTATE_I wrhpr %r0, 0x0de7, %hpstate
.word 0x89800011 ! 145: WRTICK_R wr %r0, %r17, %tick
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd1e7e00b ! 146: CASA_R casa [%r31] %asi, %r11, %r8
setx fp_data_quads, %r19, %r20
.word 0x87a80a44 ! 147: FCMPd fcmpd %fcc<n>, %f0, %f4
setx 0x75dfc8e8302f2b6e, %r1, %r28
.word 0x25400001 ! 148: FBPLG fblg,a,pn %fcc0, <label_0x1>
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xd06fe020 ! 1: LDSTUB_I ldstub %r8, [%r31 + 0x0020]
.word 0xd097c029 ! 149: LDUHA_R lduha [%r31, %r9] 0x01, %r8
.word 0x39400001 ! 1: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
.word 0x8d903a7b ! 150: WRPR_PSTATE_I wrpr %r0, 0x1a7b, %pstate
setx join_lbl_0_0, %g1, %g2
.word 0xe877e0f9 ! 1: STX_I stx %r20, [%r31 + 0x00f9]
.word 0x9d902003 ! 2: WRPR_WSTATE_I wrpr %r0, 0x0003, %wstate
.word 0xe93fe1d9 ! 3: STDF_I std %f20, [0x01d9, %r31]
setx fp_data_quads, %r19, %r20
.word 0x87a80a44 ! 4: FCMPd fcmpd %fcc<n>, %f0, %f4
.word 0x2acc0001 ! 1: BRNZ brnz,a,pt %r16,<label_0xc0001>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 5: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0x81982f66 ! 6: WRHPR_HPSTATE_I wrhpr %r0, 0x0f66, %hpstate
.word 0x8580bf76 ! 7: WRCCR_I wr %r2, 0x1f76, %ccr
.word 0x22cc4001 ! 1: BRZ brz,a,pt %r17,<label_0xc4001>
.word 0xbfefc000 ! 1: RESTORE_R restore %r31, %r0, %r31
.word 0xbfefc000 ! 1: RESTORE_R restore %r31, %r0, %r31
.word 0xe85fc000 ! 8: LDX_R ldx [%r31 + %r0], %r20
.word 0xe19fe1c0 ! 9: LDDFA_I ldda [%r31, 0x01c0], %f16
.word 0x89800011 ! 10: WRTICK_R wr %r0, %r17, %tick
.word 0xc1bfda00 ! 11: STDFA_R stda %f0, [%r0, %r31]
stxa %r19, [%g0] ASI_LSU_CONTROL
.word 0xc19fe120 ! 12: LDDFA_I ldda [%r31, 0x0120], %f0
.word 0x3c800001 ! 13: BPOS bpos,a <label_0x1>
best_set_reg(0xe0200000, %r20, %r27)
.word 0xb7c6c000 ! 14: JMPL_R jmpl %r27 + %r0, %r27
setx 0xffffffbaffffffac, %g1, %g7
.word 0xa3800007 ! 15: WR_PERF_COUNTER_R wr %r0, %r7, %-
best_set_reg(0xe0200000, %r20, %r27)
.word 0xb7c6c000 ! 16: JMPL_R jmpl %r27 + %r0, %r27
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe9e7e00b ! 17: CASA_R casa [%r31] %asi, %r11, %r20
.word 0x87802082 ! 18: WRASI_I wr %r0, 0x0082, %asi
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 19: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xe93fe192 ! 20: STDF_I std %f20, [0x0192, %r31]
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xa9b7c7d1 ! 1: PDIST pdistn %d62, %d48, %d20
.word 0x91a049d3 ! 21: FDIVd fdivd %f32, %f50, %f8
.word 0x3f400001 ! 1: FBPO fbo,a,pn %fcc0, <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 22: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xe19fde00 ! 23: LDDFA_R ldda [%r31, %r0], %f16
.word 0xc1bfd920 ! 24: STDFA_R stda %f0, [%r0, %r31]
setx 0xffffffbbffffffa1, %g1, %g7
.word 0xa3800007 ! 25: WR_PERF_COUNTER_R wr %r0, %r7, %-
.word 0x9f803e4d ! 1: SIR sir 0x1e4d
.word 0xc36b366e ! 26: PREFETCH_I prefetch [%r12 + 0xfffff66e], #one_read
.word 0x91948013 ! 27: WRPR_PIL_R wrpr %r18, %r19, %pil
.word 0xbfefc000 ! 1: RESTORE_R restore %r31, %r0, %r31
.word 0xbfe7c000 ! 1: SAVE_R save %r31, %r0, %r31
.word 0xd85fc000 ! 28: LDX_R ldx [%r31 + %r0], %r12
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_1_17)+0, 16, 16)) -> intp(mask2tid(0x1),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_1_17)&0xffffffff) + 56, 16, 16)) -> intp(mask2tid(0x1),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa981befc ! 29: WR_SET_SOFTINT_I wr %r6, 0x1efc, %set_softint
.word 0x93a00165 ! 30: FABSq dis not found
.word 0x99a0016a ! 31: FABSq dis not found
tsubcctv %r4, 0x102f, %r20
.word 0xd807e110 ! 32: LDUW_I lduw [%r31 + 0x0110], %r12
.word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
stxa %r18, [%r0+0x3c8] %asi
.word 0x9d914001 ! 33: WRPR_WSTATE_R wrpr %r5, %r1, %wstate
.word 0xb1848002 ! 34: WR_STICK_REG_R wr %r18, %r2, %-
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd9e7e008 ! 35: CASA_R casa [%r31] %asi, %r8, %r12
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd9e7e00c ! 36: CASA_R casa [%r31] %asi, %r12, %r12
.word 0x8b90000c ! 37: WRPR_TBA_R wrpr %r0, %r12, %tba
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 38: FBPULE fbule,a,pn %fcc0, <label_0x1>
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_1_26) + 16, 16, 16)) -> intp(6,0,31,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_1_26)&0xffffffff) + 48, 16, 16)) -> intp(0,0,30,,,,,1)
.word 0x93b484cc ! 1: FCMPNE32 fcmpne32 %d18, %d12, %r9
.word 0x9f8021ae ! 39: SIR sir 0x01ae
.word 0xd727e0b4 ! 40: STF_I st %f11, [0x00b4, %r31]
.word 0xd627e1c0 ! 41: STW_I stw %r11, [%r31 + 0x01c0]
best_set_reg(0xe0200000, %r20, %r27)
.word 0xb7c6c000 ! 42: JMPL_R jmpl %r27 + %r0, %r27
.word 0x8b90000c ! 43: WRPR_TBA_R wrpr %r0, %r12, %tba
stxa %l3, [%g0] ASI_SPARC_PWR_MGMT
.word 0xa3b187d1 ! 44: PDIST pdistn %d6, %d48, %d48
setx 0xffffffbfffffffac, %g1, %g7
.word 0xa3800007 ! 45: WR_PERF_COUNTER_R wr %r0, %r7, %-
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xe3e7c02b ! 1: CASA_I casa [%r31] 0x 1, %r11, %r17
.word 0xe33fc011 ! 46: STDF_R std %f17, [%r17, %r31]
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xe26fe1d0 ! 1: LDSTUB_I ldstub %r17, [%r31 + 0x01d0]
stxa %r6, [%r0] ASI_LSU_CONTROL
.word 0x97aac833 ! 47: FMOVGE fmovs %fcc1, %f19, %f11
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xd737e1f0 ! 1: STQF_I - %f11, [0x01f0, %r31]
.word 0xd6dfc034 ! 48: LDXA_R ldxa [%r31, %r20] 0x01, %r11
.word 0x23400001 ! 1: FBPNE fbne,a,pn %fcc0, <label_0x1>
.word 0xd65fc000 ! 49: LDX_R ldx [%r31 + %r0], %r11
ta T_CHANGE_HPRIV ! macro
add %r12, (donretarg_1_33-donret_1_33), %r12
add %r12, 0x8, %r11 ! nonseq tnpc
andn %r11, %r10, %r11 ! low VA tnpc
set (0x00f4d400 | (0x58 << 24)), %r13
wrhpr %g0, 0x187, %htstate
ta T_CHANGE_NONHPRIV ! rand=1 (1)
.word 0x25400001 ! 50: FBPLG fblg,a,pn %fcc0, <label_0x1>
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_1_34) + 16, 16, 16)) -> intp(0,0,28,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_1_34)&0xffffffff) + 16, 16, 16)) -> intp(1,0,28,,,,,1)
.word 0x9f803bc1 ! 51: SIR sir 0x1bc1
.word 0xe927e114 ! 52: STF_I st %f20, [0x0114, %r31]
.word 0xe8bfc020 ! 53: STDA_R stda %r20, [%r31 + %r0] 0x01
setx 0x0000000000380000, %r11, %r12
.word 0x8b90000c ! 54: WRPR_TBA_R wrpr %r0, %r12, %tba
.word 0xa1a489cc ! 55: FDIVd fdivd %f18, %f12, %f16
.word 0xa970355c ! 56: POPC_I popc 0x155c, %r20
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xe937e060 ! 1: STQF_I - %f20, [0x0060, %r31]
.word 0xe89fc02a ! 57: LDDA_R ldda [%r31, %r10] 0x01, %r20
.word 0xc3ecc031 ! 58: PREFETCHA_R prefetcha [%r19, %r17] 0x01, #one_read
ta T_CHANGE_HPRIV ! macro
add %r12, (donretarg_1_40-donret_1_40+4), %r12
add %r12, 0x4, %r11 ! seq tnpc
andn %r12, %r10, %r12 ! low VA tpc
set (0x00bdcb00 | (0x80 << 24)), %r13
wrhpr %g0, 0xe85, %htstate
ta T_CHANGE_NONPRIV ! rand=0 (1)
.word 0x27400001 ! 59: FBPUL fbul,a,pn %fcc0, <label_0x1>
.word 0x8584a4cf ! 60: WRCCR_I wr %r18, 0x04cf, %ccr
.word 0xbfe7c000 ! 1: SAVE_R save %r31, %r0, %r31
.word 0xe05fc000 ! 61: LDX_R ldx [%r31 + %r0], %r16
.word 0x9753c000 ! 62: RDPR_FQ <illegal instruction>
.word 0x39400001 ! 63: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
.word 0xd83fc000 ! 64: STD_R std %r12, [%r31 + %r0]
.word 0xc19fdf20 ! 65: LDDFA_R ldda [%r31, %r0], %f0
set sync_thr_counter5, %r23
sllx %o1, 5, %o3 !(CID*256)
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
and %l1, 0x3, %l1 ! Check if busy/enabled ..
stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
best_set_reg(0x20610070, %l1, %l2) !# Control Word
ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
.word 0xa1414000 ! 66: RDPC rd %pc, %r16
.word 0x87802025 ! 1: WRASI_I wr %r0, 0x0025, %asi
stxa %r20, [%r0+0x3d0] %asi
.word 0x9d92c002 ! 67: WRPR_WSTATE_R wrpr %r11, %r2, %wstate
.word 0xa7a00172 ! 68: FABSq dis not found
.word 0x91948009 ! 69: WRPR_PIL_R wrpr %r18, %r9, %pil
.word 0x89800011 ! 70: WRTICK_R wr %r0, %r17, %tick
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_1_49)+32, 16, 16)) -> intp(mask2tid(0x1),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_1_49)&0xffffffff) + 24, 16, 16)) -> intp(mask2tid(0x1),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa9823fa9 ! 71: WR_SET_SOFTINT_I wr %r8, 0x1fa9, %set_softint
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_1_50) + 16, 16, 16)) -> intp(5,0,13,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_1_50)&0xffffffff) + 8, 16, 16)) -> intp(6,0,1,,,,,1)
.word 0xa3a1c9c6 ! 1: FDIVd fdivd %f38, %f6, %f48
.word 0xc368ab59 ! 72: PREFETCH_I prefetch [%r2 + 0x0b59], #one_read
wr %r0,ASI_MMU_REAL_RANGE, %asi
ldxa [ASI_MMU_REAL_RANGE_0] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_0] %asi
ldxa [ASI_MMU_REAL_RANGE_1] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_1] %asi
ldxa [ASI_MMU_REAL_RANGE_2] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_2] %asi
ldxa [ASI_MMU_REAL_RANGE_3] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_3] %asi
.word 0x29800001 ! 73: FBL fbl,a <label_0x1>
.word 0xbfe7c000 ! 1: SAVE_R save %r31, %r0, %r31
.word 0x9d97c000 ! 1: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
.word 0x9d97c000 ! 1: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
.word 0xe45fc000 ! 74: LDX_R ldx [%r31 + %r0], %r18
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe5e7e00d ! 75: CASA_R casa [%r31] %asi, %r13, %r18
.word 0x91930005 ! 76: WRPR_PIL_R wrpr %r12, %r5, %pil
setx 0xffffffb1ffffffaf, %g1, %g7
.word 0xa3800007 ! 77: WR_PERF_COUNTER_R wr %r0, %r7, %-
setx fp_data_quads, %r19, %r20
.word 0x8da009a4 ! 78: FDIVs fdivs %f0, %f4, %f6
best_set_reg(0xe0200000, %r20, %r27)
.word 0xb7c6c000 ! 79: JMPL_R jmpl %r27 + %r0, %r27
.word 0x9d97c000 ! 1: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
.word 0xbfe7c000 ! 1: SAVE_R save %r31, %r0, %r31
.word 0xe45fc000 ! 80: LDX_R ldx [%r31 + %r0], %r18
.word 0x97b0c0f4 ! 81: EDGE16LN edge16ln %r3, %r20, %r11
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_1_58) + 48, 16, 16)) -> intp(7,0,28,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_1_58)&0xffffffff) + 56, 16, 16)) -> intp(2,0,22,,,,,1)
.word 0x97a109d0 ! 1: FDIVd fdivd %f4, %f16, %f42
.word 0xa5a309d4 ! 82: FDIVd fdivd %f12, %f20, %f18
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe5e7e00c ! 83: CASA_R casa [%r31] %asi, %r12, %r18
setx fp_data_quads, %r19, %r20
.word 0x89a009c4 ! 84: FDIVd fdivd %f0, %f4, %f4
.word 0x87802055 ! 85: WRASI_I wr %r0, 0x0055, %asi
.word 0xc19fdb60 ! 86: LDDFA_R ldda [%r31, %r0], %f0
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 87: FBPULE fbule,a,pn %fcc0, <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 88: FBPULE fbule,a,pn %fcc0, <label_0x1>
wrhpr %r17, %g0, %hsys_tick_cmpr
.word 0xaf800011 ! 89: WR_TICK_CMPR_REG_R wr %r0, %r17, %-
.word 0x30800001 ! 1: BA ba,a <label_0x1>
.word 0xe45fc000 ! 90: LDX_R ldx [%r31 + %r0], %r18
.word 0x8b90000c ! 91: WRPR_TBA_R wrpr %r0, %r12, %tba
stxa %r19, [%g0] ASI_LSU_CONTROL
.word 0xe43fe150 ! 92: STD_I std %r18, [%r31 + 0x0150]
.word 0x3c800001 ! 1: BPOS bpos,a <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 93: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xe51fe120 ! 94: LDDF_I ldd [%r31, 0x0120], %f18
.word 0xe527c000 ! 95: STF_R st %f18, [%r0, %r31]
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe5e7e00d ! 96: CASA_R casa [%r31] %asi, %r13, %r18
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_1_69)+0, 16, 16)) -> intp(mask2tid(0x1),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_1_69)&0xffffffff) + 48, 16, 16)) -> intp(mask2tid(0x1),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa9822444 ! 97: WR_SET_SOFTINT_I wr %r8, 0x0444, %set_softint
#if (defined SPC || defined CMP1)
!$EV trig_pc_d(1, expr(@VA(.MAIN.intvec_1_70) + 8, 16, 16)) -> intp(3,0,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.intvec_1_70)&0xffffffff) + 8, 16, 16)) -> intp(3,0,25,,,,,1)
.word 0x39400001 ! 98: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
setx fp_data_quads, %r19, %r20
.word 0x87a80a44 ! 99: FCMPd fcmpd %fcc<n>, %f0, %f4
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 100: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0x97b100e5 ! 101: EDGE16LN edge16ln %r4, %r5, %r11
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd7e7e00b ! 102: CASA_R casa [%r31] %asi, %r11, %r11
.word 0x21400001 ! 1: FBPN fbn,a,pn %fcc0, <label_0x1>
.word 0xbfe7c000 ! 1: SAVE_R save %r31, %r0, %r31
.word 0xd65fc000 ! 103: LDX_R ldx [%r31 + %r0], %r11
wr %r0,ASI_MMU_REAL_RANGE, %asi
ldxa [ASI_MMU_REAL_RANGE_0] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_0] %asi
ldxa [ASI_MMU_REAL_RANGE_1] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_1] %asi
ldxa [ASI_MMU_REAL_RANGE_2] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_2] %asi
ldxa [ASI_MMU_REAL_RANGE_3] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_3] %asi
.word 0x29800001 ! 104: FBL fbl,a <label_0x1>
.word 0xe19fe0e0 ! 105: LDDFA_I ldda [%r31, 0x00e0], %f16
.word 0x3e800001 ! 1: BVC bvc,a <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 106: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xc1bfda00 ! 107: STDFA_R stda %f0, [%r0, %r31]
.word 0x91940007 ! 108: WRPR_PIL_R wrpr %r16, %r7, %pil
.word 0x2cccc001 ! 1: BRGZ brgz,a,pt %r19,<label_0xcc001>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 109: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0xe1bfc2c0 ! 110: STDFA_R stda %f16, [%r0, %r31]
.word 0x39400001 ! 111: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
.word 0xe1bfd960 ! 112: STDFA_R stda %f16, [%r0, %r31]
.word 0x39400001 ! 113: FBPUGE fbuge,a,pn %fcc0, <label_0x1>
.word 0xe1bfe1c0 ! 114: STDFA_I stda %f16, [0x01c0, %r31]
.word 0x3f400001 ! 1: FBPO fbo,a,pn %fcc0, <label_0x1>
.word 0xbfefc000 ! 1: RESTORE_R restore %r31, %r0, %r31
.word 0xbfe7c000 ! 1: SAVE_R save %r31, %r0, %r31
.word 0x9d97c000 ! 1: WRPR_WSTATE_R wrpr %r31, %r0, %wstate
.word 0xe65fc000 ! 115: LDX_R ldx [%r31 + %r0], %r19
best_set_reg(0xe0200000, %r20, %r27)
.word 0xb7c6c000 ! 116: JMPL_R jmpl %r27 + %r0, %r27
setx 0x0000000000380000, %r11, %r12
.word 0x8b90000c ! 117: WRPR_TBA_R wrpr %r0, %r12, %tba
.word 0x9190c00d ! 118: WRPR_PIL_R wrpr %r3, %r13, %pil
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_1_85)+40, 16, 16)) -> intp(mask2tid(0x1),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_1_85)&0xffffffff) + 40, 16, 16)) -> intp(mask2tid(0x1),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa981624f ! 119: WR_SET_SOFTINT_I wr %r5, 0x024f, %set_softint
.word 0x93902000 ! 120: WRPR_CWP_I wrpr %r0, 0x0000, %cwp
.word 0xbfe7c000 ! 1: SAVE_R save %r31, %r0, %r31
.word 0xe65fc000 ! 121: LDX_R ldx [%r31 + %r0], %r19
ta T_CHANGE_HPRIV ! macro
add %r12, (donretarg_1_87-donret_1_87), %r12
add %r12, 0x4, %r11 ! seq tnpc
andn %r11, %r10, %r11 ! low VA tnpc
set (0x008c7200 | (28 << 24)), %r13
wrhpr %g0, 0x1495, %htstate
ta T_CHANGE_NONPRIV ! rand=0 (1)
.word 0xe66fe0ed ! 122: LDSTUB_I ldstub %r19, [%r31 + 0x00ed]
wr %r0,ASI_MMU_REAL_RANGE, %asi
ldxa [ASI_MMU_REAL_RANGE_0] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_0] %asi
ldxa [ASI_MMU_REAL_RANGE_1] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_1] %asi
ldxa [ASI_MMU_REAL_RANGE_2] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_2] %asi
ldxa [ASI_MMU_REAL_RANGE_3] %asi, %r22
stxa %r22, [ASI_MMU_REAL_RANGE_3] %asi
.word 0x29800001 ! 123: FBL fbl,a <label_0x1>
.word 0xa945c000 ! 124: RD_TICK_CMPR_REG rd %-, %r20
.word 0xc19fc2c0 ! 125: LDDFA_R ldda [%r31, %r0], %f0
set sync_thr_counter5, %r23
sllx %o1, 5, %o3 !(CID*256)
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_CWQ_SYNC] %asi, %l1
and %l1, 0x3, %l1 ! Check if busy/enabled ..
stxa %l1, [%g0 + ASI_SPU_CWQ_CSR] %asi
best_set_reg(0x206100c0, %l1, %l2) !# Control Word
ldxa [%g0 + ASI_SPU_CWQ_HEAD] %asi, %l2
stxa %l2, [%g0 + ASI_SPU_CWQ_HEAD] %asi
.word 0xa9414000 ! 126: RDPC rd %pc, %r20
.word 0xa3a00172 ! 127: FABSq dis not found
#if (defined SPC || defined CMP)
!$EV trig_pc_d(1, expr(@VA(.MAIN.xir_1_91)+0, 16, 16)) -> intp(mask2tid(0x1),1,3,,,,,1)
!$EV trig_pc_d(1, expr((@VA(.MAIN.xir_1_91)&0xffffffff) + 24, 16, 16)) -> intp(mask2tid(0x1),1,3,,,,,1)
!! Generate XIR via RESET_GEN register
andn %r18, 0x208, %r18 ! Reset pstate.am,cle
setx 0x8900000808, %r16, %r17
.word 0xa984e2ab ! 128: WR_SET_SOFTINT_I wr %r19, 0x02ab, %set_softint
.word 0x85817d21 ! 129: WRCCR_I wr %r5, 0x1d21, %ccr
.word 0x9f8024bb ! 130: SIR sir 0x04bb
.word 0x89800011 ! 131: WRTICK_R wr %r0, %r17, %tick
.word 0x8584ab62 ! 132: WRCCR_I wr %r18, 0x0b62, %ccr
.word 0x37400001 ! 1: FBPGE fbge,a,pn %fcc0, <label_0x1>
.word 0x81983cc8 ! 133: WRHPR_HPSTATE_I wrhpr %r0, 0x1cc8, %hpstate
best_set_reg(0xe0200000, %r20, %r27)
.word 0xb7c6c000 ! 134: JMPL_R jmpl %r27 + %r0, %r27
.word 0xd23fc000 ! 135: STD_R std %r9, [%r31 + %r0]
.word 0x8d903d91 ! 136: WRPR_PSTATE_I wrpr %r0, 0x1d91, %pstate
.word 0xa1a00172 ! 137: FABSq dis not found
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xe1e7e00b ! 138: CASA_R casa [%r31] %asi, %r11, %r16
.word 0x95b500e5 ! 139: EDGE16LN edge16ln %r20, %r5, %r10
.word 0x38800001 ! 1: BGU bgu,a <label_0x1>
stxa %r2, [%r0] ASI_LSU_CONTROL
.word 0x3d400001 ! 140: FBPULE fbule,a,pn %fcc0, <label_0x1>
.word 0x91688004 ! 141: SDIVX_R sdivx %r2, %r4, %r8
.word 0xe19fe0e0 ! 142: LDDFA_I ldda [%r31, 0x00e0], %f16
.word 0x9190c013 ! 143: WRPR_PIL_R wrpr %r3, %r19, %pil
.word 0x8198355d ! 144: WRHPR_HPSTATE_I wrhpr %r0, 0x155d, %hpstate
.word 0x89800011 ! 145: WRTICK_R wr %r0, %r17, %tick
set sync_thr_counter6, %r23
cas [%r23],%g0,%r10 !lock
ldxa [%g0 + ASI_SPU_MA_SYNC] %asi, %g0
stxa %g1, [%g0 + 0x80] %asi
.word 0xd1e7e014 ! 146: CASA_R casa [%r31] %asi, %r20, %r8
setx fp_data_quads, %r19, %r20
.word 0x87a80a44 ! 147: FCMPd fcmpd %fcc<n>, %f0, %f4
setx 0xe2a00a3be4aedb34, %r1, %r28
.word 0x25400001 ! 148: FBPLG fblg,a,pn %fcc0, <label_0x1>
setx common_target, %r12, %r27
lduw [%r27], %r12 ! Load common dest into dcache ..
.word 0xd06fe0a0 ! 1: LDSTUB_I ldstub %r8, [%r31 + 0x00a0]
.word 0xd0dfc033 ! 149: LDXA_R ldxa [%r31, %r19] 0x01, %r8
.word 0x2c800001 ! 1: BNEG bneg,a <label_0x1>
.word 0x8d9025a2 ! 150: WRPR_PSTATE_I wrpr %r0, 0x05a2, %pstate
wr %g0, ASI_SCRATCHPAD, %asi
best_set_reg(HV_TRAP_BASE_PA, %r1, %r2)
! fp data rs1, rs2, fsr, gsr quads ..
.xword 0x0044000000000000
.xword 0x4028000000000000
.xword 0x0fc0400400000000
.xword 0x0000000000000000
.xword 0x0041000000000000
.xword 0x4022000000000000
.xword 0x0600800000000000
.xword 0x0000000000000000
.xword 0x0220000000000000
.xword 0x4140000000000000
.xword 0x4fc0400400000000
.xword 0x0000000000000000
.xword 0x4090000000000000
.xword 0x0090000000000000
.xword 0x0f80400800000000
.xword 0x0a00000000000000
.xword 0x1a9fcdbccb744441
.xword 0x4923ec55eedfcf9f
.xword 0xfbbb08c72ed164de
.xword 0x20429ff47e90168b
.xword 0x3886d3e2a255a739
.xword 0xaf23ee6397c7b60d
.xword 0xa476b6763a3c0ce8
.xword 0xe0cd8702efe7b278
.xword 0x163b56ed2d12f839
.xword 0x5a2edf8d3dfea00d
.xword 0x1ee8424a2171d871
.xword 0xe18b417eb294bd0b
.xword 0xa5347aac98e5fe0a
.xword 0x11afac6c3cb2aa9c
.xword 0x507b636e47637eef
.xword 0xcc378d0384f0c06e
.xword 0xc5debcfb70fbd82d
.xword 0x849d586ba730fab6
.xword 0x8a300f33efaac39b
.xword 0x2270a2ed622d0b32
.xword 0x371510847a4a61f0
.xword 0xd624f896339d6ead
.xword 0x6c1353f2cfb2fa2d
.xword 0x95860f0799cf27bf
.xword 0xd8b3baa08b005259
.xword 0x8e0ed9532e7e1c93
.xword 0xc3cb7add8bade322
.xword 0x253fe33f260f8b77
.xword 0x7a49492329de07ac
.xword 0xd272e2796796129b
.xword 0x6dfd521b71914b68
.xword 0xf2175d942d7baf8d
.xword 0xbe09c31f44ac6683
.xword 0xff70d6ae04648ec9
.xword 0xc1348b7b4c451d02
.xword 0x3980c6605e45e8e5
.xword 0x300fe8eb12825f99
.xword 0x5ca6345e393cf75e
.xword 0x7313b928b19f7ba3
.xword 0x155a447046672759
.xword 0xaeb3ec1eb07339e2
.xword 0xd685ead0b7e368e0
.xword 0x14f2a13b1e2c3ffd
.xword 0x582fd1fa2b468f64
.xword 0x80e09d5e6cf80b0c
.xword 0x53856a0145ce5e8b
.xword 0x585a51b852eae910
.xword 0x8de40adac185235e
.xword 0xc27142ae74249342
.xword 0x38d07e6bd85419ae
.xword 0x5cd170af657eeeae
.xword 0xdd8aaea13e2c253e
.xword 0x230472994e6100da
.xword 0x4fdc3ec62f93316e
.xword 0xa4a643de54360d84
.xword 0x3c4e28f572c27383
.xword 0xfb80b2175556c750
.xword 0x98028e49b524ecd2
.xword 0x047178845ad7fa94
.xword 0xf57bb7da5032c59a
.xword 0x03683a0f63254881
.xword 0xff3aa9d32d5a45d4
.xword 0xb87427630f48b0da
.xword 0xbb7345ece1b3e5ed
.xword 0xcc478d30b2917c7b
.xword 0xaec8accaff9deac2
.xword 0xf5f3efbcbc642a97
.xword 0x444f0378fc3de47c
.xword 0xf7c261549401ce9c
.xword 0xbd1a7499846e062d
.xword 0xbdcf09f4b6224bca
.xword 0xa27b81769dde4a32
.xword 0xafcf9b3372281cc4
.xword 0x2705923e3642b9ab
.xword 0xb33e8f44604d794d
.xword 0x4fd3a51767a1d76b
.xword 0x8ed43fb339f085b7
.xword 0xf5eb37c6f8d94a78
.xword 0xdb8a4c77679f0f3d
.xword 0x6a0b94d4ebe4093b
.xword 0xab66fa80d966c67c
.xword 0xbbbb1a058cee7376
.xword 0x15397cd2012f4031
.xword 0x32e9a6a5b2be349f
.xword 0x21f6adf329db1d89
.xword 0xc3c1827b0add6772
.xword 0xde504da7578ca5ac
.xword 0xa370e072b23e1ee3
.xword 0xfc76a2690e04fdb7
.xword 0x577a4e6fc826009c
.xword 0x15619b7f12f184fd
.xword 0x35dffc70c560d787
.xword 0x3310bc007c2b5884
.xword 0x606e9f12a60954e1
.xword 0xacca9430b06be826
.xword 0xf55b4acd5cecd641
.xword 0x90e240d1947832fa
.xword 0x41d24ae881d27473
.xword 0xe77b90997e64f1cf
.xword 0x8ca17084ecb9427e
.xword 0x6cfbe9e942e92e44
.xword 0xf00b2429c6870d29
.xword 0xc6137efef07cd453
.xword 0xd0e3a8474c37c07d
.xword 0x78a8e9533350b669
.xword 0x4d34befee1fbb684
.xword 0xd98ff30c3cef51ca
.xword 0xcf45ae3249ed6df9
.xword 0x0c65e29d5175c334
.xword 0x560f855a159bb5e3
.xword 0x2d80d9126ad50bc3
.xword 0xc66377d65035c67f
.xword 0x9439dc10104d63e3
.xword 0x96d9a6068f140e7b
.xword 0xed129f7f68c9202d
.xword 0x1aecd029290d3242
.xword 0x21493c12bd397904
.xword 0x3c2bf43b88776a11
.xword 0x32d286731926ca92
.xword 0x656f7c332c5eb998
.xword 0xebfdcc8db1d5a241
.xword 0x578746b1413100d5
.xword 0x0e0b5015c4c89e77
.xword 0xffac5848f6408a16
.xword 0xe166aac10cefca43
.xword 0x3d2e43fbd2df2738
.xword 0xe16c6956e071be15
.xword 0xb78a8ef9a05aed4b
.xword 0x46940738e1bfdca4
.xword 0x98017aab9a76376e
.xword 0xf7f3ef35c97f0257
.xword 0x851ee65f3d1285ad
.xword 0xe84a1a235249bd73
.xword 0x0e37f98e22d4c4c3
.xword 0xd905e6e46f445cf9
.xword 0xcd2b79e26e0e5b6b
.xword 0x9da676bdf94862f2
.xword 0x3c08a7bb5f169110
.xword 0x9de8d6a4bc02ddac
.xword 0xbfb5f5862ad0b44e
.xword 0x420c290d8fae585a
.xword 0x5f709cda70c260d3
.xword 0x7752c2d97bc67b23
.xword 0xd8e1c095ea66e49e
.xword 0x8e6c3211e1f34e61
.xword 0x2b8aa7367442a711
.xword 0x4e7108f695e5e57c
.xword 0x0e8289117267293a
.xword 0xc1d058a0aa576d09
.xword 0xe2c849885d09d9c0
.xword 0xed65b0e3c444e7ec
.xword 0x6555ce37eb921ee7
.xword 0xc7048648605820a4
.xword 0x8b0b3eb51aab99d0
.xword 0x5b3cd6f26e730a53
.xword 0x14f3cd7ccad05ab7
.xword 0x52118e647416b63b
.xword 0x19e8e2ea0333398c
.xword 0x95e93de286eea266
.xword 0x3c28d5baaeebd835
.xword 0x2b256ec247ce638d
.xword 0xbf19167401a1de1e
.xword 0x69a60f814a665b95
.xword 0x17f08f9af05e8f00
.xword 0x3589078da5c7fdfb
.xword 0xf8d254ae3bb304f3
.xword 0xf0b43cab159b815c
.xword 0x9a9c2681c62f6bd9
.xword 0x959c40fdee70c7d6
.xword 0x8d49bdd2e798b205
.xword 0x059cd24b354ba281
.xword 0x328a90b2948c9323
.xword 0x299a87834a1027d0
.xword 0x06ad35655f229098
.xword 0xb884b15c07f1a436
.xword 0xa88ed2b8154a181d
.xword 0x4cdbe53550fc4850
.xword 0xcfe377c2ffa02a19
.xword 0xc253f64c905b731f
.xword 0x55e47d709614c9fe
.xword 0x444fb17650ed589f
.xword 0xdf07316098ab8779
.xword 0x0140b08be865b1ca
.xword 0xfd62cb6eb43aa5c6
.xword 0x25d839742723e870
.xword 0xca7cb3b45c45ccfc
.xword 0xec14c84e4f5831ca
.xword 0xa798e5b2f958fc68
.xword 0x17df5b06d84c617e
.xword 0x8309d8baa56a2317
.xword 0xd7b7b5502b67aa1d
.xword 0x61f12f7687a0be2d
.xword 0xb71e396af0a32673
.xword 0xd25e5e814be9669d
.xword 0x11350756d6ddc42c
.xword 0x732d97cb1cb43af2
.xword 0xa156c5da7188f25a
.xword 0x4a4b95f42a9b8530
.xword 0x1a297206b38dbe48
.xword 0x7b672c319e2bef1f
.xword 0xc11a35d859077356
.xword 0xc375edb9662a1cb1
.xword 0x0f2086ba51dbd5cc
.xword 0x91cfa3e544b7b78e
.xword 0xb84fb610b52ef434
.xword 0xbca8efb241b160f1
.xword 0xca663d2ac7473011
.xword 0xe93f3120469e8112
.xword 0xabd69d5abb7103d4
.xword 0x6594f24e17ce53e2
.xword 0x5a7ebe82b1aec098
.xword 0x3715207a785441ef
.xword 0xb5ee0a442e407947
.xword 0xba601cb3b235ddd7
.xword 0x16d21aa2d30cc403
.xword 0x39a93410b14aab05
.xword 0x1415af03b3f786ca
.xword 0x5cdb60ec2b51566a
.xword 0xaa578e11ffe504cb
.xword 0x7de23561356d28ef
.xword 0x117867d304c3c2fb
.xword 0xac187a968225b70a
.xword 0x650cd654e110b2e9
.xword 0xecf4fffe3b731976
.xword 0xd2ceb5e6ceba6932
.xword 0xb1e5d7c6a3612674
.xword 0xe237ae0855757020
.xword 0x6aa8fb35c7c53f81
.xword 0xfaa7612a272ee5d6
.xword 0xd5350b9261c7e420
.xword 0xdeafc78deac2be95
.xword 0xec86a2c454a9a5a5
.xword 0xf8aaa91872a3f3da
.xword 0x9a1a80092dcb6503
.xword 0x6d2028318f4a7ff4
.xword 0x9ceefd873f6d29b6
.xword 0x7ac73ee26366fa67
.xword 0x613a4b4eaf7e2e39
.xword 0x45b7b2e7a19a3146
.xword 0x18b8a6d96d27c88c
.xword 0x972e77dcf47f1162
.xword 0x6908f6fc5b867cac
.xword 0x1f78f5643815d992
.xword 0x4f32eb242c10bfb4
.xword 0xd1b789fb7b5b4c5c
.xword 0x8128b361fa5fec9b
.xword 0x3ab2aed430248fbe
.xword 0x34071061814d5df6
.xword 0xbddced5cf24baa48
.xword 0x1dd8b3e383c2f273
.xword 0xf6374cb5ea9221b3
.xword 0x9bfbe162823f7119
.xword 0x8c53aeab623ab477
.xword 0x5c768c5918c6ebcf
.xword 0xb973ba49a1ed7d6d
.xword 0xaa1cf7ea9f688887
.global restore_range_regs
wr %g0, ASI_MMU_REAL_RANGE, %asi
ldxa [ASI_MMU_REAL_RANGE_0] %asi, %g2
stxa %g2, [ASI_MMU_REAL_RANGE_0] %asi
ldxa [ASI_MMU_REAL_RANGE_1] %asi, %g2
stxa %g2, [ASI_MMU_REAL_RANGE_1] %asi
ldxa [ASI_MMU_REAL_RANGE_2] %asi, %g2
stxa %g2, [ASI_MMU_REAL_RANGE_2] %asi
ldxa [ASI_MMU_REAL_RANGE_3] %asi, %g2
stxa %g2, [ASI_MMU_REAL_RANGE_3] %asi
# 10 "/import/n2-aus-random/N2/sandbox-24x7/somePerson/SIMRUN/DIAG/include/tlu_custom_trap_extensions.s"
.global retry_with_base_tba
!if pc[13:5]==0, then assume not a relocated handler
brnz,a %r5, retry_with_base_tba
!assume %r27 is where we came from ..
best_set_reg(TRAP_BASE_VA, %r3, %r5)
add %l2, htrap_5_ext_done-htrap_5_ext, %l2
stxa %l1, [%g0] ASI_LSU_CTL_REG
! If TT != 2, then goto trap handler
and %l3, 0x4, %l3 ! If previously in hpriv mode, go to hpriv
brnz,a %l3, wdog_2_goto_handler_1
srlx %l1, 7, %l3 ! Send priv sw traps to priv mode ..
cmp %l3, 0x2 ! 0x2 = priv sw trap, 0x3=hpriv sw trap ..
be,a wdog_2_goto_handler_1
# 86 "/import/n2-aus-random/N2/sandbox-24x7/somePerson/SIMRUN/DIAG/include/tlu_custom_trap_extensions.s"
! Red mode other reset handler
! Get htba, and tt and make trap address
! Jump to trap handler ..
! IF TL=6, shift stack by one ..
stxa %l1, [%g0] ASI_LSU_CTL_REG
and %l2, 0x4, %l2 ! If previously in hpriv mode, go to hpriv
brnz,a %l2, red_goto_handler
srlx %l1, 7, %l2 ! Send priv sw traps to priv mode ..
cmp %l2, 0x2 ! 0x2 = priv sw trap, 0x3=hpriv sw trap ..
wrhpr %l1, 0x20, %hpstate
! Shift stack down by 1 ...
! If TT != 2, then goto trap handler
stxa %l1, [%g0] ASI_LSU_CTL_REG
SECTION .CWQ_DATA DATA_VA =0x4000
.xword 0xad32fa52374cc6ba
.xword 0x4cbf52280549003a
.xword 0xDEADBEEFDEADBEEF
.xword 0xDEADBEEFDEADBEEF
!# CWQ_BASE for core N is CWQ_BASE+(N*256)
!# CWQ_LAST for core N is CWQ_LAST+(N*256)
SECTION .MyHTRAPS_0 TEXT_VA = 0x0000000000280000, DATA_VA = 0x00000000002c0000
PA = ra2pa(0x0000000000280000,0),
part_0_ctx_zero_tsb_config_3,
part_0_ctx_nonzero_tsb_config_3,
TTE_Size = PART0_Z_PAGE_SIZE_3,
PA = ra2pa(0x00000000002c0000,0),
part_0_ctx_zero_tsb_config_3,
part_0_ctx_nonzero_tsb_config_3,
TTE_Size = PART0_Z_PAGE_SIZE_3,
#include "tlu_htraps_ext.s"
SECTION .MyHTRAPS_1 TEXT_VA = 0x00000000002a0000, DATA_VA = 0x00000000002e0000
PA = ra2pa(0x00000000002a0000,0),
part_0_ctx_zero_tsb_config_3,
part_0_ctx_nonzero_tsb_config_3,
TTE_Size = PART0_Z_PAGE_SIZE_3,
PA = ra2pa(0x00000000002e0000,0),
part_0_ctx_zero_tsb_config_3,
part_0_ctx_nonzero_tsb_config_3,
TTE_Size = PART0_Z_PAGE_SIZE_3,
#include "tlu_htraps_ext.s"
SECTION .MyHTRAPS_2 TEXT_VA = 0x0000000200280000, DATA_VA = 0x00000002002c0000
PA = ra2pa(0x0000000200280000,0),
part_0_ctx_zero_tsb_config_3,
part_0_ctx_nonzero_tsb_config_3,
TTE_Size = PART0_Z_PAGE_SIZE_3,
PA = ra2pa(0x00000002002c0000,0),
part_0_ctx_zero_tsb_config_3,
part_0_ctx_nonzero_tsb_config_3,
TTE_Size = PART0_Z_PAGE_SIZE_3,
#include "tlu_htraps_ext.s"
SECTION .MyHTRAPS_3 TEXT_VA = 0x00000002002a0000, DATA_VA = 0x00000002002e0000
PA = ra2pa(0x00000002002a0000,0),
part_0_ctx_zero_tsb_config_3,
part_0_ctx_nonzero_tsb_config_3,
TTE_Size = PART0_Z_PAGE_SIZE_3,
PA = ra2pa(0x00000002002e0000,0),
part_0_ctx_zero_tsb_config_3,
part_0_ctx_nonzero_tsb_config_3,
TTE_Size = PART0_Z_PAGE_SIZE_3,
#include "tlu_htraps_ext.s"
SECTION .MyTRAPS_0 TEXT_VA = 0x0000000000380000, DATA_VA = 0x00000000003c0000
PA = ra2pa(0x0000000000380000,0),
part_0_ctx_zero_tsb_config_3,
part_0_ctx_nonzero_tsb_config_3,
TTE_Size = PART0_Z_PAGE_SIZE_3,
PA = ra2pa(0x00000000003c0000,0),
part_0_ctx_zero_tsb_config_3,
part_0_ctx_nonzero_tsb_config_3,
TTE_Size = PART0_Z_PAGE_SIZE_3,
SECTION .MyTRAPS_1 TEXT_VA = 0x00000000003a0000, DATA_VA = 0x00000000003e0000
PA = ra2pa(0x00000000003a0000,0),
part_0_ctx_zero_tsb_config_3,
part_0_ctx_nonzero_tsb_config_3,
TTE_Size = PART0_Z_PAGE_SIZE_3,
PA = ra2pa(0x00000000003e0000,0),
part_0_ctx_zero_tsb_config_3,
part_0_ctx_nonzero_tsb_config_3,
TTE_Size = PART0_Z_PAGE_SIZE_3,
SECTION .MyTRAPS_2 TEXT_VA = 0x0000000400380000, DATA_VA = 0x00000004003c0000
PA = ra2pa(0x0000000400380000,0),
part_0_ctx_zero_tsb_config_3,
part_0_ctx_nonzero_tsb_config_3,
TTE_Size = PART0_Z_PAGE_SIZE_3,
PA = ra2pa(0x00000004003c0000,0),
part_0_ctx_zero_tsb_config_3,
part_0_ctx_nonzero_tsb_config_3,
TTE_Size = PART0_Z_PAGE_SIZE_3,
SECTION .MyTRAPS_3 TEXT_VA = 0x00000004003a0000, DATA_VA = 0x00000004003e0000
PA = ra2pa(0x00000004003a0000,0),
part_0_ctx_zero_tsb_config_3,
part_0_ctx_nonzero_tsb_config_3,
TTE_Size = PART0_Z_PAGE_SIZE_3,
PA = ra2pa(0x00000004003e0000,0),
part_0_ctx_zero_tsb_config_3,
part_0_ctx_nonzero_tsb_config_3,
TTE_Size = PART0_Z_PAGE_SIZE_3,
SECTION .MyDATA_0 TEXT_VA = 0x00000000e0140000, DATA_VA = 0x0000000060140000
PA = ra2pa(0x0000000170100000,0),
part_0_ctx_zero_tsb_config_0,
part_0_ctx_nonzero_tsb_config_0,
PA = ra2pa(0x0000000170100000,0),
part_0_ctx_zero_tsb_config_1,
part_0_ctx_nonzero_tsb_config_1,
.xword 0xa38d13a20b95e5f4
.xword 0x557e7377aafec941
.xword 0x0c7ef84e756889be
.xword 0xd76879f41caa3471
.xword 0xb54e327cafa94eb8
.xword 0x9dac092b410807bd
.xword 0x7239b753894db7ae
.xword 0x71eb5bbdc644d2af
.xword 0x5f29b5b5b4aa36cc
.xword 0xf0319ae3892d74c1
.xword 0x96c618e7558989cc
.xword 0xf5607b4e37067744
.xword 0x25bd5af8f34960a4
.xword 0x1ce3de35679586dc
.xword 0xc9c6c39d336cf851
.xword 0x9c537ef8f4e21060
.xword 0xb908db9b3b50342e
.xword 0x614f963a42a2b679
.xword 0xde1ad59dfc433477
.xword 0x524c209b0a5c3f4b
.xword 0x8373e8040ee0b268
.xword 0xc1643619d63ca83d
.xword 0xe9ab0bcc13c49271
.xword 0xce8391ddcbddc6fb
.xword 0x8fcb1bdf9c8cddc4
.xword 0x90640ce675195134
.xword 0xe20abed543cf55d9
.xword 0xead60c2e95bee339
.xword 0x4b5231519be58a0e
.xword 0xb8cbc60e99409221
.xword 0x4d4f5f2e91541aa3
.xword 0x160c57852c8e8e78
SECTION .MyDATA_1 TEXT_VA = 0x00000000e0340000, DATA_VA = 0x0000000060340000
PA = ra2pa(0x0000000170300000,0),
part_0_ctx_zero_tsb_config_0,
part_0_ctx_nonzero_tsb_config_0,
PA = ra2pa(0x0000000170300000,0),
part_0_ctx_zero_tsb_config_1,
part_0_ctx_nonzero_tsb_config_1,
.xword 0xf468945bf19f6f3b
.xword 0xfb93b56df5cbb74c
.xword 0x345077d9766dbd71
.xword 0xf409994e4f4d5e30
.xword 0xedd976e4cb683205
.xword 0xc72ff9168ba8779d
.xword 0x306a533008a1ce45
.xword 0x7d58f852be33459b
.xword 0x072b9f251a9a59d8
.xword 0xe3efcf69fc28e6a6
.xword 0x1387e26f86831fd1
.xword 0xef7cb6b12b90164e
.xword 0x6d3783891b2e2556
.xword 0x9532f579b3eac6f6
.xword 0x344f3413effcad20
.xword 0xe2caab67e7f7326e
.xword 0x34c1bf90c0f1189d
.xword 0x6fc230a26502b7b4
.xword 0xa35b82ce5217eaa0
.xword 0x0f2cda06708f2cf8
.xword 0x34edb2b23713f62d
.xword 0x09c2b13f2e0595f0
.xword 0x8cadf4ce12ca788f
.xword 0x1f7646d4870d47d8
.xword 0xc059ad64690318ee
.xword 0x00aaa979cdebe07e
.xword 0x6088f613ccad13f0
.xword 0x99d9e793ded44214
.xword 0x3587201e133646b5
.xword 0x8262571d093ca289
.xword 0x5748a9215048a8c6
.xword 0x224ed4cbd2519a52
SECTION .MyDATA_2 TEXT_VA = 0x00000000e0540000, DATA_VA = 0x0000000060540000
PA = ra2pa(0x0000000170500000,0),
part_0_ctx_zero_tsb_config_0,
part_0_ctx_nonzero_tsb_config_0,
PA = ra2pa(0x0000000170500000,0),
part_0_ctx_zero_tsb_config_1,
part_0_ctx_nonzero_tsb_config_1,
.xword 0x2aff6c5c76d32178
.xword 0xb0cfa9d0e05722c0
.xword 0x4fff8753836fb6d8
.xword 0xeb492644f76d76ec
.xword 0xe8e66bf07e8d29dc
.xword 0x76b67f236fc26d5a
.xword 0x33c0d559c7f16d60
.xword 0x663ea2a90beac5eb
.xword 0x678ff0017b3bff1d
.xword 0x9c154b418fd5f3b3
.xword 0x666832badc990800
.xword 0x43743edef6c79633
.xword 0xe1bbf091f9063fd8
.xword 0xbd232fe84eeb6cf9
.xword 0xfc9e269673852b97
.xword 0xdeaffb9ae77925ef
.xword 0x62bfe0089792a3e9
.xword 0x0a0ebb0b6864e3b5
.xword 0xbd639dbbc07eac10
.xword 0x3da5b9bb5c98fc1e
.xword 0x862c853feb8953a3
.xword 0x59a618b187550f91
.xword 0x3790c7c1f57bfc29
.xword 0x20103280fcff1b9d
.xword 0x296e7d458ac00541
.xword 0x7bfa448d694a7445
.xword 0xd56c00ac96766058
.xword 0xc85b2192a36cd731
.xword 0x1b4119a700cba578
.xword 0x2a3d00892c04c61a
.xword 0x65885026ab6f6a28
.xword 0xc303371ec71debba
SECTION .MyDATA_3 TEXT_VA = 0x00000000e0740000, DATA_VA = 0x0000000060740000
PA = ra2pa(0x0000000170700000,0),
part_0_ctx_zero_tsb_config_0,
part_0_ctx_nonzero_tsb_config_0,
PA = ra2pa(0x0000000170700000,0),
part_0_ctx_zero_tsb_config_1,
part_0_ctx_nonzero_tsb_config_1,
.xword 0x769e7c0636c03b5d
.xword 0x1a8ba01a06a805a5
.xword 0x4bed03ec5eda3a4c
.xword 0x46ec812540882e7c
.xword 0xb86e91598998e104
.xword 0x6ac53040e3892977
.xword 0x3f4c61a4f9df43a1
.xword 0xc81b1305eb470d46
.xword 0xfa2250f2f799ab72
.xword 0xffb9a2e1c3c84d85
.xword 0x37c242b4a99c43f7
.xword 0x79552f42be2aac42
.xword 0xdf9f273386b6cb6d
.xword 0x7d15d141e1c5e4bd
.xword 0xa02bb41eb4fdac1a
.xword 0x6379ae5a70dceb3e
.xword 0x8284c1824081c9fa
.xword 0xb21e9033768f4869
.xword 0x86517c8fff76dbe0
.xword 0xb9936f0ae784b0da
.xword 0x063b7334cdbe093f
.xword 0x373cd21b8c5379a4
.xword 0x4c637c14f356d971
.xword 0xf00078bfbe613ba2
.xword 0xf7998f9af29e18ed
.xword 0xbd34058ae405b425
.xword 0xd6f488c77f46a9da
.xword 0x864bfe5fd8584dbf
.xword 0x6f2c4b93307a9d51
.xword 0x7b5a2cfd1e02b1fc
.xword 0x5c8fd69a501bc7d5
.xword 0xdc98896c5504327d
SECTION .MyTEXT_0 TEXT_VA = 0x00000000e0200000
PA = ra2pa(0x00000000e0200000,0),
part_0_ctx_zero_tsb_config_1,
part_0_ctx_nonzero_tsb_config_1,
SECTION .MyTEXT_1 TEXT_VA = 0x00000000e0a00000
PA = ra2pa(0x00000000e0a00000,0),
part_0_ctx_zero_tsb_config_1,
part_0_ctx_nonzero_tsb_config_1,
SECTION .MyTEXT_2 TEXT_VA = 0x00000000e1200000
PA = ra2pa(0x00000000e1200000,0),
part_0_ctx_zero_tsb_config_1,
part_0_ctx_nonzero_tsb_config_1,
SECTION .MyTEXT_3 TEXT_VA = 0x00000000e1a00000
PA = ra2pa(0x00000000e1a00000,0),
part_0_ctx_zero_tsb_config_1,
part_0_ctx_nonzero_tsb_config_1,
SECTION .VaHOLE_0 TEXT_VA = 0x00007fffffffe000
PA = ra2pa(0x00000000ffffe000,0),
part_0_ctx_zero_tsb_config_1,
part_0_ctx_nonzero_tsb_config_1,
vahole_target2: nop;nop;nop
vahole_target3: nop;nop;nop
SECTION .VaHOLEL_0 TEXT_VA = 0x00000000ffffe000
PA = ra2pa(0x00000000ffffe000,0),
part_0_ctx_zero_tsb_config_0,
part_0_ctx_nonzero_tsb_config_0,
SECTION .ZERO_0 TEXT_VA = 0x0000000000000000
PA = ra2pa(0x0000000000000000,0),
part_0_ctx_zero_tsb_config_1,
part_0_ctx_nonzero_tsb_config_1,
setx HRedmode_Reset_Handler, %g1, %g2
setx wdog_red_ext, %g1, %g2
Software_Initiated_Reset:
setx Software_Reset_Handler, %g1, %g2
! IF TL=6, shift stack by one ..
stxa %l1, [%g0] ASI_LSU_CTL_REG
and %l2, 0x4, %l2 ! If previously in hpriv mode, go to hpriv
brnz,a %l2, red_goto_handler
srlx %l1, 7, %l2 ! Send priv sw traps to priv mode ..
cmp %l2, 0x2 ! 0x2 = priv sw trap, 0x3=hpriv sw trap ..
wrhpr %l1, 0x20, %hpstate
! Shift stack down by 1 ...
! If TT != 2, then goto trap handler
stxa %l1, [%g0] ASI_LSU_CTL_REG
SECTION .VaHOLE_PA_0 TEXT_VA = 0x000000ffffffe000
SECTION .MASKEDHOLE_0 TEXT_VA = 0x0000000100000000
PA = ra2pa(0x0000000000000000,0),
part_0_ctx_zero_tsb_config_3,
part_0_ctx_nonzero_tsb_config_3,