mirror of https://github.com/acidanthera/audk.git
62 lines
1.8 KiB
C
62 lines
1.8 KiB
C
/** @file
|
|
This Variable Runtime Cache Info HOB is used to store the address
|
|
and the size of the buffer that will be used for variable runtime
|
|
service when the PcdEnableVariableRuntimeCache is TRUE.
|
|
|
|
Copyright (c) 2024, Intel Corporation. All rights reserved.<BR>
|
|
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
**/
|
|
|
|
#ifndef VARIABLE_RUNTIME_CACHE_INFO_H_
|
|
#define VARIABLE_RUNTIME_CACHE_INFO_H_
|
|
|
|
#define VARIABLE_RUNTIME_CACHE_INFO_HOB_REVISION 1
|
|
|
|
#define VARIABLE_RUNTIME_CACHE_INFO_GUID \
|
|
{ \
|
|
0x0f472f7d, 0x6713, 0x4915, {0x96, 0x14, 0x5d, 0xda, 0x28, 0x40, 0x10, 0x56} \
|
|
}
|
|
|
|
typedef struct {
|
|
///
|
|
/// TRUE indicates GetVariable () or GetNextVariable () is being called.
|
|
/// When the value is FALSE, the given update (and any other pending updates)
|
|
/// can be flushed to the runtime cache.
|
|
///
|
|
BOOLEAN ReadLock;
|
|
///
|
|
/// TRUE indicates there is pending update for the given variable store needed
|
|
/// to be flushed to the runtime cache.
|
|
///
|
|
BOOLEAN PendingUpdate;
|
|
///
|
|
/// TRUE indicates all HOB variables have been flushed in flash.
|
|
///
|
|
BOOLEAN HobFlushComplete;
|
|
} CACHE_INFO_FLAG;
|
|
|
|
typedef struct {
|
|
EFI_PHYSICAL_ADDRESS CacheInfoFlagBuffer;
|
|
///
|
|
/// Base address of the runtime Hob variable cache Buffer.
|
|
///
|
|
EFI_PHYSICAL_ADDRESS RuntimeHobCacheBuffer;
|
|
UINT64 RuntimeHobCachePages;
|
|
///
|
|
/// Base address of the non-volatile variable runtime cache Buffer.
|
|
///
|
|
EFI_PHYSICAL_ADDRESS RuntimeNvCacheBuffer;
|
|
UINT64 RuntimeNvCachePages;
|
|
///
|
|
/// Base address of the volatile variable runtime cache Buffer.
|
|
///
|
|
EFI_PHYSICAL_ADDRESS RuntimeVolatileCacheBuffer;
|
|
UINT64 RuntimeVolatileCachePages;
|
|
} VARIABLE_RUNTIME_CACHE_INFO;
|
|
|
|
extern EFI_GUID gEdkiiVariableRuntimeCacheInfoHobGuid;
|
|
|
|
#endif
|