]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Library/BaseLib/Ipf/ReadCr.s
839ea6fb34613a829d9321f6b8edf4fb3bdeeb97
[mirror_edk2.git] / MdePkg / Library / BaseLib / Ipf / ReadCr.s
1 /// @file
2 /// IPF specific control register reading functions
3 ///
4 /// Copyright (c) 2008, Intel Corporation
5 /// All rights reserved. This program and the accompanying materials
6 /// are licensed and made available under the terms and conditions of the BSD License
7 /// which accompanies this distribution. The full text of the license may be found at
8 /// http://opensource.org/licenses/bsd-license.php
9 ///
10 /// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 /// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 ///
13 ///
14 ///
15
16
17 .text
18 .type AsmReadControlRegisterDcr, @function
19 .proc AsmReadControlRegisterDcr
20 //
21 // Reads control register DCR.
22 //
23 // This is a worker function for AsmReadControlRegister()
24 // when its parameter Index is IPF_CONTROL_REGISTER_DCR
25 //
26 // @return The 64-bit control register DCR.
27 //
28 AsmReadControlRegisterDcr::
29 mov r8 = cr.dcr;;
30 br.ret.dpnt b0;;
31 .endp AsmReadControlRegisterDcr
32
33
34
35 .text
36 .type AsmReadControlRegisterItm, @function
37 .proc AsmReadControlRegisterItm
38 //
39 // Reads control register ITM.
40 //
41 // This is a worker function for AsmReadControlRegister()
42 // when its parameter Index is IPF_CONTROL_REGISTER_ITM
43 //
44 // @return The 64-bit control register ITM.
45 //
46 AsmReadControlRegisterItm::
47 mov r8 = cr.itm;;
48 br.ret.dpnt b0;;
49 .endp AsmReadControlRegisterItm
50
51
52
53 .text
54 .type AsmReadControlRegisterIva, @function
55 .proc AsmReadControlRegisterIva
56 //
57 // Reads control register IVA.
58 //
59 // This is a worker function for AsmReadControlRegister()
60 // when its parameter Index is IPF_CONTROL_REGISTER_IVA
61 //
62 // @return The 64-bit control register IVA.
63 //
64 AsmReadControlRegisterIva::
65 mov r8 = cr.iva;;
66 br.ret.dpnt b0;;
67 .endp AsmReadControlRegisterIva
68
69
70
71 .text
72 .type AsmReadControlRegisterPta, @function
73 .proc AsmReadControlRegisterPta
74 //
75 // Reads control register PTA.
76 //
77 // This is a worker function for AsmReadControlRegister()
78 // when its parameter Index is IPF_CONTROL_REGISTER_PTA
79 //
80 // @return The 64-bit control register PTA.
81 //
82 AsmReadControlRegisterPta::
83 mov r8 = cr.pta;;
84 br.ret.dpnt b0;;
85 .endp AsmReadControlRegisterPta
86
87
88
89 .text
90 .type AsmReadControlRegisterIpsr, @function
91 .proc AsmReadControlRegisterIpsr
92 //
93 // Reads control register IPSR.
94 //
95 // This is a worker function for AsmReadControlRegister()
96 // when its parameter Index is IPF_CONTROL_REGISTER_IPSR
97 //
98 // @return The 64-bit control register IPSR.
99 //
100 AsmReadControlRegisterIpsr::
101 mov r8 = cr.ipsr;;
102 br.ret.dpnt b0;;
103 .endp AsmReadControlRegisterIpsr
104
105
106
107 .text
108 .type AsmReadControlRegisterIsr, @function
109 .proc AsmReadControlRegisterIsr
110 //
111 // Reads control register ISR.
112 //
113 // This is a worker function for AsmReadControlRegister()
114 // when its parameter Index is IPF_CONTROL_REGISTER_ISR
115 //
116 // @return The 64-bit control register ISR.
117 //
118 AsmReadControlRegisterIsr::
119 mov r8 = cr.isr;;
120 br.ret.dpnt b0;;
121 .endp AsmReadControlRegisterIsr
122
123
124
125 .text
126 .type AsmReadControlRegisterIip, @function
127 .proc AsmReadControlRegisterIip
128 //
129 // Reads control register IIP.
130 //
131 // This is a worker function for AsmReadControlRegister()
132 // when its parameter Index is IPF_CONTROL_REGISTER_IIP
133 //
134 // @return The 64-bit control register IIP.
135 //
136 AsmReadControlRegisterIip::
137 mov r8 = cr.iip;;
138 br.ret.dpnt b0;;
139 .endp AsmReadControlRegisterIip
140
141
142
143 .text
144 .type AsmReadControlRegisterIfa, @function
145 .proc AsmReadControlRegisterIfa
146 //
147 // Reads control register IFA.
148 //
149 // This is a worker function for AsmReadControlRegister()
150 // when its parameter Index is IPF_CONTROL_REGISTER_IFA
151 //
152 // @return The 64-bit control register IFA.
153 //
154 AsmReadControlRegisterIfa::
155 mov r8 = cr.ifa;;
156 br.ret.dpnt b0;;
157 .endp AsmReadControlRegisterIfa
158
159
160
161 .text
162 .type AsmReadControlRegisterItir, @function
163 .proc AsmReadControlRegisterItir
164 //
165 // Reads control register ITIR.
166 //
167 // This is a worker function for AsmReadControlRegister()
168 // when its parameter Index is IPF_CONTROL_REGISTER_ITIR
169 //
170 // @return The 64-bit control register ITIR.
171 //
172 AsmReadControlRegisterItir::
173 mov r8 = cr.itir;;
174 br.ret.dpnt b0;;
175 .endp AsmReadControlRegisterItir
176
177
178
179 .text
180 .type AsmReadControlRegisterIipa, @function
181 .proc AsmReadControlRegisterIipa
182 //
183 // Reads control register IIPA.
184 //
185 // This is a worker function for AsmReadControlRegister()
186 // when its parameter Index is IPF_CONTROL_REGISTER_IIPA
187 //
188 // @return The 64-bit control register IIPA.
189 //
190 AsmReadControlRegisterIipa::
191 mov r8 = cr.iipa;;
192 br.ret.dpnt b0;;
193 .endp AsmReadControlRegisterIipa
194
195
196
197 .text
198 .type AsmReadControlRegisterIfs, @function
199 .proc AsmReadControlRegisterIfs
200 //
201 // Reads control register IFS.
202 //
203 // This is a worker function for AsmReadControlRegister()
204 // when its parameter Index is IPF_CONTROL_REGISTER_IFS
205 //
206 // @return The 64-bit control register IFS.
207 //
208 AsmReadControlRegisterIfs::
209 mov r8 = cr.ifs;;
210 br.ret.dpnt b0;;
211 .endp AsmReadControlRegisterIfs
212
213
214
215 .text
216 .type AsmReadControlRegisterIim, @function
217 .proc AsmReadControlRegisterIim
218 //
219 // Reads control register IIM.
220 //
221 // This is a worker function for AsmReadControlRegister()
222 // when its parameter Index is IPF_CONTROL_REGISTER_IIM
223 //
224 // @return The 64-bit control register IIM.
225 //
226 AsmReadControlRegisterIim::
227 mov r8 = cr.iim;;
228 br.ret.dpnt b0;;
229 .endp AsmReadControlRegisterIim
230
231
232
233 .text
234 .type AsmReadControlRegisterIha, @function
235 .proc AsmReadControlRegisterIha
236 //
237 // Reads control register IHA.
238 //
239 // This is a worker function for AsmReadControlRegister()
240 // when its parameter Index is IPF_CONTROL_REGISTER_IHA
241 //
242 // @return The 64-bit control register IHA.
243 //
244 AsmReadControlRegisterIha::
245 mov r8 = cr.iha;;
246 br.ret.dpnt b0;;
247 .endp AsmReadControlRegisterIha
248
249
250
251 .text
252 .type AsmReadControlRegisterLid, @function
253 .proc AsmReadControlRegisterLid
254 //
255 // Reads control register LID.
256 //
257 // This is a worker function for AsmReadControlRegister()
258 // when its parameter Index is IPF_CONTROL_REGISTER_LID
259 //
260 // @return The 64-bit control register LID.
261 //
262 AsmReadControlRegisterLid::
263 mov r8 = cr.lid;;
264 br.ret.dpnt b0;;
265 .endp AsmReadControlRegisterLid
266
267
268
269 .text
270 .type AsmReadControlRegisterIvr, @function
271 .proc AsmReadControlRegisterIvr
272 //
273 // Reads control register IVR.
274 //
275 // This is a worker function for AsmReadControlRegister()
276 // when its parameter Index is IPF_CONTROL_REGISTER_IVR
277 //
278 // @return The 64-bit control register IVR.
279 //
280 AsmReadControlRegisterIvr::
281 mov r8 = cr.ivr;;
282 br.ret.dpnt b0;;
283 .endp AsmReadControlRegisterIvr
284
285
286
287 .text
288 .type AsmReadControlRegisterTpr, @function
289 .proc AsmReadControlRegisterTpr
290 //
291 // Reads control register TPR.
292 //
293 // This is a worker function for AsmReadControlRegister()
294 // when its parameter Index is IPF_CONTROL_REGISTER_TPR
295 //
296 // @return The 64-bit control register TPR.
297 //
298 AsmReadControlRegisterTpr::
299 mov r8 = cr.tpr;;
300 br.ret.dpnt b0;;
301 .endp AsmReadControlRegisterTpr
302
303
304
305 .text
306 .type AsmReadControlRegisterEoi, @function
307 .proc AsmReadControlRegisterEoi
308 //
309 // Reads control register EOI.
310 //
311 // This is a worker function for AsmReadControlRegister()
312 // when its parameter Index is IPF_CONTROL_REGISTER_EOI
313 //
314 // @return The 64-bit control register EOI.
315 //
316 AsmReadControlRegisterEoi::
317 mov r8 = cr.eoi;;
318 br.ret.dpnt b0;;
319 .endp AsmReadControlRegisterEoi
320
321
322
323 .text
324 .type AsmReadControlRegisterIrr0, @function
325 .proc AsmReadControlRegisterIrr0
326 //
327 // Reads control register IRR0.
328 //
329 // This is a worker function for AsmReadControlRegister()
330 // when its parameter Index is IPF_CONTROL_REGISTER_IRR0
331 //
332 // @return The 64-bit control register IRR0.
333 //
334 AsmReadControlRegisterIrr0::
335 mov r8 = cr.irr0;;
336 br.ret.dpnt b0;;
337 .endp AsmReadControlRegisterIrr0
338
339
340
341 .text
342 .type AsmReadControlRegisterIrr1, @function
343 .proc AsmReadControlRegisterIrr1
344 //
345 // Reads control register IRR1.
346 //
347 // This is a worker function for AsmReadControlRegister()
348 // when its parameter Index is IPF_CONTROL_REGISTER_IRR1
349 //
350 // @return The 64-bit control register IRR1.
351 //
352 AsmReadControlRegisterIrr1::
353 mov r8 = cr.irr1;;
354 br.ret.dpnt b0;;
355 .endp AsmReadControlRegisterIrr1
356
357
358
359 .text
360 .type AsmReadControlRegisterIrr2, @function
361 .proc AsmReadControlRegisterIrr2
362 //
363 // Reads control register IRR2.
364 //
365 // This is a worker function for AsmReadControlRegister()
366 // when its parameter Index is IPF_CONTROL_REGISTER_IRR2
367 //
368 // @return The 64-bit control register IRR2.
369 //
370 AsmReadControlRegisterIrr2::
371 mov r8 = cr.irr2;;
372 br.ret.dpnt b0;;
373 .endp AsmReadControlRegisterIrr2
374
375
376
377 .text
378 .type AsmReadControlRegisterIrr3, @function
379 .proc AsmReadControlRegisterIrr3
380 //
381 // Reads control register IRR3.
382 //
383 // This is a worker function for AsmReadControlRegister()
384 // when its parameter Index is IPF_CONTROL_REGISTER_IRR3
385 //
386 // @return The 64-bit control register IRR3.
387 //
388 AsmReadControlRegisterIrr3::
389 mov r8 = cr.irr3;;
390 br.ret.dpnt b0;;
391 .endp AsmReadControlRegisterIrr3
392
393
394
395 .text
396 .type AsmReadControlRegisterItv, @function
397 .proc AsmReadControlRegisterItv
398 //
399 // Reads control register ITV.
400 //
401 // This is a worker function for AsmReadControlRegister()
402 // when its parameter Index is IPF_CONTROL_REGISTER_ITV
403 //
404 // @return The 64-bit control register ITV.
405 //
406 AsmReadControlRegisterItv::
407 mov r8 = cr.itv;;
408 br.ret.dpnt b0;;
409 .endp AsmReadControlRegisterItv
410
411
412
413 .text
414 .type AsmReadControlRegisterPmv, @function
415 .proc AsmReadControlRegisterPmv
416 //
417 // Reads control register PMV.
418 //
419 // This is a worker function for AsmReadControlRegister()
420 // when its parameter Index is IPF_CONTROL_REGISTER_PMV
421 //
422 // @return The 64-bit control register PMV.
423 //
424 AsmReadControlRegisterPmv::
425 mov r8 = cr.pmv;;
426 br.ret.dpnt b0;;
427 .endp AsmReadControlRegisterPmv
428
429
430
431 .text
432 .type AsmReadControlRegisterCmcv, @function
433 .proc AsmReadControlRegisterCmcv
434 //
435 // Reads control register CMCV.
436 //
437 // This is a worker function for AsmReadControlRegister()
438 // when its parameter Index is IPF_CONTROL_REGISTER_CMCV
439 //
440 // @return The 64-bit control register CMCV.
441 //
442 AsmReadControlRegisterCmcv::
443 mov r8 = cr.cmcv;;
444 br.ret.dpnt b0;;
445 .endp AsmReadControlRegisterCmcv
446
447
448
449 .text
450 .type AsmReadControlRegisterLrr0, @function
451 .proc AsmReadControlRegisterLrr0
452 //
453 // Reads control register LRR0.
454 //
455 // This is a worker function for AsmReadControlRegister()
456 // when its parameter Index is IPF_CONTROL_REGISTER_LRR0
457 //
458 // @return The 64-bit control register LRR0.
459 //
460 AsmReadControlRegisterLrr0::
461 mov r8 = cr.lrr0;;
462 br.ret.dpnt b0;;
463 .endp AsmReadControlRegisterLrr0
464
465
466
467 .text
468 .type AsmReadControlRegisterLrr1, @function
469 .proc AsmReadControlRegisterLrr1
470 //
471 // Reads control register LRR1.
472 //
473 // This is a worker function for AsmReadControlRegister()
474 // when its parameter Index is IPF_CONTROL_REGISTER_LRR1
475 //
476 // @return The 64-bit control register LRR1.
477 //
478 AsmReadControlRegisterLrr1::
479 mov r8 = cr.lrr1;;
480 br.ret.dpnt b0;;
481 .endp AsmReadControlRegisterLrr1
482