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
14FILE_LICENCE ( BSD2_PATENT );
15FILE_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
EFI_GUID gEfiGlobalVariableGuid
GUID EFI_GUID
128-bit buffer containing a unique identifier value.
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
Definition compiler.h:896
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
Definition compiler.h:926