/* * ========== Copyright Header Begin ========================================== * * OpenSPARC T2 Processor File: mmu_mt_demap_page_1.s * Copyright (C) 1995-2007 Sun Microsystems, Inc. All Rights Reserved * 4150 Network Circle, Santa Clara, California 95054, U.S.A. * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 2 of the License. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * For the avoidance of doubt, and except that if any non-GPL license * choice is available it will apply instead, Sun elects to use only * the General Public License version 2 (GPLv2) at this time for any * software where a choice of GPL license versions is made * available with the language indicating that GPLv2 or any later version * may be used, or where a choice of which version of the GPL is applied is * otherwise unspecified. * * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, * CA 95054 USA or visit www.sun.com if you need additional information or * have any questions. * * * ========== Copyright Header End ============================================ */ #include "asi_s.h" #ifndef NOHWTW #define THR0_Z_CTX_TSB_CONFIG_0 0x8000000001000150 #define THR0_Z_CTX_TSB_CONFIG_1 0x8000000001010000 #define THR0_Z_CTX_TSB_CONFIG_2 0x8000000001020110 #define THR0_Z_CTX_TSB_CONFIG_3 0x8000000001030130 #define THR0_NZ_CTX_TSB_CONFIG_0 0x8000000001200050 #define THR0_NZ_CTX_TSB_CONFIG_1 0x8000000001210000 #define THR0_NZ_CTX_TSB_CONFIG_2 0x8000000001220110 #define THR0_NZ_CTX_TSB_CONFIG_3 0x8000000001230130 #define THR1_Z_CTX_TSB_CONFIG_0 0x8000000001040000 #define THR1_Z_CTX_TSB_CONFIG_1 0x8000000001050010 #define THR1_Z_CTX_TSB_CONFIG_2 0x8000000001060130 #define THR1_Z_CTX_TSB_CONFIG_3 0x8000000001070050 #define THR1_NZ_CTX_TSB_CONFIG_0 0x8000000001240150 #define THR1_NZ_CTX_TSB_CONFIG_1 0x8000000001250000 #define THR1_NZ_CTX_TSB_CONFIG_2 0x8000000001260110 #define THR1_NZ_CTX_TSB_CONFIG_3 0x8000000001270130 #define THR2_Z_CTX_TSB_CONFIG_0 0x8000000001080030 #define THR2_Z_CTX_TSB_CONFIG_1 0x8000000001090150 #define THR2_Z_CTX_TSB_CONFIG_2 0x80000000010a0000 #define THR2_Z_CTX_TSB_CONFIG_3 0x80000000010b0010 #define THR2_NZ_CTX_TSB_CONFIG_0 0x8000000001280010 #define THR2_NZ_CTX_TSB_CONFIG_1 0x8000000001290130 #define THR2_NZ_CTX_TSB_CONFIG_2 0x80000000012a0150 #define THR2_NZ_CTX_TSB_CONFIG_3 0x80000000012b0000 #define THR3_Z_CTX_TSB_CONFIG_0 0x80000000010c0030 #define THR3_Z_CTX_TSB_CONFIG_1 0x80000000010d0150 #define THR3_Z_CTX_TSB_CONFIG_2 0x80000000010e0000 #define THR3_Z_CTX_TSB_CONFIG_3 0x80000000010f0110 #define THR3_NZ_CTX_TSB_CONFIG_0 0x80000000012c0000 #define THR3_NZ_CTX_TSB_CONFIG_1 0x80000000012d0110 #define THR3_NZ_CTX_TSB_CONFIG_2 0x80000000012e0030 #define THR3_NZ_CTX_TSB_CONFIG_3 0x80000000012f0050 #define THR4_Z_CTX_TSB_CONFIG_0 0x8000000001100110 #define THR4_Z_CTX_TSB_CONFIG_1 0x8000000001110130 #define THR4_Z_CTX_TSB_CONFIG_2 0x8000000001120050 #define THR4_Z_CTX_TSB_CONFIG_3 0x8000000001130000 #define THR4_NZ_CTX_TSB_CONFIG_0 0x8000000001300130 #define THR4_NZ_CTX_TSB_CONFIG_1 0x8000000001310150 #define THR4_NZ_CTX_TSB_CONFIG_2 0x8000000001320000 #define THR4_NZ_CTX_TSB_CONFIG_3 0x8000000001330110 #define THR5_Z_CTX_TSB_CONFIG_0 0x8000000001140100 #define THR5_Z_CTX_TSB_CONFIG_1 0x8000000001150110 #define THR5_Z_CTX_TSB_CONFIG_2 0x8000000001160030 #define THR5_Z_CTX_TSB_CONFIG_3 0x8000000001170150 #define THR5_NZ_CTX_TSB_CONFIG_0 0x8000000001340010 #define THR5_NZ_CTX_TSB_CONFIG_1 0x8000000001350030 #define THR5_NZ_CTX_TSB_CONFIG_2 0x8000000001360050 #define THR5_NZ_CTX_TSB_CONFIG_3 0x8000000001370000 #define THR6_Z_CTX_TSB_CONFIG_0 0x8000000001180150 #define THR6_Z_CTX_TSB_CONFIG_1 0x8000000001190100 #define THR6_Z_CTX_TSB_CONFIG_2 0x80000000011a0010 #define THR6_Z_CTX_TSB_CONFIG_3 0x80000000011b0030 #define THR6_NZ_CTX_TSB_CONFIG_0 0x8000000001380150 #define THR6_NZ_CTX_TSB_CONFIG_1 0x8000000001390000 #define THR6_NZ_CTX_TSB_CONFIG_2 0x80000000013a0110 #define THR6_NZ_CTX_TSB_CONFIG_3 0x80000000013b0030 #define THR7_Z_CTX_TSB_CONFIG_0 0x80000000011c0030 #define THR7_Z_CTX_TSB_CONFIG_1 0x80000000011d0150 #define THR7_Z_CTX_TSB_CONFIG_2 0x80000000011e0100 #define THR7_Z_CTX_TSB_CONFIG_3 0x80000000011f0010 #define THR7_NZ_CTX_TSB_CONFIG_0 0x80000000013c0130 #define THR7_NZ_CTX_TSB_CONFIG_1 0x80000000013d0150 #define THR7_NZ_CTX_TSB_CONFIG_2 0x80000000013e0000 #define THR7_NZ_CTX_TSB_CONFIG_3 0x80000000013f0110 #else #define THR0_Z_CTX_TSB_CONFIG_0 0x0000000001000150 #define THR0_Z_CTX_TSB_CONFIG_1 0x0000000001010000 #define THR0_Z_CTX_TSB_CONFIG_2 0x0000000001020110 #define THR0_Z_CTX_TSB_CONFIG_3 0x0000000001030130 #define THR0_NZ_CTX_TSB_CONFIG_0 0x0000000001200050 #define THR0_NZ_CTX_TSB_CONFIG_1 0x0000000001210000 #define THR0_NZ_CTX_TSB_CONFIG_2 0x0000000001220110 #define THR0_NZ_CTX_TSB_CONFIG_3 0x0000000001230130 #define THR1_Z_CTX_TSB_CONFIG_0 0x0000000001040000 #define THR1_Z_CTX_TSB_CONFIG_1 0x0000000001050010 #define THR1_Z_CTX_TSB_CONFIG_2 0x0000000001060130 #define THR1_Z_CTX_TSB_CONFIG_3 0x0000000001070050 #define THR1_NZ_CTX_TSB_CONFIG_0 0x0000000001240150 #define THR1_NZ_CTX_TSB_CONFIG_1 0x0000000001250000 #define THR1_NZ_CTX_TSB_CONFIG_2 0x0000000001260110 #define THR1_NZ_CTX_TSB_CONFIG_3 0x0000000001270130 #define THR2_Z_CTX_TSB_CONFIG_0 0x0000000001080030 #define THR2_Z_CTX_TSB_CONFIG_1 0x0000000001090150 #define THR2_Z_CTX_TSB_CONFIG_2 0x00000000010a0000 #define THR2_Z_CTX_TSB_CONFIG_3 0x00000000010b0010 #define THR2_NZ_CTX_TSB_CONFIG_0 0x0000000001280010 #define THR2_NZ_CTX_TSB_CONFIG_1 0x0000000001290130 #define THR2_NZ_CTX_TSB_CONFIG_2 0x00000000012a0150 #define THR2_NZ_CTX_TSB_CONFIG_3 0x00000000012b0000 #define THR3_Z_CTX_TSB_CONFIG_0 0x00000000010c0030 #define THR3_Z_CTX_TSB_CONFIG_1 0x00000000010d0150 #define THR3_Z_CTX_TSB_CONFIG_2 0x00000000010e0000 #define THR3_Z_CTX_TSB_CONFIG_3 0x00000000010f0110 #define THR3_NZ_CTX_TSB_CONFIG_0 0x00000000012c0000 #define THR3_NZ_CTX_TSB_CONFIG_1 0x00000000012d0110 #define THR3_NZ_CTX_TSB_CONFIG_2 0x00000000012e0030 #define THR3_NZ_CTX_TSB_CONFIG_3 0x00000000012f0050 #define THR4_Z_CTX_TSB_CONFIG_0 0x0000000001100110 #define THR4_Z_CTX_TSB_CONFIG_1 0x0000000001110130 #define THR4_Z_CTX_TSB_CONFIG_2 0x0000000001120050 #define THR4_Z_CTX_TSB_CONFIG_3 0x0000000001130000 #define THR4_NZ_CTX_TSB_CONFIG_0 0x0000000001300130 #define THR4_NZ_CTX_TSB_CONFIG_1 0x0000000001310150 #define THR4_NZ_CTX_TSB_CONFIG_2 0x0000000001320000 #define THR4_NZ_CTX_TSB_CONFIG_3 0x0000000001330110 #define THR5_Z_CTX_TSB_CONFIG_0 0x0000000001140100 #define THR5_Z_CTX_TSB_CONFIG_1 0x0000000001150110 #define THR5_Z_CTX_TSB_CONFIG_2 0x0000000001160030 #define THR5_Z_CTX_TSB_CONFIG_3 0x0000000001170150 #define THR5_NZ_CTX_TSB_CONFIG_0 0x0000000001340010 #define THR5_NZ_CTX_TSB_CONFIG_1 0x0000000001350030 #define THR5_NZ_CTX_TSB_CONFIG_2 0x0000000001360050 #define THR5_NZ_CTX_TSB_CONFIG_3 0x0000000001370000 #define THR6_Z_CTX_TSB_CONFIG_0 0x0000000001180150 #define THR6_Z_CTX_TSB_CONFIG_1 0x0000000001190100 #define THR6_Z_CTX_TSB_CONFIG_2 0x00000000011a0010 #define THR6_Z_CTX_TSB_CONFIG_3 0x00000000011b0030 #define THR6_NZ_CTX_TSB_CONFIG_0 0x0000000001380150 #define THR6_NZ_CTX_TSB_CONFIG_1 0x0000000001390000 #define THR6_NZ_CTX_TSB_CONFIG_2 0x00000000013a0110 #define THR6_NZ_CTX_TSB_CONFIG_3 0x00000000013b0030 #define THR7_Z_CTX_TSB_CONFIG_0 0x00000000011c0030 #define THR7_Z_CTX_TSB_CONFIG_1 0x00000000011d0150 #define THR7_Z_CTX_TSB_CONFIG_2 0x00000000011e0100 #define THR7_Z_CTX_TSB_CONFIG_3 0x00000000011f0010 #define THR7_NZ_CTX_TSB_CONFIG_0 0x00000000013c0130 #define THR7_NZ_CTX_TSB_CONFIG_1 0x00000000013d0150 #define THR7_NZ_CTX_TSB_CONFIG_2 0x00000000013e0000 #define THR7_NZ_CTX_TSB_CONFIG_3 0x00000000013f0110 #endif #define THR0_REAL_RANGE_0 0x8000080000000000 #define THR0_REAL_RANGE_1 0x8000100000000000 #define THR0_REAL_RANGE_2 0x8000200000000000 #define THR0_REAL_RANGE_3 0x8001000000000000 #define THR1_REAL_RANGE_0 0x8000080000000000 #define THR1_REAL_RANGE_1 0x8000100000000000 #define THR1_REAL_RANGE_2 0x8000200000000000 #define THR1_REAL_RANGE_3 0x8001000000000000 #define THR2_REAL_RANGE_0 0x8000080000000000 #define THR2_REAL_RANGE_1 0x8000100000000000 #define THR2_REAL_RANGE_2 0x8000200000000000 #define THR2_REAL_RANGE_3 0x8001000000000000 #define THR3_REAL_RANGE_0 0x8000080000000000 #define THR3_REAL_RANGE_1 0x8000100000000000 #define THR3_REAL_RANGE_2 0x8000200000000000 #define THR3_REAL_RANGE_3 0x8001000000000000 #define THR4_REAL_RANGE_0 0x8000080000000000 #define THR4_REAL_RANGE_1 0x8000100000000000 #define THR4_REAL_RANGE_2 0x8000200000000000 #define THR4_REAL_RANGE_3 0x8001000000000000 #define THR5_REAL_RANGE_0 0x8000080000000000 #define THR5_REAL_RANGE_1 0x8000100000000000 #define THR5_REAL_RANGE_2 0x8000200000000000 #define THR5_REAL_RANGE_3 0x8001000000000000 #define THR6_REAL_RANGE_0 0x8000080000000000 #define THR6_REAL_RANGE_1 0x8000100000000000 #define THR6_REAL_RANGE_2 0x8000200000000000 #define THR6_REAL_RANGE_3 0x8001000000000000 #define THR7_REAL_RANGE_0 0x8000080000000000 #define THR7_REAL_RANGE_1 0x8000100000000000 #define THR7_REAL_RANGE_2 0x8000200000000000 #define THR7_REAL_RANGE_3 0x8001000000000000 #define THR0_PHY_OFF_0 0x0000000000000000 #define THR0_PHY_OFF_1 0x0000000400000000 #define THR0_PHY_OFF_2 0x0000000800000000 #define THR0_PHY_OFF_3 0x0000000c00000000 #define THR1_PHY_OFF_0 0x0000001000000000 #define THR1_PHY_OFF_1 0x0000001400000000 #define THR1_PHY_OFF_2 0x0000001800000000 #define THR1_PHY_OFF_3 0x0000001c00000000 #define THR2_PHY_OFF_0 0x0000002000000000 #define THR2_PHY_OFF_1 0x0000002400000000 #define THR2_PHY_OFF_2 0x0000002800000000 #define THR2_PHY_OFF_3 0x0000002c00000000 #define THR3_PHY_OFF_0 0x0000003000000000 #define THR3_PHY_OFF_1 0x0000003400000000 #define THR3_PHY_OFF_2 0x0000003800000000 #define THR3_PHY_OFF_3 0x0000003c00000000 #define THR4_PHY_OFF_0 0x0000004000000000 #define THR4_PHY_OFF_1 0x0000004400000000 #define THR4_PHY_OFF_2 0x0000004800000000 #define THR4_PHY_OFF_3 0x0000004c00000000 #define THR5_PHY_OFF_0 0x0000005000000000 #define THR5_PHY_OFF_1 0x0000005400000000 #define THR5_PHY_OFF_2 0x0000005800000000 #define THR5_PHY_OFF_3 0x0000005c00000000 #define THR6_PHY_OFF_0 0x0000006000000000 #define THR6_PHY_OFF_1 0x0000006400000000 #define THR6_PHY_OFF_2 0x0000006800000000 #define THR6_PHY_OFF_3 0x0000006c00000000 #define THR7_PHY_OFF_0 0x0000007000000000 #define THR7_PHY_OFF_1 0x0000007400000000 #define THR7_PHY_OFF_2 0x0000007800000000 #define THR7_PHY_OFF_3 0x0000007c00000000 #define THR_0_PARTID 5 #define THR_1_PARTID 5 #define THR_2_PARTID 5 #define THR_3_PARTID 5 #define THR_4_PARTID 5 #define THR_5_PARTID 5 #define THR_6_PARTID 5 #define THR_7_PARTID 5 #define NUCLEUS 0x0 #define THR0_PCONTEXT_0 0x1dea #define THR0_PCONTEXT_1 0x0574 #define THR0_SCONTEXT_0 0x08c2 #define THR0_SCONTEXT_1 0x1c0f #define THR1_PCONTEXT_0 0x1dea #define THR1_PCONTEXT_1 0x180f #define THR1_SCONTEXT_0 0x15a1 #define THR1_SCONTEXT_1 0x0eea #define THR2_PCONTEXT_0 0x1dea #define THR2_PCONTEXT_1 0x0ecd #define THR2_SCONTEXT_0 0x0ec9 #define THR2_SCONTEXT_1 0x15bd #define THR3_PCONTEXT_0 0x1dea #define THR3_PCONTEXT_1 0x0645 #define THR3_SCONTEXT_0 0x1e9f #define THR3_SCONTEXT_1 0x0d9a #define THR4_PCONTEXT_0 0x1dea #define THR4_PCONTEXT_1 0x1e78 #define THR4_SCONTEXT_0 0x172a #define THR4_SCONTEXT_1 0x14fa #define THR5_PCONTEXT_0 0x1dea #define THR5_PCONTEXT_1 0x0818 #define THR5_SCONTEXT_0 0x123d #define THR5_SCONTEXT_1 0x0ff0 #define THR6_PCONTEXT_0 0x1dea #define THR6_PCONTEXT_1 0x1381 #define THR6_SCONTEXT_0 0x11e7 #define THR6_SCONTEXT_1 0x06c6 #define THR7_PCONTEXT_0 0x1dea #define THR7_PCONTEXT_1 0x0871 #define THR7_SCONTEXT_0 0x1287 #define THR7_SCONTEXT_1 0x1297 #define THR0_PTRAP_TEXT_VA 0x6000009a0000 #define THR0_PTRAP_TEXT_RA 0x00e0b30000 #define THR0_PTRAP_TEXT_PA 0x0ce0b30000 #define THR1_PTRAP_TEXT_VA 0x640000c50000 #define THR1_PTRAP_TEXT_RA 0x00f0bb0000 #define THR1_PTRAP_TEXT_PA 0x00f0bb0000 #define THR2_PTRAP_TEXT_VA 0x680000ef0000 #define THR2_PTRAP_TEXT_RA 0x0100090000 #define THR2_PTRAP_TEXT_PA 0x0100090000 #define THR3_PTRAP_TEXT_VA 0x6c0000440000 #define THR3_PTRAP_TEXT_RA 0x0110e30000 #define THR3_PTRAP_TEXT_PA 0x3d10e30000 #define THR4_PTRAP_TEXT_VA 0x700000750000 #define THR4_PTRAP_TEXT_RA 0x0120e50000 #define THR4_PTRAP_TEXT_PA 0x4d20e50000 #define THR5_PTRAP_TEXT_VA 0x740000790000 #define THR5_PTRAP_TEXT_RA 0x0130530000 #define THR5_PTRAP_TEXT_PA 0x5d30530000 #define THR6_PTRAP_TEXT_VA 0x7800007c0000 #define THR6_PTRAP_TEXT_RA 0x01405f0000 #define THR6_PTRAP_TEXT_PA 0x01405f0000 #define THR7_PTRAP_TEXT_VA 0x7c0000060000 #define THR7_PTRAP_TEXT_RA 0x0150b50000 #define THR7_PTRAP_TEXT_PA 0x0150b50000 #include "mmu_hred.s" /*********************************************************************/ SECTION .Thr0_Priv_Sect TEXT_VA=0x5f1000056000 attr_text { Name = .Thr0_Priv_Sect , thr0_nz_ctx_tsb_1 VA = 0x5f1000056000 , RA = 0x01f004e000 , PA = 0x01f004e000 , TTE_Context = 0x1dea , TTE_V = 1 , TTE_NFO = 0 , TTE_L = 0 , TTE_Soft = 0 , TTE_IE = 0 , TTE_E = 0 , TTE_CP = 1 , TTE_CV = 0 , TTE_P = 0 , TTE_EP = 1 , TTE_W = 1 , TTE_SW1 = 0 , TTE_SW0 = 0 , TTE_RSVD1 = 0 , TTE_Size = 0 , end_label = Thr0_Priv_Sect_text_end , compressimage , } .text .global Thr0_Priv_Sect_text_begin Thr0_Priv_Sect_text_begin: setx THR0_PTRAP_TEXT_VA, %l0, %l1 wrpr %l1, %g0, %tba rdpr %pstate, %l2 setx Thr0_user_code_entry, %l0, %l1 jmp %l1 wrpr %l2, 4, %pstate EXIT_BAD Thr0_Priv_Sect_text_end: /*********************************************************************/ SECTION .Thr1_Priv_Sect TEXT_VA=0x6320001fe000 attr_text { Name = .Thr1_Priv_Sect , thr1_nz_ctx_tsb_1 VA = 0x6320001fe000 , RA = 0x02001f4000 , PA = 0x02001f4000 , TTE_Context = 0x1dea , TTE_V = 1 , TTE_NFO = 0 , TTE_L = 0 , TTE_Soft = 0 , TTE_IE = 0 , TTE_E = 0 , TTE_CP = 1 , TTE_CV = 0 , TTE_P = 1 , TTE_EP = 1 , TTE_W = 0 , TTE_SW1 = 0 , TTE_SW0 = 0 , TTE_RSVD1 = 0 , TTE_Size = 0 , end_label = Thr1_Priv_Sect_text_end , compressimage , } .text .global Thr1_Priv_Sect_text_begin Thr1_Priv_Sect_text_begin: setx THR1_PTRAP_TEXT_VA, %l0, %l1 wrpr %l1, %g0, %tba rdpr %pstate, %l2 setx Thr1_user_code_entry, %l0, %l1 jmp %l1 wrpr %l2, 4, %pstate EXIT_BAD Thr1_Priv_Sect_text_end: /*********************************************************************/ SECTION .Thr2_Priv_Sect TEXT_VA=0x67300004a000 attr_text { Name = .Thr2_Priv_Sect , thr2_nz_ctx_tsb_3 VA = 0x67300004a000 , RA = 0x02101e4000 , PA = 0x02101e4000 , TTE_Context = 0x1dea , TTE_V = 1 , TTE_NFO = 0 , TTE_L = 0 , TTE_Soft = 0 , TTE_IE = 0 , TTE_E = 0 , TTE_CP = 1 , TTE_CV = 0 , TTE_P = 0 , TTE_EP = 1 , TTE_W = 1 , TTE_SW1 = 0 , TTE_SW0 = 0 , TTE_RSVD1 = 0 , TTE_Size = 0 , end_label = Thr2_Priv_Sect_text_end , compressimage , } .text .global Thr2_Priv_Sect_text_begin Thr2_Priv_Sect_text_begin: setx THR2_PTRAP_TEXT_VA, %l0, %l1 wrpr %l1, %g0, %tba rdpr %pstate, %l2 setx Thr2_user_code_entry, %l0, %l1 jmp %l1 wrpr %l2, 4, %pstate EXIT_BAD Thr2_Priv_Sect_text_end: /*********************************************************************/ SECTION .Thr3_Priv_Sect TEXT_VA=0x6b400019c000 attr_text { Name = .Thr3_Priv_Sect , thr3_nz_ctx_tsb_0 VA = 0x6b400019c000 , RA = 0x0220062000 , PA = 0x0220062000 , TTE_Context = 0x1dea , TTE_V = 1 , TTE_NFO = 0 , TTE_L = 0 , TTE_Soft = 0 , TTE_IE = 0 , TTE_E = 0 , TTE_CP = 1 , TTE_CV = 0 , TTE_P = 0 , TTE_EP = 1 , TTE_W = 0 , TTE_SW1 = 0 , TTE_SW0 = 0 , TTE_RSVD1 = 0 , TTE_Size = 0 , end_label = Thr3_Priv_Sect_text_end , compressimage , } .text .global Thr3_Priv_Sect_text_begin Thr3_Priv_Sect_text_begin: setx THR3_PTRAP_TEXT_VA, %l0, %l1 wrpr %l1, %g0, %tba rdpr %pstate, %l2 setx Thr3_user_code_entry, %l0, %l1 jmp %l1 wrpr %l2, 4, %pstate EXIT_BAD Thr3_Priv_Sect_text_end: /*********************************************************************/ SECTION .Thr4_Priv_Sect TEXT_VA=0x6f50001b0000 attr_text { Name = .Thr4_Priv_Sect , thr4_nz_ctx_tsb_2 VA = 0x6f50001b0000 , RA = 0x0230186000 , PA = 0x0230186000 , TTE_Context = 0x1dea , TTE_V = 1 , TTE_NFO = 0 , TTE_L = 0 , TTE_Soft = 0 , TTE_IE = 0 , TTE_E = 0 , TTE_CP = 1 , TTE_CV = 0 , TTE_P = 1 , TTE_EP = 1 , TTE_W = 1 , TTE_SW1 = 0 , TTE_SW0 = 0 , TTE_RSVD1 = 0 , TTE_Size = 0 , end_label = Thr4_Priv_Sect_text_end , compressimage , } .text .global Thr4_Priv_Sect_text_begin Thr4_Priv_Sect_text_begin: setx THR4_PTRAP_TEXT_VA, %l0, %l1 wrpr %l1, %g0, %tba rdpr %pstate, %l2 setx Thr4_user_code_entry, %l0, %l1 jmp %l1 wrpr %l2, 4, %pstate EXIT_BAD Thr4_Priv_Sect_text_end: /*********************************************************************/ SECTION .Thr5_Priv_Sect TEXT_VA=0x7360001b2000 attr_text { Name = .Thr5_Priv_Sect , thr5_nz_ctx_tsb_3 VA = 0x7360001b2000 , RA = 0x02400aa000 , PA = 0x02400aa000 , TTE_Context = 0x1dea , TTE_V = 1 , TTE_NFO = 0 , TTE_L = 0 , TTE_Soft = 0 , TTE_IE = 0 , TTE_E = 0 , TTE_CP = 1 , TTE_CV = 0 , TTE_P = 0 , TTE_EP = 1 , TTE_W = 1 , TTE_SW1 = 0 , TTE_SW0 = 0 , TTE_RSVD1 = 0 , TTE_Size = 0 , end_label = Thr5_Priv_Sect_text_end , compressimage , } .text .global Thr5_Priv_Sect_text_begin Thr5_Priv_Sect_text_begin: setx THR5_PTRAP_TEXT_VA, %l0, %l1 wrpr %l1, %g0, %tba rdpr %pstate, %l2 setx Thr5_user_code_entry, %l0, %l1 jmp %l1 wrpr %l2, 4, %pstate EXIT_BAD Thr5_Priv_Sect_text_end: /*********************************************************************/ SECTION .Thr6_Priv_Sect TEXT_VA=0x777000024000 attr_text { Name = .Thr6_Priv_Sect , thr6_nz_ctx_tsb_1 VA = 0x777000024000 , RA = 0x0250140000 , PA = 0x0250140000 , TTE_Context = 0x1dea , TTE_V = 1 , TTE_NFO = 0 , TTE_L = 0 , TTE_Soft = 0 , TTE_IE = 0 , TTE_E = 0 , TTE_CP = 1 , TTE_CV = 0 , TTE_P = 0 , TTE_EP = 1 , TTE_W = 1 , TTE_SW1 = 0 , TTE_SW0 = 0 , TTE_RSVD1 = 0 , TTE_Size = 0 , end_label = Thr6_Priv_Sect_text_end , compressimage , } .text .global Thr6_Priv_Sect_text_begin Thr6_Priv_Sect_text_begin: setx THR6_PTRAP_TEXT_VA, %l0, %l1 wrpr %l1, %g0, %tba rdpr %pstate, %l2 setx Thr6_user_code_entry, %l0, %l1 jmp %l1 wrpr %l2, 4, %pstate EXIT_BAD Thr6_Priv_Sect_text_end: /*********************************************************************/ SECTION .Thr7_Priv_Sect TEXT_VA=0x7b80000c0000 attr_text { Name = .Thr7_Priv_Sect , thr7_nz_ctx_tsb_2 VA = 0x7b80000c0000 , RA = 0x0260120000 , PA = 0x0260120000 , TTE_Context = 0x1dea , TTE_V = 1 , TTE_NFO = 0 , TTE_L = 0 , TTE_Soft = 0 , TTE_IE = 0 , TTE_E = 0 , TTE_CP = 1 , TTE_CV = 0 , TTE_P = 0 , TTE_EP = 1 , TTE_W = 1 , TTE_SW1 = 0 , TTE_SW0 = 0 , TTE_RSVD1 = 0 , TTE_Size = 0 , end_label = Thr7_Priv_Sect_text_end , compressimage , } .text .global Thr7_Priv_Sect_text_begin Thr7_Priv_Sect_text_begin: setx THR7_PTRAP_TEXT_VA, %l0, %l1 wrpr %l1, %g0, %tba rdpr %pstate, %l2 setx Thr7_user_code_entry, %l0, %l1 jmp %l1 wrpr %l2, 4, %pstate EXIT_BAD Thr7_Priv_Sect_text_end: /*********************************************************************/ SECTION .Thr0_Ptrap_Sect TEXT_VA=THR0_PTRAP_TEXT_VA attr_text { Name = .Thr0_Ptrap_Sect , thr0_z_ctx_tsb_2 VA = THR0_PTRAP_TEXT_VA , RA = THR0_PTRAP_TEXT_RA , PA = THR0_PTRAP_TEXT_PA , TTE_Context = NUCLEUS , TTE_V = 1 , TTE_NFO = 0 , TTE_L = 0 , TTE_Soft = 0 , TTE_IE = 0 , TTE_E = 0 , TTE_CP = 1 , TTE_CV = 0 , TTE_P = 1 , TTE_EP = 1 , TTE_W = 0 , TTE_SW1 = 0 , TTE_SW0 = 0 , TTE_RSVD1 = 0 , TTE_Size = 1 , end_label = Thr0_Ptrap_Sect_text_end , compressimage , } #include "mmu_ptrap.s" Thr0_Ptrap_Sect_text_end: /*********************************************************************/ SECTION .Thr1_Ptrap_Sect TEXT_VA=THR1_PTRAP_TEXT_VA attr_text { Name = .Thr1_Ptrap_Sect , thr1_z_ctx_tsb_1 VA = THR1_PTRAP_TEXT_VA , RA = THR1_PTRAP_TEXT_RA , PA = THR1_PTRAP_TEXT_PA , TTE_Context = NUCLEUS , TTE_V = 1 , TTE_NFO = 0 , TTE_L = 0 , TTE_Soft = 0 , TTE_IE = 0 , TTE_E = 0 , TTE_CP = 1 , TTE_CV = 0 , TTE_P = 1 , TTE_EP = 1 , TTE_W = 0 , TTE_SW1 = 0 , TTE_SW0 = 0 , TTE_RSVD1 = 0 , TTE_Size = 1 , end_label = Thr1_Ptrap_Sect_text_end , compressimage , } #include "mmu_ptrap.s" Thr1_Ptrap_Sect_text_end: /*********************************************************************/ SECTION .Thr2_Ptrap_Sect TEXT_VA=THR2_PTRAP_TEXT_VA attr_text { Name = .Thr2_Ptrap_Sect , thr2_z_ctx_tsb_3 VA = THR2_PTRAP_TEXT_VA , RA = THR2_PTRAP_TEXT_RA , PA = THR2_PTRAP_TEXT_PA , TTE_Context = NUCLEUS , TTE_V = 1 , TTE_NFO = 0 , TTE_L = 0 , TTE_Soft = 0 , TTE_IE = 0 , TTE_E = 0 , TTE_CP = 1 , TTE_CV = 0 , TTE_P = 0 , TTE_EP = 1 , TTE_W = 1 , TTE_SW1 = 0 , TTE_SW0 = 0 , TTE_RSVD1 = 0 , TTE_Size = 1 , end_label = Thr2_Ptrap_Sect_text_end , compressimage , } #include "mmu_ptrap.s" Thr2_Ptrap_Sect_text_end: /*********************************************************************/ SECTION .Thr3_Ptrap_Sect TEXT_VA=THR3_PTRAP_TEXT_VA attr_text { Name = .Thr3_Ptrap_Sect , thr3_z_ctx_tsb_3 VA = THR3_PTRAP_TEXT_VA , RA = THR3_PTRAP_TEXT_RA , PA = THR3_PTRAP_TEXT_PA , TTE_Context = NUCLEUS , TTE_V = 1 , TTE_NFO = 0 , TTE_L = 0 , TTE_Soft = 0 , TTE_IE = 0 , TTE_E = 0 , TTE_CP = 1 , TTE_CV = 0 , TTE_P = 0 , TTE_EP = 1 , TTE_W = 0 , TTE_SW1 = 0 , TTE_SW0 = 0 , TTE_RSVD1 = 0 , TTE_Size = 1 , end_label = Thr3_Ptrap_Sect_text_end , compressimage , } #include "mmu_ptrap.s" Thr3_Ptrap_Sect_text_end: /*********************************************************************/ SECTION .Thr4_Ptrap_Sect TEXT_VA=THR4_PTRAP_TEXT_VA attr_text { Name = .Thr4_Ptrap_Sect , thr4_z_ctx_tsb_0 VA = THR4_PTRAP_TEXT_VA , RA = THR4_PTRAP_TEXT_RA , PA = THR4_PTRAP_TEXT_PA , TTE_Context = NUCLEUS , TTE_V = 1 , TTE_NFO = 0 , TTE_L = 0 , TTE_Soft = 0 , TTE_IE = 0 , TTE_E = 0 , TTE_CP = 1 , TTE_CV = 0 , TTE_P = 1 , TTE_EP = 1 , TTE_W = 1 , TTE_SW1 = 0 , TTE_SW0 = 0 , TTE_RSVD1 = 0 , TTE_Size = 1 , end_label = Thr4_Ptrap_Sect_text_end , compressimage , } #include "mmu_ptrap.s" Thr4_Ptrap_Sect_text_end: /*********************************************************************/ SECTION .Thr5_Ptrap_Sect TEXT_VA=THR5_PTRAP_TEXT_VA attr_text { Name = .Thr5_Ptrap_Sect , thr5_z_ctx_tsb_1 VA = THR5_PTRAP_TEXT_VA , RA = THR5_PTRAP_TEXT_RA , PA = THR5_PTRAP_TEXT_PA , TTE_Context = NUCLEUS , TTE_V = 1 , TTE_NFO = 0 , TTE_L = 0 , TTE_Soft = 0 , TTE_IE = 0 , TTE_E = 0 , TTE_CP = 1 , TTE_CV = 0 , TTE_P = 1 , TTE_EP = 1 , TTE_W = 1 , TTE_SW1 = 0 , TTE_SW0 = 0 , TTE_RSVD1 = 0 , TTE_Size = 1 , end_label = Thr5_Ptrap_Sect_text_end , compressimage , } #include "mmu_ptrap.s" Thr5_Ptrap_Sect_text_end: /*********************************************************************/ SECTION .Thr6_Ptrap_Sect TEXT_VA=THR6_PTRAP_TEXT_VA attr_text { Name = .Thr6_Ptrap_Sect , thr6_z_ctx_tsb_2 VA = THR6_PTRAP_TEXT_VA , RA = THR6_PTRAP_TEXT_RA , PA = THR6_PTRAP_TEXT_PA , TTE_Context = NUCLEUS , TTE_V = 1 , TTE_NFO = 0 , TTE_L = 0 , TTE_Soft = 0 , TTE_IE = 0 , TTE_E = 0 , TTE_CP = 1 , TTE_CV = 0 , TTE_P = 1 , TTE_EP = 1 , TTE_W = 0 , TTE_SW1 = 0 , TTE_SW0 = 0 , TTE_RSVD1 = 0 , TTE_Size = 1 , end_label = Thr6_Ptrap_Sect_text_end , compressimage , } #include "mmu_ptrap.s" Thr6_Ptrap_Sect_text_end: /*********************************************************************/ SECTION .Thr7_Ptrap_Sect TEXT_VA=THR7_PTRAP_TEXT_VA attr_text { Name = .Thr7_Ptrap_Sect , thr7_z_ctx_tsb_3 VA = THR7_PTRAP_TEXT_VA , RA = THR7_PTRAP_TEXT_RA , PA = THR7_PTRAP_TEXT_PA , TTE_Context = NUCLEUS , TTE_V = 1 , TTE_NFO = 0 , TTE_L = 0 , TTE_Soft = 0 , TTE_IE = 0 , TTE_E = 0 , TTE_CP = 1 , TTE_CV = 0 , TTE_P = 1 , TTE_EP = 1 , TTE_W = 0 , TTE_SW1 = 0 , TTE_SW0 = 0 , TTE_RSVD1 = 0 , TTE_Size = 1 , end_label = Thr7_Ptrap_Sect_text_end , compressimage , } #include "mmu_ptrap.s" Thr7_Ptrap_Sect_text_end: #include "mmu_hptrap.s" /*********************************************************************/ SECTION .Thr0_User_Text_4v000 TEXT_VA=0x5f1000178000 attr_text { Name = .Thr0_User_Text_4v000 , VA = 0x5f1000178000 ,/* 0x5f1000179fc0 */ RA = 0x01f01e2000 , PA = 0x01f01e2000 , TTE_Context = 0x1dea ,/* TEXT_PRIMARY */ thr0_nz_ctx_tsb_1 , TTE_V = 1 , TTE_NFO = 0 , TTE_L = 0 , TTE_Soft = 0x1b0000 , TTE_IE = 0 , TTE_E = 0 , TTE_CP = 0 , TTE_CV = 0 , TTE_P = 0 , TTE_EP = 1 , TTE_W = 0 , TTE_SW1 = 0 , TTE_SW0 = 0 , TTE_RSVD1 = 0 , TTE_Size = 0 , end_label = Thr0_User_Text_4v000_text_end , compressimage , } .text .global Thr0_user_code_entry Thr0_user_code_entry: setx Thr0_User_Data_4v100_data_begin, %i0, %i7 or %g0, 0x10, %i1 .global Thr0_User_Text_4v000_text_begin Thr0_User_Text_4v000_text_begin: stx %i1, [%i7] DDEMAP_PAGE ldx [%i7], %i0 sub %i1, 1, %i1 brnz,a %i1, Thr0_User_Text_4v000_text_begin nop EXIT_GOOD Thr0_User_Text_4v000_text_end: /*********************************************************************/ SECTION .Thr0_User_Data_4v100 DATA_VA=0x5f10000dc000 attr_data { Name = .Thr0_User_Data_4v100 , VA = 0x5f10000dc000 ,/* 0x5f10000ddfc0 */ RA = 0x01f01cc000 , PA = 0x01f01cc000 , TTE_Context = 0x1dea ,/* DATA_PRIMARY */ thr0_nz_ctx_tsb_1 , thr1_nz_ctx_tsb_1 , thr2_nz_ctx_tsb_3 , thr3_nz_ctx_tsb_0 , thr4_nz_ctx_tsb_2 , thr5_nz_ctx_tsb_3 , thr6_nz_ctx_tsb_1 , thr7_nz_ctx_tsb_2 , TTE_V = 1 , TTE_NFO = 0 , TTE_L = 1 , TTE_Soft = 0x080000 , TTE_IE = 0 , TTE_E = 0 , TTE_CP = 1 , TTE_CV = 0 , TTE_P = 0 , TTE_EP = 0 , TTE_W = 1 , TTE_SW1 = 1 , TTE_SW0 = 1 , TTE_RSVD1 = 0 , TTE_Size = 0 , end_label = Thr0_User_Data_4v100_data_end , compressimage , } .data .global Thr0_User_Data_4v100_data_begin Thr0_User_Data_4v100_data_begin: .word 0x1234 Thr0_User_Data_4v100_data_end: /*********************************************************************/ SECTION .Thr1_User_Text_4v000 TEXT_VA=0x65002b400000 attr_text { Name = .Thr1_User_Text_4v000 , VA = 0x65002b400000 ,/* 0x65002b7fffc0 */ RA = 0x028e000000 , PA = 0x1e8e000000 , TTE_Context = 0x1dea ,/* TEXT_PRIMARY */ thr1_nz_ctx_tsb_3 , TTE_V = 1 , TTE_NFO = 0 , TTE_L = 0 , TTE_Soft = 0x140000 , TTE_IE = 0 , TTE_E = 0 , TTE_CP = 0 , TTE_CV = 0 , TTE_P = 0 , TTE_EP = 1 , TTE_W = 0 , TTE_SW1 = 0 , TTE_SW0 = 1 , TTE_RSVD1 = 0 , TTE_Size = 3 , end_label = Thr1_User_Text_4v000_text_end , compressimage , } .text .global Thr1_user_code_entry Thr1_user_code_entry: setx Thr0_User_Data_4v100_data_begin, %i0, %i7 add %i7, 0x20, %i7 or %g0, 0x10, %i1 .global Thr1_User_Text_4v000_text_begin Thr1_User_Text_4v000_text_begin: stx %i1, [%i7] DDEMAP_PAGE ldx [%i7], %i0 sub %i1, 1, %i1 brnz,a %i1, Thr1_User_Text_4v000_text_begin nop EXIT_GOOD Thr1_User_Text_4v000_text_end: /*********************************************************************/ SECTION .Thr2_User_Text_4v000 TEXT_VA=0x680000760000 attr_text { Name = .Thr2_User_Text_4v000 , VA = 0x680000760000 ,/* 0x68000076ffc0 */ RA = 0x0100130000 , PA = 0x0100130000 , TTE_Context = 0x1dea ,/* TEXT_PRIMARY */ thr2_nz_ctx_tsb_0 , TTE_V = 1 , TTE_NFO = 0 , TTE_L = 1 , TTE_Soft = 0x180000 , TTE_IE = 0 , TTE_E = 0 , TTE_CP = 1 , TTE_CV = 0 , TTE_P = 0 , TTE_EP = 1 , TTE_W = 0 , TTE_SW1 = 0 , TTE_SW0 = 0 , TTE_RSVD1 = 0 , TTE_Size = 1 , end_label = Thr2_User_Text_4v000_text_end , compressimage , } .text .global Thr2_user_code_entry Thr2_user_code_entry: setx Thr0_User_Data_4v100_data_begin, %i0, %i7 add %i7, 0x40, %i7 or %g0, 0x10, %i1 .global Thr2_User_Text_4v000_text_begin Thr2_User_Text_4v000_text_begin: stx %i1, [%i7] DDEMAP_PAGE ldx [%i7], %i0 sub %i1, 1, %i1 brnz,a %i1, Thr2_User_Text_4v000_text_begin nop EXIT_GOOD Thr2_User_Text_4v000_text_end: /*********************************************************************/ SECTION .Thr3_User_Text_4v000 TEXT_VA=0x6d002e400000 attr_text { Name = .Thr3_User_Text_4v000 , VA = 0x6d002e400000 ,/* 0x6d002e7fffc0 */ RA = 0x02a0000000 , PA = 0x02a0000000 , TTE_Context = 0x1dea ,/* TEXT_PRIMARY */ thr3_nz_ctx_tsb_2 , TTE_V = 1 , TTE_NFO = 0 , TTE_L = 1 , TTE_Soft = 0x1a0000 , TTE_IE = 0 , TTE_E = 0 , TTE_CP = 1 , TTE_CV = 0 , TTE_P = 0 , TTE_EP = 1 , TTE_W = 0 , TTE_SW1 = 1 , TTE_SW0 = 0 , TTE_RSVD1 = 0 , TTE_Size = 3 , end_label = Thr3_User_Text_4v000_text_end , compressimage , } .text .global Thr3_user_code_entry Thr3_user_code_entry: setx Thr0_User_Data_4v100_data_begin, %i0, %i7 add %i7, 0x60, %i7 or %g0, 0x10, %i1 .global Thr3_User_Text_4v000_text_begin Thr3_User_Text_4v000_text_begin: stx %i1, [%i7] DDEMAP_PAGE ldx [%i7], %i0 sub %i1, 1, %i1 brnz,a %i1, Thr3_User_Text_4v000_text_begin nop EXIT_GOOD Thr3_User_Text_4v000_text_end: /*********************************************************************/ SECTION .Thr4_User_Text_4v000 TEXT_VA=0x6f5000118000 attr_text { Name = .Thr4_User_Text_4v000 , VA = 0x6f5000118000 ,/* 0x6f5000119fc0 */ RA = 0x02301e0000 , PA = 0x02301e0000 , TTE_Context = 0x1dea ,/* TEXT_PRIMARY */ thr4_nz_ctx_tsb_2 , TTE_V = 1 , TTE_NFO = 0 , TTE_L = 0 , TTE_Soft = 0x110000 , TTE_IE = 0 , TTE_E = 0 , TTE_CP = 0 , TTE_CV = 0 , TTE_P = 0 , TTE_EP = 1 , TTE_W = 0 , TTE_SW1 = 0 , TTE_SW0 = 0 , TTE_RSVD1 = 0 , TTE_Size = 0 , end_label = Thr4_User_Text_4v000_text_end , compressimage , } .text .global Thr4_user_code_entry Thr4_user_code_entry: setx Thr0_User_Data_4v100_data_begin, %i0, %i7 add %i7, 0x80, %i7 or %g0, 0x10, %i1 .global Thr4_User_Text_4v000_text_begin Thr4_User_Text_4v000_text_begin: stx %i1, [%i7] DDEMAP_PAGE ldx [%i7], %i0 sub %i1, 1, %i1 brnz,a %i1, Thr4_User_Text_4v000_text_begin nop EXIT_GOOD Thr4_User_Text_4v000_text_end: /*********************************************************************/ SECTION .Thr5_User_Text_4v000 TEXT_VA=0x750031400000 attr_text { Name = .Thr5_User_Text_4v000 , VA = 0x750031400000 ,/* 0x7500317fffc0 */ RA = 0x02c2800000 , PA = 0x02c2800000 , TTE_Context = 0x1dea ,/* TEXT_PRIMARY */ thr5_nz_ctx_tsb_1 , TTE_V = 1 , TTE_NFO = 0 , TTE_L = 0 , TTE_Soft = 0x030000 , TTE_IE = 0 , TTE_E = 0 , TTE_CP = 0 , TTE_CV = 0 , TTE_P = 0 , TTE_EP = 1 , TTE_W = 0 , TTE_SW1 = 1 , TTE_SW0 = 1 , TTE_RSVD1 = 0 , TTE_Size = 3 , end_label = Thr5_User_Text_4v000_text_end , compressimage , } .text .global Thr5_user_code_entry Thr5_user_code_entry: setx Thr0_User_Data_4v100_data_begin, %i0, %i7 add %i7, 0x100, %i7 or %g0, 0x10, %i1 .global Thr5_User_Text_4v000_text_begin Thr5_User_Text_4v000_text_begin: stx %i1, [%i7] DDEMAP_PAGE ldx [%i7], %i0 sub %i1, 1, %i1 brnz,a %i1, Thr5_User_Text_4v000_text_begin nop EXIT_GOOD Thr5_User_Text_4v000_text_end: /*********************************************************************/ SECTION .Thr6_User_Text_4v000 TEXT_VA=0x7770001ae000 attr_text { Name = .Thr6_User_Text_4v000 , VA = 0x7770001ae000 ,/* 0x7770001affc0 */ RA = 0x02500ae000 , PA = 0x02500ae000 , TTE_Context = 0x1dea ,/* TEXT_PRIMARY */ thr6_nz_ctx_tsb_1 , TTE_V = 1 , TTE_NFO = 0 , TTE_L = 0 , TTE_Soft = 0x120000 , TTE_IE = 0 , TTE_E = 0 , TTE_CP = 0 , TTE_CV = 0 , TTE_P = 0 , TTE_EP = 1 , TTE_W = 0 , TTE_SW1 = 0 , TTE_SW0 = 1 , TTE_RSVD1 = 0 , TTE_Size = 0 , end_label = Thr6_User_Text_4v000_text_end , compressimage , } .text .global Thr6_user_code_entry Thr6_user_code_entry: setx Thr0_User_Data_4v100_data_begin, %i0, %i7 add %i7, 0x120, %i7 or %g0, 0x10, %i1 .global Thr6_User_Text_4v000_text_begin Thr6_User_Text_4v000_text_begin: stx %i1, [%i7] DDEMAP_PAGE ldx [%i7], %i0 sub %i1, 1, %i1 brnz,a %i1, Thr6_User_Text_4v000_text_begin nop EXIT_GOOD Thr6_User_Text_4v000_text_end: /*********************************************************************/ SECTION .Thr7_User_Text_4v000 TEXT_VA=0x7d003ac00000 attr_text { Name = .Thr7_User_Text_4v000 , VA = 0x7d003ac00000 ,/* 0x7d003affffc0 */ RA = 0x02ec400000 , PA = 0x7eec400000 , TTE_Context = 0x1dea ,/* TEXT_PRIMARY */ thr7_nz_ctx_tsb_0 , TTE_V = 1 , TTE_NFO = 0 , TTE_L = 0 , TTE_Soft = 0x000000 , TTE_IE = 0 , TTE_E = 0 , TTE_CP = 0 , TTE_CV = 0 , TTE_P = 0 , TTE_EP = 1 , TTE_W = 0 , TTE_SW1 = 1 , TTE_SW0 = 0 , TTE_RSVD1 = 0 , TTE_Size = 3 , end_label = Thr7_User_Text_4v000_text_end , compressimage , } .text .global Thr7_user_code_entry Thr7_user_code_entry: setx Thr0_User_Data_4v100_data_begin, %i0, %i7 add %i7, 0x140, %i7 or %g0, 0x10, %i1 .global Thr7_User_Text_4v000_text_begin Thr7_User_Text_4v000_text_begin: stx %i1, [%i7] DDEMAP_PAGE ldx [%i7], %i0 sub %i1, 1, %i1 brnz,a %i1, Thr7_User_Text_4v000_text_begin nop EXIT_GOOD Thr7_User_Text_4v000_text_end: