# This class contain method to format and pack pcd's value. \r
#\r
class PcdEntry:\r
- def __init__(self, PcdCName, PcdOffset, PcdSize, PcdValue, Lineno=None, FileName=None, PcdUnpackValue=None, \r
+ def __init__(self, PcdCName, SkuId,PcdOffset, PcdSize, PcdValue, Lineno=None, FileName=None, PcdUnpackValue=None, \r
PcdBinOffset=None, PcdBinSize=None):\r
self.PcdCName = PcdCName.strip()\r
+ self.SkuId = SkuId.strip()\r
self.PcdOffset = PcdOffset.strip()\r
self.PcdSize = PcdSize.strip()\r
self.PcdValue = PcdValue.strip()\r
"Invalid unicode character %s in unicode string %s(File: %s Line: %s)" % \\r
(Value, UnicodeString, self.FileName, self.Lineno))\r
\r
- for Index in range(len(UnicodeString) * 2, Size):\r
+ for Index in xrange(len(UnicodeString) * 2, Size):\r
ReturnArray.append(0)\r
\r
self.PcdValue = ReturnArray.tolist() \r
#\r
# Enhanced for support "|" character in the string.\r
#\r
- ValueList = ['', '', '', ''] \r
+ ValueList = ['', '', '', '',''] \r
\r
ValueRe = re.compile(r'\s*L?\".*\|.*\"\s*$')\r
PtrValue = ValueRe.findall(line)\r
ValueList[0:len(TokenList)] = TokenList\r
\r
if ValueUpdateFlag:\r
- ValueList[3] = PtrValue[0] \r
+ ValueList[4] = PtrValue[0] \r
self.FileLinesList[count] = ValueList\r
# Store the line number\r
self.FileLinesList[count].append(str(count+1))\r
count = 0\r
for line in self.FileLinesList: \r
if line != None :\r
- PCD = PcdEntry(line[0], line[1], line[2], line[3], line[4], self.InputFileName) \r
+ PCD = PcdEntry(line[0], line[1], line[2], line[3], line[4],line[5], self.InputFileName) \r
# Strip the space char\r
PCD.PcdCName = PCD.PcdCName.strip(' ')\r
+ PCD.SkuId = PCD.SkuId.strip(' ')\r
PCD.PcdOffset = PCD.PcdOffset.strip(' ')\r
PCD.PcdSize = PCD.PcdSize.strip(' ')\r
PCD.PcdValue = PCD.PcdValue.strip(' ') \r
for eachPcd in self.PcdFixedOffsetSizeList :\r
# write map file\r
try :\r
- fMapFile.write("%s | %s | %s | %s \n" % (eachPcd.PcdCName, eachPcd.PcdOffset, eachPcd.PcdSize,eachPcd.PcdUnpackValue))\r
+ fMapFile.write("%s | %s | %s | %s | %s \n" % (eachPcd.PcdCName, eachPcd.SkuId,eachPcd.PcdOffset, eachPcd.PcdSize,eachPcd.PcdUnpackValue))\r
except:\r
EdkLogger.error("BPDG", BuildToolError.FILE_WRITE_FAILURE, "Write data to file %s failed, please check whether the file been locked or using by other applications." %self.MapFileName,None) \r
\r