public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [Patch] BaseTools: fix the bug for Mixed Pcd display in the report
@ 2016-12-30  7:48 Yonghong Zhu
  2017-01-04  5:31 ` Gao, Liming
  0 siblings, 1 reply; 2+ messages in thread
From: Yonghong Zhu @ 2016-12-30  7:48 UTC (permalink / raw)
  To: edk2-devel; +Cc: Liming Gao

Fix the bug to not display the mixed PCD in the Global PCD section, and
correct the Pcd display name.

Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
---
 BaseTools/Source/Python/build/BuildReport.py | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/BaseTools/Source/Python/build/BuildReport.py b/BaseTools/Source/Python/build/BuildReport.py
index fb28970..69dcf99 100644
--- a/BaseTools/Source/Python/build/BuildReport.py
+++ b/BaseTools/Source/Python/build/BuildReport.py
@@ -883,10 +883,19 @@ class PcdReport(object):
                 #
                 # Group PCD by their usage type
                 #
                 TypeName, DecType = gPcdTypeMap.get(Type, ("", Type))
                 for Pcd in PcdDict[Key][Type]:
+                    PcdTokenCName = Pcd.TokenCName
+                    MixedPcdFlag = False
+                    if GlobalData.MixedPcd:
+                        for PcdKey in GlobalData.MixedPcd:
+                            if (Pcd.TokenCName, Pcd.TokenSpaceGuidCName) in GlobalData.MixedPcd[PcdKey]:
+                                PcdTokenCName = PcdKey[0]
+                                MixedPcdFlag = True
+                        if MixedPcdFlag and not ModulePcdSet:
+                            continue
                     #
                     # Get PCD default value and their override relationship
                     #
                     DecDefaultValue = self.DecPcdDefault.get((Pcd.TokenCName, Pcd.TokenSpaceGuidCName, DecType))
                     DscDefaultValue = self.DscPcdDefault.get((Pcd.TokenCName, Pcd.TokenSpaceGuidCName))
@@ -955,21 +964,21 @@ class PcdReport(object):
 
                     #
                     # Report PCD item according to their override relationship
                     #
                     if BuildOptionMatch:
-                        FileWrite(File, ' *B %-*s: %6s %10s = %-22s' % (self.MaxLen, Pcd.TokenCName, TypeName, '(' + Pcd.DatumType + ')', PcdValue.strip()))
+                        FileWrite(File, ' *B %-*s: %6s %10s = %-22s' % (self.MaxLen, PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', PcdValue.strip()))
                     elif DecMatch and InfMatch:
-                        FileWrite(File, '    %-*s: %6s %10s = %-22s' % (self.MaxLen, Pcd.TokenCName, TypeName, '(' + Pcd.DatumType + ')', PcdValue.strip()))
+                        FileWrite(File, '    %-*s: %6s %10s = %-22s' % (self.MaxLen, PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', PcdValue.strip()))
                     else:
                         if DscMatch:
                             if (Pcd.TokenCName, Key) in self.FdfPcdSet:
-                                FileWrite(File, ' *F %-*s: %6s %10s = %-22s' % (self.MaxLen, Pcd.TokenCName, TypeName, '(' + Pcd.DatumType + ')', PcdValue.strip()))
+                                FileWrite(File, ' *F %-*s: %6s %10s = %-22s' % (self.MaxLen, PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', PcdValue.strip()))
                             else:
-                                FileWrite(File, ' *P %-*s: %6s %10s = %-22s' % (self.MaxLen, Pcd.TokenCName, TypeName, '(' + Pcd.DatumType + ')', PcdValue.strip()))
+                                FileWrite(File, ' *P %-*s: %6s %10s = %-22s' % (self.MaxLen, PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', PcdValue.strip()))
                         else:
-                            FileWrite(File, ' *M %-*s: %6s %10s = %-22s' % (self.MaxLen, Pcd.TokenCName, TypeName, '(' + Pcd.DatumType + ')', PcdValue.strip()))
+                            FileWrite(File, ' *M %-*s: %6s %10s = %-22s' % (self.MaxLen, PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', PcdValue.strip()))
 
                     if TypeName in ('DYNHII', 'DEXHII', 'DYNVPD', 'DEXVPD'):
                         for SkuInfo in Pcd.SkuInfoList.values():
                             if TypeName in ('DYNHII', 'DEXHII'):
                                 FileWrite(File, '%*s: %s: %s' % (self.MaxLen + 4, SkuInfo.VariableGuid, SkuInfo.VariableName, SkuInfo.VariableOffset))
-- 
2.6.1.windows.1



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [Patch] BaseTools: fix the bug for Mixed Pcd display in the report
  2016-12-30  7:48 [Patch] BaseTools: fix the bug for Mixed Pcd display in the report Yonghong Zhu
@ 2017-01-04  5:31 ` Gao, Liming
  0 siblings, 0 replies; 2+ messages in thread
From: Gao, Liming @ 2017-01-04  5:31 UTC (permalink / raw)
  To: Zhu, Yonghong, edk2-devel@lists.01.org

Reviewed-by: Liming Gao <liming.gao@intel.com>

