VariableAttrs = {}\r
\r
Pcds = OrderedDict()\r
+ UserDefinedDefaultStores = []\r
#\r
# tdict is a special dict kind of type, used for selecting correct\r
# PCD settings for certain ARCH and SKU\r
DefaultStore = DefaultStore.upper()\r
if DefaultStore == TAB_COMMON:\r
DefaultStore = TAB_DEFAULT_STORES_DEFAULT\r
+ else:\r
+ #The end user define [DefaultStores] and [SKUID_IDENTIFIER.Menufacturing] in DSC\r
+ UserDefinedDefaultStores.append((PcdCName, TokenSpaceGuid))\r
if SkuName not in AvailableSkuIdSet:\r
EdkLogger.error('build', PARAMETER_INVALID, 'Sku %s is not defined in [SkuIds] section' % SkuName,\r
File=self.MetaFile, Line=Dummy5)\r
pcdObject.SkuInfoList[SkuName] = SkuInfo\r
else:\r
SkuInfo = SkuInfoClass(SkuName, self.SkuIds[SkuName][0], VariableName, VariableGuid, VariableOffset, DefaultValue, VariableAttribute=VarAttribute, DefaultStore={DefaultStore:DefaultValue})\r
- Pcds[PcdCName, TokenSpaceGuid] = PcdClassObject(\r
+ PcdClassObj = PcdClassObject(\r
PcdCName,\r
TokenSpaceGuid,\r
self._PCD_TYPE_STRING_[Type],\r
pcdDecObject.validlists,\r
pcdDecObject.expressions,\r
IsDsc=True)\r
+ if (PcdCName, TokenSpaceGuid) in UserDefinedDefaultStores:\r
+ PcdClassObj.UserDefinedDefaultStoresFlag = True\r
+ Pcds[PcdCName, TokenSpaceGuid] = PcdClassObj\r
\r
if SkuName not in Pcds[PcdCName, TokenSpaceGuid].DscRawValue:\r
Pcds[PcdCName, TokenSpaceGuid].DscRawValue[SkuName] = {}\r