* [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