This patch is going to fix the issue of only Default SkuId is built into the External Pcd DataBase.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Feng, Bob C <bob.c.feng@intel.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16006 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Feng, Bob C 2014-08-30 12:59:03 +00:00 committed by bobfeng
parent 284065b0a1
commit 12d37ace00
1 changed files with 1 additions and 27 deletions

View File

@ -283,15 +283,7 @@ class WorkspaceAutoGen(AutoGen):
ExtraData="Build target [%s] is not supported by the platform. [Valid target: %s]"
% (self.BuildTarget, " ".join(self.Platform.BuildTargets)))
# Validate SKU ID
if not self.SkuId:
self.SkuId = 'DEFAULT'
if self.SkuId not in self.Platform.SkuIds:
EdkLogger.error("build", PARAMETER_INVALID,
ExtraData="SKU-ID [%s] is not supported by the platform. [Valid SKU-ID: %s]"
% (self.SkuId, " ".join(self.Platform.SkuIds.keys())))
# parse FDF file to get PCDs in it, if any
if not self.FdfFile:
self.FdfFile = self.Platform.FlashDefinition
@ -996,11 +988,6 @@ class PlatformAutoGen(AutoGen):
PcdFromModule.IsFromBinaryInf == False:
# Print warning message to let the developer make a determine.
if PcdFromModule not in PcdNotInDb:
# EdkLogger.warn("build",
# "A PCD listed in the DSC (%s.%s, %s) is used by a module not in the FDF. If the PCD is not used by any module listed in the FDF this PCD will be ignored. " \
# % (PcdFromModule.TokenSpaceGuidCName, PcdFromModule.TokenCName, self.Platform.MetaFile.Path),
# File=self.MetaFile, \
# ExtraData=None)
PcdNotInDb.append(PcdFromModule)
continue
# If one of the Source built modules listed in the DSC is not listed in
@ -1105,19 +1092,6 @@ class PlatformAutoGen(AutoGen):
% NoDatumTypePcdListString)
self._NonDynamicPcdList = self._NonDynaPcdList_
self._DynamicPcdList = self._DynaPcdList_
# If PCD is listed in a PcdsDynamicHii, PcdsDynamicExHii, PcdsDynamicHii or PcdsDynamicExHii
# section, and the PCD is not used by any module that is listed in the DSC file, the build
# provide a warning message.
#for PcdKey in self.Platform.Pcds.keys():
# Pcd = self.Platform.Pcds[PcdKey]
# if Pcd not in self._DynamicPcdList + PcdNotInDb and \
# Pcd.Type in [TAB_PCDS_DYNAMIC, TAB_PCDS_DYNAMIC_DEFAULT, TAB_PCDS_DYNAMIC_HII, TAB_PCDS_DYNAMIC_EX, TAB_PCDS_DYNAMIC_EX_DEFAULT, TAB_PCDS_DYNAMIC_EX_HII]:
# # Print warning message to let the developer make a determine.
#EdkLogger.warn("build",
# "A %s PCD listed in the DSC (%s.%s, %s) is not used by any module." \
# % (Pcd.Type, Pcd.TokenSpaceGuidCName, Pcd.TokenCName, self.Platform.MetaFile.Path),
# File=self.MetaFile, \
# ExtraData=None)
#
# Sort dynamic PCD list to:
# 1) If PCD's datum type is VOID* and value is unicode string which starts with L, the PCD item should