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