]> git.proxmox.com Git - mirror_edk2.git/blob - BaseTools/UserManuals/GenPatchPcdTable_Utility_Man_Page.rtf
Sync EDKII BaseTools to BaseTools project r2065.
[mirror_edk2.git] / BaseTools / UserManuals / GenPatchPcdTable_Utility_Man_Page.rtf
1 {\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;}}
2 {\colortbl ;\red8\green96\blue168;\red0\green0\blue0;}
3 {\stylesheet{ Normal;}{\s1 heading 1;}{\s2 heading 2;}}
4 {\*\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
5 \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
6 \pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\tx1440\cf1\b\f0\fs28 Synopsis\par
7 \pard\nowidctlpar\sb200\cf2\fs18 GenPatchPcdTable.exe -m <MapFile> -e <EfiFile> -o <OutFile>\par
8 \pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\fs28 Description\par
9 \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
10 \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
11 \pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\f0\fs28 Options\par
12 \pard\nowidctlpar\sb200\cf2\fs18 -m MAPFILE, --mapfile=MAPFILE\f1\par
13 \pard\nowidctlpar\li360\sb200\b0\f0 The map file generated by compiler contains the function and global variable information.\f1\par
14 \pard\nowidctlpar\sb200\b\f0 -e EFIFILE, --efifile=EFIFILE\f1\par
15 \pard\nowidctlpar\li360\sb200\b0\f0 The binary EFI image may contain the patchable PCD.\f1\par
16 \pard\nowidctlpar\sb200\b\f0 -o OUTFILE, --outputfile=OUTFILE\f1\par
17 \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
18 \pard\nowidctlpar\sb200\b\f0 -h, --help\f1\par
19 \pard\nowidctlpar\li360\sb200\b0\f0 Show this help message and exit.\f1\par
20 \pard\nowidctlpar\sb200\b\f0 --version\par
21 \pard\nowidctlpar\li360\sb200\b0 Show program's version number and exit.\f1\par
22 \pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\f0\fs28 Example\par
23 \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
24 \b GenPatchPcdTable.exe -m PeiCore.map -e PeiCore.efi -o PcdTable.txt\f1\par
25 \f0 PcdTable.txt file contains the following PCD information:\f1\par
26 \b0\f0 PCD Name Offset Section Name\par
27 PcdDebugPrintErrorLevel 0x6F80 .data \par
28 PcdLoadFixAddressBootTimeCodePageNumber 0x6F84 .data \par
29 PcdLoadFixAddressPeiCodePageNumber 0x6F88 .data \par
30 PcdLoadFixAddressRuntimeCodePageNumber 0x6F8C .data \par
31 \pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\fs28 Bugs\par
32 \pard\nowidctlpar\sb200\cf2\b0\fs18 No known bugs.\par
33 Report bugs to edk2-buildtools-devel@lists.sourceforge.net\f1\par
34 \pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\f0\fs28 Files\par
35 \pard\nowidctlpar\sb200\cf2\b0\fs18 None\par
36 \pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\fs28 See also\par
37 \pard\nowidctlpar\sb200\cf2\b0\fs18 None\par
38 \pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\fs28 License\par
39 \pard\nowidctlpar\cf2\b0\fs18 Copyright (c) 2008 - 2010, Intel Corporation. All rights reserved.\par
40 This program and the accompanying materials are licensed and made available \par
41 under the terms and conditions of the BSD License which accompanies this \par
42 distribution. The full text of the license may be found at\par
43 http://opensource.org/licenses/bsd-license.php\par
44 \par
45 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\par
46 \pard\nowidctlpar\sb200 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\par
47 \cf0\f1\par
48 \pard\nowidctlpar\f2\fs20\par
49 }
50