MdeModulePkg PCD: Add DynamicEx PcdVpdBaseAddress64 for non SPI platform

https://bugzilla.tianocore.org/show_bug.cgi?id=1356
Current PcdVpdBaseAddress is 32bit static Pcd. NON SPI platform needs to
configure it as Dynamic PCD. Emulator platform (such as NT32) may set its
value to 64bit address.
To meet with this usage, 64bit DynamicEx PcdVpdBaseAddress64 is introduced.
If its value is not zero, it will be used.
If its value is zero, static PcdVpdBaseAddress will be used.
When NON SPI platform enables VPD PCD, they need to set PcdVpdBaseAddress64.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Liming Gao <liming.gao@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Dandan Bi <dandan.bi@intel.com>
This commit is contained in:
Liming Gao
2018-11-22 22:10:29 +08:00
parent 277a3958d9
commit 534efca06f
8 changed files with 54 additions and 4 deletions

View File

@ -2022,5 +2022,13 @@
# @Prompt NV Storage Default Value Buffer
gEfiMdeModulePkgTokenSpaceGuid.PcdNvStoreDefaultValueBuffer|{0x0}|VOID*|0x00030005
## VPD type PCD allows a developer to point to an absolute physical address PcdVpdBaseAddress64
# to store PCD value. It will be DynamicExDefault only.
# It is used to set VPD region base address. So, it can't be DynamicExVpd PCD. Its value is
# required to be accessed in PcdDxe driver entry point. So, its value must be set in PEI phase.
# It can't depend on EFI variable service, and can't be DynamicExHii PCD.
# @Prompt 64bit VPD base address.
gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress64|0x0|UINT64|0x00030006
[UserExtensions.TianoCore."ExtraFiles"]
MdeModulePkgExtra.uni