1 | /** @file
|
---|
2 | Variable Write Architectural Protocol as defined in PI Specification VOLUME 2 DXE
|
---|
3 |
|
---|
4 | This provides the services required to set nonvolatile environment variables.
|
---|
5 | This protocol must be produced by a runtime DXE driver and may be consumed only
|
---|
6 | by the DXE Foundation.
|
---|
7 |
|
---|
8 | The DXE driver that produces this protocol must be a runtime driver. This driver
|
---|
9 | may update the SetVariable() field of the UEFI Runtime Services Table.
|
---|
10 |
|
---|
11 | After the UEFI Runtime Services Table has been initialized, the driver must
|
---|
12 | install the EFI_VARIABLE_WRITE_ARCH_PROTOCOL_GUID on a new handle with a NULL
|
---|
13 | interface pointer. The installation of this protocol informs the DXE Foundation
|
---|
14 | that the write services for nonvolatile environment variables are now available
|
---|
15 | and that the DXE Foundation must update the 32-bit CRC of the UEFI Runtime Services
|
---|
16 | Table. The full complement of environment variable services are not available
|
---|
17 | until both this protocol and EFI_VARIABLE_ARCH_PROTOCOL are installed. DXE drivers
|
---|
18 | that require read-only access or read/write access to volatile environment variables
|
---|
19 | must have the EFI_VARIABLE_WRITE_ARCH_PROTOCOL in their dependency expressions.
|
---|
20 | DXE drivers that require write access to nonvolatile environment variables must
|
---|
21 | have this architectural protocol in their dependency expressions.
|
---|
22 |
|
---|
23 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
---|
24 | SPDX-License-Identifier: BSD-2-Clause-Patent
|
---|
25 |
|
---|
26 | **/
|
---|
27 |
|
---|
28 | #ifndef __ARCH_PROTOCOL_VARIABLE_WRITE_ARCH_H__
|
---|
29 | #define __ARCH_PROTOCOL_VARIABLE_WRITE_ARCH_H__
|
---|
30 |
|
---|
31 | ///
|
---|
32 | /// Global ID for the Variable Write Architectural Protocol
|
---|
33 | ///
|
---|
34 | #define EFI_VARIABLE_WRITE_ARCH_PROTOCOL_GUID \
|
---|
35 | { 0x6441f818, 0x6362, 0x4e44, {0xb5, 0x70, 0x7d, 0xba, 0x31, 0xdd, 0x24, 0x53 } }
|
---|
36 |
|
---|
37 | extern EFI_GUID gEfiVariableWriteArchProtocolGuid;
|
---|
38 |
|
---|
39 | #endif
|
---|