DosPath = CygPath
# pipes.quote will add the extra \\ for us.
- return DosPath.replace('/','\\')
+ return DosPath.replace('/', '\\')\r
# we receive our options as a list, but we will be passing them to the shell as a line
return Value\r
\r
def ValidatePcdName (Argument):\r
- if re.split ('[a-zA-Z\_][a-zA-Z0-9\_]*\.[a-zA-Z\_][a-zA-Z0-9\_]*', Argument) != ['','']:\r
+ if re.split ('[a-zA-Z\_][a-zA-Z0-9\_]*\.[a-zA-Z\_][a-zA-Z0-9\_]*', Argument) != ['', '']:\r
Message = '{Argument} is not in the form <PcdTokenSpaceGuidCName>.<PcdCName>'.format (Argument = Argument)\r
raise argparse.ArgumentTypeError (Message)\r
return Argument\r
\r
def ValidateGuidName (Argument):\r
- if re.split ('[a-zA-Z\_][a-zA-Z0-9\_]*', Argument) != ['','']:\r
+ if re.split ('[a-zA-Z\_][a-zA-Z0-9\_]*', Argument) != ['', '']:\r
Message = '{Argument} is not a valid GUID C name'.format (Argument = Argument)\r
raise argparse.ArgumentTypeError (Message)\r
return Argument\r
help = "Output filename for PCD value or PCD statement")\r
parser.add_argument ("-p", "--pcd", dest = 'PcdName', type = ValidatePcdName,\r
help = "Name of the PCD in the form <PcdTokenSpaceGuidCName>.<PcdCName>")\r
- parser.add_argument ("-t", "--type", dest = 'PcdType', default = None, choices = ['VPD','HII'],\r
+ parser.add_argument ("-t", "--type", dest = 'PcdType', default = None, choices = ['VPD', 'HII'],\r
help = "PCD statement type (HII or VPD). Default is standard.")\r
parser.add_argument ("-m", "--max-size", dest = 'MaxSize', type = ValidateUnsignedInteger,\r
help = "Maximum size of the PCD. Ignored with --type HII.")\r
FormatFile(File, Args)\r
\r
if __name__ == "__main__":\r
- parser = argparse.ArgumentParser(prog=__prog__,description=__description__ + __copyright__, conflict_handler = 'resolve')\r
+ parser = argparse.ArgumentParser(prog=__prog__, description=__description__ + __copyright__, conflict_handler = 'resolve')\r
\r
parser.add_argument('Path', nargs='+',\r
help='the path for files to be converted.It could be directory or file path.')\r
\r
driverPrefixLen = len("Driver - ")\r
# get driver name\r
- if cmp(newline[0:driverPrefixLen],"Driver - ") == 0 :\r
+ if cmp(newline[0:driverPrefixLen], "Driver - ") == 0 :\r
driverlineList = newline.split(" ")\r
driverName = driverlineList[2]\r
#print "Checking : ", driverName\r
else :\r
symbolsFile.symbolsTable[driverName].parse_debug_file (driverName, pdbName)\r
\r
- elif cmp(newline,"") == 0 :\r
+ elif cmp(newline, "") == 0 :\r
driverName = ""\r
\r
# check entry line\r
rvaName = ""\r
symbolName = ""\r
\r
- if cmp(rvaName,"") == 0 :\r
+ if cmp(rvaName, "") == 0 :\r
return newline\r
else :\r
return newline + symbolName\r
\r
def AddSection(self, section):\r
self.mSections.append(section)\r
- self.mSections.sort(cmp=lambda x,y: cmp(x.mName.lower(), y.mName.lower()))\r
+ self.mSections.sort(cmp=lambda x, y: cmp(x.mName.lower(), y.mName.lower()))\r
\r
def Generate(self):\r
if self.mIsMainPage:\r
self.mText.insert(endIndex, '<ul>')\r
endIndex += 1\r
if self.mIsSort:\r
- self.mSubPages.sort(cmp=lambda x,y: cmp(x.mName.lower(), y.mName.lower()))\r
+ self.mSubPages.sort(cmp=lambda x, y: cmp(x.mName.lower(), y.mName.lower()))\r
for page in self.mSubPages:\r
self.mText.insert(endIndex, '<li>\subpage %s \"%s\" </li>' % (page.mTag, page.mName))\r
endIndex += 1\r
if self.state == START:\r
if line.startswith('diff --git'):\r
self.state = PRE_PATCH\r
- self.filename = line[13:].split(' ',1)[0]\r
+ self.filename = line[13:].split(' ', 1)[0]\r
self.is_newfile = False\r
self.force_crlf = not self.filename.endswith('.sh')\r
elif len(line.rstrip()) != 0:\r
for Item in gArgs.Define:\r
if '=' not in Item[0]:\r
continue\r
- Item = Item[0].split('=',1)\r
+ Item = Item[0].split('=', 1)\r
CommandLine.append('%s="%s"' % (Item[0], Item[1]))\r
CommandLine.append('EXTRA_FLAGS="%s"' % (gArgs.Remaining))\r
CommandLine.append(gArgs.BuildType)\r
import InfSectionParser\r
import datetime\r
import hashlib\r
-from GenVar import VariableMgr,var_info\r
+from GenVar import VariableMgr, var_info\r
from collections import OrderedDict\r
from collections import defaultdict\r
from Workspace.WorkspaceCommon import OrderedListDict\r
ShareFixedAtBuildPcdsSameValue = {} \r
for Module in LibAuto._ReferenceModules: \r
for Pcd in Module.FixedAtBuildPcds + LibAuto.FixedAtBuildPcds:\r
- key = ".".join((Pcd.TokenSpaceGuidCName,Pcd.TokenCName)) \r
+ key = ".".join((Pcd.TokenSpaceGuidCName, Pcd.TokenCName))\r
if key not in FixedAtBuildPcds:\r
ShareFixedAtBuildPcdsSameValue[key] = True\r
FixedAtBuildPcds[key] = Pcd.DefaultValue\r
if FixedAtBuildPcds[key] != Pcd.DefaultValue:\r
ShareFixedAtBuildPcdsSameValue[key] = False \r
for Pcd in LibAuto.FixedAtBuildPcds:\r
- key = ".".join((Pcd.TokenSpaceGuidCName,Pcd.TokenCName))\r
- if (Pcd.TokenCName,Pcd.TokenSpaceGuidCName) not in self.NonDynamicPcdDict:\r
+ key = ".".join((Pcd.TokenSpaceGuidCName, Pcd.TokenCName))\r
+ if (Pcd.TokenCName, Pcd.TokenSpaceGuidCName) not in self.NonDynamicPcdDict:\r
continue\r
else:\r
- DscPcd = self.NonDynamicPcdDict[(Pcd.TokenCName,Pcd.TokenSpaceGuidCName)]\r
+ DscPcd = self.NonDynamicPcdDict[(Pcd.TokenCName, Pcd.TokenSpaceGuidCName)]\r
if DscPcd.Type != TAB_PCDS_FIXED_AT_BUILD:\r
continue\r
if key in ShareFixedAtBuildPcdsSameValue and ShareFixedAtBuildPcdsSameValue[key]: \r
break\r
\r
\r
- VariableInfo = VariableMgr(self.DscBuildDataObj._GetDefaultStores(),self.DscBuildDataObj._GetSkuIds())\r
+ VariableInfo = VariableMgr(self.DscBuildDataObj._GetDefaultStores(), self.DscBuildDataObj._GetSkuIds())\r
VariableInfo.SetVpdRegionMaxSize(VpdRegionSize)\r
VariableInfo.SetVpdRegionOffset(VpdRegionBase)\r
Index = 0\r
for Pcd in DynamicPcdSet:\r
- pcdname = ".".join((Pcd.TokenSpaceGuidCName,Pcd.TokenCName))\r
+ pcdname = ".".join((Pcd.TokenSpaceGuidCName, Pcd.TokenCName))\r
for SkuName in Pcd.SkuInfoList:\r
Sku = Pcd.SkuInfoList[SkuName]\r
SkuId = Sku.SkuId\r
VariableGuidStructure = Sku.VariableGuidValue\r
VariableGuid = GuidStructureStringToGuidString(VariableGuidStructure)\r
for StorageName in Sku.DefaultStoreDict:\r
- VariableInfo.append_variable(var_info(Index,pcdname,StorageName,SkuName, StringToArray(Sku.VariableName),VariableGuid, Sku.VariableOffset, Sku.VariableAttribute , Sku.HiiDefaultValue,Sku.DefaultStoreDict[StorageName],Pcd.DatumType))\r
+ VariableInfo.append_variable(var_info(Index, pcdname, StorageName, SkuName, StringToArray(Sku.VariableName), VariableGuid, Sku.VariableOffset, Sku.VariableAttribute, Sku.HiiDefaultValue, Sku.DefaultStoreDict[StorageName], Pcd.DatumType))\r
Index += 1\r
return VariableInfo\r
\r
- def UpdateNVStoreMaxSize(self,OrgVpdFile):\r
+ def UpdateNVStoreMaxSize(self, OrgVpdFile):\r
if self.VariableInfo:\r
VpdMapFilePath = os.path.join(self.BuildDir, TAB_FV_DIRECTORY, "%s.map" % self.Platform.VpdToolGuid)\r
PcdNvStoreDfBuffer = [item for item in self._DynamicPcdList if item.TokenCName == "PcdNvStoreDefaultValueBuffer" and item.TokenSpaceGuidCName == "gEfiMdeModulePkgTokenSpaceGuid"]\r
else:\r
EdkLogger.error("build", FILE_READ_FAILURE, "Can not find VPD map file %s to fix up VPD offset." % VpdMapFilePath)\r
\r
- NvStoreOffset = int(NvStoreOffset,16) if NvStoreOffset.upper().startswith("0X") else int(NvStoreOffset)\r
+ NvStoreOffset = int(NvStoreOffset, 16) if NvStoreOffset.upper().startswith("0X") else int(NvStoreOffset)\r
default_skuobj = PcdNvStoreDfBuffer[0].SkuInfoList.get(TAB_DEFAULT)\r
maxsize = self.VariableInfo.VpdRegionSize - NvStoreOffset if self.VariableInfo.VpdRegionSize else len(default_skuobj.DefaultValue.split(","))\r
var_data = self.VariableInfo.PatchNVStoreDefaultMaxSize(maxsize)\r
VpdPcdDict[(Pcd.TokenCName, Pcd.TokenSpaceGuidCName)] = Pcd\r
\r
#Collect DynamicHii PCD values and assign it to DynamicExVpd PCD gEfiMdeModulePkgTokenSpaceGuid.PcdNvStoreDefaultValueBuffer\r
- PcdNvStoreDfBuffer = VpdPcdDict.get(("PcdNvStoreDefaultValueBuffer","gEfiMdeModulePkgTokenSpaceGuid"))\r
+ PcdNvStoreDfBuffer = VpdPcdDict.get(("PcdNvStoreDefaultValueBuffer", "gEfiMdeModulePkgTokenSpaceGuid"))\r
if PcdNvStoreDfBuffer:\r
self.VariableInfo = self.CollectVariables(self._DynamicPcdList)\r
vardump = self.VariableInfo.dump()\r
PcdValue = DefaultSku.DefaultValue\r
if PcdValue not in SkuValueMap:\r
SkuValueMap[PcdValue] = []\r
- VpdFile.Add(Pcd, TAB_DEFAULT,DefaultSku.VpdOffset)\r
+ VpdFile.Add(Pcd, TAB_DEFAULT, DefaultSku.VpdOffset)\r
SkuValueMap[PcdValue].append(DefaultSku)\r
\r
- for (SkuName,Sku) in Pcd.SkuInfoList.items():\r
+ for (SkuName, Sku) in Pcd.SkuInfoList.items():\r
Sku.VpdOffset = Sku.VpdOffset.strip()\r
PcdValue = Sku.DefaultValue\r
if PcdValue == "":\r
EdkLogger.error("build", FORMAT_INVALID, 'The offset value of PCD %s.%s should be %s-byte aligned.' % (Pcd.TokenSpaceGuidCName, Pcd.TokenCName, Alignment))\r
if PcdValue not in SkuValueMap:\r
SkuValueMap[PcdValue] = []\r
- VpdFile.Add(Pcd, SkuName,Sku.VpdOffset)\r
+ VpdFile.Add(Pcd, SkuName, Sku.VpdOffset)\r
SkuValueMap[PcdValue].append(Sku)\r
# if the offset of a VPD is *, then it need to be fixed up by third party tool.\r
if not NeedProcessVpdMapFile and Sku.VpdOffset == "*":\r
SkuObjList = DscPcdEntry.SkuInfoList.items()\r
DefaultSku = DscPcdEntry.SkuInfoList.get(TAB_DEFAULT)\r
if DefaultSku:\r
- defaultindex = SkuObjList.index((TAB_DEFAULT,DefaultSku))\r
- SkuObjList[0],SkuObjList[defaultindex] = SkuObjList[defaultindex],SkuObjList[0]\r
- for (SkuName,Sku) in SkuObjList:\r
+ defaultindex = SkuObjList.index((TAB_DEFAULT, DefaultSku))\r
+ SkuObjList[0], SkuObjList[defaultindex] = SkuObjList[defaultindex], SkuObjList[0]\r
+ for (SkuName, Sku) in SkuObjList:\r
Sku.VpdOffset = Sku.VpdOffset.strip() \r
\r
# Need to iterate DEC pcd information to get the value & datumtype\r
EdkLogger.error("build", FORMAT_INVALID, 'The offset value of PCD %s.%s should be %s-byte aligned.' % (DscPcdEntry.TokenSpaceGuidCName, DscPcdEntry.TokenCName, Alignment))\r
if PcdValue not in SkuValueMap:\r
SkuValueMap[PcdValue] = []\r
- VpdFile.Add(DscPcdEntry, SkuName,Sku.VpdOffset)\r
+ VpdFile.Add(DscPcdEntry, SkuName, Sku.VpdOffset)\r
SkuValueMap[PcdValue].append(Sku)\r
if not NeedProcessVpdMapFile and Sku.VpdOffset == "*":\r
NeedProcessVpdMapFile = True \r
self._DynamicPcdList.extend(list(UnicodePcdArray))\r
self._DynamicPcdList.extend(list(HiiPcdArray))\r
self._DynamicPcdList.extend(list(OtherPcdArray))\r
- allskuset = [(SkuName,Sku.SkuId) for pcd in self._DynamicPcdList for (SkuName,Sku) in pcd.SkuInfoList.items()]\r
+ allskuset = [(SkuName, Sku.SkuId) for pcd in self._DynamicPcdList for (SkuName, Sku) in pcd.SkuInfoList.items()]\r
for pcd in self._DynamicPcdList:\r
if len(pcd.SkuInfoList) == 1:\r
- for (SkuName,SkuId) in allskuset:\r
- if type(SkuId) in (str,unicode) and eval(SkuId) == 0 or SkuId == 0:\r
+ for (SkuName, SkuId) in allskuset:\r
+ if type(SkuId) in (str, unicode) and eval(SkuId) == 0 or SkuId == 0:\r
continue\r
pcd.SkuInfoList[SkuName] = copy.deepcopy(pcd.SkuInfoList[TAB_DEFAULT])\r
pcd.SkuInfoList[SkuName].SkuId = SkuId\r
self.AllPcdList = self._NonDynamicPcdList + self._DynamicPcdList\r
\r
- def FixVpdOffset(self,VpdFile ):\r
+ def FixVpdOffset(self, VpdFile ):\r
FvPath = os.path.join(self.BuildDir, TAB_FV_DIRECTORY)\r
if not os.path.exists(FvPath):\r
try:\r
if self._NonDynamicPcdDict:\r
return self._NonDynamicPcdDict\r
for Pcd in self.NonDynamicPcdList:\r
- self._NonDynamicPcdDict[(Pcd.TokenCName,Pcd.TokenSpaceGuidCName)] = Pcd\r
+ self._NonDynamicPcdDict[(Pcd.TokenCName, Pcd.TokenSpaceGuidCName)] = Pcd\r
return self._NonDynamicPcdDict\r
\r
## Get list of non-dynamic PCDs\r
try:\r
fInputfile = open(UniVfrOffsetFileName, "wb+", 0)\r
except:\r
- EdkLogger.error("build", FILE_OPEN_FAILURE, "File open failed for %s" % UniVfrOffsetFileName,None)\r
+ EdkLogger.error("build", FILE_OPEN_FAILURE, "File open failed for %s" % UniVfrOffsetFileName, None)\r
\r
# Use a instance of StringIO to cache data\r
fStringIO = StringIO('') \r
fInputfile.write (fStringIO.getvalue())\r
except:\r
EdkLogger.error("build", FILE_WRITE_FAILURE, "Write data to file %s failed, please check whether the "\r
- "file been locked or using by other applications." %UniVfrOffsetFileName,None)\r
+ "file been locked or using by other applications." %UniVfrOffsetFileName, None)\r
\r
fStringIO.close ()\r
fInputfile.close ()\r
def CopyBinaryFiles(self):\r
for File in self.Module.Binaries:\r
SrcPath = File.Path\r
- DstPath = os.path.join(self.OutputDir , os.path.basename(SrcPath))\r
+ DstPath = os.path.join(self.OutputDir, os.path.basename(SrcPath))\r
CopyLongFilePath(SrcPath, DstPath)\r
## Create autogen code for the module and its dependent libraries\r
#\r
if SrcTimeStamp > DstTimeStamp:\r
return False\r
\r
- with open(self.GetTimeStampPath(),'r') as f:\r
+ with open(self.GetTimeStampPath(), 'r') as f:\r
for source in f:\r
source = source.rstrip('\n')\r
if not os.path.exists(source):\r
AutoGenH.Append('// Disabled the macros, as PcdToken and PcdGet/Set are not allowed in the case that more than one DynamicEx Pcds are different Guids but same CName.\n')\r
AutoGenH.Append('// #define %s %s\n' % (PcdTokenName, PcdExTokenName))\r
AutoGenH.Append('// #define %s LibPcdGetEx%s(&%s, %s)\n' % (GetModeName, DatumSizeLib, Pcd.TokenSpaceGuidCName, PcdTokenName))\r
- AutoGenH.Append('// #define %s LibPcdGetExSize(&%s, %s)\n' % (GetModeSizeName,Pcd.TokenSpaceGuidCName, PcdTokenName))\r
+ AutoGenH.Append('// #define %s LibPcdGetExSize(&%s, %s)\n' % (GetModeSizeName, Pcd.TokenSpaceGuidCName, PcdTokenName))\r
if Pcd.DatumType not in TAB_PCD_NUMERIC_TYPES:\r
AutoGenH.Append('// #define %s(SizeOfBuffer, Buffer) LibPcdSetEx%s(&%s, %s, (SizeOfBuffer), (Buffer))\n' % (SetModeName, DatumSizeLib, Pcd.TokenSpaceGuidCName, PcdTokenName))\r
AutoGenH.Append('// #define %s(SizeOfBuffer, Buffer) LibPcdSetEx%sS(&%s, %s, (SizeOfBuffer), (Buffer))\n' % (SetModeStatusName, DatumSizeLib, Pcd.TokenSpaceGuidCName, PcdTokenName))\r
else:\r
AutoGenH.Append('#define %s %s\n' % (PcdTokenName, PcdExTokenName))\r
AutoGenH.Append('#define %s LibPcdGetEx%s(&%s, %s)\n' % (GetModeName, DatumSizeLib, Pcd.TokenSpaceGuidCName, PcdTokenName))\r
- AutoGenH.Append('#define %s LibPcdGetExSize(&%s, %s)\n' % (GetModeSizeName,Pcd.TokenSpaceGuidCName, PcdTokenName))\r
+ AutoGenH.Append('#define %s LibPcdGetExSize(&%s, %s)\n' % (GetModeSizeName, Pcd.TokenSpaceGuidCName, PcdTokenName))\r
if Pcd.DatumType not in TAB_PCD_NUMERIC_TYPES:\r
AutoGenH.Append('#define %s(SizeOfBuffer, Buffer) LibPcdSetEx%s(&%s, %s, (SizeOfBuffer), (Buffer))\n' % (SetModeName, DatumSizeLib, Pcd.TokenSpaceGuidCName, PcdTokenName))\r
AutoGenH.Append('#define %s(SizeOfBuffer, Buffer) LibPcdSetEx%sS(&%s, %s, (SizeOfBuffer), (Buffer))\n' % (SetModeStatusName, DatumSizeLib, Pcd.TokenSpaceGuidCName, PcdTokenName))\r
Value = eval(Value) # translate escape character\r
ValueSize = len(Value) + 1\r
NewValue = '{'\r
- for Index in range(0,len(Value)):\r
+ for Index in range(0, len(Value)):\r
if Unicode:\r
NewValue = NewValue + str(ord(Value[Index]) % 0x10000) + ', '\r
else:\r
PcdDataSize = Pcd.GetPcdSize()\r
if Pcd.Type == TAB_PCDS_FIXED_AT_BUILD:\r
AutoGenH.Append('#define %s %s\n' % (FixPcdSizeTokenName, PcdDataSize))\r
- AutoGenH.Append('#define %s %s \n' % (GetModeSizeName,FixPcdSizeTokenName))\r
- AutoGenC.Append('GLOBAL_REMOVE_IF_UNREFERENCED const UINTN %s = %s;\n' % (FixedPcdSizeVariableName,PcdDataSize))\r
+ AutoGenH.Append('#define %s %s \n' % (GetModeSizeName, FixPcdSizeTokenName))\r
+ AutoGenC.Append('GLOBAL_REMOVE_IF_UNREFERENCED const UINTN %s = %s;\n' % (FixedPcdSizeVariableName, PcdDataSize))\r
if Pcd.Type == TAB_PCDS_PATCHABLE_IN_MODULE:\r
AutoGenH.Append('#define %s %s\n' % (PatchPcdSizeTokenName, Pcd.MaxDatumSize))\r
- AutoGenH.Append('#define %s %s \n' % (GetModeSizeName,PatchPcdSizeVariableName))\r
+ AutoGenH.Append('#define %s %s \n' % (GetModeSizeName, PatchPcdSizeVariableName))\r
AutoGenH.Append('extern UINTN %s; \n' % PatchPcdSizeVariableName)\r
- AutoGenC.Append('GLOBAL_REMOVE_IF_UNREFERENCED UINTN %s = %s;\n' % (PatchPcdSizeVariableName,PcdDataSize))\r
- AutoGenC.Append('GLOBAL_REMOVE_IF_UNREFERENCED const UINTN %s = %s;\n' % (PatchPcdMaxSizeVariable,Pcd.MaxDatumSize))\r
+ AutoGenC.Append('GLOBAL_REMOVE_IF_UNREFERENCED UINTN %s = %s;\n' % (PatchPcdSizeVariableName, PcdDataSize))\r
+ AutoGenC.Append('GLOBAL_REMOVE_IF_UNREFERENCED const UINTN %s = %s;\n' % (PatchPcdMaxSizeVariable, Pcd.MaxDatumSize))\r
elif Pcd.Type == TAB_PCDS_PATCHABLE_IN_MODULE:\r
AutoGenH.Append('#define %s %s\n' %(PcdValueName, Value))\r
AutoGenC.Append('volatile %s %s %s = %s;\n' %(Const, Pcd.DatumType, PcdVariableName, PcdValueName))\r
PcdDataSize = Pcd.GetPcdSize()\r
AutoGenH.Append('#define %s %s\n' % (PatchPcdSizeTokenName, PcdDataSize))\r
\r
- AutoGenH.Append('#define %s %s \n' % (GetModeSizeName,PatchPcdSizeVariableName))\r
+ AutoGenH.Append('#define %s %s \n' % (GetModeSizeName, PatchPcdSizeVariableName))\r
AutoGenH.Append('extern UINTN %s; \n' % PatchPcdSizeVariableName)\r
- AutoGenC.Append('GLOBAL_REMOVE_IF_UNREFERENCED UINTN %s = %s;\n' % (PatchPcdSizeVariableName,PcdDataSize))\r
+ AutoGenC.Append('GLOBAL_REMOVE_IF_UNREFERENCED UINTN %s = %s;\n' % (PatchPcdSizeVariableName, PcdDataSize))\r
else:\r
PcdDataSize = Pcd.GetPcdSize()\r
AutoGenH.Append('#define %s %s\n' % (FixPcdSizeTokenName, PcdDataSize))\r
- AutoGenH.Append('#define %s %s \n' % (GetModeSizeName,FixPcdSizeTokenName))\r
+ AutoGenH.Append('#define %s %s \n' % (GetModeSizeName, FixPcdSizeTokenName))\r
\r
AutoGenH.Append('#define %s %s\n' %(PcdValueName, Value))\r
AutoGenC.Append('GLOBAL_REMOVE_IF_UNREFERENCED %s %s %s = %s;\n' %(Const, Pcd.DatumType, PcdVariableName, PcdValueName))\r
AutoGenH.Append('// Disabled the macros, as PcdToken and PcdGet/Set are not allowed in the case that more than one DynamicEx Pcds are different Guids but same CName.\n')\r
AutoGenH.Append('// #define %s %s\n' % (PcdTokenName, PcdExTokenName))\r
AutoGenH.Append('// #define %s LibPcdGetEx%s(&%s, %s)\n' % (GetModeName, DatumSizeLib, Pcd.TokenSpaceGuidCName, PcdTokenName))\r
- AutoGenH.Append('// #define %s LibPcdGetExSize(&%s, %s)\n' % (GetModeSizeName,Pcd.TokenSpaceGuidCName, PcdTokenName))\r
+ AutoGenH.Append('// #define %s LibPcdGetExSize(&%s, %s)\n' % (GetModeSizeName, Pcd.TokenSpaceGuidCName, PcdTokenName))\r
if Pcd.DatumType not in TAB_PCD_NUMERIC_TYPES:\r
AutoGenH.Append('// #define %s(SizeOfBuffer, Buffer) LibPcdSetEx%s(&%s, %s, (SizeOfBuffer), (Buffer))\n' % (SetModeName, DatumSizeLib, Pcd.TokenSpaceGuidCName, PcdTokenName))\r
AutoGenH.Append('// #define %s(SizeOfBuffer, Buffer) LibPcdSetEx%sS(&%s, %s, (SizeOfBuffer), (Buffer))\n' % (SetModeStatusName, DatumSizeLib, Pcd.TokenSpaceGuidCName, PcdTokenName))\r
else:\r
AutoGenH.Append('#define %s %s\n' % (PcdTokenName, PcdExTokenName))\r
AutoGenH.Append('#define %s LibPcdGetEx%s(&%s, %s)\n' % (GetModeName, DatumSizeLib, Pcd.TokenSpaceGuidCName, PcdTokenName))\r
- AutoGenH.Append('#define %s LibPcdGetExSize(&%s, %s)\n' % (GetModeSizeName,Pcd.TokenSpaceGuidCName, PcdTokenName))\r
+ AutoGenH.Append('#define %s LibPcdGetExSize(&%s, %s)\n' % (GetModeSizeName, Pcd.TokenSpaceGuidCName, PcdTokenName))\r
if Pcd.DatumType not in TAB_PCD_NUMERIC_TYPES:\r
AutoGenH.Append('#define %s(SizeOfBuffer, Buffer) LibPcdSetEx%s(&%s, %s, (SizeOfBuffer), (Buffer))\n' % (SetModeName, DatumSizeLib, Pcd.TokenSpaceGuidCName, PcdTokenName))\r
AutoGenH.Append('#define %s(SizeOfBuffer, Buffer) LibPcdSetEx%sS(&%s, %s, (SizeOfBuffer), (Buffer))\n' % (SetModeStatusName, DatumSizeLib, Pcd.TokenSpaceGuidCName, PcdTokenName))\r
AutoGenH.Append('#define %s(Value) ((%s = (Value)), RETURN_SUCCESS)\n' % (SetModeStatusName, PcdVariableName))\r
AutoGenH.Append('#define %s %s\n' % (PatchPcdSizeTokenName, PcdDataSize))\r
\r
- AutoGenH.Append('#define %s %s\n' % (GetModeSizeName,PatchPcdSizeVariableName))\r
+ AutoGenH.Append('#define %s %s\n' % (GetModeSizeName, PatchPcdSizeVariableName))\r
AutoGenH.Append('extern UINTN %s; \n' % PatchPcdSizeVariableName)\r
\r
if PcdItemType == TAB_PCDS_FIXED_AT_BUILD or PcdItemType == TAB_PCDS_FEATURE_FLAG:\r
- key = ".".join((Pcd.TokenSpaceGuidCName,Pcd.TokenCName))\r
+ key = ".".join((Pcd.TokenSpaceGuidCName, Pcd.TokenCName))\r
PcdVariableName = '_gPcd_' + gItemTypeStringDatabase[Pcd.Type] + '_' + TokenCName\r
if DatumType == TAB_VOID and Array == '[]':\r
DatumType = [TAB_UINT8, TAB_UINT16][Pcd.DefaultValue[0] == 'L']\r
if Pcd.DatumType not in TAB_PCD_NUMERIC_TYPES:\r
if ConstFixedPcd:\r
AutoGenH.Append('#define %s %s\n' % (FixPcdSizeTokenName, PcdDataSize))\r
- AutoGenH.Append('#define %s %s\n' % (GetModeSizeName,FixPcdSizeTokenName))\r
+ AutoGenH.Append('#define %s %s\n' % (GetModeSizeName, FixPcdSizeTokenName))\r
else:\r
- AutoGenH.Append('#define %s %s\n' % (GetModeSizeName,FixedPcdSizeVariableName))\r
- AutoGenH.Append('#define %s %s\n' % (FixPcdSizeTokenName,FixedPcdSizeVariableName))\r
+ AutoGenH.Append('#define %s %s\n' % (GetModeSizeName, FixedPcdSizeVariableName))\r
+ AutoGenH.Append('#define %s %s\n' % (FixPcdSizeTokenName, FixedPcdSizeVariableName))\r
AutoGenH.Append('extern const UINTN %s; \n' % FixedPcdSizeVariableName)\r
else:\r
AutoGenH.Append('#define %s %s\n' % (FixPcdSizeTokenName, PcdDataSize))\r
- AutoGenH.Append('#define %s %s\n' % (GetModeSizeName,FixPcdSizeTokenName))\r
+ AutoGenH.Append('#define %s %s\n' % (GetModeSizeName, FixPcdSizeTokenName))\r
\r
## Create code for library constructor\r
#\r
elif Lib.ModuleType in SUP_MODULE_SET_PEI:\r
ConstructorPrototypeString.Append(gLibraryStructorPrototype['PEI'].Replace(Dict))\r
ConstructorCallingString.Append(gLibraryStructorCall['PEI'].Replace(Dict))\r
- elif Lib.ModuleType in [SUP_MODULE_DXE_CORE,SUP_MODULE_DXE_DRIVER,SUP_MODULE_DXE_SMM_DRIVER,SUP_MODULE_DXE_RUNTIME_DRIVER,\r
- SUP_MODULE_DXE_SAL_DRIVER,SUP_MODULE_UEFI_DRIVER,SUP_MODULE_UEFI_APPLICATION,SUP_MODULE_SMM_CORE]:\r
+ elif Lib.ModuleType in [SUP_MODULE_DXE_CORE, SUP_MODULE_DXE_DRIVER, SUP_MODULE_DXE_SMM_DRIVER, SUP_MODULE_DXE_RUNTIME_DRIVER,\r
+ SUP_MODULE_DXE_SAL_DRIVER, SUP_MODULE_UEFI_DRIVER, SUP_MODULE_UEFI_APPLICATION, SUP_MODULE_SMM_CORE]:\r
ConstructorPrototypeString.Append(gLibraryStructorPrototype['DXE'].Replace(Dict))\r
ConstructorCallingString.Append(gLibraryStructorCall['DXE'].Replace(Dict))\r
- elif Lib.ModuleType in [SUP_MODULE_MM_STANDALONE,SUP_MODULE_MM_CORE_STANDALONE]:\r
+ elif Lib.ModuleType in [SUP_MODULE_MM_STANDALONE, SUP_MODULE_MM_CORE_STANDALONE]:\r
ConstructorPrototypeString.Append(gLibraryStructorPrototype['MM'].Replace(Dict))\r
ConstructorCallingString.Append(gLibraryStructorCall['MM'].Replace(Dict))\r
\r
AutoGenC.Append(gLibraryString[SUP_MODULE_BASE].Replace(Dict))\r
elif Info.ModuleType in SUP_MODULE_SET_PEI:\r
AutoGenC.Append(gLibraryString['PEI'].Replace(Dict))\r
- elif Info.ModuleType in [SUP_MODULE_DXE_CORE,SUP_MODULE_DXE_DRIVER,SUP_MODULE_DXE_SMM_DRIVER,SUP_MODULE_DXE_RUNTIME_DRIVER,\r
- SUP_MODULE_DXE_SAL_DRIVER,SUP_MODULE_UEFI_DRIVER,SUP_MODULE_UEFI_APPLICATION,SUP_MODULE_SMM_CORE]:\r
+ elif Info.ModuleType in [SUP_MODULE_DXE_CORE, SUP_MODULE_DXE_DRIVER, SUP_MODULE_DXE_SMM_DRIVER, SUP_MODULE_DXE_RUNTIME_DRIVER,\r
+ SUP_MODULE_DXE_SAL_DRIVER, SUP_MODULE_UEFI_DRIVER, SUP_MODULE_UEFI_APPLICATION, SUP_MODULE_SMM_CORE]:\r
AutoGenC.Append(gLibraryString['DXE'].Replace(Dict))\r
- elif Info.ModuleType in [SUP_MODULE_MM_STANDALONE,SUP_MODULE_MM_CORE_STANDALONE]:\r
+ elif Info.ModuleType in [SUP_MODULE_MM_STANDALONE, SUP_MODULE_MM_CORE_STANDALONE]:\r
AutoGenC.Append(gLibraryString['MM'].Replace(Dict))\r
\r
## Create code for library destructor\r
elif Lib.ModuleType in SUP_MODULE_SET_PEI:\r
DestructorPrototypeString.Append(gLibraryStructorPrototype['PEI'].Replace(Dict))\r
DestructorCallingString.Append(gLibraryStructorCall['PEI'].Replace(Dict))\r
- elif Lib.ModuleType in [SUP_MODULE_DXE_CORE,SUP_MODULE_DXE_DRIVER,SUP_MODULE_DXE_SMM_DRIVER,SUP_MODULE_DXE_RUNTIME_DRIVER,\r
- SUP_MODULE_DXE_SAL_DRIVER,SUP_MODULE_UEFI_DRIVER,SUP_MODULE_UEFI_APPLICATION, SUP_MODULE_SMM_CORE]:\r
+ elif Lib.ModuleType in [SUP_MODULE_DXE_CORE, SUP_MODULE_DXE_DRIVER, SUP_MODULE_DXE_SMM_DRIVER, SUP_MODULE_DXE_RUNTIME_DRIVER,\r
+ SUP_MODULE_DXE_SAL_DRIVER, SUP_MODULE_UEFI_DRIVER, SUP_MODULE_UEFI_APPLICATION, SUP_MODULE_SMM_CORE]:\r
DestructorPrototypeString.Append(gLibraryStructorPrototype['DXE'].Replace(Dict))\r
DestructorCallingString.Append(gLibraryStructorCall['DXE'].Replace(Dict))\r
- elif Lib.ModuleType in [SUP_MODULE_MM_STANDALONE,SUP_MODULE_MM_CORE_STANDALONE]:\r
+ elif Lib.ModuleType in [SUP_MODULE_MM_STANDALONE, SUP_MODULE_MM_CORE_STANDALONE]:\r
DestructorPrototypeString.Append(gLibraryStructorPrototype['MM'].Replace(Dict))\r
DestructorCallingString.Append(gLibraryStructorCall['MM'].Replace(Dict))\r
\r
AutoGenC.Append(gLibraryString[SUP_MODULE_BASE].Replace(Dict))\r
elif Info.ModuleType in SUP_MODULE_SET_PEI:\r
AutoGenC.Append(gLibraryString['PEI'].Replace(Dict))\r
- elif Info.ModuleType in [SUP_MODULE_DXE_CORE,SUP_MODULE_DXE_DRIVER,SUP_MODULE_DXE_SMM_DRIVER,SUP_MODULE_DXE_RUNTIME_DRIVER,\r
- SUP_MODULE_DXE_SAL_DRIVER,SUP_MODULE_UEFI_DRIVER,SUP_MODULE_UEFI_APPLICATION,SUP_MODULE_SMM_CORE]:\r
+ elif Info.ModuleType in [SUP_MODULE_DXE_CORE, SUP_MODULE_DXE_DRIVER, SUP_MODULE_DXE_SMM_DRIVER, SUP_MODULE_DXE_RUNTIME_DRIVER,\r
+ SUP_MODULE_DXE_SAL_DRIVER, SUP_MODULE_UEFI_DRIVER, SUP_MODULE_UEFI_APPLICATION, SUP_MODULE_SMM_CORE]:\r
AutoGenC.Append(gLibraryString['DXE'].Replace(Dict))\r
- elif Info.ModuleType in [SUP_MODULE_MM_STANDALONE,SUP_MODULE_MM_CORE_STANDALONE]:\r
+ elif Info.ModuleType in [SUP_MODULE_MM_STANDALONE, SUP_MODULE_MM_CORE_STANDALONE]:\r
AutoGenC.Append(gLibraryString['MM'].Replace(Dict))\r
\r
\r
else:\r
AutoGenC.Append(gPeimEntryPointString[2].Replace(Dict))\r
AutoGenH.Append(gPeimEntryPointPrototype.Replace(Dict))\r
- elif Info.ModuleType in [SUP_MODULE_DXE_RUNTIME_DRIVER,SUP_MODULE_DXE_DRIVER,SUP_MODULE_DXE_SAL_DRIVER,SUP_MODULE_UEFI_DRIVER]:\r
+ elif Info.ModuleType in [SUP_MODULE_DXE_RUNTIME_DRIVER, SUP_MODULE_DXE_DRIVER, SUP_MODULE_DXE_SAL_DRIVER, SUP_MODULE_UEFI_DRIVER]:\r
if NumEntryPoints < 2:\r
AutoGenC.Append(gUefiDriverEntryPointString[NumEntryPoints].Replace(Dict))\r
else:\r
ImageType, = struct.unpack('2s', Buffer[0:2])\r
if ImageType!= 'BM': # BMP file type is 'BM'\r
EdkLogger.error("build", FILE_TYPE_MISMATCH, "The file %s is not a standard BMP file." % File.Path)\r
- BMP_IMAGE_HEADER = collections.namedtuple('BMP_IMAGE_HEADER', ['bfSize','bfReserved1','bfReserved2','bfOffBits','biSize','biWidth','biHeight','biPlanes','biBitCount', 'biCompression', 'biSizeImage','biXPelsPerMeter','biYPelsPerMeter','biClrUsed','biClrImportant'])\r
+ BMP_IMAGE_HEADER = collections.namedtuple('BMP_IMAGE_HEADER', ['bfSize', 'bfReserved1', 'bfReserved2', 'bfOffBits', 'biSize', 'biWidth', 'biHeight', 'biPlanes', 'biBitCount', 'biCompression', 'biSizeImage', 'biXPelsPerMeter', 'biYPelsPerMeter', 'biClrUsed', 'biClrImportant'])\r
BMP_IMAGE_HEADER_STRUCT = struct.Struct('IHHIIIIHHIIIIII')\r
BmpHeader = BMP_IMAGE_HEADER._make(BMP_IMAGE_HEADER_STRUCT.unpack_from(Buffer[2:]))\r
#\r
# file header\r
AutoGenH.Append(gAutoGenHeaderString.Replace({'FileName':'AutoGen.h'}))\r
# header file Prologue\r
- AutoGenH.Append(gAutoGenHPrologueString.Replace({'File':'AUTOGENH','Guid':Info.Guid.replace('-','_')}))\r
+ AutoGenH.Append(gAutoGenHPrologueString.Replace({'File':'AUTOGENH','Guid':Info.Guid.replace('-', '_')}))\r
AutoGenH.Append(gAutoGenHCppPrologueString)\r
if Info.AutoGenVersion >= 0x00010005:\r
# header files includes\r
if Info.UnicodeFileList:\r
FileName = "%sStrDefs.h" % Info.Name\r
StringH.Append(gAutoGenHeaderString.Replace({'FileName':FileName}))\r
- StringH.Append(gAutoGenHPrologueString.Replace({'File':'STRDEFS', 'Guid':Info.Guid.replace('-','_')}))\r
+ StringH.Append(gAutoGenHPrologueString.Replace({'File':'STRDEFS', 'Guid':Info.Guid.replace('-', '_')}))\r
CreateUnicodeStringCode(Info, AutoGenC, StringH, UniGenCFlag, UniGenBinBuffer)\r
\r
GuidMacros = []\r
if Info.IdfFileList:\r
FileName = "%sImgDefs.h" % Info.Name\r
StringIdf.Append(gAutoGenHeaderString.Replace({'FileName':FileName}))\r
- StringIdf.Append(gAutoGenHPrologueString.Replace({'File':'IMAGEDEFS', 'Guid':Info.Guid.replace('-','_')}))\r
+ StringIdf.Append(gAutoGenHPrologueString.Replace({'File':'IMAGEDEFS', 'Guid':Info.Guid.replace('-', '_')}))\r
CreateIdfFileCode(Info, AutoGenC, StringIdf, IdfGenCFlag, IdfGenBinBuffer)\r
\r
StringIdf.Append("\n#endif\n")\r
if CmdName == 'Trim':\r
SecDepsFileList.append(os.path.join('$(DEBUG_DIR)', os.path.basename(OutputFile).replace('offset', 'efi')))\r
if OutputFile.endswith('.ui') or OutputFile.endswith('.ver'):\r
- SecDepsFileList.append(os.path.join('$(MODULE_DIR)','$(MODULE_FILE)'))\r
+ SecDepsFileList.append(os.path.join('$(MODULE_DIR)', '$(MODULE_FILE)'))\r
self.FfsOutputFileList.append((OutputFile, ' '.join(SecDepsFileList), SecCmdStr))\r
if len(SecDepsFileList) > 0:\r
self.ParseSecCmd(SecDepsFileList, CmdTuple)\r
for Target in BuildTargets:\r
for i, SingleCommand in enumerate(BuildTargets[Target].Commands):\r
if FlagDict[Flag]['Macro'] in SingleCommand:\r
- BuildTargets[Target].Commands[i] = SingleCommand.replace('$(INC)','').replace(FlagDict[Flag]['Macro'], RespMacro)\r
+ BuildTargets[Target].Commands[i] = SingleCommand.replace('$(INC)', '').replace(FlagDict[Flag]['Macro'], RespMacro)\r
return RespDict\r
\r
def ProcessBuildTargetList(self):\r
#\r
def GetTokenTypeValue(TokenType):\r
TokenTypeDict = {\r
- "PCD_TYPE_SHIFT":28,\r
- "PCD_TYPE_DATA":(0x0 << 28),\r
- "PCD_TYPE_HII":(0x8 << 28),\r
- "PCD_TYPE_VPD":(0x4 << 28),\r
+ "PCD_TYPE_SHIFT": 28,\r
+ "PCD_TYPE_DATA": (0x0 << 28),\r
+ "PCD_TYPE_HII": (0x8 << 28),\r
+ "PCD_TYPE_VPD": (0x4 << 28),\r
# "PCD_TYPE_SKU_ENABLED":(0x2 << 28),\r
- "PCD_TYPE_STRING":(0x1 << 28),\r
+ "PCD_TYPE_STRING": (0x1 << 28),\r
\r
- "PCD_DATUM_TYPE_SHIFT":24,\r
- "PCD_DATUM_TYPE_POINTER":(0x0 << 24),\r
- "PCD_DATUM_TYPE_UINT8":(0x1 << 24),\r
- "PCD_DATUM_TYPE_UINT16":(0x2 << 24),\r
- "PCD_DATUM_TYPE_UINT32":(0x4 << 24),\r
- "PCD_DATUM_TYPE_UINT64":(0x8 << 24),\r
+ "PCD_DATUM_TYPE_SHIFT": 24,\r
+ "PCD_DATUM_TYPE_POINTER": (0x0 << 24),\r
+ "PCD_DATUM_TYPE_UINT8": (0x1 << 24),\r
+ "PCD_DATUM_TYPE_UINT16": (0x2 << 24),\r
+ "PCD_DATUM_TYPE_UINT32": (0x4 << 24),\r
+ "PCD_DATUM_TYPE_UINT64": (0x8 << 24),\r
\r
- "PCD_DATUM_TYPE_SHIFT2":20,\r
- "PCD_DATUM_TYPE_UINT8_BOOLEAN":(0x1 << 20 | 0x1 << 24),\r
+ "PCD_DATUM_TYPE_SHIFT2": 20,\r
+ "PCD_DATUM_TYPE_UINT8_BOOLEAN": (0x1 << 20 | 0x1 << 24),\r
}\r
return eval(TokenType, TokenTypeDict)\r
\r
DbPcdCNameTable = DbStringItemList(0, RawDataList = PcdCNameTableValue, LenList = PcdCNameLen)\r
\r
PcdNameOffsetTable = Dict['PCD_NAME_OFFSET']\r
- DbPcdNameOffsetTable = DbItemList(4,RawDataList = PcdNameOffsetTable)\r
+ DbPcdNameOffsetTable = DbItemList(4, RawDataList = PcdNameOffsetTable)\r
\r
SizeTableValue = zip(Dict['SIZE_TABLE_MAXIMUM_LENGTH'], Dict['SIZE_TABLE_CURRENT_LENGTH'])\r
DbSizeTableValue = DbSizeTableItemList(2, RawDataList = SizeTableValue)\r
PcdTokenNumberMap = Dict['PCD_ORDER_TOKEN_NUMBER_MAP']\r
\r
DbNameTotle = ["SkuidValue", "InitValueUint64", "VardefValueUint64", "InitValueUint32", "VardefValueUint32", "VpdHeadValue", "ExMapTable",\r
- "LocalTokenNumberTable", "GuidTable", "StringHeadValue", "PcdNameOffsetTable","VariableTable", "StringTableLen", "PcdTokenTable", "PcdCNameTable",\r
+ "LocalTokenNumberTable", "GuidTable", "StringHeadValue", "PcdNameOffsetTable", "VariableTable", "StringTableLen", "PcdTokenTable", "PcdCNameTable",\r
"SizeTableValue", "InitValueUint16", "VardefValueUint16", "InitValueUint8", "VardefValueUint8", "InitValueBoolean",\r
"VardefValueBoolean", "UnInitValueUint64", "UnInitValueUint32", "UnInitValueUint16", "UnInitValueUint8", "UnInitValueBoolean"]\r
\r
DbTotal = [SkuidValue, InitValueUint64, VardefValueUint64, InitValueUint32, VardefValueUint32, VpdHeadValue, ExMapTable,\r
- LocalTokenNumberTable, GuidTable, StringHeadValue, PcdNameOffsetTable,VariableTable, StringTableLen, PcdTokenTable,PcdCNameTable,\r
+ LocalTokenNumberTable, GuidTable, StringHeadValue, PcdNameOffsetTable, VariableTable, StringTableLen, PcdTokenTable, PcdCNameTable,\r
SizeTableValue, InitValueUint16, VardefValueUint16, InitValueUint8, VardefValueUint8, InitValueBoolean,\r
VardefValueBoolean, UnInitValueUint64, UnInitValueUint32, UnInitValueUint16, UnInitValueUint8, UnInitValueBoolean]\r
DbItemTotal = [DbSkuidValue, DbInitValueUint64, DbVardefValueUint64, DbInitValueUint32, DbVardefValueUint32, DbVpdHeadValue, DbExMapTable,\r
- DbLocalTokenNumberTable, DbGuidTable, DbStringHeadValue, DbPcdNameOffsetTable,DbVariableTable, DbStringTableLen, DbPcdTokenTable, DbPcdCNameTable,\r
+ DbLocalTokenNumberTable, DbGuidTable, DbStringHeadValue, DbPcdNameOffsetTable, DbVariableTable, DbStringTableLen, DbPcdTokenTable, DbPcdCNameTable,\r
DbSizeTableValue, DbInitValueUint16, DbVardefValueUint16, DbInitValueUint8, DbVardefValueUint8, DbInitValueBoolean,\r
DbVardefValueBoolean, DbUnInitValueUint64, DbUnInitValueUint32, DbUnInitValueUint16, DbUnInitValueUint8, DbUnInitValueBoolean]\r
\r
DbOffset += (8 - DbOffset % 8)\r
else:\r
assert(False)\r
- if isinstance(VariableRefTable[0],list):\r
+ if isinstance(VariableRefTable[0], list):\r
DbOffset += skuindex * 4 \r
skuindex += 1\r
if DbIndex >= InitTableNum:\r
Changed = SaveFileOnChange(DbFileName, DbFile.getvalue(), True)\r
def CreatePcdDataBase(PcdDBData):\r
delta = {}\r
- for skuname,skuid in PcdDBData:\r
- if len(PcdDBData[(skuname,skuid)][1]) != len(PcdDBData[(TAB_DEFAULT,"0")][1]):\r
+ for skuname, skuid in PcdDBData:\r
+ if len(PcdDBData[(skuname, skuid)][1]) != len(PcdDBData[(TAB_DEFAULT, "0")][1]):\r
EdkLogger.ERROR("The size of each sku in one pcd are not same")\r
- for skuname,skuid in PcdDBData:\r
+ for skuname, skuid in PcdDBData:\r
if skuname == TAB_DEFAULT:\r
continue\r
- delta[(skuname,skuid)] = [(index,data,hex(data)) for index,data in enumerate(PcdDBData[(skuname,skuid)][1]) if PcdDBData[(skuname,skuid)][1][index] != PcdDBData[(TAB_DEFAULT,"0")][1][index]]\r
- databasebuff = PcdDBData[(TAB_DEFAULT,"0")][0]\r
+ delta[(skuname, skuid)] = [(index, data, hex(data)) for index, data in enumerate(PcdDBData[(skuname, skuid)][1]) if PcdDBData[(skuname, skuid)][1][index] != PcdDBData[(TAB_DEFAULT, "0")][1][index]]\r
+ databasebuff = PcdDBData[(TAB_DEFAULT, "0")][0]\r
\r
- for skuname,skuid in delta:\r
+ for skuname, skuid in delta:\r
# 8 byte align\r
if len(databasebuff) % 8 > 0:\r
for i in range(8 - (len(databasebuff) % 8)):\r
- databasebuff += pack("=B",0)\r
+ databasebuff += pack("=B", 0)\r
databasebuff += pack('=Q', int(skuid))\r
databasebuff += pack('=Q', 0)\r
- databasebuff += pack('=L', 8+8+4+4*len(delta[(skuname,skuid)]))\r
- for item in delta[(skuname,skuid)]:\r
- databasebuff += pack("=L",item[0])\r
- databasebuff = databasebuff[:-1] + pack("=B",item[1])\r
+ databasebuff += pack('=L', 8+8+4+4*len(delta[(skuname, skuid)]))\r
+ for item in delta[(skuname, skuid)]:\r
+ databasebuff += pack("=L", item[0])\r
+ databasebuff = databasebuff[:-1] + pack("=B", item[1])\r
totallen = len(databasebuff)\r
- totallenbuff = pack("=L",totallen)\r
+ totallenbuff = pack("=L", totallen)\r
newbuffer = databasebuff[:32]\r
for i in range(4):\r
newbuffer += totallenbuff[i]\r
- for i in range(36,totallen):\r
+ for i in range(36, totallen):\r
newbuffer += databasebuff[i]\r
\r
return newbuffer\r
\r
def CreateVarCheckBin(VarCheckTab):\r
- return VarCheckTab[(TAB_DEFAULT,"0")]\r
+ return VarCheckTab[(TAB_DEFAULT, "0")]\r
\r
def CreateAutoGen(PcdDriverAutoGenData):\r
autogenC = TemplateString()\r
- for skuname,skuid in PcdDriverAutoGenData:\r
+ for skuname, skuid in PcdDriverAutoGenData:\r
autogenC.Append("//SKUID: %s" % skuname)\r
- autogenC.Append(PcdDriverAutoGenData[(skuname,skuid)][1].String)\r
- return (PcdDriverAutoGenData[(skuname,skuid)][0],autogenC)\r
-def NewCreatePcdDatabasePhaseSpecificAutoGen(Platform,Phase):\r
- def prune_sku(pcd,skuname):\r
+ autogenC.Append(PcdDriverAutoGenData[(skuname, skuid)][1].String)\r
+ return (PcdDriverAutoGenData[(skuname, skuid)][0], autogenC)\r
+def NewCreatePcdDatabasePhaseSpecificAutoGen(Platform, Phase):\r
+ def prune_sku(pcd, skuname):\r
new_pcd = copy.deepcopy(pcd)\r
new_pcd.SkuInfoList = {skuname:pcd.SkuInfoList[skuname]}\r
new_pcd.isinit = 'INIT'\r
if new_pcd.DatumType in TAB_PCD_CLEAN_NUMERIC_TYPES:\r
for skuobj in pcd.SkuInfoList.values():\r
if skuobj.DefaultValue:\r
- defaultvalue = int(skuobj.DefaultValue,16) if skuobj.DefaultValue.upper().startswith("0X") else int(skuobj.DefaultValue,10)\r
+ defaultvalue = int(skuobj.DefaultValue, 16) if skuobj.DefaultValue.upper().startswith("0X") else int(skuobj.DefaultValue, 10)\r
if defaultvalue != 0:\r
new_pcd.isinit = "INIT"\r
break\r
new_pcd.isinit = "UNINIT"\r
return new_pcd\r
DynamicPcds = Platform.DynamicPcdList\r
- DynamicPcdSet_Sku = {(SkuName,skuobj.SkuId):[] for pcd in DynamicPcds for (SkuName,skuobj) in pcd.SkuInfoList.items() }\r
- for skuname,skuid in DynamicPcdSet_Sku:\r
- DynamicPcdSet_Sku[(skuname,skuid)] = [prune_sku(pcd,skuname) for pcd in DynamicPcds]\r
+ DynamicPcdSet_Sku = {(SkuName, skuobj.SkuId):[] for pcd in DynamicPcds for (SkuName, skuobj) in pcd.SkuInfoList.items() }\r
+ for skuname, skuid in DynamicPcdSet_Sku:\r
+ DynamicPcdSet_Sku[(skuname, skuid)] = [prune_sku(pcd, skuname) for pcd in DynamicPcds]\r
PcdDBData = {}\r
PcdDriverAutoGenData = {}\r
VarCheckTableData = {}\r
if DynamicPcdSet_Sku:\r
- for skuname,skuid in DynamicPcdSet_Sku:\r
- AdditionalAutoGenH, AdditionalAutoGenC, PcdDbBuffer,VarCheckTab = CreatePcdDatabasePhaseSpecificAutoGen (Platform,DynamicPcdSet_Sku[(skuname,skuid)], Phase)\r
+ for skuname, skuid in DynamicPcdSet_Sku:\r
+ AdditionalAutoGenH, AdditionalAutoGenC, PcdDbBuffer, VarCheckTab = CreatePcdDatabasePhaseSpecificAutoGen (Platform, DynamicPcdSet_Sku[(skuname, skuid)], Phase)\r
final_data = ()\r
for item in PcdDbBuffer:\r
- final_data += unpack("B",item)\r
- PcdDBData[(skuname,skuid)] = (PcdDbBuffer, final_data)\r
- PcdDriverAutoGenData[(skuname,skuid)] = (AdditionalAutoGenH, AdditionalAutoGenC)\r
- VarCheckTableData[(skuname,skuid)] = VarCheckTab\r
+ final_data += unpack("B", item)\r
+ PcdDBData[(skuname, skuid)] = (PcdDbBuffer, final_data)\r
+ PcdDriverAutoGenData[(skuname, skuid)] = (AdditionalAutoGenH, AdditionalAutoGenC)\r
+ VarCheckTableData[(skuname, skuid)] = VarCheckTab\r
if Platform.Platform.VarCheckFlag:\r
dest = os.path.join(Platform.BuildDir, TAB_FV_DIRECTORY)\r
VarCheckTable = CreateVarCheckBin(VarCheckTableData)\r
VarCheckTable.dump(dest, Phase)\r
AdditionalAutoGenH, AdditionalAutoGenC = CreateAutoGen(PcdDriverAutoGenData)\r
else:\r
- AdditionalAutoGenH, AdditionalAutoGenC, PcdDbBuffer,VarCheckTab = CreatePcdDatabasePhaseSpecificAutoGen (Platform,{}, Phase)\r
+ AdditionalAutoGenH, AdditionalAutoGenC, PcdDbBuffer, VarCheckTab = CreatePcdDatabasePhaseSpecificAutoGen (Platform, {}, Phase)\r
final_data = ()\r
for item in PcdDbBuffer:\r
- final_data += unpack("B",item)\r
- PcdDBData[(TAB_DEFAULT,"0")] = (PcdDbBuffer, final_data)\r
+ final_data += unpack("B", item)\r
+ PcdDBData[(TAB_DEFAULT, "0")] = (PcdDbBuffer, final_data)\r
\r
return AdditionalAutoGenH, AdditionalAutoGenC, CreatePcdDataBase(PcdDBData)\r
## Create PCD database in DXE or PEI phase\r
Dict['VARDEF_SKUID_' + DatumType] = []\r
Dict['VARDEF_VALUE_' + DatumType] = []\r
Dict['VARDEF_DB_VALUE_' + DatumType] = []\r
- for Init in ['INIT','UNINIT']:\r
+ for Init in ['INIT', 'UNINIT']:\r
Dict[Init+'_CNAME_DECL_' + DatumType] = []\r
Dict[Init+'_GUID_DECL_' + DatumType] = []\r
Dict[Init+'_NUMSKUS_DECL_' + DatumType] = []\r
Dict[Init+'_VALUE_' + DatumType] = []\r
Dict[Init+'_DB_VALUE_'+DatumType] = []\r
\r
- for Type in ['STRING_HEAD','VPD_HEAD','VARIABLE_HEAD']:\r
+ for Type in ['STRING_HEAD', 'VPD_HEAD', 'VARIABLE_HEAD']:\r
Dict[Type + '_CNAME_DECL'] = []\r
Dict[Type + '_GUID_DECL'] = []\r
Dict[Type + '_NUMSKUS_DECL'] = []\r
Dict['STRING_TABLE_INDEX'].append('')\r
else:\r
Dict['STRING_TABLE_INDEX'].append('_%d' % StringTableIndex)\r
- VarNameSize = len(VariableNameStructure.replace(',',' ').split())\r
+ VarNameSize = len(VariableNameStructure.replace(',', ' ').split())\r
Dict['STRING_TABLE_LENGTH'].append(VarNameSize )\r
Dict['STRING_TABLE_VALUE'].append(VariableNameStructure)\r
StringHeadOffsetList.append(str(StringTableSize) + 'U')\r
VarStringDbOffsetList.append(StringTableSize)\r
Dict['STRING_DB_VALUE'].append(VarStringDbOffsetList)\r
StringTableIndex += 1\r
- StringTableSize += len(VariableNameStructure.replace(',',' ').split())\r
+ StringTableSize += len(VariableNameStructure.replace(',', ' ').split())\r
VariableHeadStringIndex = 0\r
for Index in range(Dict['STRING_TABLE_VALUE'].index(VariableNameStructure)):\r
VariableHeadStringIndex += Dict['STRING_TABLE_LENGTH'][Index]\r
elif Pcd.DatumType in (TAB_UINT32, TAB_UINT16, TAB_UINT8):\r
Dict['VARDEF_VALUE_'+Pcd.DatumType].append(Sku.HiiDefaultValue + "U")\r
elif Pcd.DatumType == "BOOLEAN":\r
- if eval(Sku.HiiDefaultValue) in [1,0]:\r
+ if eval(Sku.HiiDefaultValue) in [1, 0]:\r
Dict['VARDEF_VALUE_'+Pcd.DatumType].append(str(eval(Sku.HiiDefaultValue)) + "U")\r
else:\r
Dict['VARDEF_VALUE_'+Pcd.DatumType].append(Sku.HiiDefaultValue)\r
Dict['STRING_TABLE_INDEX'].append('_%d' % StringTableIndex)\r
if Sku.DefaultValue[0] == 'L':\r
DefaultValueBinStructure = StringToArray(Sku.DefaultValue)\r
- Size = len(DefaultValueBinStructure.replace(',',' ').split())\r
+ Size = len(DefaultValueBinStructure.replace(',', ' ').split())\r
Dict['STRING_TABLE_VALUE'].append(DefaultValueBinStructure)\r
elif Sku.DefaultValue[0] == '"':\r
DefaultValueBinStructure = StringToArray(Sku.DefaultValue)\r
\r
# print Phase\r
Buffer = BuildExDataBase(Dict)\r
- return AutoGenH, AutoGenC, Buffer,VarCheckTab\r
+ return AutoGenH, AutoGenC, Buffer, VarCheckTab\r
\r
def GetOrderedDynamicPcdList(DynamicPcdList, PcdTokenNumberList):\r
ReorderedDyPcdList = [None for i in range(len(DynamicPcdList))]\r
# #\r
# Import Modules\r
#\r
-from struct import pack,unpack\r
+from struct import pack, unpack\r
import collections\r
import copy\r
from Common.VariableAttributes import VariableAttributes\r
VariableHeaderSize = 32\r
\r
class VariableMgr(object):\r
- def __init__(self, DefaultStoreMap,SkuIdMap):\r
+ def __init__(self, DefaultStoreMap, SkuIdMap):\r
self.VarInfo = []\r
self.DefaultStoreMap = DefaultStoreMap\r
self.SkuIdMap = SkuIdMap\r
self.VarDefaultBuff = None\r
self.VarDeltaBuff = None\r
\r
- def append_variable(self,uefi_var):\r
+ def append_variable(self, uefi_var):\r
self.VarInfo.append(uefi_var)\r
\r
- def SetVpdRegionMaxSize(self,maxsize):\r
+ def SetVpdRegionMaxSize(self, maxsize):\r
self.VpdRegionSize = maxsize\r
\r
- def SetVpdRegionOffset(self,vpdoffset):\r
+ def SetVpdRegionOffset(self, vpdoffset):\r
self.VpdRegionOffset = vpdoffset\r
\r
- def PatchNVStoreDefaultMaxSize(self,maxsize):\r
+ def PatchNVStoreDefaultMaxSize(self, maxsize):\r
if not self.NVHeaderBuff:\r
return ""\r
- self.NVHeaderBuff = self.NVHeaderBuff[:8] + pack("=Q",maxsize)\r
+ self.NVHeaderBuff = self.NVHeaderBuff[:8] + pack("=Q", maxsize)\r
default_var_bin = VariableMgr.format_data(self.NVHeaderBuff + self.VarDefaultBuff + self.VarDeltaBuff)\r
value_str = "{"\r
default_var_bin_strip = [ data.strip("""'""") for data in default_var_bin]\r
def combine_variable(self):\r
indexedvarinfo = collections.OrderedDict()\r
for item in self.VarInfo:\r
- if (item.skuname,item.defaultstoragename, item.var_name,item.var_guid) not in indexedvarinfo:\r
- indexedvarinfo[(item.skuname,item.defaultstoragename, item.var_name,item.var_guid) ] = []\r
- indexedvarinfo[(item.skuname,item.defaultstoragename, item.var_name,item.var_guid)].append(item)\r
+ if (item.skuname, item.defaultstoragename, item.var_name, item.var_guid) not in indexedvarinfo:\r
+ indexedvarinfo[(item.skuname, item.defaultstoragename, item.var_name, item.var_guid) ] = []\r
+ indexedvarinfo[(item.skuname, item.defaultstoragename, item.var_name, item.var_guid)].append(item)\r
for key in indexedvarinfo:\r
sku_var_info_offset_list = indexedvarinfo[key]\r
if len(sku_var_info_offset_list) == 1:\r
data_flag = DataType.PACK_CODE_BY_SIZE[MAX_SIZE_TYPE[data_type]]\r
data = value_list[0]\r
value_list = []\r
- for data_byte in pack(data_flag,int(data,16) if data.upper().startswith('0X') else int(data)):\r
- value_list.append(hex(unpack("B",data_byte)[0]))\r
- newvalue[int(item.var_offset,16) if item.var_offset.upper().startswith("0X") else int(item.var_offset)] = value_list\r
+ for data_byte in pack(data_flag, int(data, 16) if data.upper().startswith('0X') else int(data)):\r
+ value_list.append(hex(unpack("B", data_byte)[0]))\r
+ newvalue[int(item.var_offset, 16) if item.var_offset.upper().startswith("0X") else int(item.var_offset)] = value_list\r
try:\r
newvaluestr = "{" + ",".join(VariableMgr.assemble_variable(newvalue)) +"}"\r
except:\r
EdkLogger.error("build", AUTOGEN_ERROR, "Variable offset conflict in PCDs: %s \n" % (" and ".join(item.pcdname for item in sku_var_info_offset_list)))\r
n = sku_var_info_offset_list[0]\r
- indexedvarinfo[key] = [var_info(n.pcdindex,n.pcdname,n.defaultstoragename,n.skuname,n.var_name, n.var_guid, "0x00",n.var_attribute,newvaluestr , newvaluestr , DataType.TAB_VOID)]\r
+ indexedvarinfo[key] = [var_info(n.pcdindex, n.pcdname, n.defaultstoragename, n.skuname, n.var_name, n.var_guid, "0x00", n.var_attribute, newvaluestr, newvaluestr, DataType.TAB_VOID)]\r
self.VarInfo = [item[0] for item in indexedvarinfo.values()]\r
\r
@staticmethod\r
for item in self.VarInfo:\r
if item.pcdindex not in indexedvarinfo:\r
indexedvarinfo[item.pcdindex] = dict()\r
- indexedvarinfo[item.pcdindex][(item.skuname,item.defaultstoragename)] = item\r
+ indexedvarinfo[item.pcdindex][(item.skuname, item.defaultstoragename)] = item\r
\r
for index in indexedvarinfo:\r
sku_var_info = indexedvarinfo[index]\r
default_data_buffer = ""\r
others_data_buffer = ""\r
tail = None\r
- default_sku_default = indexedvarinfo[index].get((DataType.TAB_DEFAULT,DataType.TAB_DEFAULT_STORES_DEFAULT))\r
+ default_sku_default = indexedvarinfo[index].get((DataType.TAB_DEFAULT, DataType.TAB_DEFAULT_STORES_DEFAULT))\r
\r
if default_sku_default.data_type not in DataType.TAB_PCD_NUMERIC_TYPES:\r
var_max_len = max(len(var_item.default_value.split(",")) for var_item in sku_var_info.values())\r
if len(default_sku_default.default_value.split(",")) < var_max_len:\r
tail = ",".join("0x00" for i in range(var_max_len-len(default_sku_default.default_value.split(","))))\r
\r
- default_data_buffer = VariableMgr.PACK_VARIABLES_DATA(default_sku_default.default_value,default_sku_default.data_type,tail)\r
+ default_data_buffer = VariableMgr.PACK_VARIABLES_DATA(default_sku_default.default_value, default_sku_default.data_type, tail)\r
\r
default_data_array = ()\r
for item in default_data_buffer:\r
- default_data_array += unpack("B",item)\r
+ default_data_array += unpack("B", item)\r
\r
- var_data[(DataType.TAB_DEFAULT,DataType.TAB_DEFAULT_STORES_DEFAULT)][index] = (default_data_buffer,sku_var_info[(DataType.TAB_DEFAULT,DataType.TAB_DEFAULT_STORES_DEFAULT)])\r
+ var_data[(DataType.TAB_DEFAULT, DataType.TAB_DEFAULT_STORES_DEFAULT)][index] = (default_data_buffer, sku_var_info[(DataType.TAB_DEFAULT, DataType.TAB_DEFAULT_STORES_DEFAULT)])\r
\r
- for (skuid,defaultstoragename) in indexedvarinfo[index]:\r
+ for (skuid, defaultstoragename) in indexedvarinfo[index]:\r
tail = None\r
- if (skuid,defaultstoragename) == (DataType.TAB_DEFAULT,DataType.TAB_DEFAULT_STORES_DEFAULT):\r
+ if (skuid, defaultstoragename) == (DataType.TAB_DEFAULT, DataType.TAB_DEFAULT_STORES_DEFAULT):\r
continue\r
- other_sku_other = indexedvarinfo[index][(skuid,defaultstoragename)]\r
+ other_sku_other = indexedvarinfo[index][(skuid, defaultstoragename)]\r
\r
if default_sku_default.data_type not in DataType.TAB_PCD_NUMERIC_TYPES:\r
if len(other_sku_other.default_value.split(",")) < var_max_len:\r
tail = ",".join("0x00" for i in range(var_max_len-len(other_sku_other.default_value.split(","))))\r
\r
- others_data_buffer = VariableMgr.PACK_VARIABLES_DATA(other_sku_other.default_value,other_sku_other.data_type,tail)\r
+ others_data_buffer = VariableMgr.PACK_VARIABLES_DATA(other_sku_other.default_value, other_sku_other.data_type, tail)\r
\r
others_data_array = ()\r
for item in others_data_buffer:\r
- others_data_array += unpack("B",item)\r
+ others_data_array += unpack("B", item)\r
\r
data_delta = VariableMgr.calculate_delta(default_data_array, others_data_array)\r
\r
- var_data[(skuid,defaultstoragename)][index] = (data_delta,sku_var_info[(skuid,defaultstoragename)])\r
+ var_data[(skuid, defaultstoragename)][index] = (data_delta, sku_var_info[(skuid, defaultstoragename)])\r
return var_data\r
\r
def new_process_varinfo(self):\r
if not var_data:\r
return []\r
\r
- pcds_default_data = var_data.get((DataType.TAB_DEFAULT,DataType.TAB_DEFAULT_STORES_DEFAULT),{})\r
+ pcds_default_data = var_data.get((DataType.TAB_DEFAULT, DataType.TAB_DEFAULT_STORES_DEFAULT), {})\r
NvStoreDataBuffer = ""\r
var_data_offset = collections.OrderedDict()\r
offset = NvStorageHeaderSize\r
- for default_data,default_info in pcds_default_data.values():\r
+ for default_data, default_info in pcds_default_data.values():\r
var_name_buffer = VariableMgr.PACK_VARIABLE_NAME(default_info.var_name)\r
\r
vendorguid = default_info.var_guid.split('-')\r
\r
if default_info.var_attribute:\r
- var_attr_value,_ = VariableAttributes.GetVarAttributes(default_info.var_attribute)\r
+ var_attr_value, _ = VariableAttributes.GetVarAttributes(default_info.var_attribute)\r
else:\r
var_attr_value = 0x07\r
\r
nv_default_part = VariableMgr.AlignData(VariableMgr.PACK_DEFAULT_DATA(0, 0, VariableMgr.unpack_data(variable_storage_header_buffer+NvStoreDataBuffer)), 8)\r
\r
data_delta_structure_buffer = ""\r
- for skuname,defaultstore in var_data:\r
- if (skuname,defaultstore) == (DataType.TAB_DEFAULT,DataType.TAB_DEFAULT_STORES_DEFAULT):\r
+ for skuname, defaultstore in var_data:\r
+ if (skuname, defaultstore) == (DataType.TAB_DEFAULT, DataType.TAB_DEFAULT_STORES_DEFAULT):\r
continue\r
- pcds_sku_data = var_data[(skuname,defaultstore)]\r
+ pcds_sku_data = var_data[(skuname, defaultstore)]\r
delta_data_set = []\r
for pcdindex in pcds_sku_data:\r
offset = var_data_offset[pcdindex]\r
- delta_data,_ = pcds_sku_data[pcdindex]\r
+ delta_data, _ = pcds_sku_data[pcdindex]\r
delta_data = [(item[0] + offset, item[1]) for item in delta_data]\r
delta_data_set.extend(delta_data)\r
\r
- data_delta_structure_buffer += VariableMgr.AlignData(self.PACK_DELTA_DATA(skuname,defaultstore,delta_data_set), 8)\r
+ data_delta_structure_buffer += VariableMgr.AlignData(self.PACK_DELTA_DATA(skuname, defaultstore, delta_data_set), 8)\r
\r
size = len(nv_default_part + data_delta_structure_buffer) + 16\r
maxsize = self.VpdRegionSize if self.VpdRegionSize else size\r
- NV_Store_Default_Header = VariableMgr.PACK_NV_STORE_DEFAULT_HEADER(size,maxsize)\r
+ NV_Store_Default_Header = VariableMgr.PACK_NV_STORE_DEFAULT_HEADER(size, maxsize)\r
\r
self.NVHeaderBuff = NV_Store_Default_Header\r
self.VarDefaultBuff =nv_default_part\r
def unpack_data(data):\r
final_data = ()\r
for item in data:\r
- final_data += unpack("B",item)\r
+ final_data += unpack("B", item)\r
return final_data\r
\r
@staticmethod\r
data_delta = []\r
for i in range(len(default)):\r
if default[i] != theother[i]:\r
- data_delta.append((i,theother[i]))\r
+ data_delta.append((i, theother[i]))\r
return data_delta\r
\r
def dump(self):\r
Guid = GuidStructureStringToGuidString(Guid)\r
GuidBuffer = PackGUID(Guid.split('-'))\r
\r
- SizeBuffer = pack('=L',size)\r
- FormatBuffer = pack('=B',0x5A)\r
- StateBuffer = pack('=B',0xFE)\r
- reservedBuffer = pack('=H',0)\r
- reservedBuffer += pack('=L',0)\r
+ SizeBuffer = pack('=L', size)\r
+ FormatBuffer = pack('=B', 0x5A)\r
+ StateBuffer = pack('=B', 0xFE)\r
+ reservedBuffer = pack('=H', 0)\r
+ reservedBuffer += pack('=L', 0)\r
\r
return GuidBuffer + SizeBuffer + FormatBuffer + StateBuffer + reservedBuffer\r
\r
@staticmethod\r
- def PACK_NV_STORE_DEFAULT_HEADER(size,maxsize):\r
- Signature = pack('=B',ord('N'))\r
- Signature += pack("=B",ord('S'))\r
- Signature += pack("=B",ord('D'))\r
- Signature += pack("=B",ord('B'))\r
+ def PACK_NV_STORE_DEFAULT_HEADER(size, maxsize):\r
+ Signature = pack('=B', ord('N'))\r
+ Signature += pack("=B", ord('S'))\r
+ Signature += pack("=B", ord('D'))\r
+ Signature += pack("=B", ord('B'))\r
\r
- SizeBuffer = pack("=L",size)\r
- MaxSizeBuffer = pack("=Q",maxsize)\r
+ SizeBuffer = pack("=L", size)\r
+ MaxSizeBuffer = pack("=Q", maxsize)\r
\r
return Signature + SizeBuffer + MaxSizeBuffer\r
\r
@staticmethod\r
- def PACK_VARIABLE_HEADER(attribute,namesize,datasize,vendorguid):\r
+ def PACK_VARIABLE_HEADER(attribute, namesize, datasize, vendorguid):\r
\r
- Buffer = pack('=H',0x55AA) # pack StartID\r
- Buffer += pack('=B',0x3F) # pack State\r
- Buffer += pack('=B',0) # pack reserved\r
+ Buffer = pack('=H', 0x55AA) # pack StartID\r
+ Buffer += pack('=B', 0x3F) # pack State\r
+ Buffer += pack('=B', 0) # pack reserved\r
\r
- Buffer += pack('=L',attribute)\r
- Buffer += pack('=L',namesize)\r
- Buffer += pack('=L',datasize)\r
+ Buffer += pack('=L', attribute)\r
+ Buffer += pack('=L', namesize)\r
+ Buffer += pack('=L', datasize)\r
\r
Buffer += PackGUID(vendorguid)\r
\r
data_len = 0\r
if data_type == DataType.TAB_VOID:\r
for value_char in var_value.strip("{").strip("}").split(","):\r
- Buffer += pack("=B",int(value_char,16))\r
+ Buffer += pack("=B", int(value_char, 16))\r
data_len += len(var_value.split(","))\r
if tail:\r
for value_char in tail.split(","):\r
- Buffer += pack("=B",int(value_char,16))\r
+ Buffer += pack("=B", int(value_char, 16))\r
data_len += len(tail.split(","))\r
elif data_type == "BOOLEAN":\r
- Buffer += pack("=B",True) if var_value.upper() == "TRUE" else pack("=B",False)\r
+ Buffer += pack("=B", True) if var_value.upper() == "TRUE" else pack("=B", False)\r
data_len += 1\r
elif data_type == DataType.TAB_UINT8:\r
- Buffer += pack("=B",GetIntegerValue(var_value))\r
+ Buffer += pack("=B", GetIntegerValue(var_value))\r
data_len += 1\r
elif data_type == DataType.TAB_UINT16:\r
- Buffer += pack("=H",GetIntegerValue(var_value))\r
+ Buffer += pack("=H", GetIntegerValue(var_value))\r
data_len += 2\r
elif data_type == DataType.TAB_UINT32:\r
- Buffer += pack("=L",GetIntegerValue(var_value))\r
+ Buffer += pack("=L", GetIntegerValue(var_value))\r
data_len += 4\r
elif data_type == DataType.TAB_UINT64:\r
- Buffer += pack("=Q",GetIntegerValue(var_value))\r
+ Buffer += pack("=Q", GetIntegerValue(var_value))\r
data_len += 8\r
\r
return Buffer\r
\r
@staticmethod\r
- def PACK_DEFAULT_DATA(defaultstoragename,skuid,var_value):\r
+ def PACK_DEFAULT_DATA(defaultstoragename, skuid, var_value):\r
Buffer = ""\r
- Buffer += pack("=L",4+8+8)\r
- Buffer += pack("=Q",int(skuid))\r
- Buffer += pack("=Q",int(defaultstoragename))\r
+ Buffer += pack("=L", 4+8+8)\r
+ Buffer += pack("=Q", int(skuid))\r
+ Buffer += pack("=Q", int(defaultstoragename))\r
\r
for item in var_value:\r
- Buffer += pack("=B",item)\r
+ Buffer += pack("=B", item)\r
\r
- Buffer = pack("=L",len(Buffer)+4) + Buffer\r
+ Buffer = pack("=L", len(Buffer)+4) + Buffer\r
\r
return Buffer\r
\r
- def GetSkuId(self,skuname):\r
+ def GetSkuId(self, skuname):\r
if skuname not in self.SkuIdMap:\r
return None\r
return self.SkuIdMap.get(skuname)[0]\r
\r
- def GetDefaultStoreId(self,dname):\r
+ def GetDefaultStoreId(self, dname):\r
if dname not in self.DefaultStoreMap:\r
return None\r
return self.DefaultStoreMap.get(dname)[0]\r
\r
- def PACK_DELTA_DATA(self,skuname,defaultstoragename,delta_list):\r
+ def PACK_DELTA_DATA(self, skuname, defaultstoragename, delta_list):\r
skuid = self.GetSkuId(skuname)\r
defaultstorageid = self.GetDefaultStoreId(defaultstoragename)\r
Buffer = ""\r
- Buffer += pack("=L",4+8+8)\r
- Buffer += pack("=Q",int(skuid))\r
- Buffer += pack("=Q",int(defaultstorageid))\r
- for (delta_offset,value) in delta_list:\r
- Buffer += pack("=L",delta_offset)\r
- Buffer = Buffer[:-1] + pack("=B",value)\r
+ Buffer += pack("=L", 4+8+8)\r
+ Buffer += pack("=Q", int(skuid))\r
+ Buffer += pack("=Q", int(defaultstorageid))\r
+ for (delta_offset, value) in delta_list:\r
+ Buffer += pack("=L", delta_offset)\r
+ Buffer = Buffer[:-1] + pack("=B", value)\r
\r
- Buffer = pack("=L",len(Buffer) + 4) + Buffer\r
+ Buffer = pack("=L", len(Buffer) + 4) + Buffer\r
\r
return Buffer\r
\r
mybuffer = data\r
if (len(data) % align) > 0:\r
for i in range(align - (len(data) % align)):\r
- mybuffer += pack("=B",0)\r
+ mybuffer += pack("=B", 0)\r
\r
return mybuffer\r
\r
def PACK_VARIABLE_NAME(var_name):\r
Buffer = ""\r
for name_char in var_name.strip("{").strip("}").split(","):\r
- Buffer += pack("=B",int(name_char,16))\r
+ Buffer += pack("=B", int(name_char, 16))\r
\r
return Buffer\r
# @retval: The formatted hex string\r
#\r
def DecToHexStr(Dec, Digit = 8):\r
- return '0x{0:0{1}X}'.format(Dec,Digit)\r
+ return '0x{0:0{1}X}'.format(Dec, Digit)\r
\r
## Convert a dec number to a hex list\r
#\r
# @retval: A list for formatted hex string\r
#\r
def DecToHexList(Dec, Digit = 8):\r
- Hex = '{0:0{1}X}'.format(Dec,Digit)\r
+ Hex = '{0:0{1}X}'.format(Dec, Digit)\r
return ["0x" + Hex[Bit:Bit + 2] for Bit in range(Digit - 2, -1, -2)]\r
\r
## Convert a acsii string to a hex list\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
count = 0\r
for line in self.FileLinesList:\r
if line is not None :\r
- PCD = PcdEntry(line[0], line[1], line[2], line[3], line[4],line[5], 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
index =0\r
for pcd in self.PcdUnknownOffsetList:\r
index += 1\r
- if pcd.PcdCName == ".".join(("gEfiMdeModulePkgTokenSpaceGuid","PcdNvStoreDefaultValueBuffer")):\r
+ if pcd.PcdCName == ".".join(("gEfiMdeModulePkgTokenSpaceGuid", "PcdNvStoreDefaultValueBuffer")):\r
if index != len(self.PcdUnknownOffsetList):\r
for i in range(len(self.PcdUnknownOffsetList) - index):\r
- self.PcdUnknownOffsetList[index+i -1 ] , self.PcdUnknownOffsetList[index+i] = self.PcdUnknownOffsetList[index+i] , self.PcdUnknownOffsetList[index+i -1]\r
+ self.PcdUnknownOffsetList[index+i -1 ], self.PcdUnknownOffsetList[index+i] = self.PcdUnknownOffsetList[index+i], self.PcdUnknownOffsetList[index+i -1]\r
\r
#\r
# Process all Offset value are "*"\r
eachUnfixedPcd.PcdOffset = str(hex(LastOffset))\r
eachUnfixedPcd.PcdBinOffset = LastOffset\r
# Insert this pcd into fixed offset pcd list.\r
- self.PcdFixedOffsetSizeList.insert(FixOffsetSizeListCount,eachUnfixedPcd)\r
+ self.PcdFixedOffsetSizeList.insert(FixOffsetSizeListCount, eachUnfixedPcd)\r
\r
# Delete the item's offset that has been fixed and added into fixed offset list\r
self.PcdUnknownOffsetList.pop(countOfUnfixedList)\r
for eachPcd in self.PcdFixedOffsetSizeList :\r
# write map file\r
try :\r
- fMapFile.write("%s | %s | %s | %s | %s \n" % (eachPcd.PcdCName, eachPcd.SkuId,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
PCDS_DYNAMICEX_VPD = "PcdsDynamicExVpd"\r
PCDS_DYNAMICEX_HII = "PcdsDynamicExHii"\r
\r
-SECTIONS_HAVE_ITEM_PCD_SET = {PCDS_DYNAMIC_DEFAULT.upper(),PCDS_DYNAMIC_VPD.upper(),PCDS_DYNAMIC_HII.upper(), \\r
- PCDS_DYNAMICEX_DEFAULT.upper(),PCDS_DYNAMICEX_VPD.upper(),PCDS_DYNAMICEX_HII.upper()}\r
+SECTIONS_HAVE_ITEM_PCD_SET = {PCDS_DYNAMIC_DEFAULT.upper(), PCDS_DYNAMIC_VPD.upper(), PCDS_DYNAMIC_HII.upper(), \\r
+ PCDS_DYNAMICEX_DEFAULT.upper(), PCDS_DYNAMICEX_VPD.upper(), PCDS_DYNAMICEX_HII.upper()}\r
# Section allowed to have items after arch\r
SECTIONS_HAVE_ITEM_AFTER_ARCH_SET = {TAB_LIBRARY_CLASSES.upper(), TAB_DEPEX.upper(), TAB_USER_EXTENSIONS.upper(),\r
PCDS_DYNAMIC_DEFAULT.upper(),\r
IsArray = IsGuid = False\r
if len(Token.split(',')) == 11 and len(Token.split(',{')) == 2 \\r
and len(Token.split('},')) == 1:\r
- HexLen = [11,6,6,5,4,4,4,4,4,4,6]\r
+ HexLen = [11, 6, 6, 5, 4, 4, 4, 4, 4, 4, 6]\r
HexList= Token.split(',')\r
if HexList[3].startswith('{') and \\r
not [Index for Index, Hex in enumerate(HexList) if len(Hex) > HexLen[Index]]:\r
# Parse operator\r
def _GetOperator(self):\r
self.__SkipWS()\r
- LegalOpLst = ['&&', '||', '!=', '==', '>=', '<='] + self.NonLetterOpLst + ['?',':']\r
+ LegalOpLst = ['&&', '||', '!=', '==', '>=', '<='] + self.NonLetterOpLst + ['?', ':']\r
\r
self._Token = ''\r
Expr = self._Expr[self._Idx:]\r
elif Item.startswith(TAB_UINT64):\r
ItemSize = 8\r
ValueType = TAB_UINT64\r
- elif Item[0] in {'"',"'",'L'}:\r
+ elif Item[0] in {'"', "'", 'L'}:\r
ItemSize = 0\r
ValueType = TAB_VOID\r
else:\r
# replace each offset, except errors\r
for Offset in OffsetList:\r
try:\r
- Item = Item.replace('OFFSET_OF({})'.format(Offset),LabelDict[Offset])\r
+ Item = Item.replace('OFFSET_OF({})'.format(Offset), LabelDict[Offset])\r
except:\r
raise BadExpression('%s not defined' % Offset)\r
\r
Item = '0x%x' % TmpValue if type(TmpValue) != type('') else TmpValue\r
if ItemSize == 0:\r
ItemValue, ItemSize = ParseFieldValue(Item)\r
- if Item[0] not in {'"','L','{'} and ItemSize > 1:\r
+ if Item[0] not in {'"', 'L', '{'} and ItemSize > 1:\r
raise BadExpression("Byte array number %s should less than 0xFF." % Item)\r
else:\r
ItemValue = ParseFieldValue(Item)[0]\r
if Str:\r
m = pcdPatternGcc.match(Str.strip())\r
if m is not None:\r
- varoffset.append((varname, int(m.groups(0)[0], 16) , int(sections[-1][1], 16), sections[-1][0]))\r
+ varoffset.append((varname, int(m.groups(0)[0], 16), int(sections[-1][1], 16), sections[-1][0]))\r
\r
if not varoffset:\r
return []\r
# Value, Size = ParseFieldValue(Value)\r
if Size:\r
try:\r
- int(Size,16) if Size.upper().startswith("0X") else int(Size)\r
+ int(Size, 16) if Size.upper().startswith("0X") else int(Size)\r
except:\r
IsValid = False\r
Size = -1\r
\r
if Size:\r
try:\r
- int(Size,16) if Size.upper().startswith("0X") else int(Size)\r
+ int(Size, 16) if Size.upper().startswith("0X") else int(Size)\r
except:\r
IsValid = False\r
Size = -1\r
IsValid = (len(FieldList) <= 3)\r
if Size:\r
try:\r
- int(Size,16) if Size.upper().startswith("0X") else int(Size)\r
+ int(Size, 16) if Size.upper().startswith("0X") else int(Size)\r
except:\r
IsValid = False\r
Size = -1\r
\r
Value = eval(Value) # translate escape character\r
NewValue = '{'\r
- for Index in range(0,len(Value)):\r
+ for Index in range(0, len(Value)):\r
if Unicode:\r
NewValue = NewValue + str(ord(Value[Index]) % 0x10000) + ','\r
else:\r
return Value\r
\r
class DefaultStore():\r
- def __init__(self,DefaultStores ):\r
+ def __init__(self, DefaultStores ):\r
\r
self.DefaultStores = DefaultStores\r
- def DefaultStoreID(self,DefaultStoreName):\r
- for key,value in self.DefaultStores.items():\r
+ def DefaultStoreID(self, DefaultStoreName):\r
+ for key, value in self.DefaultStores.items():\r
if value == DefaultStoreName:\r
return key\r
return None\r
def GetDefaultDefault(self):\r
if not self.DefaultStores or "0" in self.DefaultStores:\r
- return "0",TAB_DEFAULT_STORES_DEFAULT\r
+ return "0", TAB_DEFAULT_STORES_DEFAULT\r
else:\r
minvalue = min(int(value_str) for value_str in self.DefaultStores)\r
return (str(minvalue), self.DefaultStores[str(minvalue)])\r
- def GetMin(self,DefaultSIdList):\r
+ def GetMin(self, DefaultSIdList):\r
if not DefaultSIdList:\r
return TAB_DEFAULT_STORES_DEFAULT\r
storeidset = {storeid for storeid, storename in self.DefaultStores.values() if storename in DefaultSIdList}\r
if not storeidset:\r
return ""\r
minid = min(storeidset )\r
- for sid,name in self.DefaultStores.values():\r
+ for sid, name in self.DefaultStores.values():\r
if sid == minid:\r
return name\r
class SkuClass():\r
\r
for SkuName in SkuIds:\r
SkuId = SkuIds[SkuName][0]\r
- skuid_num = int(SkuId,16) if SkuId.upper().startswith("0X") else int(SkuId)\r
+ skuid_num = int(SkuId, 16) if SkuId.upper().startswith("0X") else int(SkuId)\r
if skuid_num > 0xFFFFFFFFFFFFFFFF:\r
EdkLogger.error("build", PARAMETER_INVALID,\r
ExtraData = "SKU-ID [%s] value %s exceeds the max value of UINT64"\r
self.__SkuInherit = {}\r
for item in self.SkuData.values():\r
self.__SkuInherit[item[1]]=item[2] if item[2] else "DEFAULT"\r
- return self.__SkuInherit.get(skuname,"DEFAULT")\r
+ return self.__SkuInherit.get(skuname, "DEFAULT")\r
\r
- def GetSkuChain(self,sku):\r
+ def GetSkuChain(self, sku):\r
if sku == "DEFAULT":\r
return ["DEFAULT"]\r
skulist = [sku]\r
from CommonDataClass.Exceptions import BadExpression\r
from CommonDataClass.Exceptions import WrnExpression\r
import uuid\r
-from Common.Expression import PcdPattern,BaseExpression\r
+from Common.Expression import PcdPattern, BaseExpression\r
from Common.DataType import *\r
\r
ERR_STRING_EXPR = 'This operator cannot be used in string expression: [%s].'\r
raise BadExpression(ERR_SNYTAX % Expr)\r
rangeId1 = str(uuid.uuid1())\r
rangeContainer = RangeContainer()\r
- rangeContainer.push(RangeObject(int(Operand) , int(Operand)))\r
+ rangeContainer.push(RangeObject(int(Operand), int(Operand)))\r
SymbolTable[rangeId1] = rangeContainer\r
return rangeId1 \r
\r
\r
# [!]*A\r
def _RelExpr(self):\r
- if self._IsOperator({"NOT" , "LE", "GE", "LT", "GT", "EQ", "XOR"}):\r
+ if self._IsOperator({"NOT", "LE", "GE", "LT", "GT", "EQ", "XOR"}):\r
Token = self._Token\r
Val = self._NeExpr()\r
try:\r
# @param StringList: A list for strings to be converted\r
#\r
def ConvertToSqlString(StringList):\r
- return map(lambda s: s.replace("'", "''") , StringList)\r
+ return map(lambda s: s.replace("'", "''"), StringList)\r
\r
## Convert To Sql String\r
#\r
import Common.GlobalData as GlobalData\r
from Common import GlobalData\r
from Common.MultipleWorkspace import MultipleWorkspace as mws\r
-from DataType import TAB_TOD_DEFINES_TARGET,TAB_TOD_DEFINES_TOOL_CHAIN_TAG,\\r
- TAB_TOD_DEFINES_TARGET_ARCH,TAB_TOD_DEFINES_COMMAND_TYPE\\r
- ,TAB_TOD_DEFINES_FAMILY,TAB_TOD_DEFINES_BUILDRULEFAMILY\r
+from DataType import TAB_TOD_DEFINES_TARGET, TAB_TOD_DEFINES_TOOL_CHAIN_TAG,\\r
+ TAB_TOD_DEFINES_TARGET_ARCH, TAB_TOD_DEFINES_COMMAND_TYPE\\r
+ , TAB_TOD_DEFINES_FAMILY, TAB_TOD_DEFINES_BUILDRULEFAMILY\r
\r
\r
##\r
#\r
# @param offset integer value for VPD's offset in specific SKU.\r
#\r
- def Add(self, Vpd, skuname,Offset):\r
+ def Add(self, Vpd, skuname, Offset):\r
if (Vpd is None):\r
EdkLogger.error("VpdInfoFile", BuildToolError.ATTRIBUTE_UNKNOWN_ERROR, "Invalid VPD PCD entry.")\r
\r
if PcdValue == "" :\r
PcdValue = Pcd.DefaultValue\r
\r
- Content += "%s.%s|%s|%s|%s|%s \n" % (Pcd.TokenSpaceGuidCName, PcdTokenCName, skuname,str(self._VpdArray[Pcd][skuname]).strip(), str(Pcd.MaxDatumSize).strip(),PcdValue)\r
+ Content += "%s.%s|%s|%s|%s|%s \n" % (Pcd.TokenSpaceGuidCName, PcdTokenCName, skuname, str(self._VpdArray[Pcd][skuname]).strip(), str(Pcd.MaxDatumSize).strip(), PcdValue)\r
i += 1\r
\r
return SaveFileOnChange(FilePath, Content, False)\r
# the line must follow output format defined in BPDG spec.\r
#\r
try:\r
- PcdName, SkuId,Offset, Size, Value = Line.split("#")[0].split("|")\r
- PcdName, SkuId,Offset, Size, Value = PcdName.strip(), SkuId.strip(),Offset.strip(), Size.strip(), Value.strip()\r
+ PcdName, SkuId, Offset, Size, Value = Line.split("#")[0].split("|")\r
+ PcdName, SkuId, Offset, Size, Value = PcdName.strip(), SkuId.strip(), Offset.strip(), Size.strip(), Value.strip()\r
TokenSpaceName, PcdTokenName = PcdName.split(".")\r
except:\r
EdkLogger.error("BPDG", BuildToolError.PARSER_ERROR, "Fail to parse VPD information file %s" % FilePath)\r
\r
if (TokenSpaceName, PcdTokenName) not in self._VpdInfo:\r
self._VpdInfo[(TokenSpaceName, PcdTokenName)] = []\r
- self._VpdInfo[(TokenSpaceName, PcdTokenName)].append((SkuId,Offset, Value))\r
+ self._VpdInfo[(TokenSpaceName, PcdTokenName)].append((SkuId, Offset, Value))\r
for VpdObject in self._VpdArray:\r
VpdObjectTokenCName = VpdObject.TokenCName\r
for PcdItem in GlobalData.MixedPcd:\r
if self.backtracking == 0:\r
\r
if d is not None:\r
- self.function_definition_stack[-1].ModifierText = self.input.toString(d.start,d.stop)\r
+ self.function_definition_stack[-1].ModifierText = self.input.toString(d.start, d.stop)\r
else:\r
self.function_definition_stack[-1].ModifierText = ''\r
- self.function_definition_stack[-1].DeclText = self.input.toString(declarator1.start,declarator1.stop)\r
+ self.function_definition_stack[-1].DeclText = self.input.toString(declarator1.start, declarator1.stop)\r
self.function_definition_stack[-1].DeclLine = declarator1.start.line\r
self.function_definition_stack[-1].DeclOffset = declarator1.start.charPositionInLine\r
if a is not None:\r
if self.backtracking == 0:\r
\r
if b is not None:\r
- self.StoreTypedefDefinition(a.line, a.charPositionInLine, d.line, d.charPositionInLine, self.input.toString(b.start,b.stop), self.input.toString(c.start,c.stop))\r
+ self.StoreTypedefDefinition(a.line, a.charPositionInLine, d.line, d.charPositionInLine, self.input.toString(b.start, b.stop), self.input.toString(c.start, c.stop))\r
else:\r
- self.StoreTypedefDefinition(a.line, a.charPositionInLine, d.line, d.charPositionInLine, '', self.input.toString(c.start,c.stop))\r
+ self.StoreTypedefDefinition(a.line, a.charPositionInLine, d.line, d.charPositionInLine, '', self.input.toString(c.start, c.stop))\r
\r
\r
\r
if self.backtracking == 0:\r
\r
if t is not None:\r
- self.StoreVariableDeclaration(s.start.line, s.start.charPositionInLine, t.start.line, t.start.charPositionInLine, self.input.toString(s.start,s.stop), self.input.toString(t.start,t.stop))\r
+ self.StoreVariableDeclaration(s.start.line, s.start.charPositionInLine, t.start.line, t.start.charPositionInLine, self.input.toString(s.start, s.stop), self.input.toString(t.start, t.stop))\r
\r
\r
\r
if self.backtracking == 0:\r
\r
if s.stop is not None:\r
- self.StoreStructUnionDefinition(s.start.line, s.start.charPositionInLine, s.stop.line, s.stop.charPositionInLine, self.input.toString(s.start,s.stop))\r
+ self.StoreStructUnionDefinition(s.start.line, s.start.charPositionInLine, s.stop.line, s.stop.charPositionInLine, self.input.toString(s.start, s.stop))\r
\r
\r
\r
if self.backtracking == 0:\r
\r
if e.stop is not None:\r
- self.StoreEnumerationDefinition(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))\r
+ self.StoreEnumerationDefinition(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start, e.stop))\r
\r
\r
\r
if self.failed:\r
return \r
if self.backtracking == 0:\r
- self.postfix_expression_stack[-1].FuncCallText += self.input.toString(p.start,p.stop)\r
+ self.postfix_expression_stack[-1].FuncCallText += self.input.toString(p.start, p.stop)\r
\r
# C.g:407:9: ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )*\r
while True: #loop65\r
if self.failed:\r
return \r
if self.backtracking == 0:\r
- self.StoreFunctionCalling(p.start.line, p.start.charPositionInLine, b.line, b.charPositionInLine, self.postfix_expression_stack[-1].FuncCallText, self.input.toString(c.start,c.stop))\r
+ self.StoreFunctionCalling(p.start.line, p.start.charPositionInLine, b.line, b.charPositionInLine, self.postfix_expression_stack[-1].FuncCallText, self.input.toString(c.start, c.stop))\r
\r
\r
\r
if self.failed:\r
return \r
if self.backtracking == 0:\r
- self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))\r
+ self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start, e.stop))\r
\r
\r
\r
if self.failed:\r
return \r
if self.backtracking == 0:\r
- self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))\r
+ self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start, e.stop))\r
\r
self.following.append(self.FOLLOW_statement_in_selection_statement2284)\r
self.statement()\r
if self.failed:\r
return \r
if self.backtracking == 0:\r
- self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))\r
+ self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start, e.stop))\r
\r
\r
\r
if self.failed:\r
return \r
if self.backtracking == 0:\r
- self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))\r
+ self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start, e.stop))\r
\r
\r
\r
if self.failed:\r
return \r
if self.backtracking == 0:\r
- self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))\r
+ self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start, e.stop))\r
\r
\r
\r
NmakeLine = ''\r
\r
# section content\r
- self._ValueList = ['','','']\r
+ self._ValueList = ['', '', '']\r
# parse current line, result will be put in self._ValueList\r
self._SectionParser[self._SectionType](self)\r
if self._ValueList is None or self._ItemType == MODEL_META_DATA_DEFINE:\r
\r
## Directive statement parser\r
def _DirectiveParser(self):\r
- self._ValueList = ['','','']\r
+ self._ValueList = ['', '', '']\r
TokenList = GetSplitValueList(self._CurrentLine, ' ', 1)\r
self._ValueList[0:len(TokenList)] = TokenList\r
\r
\r
## Override parent's method since we'll do all macro replacements in parser\r
def _GetMacros(self):\r
- Macros = dict( [('ARCH','IA32'), ('FAMILY','MSFT'),('TOOL_CHAIN_TAG','VS2008x86'),('TARGET','DEBUG')])\r
+ Macros = dict( [('ARCH', 'IA32'), ('FAMILY', 'MSFT'), ('TOOL_CHAIN_TAG', 'VS2008x86'), ('TARGET', 'DEBUG')])\r
Macros.update(self._FileLocalMacros)\r
Macros.update(self._GetApplicableSectionMacro())\r
Macros.update(GlobalData.gEdkGlobal)\r
self._RawTable.Drop()\r
self._Table.Drop()\r
for Record in RecordList:\r
- EccGlobalData.gDb.TblDsc.Insert(Record[1],Record[2],Record[3],Record[4],Record[5],Record[6],Record[7],Record[8],Record[9],Record[10],Record[11],Record[12],Record[13],Record[14])\r
+ EccGlobalData.gDb.TblDsc.Insert(Record[1], Record[2], Record[3], Record[4], Record[5], Record[6], Record[7], Record[8], Record[9], Record[10], Record[11], Record[12], Record[13], Record[14])\r
GlobalData.gPlatformDefines.update(self._FileLocalMacros)\r
self._PostProcessed = True\r
self._Content = None\r
\r
def __RetrievePcdValue(self):\r
Records = self._RawTable.Query(MODEL_PCD_FEATURE_FLAG, BelongsToItem=-1.0)\r
- for TokenSpaceGuid,PcdName,Value,Dummy2,Dummy3,ID,Line in Records:\r
+ for TokenSpaceGuid, PcdName, Value, Dummy2, Dummy3, ID, Line in Records:\r
Value, DatumType, MaxDatumSize = AnalyzePcdData(Value)\r
# Only use PCD whose value is straitforward (no macro and PCD)\r
if self.SymbolPattern.findall(Value):\r
self._Symbols[Name] = Value\r
\r
Records = self._RawTable.Query(MODEL_PCD_FIXED_AT_BUILD, BelongsToItem=-1.0)\r
- for TokenSpaceGuid,PcdName,Value,Dummy2,Dummy3,ID,Line in Records:\r
+ for TokenSpaceGuid, PcdName, Value, Dummy2, Dummy3, ID, Line in Records:\r
Value, DatumType, MaxDatumSize = AnalyzePcdData(Value)\r
# Only use PCD whose value is straitforward (no macro and PCD)\r
if self.SymbolPattern.findall(Value):\r
continue\r
\r
# section content\r
- self._ValueList = ['','','']\r
+ self._ValueList = ['', '', '']\r
self._SectionParser[self._SectionType[0]](self)\r
if self._ValueList is None or self._ItemType == MODEL_META_DATA_DEFINE:\r
self._ItemType = -1\r
GuidValue = GuidValue.lstrip(' {')\r
HexList.append('0x' + str(GuidValue[2:]))\r
Index += 1\r
- self._ValueList[1] = "{ %s, %s, %s, { %s, %s, %s, %s, %s, %s, %s, %s }}" % (HexList[0], HexList[1], HexList[2],HexList[3],HexList[4],HexList[5],HexList[6],HexList[7],HexList[8],HexList[9],HexList[10])\r
+ self._ValueList[1] = "{ %s, %s, %s, { %s, %s, %s, %s, %s, %s, %s, %s }}" % (HexList[0], HexList[1], HexList[2], HexList[3], HexList[4], HexList[5], HexList[6], HexList[7], HexList[8], HexList[9], HexList[10])\r
else:\r
EdkLogger.error('Parser', FORMAT_INVALID, "Invalid GUID value format",\r
ExtraData=self._CurrentLine + \\r
if self.backtracking == 0:\r
\r
if d is not None:\r
- self.function_definition_stack[-1].ModifierText = self.input.toString(d.start,d.stop)\r
+ self.function_definition_stack[-1].ModifierText = self.input.toString(d.start, d.stop)\r
else:\r
self.function_definition_stack[-1].ModifierText = ''\r
- self.function_definition_stack[-1].DeclText = self.input.toString(declarator1.start,declarator1.stop)\r
+ self.function_definition_stack[-1].DeclText = self.input.toString(declarator1.start, declarator1.stop)\r
self.function_definition_stack[-1].DeclLine = declarator1.start.line\r
self.function_definition_stack[-1].DeclOffset = declarator1.start.charPositionInLine\r
if a is not None:\r
if self.backtracking == 0:\r
\r
if b is not None:\r
- self.StoreTypedefDefinition(a.line, a.charPositionInLine, d.line, d.charPositionInLine, self.input.toString(b.start,b.stop), self.input.toString(c.start,c.stop))\r
+ self.StoreTypedefDefinition(a.line, a.charPositionInLine, d.line, d.charPositionInLine, self.input.toString(b.start, b.stop), self.input.toString(c.start, c.stop))\r
else:\r
- self.StoreTypedefDefinition(a.line, a.charPositionInLine, d.line, d.charPositionInLine, '', self.input.toString(c.start,c.stop))\r
+ self.StoreTypedefDefinition(a.line, a.charPositionInLine, d.line, d.charPositionInLine, '', self.input.toString(c.start, c.stop))\r
\r
\r
\r
if self.backtracking == 0:\r
\r
if t is not None:\r
- self.StoreVariableDeclaration(s.start.line, s.start.charPositionInLine, t.start.line, t.start.charPositionInLine, self.input.toString(s.start,s.stop), self.input.toString(t.start,t.stop))\r
+ self.StoreVariableDeclaration(s.start.line, s.start.charPositionInLine, t.start.line, t.start.charPositionInLine, self.input.toString(s.start, s.stop), self.input.toString(t.start, t.stop))\r
\r
\r
\r
if self.backtracking == 0:\r
\r
if s.stop is not None:\r
- self.StoreStructUnionDefinition(s.start.line, s.start.charPositionInLine, s.stop.line, s.stop.charPositionInLine, self.input.toString(s.start,s.stop))\r
+ self.StoreStructUnionDefinition(s.start.line, s.start.charPositionInLine, s.stop.line, s.stop.charPositionInLine, self.input.toString(s.start, s.stop))\r
\r
\r
\r
if self.backtracking == 0:\r
\r
if e.stop is not None:\r
- self.StoreEnumerationDefinition(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))\r
+ self.StoreEnumerationDefinition(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start, e.stop))\r
\r
\r
\r
if self.failed:\r
return \r
if self.backtracking == 0:\r
- self.postfix_expression_stack[-1].FuncCallText += self.input.toString(p.start,p.stop)\r
+ self.postfix_expression_stack[-1].FuncCallText += self.input.toString(p.start, p.stop)\r
\r
# C.g:407:9: ( '[' expression ']' | '(' a= ')' | '(' c= argument_expression_list b= ')' | '(' macro_parameter_list ')' | '.' x= IDENTIFIER | '*' y= IDENTIFIER | '->' z= IDENTIFIER | '++' | '--' )*\r
while True: #loop65\r
if self.failed:\r
return \r
if self.backtracking == 0:\r
- self.StoreFunctionCalling(p.start.line, p.start.charPositionInLine, b.line, b.charPositionInLine, self.postfix_expression_stack[-1].FuncCallText, self.input.toString(c.start,c.stop))\r
+ self.StoreFunctionCalling(p.start.line, p.start.charPositionInLine, b.line, b.charPositionInLine, self.postfix_expression_stack[-1].FuncCallText, self.input.toString(c.start, c.stop))\r
\r
\r
\r
if self.failed:\r
return \r
if self.backtracking == 0:\r
- self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))\r
+ self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start, e.stop))\r
\r
\r
\r
if self.failed:\r
return \r
if self.backtracking == 0:\r
- self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))\r
+ self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start, e.stop))\r
\r
self.following.append(self.FOLLOW_statement_in_selection_statement2284)\r
self.statement()\r
if self.failed:\r
return \r
if self.backtracking == 0:\r
- self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))\r
+ self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start, e.stop))\r
\r
\r
\r
if self.failed:\r
return \r
if self.backtracking == 0:\r
- self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))\r
+ self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start, e.stop))\r
\r
\r
\r
if self.failed:\r
return \r
if self.backtracking == 0:\r
- self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start,e.stop))\r
+ self.StorePredicateExpression(e.start.line, e.start.charPositionInLine, e.stop.line, e.stop.charPositionInLine, self.input.toString(e.start, e.stop))\r
\r
\r
\r
\r
for pp in FileProfile.PPDirectiveList:\r
Type = GetIdType(pp.Content)\r
- IdPP = DataClass.IdentifierClass(-1, '', '', '', pp.Content, Type, -1, -1, pp.StartPos[0],pp.StartPos[1],pp.EndPos[0],pp.EndPos[1])\r
+ IdPP = DataClass.IdentifierClass(-1, '', '', '', pp.Content, Type, -1, -1, pp.StartPos[0], pp.StartPos[1], pp.EndPos[0], pp.EndPos[1])\r
IdList.append(IdPP)\r
\r
for ae in FileProfile.AssignmentExpressionList:\r
- IdAE = DataClass.IdentifierClass(-1, ae.Operator, '', ae.Name, ae.Value, DataClass.MODEL_IDENTIFIER_ASSIGNMENT_EXPRESSION, -1, -1, ae.StartPos[0],ae.StartPos[1],ae.EndPos[0],ae.EndPos[1])\r
+ IdAE = DataClass.IdentifierClass(-1, ae.Operator, '', ae.Name, ae.Value, DataClass.MODEL_IDENTIFIER_ASSIGNMENT_EXPRESSION, -1, -1, ae.StartPos[0], ae.StartPos[1], ae.EndPos[0], ae.EndPos[1])\r
IdList.append(IdAE)\r
\r
FuncDeclPattern = GetFuncDeclPattern()\r
var.Modifier += ' ' + FuncNamePartList[Index]\r
var.Declarator = var.Declarator.lstrip().lstrip(FuncNamePartList[Index])\r
Index += 1\r
- IdVar = DataClass.IdentifierClass(-1, var.Modifier, '', var.Declarator, '', DataClass.MODEL_IDENTIFIER_FUNCTION_DECLARATION, -1, -1, var.StartPos[0],var.StartPos[1],var.EndPos[0],var.EndPos[1])\r
+ IdVar = DataClass.IdentifierClass(-1, var.Modifier, '', var.Declarator, '', DataClass.MODEL_IDENTIFIER_FUNCTION_DECLARATION, -1, -1, var.StartPos[0], var.StartPos[1], var.EndPos[0], var.EndPos[1])\r
IdList.append(IdVar)\r
continue\r
\r
var.Modifier += ' ' + Name[LSBPos:]\r
Name = Name[0:LSBPos]\r
\r
- IdVar = DataClass.IdentifierClass(-1, var.Modifier, '', Name, (len(DeclList) > 1 and [DeclList[1]]or [''])[0], DataClass.MODEL_IDENTIFIER_VARIABLE, -1, -1, var.StartPos[0],var.StartPos[1],var.EndPos[0],var.EndPos[1])\r
+ IdVar = DataClass.IdentifierClass(-1, var.Modifier, '', Name, (len(DeclList) > 1 and [DeclList[1]]or [''])[0], DataClass.MODEL_IDENTIFIER_VARIABLE, -1, -1, var.StartPos[0], var.StartPos[1], var.EndPos[0], var.EndPos[1])\r
IdList.append(IdVar)\r
else:\r
DeclList = var.Declarator.split('=')\r
LSBPos = var.Declarator.find('[')\r
var.Modifier += ' ' + Name[LSBPos:]\r
Name = Name[0:LSBPos]\r
- IdVar = DataClass.IdentifierClass(-1, var.Modifier, '', Name, (len(DeclList) > 1 and [DeclList[1]]or [''])[0], DataClass.MODEL_IDENTIFIER_VARIABLE, -1, -1, var.StartPos[0],var.StartPos[1],var.EndPos[0],var.EndPos[1])\r
+ IdVar = DataClass.IdentifierClass(-1, var.Modifier, '', Name, (len(DeclList) > 1 and [DeclList[1]]or [''])[0], DataClass.MODEL_IDENTIFIER_VARIABLE, -1, -1, var.StartPos[0], var.StartPos[1], var.EndPos[0], var.EndPos[1])\r
IdList.append(IdVar)\r
\r
for enum in FileProfile.EnumerationDefinitionList:\r
RBPos = enum.Content.find('}')\r
Name = enum.Content[4:LBPos].strip()\r
Value = enum.Content[LBPos+1:RBPos]\r
- IdEnum = DataClass.IdentifierClass(-1, '', '', Name, Value, DataClass.MODEL_IDENTIFIER_ENUMERATE, -1, -1, enum.StartPos[0],enum.StartPos[1],enum.EndPos[0],enum.EndPos[1])\r
+ IdEnum = DataClass.IdentifierClass(-1, '', '', Name, Value, DataClass.MODEL_IDENTIFIER_ENUMERATE, -1, -1, enum.StartPos[0], enum.StartPos[1], enum.EndPos[0], enum.EndPos[1])\r
IdList.append(IdEnum)\r
\r
for su in FileProfile.StructUnionDefinitionList:\r
else:\r
Name = su.Content[SkipLen:LBPos].strip()\r
Value = su.Content[LBPos+1:RBPos]\r
- IdPE = DataClass.IdentifierClass(-1, '', '', Name, Value, Type, -1, -1, su.StartPos[0],su.StartPos[1],su.EndPos[0],su.EndPos[1])\r
+ IdPE = DataClass.IdentifierClass(-1, '', '', Name, Value, Type, -1, -1, su.StartPos[0], su.StartPos[1], su.EndPos[0], su.EndPos[1])\r
IdList.append(IdPE)\r
\r
TdFuncPointerPattern = GetTypedefFuncPointerPattern()\r
Name = TmpStr[0:RBPos]\r
Value = 'FP' + TmpStr[RBPos + 1:]\r
\r
- IdTd = DataClass.IdentifierClass(-1, Modifier, '', Name, Value, DataClass.MODEL_IDENTIFIER_TYPEDEF, -1, -1, td.StartPos[0],td.StartPos[1],td.EndPos[0],td.EndPos[1])\r
+ IdTd = DataClass.IdentifierClass(-1, Modifier, '', Name, Value, DataClass.MODEL_IDENTIFIER_TYPEDEF, -1, -1, td.StartPos[0], td.StartPos[1], td.EndPos[0], td.EndPos[1])\r
IdList.append(IdTd)\r
\r
for funcCall in FileProfile.FunctionCallingList:\r
- IdFC = DataClass.IdentifierClass(-1, '', '', funcCall.FuncName, funcCall.ParamList, DataClass.MODEL_IDENTIFIER_FUNCTION_CALLING, -1, -1, funcCall.StartPos[0],funcCall.StartPos[1],funcCall.EndPos[0],funcCall.EndPos[1])\r
+ IdFC = DataClass.IdentifierClass(-1, '', '', funcCall.FuncName, funcCall.ParamList, DataClass.MODEL_IDENTIFIER_FUNCTION_CALLING, -1, -1, funcCall.StartPos[0], funcCall.StartPos[1], funcCall.EndPos[0], funcCall.EndPos[1])\r
IdList.append(IdFC)\r
return IdList\r
\r
FuncDef.Modifier += ' ' + FuncNamePartList[Index]\r
Index += 1\r
\r
- FuncObj = DataClass.FunctionClass(-1, FuncDef.Declarator, FuncDef.Modifier, FuncName.strip(), '', FuncDef.StartPos[0],FuncDef.StartPos[1],FuncDef.EndPos[0],FuncDef.EndPos[1], FuncDef.LeftBracePos[0], FuncDef.LeftBracePos[1], -1, ParamIdList, [])\r
+ FuncObj = DataClass.FunctionClass(-1, FuncDef.Declarator, FuncDef.Modifier, FuncName.strip(), '', FuncDef.StartPos[0], FuncDef.StartPos[1], FuncDef.EndPos[0], FuncDef.EndPos[1], FuncDef.LeftBracePos[0], FuncDef.LeftBracePos[1], -1, ParamIdList, [])\r
FuncObjList.append(FuncObj)\r
\r
return FuncObjList\r
from GenFdsGlobalVariable import GenFdsGlobalVariable\r
from CommonDataClass.FdfClass import AprioriSectionClassObject\r
from Common.StringUtils import *\r
-from Common.Misc import SaveFileOnChange,PathClass\r
+from Common.Misc import SaveFileOnChange, PathClass\r
from Common import EdkLogger\r
from Common.BuildToolError import *\r
from Common.DataType import TAB_COMMON\r
#\r
Guid = self.ImageTypeId.split('-')\r
Buffer = pack('=ILHHBBBBBBBBBBBBIIQ',\r
- int(self.Version,16),\r
+ int(self.Version, 16),\r
int(Guid[0], 16), \r
int(Guid[1], 16), \r
int(Guid[2], 16), \r
elif FileList != []:\r
for File in FileList:\r
Index = Index + 1\r
- Num = '%s.%d' %(SecNum , Index)\r
+ Num = '%s.%d' %(SecNum, Index)\r
OutputFile = os.path.join(OutputPath, ModuleName + SUP_MODULE_SEC + Num + Ffs.SectionSuffix.get(SectionType))\r
f = open(File, 'r')\r
VerString = f.read()\r
elif FileList != []:\r
for File in FileList:\r
Index = Index + 1\r
- Num = '%s.%d' %(SecNum , Index)\r
+ Num = '%s.%d' %(SecNum, Index)\r
OutputFile = os.path.join(OutputPath, ModuleName + SUP_MODULE_SEC + Num + Ffs.SectionSuffix.get(SectionType))\r
f = open(File, 'r')\r
UiString = f.read()\r
for File in FileList:\r
""" Copy Map file to FFS output path """\r
Index = Index + 1\r
- Num = '%s.%d' %(SecNum , Index)\r
+ Num = '%s.%d' %(SecNum, Index)\r
OutputFile = os.path.join( OutputPath, ModuleName + SUP_MODULE_SEC + Num + Ffs.SectionSuffix.get(SectionType))\r
File = GenFdsGlobalVariable.MacroExtend(File, Dict)\r
\r
# Call each region's AddToBuffer function\r
#\r
GenFdsGlobalVariable.VerboseLogger('Call each region\'s AddToBuffer function')\r
- RegionObj.AddToBuffer (FdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFds.ImageBinDict, self.vtfRawDict, self.DefineVarDict,Flag=Flag)\r
+ RegionObj.AddToBuffer (FdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFds.ImageBinDict, self.vtfRawDict, self.DefineVarDict, Flag=Flag)\r
#\r
# Write the buffer contents to Fd file\r
#\r
if len(RegionObj.RegionDataList) == 1:\r
RegionData = RegionObj.RegionDataList[0]\r
FvList.append(RegionData.upper())\r
- FvAddDict[RegionData.upper()] = (int(self.BaseAddress,16) + \\r
+ FvAddDict[RegionData.upper()] = (int(self.BaseAddress, 16) + \\r
RegionObj.Offset, RegionObj.Size)\r
else:\r
Offset = RegionObj.Offset\r
Size = 0\r
for blockStatement in FvObj.BlockSizeList:\r
Size = Size + blockStatement[0] * blockStatement[1]\r
- FvAddDict[RegionData.upper()] = (int(self.BaseAddress,16) + \\r
+ FvAddDict[RegionData.upper()] = (int(self.BaseAddress, 16) + \\r
Offset, Size)\r
Offset = Offset + Size\r
#\r
return long(\r
ValueExpression(Expr,\r
self.__CollectMacroPcd()\r
- )(True),0)\r
+ )(True), 0)\r
except Exception:\r
self.SetFileBufferPos(StartPos)\r
return None\r
while True:\r
AlignValue = None\r
if self.__GetAlignment():\r
- if self.__Token not in ("Auto", "8", "16", "32", "64", "128", "512", "1K", "4K", "32K" ,"64K", "128K",\r
+ if self.__Token not in ("Auto", "8", "16", "32", "64", "128", "512", "1K", "4K", "32K", "64K", "128K",\r
"256K", "512K", "1M", "2M", "4M", "8M", "16M"):\r
raise Warning("Incorrect alignment '%s'" % self.__Token, self.FileName, self.CurrentLineNumber)\r
#For FFS, Auto is default option same to ""\r
FfsFileObj.CheckSum = True\r
\r
if self.__GetAlignment():\r
- if self.__Token not in ("Auto", "8", "16", "32", "64", "128", "512", "1K", "4K", "32K" ,"64K", "128K",\r
+ if self.__Token not in ("Auto", "8", "16", "32", "64", "128", "512", "1K", "4K", "32K", "64K", "128K",\r
"256K", "512K", "1M", "2M", "4M", "8M", "16M"):\r
raise Warning("Incorrect alignment '%s'" % self.__Token, self.FileName, self.CurrentLineNumber)\r
#For FFS, Auto is default option same to ""\r
\r
AlignValue = None\r
if self.__GetAlignment():\r
- if self.__Token not in ("Auto", "8", "16", "32", "64", "128", "512", "1K", "4K", "32K" ,"64K", "128K",\r
+ if self.__Token not in ("Auto", "8", "16", "32", "64", "128", "512", "1K", "4K", "32K", "64K", "128K",\r
"256K", "512K", "1M", "2M", "4M", "8M", "16M"):\r
raise Warning("Incorrect alignment '%s'" % self.__Token, self.FileName, self.CurrentLineNumber)\r
AlignValue = self.__Token\r
\r
AlignValue = None\r
if self.__GetAlignment():\r
- if self.__Token not in ("8", "16", "32", "64", "128", "512", "1K", "4K", "32K" ,"64K", "128K",\r
+ if self.__Token not in ("8", "16", "32", "64", "128", "512", "1K", "4K", "32K", "64K", "128K",\r
"256K", "512K", "1M", "2M", "4M", "8M", "16M"):\r
raise Warning("Incorrect alignment '%s'" % self.__Token, self.FileName, self.CurrentLineNumber)\r
AlignValue = self.__Token\r
AfileName = self.__Token\r
AfileBaseName = os.path.basename(AfileName)\r
\r
- if os.path.splitext(AfileBaseName)[1] not in [".bin",".BIN",".Bin",".dat",".DAT",".Dat",".data",".DATA",".Data"]:\r
+ if os.path.splitext(AfileBaseName)[1] not in [".bin", ".BIN", ".Bin", ".dat", ".DAT", ".Dat", ".data", ".DATA", ".Data"]:\r
raise Warning('invalid binary file type, should be one of "bin",BINARY_FILE_TYPE_BIN,"Bin","dat","DAT","Dat","data","DATA","Data"', \\r
self.FileName, self.CurrentLineNumber)\r
\r
\r
AlignValue = ""\r
if self.__GetAlignment():\r
- if self.__Token not in ("Auto", "8", "16", "32", "64", "128", "512", "1K", "4K", "32K" ,"64K", "128K",\r
+ if self.__Token not in ("Auto", "8", "16", "32", "64", "128", "512", "1K", "4K", "32K", "64K", "128K",\r
"256K", "512K", "1M", "2M", "4M", "8M", "16M"):\r
raise Warning("Incorrect alignment '%s'" % self.__Token, self.FileName, self.CurrentLineNumber)\r
#For FFS, Auto is default option same to ""\r
\r
SectAlignment = ""\r
if self.__GetAlignment():\r
- if self.__Token not in ("Auto", "8", "16", "32", "64", "128", "512", "1K", "4K", "32K" ,"64K", "128K",\r
+ if self.__Token not in ("Auto", "8", "16", "32", "64", "128", "512", "1K", "4K", "32K", "64K", "128K",\r
"256K", "512K", "1M", "2M", "4M", "8M", "16M"):\r
raise Warning("Incorrect alignment '%s'" % self.__Token, self.FileName, self.CurrentLineNumber)\r
if self.__Token == 'Auto' and (not SectionName == BINARY_FILE_TYPE_PE32) and (not SectionName == BINARY_FILE_TYPE_TE):\r
FvImageSectionObj.FvFileType = self.__Token\r
\r
if self.__GetAlignment():\r
- if self.__Token not in ("8", "16", "32", "64", "128", "512", "1K", "4K", "32K" ,"64K", "128K",\r
+ if self.__Token not in ("8", "16", "32", "64", "128", "512", "1K", "4K", "32K", "64K", "128K",\r
"256K", "512K", "1M", "2M", "4M", "8M", "16M"):\r
raise Warning("Incorrect alignment '%s'" % self.__Token, self.FileName, self.CurrentLineNumber)\r
FvImageSectionObj.Alignment = self.__Token\r
EfiSectionObj.BuildNum = self.__Token\r
\r
if self.__GetAlignment():\r
- if self.__Token not in ("Auto", "8", "16", "32", "64", "128", "512", "1K", "4K", "32K" ,"64K", "128K",\r
+ if self.__Token not in ("Auto", "8", "16", "32", "64", "128", "512", "1K", "4K", "32K", "64K", "128K",\r
"256K", "512K", "1M", "2M", "4M", "8M", "16M"):\r
raise Warning("Incorrect alignment '%s'" % self.__Token, self.FileName, self.CurrentLineNumber)\r
if self.__Token == 'Auto' and (not SectionName == BINARY_FILE_TYPE_PE32) and (not SectionName == BINARY_FILE_TYPE_TE):\r
FvInFdList = self.__GetFvInFd(RefFdName)\r
if FvInFdList != []:\r
for FvNameInFd in FvInFdList:\r
- LogStr += "FD %s contains FV %s\n" % (RefFdName,FvNameInFd)\r
+ LogStr += "FD %s contains FV %s\n" % (RefFdName, FvNameInFd)\r
if FvNameInFd not in RefFvStack:\r
RefFvStack.append(FvNameInFd)\r
\r
CapInFdList = self.__GetCapInFd(RefFdName)\r
if CapInFdList != []:\r
for CapNameInFd in CapInFdList:\r
- LogStr += "FD %s contains Capsule %s\n" % (RefFdName,CapNameInFd)\r
+ LogStr += "FD %s contains Capsule %s\n" % (RefFdName, CapNameInFd)\r
if CapNameInFd not in RefCapStack:\r
RefCapStack.append(CapNameInFd)\r
\r
FvInFdList = self.__GetFvInFd(RefFdName)\r
if FvInFdList != []:\r
for FvNameInFd in FvInFdList:\r
- LogStr += "FD %s contains FV %s\n" % (RefFdName,FvNameInFd)\r
+ LogStr += "FD %s contains FV %s\n" % (RefFdName, FvNameInFd)\r
if FvNameInFd not in RefFvList:\r
RefFvList.append(FvNameInFd)\r
\r
try:\r
Pcd.InfDefaultValue = ValueExpressionEx(Pcd.InfDefaultValue, Pcd.DatumType, Platform._GuidDict)(True)\r
except BadExpression:\r
- EdkLogger.error("GenFds", GENFDS_ERROR, 'PCD [%s.%s] Value "%s"' %(Pcd.TokenSpaceGuidCName, Pcd.TokenCName, Pcd.DefaultValue),File=self.InfFileName)\r
+ EdkLogger.error("GenFds", GENFDS_ERROR, 'PCD [%s.%s] Value "%s"' %(Pcd.TokenSpaceGuidCName, Pcd.TokenCName, Pcd.DefaultValue), File=self.InfFileName)\r
\r
# Check value, if value are equal, no need to patch\r
if Pcd.DatumType == TAB_VOID:\r
\r
self.__InfParse__(Dict)\r
Arch = self.GetCurrentArch()\r
- SrcFile = mws.join( GenFdsGlobalVariable.WorkSpaceDir , self.InfFileName);\r
+ SrcFile = mws.join( GenFdsGlobalVariable.WorkSpaceDir, self.InfFileName);\r
DestFile = os.path.join( self.OutputPath, self.ModuleGuid + '.ffs')\r
\r
SrcFileDir = "."\r
Arch = self.CurrentArch\r
\r
OutputPath = os.path.join(GenFdsGlobalVariable.OutputDirDict[Arch],\r
- Arch ,\r
+ Arch,\r
ModulePath,\r
FileName,\r
'OUTPUT'\r
)\r
DebugPath = os.path.join(GenFdsGlobalVariable.OutputDirDict[Arch],\r
- Arch ,\r
+ Arch,\r
ModulePath,\r
FileName,\r
'DEBUG'\r
Sect.FvParentAddr = FvParentAddr\r
\r
if Rule.KeyStringList != []:\r
- SectList, Align = Sect.GenSection(self.OutputPath , self.ModuleGuid, SecIndex, Rule.KeyStringList, self, IsMakefile = IsMakefile)\r
+ SectList, Align = Sect.GenSection(self.OutputPath, self.ModuleGuid, SecIndex, Rule.KeyStringList, self, IsMakefile = IsMakefile)\r
else :\r
- SectList, Align = Sect.GenSection(self.OutputPath , self.ModuleGuid, SecIndex, self.KeyStringList, self, IsMakefile = IsMakefile)\r
+ SectList, Align = Sect.GenSection(self.OutputPath, self.ModuleGuid, SecIndex, self.KeyStringList, self, IsMakefile = IsMakefile)\r
\r
if not HasGeneratedFlag:\r
UniVfrOffsetFileSection = "" \r
try :\r
SaveFileOnChange(UniVfrOffsetFileName, fStringIO.getvalue())\r
except:\r
- EdkLogger.error("GenFds", FILE_WRITE_FAILURE, "Write data to file %s failed, please check whether the file been locked or using by other applications." %UniVfrOffsetFileName,None)\r
+ EdkLogger.error("GenFds", FILE_WRITE_FAILURE, "Write data to file %s failed, please check whether the file been locked or using by other applications." %UniVfrOffsetFileName, None)\r
\r
fStringIO.close ()\r
\r
# check if the file path exists or not\r
if not os.path.isfile(FileFullPath):\r
GenFdsGlobalVariable.ErrorLogger("Error opening FV Extension Header Entry file %s." % (self.FvExtEntryData[Index]))\r
- FvExtFile = open (FileFullPath,'rb')\r
- FvExtFile.seek(0,2)\r
+ FvExtFile = open (FileFullPath, 'rb')\r
+ FvExtFile.seek(0, 2)\r
Size = FvExtFile.tell()\r
if Size >= 0x10000:\r
GenFdsGlobalVariable.ErrorLogger("The size of FV Extension Header Entry file %s exceeds 0x10000." % (self.FvExtEntryData[Index]))\r
for FvFileName in FileList:\r
FvAlignmentValue = 0\r
if os.path.isfile(FvFileName):\r
- FvFileObj = open (FvFileName,'rb')\r
+ FvFileObj = open (FvFileName, 'rb')\r
FvFileObj.seek(0)\r
# PI FvHeader is 0x48 byte\r
FvHeaderBuffer = FvFileObj.read(0x48)\r
if self.FvFileName is not None:\r
FvFileName = GenFdsGlobalVariable.ReplaceWorkspaceMacro(self.FvFileName)\r
if os.path.isfile(FvFileName):\r
- FvFileObj = open (FvFileName,'rb')\r
+ FvFileObj = open (FvFileName, 'rb')\r
FvFileObj.seek(0)\r
# PI FvHeader is 0x48 byte\r
FvHeaderBuffer = FvFileObj.read(0x48)\r
for Arch in ArchList:\r
GenFdsGlobalVariable.OutputDirDict[Arch] = os.path.normpath(\r
os.path.join(GlobalData.gWorkspace,\r
- WorkSpace.Db.BuildObject[GenFdsGlobalVariable.ActivePlatform, Arch,GlobalData.gGlobalDefines['TARGET'],\r
+ WorkSpace.Db.BuildObject[GenFdsGlobalVariable.ActivePlatform, Arch, GlobalData.gGlobalDefines['TARGET'],\r
GlobalData.gGlobalDefines['TOOLCHAIN']].OutputDirectory,\r
GlobalData.gGlobalDefines['TARGET'] +'_' + GlobalData.gGlobalDefines['TOOLCHAIN']))\r
GenFdsGlobalVariable.OutputDirFromDscDict[Arch] = os.path.normpath(\r
\r
GenFdsGlobalVariable.DebugLogger(EdkLogger.DEBUG_5, "%s needs update because of newer %s" % (Output, Input))\r
if MakefilePath:\r
- if (tuple(Cmd),tuple(GenFdsGlobalVariable.SecCmdList),tuple(GenFdsGlobalVariable.CopyList)) not in GenFdsGlobalVariable.FfsCmdDict:\r
+ if (tuple(Cmd), tuple(GenFdsGlobalVariable.SecCmdList), tuple(GenFdsGlobalVariable.CopyList)) not in GenFdsGlobalVariable.FfsCmdDict:\r
GenFdsGlobalVariable.FfsCmdDict[tuple(Cmd), tuple(GenFdsGlobalVariable.SecCmdList), tuple(GenFdsGlobalVariable.CopyList)] = MakefilePath\r
GenFdsGlobalVariable.SecCmdList = []\r
GenFdsGlobalVariable.CopyList = []\r
PcdName = m.groups(0)[0]\r
m = pcdPatternGcc.match(lines[index + 1].strip())\r
if m is not None:\r
- bpcds.append((PcdName, int(m.groups(0)[0], 16) , int(sections[-1][1], 16), sections[-1][0]))\r
+ bpcds.append((PcdName, int(m.groups(0)[0], 16), int(sections[-1][1], 16), sections[-1][0]))\r
\r
# get section information from efi file\r
efisecs = PeImageClass(efifilepath).SectionHeaderList\r
parser.add_argument("--signature-size", dest='SignatureSizeStr', type=str, help="specify the signature size for decode process.")\r
parser.add_argument("-v", "--verbose", dest='Verbose', action="store_true", help="increase output messages")\r
parser.add_argument("-q", "--quiet", dest='Quiet', action="store_true", help="reduce output messages")\r
- parser.add_argument("--debug", dest='Debug', type=int, metavar='[0-9]', choices=range(0,10), default=0, help="set debug level")\r
+ parser.add_argument("--debug", dest='Debug', type=int, metavar='[0-9]', choices=range(0, 10), default=0, help="set debug level")\r
parser.add_argument(metavar="input_file", dest='InputFile', type=argparse.FileType('rb'), help="specify the input filename")\r
\r
#\r
parser.add_argument("--public-key-hash-c", dest='PublicKeyHashCFile', type=argparse.FileType('wb'), help="specify the public key hash filename that is SHA 256 hash of 2048 bit RSA public key in C structure format")\r
parser.add_argument("-v", "--verbose", dest='Verbose', action="store_true", help="increase output messages")\r
parser.add_argument("-q", "--quiet", dest='Quiet', action="store_true", help="reduce output messages")\r
- parser.add_argument("--debug", dest='Debug', type=int, metavar='[0-9]', choices=range(0,10), default=0, help="set debug level")\r
+ parser.add_argument("--debug", dest='Debug', type=int, metavar='[0-9]', choices=range(0, 10), default=0, help="set debug level")\r
\r
#\r
# Parse command line arguments\r
# UINT8 Signature[256];\r
# } EFI_CERT_BLOCK_RSA_2048_SHA256;\r
#\r
-EFI_CERT_BLOCK_RSA_2048_SHA256 = collections.namedtuple('EFI_CERT_BLOCK_RSA_2048_SHA256', ['HashType','PublicKey','Signature'])\r
+EFI_CERT_BLOCK_RSA_2048_SHA256 = collections.namedtuple('EFI_CERT_BLOCK_RSA_2048_SHA256', ['HashType', 'PublicKey', 'Signature'])\r
EFI_CERT_BLOCK_RSA_2048_SHA256_STRUCT = struct.Struct('16s256s256s')\r
\r
#\r
parser.add_argument("--private-key", dest='PrivateKeyFile', type=argparse.FileType('rb'), help="specify the private key filename. If not specified, a test signing key is used.")\r
parser.add_argument("-v", "--verbose", dest='Verbose', action="store_true", help="increase output messages")\r
parser.add_argument("-q", "--quiet", dest='Quiet', action="store_true", help="reduce output messages")\r
- parser.add_argument("--debug", dest='Debug', type=int, metavar='[0-9]', choices=range(0,10), default=0, help="set debug level")\r
+ parser.add_argument("--debug", dest='Debug', type=int, metavar='[0-9]', choices=range(0, 10), default=0, help="set debug level")\r
parser.add_argument(metavar="input_file", dest='InputFile', type=argparse.FileType('rb'), help="specify the input filename")\r
\r
#\r
PublicKeyHexString = Process.communicate()[0].split('=')[1].strip()\r
PublicKey = ''\r
while len(PublicKeyHexString) > 0:\r
- PublicKey = PublicKey + chr(int(PublicKeyHexString[0:2],16))\r
+ PublicKey = PublicKey + chr(int(PublicKeyHexString[0:2], 16))\r
PublicKeyHexString=PublicKeyHexString[2:]\r
if Process.returncode != 0:\r
sys.exit(Process.returncode)\r
def ConvertTextFileToDict(self, FileName, CommentCharacter, KeySplitCharacter):\r
"""Convert a text file to a dictionary of (name:value) pairs."""\r
try:\r
- f = open(FileName,'r')\r
+ f = open(FileName, 'r')\r
for Line in f:\r
if Line.startswith(CommentCharacter) or Line.strip() == '':\r
continue\r
- LineList = Line.split(KeySplitCharacter,1)\r
+ LineList = Line.split(KeySplitCharacter, 1)\r
if len(LineList) >= 2:\r
Key = LineList[0].strip()\r
if Key.startswith(CommentCharacter) == False and Key in self.TargetTxtDictionary:\r
if Line.startswith(CommentCharacter) or Line.strip() == '':\r
fw.write(Line)\r
else:\r
- LineList = Line.split(KeySplitCharacter,1)\r
+ LineList = Line.split(KeySplitCharacter, 1)\r
if len(LineList) >= 2:\r
Key = LineList[0].strip()\r
if Key.startswith(CommentCharacter) == False and Key in self.TargetTxtDictionary:\r
parser.error("Option %s only allows one instance in command line!" % option)\r
\r
def MyOptionParser():\r
- parser = OptionParser(version=__version__,prog="TargetTool.exe",usage=__usage__,description=__copyright__)\r
- parser.add_option("-a", "--arch", action="append", type="choice", choices=['IA32','X64','IPF','EBC', 'ARM', 'AARCH64','0'], dest="TARGET_ARCH",\r
+ parser = OptionParser(version=__version__, prog="TargetTool.exe", usage=__usage__, description=__copyright__)\r
+ parser.add_option("-a", "--arch", action="append", type="choice", choices=['IA32', 'X64', 'IPF', 'EBC', 'ARM', 'AARCH64', '0'], dest="TARGET_ARCH",\r
help="ARCHS is one of list: IA32, X64, IPF, ARM, AARCH64 or EBC, which replaces target.txt's TARGET_ARCH definition. To specify more archs, please repeat this option. 0 will clear this setting in target.txt and can't combine with other value.")\r
parser.add_option("-p", "--platform", action="callback", type="string", dest="DSCFILE", callback=SingleCheckCallback,\r
help="Specify a DSC file, which replace target.txt's ACTIVE_PLATFORM definition. 0 will clear this setting in target.txt and can't combine with other value.")\r
parser.add_option("-c", "--tooldef", action="callback", type="string", dest="TOOL_DEFINITION_FILE", callback=SingleCheckCallback,\r
help="Specify the WORKSPACE relative path of tool_def.txt file, which replace target.txt's TOOL_CHAIN_CONF definition. 0 will clear this setting in target.txt and can't combine with other value.")\r
- parser.add_option("-t", "--target", action="append", type="choice", choices=['DEBUG','RELEASE','0'], dest="TARGET",\r
+ parser.add_option("-t", "--target", action="append", type="choice", choices=['DEBUG', 'RELEASE', '0'], dest="TARGET",\r
help="TARGET is one of list: DEBUG, RELEASE, which replaces target.txt's TARGET definition. To specify more TARGET, please repeat this option. 0 will clear this setting in target.txt and can't combine with other value.")\r
parser.add_option("-n", "--tagname", action="callback", type="string", dest="TOOL_CHAIN_TAG", callback=SingleCheckCallback,\r
help="Specify the Tool Chain Tagname, which replaces target.txt's TOOL_CHAIN_TAG definition. 0 will clear this setting in target.txt and can't combine with other value.")\r
CreateDirectory(os.path.dirname(Target))\r
\r
try:\r
- f = open (Source,'r')\r
+ f = open (Source, 'r')\r
except:\r
EdkLogger.error("Trim", FILE_OPEN_FAILURE, ExtraData=Source)\r
# read whole file\r
\r
# save all lines trimmed\r
try:\r
- f = open (Target,'w')\r
+ f = open (Target, 'w')\r
except:\r
EdkLogger.error("Trim", FILE_OPEN_FAILURE, ExtraData=Target)\r
f.writelines(Lines)\r
if IncludePathFile:\r
try:\r
LineNum = 0\r
- for Line in open(IncludePathFile,'r'):\r
+ for Line in open(IncludePathFile, 'r'):\r
LineNum += 1\r
if Line.startswith("/I") or Line.startswith ("-I"):\r
IncludePathList.append(Line[2:].strip())\r
\r
# save all lines trimmed\r
try:\r
- f = open (Target,'w')\r
+ f = open (Target, 'w')\r
except:\r
EdkLogger.error("Trim", FILE_OPEN_FAILURE, ExtraData=Target)\r
\r
CreateDirectory(os.path.dirname(Target))\r
\r
try:\r
- f = open (Source,'rb')\r
+ f = open (Source, 'rb')\r
except:\r
EdkLogger.error("Trim", FILE_OPEN_FAILURE, ExtraData=Source)\r
# read whole file\r
f.close()\r
\r
NewLines = None\r
- for Re,Repl in gImportCodePatterns:\r
+ for Re, Repl in gImportCodePatterns:\r
if NewLines is None:\r
NewLines = Re.sub(Repl, Lines)\r
else:\r
return\r
\r
try:\r
- f = open (Target,'wb')\r
+ f = open (Target, 'wb')\r
except:\r
EdkLogger.error("Trim", FILE_OPEN_FAILURE, ExtraData=Target)\r
f.write(NewLines)\r
pass\r
DecPath = dirname(DecFile)\r
if DecPath.find(WorkSP) > -1:\r
- InstallPath = GetRelativePath(DecPath,WorkSP)\r
- DecFileRelaPath = GetRelativePath(DecFile,WorkSP)\r
+ InstallPath = GetRelativePath(DecPath, WorkSP)\r
+ DecFileRelaPath = GetRelativePath(DecFile, WorkSP)\r
else:\r
InstallPath = DecPath\r
DecFileRelaPath = DecFile\r
pass\r
DecPath = dirname(DecFile)\r
if DecPath.find(WorkSP) > -1:\r
- InstallPath = GetRelativePath(DecPath,WorkSP)\r
- DecFileRelaPath = GetRelativePath(DecFile,WorkSP)\r
+ InstallPath = GetRelativePath(DecPath, WorkSP)\r
+ DecFileRelaPath = GetRelativePath(DecFile, WorkSP)\r
else:\r
InstallPath = DecPath\r
DecFileRelaPath = DecFile\r
(select InstallPath from ModInPkgInfo where \r
ModInPkgInfo.PackageGuid ='%s' \r
and ModInPkgInfo.PackageVersion = '%s')""" \\r
- % (Pkg[0], Pkg[1], Pkg[0], Pkg[1], Pkg[0], Pkg[1],Pkg[0], Pkg[1])\r
+ % (Pkg[0], Pkg[1], Pkg[0], Pkg[1], Pkg[0], Pkg[1], Pkg[0], Pkg[1])\r
\r
self.Cur.execute(SqlCommand)\r
#\r
def __ConvertToSqlString(self, StringList):\r
if self.DpTable:\r
pass\r
- return map(lambda s: s.replace("'", "''") , StringList)\r
+ return map(lambda s: s.replace("'", "''"), StringList)\r
\r
\r
\r
# @param StringList: A list for strings to be converted\r
#\r
def ConvertToSqlString(StringList):\r
- return map(lambda s: s.replace("'", "''") , StringList)\r
+ return map(lambda s: s.replace("'", "''"), StringList)\r
\r
## Convert To Sql String\r
#\r
ContainerFile,\r
(Item.TokenSpaceGuidCName, Item.TokenCName,\r
Item.DefaultValue, Item.DatumType, Item.TokenValue,\r
- Type, Item.GetHeadComment(), Item.GetTailComment(),''),\r
+ Type, Item.GetHeadComment(), Item.GetTailComment(), ''),\r
Language,\r
self.DecParser.GetDefineSectionMacro()\r
)\r
GlobalData.gDB.CloseDb()\r
\r
if pf.system() == 'Windows':\r
- os.system('subst %s /D' % GlobalData.gWORKSPACE.replace('\\',''))\r
+ os.system('subst %s /D' % GlobalData.gWORKSPACE.replace('\\', ''))\r
\r
return ReturnCode\r
\r
def FromXml(self, Item, Key, PackageObject2):\r
if not Item:\r
XmlTreeLevel = ['DistributionPackage', 'PackageSurfaceArea']\r
- CheckDict = {'PackageHeader':None, }\r
+ CheckDict = {'PackageHeader': None, }\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
self.PackagePath = XmlElement(Item, '%s/PackagePath' % Key)\r
self.Header.FromXml(Item, Key)\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
else:\r
XmlTreeLevel = ['DistributionPackage', 'DistributionHeader']\r
- CheckDict = CheckDict = {'DistributionHeader':'', }\r
+ CheckDict = CheckDict = {'DistributionHeader': '', }\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
\r
#\r
#\r
if self.DistP.Tools:\r
XmlTreeLevel = ['DistributionPackage', 'Tools', 'Header']\r
- CheckDict = {'Name':self.DistP.Tools.GetName(), }\r
+ CheckDict = {'Name': self.DistP.Tools.GetName(), }\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
\r
if not self.DistP.Tools.GetFileList():\r
XmlTreeLevel = ['DistributionPackage', 'Tools']\r
- CheckDict = {'FileName':None, }\r
+ CheckDict = {'FileName': None, }\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
for Item in self.DistP.Tools.GetFileList():\r
XmlTreeLevel = ['DistributionPackage', 'Tools']\r
- CheckDict = {'FileName':Item.GetURI(), }\r
+ CheckDict = {'FileName': Item.GetURI(), }\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
\r
#\r
#\r
if self.DistP.MiscellaneousFiles:\r
XmlTreeLevel = ['DistributionPackage', 'MiscellaneousFiles', 'Header']\r
- CheckDict = {'Name':self.DistP.MiscellaneousFiles.GetName(), }\r
+ CheckDict = {'Name': self.DistP.MiscellaneousFiles.GetName(), }\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
\r
if not self.DistP.MiscellaneousFiles.GetFileList():\r
XmlTreeLevel = ['DistributionPackage', 'MiscellaneousFiles']\r
- CheckDict = {'FileName':None, }\r
+ CheckDict = {'FileName': None, }\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
for Item in self.DistP.MiscellaneousFiles.GetFileList():\r
XmlTreeLevel = ['DistributionPackage', 'MiscellaneousFiles']\r
- CheckDict = {'FileName':Item.GetURI(), }\r
+ CheckDict = {'FileName': Item.GetURI(), }\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
\r
#\r
#\r
for Item in self.DistP.UserExtensions:\r
XmlTreeLevel = ['DistributionPackage', 'UserExtensions']\r
- CheckDict = {'UserId':Item.GetUserID(), }\r
+ CheckDict = {'UserId': Item.GetUserID(), }\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
\r
\r
XmlTreeLevel = TopXmlTreeLevel + ['MiscellaneousFiles']\r
for Item in Module.GetMiscFileList():\r
if not Item.GetFileList():\r
- CheckDict = {'Filename':'', }\r
+ CheckDict = {'Filename': '', }\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
for File in Item.GetFileList():\r
- CheckDict = {'Filename':File.GetURI(), }\r
+ CheckDict = {'Filename': File.GetURI(), }\r
\r
## ValidateMS2\r
#\r
XmlTreeLevel = ['DistributionPackage', 'PackageSurfaceArea', 'MiscellaneousFiles']\r
for Item in Package.GetMiscFileList():\r
if not Item.GetFileList():\r
- CheckDict = {'Filename':'', }\r
+ CheckDict = {'Filename': '', }\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
for File in Item.GetFileList():\r
- CheckDict = {'Filename':File.GetURI(), }\r
+ CheckDict = {'Filename': File.GetURI(), }\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
\r
## ValidatePackageSurfaceArea\r
if IsDsc:\r
self.DscDefaultValue = Value\r
self.PcdValueFromComm = ""\r
- self.DefinitionPosition = ("","")\r
+ self.DefinitionPosition = ("", "")\r
\r
## Get the maximum number of bytes\r
def GetPcdMaxSize(self):\r
if self.DatumType in TAB_PCD_NUMERIC_TYPES:\r
return MAX_SIZE_TYPE[self.DatumType]\r
\r
- MaxSize = int(self.MaxDatumSize,10) if self.MaxDatumSize else 0\r
+ MaxSize = int(self.MaxDatumSize, 10) if self.MaxDatumSize else 0\r
if self.PcdValueFromComm:\r
if self.PcdValueFromComm.startswith("{") and self.PcdValueFromComm.endswith("}"):\r
- return max([len(self.PcdValueFromComm.split(",")),MaxSize])\r
+ return max([len(self.PcdValueFromComm.split(",")), MaxSize])\r
elif self.PcdValueFromComm.startswith("\"") or self.PcdValueFromComm.startswith("\'"):\r
- return max([len(self.PcdValueFromComm)-2+1,MaxSize])\r
+ return max([len(self.PcdValueFromComm)-2+1, MaxSize])\r
elif self.PcdValueFromComm.startswith("L\""):\r
- return max([2*(len(self.PcdValueFromComm)-3+1),MaxSize])\r
+ return max([2*(len(self.PcdValueFromComm)-3+1), MaxSize])\r
else:\r
- return max([len(self.PcdValueFromComm),MaxSize])\r
+ return max([len(self.PcdValueFromComm), MaxSize])\r
return MaxSize\r
\r
## Get the number of bytes\r
self.DefaultValues[FieldName] = [Value.strip(), FileName, LineNo]\r
return self.DefaultValues[FieldName]\r
\r
- def SetDecDefaultValue(self,DefaultValue):\r
+ def SetDecDefaultValue(self, DefaultValue):\r
self.DefaultValueFromDec = DefaultValue\r
def AddOverrideValue (self, FieldName, Value, SkuName, DefaultStoreName, FileName="", LineNo=0):\r
if SkuName not in self.SkuOverrideValues:\r
\r
def ProcessStructurePcd(self, StructurePcdRawDataSet):\r
s_pcd_set = OrderedDict()\r
- for s_pcd,LineNo in StructurePcdRawDataSet:\r
+ for s_pcd, LineNo in StructurePcdRawDataSet:\r
if s_pcd.TokenSpaceGuidCName not in s_pcd_set:\r
s_pcd_set[s_pcd.TokenSpaceGuidCName] = []\r
- s_pcd_set[s_pcd.TokenSpaceGuidCName].append((s_pcd,LineNo))\r
+ s_pcd_set[s_pcd.TokenSpaceGuidCName].append((s_pcd, LineNo))\r
\r
str_pcd_set = []\r
for pcdname in s_pcd_set:\r
dep_pkgs = []\r
struct_pcd = StructurePcd()\r
- for item,LineNo in s_pcd_set[pcdname]:\r
+ for item, LineNo in s_pcd_set[pcdname]:\r
if "<HeaderFiles>" in item.TokenCName:\r
struct_pcd.StructuredPcdIncludeFile.append(item.DefaultValue)\r
elif "<Packages>" in item.TokenCName:\r
struct_pcd.PkgPath = self.MetaFile.File\r
struct_pcd.SetDecDefaultValue(item.DefaultValue)\r
else:\r
- struct_pcd.AddDefaultValue(item.TokenCName, item.DefaultValue,self.MetaFile.File,LineNo)\r
+ struct_pcd.AddDefaultValue(item.TokenCName, item.DefaultValue, self.MetaFile.File, LineNo)\r
\r
struct_pcd.PackageDecs = dep_pkgs\r
str_pcd_set.append(struct_pcd)\r
StrPcdSet = []\r
RecordList = self._RawData[Type, self._Arch]\r
for TokenSpaceGuid, PcdCName, Setting, Arch, PrivateFlag, Dummy1, Dummy2 in RecordList:\r
- PcdDict[Arch, PcdCName, TokenSpaceGuid] = (Setting,Dummy2)\r
+ PcdDict[Arch, PcdCName, TokenSpaceGuid] = (Setting, Dummy2)\r
if not (PcdCName, TokenSpaceGuid) in PcdSet:\r
PcdSet.append((PcdCName, TokenSpaceGuid))\r
\r
# limit the ARCH to self._Arch, if no self._Arch found, tdict\r
# will automatically turn to 'common' ARCH and try again\r
#\r
- Setting,LineNo = PcdDict[self._Arch, PcdCName, TokenSpaceGuid]\r
+ Setting, LineNo = PcdDict[self._Arch, PcdCName, TokenSpaceGuid]\r
if Setting is None:\r
continue\r
\r
list(validlists),\r
list(expressions)\r
)\r
- PcdObj.DefinitionPosition = (self.MetaFile.File,LineNo)\r
+ PcdObj.DefinitionPosition = (self.MetaFile.File, LineNo)\r
if "." in TokenSpaceGuid:\r
- StrPcdSet.append((PcdObj,LineNo))\r
+ StrPcdSet.append((PcdObj, LineNo))\r
else:\r
Pcds[PcdCName, TokenSpaceGuid, self._PCD_TYPE_STRING_[Type]] = PcdObj\r
\r
for pcd in Pcds.values():\r
if pcd.DatumType not in [TAB_UINT8, TAB_UINT16, TAB_UINT32, TAB_UINT64, TAB_VOID, "BOOLEAN"]:\r
if StructPattern.match(pcd.DatumType) is None:\r
- EdkLogger.error('build', FORMAT_INVALID, "DatumType only support BOOLEAN, UINT8, UINT16, UINT32, UINT64, VOID* or a valid struct name.", pcd.DefinitionPosition[0],pcd.DefinitionPosition[1])\r
+ EdkLogger.error('build', FORMAT_INVALID, "DatumType only support BOOLEAN, UINT8, UINT16, UINT32, UINT64, VOID* or a valid struct name.", pcd.DefinitionPosition[0], pcd.DefinitionPosition[1])\r
for struct_pcd in Pcds.values():\r
- if isinstance(struct_pcd,StructurePcd) and not struct_pcd.StructuredPcdIncludeFile:\r
- EdkLogger.error("build", PCD_STRUCTURE_PCD_ERROR, "The structure Pcd %s.%s header file is not found in %s line %s \n" % (struct_pcd.TokenSpaceGuidCName, struct_pcd.TokenCName,struct_pcd.DefinitionPosition[0],struct_pcd.DefinitionPosition[1] ))\r
+ if isinstance(struct_pcd, StructurePcd) and not struct_pcd.StructuredPcdIncludeFile:\r
+ EdkLogger.error("build", PCD_STRUCTURE_PCD_ERROR, "The structure Pcd %s.%s header file is not found in %s line %s \n" % (struct_pcd.TokenSpaceGuidCName, struct_pcd.TokenCName, struct_pcd.DefinitionPosition[0], struct_pcd.DefinitionPosition[1] ))\r
\r
return Pcds\r
@property\r
import subprocess\r
from Common.Misc import SaveFileOnChange\r
from Workspace.BuildClassObject import PlatformBuildClassObject, StructurePcd, PcdClassObject, ModuleBuildClassObject\r
-from collections import OrderedDict,defaultdict\r
+from collections import OrderedDict, defaultdict\r
\r
PcdValueInitName = 'PcdValueInit'\r
\r
#\r
# @retval list The list of files the given source file depends on\r
#\r
-def GetDependencyList(FileStack,SearchPathList):\r
+def GetDependencyList(FileStack, SearchPathList):\r
DepDb = dict()\r
DependencySet = set(FileStack)\r
while len(FileStack) > 0:\r
@property\r
def OutputPath(self):\r
if os.getenv("WORKSPACE"):\r
- return os.path.join(os.getenv("WORKSPACE"), self.OutputDirectory, self._Target + "_" + self._Toolchain,PcdValueInitName)\r
+ return os.path.join(os.getenv("WORKSPACE"), self.OutputDirectory, self._Target + "_" + self._Toolchain, PcdValueInitName)\r
else:\r
return os.path.dirname(self.DscFile)\r
\r
\r
@staticmethod\r
def ToInt(intstr):\r
- return int(intstr,16) if intstr.upper().startswith("0X") else int(intstr)\r
+ return int(intstr, 16) if intstr.upper().startswith("0X") else int(intstr)\r
\r
def _GetDefaultStores(self):\r
if self.DefaultStores is None:\r
if not IsValidWord(Record[1]):\r
EdkLogger.error('build', FORMAT_INVALID, "The format of the DefaultStores ID name is invalid. The correct format is '(a-zA-Z0-9_)(a-zA-Z0-9_-.)*'",\r
File=self.MetaFile, Line=Record[-1])\r
- self.DefaultStores[Record[1].upper()] = (DscBuildData.ToInt(Record[0]),Record[1].upper())\r
+ self.DefaultStores[Record[1].upper()] = (DscBuildData.ToInt(Record[0]), Record[1].upper())\r
if TAB_DEFAULT_STORES_DEFAULT not in self.DefaultStores:\r
- self.DefaultStores[TAB_DEFAULT_STORES_DEFAULT] = (0,TAB_DEFAULT_STORES_DEFAULT)\r
+ self.DefaultStores[TAB_DEFAULT_STORES_DEFAULT] = (0, TAB_DEFAULT_STORES_DEFAULT)\r
GlobalData.gDefaultStores = sorted(self.DefaultStores.keys())\r
return self.DefaultStores\r
\r
for Type in [MODEL_PCD_FIXED_AT_BUILD, MODEL_PCD_PATCHABLE_IN_MODULE, \\r
MODEL_PCD_FEATURE_FLAG, MODEL_PCD_DYNAMIC, MODEL_PCD_DYNAMIC_EX]:\r
RecordList = self._RawData[Type, self._Arch, None, ModuleId]\r
- for TokenSpaceGuid, PcdCName, Setting, Dummy1, Dummy2, Dummy3, Dummy4,Dummy5 in RecordList:\r
+ for TokenSpaceGuid, PcdCName, Setting, Dummy1, Dummy2, Dummy3, Dummy4, Dummy5 in RecordList:\r
TokenList = GetSplitValueList(Setting)\r
DefaultValue = TokenList[0]\r
# the format is PcdName| Value | VOID* | MaxDatumSize\r
\r
# get module private build options\r
RecordList = self._RawData[MODEL_META_DATA_BUILD_OPTION, self._Arch, None, ModuleId]\r
- for ToolChainFamily, ToolChain, Option, Dummy1, Dummy2, Dummy3, Dummy4,Dummy5 in RecordList:\r
+ for ToolChainFamily, ToolChain, Option, Dummy1, Dummy2, Dummy3, Dummy4, Dummy5 in RecordList:\r
if (ToolChainFamily, ToolChain) not in Module.BuildOptions:\r
Module.BuildOptions[ToolChainFamily, ToolChain] = Option\r
else:\r
RecordList = self._RawData[MODEL_EFI_LIBRARY_CLASS, self._Arch, None, -1]\r
Macros = self._Macros\r
for Record in RecordList:\r
- LibraryClass, LibraryInstance, Dummy, Arch, ModuleType, Dummy,Dummy, LineNo = Record\r
+ LibraryClass, LibraryInstance, Dummy, Arch, ModuleType, Dummy, Dummy, LineNo = Record\r
if LibraryClass == '' or LibraryClass == 'NULL':\r
self._NullLibraryNumber += 1\r
LibraryClass = 'NULL%d' % self._NullLibraryNumber\r
ModuleData = self._Bdb[ModuleFile, self._Arch, self._Target, self._Toolchain]\r
PkgSet.update(ModuleData.Packages)\r
\r
- self._DecPcds, self._GuidDict = GetDeclaredPcd(self, self._Bdb, self._Arch, self._Target, self._Toolchain,PkgSet)\r
+ self._DecPcds, self._GuidDict = GetDeclaredPcd(self, self._Bdb, self._Arch, self._Target, self._Toolchain, PkgSet)\r
self._GuidDict.update(GlobalData.gPlatformPcds)\r
\r
if (PcdCName, TokenSpaceGuid) not in self._DecPcds:\r
ExtraData="%s.%s" % (TokenSpaceGuid, PcdCName))\r
if PcdType in (MODEL_PCD_DYNAMIC_DEFAULT, MODEL_PCD_DYNAMIC_EX_DEFAULT):\r
if self._DecPcds[PcdCName, TokenSpaceGuid].DatumType.strip() != ValueList[1].strip():\r
- EdkLogger.error('build', FORMAT_INVALID, "Pcd datumtype used in DSC file is not the same as its declaration in DEC file." , File=self.MetaFile, Line=LineNo,\r
+ EdkLogger.error('build', FORMAT_INVALID, "Pcd datumtype used in DSC file is not the same as its declaration in DEC file.", File=self.MetaFile, Line=LineNo,\r
ExtraData="%s.%s|%s" % (TokenSpaceGuid, PcdCName, Setting))\r
if (TokenSpaceGuid + '.' + PcdCName) in GlobalData.gPlatformPcds:\r
if GlobalData.gPlatformPcds[TokenSpaceGuid + '.' + PcdCName] != ValueList[Index]:\r
GlobalData.gPlatformPcds[TokenSpaceGuid + '.' + PcdCName] = ValueList[Index]\r
return ValueList\r
\r
- def _FilterPcdBySkuUsage(self,Pcds):\r
+ def _FilterPcdBySkuUsage(self, Pcds):\r
available_sku = self.SkuIdMgr.AvailableSkuIdSet\r
sku_usage = self.SkuIdMgr.SkuUsageType\r
if sku_usage == SkuClass.SINGLE:\r
if type(pcd) is StructurePcd and pcd.SkuOverrideValues:\r
Pcds[pcdname].SkuOverrideValues = {skuid:pcd.SkuOverrideValues[skuid] for skuid in pcd.SkuOverrideValues if skuid in available_sku}\r
return Pcds\r
- def CompleteHiiPcdsDefaultStores(self,Pcds):\r
+ def CompleteHiiPcdsDefaultStores(self, Pcds):\r
HiiPcd = [Pcds[pcd] for pcd in Pcds if Pcds[pcd].Type in [self._PCD_TYPE_STRING_[MODEL_PCD_DYNAMIC_HII], self._PCD_TYPE_STRING_[MODEL_PCD_DYNAMIC_EX_HII]]]\r
DefaultStoreMgr = DefaultStore(self.DefaultStores)\r
for pcd in HiiPcd:\r
else:\r
pcd.PcdValueFromComm = pcd.SkuInfoList.get(TAB_DEFAULT).DefaultValue\r
for pcd in self._Pcds:\r
- if isinstance(self._Pcds[pcd],StructurePcd) and (self._Pcds[pcd].PcdValueFromComm or self._Pcds[pcd].PcdFieldValueFromComm):\r
+ if isinstance(self._Pcds[pcd], StructurePcd) and (self._Pcds[pcd].PcdValueFromComm or self._Pcds[pcd].PcdFieldValueFromComm):\r
UpdateCommandLineValue(self._Pcds[pcd])\r
\r
def __ParsePcdFromCommandLine(self):\r
if not pcdvalue:\r
EdkLogger.error('build', AUTOGEN_ERROR, "No Value specified for the PCD %s." % (pcdname))\r
if '.' in pcdname:\r
- (Name1, Name2) = pcdname.split('.',1)\r
+ (Name1, Name2) = pcdname.split('.', 1)\r
if "." in Name2:\r
- (Name3, FieldName) = Name2.split(".",1)\r
- if ((Name3,Name1)) in self.DecPcds:\r
+ (Name3, FieldName) = Name2.split(".", 1)\r
+ if ((Name3, Name1)) in self.DecPcds:\r
HasTokenSpace = True\r
TokenCName = Name3\r
TokenSpaceGuidCName = Name1\r
TokenSpaceGuidCName = ''\r
HasTokenSpace = False\r
else:\r
- if ((Name2,Name1)) in self.DecPcds:\r
+ if ((Name2, Name1)) in self.DecPcds:\r
HasTokenSpace = True\r
TokenCName = Name2\r
TokenSpaceGuidCName = Name1\r
IsValid, Cause = CheckPcdDatum(PcdDatumType, pcdvalue)\r
if not IsValid:\r
EdkLogger.error("build", FORMAT_INVALID, Cause, ExtraData="%s.%s" % (TokenSpaceGuidCName, TokenCName))\r
- GlobalData.BuildOptionPcd[i] = (TokenSpaceGuidCName, TokenCName, FieldName, pcdvalue,("build command options",1))\r
+ GlobalData.BuildOptionPcd[i] = (TokenSpaceGuidCName, TokenCName, FieldName, pcdvalue, ("build command options", 1))\r
\r
for BuildData in self._Bdb._CACHE_.values():\r
if BuildData.MetaFile.Ext == '.dec' or BuildData.MetaFile.Ext == '.dsc':\r
#\r
for CodeBase in (EDKII_NAME, EDK_NAME):\r
RecordList = self._RawData[MODEL_META_DATA_BUILD_OPTION, self._Arch, CodeBase]\r
- for ToolChainFamily, ToolChain, Option, Dummy1, Dummy2, Dummy3, Dummy4,Dummy5 in RecordList:\r
+ for ToolChainFamily, ToolChain, Option, Dummy1, Dummy2, Dummy3, Dummy4, Dummy5 in RecordList:\r
if Dummy3.upper() != TAB_COMMON:\r
continue\r
CurKey = (ToolChainFamily, ToolChain, CodeBase)\r
DriverType = '%s.%s' % (Edk, ModuleType)\r
CommonDriverType = '%s.%s' % (TAB_COMMON, ModuleType)\r
RecordList = self._RawData[MODEL_META_DATA_BUILD_OPTION, self._Arch]\r
- for ToolChainFamily, ToolChain, Option, Dummy1, Dummy2, Dummy3, Dummy4,Dummy5 in RecordList:\r
+ for ToolChainFamily, ToolChain, Option, Dummy1, Dummy2, Dummy3, Dummy4, Dummy5 in RecordList:\r
Type = Dummy2 + '.' + Dummy3\r
if Type.upper() == DriverType.upper() or Type.upper() == CommonDriverType.upper():\r
Key = (ToolChainFamily, ToolChain, Edk)\r
def GetStructurePcdInfo(PcdSet):\r
structure_pcd_data = defaultdict(list)\r
for item in PcdSet:\r
- structure_pcd_data[(item[0],item[1])].append(item)\r
+ structure_pcd_data[(item[0], item[1])].append(item)\r
\r
return structure_pcd_data\r
\r
def OverrideByFdfComm(StruPcds):\r
StructurePcdInCom = OrderedDict()\r
for item in GlobalData.BuildOptionPcd:\r
- if len(item) == 5 and (item[1],item[0]) in StruPcds:\r
- StructurePcdInCom[(item[0],item[1],item[2] )] = (item[3],item[4])\r
- GlobalPcds = {(item[0],item[1]) for item in StructurePcdInCom}\r
+ if len(item) == 5 and (item[1], item[0]) in StruPcds:\r
+ StructurePcdInCom[(item[0], item[1], item[2] )] = (item[3], item[4])\r
+ GlobalPcds = {(item[0], item[1]) for item in StructurePcdInCom}\r
for Pcd in StruPcds.values():\r
- if (Pcd.TokenSpaceGuidCName,Pcd.TokenCName) not in GlobalPcds:\r
+ if (Pcd.TokenSpaceGuidCName, Pcd.TokenCName) not in GlobalPcds:\r
continue\r
FieldValues = OrderedDict()\r
for item in StructurePcdInCom:\r
- if (Pcd.TokenSpaceGuidCName,Pcd.TokenCName) == (item[0],item[1]) and item[2]:\r
+ if (Pcd.TokenSpaceGuidCName, Pcd.TokenCName) == (item[0], item[1]) and item[2]:\r
FieldValues[item[2]] = StructurePcdInCom[item]\r
for field in FieldValues:\r
if field not in Pcd.PcdFieldValueFromComm:\r
- Pcd.PcdFieldValueFromComm[field] = ["","",""]\r
+ Pcd.PcdFieldValueFromComm[field] = ["", "", ""]\r
Pcd.PcdFieldValueFromComm[field][0] = FieldValues[field][0]\r
Pcd.PcdFieldValueFromComm[field][1] = FieldValues[field][1][0]\r
Pcd.PcdFieldValueFromComm[field][2] = FieldValues[field][1][1]\r
return StruPcds\r
\r
- def OverrideByFdfCommOverAll(self,AllPcds):\r
+ def OverrideByFdfCommOverAll(self, AllPcds):\r
def CheckStructureInComm(commpcds):\r
if not commpcds:\r
return False\r
return False\r
\r
if CheckStructureInComm(GlobalData.BuildOptionPcd):\r
- StructurePcdInCom = {(item[0],item[1],item[2] ):(item[3],item[4]) for item in GlobalData.BuildOptionPcd } if GlobalData.BuildOptionPcd else {}\r
- NoFiledValues = {(item[0],item[1]):StructurePcdInCom[item] for item in StructurePcdInCom if not item[2]}\r
+ StructurePcdInCom = {(item[0], item[1], item[2] ):(item[3], item[4]) for item in GlobalData.BuildOptionPcd } if GlobalData.BuildOptionPcd else {}\r
+ NoFiledValues = {(item[0], item[1]):StructurePcdInCom[item] for item in StructurePcdInCom if not item[2]}\r
else:\r
- NoFiledValues = {(item[0],item[1]):[item[2]] for item in GlobalData.BuildOptionPcd}\r
- for Guid,Name in NoFiledValues:\r
- if (Name,Guid) in AllPcds:\r
- Pcd = AllPcds.get((Name,Guid))\r
- if isinstance(self._DecPcds.get((Pcd.TokenCName,Pcd.TokenSpaceGuidCName), None),StructurePcd):\r
- self._DecPcds.get((Pcd.TokenCName,Pcd.TokenSpaceGuidCName)).PcdValueFromComm = NoFiledValues[(Pcd.TokenSpaceGuidCName,Pcd.TokenCName)][0]\r
+ NoFiledValues = {(item[0], item[1]):[item[2]] for item in GlobalData.BuildOptionPcd}\r
+ for Guid, Name in NoFiledValues:\r
+ if (Name, Guid) in AllPcds:\r
+ Pcd = AllPcds.get((Name, Guid))\r
+ if isinstance(self._DecPcds.get((Pcd.TokenCName, Pcd.TokenSpaceGuidCName), None), StructurePcd):\r
+ self._DecPcds.get((Pcd.TokenCName, Pcd.TokenSpaceGuidCName)).PcdValueFromComm = NoFiledValues[(Pcd.TokenSpaceGuidCName, Pcd.TokenCName)][0]\r
else:\r
- Pcd.PcdValueFromComm = NoFiledValues[(Pcd.TokenSpaceGuidCName,Pcd.TokenCName)][0]\r
- Pcd.DefaultValue = NoFiledValues[(Pcd.TokenSpaceGuidCName,Pcd.TokenCName)][0]\r
+ Pcd.PcdValueFromComm = NoFiledValues[(Pcd.TokenSpaceGuidCName, Pcd.TokenCName)][0]\r
+ Pcd.DefaultValue = NoFiledValues[(Pcd.TokenSpaceGuidCName, Pcd.TokenCName)][0]\r
for sku in Pcd.SkuInfoList:\r
SkuInfo = Pcd.SkuInfoList[sku]\r
if SkuInfo.DefaultValue:\r
- SkuInfo.DefaultValue = NoFiledValues[(Pcd.TokenSpaceGuidCName,Pcd.TokenCName)][0]\r
+ SkuInfo.DefaultValue = NoFiledValues[(Pcd.TokenSpaceGuidCName, Pcd.TokenCName)][0]\r
else:\r
- SkuInfo.HiiDefaultValue = NoFiledValues[(Pcd.TokenSpaceGuidCName,Pcd.TokenCName)][0]\r
+ SkuInfo.HiiDefaultValue = NoFiledValues[(Pcd.TokenSpaceGuidCName, Pcd.TokenCName)][0]\r
for defaultstore in SkuInfo.DefaultStoreDict:\r
- SkuInfo.DefaultStoreDict[defaultstore] = NoFiledValues[(Pcd.TokenSpaceGuidCName,Pcd.TokenCName)][0]\r
+ SkuInfo.DefaultStoreDict[defaultstore] = NoFiledValues[(Pcd.TokenSpaceGuidCName, Pcd.TokenCName)][0]\r
if Pcd.Type in [self._PCD_TYPE_STRING_[MODEL_PCD_DYNAMIC_EX_HII], self._PCD_TYPE_STRING_[MODEL_PCD_DYNAMIC_HII]]:\r
if Pcd.DatumType == TAB_VOID:\r
if not Pcd.MaxDatumSize:\r
Pcd.MaxDatumSize = '0'\r
- CurrentSize = int(Pcd.MaxDatumSize,16) if Pcd.MaxDatumSize.upper().startswith("0X") else int(Pcd.MaxDatumSize)\r
+ CurrentSize = int(Pcd.MaxDatumSize, 16) if Pcd.MaxDatumSize.upper().startswith("0X") else int(Pcd.MaxDatumSize)\r
OptionSize = len((StringToArray(Pcd.PcdValueFromComm)).split(","))\r
MaxSize = max(CurrentSize, OptionSize)\r
Pcd.MaxDatumSize = str(MaxSize)\r
else:\r
- PcdInDec = self.DecPcds.get((Name,Guid))\r
+ PcdInDec = self.DecPcds.get((Name, Guid))\r
if PcdInDec:\r
- PcdInDec.PcdValueFromComm = NoFiledValues[(Guid,Name)][0]\r
+ PcdInDec.PcdValueFromComm = NoFiledValues[(Guid, Name)][0]\r
if PcdInDec.Type in [self._PCD_TYPE_STRING_[MODEL_PCD_FIXED_AT_BUILD],\r
self._PCD_TYPE_STRING_[MODEL_PCD_PATCHABLE_IN_MODULE],\r
self._PCD_TYPE_STRING_[MODEL_PCD_FEATURE_FLAG]]:\r
self.Pcds[Name, Guid] = copy.deepcopy(PcdInDec)\r
- self.Pcds[Name, Guid].DefaultValue = NoFiledValues[( Guid,Name)][0]\r
+ self.Pcds[Name, Guid].DefaultValue = NoFiledValues[( Guid, Name)][0]\r
return AllPcds\r
def UpdateStructuredPcds(self, TypeList, AllPcds):\r
\r
for Type in TypeList:\r
RecordList.extend(self._RawData[Type, self._Arch])\r
\r
- for TokenSpaceGuid, PcdCName, Setting, Arch, SkuName, default_store, Dummy4,Dummy5 in RecordList:\r
+ for TokenSpaceGuid, PcdCName, Setting, Arch, SkuName, default_store, Dummy4, Dummy5 in RecordList:\r
SkuName = SkuName.upper()\r
default_store = default_store.upper()\r
SkuName = TAB_DEFAULT if SkuName == TAB_COMMON else SkuName\r
continue\r
\r
if SkuName in SkuIds and "." in TokenSpaceGuid:\r
- S_PcdSet.append([ TokenSpaceGuid.split(".")[0],TokenSpaceGuid.split(".")[1], PcdCName,SkuName, default_store,Dummy5, AnalyzePcdExpression(Setting)[0]])\r
+ S_PcdSet.append([ TokenSpaceGuid.split(".")[0], TokenSpaceGuid.split(".")[1], PcdCName, SkuName, default_store, Dummy5, AnalyzePcdExpression(Setting)[0]])\r
\r
# handle pcd value override\r
StrPcdSet = DscBuildData.GetStructurePcdInfo(S_PcdSet)\r
if not isinstance (str_pcd_dec, StructurePcd):\r
EdkLogger.error('build', PARSER_ERROR,\r
"Pcd (%s.%s) is not declared as Structure PCD in DEC files. Arch: ['%s']" % (str_pcd[0], str_pcd[1], self._Arch),\r
- File=self.MetaFile,Line = StrPcdSet[str_pcd][0][5])\r
+ File=self.MetaFile, Line = StrPcdSet[str_pcd][0][5])\r
if str_pcd_dec:\r
str_pcd_obj_str = StructurePcd()\r
str_pcd_obj_str.copy(str_pcd_dec)\r
str_pcd_obj_str.DefaultFromDSC = {skuname:{defaultstore: str_pcd_obj.SkuInfoList[skuname].DefaultStoreDict.get(defaultstore, str_pcd_obj.SkuInfoList[skuname].DefaultValue) for defaultstore in DefaultStores} for skuname in str_pcd_obj.SkuInfoList}\r
for str_pcd_data in StrPcdSet[str_pcd]:\r
if str_pcd_data[3] in SkuIds:\r
- str_pcd_obj_str.AddOverrideValue(str_pcd_data[2], str(str_pcd_data[6]), TAB_DEFAULT if str_pcd_data[3] == TAB_COMMON else str_pcd_data[3],TAB_DEFAULT_STORES_DEFAULT if str_pcd_data[4] == TAB_COMMON else str_pcd_data[4], self.MetaFile.File if self.WorkspaceDir not in self.MetaFile.File else self.MetaFile.File[len(self.WorkspaceDir) if self.WorkspaceDir.endswith(os.path.sep) else len(self.WorkspaceDir)+1:],LineNo=str_pcd_data[5])\r
+ str_pcd_obj_str.AddOverrideValue(str_pcd_data[2], str(str_pcd_data[6]), TAB_DEFAULT if str_pcd_data[3] == TAB_COMMON else str_pcd_data[3], TAB_DEFAULT_STORES_DEFAULT if str_pcd_data[4] == TAB_COMMON else str_pcd_data[4], self.MetaFile.File if self.WorkspaceDir not in self.MetaFile.File else self.MetaFile.File[len(self.WorkspaceDir) if self.WorkspaceDir.endswith(os.path.sep) else len(self.WorkspaceDir)+1:], LineNo=str_pcd_data[5])\r
S_pcd_set[str_pcd[1], str_pcd[0]] = str_pcd_obj_str\r
else:\r
EdkLogger.error('build', PARSER_ERROR,\r
"Pcd (%s.%s) defined in DSC is not declared in DEC files. Arch: ['%s']" % (str_pcd[0], str_pcd[1], self._Arch),\r
- File=self.MetaFile,Line = StrPcdSet[str_pcd][0][5])\r
+ File=self.MetaFile, Line = StrPcdSet[str_pcd][0][5])\r
# Add the Structure PCD that only defined in DEC, don't have override in DSC file\r
for Pcd in self.DecPcds:\r
if type (self._DecPcds[Pcd]) is StructurePcd:\r
nextskuid = self.SkuIdMgr.GetNextSkuId(nextskuid)\r
stru_pcd.SkuOverrideValues[skuid] = copy.deepcopy(stru_pcd.SkuOverrideValues[nextskuid]) if not NoDefault else copy.deepcopy({defaultstorename: stru_pcd.DefaultValues for defaultstorename in DefaultStores} if DefaultStores else {TAB_DEFAULT_STORES_DEFAULT:stru_pcd.DefaultValues})\r
if not NoDefault:\r
- stru_pcd.ValueChain.add((skuid,''))\r
+ stru_pcd.ValueChain.add((skuid, ''))\r
if stru_pcd.Type in [self._PCD_TYPE_STRING_[MODEL_PCD_DYNAMIC_HII], self._PCD_TYPE_STRING_[MODEL_PCD_DYNAMIC_EX_HII]]:\r
for skuid in SkuIds:\r
nextskuid = skuid\r
for defaultstoreid in DefaultStores:\r
if defaultstoreid not in stru_pcd.SkuOverrideValues[skuid]:\r
stru_pcd.SkuOverrideValues[skuid][defaultstoreid] = copy.deepcopy(stru_pcd.SkuOverrideValues[nextskuid][mindefaultstorename])\r
- stru_pcd.ValueChain.add((skuid,defaultstoreid))\r
+ stru_pcd.ValueChain.add((skuid, defaultstoreid))\r
S_pcd_set = DscBuildData.OverrideByFdfComm(S_pcd_set)\r
Str_Pcd_Values = self.GenerateByteArrayValue(S_pcd_set)\r
if Str_Pcd_Values:\r
- for (skuname,StoreName,PcdGuid,PcdName,PcdValue) in Str_Pcd_Values:\r
+ for (skuname, StoreName, PcdGuid, PcdName, PcdValue) in Str_Pcd_Values:\r
str_pcd_obj = S_pcd_set.get((PcdName, PcdGuid))\r
if str_pcd_obj is None:\r
print(PcdName, PcdGuid)\r
elif TAB_DEFAULT in pcd.SkuInfoList and TAB_COMMON in pcd.SkuInfoList:\r
del pcd.SkuInfoList[TAB_COMMON]\r
\r
- map(self.FilterSkuSettings,[Pcds[pcdkey] for pcdkey in Pcds if Pcds[pcdkey].Type in DynamicPcdType])\r
+ map(self.FilterSkuSettings, [Pcds[pcdkey] for pcdkey in Pcds if Pcds[pcdkey].Type in DynamicPcdType])\r
return Pcds\r
\r
## Retrieve non-dynamic PCD settings\r
# Find out all possible PCD candidates for self._Arch\r
RecordList = self._RawData[Type, self._Arch]\r
PcdValueDict = OrderedDict()\r
- for TokenSpaceGuid, PcdCName, Setting, Arch, SkuName, Dummy3, Dummy4,Dummy5 in RecordList:\r
+ for TokenSpaceGuid, PcdCName, Setting, Arch, SkuName, Dummy3, Dummy4, Dummy5 in RecordList:\r
SkuName = SkuName.upper()\r
SkuName = TAB_DEFAULT if SkuName == TAB_COMMON else SkuName\r
if SkuName not in AvailableSkuIdSet:\r
else:\r
PcdValueDict[PcdCName, TokenSpaceGuid] = {SkuName:(PcdValue, DatumType, MaxDatumSize)}\r
\r
- for ((PcdCName,TokenSpaceGuid),PcdSetting) in PcdValueDict.iteritems():\r
+ for ((PcdCName, TokenSpaceGuid), PcdSetting) in PcdValueDict.iteritems():\r
PcdValue = None\r
DatumType = None\r
MaxDatumSize = None\r
Result = Result + '"'\r
return Result\r
\r
- def GenerateSizeFunction(self,Pcd):\r
+ def GenerateSizeFunction(self, Pcd):\r
CApp = "// Default Value in Dec \n"\r
CApp = CApp + "void Cal_%s_%s_Size(UINT32 *Size){\n" % (Pcd.TokenSpaceGuidCName, Pcd.TokenCName)\r
for FieldList in [Pcd.DefaultValues]:\r
while '[' in FieldName:\r
FieldName = FieldName.rsplit('[', 1)[0]\r
CApp = CApp + ' __FLEXIBLE_SIZE(*Size, %s, %s, %d); // From %s Line %d Value %s \n' % (Pcd.DatumType, FieldName.strip("."), ArrayIndex + 1, Pcd.PcdFieldValueFromComm[FieldName_ori][1], Pcd.PcdFieldValueFromComm[FieldName_ori][2], Pcd.PcdFieldValueFromComm[FieldName_ori][0])\r
- CApp = CApp + " *Size = (%d > *Size ? %d : *Size); // The Pcd maxsize is %d \n" % (Pcd.GetPcdMaxSize(),Pcd.GetPcdMaxSize(),Pcd.GetPcdMaxSize())\r
+ CApp = CApp + " *Size = (%d > *Size ? %d : *Size); // The Pcd maxsize is %d \n" % (Pcd.GetPcdMaxSize(), Pcd.GetPcdMaxSize(), Pcd.GetPcdMaxSize())\r
CApp = CApp + "}\n"\r
return CApp\r
\r
CApp = CApp + ' Cal_%s_%s_Size(&Size);\n' % (Pcd.TokenSpaceGuidCName, Pcd.TokenCName)\r
return CApp\r
\r
- def GenerateDefaultValueAssignFunction(self,Pcd):\r
+ def GenerateDefaultValueAssignFunction(self, Pcd):\r
CApp = "// Default value in Dec \n"\r
- CApp = CApp + "void Assign_%s_%s_Default_Value(%s *Pcd){\n" % (Pcd.TokenSpaceGuidCName, Pcd.TokenCName,Pcd.DatumType)\r
+ CApp = CApp + "void Assign_%s_%s_Default_Value(%s *Pcd){\n" % (Pcd.TokenSpaceGuidCName, Pcd.TokenCName, Pcd.DatumType)\r
CApp = CApp + ' UINT32 FieldSize;\n'\r
CApp = CApp + ' CHAR8 *Value;\n'\r
DefaultValueFromDec = Pcd.DefaultValueFromDec\r
FieldList[FieldName][0] = ValueExpressionEx(FieldList[FieldName][0], TAB_VOID, self._GuidDict)(True)\r
except BadExpression:\r
EdkLogger.error('Build', FORMAT_INVALID, "Invalid value format for %s. From %s Line %d " %\r
- (".".join((Pcd.TokenSpaceGuidCName, Pcd.TokenCName, FieldName)), FieldList[FieldName][1],FieldList[FieldName][2]))\r
+ (".".join((Pcd.TokenSpaceGuidCName, Pcd.TokenCName, FieldName)), FieldList[FieldName][1], FieldList[FieldName][2]))\r
\r
try:\r
Value, ValueSize = ParseFieldValue (FieldList[FieldName][0])\r
except Exception:\r
- EdkLogger.error('Build', FORMAT_INVALID, "Invalid value format for %s. From %s Line %d " % (".".join((Pcd.TokenSpaceGuidCName,Pcd.TokenCName,FieldName)),FieldList[FieldName][1], FieldList[FieldName][2]))\r
+ EdkLogger.error('Build', FORMAT_INVALID, "Invalid value format for %s. From %s Line %d " % (".".join((Pcd.TokenSpaceGuidCName, Pcd.TokenCName, FieldName)), FieldList[FieldName][1], FieldList[FieldName][2]))\r
if isinstance(Value, str):\r
CApp = CApp + ' Pcd->%s = %s; // From %s Line %d Value %s\n' % (FieldName, Value, FieldList[FieldName][1], FieldList[FieldName][2], FieldList[FieldName][0])\r
elif IsArray:\r
CApp = ' Assign_%s_%s_Default_Value(Pcd);\n' % (Pcd.TokenSpaceGuidCName, Pcd.TokenCName)\r
return CApp\r
\r
- def GenerateInitValueFunction(self,Pcd,SkuName,DefaultStoreName):\r
- CApp = "// Value in Dsc for Sku: %s, DefaultStore %s\n" % (SkuName,DefaultStoreName)\r
- CApp = CApp + "void Assign_%s_%s_%s_%s_Value(%s *Pcd){\n" % (Pcd.TokenSpaceGuidCName, Pcd.TokenCName,SkuName,DefaultStoreName,Pcd.DatumType)\r
+ def GenerateInitValueFunction(self, Pcd, SkuName, DefaultStoreName):\r
+ CApp = "// Value in Dsc for Sku: %s, DefaultStore %s\n" % (SkuName, DefaultStoreName)\r
+ CApp = CApp + "void Assign_%s_%s_%s_%s_Value(%s *Pcd){\n" % (Pcd.TokenSpaceGuidCName, Pcd.TokenCName, SkuName, DefaultStoreName, Pcd.DatumType)\r
CApp = CApp + ' UINT32 FieldSize;\n'\r
CApp = CApp + ' CHAR8 *Value;\n'\r
\r
CApp = CApp + "// SkuName: %s, DefaultStoreName: %s \n" % (TAB_DEFAULT, TAB_DEFAULT_STORES_DEFAULT)\r
inherit_OverrideValues = Pcd.SkuOverrideValues[SkuName]\r
- if (SkuName,DefaultStoreName) == (TAB_DEFAULT,TAB_DEFAULT_STORES_DEFAULT):\r
- pcddefaultvalue = Pcd.DefaultFromDSC.get(TAB_DEFAULT,{}).get(TAB_DEFAULT_STORES_DEFAULT, Pcd.DefaultValue) if Pcd.DefaultFromDSC else Pcd.DefaultValue\r
+ if (SkuName, DefaultStoreName) == (TAB_DEFAULT, TAB_DEFAULT_STORES_DEFAULT):\r
+ pcddefaultvalue = Pcd.DefaultFromDSC.get(TAB_DEFAULT, {}).get(TAB_DEFAULT_STORES_DEFAULT, Pcd.DefaultValue) if Pcd.DefaultFromDSC else Pcd.DefaultValue\r
else:\r
if not Pcd.DscRawValue:\r
# handle the case that structure pcd is not appear in DSC\r
self.CopyDscRawValue(Pcd)\r
- pcddefaultvalue = Pcd.DscRawValue.get(SkuName,{}).get(DefaultStoreName)\r
- for FieldList in [pcddefaultvalue,inherit_OverrideValues.get(DefaultStoreName)]:\r
+ pcddefaultvalue = Pcd.DscRawValue.get(SkuName, {}).get(DefaultStoreName)\r
+ for FieldList in [pcddefaultvalue, inherit_OverrideValues.get(DefaultStoreName)]:\r
if not FieldList:\r
continue\r
if pcddefaultvalue and FieldList == pcddefaultvalue:\r
(Pcd.TokenSpaceGuidCName, Pcd.TokenCName, FieldList))\r
Value, ValueSize = ParseFieldValue (FieldList)\r
\r
- if (SkuName,DefaultStoreName) == (TAB_DEFAULT,TAB_DEFAULT_STORES_DEFAULT):\r
+ if (SkuName, DefaultStoreName) == (TAB_DEFAULT, TAB_DEFAULT_STORES_DEFAULT):\r
if isinstance(Value, str):\r
- CApp = CApp + ' Pcd = %s; // From DSC Default Value %s\n' % (Value, Pcd.DefaultFromDSC.get(TAB_DEFAULT,{}).get(TAB_DEFAULT_STORES_DEFAULT, Pcd.DefaultValue) if Pcd.DefaultFromDSC else Pcd.DefaultValue)\r
+ CApp = CApp + ' Pcd = %s; // From DSC Default Value %s\n' % (Value, Pcd.DefaultFromDSC.get(TAB_DEFAULT, {}).get(TAB_DEFAULT_STORES_DEFAULT, Pcd.DefaultValue) if Pcd.DefaultFromDSC else Pcd.DefaultValue)\r
elif IsArray:\r
#\r
# Use memcpy() to copy value into field\r
#\r
- CApp = CApp + ' Value = %s; // From DSC Default Value %s\n' % (DscBuildData.IntToCString(Value, ValueSize), Pcd.DefaultFromDSC.get(TAB_DEFAULT,{}).get(TAB_DEFAULT_STORES_DEFAULT, Pcd.DefaultValue) if Pcd.DefaultFromDSC else Pcd.DefaultValue)\r
+ CApp = CApp + ' Value = %s; // From DSC Default Value %s\n' % (DscBuildData.IntToCString(Value, ValueSize), Pcd.DefaultFromDSC.get(TAB_DEFAULT, {}).get(TAB_DEFAULT_STORES_DEFAULT, Pcd.DefaultValue) if Pcd.DefaultFromDSC else Pcd.DefaultValue)\r
CApp = CApp + ' memcpy (Pcd, Value, %d);\n' % (ValueSize)\r
else:\r
if isinstance(Value, str):\r
- CApp = CApp + ' Pcd = %s; // From DSC Default Value %s\n' % (Value, Pcd.DscRawValue.get(SkuName,{}).get(DefaultStoreName))\r
+ CApp = CApp + ' Pcd = %s; // From DSC Default Value %s\n' % (Value, Pcd.DscRawValue.get(SkuName, {}).get(DefaultStoreName))\r
elif IsArray:\r
#\r
# Use memcpy() to copy value into field\r
#\r
- CApp = CApp + ' Value = %s; // From DSC Default Value %s\n' % (DscBuildData.IntToCString(Value, ValueSize), Pcd.DscRawValue.get(SkuName,{}).get(DefaultStoreName))\r
+ CApp = CApp + ' Value = %s; // From DSC Default Value %s\n' % (DscBuildData.IntToCString(Value, ValueSize), Pcd.DscRawValue.get(SkuName, {}).get(DefaultStoreName))\r
CApp = CApp + ' memcpy (Pcd, Value, %d);\n' % (ValueSize)\r
continue\r
- if (SkuName,DefaultStoreName) == (TAB_DEFAULT,TAB_DEFAULT_STORES_DEFAULT) or (( (SkuName,'') not in Pcd.ValueChain) and ( (SkuName,DefaultStoreName) not in Pcd.ValueChain )):\r
+ if (SkuName, DefaultStoreName) == (TAB_DEFAULT, TAB_DEFAULT_STORES_DEFAULT) or (( (SkuName, '') not in Pcd.ValueChain) and ( (SkuName, DefaultStoreName) not in Pcd.ValueChain )):\r
for FieldName in FieldList:\r
IsArray = IsFieldValueAnArray(FieldList[FieldName][0])\r
if IsArray:\r
try:\r
Value, ValueSize = ParseFieldValue (FieldList[FieldName][0])\r
except Exception:\r
- EdkLogger.error('Build', FORMAT_INVALID, "Invalid value format for %s. From %s Line %d " % (".".join((Pcd.TokenSpaceGuidCName,Pcd.TokenCName,FieldName)),FieldList[FieldName][1], FieldList[FieldName][2]))\r
+ EdkLogger.error('Build', FORMAT_INVALID, "Invalid value format for %s. From %s Line %d " % (".".join((Pcd.TokenSpaceGuidCName, Pcd.TokenCName, FieldName)), FieldList[FieldName][1], FieldList[FieldName][2]))\r
if isinstance(Value, str):\r
CApp = CApp + ' Pcd->%s = %s; // From %s Line %d Value %s\n' % (FieldName, Value, FieldList[FieldName][1], FieldList[FieldName][2], FieldList[FieldName][0])\r
elif IsArray:\r
return CApp\r
\r
@staticmethod\r
- def GenerateInitValueStatement(Pcd,SkuName,DefaultStoreName):\r
- CApp = ' Assign_%s_%s_%s_%s_Value(Pcd);\n' % (Pcd.TokenSpaceGuidCName, Pcd.TokenCName,SkuName,DefaultStoreName)\r
+ def GenerateInitValueStatement(Pcd, SkuName, DefaultStoreName):\r
+ CApp = ' Assign_%s_%s_%s_%s_Value(Pcd);\n' % (Pcd.TokenSpaceGuidCName, Pcd.TokenCName, SkuName, DefaultStoreName)\r
return CApp\r
\r
- def GenerateCommandLineValue(self,Pcd):\r
+ def GenerateCommandLineValue(self, Pcd):\r
CApp = "// Value in CommandLine\n"\r
- CApp = CApp + "void Assign_%s_%s_CommandLine_Value(%s *Pcd){\n" % (Pcd.TokenSpaceGuidCName, Pcd.TokenCName,Pcd.DatumType)\r
+ CApp = CApp + "void Assign_%s_%s_CommandLine_Value(%s *Pcd){\n" % (Pcd.TokenSpaceGuidCName, Pcd.TokenCName, Pcd.DatumType)\r
CApp = CApp + ' UINT32 FieldSize;\n'\r
CApp = CApp + ' CHAR8 *Value;\n'\r
\r
pcddefaultvalue = Pcd.PcdValueFromComm\r
- for FieldList in [pcddefaultvalue,Pcd.PcdFieldValueFromComm]:\r
+ for FieldList in [pcddefaultvalue, Pcd.PcdFieldValueFromComm]:\r
if not FieldList:\r
continue\r
if pcddefaultvalue and FieldList == pcddefaultvalue:\r
try:\r
Value, ValueSize = ParseFieldValue (FieldList[FieldName][0])\r
except Exception:\r
- EdkLogger.error('Build', FORMAT_INVALID, "Invalid value format for %s. From %s Line %d " % (".".join((Pcd.TokenSpaceGuidCName,Pcd.TokenCName,FieldName)),FieldList[FieldName][1], FieldList[FieldName][2]))\r
+ EdkLogger.error('Build', FORMAT_INVALID, "Invalid value format for %s. From %s Line %d " % (".".join((Pcd.TokenSpaceGuidCName, Pcd.TokenCName, FieldName)), FieldList[FieldName][1], FieldList[FieldName][2]))\r
if isinstance(Value, str):\r
CApp = CApp + ' Pcd->%s = %s; // From %s Line %d Value %s\n' % (FieldName, Value, FieldList[FieldName][1], FieldList[FieldName][2], FieldList[FieldName][0])\r
elif IsArray:\r
CApp = CApp + '\n'\r
\r
if SkuName in Pcd.SkuInfoList:\r
- DefaultValue = Pcd.SkuInfoList[SkuName].DefaultStoreDict.get(DefaultStoreName,Pcd.SkuInfoList[SkuName].HiiDefaultValue if Pcd.SkuInfoList[SkuName].HiiDefaultValue else Pcd.SkuInfoList[SkuName].DefaultValue)\r
+ DefaultValue = Pcd.SkuInfoList[SkuName].DefaultStoreDict.get(DefaultStoreName, Pcd.SkuInfoList[SkuName].HiiDefaultValue if Pcd.SkuInfoList[SkuName].HiiDefaultValue else Pcd.SkuInfoList[SkuName].DefaultValue)\r
else:\r
DefaultValue = Pcd.DefaultValue\r
PcdDefaultValue = StringToArray(DefaultValue.strip())\r
storeset = [DefaultStoreName] if DefaultStoreName == TAB_DEFAULT_STORES_DEFAULT else [TAB_DEFAULT_STORES_DEFAULT, DefaultStoreName]\r
for defaultstorenameitem in storeset:\r
CApp = CApp + "// SkuName: %s, DefaultStoreName: %s \n" % (skuname, defaultstorenameitem)\r
- CApp = CApp + DscBuildData.GenerateInitValueStatement(Pcd,skuname,defaultstorenameitem)\r
+ CApp = CApp + DscBuildData.GenerateInitValueStatement(Pcd, skuname, defaultstorenameitem)\r
if skuname == SkuName:\r
break\r
else:\r
CApp = CApp + "// SkuName: %s, DefaultStoreName: STANDARD \n" % self.SkuIdMgr.SystemSkuId\r
- CApp = CApp + DscBuildData.GenerateInitValueStatement(Pcd,self.SkuIdMgr.SystemSkuId,TAB_DEFAULT_STORES_DEFAULT)\r
+ CApp = CApp + DscBuildData.GenerateInitValueStatement(Pcd, self.SkuIdMgr.SystemSkuId, TAB_DEFAULT_STORES_DEFAULT)\r
CApp = CApp + DscBuildData.GenerateCommandLineValueStatement(Pcd)\r
#\r
# Set new PCD value and size\r
CApp = CApp + self.GenerateCommandLineValue(Pcd)\r
if not Pcd.SkuOverrideValues or Pcd.Type in [self._PCD_TYPE_STRING_[MODEL_PCD_FIXED_AT_BUILD],\r
self._PCD_TYPE_STRING_[MODEL_PCD_PATCHABLE_IN_MODULE]]:\r
- CApp = CApp + self.GenerateInitValueFunction(Pcd,self.SkuIdMgr.SystemSkuId, TAB_DEFAULT_STORES_DEFAULT)\r
+ CApp = CApp + self.GenerateInitValueFunction(Pcd, self.SkuIdMgr.SystemSkuId, TAB_DEFAULT_STORES_DEFAULT)\r
else:\r
for SkuName in self.SkuIdMgr.SkuOverrideOrder():\r
if SkuName not in Pcd.SkuOverrideValues:\r
continue\r
for DefaultStoreName in Pcd.SkuOverrideValues[SkuName]:\r
- CApp = CApp + self.GenerateInitValueFunction(Pcd,SkuName,DefaultStoreName)\r
+ CApp = CApp + self.GenerateInitValueFunction(Pcd, SkuName, DefaultStoreName)\r
if not Pcd.SkuOverrideValues or Pcd.Type in [self._PCD_TYPE_STRING_[MODEL_PCD_FIXED_AT_BUILD],\r
self._PCD_TYPE_STRING_[MODEL_PCD_PATCHABLE_IN_MODULE]]:\r
InitByteValue, CApp = self.GenerateInitializeFunc(self.SkuIdMgr.SystemSkuId, TAB_DEFAULT_STORES_DEFAULT, Pcd, InitByteValue, CApp)\r
CApp = CApp + ' )\n'\r
CApp = CApp + '{\n'\r
for Pcd in StructuredPcds.values():\r
- if not Pcd.SkuOverrideValues or Pcd.Type in [self._PCD_TYPE_STRING_[MODEL_PCD_FIXED_AT_BUILD],self._PCD_TYPE_STRING_[MODEL_PCD_PATCHABLE_IN_MODULE]]:\r
+ if not Pcd.SkuOverrideValues or Pcd.Type in [self._PCD_TYPE_STRING_[MODEL_PCD_FIXED_AT_BUILD], self._PCD_TYPE_STRING_[MODEL_PCD_PATCHABLE_IN_MODULE]]:\r
CApp = CApp + ' Initialize_%s_%s_%s_%s();\n' % (self.SkuIdMgr.SystemSkuId, TAB_DEFAULT_STORES_DEFAULT, Pcd.TokenSpaceGuidCName, Pcd.TokenCName)\r
else:\r
for SkuName in self.SkuIdMgr.SkuOverrideOrder():\r
IncludeFileFullPaths = []\r
for includefile in IncludeFiles:\r
for includepath in IncSearchList:\r
- includefullpath = os.path.join(str(includepath),includefile)\r
+ includefullpath = os.path.join(str(includepath), includefile)\r
if os.path.exists(includefullpath):\r
IncludeFileFullPaths.append(os.path.normpath(includefullpath))\r
break\r
SearchPathList.append(os.path.normpath(mws.join(GlobalData.gWorkspace, "BaseTools/Source/C/Include")))\r
SearchPathList.append(os.path.normpath(mws.join(GlobalData.gWorkspace, "BaseTools/Source/C/Common")))\r
SearchPathList.extend(str(item) for item in IncSearchList)\r
- IncFileList = GetDependencyList(IncludeFileFullPaths,SearchPathList)\r
+ IncFileList = GetDependencyList(IncludeFileFullPaths, SearchPathList)\r
for include_file in IncFileList:\r
MakeApp += "$(OBJECTS) : %s\n" % include_file\r
MakeFileName = os.path.join(self.OutputPath, 'Makefile')\r
if FileLine.isdigit():\r
error_line = FileData[int (FileLine) - 1]\r
if r"//" in error_line:\r
- c_line,dsc_line = error_line.split(r"//")\r
+ c_line, dsc_line = error_line.split(r"//")\r
else:\r
dsc_line = error_line\r
message_itmes = Message.split(":")\r
else:\r
EdkLogger.error('Build', COMMAND_FAILURE, 'Can not execute command: %s' % MakeCommand)\r
\r
- if DscBuildData.NeedUpdateOutput(OutputValueFile, PcdValueInitExe ,InputValueFile):\r
+ if DscBuildData.NeedUpdateOutput(OutputValueFile, PcdValueInitExe, InputValueFile):\r
Command = PcdValueInitExe + ' -i %s -o %s' % (InputValueFile, OutputValueFile)\r
returncode, StdOut, StdErr = DscBuildData.ExecuteCommand (Command)\r
if returncode != 0:\r
for Pcd in FileBuffer:\r
PcdValue = Pcd.split ('|')\r
PcdInfo = PcdValue[0].split ('.')\r
- StructurePcdSet.append((PcdInfo[0],PcdInfo[1], PcdInfo[2], PcdInfo[3], PcdValue[2].strip()))\r
+ StructurePcdSet.append((PcdInfo[0], PcdInfo[1], PcdInfo[2], PcdInfo[3], PcdValue[2].strip()))\r
return StructurePcdSet\r
\r
@staticmethod\r
AvailableSkuIdSet = copy.copy(self.SkuIds)\r
\r
\r
- for TokenSpaceGuid, PcdCName, Setting, Arch, SkuName, Dummy3, Dummy4,Dummy5 in RecordList:\r
+ for TokenSpaceGuid, PcdCName, Setting, Arch, SkuName, Dummy3, Dummy4, Dummy5 in RecordList:\r
SkuName = SkuName.upper()\r
SkuName = TAB_DEFAULT if SkuName == TAB_COMMON else SkuName\r
if SkuName not in AvailableSkuIdSet:\r
elif TAB_DEFAULT in pcd.SkuInfoList and TAB_COMMON in pcd.SkuInfoList:\r
del pcd.SkuInfoList[TAB_COMMON]\r
\r
- map(self.FilterSkuSettings,Pcds.values())\r
+ map(self.FilterSkuSettings, Pcds.values())\r
\r
return Pcds\r
\r
else:\r
return False\r
\r
- def CopyDscRawValue(self,Pcd):\r
+ def CopyDscRawValue(self, Pcd):\r
if Pcd.DscRawValue is None:\r
Pcd.DscRawValue = dict()\r
if Pcd.Type in [self._PCD_TYPE_STRING_[MODEL_PCD_FIXED_AT_BUILD], self._PCD_TYPE_STRING_[MODEL_PCD_PATCHABLE_IN_MODULE]]:\r
Pcd.DscRawValue[skuname][defaultstore] = Pcd.SkuInfoList[skuname].DefaultStoreDict[defaultstore]\r
else:\r
Pcd.DscRawValue[skuname][TAB_DEFAULT_STORES_DEFAULT] = Pcd.SkuInfoList[skuname].DefaultValue\r
- def CompletePcdValues(self,PcdSet):\r
+ def CompletePcdValues(self, PcdSet):\r
Pcds = {}\r
DefaultStoreObj = DefaultStore(self._GetDefaultStores())\r
- SkuIds = {skuname:skuid for skuname,skuid in self.SkuIdMgr.AvailableSkuIdSet.items() if skuname != TAB_COMMON}\r
+ SkuIds = {skuname:skuid for skuname, skuid in self.SkuIdMgr.AvailableSkuIdSet.items() if skuname != TAB_COMMON}\r
DefaultStores = set(storename for pcdobj in PcdSet.values() for skuobj in pcdobj.SkuInfoList.values() for storename in skuobj.DefaultStoreDict)\r
for PcdCName, TokenSpaceGuid in PcdSet:\r
PcdObj = PcdSet[(PcdCName, TokenSpaceGuid)]\r
if defaultstorename not in skuobj.DefaultStoreDict:\r
skuobj.DefaultStoreDict[defaultstorename] = copy.deepcopy(skuobj.DefaultStoreDict[mindefaultstorename])\r
skuobj.HiiDefaultValue = skuobj.DefaultStoreDict[mindefaultstorename]\r
- for skuname,skuid in SkuIds.items():\r
+ for skuname, skuid in SkuIds.items():\r
if skuname not in PcdObj.SkuInfoList:\r
nextskuid = self.SkuIdMgr.GetNextSkuId(skuname)\r
while nextskuid not in PcdObj.SkuInfoList:\r
AvailableSkuIdSet = copy.copy(self.SkuIds)\r
DefaultStoresDefine = self._GetDefaultStores()\r
\r
- for TokenSpaceGuid, PcdCName, Setting, Arch, SkuName, DefaultStore, Dummy4,Dummy5 in RecordList:\r
+ for TokenSpaceGuid, PcdCName, Setting, Arch, SkuName, DefaultStore, Dummy4, Dummy5 in RecordList:\r
SkuName = SkuName.upper()\r
SkuName = TAB_DEFAULT if SkuName == TAB_COMMON else SkuName\r
DefaultStore = DefaultStore.upper()\r
EdkLogger.error('build', PARAMETER_INVALID, 'DefaultStores %s is not defined in [DefaultStores] section' % DefaultStore,\r
File=self.MetaFile, Line=Dummy5)\r
if "." not in TokenSpaceGuid:\r
- PcdSet.add((PcdCName, TokenSpaceGuid, SkuName,DefaultStore, Dummy5))\r
- PcdDict[Arch, SkuName, PcdCName, TokenSpaceGuid,DefaultStore] = Setting\r
+ PcdSet.add((PcdCName, TokenSpaceGuid, SkuName, DefaultStore, Dummy5))\r
+ PcdDict[Arch, SkuName, PcdCName, TokenSpaceGuid, DefaultStore] = Setting\r
\r
\r
# Remove redundant PCD candidates, per the ARCH and SKU\r
- for PcdCName, TokenSpaceGuid, SkuName,DefaultStore, Dummy4 in PcdSet:\r
+ for PcdCName, TokenSpaceGuid, SkuName, DefaultStore, Dummy4 in PcdSet:\r
\r
- Setting = PcdDict[self._Arch, SkuName, PcdCName, TokenSpaceGuid,DefaultStore]\r
+ Setting = PcdDict[self._Arch, SkuName, PcdCName, TokenSpaceGuid, DefaultStore]\r
if Setting is None:\r
continue\r
VariableName, VariableGuid, VariableOffset, DefaultValue, VarAttribute = self._ValidatePcd(PcdCName, TokenSpaceGuid, Setting, Type, Dummy4)\r
Skuitem = pcdObject.SkuInfoList[SkuName]\r
Skuitem.DefaultStoreDict.update({DefaultStore:DefaultValue})\r
else:\r
- SkuInfo = SkuInfoClass(SkuName, self.SkuIds[SkuName][0], VariableName, VariableGuid, VariableOffset, DefaultValue, VariableAttribute=VarAttribute,DefaultStore={DefaultStore:DefaultValue})\r
+ SkuInfo = SkuInfoClass(SkuName, self.SkuIds[SkuName][0], VariableName, VariableGuid, VariableOffset, DefaultValue, VariableAttribute=VarAttribute, DefaultStore={DefaultStore:DefaultValue})\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
+ SkuInfo = SkuInfoClass(SkuName, self.SkuIds[SkuName][0], VariableName, VariableGuid, VariableOffset, DefaultValue, VariableAttribute=VarAttribute, DefaultStore={DefaultStore:DefaultValue})\r
Pcds[PcdCName, TokenSpaceGuid] = PcdClassObject(\r
PcdCName,\r
TokenSpaceGuid,\r
pcd.DefaultValue = pcdDecObject.DefaultValue\r
if TAB_DEFAULT not in pcd.SkuInfoList and TAB_COMMON not in pcd.SkuInfoList:\r
valuefromDec = pcdDecObject.DefaultValue\r
- SkuInfo = SkuInfoClass(TAB_DEFAULT, '0', SkuInfoObj.VariableName, SkuInfoObj.VariableGuid, SkuInfoObj.VariableOffset, valuefromDec,VariableAttribute=SkuInfoObj.VariableAttribute,DefaultStore={DefaultStore:valuefromDec})\r
+ SkuInfo = SkuInfoClass(TAB_DEFAULT, '0', SkuInfoObj.VariableName, SkuInfoObj.VariableGuid, SkuInfoObj.VariableOffset, valuefromDec, VariableAttribute=SkuInfoObj.VariableAttribute, DefaultStore={DefaultStore:valuefromDec})\r
pcd.SkuInfoList[TAB_DEFAULT] = SkuInfo\r
elif TAB_DEFAULT not in pcd.SkuInfoList and TAB_COMMON in pcd.SkuInfoList:\r
pcd.SkuInfoList[TAB_DEFAULT] = pcd.SkuInfoList[TAB_COMMON]\r
invalidpcd = ",".join(invalidhii)\r
EdkLogger.error('build', PCD_VARIABLE_INFO_ERROR, Message='The same HII PCD must map to the same EFI variable for all SKUs', File=self.MetaFile, ExtraData=invalidpcd)\r
\r
- map(self.FilterSkuSettings,Pcds.values())\r
+ map(self.FilterSkuSettings, Pcds.values())\r
\r
return Pcds\r
\r
invalidhii = []\r
for pcdname in Pcds:\r
pcd = Pcds[pcdname]\r
- varnameset = set(sku.VariableName for (skuid,sku) in pcd.SkuInfoList.items())\r
+ varnameset = set(sku.VariableName for (skuid, sku) in pcd.SkuInfoList.items())\r
if len(varnameset) > 1:\r
- invalidhii.append(".".join((pcdname[1],pcdname[0])))\r
+ invalidhii.append(".".join((pcdname[1], pcdname[0])))\r
if len(invalidhii):\r
- return False,invalidhii\r
+ return False, invalidhii\r
else:\r
return True, []\r
## Retrieve dynamic VPD PCD settings\r
RecordList = self._RawData[Type, self._Arch]\r
AvailableSkuIdSet = copy.copy(self.SkuIds)\r
\r
- for TokenSpaceGuid, PcdCName, Setting, Arch, SkuName, Dummy3, Dummy4,Dummy5 in RecordList:\r
+ for TokenSpaceGuid, PcdCName, Setting, Arch, SkuName, Dummy3, Dummy4, Dummy5 in RecordList:\r
SkuName = SkuName.upper()\r
SkuName = TAB_DEFAULT if SkuName == TAB_COMMON else SkuName\r
if SkuName not in AvailableSkuIdSet:\r
del pcd.SkuInfoList[TAB_COMMON]\r
\r
\r
- map(self.FilterSkuSettings,Pcds.values())\r
+ map(self.FilterSkuSettings, Pcds.values())\r
return Pcds\r
\r
## Add external modules\r
continue\r
ModuleData = self._Bdb[ModuleFile, self._Arch, self._Target, self._Toolchain]\r
PkgSet.update(ModuleData.Packages)\r
- self._DecPcds, self._GuidDict = GetDeclaredPcd(self, self._Bdb, self._Arch, self._Target, self._Toolchain,PkgSet)\r
+ self._DecPcds, self._GuidDict = GetDeclaredPcd(self, self._Bdb, self._Arch, self._Target, self._Toolchain, PkgSet)\r
return self._DecPcds\r
_Macros = property(_GetMacros)\r
Arch = property(_GetArch, _SetArch)\r
for Item in GetSplitValueList(self._CurrentLine[1:-1], TAB_COMMA_SPLIT):\r
if Item == '':\r
continue\r
- ItemList = GetSplitValueList(Item, TAB_SPLIT,3)\r
+ ItemList = GetSplitValueList(Item, TAB_SPLIT, 3)\r
# different section should not mix in one section\r
if self._SectionName != '' and self._SectionName != ItemList[0].upper():\r
EdkLogger.error('Parser', FORMAT_INVALID, "Different section names in the same section",\r
\r
## Construct section Macro dict \r
def _ConstructSectionMacroDict(self, Name, Value):\r
- ScopeKey = [(Scope[0], Scope[1],Scope[2]) for Scope in self._Scope]\r
+ ScopeKey = [(Scope[0], Scope[1], Scope[2]) for Scope in self._Scope]\r
ScopeKey = tuple(ScopeKey)\r
#\r
# DecParser SectionType is a list, will contain more than one item only in Pcd Section\r
continue\r
\r
for ActiveScope in self._Scope:\r
- Scope0, Scope1 ,Scope2= ActiveScope[0], ActiveScope[1],ActiveScope[2]\r
- if(Scope0, Scope1,Scope2) not in Scope:\r
+ Scope0, Scope1, Scope2= ActiveScope[0], ActiveScope[1], ActiveScope[2]\r
+ if(Scope0, Scope1, Scope2) not in Scope:\r
break\r
else:\r
SpeSpeMacroDict.update(self._SectionsMacroDict[(SectionType, Scope)])\r
\r
for ActiveScope in self._Scope:\r
- Scope0, Scope1,Scope2 = ActiveScope[0], ActiveScope[1],ActiveScope[2]\r
- if(Scope0, Scope1,Scope2) not in Scope and (Scope0, TAB_COMMON, TAB_COMMON) not in Scope and (TAB_COMMON, Scope1, TAB_COMMON) not in Scope:\r
+ Scope0, Scope1, Scope2 = ActiveScope[0], ActiveScope[1], ActiveScope[2]\r
+ if(Scope0, Scope1, Scope2) not in Scope and (Scope0, TAB_COMMON, TAB_COMMON) not in Scope and (TAB_COMMON, Scope1, TAB_COMMON) not in Scope:\r
break\r
else:\r
ComSpeMacroDict.update(self._SectionsMacroDict[(SectionType, Scope)])\r
# Model, Value1, Value2, Value3, Arch, Platform, BelongsToItem=-1,\r
# LineBegin=-1, ColumnBegin=-1, LineEnd=-1, ColumnEnd=-1, Enabled=-1\r
#\r
- for Arch, Platform,_ in self._Scope:\r
+ for Arch, Platform, _ in self._Scope:\r
LastItem = self._Store(self._SectionType,\r
self._ValueList[0],\r
self._ValueList[1],\r
self._DirectiveParser()\r
continue\r
if Line[0] == TAB_OPTION_START and not self._InSubsection:\r
- EdkLogger.error("Parser", FILE_READ_FAILURE, "Missing the '{' before %s in Line %s" % (Line, Index+1),ExtraData=self.MetaFile)\r
+ EdkLogger.error("Parser", FILE_READ_FAILURE, "Missing the '{' before %s in Line %s" % (Line, Index+1), ExtraData=self.MetaFile)\r
\r
if self._InSubsection:\r
SectionType = self._SubsectionType\r
@ParseMacro\r
def _SkuIdParser(self):\r
TokenList = GetSplitValueList(self._CurrentLine, TAB_VALUE_SPLIT)\r
- if len(TokenList) not in (2,3):\r
+ if len(TokenList) not in (2, 3):\r
EdkLogger.error('Parser', FORMAT_INVALID, "Correct format is '<Number>|<UiName>[|<UiName>]'",\r
ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex + 1)\r
self._ValueList[0:len(TokenList)] = TokenList\r
\r
# Validate the datum type of Dynamic Defaul PCD and DynamicEx Default PCD\r
ValueList = GetSplitValueList(self._ValueList[2])\r
- if len(ValueList) > 1 and ValueList[1] in [TAB_UINT8 , TAB_UINT16, TAB_UINT32 , TAB_UINT64] \\r
+ if len(ValueList) > 1 and ValueList[1] in [TAB_UINT8, TAB_UINT16, TAB_UINT32, TAB_UINT64] \\r
and self._ItemType in [MODEL_PCD_DYNAMIC_DEFAULT, MODEL_PCD_DYNAMIC_EX_DEFAULT]:\r
EdkLogger.error('Parser', FORMAT_INVALID, "The datum type '%s' of PCD is wrong" % ValueList[1],\r
ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex + 1)\r
# Validate the VariableName of DynamicHii and DynamicExHii for PCD Entry must not be an empty string\r
if self._ItemType in [MODEL_PCD_DYNAMIC_HII, MODEL_PCD_DYNAMIC_EX_HII]:\r
DscPcdValueList = GetSplitValueList(TokenList[1], TAB_VALUE_SPLIT, 1)\r
- if len(DscPcdValueList[0].replace('L','').replace('"','').strip()) == 0:\r
+ if len(DscPcdValueList[0].replace('L', '').replace('"', '').strip()) == 0:\r
EdkLogger.error('Parser', FORMAT_INVALID, "The VariableName field in the HII format PCD entry must not be an empty string",\r
ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex + 1)\r
\r
self._ContentIndex = 0\r
self._InSubsection = False\r
while self._ContentIndex < len(self._Content) :\r
- Id, self._ItemType, V1, V2, V3, S1, S2, S3,Owner, self._From, \\r
+ Id, self._ItemType, V1, V2, V3, S1, S2, S3, Owner, self._From, \\r
LineStart, ColStart, LineEnd, ColEnd, Enabled = self._Content[self._ContentIndex]\r
\r
if self._From < 0:\r
break\r
Record = self._Content[self._ContentIndex]\r
if LineStart == Record[10] and LineEnd == Record[12]:\r
- if [Record[5], Record[6],Record[7]] not in self._Scope:\r
- self._Scope.append([Record[5], Record[6],Record[7]])\r
+ if [Record[5], Record[6], Record[7]] not in self._Scope:\r
+ self._Scope.append([Record[5], Record[6], Record[7]])\r
self._ContentIndex += 1\r
else:\r
break\r
MODEL_PCD_DYNAMIC_VPD, MODEL_PCD_DYNAMIC_EX_DEFAULT, MODEL_PCD_DYNAMIC_EX_HII,\r
MODEL_PCD_DYNAMIC_EX_VPD):\r
Records = self._RawTable.Query(PcdType, BelongsToItem= -1.0)\r
- for TokenSpaceGuid, PcdName, Value, Dummy2, Dummy3, Dummy4,ID, Line in Records:\r
+ for TokenSpaceGuid, PcdName, Value, Dummy2, Dummy3, Dummy4, ID, Line in Records:\r
Name = TokenSpaceGuid + '.' + PcdName\r
if Name not in GlobalData.gPlatformOtherPcds:\r
PcdLine = Line\r
if self._DefinesCount > 1:\r
EdkLogger.error('Parser', FORMAT_INVALID, 'Multiple [Defines] section is exist.', self.MetaFile )\r
if self._DefinesCount == 0:\r
- EdkLogger.error('Parser', FORMAT_INVALID, 'No [Defines] section exist.',self.MetaFile)\r
+ EdkLogger.error('Parser', FORMAT_INVALID, 'No [Defines] section exist.', self.MetaFile)\r
self._Done()\r
\r
\r
self._CurrentStructurePcdName = ""\r
else:\r
if self._CurrentStructurePcdName != TAB_SPLIT.join(PcdNames[:2]):\r
- EdkLogger.error('Parser', FORMAT_INVALID, "Pcd Name does not match: %s and %s " % (self._CurrentStructurePcdName , TAB_SPLIT.join(PcdNames[:2])),\r
+ EdkLogger.error('Parser', FORMAT_INVALID, "Pcd Name does not match: %s and %s " % (self._CurrentStructurePcdName, TAB_SPLIT.join(PcdNames[:2])),\r
File=self.MetaFile, Line=self._LineIndex + 1)\r
self._ValueList[1] = TAB_SPLIT.join(PcdNames[2:])\r
self._ValueList[2] = PcdTockens[1]\r
ValidType = "@ValidList"\r
if oricomment.startswith("@Expression"):\r
ValidType = "@Expression"\r
- EdkLogger.error('Parser', FORMAT_INVALID, "The syntax for %s of PCD %s.%s is incorrect" % (ValidType,TokenSpaceGuid, PcdCName),\r
- ExtraData=oricomment,File=self.MetaFile, Line=LineNum)\r
+ EdkLogger.error('Parser', FORMAT_INVALID, "The syntax for %s of PCD %s.%s is incorrect" % (ValidType, TokenSpaceGuid, PcdCName),\r
+ ExtraData=oricomment, File=self.MetaFile, Line=LineNum)\r
return set(), set(), set()\r
return set(validateranges), set(validlists), set(expressions)\r
## Python class representation of table storing platform data\r
#\r
def Insert(self, Model, Value1, Value2, Value3, Scope1=TAB_ARCH_COMMON, Scope2=TAB_COMMON, Scope3=TAB_DEFAULT_STORES_DEFAULT,BelongsToItem=-1,\r
FromItem=-1, StartLine=-1, StartColumn=-1, EndLine=-1, EndColumn=-1, Enabled=1):\r
- (Value1, Value2, Value3, Scope1, Scope2,Scope3) = ConvertToSqlString((Value1, Value2, Value3, Scope1, Scope2,Scope3))\r
+ (Value1, Value2, Value3, Scope1, Scope2, Scope3) = ConvertToSqlString((Value1, Value2, Value3, Scope1, Scope2, Scope3))\r
return Table.Insert(\r
self, \r
Model, \r
# @retval: A dictionary contains instances of PcdClassObject with key (PcdCName, TokenSpaceGuid)\r
# @retval: A dictionary contains real GUIDs of TokenSpaceGuid\r
#\r
-def GetDeclaredPcd(Platform, BuildDatabase, Arch, Target, Toolchain,additionalPkgs):\r
+def GetDeclaredPcd(Platform, BuildDatabase, Arch, Target, Toolchain, additionalPkgs):\r
PkgList = GetPackageList(Platform, BuildDatabase, Arch, Target, Toolchain)\r
PkgList = set(PkgList)\r
PkgList |= additionalPkgs\r
FileWrite(File, Array)\r
else:\r
if Pcd.DatumType in TAB_PCD_CLEAN_NUMERIC_TYPES:\r
- if Value.startswith(('0x','0X')):\r
+ if Value.startswith(('0x', '0X')):\r
Value = '{} ({:d})'.format(Value, int(Value, 0))\r
else:\r
Value = "0x{:X} ({})".format(int(Value, 0), Value)\r
else:\r
if IsByteArray:\r
if self.SkuSingle:\r
- FileWrite(File, ' %-*s : %6s %10s = %s' % (self.MaxLen, ' ' , TypeName, '(' + Pcd.DatumType + ')', "{"))\r
+ FileWrite(File, ' %-*s : %6s %10s = %s' % (self.MaxLen, ' ', TypeName, '(' + Pcd.DatumType + ')', "{"))\r
else:\r
- FileWrite(File, ' %-*s : %6s %10s %10s = %s' % (self.MaxLen, ' ' , TypeName, '(' + Pcd.DatumType + ')', '(' + SkuIdName + ')', "{"))\r
+ FileWrite(File, ' %-*s : %6s %10s %10s = %s' % (self.MaxLen, ' ', TypeName, '(' + Pcd.DatumType + ')', '(' + SkuIdName + ')', "{"))\r
for Array in ArrayList:\r
FileWrite(File, Array)\r
else:\r
else:\r
Value = "0x{:X} ({})".format(int(Value, 0), Value)\r
if self.SkuSingle:\r
- FileWrite(File, ' %-*s : %6s %10s = %s' % (self.MaxLen, ' ' , TypeName, '(' + Pcd.DatumType + ')', Value))\r
+ FileWrite(File, ' %-*s : %6s %10s = %s' % (self.MaxLen, ' ', TypeName, '(' + Pcd.DatumType + ')', Value))\r
else:\r
- FileWrite(File, ' %-*s : %6s %10s %10s = %s' % (self.MaxLen, ' ' , TypeName, '(' + Pcd.DatumType + ')', '(' + SkuIdName + ')', Value))\r
+ FileWrite(File, ' %-*s : %6s %10s %10s = %s' % (self.MaxLen, ' ', TypeName, '(' + Pcd.DatumType + ')', '(' + SkuIdName + ')', Value))\r
if TypeName in ('DYNVPD', 'DEXVPD'):\r
FileWrite(File, '%*s' % (self.MaxLen + 4, SkuInfo.VpdOffset))\r
if IsStructure:\r
import Common.GlobalData as GlobalData\r
from GenFds.GenFds import GenFds\r
\r
-from collections import OrderedDict,defaultdict\r
+from collections import OrderedDict, defaultdict\r
\r
# Version and Copyright\r
VersionNumber = "0.60" + ' ' + gBUILD_VERSION\r
BuildTask._Thread.acquire(True)\r
\r
# start a new build thread\r
- Bo,Bt = BuildTask._ReadyQueue.popitem()\r
+ Bo, Bt = BuildTask._ReadyQueue.popitem()\r
\r
# move into running queue\r
BuildTask._RunningQueueLock.acquire()\r
self.HashSkipModules = []\r
self.Db_Flag = False\r
self.LaunchPrebuildFlag = False\r
- self.PlatformBuildPath = os.path.join(GlobalData.gConfDirectory,'.cache', '.PlatformBuild')\r
+ self.PlatformBuildPath = os.path.join(GlobalData.gConfDirectory, '.cache', '.PlatformBuild')\r
if BuildOptions.CommandLength:\r
GlobalData.gCommandMaxLength = BuildOptions.CommandLength\r
\r
# and preserve them for the rest of the main build step, because the child process environment will\r
# evaporate as soon as it exits, we cannot get it in build step.\r
#\r
- PrebuildEnvFile = os.path.join(GlobalData.gConfDirectory,'.cache','.PrebuildEnv')\r
+ PrebuildEnvFile = os.path.join(GlobalData.gConfDirectory, '.cache', '.PrebuildEnv')\r
if os.path.isfile(PrebuildEnvFile):\r
os.remove(PrebuildEnvFile)\r
if os.path.isfile(self.PlatformBuildPath):\r
f = open(PrebuildEnvFile)\r
envs = f.readlines()\r
f.close()\r
- envs = itertools.imap(lambda l: l.split('=',1), envs)\r
+ envs = itertools.imap(lambda l: l.split('=', 1), envs)\r
envs = itertools.ifilter(lambda l: len(l) == 2, envs)\r
envs = itertools.imap(lambda l: [i.strip() for i in l], envs)\r
os.environ.update(dict(envs))\r
Parser.add_option("-D", "--define", action="append", type="string", dest="Macros", help="Macro: \"Name [= Value]\".")\r
\r
Parser.add_option("-y", "--report-file", action="store", dest="ReportFile", help="Create/overwrite the report to the specified filename.")\r
- Parser.add_option("-Y", "--report-type", action="append", type="choice", choices=['PCD','LIBRARY','FLASH','DEPEX','BUILD_FLAGS','FIXED_ADDRESS','HASH','EXECUTION_ORDER'], dest="ReportType", default=[],\r
+ Parser.add_option("-Y", "--report-type", action="append", type="choice", choices=['PCD', 'LIBRARY', 'FLASH', 'DEPEX', 'BUILD_FLAGS', 'FIXED_ADDRESS', 'HASH', 'EXECUTION_ORDER'], dest="ReportType", default=[],\r
help="Flags that control the type of build report to generate. Must be one of: [PCD, LIBRARY, FLASH, DEPEX, BUILD_FLAGS, FIXED_ADDRESS, HASH, EXECUTION_ORDER]. "\\r
"To specify more than one flag, repeat this option on the command line and the default flag set is [PCD, LIBRARY, FLASH, DEPEX, HASH, BUILD_FLAGS, FIXED_ADDRESS]")\r
Parser.add_option("-F", "--flag", action="store", type="string", dest="Flag",\r
if minlen is None: minlen = 1024\r
if maxlen is None: maxlen = minlen\r
return ''.join(\r
- [chr(random.randint(0,255))\r
+ [chr(random.randint(0, 255))\r
for x in xrange(random.randint(minlen, maxlen))\r
])\r
\r
return path
def MakeDirs(self):
- for path in (self.src_dir, self.build_dir,self.prefix, self.symlinks):
+ for path in (self.src_dir, self.build_dir, self.prefix, self.symlinks):\r
if not os.path.exists(path):
os.makedirs(path)