[edk2-devel] [Patch] BaseTools: Sort the Pcd set when generating the VPD binary
Bob Feng
bob.c.feng at intel.com
Tue Sep 8 09:29:41 UTC 2020
Patch is pushed at 859e095.
Thanks,
Bob
-----Original Message-----
From: Philippe Mathieu-Daudé <philmd at redhat.com>
Sent: Monday, September 7, 2020 9:49 PM
To: devel at edk2.groups.io; Feng, Bob C <bob.c.feng at intel.com>
Cc: Liming Gao <gaoliming at byosoft.com.cn>; Chen, Christine <yuwei.chen at intel.com>
Subject: Re: [edk2-devel] [Patch] BaseTools: Sort the Pcd set when generating the VPD binary
On 9/4/20 4:30 PM, Bob Feng wrote:
> If VPD PcdNvStoreDefaultValueBuffer is used, all DynamicHii and
> DynamicExHii PCD value will be generated into that VPD.
>
> In order to generate the same VPD binary file in every build, sort the
> Pcd set when generating VPD.
>
> Signed-off-by: Bob Feng <bob.c.feng at intel.com>
> Cc: Liming Gao <gaoliming at byosoft.com.cn>
> Cc: Yuwei Chen <yuwei.chen at intel.com>
Reviewed-by: Philippe Mathieu-Daude <philmd at redhat.com>
> ---
> BaseTools/Source/Python/AutoGen/PlatformAutoGen.py | 2 +-
> BaseTools/Source/Python/Workspace/DscBuildData.py | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/BaseTools/Source/Python/AutoGen/PlatformAutoGen.py
> b/BaseTools/Source/Python/AutoGen/PlatformAutoGen.py
> index af66c48c7d..26ab8e7f36 100644
> --- a/BaseTools/Source/Python/AutoGen/PlatformAutoGen.py
> +++ b/BaseTools/Source/Python/AutoGen/PlatformAutoGen.py
> @@ -251,11 +251,11 @@ class PlatformAutoGen(AutoGen):
>
> VariableInfo = VariableMgr(self.DscBuildDataObj._GetDefaultStores(), self.DscBuildDataObj.SkuIds)
> VariableInfo.SetVpdRegionMaxSize(VpdRegionSize)
> VariableInfo.SetVpdRegionOffset(VpdRegionBase)
> Index = 0
> - for Pcd in DynamicPcdSet:
> + for Pcd in sorted(DynamicPcdSet):
> pcdname = ".".join((Pcd.TokenSpaceGuidCName, Pcd.TokenCName))
> for SkuName in Pcd.SkuInfoList:
> Sku = Pcd.SkuInfoList[SkuName]
> SkuId = Sku.SkuId
> if SkuId is None or SkuId == '':
> diff --git a/BaseTools/Source/Python/Workspace/DscBuildData.py
> b/BaseTools/Source/Python/Workspace/DscBuildData.py
> index 1afbd3eefc..4a128c8a77 100644
> --- a/BaseTools/Source/Python/Workspace/DscBuildData.py
> +++ b/BaseTools/Source/Python/Workspace/DscBuildData.py
> @@ -2582,11 +2582,11 @@ class DscBuildData(PlatformBuildClassObject):
> IncludeFiles.add(IncludeFile)
> CApp = CApp + '#include <%s>\n' % (IncludeFile)
> CApp = CApp + '\n'
> for Pcd in StructuredPcds.values():
> CApp = CApp + self.GenerateArrayAssignment(Pcd)
> - for PcdName in StructuredPcds:
> + for PcdName in sorted(StructuredPcds.keys()):
> Pcd = StructuredPcds[PcdName]
> CApp = CApp + self.GenerateSizeFunction(Pcd)
> CApp = CApp + self.GenerateDefaultValueAssignFunction(Pcd)
> CApp = CApp + self.GenerateFdfValue(Pcd)
> CApp = CApp + self.GenerateCommandLineValue(Pcd)
>
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#65131): https://edk2.groups.io/g/devel/message/65131
Mute This Topic: https://groups.io/mt/76630786/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list