BaseTools: Fix PcdNvStoreDefaultValueBuffer Value.
https://bugzilla.tianocore.org/show_bug.cgi?id=1385 This patch is going to fix the regression issue that is introduced by commite6eae3b4c7
and commit0b6c5954e1
. PcdNvStoreDefaultValueBuffer value is update to Vpd Info File, but it is not update into a internal cache. This patch will fix this incorrect value in that internal cache. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Leif Lindholm <leif.lindholm@linaro.org> Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
@ -1570,6 +1570,12 @@ class PlatformAutoGen(AutoGen):
|
||||
self.FixVpdOffset(VpdFile)
|
||||
|
||||
self.FixVpdOffset(self.UpdateNVStoreMaxSize(VpdFile))
|
||||
PcdNvStoreDfBuffer = [item for item in self._DynamicPcdList if item.TokenCName == "PcdNvStoreDefaultValueBuffer" and item.TokenSpaceGuidCName == "gEfiMdeModulePkgTokenSpaceGuid"]
|
||||
if PcdNvStoreDfBuffer:
|
||||
PcdName,PcdGuid = PcdNvStoreDfBuffer[0].TokenCName, PcdNvStoreDfBuffer[0].TokenSpaceGuidCName
|
||||
if (PcdName,PcdGuid) in VpdSkuMap:
|
||||
DefaultSku = PcdNvStoreDfBuffer[0].SkuInfoList.get(TAB_DEFAULT)
|
||||
VpdSkuMap[(PcdName,PcdGuid)] = {DefaultSku.DefaultValue:[DefaultSku]}
|
||||
|
||||
# Process VPD map file generated by third party BPDG tool
|
||||
if NeedProcessVpdMapFile:
|
||||
@ -1887,15 +1893,17 @@ class PlatformAutoGen(AutoGen):
|
||||
return {(Pcd.TokenCName, Pcd.TokenSpaceGuidCName):Pcd for Pcd in self.NonDynamicPcdList}
|
||||
|
||||
## Get list of non-dynamic PCDs
|
||||
@cached_property
|
||||
@property
|
||||
def NonDynamicPcdList(self):
|
||||
self.CollectPlatformDynamicPcds()
|
||||
if not self._NonDynamicPcdList:
|
||||
self.CollectPlatformDynamicPcds()
|
||||
return self._NonDynamicPcdList
|
||||
|
||||
## Get list of dynamic PCDs
|
||||
@cached_property
|
||||
@property
|
||||
def DynamicPcdList(self):
|
||||
self.CollectPlatformDynamicPcds()
|
||||
if not self._DynamicPcdList:
|
||||
self.CollectPlatformDynamicPcds()
|
||||
return self._DynamicPcdList
|
||||
|
||||
## Generate Token Number for all PCD
|
||||
|
Reference in New Issue
Block a user