ev5_osfalpha_defs.h revision 8012
1/* 2Copyright 1993 Hewlett-Packard Development Company, L.P. 3 4Permission is hereby granted, free of charge, to any person obtaining a copy of 5this software and associated documentation files (the "Software"), to deal in 6the Software without restriction, including without limitation the rights to 7use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 8of the Software, and to permit persons to whom the Software is furnished to do 9so, subject to the following conditions: 10 11The above copyright notice and this permission notice shall be included in all 12copies or substantial portions of the Software. 13 14THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20SOFTWARE. 21*/ 22 23#ifndef EV5_OSFALPHA_DEFS_INCLUDED 24#define EV5_OSFALPHA_DEFS_INCLUDED 1 25 26 27// from ev5_osfalpha_defs.mar from Lance's fetch directory 28// lowercaseified and $ changed to _ and reformatting for gas...pb Nov/95 29 30//orig .MACRO $OSF_ALPHADEFS 31//orig OSF_ALPHADEF_VER == 5 ; Flag the version number of this file. 32//orig .ENDM 33//orig .MACRO $OSF_PSDEF,$GBL 34//orig $DEFINI OSFPS,$GBL 35//orig;+ 36//orig; PS Layout - PS 37//orig; Loc Size name function 38//orig; ------ ------ ----- ----------------------------------- 39//orig; <0:2> 3 IPL Prio level 40//orig; <3> 1 CM Current Mode 41//orig;- 42 43#define osfps_v_mode 3 44#define osfps_m_mode (1<<osfps_v_mode) 45#define osfps_v_ipl 0 46#define osfps_m_ipl (7<<osfps_v_ipl) 47 48#define osfipl_c_mchk 7 49#define osfipl_c_rt 6 50#define osfipl_c_clk 5 51#define osfipl_c_dev1 4 52#define osfipl_c_dev0 3 53#define osfipl_c_sw1 2 54#define osfipl_c_sw0 1 55#define osfipl_c_zero 0 56 57#define osfint_c_mchk 2 58#define osfint_c_clk 1 59#define osfint_c_dev 3 60#define osfint_c_ip 0 61#define osfint_c_perf 4 62#define osfint_c_passrel 5 63 64//orig _DEFEND OSFPS,_GBL,DEF 65//orig .ENDM 66 67//orig;+ 68//orig; PTE layout - symbol prefix osfpte_ 69//orig; 70//orig; Loc Size name function 71//orig; ------ ------ ------ ----------------------------------- 72//orig; <63:32> 32 PFN Page Frame Number 73//orig; <31:16> 16 SOFT Bits reserved for software use 74//orig; <15:14> 2 75//orig; <13> 1 UWE User write enable 76//orig; <12> 1 KWE Kernel write enable 77//orig; <11:10> 2 78//orig; <9> 1 URE User read enable 79//orig; <8> 1 KRE Kernel read enable 80//orig; <7:6> 2 RES Reserved SBZ 81//orig; <5> 1 HPF Huge Page Flag 82//orig; <4> 1 ASM Wild card address space number match 83//orig; <3> 1 FOE Fault On execute 84//orig; <2> 1 FOW Fault On Write 85//orig; <1> 1 FOR Fault On Read 86//orig; <0> 1 V valid bit 87//orig;- 88 89//orig .MACRO _OSF_PTEDEF,_GBL 90//orig _DEFINI OSFPTE,_GBL 91 92#define osfpte_v_pfn 32 93#define osfpte_m_soft (0xFFFF0000) 94#define osfpte_v_soft 16 95#define osfpte_m_uwe (0x2000) 96#define osfpte_v_uwe 13 97#define osfpte_m_kwe (0x1000) 98#define osfpte_v_kwe 12 99#define osfpte_m_ure (0x0200) 100#define osfpte_v_ure 9 101#define osfpte_m_kre (0x0100) 102#define osfpte_v_kre 8 103#define osfpte_m_hpf (0x0020) 104#define osfpte_v_hpf 5 105#define osfpte_m_asm (0x0010) 106#define osfpte_v_asm 4 107#define osfpte_m_foe (0x0008) 108#define osfpte_v_foe 3 109#define osfpte_m_fow (0x0004) 110#define osfpte_v_fow 2 111#define osfpte_m_for (0x0002) 112#define osfpte_v_for 1 113#define osfpte_m_v (0x0001) 114#define osfpte_v_v 0 115 116#define osfpte_m_ksegbits (osfpte_m_kre | osfpte_m_kwe | osfpte_m_v | osfpte_m_asm) 117#define osfpte_m_prot (osfpte_m_ure+osfpte_m_uwe | osfpte_m_kre | osfpte_m_kwe) 118 119//orig _DEFEND OSFPTE,_GBL,DEF 120//orig .ENDM 121 122//orig;+ 123//orig; VA layout - symbol prefix VA_ 124//orig; 125//orig; Loc Size name function 126//orig; ------ ------ ------- ----------------------------------- 127//orig; <42:33> 10 SEG1 First seg table offset for mapping 128//orig; <32:23> 10 SEG2 Second seg table offset for mapping 129//orig; <22:13> 10 SEG3 Third seg table offset for mapping 130//orig; <12:0> 13 OFFSET Byte within page 131//orig;- 132//orig .MACRO _OSF_VADEF,_GBL 133//orig _DEFINI OSFVA,_GBL 134 135#define osfva_m_offset (0x000000001FFF) 136#define osfva_v_offset 0 137#define osfva_m_seg3 (0x0000007FE000) 138#define osfva_v_seg3 13 139#define osfva_m_seg2 (0x0001FF800000) 140#define osfva_v_seg2 23 141#define osfva_m_seg1 (0x7FE00000000) 142#define osfva_v_seg1 33 143 144//orig _DEFEND OSFVA,_GBL,DEF 145//orig .ENDM 146//orig;+ 147//orig; PRIVILEGED CONTEXT BLOCK (PCB) 148//orig;- 149//orig .MACRO _OSF_PCBDEF,_GBL 150//orig _DEFINI OSFPCB,_GBL 151 152#define osfpcb_q_ksp (0x0000) 153#define osfpcb_q_usp (0x0008) 154#define osfpcb_q_Usp (0x0008) 155#define osfpcb_q_mmptr (0x0010) 156#define osfpcb_q_Mmptr (0x0010) 157#define osfpcb_l_cc (0x0018) 158#define osfpcb_l_asn (0x001C) 159#define osfpcb_q_unique (0x0020) 160#define osfpcb_q_fen (0x0028) 161#define osfpcb_v_pme 62 162 163//orig _DEFEND OSFPCB,_GBL,DEF 164//orig .ENDM 165//orig;+ 166//orig; Stack Frame 167//orig;- 168//orig .MACRO _OSF_SFDEF,_GBL 169//orig _DEFINI OSFSF,_GBL 170 171#define osfsf_ps (0x00) 172#define osfsf_pc (0x08) 173#define osfsf_gp (0x10) 174#define osfsf_a0 (0x18) 175#define osfsf_a1 (0x20) 176#define osfsf_a2 (0x28) 177#define osfsf_c_size (0x30) 178 179//orig _DEFEND OSFSF,_GBL,DEF 180//orig .ENDM 181 182#endif 183