]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Universal/Variable/RuntimeDxe/VariableNonVolatile.h
MdeModulePkg/VariableSmmRuntimeDxe: switch to MM communicate 2
[mirror_edk2.git] / MdeModulePkg / Universal / Variable / RuntimeDxe / VariableNonVolatile.h
1 /** @file
2 Common variable non-volatile store routines.
3
4 Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6
7 **/
8
9 #ifndef _VARIABLE_NON_VOLATILE_H_
10 #define _VARIABLE_NON_VOLATILE_H_
11
12 #include "Variable.h"
13
14 /**
15 Get non-volatile maximum variable size.
16
17 @return Non-volatile maximum variable size.
18
19 **/
20 UINTN
21 GetNonVolatileMaxVariableSize (
22 VOID
23 );
24
25 /**
26 Init emulated non-volatile variable store.
27
28 @param[out] VariableStoreBase Output pointer to emulated non-volatile variable store base.
29
30 @retval EFI_SUCCESS Function successfully executed.
31 @retval EFI_OUT_OF_RESOURCES Fail to allocate enough memory resource.
32
33 **/
34 EFI_STATUS
35 InitEmuNonVolatileVariableStore (
36 EFI_PHYSICAL_ADDRESS *VariableStoreBase
37 );
38
39 /**
40 Init real non-volatile variable store.
41
42 @param[out] VariableStoreBase Output pointer to real non-volatile variable store base.
43
44 @retval EFI_SUCCESS Function successfully executed.
45 @retval EFI_OUT_OF_RESOURCES Fail to allocate enough memory resource.
46 @retval EFI_VOLUME_CORRUPTED Variable Store or Firmware Volume for Variable Store is corrupted.
47
48 **/
49 EFI_STATUS
50 InitRealNonVolatileVariableStore (
51 OUT EFI_PHYSICAL_ADDRESS *VariableStoreBase
52 );
53
54 /**
55 Init non-volatile variable store.
56
57 @retval EFI_SUCCESS Function successfully executed.
58 @retval EFI_OUT_OF_RESOURCES Fail to allocate enough memory resource.
59 @retval EFI_VOLUME_CORRUPTED Variable Store or Firmware Volume for Variable Store is corrupted.
60
61 **/
62 EFI_STATUS
63 InitNonVolatileVariableStore (
64 VOID
65 );
66
67 #endif