X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=BaseTools%2FSource%2FPython%2Fbuild%2FBuildReport.py;h=de8f0fb087d948d1d7764f8e3f62299ea427aeca;hb=a6a326770b0e9e209c604d26fd861a9714c36bef;hp=14143b3396c05e1cba888db05dccf5766d51bb77;hpb=47f15da16053f031bcf7c50f6960bd0f6c83d2db;p=mirror_edk2.git diff --git a/BaseTools/Source/Python/build/BuildReport.py b/BaseTools/Source/Python/build/BuildReport.py index 14143b3396..de8f0fb087 100644 --- a/BaseTools/Source/Python/build/BuildReport.py +++ b/BaseTools/Source/Python/build/BuildReport.py @@ -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: @@ -1091,10 +1095,11 @@ class PcdReport(object): if not Pcd.SkuInfoList: OverrideValues = Pcd.SkuOverrideValues if OverrideValues: - Keys = list(OverrideValues.keys()) - Data = OverrideValues[Keys[0]] - Struct = list(Data.values()) - DscOverride = self.ParseStruct(Struct[0]) + for Data in OverrideValues.values(): + Struct = list(Data.values()) + if Struct: + DscOverride = self.ParseStruct(Struct[0]) + break else: SkuList = sorted(Pcd.SkuInfoList.keys()) for Sku in SkuList: @@ -1265,14 +1270,19 @@ 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: - Keys = list(OverrideValues.keys()) - Data = OverrideValues[Keys[0]] - Struct = list(Data.values()) - if Struct: - OverrideFieldStruct = self.OverrideFieldValue(Pcd, Struct[0]) - self.PrintStructureInfo(File, OverrideFieldStruct) + for Data in OverrideValues.values(): + Struct = list(Data.values()) + 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 @@ -1392,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):