return NoFileChange\r
\r
def CreateSplitUpdTxt (self, UpdTxtFile):\r
- GuidList = ['FSP_T_UPD_TOOL_GUID','FSP_M_UPD_TOOL_GUID','FSP_S_UPD_TOOL_GUID']\r
- SignatureList = ['0x545F', '0x4D5F','0x535F'] # _T, _M, and _S signature for FSPT, FSPM, FSPS\r
+ GuidList = ['FSP_T_UPD_TOOL_GUID','FSP_M_UPD_TOOL_GUID','FSP_S_UPD_TOOL_GUID','FSP_I_UPD_TOOL_GUID']\r
+ SignatureList = ['0x545F', '0x4D5F','0x535F','0x495F'] # _T, _M, _S and _I signature for FSPT, FSPM, FSPS, FSPI\r
for Index in range(len(GuidList)):\r
UpdTxtFile = ''\r
FvDir = self._FvDir\r
Chars.append(chr(Value & 0xFF))\r
Value = Value >> 8\r
SignatureStr = ''.join(Chars)\r
- # Signature will be _T / _M / _S for FSPT / FSPM / FSPS accordingly\r
+ # Signature will be _T / _M / _S / _I for FSPT / FSPM / FSPS /FSPI accordingly\r
if '_T' in SignatureStr[6:6+2]:\r
TxtBody.append("#define FSPT_UPD_SIGNATURE %s /* '%s' */\n\n" % (Item['value'], SignatureStr))\r
elif '_M' in SignatureStr[6:6+2]:\r
TxtBody.append("#define FSPM_UPD_SIGNATURE %s /* '%s' */\n\n" % (Item['value'], SignatureStr))\r
elif '_S' in SignatureStr[6:6+2]:\r
TxtBody.append("#define FSPS_UPD_SIGNATURE %s /* '%s' */\n\n" % (Item['value'], SignatureStr))\r
+ elif '_I' in SignatureStr[6:6+2]:\r
+ TxtBody.append("#define FSPI_UPD_SIGNATURE %s /* '%s' */\n\n" % (Item['value'], SignatureStr))\r
TxtBody.append("\n")\r
\r
for Region in ['UPD']:\r
UpdOffsetTable = []\r
- UpdSignature = ['0x545F', '0x4D5F', '0x535F'] #['_T', '_M', '_S'] signature for FSPT, FSPM, FSPS\r
- UpdStructure = ['FSPT_UPD', 'FSPM_UPD', 'FSPS_UPD']\r
+ UpdSignature = ['0x545F', '0x4D5F', '0x535F', '0x495F'] #['_T', '_M', '_S', '_I'] signature for FSPT, FSPM, FSPS, FSPI\r
+ UpdStructure = ['FSPT_UPD', 'FSPM_UPD', 'FSPS_UPD', 'FSPI_UPD']\r
for Item in self._CfgItemList:\r
if Item["cname"] == 'Signature' and Item["value"][0:6] in UpdSignature:\r
Item["offset"] = 0 # re-initialize offset to 0 when new UPD structure starting\r
HeaderTFileName = 'FsptUpd.h'\r
HeaderMFileName = 'FspmUpd.h'\r
HeaderSFileName = 'FspsUpd.h'\r
+ HeaderIFileName = 'FspiUpd.h'\r
\r
- UpdRegionCheck = ['FSPT', 'FSPM', 'FSPS'] # FSPX_UPD_REGION\r
- UpdConfigCheck = ['FSP_T', 'FSP_M', 'FSP_S'] # FSP_X_CONFIG, FSP_X_TEST_CONFIG, FSP_X_RESTRICTED_CONFIG\r
- UpdSignatureCheck = ['FSPT_UPD_SIGNATURE', 'FSPM_UPD_SIGNATURE', 'FSPS_UPD_SIGNATURE']\r
- ExcludedSpecificUpd = ['FSPT_ARCH_UPD', 'FSPM_ARCH_UPD', 'FSPS_ARCH_UPD']\r
+ UpdRegionCheck = ['FSPT', 'FSPM', 'FSPS', 'FSPI'] # FSPX_UPD_REGION\r
+ UpdConfigCheck = ['FSP_T', 'FSP_M', 'FSP_S', 'FSP_I'] # FSP_X_CONFIG, FSP_X_TEST_CONFIG, FSP_X_RESTRICTED_CONFIG\r
+ UpdSignatureCheck = ['FSPT_UPD_SIGNATURE', 'FSPM_UPD_SIGNATURE', 'FSPS_UPD_SIGNATURE', 'FSPI_UPD_SIGNATURE']\r
+ ExcludedSpecificUpd = ['FSPT_ARCH_UPD', 'FSPM_ARCH_UPD', 'FSPS_ARCH_UPD', 'FSPI_ARCH_UPD']\r
ExcludedSpecificUpd1 = ['FSPT_ARCH2_UPD', 'FSPM_ARCH2_UPD', 'FSPS_ARCH2_UPD']\r
\r
IncLines = []\r
elif UpdRegionCheck[item] == 'FSPS':\r
HeaderFd = open(os.path.join(FvDir, HeaderSFileName), "w")\r
FileBase = os.path.basename(os.path.join(FvDir, HeaderSFileName))\r
+ elif UpdRegionCheck[item] == 'FSPI':\r
+ HeaderFd = open(os.path.join(FvDir, HeaderIFileName), "w")\r
+ FileBase = os.path.basename(os.path.join(FvDir, HeaderIFileName))\r
FileName = FileBase.replace(".", "_").upper()\r
HeaderFd.write("%s\n" % (__copyright_h__ % date.today().year))\r
HeaderFd.write("#ifndef __%s__\n" % FileName)\r
\r
\r
def Usage():\r
- print ("GenCfgOpt Version 0.57")\r
+ print ("GenCfgOpt Version 0.58")\r
print ("Usage:")\r
print (" GenCfgOpt UPDTXT PlatformDscFile BuildFvDir [-D Macros]")\r
print (" GenCfgOpt HEADER PlatformDscFile BuildFvDir InputHFile [-D Macros]")\r