]> git.proxmox.com Git - mirror_edk2.git/blame - OldMdePkg/Library/BaseLib/Ipf/AccessKr.s
Moved the MdePkg to OldMdePkg so that new code in MdePkg does not break existing...
[mirror_edk2.git] / OldMdePkg / Library / BaseLib / Ipf / AccessKr.s
CommitLineData
8e38ef0a 1/// @file\r
2/// IPF specific AsmReadKrX() and AsmWriteKrX functions, 'X' is from '0' to '7'\r
3///\r
4/// Copyright (c) 2006, Intel Corporation\r
5/// All rights reserved. This program and the accompanying materials\r
6/// are licensed and made available under the terms and conditions of the BSD License\r
7/// which accompanies this distribution. The full text of the license may be found at\r
8/// http://opensource.org/licenses/bsd-license.php\r
9///\r
10/// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11/// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12///\r
13/// Module Name: AccessKr.s\r
14///\r
15///\r
16\r
17//---------------------------------------------------------------------------------\r
18//++\r
19// AsmReadKr0\r
20//\r
21// This routine is used to get KR0.\r
22//\r
23// Arguments :\r
24//\r
25// On Entry : None.\r
26//\r
27// Return Value: The value store in KR0.\r
28//\r
29//--\r
30//----------------------------------------------------------------------------------\r
31.text\r
32.type AsmReadKr0, @function\r
33.proc AsmReadKr0\r
34\r
35AsmReadKr0::\r
36 mov r8 = ar.k0;;\r
37 br.ret.dpnt b0;;\r
38.endp AsmReadKr0\r
39\r
40//---------------------------------------------------------------------------------\r
41//++\r
42// AsmWriteKr0\r
43//\r
44// This routine is used to Write KR0.\r
45//\r
46// Arguments :\r
47//\r
48// On Entry : None.\r
49//\r
50// Return Value: The value written to the KR0.\r
51//\r
52//--\r
53//----------------------------------------------------------------------------------\r
54\r
55.text\r
56.type AsmWriteKr0, @function\r
57.proc AsmWriteKr0\r
58.regstk 1, 0, 0, 0\r
59\r
60AsmWriteKr0::\r
61 mov ar.k0 = in0\r
62 mov r8 = in0;;\r
63 br.ret.dpnt b0;;\r
64.endp AsmWriteKr0\r
65\r
66\r
67//---------------------------------------------------------------------------------\r
68//++\r
69// AsmReadKr1\r
70//\r
71// This routine is used to get KR1.\r
72//\r
73// Arguments :\r
74//\r
75// On Entry : None.\r
76//\r
77// Return Value: The value store in KR1.\r
78//\r
79//--\r
80//----------------------------------------------------------------------------------\r
81.text\r
82.type AsmReadKr1, @function\r
83.proc AsmReadKr1\r
84\r
85AsmReadKr1::\r
86 mov r8 = ar.k1;;\r
87 br.ret.dpnt b0;;\r
88.endp AsmReadKr1\r
89\r
90//---------------------------------------------------------------------------------\r
91//++\r
92// AsmWriteKr1\r
93//\r
94// This routine is used to Write KR1.\r
95//\r
96// Arguments :\r
97//\r
98// On Entry : None.\r
99//\r
100// Return Value: The value written to the KR1.\r
101//\r
102//--\r
103//----------------------------------------------------------------------------------\r
104.text\r
105.type AsmWriteKr1, @function\r
106.proc AsmWriteKr1\r
107\r
108AsmWriteKr1::\r
109 mov ar.k1 = in0\r
110 mov r8 = in0;;\r
111 br.ret.dpnt b0;;\r
112.endp AsmWriteKr1\r
113\r
114\r
115//---------------------------------------------------------------------------------\r
116//++\r
117// AsmReadKr2\r
118//\r
119// This routine is used to get KR2.\r
120//\r
121// Arguments :\r
122//\r
123// On Entry : None.\r
124//\r
125// Return Value: The value store in KR2.\r
126//\r
127//--\r
128//----------------------------------------------------------------------------------\r
129.text\r
130.type AsmReadKr2, @function\r
131.proc AsmReadKr2\r
132\r
133AsmReadKr2::\r
134 mov r8 = ar.k2;;\r
135 br.ret.dpnt b0;;\r
136.endp AsmReadKr2\r
137\r
138//---------------------------------------------------------------------------------\r
139//++\r
140// AsmWriteKr2\r
141//\r
142// This routine is used to Write KR2.\r
143//\r
144// Arguments :\r
145//\r
146// On Entry : None.\r
147//\r
148// Return Value: The value written to the KR2.\r
149//\r
150//--\r
151//----------------------------------------------------------------------------------\r
152.text\r
153.type AsmWriteKr2, @function\r
154.proc AsmWriteKr2\r
155\r
156AsmWriteKr2::\r
157 mov ar.k2 = in0\r
158 mov r8 = in0;;\r
159 br.ret.dpnt b0;;\r
160.endp AsmWriteKr2\r
161\r
162\r
163//---------------------------------------------------------------------------------\r
164//++\r
165// AsmReadKr3\r
166//\r
167// This routine is used to get KR3.\r
168//\r
169// Arguments :\r
170//\r
171// On Entry : None.\r
172//\r
173// Return Value: The value store in KR3.\r
174//\r
175//--\r
176//----------------------------------------------------------------------------------\r
177.text\r
178.type AsmReadKr3, @function\r
179.proc AsmReadKr3\r
180\r
181AsmReadKr3::\r
182 mov r8 = ar.k3;;\r
183 br.ret.dpnt b0;;\r
184.endp AsmReadKr3\r
185\r
186//---------------------------------------------------------------------------------\r
187//++\r
188// AsmWriteKr3\r
189//\r
190// This routine is used to Write KR3.\r
191//\r
192// Arguments :\r
193//\r
194// On Entry : None.\r
195//\r
196// Return Value: The value written to the KR3.\r
197//\r
198//--\r
199//----------------------------------------------------------------------------------\r
200.text\r
201.type AsmWriteKr3, @function\r
202.proc AsmWriteKr3\r
203\r
204AsmWriteKr3::\r
205 mov ar.k3 = in0\r
206 mov r8 = in0;;\r
207 br.ret.dpnt b0;;\r
208.endp AsmWriteKr3\r
209\r
210\r
211//---------------------------------------------------------------------------------\r
212//++\r
213// AsmReadKr4\r
214//\r
215// This routine is used to get KR4.\r
216//\r
217// Arguments :\r
218//\r
219// On Entry : None.\r
220//\r
221// Return Value: The value store in KR4.\r
222//\r
223//--\r
224//----------------------------------------------------------------------------------\r
225.text\r
226.type AsmReadKr4, @function\r
227.proc AsmReadKr4\r
228\r
229AsmReadKr4::\r
230 mov r8 = ar.k4;;\r
231 br.ret.dpnt b0;;\r
232.endp AsmReadKr4\r
233\r
234//---------------------------------------------------------------------------------\r
235//++\r
236// AsmWriteKr4\r
237//\r
238// This routine is used to Write KR4.\r
239//\r
240// Arguments :\r
241//\r
242// On Entry : None.\r
243//\r
244// Return Value: The value written to the KR4.\r
245//\r
246//--\r
247//----------------------------------------------------------------------------------\r
248.text\r
249.type AsmWriteKr4, @function\r
250.proc AsmWriteKr4\r
251\r
252AsmWriteKr4::\r
253 mov ar.k4 = in0\r
254 mov r8 = in0;;\r
255 br.ret.dpnt b0;;\r
256.endp AsmWriteKr4\r
257\r
258\r
259//---------------------------------------------------------------------------------\r
260//++\r
261// AsmReadKr5\r
262//\r
263// This routine is used to get KR5.\r
264//\r
265// Arguments :\r
266//\r
267// On Entry : None.\r
268//\r
269// Return Value: The value store in KR5.\r
270//\r
271//--\r
272//----------------------------------------------------------------------------------\r
273.text\r
274.type AsmReadKr5, @function\r
275.proc AsmReadKr5\r
276\r
277AsmReadKr5::\r
278 mov r8 = ar.k5;;\r
279 br.ret.dpnt b0;;\r
280.endp AsmReadKr5\r
281\r
282//---------------------------------------------------------------------------------\r
283//++\r
284// AsmWriteKr5\r
285//\r
286// This routine is used to Write KR5.\r
287//\r
288// Arguments :\r
289//\r
290// On Entry : None.\r
291//\r
292// Return Value: The value written to the KR5.\r
293//\r
294//--\r
295//----------------------------------------------------------------------------------\r
296.text\r
297.type AsmWriteKr5, @function\r
298.proc AsmWriteKr5\r
299\r
300AsmWriteKr5::\r
301 mov ar.k5 = in0\r
302 mov r8 = in0;;\r
303 br.ret.dpnt b0;;\r
304.endp AsmWriteKr5\r
305\r
306\r
307//---------------------------------------------------------------------------------\r
308//++\r
309// AsmReadKr6\r
310//\r
311// This routine is used to get KR6.\r
312//\r
313// Arguments :\r
314//\r
315// On Entry : None.\r
316//\r
317// Return Value: The value store in KR6.\r
318//\r
319//--\r
320//----------------------------------------------------------------------------------\r
321.text\r
322.type AsmReadKr6, @function\r
323.proc AsmReadKr6\r
324\r
325AsmReadKr6::\r
326 mov r8 = ar.k6;;\r
327 br.ret.dpnt b0;;\r
328.endp AsmReadKr6\r
329\r
330//---------------------------------------------------------------------------------\r
331//++\r
332// AsmWriteKr6\r
333//\r
334// This routine is used to write KR6.\r
335//\r
336// Arguments :\r
337//\r
338// On Entry : None.\r
339//\r
340// Return Value: The value written to the KR6.\r
341//\r
342//--\r
343//----------------------------------------------------------------------------------\r
344.text\r
345.type AsmWriteKr6, @function\r
346.proc AsmWriteKr6\r
347\r
348AsmWriteKr6::\r
349 mov ar.k6 = in0\r
350 mov r8 = in0;;\r
351 br.ret.dpnt b0;;\r
352.endp AsmWriteKr6\r
353\r
354\r
355//---------------------------------------------------------------------------------\r
356//++\r
357// AsmReadKr7\r
358//\r
359// This routine is used to get KR7.\r
360//\r
361// Arguments :\r
362//\r
363// On Entry : None.\r
364//\r
365// Return Value: The value store in KR7.\r
366//\r
367//--\r
368//----------------------------------------------------------------------------------\r
369.text\r
370.type AsmReadKr7, @function\r
371.proc AsmReadKr7\r
372\r
373AsmReadKr7::\r
374 mov r8 = ar.k7;;\r
375 br.ret.dpnt b0;;\r
376.endp AsmReadKr7\r
377\r
378//---------------------------------------------------------------------------------\r
379//++\r
380// AsmWriteKr7\r
381//\r
382// This routine is used to write KR7.\r
383//\r
384// Arguments :\r
385//\r
386// On Entry : None.\r
387//\r
388// Return Value: The value written to the KR7.\r
389//\r
390//--\r
391//----------------------------------------------------------------------------------\r
392.text\r
393.type AsmWriteKr7, @function\r
394.proc AsmWriteKr7\r
395\r
396AsmWriteKr7::\r
397 mov ar.k7 = in0\r
398 mov r8 = in0;;\r
399 br.ret.dpnt b0;;\r
400.endp AsmWriteKr7\r