[edk2-devel] [Patch V2] IntelFsp2Pkg/Tools: Fixed PatchFv.py to parse new Fv map file format

Bob Feng bob.c.feng at intel.com
Thu Nov 19 07:29:56 UTC 2020


I created a PR. https://github.com/tianocore/edk2/pull/1135

-----Original Message-----
From: Chiu, Chasel <chasel.chiu at intel.com> 
Sent: Thursday, November 19, 2020 2:24 PM
To: devel at edk2.groups.io; Feng, Bob C <bob.c.feng at intel.com>
Cc: Desimone, Nathaniel L <nathaniel.l.desimone at intel.com>; Zeng, Star <star.zeng at intel.com>; Yunhua Feng <fengyunhua at byosoft.com.cn>; Liu, Zhiguang <zhiguang.liu at intel.com>
Subject: RE: [edk2-devel] [Patch V2] IntelFsp2Pkg/Tools: Fixed PatchFv.py to parse new Fv map file format


Reviewed-by: Chasel Chiu <chasel.chiu at intel.com>

> -----Original Message-----
> From: devel at edk2.groups.io <devel at edk2.groups.io> On Behalf Of Bob 
> Feng
> Sent: Monday, November 16, 2020 10:24 AM
> To: devel at edk2.groups.io
> Cc: Chiu, Chasel <chasel.chiu at intel.com>; Desimone, Nathaniel L 
> <nathaniel.l.desimone at intel.com>; Zeng, Star <star.zeng at intel.com>; 
> Yunhua Feng <fengyunhua at byosoft.com.cn>; Liu, Zhiguang 
> <zhiguang.liu at intel.com>
> Subject: [edk2-devel] [Patch V2] IntelFsp2Pkg/Tools: Fixed PatchFv.py 
> to parse new Fv map file format
> 
> The commit 76e8aac158b0717fa27f12e4d008f79161ddb050 changed Fv map 
> format.
> It added the image type to better support source level debug. But it 
> broke the function of PatchFv.py because PatchFv.py also consume Fv map file.
> 
> This patch is to update PatchFv.py to make it work again.
> 
> Signed-off-by: Bob Feng <bob.c.feng at intel.com>
> Cc: Chasel Chiu <chasel.chiu at intel.com>
> Cc: Nate DeSimone <nathaniel.l.desimone at intel.com>
> Cc: Star Zeng <star.zeng at intel.com>
> Cc: Yunhua Feng <fengyunhua at byosoft.com.cn>
> Cc: Zhiguang Liu <zhiguang.liu at intel.com>
> ---V2: Support both the old Fv map file format and new Fv map file format.
>  IntelFsp2Pkg/Tools/PatchFv.py | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/IntelFsp2Pkg/Tools/PatchFv.py 
> b/IntelFsp2Pkg/Tools/PatchFv.py index 0c8d908063..112de4077a 100644
> --- a/IntelFsp2Pkg/Tools/PatchFv.py
> +++ b/IntelFsp2Pkg/Tools/PatchFv.py
> @@ -359,20 +359,23 @@ class Symbols:
>          rptLine  = fdIn.readline()         modName  = ""         foundModHdr = False
> while (rptLine != "" ):             if rptLine[0] != ' ':-                #DxeIpl (Fixed Flash
> Address, BaseAddress=0x00fffb4310, EntryPoint=0x00fffb4958)-
> #(GUID=86D70125-BAA3-4296-A62F-
> 602BEBBB9081 .textbaseaddress=0x00fffb4398 .databaseaddress=0x00fffb4178
> )-                match = re.match("([_a-zA-Z0-9\-]+)\s\(.+BaseAddress=(0x[0-9a-fA-
> F]+),\s+EntryPoint=(0x[0-9a-fA-F]+)\)", rptLine)+                #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)+                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)
> if match is not None:                     foundModHdr = True                     modName =
> match.group(1)                     if len(modName) == 36:                        modName =
> self.dictGuidNameXref[modName.upper()]
> 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)                 if match is not
> None:                     if foundModHdr:                         foundModHdr = False
> else:--
> 2.29.1.windows.1
> 
> 
> 
> -=-=-=-=-=-=
> Groups.io Links: You receive all messages sent to this group.
> View/Reply Online (#67597): 
> https://edk2.groups.io/g/devel/message/67597
> Mute This Topic: https://groups.io/mt/78284512/1777047
> Group Owner: devel+owner at edk2.groups.io
> Unsubscribe: https://edk2.groups.io/g/devel/unsub 
> [chasel.chiu at intel.com] -=- =-=-=-=-=
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#67692): https://edk2.groups.io/g/devel/message/67692
Mute This Topic: https://groups.io/mt/78284512/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-






More information about the edk2-devel-archive mailing list