]> git.proxmox.com Git - mirror_edk2.git/blame - BaseTools/UserManuals/VfrCompiler_Utility_Man_Page.rtf
Sync EDKII BaseTools to BaseTools project r1971
[mirror_edk2.git] / BaseTools / UserManuals / VfrCompiler_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 VfrCompile.exe \endash Compile the framework VFR and UEFI VFR file to UEFI IFR opcode table and binary.\par\r
6\pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\tx1440\cf1\b\fs28 Synopsis\par\r
7\pard\nowidctlpar\sb200\cf2\fs18 VfrCompile [options] VfrFile\b0\f1\par\r
8\pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\f0\fs28 Description\par\r
9\pard\nowidctlpar\sb200\cf2\b0\fs18 VfrCompile is used to parse the preprocessed UEFI and Framework VFR file to generate UEFI IFR opcode table, Binary Data and IFR listing file. This tool bases on the antlr parser to implement VFR syntax parser. The generated UEFI IFR opcode table is stored in autogen VfrFileNameBin.c, the global data variable is named to VfrFileNameBin that cantains IFR opcode table. Driver source code always uses this global data to register HII form package and show this page. The generated UEFI IFR opcode binary file is VfrFileName.hpk, which can also be registered into HII Form package. The generated IFR listing file is VfrFileName.lst, which lists each IFR opcode for each VFR statement for debug purpose. The generated file will be placed into the output directory specified by -o option. If output directory is not specified, the generate file will be placed in current directory.\par\r
10This tool is not a standalone tool. It is used together with the compiler preprocessor, EDKII trim tool. When compiler VFR file, VFR file first is preprocessed by Compiler, then the preprocessed output file is processed by trim to remove the unused definition, last step the file will be compiled by VfrCompile tool to generate the expected UEFI IFR opcode.\par\r
11\pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\fs28 Options\par\r
12\pard\nowidctlpar\sb200\cf2\fs18 VfrFile\par\r
13\pard\nowidctlpar\li360\sb200\b0 The input file is UEFI or Framework VFR file, which has been preprocessed by Compiler and Trim tool. The generated output file is VfrFileName.c.\par\r
14\pard\nowidctlpar\sb200\b -o DIR, --output-directory DIR\par\r
15\pard\nowidctlpar\li360\sb200\b0 All generated files will be placed into output directory. If this option is not specified, the default output directory is current directory.\par\r
16\pard\nowidctlpar\sb200\b -b, --create-ifr-package\par\r
17\pard\nowidctlpar\li360\sb200\b0 Create an UEFI IFR Binary HII pack file. The generated file name is VfrFileName.hpk.\par\r
18\pard\nowidctlpar\sb200\b -l create an output IFR listing file\par\r
19\pard\nowidctlpar\li360\sb200\b0 Create an output IFR listing file (VfrFileName.lst) to list each IFR opcode for each VFR statement.\b\f1\par\r
20\pard\nowidctlpar\sb200\f0 -n, --no-pre-processing\par\r
21\pard\nowidctlpar\li360\sb200\b0 Do not preprocessing input vfr file. The input VFR file has been procoessed. If this option is not specified, the default behavior is same to set this option. \par\r
22\pard\nowidctlpar\sb200\b -c, --compatible-framework\par\r
23\pard\nowidctlpar\li360\sb200\b0 Recognize the input VFR file is the framework VFR syntax. If this option is not specified, the UEFI syntax is default vfr syntax.\par\r
24\pard\nowidctlpar\sb200\b -h, --help\par\r
25\pard\nowidctlpar\fi360\sb200\b0 Print version and usage of this program and exit.\par\r
26\pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\fs28 Example\par\r
27\pard\nowidctlpar\sb200\cf2\b0\fs18 1. Parse the preprocessed UEFI VFR file (Vfr_Uefi.iii) to generate the UEFI IFR opcode table in autogen C file (Vfr_Uefi.c). \par\r
28\b VfrCompile -n Vfr_Uefi.iii\par\r
29\b0 2. Parse the preprocessed UEFI VFR file (Vfr_Uefi.iii) to generate the UEFI IFR opcode table in autogen C file (Vfr_Uefi.c) and UEFI IFR Binary File (Vfr_Uefi.hpk)\par\r
30\b VfrCompile -n -b Vfr_Uefi.iii\par\r
31\b0 3. Parse the preprocessed UEFI VFR file (Vfr_Uefi.iii) to generate the UEFI IFR opcode table in autogen C file (Vfr_Uefi.c) and UEFI IFR Binary File (Vfr_Uefi.hpk) and IFR listing file (Vfr_Uefi.lst)\par\r
32\b VfrCompile -n -b -l Vfr_Uefi.iii\par\r
33\b0 4. Parse the preprocessed Framework VFR file (Vfr_Framework.iii) to generate the UEFI IFR opcode table in autogen C file (Vfr_Framework.c). \par\r
34\b VfrCompile -n -c Vfr_Framework.iii\par\r
35\pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\fs28 Bugs\par\r
36\pard\nowidctlpar\sb200\cf2\b0\fs18 No known bugs.\par\r
37Report bugs to edk2-buildtools-devel@lists.sourceforge.net\f1\par\r
38\pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\f0\fs28 Files\par\r
39\pard\nowidctlpar\sb200\cf2\b0\fs18 None\par\r
40\pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\fs28 See also\par\r
41\pard\nowidctlpar\sb200\cf2\b0\fs18 None\par\r
42\pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\fs28 License\par\r
43\pard\nowidctlpar\cf2\b0\fs18 Copyright (c) 2007 - 2009, Intel Corporation. All rights reserved.\par\r
44This program and the accompanying materials are licensed and made available \par\r
45under the terms and conditions of the BSD License which accompanies this \par\r
46distribution. The full text of the license may be found at\par\r
47http://opensource.org/licenses/bsd-license.php\par\r
48\par\r
49THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\par\r
50\pard\nowidctlpar\sb200 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\par\r
51\cf0\f1\par\r
52\pard\nowidctlpar\f2\fs20\par\r
53}\r
54\0