# @see BuildClassObject.PcdClassObject\r
# Value : offset in different SKU such as [sku1_offset, sku2_offset]\r
self._VpdArray = {}\r
+ self._VpdInfo = {}\r
\r
## Add a VPD PCD collected from platform's autogen when building.\r
#\r
if Vpd.MaxDatumSize == None or Vpd.MaxDatumSize == "":\r
Vpd.MaxDatumSize = VpdInfoFile._MAX_SIZE_TYPE[Vpd.DatumType]\r
else:\r
- EdkLogger.error("VpdInfoFile", BuildToolError.PARAMETER_INVALID, \r
- "Invalid DatumType %s for VPD PCD %s.%s" % (Vpd.DatumType, Vpd.TokenSpaceGuidCName, Vpd.TokenCName))\r
+ if Vpd.MaxDatumSize <= 0:\r
+ EdkLogger.error("VpdInfoFile", BuildToolError.PARAMETER_INVALID,\r
+ "Invalid max datum size for VPD PCD %s.%s" % (Vpd.TokenSpaceGuidCName, Vpd.TokenCName))\r
\r
if Vpd not in self._VpdArray.keys():\r
#\r
\r
Found = False\r
\r
+ if (TokenSpaceName, PcdTokenName) not in self._VpdInfo:\r
+ self._VpdInfo[(TokenSpaceName, PcdTokenName)] = []\r
+ self._VpdInfo[(TokenSpaceName, PcdTokenName)].append((SkuId,Offset, Value))\r
for VpdObject in self._VpdArray.keys():\r
VpdObjectTokenCName = VpdObject.TokenCName\r
for PcdItem in GlobalData.MixedPcd:\r
return None\r
\r
return self._VpdArray[vpd]\r
+ def GetVpdInfo(self,(PcdTokenName,TokenSpaceName)):\r
+ return self._VpdInfo.get((TokenSpaceName, PcdTokenName))\r
\r
## Call external BPDG tool to process VPD file\r
# \r