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:
Guo Dong
2021-09-22 14:42:50 -07:00
committed by mergify[bot]
parent 04714cef46
commit ae8acce8ae
8 changed files with 1735 additions and 0 deletions

View 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