* [edk2-devel] [PATCH v1 0/2] IntelFsp2Pkg: Python3.12 support @ 2024-04-22 1:36 Guo, Gua 2024-04-22 1:36 ` [edk2-devel] [PATCH v1 1/2] IntelFsp2Pkg/GenCfgOpt.py: Python 3.12 support Guo, Gua ` (2 more replies) 0 siblings, 3 replies; 7+ messages in thread From: Guo, Gua @ 2024-04-22 1:36 UTC (permalink / raw) To: devel; +Cc: gua.guo From: Gua Guo <gua.guo@intel.com> PR: https://github.com/tianocore/edk2/pull/5577 V1: Prevent Syntax Warning after upgrade python version to 3.12 Gua Guo (2): IntelFsp2Pkg/GenCfgOpt.py: Python 3.12 support IntelFsp2Pkg/PatchFv.py: Python 3.12 support IntelFsp2Pkg/Tools/GenCfgOpt.py | 96 ++++++++++++++++----------------- IntelFsp2Pkg/Tools/PatchFv.py | 24 ++++----- 2 files changed, 60 insertions(+), 60 deletions(-) -- 2.39.2.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#118059): https://edk2.groups.io/g/devel/message/118059 Mute This Topic: https://groups.io/mt/105662397/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply [flat|nested] 7+ messages in thread
* [edk2-devel] [PATCH v1 1/2] IntelFsp2Pkg/GenCfgOpt.py: Python 3.12 support 2024-04-22 1:36 [edk2-devel] [PATCH v1 0/2] IntelFsp2Pkg: Python3.12 support Guo, Gua @ 2024-04-22 1:36 ` Guo, Gua 2024-04-22 6:12 ` Ashraf Ali S 2024-04-22 1:36 ` [edk2-devel] [PATCH v1 2/2] IntelFsp2Pkg/PatchFv.py: " Guo, Gua 2024-04-22 1:40 ` [edk2-devel] [PATCH v1 0/2] IntelFsp2Pkg: Python3.12 support Guo, Gua 2 siblings, 1 reply; 7+ messages in thread From: Guo, Gua @ 2024-04-22 1:36 UTC (permalink / raw) To: devel Cc: gua.guo, Chasel Chiu, Nate DeSimone, Duggapu Chinni B, Star Zeng, Ted Kuo, Ashraf Ali S, Susovan Mohapatra From: Gua Guo <gua.guo@intel.com> Ref to https://docs.python.org/3/whatsnew/3.12.html A backslash-character pair that is not a valid escape sequence now generates Cc: Chasel Chiu <chasel.chiu@intel.com> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Duggapu Chinni B <chinni.b.duggapu@intel.com> Cc: Star Zeng <star.zeng@intel.com> Cc: Ted Kuo <ted.kuo@intel.com> Cc: Ashraf Ali S <ashraf.ali.s@intel.com> Cc: Susovan Mohapatra <susovan.mohapatra@intel.com> Signed-off-by: Gua Guo <gua.guo@intel.com> --- IntelFsp2Pkg/Tools/GenCfgOpt.py | 96 ++++++++++++++++----------------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/IntelFsp2Pkg/Tools/GenCfgOpt.py b/IntelFsp2Pkg/Tools/GenCfgOpt.py index 13be81ddbc..79923c07ed 100644 --- a/IntelFsp2Pkg/Tools/GenCfgOpt.py +++ b/IntelFsp2Pkg/Tools/GenCfgOpt.py @@ -136,7 +136,7 @@ class CLogicalExpression: var = var.strip() if re.match('^0x[a-fA-F0-9]+$', var): value = int(var, 16) - elif re.match('^[+-]?\d+$', var): + elif re.match(r'^[+-]?\d+$', var): value = int(var, 10) else: value = None @@ -147,7 +147,7 @@ class CLogicalExpression: var = '' while not self.isLast(): char = self.getCurr() - if re.match('^[\w.]', char): + if re.match(r'^[\w.]', char): var += char self.moveNext() else: @@ -161,7 +161,7 @@ class CLogicalExpression: def parseSingleOp(self): self.skipSpace() - if re.match('^NOT\W', self.getCurr(-1)): + if re.match(r'^NOT\W', self.getCurr(-1)): self.moveNext(3) op = self.parseBrace() val = self.getNumber (op) @@ -225,7 +225,7 @@ class CLogicalExpression: value = self.parseCompare() while True: self.skipSpace() - if re.match('^AND\W', self.getCurr(-1)): + if re.match(r'^AND\W', self.getCurr(-1)): self.moveNext(3) result = self.parseCompare() test = self.getNonNumber(result, value) @@ -243,10 +243,10 @@ class CLogicalExpression: while True: self.skipSpace() op = None - if re.match('^XOR\W', self.getCurr(-1)): + if re.match(r'^XOR\W', self.getCurr(-1)): self.moveNext(3) op = '^' - elif re.match('^OR\W', self.getCurr(-1)): + elif re.match(r'^OR\W', self.getCurr(-1)): self.moveNext(2) op = '|' else: @@ -330,11 +330,11 @@ EndList continue if IsExpression: IsExpression = False - Match = re.match("(\w+)=(.+)", Macro) + Match = re.match(r"(\w+)=(.+)", Macro) if Match: self._MacroDict[Match.group(1)] = Match.group(2) else: - Match = re.match("(\w+)", Macro) + Match = re.match(r"(\w+)", Macro) if Match: self._MacroDict[Match.group(1)] = '' if len(self._MacroDict) == 0: @@ -355,7 +355,7 @@ EndList def ExpandMacros (self, Input, Preserve = False): Line = Input - Match = re.findall("\$\(\w+\)", Input) + Match = re.findall(r"\$\(\w+\)", Input) if Match: for Each in Match: Variable = Each[2:-1] @@ -370,7 +370,7 @@ EndList def ExpandPcds (self, Input): Line = Input - Match = re.findall("(\w+\.\w+)", Input) + Match = re.findall(r"(\w+\.\w+)", Input) if Match: for PcdName in Match: if PcdName in self._PcdsDict: @@ -390,7 +390,7 @@ EndList return Result def ValueToByteArray (self, ValueStr, Length): - Match = re.match("\{\s*FILE:(.+)\}", ValueStr) + Match = re.match(r"\{\s*FILE:(.+)\}", ValueStr) if Match: FileList = Match.group(1).split(',') Result = bytearray() @@ -427,7 +427,7 @@ EndList if Each[0] in ['"', "'"]: Result.extend(list(bytearray(Each[1:-1], 'utf-8'))) elif ':' in Each: - Match = re.match("(.+):(\d+)b", Each) + Match = re.match(r"(.+):(\d+)b", Each) if Match is None: raise Exception("Invald value list format '%s' !" % Each) InBitField = True @@ -539,7 +539,7 @@ EndList continue Handle = False - Match = re.match("^\[(.+)\]", DscLine) + Match = re.match(r"^\[(.+)\]", DscLine) if Match is not None: IsDefSect = False IsPcdSect = False @@ -575,7 +575,7 @@ EndList Match = False if DscLine[0] != '!' else True if Match: - Match = re.match("^!(else|endif|ifdef|ifndef|if|elseif|include)\s*(.+)?$", DscLine.split("#")[0]) + Match = re.match(r"^!(else|endif|ifdef|ifndef|if|elseif|include)\s*(.+)?$", DscLine.split("#")[0]) Keyword = Match.group(1) if Match else '' Remaining = Match.group(2) if Match else '' Remaining = '' if Remaining is None else Remaining.strip() @@ -620,7 +620,7 @@ EndList else: Handle = True if Handle: - Match = re.match("!include\s+(.+)", DscLine) + Match = re.match(r"!include\s+(.+)", DscLine) if Match: IncludeFilePath = Match.group(1) IncludeFilePath = self.ExpandMacros(IncludeFilePath) @@ -660,7 +660,7 @@ EndList #DEFINE FSP_T_UPD_TOOL_GUID = 34686CA3-34F9-4901-B82A-BA630F0714C6 #DEFINE FSP_M_UPD_TOOL_GUID = 39A250DB-E465-4DD1-A2AC-E2BD3C0E2385 #DEFINE FSP_S_UPD_TOOL_GUID = CAE3605B-5B34-4C85-B3D7-27D54273C40F - Match = re.match("^\s*(?:DEFINE\s+)*(\w+)\s*=\s*(.+)", DscLine) + Match = re.match(r"^\s*(?:DEFINE\s+)*(\w+)\s*=\s*(.+)", DscLine) if Match: self._MacroDict[Match.group(1)] = self.ExpandMacros(Match.group(2)) if self.Debug: @@ -668,21 +668,21 @@ EndList elif IsPcdSect: #gSiPkgTokenSpaceGuid.PcdTxtEnable|FALSE #gSiPkgTokenSpaceGuid.PcdOverclockEnable|TRUE - Match = re.match("^\s*([\w\.]+)\s*\|\s*(\w+)", DscLine) + Match = re.match(r"^\s*([\w\.]+)\s*\|\s*(\w+)", DscLine) if Match: self._PcdsDict[Match.group(1)] = Match.group(2) if self.Debug: print ("INFO : PCD %s = [ %s ]" % (Match.group(1), Match.group(2))) i = 0 while i < len(BuildOptionPcd): - Match = re.match("\s*([\w\.]+)\s*\=\s*(\w+)", BuildOptionPcd[i]) + Match = re.match(r"\s*([\w\.]+)\s*\=\s*(\w+)", BuildOptionPcd[i]) if Match: self._PcdsDict[Match.group(1)] = Match.group(2) i += 1 elif IsTmpSect: # !BSF DEFT:{GPIO_TMPL:START} - Match = re.match("^\s*#\s+(!BSF)\s+DEFT:{(.+?):(START|END)}", DscLine) + Match = re.match(r"^\s*#\s+(!BSF)\s+DEFT:{(.+?):(START|END)}", DscLine) if Match: if Match.group(3) == 'START' and not TemplateName: TemplateName = Match.group(2).strip() @@ -691,33 +691,33 @@ EndList TemplateName = '' else: if TemplateName: - Match = re.match("^!include\s*(.+)?$", DscLine) + Match = re.match(r"^!include\s*(.+)?$", DscLine) if Match: continue self._BsfTempDict[TemplateName].append(DscLine) else: - Match = re.match("^\s*#\s+(!BSF|@Bsf|!HDR)\s+(.+)", DscLine) + Match = re.match(r"^\s*#\s+(!BSF|@Bsf|!HDR)\s+(.+)", DscLine) if Match: Remaining = Match.group(2) if Match.group(1) == '!BSF' or Match.group(1) == '@Bsf': - Match = re.match("(?:^|.+\s+)PAGES:{(.+?)}", Remaining) + Match = re.match(r"(?:^|.+\s+)PAGES:{(.+?)}", Remaining) if Match: # !BSF PAGES:{HSW:"Haswell System Agent", LPT:"Lynx Point PCH"} PageList = Match.group(1).split(',') for Page in PageList: Page = Page.strip() - Match = re.match("(\w+):\"(.+)\"", Page) + Match = re.match(r"(\w+):\"(.+)\"", Page) if Match != None: self._CfgPageDict[Match.group(1)] = Match.group(2) - Match = re.match("(?:^|.+\s+)BLOCK:{NAME:\"(.+)\"\s*,\s*VER:\"(.+)\"\s*}", Remaining) + Match = re.match(r"(?:^|.+\s+)BLOCK:{NAME:\"(.+)\"\s*,\s*VER:\"(.+)\"\s*}", Remaining) if Match: self._CfgBlkDict['name'] = Match.group(1) self._CfgBlkDict['ver'] = Match.group(2) for Key in self._BsfKeyList: - Match = re.match("(?:^|.+\s+)%s:{(.+?)}" % Key, Remaining) + Match = re.match(r"(?:^|.+\s+)%s:{(.+?)}" % Key, Remaining) if Match: if Key in ['NAME', 'HELP', 'OPTION'] and Match.group(1).startswith('+'): ConfigDict[Key.lower()] += Match.group(1)[1:] @@ -725,15 +725,15 @@ EndList ConfigDict[Key.lower()] = Match.group(1) else: for Key in self._HdrKeyList: - Match = re.match("(?:^|.+\s+)%s:{(.+?)}" % Key, Remaining) + Match = re.match(r"(?:^|.+\s+)%s:{(.+?)}" % Key, Remaining) if Match: ConfigDict[Key.lower()] = Match.group(1) - Match = re.match("^\s*#\s+@Prompt\s+(.+)", DscLine) + Match = re.match(r"^\s*#\s+@Prompt\s+(.+)", DscLine) if Match: ConfigDict['name'] = Match.group(1) - Match = re.match("^\s*#\s*@ValidList\s*(.+)\s*\|\s*(.+)\s*\|\s*(.+)\s*", DscLine) + Match = re.match(r"^\s*#\s*@ValidList\s*(.+)\s*\|\s*(.+)\s*\|\s*(.+)\s*", DscLine) if Match: if Match.group(2).strip() in self._BuidinOption: ConfigDict['option'] = Match.group(2).strip() @@ -749,22 +749,22 @@ EndList ConfigDict['option'] += ', ' ConfigDict['type'] = "Combo" - Match = re.match("^\s*#\s*@ValidRange\s*(.+)\s*\|\s*(.+)\s*-\s*(.+)\s*", DscLine) + Match = re.match(r"^\s*#\s*@ValidRange\s*(.+)\s*\|\s*(.+)\s*-\s*(.+)\s*", DscLine) if Match: if "0x" in Match.group(2) or "0x" in Match.group(3): ConfigDict['type'] = "EditNum, HEX, (%s,%s)" % (Match.group(2), Match.group(3)) else: ConfigDict['type'] = "EditNum, DEC, (%s,%s)" % (Match.group(2), Match.group(3)) - Match = re.match("^\s*##\s+(.+)", DscLine) + Match = re.match(r"^\s*##\s+(.+)", DscLine) if Match: ConfigDict['help'] = Match.group(1) # Check VPD/UPD if IsUpdSect: - Match = re.match("^([_a-zA-Z0-9]+).([_a-zA-Z0-9]+)\s*\|\s*(0x[0-9A-F]+|\*)\s*\|\s*(\d+|0x[0-9a-fA-F]+)\s*\|\s*(.+)",DscLine) + Match = re.match(r"^([_a-zA-Z0-9]+).([_a-zA-Z0-9]+)\s*\|\s*(0x[0-9A-F]+|\*)\s*\|\s*(\d+|0x[0-9a-fA-F]+)\s*\|\s*(.+)",DscLine) else: - Match = re.match("^([_a-zA-Z0-9]+).([_a-zA-Z0-9]+)\s*\|\s*(0x[0-9A-F]+)(?:\s*\|\s*(.+))?", DscLine) + Match = re.match(r"^([_a-zA-Z0-9]+).([_a-zA-Z0-9]+)\s*\|\s*(0x[0-9A-F]+)(?:\s*\|\s*(.+))?", DscLine) if Match: ConfigDict['space'] = Match.group(1) ConfigDict['cname'] = Match.group(2) @@ -796,13 +796,13 @@ EndList Value = '' Value = Value.strip() if '|' in Value: - Match = re.match("^.+\s*\|\s*(.+)", Value) + Match = re.match(r"^.+\s*\|\s*(.+)", Value) if Match: Value = Match.group(1) Length = -1 ConfigDict['length'] = Length - Match = re.match("\$\((\w+)\)", Value) + Match = re.match(r"\$\((\w+)\)", Value) if Match: if Match.group(1) in self._MacroDict: Value = self._MacroDict[Match.group(1)] @@ -879,7 +879,7 @@ EndList # !BSF FIELD:{SerialDebugPortAddress0:1} # or # @Bsf FIELD:{SerialDebugPortAddress0:1b} - Match = re.match("^\s*#\s+(!BSF|@Bsf)\s+FIELD:{(.+):(\d+)([Bb])?}", DscLine) + Match = re.match(r"^\s*#\s+(!BSF|@Bsf)\s+FIELD:{(.+):(\d+)([Bb])?}", DscLine) if Match: SubCfgDict = ConfigDict.copy() if (Match.group(4) == None) or (Match.group(4) == 'B'): @@ -1023,7 +1023,7 @@ EndList self._VarDict['_LENGTH_'] = '%d' % (Item['offset'] + Item['length']) for Item in self._CfgItemList: Embed = Item['embed'] - Match = re.match("^(\w+):(\w+):(START|END)", Embed) + Match = re.match(r"^(\w+):(\w+):(START|END)", Embed) if Match: StructName = Match.group(1) VarName = '_%s_%s_' % (Match.group(3), StructName) @@ -1215,7 +1215,7 @@ EndList IsUpdHeader = False for Line in TextBody: SplitToLines = Line.splitlines() - MatchComment = re.match("^/\*\sCOMMENT:(\w+):([\w|\W|\s]+)\s\*/\s([\s\S]*)", SplitToLines[0]) + MatchComment = re.match(r"^/\*\sCOMMENT:(\w+):([\w|\W|\s]+)\s\*/\s([\s\S]*)", SplitToLines[0]) if MatchComment: if MatchComment.group(1) == 'FSP_UPD_HEADER': IsUpdHeader = True @@ -1226,7 +1226,7 @@ EndList NewTextBody.append("/**" + CommentLine + "**/\n") Line = Line[(len(SplitToLines[0]) + 1):] - Match = re.match("^/\*\sEMBED_STRUCT:(\w+):(\w+):(START|END)\s\*/\s([\s\S]*)", Line) + Match = re.match(r"^/\*\sEMBED_STRUCT:(\w+):(\w+):(START|END)\s\*/\s([\s\S]*)", Line) if Match: Line = Match.group(4) if Match.group(1) == 'FSP_UPD_HEADER': @@ -1239,7 +1239,7 @@ EndList NewTextBody.append ('typedef struct {\n') StructName = Match.group(1) VariableName = Match.group(2) - MatchOffset = re.search('/\*\*\sOffset\s0x([a-fA-F0-9]+)', Line) + MatchOffset = re.search(r'/\*\*\sOffset\s0x([a-fA-F0-9]+)', Line) if MatchOffset: Offset = int(MatchOffset.group(1), 16) else: @@ -1318,12 +1318,12 @@ EndList CommentLine = "" for Item in self._CfgItemList: if Item["comment"] != '' and Item["offset"] >= UpdOffsetTable[UpdIdx]: - MatchComment = re.match("^(U|V)PD_DATA_REGION:([\w|\W|\s]+)", Item["comment"]) + MatchComment = re.match(r"^(U|V)PD_DATA_REGION:([\w|\W|\s]+)", Item["comment"]) if MatchComment and MatchComment.group(1) == Region[0]: CommentLine = " " + MatchComment.group(2) + "\n" TxtBody.append("/**" + CommentLine + "**/\n") elif Item["offset"] >= UpdOffsetTable[UpdIdx] and Item["comment"] == '': - Match = re.match("^FSP([\w|\W|\s])_UPD", UpdStructure[UpdIdx]) + Match = re.match(r"^FSP([\w|\W|\s])_UPD", UpdStructure[UpdIdx]) if Match: TxtBody.append("/** Fsp " + Match.group(1) + " UPD Configuration\n**/\n") TxtBody.append("typedef struct {\n") @@ -1441,7 +1441,7 @@ EndList Export = False for Line in IncLines: - Match = re.search ("!EXPORT\s+([A-Z]+)\s+EXTERNAL_BOOTLOADER_STRUCT_(BEGIN|END)\s+", Line) + Match = re.search (r"!EXPORT\s+([A-Z]+)\s+EXTERNAL_BOOTLOADER_STRUCT_(BEGIN|END)\s+", Line) if Match: if Match.group(2) == "BEGIN" and Match.group(1) == UpdRegionCheck[item]: Export = True @@ -1464,7 +1464,7 @@ EndList Match = re.match("(typedef struct {)", Line) if Match: StartIndex = Index - 1 - Match = re.match("}\s([_A-Z0-9]+);", Line) + Match = re.match(r"}\s([_A-Z0-9]+);", Line) if Match and (UpdRegionCheck[item] in Match.group(1) or UpdConfigCheck[item] in Match.group(1)) and (ExcludedSpecificUpd[item] not in Match.group(1)) and (ExcludedSpecificUpd1[item] not in Match.group(1)): EndIndex = Index StructStart.append(StartIndex) @@ -1474,7 +1474,7 @@ EndList Index += 1 for Item in range(len(StructStart)): if Index == StructStart[Item]: - Match = re.match("^(/\*\*\s*)", Line) + Match = re.match(r"^(/\*\*\s*)", Line) if Match: StructStartWithComment.append(StructStart[Item]) else: @@ -1510,7 +1510,7 @@ EndList Match = re.match("(typedef struct {)", Line) if Match: StartIndex = Index - 1 - Match = re.match("#define\s([_A-Z0-9]+)\s*", Line) + Match = re.match(r"#define\s([_A-Z0-9]+)\s*", Line) if Match and (UpdSignatureCheck[item] in Match.group(1) or UpdSignatureCheck[item] in Match.group(1)): StructStart.append(Index - 1) StructEnd.append(Index) @@ -1519,7 +1519,7 @@ EndList Index += 1 for Item in range(len(StructStart)): if Index == StructStart[Item]: - Match = re.match("^(/\*\*\s*)", Line) + Match = re.match(r"^(/\*\*\s*)", Line) if Match: StructStartWithComment.append(StructStart[Item]) else: @@ -1543,7 +1543,7 @@ EndList else: Space = Item['space'] Line = " $%s_%s" % (Space, Item['cname']) - Match = re.match("\s*\{([x0-9a-fA-F,\s]+)\}\s*", Item['value']) + Match = re.match(r"\s*\{([x0-9a-fA-F,\s]+)\}\s*", Item['value']) if Match: DefaultValue = Match.group(1).strip() else: @@ -1576,7 +1576,7 @@ EndList BsfFd.write(' %s $%s, "%s", &%s,\n' % (Item['type'], PcdName, Item['name'], Options)) WriteHelp = 1 elif Item['type'].startswith("EditNum"): - Match = re.match("EditNum\s*,\s*(HEX|DEC)\s*,\s*\((\d+|0x[0-9A-Fa-f]+)\s*,\s*(\d+|0x[0-9A-Fa-f]+)\)", Item['type']) + Match = re.match(r"EditNum\s*,\s*(HEX|DEC)\s*,\s*\((\d+|0x[0-9A-Fa-f]+)\s*,\s*(\d+|0x[0-9A-Fa-f]+)\)", Item['type']) if Match: BsfFd.write(' EditNum $%s, "%s", %s,\n' % (PcdName, Item['name'], Match.group(1))) WriteHelp = 2 -- 2.39.2.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#118060): https://edk2.groups.io/g/devel/message/118060 Mute This Topic: https://groups.io/mt/105662400/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [edk2-devel] [PATCH v1 1/2] IntelFsp2Pkg/GenCfgOpt.py: Python 3.12 support 2024-04-22 1:36 ` [edk2-devel] [PATCH v1 1/2] IntelFsp2Pkg/GenCfgOpt.py: Python 3.12 support Guo, Gua @ 2024-04-22 6:12 ` Ashraf Ali S 0 siblings, 0 replies; 7+ messages in thread From: Ashraf Ali S @ 2024-04-22 6:12 UTC (permalink / raw) To: Guo, Gua, devel@edk2.groups.io Cc: Chiu, Chasel, Desimone, Nathaniel L, Duggapu, Chinni B, Zeng, Star, Kuo, Ted, Susovan Mohapatra Reviewed-by: S, Ashraf Ali <ashraf.ali.s@intel.com> Thanks., S, Ashraf Ali -----Original Message----- From: Guo, Gua <gua.guo@intel.com> Sent: Monday, April 22, 2024 7:07 AM To: devel@edk2.groups.io Cc: Guo, Gua <gua.guo@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; Duggapu, Chinni B <chinni.b.duggapu@intel.com>; Zeng, Star <star.zeng@intel.com>; Kuo, Ted <ted.kuo@intel.com>; S, Ashraf Ali <ashraf.ali.s@intel.com>; Susovan Mohapatra <susovan.mohapatra@intel.com> Subject: [PATCH v1 1/2] IntelFsp2Pkg/GenCfgOpt.py: Python 3.12 support From: Gua Guo <gua.guo@intel.com> Ref to https://docs.python.org/3/whatsnew/3.12.html A backslash-character pair that is not a valid escape sequence now generates Cc: Chasel Chiu <chasel.chiu@intel.com> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Duggapu Chinni B <chinni.b.duggapu@intel.com> Cc: Star Zeng <star.zeng@intel.com> Cc: Ted Kuo <ted.kuo@intel.com> Cc: Ashraf Ali S <ashraf.ali.s@intel.com> Cc: Susovan Mohapatra <susovan.mohapatra@intel.com> Signed-off-by: Gua Guo <gua.guo@intel.com> --- IntelFsp2Pkg/Tools/GenCfgOpt.py | 96 ++++++++++++++++----------------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/IntelFsp2Pkg/Tools/GenCfgOpt.py b/IntelFsp2Pkg/Tools/GenCfgOpt.py index 13be81ddbc..79923c07ed 100644 --- a/IntelFsp2Pkg/Tools/GenCfgOpt.py +++ b/IntelFsp2Pkg/Tools/GenCfgOpt.py @@ -136,7 +136,7 @@ class CLogicalExpression: var = var.strip() if re.match('^0x[a-fA-F0-9]+$', var): value = int(var, 16)- elif re.match('^[+-]?\d+$', var):+ elif re.match(r'^[+-]?\d+$', var): value = int(var, 10) else: value = None@@ -147,7 +147,7 @@ class CLogicalExpression: var = '' while not self.isLast(): char = self.getCurr()- if re.match('^[\w.]', char):+ if re.match(r'^[\w.]', char): var += char self.moveNext() else:@@ -161,7 +161,7 @@ class CLogicalExpression: def parseSingleOp(self): self.skipSpace()- if re.match('^NOT\W', self.getCurr(-1)):+ if re.match(r'^NOT\W', self.getCurr(-1)): self.moveNext(3) op = self.parseBrace() val = self.getNumber (op)@@ -225,7 +225,7 @@ class CLogicalExpression: value = self.parseCompare() while True: self.skipSpace()- if re.match('^AND\W', self.getCurr(-1)):+ if re.match(r'^AND\W', self.getCurr(-1)): self.moveNext(3) result = self.parseCompare() test = self.getNonNumber(result, value)@@ -243,10 +243,10 @@ class CLogicalExpression: while True: self.skipSpace() op = None- if re.match('^XOR\W', self.getCurr(-1)):+ if re.match(r'^XOR\W', self.getCurr(-1)): self.moveNext(3) op = '^'- elif re.match('^OR\W', self.getCurr(-1)):+ elif re.match(r'^OR\W', self.getCurr(-1)): self.moveNext(2) op = '|' else:@@ -330,11 +330,11 @@ EndList continue if IsExpression: IsExpression = False- Match = re.match("(\w+)=(.+)", Macro)+ Match = re.match(r"(\w+)=(.+)", Macro) if Match: self._MacroDict[Match.group(1)] = Match.group(2) else:- Match = re.match("(\w+)", Macro)+ Match = re.match(r"(\w+)", Macro) if Match: self._MacroDict[Match.group(1)] = '' if len(self._MacroDict) == 0:@@ -355,7 +355,7 @@ EndList def ExpandMacros (self, Input, Preserve = False): Line = Input- Match = re.findall("\$\(\w+\)", Input)+ Match = re.findall(r"\$\(\w+\)", Input) if Match: for Each in Match: Variable = Each[2:-1]@@ -370,7 +370,7 @@ EndList def ExpandPcds (self, Input): Line = Input- Match = re.findall("(\w+\.\w+)", Input)+ Match = re.findall(r"(\w+\.\w+)", Input) if Match: for PcdName in Match: if PcdName in self._PcdsDict:@@ -390,7 +390,7 @@ EndList return Result def ValueToByteArray (self, ValueStr, Length):- Match = re.match("\{\s*FILE:(.+)\}", ValueStr)+ Match = re.match(r"\{\s*FILE:(.+)\}", ValueStr) if Match: FileList = Match.group(1).split(',') Result = bytearray()@@ -427,7 +427,7 @@ EndList if Each[0] in ['"', "'"]: Result.extend(list(bytearray(Each[1:-1], 'utf-8'))) elif ':' in Each:- Match = re.match("(.+):(\d+)b", Each)+ Match = re.match(r"(.+):(\d+)b", Each) if Match is None: raise Exception("Invald value list format '%s' !" % Each) InBitField = True@@ -539,7 +539,7 @@ EndList continue Handle = False- Match = re.match("^\[(.+)\]", DscLine)+ Match = re.match(r"^\[(.+)\]", DscLine) if Match is not None: IsDefSect = False IsPcdSect = False@@ -575,7 +575,7 @@ EndList Match = False if DscLine[0] != '!' else True if Match:- Match = re.match("^!(else|endif|ifdef|ifndef|if|elseif|include)\s*(.+)?$", DscLine.split("#")[0])+ Match = re.match(r"^!(else|endif|ifdef|ifndef|if|elseif|include)\s*(.+)?$", DscLine.split("#")[0]) Keyword = Match.group(1) if Match else '' Remaining = Match.group(2) if Match else '' Remaining = '' if Remaining is None else Remaining.strip()@@ -620,7 +620,7 @@ EndList else: Handle = True if Handle:- Match = re.match("!include\s+(.+)", DscLine)+ Match = re.match(r"!include\s+(.+)", DscLine) if Match: IncludeFilePath = Match.group(1) IncludeFilePath = self.ExpandMacros(IncludeFilePath)@@ -660,7 +660,7 @@ EndList #DEFINE FSP_T_UPD_TOOL_GUID = 34686CA3-34F9-4901-B82A-BA630F0714C6 #DEFINE FSP_M_UPD_TOOL_GUID = 39A250DB-E465-4DD1-A2AC-E2BD3C0E2385 #DEFINE FSP_S_UPD_TOOL_GUID = CAE3605B-5B34-4C85-B3D7-27D54273C40F- Match = re.match("^\s*(?:DEFINE\s+)*(\w+)\s*=\s*(.+)", DscLine)+ Match = re.match(r"^\s*(?:DEFINE\s+)*(\w+)\s*=\s*(.+)", DscLine) if Match: self._MacroDict[Match.group(1)] = self.ExpandMacros(Match.group(2)) if self.Debug:@@ -668,21 +668,21 @@ EndList elif IsPcdSect: #gSiPkgTokenSpaceGuid.PcdTxtEnable|FALSE #gSiPkgTokenSpaceGuid.PcdOverclockEnable|TRUE- Match = re.match("^\s*([\w\.]+)\s*\|\s*(\w+)", DscLine)+ Match = re.match(r"^\s*([\w\.]+)\s*\|\s*(\w+)", DscLine) if Match: self._PcdsDict[Match.group(1)] = Match.group(2) if self.Debug: print ("INFO : PCD %s = [ %s ]" % (Match.group(1), Match.group(2))) i = 0 while i < len(BuildOptionPcd):- Match = re.match("\s*([\w\.]+)\s*\=\s*(\w+)", BuildOptionPcd[i])+ Match = re.match(r"\s*([\w\.]+)\s*\=\s*(\w+)", BuildOptionPcd[i]) if Match: self._PcdsDict[Match.group(1)] = Match.group(2) i += 1 elif IsTmpSect: # !BSF DEFT:{GPIO_TMPL:START}- Match = re.match("^\s*#\s+(!BSF)\s+DEFT:{(.+?):(START|END)}", DscLine)+ Match = re.match(r"^\s*#\s+(!BSF)\s+DEFT:{(.+?):(START|END)}", DscLine) if Match: if Match.group(3) == 'START' and not TemplateName: TemplateName = Match.group(2).strip()@@ -691,33 +691,33 @@ EndList TemplateName = '' else: if TemplateName:- Match = re.match("^!include\s*(.+)?$", DscLine)+ Match = re.match(r"^!include\s*(.+)?$", DscLine) if Match: continue self._BsfTempDict[TemplateName].append(DscLine) else:- Match = re.match("^\s*#\s+(!BSF|@Bsf|!HDR)\s+(.+)", DscLine)+ Match = re.match(r"^\s*#\s+(!BSF|@Bsf|!HDR)\s+(.+)", DscLine) if Match: Remaining = Match.group(2) if Match.group(1) == '!BSF' or Match.group(1) == '@Bsf':- Match = re.match("(?:^|.+\s+)PAGES:{(.+?)}", Remaining)+ Match = re.match(r"(?:^|.+\s+)PAGES:{(.+?)}", Remaining) if Match: # !BSF PAGES:{HSW:"Haswell System Agent", LPT:"Lynx Point PCH"} PageList = Match.group(1).split(',') for Page in PageList: Page = Page.strip()- Match = re.match("(\w+):\"(.+)\"", Page)+ Match = re.match(r"(\w+):\"(.+)\"", Page) if Match != None: self._CfgPageDict[Match.group(1)] = Match.group(2) - Match = re.match("(?:^|.+\s+)BLOCK:{NAME:\"(.+)\"\s*,\s*VER:\"(.+)\"\s*}", Remaining)+ Match = re.match(r"(?:^|.+\s+)BLOCK:{NAME:\"(.+)\"\s*,\s*VER:\"(.+)\"\s*}", Remaining) if Match: self._CfgBlkDict['name'] = Match.group(1) self._CfgBlkDict['ver'] = Match.group(2) for Key in self._BsfKeyList:- Match = re.match("(?:^|.+\s+)%s:{(.+?)}" % Key, Remaining)+ Match = re.match(r"(?:^|.+\s+)%s:{(.+?)}" % Key, Remaining) if Match: if Key in ['NAME', 'HELP', 'OPTION'] and Match.group(1).startswith('+'): ConfigDict[Key.lower()] += Match.group(1)[1:]@@ -725,15 +725,15 @@ EndList ConfigDict[Key.lower()] = Match.group(1) else: for Key in self._HdrKeyList:- Match = re.match("(?:^|.+\s+)%s:{(.+?)}" % Key, Remaining)+ Match = re.match(r"(?:^|.+\s+)%s:{(.+?)}" % Key, Remaining) if Match: ConfigDict[Key.lower()] = Match.group(1) - Match = re.match("^\s*#\s+@Prompt\s+(.+)", DscLine)+ Match = re.match(r"^\s*#\s+@Prompt\s+(.+)", DscLine) if Match: ConfigDict['name'] = Match.group(1) - Match = re.match("^\s*#\s*@ValidList\s*(.+)\s*\|\s*(.+)\s*\|\s*(.+)\s*", DscLine)+ Match = re.match(r"^\s*#\s*@ValidList\s*(.+)\s*\|\s*(.+)\s*\|\s*(.+)\s*", DscLine) if Match: if Match.group(2).strip() in self._BuidinOption: ConfigDict['option'] = Match.group(2).strip()@@ -749,22 +749,22 @@ EndList ConfigDict['option'] += ', ' ConfigDict['type'] = "Combo" - Match = re.match("^\s*#\s*@ValidRange\s*(.+)\s*\|\s*(.+)\s*-\s*(.+)\s*", DscLine)+ Match = re.match(r"^\s*#\s*@ValidRange\s*(.+)\s*\|\s*(.+)\s*-\s*(.+)\s*", DscLine) if Match: if "0x" in Match.group(2) or "0x" in Match.group(3): ConfigDict['type'] = "EditNum, HEX, (%s,%s)" % (Match.group(2), Match.group(3)) else: ConfigDict['type'] = "EditNum, DEC, (%s,%s)" % (Match.group(2), Match.group(3)) - Match = re.match("^\s*##\s+(.+)", DscLine)+ Match = re.match(r"^\s*##\s+(.+)", DscLine) if Match: ConfigDict['help'] = Match.group(1) # Check VPD/UPD if IsUpdSect:- Match = re.match("^([_a-zA-Z0-9]+).([_a-zA-Z0-9]+)\s*\|\s*(0x[0-9A-F]+|\*)\s*\|\s*(\d+|0x[0-9a-fA-F]+)\s*\|\s*(.+)",DscLine)+ Match = re.match(r"^([_a-zA-Z0-9]+).([_a-zA-Z0-9]+)\s*\|\s*(0x[0-9A-F]+|\*)\s*\|\s*(\d+|0x[0-9a-fA-F]+)\s*\|\s*(.+)",DscLine) else:- Match = re.match("^([_a-zA-Z0-9]+).([_a-zA-Z0-9]+)\s*\|\s*(0x[0-9A-F]+)(?:\s*\|\s*(.+))?", DscLine)+ Match = re.match(r"^([_a-zA-Z0-9]+).([_a-zA-Z0-9]+)\s*\|\s*(0x[0-9A-F]+)(?:\s*\|\s*(.+))?", DscLine) if Match: ConfigDict['space'] = Match.group(1) ConfigDict['cname'] = Match.group(2)@@ -796,13 +796,13 @@ EndList Value = '' Value = Value.strip() if '|' in Value:- Match = re.match("^.+\s*\|\s*(.+)", Value)+ Match = re.match(r"^.+\s*\|\s*(.+)", Value) if Match: Value = Match.group(1) Length = -1 ConfigDict['length'] = Length- Match = re.match("\$\((\w+)\)", Value)+ Match = re.match(r"\$\((\w+)\)", Value) if Match: if Match.group(1) in self._MacroDict: Value = self._MacroDict[Match.group(1)]@@ -879,7 +879,7 @@ EndList # !BSF FIELD:{SerialDebugPortAddress0:1} # or # @Bsf FIELD:{SerialDebugPortAddress0:1b}- Match = re.match("^\s*#\s+(!BSF|@Bsf)\s+FIELD:{(.+):(\d+)([Bb])?}", DscLine)+ Match = re.match(r"^\s*#\s+(!BSF|@Bsf)\s+FIELD:{(.+):(\d+)([Bb])?}", DscLine) if Match: SubCfgDict = ConfigDict.copy() if (Match.group(4) == None) or (Match.group(4) == 'B'):@@ -1023,7 +1023,7 @@ EndList self._VarDict['_LENGTH_'] = '%d' % (Item['offset'] + Item['length']) for Item in self._CfgItemList: Embed = Item['embed']- Match = re.match("^(\w+):(\w+):(START|END)", Embed)+ Match = re.match(r"^(\w+):(\w+):(START|END)", Embed) if Match: StructName = Match.group(1) VarName = '_%s_%s_' % (Match.group(3), StructName)@@ -1215,7 +1215,7 @@ EndList IsUpdHeader = False for Line in TextBody: SplitToLines = Line.splitlines()- MatchComment = re.match("^/\*\sCOMMENT:(\w+):([\w|\W|\s]+)\s\*/\s([\s\S]*)", SplitToLines[0])+ MatchComment = re.match(r"^/\*\sCOMMENT:(\w+):([\w|\W|\s]+)\s\*/\s([\s\S]*)", SplitToLines[0]) if MatchComment: if MatchComment.group(1) == 'FSP_UPD_HEADER': IsUpdHeader = True@@ -1226,7 +1226,7 @@ EndList NewTextBody.append("/**" + CommentLine + "**/\n") Line = Line[(len(SplitToLines[0]) + 1):] - Match = re.match("^/\*\sEMBED_STRUCT:(\w+):(\w+):(START|END)\s\*/\s([\s\S]*)", Line)+ Match = re.match(r"^/\*\sEMBED_STRUCT:(\w+):(\w+):(START|END)\s\*/\s([\s\S]*)", Line) if Match: Line = Match.group(4) if Match.group(1) == 'FSP_UPD_HEADER':@@ -1239,7 +1239,7 @@ EndList NewTextBody.append ('typedef struct {\n') StructName = Match.group(1) VariableName = Match.group(2)- MatchOffset = re.search('/\*\*\sOffset\s0x([a-fA-F0-9]+)', Line)+ MatchOffset = re.search(r'/\*\*\sOffset\s0x([a-fA-F0-9]+)', Line) if MatchOffset: Offset = int(MatchOffset.group(1), 16) else:@@ -1318,12 +1318,12 @@ EndList CommentLine = "" for Item in self._CfgItemList: if Item["comment"] != '' and Item["offset"] >= UpdOffsetTable[UpdIdx]:- MatchComment = re.match("^(U|V)PD_DATA_REGION:([\w|\W|\s]+)", Item["comment"])+ MatchComment = re.match(r"^(U|V)PD_DATA_REGION:([\w|\W|\s]+)", Item["comment"]) if MatchComment and MatchComment.group(1) == Region[0]: CommentLine = " " + MatchComment.group(2) + "\n" TxtBody.append("/**" + CommentLine + "**/\n") elif Item["offset"] >= UpdOffsetTable[UpdIdx] and Item["comment"] == '':- Match = re.match("^FSP([\w|\W|\s])_UPD", UpdStructure[UpdIdx])+ Match = re.match(r"^FSP([\w|\W|\s])_UPD", UpdStructure[UpdIdx]) if Match: TxtBody.append("/** Fsp " + Match.group(1) + " UPD Configuration\n**/\n") TxtBody.append("typedef struct {\n")@@ -1441,7 +1441,7 @@ EndList Export = False for Line in IncLines:- Match = re.search ("!EXPORT\s+([A-Z]+)\s+EXTERNAL_BOOTLOADER_STRUCT_(BEGIN|END)\s+", Line)+ Match = re.search (r"!EXPORT\s+([A-Z]+)\s+EXTERNAL_BOOTLOADER_STRUCT_(BEGIN|END)\s+", Line) if Match: if Match.group(2) == "BEGIN" and Match.group(1) == UpdRegionCheck[item]: Export = True@@ -1464,7 +1464,7 @@ EndList Match = re.match("(typedef struct {)", Line) if Match: StartIndex = Index - 1- Match = re.match("}\s([_A-Z0-9]+);", Line)+ Match = re.match(r"}\s([_A-Z0-9]+);", Line) if Match and (UpdRegionCheck[item] in Match.group(1) or UpdConfigCheck[item] in Match.group(1)) and (ExcludedSpecificUpd[item] not in Match.group(1)) and (ExcludedSpecificUpd1[item] not in Match.group(1)): EndIndex = Index StructStart.append(StartIndex)@@ -1474,7 +1474,7 @@ EndList Index += 1 for Item in range(len(StructStart)): if Index == StructStart[Item]:- Match = re.match("^(/\*\*\s*)", Line)+ Match = re.match(r"^(/\*\*\s*)", Line) if Match: StructStartWithComment.append(StructStart[Item]) else:@@ -1510,7 +1510,7 @@ EndList Match = re.match("(typedef struct {)", Line) if Match: StartIndex = Index - 1- Match = re.match("#define\s([_A-Z0-9]+)\s*", Line)+ Match = re.match(r"#define\s([_A-Z0-9]+)\s*", Line) if Match and (UpdSignatureCheck[item] in Match.group(1) or UpdSignatureCheck[item] in Match.group(1)): StructStart.append(Index - 1) StructEnd.append(Index)@@ -1519,7 +1519,7 @@ EndList Index += 1 for Item in range(len(StructStart)): if Index == StructStart[Item]:- Match = re.match("^(/\*\*\s*)", Line)+ Match = re.match(r"^(/\*\*\s*)", Line) if Match: StructStartWithComment.append(StructStart[Item]) else:@@ -1543,7 +1543,7 @@ EndList else: Space = Item['space'] Line = " $%s_%s" % (Space, Item['cname'])- Match = re.match("\s*\{([x0-9a-fA-F,\s]+)\}\s*", Item['value'])+ Match = re.match(r"\s*\{([x0-9a-fA-F,\s]+)\}\s*", Item['value']) if Match: DefaultValue = Match.group(1).strip() else:@@ -1576,7 +1576,7 @@ EndList BsfFd.write(' %s $%s, "%s", &%s,\n' % (Item['type'], PcdName, Item['name'], Options)) WriteHelp = 1 elif Item['type'].startswith("EditNum"):- Match = re.match("EditNum\s*,\s*(HEX|DEC)\s*,\s*\((\d+|0x[0-9A-Fa-f]+)\s*,\s*(\d+|0x[0-9A-Fa-f]+)\)", Item['type'])+ Match = re.match(r"EditNum\s*,\s*(HEX|DEC)\s*,\s*\((\d+|0x[0-9A-Fa-f]+)\s*,\s*(\d+|0x[0-9A-Fa-f]+)\)", Item['type']) if Match: BsfFd.write(' EditNum $%s, "%s", %s,\n' % (PcdName, Item['name'], Match.group(1))) WriteHelp = 2-- 2.39.2.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#118066): https://edk2.groups.io/g/devel/message/118066 Mute This Topic: https://groups.io/mt/105662400/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply [flat|nested] 7+ messages in thread
* [edk2-devel] [PATCH v1 2/2] IntelFsp2Pkg/PatchFv.py: Python 3.12 support 2024-04-22 1:36 [edk2-devel] [PATCH v1 0/2] IntelFsp2Pkg: Python3.12 support Guo, Gua 2024-04-22 1:36 ` [edk2-devel] [PATCH v1 1/2] IntelFsp2Pkg/GenCfgOpt.py: Python 3.12 support Guo, Gua @ 2024-04-22 1:36 ` Guo, Gua 2024-04-22 6:12 ` Ashraf Ali S 2024-04-22 1:40 ` [edk2-devel] [PATCH v1 0/2] IntelFsp2Pkg: Python3.12 support Guo, Gua 2 siblings, 1 reply; 7+ messages in thread From: Guo, Gua @ 2024-04-22 1:36 UTC (permalink / raw) To: devel Cc: gua.guo, Chasel Chiu, Nate DeSimone, Duggapu Chinni B, Star Zeng, Ted Kuo, Ashraf Ali S, Susovan Mohapatra From: Gua Guo <gua.guo@intel.com> Ref to https://docs.python.org/3/whatsnew/3.12.html A backslash-character pair that is not a valid escape sequence now generates Cc: Chasel Chiu <chasel.chiu@intel.com> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Duggapu Chinni B <chinni.b.duggapu@intel.com> Cc: Star Zeng <star.zeng@intel.com> Cc: Ted Kuo <ted.kuo@intel.com> Cc: Ashraf Ali S <ashraf.ali.s@intel.com> Cc: Susovan Mohapatra <susovan.mohapatra@intel.com> Signed-off-by: Gua Guo <gua.guo@intel.com> --- IntelFsp2Pkg/Tools/PatchFv.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/IntelFsp2Pkg/Tools/PatchFv.py b/IntelFsp2Pkg/Tools/PatchFv.py index 73ab877c71..bd9aa71e3c 100644 --- a/IntelFsp2Pkg/Tools/PatchFv.py +++ b/IntelFsp2Pkg/Tools/PatchFv.py @@ -143,7 +143,7 @@ class Symbols: fdIn.close() fvInfo['Base'] = 0 for rptLine in rptLines: - match = re.match("^EFI_BASE_ADDRESS\s*=\s*(0x[a-fA-F0-9]+)", rptLine) + match = re.match(r"^EFI_BASE_ADDRESS\s*=\s*(0x[a-fA-F0-9]+)", rptLine) if match: fvInfo['Base'] = int(match.group(1), 16) break @@ -312,7 +312,7 @@ class Symbols: self.fdBase = 0xFFFFFFFF while (rptLine != "" ): #EFI_BASE_ADDRESS = 0xFFFDF400 - match = re.match("^EFI_BASE_ADDRESS\s*=\s*(0x[a-fA-F0-9]+)", rptLine) + match = re.match(r"^EFI_BASE_ADDRESS\s*=\s*(0x[a-fA-F0-9]+)", rptLine) if match is not None: self.fdBase = int(match.group(1), 16) - fvOffset break @@ -340,7 +340,7 @@ class Symbols: fdIn = open(fvTxtFile, "r") rptLine = fdIn.readline() while (rptLine != "" ): - match = re.match("(0x[a-fA-F0-9]+)\s([0-9a-fA-F\-]+)", rptLine) + match = re.match(r"(0x[a-fA-F0-9]+)\s([0-9a-fA-F\-]+)", rptLine) if match is not None: if match.group(2) in self.dictFfsOffset: self.dictFfsOffset[fvName + ':' + match.group(2)] = "0x%08X" % (int(match.group(1), 16) + fvOffset) @@ -374,10 +374,10 @@ class Symbols: while (rptLine != "" ): if rptLine[0] != ' ': #DxeIpl (Fixed Flash Address, BaseAddress=0x00fffb4310, EntryPoint=0x00fffb4958,Type=PE) - match = re.match("([_a-zA-Z0-9\-]+)\s\(.+BaseAddress=(0x[0-9a-fA-F]+),\s+EntryPoint=(0x[0-9a-fA-F]+),\s*Type=\w+\)", rptLine) + match = re.match(r"([_a-zA-Z0-9\-]+)\s\(.+BaseAddress=(0x[0-9a-fA-F]+),\s+EntryPoint=(0x[0-9a-fA-F]+),\s*Type=\w+\)", rptLine) if match is None: #DxeIpl (Fixed Flash Address, BaseAddress=0x00fffb4310, EntryPoint=0x00fffb4958) - match = re.match("([_a-zA-Z0-9\-]+)\s\(.+BaseAddress=(0x[0-9a-fA-F]+),\s+EntryPoint=(0x[0-9a-fA-F]+)\)", rptLine) + match = re.match(r"([_a-zA-Z0-9\-]+)\s\(.+BaseAddress=(0x[0-9a-fA-F]+),\s+EntryPoint=(0x[0-9a-fA-F]+)\)", rptLine) if match is not None: foundModHdr = True modName = match.group(1) @@ -386,7 +386,7 @@ class Symbols: self.dictModBase['%s:BASE' % modName] = int (match.group(2), 16) self.dictModBase['%s:ENTRY' % modName] = int (match.group(3), 16) #(GUID=86D70125-BAA3-4296-A62F-602BEBBB9081 .textbaseaddress=0x00fffb4398 .databaseaddress=0x00fffb4178) - match = re.match("\(GUID=([A-Z0-9\-]+)\s+\.textbaseaddress=(0x[0-9a-fA-F]+)\s+\.databaseaddress=(0x[0-9a-fA-F]+)\)", rptLine) + match = re.match(r"\(GUID=([A-Z0-9\-]+)\s+\.textbaseaddress=(0x[0-9a-fA-F]+)\s+\.databaseaddress=(0x[0-9a-fA-F]+)\)", rptLine) if match is not None: if foundModHdr: foundModHdr = False @@ -399,7 +399,7 @@ class Symbols: else: # 0x00fff8016c __ModuleEntryPoint foundModHdr = False - match = re.match("^\s+(0x[a-z0-9]+)\s+([_a-zA-Z0-9]+)", rptLine) + match = re.match(r"^\s+(0x[a-z0-9]+)\s+([_a-zA-Z0-9]+)", rptLine) if match is not None: self.dictSymbolAddress["%s:%s"%(modName, match.group(2))] = match.group(1) rptLine = fdIn.readline() @@ -432,14 +432,14 @@ class Symbols: if reportLine.strip().find("Archive member included") != -1: #GCC # 0x0000000000001d55 IoRead8 - patchMapFileMatchString = "\s+(0x[0-9a-fA-F]{16})\s+([^\s][^0x][_a-zA-Z0-9\-]+)\s" + patchMapFileMatchString = r"\s+(0x[0-9a-fA-F]{16})\s+([^\s][^0x][_a-zA-Z0-9\-]+)\s" matchKeyGroupIndex = 2 matchSymbolGroupIndex = 1 prefix = '_' else: #MSFT #0003:00000190 _gComBase 00007a50 SerialPo - patchMapFileMatchString = "^\s[0-9a-fA-F]{4}:[0-9a-fA-F]{8}\s+(\w+)\s+([0-9a-fA-F]{8,16}\s+)" + patchMapFileMatchString = r"^\s[0-9a-fA-F]{4}:[0-9a-fA-F]{8}\s+(\w+)\s+([0-9a-fA-F]{8,16}\s+)" matchKeyGroupIndex = 1 matchSymbolGroupIndex = 2 prefix = '' @@ -458,11 +458,11 @@ class Symbols: if handleNext: handleNext = False pcdName = match.group(1) - match = re.match("\s+(0x[0-9a-fA-F]{16})\s+", reportLine) + match = re.match(r"\s+(0x[0-9a-fA-F]{16})\s+", reportLine) if match is not None: modSymbols[prefix + pcdName] = match.group(1) else: - match = re.match("^\s\.data\.(_gPcd_BinaryPatch[_a-zA-Z0-9\-]+)", reportLine) + match = re.match(r"^\s\.data\.(_gPcd_BinaryPatch[_a-zA-Z0-9\-]+)", reportLine) if match is not None: handleNext = True continue @@ -507,7 +507,7 @@ class Symbols: fdIn = open(xrefFile, "r") rptLine = fdIn.readline() while (rptLine != "" ): - match = re.match("([0-9a-fA-F\-]+)\s([_a-zA-Z0-9]+)", rptLine) + match = re.match(r"([0-9a-fA-F\-]+)\s([_a-zA-Z0-9]+)", rptLine) if match is not None: self.dictGuidNameXref[match.group(1).upper()] = match.group(2) rptLine = fdIn.readline() -- 2.39.2.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#118061): https://edk2.groups.io/g/devel/message/118061 Mute This Topic: https://groups.io/mt/105662401/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [edk2-devel] [PATCH v1 2/2] IntelFsp2Pkg/PatchFv.py: Python 3.12 support 2024-04-22 1:36 ` [edk2-devel] [PATCH v1 2/2] IntelFsp2Pkg/PatchFv.py: " Guo, Gua @ 2024-04-22 6:12 ` Ashraf Ali S 0 siblings, 0 replies; 7+ messages in thread From: Ashraf Ali S @ 2024-04-22 6:12 UTC (permalink / raw) To: Guo, Gua, devel@edk2.groups.io Cc: Chiu, Chasel, Desimone, Nathaniel L, Duggapu, Chinni B, Zeng, Star, Kuo, Ted, Susovan Mohapatra Reviewed-by: S, Ashraf Ali <ashraf.ali.s@intel.com> Thanks., S, Ashraf Ali -----Original Message----- From: Guo, Gua <gua.guo@intel.com> Sent: Monday, April 22, 2024 7:07 AM To: devel@edk2.groups.io Cc: Guo, Gua <gua.guo@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; Duggapu, Chinni B <chinni.b.duggapu@intel.com>; Zeng, Star <star.zeng@intel.com>; Kuo, Ted <ted.kuo@intel.com>; S, Ashraf Ali <ashraf.ali.s@intel.com>; Susovan Mohapatra <susovan.mohapatra@intel.com> Subject: [PATCH v1 2/2] IntelFsp2Pkg/PatchFv.py: Python 3.12 support From: Gua Guo <gua.guo@intel.com> Ref to https://docs.python.org/3/whatsnew/3.12.html A backslash-character pair that is not a valid escape sequence now generates Cc: Chasel Chiu <chasel.chiu@intel.com> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Duggapu Chinni B <chinni.b.duggapu@intel.com> Cc: Star Zeng <star.zeng@intel.com> Cc: Ted Kuo <ted.kuo@intel.com> Cc: Ashraf Ali S <ashraf.ali.s@intel.com> Cc: Susovan Mohapatra <susovan.mohapatra@intel.com> Signed-off-by: Gua Guo <gua.guo@intel.com> --- IntelFsp2Pkg/Tools/PatchFv.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/IntelFsp2Pkg/Tools/PatchFv.py b/IntelFsp2Pkg/Tools/PatchFv.py index 73ab877c71..bd9aa71e3c 100644 --- a/IntelFsp2Pkg/Tools/PatchFv.py +++ b/IntelFsp2Pkg/Tools/PatchFv.py @@ -143,7 +143,7 @@ class Symbols: fdIn.close() fvInfo['Base'] = 0 for rptLine in rptLines:- match = re.match("^EFI_BASE_ADDRESS\s*=\s*(0x[a-fA-F0-9]+)", rptLine)+ match = re.match(r"^EFI_BASE_ADDRESS\s*=\s*(0x[a-fA-F0-9]+)", rptLine) if match: fvInfo['Base'] = int(match.group(1), 16) break@@ -312,7 +312,7 @@ class Symbols: self.fdBase = 0xFFFFFFFF while (rptLine != "" ): #EFI_BASE_ADDRESS = 0xFFFDF400- match = re.match("^EFI_BASE_ADDRESS\s*=\s*(0x[a-fA-F0-9]+)", rptLine)+ match = re.match(r"^EFI_BASE_ADDRESS\s*=\s*(0x[a-fA-F0-9]+)", rptLine) if match is not None: self.fdBase = int(match.group(1), 16) - fvOffset break@@ -340,7 +340,7 @@ class Symbols: fdIn = open(fvTxtFile, "r") rptLine = fdIn.readline() while (rptLine != "" ):- match = re.match("(0x[a-fA-F0-9]+)\s([0-9a-fA-F\-]+)", rptLine)+ match = re.match(r"(0x[a-fA-F0-9]+)\s([0-9a-fA-F\-]+)", rptLine) if match is not None: if match.group(2) in self.dictFfsOffset: self.dictFfsOffset[fvName + ':' + match.group(2)] = "0x%08X" % (int(match.group(1), 16) + fvOffset)@@ -374,10 +374,10 @@ class Symbols: while (rptLine != "" ): if rptLine[0] != ' ': #DxeIpl (Fixed Flash Address, BaseAddress=0x00fffb4310, EntryPoint=0x00fffb4958,Type=PE)- match = re.match("([_a-zA-Z0-9\-]+)\s\(.+BaseAddress=(0x[0-9a-fA-F]+),\s+EntryPoint=(0x[0-9a-fA-F]+),\s*Type=\w+\)", rptLine)+ match = re.match(r"([_a-zA-Z0-9\-]+)\s\(.+BaseAddress=(0x[0-9a-fA-F]+),\s+EntryPoint=(0x[0-9a-fA-F]+),\s*Type=\w+\)", rptLine) if match is None: #DxeIpl (Fixed Flash Address, BaseAddress=0x00fffb4310, EntryPoint=0x00fffb4958)- match = re.match("([_a-zA-Z0-9\-]+)\s\(.+BaseAddress=(0x[0-9a-fA-F]+),\s+EntryPoint=(0x[0-9a-fA-F]+)\)", rptLine)+ match = re.match(r"([_a-zA-Z0-9\-]+)\s\(.+BaseAddress=(0x[0-9a-fA-F]+),\s+EntryPoint=(0x[0-9a-fA-F]+)\)", rptLine) if match is not None: foundModHdr = True modName = match.group(1)@@ -386,7 +386,7 @@ class Symbols: self.dictModBase['%s:BASE' % modName] = int (match.group(2), 16) self.dictModBase['%s:ENTRY' % modName] = int (match.group(3), 16) #(GUID=86D70125-BAA3-4296-A62F-602BEBBB9081 .textbaseaddress=0x00fffb4398 .databaseaddress=0x00fffb4178)- match = re.match("\(GUID=([A-Z0-9\-]+)\s+\.textbaseaddress=(0x[0-9a-fA-F]+)\s+\.databaseaddress=(0x[0-9a-fA-F]+)\)", rptLine)+ match = re.match(r"\(GUID=([A-Z0-9\-]+)\s+\.textbaseaddress=(0x[0-9a-fA-F]+)\s+\.databaseaddress=(0x[0-9a-fA-F]+)\)", rptLine) if match is not None: if foundModHdr: foundModHdr = False@@ -399,7 +399,7 @@ class Symbols: else: # 0x00fff8016c __ModuleEntryPoint foundModHdr = False- match = re.match("^\s+(0x[a-z0-9]+)\s+([_a-zA-Z0-9]+)", rptLine)+ match = re.match(r"^\s+(0x[a-z0-9]+)\s+([_a-zA-Z0-9]+)", rptLine) if match is not None: self.dictSymbolAddress["%s:%s"%(modName, match.group(2))] = match.group(1) rptLine = fdIn.readline()@@ -432,14 +432,14 @@ class Symbols: if reportLine.strip().find("Archive member included") != -1: #GCC # 0x0000000000001d55 IoRead8- patchMapFileMatchString = "\s+(0x[0-9a-fA-F]{16})\s+([^\s][^0x][_a-zA-Z0-9\-]+)\s"+ patchMapFileMatchString = r"\s+(0x[0-9a-fA-F]{16})\s+([^\s][^0x][_a-zA-Z0-9\-]+)\s" matchKeyGroupIndex = 2 matchSymbolGroupIndex = 1 prefix = '_' else: #MSFT #0003:00000190 _gComBase 00007a50 SerialPo- patchMapFileMatchString = "^\s[0-9a-fA-F]{4}:[0-9a-fA-F]{8}\s+(\w+)\s+([0-9a-fA-F]{8,16}\s+)"+ patchMapFileMatchString = r"^\s[0-9a-fA-F]{4}:[0-9a-fA-F]{8}\s+(\w+)\s+([0-9a-fA-F]{8,16}\s+)" matchKeyGroupIndex = 1 matchSymbolGroupIndex = 2 prefix = ''@@ -458,11 +458,11 @@ class Symbols: if handleNext: handleNext = False pcdName = match.group(1)- match = re.match("\s+(0x[0-9a-fA-F]{16})\s+", reportLine)+ match = re.match(r"\s+(0x[0-9a-fA-F]{16})\s+", reportLine) if match is not None: modSymbols[prefix + pcdName] = match.group(1) else:- match = re.match("^\s\.data\.(_gPcd_BinaryPatch[_a-zA-Z0-9\-]+)", reportLine)+ match = re.match(r"^\s\.data\.(_gPcd_BinaryPatch[_a-zA-Z0-9\-]+)", reportLine) if match is not None: handleNext = True continue@@ -507,7 +507,7 @@ class Symbols: fdIn = open(xrefFile, "r") rptLine = fdIn.readline() while (rptLine != "" ):- match = re.match("([0-9a-fA-F\-]+)\s([_a-zA-Z0-9]+)", rptLine)+ match = re.match(r"([0-9a-fA-F\-]+)\s([_a-zA-Z0-9]+)", rptLine) if match is not None: self.dictGuidNameXref[match.group(1).upper()] = match.group(2) rptLine = fdIn.readline()-- 2.39.2.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#118067): https://edk2.groups.io/g/devel/message/118067 Mute This Topic: https://groups.io/mt/105662401/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [edk2-devel] [PATCH v1 0/2] IntelFsp2Pkg: Python3.12 support 2024-04-22 1:36 [edk2-devel] [PATCH v1 0/2] IntelFsp2Pkg: Python3.12 support Guo, Gua 2024-04-22 1:36 ` [edk2-devel] [PATCH v1 1/2] IntelFsp2Pkg/GenCfgOpt.py: Python 3.12 support Guo, Gua 2024-04-22 1:36 ` [edk2-devel] [PATCH v1 2/2] IntelFsp2Pkg/PatchFv.py: " Guo, Gua @ 2024-04-22 1:40 ` Guo, Gua 2024-04-22 6:21 ` Guo, Gua 2 siblings, 1 reply; 7+ messages in thread From: Guo, Gua @ 2024-04-22 1:40 UTC (permalink / raw) To: devel@edk2.groups.io Cc: Chiu, Chasel, Desimone, Nathaniel L, Duggapu, Chinni B, Zeng, Star, Kuo, Ted, S, Ashraf Ali, Mohapatra, Susovan, Kasbekar, Saloni Hi FSP folks Need to get one of your help, to approve this PR, maybe we can merge it EOW. Thanks Gua -----Original Message----- From: Guo, Gua <gua.guo@intel.com> Sent: Monday, April 22, 2024 9:37 AM To: devel@edk2.groups.io Cc: Guo, Gua <gua.guo@intel.com> Subject: [PATCH v1 0/2] IntelFsp2Pkg: Python3.12 support From: Gua Guo <gua.guo@intel.com> PR: https://github.com/tianocore/edk2/pull/5577 V1: Prevent Syntax Warning after upgrade python version to 3.12 Gua Guo (2): IntelFsp2Pkg/GenCfgOpt.py: Python 3.12 support IntelFsp2Pkg/PatchFv.py: Python 3.12 support IntelFsp2Pkg/Tools/GenCfgOpt.py | 96 ++++++++++++++++----------------- IntelFsp2Pkg/Tools/PatchFv.py | 24 ++++----- 2 files changed, 60 insertions(+), 60 deletions(-) -- 2.39.2.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#118062): https://edk2.groups.io/g/devel/message/118062 Mute This Topic: https://groups.io/mt/105662397/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [edk2-devel] [PATCH v1 0/2] IntelFsp2Pkg: Python3.12 support 2024-04-22 1:40 ` [edk2-devel] [PATCH v1 0/2] IntelFsp2Pkg: Python3.12 support Guo, Gua @ 2024-04-22 6:21 ` Guo, Gua 0 siblings, 0 replies; 7+ messages in thread From: Guo, Gua @ 2024-04-22 6:21 UTC (permalink / raw) To: devel@edk2.groups.io, S, Ashraf Ali Cc: Chiu, Chasel, Desimone, Nathaniel L, Duggapu, Chinni B, Zeng, Star, Kuo, Ted, 'Mohapatra, Susovan', Kasbekar, Saloni Thank @S, Ashraf Ali help for quick code review. I've update rb message and will add push label tomorrow to make sure everyone aware this change. PR: https://github.com/tianocore/edk2/pull/5577 Thanks, Gua -----Original Message----- From: Guo, Gua Sent: Monday, April 22, 2024 9:41 AM To: devel@edk2.groups.io Cc: Chiu, Chasel <chasel.chiu@intel.com>; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; Duggapu, Chinni B <chinni.b.duggapu@intel.com>; Zeng, Star <star.zeng@intel.com>; Kuo, Ted <ted.kuo@intel.com>; S, Ashraf Ali <ashraf.ali.s@intel.com>; Mohapatra, Susovan <Susovan.Mohapatra@intel.com>; Kasbekar, Saloni <saloni.kasbekar@intel.com> Subject: RE: [PATCH v1 0/2] IntelFsp2Pkg: Python3.12 support Hi FSP folks Need to get one of your help, to approve this PR, maybe we can merge it EOW. Thanks Gua -----Original Message----- From: Guo, Gua <gua.guo@intel.com> Sent: Monday, April 22, 2024 9:37 AM To: devel@edk2.groups.io Cc: Guo, Gua <gua.guo@intel.com> Subject: [PATCH v1 0/2] IntelFsp2Pkg: Python3.12 support From: Gua Guo <gua.guo@intel.com> PR: https://github.com/tianocore/edk2/pull/5577 V1: Prevent Syntax Warning after upgrade python version to 3.12 Gua Guo (2): IntelFsp2Pkg/GenCfgOpt.py: Python 3.12 support IntelFsp2Pkg/PatchFv.py: Python 3.12 support IntelFsp2Pkg/Tools/GenCfgOpt.py | 96 ++++++++++++++++----------------- IntelFsp2Pkg/Tools/PatchFv.py | 24 ++++----- 2 files changed, 60 insertions(+), 60 deletions(-) -- 2.39.2.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#118068): https://edk2.groups.io/g/devel/message/118068 Mute This Topic: https://groups.io/mt/105662397/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-04-22 6:22 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-04-22 1:36 [edk2-devel] [PATCH v1 0/2] IntelFsp2Pkg: Python3.12 support Guo, Gua 2024-04-22 1:36 ` [edk2-devel] [PATCH v1 1/2] IntelFsp2Pkg/GenCfgOpt.py: Python 3.12 support Guo, Gua 2024-04-22 6:12 ` Ashraf Ali S 2024-04-22 1:36 ` [edk2-devel] [PATCH v1 2/2] IntelFsp2Pkg/PatchFv.py: " Guo, Gua 2024-04-22 6:12 ` Ashraf Ali S 2024-04-22 1:40 ` [edk2-devel] [PATCH v1 0/2] IntelFsp2Pkg: Python3.12 support Guo, Gua 2024-04-22 6:21 ` Guo, Gua
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox