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