https://bugzilla.tianocore.org/show_bug.cgi?id=1472
build report use incorrect method to parse DynamicDefault/DynamicExDefault
and DynamicVpd/DynamicExVpd structure Pcd value.

This patch is to fix this issue.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Bob Feng <bob.c.f...@intel.com>
Cc: Liming Gao <liming....@intel.com>
---
 BaseTools/Source/Python/build/BuildReport.py | 21 +++++++-------------
 1 file changed, 7 insertions(+), 14 deletions(-)

diff --git a/BaseTools/Source/Python/build/BuildReport.py 
b/BaseTools/Source/Python/build/BuildReport.py
index 8d3b030151..64f8a68516 100644
--- a/BaseTools/Source/Python/build/BuildReport.py
+++ b/BaseTools/Source/Python/build/BuildReport.py
@@ -1109,24 +1109,17 @@ class PcdReport(object):
                                                 break
                                 else:
                                     SkuList = sorted(Pcd.SkuInfoList.keys())
                                     for Sku in SkuList:
                                         SkuInfo = Pcd.SkuInfoList[Sku]
-                                        if TypeName in ('DYNHII', 'DEXHII'):
-                                            if SkuInfo.DefaultStoreDict:
-                                                DefaultStoreList = 
sorted(SkuInfo.DefaultStoreDict.keys())
-                                                for DefaultStore in 
DefaultStoreList:
-                                                    OverrideValues = 
Pcd.SkuOverrideValues[Sku]
-                                                    DscOverride = 
self.ParseStruct(OverrideValues[DefaultStore])
-                                                    if DscOverride:
-                                                        break
-                                        else:
-                                            OverrideValues = 
Pcd.SkuOverrideValues[Sku]
-                                            if OverrideValues:
-                                                Keys = 
list(OverrideValues.keys())
-                                                OverrideFieldStruct = 
self.OverrideFieldValue(Pcd, OverrideValues[Keys[0]])
-                                                DscOverride = 
self.ParseStruct(OverrideFieldStruct)
+                                        if SkuInfo.DefaultStoreDict:
+                                            DefaultStoreList = 
sorted(SkuInfo.DefaultStoreDict.keys())
+                                            for DefaultStore in 
DefaultStoreList:
+                                                OverrideValues = 
Pcd.SkuOverrideValues[Sku]
+                                                DscOverride = 
self.ParseStruct(OverrideValues[DefaultStore])
+                                                if DscOverride:
+                                                    break
                                         if DscOverride:
                                             break
                         if DscOverride:
                             DscDefaultValue = True
                             DscMatch = True
-- 
2.20.1.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to