source: mainline/uspace/lib/c/arch/ia64/include/libarch/fibril_context.ag@ 8d2dd7f2

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 8d2dd7f2 was 8d2dd7f2, checked in by Jakub Jermar <jakub@…>, 8 years ago

Reduce the number of files that include <sys/types.h>

  • Property mode set to 100644
File size: 6.7 KB
Line 
1# Copyright (c) 2014 Jakub Jermar
2# All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions
6# are met:
7#
8# - Redistributions of source code must retain the above copyright
9# notice, this list of conditions and the following disclaimer.
10# - Redistributions in binary form must reproduce the above copyright
11# notice, this list of conditions and the following disclaimer in the
12# documentation and/or other materials provided with the distribution.
13# - The name of the author may not be used to endorse or promote products
14# derived from this software without specific prior written permission.
15#
16# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26#
27
28{
29 name : context,
30
31 includes : [
32 {
33 include : <stddef.h>
34 },
35 {
36 include : <stdint.h>
37 }
38 ],
39
40 #
41 # Only save registers that must be preserved across function calls.
42 #
43 members : [
44 #
45 # Application registers
46 #
47 {
48 name : ar_pfs,
49 type : uint64_t
50 },
51 {
52 name : ar_unat_caller,
53 type : uint64_t
54 },
55 {
56 name : ar_unat_callee,
57 type : uint64_t
58 },
59 {
60 name : ar_rsc,
61 type : uint64_t
62 },
63 {
64 # ar_bsp
65 name : bsp,
66 type : uint64_t
67 },
68 {
69 name : ar_rnat,
70 type : uint64_t
71 },
72 {
73 name : ar_lc,
74 type : uint64_t
75 },
76
77
78 #
79 # General registers
80 #
81 {
82 name : r1,
83 type : uint64_t
84 },
85 {
86 name : r4,
87 type : uint64_t
88 },
89 {
90 name : r5,
91 type : uint64_t
92 },
93 {
94 name : r6,
95 type : uint64_t
96 },
97 {
98 name : r7,
99 type : uint64_t
100 },
101 {
102 # r12
103 name : sp,
104 type : uint64_t
105 },
106 {
107 # r13
108 name : tp,
109 type : uint64_t
110 },
111
112
113 #
114 # Branch registers
115 #
116 {
117 # b0
118 name : pc,
119 type : uint64_t
120 },
121 {
122 name : b1,
123 type : uint64_t
124 },
125 {
126 name : b2,
127 type : uint64_t
128 },
129 {
130 name : b3,
131 type : uint64_t
132 },
133 {
134 name : b4,
135 type : uint64_t
136 },
137 {
138 name : b5,
139 type : uint64_t
140 },
141
142
143 #
144 # Predicate registers
145 #
146 {
147 name : pr,
148 type : uint64_t
149 },
150
151 {
152 name : f2,
153 type : uint128_t
154 },
155 {
156 name : f3,
157 type : uint128_t
158 },
159 {
160 name : f4,
161 type : uint128_t
162 },
163 {
164 name : f5,
165 type : uint128_t
166 },
167
168 {
169 name : f16,
170 type : uint128_t
171 },
172 {
173 name : f17,
174 type : uint128_t
175 },
176 {
177 name : f18,
178 type : uint128_t
179 },
180 {
181 name : f19,
182 type : uint128_t
183 },
184 {
185 name : f20,
186 type : uint128_t
187 },
188 {
189 name : f21,
190 type : uint128_t
191 },
192 {
193 name : f22,
194 type : uint128_t
195 },
196 {
197 name : f23,
198 type : uint128_t
199 },
200 {
201 name : f24,
202 type : uint128_t
203 },
204 {
205 name : f25,
206 type : uint128_t
207 },
208 {
209 name : f26,
210 type : uint128_t
211 },
212 {
213 name : f27,
214 type : uint128_t
215 },
216 {
217 name : f28,
218 type : uint128_t
219 },
220 {
221 name : f29,
222 type : uint128_t
223 },
224 {
225 name : f30,
226 type : uint128_t
227 },
228 {
229 name : f31,
230 type : uint128_t
231 }
232
233 ]
234}
235
Note: See TracBrowser for help on using the repository browser.