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