UefiPayloadPkg: Add a common FVB SMM module
This FVB module is used to initialize NV variable region and provide SMM FVB protocol to read/write SPI variable region. This module consume HOB gNvVariableInfoGuid and depends on FlashDeviceLib for the actual SPI device operate. During FVB initialization, it will initialize the variable region if the variable region is not valid. And it support to write initial variable data from FFS file if it is found. Signed-off-by: Guo Dong <guo.dong@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Maurice Ma <maurice.ma@intel.com> Cc: Benjamin You <benjamin.you@intel.com> Reviewed-by: Ray Ni <ray.ni@intel.com> Reviewed-by: Benjamin You <benjamin.you@intel.com>
This commit is contained in:
24
UefiPayloadPkg/Include/Guid/NvVariableInfoGuid.h
Normal file
24
UefiPayloadPkg/Include/Guid/NvVariableInfoGuid.h
Normal file
@@ -0,0 +1,24 @@
|
||||
/** @file
|
||||
This file defines the hob structure for the SPI flash variable info.
|
||||
|
||||
Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef NV_VARIABLE_INFO_GUID_H_
|
||||
#define NV_VARIABLE_INFO_GUID_H_
|
||||
|
||||
//
|
||||
// NV variable hob info GUID
|
||||
//
|
||||
extern EFI_GUID gNvVariableInfoGuid;
|
||||
|
||||
typedef struct {
|
||||
UINT8 Revision;
|
||||
UINT8 Reserved[3];
|
||||
UINT32 VariableStoreBase;
|
||||
UINT32 VariableStoreSize;
|
||||
} NV_VARIABLE_INFO;
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user