From: "Chiu, Chasel" <chasel.chiu@intel.com>
To: "S, Ashraf Ali" <ashraf.ali.s@intel.com>,
"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: "Ni, Ray" <ray.ni@intel.com>,
"Desimone, Nathaniel L" <nathaniel.l.desimone@intel.com>,
"Zeng, Star" <star.zeng@intel.com>
Subject: Re: [PATCH v2] IntelFsp2Pkg: PatchFv parseInfFile function modification
Date: Tue, 6 Jul 2021 05:59:02 +0000 [thread overview]
Message-ID: <BN9PR11MB5483F19C546D4F840BE3522DE61B9@BN9PR11MB5483.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20210705081117.3502-1-ashraf.ali.s@intel.com>
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com>
> -----Original Message-----
> From: S, Ashraf Ali <ashraf.ali.s@intel.com>
> Sent: Monday, July 5, 2021 4:11 PM
> To: devel@edk2.groups.io
> Cc: S, Ashraf Ali <ashraf.ali.s@intel.com>; Ni, Ray <ray.ni@intel.com>; Chiu,
> Chasel <chasel.chiu@intel.com>; Desimone, Nathaniel L
> <nathaniel.l.desimone@intel.com>; Zeng, Star <star.zeng@intel.com>
> Subject: [PATCH v2] IntelFsp2Pkg: PatchFv parseInfFile function modification
>
> REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3476
>
> parseInfFile currently reading the EFI_BASE_ADDRESS from INF, once the
> address found still it's continues to read the complete inf file which is not
> required. once the EFI_BASE_ADDRESS read from the INF no need to read the
> INF further.
> MSFT compiler can generate the map file address 8 or 16 based on which
> architecture the INF is compiler. currently it's support for IA32, modified the
> patchfv to support for all.
> modification of few typo errors in parseModMapFile, getCurr function required
>
> Signed-off-by: Ashraf Ali S <ashraf.ali.s@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Chasel Chiu <chasel.chiu@intel.com>
> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> Cc: Star Zeng <star.zeng@intel.com>
> ---
> IntelFsp2Pkg/Tools/PatchFv.py | 18 +++++++++++++-----
> 1 file changed, 13 insertions(+), 5 deletions(-)
>
> diff --git a/IntelFsp2Pkg/Tools/PatchFv.py b/IntelFsp2Pkg/Tools/PatchFv.py
> index 112de4077a..64b4e927a0 100644
> --- a/IntelFsp2Pkg/Tools/PatchFv.py
> +++ b/IntelFsp2Pkg/Tools/PatchFv.py
> @@ -1,6 +1,6 @@
> ## @ PatchFv.py
> #
> -# Copyright (c) 2014 - 2019, Intel Corporation. All rights reserved.<BR>
> +# Copyright (c) 2014 - 2021, Intel Corporation. All rights
> +reserved.<BR>
> # SPDX-License-Identifier: BSD-2-Clause-Patent # ## @@ -304,10 +304,11 @@
> class Symbols:
> match = re.match("^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
> rptLine = fdIn.readline()
> fdIn.close()
> if self.fdBase == 0xFFFFFFFF:
> - raise Exception("Could not find EFI_BASE_ADDRESS in INF file!" % fvFile)
> + raise Exception("Could not find EFI_BASE_ADDRESS in INF
> + file!" % infFile)
> return 0
>
> #
> @@ -402,6 +403,7 @@ class Symbols:
> #
> # retval 0 Parsed MOD MAP file successfully
> # retval 1 There is no moduleEntryPoint in modSymbols
> + # retval 2 There is no offset for moduleEntryPoint in modSymbols
> #
> def parseModMapFile(self, moduleName, mapFile):
> #
> @@ -426,7 +428,7 @@ class Symbols:
> 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}\s+)"
> + patchMapFileMatchString = "^\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 = ''
> @@ -455,7 +457,13 @@ class Symbols:
> continue
>
> if not moduleEntryPoint in modSymbols:
> - return 1
> + if matchSymbolGroupIndex == 1:
> + if not '_ModuleEntryPoint' in modSymbols:
> + return 1
> + else:
> + moduleEntryPoint = "_ModuleEntryPoint"
> + else:
> + return 1
>
> modEntry = '%s:%s' % (moduleName,moduleEntryPoint)
> if not modEntry in self.dictSymbolAddress:
> @@ -498,7 +506,7 @@ class Symbols:
> #
> # Get current character
> #
> - # retval elf.string[self.index]
> + # retval self.string[self.index]
> # retval '' Exception
> #
> def getCurr(self):
> --
> 2.30.2.windows.1
prev parent reply other threads:[~2021-07-06 5:59 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-05 8:11 [PATCH v2] IntelFsp2Pkg: PatchFv parseInfFile function modification Ashraf Ali S
2021-07-06 5:59 ` Chiu, Chasel [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=BN9PR11MB5483F19C546D4F840BE3522DE61B9@BN9PR11MB5483.namprd11.prod.outlook.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox