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