public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Zhiguang Liu" <zhiguang.liu@intel.com>
To: devel@edk2.groups.io
Cc: Zhiguang Liu <zhiguang.liu@intel.com>,
	Chasel Chiu <chasel.chiu@intel.com>,
	Nate DeSimone <nathaniel.l.desimone@intel.com>,
	Duggapu Chinni B <chinni.b.duggapu@intel.com>,
	Star Zeng <star.zeng@intel.com>, Ted Kuo <ted.kuo@intel.com>,
	Ashraf Ali S <ashraf.ali.s@intel.com>,
	Susovan Mohapatra <susovan.mohapatra@intel.com>
Subject: [edk2-devel] [PATCH] IntelFsp2Pkg/Tools: Let PatchFv support to get Image Base.
Date: Mon, 18 Mar 2024 17:08:35 +0800	[thread overview]
Message-ID: <20240318090836.361-1-zhiguang.liu@intel.com> (raw)

Now, the value params of PatchFv support below value getting from map
file:
  ModuleName:FunctionName
  ModuleName:GlobalVariableName
  ModuleGuid:Offset
This patch add a new type ModuleName:KeyWord
KeyWord now supports "BASE", indicating the address of the Image base.
For example, ModuleName:BASE will be the address of the Image base.
This will simplify the flow when user want to patch the Image base in
the binary.

In the future, we can let the KeyWord support more based on future
usage.

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: Zhiguang Liu <zhiguang.liu@intel.com>
---
 IntelFsp2Pkg/Tools/PatchFv.py                       | 1 +
 IntelFsp2Pkg/Tools/UserManuals/PatchFvUserManual.md | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/IntelFsp2Pkg/Tools/PatchFv.py b/IntelFsp2Pkg/Tools/PatchFv.py
index 73ab877c71..0cab73255d 100644
--- a/IntelFsp2Pkg/Tools/PatchFv.py
+++ b/IntelFsp2Pkg/Tools/PatchFv.py
@@ -384,6 +384,7 @@ class Symbols:
                     if len(modName) == 36:
                        modName = self.dictGuidNameXref[modName.upper()]
                     self.dictModBase['%s:BASE'  % modName] = int (match.group(2), 16)
+                    self.dictSymbolAddress['%s:BASE'  % modName] = match.group(2)
                     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)
diff --git a/IntelFsp2Pkg/Tools/UserManuals/PatchFvUserManual.md b/IntelFsp2Pkg/Tools/UserManuals/PatchFvUserManual.md
index 205ad57773..b59e82c872 100644
--- a/IntelFsp2Pkg/Tools/UserManuals/PatchFvUserManual.md
+++ b/IntelFsp2Pkg/Tools/UserManuals/PatchFvUserManual.md
@@ -89,9 +89,10 @@ The entire argument includes the quote marks like in the example argument below:
 | 0x000000BC       | 0xFFFFFFA2       | 188                  | -94                  |
 
 ```
-ModuleName:FunctionName | ModuleName:GlobalVariableName
+ModuleName:FunctionName | ModuleName:GlobalVariableName | ModuleName:KeyWord
 ModuleGuid:Offset
 ```
+Note: KeyWord only supports "BASE" now, indicating the address of the PE Image base.
 
 ### Operators:
 
-- 
2.31.1.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#116835): https://edk2.groups.io/g/devel/message/116835
Mute This Topic: https://groups.io/mt/104999188/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



             reply	other threads:[~2024-03-18  9:08 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-18  9:08 Zhiguang Liu [this message]
2024-03-18  9:08 ` [edk2-devel] [PATCH] IntelFsp2Pkg/Tools: Updated iterator usage for Python 3 compatibility Zhiguang Liu
2024-03-24  6:33   ` Ashraf Ali S
2024-03-24 10:01 ` [edk2-devel] [PATCH] IntelFsp2Pkg/Tools: Let PatchFv support to get Image Base Ashraf Ali S

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=20240318090836.361-1-zhiguang.liu@intel.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