Skip to content
Commit 6738c654 authored by Michael D Kinney's avatar Michael D Kinney
Browse files

Vlv2TbltDevicePkg: Convert use of FCE tool to Structured PCD



Update this platform to not use the FCE tool to init the
platform setup variable with default values from HII forms.
Instead, use a Structured PCD with field default values
extracted from the HII.  The default value for the Structured
PCD is stored in the VPD region of the FLASH, so it is always
available.  The platform setup variable is set to the value
from the VPD region if the variable does not exist or is the
wrong size.

This change also removes the need for Linux/GCC binary files
use to initialize the NV store.

* Update PlatformSetupoDxe VFR to declare the platform setup
  structure as an efivarstore instead of varstore.
* Update PlatformSetupDxe to return EFI_UNSUPPORTED from the
  HII_CONFIG_ACCESS_PROTOCOL RouteConfig() and ExtractConfig()
  services.
* Fix a use after free issue in PlatformSetupDxe that could
  store a random value into the "OsSelection" when the Load
  Default and Exit setup menu item is used.
* Add PlatformSetupDefault.dsc file that contains the default
  values for all setup questions.
* Update DSC files to declare VPD_TOOL_GUID which is required
  to generate the binary file used to populate the VPD region
* Update DSC files to declare Default Stores for both STANDARD
  and MANUFACTURING mode.  Only STANDARD mode is used right now.
* Update FDF files to add a VPD region
* Update GCC FDF file to initialize the NvStorageVariable regions
  the same as the non GCC FDF file.
* Update DEC file with platform setup Structured PCD called PcdSetup
  that is associated with the SYSTEM_CONFIGURATION C structure.
* Update PlatformEarlyInit module to detect if the platform setup
  variable exists or is corrupt.  If it does not exist or is corrupt,
  then set PcdSetNvStoreDefaultId to select STANDARD defaults.  This
  initializes a HOB that contains the platform setup defaults and
  this HOB is used by the Variable PEIM to return the platform setup
  variable value.
* Remove FCE.exe and BfmLib.exe files

Cc: Zailiang Sun <zailiang.sun@intel.com>
Cc: Yi Qian <yi.qian@intel.com>
Cc: Gary Lin <glin@suse.com>
Signed-off-by: default avatarMichael D Kinney <michael.d.kinney@intel.com>
Reviewed-by: default avatarZailiang Sun <zailiang.sun@intel.com>
Tested-by: default avatarGary Lin <glin@suse.com>
parent 2d907e49
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment