9#ifndef _SMM_VARIABLE_COMMON_H_
10#define _SMM_VARIABLE_COMMON_H_
15#define EFI_SMM_VARIABLE_WRITE_GUID \
16 { 0x93ba1826, 0xdffb, 0x45dd, { 0x82, 0xa7, 0xe7, 0xdc, 0xaa, 0x3b, 0xbd, 0xf3 } }
18extern EFI_GUID gSmmVariableWriteGuid;
34#define SMM_VARIABLE_FUNCTION_GET_VARIABLE 1
38#define SMM_VARIABLE_FUNCTION_GET_NEXT_VARIABLE_NAME 2
42#define SMM_VARIABLE_FUNCTION_SET_VARIABLE 3
46#define SMM_VARIABLE_FUNCTION_QUERY_VARIABLE_INFO 4
50#define SMM_VARIABLE_FUNCTION_READY_TO_BOOT 5
54#define SMM_VARIABLE_FUNCTION_EXIT_BOOT_SERVICE 6
59#define SMM_VARIABLE_FUNCTION_GET_STATISTICS 7
63#define SMM_VARIABLE_FUNCTION_LOCK_VARIABLE 8
65#define SMM_VARIABLE_FUNCTION_VAR_CHECK_VARIABLE_PROPERTY_SET 9
67#define SMM_VARIABLE_FUNCTION_VAR_CHECK_VARIABLE_PROPERTY_GET 10
69#define SMM_VARIABLE_FUNCTION_GET_PAYLOAD_SIZE 11
73#define SMM_VARIABLE_FUNCTION_INIT_RUNTIME_VARIABLE_CACHE_CONTEXT 12
75#define SMM_VARIABLE_FUNCTION_SYNC_RUNTIME_CACHE 13
79#define SMM_VARIABLE_FUNCTION_GET_RUNTIME_CACHE_INFO 14
84#define SMM_COMMUNICATE_HEADER_SIZE (OFFSET_OF (EFI_MM_COMMUNICATE_HEADER, Data))
89#define SMM_VARIABLE_COMMUNICATE_HEADER_SIZE (OFFSET_OF (SMM_VARIABLE_COMMUNICATE_HEADER, Data))
115 UINT64 MaximumVariableStorageSize;
116 UINT64 RemainingVariableStorageSize;
117 UINT64 MaximumVariableSize;
131 UINTN VariablePayloadSize;
136 BOOLEAN *PendingUpdate;
137 BOOLEAN *HobFlushComplete;
144 UINTN TotalHobStorageSize;
145 UINTN TotalNvStorageSize;
146 UINTN TotalVolatileStorageSize;
147 BOOLEAN AuthenticatedVariableUsage;