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