Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / verif / diag / assembly / uarch / mmu / diag / mmu_mt_rr_0.s
/*
* ========== Copyright Header Begin ==========================================
*
* OpenSPARC T2 Processor File: mmu_mt_rr_0.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 0xc000000001000010
#define THR0_Z_CTX_TSB_CONFIG_1 0x8000000001010030
#define THR0_Z_CTX_TSB_CONFIG_2 0x8000000001020150
#define THR0_Z_CTX_TSB_CONFIG_3 0xc000000001030100
#define THR0_NZ_CTX_TSB_CONFIG_0 0x8000000001200030
#define THR0_NZ_CTX_TSB_CONFIG_1 0x8000000001210150
#define THR0_NZ_CTX_TSB_CONFIG_2 0x8000000001220100
#define THR0_NZ_CTX_TSB_CONFIG_3 0x8000000001230110
#define THR1_Z_CTX_TSB_CONFIG_0 0xa000000001040110
#define THR1_Z_CTX_TSB_CONFIG_1 0x8000000001050130
#define THR1_Z_CTX_TSB_CONFIG_2 0xc000000001060150
#define THR1_Z_CTX_TSB_CONFIG_3 0x8000000001070000
#define THR1_NZ_CTX_TSB_CONFIG_0 0xa000000001240000
#define THR1_NZ_CTX_TSB_CONFIG_1 0x8000000001250110
#define THR1_NZ_CTX_TSB_CONFIG_2 0x8000000001260030
#define THR1_NZ_CTX_TSB_CONFIG_3 0xc000000001270150
#define THR2_Z_CTX_TSB_CONFIG_0 0x8000000001080030
#define THR2_Z_CTX_TSB_CONFIG_1 0xc000000001090150
#define THR2_Z_CTX_TSB_CONFIG_2 0xa0000000010a0100
#define THR2_Z_CTX_TSB_CONFIG_3 0x80000000010b0010
#define THR2_NZ_CTX_TSB_CONFIG_0 0xa000000001280150
#define THR2_NZ_CTX_TSB_CONFIG_1 0x8000000001290000
#define THR2_NZ_CTX_TSB_CONFIG_2 0x80000000012a0110
#define THR2_NZ_CTX_TSB_CONFIG_3 0xc0000000012b0030
#define THR3_Z_CTX_TSB_CONFIG_0 0xc0000000010c0130
#define THR3_Z_CTX_TSB_CONFIG_1 0xc0000000010d0150
#define THR3_Z_CTX_TSB_CONFIG_2 0xc0000000010e0000
#define THR3_Z_CTX_TSB_CONFIG_3 0x80000000010f0010
#define THR3_NZ_CTX_TSB_CONFIG_0 0xc0000000012c0150
#define THR3_NZ_CTX_TSB_CONFIG_1 0xa0000000012d0000
#define THR3_NZ_CTX_TSB_CONFIG_2 0x80000000012e0110
#define THR3_NZ_CTX_TSB_CONFIG_3 0x80000000012f0030
#define THR4_Z_CTX_TSB_CONFIG_0 0xc000000001100150
#define THR4_Z_CTX_TSB_CONFIG_1 0xc000000001110000
#define THR4_Z_CTX_TSB_CONFIG_2 0x8000000001120010
#define THR4_Z_CTX_TSB_CONFIG_3 0x8000000001130130
#define THR4_NZ_CTX_TSB_CONFIG_0 0xc000000001300150
#define THR4_NZ_CTX_TSB_CONFIG_1 0xa000000001310000
#define THR4_NZ_CTX_TSB_CONFIG_2 0xc000000001320010
#define THR4_NZ_CTX_TSB_CONFIG_3 0xc000000001330130
#define THR5_Z_CTX_TSB_CONFIG_0 0xc000000001140150
#define THR5_Z_CTX_TSB_CONFIG_1 0xa000000001150000
#define THR5_Z_CTX_TSB_CONFIG_2 0xc000000001160110
#define THR5_Z_CTX_TSB_CONFIG_3 0xa000000001170130
#define THR5_NZ_CTX_TSB_CONFIG_0 0x8000000001340100
#define THR5_NZ_CTX_TSB_CONFIG_1 0x8000000001350010
#define THR5_NZ_CTX_TSB_CONFIG_2 0xc000000001360130
#define THR5_NZ_CTX_TSB_CONFIG_3 0x8000000001370050
#define THR6_Z_CTX_TSB_CONFIG_0 0xc000000001180050
#define THR6_Z_CTX_TSB_CONFIG_1 0xc000000001190000
#define THR6_Z_CTX_TSB_CONFIG_2 0xc0000000011a0010
#define THR6_Z_CTX_TSB_CONFIG_3 0x80000000011b0130
#define THR6_NZ_CTX_TSB_CONFIG_0 0xa000000001380130
#define THR6_NZ_CTX_TSB_CONFIG_1 0xa000000001390050
#define THR6_NZ_CTX_TSB_CONFIG_2 0xc0000000013a0000
#define THR6_NZ_CTX_TSB_CONFIG_3 0x80000000013b0110
#define THR7_Z_CTX_TSB_CONFIG_0 0xa0000000011c0110
#define THR7_Z_CTX_TSB_CONFIG_1 0x80000000011d0130
#define THR7_Z_CTX_TSB_CONFIG_2 0xc0000000011e0050
#define THR7_Z_CTX_TSB_CONFIG_3 0x80000000011f0000
#define THR7_NZ_CTX_TSB_CONFIG_0 0x80000000013c0130
#define THR7_NZ_CTX_TSB_CONFIG_1 0xc0000000013d0150
#define THR7_NZ_CTX_TSB_CONFIG_2 0x80000000013e0000
#define THR7_NZ_CTX_TSB_CONFIG_3 0xa0000000013f0110
#else
#define THR0_Z_CTX_TSB_CONFIG_0 0x4000000001000010
#define THR0_Z_CTX_TSB_CONFIG_1 0x0000000001010030
#define THR0_Z_CTX_TSB_CONFIG_2 0x0000000001020150
#define THR0_Z_CTX_TSB_CONFIG_3 0x4000000001030100
#define THR0_NZ_CTX_TSB_CONFIG_0 0x0000000001200030
#define THR0_NZ_CTX_TSB_CONFIG_1 0x0000000001210150
#define THR0_NZ_CTX_TSB_CONFIG_2 0x0000000001220100
#define THR0_NZ_CTX_TSB_CONFIG_3 0x0000000001230110
#define THR1_Z_CTX_TSB_CONFIG_0 0x2000000001040110
#define THR1_Z_CTX_TSB_CONFIG_1 0x0000000001050130
#define THR1_Z_CTX_TSB_CONFIG_2 0x4000000001060150
#define THR1_Z_CTX_TSB_CONFIG_3 0x0000000001070000
#define THR1_NZ_CTX_TSB_CONFIG_0 0x2000000001240000
#define THR1_NZ_CTX_TSB_CONFIG_1 0x0000000001250110
#define THR1_NZ_CTX_TSB_CONFIG_2 0x0000000001260030
#define THR1_NZ_CTX_TSB_CONFIG_3 0x4000000001270150
#define THR2_Z_CTX_TSB_CONFIG_0 0x0000000001080030
#define THR2_Z_CTX_TSB_CONFIG_1 0x4000000001090150
#define THR2_Z_CTX_TSB_CONFIG_2 0x20000000010a0100
#define THR2_Z_CTX_TSB_CONFIG_3 0x00000000010b0010
#define THR2_NZ_CTX_TSB_CONFIG_0 0x2000000001280150
#define THR2_NZ_CTX_TSB_CONFIG_1 0x0000000001290000
#define THR2_NZ_CTX_TSB_CONFIG_2 0x00000000012a0110
#define THR2_NZ_CTX_TSB_CONFIG_3 0x40000000012b0030
#define THR3_Z_CTX_TSB_CONFIG_0 0x40000000010c0130
#define THR3_Z_CTX_TSB_CONFIG_1 0x40000000010d0150
#define THR3_Z_CTX_TSB_CONFIG_2 0x40000000010e0000
#define THR3_Z_CTX_TSB_CONFIG_3 0x00000000010f0010
#define THR3_NZ_CTX_TSB_CONFIG_0 0x40000000012c0150
#define THR3_NZ_CTX_TSB_CONFIG_1 0x20000000012d0000
#define THR3_NZ_CTX_TSB_CONFIG_2 0x00000000012e0110
#define THR3_NZ_CTX_TSB_CONFIG_3 0x00000000012f0030
#define THR4_Z_CTX_TSB_CONFIG_0 0x4000000001100150
#define THR4_Z_CTX_TSB_CONFIG_1 0x4000000001110000
#define THR4_Z_CTX_TSB_CONFIG_2 0x0000000001120010
#define THR4_Z_CTX_TSB_CONFIG_3 0x0000000001130130
#define THR4_NZ_CTX_TSB_CONFIG_0 0x4000000001300150
#define THR4_NZ_CTX_TSB_CONFIG_1 0x2000000001310000
#define THR4_NZ_CTX_TSB_CONFIG_2 0x4000000001320010
#define THR4_NZ_CTX_TSB_CONFIG_3 0x4000000001330130
#define THR5_Z_CTX_TSB_CONFIG_0 0x4000000001140150
#define THR5_Z_CTX_TSB_CONFIG_1 0x2000000001150000
#define THR5_Z_CTX_TSB_CONFIG_2 0x4000000001160110
#define THR5_Z_CTX_TSB_CONFIG_3 0x2000000001170130
#define THR5_NZ_CTX_TSB_CONFIG_0 0x0000000001340100
#define THR5_NZ_CTX_TSB_CONFIG_1 0x0000000001350010
#define THR5_NZ_CTX_TSB_CONFIG_2 0x4000000001360130
#define THR5_NZ_CTX_TSB_CONFIG_3 0x0000000001370050
#define THR6_Z_CTX_TSB_CONFIG_0 0x4000000001180050
#define THR6_Z_CTX_TSB_CONFIG_1 0x4000000001190000
#define THR6_Z_CTX_TSB_CONFIG_2 0x40000000011a0010
#define THR6_Z_CTX_TSB_CONFIG_3 0x00000000011b0130
#define THR6_NZ_CTX_TSB_CONFIG_0 0x2000000001380130
#define THR6_NZ_CTX_TSB_CONFIG_1 0x2000000001390050
#define THR6_NZ_CTX_TSB_CONFIG_2 0x40000000013a0000
#define THR6_NZ_CTX_TSB_CONFIG_3 0x00000000013b0110
#define THR7_Z_CTX_TSB_CONFIG_0 0x20000000011c0110
#define THR7_Z_CTX_TSB_CONFIG_1 0x00000000011d0130
#define THR7_Z_CTX_TSB_CONFIG_2 0x40000000011e0050
#define THR7_Z_CTX_TSB_CONFIG_3 0x00000000011f0000
#define THR7_NZ_CTX_TSB_CONFIG_0 0x00000000013c0130
#define THR7_NZ_CTX_TSB_CONFIG_1 0x40000000013d0150
#define THR7_NZ_CTX_TSB_CONFIG_2 0x00000000013e0000
#define THR7_NZ_CTX_TSB_CONFIG_3 0x20000000013f0110
#endif
#define THR0_REAL_RANGE_0 0x8000008000000000
#define THR0_REAL_RANGE_1 0x8000080000000000
#define THR0_REAL_RANGE_2 0x8000800000000000
#define THR0_REAL_RANGE_3 0x8008000000000000
#define THR1_REAL_RANGE_0 0x8000008000000e39
#define THR1_REAL_RANGE_1 0x8000080000000e3a
#define THR1_REAL_RANGE_2 0x8000800000000e3c
#define THR1_REAL_RANGE_3 0x8008000000000e38
#define THR2_REAL_RANGE_0 0x8000008000000868
#define THR2_REAL_RANGE_1 0x8000080000000870
#define THR2_REAL_RANGE_2 0x8000800000000878
#define THR2_REAL_RANGE_3 0x8008000000000860
#define THR3_REAL_RANGE_0 0x8000008000000000
#define THR3_REAL_RANGE_1 0x8000080000000000
#define THR3_REAL_RANGE_2 0x8000800000000000
#define THR3_REAL_RANGE_3 0x8008000000000000
#define THR4_REAL_RANGE_0 0x8000008000000000
#define THR4_REAL_RANGE_1 0x8000080000000000
#define THR4_REAL_RANGE_2 0x8000800000000000
#define THR4_REAL_RANGE_3 0x8008000000000000
#define THR5_REAL_RANGE_0 0x8000008000000000
#define THR5_REAL_RANGE_1 0x8000080000000000
#define THR5_REAL_RANGE_2 0x8000800000000000
#define THR5_REAL_RANGE_3 0x8008000000000000
#define THR6_REAL_RANGE_0 0x8000008000000000
#define THR6_REAL_RANGE_1 0x8000080000000000
#define THR6_REAL_RANGE_2 0x8000800000000000
#define THR6_REAL_RANGE_3 0x8008000000000000
#define THR7_REAL_RANGE_0 0x8000008000000000
#define THR7_REAL_RANGE_1 0x8000080000000000
#define THR7_REAL_RANGE_2 0x8000800000000000
#define THR7_REAL_RANGE_3 0x8008000000000000
#define THR0_PHY_OFF_0 0x0000001000000000
#define THR0_PHY_OFF_1 0x0000001010000000
#define THR0_PHY_OFF_2 0x0000001020000000
#define THR0_PHY_OFF_3 0x0000001030000000
#define THR1_PHY_OFF_0 0x0000000100000000
#define THR1_PHY_OFF_1 0x0000000110000000
#define THR1_PHY_OFF_2 0x0000000120000000
#define THR1_PHY_OFF_3 0x0000000130000000
#define THR2_PHY_OFF_0 0x0000000200000000
#define THR2_PHY_OFF_1 0x0000000210000000
#define THR2_PHY_OFF_2 0x0000000220000000
#define THR2_PHY_OFF_3 0x0000000230000000
#define THR3_PHY_OFF_0 0x0000000300000000
#define THR3_PHY_OFF_1 0x0000000310000000
#define THR3_PHY_OFF_2 0x0000000320000000
#define THR3_PHY_OFF_3 0x0000000330000000
#define THR4_PHY_OFF_0 0x0000000400000000
#define THR4_PHY_OFF_1 0x0000000410000000
#define THR4_PHY_OFF_2 0x0000000420000000
#define THR4_PHY_OFF_3 0x0000000430000000
#define THR5_PHY_OFF_0 0x0000000500000000
#define THR5_PHY_OFF_1 0x0000000510000000
#define THR5_PHY_OFF_2 0x0000000520000000
#define THR5_PHY_OFF_3 0x0000000530000000
#define THR6_PHY_OFF_0 0x0000000600000000
#define THR6_PHY_OFF_1 0x0000000610000000
#define THR6_PHY_OFF_2 0x0000000620000000
#define THR6_PHY_OFF_3 0x0000000630000000
#define THR7_PHY_OFF_0 0x0000000700000000
#define THR7_PHY_OFF_1 0x0000000710000000
#define THR7_PHY_OFF_2 0x0000000720000000
#define THR7_PHY_OFF_3 0x0000000730000000
#define THR_0_PARTID 0
#define THR_1_PARTID 1
#define THR_2_PARTID 2
#define THR_3_PARTID 3
#define THR_4_PARTID 4
#define THR_5_PARTID 5
#define THR_6_PARTID 6
#define THR_7_PARTID 7
#define NUCLEUS 0x0
#define THR0_PCONTEXT_0 0x079b
#define THR0_PCONTEXT_1 0x1ede
#define THR0_SCONTEXT_0 0x17f7
#define THR0_SCONTEXT_1 0x09ad
#define THR1_PCONTEXT_0 0x0096
#define THR1_PCONTEXT_1 0x18bc
#define THR1_SCONTEXT_0 0x1695
#define THR1_SCONTEXT_1 0x04fe
#define THR2_PCONTEXT_0 0x196a
#define THR2_PCONTEXT_1 0x170d
#define THR2_SCONTEXT_0 0x0185
#define THR2_SCONTEXT_1 0x0d1b
#define THR3_PCONTEXT_0 0x1b79
#define THR3_PCONTEXT_1 0x11b9
#define THR3_SCONTEXT_0 0x15b2
#define THR3_SCONTEXT_1 0x0429
#define THR4_PCONTEXT_0 0x0c1d
#define THR4_PCONTEXT_1 0x038d
#define THR4_SCONTEXT_0 0x05a3
#define THR4_SCONTEXT_1 0x1a67
#define THR5_PCONTEXT_0 0x1cc0
#define THR5_PCONTEXT_1 0x197d
#define THR5_SCONTEXT_0 0x0ccc
#define THR5_SCONTEXT_1 0x0740
#define THR6_PCONTEXT_0 0x1938
#define THR6_PCONTEXT_1 0x0d5d
#define THR6_SCONTEXT_0 0x1ae3
#define THR6_SCONTEXT_1 0x0723
#define THR7_PCONTEXT_0 0x129b
#define THR7_PCONTEXT_1 0x0b8f
#define THR7_SCONTEXT_0 0x034c
#define THR7_SCONTEXT_1 0x1b76
#define THR0_PTRAP_TEXT_VA 0x000002e20000
#define THR0_PTRAP_TEXT_RA 0x1012010000
#define THR0_PTRAP_TEXT_PA 0x1012010000
#define THR1_PTRAP_TEXT_VA 0x000002060000
#define THR1_PTRAP_TEXT_RA 0x0002c30000
#define THR1_PTRAP_TEXT_PA 0x0112c30000
#define THR2_PTRAP_TEXT_VA 0x0000027b0000
#define THR2_PTRAP_TEXT_RA 0x0212d40000
#define THR2_PTRAP_TEXT_PA 0x0212d40000
#define THR3_PTRAP_TEXT_VA 0x000002a50000
#define THR3_PTRAP_TEXT_RA 0x0312e50000
#define THR3_PTRAP_TEXT_PA 0x0312e50000
#define THR4_PTRAP_TEXT_VA 0x000002750000
#define THR4_PTRAP_TEXT_RA 0x0412ed0000
#define THR4_PTRAP_TEXT_PA 0x0412ed0000
#define THR5_PTRAP_TEXT_VA 0x000002350000
#define THR5_PTRAP_TEXT_RA 0x0002c00000
#define THR5_PTRAP_TEXT_PA 0x0512c00000
#define THR6_PTRAP_TEXT_VA 0x000002ff0000
#define THR6_PTRAP_TEXT_RA 0x0612ab0000
#define THR6_PTRAP_TEXT_PA 0x0612ab0000
#define THR7_PTRAP_TEXT_VA 0x000002310000
#define THR7_PTRAP_TEXT_RA 0x0002390000
#define THR7_PTRAP_TEXT_PA 0x0712390000
/*****************************************************************************
* $Revision: 1.1 $
*****************************************************************************/
#define HV_RED_TEXT_PA 0x10000
#define HV_RED_DATA_PA 0x20000
#define HPTRAP_TEXT_PA 0x80000
#define HPTRAPS_EXT_TEXT_PA 0x90000
#define HPTRAPS_EXT_DATA_PA 0x98000
#define P_GOOD_TRAP 0x0
#define P_BAD_TRAP 0x1
#define HP_GOOD_TRAP 0xa0
#define HP_BAD_TRAP 0xa1
#define EXIT_GOOD ta P_GOOD_TRAP; nop
#define EXIT_BAD ta P_BAD_TRAP; nop
#define REALRANGE_LO_MASK 0x0000000007ffffff
#define REALRANGE_HI_MASK 0x003ffffff8000000
#define RANOTPA_MASK 0x100
#define SUN4V_MASK 0x000
#define TTE_RA_MASK 0x000000ffffffe000
#define IDEMAP_ALL ta PTRAP_I_DEMAP_ALL
#define IDEMAP_PCTX ta PTRAP_I_DEMAP_PCTX
#define IDEMAP_SCTX ta PTRAP_I_DEMAP_SCTX
#define IDEMAP_NCTX ta PTRAP_I_DEMAP_NCTX
#define IDEMAP_PAGE ta PTRAP_I_DEMAP_PAGE
#define IDEMAP_RPAGE ta PTRAP_I_DEMAP_RPAGE
#define IDEMAP_REAL ta PTRAP_I_DEMAP_REAL
#define DDEMAP_ALL ta PTRAP_D_DEMAP_ALL
#define DDEMAP_PCTX ta PTRAP_D_DEMAP_PCTX
#define DDEMAP_SCTX ta PTRAP_D_DEMAP_SCTX
#define DDEMAP_NCTX ta PTRAP_D_DEMAP_NCTX
#define DDEMAP_PAGE ta PTRAP_D_DEMAP_PAGE
#define DDEMAP_RPAGE ta PTRAP_D_DEMAP_RPAGE
#define DDEMAP_REAL ta PTRAP_D_DEMAP_REAL
#define DO_BRANCH or %g1, %g0, %i7 ; ta PTRAP_REDIRECT
#define CHANGE_PID ta PTRAP_CHANGE_PID
#define INCR_TSB_SIZE ta PTRAP_INCR_TSB_SIZE
#define REAL_MEM_LD ta PTRAP_REAL_MEM_LD
#define REAL_MEM_LD_LITTLE ta PTRAP_REAL_MEM_LD_LITTLE
#define REAL_MEM_QUAD_LD ta PTRAP_REAL_MEM_QUAD_LD
#define REAL_MEM_QUAD_LD_LITTLE ta PTRAP_REAL_MEM_QUAD_LD_LITTLE
#define CLEAR_LSU_IMMU ta PTRAP_CLEAR_LSU_IMMU
#define CLEAR_LSU_DMMU ta PTRAP_CLEAR_LSU_DMMU
#define DELAY_LOOP ta PTRAP_DELAY_LOOP
#define SEM_LOCK ta PTRAP_SEM_LOCK
#define SEM_RELEASE ta PTRAP_SEM_RELEASE
#define SEM_GET ta PTRAP_SEM_GET
#define SEM_SET ta PTRAP_SEM_SET
#define GOTO_SUPERVISOR0 ta PTRAP_GOTO_SUPERVISOR0
#define GOTO_SUPERVISOR1 ta PTRAP_GOTO_SUPERVISOR1
#define PTRAP_I_DEMAP_ALL 0x10
#define PTRAP_I_DEMAP_PCTX 0x11
#define PTRAP_I_DEMAP_SCTX 0x12
#define PTRAP_I_DEMAP_NCTX 0x13
#define PTRAP_I_DEMAP_PAGE 0x14
#define PTRAP_I_DEMAP_RPAGE 0x15
#define PTRAP_I_DEMAP_REAL 0x16
#define PTRAP_D_DEMAP_ALL 0x17
#define PTRAP_D_DEMAP_PCTX 0x18
#define PTRAP_D_DEMAP_SCTX 0x19
#define PTRAP_D_DEMAP_NCTX 0x1a
#define PTRAP_D_DEMAP_PAGE 0x1b
#define PTRAP_D_DEMAP_RPAGE 0x1c
#define PTRAP_D_DEMAP_REAL 0x1d
#define PTRAP_REDIRECT 0x20
#define PTRAP_CHANGE_PID 0x21
#define PTRAP_INCR_TSB_SIZE 0x22
#define PTRAP_REAL_MEM_LD 0x23
#define PTRAP_REAL_MEM_LD_LITTLE 0x24
#define PTRAP_REAL_MEM_QUAD_LD 0x25
#define PTRAP_REAL_MEM_QUAD_LD_LITTLE 0x26
#define PTRAP_CLEAR_LSU_IMMU 0x27
#define PTRAP_CLEAR_LSU_DMMU 0x28
#define PTRAP_DELAY_LOOP 0x29
#define PTRAP_SEM_LOCK 0x2a
#define PTRAP_SEM_RELEASE 0x2b
#define PTRAP_SEM_GET 0x2c
#define PTRAP_SEM_SET 0x2d
#define PTRAP_GOTO_SUPERVISOR0 0x2e
#define PTRAP_GOTO_SUPERVISOR1 0x2f
#define HPTRAP_I_DEMAP_ALL 0x80
#define HPTRAP_I_DEMAP_PCTX 0x81
#define HPTRAP_I_DEMAP_SCTX 0x82
#define HPTRAP_I_DEMAP_NCTX 0x83
#define HPTRAP_I_DEMAP_PAGE 0x84
#define HPTRAP_I_DEMAP_RPAGE 0x85
#define HPTRAP_I_DEMAP_REAL 0x86
#define HPTRAP_D_DEMAP_ALL 0x87
#define HPTRAP_D_DEMAP_PCTX 0x88
#define HPTRAP_D_DEMAP_SCTX 0x89
#define HPTRAP_D_DEMAP_NCTX 0x8a
#define HPTRAP_D_DEMAP_PAGE 0x8b
#define HPTRAP_D_DEMAP_RPAGE 0x8c
#define HPTRAP_D_DEMAP_REAL 0x8d
#define HPTRAP_CHANGE_PID 0x91
#define HPTRAP_INCR_TSB_SIZE 0x92
#define HPTRAP_CLEAR_LSU_IMMU 0x93
#define HPTRAP_CLEAR_LSU_DMMU 0x94
#define HPTRAP_DELAY_LOOP 0x95
#define HPTRAP_SEM_LOCK 0x96
#define HPTRAP_SEM_RELEASE 0x97
#define HPTRAP_SEM_GET 0x98
#define HPTRAP_SEM_SET 0x99
#define HPTRAP_GOTO_SUPERVISOR0 0x9a
#define HPTRAP_GOTO_SUPERVISOR1 0x9b
#define MAX_OCCURENCE_CNT 10
#define NUM_IMPL_TRAPS 6 /* number of implemented traps */
#define TRAP_0x9_OFFSET 0
#define TRAP_0xB_OFFSET 4
#define TRAP_0x1B_OFFSET 8
#define TRAP_0x2E_OFFSET 0xc
#define TRAP_0x31_OFFSET 0x10
#define TRAP_0x6C_OFFSET 0x14
MIDAS_TSB thr0_z_ctx_tsb_0 THR0_Z_CTX_TSB_CONFIG_0 ttefmt=sun4v
MIDAS_TSB thr0_z_ctx_tsb_1 THR0_Z_CTX_TSB_CONFIG_1 ttefmt=sun4v
MIDAS_TSB thr0_z_ctx_tsb_2 THR0_Z_CTX_TSB_CONFIG_2 ttefmt=sun4v
MIDAS_TSB thr0_z_ctx_tsb_3 THR0_Z_CTX_TSB_CONFIG_3 ttefmt=sun4v
MIDAS_TSB thr0_nz_ctx_tsb_0 THR0_NZ_CTX_TSB_CONFIG_0 ttefmt=sun4v
MIDAS_TSB thr0_nz_ctx_tsb_1 THR0_NZ_CTX_TSB_CONFIG_1 ttefmt=sun4v
MIDAS_TSB thr0_nz_ctx_tsb_2 THR0_NZ_CTX_TSB_CONFIG_2 ttefmt=sun4v
MIDAS_TSB thr0_nz_ctx_tsb_3 THR0_NZ_CTX_TSB_CONFIG_3 ttefmt=sun4v
MIDAS_TSB thr1_z_ctx_tsb_0 THR1_Z_CTX_TSB_CONFIG_0 ttefmt=sun4v
MIDAS_TSB thr1_z_ctx_tsb_1 THR1_Z_CTX_TSB_CONFIG_1 ttefmt=sun4v
MIDAS_TSB thr1_z_ctx_tsb_2 THR1_Z_CTX_TSB_CONFIG_2 ttefmt=sun4v
MIDAS_TSB thr1_z_ctx_tsb_3 THR1_Z_CTX_TSB_CONFIG_3 ttefmt=sun4v
MIDAS_TSB thr1_nz_ctx_tsb_0 THR1_NZ_CTX_TSB_CONFIG_0 ttefmt=sun4v
MIDAS_TSB thr1_nz_ctx_tsb_1 THR1_NZ_CTX_TSB_CONFIG_1 ttefmt=sun4v
MIDAS_TSB thr1_nz_ctx_tsb_2 THR1_NZ_CTX_TSB_CONFIG_2 ttefmt=sun4v
MIDAS_TSB thr1_nz_ctx_tsb_3 THR1_NZ_CTX_TSB_CONFIG_3 ttefmt=sun4v
MIDAS_TSB thr2_z_ctx_tsb_0 THR2_Z_CTX_TSB_CONFIG_0 ttefmt=sun4v
MIDAS_TSB thr2_z_ctx_tsb_1 THR2_Z_CTX_TSB_CONFIG_1 ttefmt=sun4v
MIDAS_TSB thr2_z_ctx_tsb_2 THR2_Z_CTX_TSB_CONFIG_2 ttefmt=sun4v
MIDAS_TSB thr2_z_ctx_tsb_3 THR2_Z_CTX_TSB_CONFIG_3 ttefmt=sun4v
MIDAS_TSB thr2_nz_ctx_tsb_0 THR2_NZ_CTX_TSB_CONFIG_0 ttefmt=sun4v
MIDAS_TSB thr2_nz_ctx_tsb_1 THR2_NZ_CTX_TSB_CONFIG_1 ttefmt=sun4v
MIDAS_TSB thr2_nz_ctx_tsb_2 THR2_NZ_CTX_TSB_CONFIG_2 ttefmt=sun4v
MIDAS_TSB thr2_nz_ctx_tsb_3 THR2_NZ_CTX_TSB_CONFIG_3 ttefmt=sun4v
MIDAS_TSB thr3_z_ctx_tsb_0 THR3_Z_CTX_TSB_CONFIG_0 ttefmt=sun4v
MIDAS_TSB thr3_z_ctx_tsb_1 THR3_Z_CTX_TSB_CONFIG_1 ttefmt=sun4v
MIDAS_TSB thr3_z_ctx_tsb_2 THR3_Z_CTX_TSB_CONFIG_2 ttefmt=sun4v
MIDAS_TSB thr3_z_ctx_tsb_3 THR3_Z_CTX_TSB_CONFIG_3 ttefmt=sun4v
MIDAS_TSB thr3_nz_ctx_tsb_0 THR3_NZ_CTX_TSB_CONFIG_0 ttefmt=sun4v
MIDAS_TSB thr3_nz_ctx_tsb_1 THR3_NZ_CTX_TSB_CONFIG_1 ttefmt=sun4v
MIDAS_TSB thr3_nz_ctx_tsb_2 THR3_NZ_CTX_TSB_CONFIG_2 ttefmt=sun4v
MIDAS_TSB thr3_nz_ctx_tsb_3 THR3_NZ_CTX_TSB_CONFIG_3 ttefmt=sun4v
MIDAS_TSB thr4_z_ctx_tsb_0 THR4_Z_CTX_TSB_CONFIG_0 ttefmt=sun4v
MIDAS_TSB thr4_z_ctx_tsb_1 THR4_Z_CTX_TSB_CONFIG_1 ttefmt=sun4v
MIDAS_TSB thr4_z_ctx_tsb_2 THR4_Z_CTX_TSB_CONFIG_2 ttefmt=sun4v
MIDAS_TSB thr4_z_ctx_tsb_3 THR4_Z_CTX_TSB_CONFIG_3 ttefmt=sun4v
MIDAS_TSB thr4_nz_ctx_tsb_0 THR4_NZ_CTX_TSB_CONFIG_0 ttefmt=sun4v
MIDAS_TSB thr4_nz_ctx_tsb_1 THR4_NZ_CTX_TSB_CONFIG_1 ttefmt=sun4v
MIDAS_TSB thr4_nz_ctx_tsb_2 THR4_NZ_CTX_TSB_CONFIG_2 ttefmt=sun4v
MIDAS_TSB thr4_nz_ctx_tsb_3 THR4_NZ_CTX_TSB_CONFIG_3 ttefmt=sun4v
MIDAS_TSB thr5_z_ctx_tsb_0 THR5_Z_CTX_TSB_CONFIG_0 ttefmt=sun4v
MIDAS_TSB thr5_z_ctx_tsb_1 THR5_Z_CTX_TSB_CONFIG_1 ttefmt=sun4v
MIDAS_TSB thr5_z_ctx_tsb_2 THR5_Z_CTX_TSB_CONFIG_2 ttefmt=sun4v
MIDAS_TSB thr5_z_ctx_tsb_3 THR5_Z_CTX_TSB_CONFIG_3 ttefmt=sun4v
MIDAS_TSB thr5_nz_ctx_tsb_0 THR5_NZ_CTX_TSB_CONFIG_0 ttefmt=sun4v
MIDAS_TSB thr5_nz_ctx_tsb_1 THR5_NZ_CTX_TSB_CONFIG_1 ttefmt=sun4v
MIDAS_TSB thr5_nz_ctx_tsb_2 THR5_NZ_CTX_TSB_CONFIG_2 ttefmt=sun4v
MIDAS_TSB thr5_nz_ctx_tsb_3 THR5_NZ_CTX_TSB_CONFIG_3 ttefmt=sun4v
MIDAS_TSB thr6_z_ctx_tsb_0 THR6_Z_CTX_TSB_CONFIG_0 ttefmt=sun4v
MIDAS_TSB thr6_z_ctx_tsb_1 THR6_Z_CTX_TSB_CONFIG_1 ttefmt=sun4v
MIDAS_TSB thr6_z_ctx_tsb_2 THR6_Z_CTX_TSB_CONFIG_2 ttefmt=sun4v
MIDAS_TSB thr6_z_ctx_tsb_3 THR6_Z_CTX_TSB_CONFIG_3 ttefmt=sun4v
MIDAS_TSB thr6_nz_ctx_tsb_0 THR6_NZ_CTX_TSB_CONFIG_0 ttefmt=sun4v
MIDAS_TSB thr6_nz_ctx_tsb_1 THR6_NZ_CTX_TSB_CONFIG_1 ttefmt=sun4v
MIDAS_TSB thr6_nz_ctx_tsb_2 THR6_NZ_CTX_TSB_CONFIG_2 ttefmt=sun4v
MIDAS_TSB thr6_nz_ctx_tsb_3 THR6_NZ_CTX_TSB_CONFIG_3 ttefmt=sun4v
MIDAS_TSB thr7_z_ctx_tsb_0 THR7_Z_CTX_TSB_CONFIG_0 ttefmt=sun4v
MIDAS_TSB thr7_z_ctx_tsb_1 THR7_Z_CTX_TSB_CONFIG_1 ttefmt=sun4v
MIDAS_TSB thr7_z_ctx_tsb_2 THR7_Z_CTX_TSB_CONFIG_2 ttefmt=sun4v
MIDAS_TSB thr7_z_ctx_tsb_3 THR7_Z_CTX_TSB_CONFIG_3 ttefmt=sun4v
MIDAS_TSB thr7_nz_ctx_tsb_0 THR7_NZ_CTX_TSB_CONFIG_0 ttefmt=sun4v
MIDAS_TSB thr7_nz_ctx_tsb_1 THR7_NZ_CTX_TSB_CONFIG_1 ttefmt=sun4v
MIDAS_TSB thr7_nz_ctx_tsb_2 THR7_NZ_CTX_TSB_CONFIG_2 ttefmt=sun4v
MIDAS_TSB thr7_nz_ctx_tsb_3 THR7_NZ_CTX_TSB_CONFIG_3 ttefmt=sun4v
/*****************************************************************************************/
SECTION .RED_SEC TEXT_VA = 0xfffffffff0000000
attr_text {
Name=.RED_SEC,
hypervisor
}
.text
nop
nop
nop
nop
nop
nop
nop
nop
rdhpr %hpstate, %l1
wrhpr %l1, 0x820, %hpstate
wrpr 0, %tl
wrpr 0, %g0, %gl
! load partition id to %l7
wr %g0, ASI_CORE_ID, %asi
ldxa [ASI_CORE_ID_VA] %asi, %l7
set 0x7, %g1
and %l7, %g1, %l7 ! %l7 has TID
xor %l0, %l0, %l0
sub %l7, %l0, %l1
brnz %l1, test_thr1
nop
setx thr0_red_handler, %l0, %l2
jmp %l2
nop
test_thr1:
add %l0, 1, %l0
sub %l7, %l0, %l1
brnz %l1, test_thr2
nop
setx thr1_red_handler, %l0, %l2
jmp %l2
nop
test_thr2:
add %l0, 1, %l0
sub %l7, %l0, %l1
brnz %l1, test_thr3
nop
setx thr2_red_handler, %l0, %l2
jmp %l2
nop
test_thr3:
add %l0, 1, %l0
sub %l7, %l0, %l1
brnz %l1, test_thr4
nop
setx thr3_red_handler, %l0, %l2
jmp %l2
nop
test_thr4:
add %l0, 1, %l0
sub %l7, %l0, %l1
brnz %l1, test_thr5
nop
setx thr4_red_handler, %l0, %l2
jmp %l2
nop
test_thr5:
add %l0, 1, %l0
sub %l7, %l0, %l1
brnz %l1, test_thr6
nop
setx thr5_red_handler, %l0, %l2
jmp %l2
nop
test_thr6:
add %l0, 1, %l0
sub %l7, %l0, %l1
brnz %l1, test_thr7
nop
setx thr6_red_handler, %l0, %l2
jmp %l2
nop
test_thr7:
setx thr7_red_handler, %l0, %l2
jmp %l2
nop
EXIT_BAD
/*****************************************************************************************/
SECTION .RED_EXT_SEC TEXT_VA = HV_RED_TEXT_PA, DATA_VA = HV_RED_DATA_PA
attr_text {
Name=.RED_EXT_SEC,
hypervisor
}
.text
.global thr0_red_handler
thr0_red_handler:
! set partition id
set THR_0_PARTID, %g2
mov ASI_PARTITION_ID_VAL, %g1
stxa %g2, [%g1] ASI_PARTITION_ID
! set hyper trap base addr
setx HPTRAP_TEXT_PA, %l0, %l7
wrhpr %l7, %g0, %htba
thr0_hred_context_config:
setx ASI_PRIMARY_CONTEXT_REG, %l0, %g1
wr %g1, 0x0, %asi
setx THR0_PCONTEXT_0, %l0, %g1
stxa %g1, [ASI_PRIMARY_CONTEXT_0_REG_VAL] %asi
setx THR0_PCONTEXT_1, %l0, %g1
stxa %g1, [ASI_PRIMARY_CONTEXT_1_REG_VAL] %asi
setx THR0_SCONTEXT_0, %l0, %g1
stxa %g1, [ASI_SECONDARY_CONTEXT_0_REG_VAL] %asi
setx THR0_SCONTEXT_1, %l0, %g1
stxa %g1, [ASI_SECONDARY_CONTEXT_1_REG_VAL] %asi
#ifdef TSB_SEARCH_BURST
thr0_tsb_burst_mode:
setx ASI_TSB_SEARCH_MODE_ADDR, %l1, %g1
or TSB_SEARCH_BURST, %g0, %g2
stxa %g2, [%g1] ASI_TSB_SEARCH_MODE_REG
#endif
#ifdef TSB_SEARCH_PREDICTION
thr0_tsb_prediction_mode:
setx ASI_TSB_SEARCH_MODE_ADDR, %l1, %g1
or TSB_SEARCH_PREDICTION, %g0, %g2
stxa %g2, [%g1] ASI_TSB_SEARCH_MODE_REG
#endif
thr0_hred_physical_offset:
setx ASI_MMU_PHYSICAL_OFFSET, %l0, %g1
wr %g1, 0x0, %asi
setx THR0_PHY_OFF_0, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_0] %asi
setx THR0_PHY_OFF_1, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_1] %asi
setx THR0_PHY_OFF_2, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_2] %asi
setx THR0_PHY_OFF_3, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_3] %asi
thr0_hred_real_range:
setx ASI_MMU_REAL_RANGE, %l1, %g1
wr %g1, 0x0, %asi
setx THR0_REAL_RANGE_0, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_0] %asi
setx THR0_REAL_RANGE_1, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_1] %asi
setx THR0_REAL_RANGE_2, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_2] %asi
setx THR0_REAL_RANGE_3, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_3] %asi
thr0_hred_tsb_config:
mov ASI_MMU_ZERO_CONTEXT_TSB_CONFIG, %g3
wr %g3, 0x0, %asi
thr0_hred_tsb_z_config_0:
setx THR0_Z_CTX_TSB_CONFIG_0, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi
setx THR0_Z_CTX_TSB_CONFIG_1, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi
setx THR0_Z_CTX_TSB_CONFIG_2, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi
setx THR0_Z_CTX_TSB_CONFIG_3, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi
setx THR0_NZ_CTX_TSB_CONFIG_0, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi
setx THR0_NZ_CTX_TSB_CONFIG_1, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi
setx THR0_NZ_CTX_TSB_CONFIG_2, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi
setx THR0_NZ_CTX_TSB_CONFIG_3, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi
thr0_lsu_ctl_reg:
setx 0x1f, %l0, %l7
stxa %l7, [%g0] ASI_LSU_CONTROL
thr0_transfer_to_priv_code:
setx Thr0_Priv_Sect_text_begin, %g1, %g2
jmp %g2
wrhpr %g0, 0x000, %hpstate
nop
EXIT_BAD
.global thr1_red_handler
thr1_red_handler:
! set partition id
set THR_1_PARTID, %g2
mov ASI_PARTITION_ID_VAL, %g1
stxa %g2, [%g1] ASI_PARTITION_ID
! set hyper trap base addr
setx HPTRAP_TEXT_PA, %l0, %l7
wrhpr %l7, %g0, %htba
thr1_hred_context_config:
setx ASI_PRIMARY_CONTEXT_REG, %l0, %g1
wr %g1, 0x0, %asi
setx THR1_PCONTEXT_0, %l0, %g1
stxa %g1, [ASI_PRIMARY_CONTEXT_0_REG_VAL] %asi
setx THR1_PCONTEXT_1, %l0, %g1
stxa %g1, [ASI_PRIMARY_CONTEXT_1_REG_VAL] %asi
setx THR1_SCONTEXT_0, %l0, %g1
stxa %g1, [ASI_SECONDARY_CONTEXT_0_REG_VAL] %asi
setx THR1_SCONTEXT_1, %l0, %g1
stxa %g1, [ASI_SECONDARY_CONTEXT_1_REG_VAL] %asi
#ifdef TSB_SEARCH_BURST
thr1_tsb_burst_mode:
setx ASI_TSB_SEARCH_MODE_ADDR, %l1, %g1
or TSB_SEARCH_BURST, %g0, %g2
stxa %g2, [%g1] ASI_TSB_SEARCH_MODE_REG
#endif
#ifdef TSB_SEARCH_PREDICTION
thr1_tsb_prediction_mode:
setx ASI_TSB_SEARCH_MODE_ADDR, %l1, %g1
or TSB_SEARCH_PREDICTION, %g0, %g2
stxa %g2, [%g1] ASI_TSB_SEARCH_MODE_REG
#endif
thr1_hred_physical_offset:
setx ASI_MMU_PHYSICAL_OFFSET, %l0, %g1
wr %g1, 0x0, %asi
setx THR1_PHY_OFF_0, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_0] %asi
setx THR1_PHY_OFF_1, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_1] %asi
setx THR1_PHY_OFF_2, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_2] %asi
setx THR1_PHY_OFF_3, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_3] %asi
thr1_hred_real_range:
setx ASI_MMU_REAL_RANGE, %l1, %g1
wr %g1, 0x0, %asi
setx THR1_REAL_RANGE_0, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_0] %asi
setx THR1_REAL_RANGE_1, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_1] %asi
setx THR1_REAL_RANGE_2, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_2] %asi
setx THR1_REAL_RANGE_3, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_3] %asi
thr1_hred_tsb_config:
mov ASI_MMU_ZERO_CONTEXT_TSB_CONFIG, %g3
wr %g3, 0x0, %asi
thr1_hred_tsb_z_config_0:
setx THR1_Z_CTX_TSB_CONFIG_0, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi
setx THR1_Z_CTX_TSB_CONFIG_1, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi
setx THR1_Z_CTX_TSB_CONFIG_2, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi
setx THR1_Z_CTX_TSB_CONFIG_3, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi
setx THR1_NZ_CTX_TSB_CONFIG_0, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi
setx THR1_NZ_CTX_TSB_CONFIG_1, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi
setx THR1_NZ_CTX_TSB_CONFIG_2, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi
setx THR1_NZ_CTX_TSB_CONFIG_3, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi
thr1_lsu_ctl_reg:
setx 0x1f, %l0, %l7
stxa %l7, [%g0] ASI_LSU_CONTROL
thr1_transfer_to_priv_code:
setx Thr1_Priv_Sect_text_begin, %g1, %g2
jmp %g2
wrhpr %g0, 0x000, %hpstate
nop
EXIT_BAD
.global thr2_red_handler
thr2_red_handler:
! set partition id
set THR_2_PARTID, %g2
mov ASI_PARTITION_ID_VAL, %g1
stxa %g2, [%g1] ASI_PARTITION_ID
! set hyper trap base addr
setx HPTRAP_TEXT_PA, %l0, %l7
wrhpr %l7, %g0, %htba
thr2_hred_context_config:
setx ASI_PRIMARY_CONTEXT_REG, %l0, %g1
wr %g1, 0x0, %asi
setx THR2_PCONTEXT_0, %l0, %g1
stxa %g1, [ASI_PRIMARY_CONTEXT_0_REG_VAL] %asi
setx THR2_PCONTEXT_1, %l0, %g1
stxa %g1, [ASI_PRIMARY_CONTEXT_1_REG_VAL] %asi
setx THR2_SCONTEXT_0, %l0, %g1
stxa %g1, [ASI_SECONDARY_CONTEXT_0_REG_VAL] %asi
setx THR2_SCONTEXT_1, %l0, %g1
stxa %g1, [ASI_SECONDARY_CONTEXT_1_REG_VAL] %asi
#ifdef TSB_SEARCH_BURST
thr2_tsb_burst_mode:
setx ASI_TSB_SEARCH_MODE_ADDR, %l1, %g1
or TSB_SEARCH_BURST, %g0, %g2
stxa %g2, [%g1] ASI_TSB_SEARCH_MODE_REG
#endif
#ifdef TSB_SEARCH_PREDICTION
thr2_tsb_prediction_mode:
setx ASI_TSB_SEARCH_MODE_ADDR, %l1, %g1
or TSB_SEARCH_PREDICTION, %g0, %g2
stxa %g2, [%g1] ASI_TSB_SEARCH_MODE_REG
#endif
thr2_hred_physical_offset:
setx ASI_MMU_PHYSICAL_OFFSET, %l0, %g1
wr %g1, 0x0, %asi
setx THR2_PHY_OFF_0, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_0] %asi
setx THR2_PHY_OFF_1, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_1] %asi
setx THR2_PHY_OFF_2, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_2] %asi
setx THR2_PHY_OFF_3, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_3] %asi
thr2_hred_real_range:
setx ASI_MMU_REAL_RANGE, %l1, %g1
wr %g1, 0x0, %asi
setx THR2_REAL_RANGE_0, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_0] %asi
setx THR2_REAL_RANGE_1, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_1] %asi
setx THR2_REAL_RANGE_2, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_2] %asi
setx THR2_REAL_RANGE_3, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_3] %asi
thr2_hred_tsb_config:
mov ASI_MMU_ZERO_CONTEXT_TSB_CONFIG, %g3
wr %g3, 0x0, %asi
thr2_hred_tsb_z_config_0:
setx THR2_Z_CTX_TSB_CONFIG_0, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi
setx THR2_Z_CTX_TSB_CONFIG_1, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi
setx THR2_Z_CTX_TSB_CONFIG_2, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi
setx THR2_Z_CTX_TSB_CONFIG_3, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi
setx THR2_NZ_CTX_TSB_CONFIG_0, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi
setx THR2_NZ_CTX_TSB_CONFIG_1, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi
setx THR2_NZ_CTX_TSB_CONFIG_2, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi
setx THR2_NZ_CTX_TSB_CONFIG_3, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi
thr2_lsu_ctl_reg:
setx 0x1f, %l0, %l7
stxa %l7, [%g0] ASI_LSU_CONTROL
thr2_transfer_to_priv_code:
setx Thr2_Priv_Sect_text_begin, %g1, %g2
jmp %g2
wrhpr %g0, 0x000, %hpstate
nop
EXIT_BAD
.global thr3_red_handler
thr3_red_handler:
! set partition id
set THR_3_PARTID, %g2
mov ASI_PARTITION_ID_VAL, %g1
stxa %g2, [%g1] ASI_PARTITION_ID
! set hyper trap base addr
setx HPTRAP_TEXT_PA, %l0, %l7
wrhpr %l7, %g0, %htba
thr3_hred_context_config:
setx ASI_PRIMARY_CONTEXT_REG, %l0, %g1
wr %g1, 0x0, %asi
setx THR3_PCONTEXT_0, %l0, %g1
stxa %g1, [ASI_PRIMARY_CONTEXT_0_REG_VAL] %asi
setx THR3_PCONTEXT_1, %l0, %g1
stxa %g1, [ASI_PRIMARY_CONTEXT_1_REG_VAL] %asi
setx THR3_SCONTEXT_0, %l0, %g1
stxa %g1, [ASI_SECONDARY_CONTEXT_0_REG_VAL] %asi
setx THR3_SCONTEXT_1, %l0, %g1
stxa %g1, [ASI_SECONDARY_CONTEXT_1_REG_VAL] %asi
#ifdef TSB_SEARCH_BURST
thr3_tsb_burst_mode:
setx ASI_TSB_SEARCH_MODE_ADDR, %l1, %g1
or TSB_SEARCH_BURST, %g0, %g2
stxa %g2, [%g1] ASI_TSB_SEARCH_MODE_REG
#endif
#ifdef TSB_SEARCH_PREDICTION
thr3_tsb_prediction_mode:
setx ASI_TSB_SEARCH_MODE_ADDR, %l1, %g1
or TSB_SEARCH_PREDICTION, %g0, %g2
stxa %g2, [%g1] ASI_TSB_SEARCH_MODE_REG
#endif
thr3_hred_physical_offset:
setx ASI_MMU_PHYSICAL_OFFSET, %l0, %g1
wr %g1, 0x0, %asi
setx THR3_PHY_OFF_0, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_0] %asi
setx THR3_PHY_OFF_1, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_1] %asi
setx THR3_PHY_OFF_2, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_2] %asi
setx THR3_PHY_OFF_3, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_3] %asi
thr3_hred_real_range:
setx ASI_MMU_REAL_RANGE, %l1, %g1
wr %g1, 0x0, %asi
setx THR3_REAL_RANGE_0, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_0] %asi
setx THR3_REAL_RANGE_1, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_1] %asi
setx THR3_REAL_RANGE_2, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_2] %asi
setx THR3_REAL_RANGE_3, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_3] %asi
thr3_hred_tsb_config:
mov ASI_MMU_ZERO_CONTEXT_TSB_CONFIG, %g3
wr %g3, 0x0, %asi
thr3_hred_tsb_z_config_0:
setx THR3_Z_CTX_TSB_CONFIG_0, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi
setx THR3_Z_CTX_TSB_CONFIG_1, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi
setx THR3_Z_CTX_TSB_CONFIG_2, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi
setx THR3_Z_CTX_TSB_CONFIG_3, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi
setx THR3_NZ_CTX_TSB_CONFIG_0, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi
setx THR3_NZ_CTX_TSB_CONFIG_1, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi
setx THR3_NZ_CTX_TSB_CONFIG_2, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi
setx THR3_NZ_CTX_TSB_CONFIG_3, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi
thr3_lsu_ctl_reg:
setx 0x1f, %l0, %l7
stxa %l7, [%g0] ASI_LSU_CONTROL
thr3_transfer_to_priv_code:
setx Thr3_Priv_Sect_text_begin, %g1, %g2
jmp %g2
wrhpr %g0, 0x000, %hpstate
nop
EXIT_BAD
.global thr4_red_handler
thr4_red_handler:
! set partition id
set THR_4_PARTID, %g2
mov ASI_PARTITION_ID_VAL, %g1
stxa %g2, [%g1] ASI_PARTITION_ID
! set hyper trap base addr
setx HPTRAP_TEXT_PA, %l0, %l7
wrhpr %l7, %g0, %htba
thr4_hred_context_config:
setx ASI_PRIMARY_CONTEXT_REG, %l0, %g1
wr %g1, 0x0, %asi
setx THR4_PCONTEXT_0, %l0, %g1
stxa %g1, [ASI_PRIMARY_CONTEXT_0_REG_VAL] %asi
setx THR4_PCONTEXT_1, %l0, %g1
stxa %g1, [ASI_PRIMARY_CONTEXT_1_REG_VAL] %asi
setx THR4_SCONTEXT_0, %l0, %g1
stxa %g1, [ASI_SECONDARY_CONTEXT_0_REG_VAL] %asi
setx THR4_SCONTEXT_1, %l0, %g1
stxa %g1, [ASI_SECONDARY_CONTEXT_1_REG_VAL] %asi
#ifdef TSB_SEARCH_BURST
thr4_tsb_burst_mode:
setx ASI_TSB_SEARCH_MODE_ADDR, %l1, %g1
or TSB_SEARCH_BURST, %g0, %g2
stxa %g2, [%g1] ASI_TSB_SEARCH_MODE_REG
#endif
#ifdef TSB_SEARCH_PREDICTION
thr4_tsb_prediction_mode:
setx ASI_TSB_SEARCH_MODE_ADDR, %l1, %g1
or TSB_SEARCH_PREDICTION, %g0, %g2
stxa %g2, [%g1] ASI_TSB_SEARCH_MODE_REG
#endif
thr4_hred_physical_offset:
setx ASI_MMU_PHYSICAL_OFFSET, %l0, %g1
wr %g1, 0x0, %asi
setx THR4_PHY_OFF_0, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_0] %asi
setx THR4_PHY_OFF_1, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_1] %asi
setx THR4_PHY_OFF_2, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_2] %asi
setx THR4_PHY_OFF_3, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_3] %asi
thr4_hred_real_range:
setx ASI_MMU_REAL_RANGE, %l1, %g1
wr %g1, 0x0, %asi
setx THR4_REAL_RANGE_0, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_0] %asi
setx THR4_REAL_RANGE_1, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_1] %asi
setx THR4_REAL_RANGE_2, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_2] %asi
setx THR4_REAL_RANGE_3, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_3] %asi
thr4_hred_tsb_config:
mov ASI_MMU_ZERO_CONTEXT_TSB_CONFIG, %g3
wr %g3, 0x0, %asi
thr4_hred_tsb_z_config_0:
setx THR4_Z_CTX_TSB_CONFIG_0, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi
setx THR4_Z_CTX_TSB_CONFIG_1, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi
setx THR4_Z_CTX_TSB_CONFIG_2, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi
setx THR4_Z_CTX_TSB_CONFIG_3, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi
setx THR4_NZ_CTX_TSB_CONFIG_0, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi
setx THR4_NZ_CTX_TSB_CONFIG_1, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi
setx THR4_NZ_CTX_TSB_CONFIG_2, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi
setx THR4_NZ_CTX_TSB_CONFIG_3, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi
thr4_lsu_ctl_reg:
setx 0x1f, %l0, %l7
stxa %l7, [%g0] ASI_LSU_CONTROL
thr4_transfer_to_priv_code:
setx Thr4_Priv_Sect_text_begin, %g1, %g2
jmp %g2
wrhpr %g0, 0x000, %hpstate
nop
EXIT_BAD
.global thr5_red_handler
thr5_red_handler:
! set partition id
set THR_5_PARTID, %g2
mov ASI_PARTITION_ID_VAL, %g1
stxa %g2, [%g1] ASI_PARTITION_ID
! set hyper trap base addr
setx HPTRAP_TEXT_PA, %l0, %l7
wrhpr %l7, %g0, %htba
thr5_hred_context_config:
setx ASI_PRIMARY_CONTEXT_REG, %l0, %g1
wr %g1, 0x0, %asi
setx THR5_PCONTEXT_0, %l0, %g1
stxa %g1, [ASI_PRIMARY_CONTEXT_0_REG_VAL] %asi
setx THR5_PCONTEXT_1, %l0, %g1
stxa %g1, [ASI_PRIMARY_CONTEXT_1_REG_VAL] %asi
setx THR5_SCONTEXT_0, %l0, %g1
stxa %g1, [ASI_SECONDARY_CONTEXT_0_REG_VAL] %asi
setx THR5_SCONTEXT_1, %l0, %g1
stxa %g1, [ASI_SECONDARY_CONTEXT_1_REG_VAL] %asi
#ifdef TSB_SEARCH_BURST
thr5_tsb_burst_mode:
setx ASI_TSB_SEARCH_MODE_ADDR, %l1, %g1
or TSB_SEARCH_BURST, %g0, %g2
stxa %g2, [%g1] ASI_TSB_SEARCH_MODE_REG
#endif
#ifdef TSB_SEARCH_PREDICTION
thr5_tsb_prediction_mode:
setx ASI_TSB_SEARCH_MODE_ADDR, %l1, %g1
or TSB_SEARCH_PREDICTION, %g0, %g2
stxa %g2, [%g1] ASI_TSB_SEARCH_MODE_REG
#endif
thr5_hred_physical_offset:
setx ASI_MMU_PHYSICAL_OFFSET, %l0, %g1
wr %g1, 0x0, %asi
setx THR5_PHY_OFF_0, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_0] %asi
setx THR5_PHY_OFF_1, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_1] %asi
setx THR5_PHY_OFF_2, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_2] %asi
setx THR5_PHY_OFF_3, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_3] %asi
thr5_hred_real_range:
setx ASI_MMU_REAL_RANGE, %l1, %g1
wr %g1, 0x0, %asi
setx THR5_REAL_RANGE_0, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_0] %asi
setx THR5_REAL_RANGE_1, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_1] %asi
setx THR5_REAL_RANGE_2, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_2] %asi
setx THR5_REAL_RANGE_3, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_3] %asi
thr5_hred_tsb_config:
mov ASI_MMU_ZERO_CONTEXT_TSB_CONFIG, %g3
wr %g3, 0x0, %asi
thr5_hred_tsb_z_config_0:
setx THR5_Z_CTX_TSB_CONFIG_0, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi
setx THR5_Z_CTX_TSB_CONFIG_1, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi
setx THR5_Z_CTX_TSB_CONFIG_2, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi
setx THR5_Z_CTX_TSB_CONFIG_3, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi
setx THR5_NZ_CTX_TSB_CONFIG_0, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi
setx THR5_NZ_CTX_TSB_CONFIG_1, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi
setx THR5_NZ_CTX_TSB_CONFIG_2, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi
setx THR5_NZ_CTX_TSB_CONFIG_3, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi
thr5_lsu_ctl_reg:
setx 0x1f, %l0, %l7
stxa %l7, [%g0] ASI_LSU_CONTROL
thr5_transfer_to_priv_code:
setx Thr5_Priv_Sect_text_begin, %g1, %g2
jmp %g2
wrhpr %g0, 0x000, %hpstate
nop
EXIT_BAD
.global thr6_red_handler
thr6_red_handler:
! set partition id
set THR_6_PARTID, %g2
mov ASI_PARTITION_ID_VAL, %g1
stxa %g2, [%g1] ASI_PARTITION_ID
! set hyper trap base addr
setx HPTRAP_TEXT_PA, %l0, %l7
wrhpr %l7, %g0, %htba
thr6_hred_context_config:
setx ASI_PRIMARY_CONTEXT_REG, %l0, %g1
wr %g1, 0x0, %asi
setx THR6_PCONTEXT_0, %l0, %g1
stxa %g1, [ASI_PRIMARY_CONTEXT_0_REG_VAL] %asi
setx THR6_PCONTEXT_1, %l0, %g1
stxa %g1, [ASI_PRIMARY_CONTEXT_1_REG_VAL] %asi
setx THR6_SCONTEXT_0, %l0, %g1
stxa %g1, [ASI_SECONDARY_CONTEXT_0_REG_VAL] %asi
setx THR6_SCONTEXT_1, %l0, %g1
stxa %g1, [ASI_SECONDARY_CONTEXT_1_REG_VAL] %asi
#ifdef TSB_SEARCH_BURST
thr6_tsb_burst_mode:
setx ASI_TSB_SEARCH_MODE_ADDR, %l1, %g1
or TSB_SEARCH_BURST, %g0, %g2
stxa %g2, [%g1] ASI_TSB_SEARCH_MODE_REG
#endif
#ifdef TSB_SEARCH_PREDICTION
thr6_tsb_prediction_mode:
setx ASI_TSB_SEARCH_MODE_ADDR, %l1, %g1
or TSB_SEARCH_PREDICTION, %g0, %g2
stxa %g2, [%g1] ASI_TSB_SEARCH_MODE_REG
#endif
thr6_hred_physical_offset:
setx ASI_MMU_PHYSICAL_OFFSET, %l0, %g1
wr %g1, 0x0, %asi
setx THR6_PHY_OFF_0, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_0] %asi
setx THR6_PHY_OFF_1, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_1] %asi
setx THR6_PHY_OFF_2, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_2] %asi
setx THR6_PHY_OFF_3, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_3] %asi
thr6_hred_real_range:
setx ASI_MMU_REAL_RANGE, %l1, %g1
wr %g1, 0x0, %asi
setx THR6_REAL_RANGE_0, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_0] %asi
setx THR6_REAL_RANGE_1, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_1] %asi
setx THR6_REAL_RANGE_2, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_2] %asi
setx THR6_REAL_RANGE_3, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_3] %asi
thr6_hred_tsb_config:
mov ASI_MMU_ZERO_CONTEXT_TSB_CONFIG, %g3
wr %g3, 0x0, %asi
thr6_hred_tsb_z_config_0:
setx THR6_Z_CTX_TSB_CONFIG_0, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi
setx THR6_Z_CTX_TSB_CONFIG_1, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi
setx THR6_Z_CTX_TSB_CONFIG_2, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi
setx THR6_Z_CTX_TSB_CONFIG_3, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi
setx THR6_NZ_CTX_TSB_CONFIG_0, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi
setx THR6_NZ_CTX_TSB_CONFIG_1, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi
setx THR6_NZ_CTX_TSB_CONFIG_2, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi
setx THR6_NZ_CTX_TSB_CONFIG_3, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi
thr6_lsu_ctl_reg:
setx 0x1f, %l0, %l7
stxa %l7, [%g0] ASI_LSU_CONTROL
thr6_transfer_to_priv_code:
setx Thr6_Priv_Sect_text_begin, %g1, %g2
jmp %g2
wrhpr %g0, 0x000, %hpstate
nop
EXIT_BAD
.global thr7_red_handler
thr7_red_handler:
! set partition id
set THR_7_PARTID, %g2
mov ASI_PARTITION_ID_VAL, %g1
stxa %g2, [%g1] ASI_PARTITION_ID
! set hyper trap base addr
setx HPTRAP_TEXT_PA, %l0, %l7
wrhpr %l7, %g0, %htba
thr7_hred_context_config:
setx ASI_PRIMARY_CONTEXT_REG, %l0, %g1
wr %g1, 0x0, %asi
setx THR7_PCONTEXT_0, %l0, %g1
stxa %g1, [ASI_PRIMARY_CONTEXT_0_REG_VAL] %asi
setx THR7_PCONTEXT_1, %l0, %g1
stxa %g1, [ASI_PRIMARY_CONTEXT_1_REG_VAL] %asi
setx THR7_SCONTEXT_0, %l0, %g1
stxa %g1, [ASI_SECONDARY_CONTEXT_0_REG_VAL] %asi
setx THR7_SCONTEXT_1, %l0, %g1
stxa %g1, [ASI_SECONDARY_CONTEXT_1_REG_VAL] %asi
#ifdef TSB_SEARCH_BURST
thr7_tsb_burst_mode:
setx ASI_TSB_SEARCH_MODE_ADDR, %l1, %g1
or TSB_SEARCH_BURST, %g0, %g2
stxa %g2, [%g1] ASI_TSB_SEARCH_MODE_REG
#endif
#ifdef TSB_SEARCH_PREDICTION
thr7_tsb_prediction_mode:
setx ASI_TSB_SEARCH_MODE_ADDR, %l1, %g1
or TSB_SEARCH_PREDICTION, %g0, %g2
stxa %g2, [%g1] ASI_TSB_SEARCH_MODE_REG
#endif
thr7_hred_physical_offset:
setx ASI_MMU_PHYSICAL_OFFSET, %l0, %g1
wr %g1, 0x0, %asi
setx THR7_PHY_OFF_0, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_0] %asi
setx THR7_PHY_OFF_1, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_1] %asi
setx THR7_PHY_OFF_2, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_2] %asi
setx THR7_PHY_OFF_3, %l0, %l1
stxa %l1, [ASI_MMU_PHYSICAL_OFFSET_3] %asi
thr7_hred_real_range:
setx ASI_MMU_REAL_RANGE, %l1, %g1
wr %g1, 0x0, %asi
setx THR7_REAL_RANGE_0, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_0] %asi
setx THR7_REAL_RANGE_1, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_1] %asi
setx THR7_REAL_RANGE_2, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_2] %asi
setx THR7_REAL_RANGE_3, %l0, %l1
stxa %l1, [ASI_MMU_REAL_RANGE_3] %asi
thr7_hred_tsb_config:
mov ASI_MMU_ZERO_CONTEXT_TSB_CONFIG, %g3
wr %g3, 0x0, %asi
thr7_hred_tsb_z_config_0:
setx THR7_Z_CTX_TSB_CONFIG_0, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_0] %asi
setx THR7_Z_CTX_TSB_CONFIG_1, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_1] %asi
setx THR7_Z_CTX_TSB_CONFIG_2, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_2] %asi
setx THR7_Z_CTX_TSB_CONFIG_3, %g1, %g4
stxa %g4, [ASI_MMU_ZERO_CONTEXT_TSB_CONFIG_3] %asi
setx THR7_NZ_CTX_TSB_CONFIG_0, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_0] %asi
setx THR7_NZ_CTX_TSB_CONFIG_1, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_1] %asi
setx THR7_NZ_CTX_TSB_CONFIG_2, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_2] %asi
setx THR7_NZ_CTX_TSB_CONFIG_3, %g1, %g4
stxa %g4, [ASI_MMU_NONZERO_CONTEXT_TSB_CONFIG_3] %asi
thr7_lsu_ctl_reg:
setx 0x1f, %l0, %l7
stxa %l7, [%g0] ASI_LSU_CONTROL
thr7_transfer_to_priv_code:
setx Thr7_Priv_Sect_text_begin, %g1, %g2
jmp %g2
wrhpr %g0, 0x000, %hpstate
nop
EXIT_BAD
attr_data {
Name=.RED_EXT_SEC,
hypervisor
}
.data
part_id_list:
.xword THR_0_PARTID, THR_1_PARTID, THR_2_PARTID, THR_3_PARTID
.xword THR_4_PARTID, THR_5_PARTID, THR_6_PARTID, THR_7_PARTID
/*********************************************************************/
SECTION .Thr0_Priv_Sect TEXT_VA=0x00000d8000
attr_text {
Name = .Thr0_Priv_Sect ,
thr0_nz_ctx_tsb_2
VA = 0x0000000d8000 ,
RA = 0x00001b6000 ,
PA = 0x10001b6000 ,
TTE_Context = 0x079b ,
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 = 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=0x0000160000
attr_text {
Name = .Thr1_Priv_Sect ,
thr1_nz_ctx_tsb_0
VA = 0x000000160000 ,
RA = 0x010004c000 ,
PA = 0x010004c000 ,
TTE_Context = 0x0096 ,
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=0x00001d6000
attr_text {
Name = .Thr2_Priv_Sect ,
thr2_nz_ctx_tsb_1
VA = 0x0000001d6000 ,
RA = 0x0200144000 ,
PA = 0x0200144000 ,
TTE_Context = 0x196a ,
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=0x000004a000
attr_text {
Name = .Thr3_Priv_Sect ,
thr3_nz_ctx_tsb_1
VA = 0x00000004a000 ,
RA = 0x0300136000 ,
PA = 0x0300136000 ,
TTE_Context = 0x1b79 ,
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 = 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=0x0000118000
attr_text {
Name = .Thr4_Priv_Sect ,
thr4_nz_ctx_tsb_1
VA = 0x000000118000 ,
RA = 0x04001b4000 ,
PA = 0x04001b4000 ,
TTE_Context = 0x0c1d ,
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=0x0000198000
attr_text {
Name = .Thr5_Priv_Sect ,
thr5_nz_ctx_tsb_0
VA = 0x000000198000 ,
RA = 0x000011e000 ,
PA = 0x050011e000 ,
TTE_Context = 0x1cc0 ,
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=0x000011a000
attr_text {
Name = .Thr6_Priv_Sect ,
thr6_nz_ctx_tsb_2
VA = 0x00000011a000 ,
RA = 0x0600006000 ,
PA = 0x0600006000 ,
TTE_Context = 0x1938 ,
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 = 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=0x0000092000
attr_text {
Name = .Thr7_Priv_Sect ,
thr7_nz_ctx_tsb_2
VA = 0x000000092000 ,
RA = 0x070017c000 ,
PA = 0x070017c000 ,
TTE_Context = 0x129b ,
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 = 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_0
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 = 0 ,
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 ,
}
ta HP_BAD_TRAP /* 0x0 */
.align 32
ta HP_BAD_TRAP /* 0x1 */
.align 32
ta HP_BAD_TRAP /* 0x2 */
.align 32
ta HP_BAD_TRAP /* 0x3 */
.align 32
ta HP_BAD_TRAP /* 0x4 */
.align 32
ta HP_BAD_TRAP /* 0x5 */
.align 32
ta HP_BAD_TRAP /* 0x6 */
.align 32
ta HP_BAD_TRAP /* 0x7 */
.align 32
ta HP_BAD_TRAP /* 0x8 */
.align 32
ta HP_BAD_TRAP /* 0x9 */
.align 32
ta HP_BAD_TRAP /* 0xa */
.align 32
ta HP_BAD_TRAP /* 0xb */
.align 32
ta HP_BAD_TRAP /* 0xc */
.align 32
ta HP_BAD_TRAP /* 0xd */
.align 32
ta HP_BAD_TRAP /* 0xe */
.align 32
ta HP_BAD_TRAP /* 0xf */
.align 32
ta HP_BAD_TRAP /* 0x10 */
.align 32
ta HP_BAD_TRAP /* 0x11 */
.align 32
ta HP_BAD_TRAP /* 0x12 */
.align 32
ta HP_BAD_TRAP /* 0x13 */
.align 32
ta HP_BAD_TRAP /* 0x14 */
.align 32
ta HP_BAD_TRAP /* 0x15 */
.align 32
ta HP_BAD_TRAP /* 0x16 */
.align 32
ta HP_BAD_TRAP /* 0x17 */
.align 32
ta HP_BAD_TRAP /* 0x18 */
.align 32
ta HP_BAD_TRAP /* 0x19 */
.align 32
ta HP_BAD_TRAP /* 0x1a */
.align 32
ta HP_BAD_TRAP /* 0x1b */
.align 32
ta HP_BAD_TRAP /* 0x1c */
.align 32
ta HP_BAD_TRAP /* 0x1d */
.align 32
ta HP_BAD_TRAP /* 0x1e */
.align 32
ta HP_BAD_TRAP /* 0x1f */
.align 32
ta HP_BAD_TRAP /* 0x20 */
.align 32
ta HP_BAD_TRAP /* 0x21 */
.align 32
ta HP_BAD_TRAP /* 0x22 */
.align 32
ta HP_BAD_TRAP /* 0x23 */
.align 32
ta HP_BAD_TRAP /* 0x24 */
.align 32
ta HP_BAD_TRAP /* 0x25 */
.align 32
ta HP_BAD_TRAP /* 0x26 */
.align 32
ta HP_BAD_TRAP /* 0x27 */
.align 32
ta HP_BAD_TRAP /* 0x28 */
.align 32
ta HP_BAD_TRAP /* 0x29 */
.align 32
ta HP_BAD_TRAP /* 0x2a */
.align 32
ta HP_BAD_TRAP /* 0x2b */
.align 32
ta HP_BAD_TRAP /* 0x2c */
.align 32
ta HP_BAD_TRAP /* 0x2d */
.align 32
ta HP_BAD_TRAP /* 0x2e */
.align 32
ta HP_BAD_TRAP /* 0x2f */
.align 32
ta HP_BAD_TRAP /* 0x30 */
.align 32
ta HP_BAD_TRAP /* 0x31 */
.align 32
ta HP_BAD_TRAP /* 0x32 */
.align 32
ta HP_BAD_TRAP /* 0x33 */
.align 32
ta HP_BAD_TRAP /* 0x34 */
.align 32
ta HP_BAD_TRAP /* 0x35 */
.align 32
ta HP_BAD_TRAP /* 0x36 */
.align 32
ta HP_BAD_TRAP /* 0x37 */
.align 32
ta HP_BAD_TRAP /* 0x38 */
.align 32
ta HP_BAD_TRAP /* 0x39 */
.align 32
ta HP_BAD_TRAP /* 0x3a */
.align 32
ta HP_BAD_TRAP /* 0x3b */
.align 32
ta HP_BAD_TRAP /* 0x3c */
.align 32
ta HP_BAD_TRAP /* 0x3d */
.align 32
ta HP_BAD_TRAP /* 0x3e */
.align 32
ta HP_BAD_TRAP /* 0x3f */
.align 32
ta HP_BAD_TRAP /* 0x40 */
.align 32
ta HP_BAD_TRAP /* 0x41 */
.align 32
ta HP_BAD_TRAP /* 0x42 */
.align 32
ta HP_BAD_TRAP /* 0x43 */
.align 32
ta HP_BAD_TRAP /* 0x44 */
.align 32
ta HP_BAD_TRAP /* 0x45 */
.align 32
ta HP_BAD_TRAP /* 0x46 */
.align 32
ta HP_BAD_TRAP /* 0x47 */
.align 32
ta HP_BAD_TRAP /* 0x48 */
.align 32
ta HP_BAD_TRAP /* 0x49 */
.align 32
ta HP_BAD_TRAP /* 0x4a */
.align 32
ta HP_BAD_TRAP /* 0x4b */
.align 32
ta HP_BAD_TRAP /* 0x4c */
.align 32
ta HP_BAD_TRAP /* 0x4d */
.align 32
ta HP_BAD_TRAP /* 0x4e */
.align 32
ta HP_BAD_TRAP /* 0x4f */
.align 32
ta HP_BAD_TRAP /* 0x50 */
.align 32
ta HP_BAD_TRAP /* 0x51 */
.align 32
ta HP_BAD_TRAP /* 0x52 */
.align 32
ta HP_BAD_TRAP /* 0x53 */
.align 32
ta HP_BAD_TRAP /* 0x54 */
.align 32
ta HP_BAD_TRAP /* 0x55 */
.align 32
ta HP_BAD_TRAP /* 0x56 */
.align 32
ta HP_BAD_TRAP /* 0x57 */
.align 32
ta HP_BAD_TRAP /* 0x58 */
.align 32
ta HP_BAD_TRAP /* 0x59 */
.align 32
ta HP_BAD_TRAP /* 0x5a */
.align 32
ta HP_BAD_TRAP /* 0x5b */
.align 32
ta HP_BAD_TRAP /* 0x5c */
.align 32
ta HP_BAD_TRAP /* 0x5d */
.align 32
ta HP_BAD_TRAP /* 0x5e */
.align 32
ta HP_BAD_TRAP /* 0x5f */
.align 32
ta HP_BAD_TRAP /* 0x60 */
.align 32
ta HP_BAD_TRAP /* 0x61 */
.align 32
ta HP_BAD_TRAP /* 0x62 */
.align 32
ta HP_BAD_TRAP /* 0x63 */
.align 32
ta HP_BAD_TRAP /* 0x64 */
.align 32
ta HP_BAD_TRAP /* 0x65 */
.align 32
ta HP_BAD_TRAP /* 0x66 */
.align 32
ta HP_BAD_TRAP /* 0x67 */
.align 32
ta HP_BAD_TRAP /* 0x68 */
.align 32
ta HP_BAD_TRAP /* 0x69 */
.align 32
ta HP_BAD_TRAP /* 0x6a */
.align 32
ta HP_BAD_TRAP /* 0x6b */
.align 32
ta HP_BAD_TRAP /* 0x6c */
.align 32
ta HP_BAD_TRAP /* 0x6d */
.align 32
ta HP_BAD_TRAP /* 0x6e */
.align 32
ta HP_BAD_TRAP /* 0x6f */
.align 32
ta HP_BAD_TRAP /* 0x70 */
.align 32
ta HP_BAD_TRAP /* 0x71 */
.align 32
ta HP_BAD_TRAP /* 0x72 */
.align 32
ta HP_BAD_TRAP /* 0x73 */
.align 32
ta HP_BAD_TRAP /* 0x74 */
.align 32
ta HP_BAD_TRAP /* 0x75 */
.align 32
ta HP_BAD_TRAP /* 0x76 */
.align 32
ta HP_BAD_TRAP /* 0x77 */
.align 32
ta HP_BAD_TRAP /* 0x78 */
.align 32
ta HP_BAD_TRAP /* 0x79 */
.align 32
ta HP_BAD_TRAP /* 0x7a */
.align 32
ta HP_BAD_TRAP /* 0x7b */
.align 32
ta HP_BAD_TRAP /* 0x7c */
.align 32
ta HP_BAD_TRAP /* 0x7d */
.align 32
ta HP_BAD_TRAP /* 0x7e */
.align 32
ta HP_BAD_TRAP /* 0x7f */
.align 32
ta HP_BAD_TRAP /* 0x80 */
.align 32
ta HP_BAD_TRAP /* 0x81 */
.align 32
ta HP_BAD_TRAP /* 0x82 */
.align 32
ta HP_BAD_TRAP /* 0x83 */
.align 32
ta HP_BAD_TRAP /* 0x84 */
.align 32
ta HP_BAD_TRAP /* 0x85 */
.align 32
ta HP_BAD_TRAP /* 0x86 */
.align 32
ta HP_BAD_TRAP /* 0x87 */
.align 32
ta HP_BAD_TRAP /* 0x88 */
.align 32
ta HP_BAD_TRAP /* 0x89 */
.align 32
ta HP_BAD_TRAP /* 0x8a */
.align 32
ta HP_BAD_TRAP /* 0x8b */
.align 32
ta HP_BAD_TRAP /* 0x8c */
.align 32
ta HP_BAD_TRAP /* 0x8d */
.align 32
ta HP_BAD_TRAP /* 0x8e */
.align 32
ta HP_BAD_TRAP /* 0x8f */
.align 32
ta HP_BAD_TRAP /* 0x90 */
.align 32
ta HP_BAD_TRAP /* 0x91 */
.align 32
ta HP_BAD_TRAP /* 0x92 */
.align 32
ta HP_BAD_TRAP /* 0x93 */
.align 32
ta HP_BAD_TRAP /* 0x94 */
.align 32
ta HP_BAD_TRAP /* 0x95 */
.align 32
ta HP_BAD_TRAP /* 0x96 */
.align 32
ta HP_BAD_TRAP /* 0x97 */
.align 32
ta HP_BAD_TRAP /* 0x98 */
.align 32
ta HP_BAD_TRAP /* 0x99 */
.align 32
ta HP_BAD_TRAP /* 0x9a */
.align 32
ta HP_BAD_TRAP /* 0x9b */
.align 32
ta HP_BAD_TRAP /* 0x9c */
.align 32
ta HP_BAD_TRAP /* 0x9d */
.align 32
ta HP_BAD_TRAP /* 0x9e */
.align 32
ta HP_BAD_TRAP /* 0x9f */
.align 32
ta HP_BAD_TRAP /* 0xa0 */
.align 32
ta HP_BAD_TRAP /* 0xa1 */
.align 32
ta HP_BAD_TRAP /* 0xa2 */
.align 32
ta HP_BAD_TRAP /* 0xa3 */
.align 32
ta HP_BAD_TRAP /* 0xa4 */
.align 32
ta HP_BAD_TRAP /* 0xa5 */
.align 32
ta HP_BAD_TRAP /* 0xa6 */
.align 32
ta HP_BAD_TRAP /* 0xa7 */
.align 32
ta HP_BAD_TRAP /* 0xa8 */
.align 32
ta HP_BAD_TRAP /* 0xa9 */
.align 32
ta HP_BAD_TRAP /* 0xaa */
.align 32
ta HP_BAD_TRAP /* 0xab */
.align 32
ta HP_BAD_TRAP /* 0xac */
.align 32
ta HP_BAD_TRAP /* 0xad */
.align 32
ta HP_BAD_TRAP /* 0xae */
.align 32
ta HP_BAD_TRAP /* 0xaf */
.align 32
ta HP_BAD_TRAP /* 0xb0 */
.align 32
ta HP_BAD_TRAP /* 0xb1 */
.align 32
ta HP_BAD_TRAP /* 0xb2 */
.align 32
ta HP_BAD_TRAP /* 0xb3 */
.align 32
ta HP_BAD_TRAP /* 0xb4 */
.align 32
ta HP_BAD_TRAP /* 0xb5 */
.align 32
ta HP_BAD_TRAP /* 0xb6 */
.align 32
ta HP_BAD_TRAP /* 0xb7 */
.align 32
ta HP_BAD_TRAP /* 0xb8 */
.align 32
ta HP_BAD_TRAP /* 0xb9 */
.align 32
ta HP_BAD_TRAP /* 0xba */
.align 32
ta HP_BAD_TRAP /* 0xbb */
.align 32
ta HP_BAD_TRAP /* 0xbc */
.align 32
ta HP_BAD_TRAP /* 0xbd */
.align 32
ta HP_BAD_TRAP /* 0xbe */
.align 32
ta HP_BAD_TRAP /* 0xbf */
.align 32
ta HP_BAD_TRAP /* 0xc0 */
.align 32
ta HP_BAD_TRAP /* 0xc1 */
.align 32
ta HP_BAD_TRAP /* 0xc2 */
.align 32
ta HP_BAD_TRAP /* 0xc3 */
.align 32
ta HP_BAD_TRAP /* 0xc4 */
.align 32
ta HP_BAD_TRAP /* 0xc5 */
.align 32
ta HP_BAD_TRAP /* 0xc6 */
.align 32
ta HP_BAD_TRAP /* 0xc7 */
.align 32
ta HP_BAD_TRAP /* 0xc8 */
.align 32
ta HP_BAD_TRAP /* 0xc9 */
.align 32
ta HP_BAD_TRAP /* 0xca */
.align 32
ta HP_BAD_TRAP /* 0xcb */
.align 32
ta HP_BAD_TRAP /* 0xcc */
.align 32
ta HP_BAD_TRAP /* 0xcd */
.align 32
ta HP_BAD_TRAP /* 0xce */
.align 32
ta HP_BAD_TRAP /* 0xcf */
.align 32
ta HP_BAD_TRAP /* 0xd0 */
.align 32
ta HP_BAD_TRAP /* 0xd1 */
.align 32
ta HP_BAD_TRAP /* 0xd2 */
.align 32
ta HP_BAD_TRAP /* 0xd3 */
.align 32
ta HP_BAD_TRAP /* 0xd4 */
.align 32
ta HP_BAD_TRAP /* 0xd5 */
.align 32
ta HP_BAD_TRAP /* 0xd6 */
.align 32
ta HP_BAD_TRAP /* 0xd7 */
.align 32
ta HP_BAD_TRAP /* 0xd8 */
.align 32
ta HP_BAD_TRAP /* 0xd9 */
.align 32
ta HP_BAD_TRAP /* 0xda */
.align 32
ta HP_BAD_TRAP /* 0xdb */
.align 32
ta HP_BAD_TRAP /* 0xdc */
.align 32
ta HP_BAD_TRAP /* 0xdd */
.align 32
ta HP_BAD_TRAP /* 0xde */
.align 32
ta HP_BAD_TRAP /* 0xdf */
.align 32
ta HP_BAD_TRAP /* 0xe0 */
.align 32
ta HP_BAD_TRAP /* 0xe1 */
.align 32
ta HP_BAD_TRAP /* 0xe2 */
.align 32
ta HP_BAD_TRAP /* 0xe3 */
.align 32
ta HP_BAD_TRAP /* 0xe4 */
.align 32
ta HP_BAD_TRAP /* 0xe5 */
.align 32
ta HP_BAD_TRAP /* 0xe6 */
.align 32
ta HP_BAD_TRAP /* 0xe7 */
.align 32
ta HP_BAD_TRAP /* 0xe8 */
.align 32
ta HP_BAD_TRAP /* 0xe9 */
.align 32
ta HP_BAD_TRAP /* 0xea */
.align 32
ta HP_BAD_TRAP /* 0xeb */
.align 32
ta HP_BAD_TRAP /* 0xec */
.align 32
ta HP_BAD_TRAP /* 0xed */
.align 32
ta HP_BAD_TRAP /* 0xee */
.align 32
ta HP_BAD_TRAP /* 0xef */
.align 32
ta HP_BAD_TRAP /* 0xf0 */
.align 32
ta HP_BAD_TRAP /* 0xf1 */
.align 32
ta HP_BAD_TRAP /* 0xf2 */
.align 32
ta HP_BAD_TRAP /* 0xf3 */
.align 32
ta HP_BAD_TRAP /* 0xf4 */
.align 32
ta HP_BAD_TRAP /* 0xf5 */
.align 32
ta HP_BAD_TRAP /* 0xf6 */
.align 32
ta HP_BAD_TRAP /* 0xf7 */
.align 32
ta HP_BAD_TRAP /* 0xf8 */
.align 32
ta HP_BAD_TRAP /* 0xf9 */
.align 32
ta HP_BAD_TRAP /* 0xfa */
.align 32
ta HP_BAD_TRAP /* 0xfb */
.align 32
ta HP_BAD_TRAP /* 0xfc */
.align 32
ta HP_BAD_TRAP /* 0xfd */
.align 32
ta HP_BAD_TRAP /* 0xfe */
.align 32
ta HP_BAD_TRAP /* 0xff */
.align 32
ta HP_GOOD_TRAP /* 0x100 */
.align 32
ta HP_BAD_TRAP /* 0x101 */
.align 32
ta HP_BAD_TRAP /* 0x102 */
.align 32
ta HP_BAD_TRAP /* 0x103 */
.align 32
ta HP_BAD_TRAP /* 0x104 */
.align 32
ta HP_BAD_TRAP /* 0x105 */
.align 32
ta HP_BAD_TRAP /* 0x106 */
.align 32
ta HP_BAD_TRAP /* 0x107 */
.align 32
ta HP_BAD_TRAP /* 0x108 */
.align 32
ta HP_BAD_TRAP /* 0x109 */
.align 32
ta HP_BAD_TRAP /* 0x10a */
.align 32
ta HP_BAD_TRAP /* 0x10b */
.align 32
ta HP_BAD_TRAP /* 0x10c */
.align 32
ta HP_BAD_TRAP /* 0x10d */
.align 32
ta HP_BAD_TRAP /* 0x10e */
.align 32
ta HP_BAD_TRAP /* 0x10f */
.align 32
ta HPTRAP_I_DEMAP_ALL /* 0x110 */
done
.align 32
ta HPTRAP_I_DEMAP_PCTX /* 0x111 */
done
.align 32
ta HPTRAP_I_DEMAP_SCTX /* 0x112 */
done
.align 32
ta HPTRAP_I_DEMAP_NCTX /* 0x113 */
done
.align 32
ta HPTRAP_I_DEMAP_PAGE /* 0x114 */
done
.align 32
ta HPTRAP_I_DEMAP_RPAGE /* 0x115 */
done
.align 32
ta HPTRAP_I_DEMAP_REAL /* 0x116 */
done
.align 32
ta HPTRAP_D_DEMAP_ALL /* 0x117 */
done
.align 32
ta HPTRAP_D_DEMAP_PCTX /* 0x118 */
done
.align 32
ta HPTRAP_D_DEMAP_SCTX /* 0x119 */
done
.align 32
ta HPTRAP_D_DEMAP_NCTX /* 0x11a */
done
.align 32
ta HPTRAP_D_DEMAP_PAGE /* 0x11b */
done
.align 32
ta HPTRAP_D_DEMAP_RPAGE /* 0x11c */
done
.align 32
ta HPTRAP_D_DEMAP_REAL /* 0x11d */
done
.align 32
ta HP_BAD_TRAP /* 0x11e */
.align 32
ta HP_BAD_TRAP /* 0x11f */
.align 32
sllx %i7, 63, %g1
brz %g1, 1f
nop
rdpr %tnpc, %g2
add %g2, 8, %g2
wrpr %g2, %tnpc
1:
done
.align 32
ta HPTRAP_CHANGE_PID /* 0x121 */
done
.align 32
ta HPTRAP_INCR_TSB_SIZE /* 0x122 */
done
.align 32 /* 0x123 */
ldxa [%l1] 0x14, %l2
done
.align 32 /* 0x124 */
ldxa [%l1] 0x1c, %l2
done
.align 32 /* 0x125 */
ldda [%l1] 0x26, %l2
done
.align 32 /* 0x126 */
ldda [%l1] 0x2e, %l2
done
.align 32
ta HPTRAP_CLEAR_LSU_IMMU /* 0x127 */
done
.align 32
ta HPTRAP_CLEAR_LSU_DMMU /* 0x128 */
done
.align 32
ta HPTRAP_DELAY_LOOP /* 0x129 */
done
.align 32
ta HPTRAP_SEM_LOCK /* 0x12a */
done
.align 32
ta HPTRAP_SEM_RELEASE /* 0x12b */
done
.align 32
ta HPTRAP_SEM_GET /* 0x12c */
done
.align 32
ta HPTRAP_SEM_SET /* 0x12d */
done
.align 32
ta HPTRAP_GOTO_SUPERVISOR0 /* 0x12e */
.align 32
ta HPTRAP_GOTO_SUPERVISOR1 /* 0x12f */
.align 32
ta HP_BAD_TRAP /* 0x130 */
.align 32
ta HP_BAD_TRAP /* 0x131 */
.align 32
ta HP_BAD_TRAP /* 0x132 */
.align 32
ta HP_BAD_TRAP /* 0x133 */
.align 32
ta HP_BAD_TRAP /* 0x134 */
.align 32
ta HP_BAD_TRAP /* 0x135 */
.align 32
ta HP_BAD_TRAP /* 0x136 */
.align 32
ta HP_BAD_TRAP /* 0x137 */
.align 32
ta HP_BAD_TRAP /* 0x138 */
.align 32
ta HP_BAD_TRAP /* 0x139 */
.align 32
ta HP_BAD_TRAP /* 0x13a */
.align 32
ta HP_BAD_TRAP /* 0x13b */
.align 32
ta HP_BAD_TRAP /* 0x13c */
.align 32
ta HP_BAD_TRAP /* 0x13d */
.align 32
ta HP_BAD_TRAP /* 0x13e */
.align 32
ta HP_BAD_TRAP /* 0x13f */
.align 32
ta HP_BAD_TRAP /* 0x140 */
.align 32
ta HP_BAD_TRAP /* 0x141 */
.align 32
ta HP_BAD_TRAP /* 0x142 */
.align 32
ta HP_BAD_TRAP /* 0x143 */
.align 32
ta HP_BAD_TRAP /* 0x144 */
.align 32
ta HP_BAD_TRAP /* 0x145 */
.align 32
ta HP_BAD_TRAP /* 0x146 */
.align 32
ta HP_BAD_TRAP /* 0x147 */
.align 32
ta HP_BAD_TRAP /* 0x148 */
.align 32
ta HP_BAD_TRAP /* 0x149 */
.align 32
ta HP_BAD_TRAP /* 0x14a */
.align 32
ta HP_BAD_TRAP /* 0x14b */
.align 32
ta HP_BAD_TRAP /* 0x14c */
.align 32
ta HP_BAD_TRAP /* 0x14d */
.align 32
ta HP_BAD_TRAP /* 0x14e */
.align 32
ta HP_BAD_TRAP /* 0x14f */
.align 32
ta HP_BAD_TRAP /* 0x150 */
.align 32
ta HP_BAD_TRAP /* 0x151 */
.align 32
ta HP_BAD_TRAP /* 0x152 */
.align 32
ta HP_BAD_TRAP /* 0x153 */
.align 32
ta HP_BAD_TRAP /* 0x154 */
.align 32
ta HP_BAD_TRAP /* 0x155 */
.align 32
ta HP_BAD_TRAP /* 0x156 */
.align 32
ta HP_BAD_TRAP /* 0x157 */
.align 32
ta HP_BAD_TRAP /* 0x158 */
.align 32
ta HP_BAD_TRAP /* 0x159 */
.align 32
ta HP_BAD_TRAP /* 0x15a */
.align 32
ta HP_BAD_TRAP /* 0x15b */
.align 32
ta HP_BAD_TRAP /* 0x15c */
.align 32
ta HP_BAD_TRAP /* 0x15d */
.align 32
ta HP_BAD_TRAP /* 0x15e */
.align 32
ta HP_BAD_TRAP /* 0x15f */
.align 32
ta HP_BAD_TRAP /* 0x160 */
.align 32
ta HP_BAD_TRAP /* 0x161 */
.align 32
ta HP_BAD_TRAP /* 0x162 */
.align 32
ta HP_BAD_TRAP /* 0x163 */
.align 32
ta HP_BAD_TRAP /* 0x164 */
.align 32
ta HP_BAD_TRAP /* 0x165 */
.align 32
ta HP_BAD_TRAP /* 0x166 */
.align 32
ta HP_BAD_TRAP /* 0x167 */
.align 32
ta HP_BAD_TRAP /* 0x168 */
.align 32
ta HP_BAD_TRAP /* 0x169 */
.align 32
ta HP_BAD_TRAP /* 0x16a */
.align 32
ta HP_BAD_TRAP /* 0x16b */
.align 32
ta HP_BAD_TRAP /* 0x16c */
.align 32
ta HP_BAD_TRAP /* 0x16d */
.align 32
ta HP_BAD_TRAP /* 0x16e */
.align 32
ta HP_BAD_TRAP /* 0x16f */
.align 32
ta HP_BAD_TRAP /* 0x170 */
.align 32
ta HP_BAD_TRAP /* 0x171 */
.align 32
ta HP_BAD_TRAP /* 0x172 */
.align 32
ta HP_BAD_TRAP /* 0x173 */
.align 32
ta HP_BAD_TRAP /* 0x174 */
.align 32
ta HP_BAD_TRAP /* 0x175 */
.align 32
ta HP_BAD_TRAP /* 0x176 */
.align 32
ta HP_BAD_TRAP /* 0x177 */
.align 32
ta HP_BAD_TRAP /* 0x178 */
.align 32
ta HP_BAD_TRAP /* 0x179 */
.align 32
ta HP_BAD_TRAP /* 0x17a */
.align 32
ta HP_BAD_TRAP /* 0x17b */
.align 32
ta HP_BAD_TRAP /* 0x17c */
.align 32
ta HP_BAD_TRAP /* 0x17d */
.align 32
ta HP_BAD_TRAP /* 0x17e */
.align 32
ta HP_BAD_TRAP /* 0x17f */
.align 32
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_0
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 = 0 ,
TTE_EP = 1 ,
TTE_W = 1 ,
TTE_SW1 = 0 ,
TTE_SW0 = 0 ,
TTE_RSVD1 = 0 ,
TTE_Size = 1 ,
end_label = Thr1_Ptrap_Sect_text_end ,
compressimage ,
}
ta HP_BAD_TRAP /* 0x0 */
.align 32
ta HP_BAD_TRAP /* 0x1 */
.align 32
ta HP_BAD_TRAP /* 0x2 */
.align 32
ta HP_BAD_TRAP /* 0x3 */
.align 32
ta HP_BAD_TRAP /* 0x4 */
.align 32
ta HP_BAD_TRAP /* 0x5 */
.align 32
ta HP_BAD_TRAP /* 0x6 */
.align 32
ta HP_BAD_TRAP /* 0x7 */
.align 32
ta HP_BAD_TRAP /* 0x8 */
.align 32
ta HP_BAD_TRAP /* 0x9 */
.align 32
ta HP_BAD_TRAP /* 0xa */
.align 32
ta HP_BAD_TRAP /* 0xb */
.align 32
ta HP_BAD_TRAP /* 0xc */
.align 32
ta HP_BAD_TRAP /* 0xd */
.align 32
ta HP_BAD_TRAP /* 0xe */
.align 32
ta HP_BAD_TRAP /* 0xf */
.align 32
ta HP_BAD_TRAP /* 0x10 */
.align 32
ta HP_BAD_TRAP /* 0x11 */
.align 32
ta HP_BAD_TRAP /* 0x12 */
.align 32
ta HP_BAD_TRAP /* 0x13 */
.align 32
ta HP_BAD_TRAP /* 0x14 */
.align 32
ta HP_BAD_TRAP /* 0x15 */
.align 32
ta HP_BAD_TRAP /* 0x16 */
.align 32
ta HP_BAD_TRAP /* 0x17 */
.align 32
ta HP_BAD_TRAP /* 0x18 */
.align 32
ta HP_BAD_TRAP /* 0x19 */
.align 32
ta HP_BAD_TRAP /* 0x1a */
.align 32
ta HP_BAD_TRAP /* 0x1b */
.align 32
ta HP_BAD_TRAP /* 0x1c */
.align 32
ta HP_BAD_TRAP /* 0x1d */
.align 32
ta HP_BAD_TRAP /* 0x1e */
.align 32
ta HP_BAD_TRAP /* 0x1f */
.align 32
ta HP_BAD_TRAP /* 0x20 */
.align 32
ta HP_BAD_TRAP /* 0x21 */
.align 32
ta HP_BAD_TRAP /* 0x22 */
.align 32
ta HP_BAD_TRAP /* 0x23 */
.align 32
ta HP_BAD_TRAP /* 0x24 */
.align 32
ta HP_BAD_TRAP /* 0x25 */
.align 32
ta HP_BAD_TRAP /* 0x26 */
.align 32
ta HP_BAD_TRAP /* 0x27 */
.align 32
ta HP_BAD_TRAP /* 0x28 */
.align 32
ta HP_BAD_TRAP /* 0x29 */
.align 32
ta HP_BAD_TRAP /* 0x2a */
.align 32
ta HP_BAD_TRAP /* 0x2b */
.align 32
ta HP_BAD_TRAP /* 0x2c */
.align 32
ta HP_BAD_TRAP /* 0x2d */
.align 32
ta HP_BAD_TRAP /* 0x2e */
.align 32
ta HP_BAD_TRAP /* 0x2f */
.align 32
ta HP_BAD_TRAP /* 0x30 */
.align 32
ta HP_BAD_TRAP /* 0x31 */
.align 32
ta HP_BAD_TRAP /* 0x32 */
.align 32
ta HP_BAD_TRAP /* 0x33 */
.align 32
ta HP_BAD_TRAP /* 0x34 */
.align 32
ta HP_BAD_TRAP /* 0x35 */
.align 32
ta HP_BAD_TRAP /* 0x36 */
.align 32
ta HP_BAD_TRAP /* 0x37 */
.align 32
ta HP_BAD_TRAP /* 0x38 */
.align 32
ta HP_BAD_TRAP /* 0x39 */
.align 32
ta HP_BAD_TRAP /* 0x3a */
.align 32
ta HP_BAD_TRAP /* 0x3b */
.align 32
ta HP_BAD_TRAP /* 0x3c */
.align 32
ta HP_BAD_TRAP /* 0x3d */
.align 32
ta HP_BAD_TRAP /* 0x3e */
.align 32
ta HP_BAD_TRAP /* 0x3f */
.align 32
ta HP_BAD_TRAP /* 0x40 */
.align 32
ta HP_BAD_TRAP /* 0x41 */
.align 32
ta HP_BAD_TRAP /* 0x42 */
.align 32
ta HP_BAD_TRAP /* 0x43 */
.align 32
ta HP_BAD_TRAP /* 0x44 */
.align 32
ta HP_BAD_TRAP /* 0x45 */
.align 32
ta HP_BAD_TRAP /* 0x46 */
.align 32
ta HP_BAD_TRAP /* 0x47 */
.align 32
ta HP_BAD_TRAP /* 0x48 */
.align 32
ta HP_BAD_TRAP /* 0x49 */
.align 32
ta HP_BAD_TRAP /* 0x4a */
.align 32
ta HP_BAD_TRAP /* 0x4b */
.align 32
ta HP_BAD_TRAP /* 0x4c */
.align 32
ta HP_BAD_TRAP /* 0x4d */
.align 32
ta HP_BAD_TRAP /* 0x4e */
.align 32
ta HP_BAD_TRAP /* 0x4f */
.align 32
ta HP_BAD_TRAP /* 0x50 */
.align 32
ta HP_BAD_TRAP /* 0x51 */
.align 32
ta HP_BAD_TRAP /* 0x52 */
.align 32
ta HP_BAD_TRAP /* 0x53 */
.align 32
ta HP_BAD_TRAP /* 0x54 */
.align 32
ta HP_BAD_TRAP /* 0x55 */
.align 32
ta HP_BAD_TRAP /* 0x56 */
.align 32
ta HP_BAD_TRAP /* 0x57 */
.align 32
ta HP_BAD_TRAP /* 0x58 */
.align 32
ta HP_BAD_TRAP /* 0x59 */
.align 32
ta HP_BAD_TRAP /* 0x5a */
.align 32
ta HP_BAD_TRAP /* 0x5b */
.align 32
ta HP_BAD_TRAP /* 0x5c */
.align 32
ta HP_BAD_TRAP /* 0x5d */
.align 32
ta HP_BAD_TRAP /* 0x5e */
.align 32
ta HP_BAD_TRAP /* 0x5f */
.align 32
ta HP_BAD_TRAP /* 0x60 */
.align 32
ta HP_BAD_TRAP /* 0x61 */
.align 32
ta HP_BAD_TRAP /* 0x62 */
.align 32
ta HP_BAD_TRAP /* 0x63 */
.align 32
ta HP_BAD_TRAP /* 0x64 */
.align 32
ta HP_BAD_TRAP /* 0x65 */
.align 32
ta HP_BAD_TRAP /* 0x66 */
.align 32
ta HP_BAD_TRAP /* 0x67 */
.align 32
ta HP_BAD_TRAP /* 0x68 */
.align 32
ta HP_BAD_TRAP /* 0x69 */
.align 32
ta HP_BAD_TRAP /* 0x6a */
.align 32
ta HP_BAD_TRAP /* 0x6b */
.align 32
ta HP_BAD_TRAP /* 0x6c */
.align 32
ta HP_BAD_TRAP /* 0x6d */
.align 32
ta HP_BAD_TRAP /* 0x6e */
.align 32
ta HP_BAD_TRAP /* 0x6f */
.align 32
ta HP_BAD_TRAP /* 0x70 */
.align 32
ta HP_BAD_TRAP /* 0x71 */
.align 32
ta HP_BAD_TRAP /* 0x72 */
.align 32
ta HP_BAD_TRAP /* 0x73 */
.align 32
ta HP_BAD_TRAP /* 0x74 */
.align 32
ta HP_BAD_TRAP /* 0x75 */
.align 32
ta HP_BAD_TRAP /* 0x76 */
.align 32
ta HP_BAD_TRAP /* 0x77 */
.align 32
ta HP_BAD_TRAP /* 0x78 */
.align 32
ta HP_BAD_TRAP /* 0x79 */
.align 32
ta HP_BAD_TRAP /* 0x7a */
.align 32
ta HP_BAD_TRAP /* 0x7b */
.align 32
ta HP_BAD_TRAP /* 0x7c */
.align 32
ta HP_BAD_TRAP /* 0x7d */
.align 32
ta HP_BAD_TRAP /* 0x7e */
.align 32
ta HP_BAD_TRAP /* 0x7f */
.align 32
ta HP_BAD_TRAP /* 0x80 */
.align 32
ta HP_BAD_TRAP /* 0x81 */
.align 32
ta HP_BAD_TRAP /* 0x82 */
.align 32
ta HP_BAD_TRAP /* 0x83 */
.align 32
ta HP_BAD_TRAP /* 0x84 */
.align 32
ta HP_BAD_TRAP /* 0x85 */
.align 32
ta HP_BAD_TRAP /* 0x86 */
.align 32
ta HP_BAD_TRAP /* 0x87 */
.align 32
ta HP_BAD_TRAP /* 0x88 */
.align 32
ta HP_BAD_TRAP /* 0x89 */
.align 32
ta HP_BAD_TRAP /* 0x8a */
.align 32
ta HP_BAD_TRAP /* 0x8b */
.align 32
ta HP_BAD_TRAP /* 0x8c */
.align 32
ta HP_BAD_TRAP /* 0x8d */
.align 32
ta HP_BAD_TRAP /* 0x8e */
.align 32
ta HP_BAD_TRAP /* 0x8f */
.align 32
ta HP_BAD_TRAP /* 0x90 */
.align 32
ta HP_BAD_TRAP /* 0x91 */
.align 32
ta HP_BAD_TRAP /* 0x92 */
.align 32
ta HP_BAD_TRAP /* 0x93 */
.align 32
ta HP_BAD_TRAP /* 0x94 */
.align 32
ta HP_BAD_TRAP /* 0x95 */
.align 32
ta HP_BAD_TRAP /* 0x96 */
.align 32
ta HP_BAD_TRAP /* 0x97 */
.align 32
ta HP_BAD_TRAP /* 0x98 */
.align 32
ta HP_BAD_TRAP /* 0x99 */
.align 32
ta HP_BAD_TRAP /* 0x9a */
.align 32
ta HP_BAD_TRAP /* 0x9b */
.align 32
ta HP_BAD_TRAP /* 0x9c */
.align 32
ta HP_BAD_TRAP /* 0x9d */
.align 32
ta HP_BAD_TRAP /* 0x9e */
.align 32
ta HP_BAD_TRAP /* 0x9f */
.align 32
ta HP_BAD_TRAP /* 0xa0 */
.align 32
ta HP_BAD_TRAP /* 0xa1 */
.align 32
ta HP_BAD_TRAP /* 0xa2 */
.align 32
ta HP_BAD_TRAP /* 0xa3 */
.align 32
ta HP_BAD_TRAP /* 0xa4 */
.align 32
ta HP_BAD_TRAP /* 0xa5 */
.align 32
ta HP_BAD_TRAP /* 0xa6 */
.align 32
ta HP_BAD_TRAP /* 0xa7 */
.align 32
ta HP_BAD_TRAP /* 0xa8 */
.align 32
ta HP_BAD_TRAP /* 0xa9 */
.align 32
ta HP_BAD_TRAP /* 0xaa */
.align 32
ta HP_BAD_TRAP /* 0xab */
.align 32
ta HP_BAD_TRAP /* 0xac */
.align 32
ta HP_BAD_TRAP /* 0xad */
.align 32
ta HP_BAD_TRAP /* 0xae */
.align 32
ta HP_BAD_TRAP /* 0xaf */
.align 32
ta HP_BAD_TRAP /* 0xb0 */
.align 32
ta HP_BAD_TRAP /* 0xb1 */
.align 32
ta HP_BAD_TRAP /* 0xb2 */
.align 32
ta HP_BAD_TRAP /* 0xb3 */
.align 32
ta HP_BAD_TRAP /* 0xb4 */
.align 32
ta HP_BAD_TRAP /* 0xb5 */
.align 32
ta HP_BAD_TRAP /* 0xb6 */
.align 32
ta HP_BAD_TRAP /* 0xb7 */
.align 32
ta HP_BAD_TRAP /* 0xb8 */
.align 32
ta HP_BAD_TRAP /* 0xb9 */
.align 32
ta HP_BAD_TRAP /* 0xba */
.align 32
ta HP_BAD_TRAP /* 0xbb */
.align 32
ta HP_BAD_TRAP /* 0xbc */
.align 32
ta HP_BAD_TRAP /* 0xbd */
.align 32
ta HP_BAD_TRAP /* 0xbe */
.align 32
ta HP_BAD_TRAP /* 0xbf */
.align 32
ta HP_BAD_TRAP /* 0xc0 */
.align 32
ta HP_BAD_TRAP /* 0xc1 */
.align 32
ta HP_BAD_TRAP /* 0xc2 */
.align 32
ta HP_BAD_TRAP /* 0xc3 */
.align 32
ta HP_BAD_TRAP /* 0xc4 */
.align 32
ta HP_BAD_TRAP /* 0xc5 */
.align 32
ta HP_BAD_TRAP /* 0xc6 */
.align 32
ta HP_BAD_TRAP /* 0xc7 */
.align 32
ta HP_BAD_TRAP /* 0xc8 */
.align 32
ta HP_BAD_TRAP /* 0xc9 */
.align 32
ta HP_BAD_TRAP /* 0xca */
.align 32
ta HP_BAD_TRAP /* 0xcb */
.align 32
ta HP_BAD_TRAP /* 0xcc */
.align 32
ta HP_BAD_TRAP /* 0xcd */
.align 32
ta HP_BAD_TRAP /* 0xce */
.align 32
ta HP_BAD_TRAP /* 0xcf */
.align 32
ta HP_BAD_TRAP /* 0xd0 */
.align 32
ta HP_BAD_TRAP /* 0xd1 */
.align 32
ta HP_BAD_TRAP /* 0xd2 */
.align 32
ta HP_BAD_TRAP /* 0xd3 */
.align 32
ta HP_BAD_TRAP /* 0xd4 */
.align 32
ta HP_BAD_TRAP /* 0xd5 */
.align 32
ta HP_BAD_TRAP /* 0xd6 */
.align 32
ta HP_BAD_TRAP /* 0xd7 */
.align 32
ta HP_BAD_TRAP /* 0xd8 */
.align 32
ta HP_BAD_TRAP /* 0xd9 */
.align 32
ta HP_BAD_TRAP /* 0xda */
.align 32
ta HP_BAD_TRAP /* 0xdb */
.align 32
ta HP_BAD_TRAP /* 0xdc */
.align 32
ta HP_BAD_TRAP /* 0xdd */
.align 32
ta HP_BAD_TRAP /* 0xde */
.align 32
ta HP_BAD_TRAP /* 0xdf */
.align 32
ta HP_BAD_TRAP /* 0xe0 */
.align 32
ta HP_BAD_TRAP /* 0xe1 */
.align 32
ta HP_BAD_TRAP /* 0xe2 */
.align 32
ta HP_BAD_TRAP /* 0xe3 */
.align 32
ta HP_BAD_TRAP /* 0xe4 */
.align 32
ta HP_BAD_TRAP /* 0xe5 */
.align 32
ta HP_BAD_TRAP /* 0xe6 */
.align 32
ta HP_BAD_TRAP /* 0xe7 */
.align 32
ta HP_BAD_TRAP /* 0xe8 */
.align 32
ta HP_BAD_TRAP /* 0xe9 */
.align 32
ta HP_BAD_TRAP /* 0xea */
.align 32
ta HP_BAD_TRAP /* 0xeb */
.align 32
ta HP_BAD_TRAP /* 0xec */
.align 32
ta HP_BAD_TRAP /* 0xed */
.align 32
ta HP_BAD_TRAP /* 0xee */
.align 32
ta HP_BAD_TRAP /* 0xef */
.align 32
ta HP_BAD_TRAP /* 0xf0 */
.align 32
ta HP_BAD_TRAP /* 0xf1 */
.align 32
ta HP_BAD_TRAP /* 0xf2 */
.align 32
ta HP_BAD_TRAP /* 0xf3 */
.align 32
ta HP_BAD_TRAP /* 0xf4 */
.align 32
ta HP_BAD_TRAP /* 0xf5 */
.align 32
ta HP_BAD_TRAP /* 0xf6 */
.align 32
ta HP_BAD_TRAP /* 0xf7 */
.align 32
ta HP_BAD_TRAP /* 0xf8 */
.align 32
ta HP_BAD_TRAP /* 0xf9 */
.align 32
ta HP_BAD_TRAP /* 0xfa */
.align 32
ta HP_BAD_TRAP /* 0xfb */
.align 32
ta HP_BAD_TRAP /* 0xfc */
.align 32
ta HP_BAD_TRAP /* 0xfd */
.align 32
ta HP_BAD_TRAP /* 0xfe */
.align 32
ta HP_BAD_TRAP /* 0xff */
.align 32
ta HP_GOOD_TRAP /* 0x100 */
.align 32
ta HP_BAD_TRAP /* 0x101 */
.align 32
ta HP_BAD_TRAP /* 0x102 */
.align 32
ta HP_BAD_TRAP /* 0x103 */
.align 32
ta HP_BAD_TRAP /* 0x104 */
.align 32
ta HP_BAD_TRAP /* 0x105 */
.align 32
ta HP_BAD_TRAP /* 0x106 */
.align 32
ta HP_BAD_TRAP /* 0x107 */
.align 32
ta HP_BAD_TRAP /* 0x108 */
.align 32
ta HP_BAD_TRAP /* 0x109 */
.align 32
ta HP_BAD_TRAP /* 0x10a */
.align 32
ta HP_BAD_TRAP /* 0x10b */
.align 32
ta HP_BAD_TRAP /* 0x10c */
.align 32
ta HP_BAD_TRAP /* 0x10d */
.align 32
ta HP_BAD_TRAP /* 0x10e */
.align 32
ta HP_BAD_TRAP /* 0x10f */
.align 32
ta HPTRAP_I_DEMAP_ALL /* 0x110 */
done
.align 32
ta HPTRAP_I_DEMAP_PCTX /* 0x111 */
done
.align 32
ta HPTRAP_I_DEMAP_SCTX /* 0x112 */
done
.align 32
ta HPTRAP_I_DEMAP_NCTX /* 0x113 */
done
.align 32
ta HPTRAP_I_DEMAP_PAGE /* 0x114 */
done
.align 32
ta HPTRAP_I_DEMAP_RPAGE /* 0x115 */
done
.align 32
ta HPTRAP_I_DEMAP_REAL /* 0x116 */
done
.align 32
ta HPTRAP_D_DEMAP_ALL /* 0x117 */
done
.align 32
ta HPTRAP_D_DEMAP_PCTX /* 0x118 */
done
.align 32
ta HPTRAP_D_DEMAP_SCTX /* 0x119 */
done
.align 32
ta HPTRAP_D_DEMAP_NCTX /* 0x11a */
done
.align 32
ta HPTRAP_D_DEMAP_PAGE /* 0x11b */
done
.align 32
ta HPTRAP_D_DEMAP_RPAGE /* 0x11c */
done
.align 32
ta HPTRAP_D_DEMAP_REAL /* 0x11d */
done
.align 32
ta HP_BAD_TRAP /* 0x11e */
.align 32
ta HP_BAD_TRAP /* 0x11f */
.align 32
sllx %i7, 63, %g1
brz %g1, 1f
nop
rdpr %tnpc, %g2
add %g2, 8, %g2
wrpr %g2, %tnpc
1:
done
.align 32
ta HPTRAP_CHANGE_PID /* 0x121 */
done
.align 32
ta HPTRAP_INCR_TSB_SIZE /* 0x122 */
done
.align 32 /* 0x123 */
ldxa [%l1] 0x14, %l2
done
.align 32 /* 0x124 */
ldxa [%l1] 0x1c, %l2
done
.align 32 /* 0x125 */
ldda [%l1] 0x26, %l2
done
.align 32 /* 0x126 */
ldda [%l1] 0x2e, %l2
done
.align 32
ta HPTRAP_CLEAR_LSU_IMMU /* 0x127 */
done
.align 32
ta HPTRAP_CLEAR_LSU_DMMU /* 0x128 */
done
.align 32
ta HPTRAP_DELAY_LOOP /* 0x129 */
done
.align 32
ta HPTRAP_SEM_LOCK /* 0x12a */
done
.align 32
ta HPTRAP_SEM_RELEASE /* 0x12b */
done
.align 32
ta HPTRAP_SEM_GET /* 0x12c */
done
.align 32
ta HPTRAP_SEM_SET /* 0x12d */
done
.align 32
ta HPTRAP_GOTO_SUPERVISOR0 /* 0x12e */
.align 32
ta HPTRAP_GOTO_SUPERVISOR1 /* 0x12f */
.align 32
ta HP_BAD_TRAP /* 0x130 */
.align 32
ta HP_BAD_TRAP /* 0x131 */
.align 32
ta HP_BAD_TRAP /* 0x132 */
.align 32
ta HP_BAD_TRAP /* 0x133 */
.align 32
ta HP_BAD_TRAP /* 0x134 */
.align 32
ta HP_BAD_TRAP /* 0x135 */
.align 32
ta HP_BAD_TRAP /* 0x136 */
.align 32
ta HP_BAD_TRAP /* 0x137 */
.align 32
ta HP_BAD_TRAP /* 0x138 */
.align 32
ta HP_BAD_TRAP /* 0x139 */
.align 32
ta HP_BAD_TRAP /* 0x13a */
.align 32
ta HP_BAD_TRAP /* 0x13b */
.align 32
ta HP_BAD_TRAP /* 0x13c */
.align 32
ta HP_BAD_TRAP /* 0x13d */
.align 32
ta HP_BAD_TRAP /* 0x13e */
.align 32
ta HP_BAD_TRAP /* 0x13f */
.align 32
ta HP_BAD_TRAP /* 0x140 */
.align 32
ta HP_BAD_TRAP /* 0x141 */
.align 32
ta HP_BAD_TRAP /* 0x142 */
.align 32
ta HP_BAD_TRAP /* 0x143 */
.align 32
ta HP_BAD_TRAP /* 0x144 */
.align 32
ta HP_BAD_TRAP /* 0x145 */
.align 32
ta HP_BAD_TRAP /* 0x146 */
.align 32
ta HP_BAD_TRAP /* 0x147 */
.align 32
ta HP_BAD_TRAP /* 0x148 */
.align 32
ta HP_BAD_TRAP /* 0x149 */
.align 32
ta HP_BAD_TRAP /* 0x14a */
.align 32
ta HP_BAD_TRAP /* 0x14b */
.align 32
ta HP_BAD_TRAP /* 0x14c */
.align 32
ta HP_BAD_TRAP /* 0x14d */
.align 32
ta HP_BAD_TRAP /* 0x14e */
.align 32
ta HP_BAD_TRAP /* 0x14f */
.align 32
ta HP_BAD_TRAP /* 0x150 */
.align 32
ta HP_BAD_TRAP /* 0x151 */
.align 32
ta HP_BAD_TRAP /* 0x152 */
.align 32
ta HP_BAD_TRAP /* 0x153 */
.align 32
ta HP_BAD_TRAP /* 0x154 */
.align 32
ta HP_BAD_TRAP /* 0x155 */
.align 32
ta HP_BAD_TRAP /* 0x156 */
.align 32
ta HP_BAD_TRAP /* 0x157 */
.align 32
ta HP_BAD_TRAP /* 0x158 */
.align 32
ta HP_BAD_TRAP /* 0x159 */
.align 32
ta HP_BAD_TRAP /* 0x15a */
.align 32
ta HP_BAD_TRAP /* 0x15b */
.align 32
ta HP_BAD_TRAP /* 0x15c */
.align 32
ta HP_BAD_TRAP /* 0x15d */
.align 32
ta HP_BAD_TRAP /* 0x15e */
.align 32
ta HP_BAD_TRAP /* 0x15f */
.align 32
ta HP_BAD_TRAP /* 0x160 */
.align 32
ta HP_BAD_TRAP /* 0x161 */
.align 32
ta HP_BAD_TRAP /* 0x162 */
.align 32
ta HP_BAD_TRAP /* 0x163 */
.align 32
ta HP_BAD_TRAP /* 0x164 */
.align 32
ta HP_BAD_TRAP /* 0x165 */
.align 32
ta HP_BAD_TRAP /* 0x166 */
.align 32
ta HP_BAD_TRAP /* 0x167 */
.align 32
ta HP_BAD_TRAP /* 0x168 */
.align 32
ta HP_BAD_TRAP /* 0x169 */
.align 32
ta HP_BAD_TRAP /* 0x16a */
.align 32
ta HP_BAD_TRAP /* 0x16b */
.align 32
ta HP_BAD_TRAP /* 0x16c */
.align 32
ta HP_BAD_TRAP /* 0x16d */
.align 32
ta HP_BAD_TRAP /* 0x16e */
.align 32
ta HP_BAD_TRAP /* 0x16f */
.align 32
ta HP_BAD_TRAP /* 0x170 */
.align 32
ta HP_BAD_TRAP /* 0x171 */
.align 32
ta HP_BAD_TRAP /* 0x172 */
.align 32
ta HP_BAD_TRAP /* 0x173 */
.align 32
ta HP_BAD_TRAP /* 0x174 */
.align 32
ta HP_BAD_TRAP /* 0x175 */
.align 32
ta HP_BAD_TRAP /* 0x176 */
.align 32
ta HP_BAD_TRAP /* 0x177 */
.align 32
ta HP_BAD_TRAP /* 0x178 */
.align 32
ta HP_BAD_TRAP /* 0x179 */
.align 32
ta HP_BAD_TRAP /* 0x17a */
.align 32
ta HP_BAD_TRAP /* 0x17b */
.align 32
ta HP_BAD_TRAP /* 0x17c */
.align 32
ta HP_BAD_TRAP /* 0x17d */
.align 32
ta HP_BAD_TRAP /* 0x17e */
.align 32
ta HP_BAD_TRAP /* 0x17f */
.align 32
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 ,
}
ta HP_BAD_TRAP /* 0x0 */
.align 32
ta HP_BAD_TRAP /* 0x1 */
.align 32
ta HP_BAD_TRAP /* 0x2 */
.align 32
ta HP_BAD_TRAP /* 0x3 */
.align 32
ta HP_BAD_TRAP /* 0x4 */
.align 32
ta HP_BAD_TRAP /* 0x5 */
.align 32
ta HP_BAD_TRAP /* 0x6 */
.align 32
ta HP_BAD_TRAP /* 0x7 */
.align 32
ta HP_BAD_TRAP /* 0x8 */
.align 32
ta HP_BAD_TRAP /* 0x9 */
.align 32
ta HP_BAD_TRAP /* 0xa */
.align 32
ta HP_BAD_TRAP /* 0xb */
.align 32
ta HP_BAD_TRAP /* 0xc */
.align 32
ta HP_BAD_TRAP /* 0xd */
.align 32
ta HP_BAD_TRAP /* 0xe */
.align 32
ta HP_BAD_TRAP /* 0xf */
.align 32
ta HP_BAD_TRAP /* 0x10 */
.align 32
ta HP_BAD_TRAP /* 0x11 */
.align 32
ta HP_BAD_TRAP /* 0x12 */
.align 32
ta HP_BAD_TRAP /* 0x13 */
.align 32
ta HP_BAD_TRAP /* 0x14 */
.align 32
ta HP_BAD_TRAP /* 0x15 */
.align 32
ta HP_BAD_TRAP /* 0x16 */
.align 32
ta HP_BAD_TRAP /* 0x17 */
.align 32
ta HP_BAD_TRAP /* 0x18 */
.align 32
ta HP_BAD_TRAP /* 0x19 */
.align 32
ta HP_BAD_TRAP /* 0x1a */
.align 32
ta HP_BAD_TRAP /* 0x1b */
.align 32
ta HP_BAD_TRAP /* 0x1c */
.align 32
ta HP_BAD_TRAP /* 0x1d */
.align 32
ta HP_BAD_TRAP /* 0x1e */
.align 32
ta HP_BAD_TRAP /* 0x1f */
.align 32
ta HP_BAD_TRAP /* 0x20 */
.align 32
ta HP_BAD_TRAP /* 0x21 */
.align 32
ta HP_BAD_TRAP /* 0x22 */
.align 32
ta HP_BAD_TRAP /* 0x23 */
.align 32
ta HP_BAD_TRAP /* 0x24 */
.align 32
ta HP_BAD_TRAP /* 0x25 */
.align 32
ta HP_BAD_TRAP /* 0x26 */
.align 32
ta HP_BAD_TRAP /* 0x27 */
.align 32
ta HP_BAD_TRAP /* 0x28 */
.align 32
ta HP_BAD_TRAP /* 0x29 */
.align 32
ta HP_BAD_TRAP /* 0x2a */
.align 32
ta HP_BAD_TRAP /* 0x2b */
.align 32
ta HP_BAD_TRAP /* 0x2c */
.align 32
ta HP_BAD_TRAP /* 0x2d */
.align 32
ta HP_BAD_TRAP /* 0x2e */
.align 32
ta HP_BAD_TRAP /* 0x2f */
.align 32
ta HP_BAD_TRAP /* 0x30 */
.align 32
ta HP_BAD_TRAP /* 0x31 */
.align 32
ta HP_BAD_TRAP /* 0x32 */
.align 32
ta HP_BAD_TRAP /* 0x33 */
.align 32
ta HP_BAD_TRAP /* 0x34 */
.align 32
ta HP_BAD_TRAP /* 0x35 */
.align 32
ta HP_BAD_TRAP /* 0x36 */
.align 32
ta HP_BAD_TRAP /* 0x37 */
.align 32
ta HP_BAD_TRAP /* 0x38 */
.align 32
ta HP_BAD_TRAP /* 0x39 */
.align 32
ta HP_BAD_TRAP /* 0x3a */
.align 32
ta HP_BAD_TRAP /* 0x3b */
.align 32
ta HP_BAD_TRAP /* 0x3c */
.align 32
ta HP_BAD_TRAP /* 0x3d */
.align 32
ta HP_BAD_TRAP /* 0x3e */
.align 32
ta HP_BAD_TRAP /* 0x3f */
.align 32
ta HP_BAD_TRAP /* 0x40 */
.align 32
ta HP_BAD_TRAP /* 0x41 */
.align 32
ta HP_BAD_TRAP /* 0x42 */
.align 32
ta HP_BAD_TRAP /* 0x43 */
.align 32
ta HP_BAD_TRAP /* 0x44 */
.align 32
ta HP_BAD_TRAP /* 0x45 */
.align 32
ta HP_BAD_TRAP /* 0x46 */
.align 32
ta HP_BAD_TRAP /* 0x47 */
.align 32
ta HP_BAD_TRAP /* 0x48 */
.align 32
ta HP_BAD_TRAP /* 0x49 */
.align 32
ta HP_BAD_TRAP /* 0x4a */
.align 32
ta HP_BAD_TRAP /* 0x4b */
.align 32
ta HP_BAD_TRAP /* 0x4c */
.align 32
ta HP_BAD_TRAP /* 0x4d */
.align 32
ta HP_BAD_TRAP /* 0x4e */
.align 32
ta HP_BAD_TRAP /* 0x4f */
.align 32
ta HP_BAD_TRAP /* 0x50 */
.align 32
ta HP_BAD_TRAP /* 0x51 */
.align 32
ta HP_BAD_TRAP /* 0x52 */
.align 32
ta HP_BAD_TRAP /* 0x53 */
.align 32
ta HP_BAD_TRAP /* 0x54 */
.align 32
ta HP_BAD_TRAP /* 0x55 */
.align 32
ta HP_BAD_TRAP /* 0x56 */
.align 32
ta HP_BAD_TRAP /* 0x57 */
.align 32
ta HP_BAD_TRAP /* 0x58 */
.align 32
ta HP_BAD_TRAP /* 0x59 */
.align 32
ta HP_BAD_TRAP /* 0x5a */
.align 32
ta HP_BAD_TRAP /* 0x5b */
.align 32
ta HP_BAD_TRAP /* 0x5c */
.align 32
ta HP_BAD_TRAP /* 0x5d */
.align 32
ta HP_BAD_TRAP /* 0x5e */
.align 32
ta HP_BAD_TRAP /* 0x5f */
.align 32
ta HP_BAD_TRAP /* 0x60 */
.align 32
ta HP_BAD_TRAP /* 0x61 */
.align 32
ta HP_BAD_TRAP /* 0x62 */
.align 32
ta HP_BAD_TRAP /* 0x63 */
.align 32
ta HP_BAD_TRAP /* 0x64 */
.align 32
ta HP_BAD_TRAP /* 0x65 */
.align 32
ta HP_BAD_TRAP /* 0x66 */
.align 32
ta HP_BAD_TRAP /* 0x67 */
.align 32
ta HP_BAD_TRAP /* 0x68 */
.align 32
ta HP_BAD_TRAP /* 0x69 */
.align 32
ta HP_BAD_TRAP /* 0x6a */
.align 32
ta HP_BAD_TRAP /* 0x6b */
.align 32
ta HP_BAD_TRAP /* 0x6c */
.align 32
ta HP_BAD_TRAP /* 0x6d */
.align 32
ta HP_BAD_TRAP /* 0x6e */
.align 32
ta HP_BAD_TRAP /* 0x6f */
.align 32
ta HP_BAD_TRAP /* 0x70 */
.align 32
ta HP_BAD_TRAP /* 0x71 */
.align 32
ta HP_BAD_TRAP /* 0x72 */
.align 32
ta HP_BAD_TRAP /* 0x73 */
.align 32
ta HP_BAD_TRAP /* 0x74 */
.align 32
ta HP_BAD_TRAP /* 0x75 */
.align 32
ta HP_BAD_TRAP /* 0x76 */
.align 32
ta HP_BAD_TRAP /* 0x77 */
.align 32
ta HP_BAD_TRAP /* 0x78 */
.align 32
ta HP_BAD_TRAP /* 0x79 */
.align 32
ta HP_BAD_TRAP /* 0x7a */
.align 32
ta HP_BAD_TRAP /* 0x7b */
.align 32
ta HP_BAD_TRAP /* 0x7c */
.align 32
ta HP_BAD_TRAP /* 0x7d */
.align 32
ta HP_BAD_TRAP /* 0x7e */
.align 32
ta HP_BAD_TRAP /* 0x7f */
.align 32
ta HP_BAD_TRAP /* 0x80 */
.align 32
ta HP_BAD_TRAP /* 0x81 */
.align 32
ta HP_BAD_TRAP /* 0x82 */
.align 32
ta HP_BAD_TRAP /* 0x83 */
.align 32
ta HP_BAD_TRAP /* 0x84 */
.align 32
ta HP_BAD_TRAP /* 0x85 */
.align 32
ta HP_BAD_TRAP /* 0x86 */
.align 32
ta HP_BAD_TRAP /* 0x87 */
.align 32
ta HP_BAD_TRAP /* 0x88 */
.align 32
ta HP_BAD_TRAP /* 0x89 */
.align 32
ta HP_BAD_TRAP /* 0x8a */
.align 32
ta HP_BAD_TRAP /* 0x8b */
.align 32
ta HP_BAD_TRAP /* 0x8c */
.align 32
ta HP_BAD_TRAP /* 0x8d */
.align 32
ta HP_BAD_TRAP /* 0x8e */
.align 32
ta HP_BAD_TRAP /* 0x8f */
.align 32
ta HP_BAD_TRAP /* 0x90 */
.align 32
ta HP_BAD_TRAP /* 0x91 */
.align 32
ta HP_BAD_TRAP /* 0x92 */
.align 32
ta HP_BAD_TRAP /* 0x93 */
.align 32
ta HP_BAD_TRAP /* 0x94 */
.align 32
ta HP_BAD_TRAP /* 0x95 */
.align 32
ta HP_BAD_TRAP /* 0x96 */
.align 32
ta HP_BAD_TRAP /* 0x97 */
.align 32
ta HP_BAD_TRAP /* 0x98 */
.align 32
ta HP_BAD_TRAP /* 0x99 */
.align 32
ta HP_BAD_TRAP /* 0x9a */
.align 32
ta HP_BAD_TRAP /* 0x9b */
.align 32
ta HP_BAD_TRAP /* 0x9c */
.align 32
ta HP_BAD_TRAP /* 0x9d */
.align 32
ta HP_BAD_TRAP /* 0x9e */
.align 32
ta HP_BAD_TRAP /* 0x9f */
.align 32
ta HP_BAD_TRAP /* 0xa0 */
.align 32
ta HP_BAD_TRAP /* 0xa1 */
.align 32
ta HP_BAD_TRAP /* 0xa2 */
.align 32
ta HP_BAD_TRAP /* 0xa3 */
.align 32
ta HP_BAD_TRAP /* 0xa4 */
.align 32
ta HP_BAD_TRAP /* 0xa5 */
.align 32
ta HP_BAD_TRAP /* 0xa6 */
.align 32
ta HP_BAD_TRAP /* 0xa7 */
.align 32
ta HP_BAD_TRAP /* 0xa8 */
.align 32
ta HP_BAD_TRAP /* 0xa9 */
.align 32
ta HP_BAD_TRAP /* 0xaa */
.align 32
ta HP_BAD_TRAP /* 0xab */
.align 32
ta HP_BAD_TRAP /* 0xac */
.align 32
ta HP_BAD_TRAP /* 0xad */
.align 32
ta HP_BAD_TRAP /* 0xae */
.align 32
ta HP_BAD_TRAP /* 0xaf */
.align 32
ta HP_BAD_TRAP /* 0xb0 */
.align 32
ta HP_BAD_TRAP /* 0xb1 */
.align 32
ta HP_BAD_TRAP /* 0xb2 */
.align 32
ta HP_BAD_TRAP /* 0xb3 */
.align 32
ta HP_BAD_TRAP /* 0xb4 */
.align 32
ta HP_BAD_TRAP /* 0xb5 */
.align 32
ta HP_BAD_TRAP /* 0xb6 */
.align 32
ta HP_BAD_TRAP /* 0xb7 */
.align 32
ta HP_BAD_TRAP /* 0xb8 */
.align 32
ta HP_BAD_TRAP /* 0xb9 */
.align 32
ta HP_BAD_TRAP /* 0xba */
.align 32
ta HP_BAD_TRAP /* 0xbb */
.align 32
ta HP_BAD_TRAP /* 0xbc */
.align 32
ta HP_BAD_TRAP /* 0xbd */
.align 32
ta HP_BAD_TRAP /* 0xbe */
.align 32
ta HP_BAD_TRAP /* 0xbf */
.align 32
ta HP_BAD_TRAP /* 0xc0 */
.align 32
ta HP_BAD_TRAP /* 0xc1 */
.align 32
ta HP_BAD_TRAP /* 0xc2 */
.align 32
ta HP_BAD_TRAP /* 0xc3 */
.align 32
ta HP_BAD_TRAP /* 0xc4 */
.align 32
ta HP_BAD_TRAP /* 0xc5 */
.align 32
ta HP_BAD_TRAP /* 0xc6 */
.align 32
ta HP_BAD_TRAP /* 0xc7 */
.align 32
ta HP_BAD_TRAP /* 0xc8 */
.align 32
ta HP_BAD_TRAP /* 0xc9 */
.align 32
ta HP_BAD_TRAP /* 0xca */
.align 32
ta HP_BAD_TRAP /* 0xcb */
.align 32
ta HP_BAD_TRAP /* 0xcc */
.align 32
ta HP_BAD_TRAP /* 0xcd */
.align 32
ta HP_BAD_TRAP /* 0xce */
.align 32
ta HP_BAD_TRAP /* 0xcf */
.align 32
ta HP_BAD_TRAP /* 0xd0 */
.align 32
ta HP_BAD_TRAP /* 0xd1 */
.align 32
ta HP_BAD_TRAP /* 0xd2 */
.align 32
ta HP_BAD_TRAP /* 0xd3 */
.align 32
ta HP_BAD_TRAP /* 0xd4 */
.align 32
ta HP_BAD_TRAP /* 0xd5 */
.align 32
ta HP_BAD_TRAP /* 0xd6 */
.align 32
ta HP_BAD_TRAP /* 0xd7 */
.align 32
ta HP_BAD_TRAP /* 0xd8 */
.align 32
ta HP_BAD_TRAP /* 0xd9 */
.align 32
ta HP_BAD_TRAP /* 0xda */
.align 32
ta HP_BAD_TRAP /* 0xdb */
.align 32
ta HP_BAD_TRAP /* 0xdc */
.align 32
ta HP_BAD_TRAP /* 0xdd */
.align 32
ta HP_BAD_TRAP /* 0xde */
.align 32
ta HP_BAD_TRAP /* 0xdf */
.align 32
ta HP_BAD_TRAP /* 0xe0 */
.align 32
ta HP_BAD_TRAP /* 0xe1 */
.align 32
ta HP_BAD_TRAP /* 0xe2 */
.align 32
ta HP_BAD_TRAP /* 0xe3 */
.align 32
ta HP_BAD_TRAP /* 0xe4 */
.align 32
ta HP_BAD_TRAP /* 0xe5 */
.align 32
ta HP_BAD_TRAP /* 0xe6 */
.align 32
ta HP_BAD_TRAP /* 0xe7 */
.align 32
ta HP_BAD_TRAP /* 0xe8 */
.align 32
ta HP_BAD_TRAP /* 0xe9 */
.align 32
ta HP_BAD_TRAP /* 0xea */
.align 32
ta HP_BAD_TRAP /* 0xeb */
.align 32
ta HP_BAD_TRAP /* 0xec */
.align 32
ta HP_BAD_TRAP /* 0xed */
.align 32
ta HP_BAD_TRAP /* 0xee */
.align 32
ta HP_BAD_TRAP /* 0xef */
.align 32
ta HP_BAD_TRAP /* 0xf0 */
.align 32
ta HP_BAD_TRAP /* 0xf1 */
.align 32
ta HP_BAD_TRAP /* 0xf2 */
.align 32
ta HP_BAD_TRAP /* 0xf3 */
.align 32
ta HP_BAD_TRAP /* 0xf4 */
.align 32
ta HP_BAD_TRAP /* 0xf5 */
.align 32
ta HP_BAD_TRAP /* 0xf6 */
.align 32
ta HP_BAD_TRAP /* 0xf7 */
.align 32
ta HP_BAD_TRAP /* 0xf8 */
.align 32
ta HP_BAD_TRAP /* 0xf9 */
.align 32
ta HP_BAD_TRAP /* 0xfa */
.align 32
ta HP_BAD_TRAP /* 0xfb */
.align 32
ta HP_BAD_TRAP /* 0xfc */
.align 32
ta HP_BAD_TRAP /* 0xfd */
.align 32
ta HP_BAD_TRAP /* 0xfe */
.align 32
ta HP_BAD_TRAP /* 0xff */
.align 32
ta HP_GOOD_TRAP /* 0x100 */
.align 32
ta HP_BAD_TRAP /* 0x101 */
.align 32
ta HP_BAD_TRAP /* 0x102 */
.align 32
ta HP_BAD_TRAP /* 0x103 */
.align 32
ta HP_BAD_TRAP /* 0x104 */
.align 32
ta HP_BAD_TRAP /* 0x105 */
.align 32
ta HP_BAD_TRAP /* 0x106 */
.align 32
ta HP_BAD_TRAP /* 0x107 */
.align 32
ta HP_BAD_TRAP /* 0x108 */
.align 32
ta HP_BAD_TRAP /* 0x109 */
.align 32
ta HP_BAD_TRAP /* 0x10a */
.align 32
ta HP_BAD_TRAP /* 0x10b */
.align 32
ta HP_BAD_TRAP /* 0x10c */
.align 32
ta HP_BAD_TRAP /* 0x10d */
.align 32
ta HP_BAD_TRAP /* 0x10e */
.align 32
ta HP_BAD_TRAP /* 0x10f */
.align 32
ta HPTRAP_I_DEMAP_ALL /* 0x110 */
done
.align 32
ta HPTRAP_I_DEMAP_PCTX /* 0x111 */
done
.align 32
ta HPTRAP_I_DEMAP_SCTX /* 0x112 */
done
.align 32
ta HPTRAP_I_DEMAP_NCTX /* 0x113 */
done
.align 32
ta HPTRAP_I_DEMAP_PAGE /* 0x114 */
done
.align 32
ta HPTRAP_I_DEMAP_RPAGE /* 0x115 */
done
.align 32
ta HPTRAP_I_DEMAP_REAL /* 0x116 */
done
.align 32
ta HPTRAP_D_DEMAP_ALL /* 0x117 */
done
.align 32
ta HPTRAP_D_DEMAP_PCTX /* 0x118 */
done
.align 32
ta HPTRAP_D_DEMAP_SCTX /* 0x119 */
done
.align 32
ta HPTRAP_D_DEMAP_NCTX /* 0x11a */
done
.align 32
ta HPTRAP_D_DEMAP_PAGE /* 0x11b */
done
.align 32
ta HPTRAP_D_DEMAP_RPAGE /* 0x11c */
done
.align 32
ta HPTRAP_D_DEMAP_REAL /* 0x11d */
done
.align 32
ta HP_BAD_TRAP /* 0x11e */
.align 32
ta HP_BAD_TRAP /* 0x11f */
.align 32
sllx %i7, 63, %g1
brz %g1, 1f
nop
rdpr %tnpc, %g2
add %g2, 8, %g2
wrpr %g2, %tnpc
1:
done
.align 32
ta HPTRAP_CHANGE_PID /* 0x121 */
done
.align 32
ta HPTRAP_INCR_TSB_SIZE /* 0x122 */
done
.align 32 /* 0x123 */
ldxa [%l1] 0x14, %l2
done
.align 32 /* 0x124 */
ldxa [%l1] 0x1c, %l2
done
.align 32 /* 0x125 */
ldda [%l1] 0x26, %l2
done
.align 32 /* 0x126 */
ldda [%l1] 0x2e, %l2
done
.align 32
ta HPTRAP_CLEAR_LSU_IMMU /* 0x127 */
done
.align 32
ta HPTRAP_CLEAR_LSU_DMMU /* 0x128 */
done
.align 32
ta HPTRAP_DELAY_LOOP /* 0x129 */
done
.align 32
ta HPTRAP_SEM_LOCK /* 0x12a */
done
.align 32
ta HPTRAP_SEM_RELEASE /* 0x12b */
done
.align 32
ta HPTRAP_SEM_GET /* 0x12c */
done
.align 32
ta HPTRAP_SEM_SET /* 0x12d */
done
.align 32
ta HPTRAP_GOTO_SUPERVISOR0 /* 0x12e */
.align 32
ta HPTRAP_GOTO_SUPERVISOR1 /* 0x12f */
.align 32
ta HP_BAD_TRAP /* 0x130 */
.align 32
ta HP_BAD_TRAP /* 0x131 */
.align 32
ta HP_BAD_TRAP /* 0x132 */
.align 32
ta HP_BAD_TRAP /* 0x133 */
.align 32
ta HP_BAD_TRAP /* 0x134 */
.align 32
ta HP_BAD_TRAP /* 0x135 */
.align 32
ta HP_BAD_TRAP /* 0x136 */
.align 32
ta HP_BAD_TRAP /* 0x137 */
.align 32
ta HP_BAD_TRAP /* 0x138 */
.align 32
ta HP_BAD_TRAP /* 0x139 */
.align 32
ta HP_BAD_TRAP /* 0x13a */
.align 32
ta HP_BAD_TRAP /* 0x13b */
.align 32
ta HP_BAD_TRAP /* 0x13c */
.align 32
ta HP_BAD_TRAP /* 0x13d */
.align 32
ta HP_BAD_TRAP /* 0x13e */
.align 32
ta HP_BAD_TRAP /* 0x13f */
.align 32
ta HP_BAD_TRAP /* 0x140 */
.align 32
ta HP_BAD_TRAP /* 0x141 */
.align 32
ta HP_BAD_TRAP /* 0x142 */
.align 32
ta HP_BAD_TRAP /* 0x143 */
.align 32
ta HP_BAD_TRAP /* 0x144 */
.align 32
ta HP_BAD_TRAP /* 0x145 */
.align 32
ta HP_BAD_TRAP /* 0x146 */
.align 32
ta HP_BAD_TRAP /* 0x147 */
.align 32
ta HP_BAD_TRAP /* 0x148 */
.align 32
ta HP_BAD_TRAP /* 0x149 */
.align 32
ta HP_BAD_TRAP /* 0x14a */
.align 32
ta HP_BAD_TRAP /* 0x14b */
.align 32
ta HP_BAD_TRAP /* 0x14c */
.align 32
ta HP_BAD_TRAP /* 0x14d */
.align 32
ta HP_BAD_TRAP /* 0x14e */
.align 32
ta HP_BAD_TRAP /* 0x14f */
.align 32
ta HP_BAD_TRAP /* 0x150 */
.align 32
ta HP_BAD_TRAP /* 0x151 */
.align 32
ta HP_BAD_TRAP /* 0x152 */
.align 32
ta HP_BAD_TRAP /* 0x153 */
.align 32
ta HP_BAD_TRAP /* 0x154 */
.align 32
ta HP_BAD_TRAP /* 0x155 */
.align 32
ta HP_BAD_TRAP /* 0x156 */
.align 32
ta HP_BAD_TRAP /* 0x157 */
.align 32
ta HP_BAD_TRAP /* 0x158 */
.align 32
ta HP_BAD_TRAP /* 0x159 */
.align 32
ta HP_BAD_TRAP /* 0x15a */
.align 32
ta HP_BAD_TRAP /* 0x15b */
.align 32
ta HP_BAD_TRAP /* 0x15c */
.align 32
ta HP_BAD_TRAP /* 0x15d */
.align 32
ta HP_BAD_TRAP /* 0x15e */
.align 32
ta HP_BAD_TRAP /* 0x15f */
.align 32
ta HP_BAD_TRAP /* 0x160 */
.align 32
ta HP_BAD_TRAP /* 0x161 */
.align 32
ta HP_BAD_TRAP /* 0x162 */
.align 32
ta HP_BAD_TRAP /* 0x163 */
.align 32
ta HP_BAD_TRAP /* 0x164 */
.align 32
ta HP_BAD_TRAP /* 0x165 */
.align 32
ta HP_BAD_TRAP /* 0x166 */
.align 32
ta HP_BAD_TRAP /* 0x167 */
.align 32
ta HP_BAD_TRAP /* 0x168 */
.align 32
ta HP_BAD_TRAP /* 0x169 */
.align 32
ta HP_BAD_TRAP /* 0x16a */
.align 32
ta HP_BAD_TRAP /* 0x16b */
.align 32
ta HP_BAD_TRAP /* 0x16c */
.align 32
ta HP_BAD_TRAP /* 0x16d */
.align 32
ta HP_BAD_TRAP /* 0x16e */
.align 32
ta HP_BAD_TRAP /* 0x16f */
.align 32
ta HP_BAD_TRAP /* 0x170 */
.align 32
ta HP_BAD_TRAP /* 0x171 */
.align 32
ta HP_BAD_TRAP /* 0x172 */
.align 32
ta HP_BAD_TRAP /* 0x173 */
.align 32
ta HP_BAD_TRAP /* 0x174 */
.align 32
ta HP_BAD_TRAP /* 0x175 */
.align 32
ta HP_BAD_TRAP /* 0x176 */
.align 32
ta HP_BAD_TRAP /* 0x177 */
.align 32
ta HP_BAD_TRAP /* 0x178 */
.align 32
ta HP_BAD_TRAP /* 0x179 */
.align 32
ta HP_BAD_TRAP /* 0x17a */
.align 32
ta HP_BAD_TRAP /* 0x17b */
.align 32
ta HP_BAD_TRAP /* 0x17c */
.align 32
ta HP_BAD_TRAP /* 0x17d */
.align 32
ta HP_BAD_TRAP /* 0x17e */
.align 32
ta HP_BAD_TRAP /* 0x17f */
.align 32
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 = 1 ,
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 ,
}
ta HP_BAD_TRAP /* 0x0 */
.align 32
ta HP_BAD_TRAP /* 0x1 */
.align 32
ta HP_BAD_TRAP /* 0x2 */
.align 32
ta HP_BAD_TRAP /* 0x3 */
.align 32
ta HP_BAD_TRAP /* 0x4 */
.align 32
ta HP_BAD_TRAP /* 0x5 */
.align 32
ta HP_BAD_TRAP /* 0x6 */
.align 32
ta HP_BAD_TRAP /* 0x7 */
.align 32
ta HP_BAD_TRAP /* 0x8 */
.align 32
ta HP_BAD_TRAP /* 0x9 */
.align 32
ta HP_BAD_TRAP /* 0xa */
.align 32
ta HP_BAD_TRAP /* 0xb */
.align 32
ta HP_BAD_TRAP /* 0xc */
.align 32
ta HP_BAD_TRAP /* 0xd */
.align 32
ta HP_BAD_TRAP /* 0xe */
.align 32
ta HP_BAD_TRAP /* 0xf */
.align 32
ta HP_BAD_TRAP /* 0x10 */
.align 32
ta HP_BAD_TRAP /* 0x11 */
.align 32
ta HP_BAD_TRAP /* 0x12 */
.align 32
ta HP_BAD_TRAP /* 0x13 */
.align 32
ta HP_BAD_TRAP /* 0x14 */
.align 32
ta HP_BAD_TRAP /* 0x15 */
.align 32
ta HP_BAD_TRAP /* 0x16 */
.align 32
ta HP_BAD_TRAP /* 0x17 */
.align 32
ta HP_BAD_TRAP /* 0x18 */
.align 32
ta HP_BAD_TRAP /* 0x19 */
.align 32
ta HP_BAD_TRAP /* 0x1a */
.align 32
ta HP_BAD_TRAP /* 0x1b */
.align 32
ta HP_BAD_TRAP /* 0x1c */
.align 32
ta HP_BAD_TRAP /* 0x1d */
.align 32
ta HP_BAD_TRAP /* 0x1e */
.align 32
ta HP_BAD_TRAP /* 0x1f */
.align 32
ta HP_BAD_TRAP /* 0x20 */
.align 32
ta HP_BAD_TRAP /* 0x21 */
.align 32
ta HP_BAD_TRAP /* 0x22 */
.align 32
ta HP_BAD_TRAP /* 0x23 */
.align 32
ta HP_BAD_TRAP /* 0x24 */
.align 32
ta HP_BAD_TRAP /* 0x25 */
.align 32
ta HP_BAD_TRAP /* 0x26 */
.align 32
ta HP_BAD_TRAP /* 0x27 */
.align 32
ta HP_BAD_TRAP /* 0x28 */
.align 32
ta HP_BAD_TRAP /* 0x29 */
.align 32
ta HP_BAD_TRAP /* 0x2a */
.align 32
ta HP_BAD_TRAP /* 0x2b */
.align 32
ta HP_BAD_TRAP /* 0x2c */
.align 32
ta HP_BAD_TRAP /* 0x2d */
.align 32
ta HP_BAD_TRAP /* 0x2e */
.align 32
ta HP_BAD_TRAP /* 0x2f */
.align 32
ta HP_BAD_TRAP /* 0x30 */
.align 32
ta HP_BAD_TRAP /* 0x31 */
.align 32
ta HP_BAD_TRAP /* 0x32 */
.align 32
ta HP_BAD_TRAP /* 0x33 */
.align 32
ta HP_BAD_TRAP /* 0x34 */
.align 32
ta HP_BAD_TRAP /* 0x35 */
.align 32
ta HP_BAD_TRAP /* 0x36 */
.align 32
ta HP_BAD_TRAP /* 0x37 */
.align 32
ta HP_BAD_TRAP /* 0x38 */
.align 32
ta HP_BAD_TRAP /* 0x39 */
.align 32
ta HP_BAD_TRAP /* 0x3a */
.align 32
ta HP_BAD_TRAP /* 0x3b */
.align 32
ta HP_BAD_TRAP /* 0x3c */
.align 32
ta HP_BAD_TRAP /* 0x3d */
.align 32
ta HP_BAD_TRAP /* 0x3e */
.align 32
ta HP_BAD_TRAP /* 0x3f */
.align 32
ta HP_BAD_TRAP /* 0x40 */
.align 32
ta HP_BAD_TRAP /* 0x41 */
.align 32
ta HP_BAD_TRAP /* 0x42 */
.align 32
ta HP_BAD_TRAP /* 0x43 */
.align 32
ta HP_BAD_TRAP /* 0x44 */
.align 32
ta HP_BAD_TRAP /* 0x45 */
.align 32
ta HP_BAD_TRAP /* 0x46 */
.align 32
ta HP_BAD_TRAP /* 0x47 */
.align 32
ta HP_BAD_TRAP /* 0x48 */
.align 32
ta HP_BAD_TRAP /* 0x49 */
.align 32
ta HP_BAD_TRAP /* 0x4a */
.align 32
ta HP_BAD_TRAP /* 0x4b */
.align 32
ta HP_BAD_TRAP /* 0x4c */
.align 32
ta HP_BAD_TRAP /* 0x4d */
.align 32
ta HP_BAD_TRAP /* 0x4e */
.align 32
ta HP_BAD_TRAP /* 0x4f */
.align 32
ta HP_BAD_TRAP /* 0x50 */
.align 32
ta HP_BAD_TRAP /* 0x51 */
.align 32
ta HP_BAD_TRAP /* 0x52 */
.align 32
ta HP_BAD_TRAP /* 0x53 */
.align 32
ta HP_BAD_TRAP /* 0x54 */
.align 32
ta HP_BAD_TRAP /* 0x55 */
.align 32
ta HP_BAD_TRAP /* 0x56 */
.align 32
ta HP_BAD_TRAP /* 0x57 */
.align 32
ta HP_BAD_TRAP /* 0x58 */
.align 32
ta HP_BAD_TRAP /* 0x59 */
.align 32
ta HP_BAD_TRAP /* 0x5a */
.align 32
ta HP_BAD_TRAP /* 0x5b */
.align 32
ta HP_BAD_TRAP /* 0x5c */
.align 32
ta HP_BAD_TRAP /* 0x5d */
.align 32
ta HP_BAD_TRAP /* 0x5e */
.align 32
ta HP_BAD_TRAP /* 0x5f */
.align 32
ta HP_BAD_TRAP /* 0x60 */
.align 32
ta HP_BAD_TRAP /* 0x61 */
.align 32
ta HP_BAD_TRAP /* 0x62 */
.align 32
ta HP_BAD_TRAP /* 0x63 */
.align 32
ta HP_BAD_TRAP /* 0x64 */
.align 32
ta HP_BAD_TRAP /* 0x65 */
.align 32
ta HP_BAD_TRAP /* 0x66 */
.align 32
ta HP_BAD_TRAP /* 0x67 */
.align 32
ta HP_BAD_TRAP /* 0x68 */
.align 32
ta HP_BAD_TRAP /* 0x69 */
.align 32
ta HP_BAD_TRAP /* 0x6a */
.align 32
ta HP_BAD_TRAP /* 0x6b */
.align 32
ta HP_BAD_TRAP /* 0x6c */
.align 32
ta HP_BAD_TRAP /* 0x6d */
.align 32
ta HP_BAD_TRAP /* 0x6e */
.align 32
ta HP_BAD_TRAP /* 0x6f */
.align 32
ta HP_BAD_TRAP /* 0x70 */
.align 32
ta HP_BAD_TRAP /* 0x71 */
.align 32
ta HP_BAD_TRAP /* 0x72 */
.align 32
ta HP_BAD_TRAP /* 0x73 */
.align 32
ta HP_BAD_TRAP /* 0x74 */
.align 32
ta HP_BAD_TRAP /* 0x75 */
.align 32
ta HP_BAD_TRAP /* 0x76 */
.align 32
ta HP_BAD_TRAP /* 0x77 */
.align 32
ta HP_BAD_TRAP /* 0x78 */
.align 32
ta HP_BAD_TRAP /* 0x79 */
.align 32
ta HP_BAD_TRAP /* 0x7a */
.align 32
ta HP_BAD_TRAP /* 0x7b */
.align 32
ta HP_BAD_TRAP /* 0x7c */
.align 32
ta HP_BAD_TRAP /* 0x7d */
.align 32
ta HP_BAD_TRAP /* 0x7e */
.align 32
ta HP_BAD_TRAP /* 0x7f */
.align 32
ta HP_BAD_TRAP /* 0x80 */
.align 32
ta HP_BAD_TRAP /* 0x81 */
.align 32
ta HP_BAD_TRAP /* 0x82 */
.align 32
ta HP_BAD_TRAP /* 0x83 */
.align 32
ta HP_BAD_TRAP /* 0x84 */
.align 32
ta HP_BAD_TRAP /* 0x85 */
.align 32
ta HP_BAD_TRAP /* 0x86 */
.align 32
ta HP_BAD_TRAP /* 0x87 */
.align 32
ta HP_BAD_TRAP /* 0x88 */
.align 32
ta HP_BAD_TRAP /* 0x89 */
.align 32
ta HP_BAD_TRAP /* 0x8a */
.align 32
ta HP_BAD_TRAP /* 0x8b */
.align 32
ta HP_BAD_TRAP /* 0x8c */
.align 32
ta HP_BAD_TRAP /* 0x8d */
.align 32
ta HP_BAD_TRAP /* 0x8e */
.align 32
ta HP_BAD_TRAP /* 0x8f */
.align 32
ta HP_BAD_TRAP /* 0x90 */
.align 32
ta HP_BAD_TRAP /* 0x91 */
.align 32
ta HP_BAD_TRAP /* 0x92 */
.align 32
ta HP_BAD_TRAP /* 0x93 */
.align 32
ta HP_BAD_TRAP /* 0x94 */
.align 32
ta HP_BAD_TRAP /* 0x95 */
.align 32
ta HP_BAD_TRAP /* 0x96 */
.align 32
ta HP_BAD_TRAP /* 0x97 */
.align 32
ta HP_BAD_TRAP /* 0x98 */
.align 32
ta HP_BAD_TRAP /* 0x99 */
.align 32
ta HP_BAD_TRAP /* 0x9a */
.align 32
ta HP_BAD_TRAP /* 0x9b */
.align 32
ta HP_BAD_TRAP /* 0x9c */
.align 32
ta HP_BAD_TRAP /* 0x9d */
.align 32
ta HP_BAD_TRAP /* 0x9e */
.align 32
ta HP_BAD_TRAP /* 0x9f */
.align 32
ta HP_BAD_TRAP /* 0xa0 */
.align 32
ta HP_BAD_TRAP /* 0xa1 */
.align 32
ta HP_BAD_TRAP /* 0xa2 */
.align 32
ta HP_BAD_TRAP /* 0xa3 */
.align 32
ta HP_BAD_TRAP /* 0xa4 */
.align 32
ta HP_BAD_TRAP /* 0xa5 */
.align 32
ta HP_BAD_TRAP /* 0xa6 */
.align 32
ta HP_BAD_TRAP /* 0xa7 */
.align 32
ta HP_BAD_TRAP /* 0xa8 */
.align 32
ta HP_BAD_TRAP /* 0xa9 */
.align 32
ta HP_BAD_TRAP /* 0xaa */
.align 32
ta HP_BAD_TRAP /* 0xab */
.align 32
ta HP_BAD_TRAP /* 0xac */
.align 32
ta HP_BAD_TRAP /* 0xad */
.align 32
ta HP_BAD_TRAP /* 0xae */
.align 32
ta HP_BAD_TRAP /* 0xaf */
.align 32
ta HP_BAD_TRAP /* 0xb0 */
.align 32
ta HP_BAD_TRAP /* 0xb1 */
.align 32
ta HP_BAD_TRAP /* 0xb2 */
.align 32
ta HP_BAD_TRAP /* 0xb3 */
.align 32
ta HP_BAD_TRAP /* 0xb4 */
.align 32
ta HP_BAD_TRAP /* 0xb5 */
.align 32
ta HP_BAD_TRAP /* 0xb6 */
.align 32
ta HP_BAD_TRAP /* 0xb7 */
.align 32
ta HP_BAD_TRAP /* 0xb8 */
.align 32
ta HP_BAD_TRAP /* 0xb9 */
.align 32
ta HP_BAD_TRAP /* 0xba */
.align 32
ta HP_BAD_TRAP /* 0xbb */
.align 32
ta HP_BAD_TRAP /* 0xbc */
.align 32
ta HP_BAD_TRAP /* 0xbd */
.align 32
ta HP_BAD_TRAP /* 0xbe */
.align 32
ta HP_BAD_TRAP /* 0xbf */
.align 32
ta HP_BAD_TRAP /* 0xc0 */
.align 32
ta HP_BAD_TRAP /* 0xc1 */
.align 32
ta HP_BAD_TRAP /* 0xc2 */
.align 32
ta HP_BAD_TRAP /* 0xc3 */
.align 32
ta HP_BAD_TRAP /* 0xc4 */
.align 32
ta HP_BAD_TRAP /* 0xc5 */
.align 32
ta HP_BAD_TRAP /* 0xc6 */
.align 32
ta HP_BAD_TRAP /* 0xc7 */
.align 32
ta HP_BAD_TRAP /* 0xc8 */
.align 32
ta HP_BAD_TRAP /* 0xc9 */
.align 32
ta HP_BAD_TRAP /* 0xca */
.align 32
ta HP_BAD_TRAP /* 0xcb */
.align 32
ta HP_BAD_TRAP /* 0xcc */
.align 32
ta HP_BAD_TRAP /* 0xcd */
.align 32
ta HP_BAD_TRAP /* 0xce */
.align 32
ta HP_BAD_TRAP /* 0xcf */
.align 32
ta HP_BAD_TRAP /* 0xd0 */
.align 32
ta HP_BAD_TRAP /* 0xd1 */
.align 32
ta HP_BAD_TRAP /* 0xd2 */
.align 32
ta HP_BAD_TRAP /* 0xd3 */
.align 32
ta HP_BAD_TRAP /* 0xd4 */
.align 32
ta HP_BAD_TRAP /* 0xd5 */
.align 32
ta HP_BAD_TRAP /* 0xd6 */
.align 32
ta HP_BAD_TRAP /* 0xd7 */
.align 32
ta HP_BAD_TRAP /* 0xd8 */
.align 32
ta HP_BAD_TRAP /* 0xd9 */
.align 32
ta HP_BAD_TRAP /* 0xda */
.align 32
ta HP_BAD_TRAP /* 0xdb */
.align 32
ta HP_BAD_TRAP /* 0xdc */
.align 32
ta HP_BAD_TRAP /* 0xdd */
.align 32
ta HP_BAD_TRAP /* 0xde */
.align 32
ta HP_BAD_TRAP /* 0xdf */
.align 32
ta HP_BAD_TRAP /* 0xe0 */
.align 32
ta HP_BAD_TRAP /* 0xe1 */
.align 32
ta HP_BAD_TRAP /* 0xe2 */
.align 32
ta HP_BAD_TRAP /* 0xe3 */
.align 32
ta HP_BAD_TRAP /* 0xe4 */
.align 32
ta HP_BAD_TRAP /* 0xe5 */
.align 32
ta HP_BAD_TRAP /* 0xe6 */
.align 32
ta HP_BAD_TRAP /* 0xe7 */
.align 32
ta HP_BAD_TRAP /* 0xe8 */
.align 32
ta HP_BAD_TRAP /* 0xe9 */
.align 32
ta HP_BAD_TRAP /* 0xea */
.align 32
ta HP_BAD_TRAP /* 0xeb */
.align 32
ta HP_BAD_TRAP /* 0xec */
.align 32
ta HP_BAD_TRAP /* 0xed */
.align 32
ta HP_BAD_TRAP /* 0xee */
.align 32
ta HP_BAD_TRAP /* 0xef */
.align 32
ta HP_BAD_TRAP /* 0xf0 */
.align 32
ta HP_BAD_TRAP /* 0xf1 */
.align 32
ta HP_BAD_TRAP /* 0xf2 */
.align 32
ta HP_BAD_TRAP /* 0xf3 */
.align 32
ta HP_BAD_TRAP /* 0xf4 */
.align 32
ta HP_BAD_TRAP /* 0xf5 */
.align 32
ta HP_BAD_TRAP /* 0xf6 */
.align 32
ta HP_BAD_TRAP /* 0xf7 */
.align 32
ta HP_BAD_TRAP /* 0xf8 */
.align 32
ta HP_BAD_TRAP /* 0xf9 */
.align 32
ta HP_BAD_TRAP /* 0xfa */
.align 32
ta HP_BAD_TRAP /* 0xfb */
.align 32
ta HP_BAD_TRAP /* 0xfc */
.align 32
ta HP_BAD_TRAP /* 0xfd */
.align 32
ta HP_BAD_TRAP /* 0xfe */
.align 32
ta HP_BAD_TRAP /* 0xff */
.align 32
ta HP_GOOD_TRAP /* 0x100 */
.align 32
ta HP_BAD_TRAP /* 0x101 */
.align 32
ta HP_BAD_TRAP /* 0x102 */
.align 32
ta HP_BAD_TRAP /* 0x103 */
.align 32
ta HP_BAD_TRAP /* 0x104 */
.align 32
ta HP_BAD_TRAP /* 0x105 */
.align 32
ta HP_BAD_TRAP /* 0x106 */
.align 32
ta HP_BAD_TRAP /* 0x107 */
.align 32
ta HP_BAD_TRAP /* 0x108 */
.align 32
ta HP_BAD_TRAP /* 0x109 */
.align 32
ta HP_BAD_TRAP /* 0x10a */
.align 32
ta HP_BAD_TRAP /* 0x10b */
.align 32
ta HP_BAD_TRAP /* 0x10c */
.align 32
ta HP_BAD_TRAP /* 0x10d */
.align 32
ta HP_BAD_TRAP /* 0x10e */
.align 32
ta HP_BAD_TRAP /* 0x10f */
.align 32
ta HPTRAP_I_DEMAP_ALL /* 0x110 */
done
.align 32
ta HPTRAP_I_DEMAP_PCTX /* 0x111 */
done
.align 32
ta HPTRAP_I_DEMAP_SCTX /* 0x112 */
done
.align 32
ta HPTRAP_I_DEMAP_NCTX /* 0x113 */
done
.align 32
ta HPTRAP_I_DEMAP_PAGE /* 0x114 */
done
.align 32
ta HPTRAP_I_DEMAP_RPAGE /* 0x115 */
done
.align 32
ta HPTRAP_I_DEMAP_REAL /* 0x116 */
done
.align 32
ta HPTRAP_D_DEMAP_ALL /* 0x117 */
done
.align 32
ta HPTRAP_D_DEMAP_PCTX /* 0x118 */
done
.align 32
ta HPTRAP_D_DEMAP_SCTX /* 0x119 */
done
.align 32
ta HPTRAP_D_DEMAP_NCTX /* 0x11a */
done
.align 32
ta HPTRAP_D_DEMAP_PAGE /* 0x11b */
done
.align 32
ta HPTRAP_D_DEMAP_RPAGE /* 0x11c */
done
.align 32
ta HPTRAP_D_DEMAP_REAL /* 0x11d */
done
.align 32
ta HP_BAD_TRAP /* 0x11e */
.align 32
ta HP_BAD_TRAP /* 0x11f */
.align 32
sllx %i7, 63, %g1
brz %g1, 1f
nop
rdpr %tnpc, %g2
add %g2, 8, %g2
wrpr %g2, %tnpc
1:
done
.align 32
ta HPTRAP_CHANGE_PID /* 0x121 */
done
.align 32
ta HPTRAP_INCR_TSB_SIZE /* 0x122 */
done
.align 32 /* 0x123 */
ldxa [%l1] 0x14, %l2
done
.align 32 /* 0x124 */
ldxa [%l1] 0x1c, %l2
done
.align 32 /* 0x125 */
ldda [%l1] 0x26, %l2
done
.align 32 /* 0x126 */
ldda [%l1] 0x2e, %l2
done
.align 32
ta HPTRAP_CLEAR_LSU_IMMU /* 0x127 */
done
.align 32
ta HPTRAP_CLEAR_LSU_DMMU /* 0x128 */
done
.align 32
ta HPTRAP_DELAY_LOOP /* 0x129 */
done
.align 32
ta HPTRAP_SEM_LOCK /* 0x12a */
done
.align 32
ta HPTRAP_SEM_RELEASE /* 0x12b */
done
.align 32
ta HPTRAP_SEM_GET /* 0x12c */
done
.align 32
ta HPTRAP_SEM_SET /* 0x12d */
done
.align 32
ta HPTRAP_GOTO_SUPERVISOR0 /* 0x12e */
.align 32
ta HPTRAP_GOTO_SUPERVISOR1 /* 0x12f */
.align 32
ta HP_BAD_TRAP /* 0x130 */
.align 32
ta HP_BAD_TRAP /* 0x131 */
.align 32
ta HP_BAD_TRAP /* 0x132 */
.align 32
ta HP_BAD_TRAP /* 0x133 */
.align 32
ta HP_BAD_TRAP /* 0x134 */
.align 32
ta HP_BAD_TRAP /* 0x135 */
.align 32
ta HP_BAD_TRAP /* 0x136 */
.align 32
ta HP_BAD_TRAP /* 0x137 */
.align 32
ta HP_BAD_TRAP /* 0x138 */
.align 32
ta HP_BAD_TRAP /* 0x139 */
.align 32
ta HP_BAD_TRAP /* 0x13a */
.align 32
ta HP_BAD_TRAP /* 0x13b */
.align 32
ta HP_BAD_TRAP /* 0x13c */
.align 32
ta HP_BAD_TRAP /* 0x13d */
.align 32
ta HP_BAD_TRAP /* 0x13e */
.align 32
ta HP_BAD_TRAP /* 0x13f */
.align 32
ta HP_BAD_TRAP /* 0x140 */
.align 32
ta HP_BAD_TRAP /* 0x141 */
.align 32
ta HP_BAD_TRAP /* 0x142 */
.align 32
ta HP_BAD_TRAP /* 0x143 */
.align 32
ta HP_BAD_TRAP /* 0x144 */
.align 32
ta HP_BAD_TRAP /* 0x145 */
.align 32
ta HP_BAD_TRAP /* 0x146 */
.align 32
ta HP_BAD_TRAP /* 0x147 */
.align 32
ta HP_BAD_TRAP /* 0x148 */
.align 32
ta HP_BAD_TRAP /* 0x149 */
.align 32
ta HP_BAD_TRAP /* 0x14a */
.align 32
ta HP_BAD_TRAP /* 0x14b */
.align 32
ta HP_BAD_TRAP /* 0x14c */
.align 32
ta HP_BAD_TRAP /* 0x14d */
.align 32
ta HP_BAD_TRAP /* 0x14e */
.align 32
ta HP_BAD_TRAP /* 0x14f */
.align 32
ta HP_BAD_TRAP /* 0x150 */
.align 32
ta HP_BAD_TRAP /* 0x151 */
.align 32
ta HP_BAD_TRAP /* 0x152 */
.align 32
ta HP_BAD_TRAP /* 0x153 */
.align 32
ta HP_BAD_TRAP /* 0x154 */
.align 32
ta HP_BAD_TRAP /* 0x155 */
.align 32
ta HP_BAD_TRAP /* 0x156 */
.align 32
ta HP_BAD_TRAP /* 0x157 */
.align 32
ta HP_BAD_TRAP /* 0x158 */
.align 32
ta HP_BAD_TRAP /* 0x159 */
.align 32
ta HP_BAD_TRAP /* 0x15a */
.align 32
ta HP_BAD_TRAP /* 0x15b */
.align 32
ta HP_BAD_TRAP /* 0x15c */
.align 32
ta HP_BAD_TRAP /* 0x15d */
.align 32
ta HP_BAD_TRAP /* 0x15e */
.align 32
ta HP_BAD_TRAP /* 0x15f */
.align 32
ta HP_BAD_TRAP /* 0x160 */
.align 32
ta HP_BAD_TRAP /* 0x161 */
.align 32
ta HP_BAD_TRAP /* 0x162 */
.align 32
ta HP_BAD_TRAP /* 0x163 */
.align 32
ta HP_BAD_TRAP /* 0x164 */
.align 32
ta HP_BAD_TRAP /* 0x165 */
.align 32
ta HP_BAD_TRAP /* 0x166 */
.align 32
ta HP_BAD_TRAP /* 0x167 */
.align 32
ta HP_BAD_TRAP /* 0x168 */
.align 32
ta HP_BAD_TRAP /* 0x169 */
.align 32
ta HP_BAD_TRAP /* 0x16a */
.align 32
ta HP_BAD_TRAP /* 0x16b */
.align 32
ta HP_BAD_TRAP /* 0x16c */
.align 32
ta HP_BAD_TRAP /* 0x16d */
.align 32
ta HP_BAD_TRAP /* 0x16e */
.align 32
ta HP_BAD_TRAP /* 0x16f */
.align 32
ta HP_BAD_TRAP /* 0x170 */
.align 32
ta HP_BAD_TRAP /* 0x171 */
.align 32
ta HP_BAD_TRAP /* 0x172 */
.align 32
ta HP_BAD_TRAP /* 0x173 */
.align 32
ta HP_BAD_TRAP /* 0x174 */
.align 32
ta HP_BAD_TRAP /* 0x175 */
.align 32
ta HP_BAD_TRAP /* 0x176 */
.align 32
ta HP_BAD_TRAP /* 0x177 */
.align 32
ta HP_BAD_TRAP /* 0x178 */
.align 32
ta HP_BAD_TRAP /* 0x179 */
.align 32
ta HP_BAD_TRAP /* 0x17a */
.align 32
ta HP_BAD_TRAP /* 0x17b */
.align 32
ta HP_BAD_TRAP /* 0x17c */
.align 32
ta HP_BAD_TRAP /* 0x17d */
.align 32
ta HP_BAD_TRAP /* 0x17e */
.align 32
ta HP_BAD_TRAP /* 0x17f */
.align 32
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_2
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 = 0 ,
TTE_SW1 = 0 ,
TTE_SW0 = 0 ,
TTE_RSVD1 = 0 ,
TTE_Size = 1 ,
end_label = Thr4_Ptrap_Sect_text_end ,
compressimage ,
}
ta HP_BAD_TRAP /* 0x0 */
.align 32
ta HP_BAD_TRAP /* 0x1 */
.align 32
ta HP_BAD_TRAP /* 0x2 */
.align 32
ta HP_BAD_TRAP /* 0x3 */
.align 32
ta HP_BAD_TRAP /* 0x4 */
.align 32
ta HP_BAD_TRAP /* 0x5 */
.align 32
ta HP_BAD_TRAP /* 0x6 */
.align 32
ta HP_BAD_TRAP /* 0x7 */
.align 32
ta HP_BAD_TRAP /* 0x8 */
.align 32
ta HP_BAD_TRAP /* 0x9 */
.align 32
ta HP_BAD_TRAP /* 0xa */
.align 32
ta HP_BAD_TRAP /* 0xb */
.align 32
ta HP_BAD_TRAP /* 0xc */
.align 32
ta HP_BAD_TRAP /* 0xd */
.align 32
ta HP_BAD_TRAP /* 0xe */
.align 32
ta HP_BAD_TRAP /* 0xf */
.align 32
ta HP_BAD_TRAP /* 0x10 */
.align 32
ta HP_BAD_TRAP /* 0x11 */
.align 32
ta HP_BAD_TRAP /* 0x12 */
.align 32
ta HP_BAD_TRAP /* 0x13 */
.align 32
ta HP_BAD_TRAP /* 0x14 */
.align 32
ta HP_BAD_TRAP /* 0x15 */
.align 32
ta HP_BAD_TRAP /* 0x16 */
.align 32
ta HP_BAD_TRAP /* 0x17 */
.align 32
ta HP_BAD_TRAP /* 0x18 */
.align 32
ta HP_BAD_TRAP /* 0x19 */
.align 32
ta HP_BAD_TRAP /* 0x1a */
.align 32
ta HP_BAD_TRAP /* 0x1b */
.align 32
ta HP_BAD_TRAP /* 0x1c */
.align 32
ta HP_BAD_TRAP /* 0x1d */
.align 32
ta HP_BAD_TRAP /* 0x1e */
.align 32
ta HP_BAD_TRAP /* 0x1f */
.align 32
ta HP_BAD_TRAP /* 0x20 */
.align 32
ta HP_BAD_TRAP /* 0x21 */
.align 32
ta HP_BAD_TRAP /* 0x22 */
.align 32
ta HP_BAD_TRAP /* 0x23 */
.align 32
ta HP_BAD_TRAP /* 0x24 */
.align 32
ta HP_BAD_TRAP /* 0x25 */
.align 32
ta HP_BAD_TRAP /* 0x26 */
.align 32
ta HP_BAD_TRAP /* 0x27 */
.align 32
ta HP_BAD_TRAP /* 0x28 */
.align 32
ta HP_BAD_TRAP /* 0x29 */
.align 32
ta HP_BAD_TRAP /* 0x2a */
.align 32
ta HP_BAD_TRAP /* 0x2b */
.align 32
ta HP_BAD_TRAP /* 0x2c */
.align 32
ta HP_BAD_TRAP /* 0x2d */
.align 32
ta HP_BAD_TRAP /* 0x2e */
.align 32
ta HP_BAD_TRAP /* 0x2f */
.align 32
ta HP_BAD_TRAP /* 0x30 */
.align 32
ta HP_BAD_TRAP /* 0x31 */
.align 32
ta HP_BAD_TRAP /* 0x32 */
.align 32
ta HP_BAD_TRAP /* 0x33 */
.align 32
ta HP_BAD_TRAP /* 0x34 */
.align 32
ta HP_BAD_TRAP /* 0x35 */
.align 32
ta HP_BAD_TRAP /* 0x36 */
.align 32
ta HP_BAD_TRAP /* 0x37 */
.align 32
ta HP_BAD_TRAP /* 0x38 */
.align 32
ta HP_BAD_TRAP /* 0x39 */
.align 32
ta HP_BAD_TRAP /* 0x3a */
.align 32
ta HP_BAD_TRAP /* 0x3b */
.align 32
ta HP_BAD_TRAP /* 0x3c */
.align 32
ta HP_BAD_TRAP /* 0x3d */
.align 32
ta HP_BAD_TRAP /* 0x3e */
.align 32
ta HP_BAD_TRAP /* 0x3f */
.align 32
ta HP_BAD_TRAP /* 0x40 */
.align 32
ta HP_BAD_TRAP /* 0x41 */
.align 32
ta HP_BAD_TRAP /* 0x42 */
.align 32
ta HP_BAD_TRAP /* 0x43 */
.align 32
ta HP_BAD_TRAP /* 0x44 */
.align 32
ta HP_BAD_TRAP /* 0x45 */
.align 32
ta HP_BAD_TRAP /* 0x46 */
.align 32
ta HP_BAD_TRAP /* 0x47 */
.align 32
ta HP_BAD_TRAP /* 0x48 */
.align 32
ta HP_BAD_TRAP /* 0x49 */
.align 32
ta HP_BAD_TRAP /* 0x4a */
.align 32
ta HP_BAD_TRAP /* 0x4b */
.align 32
ta HP_BAD_TRAP /* 0x4c */
.align 32
ta HP_BAD_TRAP /* 0x4d */
.align 32
ta HP_BAD_TRAP /* 0x4e */
.align 32
ta HP_BAD_TRAP /* 0x4f */
.align 32
ta HP_BAD_TRAP /* 0x50 */
.align 32
ta HP_BAD_TRAP /* 0x51 */
.align 32
ta HP_BAD_TRAP /* 0x52 */
.align 32
ta HP_BAD_TRAP /* 0x53 */
.align 32
ta HP_BAD_TRAP /* 0x54 */
.align 32
ta HP_BAD_TRAP /* 0x55 */
.align 32
ta HP_BAD_TRAP /* 0x56 */
.align 32
ta HP_BAD_TRAP /* 0x57 */
.align 32
ta HP_BAD_TRAP /* 0x58 */
.align 32
ta HP_BAD_TRAP /* 0x59 */
.align 32
ta HP_BAD_TRAP /* 0x5a */
.align 32
ta HP_BAD_TRAP /* 0x5b */
.align 32
ta HP_BAD_TRAP /* 0x5c */
.align 32
ta HP_BAD_TRAP /* 0x5d */
.align 32
ta HP_BAD_TRAP /* 0x5e */
.align 32
ta HP_BAD_TRAP /* 0x5f */
.align 32
ta HP_BAD_TRAP /* 0x60 */
.align 32
ta HP_BAD_TRAP /* 0x61 */
.align 32
ta HP_BAD_TRAP /* 0x62 */
.align 32
ta HP_BAD_TRAP /* 0x63 */
.align 32
ta HP_BAD_TRAP /* 0x64 */
.align 32
ta HP_BAD_TRAP /* 0x65 */
.align 32
ta HP_BAD_TRAP /* 0x66 */
.align 32
ta HP_BAD_TRAP /* 0x67 */
.align 32
ta HP_BAD_TRAP /* 0x68 */
.align 32
ta HP_BAD_TRAP /* 0x69 */
.align 32
ta HP_BAD_TRAP /* 0x6a */
.align 32
ta HP_BAD_TRAP /* 0x6b */
.align 32
ta HP_BAD_TRAP /* 0x6c */
.align 32
ta HP_BAD_TRAP /* 0x6d */
.align 32
ta HP_BAD_TRAP /* 0x6e */
.align 32
ta HP_BAD_TRAP /* 0x6f */
.align 32
ta HP_BAD_TRAP /* 0x70 */
.align 32
ta HP_BAD_TRAP /* 0x71 */
.align 32
ta HP_BAD_TRAP /* 0x72 */
.align 32
ta HP_BAD_TRAP /* 0x73 */
.align 32
ta HP_BAD_TRAP /* 0x74 */
.align 32
ta HP_BAD_TRAP /* 0x75 */
.align 32
ta HP_BAD_TRAP /* 0x76 */
.align 32
ta HP_BAD_TRAP /* 0x77 */
.align 32
ta HP_BAD_TRAP /* 0x78 */
.align 32
ta HP_BAD_TRAP /* 0x79 */
.align 32
ta HP_BAD_TRAP /* 0x7a */
.align 32
ta HP_BAD_TRAP /* 0x7b */
.align 32
ta HP_BAD_TRAP /* 0x7c */
.align 32
ta HP_BAD_TRAP /* 0x7d */
.align 32
ta HP_BAD_TRAP /* 0x7e */
.align 32
ta HP_BAD_TRAP /* 0x7f */
.align 32
ta HP_BAD_TRAP /* 0x80 */
.align 32
ta HP_BAD_TRAP /* 0x81 */
.align 32
ta HP_BAD_TRAP /* 0x82 */
.align 32
ta HP_BAD_TRAP /* 0x83 */
.align 32
ta HP_BAD_TRAP /* 0x84 */
.align 32
ta HP_BAD_TRAP /* 0x85 */
.align 32
ta HP_BAD_TRAP /* 0x86 */
.align 32
ta HP_BAD_TRAP /* 0x87 */
.align 32
ta HP_BAD_TRAP /* 0x88 */
.align 32
ta HP_BAD_TRAP /* 0x89 */
.align 32
ta HP_BAD_TRAP /* 0x8a */
.align 32
ta HP_BAD_TRAP /* 0x8b */
.align 32
ta HP_BAD_TRAP /* 0x8c */
.align 32
ta HP_BAD_TRAP /* 0x8d */
.align 32
ta HP_BAD_TRAP /* 0x8e */
.align 32
ta HP_BAD_TRAP /* 0x8f */
.align 32
ta HP_BAD_TRAP /* 0x90 */
.align 32
ta HP_BAD_TRAP /* 0x91 */
.align 32
ta HP_BAD_TRAP /* 0x92 */
.align 32
ta HP_BAD_TRAP /* 0x93 */
.align 32
ta HP_BAD_TRAP /* 0x94 */
.align 32
ta HP_BAD_TRAP /* 0x95 */
.align 32
ta HP_BAD_TRAP /* 0x96 */
.align 32
ta HP_BAD_TRAP /* 0x97 */
.align 32
ta HP_BAD_TRAP /* 0x98 */
.align 32
ta HP_BAD_TRAP /* 0x99 */
.align 32
ta HP_BAD_TRAP /* 0x9a */
.align 32
ta HP_BAD_TRAP /* 0x9b */
.align 32
ta HP_BAD_TRAP /* 0x9c */
.align 32
ta HP_BAD_TRAP /* 0x9d */
.align 32
ta HP_BAD_TRAP /* 0x9e */
.align 32
ta HP_BAD_TRAP /* 0x9f */
.align 32
ta HP_BAD_TRAP /* 0xa0 */
.align 32
ta HP_BAD_TRAP /* 0xa1 */
.align 32
ta HP_BAD_TRAP /* 0xa2 */
.align 32
ta HP_BAD_TRAP /* 0xa3 */
.align 32
ta HP_BAD_TRAP /* 0xa4 */
.align 32
ta HP_BAD_TRAP /* 0xa5 */
.align 32
ta HP_BAD_TRAP /* 0xa6 */
.align 32
ta HP_BAD_TRAP /* 0xa7 */
.align 32
ta HP_BAD_TRAP /* 0xa8 */
.align 32
ta HP_BAD_TRAP /* 0xa9 */
.align 32
ta HP_BAD_TRAP /* 0xaa */
.align 32
ta HP_BAD_TRAP /* 0xab */
.align 32
ta HP_BAD_TRAP /* 0xac */
.align 32
ta HP_BAD_TRAP /* 0xad */
.align 32
ta HP_BAD_TRAP /* 0xae */
.align 32
ta HP_BAD_TRAP /* 0xaf */
.align 32
ta HP_BAD_TRAP /* 0xb0 */
.align 32
ta HP_BAD_TRAP /* 0xb1 */
.align 32
ta HP_BAD_TRAP /* 0xb2 */
.align 32
ta HP_BAD_TRAP /* 0xb3 */
.align 32
ta HP_BAD_TRAP /* 0xb4 */
.align 32
ta HP_BAD_TRAP /* 0xb5 */
.align 32
ta HP_BAD_TRAP /* 0xb6 */
.align 32
ta HP_BAD_TRAP /* 0xb7 */
.align 32
ta HP_BAD_TRAP /* 0xb8 */
.align 32
ta HP_BAD_TRAP /* 0xb9 */
.align 32
ta HP_BAD_TRAP /* 0xba */
.align 32
ta HP_BAD_TRAP /* 0xbb */
.align 32
ta HP_BAD_TRAP /* 0xbc */
.align 32
ta HP_BAD_TRAP /* 0xbd */
.align 32
ta HP_BAD_TRAP /* 0xbe */
.align 32
ta HP_BAD_TRAP /* 0xbf */
.align 32
ta HP_BAD_TRAP /* 0xc0 */
.align 32
ta HP_BAD_TRAP /* 0xc1 */
.align 32
ta HP_BAD_TRAP /* 0xc2 */
.align 32
ta HP_BAD_TRAP /* 0xc3 */
.align 32
ta HP_BAD_TRAP /* 0xc4 */
.align 32
ta HP_BAD_TRAP /* 0xc5 */
.align 32
ta HP_BAD_TRAP /* 0xc6 */
.align 32
ta HP_BAD_TRAP /* 0xc7 */
.align 32
ta HP_BAD_TRAP /* 0xc8 */
.align 32
ta HP_BAD_TRAP /* 0xc9 */
.align 32
ta HP_BAD_TRAP /* 0xca */
.align 32
ta HP_BAD_TRAP /* 0xcb */
.align 32
ta HP_BAD_TRAP /* 0xcc */
.align 32
ta HP_BAD_TRAP /* 0xcd */
.align 32
ta HP_BAD_TRAP /* 0xce */
.align 32
ta HP_BAD_TRAP /* 0xcf */
.align 32
ta HP_BAD_TRAP /* 0xd0 */
.align 32
ta HP_BAD_TRAP /* 0xd1 */
.align 32
ta HP_BAD_TRAP /* 0xd2 */
.align 32
ta HP_BAD_TRAP /* 0xd3 */
.align 32
ta HP_BAD_TRAP /* 0xd4 */
.align 32
ta HP_BAD_TRAP /* 0xd5 */
.align 32
ta HP_BAD_TRAP /* 0xd6 */
.align 32
ta HP_BAD_TRAP /* 0xd7 */
.align 32
ta HP_BAD_TRAP /* 0xd8 */
.align 32
ta HP_BAD_TRAP /* 0xd9 */
.align 32
ta HP_BAD_TRAP /* 0xda */
.align 32
ta HP_BAD_TRAP /* 0xdb */
.align 32
ta HP_BAD_TRAP /* 0xdc */
.align 32
ta HP_BAD_TRAP /* 0xdd */
.align 32
ta HP_BAD_TRAP /* 0xde */
.align 32
ta HP_BAD_TRAP /* 0xdf */
.align 32
ta HP_BAD_TRAP /* 0xe0 */
.align 32
ta HP_BAD_TRAP /* 0xe1 */
.align 32
ta HP_BAD_TRAP /* 0xe2 */
.align 32
ta HP_BAD_TRAP /* 0xe3 */
.align 32
ta HP_BAD_TRAP /* 0xe4 */
.align 32
ta HP_BAD_TRAP /* 0xe5 */
.align 32
ta HP_BAD_TRAP /* 0xe6 */
.align 32
ta HP_BAD_TRAP /* 0xe7 */
.align 32
ta HP_BAD_TRAP /* 0xe8 */
.align 32
ta HP_BAD_TRAP /* 0xe9 */
.align 32
ta HP_BAD_TRAP /* 0xea */
.align 32
ta HP_BAD_TRAP /* 0xeb */
.align 32
ta HP_BAD_TRAP /* 0xec */
.align 32
ta HP_BAD_TRAP /* 0xed */
.align 32
ta HP_BAD_TRAP /* 0xee */
.align 32
ta HP_BAD_TRAP /* 0xef */
.align 32
ta HP_BAD_TRAP /* 0xf0 */
.align 32
ta HP_BAD_TRAP /* 0xf1 */
.align 32
ta HP_BAD_TRAP /* 0xf2 */
.align 32
ta HP_BAD_TRAP /* 0xf3 */
.align 32
ta HP_BAD_TRAP /* 0xf4 */
.align 32
ta HP_BAD_TRAP /* 0xf5 */
.align 32
ta HP_BAD_TRAP /* 0xf6 */
.align 32
ta HP_BAD_TRAP /* 0xf7 */
.align 32
ta HP_BAD_TRAP /* 0xf8 */
.align 32
ta HP_BAD_TRAP /* 0xf9 */
.align 32
ta HP_BAD_TRAP /* 0xfa */
.align 32
ta HP_BAD_TRAP /* 0xfb */
.align 32
ta HP_BAD_TRAP /* 0xfc */
.align 32
ta HP_BAD_TRAP /* 0xfd */
.align 32
ta HP_BAD_TRAP /* 0xfe */
.align 32
ta HP_BAD_TRAP /* 0xff */
.align 32
ta HP_GOOD_TRAP /* 0x100 */
.align 32
ta HP_BAD_TRAP /* 0x101 */
.align 32
ta HP_BAD_TRAP /* 0x102 */
.align 32
ta HP_BAD_TRAP /* 0x103 */
.align 32
ta HP_BAD_TRAP /* 0x104 */
.align 32
ta HP_BAD_TRAP /* 0x105 */
.align 32
ta HP_BAD_TRAP /* 0x106 */
.align 32
ta HP_BAD_TRAP /* 0x107 */
.align 32
ta HP_BAD_TRAP /* 0x108 */
.align 32
ta HP_BAD_TRAP /* 0x109 */
.align 32
ta HP_BAD_TRAP /* 0x10a */
.align 32
ta HP_BAD_TRAP /* 0x10b */
.align 32
ta HP_BAD_TRAP /* 0x10c */
.align 32
ta HP_BAD_TRAP /* 0x10d */
.align 32
ta HP_BAD_TRAP /* 0x10e */
.align 32
ta HP_BAD_TRAP /* 0x10f */
.align 32
ta HPTRAP_I_DEMAP_ALL /* 0x110 */
done
.align 32
ta HPTRAP_I_DEMAP_PCTX /* 0x111 */
done
.align 32
ta HPTRAP_I_DEMAP_SCTX /* 0x112 */
done
.align 32
ta HPTRAP_I_DEMAP_NCTX /* 0x113 */
done
.align 32
ta HPTRAP_I_DEMAP_PAGE /* 0x114 */
done
.align 32
ta HPTRAP_I_DEMAP_RPAGE /* 0x115 */
done
.align 32
ta HPTRAP_I_DEMAP_REAL /* 0x116 */
done
.align 32
ta HPTRAP_D_DEMAP_ALL /* 0x117 */
done
.align 32
ta HPTRAP_D_DEMAP_PCTX /* 0x118 */
done
.align 32
ta HPTRAP_D_DEMAP_SCTX /* 0x119 */
done
.align 32
ta HPTRAP_D_DEMAP_NCTX /* 0x11a */
done
.align 32
ta HPTRAP_D_DEMAP_PAGE /* 0x11b */
done
.align 32
ta HPTRAP_D_DEMAP_RPAGE /* 0x11c */
done
.align 32
ta HPTRAP_D_DEMAP_REAL /* 0x11d */
done
.align 32
ta HP_BAD_TRAP /* 0x11e */
.align 32
ta HP_BAD_TRAP /* 0x11f */
.align 32
sllx %i7, 63, %g1
brz %g1, 1f
nop
rdpr %tnpc, %g2
add %g2, 8, %g2
wrpr %g2, %tnpc
1:
done
.align 32
ta HPTRAP_CHANGE_PID /* 0x121 */
done
.align 32
ta HPTRAP_INCR_TSB_SIZE /* 0x122 */
done
.align 32 /* 0x123 */
ldxa [%l1] 0x14, %l2
done
.align 32 /* 0x124 */
ldxa [%l1] 0x1c, %l2
done
.align 32 /* 0x125 */
ldda [%l1] 0x26, %l2
done
.align 32 /* 0x126 */
ldda [%l1] 0x2e, %l2
done
.align 32
ta HPTRAP_CLEAR_LSU_IMMU /* 0x127 */
done
.align 32
ta HPTRAP_CLEAR_LSU_DMMU /* 0x128 */
done
.align 32
ta HPTRAP_DELAY_LOOP /* 0x129 */
done
.align 32
ta HPTRAP_SEM_LOCK /* 0x12a */
done
.align 32
ta HPTRAP_SEM_RELEASE /* 0x12b */
done
.align 32
ta HPTRAP_SEM_GET /* 0x12c */
done
.align 32
ta HPTRAP_SEM_SET /* 0x12d */
done
.align 32
ta HPTRAP_GOTO_SUPERVISOR0 /* 0x12e */
.align 32
ta HPTRAP_GOTO_SUPERVISOR1 /* 0x12f */
.align 32
ta HP_BAD_TRAP /* 0x130 */
.align 32
ta HP_BAD_TRAP /* 0x131 */
.align 32
ta HP_BAD_TRAP /* 0x132 */
.align 32
ta HP_BAD_TRAP /* 0x133 */
.align 32
ta HP_BAD_TRAP /* 0x134 */
.align 32
ta HP_BAD_TRAP /* 0x135 */
.align 32
ta HP_BAD_TRAP /* 0x136 */
.align 32
ta HP_BAD_TRAP /* 0x137 */
.align 32
ta HP_BAD_TRAP /* 0x138 */
.align 32
ta HP_BAD_TRAP /* 0x139 */
.align 32
ta HP_BAD_TRAP /* 0x13a */
.align 32
ta HP_BAD_TRAP /* 0x13b */
.align 32
ta HP_BAD_TRAP /* 0x13c */
.align 32
ta HP_BAD_TRAP /* 0x13d */
.align 32
ta HP_BAD_TRAP /* 0x13e */
.align 32
ta HP_BAD_TRAP /* 0x13f */
.align 32
ta HP_BAD_TRAP /* 0x140 */
.align 32
ta HP_BAD_TRAP /* 0x141 */
.align 32
ta HP_BAD_TRAP /* 0x142 */
.align 32
ta HP_BAD_TRAP /* 0x143 */
.align 32
ta HP_BAD_TRAP /* 0x144 */
.align 32
ta HP_BAD_TRAP /* 0x145 */
.align 32
ta HP_BAD_TRAP /* 0x146 */
.align 32
ta HP_BAD_TRAP /* 0x147 */
.align 32
ta HP_BAD_TRAP /* 0x148 */
.align 32
ta HP_BAD_TRAP /* 0x149 */
.align 32
ta HP_BAD_TRAP /* 0x14a */
.align 32
ta HP_BAD_TRAP /* 0x14b */
.align 32
ta HP_BAD_TRAP /* 0x14c */
.align 32
ta HP_BAD_TRAP /* 0x14d */
.align 32
ta HP_BAD_TRAP /* 0x14e */
.align 32
ta HP_BAD_TRAP /* 0x14f */
.align 32
ta HP_BAD_TRAP /* 0x150 */
.align 32
ta HP_BAD_TRAP /* 0x151 */
.align 32
ta HP_BAD_TRAP /* 0x152 */
.align 32
ta HP_BAD_TRAP /* 0x153 */
.align 32
ta HP_BAD_TRAP /* 0x154 */
.align 32
ta HP_BAD_TRAP /* 0x155 */
.align 32
ta HP_BAD_TRAP /* 0x156 */
.align 32
ta HP_BAD_TRAP /* 0x157 */
.align 32
ta HP_BAD_TRAP /* 0x158 */
.align 32
ta HP_BAD_TRAP /* 0x159 */
.align 32
ta HP_BAD_TRAP /* 0x15a */
.align 32
ta HP_BAD_TRAP /* 0x15b */
.align 32
ta HP_BAD_TRAP /* 0x15c */
.align 32
ta HP_BAD_TRAP /* 0x15d */
.align 32
ta HP_BAD_TRAP /* 0x15e */
.align 32
ta HP_BAD_TRAP /* 0x15f */
.align 32
ta HP_BAD_TRAP /* 0x160 */
.align 32
ta HP_BAD_TRAP /* 0x161 */
.align 32
ta HP_BAD_TRAP /* 0x162 */
.align 32
ta HP_BAD_TRAP /* 0x163 */
.align 32
ta HP_BAD_TRAP /* 0x164 */
.align 32
ta HP_BAD_TRAP /* 0x165 */
.align 32
ta HP_BAD_TRAP /* 0x166 */
.align 32
ta HP_BAD_TRAP /* 0x167 */
.align 32
ta HP_BAD_TRAP /* 0x168 */
.align 32
ta HP_BAD_TRAP /* 0x169 */
.align 32
ta HP_BAD_TRAP /* 0x16a */
.align 32
ta HP_BAD_TRAP /* 0x16b */
.align 32
ta HP_BAD_TRAP /* 0x16c */
.align 32
ta HP_BAD_TRAP /* 0x16d */
.align 32
ta HP_BAD_TRAP /* 0x16e */
.align 32
ta HP_BAD_TRAP /* 0x16f */
.align 32
ta HP_BAD_TRAP /* 0x170 */
.align 32
ta HP_BAD_TRAP /* 0x171 */
.align 32
ta HP_BAD_TRAP /* 0x172 */
.align 32
ta HP_BAD_TRAP /* 0x173 */
.align 32
ta HP_BAD_TRAP /* 0x174 */
.align 32
ta HP_BAD_TRAP /* 0x175 */
.align 32
ta HP_BAD_TRAP /* 0x176 */
.align 32
ta HP_BAD_TRAP /* 0x177 */
.align 32
ta HP_BAD_TRAP /* 0x178 */
.align 32
ta HP_BAD_TRAP /* 0x179 */
.align 32
ta HP_BAD_TRAP /* 0x17a */
.align 32
ta HP_BAD_TRAP /* 0x17b */
.align 32
ta HP_BAD_TRAP /* 0x17c */
.align 32
ta HP_BAD_TRAP /* 0x17d */
.align 32
ta HP_BAD_TRAP /* 0x17e */
.align 32
ta HP_BAD_TRAP /* 0x17f */
.align 32
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_2
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 = 0 ,
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 ,
}
ta HP_BAD_TRAP /* 0x0 */
.align 32
ta HP_BAD_TRAP /* 0x1 */
.align 32
ta HP_BAD_TRAP /* 0x2 */
.align 32
ta HP_BAD_TRAP /* 0x3 */
.align 32
ta HP_BAD_TRAP /* 0x4 */
.align 32
ta HP_BAD_TRAP /* 0x5 */
.align 32
ta HP_BAD_TRAP /* 0x6 */
.align 32
ta HP_BAD_TRAP /* 0x7 */
.align 32
ta HP_BAD_TRAP /* 0x8 */
.align 32
ta HP_BAD_TRAP /* 0x9 */
.align 32
ta HP_BAD_TRAP /* 0xa */
.align 32
ta HP_BAD_TRAP /* 0xb */
.align 32
ta HP_BAD_TRAP /* 0xc */
.align 32
ta HP_BAD_TRAP /* 0xd */
.align 32
ta HP_BAD_TRAP /* 0xe */
.align 32
ta HP_BAD_TRAP /* 0xf */
.align 32
ta HP_BAD_TRAP /* 0x10 */
.align 32
ta HP_BAD_TRAP /* 0x11 */
.align 32
ta HP_BAD_TRAP /* 0x12 */
.align 32
ta HP_BAD_TRAP /* 0x13 */
.align 32
ta HP_BAD_TRAP /* 0x14 */
.align 32
ta HP_BAD_TRAP /* 0x15 */
.align 32
ta HP_BAD_TRAP /* 0x16 */
.align 32
ta HP_BAD_TRAP /* 0x17 */
.align 32
ta HP_BAD_TRAP /* 0x18 */
.align 32
ta HP_BAD_TRAP /* 0x19 */
.align 32
ta HP_BAD_TRAP /* 0x1a */
.align 32
ta HP_BAD_TRAP /* 0x1b */
.align 32
ta HP_BAD_TRAP /* 0x1c */
.align 32
ta HP_BAD_TRAP /* 0x1d */
.align 32
ta HP_BAD_TRAP /* 0x1e */
.align 32
ta HP_BAD_TRAP /* 0x1f */
.align 32
ta HP_BAD_TRAP /* 0x20 */
.align 32
ta HP_BAD_TRAP /* 0x21 */
.align 32
ta HP_BAD_TRAP /* 0x22 */
.align 32
ta HP_BAD_TRAP /* 0x23 */
.align 32
ta HP_BAD_TRAP /* 0x24 */
.align 32
ta HP_BAD_TRAP /* 0x25 */
.align 32
ta HP_BAD_TRAP /* 0x26 */
.align 32
ta HP_BAD_TRAP /* 0x27 */
.align 32
ta HP_BAD_TRAP /* 0x28 */
.align 32
ta HP_BAD_TRAP /* 0x29 */
.align 32
ta HP_BAD_TRAP /* 0x2a */
.align 32
ta HP_BAD_TRAP /* 0x2b */
.align 32
ta HP_BAD_TRAP /* 0x2c */
.align 32
ta HP_BAD_TRAP /* 0x2d */
.align 32
ta HP_BAD_TRAP /* 0x2e */
.align 32
ta HP_BAD_TRAP /* 0x2f */
.align 32
ta HP_BAD_TRAP /* 0x30 */
.align 32
ta HP_BAD_TRAP /* 0x31 */
.align 32
ta HP_BAD_TRAP /* 0x32 */
.align 32
ta HP_BAD_TRAP /* 0x33 */
.align 32
ta HP_BAD_TRAP /* 0x34 */
.align 32
ta HP_BAD_TRAP /* 0x35 */
.align 32
ta HP_BAD_TRAP /* 0x36 */
.align 32
ta HP_BAD_TRAP /* 0x37 */
.align 32
ta HP_BAD_TRAP /* 0x38 */
.align 32
ta HP_BAD_TRAP /* 0x39 */
.align 32
ta HP_BAD_TRAP /* 0x3a */
.align 32
ta HP_BAD_TRAP /* 0x3b */
.align 32
ta HP_BAD_TRAP /* 0x3c */
.align 32
ta HP_BAD_TRAP /* 0x3d */
.align 32
ta HP_BAD_TRAP /* 0x3e */
.align 32
ta HP_BAD_TRAP /* 0x3f */
.align 32
ta HP_BAD_TRAP /* 0x40 */
.align 32
ta HP_BAD_TRAP /* 0x41 */
.align 32
ta HP_BAD_TRAP /* 0x42 */
.align 32
ta HP_BAD_TRAP /* 0x43 */
.align 32
ta HP_BAD_TRAP /* 0x44 */
.align 32
ta HP_BAD_TRAP /* 0x45 */
.align 32
ta HP_BAD_TRAP /* 0x46 */
.align 32
ta HP_BAD_TRAP /* 0x47 */
.align 32
ta HP_BAD_TRAP /* 0x48 */
.align 32
ta HP_BAD_TRAP /* 0x49 */
.align 32
ta HP_BAD_TRAP /* 0x4a */
.align 32
ta HP_BAD_TRAP /* 0x4b */
.align 32
ta HP_BAD_TRAP /* 0x4c */
.align 32
ta HP_BAD_TRAP /* 0x4d */
.align 32
ta HP_BAD_TRAP /* 0x4e */
.align 32
ta HP_BAD_TRAP /* 0x4f */
.align 32
ta HP_BAD_TRAP /* 0x50 */
.align 32
ta HP_BAD_TRAP /* 0x51 */
.align 32
ta HP_BAD_TRAP /* 0x52 */
.align 32
ta HP_BAD_TRAP /* 0x53 */
.align 32
ta HP_BAD_TRAP /* 0x54 */
.align 32
ta HP_BAD_TRAP /* 0x55 */
.align 32
ta HP_BAD_TRAP /* 0x56 */
.align 32
ta HP_BAD_TRAP /* 0x57 */
.align 32
ta HP_BAD_TRAP /* 0x58 */
.align 32
ta HP_BAD_TRAP /* 0x59 */
.align 32
ta HP_BAD_TRAP /* 0x5a */
.align 32
ta HP_BAD_TRAP /* 0x5b */
.align 32
ta HP_BAD_TRAP /* 0x5c */
.align 32
ta HP_BAD_TRAP /* 0x5d */
.align 32
ta HP_BAD_TRAP /* 0x5e */
.align 32
ta HP_BAD_TRAP /* 0x5f */
.align 32
ta HP_BAD_TRAP /* 0x60 */
.align 32
ta HP_BAD_TRAP /* 0x61 */
.align 32
ta HP_BAD_TRAP /* 0x62 */
.align 32
ta HP_BAD_TRAP /* 0x63 */
.align 32
ta HP_BAD_TRAP /* 0x64 */
.align 32
ta HP_BAD_TRAP /* 0x65 */
.align 32
ta HP_BAD_TRAP /* 0x66 */
.align 32
ta HP_BAD_TRAP /* 0x67 */
.align 32
ta HP_BAD_TRAP /* 0x68 */
.align 32
ta HP_BAD_TRAP /* 0x69 */
.align 32
ta HP_BAD_TRAP /* 0x6a */
.align 32
ta HP_BAD_TRAP /* 0x6b */
.align 32
ta HP_BAD_TRAP /* 0x6c */
.align 32
ta HP_BAD_TRAP /* 0x6d */
.align 32
ta HP_BAD_TRAP /* 0x6e */
.align 32
ta HP_BAD_TRAP /* 0x6f */
.align 32
ta HP_BAD_TRAP /* 0x70 */
.align 32
ta HP_BAD_TRAP /* 0x71 */
.align 32
ta HP_BAD_TRAP /* 0x72 */
.align 32
ta HP_BAD_TRAP /* 0x73 */
.align 32
ta HP_BAD_TRAP /* 0x74 */
.align 32
ta HP_BAD_TRAP /* 0x75 */
.align 32
ta HP_BAD_TRAP /* 0x76 */
.align 32
ta HP_BAD_TRAP /* 0x77 */
.align 32
ta HP_BAD_TRAP /* 0x78 */
.align 32
ta HP_BAD_TRAP /* 0x79 */
.align 32
ta HP_BAD_TRAP /* 0x7a */
.align 32
ta HP_BAD_TRAP /* 0x7b */
.align 32
ta HP_BAD_TRAP /* 0x7c */
.align 32
ta HP_BAD_TRAP /* 0x7d */
.align 32
ta HP_BAD_TRAP /* 0x7e */
.align 32
ta HP_BAD_TRAP /* 0x7f */
.align 32
ta HP_BAD_TRAP /* 0x80 */
.align 32
ta HP_BAD_TRAP /* 0x81 */
.align 32
ta HP_BAD_TRAP /* 0x82 */
.align 32
ta HP_BAD_TRAP /* 0x83 */
.align 32
ta HP_BAD_TRAP /* 0x84 */
.align 32
ta HP_BAD_TRAP /* 0x85 */
.align 32
ta HP_BAD_TRAP /* 0x86 */
.align 32
ta HP_BAD_TRAP /* 0x87 */
.align 32
ta HP_BAD_TRAP /* 0x88 */
.align 32
ta HP_BAD_TRAP /* 0x89 */
.align 32
ta HP_BAD_TRAP /* 0x8a */
.align 32
ta HP_BAD_TRAP /* 0x8b */
.align 32
ta HP_BAD_TRAP /* 0x8c */
.align 32
ta HP_BAD_TRAP /* 0x8d */
.align 32
ta HP_BAD_TRAP /* 0x8e */
.align 32
ta HP_BAD_TRAP /* 0x8f */
.align 32
ta HP_BAD_TRAP /* 0x90 */
.align 32
ta HP_BAD_TRAP /* 0x91 */
.align 32
ta HP_BAD_TRAP /* 0x92 */
.align 32
ta HP_BAD_TRAP /* 0x93 */
.align 32
ta HP_BAD_TRAP /* 0x94 */
.align 32
ta HP_BAD_TRAP /* 0x95 */
.align 32
ta HP_BAD_TRAP /* 0x96 */
.align 32
ta HP_BAD_TRAP /* 0x97 */
.align 32
ta HP_BAD_TRAP /* 0x98 */
.align 32
ta HP_BAD_TRAP /* 0x99 */
.align 32
ta HP_BAD_TRAP /* 0x9a */
.align 32
ta HP_BAD_TRAP /* 0x9b */
.align 32
ta HP_BAD_TRAP /* 0x9c */
.align 32
ta HP_BAD_TRAP /* 0x9d */
.align 32
ta HP_BAD_TRAP /* 0x9e */
.align 32
ta HP_BAD_TRAP /* 0x9f */
.align 32
ta HP_BAD_TRAP /* 0xa0 */
.align 32
ta HP_BAD_TRAP /* 0xa1 */
.align 32
ta HP_BAD_TRAP /* 0xa2 */
.align 32
ta HP_BAD_TRAP /* 0xa3 */
.align 32
ta HP_BAD_TRAP /* 0xa4 */
.align 32
ta HP_BAD_TRAP /* 0xa5 */
.align 32
ta HP_BAD_TRAP /* 0xa6 */
.align 32
ta HP_BAD_TRAP /* 0xa7 */
.align 32
ta HP_BAD_TRAP /* 0xa8 */
.align 32
ta HP_BAD_TRAP /* 0xa9 */
.align 32
ta HP_BAD_TRAP /* 0xaa */
.align 32
ta HP_BAD_TRAP /* 0xab */
.align 32
ta HP_BAD_TRAP /* 0xac */
.align 32
ta HP_BAD_TRAP /* 0xad */
.align 32
ta HP_BAD_TRAP /* 0xae */
.align 32
ta HP_BAD_TRAP /* 0xaf */
.align 32
ta HP_BAD_TRAP /* 0xb0 */
.align 32
ta HP_BAD_TRAP /* 0xb1 */
.align 32
ta HP_BAD_TRAP /* 0xb2 */
.align 32
ta HP_BAD_TRAP /* 0xb3 */
.align 32
ta HP_BAD_TRAP /* 0xb4 */
.align 32
ta HP_BAD_TRAP /* 0xb5 */
.align 32
ta HP_BAD_TRAP /* 0xb6 */
.align 32
ta HP_BAD_TRAP /* 0xb7 */
.align 32
ta HP_BAD_TRAP /* 0xb8 */
.align 32
ta HP_BAD_TRAP /* 0xb9 */
.align 32
ta HP_BAD_TRAP /* 0xba */
.align 32
ta HP_BAD_TRAP /* 0xbb */
.align 32
ta HP_BAD_TRAP /* 0xbc */
.align 32
ta HP_BAD_TRAP /* 0xbd */
.align 32
ta HP_BAD_TRAP /* 0xbe */
.align 32
ta HP_BAD_TRAP /* 0xbf */
.align 32
ta HP_BAD_TRAP /* 0xc0 */
.align 32
ta HP_BAD_TRAP /* 0xc1 */
.align 32
ta HP_BAD_TRAP /* 0xc2 */
.align 32
ta HP_BAD_TRAP /* 0xc3 */
.align 32
ta HP_BAD_TRAP /* 0xc4 */
.align 32
ta HP_BAD_TRAP /* 0xc5 */
.align 32
ta HP_BAD_TRAP /* 0xc6 */
.align 32
ta HP_BAD_TRAP /* 0xc7 */
.align 32
ta HP_BAD_TRAP /* 0xc8 */
.align 32
ta HP_BAD_TRAP /* 0xc9 */
.align 32
ta HP_BAD_TRAP /* 0xca */
.align 32
ta HP_BAD_TRAP /* 0xcb */
.align 32
ta HP_BAD_TRAP /* 0xcc */
.align 32
ta HP_BAD_TRAP /* 0xcd */
.align 32
ta HP_BAD_TRAP /* 0xce */
.align 32
ta HP_BAD_TRAP /* 0xcf */
.align 32
ta HP_BAD_TRAP /* 0xd0 */
.align 32
ta HP_BAD_TRAP /* 0xd1 */
.align 32
ta HP_BAD_TRAP /* 0xd2 */
.align 32
ta HP_BAD_TRAP /* 0xd3 */
.align 32
ta HP_BAD_TRAP /* 0xd4 */
.align 32
ta HP_BAD_TRAP /* 0xd5 */
.align 32
ta HP_BAD_TRAP /* 0xd6 */
.align 32
ta HP_BAD_TRAP /* 0xd7 */
.align 32
ta HP_BAD_TRAP /* 0xd8 */
.align 32
ta HP_BAD_TRAP /* 0xd9 */
.align 32
ta HP_BAD_TRAP /* 0xda */
.align 32
ta HP_BAD_TRAP /* 0xdb */
.align 32
ta HP_BAD_TRAP /* 0xdc */
.align 32
ta HP_BAD_TRAP /* 0xdd */
.align 32
ta HP_BAD_TRAP /* 0xde */
.align 32
ta HP_BAD_TRAP /* 0xdf */
.align 32
ta HP_BAD_TRAP /* 0xe0 */
.align 32
ta HP_BAD_TRAP /* 0xe1 */
.align 32
ta HP_BAD_TRAP /* 0xe2 */
.align 32
ta HP_BAD_TRAP /* 0xe3 */
.align 32
ta HP_BAD_TRAP /* 0xe4 */
.align 32
ta HP_BAD_TRAP /* 0xe5 */
.align 32
ta HP_BAD_TRAP /* 0xe6 */
.align 32
ta HP_BAD_TRAP /* 0xe7 */
.align 32
ta HP_BAD_TRAP /* 0xe8 */
.align 32
ta HP_BAD_TRAP /* 0xe9 */
.align 32
ta HP_BAD_TRAP /* 0xea */
.align 32
ta HP_BAD_TRAP /* 0xeb */
.align 32
ta HP_BAD_TRAP /* 0xec */
.align 32
ta HP_BAD_TRAP /* 0xed */
.align 32
ta HP_BAD_TRAP /* 0xee */
.align 32
ta HP_BAD_TRAP /* 0xef */
.align 32
ta HP_BAD_TRAP /* 0xf0 */
.align 32
ta HP_BAD_TRAP /* 0xf1 */
.align 32
ta HP_BAD_TRAP /* 0xf2 */
.align 32
ta HP_BAD_TRAP /* 0xf3 */
.align 32
ta HP_BAD_TRAP /* 0xf4 */
.align 32
ta HP_BAD_TRAP /* 0xf5 */
.align 32
ta HP_BAD_TRAP /* 0xf6 */
.align 32
ta HP_BAD_TRAP /* 0xf7 */
.align 32
ta HP_BAD_TRAP /* 0xf8 */
.align 32
ta HP_BAD_TRAP /* 0xf9 */
.align 32
ta HP_BAD_TRAP /* 0xfa */
.align 32
ta HP_BAD_TRAP /* 0xfb */
.align 32
ta HP_BAD_TRAP /* 0xfc */
.align 32
ta HP_BAD_TRAP /* 0xfd */
.align 32
ta HP_BAD_TRAP /* 0xfe */
.align 32
ta HP_BAD_TRAP /* 0xff */
.align 32
ta HP_GOOD_TRAP /* 0x100 */
.align 32
ta HP_BAD_TRAP /* 0x101 */
.align 32
ta HP_BAD_TRAP /* 0x102 */
.align 32
ta HP_BAD_TRAP /* 0x103 */
.align 32
ta HP_BAD_TRAP /* 0x104 */
.align 32
ta HP_BAD_TRAP /* 0x105 */
.align 32
ta HP_BAD_TRAP /* 0x106 */
.align 32
ta HP_BAD_TRAP /* 0x107 */
.align 32
ta HP_BAD_TRAP /* 0x108 */
.align 32
ta HP_BAD_TRAP /* 0x109 */
.align 32
ta HP_BAD_TRAP /* 0x10a */
.align 32
ta HP_BAD_TRAP /* 0x10b */
.align 32
ta HP_BAD_TRAP /* 0x10c */
.align 32
ta HP_BAD_TRAP /* 0x10d */
.align 32
ta HP_BAD_TRAP /* 0x10e */
.align 32
ta HP_BAD_TRAP /* 0x10f */
.align 32
ta HPTRAP_I_DEMAP_ALL /* 0x110 */
done
.align 32
ta HPTRAP_I_DEMAP_PCTX /* 0x111 */
done
.align 32
ta HPTRAP_I_DEMAP_SCTX /* 0x112 */
done
.align 32
ta HPTRAP_I_DEMAP_NCTX /* 0x113 */
done
.align 32
ta HPTRAP_I_DEMAP_PAGE /* 0x114 */
done
.align 32
ta HPTRAP_I_DEMAP_RPAGE /* 0x115 */
done
.align 32
ta HPTRAP_I_DEMAP_REAL /* 0x116 */
done
.align 32
ta HPTRAP_D_DEMAP_ALL /* 0x117 */
done
.align 32
ta HPTRAP_D_DEMAP_PCTX /* 0x118 */
done
.align 32
ta HPTRAP_D_DEMAP_SCTX /* 0x119 */
done
.align 32
ta HPTRAP_D_DEMAP_NCTX /* 0x11a */
done
.align 32
ta HPTRAP_D_DEMAP_PAGE /* 0x11b */
done
.align 32
ta HPTRAP_D_DEMAP_RPAGE /* 0x11c */
done
.align 32
ta HPTRAP_D_DEMAP_REAL /* 0x11d */
done
.align 32
ta HP_BAD_TRAP /* 0x11e */
.align 32
ta HP_BAD_TRAP /* 0x11f */
.align 32
sllx %i7, 63, %g1
brz %g1, 1f
nop
rdpr %tnpc, %g2
add %g2, 8, %g2
wrpr %g2, %tnpc
1:
done
.align 32
ta HPTRAP_CHANGE_PID /* 0x121 */
done
.align 32
ta HPTRAP_INCR_TSB_SIZE /* 0x122 */
done
.align 32 /* 0x123 */
ldxa [%l1] 0x14, %l2
done
.align 32 /* 0x124 */
ldxa [%l1] 0x1c, %l2
done
.align 32 /* 0x125 */
ldda [%l1] 0x26, %l2
done
.align 32 /* 0x126 */
ldda [%l1] 0x2e, %l2
done
.align 32
ta HPTRAP_CLEAR_LSU_IMMU /* 0x127 */
done
.align 32
ta HPTRAP_CLEAR_LSU_DMMU /* 0x128 */
done
.align 32
ta HPTRAP_DELAY_LOOP /* 0x129 */
done
.align 32
ta HPTRAP_SEM_LOCK /* 0x12a */
done
.align 32
ta HPTRAP_SEM_RELEASE /* 0x12b */
done
.align 32
ta HPTRAP_SEM_GET /* 0x12c */
done
.align 32
ta HPTRAP_SEM_SET /* 0x12d */
done
.align 32
ta HPTRAP_GOTO_SUPERVISOR0 /* 0x12e */
.align 32
ta HPTRAP_GOTO_SUPERVISOR1 /* 0x12f */
.align 32
ta HP_BAD_TRAP /* 0x130 */
.align 32
ta HP_BAD_TRAP /* 0x131 */
.align 32
ta HP_BAD_TRAP /* 0x132 */
.align 32
ta HP_BAD_TRAP /* 0x133 */
.align 32
ta HP_BAD_TRAP /* 0x134 */
.align 32
ta HP_BAD_TRAP /* 0x135 */
.align 32
ta HP_BAD_TRAP /* 0x136 */
.align 32
ta HP_BAD_TRAP /* 0x137 */
.align 32
ta HP_BAD_TRAP /* 0x138 */
.align 32
ta HP_BAD_TRAP /* 0x139 */
.align 32
ta HP_BAD_TRAP /* 0x13a */
.align 32
ta HP_BAD_TRAP /* 0x13b */
.align 32
ta HP_BAD_TRAP /* 0x13c */
.align 32
ta HP_BAD_TRAP /* 0x13d */
.align 32
ta HP_BAD_TRAP /* 0x13e */
.align 32
ta HP_BAD_TRAP /* 0x13f */
.align 32
ta HP_BAD_TRAP /* 0x140 */
.align 32
ta HP_BAD_TRAP /* 0x141 */
.align 32
ta HP_BAD_TRAP /* 0x142 */
.align 32
ta HP_BAD_TRAP /* 0x143 */
.align 32
ta HP_BAD_TRAP /* 0x144 */
.align 32
ta HP_BAD_TRAP /* 0x145 */
.align 32
ta HP_BAD_TRAP /* 0x146 */
.align 32
ta HP_BAD_TRAP /* 0x147 */
.align 32
ta HP_BAD_TRAP /* 0x148 */
.align 32
ta HP_BAD_TRAP /* 0x149 */
.align 32
ta HP_BAD_TRAP /* 0x14a */
.align 32
ta HP_BAD_TRAP /* 0x14b */
.align 32
ta HP_BAD_TRAP /* 0x14c */
.align 32
ta HP_BAD_TRAP /* 0x14d */
.align 32
ta HP_BAD_TRAP /* 0x14e */
.align 32
ta HP_BAD_TRAP /* 0x14f */
.align 32
ta HP_BAD_TRAP /* 0x150 */
.align 32
ta HP_BAD_TRAP /* 0x151 */
.align 32
ta HP_BAD_TRAP /* 0x152 */
.align 32
ta HP_BAD_TRAP /* 0x153 */
.align 32
ta HP_BAD_TRAP /* 0x154 */
.align 32
ta HP_BAD_TRAP /* 0x155 */
.align 32
ta HP_BAD_TRAP /* 0x156 */
.align 32
ta HP_BAD_TRAP /* 0x157 */
.align 32
ta HP_BAD_TRAP /* 0x158 */
.align 32
ta HP_BAD_TRAP /* 0x159 */
.align 32
ta HP_BAD_TRAP /* 0x15a */
.align 32
ta HP_BAD_TRAP /* 0x15b */
.align 32
ta HP_BAD_TRAP /* 0x15c */
.align 32
ta HP_BAD_TRAP /* 0x15d */
.align 32
ta HP_BAD_TRAP /* 0x15e */
.align 32
ta HP_BAD_TRAP /* 0x15f */
.align 32
ta HP_BAD_TRAP /* 0x160 */
.align 32
ta HP_BAD_TRAP /* 0x161 */
.align 32
ta HP_BAD_TRAP /* 0x162 */
.align 32
ta HP_BAD_TRAP /* 0x163 */
.align 32
ta HP_BAD_TRAP /* 0x164 */
.align 32
ta HP_BAD_TRAP /* 0x165 */
.align 32
ta HP_BAD_TRAP /* 0x166 */
.align 32
ta HP_BAD_TRAP /* 0x167 */
.align 32
ta HP_BAD_TRAP /* 0x168 */
.align 32
ta HP_BAD_TRAP /* 0x169 */
.align 32
ta HP_BAD_TRAP /* 0x16a */
.align 32
ta HP_BAD_TRAP /* 0x16b */
.align 32
ta HP_BAD_TRAP /* 0x16c */
.align 32
ta HP_BAD_TRAP /* 0x16d */
.align 32
ta HP_BAD_TRAP /* 0x16e */
.align 32
ta HP_BAD_TRAP /* 0x16f */
.align 32
ta HP_BAD_TRAP /* 0x170 */
.align 32
ta HP_BAD_TRAP /* 0x171 */
.align 32
ta HP_BAD_TRAP /* 0x172 */
.align 32
ta HP_BAD_TRAP /* 0x173 */
.align 32
ta HP_BAD_TRAP /* 0x174 */
.align 32
ta HP_BAD_TRAP /* 0x175 */
.align 32
ta HP_BAD_TRAP /* 0x176 */
.align 32
ta HP_BAD_TRAP /* 0x177 */
.align 32
ta HP_BAD_TRAP /* 0x178 */
.align 32
ta HP_BAD_TRAP /* 0x179 */
.align 32
ta HP_BAD_TRAP /* 0x17a */
.align 32
ta HP_BAD_TRAP /* 0x17b */
.align 32
ta HP_BAD_TRAP /* 0x17c */
.align 32
ta HP_BAD_TRAP /* 0x17d */
.align 32
ta HP_BAD_TRAP /* 0x17e */
.align 32
ta HP_BAD_TRAP /* 0x17f */
.align 32
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 ,
}
ta HP_BAD_TRAP /* 0x0 */
.align 32
ta HP_BAD_TRAP /* 0x1 */
.align 32
ta HP_BAD_TRAP /* 0x2 */
.align 32
ta HP_BAD_TRAP /* 0x3 */
.align 32
ta HP_BAD_TRAP /* 0x4 */
.align 32
ta HP_BAD_TRAP /* 0x5 */
.align 32
ta HP_BAD_TRAP /* 0x6 */
.align 32
ta HP_BAD_TRAP /* 0x7 */
.align 32
ta HP_BAD_TRAP /* 0x8 */
.align 32
ta HP_BAD_TRAP /* 0x9 */
.align 32
ta HP_BAD_TRAP /* 0xa */
.align 32
ta HP_BAD_TRAP /* 0xb */
.align 32
ta HP_BAD_TRAP /* 0xc */
.align 32
ta HP_BAD_TRAP /* 0xd */
.align 32
ta HP_BAD_TRAP /* 0xe */
.align 32
ta HP_BAD_TRAP /* 0xf */
.align 32
ta HP_BAD_TRAP /* 0x10 */
.align 32
ta HP_BAD_TRAP /* 0x11 */
.align 32
ta HP_BAD_TRAP /* 0x12 */
.align 32
ta HP_BAD_TRAP /* 0x13 */
.align 32
ta HP_BAD_TRAP /* 0x14 */
.align 32
ta HP_BAD_TRAP /* 0x15 */
.align 32
ta HP_BAD_TRAP /* 0x16 */
.align 32
ta HP_BAD_TRAP /* 0x17 */
.align 32
ta HP_BAD_TRAP /* 0x18 */
.align 32
ta HP_BAD_TRAP /* 0x19 */
.align 32
ta HP_BAD_TRAP /* 0x1a */
.align 32
ta HP_BAD_TRAP /* 0x1b */
.align 32
ta HP_BAD_TRAP /* 0x1c */
.align 32
ta HP_BAD_TRAP /* 0x1d */
.align 32
ta HP_BAD_TRAP /* 0x1e */
.align 32
ta HP_BAD_TRAP /* 0x1f */
.align 32
ta HP_BAD_TRAP /* 0x20 */
.align 32
ta HP_BAD_TRAP /* 0x21 */
.align 32
ta HP_BAD_TRAP /* 0x22 */
.align 32
ta HP_BAD_TRAP /* 0x23 */
.align 32
ta HP_BAD_TRAP /* 0x24 */
.align 32
ta HP_BAD_TRAP /* 0x25 */
.align 32
ta HP_BAD_TRAP /* 0x26 */
.align 32
ta HP_BAD_TRAP /* 0x27 */
.align 32
ta HP_BAD_TRAP /* 0x28 */
.align 32
ta HP_BAD_TRAP /* 0x29 */
.align 32
ta HP_BAD_TRAP /* 0x2a */
.align 32
ta HP_BAD_TRAP /* 0x2b */
.align 32
ta HP_BAD_TRAP /* 0x2c */
.align 32
ta HP_BAD_TRAP /* 0x2d */
.align 32
ta HP_BAD_TRAP /* 0x2e */
.align 32
ta HP_BAD_TRAP /* 0x2f */
.align 32
ta HP_BAD_TRAP /* 0x30 */
.align 32
ta HP_BAD_TRAP /* 0x31 */
.align 32
ta HP_BAD_TRAP /* 0x32 */
.align 32
ta HP_BAD_TRAP /* 0x33 */
.align 32
ta HP_BAD_TRAP /* 0x34 */
.align 32
ta HP_BAD_TRAP /* 0x35 */
.align 32
ta HP_BAD_TRAP /* 0x36 */
.align 32
ta HP_BAD_TRAP /* 0x37 */
.align 32
ta HP_BAD_TRAP /* 0x38 */
.align 32
ta HP_BAD_TRAP /* 0x39 */
.align 32
ta HP_BAD_TRAP /* 0x3a */
.align 32
ta HP_BAD_TRAP /* 0x3b */
.align 32
ta HP_BAD_TRAP /* 0x3c */
.align 32
ta HP_BAD_TRAP /* 0x3d */
.align 32
ta HP_BAD_TRAP /* 0x3e */
.align 32
ta HP_BAD_TRAP /* 0x3f */
.align 32
ta HP_BAD_TRAP /* 0x40 */
.align 32
ta HP_BAD_TRAP /* 0x41 */
.align 32
ta HP_BAD_TRAP /* 0x42 */
.align 32
ta HP_BAD_TRAP /* 0x43 */
.align 32
ta HP_BAD_TRAP /* 0x44 */
.align 32
ta HP_BAD_TRAP /* 0x45 */
.align 32
ta HP_BAD_TRAP /* 0x46 */
.align 32
ta HP_BAD_TRAP /* 0x47 */
.align 32
ta HP_BAD_TRAP /* 0x48 */
.align 32
ta HP_BAD_TRAP /* 0x49 */
.align 32
ta HP_BAD_TRAP /* 0x4a */
.align 32
ta HP_BAD_TRAP /* 0x4b */
.align 32
ta HP_BAD_TRAP /* 0x4c */
.align 32
ta HP_BAD_TRAP /* 0x4d */
.align 32
ta HP_BAD_TRAP /* 0x4e */
.align 32
ta HP_BAD_TRAP /* 0x4f */
.align 32
ta HP_BAD_TRAP /* 0x50 */
.align 32
ta HP_BAD_TRAP /* 0x51 */
.align 32
ta HP_BAD_TRAP /* 0x52 */
.align 32
ta HP_BAD_TRAP /* 0x53 */
.align 32
ta HP_BAD_TRAP /* 0x54 */
.align 32
ta HP_BAD_TRAP /* 0x55 */
.align 32
ta HP_BAD_TRAP /* 0x56 */
.align 32
ta HP_BAD_TRAP /* 0x57 */
.align 32
ta HP_BAD_TRAP /* 0x58 */
.align 32
ta HP_BAD_TRAP /* 0x59 */
.align 32
ta HP_BAD_TRAP /* 0x5a */
.align 32
ta HP_BAD_TRAP /* 0x5b */
.align 32
ta HP_BAD_TRAP /* 0x5c */
.align 32
ta HP_BAD_TRAP /* 0x5d */
.align 32
ta HP_BAD_TRAP /* 0x5e */
.align 32
ta HP_BAD_TRAP /* 0x5f */
.align 32
ta HP_BAD_TRAP /* 0x60 */
.align 32
ta HP_BAD_TRAP /* 0x61 */
.align 32
ta HP_BAD_TRAP /* 0x62 */
.align 32
ta HP_BAD_TRAP /* 0x63 */
.align 32
ta HP_BAD_TRAP /* 0x64 */
.align 32
ta HP_BAD_TRAP /* 0x65 */
.align 32
ta HP_BAD_TRAP /* 0x66 */
.align 32
ta HP_BAD_TRAP /* 0x67 */
.align 32
ta HP_BAD_TRAP /* 0x68 */
.align 32
ta HP_BAD_TRAP /* 0x69 */
.align 32
ta HP_BAD_TRAP /* 0x6a */
.align 32
ta HP_BAD_TRAP /* 0x6b */
.align 32
ta HP_BAD_TRAP /* 0x6c */
.align 32
ta HP_BAD_TRAP /* 0x6d */
.align 32
ta HP_BAD_TRAP /* 0x6e */
.align 32
ta HP_BAD_TRAP /* 0x6f */
.align 32
ta HP_BAD_TRAP /* 0x70 */
.align 32
ta HP_BAD_TRAP /* 0x71 */
.align 32
ta HP_BAD_TRAP /* 0x72 */
.align 32
ta HP_BAD_TRAP /* 0x73 */
.align 32
ta HP_BAD_TRAP /* 0x74 */
.align 32
ta HP_BAD_TRAP /* 0x75 */
.align 32
ta HP_BAD_TRAP /* 0x76 */
.align 32
ta HP_BAD_TRAP /* 0x77 */
.align 32
ta HP_BAD_TRAP /* 0x78 */
.align 32
ta HP_BAD_TRAP /* 0x79 */
.align 32
ta HP_BAD_TRAP /* 0x7a */
.align 32
ta HP_BAD_TRAP /* 0x7b */
.align 32
ta HP_BAD_TRAP /* 0x7c */
.align 32
ta HP_BAD_TRAP /* 0x7d */
.align 32
ta HP_BAD_TRAP /* 0x7e */
.align 32
ta HP_BAD_TRAP /* 0x7f */
.align 32
ta HP_BAD_TRAP /* 0x80 */
.align 32
ta HP_BAD_TRAP /* 0x81 */
.align 32
ta HP_BAD_TRAP /* 0x82 */
.align 32
ta HP_BAD_TRAP /* 0x83 */
.align 32
ta HP_BAD_TRAP /* 0x84 */
.align 32
ta HP_BAD_TRAP /* 0x85 */
.align 32
ta HP_BAD_TRAP /* 0x86 */
.align 32
ta HP_BAD_TRAP /* 0x87 */
.align 32
ta HP_BAD_TRAP /* 0x88 */
.align 32
ta HP_BAD_TRAP /* 0x89 */
.align 32
ta HP_BAD_TRAP /* 0x8a */
.align 32
ta HP_BAD_TRAP /* 0x8b */
.align 32
ta HP_BAD_TRAP /* 0x8c */
.align 32
ta HP_BAD_TRAP /* 0x8d */
.align 32
ta HP_BAD_TRAP /* 0x8e */
.align 32
ta HP_BAD_TRAP /* 0x8f */
.align 32
ta HP_BAD_TRAP /* 0x90 */
.align 32
ta HP_BAD_TRAP /* 0x91 */
.align 32
ta HP_BAD_TRAP /* 0x92 */
.align 32
ta HP_BAD_TRAP /* 0x93 */
.align 32
ta HP_BAD_TRAP /* 0x94 */
.align 32
ta HP_BAD_TRAP /* 0x95 */
.align 32
ta HP_BAD_TRAP /* 0x96 */
.align 32
ta HP_BAD_TRAP /* 0x97 */
.align 32
ta HP_BAD_TRAP /* 0x98 */
.align 32
ta HP_BAD_TRAP /* 0x99 */
.align 32
ta HP_BAD_TRAP /* 0x9a */
.align 32
ta HP_BAD_TRAP /* 0x9b */
.align 32
ta HP_BAD_TRAP /* 0x9c */
.align 32
ta HP_BAD_TRAP /* 0x9d */
.align 32
ta HP_BAD_TRAP /* 0x9e */
.align 32
ta HP_BAD_TRAP /* 0x9f */
.align 32
ta HP_BAD_TRAP /* 0xa0 */
.align 32
ta HP_BAD_TRAP /* 0xa1 */
.align 32
ta HP_BAD_TRAP /* 0xa2 */
.align 32
ta HP_BAD_TRAP /* 0xa3 */
.align 32
ta HP_BAD_TRAP /* 0xa4 */
.align 32
ta HP_BAD_TRAP /* 0xa5 */
.align 32
ta HP_BAD_TRAP /* 0xa6 */
.align 32
ta HP_BAD_TRAP /* 0xa7 */
.align 32
ta HP_BAD_TRAP /* 0xa8 */
.align 32
ta HP_BAD_TRAP /* 0xa9 */
.align 32
ta HP_BAD_TRAP /* 0xaa */
.align 32
ta HP_BAD_TRAP /* 0xab */
.align 32
ta HP_BAD_TRAP /* 0xac */
.align 32
ta HP_BAD_TRAP /* 0xad */
.align 32
ta HP_BAD_TRAP /* 0xae */
.align 32
ta HP_BAD_TRAP /* 0xaf */
.align 32
ta HP_BAD_TRAP /* 0xb0 */
.align 32
ta HP_BAD_TRAP /* 0xb1 */
.align 32
ta HP_BAD_TRAP /* 0xb2 */
.align 32
ta HP_BAD_TRAP /* 0xb3 */
.align 32
ta HP_BAD_TRAP /* 0xb4 */
.align 32
ta HP_BAD_TRAP /* 0xb5 */
.align 32
ta HP_BAD_TRAP /* 0xb6 */
.align 32
ta HP_BAD_TRAP /* 0xb7 */
.align 32
ta HP_BAD_TRAP /* 0xb8 */
.align 32
ta HP_BAD_TRAP /* 0xb9 */
.align 32
ta HP_BAD_TRAP /* 0xba */
.align 32
ta HP_BAD_TRAP /* 0xbb */
.align 32
ta HP_BAD_TRAP /* 0xbc */
.align 32
ta HP_BAD_TRAP /* 0xbd */
.align 32
ta HP_BAD_TRAP /* 0xbe */
.align 32
ta HP_BAD_TRAP /* 0xbf */
.align 32
ta HP_BAD_TRAP /* 0xc0 */
.align 32
ta HP_BAD_TRAP /* 0xc1 */
.align 32
ta HP_BAD_TRAP /* 0xc2 */
.align 32
ta HP_BAD_TRAP /* 0xc3 */
.align 32
ta HP_BAD_TRAP /* 0xc4 */
.align 32
ta HP_BAD_TRAP /* 0xc5 */
.align 32
ta HP_BAD_TRAP /* 0xc6 */
.align 32
ta HP_BAD_TRAP /* 0xc7 */
.align 32
ta HP_BAD_TRAP /* 0xc8 */
.align 32
ta HP_BAD_TRAP /* 0xc9 */
.align 32
ta HP_BAD_TRAP /* 0xca */
.align 32
ta HP_BAD_TRAP /* 0xcb */
.align 32
ta HP_BAD_TRAP /* 0xcc */
.align 32
ta HP_BAD_TRAP /* 0xcd */
.align 32
ta HP_BAD_TRAP /* 0xce */
.align 32
ta HP_BAD_TRAP /* 0xcf */
.align 32
ta HP_BAD_TRAP /* 0xd0 */
.align 32
ta HP_BAD_TRAP /* 0xd1 */
.align 32
ta HP_BAD_TRAP /* 0xd2 */
.align 32
ta HP_BAD_TRAP /* 0xd3 */
.align 32
ta HP_BAD_TRAP /* 0xd4 */
.align 32
ta HP_BAD_TRAP /* 0xd5 */
.align 32
ta HP_BAD_TRAP /* 0xd6 */
.align 32
ta HP_BAD_TRAP /* 0xd7 */
.align 32
ta HP_BAD_TRAP /* 0xd8 */
.align 32
ta HP_BAD_TRAP /* 0xd9 */
.align 32
ta HP_BAD_TRAP /* 0xda */
.align 32
ta HP_BAD_TRAP /* 0xdb */
.align 32
ta HP_BAD_TRAP /* 0xdc */
.align 32
ta HP_BAD_TRAP /* 0xdd */
.align 32
ta HP_BAD_TRAP /* 0xde */
.align 32
ta HP_BAD_TRAP /* 0xdf */
.align 32
ta HP_BAD_TRAP /* 0xe0 */
.align 32
ta HP_BAD_TRAP /* 0xe1 */
.align 32
ta HP_BAD_TRAP /* 0xe2 */
.align 32
ta HP_BAD_TRAP /* 0xe3 */
.align 32
ta HP_BAD_TRAP /* 0xe4 */
.align 32
ta HP_BAD_TRAP /* 0xe5 */
.align 32
ta HP_BAD_TRAP /* 0xe6 */
.align 32
ta HP_BAD_TRAP /* 0xe7 */
.align 32
ta HP_BAD_TRAP /* 0xe8 */
.align 32
ta HP_BAD_TRAP /* 0xe9 */
.align 32
ta HP_BAD_TRAP /* 0xea */
.align 32
ta HP_BAD_TRAP /* 0xeb */
.align 32
ta HP_BAD_TRAP /* 0xec */
.align 32
ta HP_BAD_TRAP /* 0xed */
.align 32
ta HP_BAD_TRAP /* 0xee */
.align 32
ta HP_BAD_TRAP /* 0xef */
.align 32
ta HP_BAD_TRAP /* 0xf0 */
.align 32
ta HP_BAD_TRAP /* 0xf1 */
.align 32
ta HP_BAD_TRAP /* 0xf2 */
.align 32
ta HP_BAD_TRAP /* 0xf3 */
.align 32
ta HP_BAD_TRAP /* 0xf4 */
.align 32
ta HP_BAD_TRAP /* 0xf5 */
.align 32
ta HP_BAD_TRAP /* 0xf6 */
.align 32
ta HP_BAD_TRAP /* 0xf7 */
.align 32
ta HP_BAD_TRAP /* 0xf8 */
.align 32
ta HP_BAD_TRAP /* 0xf9 */
.align 32
ta HP_BAD_TRAP /* 0xfa */
.align 32
ta HP_BAD_TRAP /* 0xfb */
.align 32
ta HP_BAD_TRAP /* 0xfc */
.align 32
ta HP_BAD_TRAP /* 0xfd */
.align 32
ta HP_BAD_TRAP /* 0xfe */
.align 32
ta HP_BAD_TRAP /* 0xff */
.align 32
ta HP_GOOD_TRAP /* 0x100 */
.align 32
ta HP_BAD_TRAP /* 0x101 */
.align 32
ta HP_BAD_TRAP /* 0x102 */
.align 32
ta HP_BAD_TRAP /* 0x103 */
.align 32
ta HP_BAD_TRAP /* 0x104 */
.align 32
ta HP_BAD_TRAP /* 0x105 */
.align 32
ta HP_BAD_TRAP /* 0x106 */
.align 32
ta HP_BAD_TRAP /* 0x107 */
.align 32
ta HP_BAD_TRAP /* 0x108 */
.align 32
ta HP_BAD_TRAP /* 0x109 */
.align 32
ta HP_BAD_TRAP /* 0x10a */
.align 32
ta HP_BAD_TRAP /* 0x10b */
.align 32
ta HP_BAD_TRAP /* 0x10c */
.align 32
ta HP_BAD_TRAP /* 0x10d */
.align 32
ta HP_BAD_TRAP /* 0x10e */
.align 32
ta HP_BAD_TRAP /* 0x10f */
.align 32
ta HPTRAP_I_DEMAP_ALL /* 0x110 */
done
.align 32
ta HPTRAP_I_DEMAP_PCTX /* 0x111 */
done
.align 32
ta HPTRAP_I_DEMAP_SCTX /* 0x112 */
done
.align 32
ta HPTRAP_I_DEMAP_NCTX /* 0x113 */
done
.align 32
ta HPTRAP_I_DEMAP_PAGE /* 0x114 */
done
.align 32
ta HPTRAP_I_DEMAP_RPAGE /* 0x115 */
done
.align 32
ta HPTRAP_I_DEMAP_REAL /* 0x116 */
done
.align 32
ta HPTRAP_D_DEMAP_ALL /* 0x117 */
done
.align 32
ta HPTRAP_D_DEMAP_PCTX /* 0x118 */
done
.align 32
ta HPTRAP_D_DEMAP_SCTX /* 0x119 */
done
.align 32
ta HPTRAP_D_DEMAP_NCTX /* 0x11a */
done
.align 32
ta HPTRAP_D_DEMAP_PAGE /* 0x11b */
done
.align 32
ta HPTRAP_D_DEMAP_RPAGE /* 0x11c */
done
.align 32
ta HPTRAP_D_DEMAP_REAL /* 0x11d */
done
.align 32
ta HP_BAD_TRAP /* 0x11e */
.align 32
ta HP_BAD_TRAP /* 0x11f */
.align 32
sllx %i7, 63, %g1
brz %g1, 1f
nop
rdpr %tnpc, %g2
add %g2, 8, %g2
wrpr %g2, %tnpc
1:
done
.align 32
ta HPTRAP_CHANGE_PID /* 0x121 */
done
.align 32
ta HPTRAP_INCR_TSB_SIZE /* 0x122 */
done
.align 32 /* 0x123 */
ldxa [%l1] 0x14, %l2
done
.align 32 /* 0x124 */
ldxa [%l1] 0x1c, %l2
done
.align 32 /* 0x125 */
ldda [%l1] 0x26, %l2
done
.align 32 /* 0x126 */
ldda [%l1] 0x2e, %l2
done
.align 32
ta HPTRAP_CLEAR_LSU_IMMU /* 0x127 */
done
.align 32
ta HPTRAP_CLEAR_LSU_DMMU /* 0x128 */
done
.align 32
ta HPTRAP_DELAY_LOOP /* 0x129 */
done
.align 32
ta HPTRAP_SEM_LOCK /* 0x12a */
done
.align 32
ta HPTRAP_SEM_RELEASE /* 0x12b */
done
.align 32
ta HPTRAP_SEM_GET /* 0x12c */
done
.align 32
ta HPTRAP_SEM_SET /* 0x12d */
done
.align 32
ta HPTRAP_GOTO_SUPERVISOR0 /* 0x12e */
.align 32
ta HPTRAP_GOTO_SUPERVISOR1 /* 0x12f */
.align 32
ta HP_BAD_TRAP /* 0x130 */
.align 32
ta HP_BAD_TRAP /* 0x131 */
.align 32
ta HP_BAD_TRAP /* 0x132 */
.align 32
ta HP_BAD_TRAP /* 0x133 */
.align 32
ta HP_BAD_TRAP /* 0x134 */
.align 32
ta HP_BAD_TRAP /* 0x135 */
.align 32
ta HP_BAD_TRAP /* 0x136 */
.align 32
ta HP_BAD_TRAP /* 0x137 */
.align 32
ta HP_BAD_TRAP /* 0x138 */
.align 32
ta HP_BAD_TRAP /* 0x139 */
.align 32
ta HP_BAD_TRAP /* 0x13a */
.align 32
ta HP_BAD_TRAP /* 0x13b */
.align 32
ta HP_BAD_TRAP /* 0x13c */
.align 32
ta HP_BAD_TRAP /* 0x13d */
.align 32
ta HP_BAD_TRAP /* 0x13e */
.align 32
ta HP_BAD_TRAP /* 0x13f */
.align 32
ta HP_BAD_TRAP /* 0x140 */
.align 32
ta HP_BAD_TRAP /* 0x141 */
.align 32
ta HP_BAD_TRAP /* 0x142 */
.align 32
ta HP_BAD_TRAP /* 0x143 */
.align 32
ta HP_BAD_TRAP /* 0x144 */
.align 32
ta HP_BAD_TRAP /* 0x145 */
.align 32
ta HP_BAD_TRAP /* 0x146 */
.align 32
ta HP_BAD_TRAP /* 0x147 */
.align 32
ta HP_BAD_TRAP /* 0x148 */
.align 32
ta HP_BAD_TRAP /* 0x149 */
.align 32
ta HP_BAD_TRAP /* 0x14a */
.align 32
ta HP_BAD_TRAP /* 0x14b */
.align 32
ta HP_BAD_TRAP /* 0x14c */
.align 32
ta HP_BAD_TRAP /* 0x14d */
.align 32
ta HP_BAD_TRAP /* 0x14e */
.align 32
ta HP_BAD_TRAP /* 0x14f */
.align 32
ta HP_BAD_TRAP /* 0x150 */
.align 32
ta HP_BAD_TRAP /* 0x151 */
.align 32
ta HP_BAD_TRAP /* 0x152 */
.align 32
ta HP_BAD_TRAP /* 0x153 */
.align 32
ta HP_BAD_TRAP /* 0x154 */
.align 32
ta HP_BAD_TRAP /* 0x155 */
.align 32
ta HP_BAD_TRAP /* 0x156 */
.align 32
ta HP_BAD_TRAP /* 0x157 */
.align 32
ta HP_BAD_TRAP /* 0x158 */
.align 32
ta HP_BAD_TRAP /* 0x159 */
.align 32
ta HP_BAD_TRAP /* 0x15a */
.align 32
ta HP_BAD_TRAP /* 0x15b */
.align 32
ta HP_BAD_TRAP /* 0x15c */
.align 32
ta HP_BAD_TRAP /* 0x15d */
.align 32
ta HP_BAD_TRAP /* 0x15e */
.align 32
ta HP_BAD_TRAP /* 0x15f */
.align 32
ta HP_BAD_TRAP /* 0x160 */
.align 32
ta HP_BAD_TRAP /* 0x161 */
.align 32
ta HP_BAD_TRAP /* 0x162 */
.align 32
ta HP_BAD_TRAP /* 0x163 */
.align 32
ta HP_BAD_TRAP /* 0x164 */
.align 32
ta HP_BAD_TRAP /* 0x165 */
.align 32
ta HP_BAD_TRAP /* 0x166 */
.align 32
ta HP_BAD_TRAP /* 0x167 */
.align 32
ta HP_BAD_TRAP /* 0x168 */
.align 32
ta HP_BAD_TRAP /* 0x169 */
.align 32
ta HP_BAD_TRAP /* 0x16a */
.align 32
ta HP_BAD_TRAP /* 0x16b */
.align 32
ta HP_BAD_TRAP /* 0x16c */
.align 32
ta HP_BAD_TRAP /* 0x16d */
.align 32
ta HP_BAD_TRAP /* 0x16e */
.align 32
ta HP_BAD_TRAP /* 0x16f */
.align 32
ta HP_BAD_TRAP /* 0x170 */
.align 32
ta HP_BAD_TRAP /* 0x171 */
.align 32
ta HP_BAD_TRAP /* 0x172 */
.align 32
ta HP_BAD_TRAP /* 0x173 */
.align 32
ta HP_BAD_TRAP /* 0x174 */
.align 32
ta HP_BAD_TRAP /* 0x175 */
.align 32
ta HP_BAD_TRAP /* 0x176 */
.align 32
ta HP_BAD_TRAP /* 0x177 */
.align 32
ta HP_BAD_TRAP /* 0x178 */
.align 32
ta HP_BAD_TRAP /* 0x179 */
.align 32
ta HP_BAD_TRAP /* 0x17a */
.align 32
ta HP_BAD_TRAP /* 0x17b */
.align 32
ta HP_BAD_TRAP /* 0x17c */
.align 32
ta HP_BAD_TRAP /* 0x17d */
.align 32
ta HP_BAD_TRAP /* 0x17e */
.align 32
ta HP_BAD_TRAP /* 0x17f */
.align 32
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_0
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 = 0 ,
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 ,
}
ta HP_BAD_TRAP /* 0x0 */
.align 32
ta HP_BAD_TRAP /* 0x1 */
.align 32
ta HP_BAD_TRAP /* 0x2 */
.align 32
ta HP_BAD_TRAP /* 0x3 */
.align 32
ta HP_BAD_TRAP /* 0x4 */
.align 32
ta HP_BAD_TRAP /* 0x5 */
.align 32
ta HP_BAD_TRAP /* 0x6 */
.align 32
ta HP_BAD_TRAP /* 0x7 */
.align 32
ta HP_BAD_TRAP /* 0x8 */
.align 32
ta HP_BAD_TRAP /* 0x9 */
.align 32
ta HP_BAD_TRAP /* 0xa */
.align 32
ta HP_BAD_TRAP /* 0xb */
.align 32
ta HP_BAD_TRAP /* 0xc */
.align 32
ta HP_BAD_TRAP /* 0xd */
.align 32
ta HP_BAD_TRAP /* 0xe */
.align 32
ta HP_BAD_TRAP /* 0xf */
.align 32
ta HP_BAD_TRAP /* 0x10 */
.align 32
ta HP_BAD_TRAP /* 0x11 */
.align 32
ta HP_BAD_TRAP /* 0x12 */
.align 32
ta HP_BAD_TRAP /* 0x13 */
.align 32
ta HP_BAD_TRAP /* 0x14 */
.align 32
ta HP_BAD_TRAP /* 0x15 */
.align 32
ta HP_BAD_TRAP /* 0x16 */
.align 32
ta HP_BAD_TRAP /* 0x17 */
.align 32
ta HP_BAD_TRAP /* 0x18 */
.align 32
ta HP_BAD_TRAP /* 0x19 */
.align 32
ta HP_BAD_TRAP /* 0x1a */
.align 32
ta HP_BAD_TRAP /* 0x1b */
.align 32
ta HP_BAD_TRAP /* 0x1c */
.align 32
ta HP_BAD_TRAP /* 0x1d */
.align 32
ta HP_BAD_TRAP /* 0x1e */
.align 32
ta HP_BAD_TRAP /* 0x1f */
.align 32
ta HP_BAD_TRAP /* 0x20 */
.align 32
ta HP_BAD_TRAP /* 0x21 */
.align 32
ta HP_BAD_TRAP /* 0x22 */
.align 32
ta HP_BAD_TRAP /* 0x23 */
.align 32
ta HP_BAD_TRAP /* 0x24 */
.align 32
ta HP_BAD_TRAP /* 0x25 */
.align 32
ta HP_BAD_TRAP /* 0x26 */
.align 32
ta HP_BAD_TRAP /* 0x27 */
.align 32
ta HP_BAD_TRAP /* 0x28 */
.align 32
ta HP_BAD_TRAP /* 0x29 */
.align 32
ta HP_BAD_TRAP /* 0x2a */
.align 32
ta HP_BAD_TRAP /* 0x2b */
.align 32
ta HP_BAD_TRAP /* 0x2c */
.align 32
ta HP_BAD_TRAP /* 0x2d */
.align 32
ta HP_BAD_TRAP /* 0x2e */
.align 32
ta HP_BAD_TRAP /* 0x2f */
.align 32
ta HP_BAD_TRAP /* 0x30 */
.align 32
ta HP_BAD_TRAP /* 0x31 */
.align 32
ta HP_BAD_TRAP /* 0x32 */
.align 32
ta HP_BAD_TRAP /* 0x33 */
.align 32
ta HP_BAD_TRAP /* 0x34 */
.align 32
ta HP_BAD_TRAP /* 0x35 */
.align 32
ta HP_BAD_TRAP /* 0x36 */
.align 32
ta HP_BAD_TRAP /* 0x37 */
.align 32
ta HP_BAD_TRAP /* 0x38 */
.align 32
ta HP_BAD_TRAP /* 0x39 */
.align 32
ta HP_BAD_TRAP /* 0x3a */
.align 32
ta HP_BAD_TRAP /* 0x3b */
.align 32
ta HP_BAD_TRAP /* 0x3c */
.align 32
ta HP_BAD_TRAP /* 0x3d */
.align 32
ta HP_BAD_TRAP /* 0x3e */
.align 32
ta HP_BAD_TRAP /* 0x3f */
.align 32
ta HP_BAD_TRAP /* 0x40 */
.align 32
ta HP_BAD_TRAP /* 0x41 */
.align 32
ta HP_BAD_TRAP /* 0x42 */
.align 32
ta HP_BAD_TRAP /* 0x43 */
.align 32
ta HP_BAD_TRAP /* 0x44 */
.align 32
ta HP_BAD_TRAP /* 0x45 */
.align 32
ta HP_BAD_TRAP /* 0x46 */
.align 32
ta HP_BAD_TRAP /* 0x47 */
.align 32
ta HP_BAD_TRAP /* 0x48 */
.align 32
ta HP_BAD_TRAP /* 0x49 */
.align 32
ta HP_BAD_TRAP /* 0x4a */
.align 32
ta HP_BAD_TRAP /* 0x4b */
.align 32
ta HP_BAD_TRAP /* 0x4c */
.align 32
ta HP_BAD_TRAP /* 0x4d */
.align 32
ta HP_BAD_TRAP /* 0x4e */
.align 32
ta HP_BAD_TRAP /* 0x4f */
.align 32
ta HP_BAD_TRAP /* 0x50 */
.align 32
ta HP_BAD_TRAP /* 0x51 */
.align 32
ta HP_BAD_TRAP /* 0x52 */
.align 32
ta HP_BAD_TRAP /* 0x53 */
.align 32
ta HP_BAD_TRAP /* 0x54 */
.align 32
ta HP_BAD_TRAP /* 0x55 */
.align 32
ta HP_BAD_TRAP /* 0x56 */
.align 32
ta HP_BAD_TRAP /* 0x57 */
.align 32
ta HP_BAD_TRAP /* 0x58 */
.align 32
ta HP_BAD_TRAP /* 0x59 */
.align 32
ta HP_BAD_TRAP /* 0x5a */
.align 32
ta HP_BAD_TRAP /* 0x5b */
.align 32
ta HP_BAD_TRAP /* 0x5c */
.align 32
ta HP_BAD_TRAP /* 0x5d */
.align 32
ta HP_BAD_TRAP /* 0x5e */
.align 32
ta HP_BAD_TRAP /* 0x5f */
.align 32
ta HP_BAD_TRAP /* 0x60 */
.align 32
ta HP_BAD_TRAP /* 0x61 */
.align 32
ta HP_BAD_TRAP /* 0x62 */
.align 32
ta HP_BAD_TRAP /* 0x63 */
.align 32
ta HP_BAD_TRAP /* 0x64 */
.align 32
ta HP_BAD_TRAP /* 0x65 */
.align 32
ta HP_BAD_TRAP /* 0x66 */
.align 32
ta HP_BAD_TRAP /* 0x67 */
.align 32
ta HP_BAD_TRAP /* 0x68 */
.align 32
ta HP_BAD_TRAP /* 0x69 */
.align 32
ta HP_BAD_TRAP /* 0x6a */
.align 32
ta HP_BAD_TRAP /* 0x6b */
.align 32
ta HP_BAD_TRAP /* 0x6c */
.align 32
ta HP_BAD_TRAP /* 0x6d */
.align 32
ta HP_BAD_TRAP /* 0x6e */
.align 32
ta HP_BAD_TRAP /* 0x6f */
.align 32
ta HP_BAD_TRAP /* 0x70 */
.align 32
ta HP_BAD_TRAP /* 0x71 */
.align 32
ta HP_BAD_TRAP /* 0x72 */
.align 32
ta HP_BAD_TRAP /* 0x73 */
.align 32
ta HP_BAD_TRAP /* 0x74 */
.align 32
ta HP_BAD_TRAP /* 0x75 */
.align 32
ta HP_BAD_TRAP /* 0x76 */
.align 32
ta HP_BAD_TRAP /* 0x77 */
.align 32
ta HP_BAD_TRAP /* 0x78 */
.align 32
ta HP_BAD_TRAP /* 0x79 */
.align 32
ta HP_BAD_TRAP /* 0x7a */
.align 32
ta HP_BAD_TRAP /* 0x7b */
.align 32
ta HP_BAD_TRAP /* 0x7c */
.align 32
ta HP_BAD_TRAP /* 0x7d */
.align 32
ta HP_BAD_TRAP /* 0x7e */
.align 32
ta HP_BAD_TRAP /* 0x7f */
.align 32
ta HP_BAD_TRAP /* 0x80 */
.align 32
ta HP_BAD_TRAP /* 0x81 */
.align 32
ta HP_BAD_TRAP /* 0x82 */
.align 32
ta HP_BAD_TRAP /* 0x83 */
.align 32
ta HP_BAD_TRAP /* 0x84 */
.align 32
ta HP_BAD_TRAP /* 0x85 */
.align 32
ta HP_BAD_TRAP /* 0x86 */
.align 32
ta HP_BAD_TRAP /* 0x87 */
.align 32
ta HP_BAD_TRAP /* 0x88 */
.align 32
ta HP_BAD_TRAP /* 0x89 */
.align 32
ta HP_BAD_TRAP /* 0x8a */
.align 32
ta HP_BAD_TRAP /* 0x8b */
.align 32
ta HP_BAD_TRAP /* 0x8c */
.align 32
ta HP_BAD_TRAP /* 0x8d */
.align 32
ta HP_BAD_TRAP /* 0x8e */
.align 32
ta HP_BAD_TRAP /* 0x8f */
.align 32
ta HP_BAD_TRAP /* 0x90 */
.align 32
ta HP_BAD_TRAP /* 0x91 */
.align 32
ta HP_BAD_TRAP /* 0x92 */
.align 32
ta HP_BAD_TRAP /* 0x93 */
.align 32
ta HP_BAD_TRAP /* 0x94 */
.align 32
ta HP_BAD_TRAP /* 0x95 */
.align 32
ta HP_BAD_TRAP /* 0x96 */
.align 32
ta HP_BAD_TRAP /* 0x97 */
.align 32
ta HP_BAD_TRAP /* 0x98 */
.align 32
ta HP_BAD_TRAP /* 0x99 */
.align 32
ta HP_BAD_TRAP /* 0x9a */
.align 32
ta HP_BAD_TRAP /* 0x9b */
.align 32
ta HP_BAD_TRAP /* 0x9c */
.align 32
ta HP_BAD_TRAP /* 0x9d */
.align 32
ta HP_BAD_TRAP /* 0x9e */
.align 32
ta HP_BAD_TRAP /* 0x9f */
.align 32
ta HP_BAD_TRAP /* 0xa0 */
.align 32
ta HP_BAD_TRAP /* 0xa1 */
.align 32
ta HP_BAD_TRAP /* 0xa2 */
.align 32
ta HP_BAD_TRAP /* 0xa3 */
.align 32
ta HP_BAD_TRAP /* 0xa4 */
.align 32
ta HP_BAD_TRAP /* 0xa5 */
.align 32
ta HP_BAD_TRAP /* 0xa6 */
.align 32
ta HP_BAD_TRAP /* 0xa7 */
.align 32
ta HP_BAD_TRAP /* 0xa8 */
.align 32
ta HP_BAD_TRAP /* 0xa9 */
.align 32
ta HP_BAD_TRAP /* 0xaa */
.align 32
ta HP_BAD_TRAP /* 0xab */
.align 32
ta HP_BAD_TRAP /* 0xac */
.align 32
ta HP_BAD_TRAP /* 0xad */
.align 32
ta HP_BAD_TRAP /* 0xae */
.align 32
ta HP_BAD_TRAP /* 0xaf */
.align 32
ta HP_BAD_TRAP /* 0xb0 */
.align 32
ta HP_BAD_TRAP /* 0xb1 */
.align 32
ta HP_BAD_TRAP /* 0xb2 */
.align 32
ta HP_BAD_TRAP /* 0xb3 */
.align 32
ta HP_BAD_TRAP /* 0xb4 */
.align 32
ta HP_BAD_TRAP /* 0xb5 */
.align 32
ta HP_BAD_TRAP /* 0xb6 */
.align 32
ta HP_BAD_TRAP /* 0xb7 */
.align 32
ta HP_BAD_TRAP /* 0xb8 */
.align 32
ta HP_BAD_TRAP /* 0xb9 */
.align 32
ta HP_BAD_TRAP /* 0xba */
.align 32
ta HP_BAD_TRAP /* 0xbb */
.align 32
ta HP_BAD_TRAP /* 0xbc */
.align 32
ta HP_BAD_TRAP /* 0xbd */
.align 32
ta HP_BAD_TRAP /* 0xbe */
.align 32
ta HP_BAD_TRAP /* 0xbf */
.align 32
ta HP_BAD_TRAP /* 0xc0 */
.align 32
ta HP_BAD_TRAP /* 0xc1 */
.align 32
ta HP_BAD_TRAP /* 0xc2 */
.align 32
ta HP_BAD_TRAP /* 0xc3 */
.align 32
ta HP_BAD_TRAP /* 0xc4 */
.align 32
ta HP_BAD_TRAP /* 0xc5 */
.align 32
ta HP_BAD_TRAP /* 0xc6 */
.align 32
ta HP_BAD_TRAP /* 0xc7 */
.align 32
ta HP_BAD_TRAP /* 0xc8 */
.align 32
ta HP_BAD_TRAP /* 0xc9 */
.align 32
ta HP_BAD_TRAP /* 0xca */
.align 32
ta HP_BAD_TRAP /* 0xcb */
.align 32
ta HP_BAD_TRAP /* 0xcc */
.align 32
ta HP_BAD_TRAP /* 0xcd */
.align 32
ta HP_BAD_TRAP /* 0xce */
.align 32
ta HP_BAD_TRAP /* 0xcf */
.align 32
ta HP_BAD_TRAP /* 0xd0 */
.align 32
ta HP_BAD_TRAP /* 0xd1 */
.align 32
ta HP_BAD_TRAP /* 0xd2 */
.align 32
ta HP_BAD_TRAP /* 0xd3 */
.align 32
ta HP_BAD_TRAP /* 0xd4 */
.align 32
ta HP_BAD_TRAP /* 0xd5 */
.align 32
ta HP_BAD_TRAP /* 0xd6 */
.align 32
ta HP_BAD_TRAP /* 0xd7 */
.align 32
ta HP_BAD_TRAP /* 0xd8 */
.align 32
ta HP_BAD_TRAP /* 0xd9 */
.align 32
ta HP_BAD_TRAP /* 0xda */
.align 32
ta HP_BAD_TRAP /* 0xdb */
.align 32
ta HP_BAD_TRAP /* 0xdc */
.align 32
ta HP_BAD_TRAP /* 0xdd */
.align 32
ta HP_BAD_TRAP /* 0xde */
.align 32
ta HP_BAD_TRAP /* 0xdf */
.align 32
ta HP_BAD_TRAP /* 0xe0 */
.align 32
ta HP_BAD_TRAP /* 0xe1 */
.align 32
ta HP_BAD_TRAP /* 0xe2 */
.align 32
ta HP_BAD_TRAP /* 0xe3 */
.align 32
ta HP_BAD_TRAP /* 0xe4 */
.align 32
ta HP_BAD_TRAP /* 0xe5 */
.align 32
ta HP_BAD_TRAP /* 0xe6 */
.align 32
ta HP_BAD_TRAP /* 0xe7 */
.align 32
ta HP_BAD_TRAP /* 0xe8 */
.align 32
ta HP_BAD_TRAP /* 0xe9 */
.align 32
ta HP_BAD_TRAP /* 0xea */
.align 32
ta HP_BAD_TRAP /* 0xeb */
.align 32
ta HP_BAD_TRAP /* 0xec */
.align 32
ta HP_BAD_TRAP /* 0xed */
.align 32
ta HP_BAD_TRAP /* 0xee */
.align 32
ta HP_BAD_TRAP /* 0xef */
.align 32
ta HP_BAD_TRAP /* 0xf0 */
.align 32
ta HP_BAD_TRAP /* 0xf1 */
.align 32
ta HP_BAD_TRAP /* 0xf2 */
.align 32
ta HP_BAD_TRAP /* 0xf3 */
.align 32
ta HP_BAD_TRAP /* 0xf4 */
.align 32
ta HP_BAD_TRAP /* 0xf5 */
.align 32
ta HP_BAD_TRAP /* 0xf6 */
.align 32
ta HP_BAD_TRAP /* 0xf7 */
.align 32
ta HP_BAD_TRAP /* 0xf8 */
.align 32
ta HP_BAD_TRAP /* 0xf9 */
.align 32
ta HP_BAD_TRAP /* 0xfa */
.align 32
ta HP_BAD_TRAP /* 0xfb */
.align 32
ta HP_BAD_TRAP /* 0xfc */
.align 32
ta HP_BAD_TRAP /* 0xfd */
.align 32
ta HP_BAD_TRAP /* 0xfe */
.align 32
ta HP_BAD_TRAP /* 0xff */
.align 32
ta HP_GOOD_TRAP /* 0x100 */
.align 32
ta HP_BAD_TRAP /* 0x101 */
.align 32
ta HP_BAD_TRAP /* 0x102 */
.align 32
ta HP_BAD_TRAP /* 0x103 */
.align 32
ta HP_BAD_TRAP /* 0x104 */
.align 32
ta HP_BAD_TRAP /* 0x105 */
.align 32
ta HP_BAD_TRAP /* 0x106 */
.align 32
ta HP_BAD_TRAP /* 0x107 */
.align 32
ta HP_BAD_TRAP /* 0x108 */
.align 32
ta HP_BAD_TRAP /* 0x109 */
.align 32
ta HP_BAD_TRAP /* 0x10a */
.align 32
ta HP_BAD_TRAP /* 0x10b */
.align 32
ta HP_BAD_TRAP /* 0x10c */
.align 32
ta HP_BAD_TRAP /* 0x10d */
.align 32
ta HP_BAD_TRAP /* 0x10e */
.align 32
ta HP_BAD_TRAP /* 0x10f */
.align 32
ta HPTRAP_I_DEMAP_ALL /* 0x110 */
done
.align 32
ta HPTRAP_I_DEMAP_PCTX /* 0x111 */
done
.align 32
ta HPTRAP_I_DEMAP_SCTX /* 0x112 */
done
.align 32
ta HPTRAP_I_DEMAP_NCTX /* 0x113 */
done
.align 32
ta HPTRAP_I_DEMAP_PAGE /* 0x114 */
done
.align 32
ta HPTRAP_I_DEMAP_RPAGE /* 0x115 */
done
.align 32
ta HPTRAP_I_DEMAP_REAL /* 0x116 */
done
.align 32
ta HPTRAP_D_DEMAP_ALL /* 0x117 */
done
.align 32
ta HPTRAP_D_DEMAP_PCTX /* 0x118 */
done
.align 32
ta HPTRAP_D_DEMAP_SCTX /* 0x119 */
done
.align 32
ta HPTRAP_D_DEMAP_NCTX /* 0x11a */
done
.align 32
ta HPTRAP_D_DEMAP_PAGE /* 0x11b */
done
.align 32
ta HPTRAP_D_DEMAP_RPAGE /* 0x11c */
done
.align 32
ta HPTRAP_D_DEMAP_REAL /* 0x11d */
done
.align 32
ta HP_BAD_TRAP /* 0x11e */
.align 32
ta HP_BAD_TRAP /* 0x11f */
.align 32
sllx %i7, 63, %g1
brz %g1, 1f
nop
rdpr %tnpc, %g2
add %g2, 8, %g2
wrpr %g2, %tnpc
1:
done
.align 32
ta HPTRAP_CHANGE_PID /* 0x121 */
done
.align 32
ta HPTRAP_INCR_TSB_SIZE /* 0x122 */
done
.align 32 /* 0x123 */
ldxa [%l1] 0x14, %l2
done
.align 32 /* 0x124 */
ldxa [%l1] 0x1c, %l2
done
.align 32 /* 0x125 */
ldda [%l1] 0x26, %l2
done
.align 32 /* 0x126 */
ldda [%l1] 0x2e, %l2
done
.align 32
ta HPTRAP_CLEAR_LSU_IMMU /* 0x127 */
done
.align 32
ta HPTRAP_CLEAR_LSU_DMMU /* 0x128 */
done
.align 32
ta HPTRAP_DELAY_LOOP /* 0x129 */
done
.align 32
ta HPTRAP_SEM_LOCK /* 0x12a */
done
.align 32
ta HPTRAP_SEM_RELEASE /* 0x12b */
done
.align 32
ta HPTRAP_SEM_GET /* 0x12c */
done
.align 32
ta HPTRAP_SEM_SET /* 0x12d */
done
.align 32
ta HPTRAP_GOTO_SUPERVISOR0 /* 0x12e */
.align 32
ta HPTRAP_GOTO_SUPERVISOR1 /* 0x12f */
.align 32
ta HP_BAD_TRAP /* 0x130 */
.align 32
ta HP_BAD_TRAP /* 0x131 */
.align 32
ta HP_BAD_TRAP /* 0x132 */
.align 32
ta HP_BAD_TRAP /* 0x133 */
.align 32
ta HP_BAD_TRAP /* 0x134 */
.align 32
ta HP_BAD_TRAP /* 0x135 */
.align 32
ta HP_BAD_TRAP /* 0x136 */
.align 32
ta HP_BAD_TRAP /* 0x137 */
.align 32
ta HP_BAD_TRAP /* 0x138 */
.align 32
ta HP_BAD_TRAP /* 0x139 */
.align 32
ta HP_BAD_TRAP /* 0x13a */
.align 32
ta HP_BAD_TRAP /* 0x13b */
.align 32
ta HP_BAD_TRAP /* 0x13c */
.align 32
ta HP_BAD_TRAP /* 0x13d */
.align 32
ta HP_BAD_TRAP /* 0x13e */
.align 32
ta HP_BAD_TRAP /* 0x13f */
.align 32
ta HP_BAD_TRAP /* 0x140 */
.align 32
ta HP_BAD_TRAP /* 0x141 */
.align 32
ta HP_BAD_TRAP /* 0x142 */
.align 32
ta HP_BAD_TRAP /* 0x143 */
.align 32
ta HP_BAD_TRAP /* 0x144 */
.align 32
ta HP_BAD_TRAP /* 0x145 */
.align 32
ta HP_BAD_TRAP /* 0x146 */
.align 32
ta HP_BAD_TRAP /* 0x147 */
.align 32
ta HP_BAD_TRAP /* 0x148 */
.align 32
ta HP_BAD_TRAP /* 0x149 */
.align 32
ta HP_BAD_TRAP /* 0x14a */
.align 32
ta HP_BAD_TRAP /* 0x14b */
.align 32
ta HP_BAD_TRAP /* 0x14c */
.align 32
ta HP_BAD_TRAP /* 0x14d */
.align 32
ta HP_BAD_TRAP /* 0x14e */
.align 32
ta HP_BAD_TRAP /* 0x14f */
.align 32
ta HP_BAD_TRAP /* 0x150 */
.align 32
ta HP_BAD_TRAP /* 0x151 */
.align 32
ta HP_BAD_TRAP /* 0x152 */
.align 32
ta HP_BAD_TRAP /* 0x153 */
.align 32
ta HP_BAD_TRAP /* 0x154 */
.align 32
ta HP_BAD_TRAP /* 0x155 */
.align 32
ta HP_BAD_TRAP /* 0x156 */
.align 32
ta HP_BAD_TRAP /* 0x157 */
.align 32
ta HP_BAD_TRAP /* 0x158 */
.align 32
ta HP_BAD_TRAP /* 0x159 */
.align 32
ta HP_BAD_TRAP /* 0x15a */
.align 32
ta HP_BAD_TRAP /* 0x15b */
.align 32
ta HP_BAD_TRAP /* 0x15c */
.align 32
ta HP_BAD_TRAP /* 0x15d */
.align 32
ta HP_BAD_TRAP /* 0x15e */
.align 32
ta HP_BAD_TRAP /* 0x15f */
.align 32
ta HP_BAD_TRAP /* 0x160 */
.align 32
ta HP_BAD_TRAP /* 0x161 */
.align 32
ta HP_BAD_TRAP /* 0x162 */
.align 32
ta HP_BAD_TRAP /* 0x163 */
.align 32
ta HP_BAD_TRAP /* 0x164 */
.align 32
ta HP_BAD_TRAP /* 0x165 */
.align 32
ta HP_BAD_TRAP /* 0x166 */
.align 32
ta HP_BAD_TRAP /* 0x167 */
.align 32
ta HP_BAD_TRAP /* 0x168 */
.align 32
ta HP_BAD_TRAP /* 0x169 */
.align 32
ta HP_BAD_TRAP /* 0x16a */
.align 32
ta HP_BAD_TRAP /* 0x16b */
.align 32
ta HP_BAD_TRAP /* 0x16c */
.align 32
ta HP_BAD_TRAP /* 0x16d */
.align 32
ta HP_BAD_TRAP /* 0x16e */
.align 32
ta HP_BAD_TRAP /* 0x16f */
.align 32
ta HP_BAD_TRAP /* 0x170 */
.align 32
ta HP_BAD_TRAP /* 0x171 */
.align 32
ta HP_BAD_TRAP /* 0x172 */
.align 32
ta HP_BAD_TRAP /* 0x173 */
.align 32
ta HP_BAD_TRAP /* 0x174 */
.align 32
ta HP_BAD_TRAP /* 0x175 */
.align 32
ta HP_BAD_TRAP /* 0x176 */
.align 32
ta HP_BAD_TRAP /* 0x177 */
.align 32
ta HP_BAD_TRAP /* 0x178 */
.align 32
ta HP_BAD_TRAP /* 0x179 */
.align 32
ta HP_BAD_TRAP /* 0x17a */
.align 32
ta HP_BAD_TRAP /* 0x17b */
.align 32
ta HP_BAD_TRAP /* 0x17c */
.align 32
ta HP_BAD_TRAP /* 0x17d */
.align 32
ta HP_BAD_TRAP /* 0x17e */
.align 32
ta HP_BAD_TRAP /* 0x17f */
.align 32
Thr7_Ptrap_Sect_text_end:
/******************************************************************************************
* $Revision: 1.1 $
*******************************************************************************************/
SECTION .HTRAPS TEXT_VA=HPTRAP_TEXT_PA
attr_text {
Name = .HTRAPS,
hypervisor,
}
ta HP_BAD_TRAP
.align 32 /* 1 */
ta HP_BAD_TRAP
.align 32 /* 2 */
ta HP_BAD_TRAP
.align 32 /* 3 */
ta HP_BAD_TRAP
.align 32 /* 4 */
ta HP_BAD_TRAP
.align 32 /* 5 */
ta HP_BAD_TRAP
.align 32 /* 6 */
ta HP_BAD_TRAP
.align 32 /* 7 */
ta HP_BAD_TRAP
.align 32 /* 8 */
ta HP_BAD_TRAP
.align 32 /* 9 */
setx ext_trap_0x9_begin, %g1, %g2
jmp %g2
nop
.align 32 /* a */
ta HP_BAD_TRAP
.align 32 /* b */
setx ext_trap_0xb_begin, %g1, %g2
jmp %g2
nop
.align 32 /* c */
ta HP_BAD_TRAP
.align 32 /* d */
ta HP_BAD_TRAP
.align 32 /* e */
ta HP_BAD_TRAP
.align 32 /* f */
ta HP_BAD_TRAP
.align 32 /* 10 */
done
.align 32 /* 11 */
ta HP_BAD_TRAP
.align 32 /* 12 */
ta HP_BAD_TRAP
.align 32 /* 13 */
ta HP_BAD_TRAP
.align 32 /* 14 */
ta HP_BAD_TRAP
.align 32 /* 15 */
ta HP_BAD_TRAP
.align 32 /* 16 */
ta HP_BAD_TRAP
.align 32 /* 17 */
ta HP_BAD_TRAP
.align 32 /* 18 */
ta HP_BAD_TRAP
.align 32 /* 19 */
ta HP_BAD_TRAP
.align 32 /* 1a */
ta HP_BAD_TRAP
.align 32 /* 1b */
setx ext_trap_0x1b_begin, %g1, %g2
jmp %g2
nop
.align 32 /* 1c */
ta HP_BAD_TRAP
.align 32 /* 1d */
ta HP_BAD_TRAP
.align 32 /* 1e */
ta HP_BAD_TRAP
.align 32 /* 1f */
ta HP_BAD_TRAP
.align 32 /* 20 */
ta HP_BAD_TRAP
.align 32 /* 21 */
ta HP_BAD_TRAP
.align 32 /* 22 */
ta HP_BAD_TRAP
.align 32 /* 23 */
ta HP_BAD_TRAP
.align 32 /* 24 */
ta HP_BAD_TRAP
.align 32 /* 25 */
ta HP_BAD_TRAP
.align 32 /* 26 */
ta HP_BAD_TRAP
.align 32 /* 27 */
ta HP_BAD_TRAP
.align 32 /* 28 */
ta HP_BAD_TRAP
.align 32 /* 29 */
ta HP_BAD_TRAP
.align 32 /* 2a */
ta HP_BAD_TRAP
.align 32 /* 2b */
ta HP_BAD_TRAP
.align 32 /* 2c */
ta HP_BAD_TRAP
.align 32 /* 2d */
ta HP_BAD_TRAP
.align 32 /* 2e */
setx ext_trap_0x2e_begin, %g1, %g2
jmp %g2
nop
.align 32 /* 2f */
ta HP_BAD_TRAP
.align 32 /* 30 */
ta HP_BAD_TRAP
.align 32 /* 31 */
setx ext_trap_0x31_begin, %g1, %g2
jmp %g2
nop
.align 32 /* 32 */
ta HP_BAD_TRAP
.align 32 /* 33 */
ta HP_BAD_TRAP
.align 32 /* 34 */
done
.align 32 /* 35 */
ta HP_BAD_TRAP
.align 32 /* 36 */
ta HP_BAD_TRAP
.align 32 /* 37 */
ta HP_BAD_TRAP
.align 32 /* 38 */
ta HP_BAD_TRAP
.align 32 /* 39 */
ta HP_BAD_TRAP
.align 32 /* 3a */
ta HP_BAD_TRAP
.align 32 /* 3b */
ta HP_BAD_TRAP
.align 32 /* 3c */
ta HP_BAD_TRAP
.align 32 /* 3d */
ta HP_BAD_TRAP
.align 32 /* 3e */
instruction_real_miss:
setx ext_trap_0x3e_begin, %g1, %g2
jmp %g2
nop
.align 32 /* 3f */
data_real_miss:
setx ext_trap_0x3f_begin, %g1, %g2
jmp %g2
nop
.align 32 /* 40 */
ta HP_BAD_TRAP
.align 32 /* 41 */
ta HP_BAD_TRAP
.align 32 /* 42 */
ta HP_BAD_TRAP
.align 32 /* 43 */
ta HP_BAD_TRAP
.align 32 /* 44 */
ta HP_BAD_TRAP
.align 32 /* 45 */
ta HP_BAD_TRAP
.align 32 /* 46 */
ta HP_BAD_TRAP
.align 32 /* 47 */
ta HP_BAD_TRAP
.align 32 /* 48 */
ta HP_BAD_TRAP
.align 32 /* 49 */
ta HP_BAD_TRAP
.align 32 /* 4a */
ta HP_BAD_TRAP
.align 32 /* 4b */
ta HP_BAD_TRAP
.align 32 /* 4c */
ta HP_BAD_TRAP
.align 32 /* 4d */
ta HP_BAD_TRAP
.align 32 /* 4e */
ta HP_BAD_TRAP
.align 32 /* 4f */
ta HP_BAD_TRAP
.align 32 /* 50 */
ta HP_BAD_TRAP
.align 32 /* 51 */
ta HP_BAD_TRAP
.align 32 /* 52 */
ta HP_BAD_TRAP
.align 32 /* 53 */
ta HP_BAD_TRAP
.align 32 /* 54 */
ta HP_BAD_TRAP
.align 32 /* 55 */
ta HP_BAD_TRAP
.align 32 /* 56 */
ta HP_BAD_TRAP
.align 32 /* 57 */
ta HP_BAD_TRAP
.align 32 /* 58 */
ta HP_BAD_TRAP
.align 32 /* 59 */
ta HP_BAD_TRAP
.align 32 /* 5a */
ta HP_BAD_TRAP
.align 32 /* 5b */
ta HP_BAD_TRAP
.align 32 /* 5c */
ta HP_BAD_TRAP
.align 32 /* 5d */
ta HP_BAD_TRAP
.align 32 /* 5e */
ta HP_BAD_TRAP
.align 32 /* 5f */
ta HP_BAD_TRAP
.align 32 /* 60 */
ta HP_BAD_TRAP
.align 32 /* 61 */
ta HP_BAD_TRAP
.align 32 /* 62 */
ta HP_BAD_TRAP
.align 32 /* 63 */
ta HP_BAD_TRAP
.align 32 /* 64 */
setx ext_trap_0x64_begin, %g1, %g2
jmp %g2
nop
.align 32 /* 65 */
ta HP_BAD_TRAP
.align 32 /* 66 */
ta HP_BAD_TRAP
.align 32 /* 67 */
ta HP_BAD_TRAP
.align 32 /* 68 */
setx ext_trap_0x68_begin, %g1, %g2
jmp %g2
nop
.align 32 /* 69 */
ta HP_BAD_TRAP
.align 32 /* 6a */
ta HP_BAD_TRAP
.align 32 /* 6b */
ta HP_BAD_TRAP
.align 32 /* 6c */
setx ext_trap_0x6c_begin, %g1, %g2
jmp %g2
nop
.align 32 /* 6d */
ta HP_BAD_TRAP
.align 32 /* 6e */
ta HP_BAD_TRAP
.align 32 /* 6f */
ta HP_BAD_TRAP
.align 32 /* 70 */
ta HP_BAD_TRAP
.align 32 /* 71 */
ta HP_BAD_TRAP
.align 32 /* 72 */
ta HP_BAD_TRAP
.align 32 /* 73 */
ta HP_BAD_TRAP
.align 32 /* 74 */
ta HP_BAD_TRAP
.align 32 /* 75 */
ta HP_BAD_TRAP
.align 32 /* 76 */
ta HP_BAD_TRAP
.align 32 /* 77 */
ta HP_BAD_TRAP
.align 32 /* 78 */
ta HP_BAD_TRAP
.align 32 /* 79 */
ta HP_BAD_TRAP
.align 32 /* 7a */
ta HP_BAD_TRAP
.align 32 /* 7b */
ta HP_BAD_TRAP
.align 32 /* 7c */
ta HP_BAD_TRAP
.align 32 /* 7d */
ta HP_BAD_TRAP
.align 32 /* 7e */
ta HP_BAD_TRAP
.align 32 /* 7f */
ta HP_BAD_TRAP
.align 32 /* 80 */
ta HP_BAD_TRAP
.align 32 /* 81 */
ta HP_BAD_TRAP
.align 32 /* 82 */
ta HP_BAD_TRAP
.align 32 /* 83 */
ta HP_BAD_TRAP
.align 32 /* 84 */
ta HP_BAD_TRAP
.align 32 /* 85 */
ta HP_BAD_TRAP
.align 32 /* 86 */
ta HP_BAD_TRAP
.align 32 /* 87 */
ta HP_BAD_TRAP
.align 32 /* 88 */
ta HP_BAD_TRAP
.align 32 /* 89 */
ta HP_BAD_TRAP
.align 32 /* 8a */
ta HP_BAD_TRAP
.align 32 /* 8b */
ta HP_BAD_TRAP
.align 32 /* 8c */
ta HP_BAD_TRAP
.align 32 /* 8d */
ta HP_BAD_TRAP
.align 32 /* 8e */
ta HP_BAD_TRAP
.align 32 /* 8f */
ta HP_BAD_TRAP
.align 32 /* 90 */
ta HP_BAD_TRAP
.align 32 /* 91 */
ta HP_BAD_TRAP
.align 32 /* 92 */
ta HP_BAD_TRAP
.align 32 /* 93 */
ta HP_BAD_TRAP
.align 32 /* 94 */
ta HP_BAD_TRAP
.align 32 /* 95 */
ta HP_BAD_TRAP
.align 32 /* 96 */
ta HP_BAD_TRAP
.align 32 /* 97 */
ta HP_BAD_TRAP
.align 32 /* 98 */
ta HP_BAD_TRAP
.align 32 /* 99 */
ta HP_BAD_TRAP
.align 32 /* 9a */
ta HP_BAD_TRAP
.align 32 /* 9b */
ta HP_BAD_TRAP
.align 32 /* 9c */
ta HP_BAD_TRAP
.align 32 /* 9d */
ta HP_BAD_TRAP
.align 32 /* 9e */
ta HP_BAD_TRAP
.align 32 /* 9f */
ta HP_BAD_TRAP
.align 32 /* a0 */
ta HP_BAD_TRAP
.align 32 /* a1 */
ta HP_BAD_TRAP
.align 32 /* a2 */
ta HP_BAD_TRAP
.align 32 /* a3 */
ta HP_BAD_TRAP
.align 32 /* a4 */
ta HP_BAD_TRAP
.align 32 /* a5 */
ta HP_BAD_TRAP
.align 32 /* a6 */
ta HP_BAD_TRAP
.align 32 /* a7 */
ta HP_BAD_TRAP
.align 32 /* a8 */
ta HP_BAD_TRAP
.align 32 /* a9 */
ta HP_BAD_TRAP
.align 32 /* aa */
ta HP_BAD_TRAP
.align 32 /* ab */
ta HP_BAD_TRAP
.align 32 /* ac */
ta HP_BAD_TRAP
.align 32 /* ad */
ta HP_BAD_TRAP
.align 32 /* ae */
ta HP_BAD_TRAP
.align 32 /* af */
ta HP_BAD_TRAP
.align 32 /* b0 */
ta HP_BAD_TRAP
.align 32 /* b1 */
ta HP_BAD_TRAP
.align 32 /* b2 */
ta HP_BAD_TRAP
.align 32 /* b3 */
ta HP_BAD_TRAP
.align 32 /* b4 */
ta HP_BAD_TRAP
.align 32 /* b5 */
ta HP_BAD_TRAP
.align 32 /* b6 */
ta HP_BAD_TRAP
.align 32 /* b7 */
ta HP_BAD_TRAP
.align 32 /* b8 */
ta HP_BAD_TRAP
.align 32 /* b9 */
ta HP_BAD_TRAP
.align 32 /* ba */
ta HP_BAD_TRAP
.align 32 /* bb */
ta HP_BAD_TRAP
.align 32 /* bc */
ta HP_BAD_TRAP
.align 32 /* bd */
ta HP_BAD_TRAP
.align 32 /* be */
ta HP_BAD_TRAP
.align 32 /* bf */
ta HP_BAD_TRAP
.align 32 /* c0 */
ta HP_BAD_TRAP
.align 32 /* c1 */
ta HP_BAD_TRAP
.align 32 /* c2 */
ta HP_BAD_TRAP
.align 32 /* c3 */
ta HP_BAD_TRAP
.align 32 /* c4 */
ta HP_BAD_TRAP
.align 32 /* c5 */
ta HP_BAD_TRAP
.align 32 /* c6 */
ta HP_BAD_TRAP
.align 32 /* c7 */
ta HP_BAD_TRAP
.align 32 /* c8 */
ta HP_BAD_TRAP
.align 32 /* c9 */
ta HP_BAD_TRAP
.align 32 /* ca */
ta HP_BAD_TRAP
.align 32 /* cb */
ta HP_BAD_TRAP
.align 32 /* cc */
ta HP_BAD_TRAP
.align 32 /* cd */
ta HP_BAD_TRAP
.align 32 /* ce */
ta HP_BAD_TRAP
.align 32 /* cf */
ta HP_BAD_TRAP
.align 32 /* d0 */
ta HP_BAD_TRAP
.align 32 /* d1 */
ta HP_BAD_TRAP
.align 32 /* d2 */
ta HP_BAD_TRAP
.align 32 /* d3 */
ta HP_BAD_TRAP
.align 32 /* d4 */
ta HP_BAD_TRAP
.align 32 /* d5 */
ta HP_BAD_TRAP
.align 32 /* d6 */
ta HP_BAD_TRAP
.align 32 /* d7 */
ta HP_BAD_TRAP
.align 32 /* d8 */
ta HP_BAD_TRAP
.align 32 /* d9 */
ta HP_BAD_TRAP
.align 32 /* da */
ta HP_BAD_TRAP
.align 32 /* db */
ta HP_BAD_TRAP
.align 32 /* dc */
ta HP_BAD_TRAP
.align 32 /* dd */
ta HP_BAD_TRAP
.align 32 /* de */
ta HP_BAD_TRAP
.align 32 /* df */
ta HP_BAD_TRAP
.align 32 /* e0 */
ta HP_BAD_TRAP
.align 32 /* e1 */
ta HP_BAD_TRAP
.align 32 /* e2 */
ta HP_BAD_TRAP
.align 32 /* e3 */
ta HP_BAD_TRAP
.align 32 /* e4 */
ta HP_BAD_TRAP
.align 32 /* e5 */
ta HP_BAD_TRAP
.align 32 /* e6 */
ta HP_BAD_TRAP
.align 32 /* e7 */
ta HP_BAD_TRAP
.align 32 /* e8 */
ta HP_BAD_TRAP
.align 32 /* e9 */
ta HP_BAD_TRAP
.align 32 /* ea */
ta HP_BAD_TRAP
.align 32 /* eb */
ta HP_BAD_TRAP
.align 32 /* ec */
ta HP_BAD_TRAP
.align 32 /* ed */
ta HP_BAD_TRAP
.align 32 /* ee */
ta HP_BAD_TRAP
.align 32 /* ef */
ta HP_BAD_TRAP
.align 32 /* f0 */
ta HP_BAD_TRAP
.align 32 /* f1 */
ta HP_BAD_TRAP
.align 32 /* f2 */
ta HP_BAD_TRAP
.align 32 /* f3 */
ta HP_BAD_TRAP
.align 32 /* f4 */
ta HP_BAD_TRAP
.align 32 /* f5 */
ta HP_BAD_TRAP
.align 32 /* f6 */
ta HP_BAD_TRAP
.align 32 /* f7 */
ta HP_BAD_TRAP
.align 32 /* f8 */
ta HP_BAD_TRAP
.align 32 /* f9 */
ta HP_BAD_TRAP
.align 32 /* fa */
ta HP_BAD_TRAP
.align 32 /* fb */
ta HP_BAD_TRAP
.align 32 /* fc */
ta HP_BAD_TRAP
.align 32 /* fd */
ta HP_BAD_TRAP
.align 32 /* fe */
ta HP_BAD_TRAP
.align 32 /* ff */
ta HP_BAD_TRAP
.align 32 /* 100 */
wrpr 0, %tl
ta HP_GOOD_TRAP
.align 32 /* 101 */
wrpr 0, %tl
ta HP_BAD_TRAP
.align 32 /* 102 */
ta HP_BAD_TRAP
.align 32 /* 103 */
ta HP_BAD_TRAP
.align 32 /* 104 */
ta HP_BAD_TRAP
.align 32 /* 105 */
ta HP_BAD_TRAP
.align 32 /* 106 */
ta HP_BAD_TRAP
.align 32 /* 107 */
ta HP_BAD_TRAP
.align 32 /* 108 */
ta HP_BAD_TRAP
.align 32 /* 109 */
ta HP_BAD_TRAP
.align 32 /* 10a */
ta HP_BAD_TRAP
.align 32 /* 10b */
ta HP_BAD_TRAP
.align 32 /* 10c */
ta HP_BAD_TRAP
.align 32 /* 10d */
ta HP_BAD_TRAP
.align 32 /* 10e */
ta HP_BAD_TRAP
.align 32 /* 10f */
ta HP_BAD_TRAP
.align 32 /* 110 */
ta HP_BAD_TRAP
.align 32 /* 111 */
ta HP_BAD_TRAP
.align 32 /* 112 */
ta HP_BAD_TRAP
.align 32 /* 113 */
ta HP_BAD_TRAP
.align 32 /* 114 */
ta HP_BAD_TRAP
.align 32 /* 115 */
ta HP_BAD_TRAP
.align 32 /* 116 */
ta HP_BAD_TRAP
.align 32 /* 117 */
ta HP_BAD_TRAP
.align 32 /* 118 */
ta HP_BAD_TRAP
.align 32 /* 119 */
ta HP_BAD_TRAP
.align 32 /* 11a */
ta HP_BAD_TRAP
.align 32 /* 11b */
ta HP_BAD_TRAP
.align 32 /* 11c */
ta HP_BAD_TRAP
.align 32 /* 11d */
ta HP_BAD_TRAP
.align 32 /* 11e */
ta HP_BAD_TRAP
.align 32 /* 11f */
ta HP_BAD_TRAP
.align 32 /* 120 */
ta HP_BAD_TRAP
.align 32 /* 121 */
ta HP_BAD_TRAP
.align 32 /* 122 */
ta HP_BAD_TRAP
.align 32 /* 123 */
ta HP_BAD_TRAP
.align 32 /* 124 */
ta HP_BAD_TRAP
.align 32 /* 125 */
ta HP_BAD_TRAP
.align 32 /* 126 */
ta HP_BAD_TRAP
.align 32 /* 127 */
ta HP_BAD_TRAP
.align 32 /* 128 */
ta HP_BAD_TRAP
.align 32 /* 129 */
ta HP_BAD_TRAP
.align 32 /* 12a */
ta HP_BAD_TRAP
.align 32 /* 12b */
ta HP_BAD_TRAP
.align 32 /* 12c */
ta HP_BAD_TRAP
.align 32 /* 12d */
ta HP_BAD_TRAP
.align 32 /* 12e */
ta HP_BAD_TRAP
.align 32 /* 12f */
ta HP_BAD_TRAP
.align 32 /* 130 */
ta HP_BAD_TRAP
.align 32 /* 131 */
ta HP_BAD_TRAP
.align 32 /* 132 */
ta HP_BAD_TRAP
.align 32 /* 133 */
ta HP_BAD_TRAP
.align 32 /* 134 */
ta HP_BAD_TRAP
.align 32 /* 135 */
ta HP_BAD_TRAP
.align 32 /* 136 */
ta HP_BAD_TRAP
.align 32 /* 137 */
ta HP_BAD_TRAP
.align 32 /* 138 */
ta HP_BAD_TRAP
.align 32 /* 139 */
ta HP_BAD_TRAP
.align 32 /* 13a */
ta HP_BAD_TRAP
.align 32 /* 13b */
ta HP_BAD_TRAP
.align 32 /* 13c */
ta HP_BAD_TRAP
.align 32 /* 13d */
ta HP_BAD_TRAP
.align 32 /* 13e */
ta HP_BAD_TRAP
.align 32 /* 13f */
ta HP_BAD_TRAP
.align 32 /* 140 */
ta HP_BAD_TRAP
.align 32 /* 141 */
ta HP_BAD_TRAP
.align 32 /* 142 */
ta HP_BAD_TRAP
.align 32 /* 143 */
ta HP_BAD_TRAP
.align 32 /* 144 */
ta HP_BAD_TRAP
.align 32 /* 145 */
ta HP_BAD_TRAP
.align 32 /* 146 */
ta HP_BAD_TRAP
.align 32 /* 147 */
ta HP_BAD_TRAP
.align 32 /* 148 */
ta HP_BAD_TRAP
.align 32 /* 149 */
ta HP_BAD_TRAP
.align 32 /* 14a */
ta HP_BAD_TRAP
.align 32 /* 14b */
ta HP_BAD_TRAP
.align 32 /* 14c */
ta HP_BAD_TRAP
.align 32 /* 14d */
ta HP_BAD_TRAP
.align 32 /* 14e */
ta HP_BAD_TRAP
.align 32 /* 14f */
ta HP_BAD_TRAP
.align 32 /* 150 */
ta HP_BAD_TRAP
.align 32 /* 151 */
ta HP_BAD_TRAP
.align 32 /* 152 */
ta HP_BAD_TRAP
.align 32 /* 153 */
ta HP_BAD_TRAP
.align 32 /* 154 */
ta HP_BAD_TRAP
.align 32 /* 155 */
ta HP_BAD_TRAP
.align 32 /* 156 */
ta HP_BAD_TRAP
.align 32 /* 157 */
ta HP_BAD_TRAP
.align 32 /* 158 */
ta HP_BAD_TRAP
.align 32 /* 159 */
ta HP_BAD_TRAP
.align 32 /* 15a */
ta HP_BAD_TRAP
.align 32 /* 15b */
ta HP_BAD_TRAP
.align 32 /* 15c */
ta HP_BAD_TRAP
.align 32 /* 15d */
ta HP_BAD_TRAP
.align 32 /* 15e */
ta HP_BAD_TRAP
.align 32 /* 15f */
ta HP_BAD_TRAP
.align 32 /* 160 */
ta HP_BAD_TRAP
.align 32 /* 161 */
ta HP_BAD_TRAP
.align 32 /* 162 */
ta HP_BAD_TRAP
.align 32 /* 163 */
ta HP_BAD_TRAP
.align 32 /* 164 */
ta HP_BAD_TRAP
.align 32 /* 165 */
ta HP_BAD_TRAP
.align 32 /* 166 */
ta HP_BAD_TRAP
.align 32 /* 167 */
ta HP_BAD_TRAP
.align 32 /* 168 */
ta HP_BAD_TRAP
.align 32 /* 169 */
ta HP_BAD_TRAP
.align 32 /* 16a */
ta HP_BAD_TRAP
.align 32 /* 16b */
ta HP_BAD_TRAP
.align 32 /* 16c */
ta HP_BAD_TRAP
.align 32 /* 16d */
ta HP_BAD_TRAP
.align 32 /* 16e */
ta HP_BAD_TRAP
.align 32 /* 16f */
ta HP_BAD_TRAP
.align 32 /* 170 */
ta HP_BAD_TRAP
.align 32 /* 171 */
ta HP_BAD_TRAP
.align 32 /* 172 */
ta HP_BAD_TRAP
.align 32 /* 173 */
ta HP_BAD_TRAP
.align 32 /* 174 */
ta HP_BAD_TRAP
.align 32 /* 175 */
ta HP_BAD_TRAP
.align 32 /* 176 */
ta HP_BAD_TRAP
.align 32 /* 177 */
ta HP_BAD_TRAP
.align 32 /* 178 */
ta HP_BAD_TRAP
.align 32 /* 179 */
ta HP_BAD_TRAP
.align 32 /* 17a */
ta HP_BAD_TRAP
.align 32 /* 17b */
ta HP_BAD_TRAP
.align 32 /* 17c */
ta HP_BAD_TRAP
.align 32 /* 17d */
ta HP_BAD_TRAP
.align 32 /* 17e */
ta HP_BAD_TRAP
.align 32 /* 17f */
ta HP_BAD_TRAP
.align 32 /* 180 */
! For all demaps, assume register %i7 = {VA[63:13],13'h0}
hptrap_I_demap_all:
or 0x80, %g0, %g1
stxa %g0, [%g1] ASI_IMMU_DEMAP
done
.align 32 /* 181 */
hptrap_I_demap_pctx:
or 0x40, %i7, %g1
stxa %g0, [%g1] ASI_IMMU_DEMAP
done
.align 32 /* 182 */
hptrap_I_demap_sctx:
or 0x50, %i7, %g1
stxa %g0, [%g1] ASI_IMMU_DEMAP
done
.align 32 /* 183 */
hptrap_I_demap_nctx:
or 0x60, %i7, %g1
stxa %g0, [%g1] ASI_IMMU_DEMAP
done
.align 32 /* 184 */
hptrap_I_demap_page:
or 0x00, %i7, %g1
stxa %g0, [%g1] ASI_IMMU_DEMAP
done
.align 32 /* 185 */
hptrap_I_demap_rpage:
or 0x800, %i7, %g1
stxa %g0, [%g1] ASI_IMMU_DEMAP
done
.align 32 /* 186 */
hptrap_I_demap_real:
or 0xc0, %i7, %g1
stxa %g0, [%g1] ASI_IMMU_DEMAP
done
.align 32 /* 187 */
hptrap_D_demap_all:
or 0x80, %g0, %g1
stxa %g0, [%g1] ASI_DMMU_DEMAP
done
.align 32 /* 188 */
hptrap_D_demap_pctx:
or 0x40, %i7, %g1
stxa %g0, [%g1] ASI_DMMU_DEMAP
done
.align 32 /* 189 */
hptrap_D_demap_sctx:
or 0x50, %i7, %g1
stxa %g0, [%g1] ASI_DMMU_DEMAP
done
.align 32 /* 18a */
hptrap_D_demap_nctx:
or 0x60, %i7, %g1
stxa %g0, [%g1] ASI_DMMU_DEMAP
done
.align 32 /* 18b */
hptrap_D_demap_page:
or 0x00, %i7, %g1
stxa %g0, [%g1] ASI_DMMU_DEMAP
done
.align 32 /* 18c */
hptrap_D_demap_rpage:
or 0x800, %i7, %g1
stxa %g0, [%g1] ASI_DMMU_DEMAP
done
.align 32 /* 18d */
hptrap_D_demap_real:
or 0xc0, %i7, %g1
stxa %g0, [%g1] ASI_DMMU_DEMAP
done
.align 32 /* 18e */
ta HP_BAD_TRAP
.align 32 /* 18f */
ta HP_BAD_TRAP
.align 32 /* 190 */
ta HP_BAD_TRAP
.align 32 /* 191 */
hptrap_change_pid:
mov ASI_PARTITION_ID_VAL, %g1
ldxa [%g1] ASI_PARTITION_ID, %g2
add %g2, 1, %g2
and %g2, 7, %g2
stxa %g2, [%g1] ASI_PARTITION_ID
done
.align 32 /* 192 */
hptrap_incr_tsb_size:
ta HP_BAD_TRAP
!setx ext_trap_0x192_begin, %g1, %g2
!jmp %g2
!nop
.align 32 /* 193 */
clear_lsu_immu:
or %g0, 0x4, %g1
ldxa [%g0] 0x45, %g2
xor %g2, %g1, %g3
stxa %g3, [%g0] 0x45
done
.align 32 /* 194 */
clear_lsu_dmmu:
or %g0, 0x8, %g1
ldxa [%g0] 0x45, %g2
xor %g2, %g1, %g3
stxa %g3, [%g0] 0x45
done
.align 32 /* 195 */
delay_loop: /* %i7 = loop count */
brnz,a %i7, delay_loop
sub %i7, 1, %i7
done
.align 32 /* 196 */
setx ext_trap_sem_lock_begin, %g1, %g2
jmp %g2
nop
.align 32 /* 197 */
setx ext_trap_sem_release_begin, %g1, %g2
jmp %g2
nop
.align 32 /* 198 */
setx sem_data, %g5, %g4 ! %g4 = sem_data
ldx [%g4+8], %i7
done
.align 32 /* 199 */
setx sem_data, %g5, %g4 ! %g4 = sem_data
stx %i7, [%g4+8]
done
.align 32 /* 19a */
rdhpr %hpstate, %g1
rdpr %pstate, %g2
wrpr %g2, 4, %pstate
wrpr 0, %tl
jmp %i7
wrhpr %g1, 4, %hpstate
.align 32 /* 19b */
rdhpr %hpstate, %g1
rdpr %tl, %g2
sub %g2, 1, %g2
wrpr %g2, %g0, %tl
rdpr %pstate, %g2
wrpr %g2, 4, %pstate
jmp %i7
wrhpr %g1, 4, %hpstate
.align 32 /* 19c */
ta HP_BAD_TRAP
.align 32 /* 19d */
ta HP_BAD_TRAP
.align 32 /* 19e */
ta HP_BAD_TRAP
.align 32 /* 19f */
ta HP_BAD_TRAP
.align 32 /* 1a0 */
trap_handler_1a0:
.global good_trap
good_trap:
ba good_trap
nop
nop
nop
.align 32
trap_handler_1a1:
.global bad_trap
bad_trap:
ba bad_trap
nop
nop
nop
/****************************************************************************************** */
SECTION .HPTRAPS_EXT_SECT TEXT_VA=HPTRAPS_EXT_TEXT_PA, DATA_VA=HPTRAPS_EXT_DATA_PA
attr_text {
Name=.HPTRAPS_EXT_SECT,
hypervisor
}
.text
.global ext_trap_0x9_begin
.global ext_trap_0xb_begin
.global ext_trap_0x1b_begin
.global ext_trap_0x2e_begin
.global ext_trap_0x31_begin
.global ext_trap_0x3e_begin
.global ext_trap_0x3f_begin
.global ext_trap_0x64_begin
.global ext_trap_0x68_begin
.global ext_trap_0x6c_begin
.global ext_trap_0x192_begin
.global ext_trap_sem_lock_begin
.global ext_trap_sem_release_begin
ext_trap_sem_lock_begin:
or %i7, %g0, %g7 ! save %i7
wr %g0, ASI_CORE_ID, %asi
ldxa [ASI_CORE_ID_VA] %asi, %g1 ! %g1 = core id + tid
ext_trap_sem_lock_loop:
or %g0, 0x100, %i7
or %g0, %g1, %g2
or %g0, 0x0fff, %g3 ! %g3 = compare value
setx sem_data, %g5, %g4 ! %g4 = sem_data
casxa [%g4] 0x80, %g3, %g2
cmp %g2, 0x0fff
bne,a %xcc, ext_trap_sem_lock_loop
ta HPTRAP_DELAY_LOOP
or %g7, %g0, %i7 ! restore %i7
done
ext_trap_sem_release_begin:
wr %g0, ASI_CORE_ID, %asi
ldxa [ASI_CORE_ID_VA] %asi, %g1 ! %g1 = core id + tid
or %g0, 0x0fff, %g3 ! %g3 = compare value
setx sem_data, %g5, %g4 ! %g4 = sem_data
casxa [%g4] 0x80, %g1, %g3
done
ext_trap_0x3e_begin:
! If TL > 1 ==> Zero context
rdpr %tl, %g1
cmp %g1, 1
bg,a %xcc, trap_0x3e_zero_ctx
or %g0, 0x10, %g4
or %g0, 0x30, %g4
trap_0x3e_zero_ctx:
ldxa [%g0] 0x50, %g1 ! %g1 = IMMU_TAG_TARGET
or %g0, 0x50, %g2
ldxa [%g2] 0x54, %g3 ! %g3 = ITSB_PTR_0
trap_0x3e_next_tte:
ldda [%g3] ASI_NUCLEUS_QUAD_LDD, %g6 ! %g6 = TTE_TAG, %g7 = TTE_DATA
cmp %g6, %g1
bne,a %xcc, trap_0x3e_next_tsb_ptr
add %g2, 8, %g2
srlx %g7, 63, %g5
brz %g5, trap_0x3e_next_tsb_ptr
add %g2, 8, %g2
ldxa [%g4] 0x54, %g5 ! %g5 = NZ_TSB_CONFIG
and %g5, 0x80, %g5
brz,a %g5, trap_0x3e_sun4u
or %g0, 0x0400, %g5
trap_0x3e_sun4v:
or %g0, 0x0400, %g5
trap_0x3e_sun4u:
stxa %g7, [%g5] 0x54 ! Write to IMMU_DATA_IN
retry
trap_0x3e_next_tsb_ptr:
add %g4, 8, %g4
cmp %g4, 0x50
bl,a %xcc, trap_0x3e_next_tte
ldxa [%g2] 0x54, %g3 ! %g3 = DTSB_PTR
done
!****************************************************************************************
ext_trap_0x3f_begin:
or %g0, 0x8, %g1
ldxa [%g1] 0x21, %g2 ! %g2 = PRIMARY_CTX
or %g0, 0x30, %g3
ldxa [%g3] 0x58, %g1 ! %g1 = DMMU_TAG_ACCESS
srlx %g1, 13, %g1
sllx %g1, 13, %g1
or %g1, %g2, %g1 ! %g1 = DMMU_TAG_ACCESS with NZ_CTX
stxa %g1, [%g3] 0x58 ! Update DMMU_TAG_ACCESS
ldxa [%g0] 0x58, %g1 ! %g1 = DMMU_TAG_TARGET
or %g0, 0x30, %g4
or %g0, 0x70, %g2
ldxa [%g2] 0x54, %g3 ! %g3 = DTSB_PTR_0
trap_0x3f_next_tte:
ldda [%g3] ASI_NUCLEUS_QUAD_LDD, %g6 ! %g6 = TTE_TAG, %g7 = TTE_DATA
cmp %g6, %g1
bne,a %xcc, trap_0x3f_next_tsb_ptr
add %g2, 8, %g2
srlx %g7, 63, %g5
brz %g5, trap_0x3f_next_tsb_ptr
add %g2, 8, %g2
ldxa [%g4] 0x54, %g5 ! %g5 = NZ_TSB_CONFIG
and %g5, 0x80, %g5
brz,a %g5, trap_0x3f_sun4u
or %g0, 0x0400, %g5
trap_0x3f_sun4v:
or %g0, 0x0400, %g5
trap_0x3f_sun4u:
stxa %g7, [%g5] 0x5c ! Write to DMMU_DATA_IN
retry
trap_0x3f_next_tsb_ptr:
add %g4, 8, %g4
cmp %g4, 0x50
bl,a %xcc, trap_0x3f_next_tte
ldxa [%g2] 0x54, %g3 ! %g3 = DTSB_PTR
done
!****************************************************************************************
ext_trap_0x64_begin:
ldxa [%g0] 0x50, %g1 ! %g1 = IMMU_TAG_TARGET
or %g0, 0x50, %g2 ! %g2 points to ITSB_PTR_0
srlx %g1, 48, %g3 ! %g3 = CTX
brz,a %g3, trap_0x64_load_tsb_config
or %g0, 0x10, %g3
or %g0, 0x30, %g3
trap_0x64_load_tsb_config:
ldxa [%g3] 0x54, %g4 ! %g4 = TSB_CONFIG
stxa %g4, [%g0] 0x4f
and %g4, 0x80, %g4 ! %g4 = SUN4V
brz,a %g4, trap_0x64_sun4u
or %g0, %g0, %g4 ! %g4 = 0x000 -> 4U
or %g0, 0x000, %g4 ! %g4 = 0x000 -> 4V
trap_0x64_sun4u:
ldxa [%g2] 0x54, %g5 ! %g5 = ITSB_PTR
trap_0x64_load_tte:
ldda [%g5] ASI_NUCLEUS_QUAD_LDD, %g6 ! %g6=TTE_TAG, %g7=TTE_DATA
cmp %g6, %g1 ! Compare TAG
bne,a %xcc, trap_0x64_next_ptr
add %g2, 8, %g2
srlx %g7, 63, %g5 ! Check Valid bit
brz,a %g5, trap_0x64_next_ptr
add %g2, 8, %g2
! At this point, we have got the TTE to be loaded into the TLB.
! We just need to figure out what physical offset to use.
! Register %g4 and %g7 are restricted.
setx trap_ra_mask, %g5, %g6
ldxa [%g0] 0x4f, %g5 ! %g5 = TSB_CONFIG
and %g5, 0x100, %g3 ! %g3 has the ranotpa bit
brz,a %g3, trap_0x64_skip_ra
nop
! The following code checks for real ranges hi and lo
and %g5, 0x70, %g3 ! %g3 = PSIZE
cmp %g3, 0x00
be,a trap_0x64_get_rr_limits
add %g6, 48, %g6
cmp %g3, 0x10
be,a trap_0x64_get_rr_limits
add %g6, 32, %g6
cmp %g3, 0x10
be,a trap_0x64_get_rr_limits
add %g6, 16, %g6
trap_0x64_get_rr_limits:
ldda [%g6] 0x24, %g2 ! %g2 = RA_hi offset, %g3 = RA_lo offset
sllx %g7, 24, %g5
srlx %g5, 37, %g5
sllx %g5, 13, %g5 ! %g5 = RA
add %g5, %g2, %g2 ! %g2 = RA_hi
add %g5, %g3, %g3 ! %g3 = RA_lo
or %g0, 0x108, %g1 ! %g1 points to REAL_RANGE_REG
trap_0x64_next_rr:
cmp %g1, 0x128
bl,a %xcc, trap_0x64_get_rr
ldxa [%g1] 0x52, %g5 ! %g5 = REAL_RANGE
done ! Error
trap_0x64_get_rr:
srlx %g5, 63, %g6 ! Check for the enable bit
brz,a %g6, trap_0x64_next_rr
add %g1, 8, %g1
sllx %g5, 10, %g6 ! %g6 = RR left shift by 10
srlx %g6, 37, %g6
sllx %g6, 13, %g6 ! %g6 = RA_max
cmp %g6, %g2
bl,a %xcc, trap_0x64_next_rr
add %g1, 8, %g1
sllx %g5, 37, %g6
srlx %g6, 24, %g6 ! %g6 = RA_min
cmp %g6, %g3
bg,a %xcc, trap_0x64_next_rr
add %g1, 8, %g1
add %g1, 0x100, %g1
ldxa [%g1] 0x52, %g1 ! %g1 = physical offset
add %g7, %g1, %g7
trap_0x64_skip_ra:
stxa %g7, [%g4] 0x54
retry
trap_0x64_next_ptr:
cmp %g2, 0x70
bl,a %xcc, trap_0x64_load_tsb_config
add %g3, 8, %g3
done
!****************************************************************************************
ext_trap_0x68_begin:
ldxa [%g0] 0x58, %g1 ! %g1 = DMMU_TAG_TARGET
or %g0, 0x70, %g2 ! %g2 points to DTSB_PTR_0
srlx %g1, 48, %g3 ! %g3 = CTX
brz,a %g3, trap_0x68_load_tsb_config
or %g0, 0x10, %g3
or %g0, 0x30, %g3
trap_0x68_load_tsb_config:
ldxa [%g3] 0x54, %g4 ! %g4 = TSB_CONFIG
stxa %g4, [%g0] 0x4f
and %g4, 0x80, %g4 ! %g4 = SUN4V
brz,a %g4, trap_0x68_sun4u
or %g0, %g0, %g4 ! %g4 = 0x000 -> 4U
or %g0, 0x000, %g4 ! %g4 = 0x000 -> 4V
trap_0x68_sun4u:
ldxa [%g2] 0x54, %g5 ! %g5 = DTSB_PTR
trap_0x68_load_tte:
ldda [%g5] ASI_NUCLEUS_QUAD_LDD, %g6 ! %g6=TTE_TAG, %g7=TTE_DATA
cmp %g6, %g1 ! Compare TAG
bne,a %xcc, trap_0x68_next_ptr
add %g2, 8, %g2
srlx %g7, 63, %g5 ! Check Valid bit
brz,a %g5, trap_0x68_next_ptr
add %g2, 8, %g2
! At this point, we have got the TTE to be loaded into the TLB.
! We just need to figure out what physical offset to use.
! Register %g4 and %g7 are restricted.
setx trap_ra_mask, %g5, %g6
ldxa [%g0] 0x4f, %g5 ! %g5 = TSB_CONFIG
and %g5, 0x100, %g3 ! %g3 has the ranotpa bit
brz,a %g3, trap_0x68_skip_ra
nop
and %g5, 0x70, %g3 ! %g3 = PSIZE
cmp %g3, 0x00
be,a trap_0x68_get_rr_limits
add %g6, 48, %g6
cmp %g3, 0x10
be,a trap_0x68_get_rr_limits
add %g6, 32, %g6
cmp %g3, 0x10
be,a trap_0x68_get_rr_limits
add %g6, 16, %g6
trap_0x68_get_rr_limits:
ldda [%g6] 0x24, %g2 ! %g2 = RA_max mask, %g3 = RA_min mask
sllx %g7, 24, %g5
srlx %g5, 37, %g5
sllx %g5, 13, %g5 ! %g5 = RA
add %g5, %g2, %g2 ! %g2 = RA_max
add %g5, %g3, %g3 ! %g3 = RA_min
or %g0, 0x108, %g1 ! %g1 points to REAL_RANGE_REG
trap_0x68_next_rr:
cmp %g1, 0x128
bl,a %xcc, trap_0x68_get_rr
ldxa [%g1] 0x52, %g5 ! %g5 = REAL_RANGE
done
trap_0x68_get_rr:
srlx %g5, 63, %g6
brz,a %g6, trap_0x68_next_rr
add %g1, 8, %g1
sllx %g5, 10, %g6 ! %g6 = RR left shift by 10
srlx %g6, 37, %g6
sllx %g6, 13, %g6 ! %g6 = RA_hi
cmp %g6, %g2
bl,a %xcc, trap_0x68_next_rr
add %g1, 8, %g1
sllx %g5, 37, %g6
srlx %g6, 24, %g6 ! %g6 = RA_lo
cmp %g6, %g3
bg,a %xcc, trap_0x68_next_rr
add %g1, 8, %g1
add %g1, 0x100, %g1
ldxa [%g1] 0x52, %g1 ! %g1 = physical offset
add %g7, %g1, %g7
trap_0x68_skip_ra:
stxa %g7, [%g4] 0x5c
retry
trap_0x68_next_ptr:
cmp %g2, 0x90
bl,a %xcc, trap_0x68_load_tsb_config
add %g3, 8, %g3
done
/*************************************************************************/
ext_trap_0x9_begin:
/* Get TID */
wr %g0, ASI_CORE_ID, %asi
ldxa [ASI_CORE_ID_VA] %asi, %l7
set 0x7, %g1
and %l7, %g1, %l7 ! %l7 has TID
setx Thr0_trap_occurence_cnt_begin, %g2, %g1
or %g0, NUM_IMPL_TRAPS, %g3
umul %g3, 4, %g2
umul %l7, %g2, %g2 ! %g2 points to thread offset
add %g1, %g2, %g1 ! %g1 points to thread
add %g1, TRAP_0x9_OFFSET, %g1 ! %g1 points to trap 0x9 occurence count
lduw [%g1], %g2
add %g2, 1, %g2
or %g0, MAX_OCCURENCE_CNT, %g4
cmp %g2, %g4
bge %xcc, clear_occurence_cnt
nop
stw %g2, [%g1]
done
ext_trap_0xb_begin:
/* Get TID */
wr %g0, ASI_CORE_ID, %asi
ldxa [ASI_CORE_ID_VA] %asi, %l7
set 0x7, %g1
and %l7, %g1, %l7 ! %l7 has TID
setx Thr0_trap_occurence_cnt_begin, %g2, %g1
or %g0, NUM_IMPL_TRAPS, %g3
umul %g3, 4, %g2
umul %l7, %g2, %g2 ! %g2 points to thread offset
add %g1, %g2, %g1 ! %g1 points to thread
add %g1, TRAP_0xB_OFFSET, %g1 ! %g1 points to trap 0xb occurence count
lduw [%g1], %g2
add %g2, 1, %g2
or %g0, MAX_OCCURENCE_CNT, %g4
cmp %g2, %g4
bge %xcc, clear_occurence_cnt
nop
stw %g2, [%g1]
done
ext_trap_0x1b_begin:
/* Get TID */
wr %g0, ASI_CORE_ID, %asi
ldxa [ASI_CORE_ID_VA] %asi, %l7
set 0x7, %g1
and %l7, %g1, %l7 ! %l7 has TID
setx Thr0_trap_occurence_cnt_begin, %g2, %g1
or %g0, NUM_IMPL_TRAPS, %g3
umul %g3, 4, %g2
umul %l7, %g2, %g2 ! %g2 points to thread offset
add %g1, %g2, %g1 ! %g1 points to thread
add %g1, TRAP_0x1B_OFFSET, %g1 ! %g1 points to trap 0x1b occurence count
lduw [%g1], %g2
add %g2, 1, %g2
or %g0, MAX_OCCURENCE_CNT, %g4
cmp %g2, %g4
bge %xcc, clear_occurence_cnt
nop
stw %g2, [%g1]
done
ext_trap_0x2e_begin:
/* Get TID */
wr %g0, ASI_CORE_ID, %asi
ldxa [ASI_CORE_ID_VA] %asi, %l7
set 0x7, %g1
and %l7, %g1, %l7 ! %l7 has TID
setx Thr0_trap_occurence_cnt_begin, %g2, %g1
or %g0, NUM_IMPL_TRAPS, %g3
umul %g3, 4, %g2
umul %l7, %g2, %g2 ! %g2 points to thread offset
add %g1, %g2, %g1 ! %g1 points to thread
add %g1, TRAP_0x2E_OFFSET, %g1 ! %g1 points to trap 0x2e occurence count
lduw [%g1], %g2
add %g2, 1, %g2
or %g0, MAX_OCCURENCE_CNT, %g4
cmp %g2, %g4
bge %xcc, clear_occurence_cnt
nop
stw %g2, [%g1]
done
ext_trap_0x31_begin:
/* Get TID */
wr %g0, ASI_CORE_ID, %asi
ldxa [ASI_CORE_ID_VA] %asi, %l7
set 0x7, %g1
and %l7, %g1, %l7 ! %l7 has TID
setx Thr0_trap_occurence_cnt_begin, %g2, %g1
or %g0, NUM_IMPL_TRAPS, %g3
umul %g3, 4, %g2
umul %l7, %g2, %g2 ! %g2 points to thread offset
add %g1, %g2, %g1 ! %g1 points to thread
add %g1, TRAP_0x31_OFFSET, %g1 ! %g1 points to trap 0x31 occurence count
lduw [%g1], %g2
add %g2, 1, %g2
or %g0, MAX_OCCURENCE_CNT, %g4
cmp %g2, %g4
bge %xcc, clear_occurence_cnt
nop
stw %g2, [%g1]
done
ext_trap_0x6c_begin:
/* Get TID */
wr %g0, ASI_CORE_ID, %asi
ldxa [ASI_CORE_ID_VA] %asi, %l7
set 0x7, %g1
and %l7, %g1, %l7 ! %l7 has TID
setx Thr0_trap_occurence_cnt_begin, %g2, %g1
or %g0, NUM_IMPL_TRAPS, %g3
umul %g3, 4, %g2
umul %l7, %g2, %g2 ! %g2 points to thread offset
add %g1, %g2, %g1 ! %g1 points to thread
add %g1, TRAP_0x6C_OFFSET, %g1 ! %g1 points to trap 0x6c occurence count
lduw [%g1], %g2
add %g2, 1, %g2
or %g0, MAX_OCCURENCE_CNT, %g4
cmp %g2, %g4
bge %xcc, clear_occurence_cnt
nop
stw %g2, [%g1]
done
clear_occurence_cnt:
stw %g0, [%g1]
add %g1, 4, %g1
sub %g3, 1, %g3
brnz %g3, clear_occurence_cnt
nop
/* %l7 has TID */
setx Thr0_register_initial_values, %i6, %i7
umul %l7, 240, %i6
add %i7, %i6, %i7 ! %i7 points to register values
restore_registers:
wrpr 0, %g0, %gl
ldx [%i7 + 0x10], %g2
ldx [%i7 + 0x00], %g3
ldx [%i7 + 0x08], %g4
ldx [%i7 + 0x10], %g5
ldx [%i7 + 0x18], %g6
ldx [%i7 + 0x20], %g7
ldx [%i7 + 0x28], %o0
ldx [%i7 + 0x30], %o1
ldx [%i7 + 0x38], %o2
ldx [%i7 + 0x40], %o3
ldx [%i7 + 0x48], %o4
ldx [%i7 + 0x50], %o5
ldx [%i7 + 0x58], %o6
ldx [%i7 + 0x60], %o7
ldx [%i7 + 0x68], %l0
ldx [%i7 + 0x70], %l1
ldx [%i7 + 0x78], %l2
ldx [%i7 + 0x80], %l3
ldx [%i7 + 0x88], %l4
ldx [%i7 + 0x90], %l5
ldx [%i7 + 0x98], %l6
ldx [%i7 + 0xa0], %l7
ldx [%i7 + 0xa8], %i0
ldx [%i7 + 0xb0], %i1
ldx [%i7 + 0xb8], %i2
ldx [%i7 + 0xc0], %i3
ldx [%i7 + 0xc8], %i4
ldx [%i7 + 0xd0], %i5
ldx [%i7 + 0xd8], %i6
ldx [%i7 + 0xe0], %i7
done
attr_data {
Name=.HPTRAPS_EXT_SECT,
hypervisor
}
.data
trap_ra_mask:
.xword 0x00000fffe000
.xword 0x000000000000
.xword 0x0000003fe000
.xword 0x000000000000
.xword 0x00000000e000
.xword 0x000000000000
.xword 0x000000000000
.xword 0x000000000000
.global sem_data
sem_data:
.xword 0x0fff
.xword 0x0
/* include register_init.out */
Thr0_trap_occurence_cnt_begin:
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
Thr1_trap_occurence_cnt_begin:
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
Thr2_trap_occurence_cnt_begin:
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
Thr3_trap_occurence_cnt_begin:
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
Thr4_trap_occurence_cnt_begin:
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
Thr5_trap_occurence_cnt_begin:
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
Thr6_trap_occurence_cnt_begin:
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
Thr7_trap_occurence_cnt_begin:
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.align 32
.global Thr0_register_initial_values
Thr0_register_initial_values:
.xword 0x000000f60000
.xword 0x000000f61fc0
.xword 0x000000e08000
.xword 0x000000e09fc0
.xword 0x000000e9c000
.xword 0x000000e9dfc0
.xword 0x000000fee000
.xword 0x000000feffc0
.xword 0x00001bc00000
.xword 0x00001bffffc0
.xword 0x000032400000
.xword 0x0000327fffc0
.xword 0x000000f84000
.xword 0x000000f85fc0
.xword 0x00002b800000
.xword 0x00002bbfffc0
.xword 0x000008000000
.xword 0x0000083fffc0
.xword 0x0000108f0000
.xword 0x0000108fffc0
.xword 0x000000f18000
.xword 0x000000f19fc0
.xword 0x000030000000
.xword 0x0000303fffc0
.xword 0x000028000000
.xword 0x0000283fffc0
.xword 0x000010430000
.xword 0x00001043ffc0
.xword 0x00000fc00000
.xword 0x00000fffffc0
Thr1_register_initial_values:
.xword 0x000000e22000
.xword 0x000000e23fc0
.xword 0x000010830000
.xword 0x00001083ffc0
.xword 0x000000e62000
.xword 0x000000e63fc0
.xword 0x000000ecc000
.xword 0x000000ecdfc0
.xword 0x000000e88000
.xword 0x000000e89fc0
.xword 0x0000100a0000
.xword 0x0000100affc0
.xword 0x000010030000
.xword 0x00001003ffc0
.xword 0x000000e06000
.xword 0x000000e07fc0
.xword 0x000010530000
.xword 0x00001053ffc0
.xword 0x000010330000
.xword 0x00001033ffc0
.xword 0x000010070000
.xword 0x00001007ffc0
.xword 0x000010ac0000
.xword 0x000010acffc0
.xword 0x000010730000
.xword 0x00001073ffc0
.xword 0x000000e16000
.xword 0x000000e17fc0
.xword 0x000000eb8000
.xword 0x000000eb9fc0
Thr2_register_initial_values:
.xword 0x00001fc00000
.xword 0x00001fffffc0
.xword 0x000024c00000
.xword 0x000024ffffc0
.xword 0x000000fa2000
.xword 0x000000fa3fc0
.xword 0x000000fa8000
.xword 0x000000fa9fc0
.xword 0x000000ea0000
.xword 0x000000ea1fc0
.xword 0x000010e10000
.xword 0x000010e1ffc0
.xword 0x000010880000
.xword 0x00001088ffc0
.xword 0x000000fb2000
.xword 0x000000fb3fc0
.xword 0x000000fd2000
.xword 0x000000fd3fc0
.xword 0x000000f5c000
.xword 0x000000f5dfc0
.xword 0x000010f40000
.xword 0x000010f4ffc0
.xword 0x0000107c0000
.xword 0x0000107cffc0
.xword 0x000000efe000
.xword 0x000000efffc0
.xword 0x000000e5e000
.xword 0x000000e5ffc0
.xword 0x00001a400000
.xword 0x00001a7fffc0
Thr3_register_initial_values:
.xword 0x000000f7c000
.xword 0x000000f7dfc0
.xword 0x000010820000
.xword 0x00001082ffc0
.xword 0x001de0000000
.xword 0x001defffffc0
.xword 0x000010230000
.xword 0x00001023ffc0
.xword 0x001dc0000000
.xword 0x001dcfffffc0
.xword 0x000000e0c000
.xword 0x000000e0dfc0
.xword 0x000000f9e000
.xword 0x000000f9ffc0
.xword 0x000010ab0000
.xword 0x000010abffc0
.xword 0x000010e90000
.xword 0x000010e9ffc0
.xword 0x000019400000
.xword 0x0000197fffc0
.xword 0x000010bb0000
.xword 0x000010bbffc0
.xword 0x000019c00000
.xword 0x000019ffffc0
.xword 0x000000e2a000
.xword 0x000000e2bfc0
.xword 0x001f30000000
.xword 0x001f3fffffc0
.xword 0x000010890000
.xword 0x00001089ffc0
Thr4_register_initial_values:
.xword 0x001e40000000
.xword 0x001e4fffffc0
.xword 0x000019000000
.xword 0x0000193fffc0
.xword 0x001ce0000000
.xword 0x001cefffffc0
.xword 0x000000ef4000
.xword 0x000000ef5fc0
.xword 0x000000eb0000
.xword 0x000000eb1fc0
.xword 0x000000f10000
.xword 0x000000f11fc0
.xword 0x001fd0000000
.xword 0x001fdfffffc0
.xword 0x000006c00000
.xword 0x000006ffffc0
.xword 0x000000e86000
.xword 0x000000e87fc0
.xword 0x000000f22000
.xword 0x000000f23fc0
.xword 0x00002c800000
.xword 0x00002cbfffc0
.xword 0x000000f88000
.xword 0x000000f89fc0
.xword 0x00000b800000
.xword 0x00000bbfffc0
.xword 0x000000f6c000
.xword 0x000000f6dfc0
.xword 0x0000100f0000
.xword 0x0000100fffc0
Thr5_register_initial_values:
.xword 0x000010520000
.xword 0x00001052ffc0
.xword 0x000000f7e000
.xword 0x000000f7ffc0
.xword 0x0000107b0000
.xword 0x0000107bffc0
.xword 0x0000109b0000
.xword 0x0000109bffc0
.xword 0x000000e34000
.xword 0x000000e35fc0
.xword 0x000025400000
.xword 0x0000257fffc0
.xword 0x000000f4c000
.xword 0x000000f4dfc0
.xword 0x000010ba0000
.xword 0x000010baffc0
.xword 0x00003d000000
.xword 0x00003d3fffc0
.xword 0x001c40000000
.xword 0x001c4fffffc0
.xword 0x000010980000
.xword 0x00001098ffc0
.xword 0x000000ec2000
.xword 0x000000ec3fc0
.xword 0x000010db0000
.xword 0x000010dbffc0
.xword 0x00000e000000
.xword 0x00000e3fffc0
.xword 0x000013400000
.xword 0x0000137fffc0
Thr6_register_initial_values:
.xword 0x000000e56000
.xword 0x000000e57fc0
.xword 0x00003ac00000
.xword 0x00003affffc0
.xword 0x000010ca0000
.xword 0x000010caffc0
.xword 0x000000f6a000
.xword 0x000000f6bfc0
.xword 0x000010490000
.xword 0x00001049ffc0
.xword 0x0000109d0000
.xword 0x0000109dffc0
.xword 0x000010250000
.xword 0x00001025ffc0
.xword 0x001c10000000
.xword 0x001c1fffffc0
.xword 0x00000c800000
.xword 0x00000cbfffc0
.xword 0x000036000000
.xword 0x0000363fffc0
.xword 0x0000105b0000
.xword 0x0000105bffc0
.xword 0x000027800000
.xword 0x000027bfffc0
.xword 0x000000fe8000
.xword 0x000000fe9fc0
.xword 0x0000106e0000
.xword 0x0000106effc0
.xword 0x000004c00000
.xword 0x000004ffffc0
Thr7_register_initial_values:
.xword 0x001fb0000000
.xword 0x001fbfffffc0
.xword 0x000010870000
.xword 0x00001087ffc0
.xword 0x000023000000
.xword 0x0000233fffc0
.xword 0x001c60000000
.xword 0x001c6fffffc0
.xword 0x000011400000
.xword 0x0000117fffc0
.xword 0x0000107a0000
.xword 0x0000107affc0
.xword 0x000000f32000
.xword 0x000000f33fc0
.xword 0x000000ee6000
.xword 0x000000ee7fc0
.xword 0x000010420000
.xword 0x00001042ffc0
.xword 0x000000fb6000
.xword 0x000000fb7fc0
.xword 0x000010c50000
.xword 0x000010c5ffc0
.xword 0x001d70000000
.xword 0x001d7fffffc0
.xword 0x000004800000
.xword 0x000004bfffc0
.xword 0x001f50000000
.xword 0x001f5fffffc0
.xword 0x00001ac00000
.xword 0x00001affffc0
/*********************************************************************/
SECTION .Thr0_User_Text_4v000 TEXT_VA=0x00001c0000
attr_text {
Name = .Thr0_User_Text_4v000 ,
thr0_nz_ctx_tsb_3 ,
VA = 0x0000001c0000 ,/* 0x00000010dfc0 */
RA = 0x0002000000 ,
PA = 0x1012000000 ,
TTE_Context = 0x079b ,/* TEXT_PRIMARY */
TTE_V = 1 ,
TTE_NFO = 0 ,
TTE_L = 0 ,
TTE_Soft = 0x0 ,
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 = 1 ,
end_label = Thr0_User_Text_4v000_text_end ,
compressimage ,
}
.text
.global Thr0_user_code_entry
Thr0_user_code_entry:
.global Thr0_User_Text_4v000_text_begin
Thr0_User_Text_4v000_text_begin:
setx Thr0_User_Text_4v001_text_begin, %l0, %l1
jmp %l1
nop
Thr0_User_Text_4v000_text_end:
/*********************************************************************/
SECTION .Thr0_User_Text_4v001 TEXT_VA=0x00028f0000
attr_text {
Name = .Thr0_User_Text_4v001 ,
thr0_nz_ctx_tsb_3 ,
VA = 0x0000028f0000 ,/* 0x0000028fffc0 */
RA = 0x0020000000 ,
PA = 0x1040000000 ,
TTE_Context = 0x079b ,/* TEXT_PRIMARY */
TTE_V = 1 ,
TTE_NFO = 0 ,
TTE_L = 0 ,
TTE_Soft = 0x0 ,
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 = 1 ,
end_label = Thr0_User_Text_4v001_text_end ,
compressimage ,
}
.text
.global Thr0_User_Text_4v001_text_begin
Thr0_User_Text_4v001_text_begin:
setx Thr0_User_Text_4v002_text_begin, %l0, %l1
jmp %l1
nop
Thr0_User_Text_4v001_text_end:
/*********************************************************************/
SECTION .Thr0_User_Text_4v002 TEXT_VA=0x00026e0000
attr_text {
Name = .Thr0_User_Text_4v002 ,
thr0_nz_ctx_tsb_3 ,
VA = 0x0000026e0000 ,/* 0x0000026effc0 */
RA = 0x0200000000 ,
PA = 0x1230000000 ,
TTE_Context = 0x079b ,/* TEXT_PRIMARY */
TTE_V = 1 ,
TTE_NFO = 0 ,
TTE_L = 0 ,
TTE_Soft = 0x0 ,
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 = 1 ,
end_label = Thr0_User_Text_4v002_text_end ,
compressimage ,
}
.text
.global Thr0_User_Text_4v002_text_begin
Thr0_User_Text_4v002_text_begin:
EXIT_GOOD
Thr0_User_Text_4v002_text_end:
/*********************************************************************/
SECTION .Thr1_User_Text_4v000 TEXT_VA=0x0002040000
attr_text {
Name = .Thr1_User_Text_4v000 ,
thr1_nz_ctx_tsb_1 ,
VA = 0x000002040000 ,/* 0x00000204ffc0 */
RA = 0x0001c70000 ,
PA = 0x0131c70000 ,
TTE_Context = 0x0096 ,/* TEXT_PRIMARY */
TTE_V = 1 ,
TTE_NFO = 0 ,
TTE_L = 0 ,
TTE_Soft = 0x0 ,
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 = 1 ,
end_label = Thr1_User_Text_4v000_text_end ,
compressimage ,
}
.text
.global Thr1_user_code_entry
Thr1_user_code_entry:
.global Thr1_User_Text_4v000_text_begin
Thr1_User_Text_4v000_text_begin:
EXIT_GOOD
Thr1_User_Text_4v000_text_end:
/*********************************************************************/
SECTION .Thr2_User_Text_4v000 TEXT_VA=0x00001de000
attr_text {
Name = .Thr2_User_Text_4v000 ,
thr2_nz_ctx_tsb_1 ,
VA = 0x0000001de000 ,/* 0x0000001dffc0 */
RA = 0x0200150000 ,
PA = 0x0200150000 ,
TTE_Context = 0x196a ,/* TEXT_PRIMARY */
TTE_V = 1 ,
TTE_NFO = 0 ,
TTE_L = 0 ,
TTE_Soft = 0x0 ,
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 = 0 ,
end_label = Thr2_User_Text_4v000_text_end ,
compressimage ,
}
.text
.global Thr2_user_code_entry
Thr2_user_code_entry:
.global Thr2_User_Text_4v000_text_begin
Thr2_User_Text_4v000_text_begin:
setx Thr2_User_Data_4v100_data_begin, %l0, %l1
ldx [%l1], %l2
setx Thr2_User_Data_4v200_data_begin, %l0, %l2
ldx [%l2], %l3
EXIT_GOOD
Thr2_User_Text_4v000_text_end:
/*********************************************************************/
SECTION .Thr2_User_Data_4v100 DATA_VA=0x014bc00000
attr_data {
Name = .Thr2_User_Data_4v100 ,
VA = 0x00014bc00000 ,/* 0x00014bffffc0 */
RA = 0x0200000000 ,
PA = 0x0430000000 ,
TTE_Context = 0x196a ,/* DATA_PRIMARY */
thr2_nz_ctx_tsb_2 ,
TTE_V = 1 ,
TTE_NFO = 0 ,
TTE_L = 1 ,
TTE_Soft = 0x0 ,
TTE_IE = 0 ,
TTE_E = 0 ,
TTE_CP = 1 ,
TTE_CV = 0 ,
TTE_P = 0 ,
TTE_EP = 0 ,
TTE_W = 1 ,
TTE_SW1 = 0 ,
TTE_SW0 = 1 ,
TTE_RSVD1 = 0 ,
TTE_Size = 1 ,
end_label = Thr2_User_Data_4v100_data_end ,
compressimage ,
}
.data
.global Thr2_User_Data_4v100_data_begin
Thr2_User_Data_4v100_data_begin:
.word 0x1234
Thr2_User_Data_4v100_data_end:
/*********************************************************************/
SECTION .Thr2_User_Data_4v200 DATA_VA=0x0146800000
attr_data {
Name = .Thr2_User_Data_4v200 ,
VA = 0x000146800000 ,/* 0x000146bfffc0 */
RA = 0x00010c0000 ,
PA = 0x02310c0000 ,
TTE_Context = 0x196a ,/* DATA_PRIMARY */
thr2_nz_ctx_tsb_2 ,
TTE_V = 1 ,
TTE_NFO = 0 ,
TTE_L = 1 ,
TTE_Soft = 0x0 ,
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 = 0 ,
TTE_RSVD1 = 0 ,
TTE_Size = 1 ,
end_label = Thr2_User_Data_4v200_data_end ,
compressimage ,
}
.data
.global Thr2_User_Data_4v200_data_begin
Thr2_User_Data_4v200_data_begin:
.word 0x5678
Thr2_User_Data_4v200_data_end:
/*********************************************************************/
SECTION .Thr3_User_Text_4v000 TEXT_VA=0x0002600000
attr_text {
Name = .Thr3_User_Text_4v000 ,
thr3_nz_ctx_tsb_2 ,
VA = 0x000002600000 ,/* 0x00000260ffc0 */
RA = 0x0002840000 ,
PA = 0x0312840000 ,
TTE_Context = 0x1b79 ,/* TEXT_PRIMARY */
TTE_V = 1 ,
TTE_NFO = 0 ,
TTE_L = 1 ,
TTE_Soft = 0x0 ,
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 = 1 ,
end_label = Thr3_User_Text_4v000_text_end ,
compressimage ,
}
.text
.global Thr3_user_code_entry
Thr3_user_code_entry:
.global Thr3_User_Text_4v000_text_begin
Thr3_User_Text_4v000_text_begin:
EXIT_GOOD
Thr3_User_Text_4v000_text_end:
/*********************************************************************/
SECTION .Thr4_User_Text_4v000 TEXT_VA=0x000013c000
attr_text {
Name = .Thr4_User_Text_4v000 ,
thr4_nz_ctx_tsb_1 ,
VA = 0x00000013c000 ,/* 0x00000013dfc0 */
RA = 0x0400174000 ,
PA = 0x0400174000 ,
TTE_Context = 0x0c1d ,/* TEXT_PRIMARY */
TTE_V = 1 ,
TTE_NFO = 0 ,
TTE_L = 0 ,
TTE_Soft = 0x0 ,
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 = 1 ,
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:
.global Thr4_User_Text_4v000_text_begin
Thr4_User_Text_4v000_text_begin:
EXIT_GOOD
Thr4_User_Text_4v000_text_end:
/*********************************************************************/
SECTION .Thr5_User_Text_4v000 TEXT_VA=0x00001b6000
attr_text {
Name = .Thr5_User_Text_4v000 ,
thr5_nz_ctx_tsb_0 ,
VA = 0x0000001b6000 ,/* 0x0000001b7fc0 */
RA = 0x000006c000 ,
PA = 0x050006c000 ,
TTE_Context = 0x1cc0 ,/* TEXT_PRIMARY */
TTE_V = 1 ,
TTE_NFO = 0 ,
TTE_L = 1 ,
TTE_Soft = 0x0 ,
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 = 1 ,
TTE_RSVD1 = 0 ,
TTE_Size = 0 ,
end_label = Thr5_User_Text_4v000_text_end ,
compressimage ,
}
.text
.global Thr5_user_code_entry
Thr5_user_code_entry:
.global Thr5_User_Text_4v000_text_begin
Thr5_User_Text_4v000_text_begin:
EXIT_GOOD
Thr5_User_Text_4v000_text_end:
/*********************************************************************/
SECTION .Thr6_User_Text_4v000 TEXT_VA=0x0002b40000
attr_text {
Name = .Thr6_User_Text_4v000 ,
thr6_nz_ctx_tsb_3 ,
VA = 0x000002b40000 ,/* 0x000002b4ffc0 */
RA = 0x0002a70000 ,
PA = 0x0612a70000 ,
TTE_Context = 0x1938 ,/* TEXT_PRIMARY */
TTE_V = 1 ,
TTE_NFO = 0 ,
TTE_L = 1 ,
TTE_Soft = 0x0 ,
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 = 1 ,
end_label = Thr6_User_Text_4v000_text_end ,
compressimage ,
}
.text
.global Thr6_user_code_entry
Thr6_user_code_entry:
.global Thr6_User_Text_4v000_text_begin
Thr6_User_Text_4v000_text_begin:
EXIT_GOOD
Thr6_User_Text_4v000_text_end:
/*********************************************************************/
SECTION .Thr7_User_Text_4v000 TEXT_VA=0x0002c40000
attr_text {
Name = .Thr7_User_Text_4v000 ,
thr7_nz_ctx_tsb_3 ,
VA = 0x000002c40000 ,/* 0x000002c4ffc0 */
RA = 0x0002440000 ,
PA = 0x0712440000 ,
TTE_Context = 0x129b ,/* TEXT_PRIMARY */
TTE_V = 1 ,
TTE_NFO = 0 ,
TTE_L = 1 ,
TTE_Soft = 0x0 ,
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 = 1 ,
TTE_RSVD1 = 0 ,
TTE_Size = 1 ,
end_label = Thr7_User_Text_4v000_text_end ,
compressimage ,
}
.text
.global Thr7_user_code_entry
Thr7_user_code_entry:
.global Thr7_User_Text_4v000_text_begin
Thr7_User_Text_4v000_text_begin:
EXIT_GOOD
Thr7_User_Text_4v000_text_end: