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