From 87c400e14cf88b9231bd12056259a13424038984 Mon Sep 17 00:00:00 2001 From: "Mudusuru, Giri P" Date: Sat, 6 Aug 2016 03:55:29 +0800 Subject: [PATCH] IntelFsp2Pkg: Converted PatchFvUserManual from .docx to .md format Converted the the word format of the documentation into markdown format for PatchFv.py V2: updated the commit message descripton Cc: Jiewen Yao Cc: Maurice Ma Cc: Satya Yarlagadda Cc: Satya Yarlagadda Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Giri P Mudusuru Reviewed-by: Jiewen Yao --- .../Tools/UserManuals/PatchFvUserManual.docx | Bin 21481 -> 0 bytes .../Tools/UserManuals/PatchFvUserManual.md | 123 ++++++++++++++++++ 2 files changed, 123 insertions(+) delete mode 100644 IntelFsp2Pkg/Tools/UserManuals/PatchFvUserManual.docx create mode 100644 IntelFsp2Pkg/Tools/UserManuals/PatchFvUserManual.md diff --git a/IntelFsp2Pkg/Tools/UserManuals/PatchFvUserManual.docx b/IntelFsp2Pkg/Tools/UserManuals/PatchFvUserManual.docx deleted file mode 100644 index ab1eda993e7b7d249a0390dc1db83ff4987395da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21481 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 diff --git a/IntelFsp2Pkg/Tools/UserManuals/PatchFvUserManual.md b/IntelFsp2Pkg/Tools/UserManuals/PatchFvUserManual.md new file mode 100644 index 0000000000..becaf96b21 --- /dev/null +++ b/IntelFsp2Pkg/Tools/UserManuals/PatchFvUserManual.md @@ -0,0 +1,123 @@ +#Name +**_PatchFv.py_** - The python script that patches the firmware volumes (**FV**) +with in the flash device (**FD**) file post FSP build. + +#Synopsis + +``` +PatchFv FvBuildDir [FvFileBaseNames:]FdFileBaseNameToPatch ["Offset, Value"]+ + | ["Offset, Value, @Comment"]+ + | ["Offset, Value, $Command"]+ + | ["Offset, Value, $Command, @Comment"]+ +``` + +#Description +The **_PatchFv.py_** tool allows the developer to fix up FD images to follow the +Intel FSP Architecture specification. It also makes the FD image relocatable. +The tool is written in Python and uses Python 2.7 or later to run. +Consider using the tool in a build script. + +#FvBuildDir (Argument 1) +This is the first argument that **_PatchFv.py_** requires. It is the build +directory for all firmware volumes created during the FSP build. The path must +be either an absolute path or a relevant path, relevant to the top level of the +FSP tree. + +####Example usage: +``` + Build\YouPlatformFspPkg\%BD_TARGET%_%VS_VERSION%%VS_X86%\FV +``` + +The example used contains Windows batch script %VARIABLES%. + +#FvFileBaseNames (Argument 2: 0ptional Part 1) +The firmware volume file base names (**_FvFileBaseNames_**) are the independent +Fv?s that are to be patched within the FD. (0 or more in the form +**FVFILEBASENAME:**) The colon **:** is used for delimiting the single +argument and must be appended to the end of each (**_FvFileBaseNames_**). + +####Example usage: +``` +STAGE1:STAGE2:MANIFEST:YOURPLATFORM +``` + +In the example **STAGE1** is **STAGE1.Fv** in **YOURPLATFORM.fd**. + +# FdFileNameToPatch (Argument 2: Mandatory Part 2) + +Firmware device file name to patch (**_FdFileNameToPatch_**) is the base name of +the FD file that is to be patched. (1 only, in the form **YOURPLATFORM**) + +####Example usage: +``` +STAGE1:STAGE2:MANIFEST:YOURPLATFORM +``` + +In the example **YOURPLATFORM** is from **_YOURPLATFORM.fd_** + +#"Offset, Value[, Command][, Comment]" (Argument 3) +The **_Offset_** can be a positive or negative number and represents where the +**_Value_** to be patched is located within the FD. The **_Value_** is what +will be written at the given **_Offset_** in the FD. Constants may be used for +both offsets and values. Also, this argument handles expressions for both +offsets and values using these operators: + +``` + = - * & | ~ ( ) [ ] { } < > +``` + +The entire argument includes the quote marks like in the example argument below: + +``` +0xFFFFFFC0, SomeCore:__EntryPoint - [0x000000F0],@SomeCore Entry +``` + +###Constants: + Hexadecimal (use **0x** as prefix) | Decimal + +####Examples: + +| **Positive Hex** | **Negative Hex** | **Positive Decimal** | **Negative Decimal** | +| ---------------: | ---------------: | -------------------: | -------------------: | +| 0x000000BC | 0xFFFFFFA2 | 188 | -94 | + +``` +ModuleName:FunctionName | ModuleName:GlobalVariableName +ModuleGuid:Offset +``` + +###Operators: + +``` + + + Addition + - Subtraction + * Multiplication + & Logical and + | Logical or + ~ Complement + ( ) Evaluation control + [ ] Get a DWord value at the specified offset expression from [expr] + { } Convert an offset {expr} into an absolute address (FSP_BASE + expr) + < > Convert absolute address into an image offset (expr & FSP_SIZE) + +``` + +###Special Commands: +Special commands must use the **$** symbol as a prefix to the command itself. +There is only one command available at this time. + +``` +$COPY ? Copy a binary block from source to destination. +``` + +####Example: + +``` +0x94, [PlatformInit:__gPcd_BinPatch_FvRecOffset] + 0x94, [0x98], $COPY, @Sync up 2nd FSP Header +``` + +###Comments: +Comments are allowed in the **Offset, Value [, Comment]** argument. Comments +must use the **@** symbol as a prefix. The comment will output to the build +window upon successful completion of patching along with the offset and value data.