]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Protocol/VariableWrite.h
Code have been checked with spec
[mirror_edk2.git] / MdePkg / Include / Protocol / VariableWrite.h
index cb8050eb0d942aaf8ace76a9c30b0540b52dec5f..d8d81076dc5b0a8bbb6283fe8ecf5c334764894c 100644 (file)
@@ -1,13 +1,25 @@
 /** @file\r
   Variable Write Architectural Protocol as defined in PI Specification VOLUME 2 DXE\r
 \r
-  This code is used to produce the UEFI 2.0 runtime variable services\r
-\r
-  The SetVariable () UEFI 2.0 services may be updated to the EFI system table and the \r
-  EFI_VARIABLE_WRITE_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
+  This provides the services required to set nonvolatile environment variables. \r
+  This protocol must be produced by a runtime DXE driver and may be consumed only \r
+  by the DXE Foundation.\r
+\r
+  The DXE driver that produces this protocol must be a runtime driver. This driver \r
+  may update the SetVariable() field of the UEFI Runtime Services Table.\r
+  \r
+  After the UEFI Runtime Services Table has been initialized, the driver must \r
+  install the EFI_VARIABLE_WRITE_ARCH_PROTOCOL_GUID on a new handle with a NULL \r
+  interface pointer. The installation of this protocol informs the DXE Foundation \r
+  that the write services for nonvolatile environment variables are now available \r
+  and that the DXE Foundation must update the 32-bit CRC of the UEFI Runtime Services \r
+  Table. The full complement of environment variable services are not available \r
+  until both this protocol and EFI_VARIABLE_ARCH_PROTOCOL are installed. DXE drivers \r
+  that require read-only access or read/write access to volatile environment variables\r
+  must have the EFI_VARIABLE_WRITE_ARCH_PROTOCOL in their dependency expressions.\r
+  DXE drivers that require write access to nonvolatile environment variables must \r
+  have this architectural protocol in their dependency expressions.  \r
+  \r
   Copyright (c) 2006 - 2008, 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
@@ -22,9 +34,9 @@
 #ifndef __ARCH_PROTOCOL_VARIABLE_WRITE_ARCH_H__\r
 #define __ARCH_PROTOCOL_VARIABLE_WRITE_ARCH_H__\r
 \r
-//\r
-// Global ID for the Variable Write Architectural Protocol\r
-//\r
+///\r
+/// Global ID for the Variable Write Architectural Protocol\r
+///\r
 #define EFI_VARIABLE_WRITE_ARCH_PROTOCOL_GUID \\r
   { 0x6441f818, 0x6362, 0x4e44, {0xb5, 0x70, 0x7d, 0xba, 0x31, 0xdd, 0x24, 0x53 } }\r
 \r