OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
UserMisc.c
Go to the documentation of this file.
1
6#include <Uefi.h>
7#include <Library/UefiLib.h>
8#include <Library/UefiApplicationEntryPoint.h>
9#include <Library/DebugLib.h>
10
11VOID
12EFIAPI
14 VOID
15 )
16{
17 abort ();
18}
19
20VOID
21EFIAPI
23 VOID
24 )
25{
26}
27
28VOID
29EFIAPI
31 VOID
32 )
33{
34}
35
36VOID
37EFIAPI
39 VOID
40 )
41{
42}
43
44UINT32
46 IN UINT32 Index,
47 OUT UINT32 *Eax, OPTIONAL
48 OUT UINT32 *Ebx, OPTIONAL
49 OUT UINT32 *Ecx, OPTIONAL
50 OUT UINT32 *Edx OPTIONAL
51 )
52{
53 #if defined (__i386__) || defined (__x86_64__)
54 UINT32 EaxVal;
55 UINT32 EbxVal;
56 UINT32 EcxVal;
57 UINT32 EdxVal;
58
59 EaxVal = 0;
60 EbxVal = 0;
61 EcxVal = 0;
62 EdxVal = 0;
63
64 asm (
65 "cpuid\n"
66 : "=a" (EaxVal), "=b" (EbxVal), "=c" (EcxVal), "=d" (EdxVal)
67 : "0" (Index)
68 );
69
70 if (Eax != NULL) {
71 *Eax = EaxVal;
72 }
73
74 if (Ebx != NULL) {
75 *Ebx = EbxVal;
76 }
77
78 if (Ecx != NULL) {
79 *Ecx = EcxVal;
80 }
81
82 if (Edx != NULL) {
83 *Edx = EdxVal;
84 }
85
86 return Index;
87 #else
88 if (Eax != NULL) {
89 *Eax = 0;
90 }
91
92 if (Ebx != NULL) {
93 *Ebx = 0;
94 }
95
96 if (Ecx != NULL) {
97 *Ecx = 0;
98 }
99
100 if (Edx != NULL) {
101 *Edx = 0;
102 }
103
104 return 0;
105 #endif
106}
107
108UINT32
110 IN UINT32 Index,
111 IN UINT32 SubIndex,
112 OUT UINT32 *Eax, OPTIONAL
113 OUT UINT32 *Ebx, OPTIONAL
114 OUT UINT32 *Ecx, OPTIONAL
115 OUT UINT32 *Edx OPTIONAL
116 )
117{
118 #if defined (__i386__) || defined (__x86_64__)
119 UINT32 EaxVal;
120 UINT32 EbxVal;
121 UINT32 EcxVal;
122 UINT32 EdxVal;
123
124 EaxVal = 0;
125 EbxVal = 0;
126 EcxVal = 0;
127 EdxVal = 0;
128
129 asm (
130 "cpuid\n"
131 : "=a" (EaxVal), "=b" (EbxVal), "=c" (EcxVal), "=d" (EdxVal)
132 : "0" (Index),
133 "2" (SubIndex)
134 );
135
136 if (Eax != NULL) {
137 *Eax = EaxVal;
138 }
139
140 if (Ebx != NULL) {
141 *Ebx = EbxVal;
142 }
143
144 if (Ecx != NULL) {
145 *Ecx = EcxVal;
146 }
147
148 if (Edx != NULL) {
149 *Edx = EdxVal;
150 }
151
152 return Index;
153 #else
154 if (Eax != NULL) {
155 *Eax = 0;
156 }
157
158 if (Ebx != NULL) {
159 *Ebx = 0;
160 }
161
162 if (Ecx != NULL) {
163 *Ecx = 0;
164 }
165
166 if (Edx != NULL) {
167 *Edx = 0;
168 }
169
170 return 0;
171 #endif
172}
173
174UINT32
175EFIAPI
177 IN volatile UINT32 *Value
178 )
179{
180 ASSERT (FALSE);
181
182 return 0;
183}
184
185UINT32
186EFIAPI
188 VOID
189 )
190{
191 return 0;
192}
193
194UINTN
195EFIAPI
197 VOID
198 )
199{
200 return 0;
201}
202
203UINT16
204EFIAPI
206 VOID
207 )
208{
209 return 3;
210}
211
212UINTN
213EFIAPI
215 VOID
216 )
217{
218 return 0;
219}
220
221UINT64
222EFIAPI
224 IN UINT32 Index
225 )
226{
227 return 0;
228}
229
230UINT64
231EFIAPI
233 VOID
234 )
235{
236 return 0;
237}
238
239UINTN
240EFIAPI
242 UINTN Cr4
243 )
244{
245 return 0;
246}
247
248UINT64
249EFIAPI
251 IN UINT32 Index,
252 IN UINT64 Value
253 )
254{
255 return 0;
256}
257
258UINT64
259EFIAPI
261 IN UINT32 Index,
262 IN UINT64 AndData,
263 IN UINT64 OrData
264 )
265{
266 //
267 // MSRs cannot be read at userspace level.
268 //
269 return 0;
270}
271
272VOID
273EFIAPI
275 VOID
276 )
277{
278}
279
280VOID
281EFIAPI
283 VOID
284 )
285{
286}
287
288VOID
289EFIAPI
291 VOID
292 )
293{
294}
295
296UINT8
297EFIAPI
299 IN UINTN Port
300 )
301{
302 return 0;
303}
304
305UINT8
306EFIAPI
308 IN UINTN Port,
309 IN UINT8 Value
310 )
311{
312 (void)Port;
313 return Value;
314}
315
316UINT32
317EFIAPI
319 IN UINTN Port
320 )
321{
322 ASSERT ((Port & 3) == 0);
323
324 return 0;
325}
326
327UINT32
328EFIAPI
330 IN UINTN Port,
331 IN UINT32 Value
332 )
333{
334 ASSERT ((Port & 3) == 0);
335
336 return Value;
337}
338
339UINT16
340EFIAPI
342 IN UINTN Address,
343 IN UINT16 AndData
344 )
345{
346 return 0;
347}
348
349UINT32
350EFIAPI
352 IN UINTN Address,
353 IN UINT16 AndData
354 )
355{
356 return 0;
357}
358
359UINT8
360EFIAPI
362 IN UINTN Address,
363 IN UINT8 AndData
364 )
365{
366 return 0;
367}
368
369UINT16
370EFIAPI
372 IN UINTN Address,
373 IN UINT16 AndData,
374 IN UINT16 OrData
375 )
376{
377 return 0;
378}
379
380UINT32
381EFIAPI
383 IN UINTN Address,
384 IN UINT32 AndData,
385 IN UINT32 OrData
386 )
387{
388 return 0;
389}
390
391UINT8
392EFIAPI
394 IN UINTN Address,
395 IN UINT8 AndData,
396 IN UINT8 OrData
397 )
398{
399 return 0;
400}
401
402UINT16
403EFIAPI
405 IN UINTN Address,
406 IN UINTN StartBit,
407 IN UINTN EndBit,
408 IN UINT16 AndData
409 )
410{
411 return 0;
412}
413
414UINT32
415EFIAPI
417 IN UINTN Address,
418 IN UINTN StartBit,
419 IN UINTN EndBit,
420 IN UINT32 AndData
421 )
422{
423 return 0;
424}
425
426UINT8
427EFIAPI
429 IN UINTN Address,
430 IN UINTN StartBit,
431 IN UINTN EndBit,
432 IN UINT8 AndData
433 )
434{
435 return 0;
436}
437
438UINT16
439EFIAPI
441 IN UINTN Address,
442 IN UINTN StartBit,
443 IN UINTN EndBit,
444 IN UINT16 AndData,
445 IN UINT16 OrData
446 )
447{
448 return 0;
449}
450
451UINT32
452EFIAPI
454 IN UINTN Address,
455 IN UINTN StartBit,
456 IN UINTN EndBit,
457 IN UINT32 AndData,
458 IN UINT32 OrData
459 )
460{
461 return 0;
462}
463
464UINT8
465EFIAPI
467 IN UINTN Address,
468 IN UINTN StartBit,
469 IN UINTN EndBit,
470 IN UINT8 AndData,
471 IN UINT8 OrData
472 )
473{
474 return 0;
475}
476
477UINT16
478EFIAPI
480 IN UINTN Address,
481 IN UINTN StartBit,
482 IN UINTN EndBit,
483 IN UINT16 OrData
484 )
485{
486 return 0;
487}
488
489UINT32
490EFIAPI
492 IN UINTN Address,
493 IN UINTN StartBit,
494 IN UINTN EndBit,
495 IN UINT32 OrData
496 )
497{
498 return 0;
499}
500
501UINT8
502EFIAPI
504 IN UINTN Address,
505 IN UINTN StartBit,
506 IN UINTN EndBit,
507 IN UINT8 OrData
508 )
509{
510 return 0;
511}
512
513UINT16
514EFIAPI
516 IN UINTN Address,
517 IN UINTN StartBit,
518 IN UINTN EndBit
519 )
520{
521 return 0;
522}
523
524UINT32
525EFIAPI
527 IN UINTN Address,
528 IN UINTN StartBit,
529 IN UINTN EndBit
530 )
531{
532 return 0;
533}
534
535UINT8
536EFIAPI
538 IN UINTN Address,
539 IN UINTN StartBit,
540 IN UINTN EndBit
541 )
542{
543 return 0;
544}
545
546UINT16
547EFIAPI
549 IN UINTN Address,
550 IN UINTN StartBit,
551 IN UINTN EndBit,
552 IN UINT16 Value
553 )
554{
555 return 0;
556}
557
558UINT32
559EFIAPI
561 IN UINTN Address,
562 IN UINTN StartBit,
563 IN UINTN EndBit,
564 IN UINT32 Value
565 )
566{
567 return 0;
568}
569
570UINT8
571EFIAPI
573 IN UINTN Address,
574 IN UINTN StartBit,
575 IN UINTN EndBit,
576 IN UINT8 Value
577 )
578{
579 return 0;
580}
581
582UINT16
583EFIAPI
585 IN UINTN Address,
586 IN UINT16 OrData
587 )
588{
589 return 0;
590}
591
592UINT32
593EFIAPI
595 IN UINTN Address,
596 IN UINT32 OrData
597 )
598{
599 return 0;
600}
601
602UINT8
603EFIAPI
605 IN UINTN Address,
606 IN UINT8 OrData
607 )
608{
609 return 0;
610}
611
612UINT16
613EFIAPI
615 IN UINTN Address
616 )
617{
618 return 0;
619}
620
621UINT32
622EFIAPI
624 IN UINTN Address
625 )
626{
627 return 0;
628}
629
630UINT8
631EFIAPI
633 IN UINTN Address
634 )
635{
636 return 0;
637}
638
639UINT16
640EFIAPI
642 IN UINTN Address,
643 IN UINT16 Value
644 )
645{
646 return 0;
647}
648
649UINT32
650EFIAPI
652 IN UINTN Address,
653 IN UINT32 Value
654 )
655{
656 return 0;
657}
658
659UINT8
660EFIAPI
662 IN UINTN Address,
663 IN UINT8 Value
664 )
665{
666 return 0;
667}
668
669VOID *
670EFIAPI
672 IN CONST EFI_GUID *Guid
673 )
674{
675 return NULL;
676}
677
678EFI_DEVICE_PATH_PROTOCOL *
679EFIAPI
681 IN EFI_HANDLE Handle
682 )
683{
684 return NULL;
685}
686
687EFI_FILE_PROTOCOL *
689 IN EFI_HANDLE DeviceHandle OPTIONAL,
690 IN EFI_DEVICE_PATH_PROTOCOL *FilePath OPTIONAL
691 )
692{
693 return NULL;
694}
695
696UINTN
698 VOID
699 )
700{
701 return 0;
702}
DMG_FILEPATH_DEVICE_PATH FilePath
APPLE_EVENT_HANDLE Handle
Definition OcTypingLib.h:45
UINT16 EFIAPI MmioBitFieldAndThenOr16(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 AndData, IN UINT16 OrData)
Definition UserMisc.c:440
UINT8 EFIAPI IoWrite8(IN UINTN Port, IN UINT8 Value)
Definition UserMisc.c:307
UINT8 EFIAPI MmioBitFieldRead8(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit)
Definition UserMisc.c:537
UINT32 EFIAPI MmioBitFieldWrite32(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 Value)
Definition UserMisc.c:560
UINT8 EFIAPI MmioBitFieldOr8(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 OrData)
Definition UserMisc.c:503
UINT8 EFIAPI MmioBitFieldWrite8(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 Value)
Definition UserMisc.c:572
UINT8 EFIAPI MmioAnd8(IN UINTN Address, IN UINT8 AndData)
Definition UserMisc.c:361
VOID EFIAPI AsmEnableCache(VOID)
Definition UserMisc.c:282
UINT16 EFIAPI MmioAndThenOr16(IN UINTN Address, IN UINT16 AndData, IN UINT16 OrData)
Definition UserMisc.c:371
UINTN EFIAPI AsmReadEflags(VOID)
Definition UserMisc.c:214
UINT32 EFIAPI MmioBitFieldAndThenOr32(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 AndData, IN UINT32 OrData)
Definition UserMisc.c:453
UINT64 EFIAPI AsmReadTsc(VOID)
Definition UserMisc.c:232
UINT8 EFIAPI MmioBitFieldAndThenOr8(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 AndData, IN UINT8 OrData)
Definition UserMisc.c:466
VOID *EFIAPI GetFirstGuidHob(IN CONST EFI_GUID *Guid)
Definition UserMisc.c:671
UINT32 AsmCpuid(IN UINT32 Index, OUT UINT32 *Eax, OPTIONAL OUT UINT32 *Ebx, OPTIONAL OUT UINT32 *Ecx, OPTIONAL OUT UINT32 *Edx OPTIONAL)
Definition UserMisc.c:45
UINT16 EFIAPI MmioBitFieldWrite16(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 Value)
Definition UserMisc.c:548
UINT32 EFIAPI MmioBitFieldOr32(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 OrData)
Definition UserMisc.c:491
UINT16 EFIAPI MmioBitFieldAnd16(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 AndData)
Definition UserMisc.c:404
UINT32 EFIAPI MmioBitFieldRead32(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit)
Definition UserMisc.c:526
UINT16 EFIAPI MmioBitFieldOr16(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 OrData)
Definition UserMisc.c:479
VOID EFIAPI CpuPause(VOID)
Definition UserMisc.c:22
UINT32 AsmCpuidEx(IN UINT32 Index, IN UINT32 SubIndex, OUT UINT32 *Eax, OPTIONAL OUT UINT32 *Ebx, OPTIONAL OUT UINT32 *Ecx, OPTIONAL OUT UINT32 *Edx OPTIONAL)
Definition UserMisc.c:109
UINT32 EFIAPI MmioAnd32(IN UINTN Address, IN UINT16 AndData)
Definition UserMisc.c:351
VOID EFIAPI EnableInterrupts(VOID)
Definition UserMisc.c:38
UINT64 EFIAPI AsmReadMsr64(IN UINT32 Index)
Definition UserMisc.c:223
VOID EFIAPI DisableInterrupts(VOID)
Definition UserMisc.c:30
UINT32 EFIAPI AsmReadIntelMicrocodeRevision(VOID)
Definition UserMisc.c:187
VOID EFIAPI CpuFlushTlb(VOID)
Definition UserMisc.c:290
EFI_FILE_PROTOCOL * OcLocateRootVolume(IN EFI_HANDLE DeviceHandle OPTIONAL, IN EFI_DEVICE_PATH_PROTOCOL *FilePath OPTIONAL)
Definition UserMisc.c:688
EFI_DEVICE_PATH_PROTOCOL *EFIAPI DevicePathFromHandle(IN EFI_HANDLE Handle)
Definition UserMisc.c:680
UINT32 EFIAPI MmioOr32(IN UINTN Address, IN UINT32 OrData)
Definition UserMisc.c:594
UINTN EFIAPI AsmWriteCr4(UINTN Cr4)
Definition UserMisc.c:241
UINT8 EFIAPI MmioAndThenOr8(IN UINTN Address, IN UINT8 AndData, IN UINT8 OrData)
Definition UserMisc.c:393
UINT16 EFIAPI MmioBitFieldRead16(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit)
Definition UserMisc.c:515
UINT16 EFIAPI MmioRead16(IN UINTN Address)
Definition UserMisc.c:614
UINT8 EFIAPI MmioRead8(IN UINTN Address)
Definition UserMisc.c:632
UINT8 EFIAPI MmioOr8(IN UINTN Address, IN UINT8 OrData)
Definition UserMisc.c:604
UINT8 EFIAPI MmioWrite8(IN UINTN Address, IN UINT8 Value)
Definition UserMisc.c:661
UINT8 EFIAPI IoRead8(IN UINTN Port)
Definition UserMisc.c:298
VOID EFIAPI CpuBreakpoint(VOID)
Definition UserMisc.c:13
UINT32 EFIAPI MmioRead32(IN UINTN Address)
Definition UserMisc.c:623
UINT16 EFIAPI MmioAnd16(IN UINTN Address, IN UINT16 AndData)
Definition UserMisc.c:341
VOID EFIAPI AsmDisableCache(VOID)
Definition UserMisc.c:274
UINT8 EFIAPI MmioBitFieldAnd8(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 AndData)
Definition UserMisc.c:428
UINT32 EFIAPI AsmIncrementUint32(IN volatile UINT32 *Value)
Definition UserMisc.c:176
UINT16 EFIAPI AsmReadCs(VOID)
Definition UserMisc.c:205
UINTN GetSerialRegisterBase(VOID)
Definition UserMisc.c:697
UINT64 EFIAPI AsmWriteMsr64(IN UINT32 Index, IN UINT64 Value)
Definition UserMisc.c:250
UINT64 EFIAPI AsmMsrAndThenOr64(IN UINT32 Index, IN UINT64 AndData, IN UINT64 OrData)
Definition UserMisc.c:260
UINT16 EFIAPI MmioOr16(IN UINTN Address, IN UINT16 OrData)
Definition UserMisc.c:584
UINTN EFIAPI AsmReadCr4(VOID)
Definition UserMisc.c:196
UINT16 EFIAPI MmioWrite16(IN UINTN Address, IN UINT16 Value)
Definition UserMisc.c:641
UINT32 EFIAPI IoRead32(IN UINTN Port)
Definition UserMisc.c:318
UINT32 EFIAPI IoWrite32(IN UINTN Port, IN UINT32 Value)
Definition UserMisc.c:329
UINT32 EFIAPI MmioAndThenOr32(IN UINTN Address, IN UINT32 AndData, IN UINT32 OrData)
Definition UserMisc.c:382
UINT32 EFIAPI MmioBitFieldAnd32(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 AndData)
Definition UserMisc.c:416
UINT32 EFIAPI MmioWrite32(IN UINTN Address, IN UINT32 Value)
Definition UserMisc.c:651
#define ASSERT(x)
Definition coder.h:55