import Common.EdkLogger as EdkLogger\r
import Common.BuildToolError as BuildToolError\r
import subprocess\r
+import Common.GlobalData as GlobalData\r
from Common.LongFilePathSupport import OpenLongFilePath as open\r
from Common.Misc import SaveFileOnChange\r
\r
Pcds.sort()\r
for Pcd in Pcds:\r
i = 0\r
+ PcdTokenCName = Pcd.TokenCName\r
+ for PcdItem in GlobalData.MixedPcd:\r
+ if (Pcd.TokenCName, Pcd.TokenSpaceGuidCName) in GlobalData.MixedPcd[PcdItem]:\r
+ PcdTokenCName = PcdItem[0]\r
for Offset in self._VpdArray[Pcd]:\r
PcdValue = str(Pcd.SkuInfoList[Pcd.SkuInfoList.keys()[i]].DefaultValue).strip()\r
if PcdValue == "" :\r
PcdValue = Pcd.DefaultValue\r
\r
- Content += "%s.%s|%s|%s|%s|%s \n" % (Pcd.TokenSpaceGuidCName, Pcd.TokenCName, str(Pcd.SkuInfoList.keys()[i]),str(Offset).strip(), str(Pcd.MaxDatumSize).strip(),PcdValue)\r
+ Content += "%s.%s|%s|%s|%s|%s \n" % (Pcd.TokenSpaceGuidCName, PcdTokenCName, str(Pcd.SkuInfoList.keys()[i]),str(Offset).strip(), str(Pcd.MaxDatumSize).strip(),PcdValue)\r
i += 1\r
\r
return SaveFileOnChange(FilePath, Content, False)\r
Found = False\r
\r
for VpdObject in self._VpdArray.keys():\r
- for sku in VpdObject.SkuInfoList.keys(): \r
- if VpdObject.TokenSpaceGuidCName == TokenSpaceName and VpdObject.TokenCName == PcdTokenName.strip() and sku == SkuId:\r
+ VpdObjectTokenCName = VpdObject.TokenCName\r
+ for PcdItem in GlobalData.MixedPcd:\r
+ if (VpdObject.TokenCName, VpdObject.TokenSpaceGuidCName) in GlobalData.MixedPcd[PcdItem]:\r
+ VpdObjectTokenCName = PcdItem[0]\r
+ for sku in VpdObject.SkuInfoList.keys():\r
+ if VpdObject.TokenSpaceGuidCName == TokenSpaceName and VpdObjectTokenCName == PcdTokenName.strip() and sku == SkuId:\r
if self._VpdArray[VpdObject][VpdObject.SkuInfoList.keys().index(sku)] == "*":\r
if Offset == "*":\r
EdkLogger.error("BPDG", BuildToolError.FORMAT_INVALID, "The offset of %s has not been fixed up by third-party BPDG tool." % PcdName) \r