summaryrefslogtreecommitdiff
path: root/BaseTools/UserManuals/VfrCompiler_Utility_Man_Page.rtf
blob: ae79db062b47b74ef4d890f5d469fb6f1239eb7a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch13\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe2052{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman{\*\falt Times};}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
{\f13\fnil\fcharset134\fprq2{\*\panose 02010600030101010101}SimSun{\*\falt ??\'a8\'ac?};}{\f38\fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Verdana{\*\falt Tahoma};}{\f39\fnil\fcharset134\fprq2{\*\panose 02010600030101010101}@SimSun;}
{\f155\froman\fcharset238\fprq2 Times New Roman CE{\*\falt Times};}{\f156\froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Times};}{\f158\froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Times};}
{\f159\froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Times};}{\f160\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Times};}{\f161\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Times};}
{\f162\froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Times};}{\f163\froman\fcharset163\fprq2 Times New Roman (Vietnamese){\*\falt Times};}{\f165\fswiss\fcharset238\fprq2 Arial CE;}{\f166\fswiss\fcharset204\fprq2 Arial Cyr;}
{\f168\fswiss\fcharset161\fprq2 Arial Greek;}{\f169\fswiss\fcharset162\fprq2 Arial Tur;}{\f170\fbidi \fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f171\fbidi \fswiss\fcharset178\fprq2 Arial (Arabic);}{\f172\fswiss\fcharset186\fprq2 Arial Baltic;}
{\f173\fswiss\fcharset163\fprq2 Arial (Vietnamese);}{\f287\fnil\fcharset0\fprq2 SimSun Western{\*\falt ??\'a8\'ac?};}{\f535\fswiss\fcharset238\fprq2 Verdana CE{\*\falt Tahoma};}{\f536\fswiss\fcharset204\fprq2 Verdana Cyr{\*\falt Tahoma};}
{\f538\fswiss\fcharset161\fprq2 Verdana Greek{\*\falt Tahoma};}{\f539\fswiss\fcharset162\fprq2 Verdana Tur{\*\falt Tahoma};}{\f542\fswiss\fcharset186\fprq2 Verdana Baltic{\*\falt Tahoma};}
{\f543\fswiss\fcharset163\fprq2 Verdana (Vietnamese){\*\falt Tahoma};}{\f547\fnil\fcharset0\fprq2 @SimSun Western;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;
\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red8\green96\blue168;}
{\stylesheet{\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\f38\hich\af38\dbch\af13\cgrid\langnp1033\langfenp2052 \snext0 Normal;}{
\s1\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\f38\hich\af38\dbch\af13\cgrid\langnp1033\langfenp2052 \sbasedon0 \snext0 heading 1;}{
\s2\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\outlinelevel1\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\f38\hich\af38\dbch\af13\cgrid\langnp1033\langfenp2052 \sbasedon0 \snext0 heading 2;}{\*\cs10 
\additive \ssemihidden Default Paragraph Font;}{\*\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv 
\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1024\langfe1024\loch\f0\hich\af0\dbch\af13\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}}
{\*\latentstyles\lsdstimax156\lsdlockeddef0}{\*\rsidtbl \rsid2573451\rsid3824530\rsid4161272\rsid5191132\rsid8466420\rsid9206042\rsid10497001\rsid15221478}{\*\generator Microsoft Word 11.0.0000;}{\info{\operator lgao4}{\creatim\yr2009\mo5\dy27\hr14\min51}
{\revtim\yr2009\mo5\dy27\hr14\min53}{\version8}{\edmins2}{\nofpages3}{\nofwords554}{\nofchars3162}{\nofcharsws3709}{\vern24613}{\*\password 00000000}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}
\paperw12240\paperh15840\margl1800\margr1800\margt1440\margb1440\gutter0\ltrsect 
\deftab360\widowctrl\ftnbj\aenddoc\donotembedsysfont0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3
\jcompress\viewkind4\viewscale100\rsidroot15221478 \fet0{\*\wgrffmtfilter 013f}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2
\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6
\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang 
{\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 
\fs24\lang1033\langfe2052\loch\af38\hich\af38\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af38\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid8466420 \hich\af38\dbch\af13\loch\f38 Name
\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\af38\hich\af38\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 
\fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 VfrComp\hich\af38\dbch\af13\loch\f38 ile.exe \hich\f38 \endash \loch\f38  Compile the framework VFR and UEFI VFR file to UEFI IFR opcode table and binary.
\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\tx1440\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 
\fs24\lang1033\langfe2052\loch\af38\hich\af38\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af38\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid8466420 \hich\af38\dbch\af13\loch\f38 Synopsis
\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\af38\hich\af38\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af38\afs18 
\ltrch\fcs0 \b\fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 VfrCompile [options] VfrFile}{\rtlch\fcs1 \af0\afs18 \ltrch\fcs0 \f0\fs18\cf1\insrsid8466420 
\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 
\fs24\lang1033\langfe2052\loch\af38\hich\af38\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af38\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid8466420 \hich\af38\dbch\af13\loch\f38 Description
\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\af38\hich\af38\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 
\fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 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 \hich\af38\dbch\af13\loch\f38 
the antlr parser to implement VFR syntax parser. The gen}{\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 \fs18\cf1\insrsid15221478 \hich\af38\dbch\af13\loch\f38 erated UEFI IFR opcode table is}{\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 
\hich\af38\dbch\af13\loch\f38  store\hich\af38\dbch\af13\loch\f38 
d 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 i
\hich\af38\dbch\af13\loch\f38 s\hich\af38\dbch\af13\loch\f38 
 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 spe
\hich\af38\dbch\af13\loch\f38 c\hich\af38\dbch\af13\loch\f38 ified by -o option. If output directory is not specified, the generate file wi}{\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 \fs18\cf1\insrsid15221478 \hich\af38\dbch\af13\loch\f38 
ll be placed in current directory}{\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 .
\par \hich\af38\dbch\af13\loch\f38 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 \hich\af38\dbch\af13\loch\f38 
is preprocessed by Compiler, then the preprocessed output file is p}{\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 \fs18\cf1\insrsid3824530 \hich\af38\dbch\af13\loch\f38 rocessed by trim to remove the }{\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 
\hich\af38\dbch\af13\loch\f38 u}{\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 \fs18\cf1\insrsid3824530 \hich\af38\dbch\af13\loch\f38 n}{\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 used definition, last step the file}{
\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 \fs18\cf1\insrsid10497001 \hich\af38\dbch\af13\loch\f38  will be compiled by VfrCompile}{\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 
 tool to generate the expected UEFI IFR opcode.
\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 
\fs24\lang1033\langfe2052\loch\af38\hich\af38\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af38\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid8466420 \hich\af38\dbch\af13\loch\f38 Options
\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\af38\hich\af38\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af38\afs18 
\ltrch\fcs0 \b\fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 VfrFile
\par }\pard \ltrpar\ql \li360\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 The input }{\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 \fs18\cf1\insrsid5191132 
\hich\af38\dbch\af13\loch\f38 file is }{\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 UEFI or Framewo\hich\af38\dbch\af13\loch\f38 
rk VFR file, which has been preprocessed by Compiler and Trim tool. The generated output file is VfrFileName.c.
\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af38\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 -o DIR, --output-directory DIR
\par }\pard \ltrpar\ql \li360\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 
All generated files will be placed into output directory. If this option is not specified, the default output dir\hich\af38\dbch\af13\loch\f38 ectory is current directory.
\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af38\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 -b, --create-ifr-package
\par }\pard \ltrpar\ql \li360\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 
Create an UEFI IFR Binary HII pack file. The generated file name is VfrFileName.hpk.
\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af38\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 -l  create an output IFR listing file
\par }\pard \ltrpar\ql \li360\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0\pararsid8466420 {\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 
Create an output IFR listing file (VfrFileName.lst) to list each IFR opco\hich\af38\dbch\af13\loch\f38 de for each VFR }{\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 \fs18\cf1\insrsid15221478 \hich\af38\dbch\af13\loch\f38     }{\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 
\fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 sta}{\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 \fs18\cf1\insrsid5191132 \hich\af38\dbch\af13\loch\f38 t}{\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 ement.}{
\rtlch\fcs1 \ab\af38\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid8466420 
\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af38\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 -n, --no-pre-processing
\par }\pard \ltrpar\ql \li360\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0\pararsid15221478 {\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 
Do not preprocessing input vfr file. The input VFR file has been procoessed. If this option \hich\af38\dbch\af13\loch\f38 is not specified, the default behavior is same to set this option. 
\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af38\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 -c, --compatible-framework
\par }\pard \ltrpar\ql \li360\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0\pararsid9206042 {\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 Recognize the inpu\hich\af38\dbch\af13\loch\f38 
t VFR file is the framework VFR syntax. If this option is not specified, \hich\af38\dbch\af13\loch\f38 the UEFI syntax is default vfr syntax.
\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af38\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 -h, --help
\par }\pard \ltrpar\ql \fi360\li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 Print version and usage of this program and exit.
\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 
\fs24\lang1033\langfe2052\loch\af38\hich\af38\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af38\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid8466420 \hich\af38\dbch\af13\loch\f38 Example
\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\af38\hich\af38\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 
\fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 1. Parse the preprocessed UEFI VFR file (Vfr_Uefi.iii) to generate the UEFI\hich\af38\dbch\af13\loch\f38  IFR opcode table in autogen C file (Vfr_Uefi.c).  
\par }{\rtlch\fcs1 \ab\af38\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 VfrCompile -n Vfr_Uefi.iii
\par }{\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 
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 }{\rtlch\fcs1 \ab\af38\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 VfrCompile -n -b Vfr_Uefi.iii
\par }{\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 
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 }{\rtlch\fcs1 \ab\af38\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 VfrCompile -n -b -l Vfr_Ue\hich\af38\dbch\af13\loch\f38 fi.iii
\par }{\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 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 }{\rtlch\fcs1 \ab\af38\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 VfrCompile -n -c Vfr_Framework.iii
\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 
\fs24\lang1033\langfe2052\loch\af38\hich\af38\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af38\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid8466420 \hich\af38\dbch\af13\loch\f38 Bugs
\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\af38\hich\af38\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 
\fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 No known bugs.
\par \hich\af38\dbch\af13\loch\f38 Report bugs to issues@buildtools.tianocore.org
\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 
\fs24\lang1033\langfe2052\loch\af38\hich\af38\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af38\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid8466420 \hich\af38\dbch\af13\loch\f38 Files
\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\af38\hich\af38\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 
\fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 None
\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 
\fs24\lang1033\langfe2052\loch\af38\hich\af38\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af38\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid8466420 \hich\af38\dbch\af13\loch\f38 See also
\par }\pard\plain \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\af38\hich\af38\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 
\fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 None
\par }\pard\plain \ltrpar\s2\ql \li-1440\ri0\sb400\sa60\sl-340\slmult0\keep\keepn\nowidctlpar\wrapdefault\faauto\outlinelevel1\rin0\lin-1440\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 
\fs24\lang1033\langfe2052\loch\af38\hich\af38\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af38\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid8466420 \hich\af38\dbch\af13\loch\f38 License
\par }\pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe2052\loch\af38\hich\af38\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 
\fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 Copyright (c) 2007-2009 Intel Corporation. All rights reserved
\par \hich\af38\dbch\af13\loch\f38 This program and the accompanying materials are licensed and made available 
\par \hich\af38\dbch\af13\loch\f38 under the terms and conditions of the BSD License which accompanies this 
\par \hich\af38\dbch\af13\loch\f38 distribution. \hich\af38\dbch\af13\loch\f38  The full text of the license may be found at
\par \hich\af38\dbch\af13\loch\f38 http://opensource.org/licenses/bsd-license.php
\par 
\par \hich\af38\dbch\af13\loch\f38 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af38\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af38\dbch\af13\loch\f38 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

\par }{\rtlch\fcs1 \af0\afs18 \ltrch\fcs0 \f0\fs18\insrsid8466420 
\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid8466420 
\par }}