public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [Patch] BaseTools: Fix a bug for Mixed Pcd value display in the report
@ 2017-09-10  8:25 Yonghong Zhu
  2017-09-11  2:51 ` Gao, Liming
  0 siblings, 1 reply; 2+ messages in thread
From: Yonghong Zhu @ 2017-09-10  8:25 UTC (permalink / raw)
  To: edk2-devel; +Cc: Liming Gao

the case is that override the mixed pcd value in DSC [Components]
section, the value display in the report is incorrect.

Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
---
 BaseTools/Source/Python/AutoGen/AutoGen.py | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py b/BaseTools/Source/Python/AutoGen/AutoGen.py
index cd30894..8293672 100644
--- a/BaseTools/Source/Python/AutoGen/AutoGen.py
+++ b/BaseTools/Source/Python/AutoGen/AutoGen.py
@@ -2333,12 +2333,22 @@ class PlatformAutoGen(AutoGen):
 
         # override PCD settings with module specific setting
         if Module in self.Platform.Modules:
             PlatformModule = self.Platform.Modules[str(Module)]
             for Key  in PlatformModule.Pcds:
+                Flag = False
                 if Key in Pcds:
-                    self._OverridePcd(Pcds[Key], PlatformModule.Pcds[Key], Module)
+                    ToPcd = Pcds[Key]
+                    Flag = True
+                elif Key in GlobalData.MixedPcd:
+                    for PcdItem in GlobalData.MixedPcd[Key]:
+                        if PcdItem in Pcds:
+                            ToPcd = Pcds[PcdItem]
+                            Flag = True
+                            break
+                if Flag:
+                    self._OverridePcd(ToPcd, PlatformModule.Pcds[Key], Module)
         return Pcds.values()
 
     ## Resolve library names to library modules
     #
     # (for Edk.x modules)
-- 
2.6.1.windows.1



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

* Re: [Patch] BaseTools: Fix a bug for Mixed Pcd value display in the report
  2017-09-10  8:25 [Patch] BaseTools: Fix a bug for Mixed Pcd value display in the report Yonghong Zhu
@ 2017-09-11  2:51 ` Gao, Liming
  0 siblings, 0 replies; 2+ messages in thread
From: Gao, Liming @ 2017-09-11  2:51 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: Sunday, September 10, 2017 4:26 PM
>To: edk2-devel@lists.01.org
>Cc: Gao, Liming <liming.gao@intel.com>
>Subject: [Patch] BaseTools: Fix a bug for Mixed Pcd value display in the report
>
>the case is that override the mixed pcd value in DSC [Components]
>section, the value display in the report is incorrect.
>
>Cc: Liming Gao <liming.gao@intel.com>
>Contributed-under: TianoCore Contribution Agreement 1.1
>Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
>---
> BaseTools/Source/Python/AutoGen/AutoGen.py | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
>diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py
>b/BaseTools/Source/Python/AutoGen/AutoGen.py
>index cd30894..8293672 100644
>--- a/BaseTools/Source/Python/AutoGen/AutoGen.py
>+++ b/BaseTools/Source/Python/AutoGen/AutoGen.py
>@@ -2333,12 +2333,22 @@ class PlatformAutoGen(AutoGen):
>
>         # override PCD settings with module specific setting
>         if Module in self.Platform.Modules:
>             PlatformModule = self.Platform.Modules[str(Module)]
>             for Key  in PlatformModule.Pcds:
>+                Flag = False
>                 if Key in Pcds:
>-                    self._OverridePcd(Pcds[Key], PlatformModule.Pcds[Key], Module)
>+                    ToPcd = Pcds[Key]
>+                    Flag = True
>+                elif Key in GlobalData.MixedPcd:
>+                    for PcdItem in GlobalData.MixedPcd[Key]:
>+                        if PcdItem in Pcds:
>+                            ToPcd = Pcds[PcdItem]
>+                            Flag = True
>+                            break
>+                if Flag:
>+                    self._OverridePcd(ToPcd, PlatformModule.Pcds[Key], Module)
>         return Pcds.values()
>
>     ## Resolve library names to library modules
>     #
>     # (for Edk.x modules)
>--
>2.6.1.windows.1



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

end of thread, other threads:[~2017-09-11  2:48 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-10  8:25 [Patch] BaseTools: Fix a bug for Mixed Pcd value display in the report Yonghong Zhu
2017-09-11  2:51 ` Gao, Liming

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