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