/** @file\r
- Variable Architectural Protocol as defined in the DXE CIS\r
-\r
- This code is used to produce the UEFI 2.0 runtime variable services\r
-\r
- The GetVariable (), GetNextVariableName (), and SetVariable () UEFI 2.0 \r
- services are added to the EFI system table and the \r
- EFI_VARIABLE_ARCH_PROTOCOL_GUID protocol is registered with a NULL pointer.\r
-\r
- No CRC of the EFI system table is required, as it is done in the DXE core.\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
- @par Revision Reference:\r
- Version 0.91B.\r
+ Variable Architectural Protocol as defined in PI Specification VOLUME 2 DXE\r
+\r
+ This provides the services required to get and set environment variables. This\r
+ protocol must be produced by a runtime DXE driver and may be consumed only by\r
+ the DXE Foundation. The DXE driver that produces this protocol must be a runtime\r
+ driver. This driver is responsible for initializing the GetVariable(),\r
+ GetNextVariableName(), and SetVariable() fields of the UEFI Runtime Services Table.\r
+\r
+ After the three fields of the UEFI Runtime Services Table have been initialized,\r
+ the driver must install the EFI_VARIABLE_ARCH_PROTOCOL_GUID on a new handle with\r
+ a NULL interface pointer. The installation of this protocol informs the DXE Foundation\r
+ that the read-only and the volatile environment variable related services are\r
+ now available and that the DXE Foundation must update the 32-bit CRC of the UEFI\r
+ Runtime Services Table. The full complement of environment variable services are\r
+ not available until both this protocol and EFI_VARIABLE_WRITE_ARCH_PROTOCOL are\r
+ installed. DXE drivers that require read-only access or read/write access to volatile\r
+ environment variables must have this architectural protocol in their dependency\r
+ expressions. DXE drivers that require write access to nonvolatile environment\r
+ variables must have the EFI_VARIABLE_WRITE_ARCH_PROTOCOL in their dependency\r
+ expressions.\r
+\r
+ Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
#ifndef __ARCH_PROTOCOL_VARIABLE_ARCH_H__\r
#define __ARCH_PROTOCOL_VARIABLE_ARCH_H__\r
\r
-//\r
-// Global ID for the Variable Architectural Protocol\r
-//\r
+///\r
+/// Global ID for the Variable Architectural Protocol\r
+///\r
#define EFI_VARIABLE_ARCH_PROTOCOL_GUID \\r
{ 0x1e5668e2, 0x8481, 0x11d4, {0xbc, 0xf1, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } }\r
\r
-extern EFI_GUID gEfiVariableArchProtocolGuid;\r
+extern EFI_GUID gEfiVariableArchProtocolGuid;\r
\r
-#endif \r
+#endif\r