]> git.proxmox.com Git - mirror_edk2.git/blob - BaseTools/UserManuals/VfrCompiler_Utility_Man_Page.rtf
Update DebugLib to provide support for "err" command in the EFI Shell to adjust the...
[mirror_edk2.git] / BaseTools / UserManuals / VfrCompiler_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 VfrCompile.exe \endash Compile the framework VFR and UEFI VFR file to UEFI IFR opcode table and binary.\par
6 \pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\tx1440\cf1\b\fs28 Synopsis\par
7 \pard\nowidctlpar\sb200\cf2\fs18 VfrCompile [options] VfrFile\b0\f1\par
8 \pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\f0\fs28 Description\par
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
10 This 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
11 \pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\fs28 Options\par
12 \pard\nowidctlpar\sb200\cf2\fs18 VfrFile\par
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
14 \pard\nowidctlpar\sb200\b -o DIR, --output-directory DIR\par
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
16 \pard\nowidctlpar\sb200\b -b, --create-ifr-package\par
17 \pard\nowidctlpar\li360\sb200\b0 Create an UEFI IFR Binary HII pack file. The generated file name is VfrFileName.hpk.\par
18 \pard\nowidctlpar\sb200\b -l create an output IFR listing file\par
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
20 \pard\nowidctlpar\sb200\f0 -n, --no-pre-processing\par
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
22 \pard\nowidctlpar\sb200\b -c, --compatible-framework\par
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
24 \pard\nowidctlpar\sb200\b -h, --help\par
25 \pard\nowidctlpar\fi360\sb200\b0 Print version and usage of this program and exit.\par
26 \pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\fs28 Example\par
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
28 \b VfrCompile -n Vfr_Uefi.iii\par
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
30 \b VfrCompile -n -b Vfr_Uefi.iii\par
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
32 \b VfrCompile -n -b -l Vfr_Uefi.iii\par
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
34 \b VfrCompile -n -c Vfr_Framework.iii\par
35 \pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\fs28 Bugs\par
36 \pard\nowidctlpar\sb200\cf2\b0\fs18 No known bugs.\par
37 Report bugs to edk2-buildtools-devel@lists.sourceforge.net\f1\par
38 \pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\f0\fs28 Files\par
39 \pard\nowidctlpar\sb200\cf2\b0\fs18 None\par
40 \pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\fs28 See also\par
41 \pard\nowidctlpar\sb200\cf2\b0\fs18 None\par
42 \pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\fs28 License\par
43 \pard\nowidctlpar\cf2\b0\fs18 Copyright (c) 2007 - 2009, Intel Corporation. All rights reserved.\par
44 This program and the accompanying materials are licensed and made available \par
45 under the terms and conditions of the BSD License which accompanies this \par
46 distribution. The full text of the license may be found at\par
47 http://opensource.org/licenses/bsd-license.php\par
48 \par
49 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\par
50 \pard\nowidctlpar\sb200 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\par
51 \cf0\f1\par
52 \pard\nowidctlpar\f2\fs20\par
53 }
54