Home | History | Annotate | Line # | Download | only in lib
data.c revision 1.1.1.1.34.1
      1  1.1.1.1.34.1  pgoyette /*	$NetBSD: data.c,v 1.1.1.1.34.1 2018/09/06 06:56:39 pgoyette 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.34.1  pgoyette // ImageHandle - Current ImageHandle, as passed to InitializeLib
     31  1.1.1.1.34.1  pgoyette //
     32  1.1.1.1.34.1  pgoyette EFI_HANDLE LibImageHandle;
     33  1.1.1.1.34.1  pgoyette 
     34  1.1.1.1.34.1  pgoyette //
     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.34.1  pgoyette };
     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.34.1  pgoyette 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.34.1  pgoyette EFI_GUID gEfiDevicePathProtocolGuid                 = EFI_DEVICE_PATH_PROTOCOL_GUID;
     98  1.1.1.1.34.1  pgoyette EFI_GUID gEfiDevicePathToTextProtocolGuid           = EFI_DEVICE_PATH_TO_TEXT_PROTOCOL_GUID;
     99  1.1.1.1.34.1  pgoyette EFI_GUID gEfiDevicePathFromTextProtocolGuid         = EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL_GUID;
    100  1.1.1.1.34.1  pgoyette EFI_GUID gEfiLoadedImageProtocolGuid                = EFI_LOADED_IMAGE_PROTOCOL_GUID;
    101  1.1.1.1.34.1  pgoyette EFI_GUID gEfiSimpleTextInProtocolGuid               = EFI_SIMPLE_TEXT_INPUT_PROTOCOL_GUID;
    102  1.1.1.1.34.1  pgoyette EFI_GUID gEfiSimpleTextOutProtocolGuid              = EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL_GUID;
    103  1.1.1.1.34.1  pgoyette EFI_GUID gEfiBlockIoProtocolGuid                    = EFI_BLOCK_IO_PROTOCOL_GUID;
    104  1.1.1.1.34.1  pgoyette EFI_GUID gEfiBlockIo2ProtocolGuid                   = EFI_BLOCK_IO2_PROTOCOL_GUID;
    105  1.1.1.1.34.1  pgoyette EFI_GUID gEfiDiskIoProtocolGuid                     = EFI_DISK_IO_PROTOCOL_GUID;
    106  1.1.1.1.34.1  pgoyette EFI_GUID gEfiDiskIo2ProtocolGuid                    = EFI_DISK_IO2_PROTOCOL_GUID;
    107  1.1.1.1.34.1  pgoyette EFI_GUID gEfiSimpleFileSystemProtocolGuid           = EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID;
    108  1.1.1.1.34.1  pgoyette EFI_GUID gEfiLoadFileProtocolGuid                   = EFI_LOAD_FILE_PROTOCOL_GUID;
    109  1.1.1.1.34.1  pgoyette EFI_GUID gEfiDeviceIoProtocolGuid                   = EFI_DEVICE_IO_PROTOCOL_GUID;
    110  1.1.1.1.34.1  pgoyette EFI_GUID gEfiUnicodeCollationProtocolGuid           = EFI_UNICODE_COLLATION_PROTOCOL_GUID;
    111  1.1.1.1.34.1  pgoyette EFI_GUID gEfiSerialIoProtocolGuid                   = EFI_SERIAL_IO_PROTOCOL_GUID;
    112  1.1.1.1.34.1  pgoyette EFI_GUID gEfiSimpleNetworkProtocolGuid              = EFI_SIMPLE_NETWORK_PROTOCOL_GUID;
    113  1.1.1.1.34.1  pgoyette EFI_GUID gEfiPxeBaseCodeProtocolGuid                = EFI_PXE_BASE_CODE_PROTOCOL_GUID;
    114  1.1.1.1.34.1  pgoyette EFI_GUID gEfiPxeBaseCodeCallbackProtocolGuid        = EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL_GUID;
    115  1.1.1.1.34.1  pgoyette EFI_GUID gEfiNetworkInterfaceIdentifierProtocolGuid = EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_GUID;
    116  1.1.1.1.34.1  pgoyette EFI_GUID gEFiUiInterfaceProtocolGuid                = EFI_UI_INTERFACE_PROTOCOL_GUID;
    117  1.1.1.1.34.1  pgoyette EFI_GUID gEfiPciIoProtocolGuid                      = EFI_PCI_IO_PROTOCOL_GUID;
    118  1.1.1.1.34.1  pgoyette EFI_GUID gEfiPciRootBridgeIoProtocolGuid            = EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_GUID;
    119  1.1.1.1.34.1  pgoyette EFI_GUID gEfiDriverBindingProtocolGuid              = EFI_DRIVER_BINDING_PROTOCOL_GUID;
    120  1.1.1.1.34.1  pgoyette EFI_GUID gEfiComponentNameProtocolGuid              = EFI_COMPONENT_NAME_PROTOCOL_GUID;
    121  1.1.1.1.34.1  pgoyette EFI_GUID gEfiComponentName2ProtocolGuid             = EFI_COMPONENT_NAME2_PROTOCOL_GUID;
    122  1.1.1.1.34.1  pgoyette EFI_GUID gEfiHashProtocolGuid                       = EFI_HASH_PROTOCOL_GUID;
    123  1.1.1.1.34.1  pgoyette EFI_GUID gEfiPlatformDriverOverrideProtocolGuid     = EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL_GUID;
    124  1.1.1.1.34.1  pgoyette EFI_GUID gEfiBusSpecificDriverOverrideProtocolGuid  = EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL_GUID;
    125  1.1.1.1.34.1  pgoyette EFI_GUID gEfiDriverFamilyOverrideProtocolGuid       = EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL_GUID;
    126  1.1.1.1.34.1  pgoyette EFI_GUID gEfiEbcProtocolGuid                        = EFI_EBC_PROTOCOL_GUID;
    127  1.1.1.1.34.1  pgoyette 
    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.34.1  pgoyette EFI_GUID gEfiFileInfoGuid                           = EFI_FILE_INFO_ID;
    133  1.1.1.1.34.1  pgoyette EFI_GUID gEfiFileSystemInfoGuid                     = EFI_FILE_SYSTEM_INFO_ID;
    134  1.1.1.1.34.1  pgoyette 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.34.1  pgoyette EFI_GUID gEfiGraphicsOutputProtocolGuid             = EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID;
    150  1.1.1.1.34.1  pgoyette EFI_GUID gEfiEdidDiscoveredProtocolGuid             = EFI_EDID_DISCOVERED_PROTOCOL_GUID;
    151  1.1.1.1.34.1  pgoyette EFI_GUID gEfiEdidActiveProtocolGuid                 = EFI_EDID_ACTIVE_PROTOCOL_GUID;
    152  1.1.1.1.34.1  pgoyette 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.34.1  pgoyette EFI_GUID gEfiPcAnsiGuid                             = EFI_PC_ANSI_GUID;
    160  1.1.1.1.34.1  pgoyette EFI_GUID gEfiVT100Guid                              = EFI_VT_100_GUID;
    161  1.1.1.1.34.1  pgoyette EFI_GUID gEfiVT100PlusGuid                          = EFI_VT_100_PLUS_GUID;
    162  1.1.1.1.34.1  pgoyette 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.34.1  pgoyette 
    195  1.1.1.1.34.1  pgoyette //
    196  1.1.1.1.34.1  pgoyette // Pointer protocol GUIDs
    197  1.1.1.1.34.1  pgoyette //
    198  1.1.1.1.34.1  pgoyette EFI_GUID SimplePointerProtocol    = EFI_SIMPLE_POINTER_PROTOCOL_GUID;
    199  1.1.1.1.34.1  pgoyette EFI_GUID AbsolutePointerProtocol  = EFI_ABSOLUTE_POINTER_PROTOCOL_GUID;
    200  1.1.1.1.34.1  pgoyette 
    201  1.1.1.1.34.1  pgoyette //
    202  1.1.1.1.34.1  pgoyette // Debugger protocol GUIDs
    203  1.1.1.1.34.1  pgoyette //
    204  1.1.1.1.34.1  pgoyette EFI_GUID gEfiDebugImageInfoTableGuid           = EFI_DEBUG_IMAGE_INFO_TABLE_GUID;
    205  1.1.1.1.34.1  pgoyette EFI_GUID gEfiDebugSupportProtocolGuid          = EFI_DEBUG_SUPPORT_PROTOCOL_GUID;
    206