>-----Original Message-----
>From: Zhu, Yonghong
>Sent: Friday, December 30, 2016 3:48 PM
>To: edk2-devel@lists.01.org
>Cc: Gao, Liming <liming.gao@intel.com>
>Subject: [Patch] BaseTools: fix the bug for Mixed Pcd display in the report
>
>Fix the bug to not display the mixed PCD in the Global PCD section, and
>correct the Pcd display name.
>
>Cc: Liming Gao <liming.gao@intel.com>
>Contributed-under: TianoCore Contribution Agreement 1.0
>Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
>---
> BaseTools/Source/Python/build/BuildReport.py | 19 ++++++++++++++-----
> 1 file changed, 14 insertions(+), 5 deletions(-)
>
>diff --git a/BaseTools/Source/Python/build/BuildReport.py
>b/BaseTools/Source/Python/build/BuildReport.py
>index fb28970..69dcf99 100644
>--- a/BaseTools/Source/Python/build/BuildReport.py
>+++ b/BaseTools/Source/Python/build/BuildReport.py
>@@ -883,10 +883,19 @@ class PcdReport(object):
>                 #
>                 # Group PCD by their usage type
>                 #
>                 TypeName, DecType = gPcdTypeMap.get(Type, ("", Type))
>                 for Pcd in PcdDict[Key][Type]:
>+                    PcdTokenCName = Pcd.TokenCName
>+                    MixedPcdFlag = False
>+                    if GlobalData.MixedPcd:
>+                        for PcdKey in GlobalData.MixedPcd:
>+                            if (Pcd.TokenCName, Pcd.TokenSpaceGuidCName) in
>GlobalData.MixedPcd[PcdKey]:
>+                                PcdTokenCName = PcdKey[0]
>+                                MixedPcdFlag = True
>+                        if MixedPcdFlag and not ModulePcdSet:
>+                            continue
>                     #
>                     # Get PCD default value and their override relationship
>                     #
>                     DecDefaultValue = self.DecPcdDefault.get((Pcd.TokenCName,
>Pcd.TokenSpaceGuidCName, DecType))
>                     DscDefaultValue = self.DscPcdDefault.get((Pcd.TokenCName,
>Pcd.TokenSpaceGuidCName))
>@@ -955,21 +964,21 @@ class PcdReport(object):
>
>                     #
>                     # Report PCD item according to their override relationship
>                     #
>                     if BuildOptionMatch:
>-                        FileWrite(File, ' *B %-*s: %6s %10s = %-22s' % (self.MaxLen,
>Pcd.TokenCName, TypeName, '(' + Pcd.DatumType + ')', PcdValue.strip()))
>+                        FileWrite(File, ' *B %-*s: %6s %10s = %-22s' % (self.MaxLen,
>PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', PcdValue.strip()))
>                     elif DecMatch and InfMatch:
>-                        FileWrite(File, '    %-*s: %6s %10s = %-22s' % (self.MaxLen,
>Pcd.TokenCName, TypeName, '(' + Pcd.DatumType + ')', PcdValue.strip()))
>+                        FileWrite(File, '    %-*s: %6s %10s = %-22s' % (self.MaxLen,
>PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', PcdValue.strip()))
>                     else:
>                         if DscMatch:
>                             if (Pcd.TokenCName, Key) in self.FdfPcdSet:
>-                                FileWrite(File, ' *F %-*s: %6s %10s = %-22s' % (self.MaxLen,
>Pcd.TokenCName, TypeName, '(' + Pcd.DatumType + ')', PcdValue.strip()))
>+                                FileWrite(File, ' *F %-*s: %6s %10s = %-22s' % (self.MaxLen,
>PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', PcdValue.strip()))
>                             else:
>-                                FileWrite(File, ' *P %-*s: %6s %10s = %-22s' % (self.MaxLen,
>Pcd.TokenCName, TypeName, '(' + Pcd.DatumType + ')', PcdValue.strip()))
>+                                FileWrite(File, ' *P %-*s: %6s %10s = %-22s' % (self.MaxLen,
>PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', PcdValue.strip()))
>                         else:
>-                            FileWrite(File, ' *M %-*s: %6s %10s = %-22s' % (self.MaxLen,
>Pcd.TokenCName, TypeName, '(' + Pcd.DatumType + ')', PcdValue.strip()))
>+                            FileWrite(File, ' *M %-*s: %6s %10s = %-22s' % (self.MaxLen,
>PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', PcdValue.strip()))
>
>                     if TypeName in ('DYNHII', 'DEXHII', 'DYNVPD', 'DEXVPD'):
>                         for SkuInfo in Pcd.SkuInfoList.values():
>                             if TypeName in ('DYNHII', 'DEXHII'):
>                                 FileWrite(File, '%*s: %s: %s' % (self.MaxLen + 4,
>SkuInfo.VariableGuid, SkuInfo.VariableName, SkuInfo.VariableOffset))
>--
>2.6.1.windows.1



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-01-04  5:31 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-30  7:48 [Patch] BaseTools: fix the bug for Mixed Pcd display in the report Yonghong Zhu
2017-01-04  5:31 ` Gao, Liming

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox