audk/BaseTools/UserManuals/GenPatchPcdTable_Utility_Ma...

50 lines
4.4 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{\rtf1\ansi\ansicpg1252\deff0\deflang1033\deflangfe2052\deftab360{\fonttbl{\f0\fswiss\fprq2\fcharset0 Verdana;}{\f1\froman\fprq2\fcharset0 Times New Roman;}{\f2\fswiss\fprq2\fcharset0 Arial;}}
{\colortbl ;\red8\green96\blue168;\red0\green0\blue0;}
{\stylesheet{ Normal;}{\s1 heading 1;}{\s2 heading 2;}}
{\*\generator Msftedit 5.41.15.1515;}\viewkind4\uc1\pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\f0\fs28 Name\par
\pard\nowidctlpar\sb200\cf2\b0\fs18 GenPatchPcdTable.exe or GenPatchPcdTable.py \endash Parse the binary EFI image and its map file to get all used patchable PCDs\rquote name and their offset in EFI image.\f1\par
\pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\tx1440\cf1\b\f0\fs28 Synopsis\par
\pard\nowidctlpar\sb200\cf2\fs18 GenPatchPcdTable.exe -m <MapFile> -e <EfiFile> -o <OutFile>\par
\pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\fs28 Description\par
\pard\nowidctlpar\sb200\cf2\b0\fs18 GenPatchPcdTable tool parses the binary EFI image and map file generated by the different compilers (including MSFT, ICC, GCC) in EDKII code base. This tool searches the image map file to find every patchable PCD name and its real address, then parse the binary EFI image to get each section name and address, and calculate PCD offset in the binary EFI image. Finally, Pcd name, its offset and section name will be written into the output file. \f1\par
\f0 GenPatchPcdTable tool usually works together with PatchPcdValue tool to set the specific value of a patchable PCD into the binary EFI image. \f1\par
\pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\f0\fs28 Options\par
\pard\nowidctlpar\sb200\cf2\fs18 -m MAPFILE, --mapfile=MAPFILE\f1\par
\pard\nowidctlpar\li360\sb200\b0\f0 The map file generated by compiler contains the function and global variable information.\f1\par
\pard\nowidctlpar\sb200\b\f0 -e EFIFILE, --efifile=EFIFILE\f1\par
\pard\nowidctlpar\li360\sb200\b0\f0 The binary EFI image may contain the patchable PCD.\f1\par
\pard\nowidctlpar\sb200\b\f0 -o OUTFILE, --outputfile=OUTFILE\f1\par
\pard\nowidctlpar\li360\sb200\b0\f0 The output file stores the found patchable PCD information, which includes PcdName, Offset in EFI image and the section name.\f1\par
\pard\nowidctlpar\sb200\b\f0 -h, --help\f1\par
\pard\nowidctlpar\li360\sb200\b0\f0 Show this help message and exit.\f1\par
\pard\nowidctlpar\sb200\b\f0 --version\par
\pard\nowidctlpar\li360\sb200\b0 Show program's version number and exit.\f1\par
\pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\f0\fs28 Example\par
\pard\nowidctlpar\sb200\cf2\b0\fs18 1. Get the patchable Pcds from the binary PeiCore image and PeiCore map file, and output the PCD information into the file PcdTable.txt. \par
\b GenPatchPcdTable.exe -m PeiCore.map -e PeiCore.efi -o PcdTable.txt\f1\par
\f0 PcdTable.txt file contains the following PCD information:\f1\par
\b0\f0 PCD Name Offset Section Name\par
PcdDebugPrintErrorLevel 0x6F80 .data \par
PcdLoadFixAddressBootTimeCodePageNumber 0x6F84 .data \par
PcdLoadFixAddressPeiCodePageNumber 0x6F88 .data \par
PcdLoadFixAddressRuntimeCodePageNumber 0x6F8C .data \par
\pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\fs28 Bugs\par
\pard\nowidctlpar\sb200\cf2\b0\fs18 No known bugs.\par
Report bugs to edk2-buildtools-devel@lists.sourceforge.net\f1\par
\pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\f0\fs28 Files\par
\pard\nowidctlpar\sb200\cf2\b0\fs18 None\par
\pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\fs28 See also\par
\pard\nowidctlpar\sb200\cf2\b0\fs18 None\par
\pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\fs28 License\par
\pard\nowidctlpar\cf2\b0\fs18 Copyright (c) 2008 - 2010, Intel Corporation. All rights reserved.\par
This program and the accompanying materials are licensed and made available \par
under the terms and conditions of the BSD License which accompanies this \par
distribution. The full text of the license may be found at\par
http://opensource.org/licenses/bsd-license.php\par
\par
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\par
\pard\nowidctlpar\sb200 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\par
\cf0\f1\par
\pard\nowidctlpar\f2\fs20\par
}