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