source: bootcd/isolinux/syslinux-6.03/gnu-efi/gnu-efi-3.0/inc/protocol/ia64/eficontext.h

Last change on this file was e16e8f2, checked in by Edwin Eefting <edwin@datux.nl>, 3 years ago

bootstuff

  • Property mode set to 100644
File size: 5.0 KB
Line 
1/*
2 * Copyright (c) 1999, 2000
3 * Intel Corporation.
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 *
10 * 1. Redistributions of source code must retain the above copyright
11 *    notice, this list of conditions and the following disclaimer.
12 *
13 * 2. Redistributions in binary form must reproduce the above copyright
14 *    notice, this list of conditions and the following disclaimer in the
15 *    documentation and/or other materials provided with the distribution.
16 *
17 * 3. All advertising materials mentioning features or use of this software
18 *    must display the following acknowledgement:
19 *
20 *    This product includes software developed by Intel Corporation and
21 *    its contributors.
22 *
23 * 4. Neither the name of Intel Corporation or its contributors may be
24 *    used to endorse or promote products derived from this software
25 *    without specific prior written permission.
26 *
27 * THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION AND CONTRIBUTORS ``AS IS''
28 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
29 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
30 * ARE DISCLAIMED.  IN NO EVENT SHALL INTEL CORPORATION OR CONTRIBUTORS BE
31 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
32 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
33 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
34 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
35 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
36 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
37 * THE POSSIBILITY OF SUCH DAMAGE.
38 *
39 */
40
41
42#ifndef _EFICONTEXT_H_
43#define _EFICONTEXT_H_
44
45
46//
47//  IA-64 processor exception types
48//
49#define    EXCPT_ALT_DTLB            4
50#define    EXCPT_DNESTED_TLB         5
51#define    EXCPT_BREAKPOINT         11
52#define    EXCPT_EXTERNAL_INTERRUPT     12
53#define    EXCPT_GEN_EXCEPT         24
54#define    EXCPT_NAT_CONSUMPTION    26
55#define    EXCPT_DEBUG_EXCEPT       29
56#define    EXCPT_UNALIGNED_ACCESS   30
57#define    EXCPT_FP_FAULT           32
58#define    EXCPT_FP_TRAP            33
59#define    EXCPT_TAKEN_BRANCH       35
60#define    EXCPT_SINGLE_STEP        36
61
62//
63//  IA-64 processor context definition - must be 512 byte aligned!!!
64//
65typedef
66struct {
67        UINT64 reserved;        // necessary to preserve alignment for the correct bits in UNAT and to insure F2 is 16 byte aligned...
68   
69    UINT64 r1;
70    UINT64 r2;
71    UINT64 r3;
72    UINT64 r4;
73    UINT64 r5;
74    UINT64 r6;
75    UINT64 r7;
76    UINT64 r8;
77    UINT64 r9;
78    UINT64 r10;
79    UINT64 r11;
80    UINT64 r12;
81    UINT64 r13;
82    UINT64 r14;
83    UINT64 r15;
84    UINT64 r16;
85    UINT64 r17;
86    UINT64 r18;
87    UINT64 r19;
88    UINT64 r20;
89    UINT64 r21;
90    UINT64 r22;
91    UINT64 r23;
92    UINT64 r24;
93    UINT64 r25;
94    UINT64 r26;
95    UINT64 r27;
96    UINT64 r28;
97    UINT64 r29;
98    UINT64 r30;
99    UINT64 r31;
100   
101    UINT64 f2[2];
102    UINT64 f3[2];
103    UINT64 f4[2];
104    UINT64 f5[2];
105    UINT64 f6[2];
106    UINT64 f7[2];
107    UINT64 f8[2];
108    UINT64 f9[2];
109    UINT64 f10[2];
110    UINT64 f11[2];
111    UINT64 f12[2];
112    UINT64 f13[2];
113    UINT64 f14[2];
114    UINT64 f15[2];
115    UINT64 f16[2];
116    UINT64 f17[2];
117    UINT64 f18[2];
118    UINT64 f19[2];
119    UINT64 f20[2];
120    UINT64 f21[2];
121    UINT64 f22[2];
122    UINT64 f23[2];
123    UINT64 f24[2];
124    UINT64 f25[2];
125    UINT64 f26[2];
126    UINT64 f27[2];
127    UINT64 f28[2];
128    UINT64 f29[2];
129    UINT64 f30[2];
130    UINT64 f31[2];
131   
132    UINT64 pr;
133   
134    UINT64 b0;
135    UINT64 b1;
136    UINT64 b2;
137    UINT64 b3;
138    UINT64 b4;
139    UINT64 b5;
140    UINT64 b6;
141    UINT64 b7;
142   
143    // application registers
144    UINT64 ar_rsc;
145    UINT64 ar_bsp;
146    UINT64 ar_bspstore;
147    UINT64 ar_rnat;
148
149    UINT64 ar_fcr;
150
151    UINT64 ar_eflag;
152    UINT64 ar_csd;
153    UINT64 ar_ssd;
154    UINT64 ar_cflg;
155    UINT64 ar_fsr;
156    UINT64 ar_fir;
157    UINT64 ar_fdr;
158
159    UINT64 ar_ccv;
160
161    UINT64 ar_unat;
162
163    UINT64 ar_fpsr;
164   
165    UINT64 ar_pfs;
166    UINT64 ar_lc;
167    UINT64 ar_ec;
168   
169    // control registers
170    UINT64 cr_dcr;
171    UINT64 cr_itm;
172    UINT64 cr_iva;
173    UINT64 cr_pta;
174    UINT64 cr_ipsr;
175    UINT64 cr_isr;
176    UINT64 cr_iip;
177    UINT64 cr_ifa;
178    UINT64 cr_itir;
179    UINT64 cr_iipa;
180    UINT64 cr_ifs;
181    UINT64 cr_iim;
182    UINT64 cr_iha;
183   
184    // debug registers
185    UINT64 dbr0;
186    UINT64 dbr1;
187    UINT64 dbr2;
188    UINT64 dbr3;
189    UINT64 dbr4;
190    UINT64 dbr5;
191    UINT64 dbr6;
192    UINT64 dbr7;
193   
194    UINT64 ibr0;
195    UINT64 ibr1;
196    UINT64 ibr2;
197    UINT64 ibr3;
198    UINT64 ibr4;
199    UINT64 ibr5;
200    UINT64 ibr6;
201    UINT64 ibr7;
202   
203    // virtual registers
204    UINT64 int_nat;     // nat bits for R1-R31
205   
206} SYSTEM_CONTEXT;
207
208#endif /* _EFI_CONTEXT_H_ */
Note: See TracBrowser for help on using the repository browser.