[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