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.c...@intel.com> Cc: Nate DeSimone <nathaniel.l.desim...@intel.com> Cc: Duggapu Chinni B <chinni.b.dugg...@intel.com> Cc: Star Zeng <star.z...@intel.com> Cc: Ted Kuo <ted....@intel.com> Cc: Ashraf Ali S <ashraf.al...@intel.com> Cc: Susovan Mohapatra <susovan.mohapa...@intel.com> Signed-off-by: Zhiguang Liu <zhiguang....@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/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-