RTEMS 6.1-rc5
Loading...
Searching...
No Matches
efiapi.h
1/* $FreeBSD$ */
2#ifndef _EFI_API_H
3#define _EFI_API_H
4
5/*++
6
7Copyright (c) 1999 - 2002 Intel Corporation. All rights reserved
8This software and associated documentation (if any) is furnished
9under a license and may only be used or copied in accordance
10with the terms of the license. Except as permitted by such
11license, no part of this software or documentation may be
12reproduced, stored in a retrieval system, or transmitted in any
13form or by any means without the express written consent of
14Intel Corporation.
15
16Module Name:
17
18 efiapi.h
19
20Abstract:
21
22 Global EFI runtime & boot service interfaces
23
24
25
26
27Revision History
28
29--*/
30
31//
32// EFI Specification Revision
33//
34
35#define EFI_SPECIFICATION_MAJOR_REVISION 1
36#define EFI_SPECIFICATION_MINOR_REVISION 10
37
38//
39// Declare forward referenced data structures
40//
41
42INTERFACE_DECL(_EFI_SYSTEM_TABLE);
43
44//
45// EFI Memory
46//
47
48typedef
49EFI_STATUS
50(EFIAPI *EFI_ALLOCATE_PAGES) (
51 IN EFI_ALLOCATE_TYPE Type,
52 IN EFI_MEMORY_TYPE MemoryType,
53 IN UINTN NoPages,
54 OUT EFI_PHYSICAL_ADDRESS *Memory
55 );
56
57typedef
58EFI_STATUS
59(EFIAPI *EFI_FREE_PAGES) (
60 IN EFI_PHYSICAL_ADDRESS Memory,
61 IN UINTN NoPages
62 );
63
64typedef
65EFI_STATUS
66(EFIAPI *EFI_GET_MEMORY_MAP) (
67 IN OUT UINTN *MemoryMapSize,
68 IN OUT EFI_MEMORY_DESCRIPTOR *MemoryMap,
69 OUT UINTN *MapKey,
70 OUT UINTN *DescriptorSize,
71 OUT UINT32 *DescriptorVersion
72 );
73
74#define NextMemoryDescriptor(Ptr,Size) ((EFI_MEMORY_DESCRIPTOR *) (((UINT8 *) Ptr) + Size))
75
76
77typedef
78EFI_STATUS
79(EFIAPI *EFI_ALLOCATE_POOL) (
80 IN EFI_MEMORY_TYPE PoolType,
81 IN UINTN Size,
82 OUT VOID **Buffer
83 );
84
85typedef
86EFI_STATUS
87(EFIAPI *EFI_FREE_POOL) (
88 IN VOID *Buffer
89 );
90
91typedef
92EFI_STATUS
93(EFIAPI *EFI_SET_VIRTUAL_ADDRESS_MAP) (
94 IN UINTN MemoryMapSize,
95 IN UINTN DescriptorSize,
96 IN UINT32 DescriptorVersion,
97 IN EFI_MEMORY_DESCRIPTOR *VirtualMap
98 );
99
100
101#define EFI_OPTIONAL_PTR 0x00000001
102#define EFI_INTERNAL_FNC 0x00000002 // Pointer to internal runtime fnc
103#define EFI_INTERNAL_PTR 0x00000004 // Pointer to internal runtime data
104
105
106typedef
107EFI_STATUS
108(EFIAPI *EFI_CONVERT_POINTER) (
109 IN UINTN DebugDisposition,
110 IN OUT VOID **Address
111 );
112
113
114//
115// EFI Events
116//
117
118
119
120#define EVT_TIMER 0x80000000
121#define EVT_RUNTIME 0x40000000
122#define EVT_RUNTIME_CONTEXT 0x20000000
123
124#define EVT_NOTIFY_WAIT 0x00000100
125#define EVT_NOTIFY_SIGNAL 0x00000200
126
127#define EVT_SIGNAL_EXIT_BOOT_SERVICES 0x00000201
128#define EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE 0x60000202
129
130#define EVT_EFI_SIGNAL_MASK 0x000000FF
131#define EVT_EFI_SIGNAL_MAX 2
132
133typedef
134VOID
135(EFIAPI *EFI_EVENT_NOTIFY) (
136 IN EFI_EVENT Event,
137 IN VOID *Context
138 );
139
140typedef
141EFI_STATUS
142(EFIAPI *EFI_CREATE_EVENT) (
143 IN UINT32 Type,
144 IN EFI_TPL NotifyTpl,
145 IN EFI_EVENT_NOTIFY NotifyFunction,
146 IN VOID *NotifyContext,
147 OUT EFI_EVENT *Event
148 );
149
150typedef enum {
151 TimerCancel,
152 TimerPeriodic,
153 TimerRelative,
154 TimerTypeMax
155} EFI_TIMER_DELAY;
156
157typedef
158EFI_STATUS
159(EFIAPI *EFI_SET_TIMER) (
160 IN EFI_EVENT Event,
161 IN EFI_TIMER_DELAY Type,
162 IN UINT64 TriggerTime
163 );
164
165typedef
166EFI_STATUS
167(EFIAPI *EFI_SIGNAL_EVENT) (
168 IN EFI_EVENT Event
169 );
170
171typedef
172EFI_STATUS
173(EFIAPI *EFI_WAIT_FOR_EVENT) (
174 IN UINTN NumberOfEvents,
175 IN EFI_EVENT *Event,
176 OUT UINTN *Index
177 );
178
179typedef
180EFI_STATUS
181(EFIAPI *EFI_CLOSE_EVENT) (
182 IN EFI_EVENT Event
183 );
184
185typedef
186EFI_STATUS
187(EFIAPI *EFI_CHECK_EVENT) (
188 IN EFI_EVENT Event
189 );
190
191//
192// Task priority level
193//
194
195#define TPL_APPLICATION 4
196#define TPL_CALLBACK 8
197#define TPL_NOTIFY 16
198#define TPL_HIGH_LEVEL 31
199
200typedef
201EFI_TPL
202(EFIAPI *EFI_RAISE_TPL) (
203 IN EFI_TPL NewTpl
204 );
205
206typedef
207VOID
208(EFIAPI *EFI_RESTORE_TPL) (
209 IN EFI_TPL OldTpl
210 );
211
212
213//
214// EFI platform varibles
215//
216
217#define EFI_GLOBAL_VARIABLE \
218 { 0x8BE4DF61, 0x93CA, 0x11d2, {0xAA, 0x0D, 0x00, 0xE0, 0x98, 0x03, 0x2B, 0x8C} }
219
220// Variable attributes
221#define EFI_VARIABLE_NON_VOLATILE 0x00000001
222#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002
223#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004
224#define EFI_VARIABLE_HARDWARE_ERROR_RECORD 0x00000008
225#define EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS 0x00000010
226#define EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS 0x00000020
227#define EFI_VARIABLE_APPEND_WRITE 0x00000040
228
229// Variable size limitation
230#define EFI_MAXIMUM_VARIABLE_SIZE 1024
231
232typedef
233EFI_STATUS
234(EFIAPI *EFI_GET_VARIABLE) (
235 IN CHAR16 *VariableName,
236 IN EFI_GUID *VendorGuid,
237 OUT UINT32 *Attributes OPTIONAL,
238 IN OUT UINTN *DataSize,
239 OUT VOID *Data
240 );
241
242typedef
243EFI_STATUS
244(EFIAPI *EFI_GET_NEXT_VARIABLE_NAME) (
245 IN OUT UINTN *VariableNameSize,
246 IN OUT CHAR16 *VariableName,
247 IN OUT EFI_GUID *VendorGuid
248 );
249
250
251typedef
252EFI_STATUS
253(EFIAPI *EFI_SET_VARIABLE) (
254 IN const CHAR16 *VariableName,
255 IN EFI_GUID *VendorGuid,
256 IN UINT32 Attributes,
257 IN UINTN DataSize,
258 IN VOID *Data
259 );
260
261
262//
263// EFI Time
264//
265
266typedef struct {
267 UINT32 Resolution; // 1e-6 parts per million
268 UINT32 Accuracy; // hertz
269 BOOLEAN SetsToZero; // Set clears sub-second time
271
272
273typedef
274EFI_STATUS
275(EFIAPI *EFI_GET_TIME) (
276 OUT EFI_TIME *Time,
277 OUT EFI_TIME_CAPABILITIES *Capabilities OPTIONAL
278 );
279
280typedef
281EFI_STATUS
282(EFIAPI *EFI_SET_TIME) (
283 IN EFI_TIME *Time
284 );
285
286typedef
287EFI_STATUS
288(EFIAPI *EFI_GET_WAKEUP_TIME) (
289 OUT BOOLEAN *Enabled,
290 OUT BOOLEAN *Pending,
291 OUT EFI_TIME *Time
292 );
293
294typedef
295EFI_STATUS
296(EFIAPI *EFI_SET_WAKEUP_TIME) (
297 IN BOOLEAN Enable,
298 IN EFI_TIME *Time OPTIONAL
299 );
300
301
302//
303// Image functions
304//
305
306
307// PE32+ Subsystem type for EFI images
308
309#if !defined(IMAGE_SUBSYSTEM_EFI_APPLICATION)
310#define IMAGE_SUBSYSTEM_EFI_APPLICATION 10
311#define IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER 11
312#define IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER 12
313#endif
314
315// PE32+ Machine type for EFI images
316
317#if !defined(EFI_IMAGE_MACHINE_IA32)
318#define EFI_IMAGE_MACHINE_IA32 0x014c
319#endif
320
321#if !defined(EFI_IMAGE_MACHINE_EBC)
322#define EFI_IMAGE_MACHINE_EBC 0x0EBC
323#endif
324
325// Image Entry prototype
326
327typedef
328EFI_STATUS
329(EFIAPI *EFI_IMAGE_ENTRY_POINT) (
330 IN EFI_HANDLE ImageHandle,
331 IN struct _EFI_SYSTEM_TABLE *SystemTable
332 );
333
334typedef
335EFI_STATUS
336(EFIAPI *EFI_IMAGE_LOAD) (
337 IN BOOLEAN BootPolicy,
338 IN EFI_HANDLE ParentImageHandle,
339 IN EFI_DEVICE_PATH *FilePath,
340 IN VOID *SourceBuffer OPTIONAL,
341 IN UINTN SourceSize,
342 OUT EFI_HANDLE *ImageHandle
343 );
344
345typedef
346EFI_STATUS
347(EFIAPI *EFI_IMAGE_START) (
348 IN EFI_HANDLE ImageHandle,
349 OUT UINTN *ExitDataSize,
350 OUT CHAR16 **ExitData OPTIONAL
351 );
352
353typedef
354EFI_STATUS
355(EFIAPI *EFI_EXIT) (
356 IN EFI_HANDLE ImageHandle,
357 IN EFI_STATUS ExitStatus,
358 IN UINTN ExitDataSize,
359 IN CHAR16 *ExitData OPTIONAL
360 )
361#ifndef __rtems__
362 __dead2
363#endif
364 ;
365
366typedef
367EFI_STATUS
368(EFIAPI *EFI_IMAGE_UNLOAD) (
369 IN EFI_HANDLE ImageHandle
370 );
371
372
373// Image handle
374#define LOADED_IMAGE_PROTOCOL \
375 { 0x5B1B31A1, 0x9562, 0x11d2, {0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B} }
376
377#define EFI_LOADED_IMAGE_INFORMATION_REVISION 0x1000
378typedef struct {
379 UINT32 Revision;
380 EFI_HANDLE ParentHandle;
381 struct _EFI_SYSTEM_TABLE *SystemTable;
382
383 // Source location of image
384 EFI_HANDLE DeviceHandle;
385 EFI_DEVICE_PATH *FilePath;
386 VOID *Reserved;
387
388 // Images load options
389 UINT32 LoadOptionsSize;
390 VOID *LoadOptions;
391
392 // Location of where image was loaded
393 VOID *ImageBase;
394 UINT64 ImageSize;
395 EFI_MEMORY_TYPE ImageCodeType;
396 EFI_MEMORY_TYPE ImageDataType;
397
398 // If the driver image supports a dynamic unload request
399 EFI_IMAGE_UNLOAD Unload;
400
402
403
404typedef
405EFI_STATUS
406(EFIAPI *EFI_EXIT_BOOT_SERVICES) (
407 IN EFI_HANDLE ImageHandle,
408 IN UINTN MapKey
409 );
410
411//
412// Misc
413//
414
415
416typedef
417EFI_STATUS
418(EFIAPI *EFI_STALL) (
419 IN UINTN Microseconds
420 );
421
422typedef
423EFI_STATUS
424(EFIAPI *EFI_SET_WATCHDOG_TIMER) (
425 IN UINTN Timeout,
426 IN UINT64 WatchdogCode,
427 IN UINTN DataSize,
428 IN CHAR16 *WatchdogData OPTIONAL
429 );
430
431
432typedef enum {
433 EfiResetCold,
434 EfiResetWarm,
435 EfiResetShutdown
436} EFI_RESET_TYPE;
437
438typedef
439VOID
440(EFIAPI *EFI_RESET_SYSTEM) (
441 IN EFI_RESET_TYPE ResetType,
442 IN EFI_STATUS ResetStatus,
443 IN UINTN DataSize,
444 IN CHAR16 *ResetData OPTIONAL
445 )
446#ifndef __rtems__
447 __dead2
448#endif
449 ;
450
451typedef
452EFI_STATUS
453(EFIAPI *EFI_GET_NEXT_MONOTONIC_COUNT) (
454 OUT UINT64 *Count
455 );
456
457typedef
458EFI_STATUS
459(EFIAPI *EFI_GET_NEXT_HIGH_MONO_COUNT) (
460 OUT UINT32 *HighCount
461 );
462
463//
464// Protocol handler functions
465//
466
467typedef enum {
468 EFI_NATIVE_INTERFACE
469} EFI_INTERFACE_TYPE;
470
471typedef
472EFI_STATUS
473(EFIAPI *EFI_INSTALL_PROTOCOL_INTERFACE) (
474 IN OUT EFI_HANDLE *Handle,
475 IN EFI_GUID *Protocol,
476 IN EFI_INTERFACE_TYPE InterfaceType,
477 IN VOID *Interface
478 );
479
480typedef
481EFI_STATUS
482(EFIAPI *EFI_REINSTALL_PROTOCOL_INTERFACE) (
483 IN EFI_HANDLE Handle,
484 IN EFI_GUID *Protocol,
485 IN VOID *OldInterface,
486 IN VOID *NewInterface
487 );
488
489typedef
490EFI_STATUS
491(EFIAPI *EFI_UNINSTALL_PROTOCOL_INTERFACE) (
492 IN EFI_HANDLE Handle,
493 IN EFI_GUID *Protocol,
494 IN VOID *Interface
495 );
496
497typedef
498EFI_STATUS
499(EFIAPI *EFI_HANDLE_PROTOCOL) (
500 IN EFI_HANDLE Handle,
501 IN EFI_GUID *Protocol,
502 OUT VOID **Interface
503 );
504
505typedef
506EFI_STATUS
507(EFIAPI *EFI_REGISTER_PROTOCOL_NOTIFY) (
508 IN EFI_GUID *Protocol,
509 IN EFI_EVENT Event,
510 OUT VOID **Registration
511 );
512
513typedef enum {
514 AllHandles,
515 ByRegisterNotify,
516 ByProtocol
517} EFI_LOCATE_SEARCH_TYPE;
518
519typedef
520EFI_STATUS
521(EFIAPI *EFI_LOCATE_HANDLE) (
522 IN EFI_LOCATE_SEARCH_TYPE SearchType,
523 IN EFI_GUID *Protocol OPTIONAL,
524 IN VOID *SearchKey OPTIONAL,
525 IN OUT UINTN *BufferSize,
526 OUT EFI_HANDLE *Buffer
527 );
528
529typedef
530EFI_STATUS
531(EFIAPI *EFI_LOCATE_DEVICE_PATH) (
532 IN EFI_GUID *Protocol,
533 IN OUT EFI_DEVICE_PATH **DevicePath,
534 OUT EFI_HANDLE *Device
535 );
536
537typedef
538EFI_STATUS
539(EFIAPI *EFI_INSTALL_CONFIGURATION_TABLE) (
540 IN EFI_GUID *Guid,
541 IN VOID *Table
542 );
543
544typedef
545EFI_STATUS
546(EFIAPI *EFI_RESERVED_SERVICE) (
547 VOID
548 );
549
550typedef
551EFI_STATUS
552(EFIAPI *EFI_CONNECT_CONTROLLER) (
553 IN EFI_HANDLE ControllerHandle,
554 IN EFI_HANDLE *DriverImageHandle OPTIONAL,
555 IN EFI_DEVICE_PATH *RemainingDevicePath OPTIONAL,
556 IN BOOLEAN Recursive
557 );
558
559typedef
560EFI_STATUS
561(EFIAPI *EFI_DISCONNECT_CONTROLLER)(
562 IN EFI_HANDLE ControllerHandle,
563 IN EFI_HANDLE DriverImageHandle, OPTIONAL
564 IN EFI_HANDLE ChildHandle OPTIONAL
565 );
566
567#define EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL 0x00000001
568#define EFI_OPEN_PROTOCOL_GET_PROTOCOL 0x00000002
569#define EFI_OPEN_PROTOCOL_TEST_PROTOCOL 0x00000004
570#define EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER 0x00000008
571#define EFI_OPEN_PROTOCOL_BY_DRIVER 0x00000010
572#define EFI_OPEN_PROTOCOL_EXCLUSIVE 0x00000020
573
574typedef
575EFI_STATUS
576(EFIAPI *EFI_OPEN_PROTOCOL) (
577 IN EFI_HANDLE Handle,
578 IN EFI_GUID *Protocol,
579 OUT VOID **Interface,
580 IN EFI_HANDLE ImageHandle,
581 IN EFI_HANDLE ControllerHandle, OPTIONAL
582 IN UINT32 Attributes
583 );
584
585typedef
586EFI_STATUS
587(EFIAPI *EFI_CLOSE_PROTOCOL) (
588 IN EFI_HANDLE Handle,
589 IN EFI_GUID *Protocol,
590 IN EFI_HANDLE ImageHandle,
591 IN EFI_HANDLE DeviceHandle
592 );
593
594typedef struct {
595 EFI_HANDLE AgentHandle;
596 EFI_HANDLE ControllerHandle;
597 UINT32 Attributes;
598 UINT32 OpenCount;
600
601typedef
602EFI_STATUS
603(EFIAPI *EFI_OPEN_PROTOCOL_INFORMATION) (
604 IN EFI_HANDLE UserHandle,
605 IN EFI_GUID *Protocol,
607 OUT UINTN *EntryCount
608 );
609
610typedef
611EFI_STATUS
612(EFIAPI *EFI_PROTOCOLS_PER_HANDLE) (
613 IN EFI_HANDLE UserHandle,
614 OUT EFI_GUID ***ProtocolBuffer,
615 OUT UINTN *ProtocolBufferCount
616 );
617
618typedef
619EFI_STATUS
620(EFIAPI *EFI_LOCATE_HANDLE_BUFFER) (
621 IN EFI_LOCATE_SEARCH_TYPE SearchType,
622 IN EFI_GUID *Protocol OPTIONAL,
623 IN VOID *SearchKey OPTIONAL,
624 IN OUT UINTN *NumberHandles,
625 OUT EFI_HANDLE **Buffer
626 );
627
628typedef
629EFI_STATUS
630(EFIAPI *EFI_LOCATE_PROTOCOL) (
631 EFI_GUID *Protocol,
632 VOID *Registration, OPTIONAL
633 VOID **Interface
634 );
635
636typedef
637EFI_STATUS
638(EFIAPI *EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES) (
639 IN OUT EFI_HANDLE *Handle,
640 ...
641 );
642
643typedef
644EFI_STATUS
645(EFIAPI *EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES) (
646 IN EFI_HANDLE Handle,
647 ...
648 );
649
650typedef
651EFI_STATUS
652(EFIAPI *EFI_CALCULATE_CRC32) (
653 IN VOID *Data,
654 IN UINTN DataSize,
655 OUT UINT32 *Crc32
656 );
657
658typedef
659VOID
660(EFIAPI *EFI_COPY_MEM) (
661 IN VOID *Destination,
662 IN VOID *Source,
663 IN UINTN Length
664 );
665
666typedef
667VOID
668(EFIAPI *EFI_SET_MEM) (
669 IN VOID *Buffer,
670 IN UINTN Size,
671 IN UINT8 Value
672 );
673
674//
675// Standard EFI table header
676//
677
678typedef struct _EFI_TABLE_HEARDER {
679 UINT64 Signature;
680 UINT32 Revision;
681 UINT32 HeaderSize;
682 UINT32 CRC32;
683 UINT32 Reserved;
685
686
687//
688// EFI Runtime Serivces Table
689//
690
691#define EFI_RUNTIME_SERVICES_SIGNATURE 0x56524553544e5552
692#define EFI_RUNTIME_SERVICES_REVISION ((EFI_SPECIFICATION_MAJOR_REVISION<<16) | (EFI_SPECIFICATION_MINOR_REVISION))
693
694typedef struct {
696
697 //
698 // Time services
699 //
700
701 EFI_GET_TIME GetTime;
702 EFI_SET_TIME SetTime;
703 EFI_GET_WAKEUP_TIME GetWakeupTime;
704 EFI_SET_WAKEUP_TIME SetWakeupTime;
705
706 //
707 // Virtual memory services
708 //
709
710 EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap;
711 EFI_CONVERT_POINTER ConvertPointer;
712
713 //
714 // Variable serviers
715 //
716
717 EFI_GET_VARIABLE GetVariable;
718 EFI_GET_NEXT_VARIABLE_NAME GetNextVariableName;
719 EFI_SET_VARIABLE SetVariable;
720
721 //
722 // Misc
723 //
724
725 EFI_GET_NEXT_HIGH_MONO_COUNT GetNextHighMonotonicCount;
726 EFI_RESET_SYSTEM ResetSystem;
727
729
730
731//
732// EFI Boot Services Table
733//
734
735#define EFI_BOOT_SERVICES_SIGNATURE 0x56524553544f4f42
736#define EFI_BOOT_SERVICES_REVISION ((EFI_SPECIFICATION_MAJOR_REVISION<<16) | (EFI_SPECIFICATION_MINOR_REVISION))
737
738typedef struct {
739
741
742 //
743 // Task priority functions
744 //
745
746 EFI_RAISE_TPL RaiseTPL;
747 EFI_RESTORE_TPL RestoreTPL;
748
749 //
750 // Memory functions
751 //
752
753 EFI_ALLOCATE_PAGES AllocatePages;
754 EFI_FREE_PAGES FreePages;
755 EFI_GET_MEMORY_MAP GetMemoryMap;
756 EFI_ALLOCATE_POOL AllocatePool;
757 EFI_FREE_POOL FreePool;
758
759 //
760 // Event & timer functions
761 //
762
763 EFI_CREATE_EVENT CreateEvent;
764 EFI_SET_TIMER SetTimer;
765 EFI_WAIT_FOR_EVENT WaitForEvent;
766 EFI_SIGNAL_EVENT SignalEvent;
767 EFI_CLOSE_EVENT CloseEvent;
768 EFI_CHECK_EVENT CheckEvent;
769
770 //
771 // Protocol handler functions
772 //
773
774 EFI_INSTALL_PROTOCOL_INTERFACE InstallProtocolInterface;
775 EFI_REINSTALL_PROTOCOL_INTERFACE ReinstallProtocolInterface;
776 EFI_UNINSTALL_PROTOCOL_INTERFACE UninstallProtocolInterface;
777 EFI_HANDLE_PROTOCOL HandleProtocol;
778 VOID *Reserved;
779 EFI_REGISTER_PROTOCOL_NOTIFY RegisterProtocolNotify;
780 EFI_LOCATE_HANDLE LocateHandle;
781 EFI_LOCATE_DEVICE_PATH LocateDevicePath;
782 EFI_INSTALL_CONFIGURATION_TABLE InstallConfigurationTable;
783
784 //
785 // Image functions
786 //
787
788 EFI_IMAGE_LOAD LoadImage;
789 EFI_IMAGE_START StartImage;
790 EFI_EXIT Exit;
791 EFI_IMAGE_UNLOAD UnloadImage;
792 EFI_EXIT_BOOT_SERVICES ExitBootServices;
793
794 //
795 // Misc functions
796 //
797
798 EFI_GET_NEXT_MONOTONIC_COUNT GetNextMonotonicCount;
799 EFI_STALL Stall;
800 EFI_SET_WATCHDOG_TIMER SetWatchdogTimer;
801
802 //
803 // DriverSupport Services
804 //
805 EFI_CONNECT_CONTROLLER ConnectController;
806 EFI_DISCONNECT_CONTROLLER DisconnectController;
807
808 //
809 // Open and Close Protocol Services
810 //
811 EFI_OPEN_PROTOCOL OpenProtocol;
812 EFI_CLOSE_PROTOCOL CloseProtocol;
813 EFI_OPEN_PROTOCOL_INFORMATION OpenProtocolInformation;
814
815 //
816 // Library Services to reduce size of drivers
817 //
818 EFI_PROTOCOLS_PER_HANDLE ProtocolsPerHandle;
819 EFI_LOCATE_HANDLE_BUFFER LocateHandleBuffer;
820 EFI_LOCATE_PROTOCOL LocateProtocol;
821
822 EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES InstallMultipleProtocolInterfaces;
823 EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES UninstallMultipleProtocolInterfaces;
824
825 //
826 // CRC32 services
827 //
828 EFI_CALCULATE_CRC32 CalculateCrc32;
829
830 //
831 // Memory Utility Services
832 //
833 EFI_COPY_MEM CopyMem;
834 EFI_SET_MEM SetMem;
835
837
838
839//
840// EFI Configuration Table and GUID definitions
841//
842
843#define MPS_TABLE_GUID \
844 { 0xeb9d2d2f, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
845
846#define ACPI_TABLE_GUID \
847 { 0xeb9d2d30, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
848
849#define ACPI_20_TABLE_GUID \
850 { 0x8868e871, 0xe4f1, 0x11d3, {0xbc, 0x22, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} }
851
852#define SMBIOS_TABLE_GUID \
853 { 0xeb9d2d31, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
854
855#define SMBIOS3_TABLE_GUID \
856 { 0xf2fd1544, 0x9794, 0x4a2c, {0x99, 0x2e, 0xe5, 0xbb, 0xcf, 0x20, 0xe3, 0x94} }
857
858#define SAL_SYSTEM_TABLE_GUID \
859 { 0xeb9d2d32, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
860
861#define FDT_TABLE_GUID \
862 { 0xb1b621d5, 0xf19c, 0x41a5, {0x83, 0x0b, 0xd9, 0x15, 0x2c, 0x69, 0xaa, 0xe0} }
863
864#define DXE_SERVICES_TABLE_GUID \
865 { 0x5ad34ba, 0x6f02, 0x4214, {0x95, 0x2e, 0x4d, 0xa0, 0x39, 0x8e, 0x2b, 0xb9} }
866
867#define HOB_LIST_TABLE_GUID \
868 { 0x7739f24c, 0x93d7, 0x11d4, {0x9a, 0x3a, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
869
870#define LZMA_DECOMPRESSION_GUID \
871 { 0xee4e5898, 0x3914, 0x4259, {0x9d, 0x6e, 0xdc, 0x7b, 0xd7, 0x94, 0x3, 0xcf} }
872
873#define ARM_MP_CORE_INFO_TABLE_GUID \
874 { 0xa4ee0728, 0xe5d7, 0x4ac5, {0xb2, 0x1e, 0x65, 0x8e, 0xd8, 0x57, 0xe8, 0x34} }
875
876#define ESRT_TABLE_GUID \
877 { 0xb122a263, 0x3661, 0x4f68, {0x99, 0x29, 0x78, 0xf8, 0xb0, 0xd6, 0x21, 0x80} }
878
879#define MEMORY_TYPE_INFORMATION_TABLE_GUID \
880 { 0x4c19049f, 0x4137, 0x4dd3, {0x9c, 0x10, 0x8b, 0x97, 0xa8, 0x3f, 0xfd, 0xfa} }
881
882#define DEBUG_IMAGE_INFO_TABLE_GUID \
883 { 0x49152e77, 0x1ada, 0x4764, {0xb7, 0xa2, 0x7a, 0xfe, 0xfe, 0xd9, 0x5e, 0x8b} }
884
886 EFI_GUID VendorGuid;
887 VOID *VendorTable;
889
890
891//
892// EFI System Table
893//
894
895
896
897
898#define EFI_SYSTEM_TABLE_SIGNATURE 0x5453595320494249
899#define EFI_SYSTEM_TABLE_REVISION ((EFI_SPECIFICATION_MAJOR_REVISION<<16) | (EFI_SPECIFICATION_MINOR_REVISION))
900#define EFI_1_10_SYSTEM_TABLE_REVISION ((1<<16) | 10)
901#define EFI_1_02_SYSTEM_TABLE_REVISION ((1<<16) | 02)
902
903typedef struct _EFI_SYSTEM_TABLE {
905
906 CHAR16 *FirmwareVendor;
907 UINT32 FirmwareRevision;
908
909 EFI_HANDLE ConsoleInHandle;
911
912 EFI_HANDLE ConsoleOutHandle;
914
915 EFI_HANDLE StandardErrorHandle;
917
918 EFI_RUNTIME_SERVICES *RuntimeServices;
919 EFI_BOOT_SERVICES *BootServices;
920
921 UINTN NumberOfTableEntries;
922 EFI_CONFIGURATION_TABLE *ConfigurationTable;
923
925
926/*
927 * unlisted GUID's..
928 */
929#define EFI_EBC_INTERPRETER_PROTOCOL_GUID \
930{ 0x13AC6DD1, 0x73D0, 0x11D4, {0xB0, 0x6B, 0x00, 0xAA, 0x00, 0xBD, 0x6D, 0xE7} }
931
932#define EFI_DRIVER_CONFIGURATION2_PROTOCOL_GUID \
933{ 0xbfd7dc1d, 0x24f1, 0x40d9, {0x82, 0xe7, 0x2e, 0x09, 0xbb, 0x6b, 0x4e, 0xbe} }
934
935#define EFI_DRIVER_CONFIGURATION_PROTOCOL_GUID \
936{ 0x107a772b, 0xd5e1, 0x11d4, {0x9a, 0x46, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
937
938#define EFI_DRIVER_BINDING_PROTOCOL_GUID \
939 { 0x18A031AB, 0xB443, 0x4D1A, \
940 { 0xA5, 0xC0, 0x0C, 0x09, 0x26, 0x1E, 0x9F, 0x71 } \
941 }
942
943#define EFI_TAPE_IO_PROTOCOL_GUID \
944 { 0x1e93e633, 0xd65a, 0x459e, \
945 { 0xab, 0x84, 0x93, 0xd9, 0xec, 0x26, 0x6d, 0x18 } \
946 }
947
948#define EFI_SCSI_IO_PROTOCOL_GUID \
949 { 0x932f47e6, 0x2362, 0x4002, \
950 { 0x80, 0x3e, 0x3c, 0xd5, 0x4b, 0x13, 0x8f, 0x85 } \
951 }
952
953#define EFI_USB2_HC_PROTOCOL_GUID \
954 { 0x3e745226, 0x9818, 0x45b6, \
955 { 0xa2, 0xac, 0xd7, 0xcd, 0x0e, 0x8b, 0xa2, 0xbc } \
956 }
957
958#define EFI_DEBUG_SUPPORT_PROTOCOL_GUID \
959 { 0x2755590C, 0x6F3C, 0x42FA, \
960 { 0x9E, 0xA4, 0xA3, 0xBA, 0x54, 0x3C, 0xDA, 0x25 } \
961 }
962
963#define EFI_DEBUGPORT_PROTOCOL_GUID \
964 { 0xEBA4E8D2, 0x3858, 0x41EC, \
965 { 0xA2, 0x81, 0x26, 0x47, 0xBA, 0x96, 0x60, 0xD0 } \
966 }
967
968#define EFI_DECOMPRESS_PROTOCOL_GUID \
969 { 0xd8117cfe, 0x94a6, 0x11d4, \
970 { 0x9a, 0x3a, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \
971 }
972
973#define EFI_ACPI_TABLE_PROTOCOL_GUID \
974 { 0xffe06bdd, 0x6107, 0x46a6, \
975 { 0x7b, 0xb2, 0x5a, 0x9c, 0x7e, 0xc5, 0x27, 0x5c} \
976 }
977
978#define EFI_HII_CONFIG_ROUTING_PROTOCOL_GUID \
979 { 0x587e72d7, 0xcc50, 0x4f79, \
980 { 0x82, 0x09, 0xca, 0x29, 0x1f, 0xc1, 0xa1, 0x0f } \
981 }
982
983#define EFI_HII_DATABASE_PROTOCOL_GUID \
984 { 0xef9fc172, 0xa1b2, 0x4693, \
985 { 0xb3, 0x27, 0x6d, 0x32, 0xfc, 0x41, 0x60, 0x42 } \
986 }
987
988#define EFI_HII_STRING_PROTOCOL_GUID \
989 { 0xfd96974, 0x23aa, 0x4cdc, \
990 { 0xb9, 0xcb, 0x98, 0xd1, 0x77, 0x50, 0x32, 0x2a } \
991 }
992
993#define EFI_HII_IMAGE_PROTOCOL_GUID \
994 { 0x31a6406a, 0x6bdf, 0x4e46, \
995 { 0xb2, 0xa2, 0xeb, 0xaa, 0x89, 0xc4, 0x9, 0x20 } \
996 }
997
998#define EFI_HII_FONT_PROTOCOL_GUID \
999 { 0xe9ca4775, 0x8657, 0x47fc, \
1000 { 0x97, 0xe7, 0x7e, 0xd6, 0x5a, 0x8, 0x43, 0x24 } \
1001 }
1002#define EFI_HII_CONFIGURATION_ACCESS_PROTOCOL_GUID \
1003 { 0x330d4706, 0xf2a0, 0x4e4f, \
1004 { 0xa3, 0x69, 0xb6, 0x6f, 0xa8, 0xd5, 0x43, 0x85 } \
1005 }
1006
1007#define EFI_COMPONENT_NAME_PROTOCOL_GUID \
1008{ 0x107a772c, 0xd5e1, 0x11d4, {0x9a, 0x46, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
1009
1010#define EFI_COMPONENT_NAME2_PROTOCOL_GUID \
1011 { 0x6a7a5cff, 0xe8d9, 0x4f70, \
1012 { 0xba, 0xda, 0x75, 0xab, 0x30, 0x25, 0xce, 0x14} \
1013 }
1014
1015#define EFI_USB_IO_PROTOCOL_GUID \
1016 { 0x2B2F68D6, 0x0CD2, 0x44cf, \
1017 { 0x8E, 0x8B, 0xBB, 0xA2, 0x0B, 0x1B, 0x5B, 0x75 } \
1018 }
1019#define EFI_HCDP_TABLE_GUID \
1020 { 0xf951938d, 0x620b, 0x42ef, \
1021 { 0x82, 0x79, 0xa8, 0x4b, 0x79, 0x61, 0x78, 0x98 } \
1022 }
1023
1024#define EFI_DEVICE_TREE_GUID \
1025 { 0xb1b621d5, 0xf19c, 0x41a5, \
1026 { 0x83, 0x0b, 0xd9, 0x15, 0x2c, 0x69, 0xaa, 0xe0 } \
1027 }
1028
1029#define EFI_VENDOR_APPLE_GUID \
1030 { 0x2B0585EB, 0xD8B8, 0x49A9, \
1031 { 0x8B, 0x8C, 0xE2, 0x1B, 0x01, 0xAE, 0xF2, 0xB7 } \
1032 }
1033
1034#define EFI_CONSOLE_IN_DEVICE_GUID \
1035{ 0xd3b36f2b, 0xd551, 0x11d4, {0x9a, 0x46, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
1036
1037#define EFI_CONSOLE_OUT_DEVICE_GUID \
1038{ 0xd3b36f2c, 0xd551, 0x11d4, {0x9a, 0x46, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
1039
1040#define EFI_STANDARD_ERROR_DEVICE_GUID \
1041{ 0xd3b36f2d, 0xd551, 0x11d4, {0x9a, 0x46, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
1042
1043#define EFI_UNICODE_COLLATION2_PROTOCOL_GUID \
1044{ 0xa4c751fc, 0x23ae, 0x4c3e, {0x92, 0xe9, 0x49, 0x64, 0xcf, 0x63, 0xf3, 0x49} }
1045
1046#define EFI_FORM_BROWSER2_PROTOCOL_GUID \
1047{ 0xb9d4c360, 0xbcfb, 0x4f9b, {0x92, 0x98, 0x53, 0xc1, 0x36, 0x98, 0x22, 0x58} }
1048
1049#define EFI_ARP_SERVICE_BINDING_PROTOCOL_GUID \
1050{ 0xf44c00ee, 0x1f2c, 0x4a00, {0xaa, 0x9, 0x1c, 0x9f, 0x3e, 0x8, 0x0, 0xa3} }
1051
1052#define EFI_ARP_PROTOCOL_GUID \
1053{ 0xf4b427bb, 0xba21, 0x4f16, {0xbc, 0x4e, 0x43, 0xe4, 0x16, 0xab, 0x61, 0x9c} }
1054
1055#define EFI_IP4_CONFIG_PROTOCOL_GUID \
1056{ 0x3b95aa31, 0x3793, 0x434b, {0x86, 0x67, 0xc8, 0x07, 0x08, 0x92, 0xe0, 0x5e} }
1057
1058#define EFI_IP6_CONFIG_PROTOCOL_GUID \
1059{ 0x937fe521, 0x95ae, 0x4d1a, {0x89, 0x29, 0x48, 0xbc, 0xd9, 0x0a, 0xd3, 0x1a} }
1060
1061#define EFI_MANAGED_NETWORK_SERVICE_BINDING_PROTOCOL_GUID \
1062{ 0xf36ff770, 0xa7e1, 0x42cf, {0x9e, 0xd2, 0x56, 0xf0, 0xf2, 0x71, 0xf4, 0x4c} }
1063
1064#define EFI_MANAGED_NETWORK_PROTOCOL_GUID \
1065{ 0x7ab33a91, 0xace5, 0x4326, {0xb5, 0x72, 0xe7, 0xee, 0x33, 0xd3, 0x9f, 0x16} }
1066
1067#define EFI_MTFTP4_SERVICE_BINDING_PROTOCOL_GUID \
1068{ 0x2FE800BE, 0x8F01, 0x4aa6, {0x94, 0x6B, 0xD7, 0x13, 0x88, 0xE1, 0x83, 0x3F} }
1069
1070#define EFI_MTFTP4_PROTOCOL_GUID \
1071{ 0x78247c57, 0x63db, 0x4708, {0x99, 0xc2, 0xa8, 0xb4, 0xa9, 0xa6, 0x1f, 0x6b} }
1072
1073#define EFI_MTFTP6_SERVICE_BINDING_PROTOCOL_GUID \
1074{ 0xd9760ff3, 0x3cca, 0x4267, {0x80, 0xf9, 0x75, 0x27, 0xfa, 0xfa, 0x42, 0x23} }
1075
1076#define EFI_MTFTP6_PROTOCOL_GUID \
1077{ 0xbf0a78ba, 0xec29, 0x49cf, {0xa1, 0xc9, 0x7a, 0xe5, 0x4e, 0xab, 0x6a, 0x51} }
1078
1079#define EFI_DHCP4_PROTOCOL_GUID \
1080{ 0x8a219718, 0x4ef5, 0x4761, {0x91, 0xc8, 0xc0, 0xf0, 0x4b, 0xda, 0x9e, 0x56} }
1081
1082#define EFI_DHCP4_SERVICE_BINDING_PROTOCOL_GUID \
1083{ 0x9d9a39d8, 0xbd42, 0x4a73, {0xa4, 0xd5, 0x8e, 0xe9, 0x4b, 0xe1, 0x13, 0x80} }
1084
1085#define EFI_DHCP6_SERVICE_BINDING_PROTOCOL_GUID \
1086{ 0x9fb9a8a1, 0x2f4a, 0x43a6, {0x88, 0x9c, 0xd0, 0xf7, 0xb6, 0xc4, 0x7a, 0xd5} }
1087
1088#define EFI_DHCP6_PROTOCOL_GUID \
1089{ 0x87c8bad7, 0x595, 0x4053, {0x82, 0x97, 0xde, 0xde, 0x39, 0x5f, 0x5d, 0x5b} }
1090
1091#define EFI_SCSI_PASS_THRU_PROTOCOL_GUID \
1092{ 0xa59e8fcf, 0xbda0, 0x43bb, {0x90, 0xb1, 0xd3, 0x73, 0x2e, 0xca, 0xa8, 0x77} }
1093
1094#define EFI_EXT_SCSI_PASS_THRU_PROTOCOL_GUID \
1095{ 0x143b7632, 0xb81b, 0x4cb7, {0xab, 0xd3, 0xb6, 0x25, 0xa5, 0xb9, 0xbf, 0xfe} }
1096
1097#define EFI_DISK_INFO_PROTOCOL_GUID \
1098{ 0xd432a67f, 0x14dc, 0x484b, {0xb3, 0xbb, 0x3f, 0x2, 0x91, 0x84, 0x93, 0x27} }
1099
1100#define EFI_ISA_IO_PROTOCOL_GUID \
1101{ 0x7ee2bd44, 0x3da0, 0x11d4, { 0x9a, 0x38, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
1102
1103#define EFI_VLAN_CONFIG_PROTOCOL_GUID \
1104{ 0x9e23d768, 0xd2f3, 0x4366, {0x9f, 0xc3, 0x3a, 0x7a, 0xba, 0x86, 0x43, 0x74} }
1105
1106#define EFI_IDE_CONTROLLER_INIT_PROTOCOL_GUID \
1107{ 0xa1e37052, 0x80d9, 0x4e65, {0xa3, 0x17, 0x3e, 0x9a, 0x55, 0xc4, 0x3e, 0xc9} }
1108
1109#define EFI_ISA_ACPI_PROTOCOL_GUID \
1110{ 0x64a892dc, 0x5561, 0x4536, {0x92, 0xc7, 0x79, 0x9b, 0xfc, 0x18, 0x33, 0x55} }
1111
1112#define EFI_PCI_ENUMERATION_COMPLETE_GUID \
1113{ 0x30cfe3e7, 0x3de1, 0x4586, {0xbe, 0x20, 0xde, 0xab, 0xa1, 0xb3, 0xb7, 0x93} }
1114
1115#define EFI_DRIVER_DIAGNOSTICS_PROTOCOL_GUID \
1116{ 0x0784924f, 0xe296, 0x11d4, {0x9a, 0x49, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } }
1117
1118#define EFI_DRIVER_DIAGNOSTICS2_PROTOCOL_GUID \
1119{ 0x4d330321, 0x025f, 0x4aac, {0x90, 0xd8, 0x5e, 0xd9, 0x00, 0x17, 0x3b, 0x63} }
1120
1121#define EFI_CAPSULE_ARCH_PROTOCOL_GUID \
1122{ 0x5053697e, 0x2cbc, 0x4819, {0x90, 0xd9, 0x05, 0x80, 0xde, 0xee, 0x57, 0x54} }
1123
1124#define EFI_MONOTONIC_COUNTER_ARCH_PROTOCOL_GUID \
1125{0x1da97072, 0xbddc, 0x4b30, {0x99, 0xf1, 0x72, 0xa0, 0xb5, 0x6f, 0xff, 0x2a} }
1126
1127#define EFI_REALTIME_CLOCK_ARCH_PROTOCOL_GUID \
1128{0x27cfac87, 0x46cc, 0x11d4, {0x9a, 0x38, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
1129
1130#define EFI_MP_SERVICES_PROTOCOL_GUID \
1131{ 0x3fdda605, 0xa76e, 0x4f46, {0xad, 0x29, 0x12, 0xf4, 0x53, 0x1b, 0x3d, 0x08} }
1132
1133#define EFI_VARIABLE_ARCH_PROTOCOL_GUID \
1134{ 0x1e5668e2, 0x8481, 0x11d4, {0xbc, 0xf1, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } }
1135
1136#define EFI_VARIABLE_WRITE_ARCH_PROTOCOL_GUID \
1137{ 0x6441f818, 0x6362, 0x4e44, {0xb5, 0x70, 0x7d, 0xba, 0x31, 0xdd, 0x24, 0x53} }
1138
1139#define EFI_WATCHDOG_TIMER_ARCH_PROTOCOL_GUID \
1140{ 0x6441f818, 0x6362, 0x4e44, {0xb5, 0x70, 0x7d, 0xba, 0x31, 0xdd, 0x24, 0x53} }
1141
1142#define EFI_ACPI_SUPPORT_PROTOCOL_GUID \
1143{ 0x6441f818, 0x6362, 0x4e44, {0xb5, 0x70, 0x7d, 0xba, 0x31, 0xdd, 0x24, 0x53} }
1144
1145#define EFI_BDS_ARCH_PROTOCOL_GUID \
1146{ 0x665e3ff6, 0x46cc, 0x11d4, {0x9a, 0x38, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
1147
1148#define EFI_METRONOME_ARCH_PROTOCOL_GUID \
1149{ 0x26baccb2, 0x6f42, 0x11d4, {0xbc, 0xe7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } }
1150
1151#define EFI_TIMER_ARCH_PROTOCOL_GUID \
1152{ 0x26baccb3, 0x6f42, 0x11d4, {0xbc, 0xe7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } }
1153
1154#define EFI_DPC_PROTOCOL_GUID \
1155{ 0x480f8ae9, 0xc46, 0x4aa9, { 0xbc, 0x89, 0xdb, 0x9f, 0xba, 0x61, 0x98, 0x6} }
1156
1157#define EFI_PRINT2_PROTOCOL_GUID \
1158{ 0xf05976ef, 0x83f1, 0x4f3d, {0x86, 0x19, 0xf7, 0x59, 0x5d, 0x41, 0xe5, 0x38} }
1159
1160#define EFI_RESET_ARCH_PROTOCOL_GUID \
1161{ 0x27cfac88, 0x46cc, 0x11d4, {0x9a, 0x38, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
1162
1163#define EFI_CPU_ARCH_PROTOCOL_GUID \
1164{ 0x26baccb1, 0x6f42, 0x11d4, {0xbc, 0xe7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } }
1165
1166#define EFI_CPU_IO2_PROTOCOL_GUID \
1167{ 0xad61f191, 0xae5f, 0x4c0e, {0xb9, 0xfa, 0xe8, 0x69, 0xd2, 0x88, 0xc6, 0x4f} }
1168
1169#define EFI_LEGACY_8259_PROTOCOL_GUID \
1170{ 0x38321dba, 0x4fe0, 0x4e17, {0x8a, 0xec, 0x41, 0x30, 0x55, 0xea, 0xed, 0xc1} }
1171
1172#define EFI_SECURITY_ARCH_PROTOCOL_GUID \
1173{ 0xa46423e3, 0x4617, 0x49f1, {0xb9, 0xff, 0xd1, 0xbf, 0xa9, 0x11, 0x58, 0x39} }
1174
1175#define EFI_SECURITY2_ARCH_PROTOCOL_GUID \
1176{ 0x94ab2f58, 0x1438, 0x4ef1, {0x91, 0x52, 0x18, 0x94, 0x1a, 0x3a, 0x0e, 0x68} }
1177
1178#define EFI_RUNTIME_ARCH_PROTOCOL_GUID \
1179{ 0xb7dfb4e1, 0x52f, 0x449f, {0x87, 0xbe, 0x98, 0x18, 0xfc, 0x91, 0xb7, 0x33} }
1180
1181#define EFI_STATUS_CODE_RUNTIME_PROTOCOL_GUID \
1182{ 0xd2b2b828, 0x826, 0x48a7, {0xb3, 0xdf, 0x98, 0x3c, 0x0, 0x60, 0x24, 0xf0} }
1183
1184#define EFI_DATA_HUB_PROTOCOL_GUID \
1185{ 0xae80d021, 0x618e, 0x11d4, {0xbc, 0xd7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} }
1186
1187#define PCD_PROTOCOL_GUID \
1188{ 0x11b34006, 0xd85b, 0x4d0a, { 0xa2, 0x90, 0xd5, 0xa5, 0x71, 0x31, 0xe, 0xf7} }
1189
1190#define EFI_PCD_PROTOCOL_GUID \
1191{ 0x13a3f0f6, 0x264a, 0x3ef0, {0xf2, 0xe0, 0xde, 0xc5, 0x12, 0x34, 0x2f, 0x34} }
1192
1193#define EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL_GUID \
1194{ 0x8f644fa9, 0xe850, 0x4db1, {0x9c, 0xe2, 0xb, 0x44, 0x69, 0x8e, 0x8d, 0xa4 } }
1195
1196#define EFI_FIRMWARE_VOLUME2_PROTOCOL_GUID \
1197{ 0x220e73b6, 0x6bdb, 0x4413, { 0x84, 0x5, 0xb9, 0x74, 0xb1, 0x8, 0x61, 0x9a } }
1198
1199#define EFI_FIRMWARE_VOLUME_DISPATCH_PROTOCOL_GUID \
1200{ 0x7aa35a69, 0x506c, 0x444f, {0xa7, 0xaf, 0x69, 0x4b, 0xf5, 0x6f, 0x71, 0xc8} }
1201
1202#define LZMA_COMPRESS_GUID \
1203{ 0xee4e5898, 0x3914, 0x4259, {0x9d, 0x6e, 0xdc, 0x7b, 0xd7, 0x94, 0x03, 0xcf} }
1204#endif
Definition: efiapi.h:738
Definition: efidef.h:74
Definition: efiapi.h:378
Definition: efidef.h:197
Definition: efiapi.h:594
Definition: efiapi.h:694
Definition: efiapi.h:266
Definition: efidef.h:86
Test context for spec:/rtems/barrier/req/create test case.
Definition: tc-barrier-create.c:144
Definition: efiapi.h:885
Definition: efidevp.h:36
Definition: efiapi.h:903
Definition: efiapi.h:678
Definition: eficon.h:331
Definition: eficon.h:144