https://vthsd.intel.com/hsd/tiano/tracker/default.aspx?tracker_id=223983
1. Define one fixedatbuild PCD in dec: [PcdsFixedAtBuild] gUefiOvmfPkgTokenSpaceGuid.test1| {0x01, 0x02}|VOID*|0x3c 2. Define this PCD point to a depex GUID in dsc: MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf { <LibraryClasses> NULL|OvmfPkg/Library/SmbiosVersionLib/DetectSmbiosVersionLib.inf <PcdsFixedAtBuild> gUefiOvmfPkgTokenSpaceGuid.test1| gEfiSmbiosProtocolGuid } 3. Define this PCD under [Depex] and [pcd] section in above lib file: [Pcd] gUefiOvmfPkgTokenSpaceGuid.test1 [Depex] gUefiOvmfPkgTokenSpaceGuid.test1 Cc: Bob Feng <bob.c.f...@intel.com> Cc: Liming Gao <liming....@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Zhiju.Fan <zhijux....@intel.com> --- BaseTools/Source/Python/AutoGen/AutoGen.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py b/BaseTools/Source/Python/AutoGen/AutoGen.py index cfe2d29099..b3dda1adeb 100644 --- a/BaseTools/Source/Python/AutoGen/AutoGen.py +++ b/BaseTools/Source/Python/AutoGen/AutoGen.py @@ -2779,11 +2779,21 @@ class ModuleAutoGen(AutoGen): if '.' not in item: NewList.append(item) else: - if item not in self._FixedPcdVoidTypeDict: + if item not in self.FixedVoidTypePcds.keys(): EdkLogger.error("build", FORMAT_INVALID, "{} used in [Depex] section should be used as FixedAtBuild type and VOID* datum type in the module.".format(item)) else: - Value = self._FixedPcdVoidTypeDict[item] - if len(Value.split(',')) != 16: + Value = self.FixedVoidTypePcds[item] + if Value.startswith('"') and Value.endswith('"'): + GuidValue = Value[1:-1] + GuidList = self.GuidList + GuidList.update(self.PpiList) + GuidList.update(self.ProtocolList) + try: + Value = GuidList[GuidValue] + except: + EdkLogger.error("build", FORMAT_INVALID, + "{} used in [Depex] section should be used as FixedAtBuild type and VOID* datum type and 16 bytes in the module.".format(item)) + elif len(Value.split(',')) != 16: EdkLogger.error("build", FORMAT_INVALID, "{} used in [Depex] section should be used as FixedAtBuild type and VOID* datum type and 16 bytes in the module.".format(item)) NewList.append(Value) -- 2.14.1.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel