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