mirror of https://github.com/acidanthera/audk.git
BaseTools: Fix the *B and *F Flag display for Structure Pcd
Because of we newly add the PcdFieldValueFromComm and PcdFieldValueFromFdf in early parser phase, so in the report we use the saved value in this two variables to print it. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
parent
0dab57708d
commit
a6a326770b
|
@ -1074,9 +1074,13 @@ class PcdReport(object):
|
|||
Pcd.DatumType = Pcd.StructName
|
||||
if TypeName in ('DYNVPD', 'DEXVPD'):
|
||||
Pcd.SkuInfoList = SkuInfoList
|
||||
if Pcd.PcdFieldValueFromComm:
|
||||
if Pcd.PcdValueFromComm or Pcd.PcdFieldValueFromComm:
|
||||
BuildOptionMatch = True
|
||||
DecMatch = False
|
||||
elif Pcd.PcdValueFromFdf or Pcd.PcdFieldValueFromFdf:
|
||||
DscDefaultValue = True
|
||||
DscMatch = True
|
||||
DecMatch = False
|
||||
elif Pcd.SkuOverrideValues:
|
||||
DscOverride = False
|
||||
if Pcd.DefaultFromDSC:
|
||||
|
@ -1266,6 +1270,7 @@ class PcdReport(object):
|
|||
Value = "0x{:X} ({})".format(int(Value, 0), Value)
|
||||
FileWrite(File, ' %-*s : %6s %10s = %s' % (self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', Value))
|
||||
if IsStructure:
|
||||
FiledOverrideFlag = False
|
||||
OverrideValues = Pcd.SkuOverrideValues
|
||||
if OverrideValues:
|
||||
for Data in OverrideValues.values():
|
||||
|
@ -1273,7 +1278,11 @@ class PcdReport(object):
|
|||
if Struct:
|
||||
OverrideFieldStruct = self.OverrideFieldValue(Pcd, Struct[0])
|
||||
self.PrintStructureInfo(File, OverrideFieldStruct)
|
||||
FiledOverrideFlag = True
|
||||
break
|
||||
if not FiledOverrideFlag and (Pcd.PcdFieldValueFromComm or Pcd.PcdFieldValueFromFdf):
|
||||
OverrideFieldStruct = self.OverrideFieldValue(Pcd, {})
|
||||
self.PrintStructureInfo(File, OverrideFieldStruct)
|
||||
self.PrintPcdDefault(File, Pcd, IsStructure, DscMatch, DscDefaultValue, InfMatch, InfDefaultValue, DecMatch, DecDefaultValue)
|
||||
else:
|
||||
FirstPrint = True
|
||||
|
@ -1393,11 +1402,16 @@ class PcdReport(object):
|
|||
if TypeName in ('DYNVPD', 'DEXVPD'):
|
||||
FileWrite(File, '%*s' % (self.MaxLen + 4, SkuInfo.VpdOffset))
|
||||
if IsStructure:
|
||||
FiledOverrideFlag = False
|
||||
OverrideValues = Pcd.SkuOverrideValues[Sku]
|
||||
if OverrideValues:
|
||||
Keys = OverrideValues.keys()
|
||||
OverrideFieldStruct = self.OverrideFieldValue(Pcd, OverrideValues[Keys[0]])
|
||||
self.PrintStructureInfo(File, OverrideFieldStruct)
|
||||
FiledOverrideFlag = True
|
||||
if not FiledOverrideFlag and (Pcd.PcdFieldValueFromComm or Pcd.PcdFieldValueFromFdf):
|
||||
OverrideFieldStruct = self.OverrideFieldValue(Pcd, {})
|
||||
self.PrintStructureInfo(File, OverrideFieldStruct)
|
||||
self.PrintPcdDefault(File, Pcd, IsStructure, DscMatch, DscDefaultValue, InfMatch, InfDefaultValue, DecMatch, DecDefaultValue)
|
||||
|
||||
def OverrideFieldValue(self, Pcd, OverrideStruct):
|
||||
|
|
Loading…
Reference in New Issue