blob: d37a761cbc496d578e6cfe5eeb37f1dfc6baa637 [file] [log] [blame]
Julian Hall29620bf2022-06-09 10:26:37 +01001/*
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__ */