xref: /netbsd-src/sys/external/bsd/gnu-efi/dist/lib/data.c (revision 1eb4b21779cd330f45cea12cb60eb09e852039cb)
1*1eb4b217Sjmcneill /*	$NetBSD: data.c,v 1.1.1.3 2021/09/30 18:50:09 jmcneill Exp $	*/
2b2c829d7Sjakllsch 
3b2c829d7Sjakllsch /*++
4b2c829d7Sjakllsch 
5b2c829d7Sjakllsch Copyright (c) 1998  Intel Corporation
6b2c829d7Sjakllsch 
7b2c829d7Sjakllsch Module Name:
8b2c829d7Sjakllsch 
9b2c829d7Sjakllsch     data.c
10b2c829d7Sjakllsch 
11b2c829d7Sjakllsch Abstract:
12b2c829d7Sjakllsch 
13b2c829d7Sjakllsch     EFI library global data
14b2c829d7Sjakllsch 
15b2c829d7Sjakllsch 
16b2c829d7Sjakllsch 
17b2c829d7Sjakllsch Revision History
18b2c829d7Sjakllsch 
19b2c829d7Sjakllsch --*/
20b2c829d7Sjakllsch 
21b2c829d7Sjakllsch #include "lib.h"
22b2c829d7Sjakllsch 
23b2c829d7Sjakllsch //
24b2c829d7Sjakllsch // LibInitialized - TRUE once InitializeLib() is called for the first time
25b2c829d7Sjakllsch //
26b2c829d7Sjakllsch 
27b2c829d7Sjakllsch BOOLEAN  LibInitialized = FALSE;
28b2c829d7Sjakllsch 
29b2c829d7Sjakllsch //
30d1b935f8Sjmcneill // ImageHandle - Current ImageHandle, as passed to InitializeLib
31d1b935f8Sjmcneill //
32d1b935f8Sjmcneill EFI_HANDLE LibImageHandle;
33d1b935f8Sjmcneill 
34d1b935f8Sjmcneill //
35b2c829d7Sjakllsch // ST - pointer to the EFI system table
36b2c829d7Sjakllsch //
37b2c829d7Sjakllsch 
38b2c829d7Sjakllsch EFI_SYSTEM_TABLE        *ST;
39b2c829d7Sjakllsch 
40b2c829d7Sjakllsch //
41b2c829d7Sjakllsch // BS - pointer to the boot services table
42b2c829d7Sjakllsch //
43b2c829d7Sjakllsch 
44b2c829d7Sjakllsch EFI_BOOT_SERVICES       *BS;
45b2c829d7Sjakllsch 
46b2c829d7Sjakllsch 
47b2c829d7Sjakllsch //
48b2c829d7Sjakllsch // Default pool allocation type
49b2c829d7Sjakllsch //
50b2c829d7Sjakllsch 
51b2c829d7Sjakllsch EFI_MEMORY_TYPE PoolAllocationType = EfiBootServicesData;
52b2c829d7Sjakllsch 
53b2c829d7Sjakllsch //
54b2c829d7Sjakllsch // Unicode collation functions that are in use
55b2c829d7Sjakllsch //
56b2c829d7Sjakllsch 
57b2c829d7Sjakllsch EFI_UNICODE_COLLATION_INTERFACE   LibStubUnicodeInterface = {
58b2c829d7Sjakllsch     LibStubStriCmp,
59b2c829d7Sjakllsch     LibStubMetaiMatch,
60b2c829d7Sjakllsch     LibStubStrLwrUpr,
61b2c829d7Sjakllsch     LibStubStrLwrUpr,
62b2c829d7Sjakllsch     NULL,   // FatToStr
63b2c829d7Sjakllsch     NULL,   // StrToFat
64b2c829d7Sjakllsch     NULL    // SupportedLanguages
65b2c829d7Sjakllsch };
66b2c829d7Sjakllsch 
67b2c829d7Sjakllsch EFI_UNICODE_COLLATION_INTERFACE   *UnicodeInterface = &LibStubUnicodeInterface;
68b2c829d7Sjakllsch 
69b2c829d7Sjakllsch //
70b2c829d7Sjakllsch // Root device path
71b2c829d7Sjakllsch //
72b2c829d7Sjakllsch 
73b2c829d7Sjakllsch EFI_DEVICE_PATH RootDevicePath[] = {
74b2c829d7Sjakllsch    {END_DEVICE_PATH_TYPE, END_ENTIRE_DEVICE_PATH_SUBTYPE, {END_DEVICE_PATH_LENGTH,0}}
75b2c829d7Sjakllsch };
76b2c829d7Sjakllsch 
77b2c829d7Sjakllsch EFI_DEVICE_PATH EndDevicePath[] = {
78b2c829d7Sjakllsch    {END_DEVICE_PATH_TYPE, END_ENTIRE_DEVICE_PATH_SUBTYPE, {END_DEVICE_PATH_LENGTH, 0}}
79b2c829d7Sjakllsch };
80b2c829d7Sjakllsch 
81b2c829d7Sjakllsch EFI_DEVICE_PATH EndInstanceDevicePath[] = {
82b2c829d7Sjakllsch    {END_DEVICE_PATH_TYPE, END_INSTANCE_DEVICE_PATH_SUBTYPE, {END_DEVICE_PATH_LENGTH, 0}}
83b2c829d7Sjakllsch };
84b2c829d7Sjakllsch 
85b2c829d7Sjakllsch 
86b2c829d7Sjakllsch //
87b2c829d7Sjakllsch // EFI IDs
88b2c829d7Sjakllsch //
89b2c829d7Sjakllsch 
90d1b935f8Sjmcneill EFI_GUID gEfiGlobalVariableGuid = EFI_GLOBAL_VARIABLE;
91b2c829d7Sjakllsch EFI_GUID NullGuid = { 0,0,0,{0,0,0,0,0,0,0,0} };
92b2c829d7Sjakllsch 
93b2c829d7Sjakllsch //
94b2c829d7Sjakllsch // Protocol IDs
95b2c829d7Sjakllsch //
96b2c829d7Sjakllsch 
97d1b935f8Sjmcneill EFI_GUID gEfiDevicePathProtocolGuid                 = EFI_DEVICE_PATH_PROTOCOL_GUID;
98d1b935f8Sjmcneill EFI_GUID gEfiDevicePathToTextProtocolGuid           = EFI_DEVICE_PATH_TO_TEXT_PROTOCOL_GUID;
99d1b935f8Sjmcneill EFI_GUID gEfiDevicePathFromTextProtocolGuid         = EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL_GUID;
100*1eb4b217Sjmcneill EFI_GUID gEfiDevicePathUtilitiesProtocolGuid        = EFI_DEVICE_PATH_UTILITIES_PROTOCOL_GUID;
101d1b935f8Sjmcneill EFI_GUID gEfiLoadedImageProtocolGuid                = EFI_LOADED_IMAGE_PROTOCOL_GUID;
102d1b935f8Sjmcneill EFI_GUID gEfiSimpleTextInProtocolGuid               = EFI_SIMPLE_TEXT_INPUT_PROTOCOL_GUID;
103d1b935f8Sjmcneill EFI_GUID gEfiSimpleTextOutProtocolGuid              = EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL_GUID;
104d1b935f8Sjmcneill EFI_GUID gEfiBlockIoProtocolGuid                    = EFI_BLOCK_IO_PROTOCOL_GUID;
105d1b935f8Sjmcneill EFI_GUID gEfiBlockIo2ProtocolGuid                   = EFI_BLOCK_IO2_PROTOCOL_GUID;
106d1b935f8Sjmcneill EFI_GUID gEfiDiskIoProtocolGuid                     = EFI_DISK_IO_PROTOCOL_GUID;
107d1b935f8Sjmcneill EFI_GUID gEfiDiskIo2ProtocolGuid                    = EFI_DISK_IO2_PROTOCOL_GUID;
108d1b935f8Sjmcneill EFI_GUID gEfiSimpleFileSystemProtocolGuid           = EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID;
109d1b935f8Sjmcneill EFI_GUID gEfiLoadFileProtocolGuid                   = EFI_LOAD_FILE_PROTOCOL_GUID;
110d1b935f8Sjmcneill EFI_GUID gEfiDeviceIoProtocolGuid                   = EFI_DEVICE_IO_PROTOCOL_GUID;
111d1b935f8Sjmcneill EFI_GUID gEfiUnicodeCollationProtocolGuid           = EFI_UNICODE_COLLATION_PROTOCOL_GUID;
112d1b935f8Sjmcneill EFI_GUID gEfiSerialIoProtocolGuid                   = EFI_SERIAL_IO_PROTOCOL_GUID;
113d1b935f8Sjmcneill EFI_GUID gEfiSimpleNetworkProtocolGuid              = EFI_SIMPLE_NETWORK_PROTOCOL_GUID;
114d1b935f8Sjmcneill EFI_GUID gEfiPxeBaseCodeProtocolGuid                = EFI_PXE_BASE_CODE_PROTOCOL_GUID;
115d1b935f8Sjmcneill EFI_GUID gEfiPxeBaseCodeCallbackProtocolGuid        = EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL_GUID;
116d1b935f8Sjmcneill EFI_GUID gEfiNetworkInterfaceIdentifierProtocolGuid = EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_GUID;
117d1b935f8Sjmcneill EFI_GUID gEFiUiInterfaceProtocolGuid                = EFI_UI_INTERFACE_PROTOCOL_GUID;
118d1b935f8Sjmcneill EFI_GUID gEfiPciIoProtocolGuid                      = EFI_PCI_IO_PROTOCOL_GUID;
119d1b935f8Sjmcneill EFI_GUID gEfiPciRootBridgeIoProtocolGuid            = EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_GUID;
120d1b935f8Sjmcneill EFI_GUID gEfiDriverBindingProtocolGuid              = EFI_DRIVER_BINDING_PROTOCOL_GUID;
121d1b935f8Sjmcneill EFI_GUID gEfiComponentNameProtocolGuid              = EFI_COMPONENT_NAME_PROTOCOL_GUID;
122d1b935f8Sjmcneill EFI_GUID gEfiComponentName2ProtocolGuid             = EFI_COMPONENT_NAME2_PROTOCOL_GUID;
123d1b935f8Sjmcneill EFI_GUID gEfiHashProtocolGuid                       = EFI_HASH_PROTOCOL_GUID;
124d1b935f8Sjmcneill EFI_GUID gEfiPlatformDriverOverrideProtocolGuid     = EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL_GUID;
125d1b935f8Sjmcneill EFI_GUID gEfiBusSpecificDriverOverrideProtocolGuid  = EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL_GUID;
126d1b935f8Sjmcneill EFI_GUID gEfiDriverFamilyOverrideProtocolGuid       = EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL_GUID;
127d1b935f8Sjmcneill EFI_GUID gEfiEbcProtocolGuid                        = EFI_EBC_PROTOCOL_GUID;
128d1b935f8Sjmcneill 
129b2c829d7Sjakllsch //
130b2c829d7Sjakllsch // File system information IDs
131b2c829d7Sjakllsch //
132b2c829d7Sjakllsch 
133d1b935f8Sjmcneill EFI_GUID gEfiFileInfoGuid                           = EFI_FILE_INFO_ID;
134d1b935f8Sjmcneill EFI_GUID gEfiFileSystemInfoGuid                     = EFI_FILE_SYSTEM_INFO_ID;
135*1eb4b217Sjmcneill EFI_GUID gEfiFileSystemVolumeLabelInfoIdGuid        = EFI_FILE_SYSTEM_VOLUME_LABEL_ID;
136b2c829d7Sjakllsch 
137b2c829d7Sjakllsch //
138b2c829d7Sjakllsch // Reference implementation public protocol IDs
139b2c829d7Sjakllsch //
140b2c829d7Sjakllsch 
141b2c829d7Sjakllsch EFI_GUID InternalShellProtocol = INTERNAL_SHELL_GUID;
142b2c829d7Sjakllsch EFI_GUID VariableStoreProtocol = VARIABLE_STORE_PROTOCOL;
143b2c829d7Sjakllsch EFI_GUID LegacyBootProtocol = LEGACY_BOOT_PROTOCOL;
144b2c829d7Sjakllsch EFI_GUID VgaClassProtocol = VGA_CLASS_DRIVER_PROTOCOL;
145b2c829d7Sjakllsch 
146b2c829d7Sjakllsch EFI_GUID TextOutSpliterProtocol = TEXT_OUT_SPLITER_PROTOCOL;
147b2c829d7Sjakllsch EFI_GUID ErrorOutSpliterProtocol = ERROR_OUT_SPLITER_PROTOCOL;
148b2c829d7Sjakllsch EFI_GUID TextInSpliterProtocol = TEXT_IN_SPLITER_PROTOCOL;
149b2c829d7Sjakllsch /* Added for GOP support */
150d1b935f8Sjmcneill EFI_GUID gEfiGraphicsOutputProtocolGuid             = EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID;
151d1b935f8Sjmcneill EFI_GUID gEfiEdidDiscoveredProtocolGuid             = EFI_EDID_DISCOVERED_PROTOCOL_GUID;
152d1b935f8Sjmcneill EFI_GUID gEfiEdidActiveProtocolGuid                 = EFI_EDID_ACTIVE_PROTOCOL_GUID;
153d1b935f8Sjmcneill EFI_GUID gEfiEdidOverrideProtocolGuid               = EFI_EDID_OVERRIDE_PROTOCOL_GUID;
154b2c829d7Sjakllsch 
155b2c829d7Sjakllsch EFI_GUID AdapterDebugProtocol = ADAPTER_DEBUG_PROTOCOL;
156b2c829d7Sjakllsch 
157b2c829d7Sjakllsch //
158b2c829d7Sjakllsch // Device path media protocol IDs
159b2c829d7Sjakllsch //
160d1b935f8Sjmcneill EFI_GUID gEfiPcAnsiGuid                             = EFI_PC_ANSI_GUID;
161d1b935f8Sjmcneill EFI_GUID gEfiVT100Guid                              = EFI_VT_100_GUID;
162d1b935f8Sjmcneill EFI_GUID gEfiVT100PlusGuid                          = EFI_VT_100_PLUS_GUID;
163d1b935f8Sjmcneill EFI_GUID gEfiVTUTF8Guid                             = EFI_VT_UTF8_GUID;
164b2c829d7Sjakllsch 
165b2c829d7Sjakllsch //
166b2c829d7Sjakllsch // EFI GPT Partition Type GUIDs
167b2c829d7Sjakllsch //
168b2c829d7Sjakllsch EFI_GUID EfiPartTypeSystemPartitionGuid = EFI_PART_TYPE_EFI_SYSTEM_PART_GUID;
169b2c829d7Sjakllsch EFI_GUID EfiPartTypeLegacyMbrGuid = EFI_PART_TYPE_LEGACY_MBR_GUID;
170b2c829d7Sjakllsch 
171b2c829d7Sjakllsch 
172b2c829d7Sjakllsch //
173b2c829d7Sjakllsch // Reference implementation Vendor Device Path Guids
174b2c829d7Sjakllsch //
175b2c829d7Sjakllsch EFI_GUID UnknownDevice      = UNKNOWN_DEVICE_GUID;
176b2c829d7Sjakllsch 
177b2c829d7Sjakllsch //
178b2c829d7Sjakllsch // Configuration Table GUIDs
179b2c829d7Sjakllsch //
180b2c829d7Sjakllsch 
181b2c829d7Sjakllsch EFI_GUID MpsTableGuid             = MPS_TABLE_GUID;
182b2c829d7Sjakllsch EFI_GUID AcpiTableGuid            = ACPI_TABLE_GUID;
183b2c829d7Sjakllsch EFI_GUID SMBIOSTableGuid          = SMBIOS_TABLE_GUID;
184*1eb4b217Sjmcneill EFI_GUID SMBIOS3TableGuid         = SMBIOS3_TABLE_GUID;
185b2c829d7Sjakllsch EFI_GUID SalSystemTableGuid       = SAL_SYSTEM_TABLE_GUID;
186*1eb4b217Sjmcneill EFI_GUID EfiDtbTableGuid          = EFI_DTB_TABLE_GUID;
187b2c829d7Sjakllsch 
188b2c829d7Sjakllsch //
189b2c829d7Sjakllsch // Network protocol GUIDs
190b2c829d7Sjakllsch //
191b2c829d7Sjakllsch EFI_GUID Ip4ServiceBindingProtocol = EFI_IP4_SERVICE_BINDING_PROTOCOL;
192b2c829d7Sjakllsch EFI_GUID Ip4Protocol = EFI_IP4_PROTOCOL;
193b2c829d7Sjakllsch EFI_GUID Udp4ServiceBindingProtocol = EFI_UDP4_SERVICE_BINDING_PROTOCOL;
194b2c829d7Sjakllsch EFI_GUID Udp4Protocol = EFI_UDP4_PROTOCOL;
195b2c829d7Sjakllsch EFI_GUID Tcp4ServiceBindingProtocol = EFI_TCP4_SERVICE_BINDING_PROTOCOL;
196b2c829d7Sjakllsch EFI_GUID Tcp4Protocol = EFI_TCP4_PROTOCOL;
197d1b935f8Sjmcneill 
198d1b935f8Sjmcneill //
199d1b935f8Sjmcneill // Pointer protocol GUIDs
200d1b935f8Sjmcneill //
201d1b935f8Sjmcneill EFI_GUID SimplePointerProtocol   = EFI_SIMPLE_POINTER_PROTOCOL_GUID;
202d1b935f8Sjmcneill EFI_GUID AbsolutePointerProtocol = EFI_ABSOLUTE_POINTER_PROTOCOL_GUID;
203d1b935f8Sjmcneill 
204d1b935f8Sjmcneill //
205d1b935f8Sjmcneill // Debugger protocol GUIDs
206d1b935f8Sjmcneill //
207d1b935f8Sjmcneill EFI_GUID gEfiDebugImageInfoTableGuid  = EFI_DEBUG_IMAGE_INFO_TABLE_GUID;
208d1b935f8Sjmcneill EFI_GUID gEfiDebugSupportProtocolGuid = EFI_DEBUG_SUPPORT_PROTOCOL_GUID;
209*1eb4b217Sjmcneill 
210*1eb4b217Sjmcneill //
211*1eb4b217Sjmcneill // Console extension protocol GUIDs
212*1eb4b217Sjmcneill //
213*1eb4b217Sjmcneill EFI_GUID SimpleTextInputExProtocol = EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID;
214*1eb4b217Sjmcneill 
215*1eb4b217Sjmcneill //
216*1eb4b217Sjmcneill // Shell protocol GUIDs
217*1eb4b217Sjmcneill //
218*1eb4b217Sjmcneill EFI_GUID ShellProtocolGuid               = EFI_SHELL_PROTOCOL_GUID;
219*1eb4b217Sjmcneill EFI_GUID ShellParametersProtocolGuid     = EFI_SHELL_PARAMETERS_PROTOCOL_GUID;
220*1eb4b217Sjmcneill EFI_GUID ShellDynamicCommandProtocolGuid = EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL_GUID;
221