ev5_alpha_defs.h (8012:2f71125bf413) | ev5_alpha_defs.h (8013:2dfcde2e9998) |
---|---|
1/* | 1/* |
2Copyright 1993 Hewlett-Packard Development Company, L.P. | 2 * Copyright 1993 Hewlett-Packard Development Company, L.P. 3 * 4 * Permission is hereby granted, free of charge, to any person 5 * obtaining a copy of this software and associated documentation 6 * files (the "Software"), to deal in the Software without 7 * restriction, including without limitation the rights to use, copy, 8 * modify, merge, publish, distribute, sublicense, and/or sell copies 9 * of the Software, and to permit persons to whom the Software is 10 * furnished to do so, subject to the following conditions: 11 * 12 * The above copyright notice and this permission notice shall be 13 * included in all copies or substantial portions of the Software. 14 * 15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 19 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 20 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 21 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 * SOFTWARE. 23 */ |
3 | 24 |
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_ALPHA_DEFS_INCLUDED 24#define EV5_ALPHA_DEFS_INCLUDED 1 25 26// from ev5_alpha_defs.mar from Lance's fetch directory 27// Lower-caseified and $ signs removed ... pb Nov/95 28 | 25#ifndef EV5_ALPHA_DEFS_INCLUDED 26#define EV5_ALPHA_DEFS_INCLUDED 1 27 28// from ev5_alpha_defs.mar from Lance's fetch directory 29// Lower-caseified and $ signs removed ... pb Nov/95 30 |
29// .MACRO _ALPHADEFS 30// ALPHADEF_VER == 6 ; Flag the version number of this file. 31// .ENDM 32// .MACRO _PSDEF,_GBL 33// _DEFINI PS,_GBL 34//;+ 35//; PS Layout - PS 36//; Loc Size name function 37//; ------ ------ ______ ----------------------------------- 38//; <31:29> 3 SA stack alignment 39//; <31:13> 24 RES Reserved MBZ 40//; <12:8> 5 IPL Priority level 41//; <7> 1 VMM Virtual Mach Monitor 42//; <6:5> 2 RES Reserved MBZ 43//; <4:3> 2 CM Current Mode 44//; <2> 1 IP Interrupt Pending 45//; <1:0> 2 SW Software bits 46//;- | 31// 32// PS Layout - PS 33// Loc Size name function 34// ------ ------ ______ ----------------------------------- 35// <31:29> 3 SA stack alignment 36// <31:13> 24 RES Reserved MBZ 37// <12:8> 5 IPL Priority level 38// <7> 1 VMM Virtual Mach Monitor 39// <6:5> 2 RES Reserved MBZ 40// <4:3> 2 CM Current Mode 41// <2> 1 IP Interrupt Pending 42// <1:0> 2 SW Software bits 43// |
47 48#define ps_v_sw 0 49#define ps_m_sw (3<<ps_v_sw) 50 51#define ps_v_ip 2 52#define ps_m_ip (1<<ps_v_ip) 53 54#define ps_v_cm 3 --- 41 unchanged lines hidden (view full) --- 96#define ps_c_ipl25 (0x1900) 97#define ps_c_ipl26 (0x1A00) 98#define ps_c_ipl27 (0x1B00) 99#define ps_c_ipl28 (0x1C00) 100#define ps_c_ipl29 (0x1D00) 101#define ps_c_ipl30 (0x1E00) 102#define ps_c_ipl31 (0x1F00) 103 | 44 45#define ps_v_sw 0 46#define ps_m_sw (3<<ps_v_sw) 47 48#define ps_v_ip 2 49#define ps_m_ip (1<<ps_v_ip) 50 51#define ps_v_cm 3 --- 41 unchanged lines hidden (view full) --- 93#define ps_c_ipl25 (0x1900) 94#define ps_c_ipl26 (0x1A00) 95#define ps_c_ipl27 (0x1B00) 96#define ps_c_ipl28 (0x1C00) 97#define ps_c_ipl29 (0x1D00) 98#define ps_c_ipl30 (0x1E00) 99#define ps_c_ipl31 (0x1F00) 100 |
104// _DEFEND PS,_GBL,DEF 105// .ENDM 106//;+ 107//; PTE layout - symbol prefix PTE_ 108//; 109//; Loc Size name function 110//; ------ ------ ------ ----------------------------------- 111//; <63:32> 32 PFN Page Frame Number 112//; <31:16> 16 SOFT Bits reserved for software use 113//; <15> 1 UWE User write enable 114//; <14> 1 SWE Super write enable 115//; <13> 1 EWE Exec write enable 116//; <12> 1 KWE Kernel write enable 117//; <11> 1 URE User read enable 118//; <10> 1 SRE Super read enable 119//; <9> 1 ERE Exec read enable 120//; <8> 1 KRE Kernel read enable 121//; <7:6> 2 RES Reserved SBZ 122//; <5> 1 HPF Huge Page Flag 123//; <4> 1 ASM Wild card address space number match 124//; <3> 1 FOE Fault On execute 125//; <2> 1 FOW Fault On Write 126//; <1> 1 FOR Fault On Read 127//; <0> 1 V valid bit 128//;- 129// .MACRO _PTEDEF,_GBL 130// _DEFINI PTE,_GBL | 101// 102// PTE layout - symbol prefix PTE_ 103// 104// Loc Size name function 105// ------ ------ ------ ----------------------------------- 106// <63:32> 32 PFN Page Frame Number 107// <31:16> 16 SOFT Bits reserved for software use 108// <15> 1 UWE User write enable 109// <14> 1 SWE Super write enable 110// <13> 1 EWE Exec write enable 111// <12> 1 KWE Kernel write enable 112// <11> 1 URE User read enable 113// <10> 1 SRE Super read enable 114// <9> 1 ERE Exec read enable 115// <8> 1 KRE Kernel read enable 116// <7:6> 2 RES Reserved SBZ 117// <5> 1 HPF Huge Page Flag 118// <4> 1 ASM Wild card address space number match 119// <3> 1 FOE Fault On execute 120// <2> 1 FOW Fault On Write 121// <1> 1 FOR Fault On Read 122// <0> 1 V valid bit 123// |
131 132#define pte_v_pfn 32 133#define pte_m_soft (0xFFFF0000) 134#define pte_v_soft 16 135#define pte_m_uwe (0x8000) 136#define pte_v_uwe 15 137#define pte_m_swe (0x4000) 138#define pte_v_swe 14 --- 17 unchanged lines hidden (view full) --- 156#define pte_v_foe 3 157#define pte_m_fow (0x0004) 158#define pte_v_fow 2 159#define pte_m_for (0x0002) 160#define pte_v_for 1 161#define pte_m_v (0x0001) 162#define pte_v_v 0 163 | 124 125#define pte_v_pfn 32 126#define pte_m_soft (0xFFFF0000) 127#define pte_v_soft 16 128#define pte_m_uwe (0x8000) 129#define pte_v_uwe 15 130#define pte_m_swe (0x4000) 131#define pte_v_swe 14 --- 17 unchanged lines hidden (view full) --- 149#define pte_v_foe 3 150#define pte_m_fow (0x0004) 151#define pte_v_fow 2 152#define pte_m_for (0x0002) 153#define pte_v_for 1 154#define pte_m_v (0x0001) 155#define pte_v_v 0 156 |
164// _DEFEND PTE,_GBL,DEF 165// .ENDM 166//;+ 167//; VA layout - symbol prefix VA_ 168//; 169//; Loc Size name function 170//; ------ ------ ------- ----------------------------------- 171//; <42:33> 10 SEG1 First seg table offset for mapping 172//; <32:23> 10 SEG2 Second seg table offset for mapping 173//; <22:13> 10 SEG3 Third seg table offset for mapping 174//; <12:0> 13 OFFSET Byte within page 175//;- 176// .MACRO _VADEF,_GBL 177// _DEFINI VA,_GBL | 157// 158// VA layout - symbol prefix VA_ 159// 160// Loc Size name function 161// ------ ------ ------- ----------------------------------- 162// <42:33> 10 SEG1 First seg table offset for mapping 163// <32:23> 10 SEG2 Second seg table offset for mapping 164// <22:13> 10 SEG3 Third seg table offset for mapping 165// <12:0> 13 OFFSET Byte within page 166// |
178 179#define va_m_offset (0x000000001FFF) 180#define va_v_offset 0 181#define va_m_seg3 (0x0000007FE000) 182#define va_v_seg3 13 183#define va_m_seg2 (0x0001FF800000) 184#define va_v_seg2 23 185#define va_m_seg1 (0x7FE00000000) 186#define va_v_seg1 33 187 | 167 168#define va_m_offset (0x000000001FFF) 169#define va_v_offset 0 170#define va_m_seg3 (0x0000007FE000) 171#define va_v_seg3 13 172#define va_m_seg2 (0x0001FF800000) 173#define va_v_seg2 23 174#define va_m_seg1 (0x7FE00000000) 175#define va_v_seg1 33 176 |
188// _DEFEND VA,_GBL,DEF 189// .ENDM 190//;+ 191//; PRIVILEGED CONTEXT BLOCK (PCB) 192//;- 193// .MACRO _PCBDEF,_GBL 194// _DEFINI PCB,_GBL | 177// 178//PRIVILEGED CONTEXT BLOCK (PCB) 179// |
195#define pcb_q_ksp 0 196#define pcb_q_esp 8 197#define pcb_q_ssp 16 198#define pcb_q_usp 24 199#define pcb_q_ptbr 32 200#define pcb_q_asn 40 201#define pcb_q_ast 48 202#define pcb_q_fen 56 203#define pcb_q_cc 64 204#define pcb_q_unq 72 205#define pcb_q_sct 80 206 207#define pcb_v_asten 0 208#define pcb_m_asten (0x0f<<pcb_v_asten) 209#define pcb_v_astsr 4 210#define pcb_m_astsr (0x0f<<pcb_v_astsr) 211#define pcb_v_dat 63 212#define pcb_v_pme 62 213 | 180#define pcb_q_ksp 0 181#define pcb_q_esp 8 182#define pcb_q_ssp 16 183#define pcb_q_usp 24 184#define pcb_q_ptbr 32 185#define pcb_q_asn 40 186#define pcb_q_ast 48 187#define pcb_q_fen 56 188#define pcb_q_cc 64 189#define pcb_q_unq 72 190#define pcb_q_sct 80 191 192#define pcb_v_asten 0 193#define pcb_m_asten (0x0f<<pcb_v_asten) 194#define pcb_v_astsr 4 195#define pcb_m_astsr (0x0f<<pcb_v_astsr) 196#define pcb_v_dat 63 197#define pcb_v_pme 62 198 |
214// _DEFEND PCB,_GBL,DEF 215// .ENDM 216//;+ 217//; SYSTEM CONTROL BLOCK (SCB) 218//;- 219// .MACRO _SCBDEF,_GBL 220// _DEFINI SCB,_GBL | 199// 200// SYSTEM CONTROL BLOCK (SCB) 201// |
221 222#define scb_v_fen (0x0010) 223#define scb_v_acv (0x0080) 224#define scb_v_tnv (0x0090) 225#define scb_v_for (0x00A0) 226#define scb_v_fow (0x00B0) 227#define scb_v_foe (0x00C0) 228#define scb_v_arith (0x0200) --- 32 unchanged lines hidden (view full) --- 261#define scb_v_sys_corr_err (0x0620) 262#define scb_v_proc_corr_err (0x0630) 263#define scb_v_pwrfail (0x0640) 264#define scb_v_perfmon (0x0650) 265#define scb_v_sysmchk (0x0660) 266#define scb_v_procmchk (0x0670) 267#define scb_v_passive_rel (0x06F0) 268 | 202 203#define scb_v_fen (0x0010) 204#define scb_v_acv (0x0080) 205#define scb_v_tnv (0x0090) 206#define scb_v_for (0x00A0) 207#define scb_v_fow (0x00B0) 208#define scb_v_foe (0x00C0) 209#define scb_v_arith (0x0200) --- 32 unchanged lines hidden (view full) --- 242#define scb_v_sys_corr_err (0x0620) 243#define scb_v_proc_corr_err (0x0630) 244#define scb_v_pwrfail (0x0640) 245#define scb_v_perfmon (0x0650) 246#define scb_v_sysmchk (0x0660) 247#define scb_v_procmchk (0x0670) 248#define scb_v_passive_rel (0x06F0) 249 |
269// _DEFEND SCB,_GBL,DEF 270// .ENDM 271//;+ 272//; Stack frame (FRM) 273//;- 274// .MACRO _FRMDEF,_GBL 275// _DEFINI FRM,_GBL | 250// 251// Stack frame (FRM) 252// |
276 277#define frm_v_r2 (0x0000) 278#define frm_v_r3 (0x0008) 279#define frm_v_r4 (0x0010) 280#define frm_v_r5 (0x0018) 281#define frm_v_r6 (0x0020) 282#define frm_v_r7 (0x0028) 283#define frm_v_pc (0x0030) 284#define frm_v_ps (0x0038) 285 | 253 254#define frm_v_r2 (0x0000) 255#define frm_v_r3 (0x0008) 256#define frm_v_r4 (0x0010) 257#define frm_v_r5 (0x0018) 258#define frm_v_r6 (0x0020) 259#define frm_v_r7 (0x0028) 260#define frm_v_pc (0x0030) 261#define frm_v_ps (0x0038) 262 |
286// _DEFEND FRM,_GBL,DEF 287// .ENDM 288//;+ 289//; Exeception summary register (EXS) 290//;- 291// .MACRO _EXSDEF,_GBL 292// _DEFINI EXS,_GBL | 263// 264// Exeception summary register (EXS) 265// |
293// exs_v_swc <0> ; Software completion 294// exs_v_inv <1> ; Ivalid operation 295// exs_v_dze <2> ; Div by zero 296// exs_v_fov <3> ; Floating point overflow 297// exs_v_unf <4> ; Floating point underflow 298// exs_v_ine <5> ; Floating point inexact 299// exs_v_iov <6> ; Floating convert to integer overflow 300#define exs_v_swc 0 --- 7 unchanged lines hidden (view full) --- 308#define exs_m_swc (1<<exs_v_swc) 309#define exs_m_inv (1<<exs_v_inv) 310#define exs_m_dze (1<<exs_v_dze) 311#define exs_m_fov (1<<exs_v_fov) 312#define exs_m_unf (1<<exs_v_unf) 313#define exs_m_ine (1<<exs_v_ine) 314#define exs_m_iov (1<<exs_v_iov) 315 | 266// exs_v_swc <0> ; Software completion 267// exs_v_inv <1> ; Ivalid operation 268// exs_v_dze <2> ; Div by zero 269// exs_v_fov <3> ; Floating point overflow 270// exs_v_unf <4> ; Floating point underflow 271// exs_v_ine <5> ; Floating point inexact 272// exs_v_iov <6> ; Floating convert to integer overflow 273#define exs_v_swc 0 --- 7 unchanged lines hidden (view full) --- 281#define exs_m_swc (1<<exs_v_swc) 282#define exs_m_inv (1<<exs_v_inv) 283#define exs_m_dze (1<<exs_v_dze) 284#define exs_m_fov (1<<exs_v_fov) 285#define exs_m_unf (1<<exs_v_unf) 286#define exs_m_ine (1<<exs_v_ine) 287#define exs_m_iov (1<<exs_v_iov) 288 |
316// _defend exs,_gbl,def 317// .endm 318//;+ 319//; machine check error summary register (mces) 320//;- 321// .macro _mcesdef,_gbl 322// _defini mces,_gbl | 289// 290// machine check error summary register (mces) 291// |
323// mces_v_mchk <0> ; machine check in progress 324// mces_v_sce <1> ; system correctable error 325// mces_v_pce <2> ; processor correctable error 326// mces_v_dpc <3> ; disable reporting of processor correctable errors 327// mces_v_dsc <4> ; disable reporting of system correctable errors 328#define mces_v_mchk 0 329#define mces_v_sce 1 330#define mces_v_pce 2 331#define mces_v_dpc 3 332#define mces_v_dsc 4 333 334#define mces_m_mchk (1<<mces_v_mchk) 335#define mces_m_sce (1<<mces_v_sce) 336#define mces_m_pce (1<<mces_v_pce) 337#define mces_m_dpc (1<<mces_v_dpc) 338#define mces_m_dsc (1<<mces_v_dsc) 339#define mces_m_all ((1<<mces_v_mchk) | (1<<mces_v_sce) | (1<<mces_v_pce) | (1<<mces_v_dpc) | (1<<mces_v_dsc)) | 292// mces_v_mchk <0> ; machine check in progress 293// mces_v_sce <1> ; system correctable error 294// mces_v_pce <2> ; processor correctable error 295// mces_v_dpc <3> ; disable reporting of processor correctable errors 296// mces_v_dsc <4> ; disable reporting of system correctable errors 297#define mces_v_mchk 0 298#define mces_v_sce 1 299#define mces_v_pce 2 300#define mces_v_dpc 3 301#define mces_v_dsc 4 302 303#define mces_m_mchk (1<<mces_v_mchk) 304#define mces_m_sce (1<<mces_v_sce) 305#define mces_m_pce (1<<mces_v_pce) 306#define mces_m_dpc (1<<mces_v_dpc) 307#define mces_m_dsc (1<<mces_v_dsc) 308#define mces_m_all ((1<<mces_v_mchk) | (1<<mces_v_sce) | (1<<mces_v_pce) | (1<<mces_v_dpc) | (1<<mces_v_dsc)) |
340// _defend mces,_gbl,def 341// .endm | |
342 | 309 |
343 344 | |
345#endif | 310#endif |