]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Guid/GlobalVariable.h
MdePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdePkg / Include / Guid / GlobalVariable.h
index 4a774a5d76ba477ba795491320de334940b19c8c..7abc103332930f87094d87e102c720b63406f48a 100644 (file)
 /** @file\r
   GUID for EFI (NVRAM) Variables.\r
 \r
-  Copyright (c) 2006, Intel Corporation                                                         \r
-  All rights reserved. This program and the accompanying materials                          \r
-  are licensed and made available under the terms and conditions of the BSD License         \r
-  which accompanies this distribution.  The full text of the license may be found at        \r
-  http://opensource.org/licenses/bsd-license.php                                            \r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
-\r
-  Module Name:  GlobalVariable.h\r
+  Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
   @par Revision Reference:\r
-  GUID defined in UEFI 2.0\r
+  GUID defined in UEFI 2.1\r
 **/\r
 \r
 #ifndef __GLOBAL_VARIABLE_GUID_H__\r
 #define __GLOBAL_VARIABLE_GUID_H__\r
 \r
-#define EFI_GLOBAL_VARIABLE_GUID \\r
+#define EFI_GLOBAL_VARIABLE \\r
   { \\r
     0x8BE4DF61, 0x93CA, 0x11d2, {0xAA, 0x0D, 0x00, 0xE0, 0x98, 0x03, 0x2B, 0x8C } \\r
   }\r
 \r
-#define EFI_GLOBAL_VARIABLE EFI_GLOBAL_VARIABLE_GUID\r
-\r
 extern EFI_GUID gEfiGlobalVariableGuid;\r
 \r
