]> git.proxmox.com Git - mirror_edk2.git/commitdiff
IntelFsp2Pkg: Converted PatchFvUserManual from .docx to .md format
authorMudusuru, Giri P <giri.p.mudusuru@intel.com>
Fri, 5 Aug 2016 19:55:29 +0000 (03:55 +0800)
committerJiewen Yao <jiewen.yao@intel.com>
Mon, 8 Aug 2016 12:57:05 +0000 (20:57 +0800)
Converted the the word format of the documentation into markdown format
for PatchFv.py

V2: updated the commit message descripton

Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Maurice Ma <maurice.ma@intel.com>
Cc: Satya Yarlagadda <satya.p.yarlagadda@intel.com>
Cc: Satya Yarlagadda <satya.p.yarlagadda@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Giri P Mudusuru <giri.p.mudusuru@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
IntelFsp2Pkg/Tools/UserManuals/PatchFvUserManual.docx [deleted file]
IntelFsp2Pkg/Tools/UserManuals/PatchFvUserManual.md [new file with mode: 0644]

diff --git a/IntelFsp2Pkg/Tools/UserManuals/PatchFvUserManual.docx b/IntelFsp2Pkg/Tools/UserManuals/PatchFvUserManual.docx
deleted file mode 100644 (file)
index ab1eda9..0000000
Binary files a/IntelFsp2Pkg/Tools/UserManuals/PatchFvUserManual.docx and /dev/null differ
diff --git a/IntelFsp2Pkg/Tools/UserManuals/PatchFvUserManual.md b/IntelFsp2Pkg/Tools/UserManuals/PatchFvUserManual.md
new file mode 100644 (file)
index 0000000..becaf96
--- /dev/null
@@ -0,0 +1,123 @@
+#Name\r
+**_PatchFv.py_** - The python script that patches the firmware volumes (**FV**)\r
+with in the flash device (**FD**) file post FSP build.\r
+\r
+#Synopsis\r
+\r
+```\r
+PatchFv FvBuildDir [FvFileBaseNames:]FdFileBaseNameToPatch ["Offset, Value"]+\r
+  | ["Offset, Value, @Comment"]+\r
+  | ["Offset, Value, $Command"]+\r
+  | ["Offset, Value, $Command, @Comment"]+\r
+```\r
+\r
+#Description\r
+The **_PatchFv.py_** tool allows the developer to fix up FD images to follow the\r
+Intel FSP Architecture specification.  It also makes the FD image relocatable.\r
+The tool is written in Python and uses Python 2.7 or later to run.\r
+Consider using the tool in a build script.\r
+\r
+#FvBuildDir (Argument 1)\r
+This is the first argument that **_PatchFv.py_** requires.  It is the build\r
+directory for all firmware volumes created during the FSP build. The path must\r
+be either an absolute path or a relevant path, relevant to the top level of the\r
+FSP tree.\r
+\r
+####Example usage:\r
+```\r
+ Build\YouPlatformFspPkg\%BD_TARGET%_%VS_VERSION%%VS_X86%\FV\r
+```\r
+\r
+The example used contains Windows batch script %VARIABLES%.\r
+\r
+#FvFileBaseNames (Argument 2: 0ptional Part 1)\r
+The firmware volume file base names (**_FvFileBaseNames_**) are the independent\r
+Fv?s that are to be patched within the FD. (0 or more in the form\r
+**FVFILEBASENAME:**) The colon **:** is used for delimiting the single\r
+argument and must be appended to the end of each (**_FvFileBaseNames_**).\r
+\r
+####Example usage:\r
+```\r
+STAGE1:STAGE2:MANIFEST:YOURPLATFORM\r
+```\r
+\r
+In the example **STAGE1** is **STAGE1.Fv** in **YOURPLATFORM.fd**.\r
+\r
+# FdFileNameToPatch (Argument 2: Mandatory Part 2)\r
+\r
+Firmware device file name to patch (**_FdFileNameToPatch_**) is the base name of\r
+the FD file that is to be patched. (1 only, in the form **YOURPLATFORM**)\r
+\r
+####Example usage:\r
+```\r
+STAGE1:STAGE2:MANIFEST:YOURPLATFORM\r
+```\r
+\r
+In the example **YOURPLATFORM** is from **_YOURPLATFORM.fd_**\r
+\r
+#"Offset, Value[, Command][, Comment]" (Argument 3)\r
+The **_Offset_** can be a positive or negative number and represents where the\r
+**_Value_** to be patched is located within the FD. The **_Value_** is what\r
+will be written at the given **_Offset_** in the FD. Constants may be used for\r
+both offsets and values.  Also, this argument handles expressions for both\r
+offsets and values using these operators:\r
+\r
+```\r
+ = - * & | ~ ( ) [ ] { } < >\r
+```\r
+\r
+The entire argument includes the quote marks like in the example argument below:\r
+\r
+```\r
+0xFFFFFFC0, SomeCore:__EntryPoint - [0x000000F0],@SomeCore Entry\r
+```\r
+\r
+###Constants:\r
+ Hexadecimal (use **0x** as prefix) | Decimal\r
+\r
+####Examples:\r
+\r
+| **Positive Hex** | **Negative Hex** | **Positive Decimal** | **Negative Decimal** |\r
+| ---------------: | ---------------: | -------------------: | -------------------: |\r
+| 0x000000BC       | 0xFFFFFFA2       | 188                  | -94                  |\r
+\r
+```\r
+ModuleName:FunctionName | ModuleName:GlobalVariableName\r
+ModuleGuid:Offset\r
+```\r
+\r
+###Operators:\r
+\r
+```\r
+\r
+  + Addition\r
+  - Subtraction\r
+  * Multiplication\r
+  & Logical and\r
+  | Logical or\r
+  ~ Complement\r
+  ( ) Evaluation control\r
+  [ ] Get a DWord value at the specified offset expression from [expr]\r
+  { } Convert an offset {expr} into an absolute address (FSP_BASE + expr)\r
+  < > Convert absolute address <expr> into an image offset (expr & FSP_SIZE)\r
+\r
+```\r
+\r
+###Special Commands:\r
+Special commands must use the **$** symbol as a prefix to the command itself.\r
+There is only one command available at this time.\r
+\r
+```\r
+$COPY ? Copy a binary block from source to destination.\r
+```\r
+\r
+####Example:\r
+\r
+```\r
+0x94, [PlatformInit:__gPcd_BinPatch_FvRecOffset] + 0x94, [0x98], $COPY, @Sync up 2nd FSP Header\r
+```\r
+\r
+###Comments:\r
+Comments are allowed in the **Offset, Value [, Comment]** argument. Comments\r
+must use the **@** symbol as a prefix. The comment will output to the build\r
+window upon successful completion of patching along with the offset and value data.\r