BaseTools: Collect DynamicHii PCD values and assign it to VPD PCD Value

https://bugzilla.tianocore.org/show_bug.cgi?id=661
Collect all DynamicHii and DynamicExHii PCD value into PCD
PcdNvStoreDefaultValueBuffer, then firmware can access this PCD value
to get the variable default setting.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Feng Bob C <bob.c.feng@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
Liming Gao
2017-11-24 14:46:58 +08:00
parent ae7b6df816
commit 34952f493c
5 changed files with 356 additions and 25 deletions

View File

@ -122,12 +122,16 @@ class StructurePcd(PcdClassObject):
return self.TypeName
def AddDefaultValue (self, FieldName, Value, FileName="", LineNo=0):
if FieldName in self.DefaultValues:
del self.DefaultValues[FieldName]
self.DefaultValues[FieldName] = [Value.strip(), FileName, LineNo]
return self.DefaultValues[FieldName]
def AddOverrideValue (self, FieldName, Value, SkuName, FileName="", LineNo=0):
if SkuName not in self.SkuOverrideValues:
self.SkuOverrideValues[SkuName] = collections.OrderedDict({})
if FieldName in self.SkuOverrideValues[SkuName]:
del self.SkuOverrideValues[SkuName][FieldName]
self.SkuOverrideValues[SkuName][FieldName] = [Value.strip(), FileName, LineNo]
return self.SkuOverrideValues[SkuName][FieldName]