/* * ========== Copyright Header Begin ========================================== * * OpenSPARC T2 Processor File: old_boot.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 ============================================ */ #ifndef __BOOT_S__ #define __BOOT_S__ #include "defines.h" #include "nmacros.h" #include "asi_s.h" SECTION .RED TEXT_VA = 0xfffffffff0000000 attr_text { Name=.RED, hypervisor } .global good_trap .global bad_trap .text ! Nothing appears in position 0 .skip 32 Power_on_Reset: ! Clean out %g1 and reset CCR andcc %g0, %g0, %g1 ! Making room for boot sequence longer than 7 instructions ba POR_Annex nop nop .align 32 Watchdog_Reset: done !ba bad_trap nop nop nop .align 32 Externally_Initiated_Reset: ba bad_trap nop nop nop .align 32 Software_Initiated_Reset: wrhpr %g0, 0x4, %hpstate ! Turn on caches ldxa [%g0] ASI_LSU_CONTROL, %g6 or %g6, 0x3, %g6 ! Turn on speculation #ifndef NOSPEC_EN or %g6, 0x10, %g6 #endif #ifdef ACTIVATE_ITLB ! Set lsu_control_reg.im (bit 2 in ASI 0x45, VA 0x0) or %g6, 0x4, %g6 #endif /* ACTIVATE_ITLB */ stxa %g6, [%g0] ASI_LSU_CONTROL done nop .align 32 RED_State_Exception: ba bad_trap nop nop nop END_OF_RED: .align 32 bad_trap: ba bad_trap nop nop nop .align 32 good_trap: ba good_trap nop nop nop .align 32 POR_Annex: ! Reset trap level to not be MAXTL wrpr %g0, 0, %tl ! Reset Global level to 0 wrpr %g0, 0, %gl ! Turn off RED state wrhpr %g0, 0x4, %hpstate ! Write HTBA setx HTBA, %g1, %g2 wrhpr %g2, 0, %htba #ifdef TBA ! Write TBA setx TBA, %g1, %g2 wrpr %g2, 0, %tba #endif /* TBA */ ! Set up Partition IDs for each thread ! For MT MMU diags to work. Set partition ID ! to be its thread ID wr %g0, ASI_CORE_ID, %asi ldxa [ASI_CORE_ID_VA] %asi, %g1 mov ASI_PARTITION_ID_VAL, %g2 stxa %g1, [%g2] ASI_PARTITION_ID ! Turn on Icache/dcache mov 3, %g2 #ifndef NOSPEC_EN or %g2, 0x10, %g2 #endif stxa %g2, [%g0] ASI_LSU_CONTROL #ifndef NOPWRMGMT ! Power Management - set full power throttle mode .. pwr_mgmt: setx 0x3fff, %g1, %g2 stxa %g2, [%g0] ASI_SPARC_PWR_MGMT #endif ! Set translation for HTBA trap table ! setx HTBA, %l1, %i4 ! Zero out lower 13 bits srlx %i4, 13, %i0 sllx %i0, 13, %i0 ! Write it to itlb_tag_access register ! ASI 0x50, addr 0x30 setx 0x30, %l1, %i1 stxa %i0, [%i1 + %g0] 0x50 ! Create tte_data in %i2 ! sun4v format ! Field V NFO L PA IE E CP P W Size ! Bit 63 62 61 39:13 12 11 10 8 6 2:0 ! ! First set valid and locked bits setx 0xA000000000000000, %l1, %i2 ! Now set up PA setx 0x000000FFFFFFE000, %l1, %i5 and %i4, %i5, %i5 ! Now merge them or %i2, %i5, %i2 ! Write it to itlb_data_in register setx 0x000, %l1, %i3 stxa %i2, [%i3 + %g0] 0x54 ! Set translation for tl>0 portion of HTBA trap table ! setx 0x4000, %l1, %i6 add %i4, %i6, %i4 ! Zero out lower 13 bits srlx %i4, 13, %i0 sllx %i0, 13, %i0 ! Write it to itlb_tag_access register ! ASI 0x50, addr 0x30 setx 0x30, %l1, %i1 stxa %i0, [%i1 + %g0] 0x50 ! Create tte_data in %i2 ! sun4v format ! Field V NFO L PA IE E CP P W Size ! Bit 63 62 61 39:13 12 11 10 8 6 2:0 ! ! First set valid and locked bits ! Also set page size large enough to cover whole table (bits 14 to 0) ! Need page size of 64 KB (2**16) setx 0xA000000000000000, %l1, %i2 !setx 0xA000000000000001, %l1, %i2 ! Now set up PA setx 0x000000FFFFFFE000, %l1, %i5 and %i4, %i5, %i5 ! Now merge them or %i2, %i5, %i2 ! Write it to itlb_data_in register setx 0x000, %l1, %i3 stxa %i2, [%i3 + %g0] 0x54 #ifdef ENABLE_ITLB ! Use "-midas_args=-DENABLE_ITLB" on the command line to activate ITLB ! Now activate translation ! Reset HPSTATE.ENB (bit 11) ! rdhpr %hpstate, %i7 ! and %i7, 0x17FF, %i7 ! wrhpr %i7, %hpstate ! Set lsu_control_reg.im (bit 2 in ASI 0x45, VA 0x0) ldxa [%g0] ASI_LSU_CONTROL, %i6 or %i6, 0x4, %i6 stxa %i6, [%g0] ASI_LSU_CONTROL ! Clean out %i6 - %i7 andcc %g0, %g0, %i6 andcc %g0, %g0, %i7 #endif /* ENABLE_ITLB */ #ifdef ENABLE_DTLB ! Use "-midas_args=-DENABLE_DTLB" on the command line to activate DTLB ! Now activate translation ! Reset HPSTATE.ENB (bit 11) ! rdhpr %hpstate, %i7 ! and %i7, 0x17FF, %i7 ! wrhpr %i7, %hpstate ! Set lsu_control_reg.dm (bit 3 in ASI 0x45, VA 0x0) ldxa [%g0] ASI_LSU_CONTROL, %i6 or %i6, 0x8, %i6 stxa %i6, [%g0] ASI_LSU_CONTROL ! Clean out %i6 - %i7 andcc %g0, %g0, %i6 andcc %g0, %g0, %i7 #endif /* ENABLE_DTLB */ ! Clean out %g2 andcc %g0, %g0, %g2 ! Clean out %l1 andcc %g0, %g0, %l1 ! Clean out %i0 - %i5 andcc %g0, %g0, %i0 andcc %g0, %g0, %i1 andcc %g0, %g0, %i2 andcc %g0, %g0, %i3 andcc %g0, %g0, %i4 andcc %g0, %g0, %i5 ! $ NO EV trig_pc_d(1,@VA(.RED.end_of_boot)) -> marker(bootEnd, *, 1) end_of_boot: ! Go to main setx DIAG_TEXT_AREA, %g1, %g2 jmp %g2 nop !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Hypervisor trap table SECTION .HTRAPTABLE TEXT_VA = HTBA attr_text { Name=.HTRAPTABLE, hypervisor } .text htrap_table: HTT_000: nop .align 32 hpower_on_reset: HTT_001: nop .align 32 hwatchdog_reset: HTT_002: nop .align 32 hexternally_initiated_reset: HTT_003: nop .align 32 hsoftware_initiatied_reset: HTT_004: nop .align 32 hRED_state_exception: HTT_005: nop .align 32 HTT_006: nop .align 32 HTT_007: nop .align 32 hinstruction_access_exception: HTT_008: nop .align 32 hinstruction_access_MMU_miss: HTT_009: nop .align 32 hinstruction_access_error: HTT_00A: nop .align 32 HTT_00B: nop .align 32 HTT_00C: nop .align 32 HTT_00D: nop .align 32 HTT_00E: nop .align 32 HTT_00F: nop .align 32 hillegal_instruction: HTT_010: done .align 32 hprivileged_opcode: HTT_011: nop .align 32 HTT_012: nop .align 32 HTT_013: nop .align 32 HTT_014: nop .align 32 HTT_015: nop .align 32 HTT_016: nop .align 32 HTT_017: nop .align 32 HTT_018: nop .align 32 HTT_019: nop .align 32 HTT_01A: nop .align 32 HTT_01B: nop .align 32 HTT_01C: nop .align 32 HTT_01D: nop .align 32 HTT_01E: nop .align 32 HTT_01F: nop .align 32 hfp_disabled: HTT_020: nop .align 32 hfp_exception_ieee_754: HTT_021: nop .align 32 hfp_exception_other: HTT_022: nop .align 32 htag_overflow: HTT_023: done .align 32 hclean_window: HTT_024: done .align 32 .align 128 hdivision_by_zero: HTT_028: nop .align 32 hinternal_processor_error: HTT_029: nop .align 32 .align 256 hdata_access_exception: HTT_030: done .align 32 hdata_access_MMU_miss: HTT_031: nop .align 32 hdata_access_error: HTT_032: nop .align 32 hdata_access_protection: HTT_033: nop .align 32 mem_address_not_aligned: HTT_034: nop .align 32 lddf_mem_address_not_aligned: HTT_035: nop .align 32 stdf_mem_address_not_aligned: HTT_036: nop .align 32 HTT_037: nop .align 32 HTT_038: nop .align 32 HTT_039: nop .align 32 HTT_03a: nop .align 32 HTT_03b: nop .align 32 HTT_03c: nop .align 32 HTT_03d: nop .align 32 HTT_03e: nop .align 32 HTT_03f: nop done nop .align 32 .align 2048 HTT_040: nop .align 1024 hinterrupt_vector_trap: HTT_060: nop .align 32 hRA_watchpoint: HTT_061: nop .align 32 hVA_watchpoint: HTT_062: nop .align 32 hECC_error: HTT_063: nop .align 32 hfast_instruction_access_MMU_miss: HTT_064: ! PA == VA mapping ! Create tte_tag in %i0 ! Field Context VA ! 60:48 41:0 ! Assume context of 0 for now ! ! First get missing VA from itlb_tag_access ! ASI 0x50, addr 0x30 mov 0x30, %g1 ldxa [%g1 + %g0] 0x50, %g4 ! Create tte_data in %g2 ! sun4v format ! Field V NFO L PA IE E CP P W Size ! Bit 63 62 61 39:13 12 11 10 8 6 2:0 ! ! First set valid bit add %g0, 1, %g2 sllx %g2, 63, %g2 ! Now set up PA [39:13] only srlx %g4, 13, %g5 sllx %g5, 37, %g5 srlx %g5, 24, %g5 ! Now merge them or %g2, %g5, %g2 ! Write it to itlb_data_in register mov 0x000, %g3 stxa %g2, [%g3 + %g0] 0x54 retry nop .align 128 hfast_data_access_MMU_miss: HTT_068: ! PA == VA mapping ! Create tte_tag in %i0 ! Field Context VA ! 60:48 41:0 ! Assume context of 0 for now ! ! First get missing VA from dtlb_tag_access ! ASI 0x58, addr 0x30 mov 0x30, %g1 ldxa [%g1 + %g0] 0x58, %g4 ! Create tte_data in %g2 ! sun4v format ! Field V NFO L PA IE E CP P W Size ! Bit 63 62 61 39:13 12 11 10 8 6 2:0 ! ! First set valid bit add %g0, 1, %g2 sllx %g2, 63, %g2 ! Set cacheable in physical and writable bit or %g2, 0x440, %g2 ! Now set up PA [39:13] only srlx %g4, 13, %g5 sllx %g5, 37, %g5 srlx %g5, 24, %g5 ! Now merge them or %g2, %g5, %g2 ! Write it to dtlb_data_in register mov 0x000, %g3 stxa %g2, [%g3 + %g0] 0x5C retry nop .align 4096 HTT_080: hspill_0_normal: done .align 128 HTT_084: hspill_1_normal: done .align 128 HTT_088: hspill_2_normal: done .align 128 HTT_08C: hspill_3_normal: done .align 128 HTT_090: hspill_4_normal: done .align 128 HTT_094: hspill_5_normal: done .align 128 HTT_098: hspill_6_normal: done .align 128 HTT_09C: hspill_7_normal: done .align 128 HTT_0A0: hspill_0_other: done .align 128 HTT_0A4: hspill_1_other: done .align 128 HTT_0A8: hspill_2_other: done .align 128 HTT_0AC: hspill_3_other: done .align 128 HTT_0B0: hspill_4_other: done .align 128 HTT_0B4: hspill_5_other: done .align 128 HTT_0B8: hspill_6_other: done .align 128 HTT_0BC: hspill_7_other: done .align 128 HTT_0C0: hfill_0_normal: done .align 128 HTT_0C4: hfill_1_normal: done .align 128 HTT_0C8: hfill_2_normal: done .align 128 HTT_0CC: hfill_3_normal: done .align 128 HTT_0D0: hfill_4_normal: done .align 128 HTT_0D4: hfill_5_normal: done .align 128 HTT_0D8: hfill_6_normal: done .align 128 HTT_0DC: hfill_7_normal: done .align 128 HTT_0E0: hfill_0_other: done .align 128 HTT_0E4: hfill_1_other: done .align 128 HTT_0E8: hfill_2_other: done .align 128 HTT_0EC: hfill_3_other: done .align 128 HTT_0F0: hfill_4_other: done .align 128 HTT_0F4: hfill_5_other: done .align 128 HTT_0F8: hfill_6_other: done .align 128 HTT_0FC: hfill_7_other: done .align 128 HTT_100: htcc_000: done nop nop nop nop nop nop nop HTT_101: htcc_001: done nop nop nop nop nop nop nop HTT_102: htcc_002: done nop nop nop nop nop nop nop HTT_103: htcc_003: done nop nop nop nop nop nop nop HTT_104: htcc_004: done nop nop nop nop nop nop nop HTT_105: htcc_005: done nop nop nop nop nop nop nop HTT_106: htcc_006: done nop nop nop nop nop nop nop HTT_107: htcc_007: done nop nop nop nop nop nop nop HTT_108: htcc_008: done nop nop nop nop nop nop nop HTT_109: htcc_009: done nop nop nop nop nop nop nop HTT_10A: htcc_010: done nop nop nop nop nop nop nop HTT_10B: htcc_011: done nop nop nop nop nop nop nop HTT_10C: htcc_012: done nop nop nop nop nop nop nop HTT_10D: htcc_013: done nop nop nop nop nop nop nop HTT_10E: htcc_014: done nop nop nop nop nop nop nop HTT_10F: htcc_015: done nop nop nop nop nop nop nop HTT_110: htcc_016: done nop nop nop nop nop nop nop HTT_111: htcc_017: done nop nop nop nop nop nop nop HTT_112: htcc_018: done nop nop nop nop nop nop nop HTT_113: htcc_019: done nop nop nop nop nop nop nop HTT_114: htcc_020: done nop nop nop nop nop nop nop HTT_115: htcc_021: done nop nop nop nop nop nop nop HTT_116: htcc_022: done nop nop nop nop nop nop nop HTT_117: htcc_023: done nop nop nop nop nop nop nop HTT_118: htcc_024: done nop nop nop nop nop nop nop HTT_119: htcc_025: done nop nop nop nop nop nop nop HTT_11A: htcc_026: done nop nop nop nop nop nop nop HTT_11B: htcc_027: done nop nop nop nop nop nop nop HTT_11C: htcc_028: done nop nop nop nop nop nop nop HTT_11D: htcc_029: done nop nop nop nop nop nop nop HTT_11E: htcc_030: done nop nop nop nop nop nop nop HTT_11F: htcc_031: done nop nop nop nop nop nop nop HTT_120: htcc_032: done nop nop nop nop nop nop nop HTT_121: htcc_033: done nop nop nop nop nop nop nop HTT_122: htcc_034: done nop nop nop nop nop nop nop HTT_123: htcc_035: done nop nop nop nop nop nop nop HTT_124: htcc_036: done nop nop nop nop nop nop nop HTT_125: htcc_037: done nop nop nop nop nop nop nop HTT_126: htcc_038: done nop nop nop nop nop nop nop HTT_127: htcc_039: done nop nop nop nop nop nop nop HTT_128: htcc_040: done nop nop nop nop nop nop nop HTT_129: htcc_041: done nop nop nop nop nop nop nop HTT_12A: htcc_042: done nop nop nop nop nop nop nop HTT_12B: htcc_043: done nop nop nop nop nop nop nop HTT_12C: htcc_044: done nop nop nop nop nop nop nop HTT_12D: htcc_045: done nop nop nop nop nop nop nop HTT_12E: htcc_046: ! Function to read thread ID from the ! Thread Status register. ! Value is returned in %o1. rd %asi, %g1 ! save %asi wr %g0, ASI_CORE_ID, %asi ldxa [ASI_CORE_ID_VA] %asi, %o1 wr %g0, %g1, %asi ! restore %asi #ifdef PORTABLE_CORE set 0x07, %g1 #else set 0x3f, %g1 #endif and %o1, %g1, %o1 done nop HTT_12F: htcc_047: done nop nop nop nop nop nop nop HTT_130: htcc_048: done nop nop nop nop nop nop nop HTT_131: htcc_049: done nop nop nop nop nop nop nop HTT_132: htcc_050: done nop nop nop nop nop nop nop HTT_133: htcc_051: done nop nop nop nop nop nop nop HTT_134: htcc_052: done nop nop nop nop nop nop nop HTT_135: htcc_053: done nop nop nop nop nop nop nop HTT_136: htcc_054: done nop nop nop nop nop nop nop HTT_137: htcc_055: done nop nop nop nop nop nop nop HTT_138: htcc_056: done nop nop nop nop nop nop nop HTT_139: htcc_057: done nop nop nop nop nop nop nop HTT_13A: htcc_058: done nop nop nop nop nop nop nop HTT_13B: htcc_059: done nop nop nop nop nop nop nop HTT_13C: htcc_060: done nop nop nop nop nop nop nop HTT_13D: htcc_061: done nop nop nop nop nop nop nop HTT_13E: htcc_062: done nop nop nop nop nop nop nop HTT_13F: htcc_063: done nop nop nop nop nop nop nop HTT_140: htcc_064: done nop nop nop nop nop nop nop HTT_141: htcc_065: done nop nop nop nop nop nop nop HTT_142: htcc_066: done nop nop nop nop nop nop nop HTT_143: htcc_067: done nop nop nop nop nop nop nop HTT_144: htcc_068: done nop nop nop nop nop nop nop HTT_145: htcc_069: done nop nop nop nop nop nop nop HTT_146: htcc_070: done nop nop nop nop nop nop nop HTT_147: htcc_071: done nop nop nop nop nop nop nop HTT_148: htcc_072: done nop nop nop nop nop nop nop HTT_149: htcc_073: done nop nop nop nop nop nop nop HTT_14A: htcc_074: done nop nop nop nop nop nop nop HTT_14B: htcc_075: done nop nop nop nop nop nop nop HTT_14C: htcc_076: done nop nop nop nop nop nop nop HTT_14D: htcc_077: done nop nop nop nop nop nop nop HTT_14E: htcc_078: done nop nop nop nop nop nop nop HTT_14F: htcc_079: done nop nop nop nop nop nop nop HTT_150: htcc_080: done nop nop nop nop nop nop nop HTT_151: htcc_081: done nop nop nop nop nop nop nop HTT_152: htcc_082: done nop nop nop nop nop nop nop HTT_153: htcc_083: done nop nop nop nop nop nop nop HTT_154: htcc_084: done nop nop nop nop nop nop nop HTT_155: htcc_085: done nop nop nop nop nop nop nop HTT_156: htcc_086: done nop nop nop nop nop nop nop HTT_157: htcc_087: done nop nop nop nop nop nop nop HTT_158: htcc_088: done nop nop nop nop nop nop nop HTT_159: htcc_089: done nop nop nop nop nop nop nop HTT_15A: htcc_090: done nop nop nop nop nop nop nop HTT_15B: htcc_091: done nop nop nop nop nop nop nop HTT_15C: htcc_092: done nop nop nop nop nop nop nop HTT_15D: htcc_093: done nop nop nop nop nop nop nop HTT_15E: htcc_094: done nop nop nop nop nop nop nop HTT_15F: htcc_095: done nop nop nop nop nop nop nop HTT_160: htcc_096: done nop nop nop nop nop nop nop HTT_161: htcc_097: done nop nop nop nop nop nop nop HTT_162: htcc_098: done nop nop nop nop nop nop nop HTT_163: htcc_099: done nop nop nop nop nop nop nop HTT_164: htcc_100: done nop nop nop nop nop nop nop HTT_165: htcc_101: done nop nop nop nop nop nop nop HTT_166: htcc_102: done nop nop nop nop nop nop nop HTT_167: htcc_103: done nop nop nop nop nop nop nop HTT_168: htcc_104: done nop nop nop nop nop nop nop HTT_169: htcc_105: done nop nop nop nop nop nop nop HTT_16A: htcc_106: done nop nop nop nop nop nop nop HTT_16B: htcc_107: done nop nop nop nop nop nop nop HTT_16C: htcc_108: done nop nop nop nop nop nop nop HTT_16D: htcc_109: done nop nop nop nop nop nop nop HTT_16E: htcc_110: done nop nop nop nop nop nop nop HTT_16F: htcc_111: done nop nop nop nop nop nop nop HTT_170: htcc_112: done nop nop nop nop nop nop nop HTT_171: htcc_113: done nop nop nop nop nop nop nop HTT_172: htcc_114: done nop nop nop nop nop nop nop HTT_173: htcc_115: done nop nop nop nop nop nop nop HTT_174: htcc_116: done nop nop nop nop nop nop nop HTT_175: htcc_117: done nop nop nop nop nop nop nop HTT_176: htcc_118: done nop nop nop nop nop nop nop HTT_177: htcc_119: done nop nop nop nop nop nop nop HTT_178: htcc_120: done nop nop nop nop nop nop nop HTT_179: htcc_121: done nop nop nop nop nop nop nop HTT_17A: htcc_122: done nop nop nop nop nop nop nop HTT_17B: htcc_123: done nop nop nop nop nop nop nop HTT_17C: htcc_124: done nop nop nop nop nop nop nop HTT_17D: htcc_125: done nop nop nop nop nop nop nop HTT_17E: htcc_126: done nop nop nop nop nop nop nop HTT_17F: htcc_127: done nop nop nop nop nop nop nop TT_180: tcc_128: done nop nop nop nop nop nop nop TT_181: tcc_129: done nop nop nop nop nop nop nop TT_182: tcc_130: done nop nop nop nop nop nop nop TT_183: tcc_131: done nop nop nop nop nop nop nop TT_184: tcc_132: done nop nop nop nop nop nop nop TT_185: tcc_133: done nop nop nop nop nop nop nop TT_186: tcc_134: done nop nop nop nop nop nop nop TT_187: tcc_135: done nop nop nop nop nop nop nop TT_188: tcc_136: done nop nop nop nop nop nop nop TT_189: tcc_137: done nop nop nop nop nop nop nop TT_18A: tcc_138: done nop nop nop nop nop nop nop TT_18B: tcc_139: done nop nop nop nop nop nop nop TT_18C: tcc_140: done nop nop nop nop nop nop nop TT_18D: tcc_141: done nop nop nop nop nop nop nop TT_18E: tcc_142: ! Function to read thread ID from the ! Thread Status register. ! Value is returned in %o1. rd %asi, %g1 ! save %asi wr %g0, ASI_CORE_ID, %asi ldxa [ASI_CORE_ID_VA] %asi, %o1 wr %g0, %g1, %asi ! restore %asi #ifdef PORTABLE_CORE set 0x07, %g1 #else set 0x3f, %g1 #endif and %o1, %g1, %o1 done nop TT_18F: tcc_143: done nop nop nop nop nop nop nop TT_190: tcc_144: done nop nop nop nop nop nop nop TT_191: tcc_145: done nop nop nop nop nop nop nop TT_192: tcc_146: done nop nop nop nop nop nop nop TT_193: tcc_147: done nop nop nop nop nop nop nop TT_194: tcc_148: done nop nop nop nop nop nop nop TT_195: tcc_149: done nop nop nop nop nop nop nop TT_196: tcc_150: done nop nop nop nop nop nop nop TT_197: tcc_151: done nop nop nop nop nop nop nop TT_198: tcc_152: done nop nop nop nop nop nop nop TT_199: tcc_153: done nop nop nop nop nop nop nop TT_19A: tcc_154: done nop nop nop nop nop nop nop TT_19B: tcc_155: done nop nop nop nop nop nop nop TT_19C: tcc_156: done nop nop nop nop nop nop nop TT_19D: tcc_157: done nop nop nop nop nop nop nop TT_19E: tcc_158: done nop nop nop nop nop nop nop TT_19F: tcc_159: done nop nop nop nop nop nop nop TT_1A0: tcc_160: done nop nop nop nop nop nop nop TT_1A1: tcc_161: done nop nop nop nop nop nop nop TT_1A2: tcc_162: done nop nop nop nop nop nop nop TT_1A3: tcc_163: done nop nop nop nop nop nop nop TT_1A4: tcc_164: done nop nop nop nop nop nop nop TT_1A5: tcc_165: done nop nop nop nop nop nop nop TT_1A6: tcc_166: done nop nop nop nop nop nop nop TT_1A7: tcc_167: done nop nop nop nop nop nop nop TT_1A8: tcc_168: done nop nop nop nop nop nop nop TT_1A9: tcc_169: done nop nop nop nop nop nop nop TT_1AA: tcc_170: done nop nop nop nop nop nop nop TT_1AB: tcc_171: done nop nop nop nop nop nop nop TT_1AC: tcc_172: done nop nop nop nop nop nop nop TT_1AD: tcc_173: done nop nop nop nop nop nop nop TT_1AE: tcc_174: done nop nop nop nop nop nop nop TT_1AF: tcc_175: done nop nop nop nop nop nop nop TT_1B0: tcc_176: done nop nop nop nop nop nop nop TT_1B1: tcc_177: done nop nop nop nop nop nop nop TT_1B2: tcc_178: done nop nop nop nop nop nop nop TT_1B3: tcc_179: done nop nop nop nop nop nop nop TT_1B4: tcc_180: done nop nop nop nop nop nop nop TT_1B5: tcc_181: done nop nop nop nop nop nop nop TT_1B6: tcc_182: done nop nop nop nop nop nop nop TT_1B7: tcc_183: done nop nop nop nop nop nop nop TT_1B8: tcc_184: done nop nop nop nop nop nop nop TT_1B9: tcc_185: done nop nop nop nop nop nop nop TT_1BA: tcc_186: done nop nop nop nop nop nop nop TT_1BB: tcc_187: done nop nop nop nop nop nop nop TT_1BC: tcc_188: done nop nop nop nop nop nop nop TT_1BD: tcc_189: done nop nop nop nop nop nop nop TT_1BE: tcc_190: done nop nop nop nop nop nop nop TT_1BF: tcc_191: done nop nop nop nop nop nop nop TT_1C0: tcc_192: done nop nop nop nop nop nop nop TT_1C1: tcc_193: done nop nop nop nop nop nop nop TT_1C2: tcc_194: done nop nop nop nop nop nop nop TT_1C3: tcc_195: done nop nop nop nop nop nop nop TT_1C4: tcc_196: done nop nop nop nop nop nop nop TT_1C5: tcc_197: done nop nop nop nop nop nop nop TT_1C6: tcc_198: done nop nop nop nop nop nop nop TT_1C7: tcc_199: done nop nop nop nop nop nop nop TT_1C8: tcc_200: done nop nop nop nop nop nop nop TT_1C9: tcc_201: done nop nop nop nop nop nop nop TT_1CA: tcc_202: done nop nop nop nop nop nop nop TT_1CB: tcc_203: done nop nop nop nop nop nop nop TT_1CC: tcc_204: done nop nop nop nop nop nop nop TT_1CD: tcc_205: done nop nop nop nop nop nop nop TT_1CE: tcc_206: done nop nop nop nop nop nop nop TT_1CF: tcc_207: done nop nop nop nop nop nop nop TT_1D0: tcc_208: done nop nop nop nop nop nop nop TT_1D1: tcc_209: done nop nop nop nop nop nop nop TT_1D2: tcc_210: done nop nop nop nop nop nop nop TT_1D3: tcc_211: done nop nop nop nop nop nop nop TT_1D4: tcc_212: done nop nop nop nop nop nop nop TT_1D5: tcc_213: done nop nop nop nop nop nop nop TT_1D6: tcc_214: done nop nop nop nop nop nop nop TT_1D7: tcc_215: done nop nop nop nop nop nop nop TT_1D8: tcc_216: done nop nop nop nop nop nop nop TT_1D9: tcc_217: done nop nop nop nop nop nop nop TT_1DA: tcc_218: done nop nop nop nop nop nop nop TT_1DB: tcc_219: done nop nop nop nop nop nop nop TT_1DC: tcc_220: done nop nop nop nop nop nop nop TT_1DD: tcc_221: done nop nop nop nop nop nop nop TT_1DE: tcc_222: done nop nop nop nop nop nop nop TT_1DF: tcc_223: done nop nop nop nop nop nop nop TT_1E0: tcc_224: done nop nop nop nop nop nop nop TT_1E1: tcc_225: done nop nop nop nop nop nop nop TT_1E2: tcc_226: done nop nop nop nop nop nop nop TT_1E3: tcc_227: done nop nop nop nop nop nop nop TT_1E4: tcc_228: done nop nop nop nop nop nop nop TT_1E5: tcc_229: done nop nop nop nop nop nop nop TT_1E6: tcc_230: done nop nop nop nop nop nop nop TT_1E7: tcc_231: done nop nop nop nop nop nop nop TT_1E8: tcc_232: done nop nop nop nop nop nop nop TT_1E9: tcc_233: done nop nop nop nop nop nop nop TT_1EA: tcc_234: done nop nop nop nop nop nop nop TT_1EB: tcc_235: done nop nop nop nop nop nop nop TT_1EC: tcc_236: done nop nop nop nop nop nop nop TT_1ED: tcc_237: done nop nop nop nop nop nop nop TT_1EE: tcc_238: done nop nop nop nop nop nop nop TT_1EF: tcc_239: done nop nop nop nop nop nop nop TT_1F0: tcc_240: done nop nop nop nop nop nop nop TT_1F1: tcc_241: done nop nop nop nop nop nop nop TT_1F2: tcc_242: done nop nop nop nop nop nop nop TT_1F3: tcc_243: done nop nop nop nop nop nop nop TT_1F4: tcc_244: done nop nop nop nop nop nop nop TT_1F5: tcc_245: done nop nop nop nop nop nop nop TT_1F6: tcc_246: done nop nop nop nop nop nop nop TT_1F7: tcc_247: done nop nop nop nop nop nop nop TT_1F8: tcc_248: done nop nop nop nop nop nop nop TT_1F9: tcc_249: done nop nop nop nop nop nop nop TT_1FA: tcc_250: done nop nop nop nop nop nop nop TT_1FB: tcc_251: done nop nop nop nop nop nop nop TT_1FC: tcc_252: done nop nop nop nop nop nop nop TT_1FD: tcc_253: done nop nop nop nop nop nop nop TT_1FE: tcc_254: done nop nop nop nop nop nop nop TT_1FF: tcc_255: done nop nop nop nop nop nop nop TT_200: nop .align 32 .align 2048 HTT_240: nop .align 1024 hinterrupt_vector_trap_tl_gt_0: HTT_260: nop .align 32 hRA_watchpoint_tl_gt_0: HTT_261: nop .align 32 hVA_watchpoint_tl_gt_0: HTT_262: nop .align 32 hECC_error_tl_gt_0: HTT_263: nop .align 32 hfast_instruction_access_MMU_miss_tl_gt_0: HTT_264: ba hfast_instruction_access_MMU_miss nop .align 32 END_OF_HTRAPTABLE: SECTION .MAIN TEXT_VA = DIAG_TEXT_AREA, DATA_VA=DIAG_DATA_AREA attr_text { Name=.MAIN, hypervisor } attr_data { Name=.MAIN, hypervisor } .text .global main #endif /* __BOOT_S__ */