+//\r
+// Follow UEFI 2.4 spec:\r
+// To prevent name collisions with possible future globally defined variables,\r
+// other internal firmware data variables that are not defined here must be\r
+// saved with a unique VendorGuid other than EFI_GLOBAL_VARIABLE or\r
+// any other GUID defined by the UEFI Specification. Implementations must\r
+// only permit the creation of variables with a UEFI Specification-defined\r
+// VendorGuid when these variables are documented in the UEFI Specification.\r
+//\r
+// Note: except the globally defined variables defined below, the spec also defines\r
+// L"Boot####"      - A boot load option.\r
+// L"Driver####"    - A driver load option.\r
+// L"SysPrep####"   - A System Prep application load option.\r
+// L"Key####"       - Describes hot key relationship with a Boot#### load option.\r
+// The attribute for them is NV+BS+RT, #### is a printed hex value, and no 0x or h\r
+// is included in the hex value. They can not be expressed as a #define like other globally\r
+// defined variables, it is because we can not list the Boot0000, Boot0001, etc one by one.\r
+//\r
+\r
+///\r
+/// The language codes that the firmware supports. This value is deprecated.\r
+/// Its attribute is BS+RT.\r
+///\r
+#define EFI_LANG_CODES_VARIABLE_NAME                L"LangCodes"\r
+///\r
+/// The language code that the system is configured for. This value is deprecated.\r
+/// Its attribute is NV+BS+RT.\r
+///\r
+#define EFI_LANG_VARIABLE_NAME                      L"Lang"\r
+///\r
+/// The firmware's boot managers timeout, in seconds, before initiating the default boot selection.\r
+/// Its attribute is NV+BS+RT.\r
+///\r
+#define EFI_TIME_OUT_VARIABLE_NAME                  L"Timeout"\r
+///\r
+/// The language codes that the firmware supports.\r
+/// Its attribute is BS+RT.\r
+///\r
+#define EFI_PLATFORM_LANG_CODES_VARIABLE_NAME       L"PlatformLangCodes"\r
+///\r
+/// The language code that the system is configured for.\r
+/// Its attribute is NV+BS+RT.\r
+///\r
+#define EFI_PLATFORM_LANG_VARIABLE_NAME             L"PlatformLang"\r
+///\r
+/// The device path of the default input/output/error output console.\r
+/// Its attribute is NV+BS+RT.\r
+///\r
+#define EFI_CON_IN_VARIABLE_NAME                    L"ConIn"\r
+#define EFI_CON_OUT_VARIABLE_NAME                   L"ConOut"\r
+#define EFI_ERR_OUT_VARIABLE_NAME                   L"ErrOut"\r
+///\r
+/// The device path of all possible input/output/error output devices.\r
+/// Its attribute is BS+RT.\r
+///\r
+#define EFI_CON_IN_DEV_VARIABLE_NAME                L"ConInDev"\r
+#define EFI_CON_OUT_DEV_VARIABLE_NAME               L"ConOutDev"\r
+#define EFI_ERR_OUT_DEV_VARIABLE_NAME               L"ErrOutDev"\r
+///\r
+/// The ordered boot option load list.\r
+/// Its attribute is NV+BS+RT.\r
+///\r
+#define EFI_BOOT_ORDER_VARIABLE_NAME                L"BootOrder"\r
+///\r
+/// The boot option for the next boot only.\r
+/// Its attribute is NV+BS+RT.\r
+///\r
+#define EFI_BOOT_NEXT_VARIABLE_NAME                 L"BootNext"\r
+///\r
+/// The boot option that was selected for the current boot.\r
+/// Its attribute is BS+RT.\r
+///\r
+#define EFI_BOOT_CURRENT_VARIABLE_NAME              L"BootCurrent"\r
+///\r
+/// The types of boot options supported by the boot manager. Should be treated as read-only.\r
+/// Its attribute is BS+RT.\r
+///\r
+#define EFI_BOOT_OPTION_SUPPORT_VARIABLE_NAME       L"BootOptionSupport"\r
+///\r
+/// The ordered driver load option list.\r
+/// Its attribute is NV+BS+RT.\r
+///\r
+#define EFI_DRIVER_ORDER_VARIABLE_NAME              L"DriverOrder"\r
+///\r
+/// The ordered System Prep Application load option list.\r
+/// Its attribute is NV+BS+RT.\r
+///\r
+#define EFI_SYS_PREP_ORDER_VARIABLE_NAME            L"SysPrepOrder"\r
+///\r
+/// Identifies the level of hardware error record persistence\r
+/// support implemented by the platform. This variable is\r
+/// only modified by firmware and is read-only to the OS.\r
+/// Its attribute is NV+BS+RT.\r
+///\r
+#define EFI_HW_ERR_REC_SUPPORT_VARIABLE_NAME        L"HwErrRecSupport"\r
+///\r
+/// Whether the system is operating in setup mode (1) or not (0).\r
+/// All other values are reserved. Should be treated as read-only.\r
+/// Its attribute is BS+RT.\r
+///\r
+#define EFI_SETUP_MODE_NAME                         L"SetupMode"\r
+///\r
+/// The Key Exchange Key Signature Database.\r
+/// Its attribute is NV+BS+RT+AT.\r
+///\r
+#define EFI_KEY_EXCHANGE_KEY_NAME                   L"KEK"\r
+///\r
+/// The public Platform Key.\r
+/// Its attribute is NV+BS+RT+AT.\r
+///\r
+#define EFI_PLATFORM_KEY_NAME                       L"PK"\r
+///\r
+/// Array of GUIDs representing the type of signatures supported\r
+/// by the platform firmware. Should be treated as read-only.\r
+/// Its attribute is BS+RT.\r
+///\r
+#define EFI_SIGNATURE_SUPPORT_NAME                  L"SignatureSupport"\r
+///\r
+/// Whether the platform firmware is operating in Secure boot mode (1) or not (0).\r
+/// All other values are reserved. Should be treated as read-only.\r
+/// Its attribute is BS+RT.\r
+///\r
+#define EFI_SECURE_BOOT_MODE_NAME                   L"SecureBoot"\r
+///\r
+/// The OEM's default Key Exchange Key Signature Database. Should be treated as read-only.\r
+/// Its attribute is BS+RT.\r
+///\r
+#define EFI_KEK_DEFAULT_VARIABLE_NAME               L"KEKDefault"\r
+///\r
+/// The OEM's default public Platform Key. Should be treated as read-only.\r
+/// Its attribute is BS+RT.\r
+///\r
+#define EFI_PK_DEFAULT_VARIABLE_NAME                L"PKDefault"\r
+///\r
+/// The OEM's default secure boot signature store. Should be treated as read-only.\r
+/// Its attribute is BS+RT.\r
+///\r
+#define EFI_DB_DEFAULT_VARIABLE_NAME                L"dbDefault"\r
+///\r
+/// The OEM's default secure boot blacklist signature store. Should be treated as read-only.\r
+/// Its attribute is BS+RT.\r
+///\r
+#define EFI_DBX_DEFAULT_VARIABLE_NAME               L"dbxDefault"\r
+///\r
+/// The OEM's default secure boot timestamp signature store. Should be treated as read-only.\r
+/// Its attribute is BS+RT.\r
+///\r
+#define EFI_DBT_DEFAULT_VARIABLE_NAME               L"dbtDefault"\r
+///\r
+/// Allows the firmware to indicate supported features and actions to the OS.\r
+/// Its attribute is BS+RT.\r
+///\r
+#define EFI_OS_INDICATIONS_SUPPORT_VARIABLE_NAME    L"OsIndicationsSupported"\r
+///\r
+/// Allows the OS to request the firmware to enable certain features and to take certain actions.\r
+/// Its attribute is NV+BS+RT.\r
+///\r
+#define EFI_OS_INDICATIONS_VARIABLE_NAME            L"OsIndications"\r
+///\r
+/// Whether the system is configured to use only vendor provided\r
+/// keys or not. Should be treated as read-only.\r
+/// Its attribute is BS+RT.\r
+///\r
+#define EFI_VENDOR_KEYS_VARIABLE_NAME               L"VendorKeys"\r
+\r
 #endif\r