summaryrefslogtreecommitdiffstats
path: root/BaseTools/UserManuals/VfrCompiler_Utility_Man_Page.rtf
blob: 80f0b41ff4bcd03c41fa1d3d5cde03eca5dfbc53 (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
114
{\rtf1\adeflang1025\ansi\ansicpg1252\uc2\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{\*\falt  Helvetica};}
{\f13\fnil\fcharset134\fprq2{\*\panose 02010600030101010101}\'cb\'ce\'cc\'e5{\*\falt ??\'a1\'a7??};}{\f38\fnil\fcharset134\fprq2{\*\panose 02010600030101010101}@\'cb\'ce\'cc\'e5{\*\falt ???????????????????????????????};}
{\f39\fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Verdana{\*\falt Tahoma};}{\f149\froman\fcharset238\fprq2 Times New Roman CE{\*\falt Times};}{\f150\froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Times};}
{\f152\froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Times};}{\f153\froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Times};}{\f154\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Times};}
{\f155\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Times};}{\f156\froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Times};}{\f157\froman\fcharset163\fprq2 Times New Roman (Vietnamese){\*\falt Times};}
{\f159\fswiss\fcharset238\fprq2 Arial CE{\*\falt  Helvetica};}{\f160\fswiss\fcharset204\fprq2 Arial Cyr{\*\falt  Helvetica};}{\f162\fswiss\fcharset161\fprq2 Arial Greek{\*\falt  Helvetica};}{\f163\fswiss\fcharset162\fprq2 Arial Tur{\*\falt  Helvetica};}
{\f164\fbidi \fswiss\fcharset177\fprq2 Arial (Hebrew){\*\falt  Helvetica};}{\f165\fbidi \fswiss\fcharset178\fprq2 Arial (Arabic){\*\falt  Helvetica};}{\f166\fswiss\fcharset186\fprq2 Arial Baltic{\*\falt  Helvetica};}
{\f167\fswiss\fcharset163\fprq2 Arial (Vietnamese){\*\falt  Helvetica};}{\f281\fnil\fcharset0\fprq2 SimSun Western{\*\falt ??\'a1\'a7??};}{\f531\fnil\fcharset0\fprq2 @\'cb\'ce\'cc\'e5 Western{\*\falt ???????????????????????????????};}
{\f539\fswiss\fcharset238\fprq2 Verdana CE{\*\falt Tahoma};}{\f540\fswiss\fcharset204\fprq2 Verdana Cyr{\*\falt Tahoma};}{\f542\fswiss\fcharset161\fprq2 Verdana Greek{\*\falt Tahoma};}{\f543\fswiss\fcharset162\fprq2 Verdana Tur{\*\falt Tahoma};}
{\f546\fswiss\fcharset186\fprq2 Verdana Baltic{\*\falt Tahoma};}{\f547\fswiss\fcharset163\fprq2 Verdana (Vietnamese){\*\falt Tahoma};}}{\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\f39\hich\af39\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\f39\hich\af39\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\f39\hich\af39\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\rsid10510927\rsid15221478}{\*\generator Microsoft Word 11.0.0000;}{\info{\operator lgao4}
{\creatim\yr2009\mo5\dy27\hr14\min51}{\revtim\yr2010\mo3\dy18\hr17\min13}{\version9}{\edmins2}{\nofpages3}{\nofwords556}{\nofchars3172}{\nofcharsws3721}{\vern24615}{\*\password 00000000}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/
wordml}{\xmlns2 urn:schemas-microsoft-com:office:smarttags}}\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 \hich .}}{\*\pnseclvl2
\pnucltr\pnstart1\pnindent720\pnhang {\pntxta \hich .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta \hich .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta \hich )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb \hich (}
{\pntxta \hich )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb \hich (}{\pntxta \hich )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb \hich (}{\pntxta \hich )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb \hich (}
{\pntxta \hich )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb \hich (}{\pntxta \hich )}}\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\af39\hich\af39\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid8466420 \hich\af39\dbch\af13\loch\f39 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\af39\hich\af39\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 
\fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 VfrCompile.exe \hich\f39 \endash \loch\f39  Compile the framework VFR and UEFI \hich\af39\dbch\af13\loch\f39 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\af39\hich\af39\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid8466420 \hich\af39\dbch\af13\loch\f39 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\af39\hich\af39\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af39\afs18 
\ltrch\fcs0 \b\fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 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\af39\hich\af39\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid8466420 \hich\af39\dbch\af13\loch\f39 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\af39\hich\af39\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 
\fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 VfrCompile is used to parse the preprocessed UEFI and Framework VFR file to generate UEFI IFR opcode table, Binary Data and IFR listi\hich\af39\dbch\af13\loch\f39 
ng file. This tool bases on the antlr parser to implement VFR syntax parser. The gen}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid15221478 \hich\af39\dbch\af13\loch\f39 erated UEFI IFR opcode table is}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 
\fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39  stored in autogen VfrFileNameBin.c, the global data variable is named to VfrFileNameBin that cantains IFR opcode table. Driver source code a\hich\af39\dbch\af13\loch\f39 
lways 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 e
\hich\af39\dbch\af13\loch\f39 a\hich\af39\dbch\af13\loch\f39 
ch 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 wi}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 
\fs18\cf1\insrsid15221478 \hich\af39\dbch\af13\loch\f39 ll be placed in current directory}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 .
\par \hich\af39\dbch\af13\loch\f39 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 p}{\rtlch\fcs1 
\af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid3824530 \hich\af39\dbch\af13\loch\f39 rocessed by trim to remove the }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 u}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 
\fs18\cf1\insrsid3824530 \hich\af39\dbch\af13\loch\f39 n}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 used definit\hich\af39\dbch\af13\loch\f39 ion, last step the file}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 
\fs18\cf1\insrsid10497001 \hich\af39\dbch\af13\loch\f39  will be compiled by VfrCompile}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39  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\af39\hich\af39\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid8466420 \hich\af39\dbch\af13\loch\f39 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\af39\hich\af39\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af39\afs18 
\ltrch\fcs0 \b\fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 VfrFile
\par }\pard \ltrpar\ql \li360\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 The input }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid5191132 
\hich\af39\dbch\af13\loch\f39 file is }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 UEFI or Framework VFR file, which has been preprocessed by Compiler and Trim tool. The generated output file is VfrFileN
\hich\af39\dbch\af13\loch\f39 ame.c.
\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 -o DIR, --output-directory DIR
\par }\pard \ltrpar\ql \li360\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 
All generated files will be placed into output directory. If this option is not specified, the default output directory is current directory.
\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 -b, --create-ifr-package
\par }\pard \ltrpar\ql \li360\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 Create an UEFI IFR Binary HII pack file. The genera
\hich\af39\dbch\af13\loch\f39 ted file name is VfrFileName.hpk.
\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 -l  create an output IFR listing file
\par }\pard \ltrpar\ql \li360\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0\pararsid8466420 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 
Create an output IFR listing file (VfrFileName.lst) to list each IFR opcode for each VFR }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid15221478 \hich\af39\dbch\af13\loch\f39     }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 
\hich\af39\dbch\af13\loch\f39 sta}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid5191132 \hich\af39\dbch\af13\loch\f39 t}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 ement.}{\rtlch\fcs1 \ab\af39\afs18 
\ltrch\fcs0 \b\fs18\cf1\insrsid8466420 
\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 -n, --no-pre-processing
\par }\pard \ltrpar\ql \li360\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0\pararsid15221478 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 Do not preprocessing input vfr file. The input VFR file 
\hich\af39\dbch\af13\loch\f39 has been procoessed. If this option 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\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 -c, --compatible-framework
\par }\pard \ltrpar\ql \li360\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0\pararsid9206042 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 
Recognize the input VFR file is the framework VFR syntax. If this option is not specified, the UEFI syntax is default vfr syn\hich\af39\dbch\af13\loch\f39 tax.
\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 -h, --help
\par }\pard \ltrpar\ql \fi360\li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 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\af39\hich\af39\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid8466420 \hich\af39\dbch\af13\loch\f39 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\af39\hich\af39\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 
\fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 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 }{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 VfrCompile -n Vfr_Uefi.iii
\par }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 2. Parse the preprocessed UE\hich\af39\dbch\af13\loch\f39 
FI 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\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 VfrCompile -n -b Vfr_Uefi.iii
\par }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 
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\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 VfrCompile -n -b -l Vfr_Uefi.iii
\par }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 4. Parse the preprocess\hich\af39\dbch\af13\loch\f39 
ed Framework VFR file (Vfr_Framework.iii) to generate the UEFI IFR opcode table in autogen C file (Vfr_Framework.c).  
\par }{\rtlch\fcs1 \ab\af39\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 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\af39\hich\af39\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid8466420 \hich\af39\dbch\af13\loch\f39 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\af39\hich\af39\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 
\fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 No known bugs.
\par \hich\af39\dbch\af13\loch\f39 Report bugs to }{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid10510927\charrsid6704915 \hich\af39\dbch\af13\loch\f39 edk2-buildtools-{\*\xmlopen\xmlns2{\factoidname PersonName}}dev{\*\xmlclose}el@lists.sourceforge.net
}{\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \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\af39\hich\af39\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid8466420 \hich\af39\dbch\af13\loch\f39 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\af39\hich\af39\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 
\fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 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\af39\hich\af39\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid8466420 \hich\af39\dbch\af13\loch\f39 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\af39\hich\af39\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 
\fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 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\af39\hich\af39\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \ab\af39\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid8466420 \hich\af39\dbch\af13\loch\f39 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\af39\hich\af39\dbch\af13\cgrid\langnp1033\langfenp2052 {\rtlch\fcs1 \af39\afs18 \ltrch\fcs0 
\fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 Co\hich\af39\dbch\af13\loch\f39 pyright (c) 2007-2009 Intel Corporation. All rights reserved
\par \hich\af39\dbch\af13\loch\f39 This program and the accompanying materials are licensed and made available 
\par \hich\af39\dbch\af13\loch\f39 under the terms and conditions of the BSD License which accompanies this 
\par \hich\af39\dbch\af13\loch\f39 distribution.  The full text of the license \hich\af39\dbch\af13\loch\f39 may be found at
\par \hich\af39\dbch\af13\loch\f39 http://opensource.org/licenses/bsd-license.php
\par 
\par \hich\af39\dbch\af13\loch\f39 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 \af39\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8466420 \hich\af39\dbch\af13\loch\f39 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 }}