1 /** @file 2 GUID for EFI (NVRAM) Variables. 3 4 Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR> 5 This program and the accompanying materials 6 are licensed and made available under the terms and conditions of the BSD License 7 which accompanies this distribution. The full text of the license may be found at 8 http://opensource.org/licenses/bsd-license.php 9 10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12 13 @par Revision Reference: 14 GUID defined in UEFI 2.1 15 **/ 16 17 #ifndef __GLOBAL_VARIABLE_GUID_H__ 18 #define __GLOBAL_VARIABLE_GUID_H__ 19 20 #define EFI_GLOBAL_VARIABLE \ 21 { \ 22 0x8BE4DF61, 0x93CA, 0x11d2, {0xAA, 0x0D, 0x00, 0xE0, 0x98, 0x03, 0x2B, 0x8C } \ 23 } 24 25 extern EFI_GUID gEfiGlobalVariableGuid; 26 27 // 28 // Follow UEFI 2.4 spec: 29 // To prevent name collisions with possible future globally defined variables, 30 // other internal firmware data variables that are not defined here must be 31 // saved with a unique VendorGuid other than EFI_GLOBAL_VARIABLE or 32 // any other GUID defined by the UEFI Specification. Implementations must 33 // only permit the creation of variables with a UEFI Specification-defined 34 // VendorGuid when these variables are documented in the UEFI Specification. 35 // 36 // Note: except the globally defined variables defined below, the spec also defines 37 // L"Boot####" - A boot load option. 38 // L"Driver####" - A driver load option. 39 // L"SysPrep####" - A System Prep application load option. 40 // L"Key####" - Describes hot key relationship with a Boot#### load option. 41 // The attribute for them is NV+BS+RT, #### is a printed hex value, and no 0x or h 42 // is included in the hex value. They can not be expressed as a #define like other globally 43 // defined variables, it is because we can not list the Boot0000, Boot0001, etc one by one. 44 // 45 46 /// 47 /// The language codes that the firmware supports. This value is deprecated. 48 /// Its attribute is BS+RT. 49 /// 50 #define EFI_LANG_CODES_VARIABLE_NAME L"LangCodes" 51 /// 52 /// The language code that the system is configured for. This value is deprecated. 53 /// Its attribute is NV+BS+RT. 54 /// 55 #define EFI_LANG_VARIABLE_NAME L"Lang" 56 /// 57 /// The firmware's boot managers timeout, in seconds, before initiating the default boot selection. 58 /// Its attribute is NV+BS+RT. 59 /// 60 #define EFI_TIME_OUT_VARIABLE_NAME L"Timeout" 61 /// 62 /// The language codes that the firmware supports. 63 /// Its attribute is BS+RT. 64 /// 65 #define EFI_PLATFORM_LANG_CODES_VARIABLE_NAME L"PlatformLangCodes" 66 /// 67 /// The language code that the system is configured for. 68 /// Its attribute is NV+BS+RT. 69 /// 70 #define EFI_PLATFORM_LANG_VARIABLE_NAME L"PlatformLang" 71 /// 72 /// The device path of the default input/output/error output console. 73 /// Its attribute is NV+BS+RT. 74 /// 75 #define EFI_CON_IN_VARIABLE_NAME L"ConIn" 76 #define EFI_CON_OUT_VARIABLE_NAME L"ConOut" 77 #define EFI_ERR_OUT_VARIABLE_NAME L"ErrOut" 78 /// 79 /// The device path of all possible input/output/error output devices. 80 /// Its attribute is BS+RT. 81 /// 82 #define EFI_CON_IN_DEV_VARIABLE_NAME L"ConInDev" 83 #define EFI_CON_OUT_DEV_VARIABLE_NAME L"ConOutDev" 84 #define EFI_ERR_OUT_DEV_VARIABLE_NAME L"ErrOutDev" 85 /// 86 /// The ordered boot option load list. 87 /// Its attribute is NV+BS+RT. 88 /// 89 #define EFI_BOOT_ORDER_VARIABLE_NAME L"BootOrder" 90 /// 91 /// The boot option for the next boot only. 92 /// Its attribute is NV+BS+RT. 93 /// 94 #define EFI_BOOT_NEXT_VARIABLE_NAME L"BootNext" 95 /// 96 /// The boot option that was selected for the current boot. 97 /// Its attribute is BS+RT. 98 /// 99 #define EFI_BOOT_CURRENT_VARIABLE_NAME L"BootCurrent" 100 /// 101 /// The types of boot options supported by the boot manager. Should be treated as read-only. 102 /// Its attribute is BS+RT. 103 /// 104 #define EFI_BOOT_OPTION_SUPPORT_VARIABLE_NAME L"BootOptionSupport" 105 /// 106 /// The ordered driver load option list. 107 /// Its attribute is NV+BS+RT. 108 /// 109 #define EFI_DRIVER_ORDER_VARIABLE_NAME L"DriverOrder" 110 /// 111 /// The ordered System Prep Application load option list. 112 /// Its attribute is NV+BS+RT. 113 /// 114 #define EFI_SYS_PREP_ORDER_VARIABLE_NAME L"SysPrepOrder" 115 /// 116 /// Identifies the level of hardware error record persistence 117 /// support implemented by the platform. This variable is 118 /// only modified by firmware and is read-only to the OS. 119 /// Its attribute is NV+BS+RT. 120 /// 121 #define EFI_HW_ERR_REC_SUPPORT_VARIABLE_NAME L"HwErrRecSupport" 122 /// 123 /// Whether the system is operating in setup mode (1) or not (0). 124 /// All other values are reserved. Should be treated as read-only. 125 /// Its attribute is BS+RT. 126 /// 127 #define EFI_SETUP_MODE_NAME L"SetupMode" 128 /// 129 /// Whether the system is operating in audit mode (1) or not (0). 130 /// All other values are reserved. Should be treated as read-only except when DeployedMode is 0. 131 /// Always becomes read-only after ExitBootServices() is called. 132 /// Its attribute is BS+RT. 133 /// 134 #define EFI_AUDIT_MODE_NAME L"AuditMode" 135 /// 136 /// Whether the system is operating in deployed mode (1) or not (0). 137 /// All other values are reserved. Should be treated as read-only when its value is 1. 138 /// Always becomes read-only after ExitBootServices() is called. 139 /// Its attribute is BS+RT. 140 /// 141 #define EFI_DEPLOYED_MODE_NAME L"DeployedMode" 142 /// 143 /// The Key Exchange Key Signature Database. 144 /// Its attribute is NV+BS+RT+AT. 145 /// 146 #define EFI_KEY_EXCHANGE_KEY_NAME L"KEK" 147 /// 148 /// The public Platform Key. 149 /// Its attribute is NV+BS+RT+AT. 150 /// 151 #define EFI_PLATFORM_KEY_NAME L"PK" 152 /// 153 /// Array of GUIDs representing the type of signatures supported 154 /// by the platform firmware. Should be treated as read-only. 155 /// Its attribute is BS+RT. 156 /// 157 #define EFI_SIGNATURE_SUPPORT_NAME L"SignatureSupport" 158 /// 159 /// Whether the platform firmware is operating in Secure boot mode (1) or not (0). 160 /// All other values are reserved. Should be treated as read-only. 161 /// Its attribute is BS+RT. 162 /// 163 #define EFI_SECURE_BOOT_MODE_NAME L"SecureBoot" 164 /// 165 /// The OEM's default Key Exchange Key Signature Database. Should be treated as read-only. 166 /// Its attribute is BS+RT. 167 /// 168 #define EFI_KEK_DEFAULT_VARIABLE_NAME L"KEKDefault" 169 /// 170 /// The OEM's default public Platform Key. Should be treated as read-only. 171 /// Its attribute is BS+RT. 172 /// 173 #define EFI_PK_DEFAULT_VARIABLE_NAME L"PKDefault" 174 /// 175 /// The OEM's default secure boot signature store. Should be treated as read-only. 176 /// Its attribute is BS+RT. 177 /// 178 #define EFI_DB_DEFAULT_VARIABLE_NAME L"dbDefault" 179 /// 180 /// The OEM's default secure boot blacklist signature store. Should be treated as read-only. 181 /// Its attribute is BS+RT. 182 /// 183 #define EFI_DBX_DEFAULT_VARIABLE_NAME L"dbxDefault" 184 /// 185 /// The OEM's default secure boot timestamp signature store. Should be treated as read-only. 186 /// Its attribute is BS+RT. 187 /// 188 #define EFI_DBT_DEFAULT_VARIABLE_NAME L"dbtDefault" 189 /// 190 /// Allows the firmware to indicate supported features and actions to the OS. 191 /// Its attribute is BS+RT. 192 /// 193 #define EFI_OS_INDICATIONS_SUPPORT_VARIABLE_NAME L"OsIndicationsSupported" 194 /// 195 /// Allows the OS to request the firmware to enable certain features and to take certain actions. 196 /// Its attribute is NV+BS+RT. 197 /// 198 #define EFI_OS_INDICATIONS_VARIABLE_NAME L"OsIndications" 199 /// 200 /// Whether the system is configured to use only vendor provided 201 /// keys or not. Should be treated as read-only. 202 /// Its attribute is BS+RT. 203 /// 204 #define EFI_VENDOR_KEYS_VARIABLE_NAME L"VendorKeys" 205 206 #endif 207