]>
Commit | Line | Data |
---|---|---|
aa0bf4f4 | 1 | Intel(R) Platform Innovation Framework for EFI\r |
13421853 | 2 | EFI Development Kit II (EDK II (EDK 2)) \r |
aa0bf4f4 | 3 | Alpha Release\r |
13421853 | 4 | 2006-06-29\r |
aa0bf4f4 | 5 | \r |
6 | Copyright (c) 2006, Intel Corporation\r | |
7 | \r | |
8 | This document provides updates to documentation, along with a description on \r | |
13421853 | 9 | how to install and build the EDK II.\r |
aa0bf4f4 | 10 | \r |
11 | Package Contents\r | |
12 | ----------------\r | |
13 | ReleaseNote.txt- These release notes for the package.\r | |
14 | MdePkg - A package containing Industry Standard headers and libraries\r | |
15 | Tools - A package containing Build Specific tools which are designed\r | |
16 | to help the developer create and modify drivers and\r | |
17 | libraries\r | |
18 | EdkModulePkg - A package containing reference drivers\r | |
19 | EdkFatBinPkg - A package containing binary DXE drivers for the Fat 32 file\r | |
20 | system\r | |
21 | EdkShellBinPkg - A package containing binary Shell applications and commands\r | |
22 | EdkNt32Pkg - A package containing the NT32 Emulation platform reference\r | |
23 | \r | |
24 | Note: MDE and MDK that appear in other documentation refer to the MdePkg and\r | |
25 | Tools packages. These two packages are the minimum requirement for developing\r | |
13421853 | 26 | EDK II Packages. It is also recommended that the top level files included\r |
aa0bf4f4 | 27 | with the EDK be downloaded in conjunction with these two packages.\r |
28 | \r | |
29 | Note: Documents have the following filenames:\r | |
13421853 | 30 | EDK II Module Development Environment Library Specification v0.50 \r |
aa0bf4f4 | 31 | (MDE_Library_Spec_0_50.rtf)\r |
13421853 | 32 | EDK II Build and Packaging Architecture Specification v0.50\r |
aa0bf4f4 | 33 | (Build_Packaging_Spec_0_50.rtf)\r |
13421853 | 34 | EDK II Platform Configuration Database Infrastructure Description v0.51\r |
aa0bf4f4 | 35 | (PCD_Infrastructure_0_51.rtf)\r |
13421853 | 36 | EDK II Module Surface Area v0.50\r |
aa0bf4f4 | 37 | (Module_Surface_Area_0_50.rtf)\r |
13421853 | 38 | EDK II Module Development Environment (MDE) Package Specification v0.50\r |
aa0bf4f4 | 39 | (MDE_Package_Spec_0_50.rtf)\r |
13421853 | 40 | EDK II C Coding Standards Specification v0.50\r |
aa0bf4f4 | 41 | (C_Coding_Standards_Specification_ 0_50.rtf)\r |
42 | \r | |
43 | Pre-Requisites\r | |
44 | --------------\r | |
45 | The following list of tools must be installed on the development workstation\r | |
13421853 | 46 | prior to using the EDK II.\r |
aa0bf4f4 | 47 | \r |
48 | Compiler Tool Chain\r | |
49 | Microsoft* Visual Studio .NET 2003* (http://www.microsoft.com)\r | |
50 | or\r | |
43475442 | 51 | A special GCC version 4.x or later (http://gcc.gnu.org). See below.\r |
aa0bf4f4 | 52 | \r |
53 | Assembler Tool Chain\r | |
54 | Microsoft Macro Assembler, version 6.15 or later\r | |
55 | or\r | |
8fb9e6b8 | 56 | GNU binutils 2.16.1 or later\r |
aa0bf4f4 | 57 | \r |
58 | Java Development Kit ( Java 5.0 or later)\r | |
59 | Sun* jdk-1.5.0_04 or later (http://java.sun.com)\r | |
60 | or\r | |
61 | Bea Systems* jrockit-25.2.0-jdk1.5.0_03 or later (http://www.bea.com)\r | |
62 | \r | |
63 | Java Tools\r | |
64 | Apache-ANT, version 1.6.5 or later (http://ant.apache.org)\r | |
50518883 | 65 | Ant-contrib, version 1.0b2 or later\r |
66 | (http://sourceforge.net/project/showfiles.php?group_id=36177)\r | |
aa0bf4f4 | 67 | Saxon8, version 8.1.1\r |
68 | (http://prdownloads.sourceforge.net/saxon/saxonb8-1-1.zip?download)\r | |
69 | XMLBeans, version 2.1.0 or later (http://xmlbeans.apache.org) \r | |
70 | \r | |
71 | Other Tools\r | |
72 | TortoiseSVN version 1.3.3. (http://tortoisesvn.tigris.org/)\r | |
73 | \r | |
74 | Optional Tools\r | |
75 | --------------\r | |
76 | Compiler Tool Chains:\r | |
50518883 | 77 | Intel C++ Compiler for Windows, ver. 9.0 or later (http://www.intel.com)\r |
8fb9e6b8 | 78 | Intel C Compiler for EFI Byte Code, ver. 1.2 or later \r |
79 | (http://www.intel.com/cd/software/products/asmo-na/eng/compilers/efibc/index.htm)\r | |
aa0bf4f4 | 80 | Microsoft Driver Development Kit, version 3790.1830 or later\r |
8fb9e6b8 | 81 | (http://www.microsoft.com/whdc/devtools/ddk/orderddkcd.mspx)\r |
aa0bf4f4 | 82 | Microsoft ACPI Source Language Assembler, Version 1.0.13NT or later\r |
83 | Intel ACPI Component Architecture, version 20060113\r | |
84 | \r | |
85 | -----------------------\r | |
86 | Notes On Required Tools (Source Control System)\r | |
87 | -----------------------\r | |
13421853 | 88 | The EDK II is being managed by the Subversion Source Control on Tianocore.org.\r |
aa0bf4f4 | 89 | This software package provides speed, security, and additional features. The\r |
90 | recommended client is TortoiseSVN version 1.3.3. \r | |
91 | (Available at http://tortoisesvn.tigris.org/)\r | |
92 | \r | |
93 | There are instructions for the use of Subversion Source Control on the\r | |
94 | Tianocore.org website, as part of the checkout procedures.\r | |
95 | \r | |
13421853 | 96 | The URL of the EDK II repository is:\r |
aa0bf4f4 | 97 | https://edk2.tianocore.org/svn/edk2/trunk/edk2\r |
98 | \r | |
99 | -----------------------\r | |
100 | Notes On Documentation\r | |
101 | -----------------------\r | |
102 | The documents are being managed by the Subversion Source Control on\r | |
103 | Tianocore.org. The document repository is "docs" and must be checked out\r | |
13421853 | 104 | separately from the EDK II source tree. Refer to the checkout procedures on\r |
105 | the Tianocore.org website for EDK II.\r | |
aa0bf4f4 | 106 | \r |
107 | The URL of the document repository is:\r | |
108 | https://edk2.tianocore.org/svn/edk2/trunk/docs\r | |
109 | \r | |
110 | \r | |
111 | -----------------------\r | |
112 | Notes On Required Tools (MS Windows environment example)\r | |
113 | -----------------------\r | |
114 | Software Installation Order:\r | |
115 | After installing the compiler tools and your Subversion client, the following\r | |
116 | required tools should be installed in order: \r | |
117 | Java JDK, Apache-Ant, ant-contrib, xmlbeans, saxon8\r | |
118 | \r | |
119 | Java Development Kit:\r | |
120 | \r | |
121 | The Java Environment Variable must be set before attempting to build.\r | |
122 | i.e. For Sun JDK (see note below*):\r | |
123 | set JAVA_HOME=c:\ Java\jdk1.5.0_06 \r | |
124 | i.e. For Bea Systems:\r | |
125 | set JAVA_HOME=c:\Program Files\Java\jrockit-R26.0.0-jdk1.5.0_04\r | |
126 | \r | |
127 | *When using the Sun JDK5.0\r | |
128 | During installation, you should specify the install directory as C:\Java\r | |
129 | instead of C:\Program Files\(or some other drive letter.) While installing\r | |
130 | to this non-standard location is not required. In use, it seems to work \r | |
131 | more reliably. \r | |
132 | For the JDK, the install path would be C:\Java\jdk1.5.0_06\r | |
133 | For the JRE, the install path would be C:\Java\jre1.5.0_06\r | |
134 | Alternatively, you can specify C:\sunjavajdk and C:\sunjavajre.\r | |
01d2ed5e | 135 | \r |
aa0bf4f4 | 136 | NOTE: You cannot combine the location for the JDK and the JRE, as the JRE\r |
137 | install removes most of the binaries and libraries installed by the JDK\r | |
138 | install.\r | |
139 | \r | |
140 | Java Tools:\r | |
141 | The Apache-ANT requires the ANT_HOME environment variable to be set before\r | |
142 | attempting to build:\r | |
01d2ed5e | 143 | i.e. set ANT_HOME=c:\<full path to where ant was installed>\r |
aa0bf4f4 | 144 | \r |
145 | The ant-contrib.jar file should be installed in the %ANT_HOME%\lib \r | |
146 | directory.\r | |
147 | \r | |
148 | The XMLBeans, requires the XMLBEANS_HOME environment variable to be set\r | |
149 | before attempting to build:\r | |
01d2ed5e | 150 | i.e. set XMLBEANS_HOME=C:\<full path to where xmlbeans was installed>\r |
aa0bf4f4 | 151 | \r |
152 | The saxon8.jar file should be copied to the %XMLBEANS_HOME%\lib directory.\r | |
153 | \r | |
154 | The Ant and XMLBean tools are required to be in the path.\r | |
155 | MS system example:\r | |
156 | set PATH=%PATH%;%ANT_HOME%\bin;%XMLBEANS_HOME%\bin\r | |
157 | Linux/OS X bash shell example:\r | |
158 | export PATH=$PATH:${ANT_HOME}/bin:${XMLBEANS_HOME}/bin\r | |
159 | \r | |
160 | -------------------------------------------------------------------------------\r | |
161 | Quick Start\r | |
162 | -----------\r | |
54a1ec66 | 163 | Edit the text file, msft_tools_def.txt, located in the Tools/Conf directory.\r |
164 | This file contains the names of the compiler tool chains and the location of\r | |
165 | the compiler binaries. It has been pre-populated with the standard location\r | |
166 | for the Microsoft tool chains and includes the standard location of the Intel C\r | |
aa0bf4f4 | 167 | Compiler for EFI Byte Code (EBC)\r |
168 | \r | |
169 | Follow the instructions at https://edk2.tianocore.org/servlets/ProjectSource to\r | |
13421853 | 170 | checkout the entire EDK II source tree.\r |
aa0bf4f4 | 171 | \r |
13421853 | 172 | In a command window, change to the top level directory of the EDK II sources.\r |
aa0bf4f4 | 173 | Set the WORKSPACE environment variable, e.g.:\r |
174 | \r | |
175 | c:\> set WORKSPACE=C:\MyWork\Edk2.0\r | |
176 | \r | |
177 | To test your tool chain setup and to build the Supplied Tools, execute:\r | |
178 | c:\MyWork\Edk2.0\> edksetup\r | |
179 | \r | |
180 | (This command will be referred to as the setup command throughout the rest of\r | |
181 | this document.)\r | |
182 | NOTE: You should run the setup command at the start of every session.\r | |
183 | This configures the environment to include the TianoTools and the\r | |
184 | Java applications and libraries.\r | |
185 | \r | |
186 | Once this is completed, you are ready to test the Build, by executing:\r | |
187 | c:\MyWork\Edk2.0\> ant\r | |
188 | \r | |
189 | This command builds all of the packages, including the NT32 reference platform.\r | |
190 | \r | |
90f7b6a8 | 191 | ------------------------------------\r |
192 | Build Architectures other than IA32.\r | |
193 | ------------------------------------\r | |
194 | \r | |
195 | By default, we are set up to build the ia32 architecture. If you would like to\r | |
196 | build for IPF, x64 and EBC, please copy MdePkg/MdePkg-All-Arch.fpd to\r | |
197 | MdePkg/MdePkg.fpd. For EdkModulePkg, copy EdkModulePkg-All-Archs.fpd to\r | |
198 | EdkModulePkg.fpd. Note, you may also add only the architecture you want from\r | |
199 | the -All-Archs files to the main fpd file. This is preferred if you do not have\r | |
200 | all the compilers installed.\r | |
201 | \r | |
202 | Optionally, you may modify the path to the compiler in\r | |
203 | Tools/Conf/msft_tools_def.txt. The flags for the ARCH tool chain are set in the\r | |
204 | file names by Tools/Conf/VENDOR_tools.txt, where VENDOR is set in\r | |
205 | Tools/Conf/msft_tools.txt.\r | |
206 | \r | |
207 | For example, if IPF_VENDOR = WINDDK, then the flags for the IPF DDK compiler\r | |
208 | will be specified in Tools/Conf/winddk_tools.txt.\r | |
209 | \r | |
aa0bf4f4 | 210 | -------------------------\r |
211 | Individual Package Builds\r | |
212 | -------------------------\r | |
213 | After running the setup command, you can build individual packages.\r | |
214 | In the command window, cd to the package that you want to build, and just\r | |
215 | type:\r | |
216 | c:\MyWork\Edk2.0\EdkNt32Pkg\> ant\r | |
217 | \r | |
218 | The EdkNt32Pkg has a special target; "run" that will execute the Nt32 emulation\r | |
219 | platform under Microsoft Windows.\r | |
220 | \r | |
03fed93e | 221 | To exit the Nt32 emulation platform, you may type reset at the EFI Shell>\r |
222 | command prompt. Alternately, you may use the Graphical interface, Boot\r | |
223 | Maintenance Manager screen's Reset System command.\r | |
224 | \r | |
aa0bf4f4 | 225 | ------------------------\r |
226 | Individual Module Builds\r | |
227 | ------------------------\r | |
228 | After running the setup command, you can build individual modules.\r | |
229 | In the command window, cd to the module that you want to build, and just\r | |
230 | type:\r | |
231 | c:\MyWork\Edk2.0\MdePkg\Library\BaseLib\> ant\r | |
232 | \r | |
233 | -------------------------------------------------------------------------------\r | |
234 | A Word on Apache-ANT\r | |
235 | --------------------\r | |
236 | The Apache-ANT program is a build tool that uses XML-based project files.\r | |
237 | Similar to Makefiles, these project files may contain multiple targets. Most\r | |
13421853 | 238 | build.xml files in EDK II are auto-generated; any edits performed on the\r |
aa0bf4f4 | 239 | build.xml files will be overwritten the next time ant is executed.\r |
240 | \r | |
241 | Pre-defined targets in the build.xml files include:\r | |
242 | all - This target builds binaries for defined architectures\r | |
243 | clean - This target removes object files generated by commands\r | |
244 | cleanall - This target removes all generated files and directories.\r | |
245 | \r | |
246 | A Word on GCC tool chain\r | |
247 | ------------------------\r | |
13421853 | 248 | EDK II will not compile with a standard Linux gcc tool chain. While Linux\r |
249 | distributions are usually based on ELF, EDK II requires a version of gcc that is\r | |
43475442 | 250 | configured to produce PE-COFF images. You will find a script in edk2/Tools/gcc\r |
251 | that will download, configure, compile, and install a gcc 4.X cross-compile\r | |
13421853 | 252 | tool chain for EDK II development. It has support for the ia32 architecture. It\r |
43475442 | 253 | can be built and run on Cygwin, Linux, and many other POSIX compliant host\r |
254 | operating environments. There are a few tools that you will need on your host\r | |
255 | computer in order to compile the tool chain. Among them are bash, gcc, gmake,\r | |
256 | curl (or wget).\r | |
aa0bf4f4 | 257 | \r |
258 | -------------------------------------------------------------------------------\r | |
259 | \r | |
260 | General Information:\r | |
261 | =============================================================== \r | |
262 | Mechanisms:\r | |
263 | ----------\r | |
8fb9e6b8 | 264 | A brief overview:\r |
aa0bf4f4 | 265 | \r |
266 | A) Surface Area Package Description (SPD) file contains information about the\r | |
267 | modules that the package contains, including the location of all MSA files, and\r | |
268 | public library names and headers that might be provided by a module in the\r | |
269 | package. Packages are defined by SPD files. (Found in the root of the Package\r | |
270 | subdirectory (i.e. EdkNt32Pkg)) The SPD is further explained in the "Build \r | |
271 | Packaging Specification" document.\r | |
272 | \r | |
273 | B) Module Surface Area Definition (MSA) files. A description of a module's \r | |
274 | surface area, with all module specific default flags and features specified.\r | |
275 | Refer to the "Module Surface Area Architecture Specification" for additional\r | |
276 | details. The MSA is further explained in the "Build Packaging Specification"\r | |
277 | document.\r | |
278 | \r | |
279 | C) Module Build Description (MDB). The "as-built" definition file that contains\r | |
280 | only the changes to the default flags defined in the MSA. The MSA and MDB are\r | |
281 | further explained in the "Build Packaging Specification" document.\r | |
282 | \r | |
283 | D) Platform Configuration Database (PCD). A platform database which contains a\r | |
284 | variety of current platform settings or directives by which a driver or\r | |
285 | application can interact with. The PCD is defined by the PCD_Protocol (This is\r | |
286 | further explained in the "Platform Configuration Database Infrastructure \r | |
287 | Description" document.\r | |
288 | \r | |
289 | E) Library Class. A library class is a logical grouping of similar functions.\r | |
290 | When developing components, the module surface area declares the class of\r | |
291 | libraries that can be used by the component. The MBD file specifies the\r | |
292 | instance(s) of the library that will be used during compilation/linking. All\r | |
293 | library type modules must include header files in their distribution package,\r | |
294 | as well as their surface area and module build description files. Components,\r | |
295 | on the other hand, need only provide the binary and build description files\r | |
296 | when distributing BINARY packages. The Library Classes are further explained\r | |
297 | in the "Build Packaging Specification" document.\r | |
298 | \r | |
299 | =========================================================================\r | |
300 | The common operations by developers of new modules are:\r | |
301 | -------------------------------------------------------\r | |
302 | \r | |
303 | 1) How to manually create a new module in a package:\r | |
304 | - The module source code must first be created in an appropriate directory\r | |
305 | (under the package the module is to be a part of.) \r | |
306 | - An MSA file must be created, spelling out all aspects of the module.\r | |
307 | - The MSA must be added to the SPD for the package to include the module.\r | |
308 | \r | |
309 | -----------------------------------------\r | |
310 | 2) Add/Remove module(s) to/from a package:\r | |
311 | \r | |
312 | - Setup environment as Build\r | |
313 | - Add a module to a package\r | |
314 | * Generate the module SurfaceArea description file and build description\r | |
315 | file\r | |
316 | * Run GenBuildFile.bat under <PackageDir> to generate an entrance\r | |
317 | build.xml for the module\r | |
318 | * Add a new <MsaFile> element under <MsaFiles> into\r | |
319 | <PackageDir>\<PackageName>.spd, using relative path to package\r | |
320 | * Add a new <ModuleSA> entry under each <TianoImage> into\r | |
321 | <PackageDir>\<PackageName>.fpd file\r | |
322 | \r | |
323 | - Remove a module from a package\r | |
324 | * Comment out or remove corresponding <MsaFile> element under <MsaFiles>\r | |
325 | from <PackageDir>\<PackageName>.spd\r | |
326 | * Comment out or remove corresponding <ModuleSA> entry under each\r | |
327 | <TianoImage> from <PackageDir>\<PackageName>.fpd\r | |
328 | \r | |
329 | -----------------------------------\r | |
330 | 3) How to manually create a package:\r | |
331 | - Identify the modules that are to be members of the project.\r | |
332 | - Identify the Variables and Guids required in and of the Package (including\r | |
333 | consumption/production information).\r | |
334 | - Create an SPD file defining these modules and calling out their MSA files.\r | |
335 | \r | |
336 | --------------------------------------\r | |
337 | 4) Declare a new Protocol in a package: \r | |
338 | - This release requires manual editing of the SPD file, adding the protocol\r | |
339 | to the ProtocolDeclarations section of the file. \r | |
340 | - Add the Protocol .h file to the Include\Protocol directory.\r | |
64fcaead | 341 | - Add an <Entry> to the <ProtocolDeclarations> element in the \r |
342 | <PackageName>.spd file\r | |
aa0bf4f4 | 343 | * Each line contains Protocol base name then the global variable name and\r |
344 | then the hex value of the Protocol GUID.\r | |
345 | \r | |
64fcaead | 346 | Example Protocol Entries (NOTE: The Guid entry is a single line in the SPD file):\r |
347 | <ProtocolDeclarations>\r | |
348 | <Entry Name="UnicodeCollation">\r | |
349 | <C_Name>gEfiUnicodeCollationProtocolGuid</C_Name>\r | |
350 | <Guid>{ 0x1d85cd7f, 0xf43d, 0x11d2, 0x9a, 0xc, 0x0, 0x90, 0x27,\r | |
351 | 0x3f, 0xc1, 0x4d }</Guid>\r | |
352 | <Entry Name="UsbHc">\r | |
353 | <C_Name>gEfiUsbHcProtocolGuid</C_Name>\r | |
354 | <Guid>{ 0xf5089266, 0x1aa0, 0x4953, 0x97, 0xd8, 0x56, 0x2f, 0x8a,\r | |
355 | 0x73, 0xb5, 0x19 }</Guid>\r | |
aa0bf4f4 | 356 | \r |
357 | ---------------------------------\r | |
358 | 5) Declare a new PPI in a package:\r | |
359 | - This release requires manual editing of the SPD file\r | |
360 | - Add the PPI .h file to the Include\Ppi directory.\r | |
64fcaead | 361 | - Add an <Entry> to the package <PpiDeclarations> element in the \r |
362 | <PackageName>.spd file\r | |
aa0bf4f4 | 363 | * Each line contains PPI base name then the global variable name and then\r |
364 | the hex value of the PPI GUID.\r | |
365 | \r | |
64fcaead | 366 | Example Ppi Entries (NOTE: The Guid entry is a single line in the SPD file):\r |
367 | <PpiDeclarations>\r | |
368 | <Entry Name="NtPeiLoadFile">\r | |
369 | <C_Name>gNtPeiLoadFilePpiGuid</C_Name>\r | |
370 | <Guid>{ 0xfd0c65eb, 0x405, 0x4cd2, 0x8a, 0xee, 0xf4, 0x0, 0xef, 0x13,\r | |
371 | 0xba, 0xc2 }</Guid>\r | |
372 | </Entry>\r | |
373 | <Entry Name="NtThunk">\r | |
374 | <C_Name>gPeiNtThunkPpiGuid</C_Name>\r | |
375 | <Guid>{ 0x98c281e5, 0xf906, 0x43dd, 0xa9, 0x2b, 0xb0, 0x3, 0xbf,\r | |
376 | 0x27, 0x65, 0xda }</Guid>\r | |
377 | </Entry>\r | |
378 | </PpiDeclarations>\r | |
379 | \r | |
aa0bf4f4 | 380 | \r |
381 | ----------------------------------\r | |
382 | 6) Declare a new GUID in a package:\r | |
383 | - This release requires manual editing of the SPD file to include the new\r | |
64fcaead | 384 | Guid. This is identical to adding a ProtocolDeclaration or PpiDeclaration\r |
385 | element as described above.\r | |
aa0bf4f4 | 386 | \r |
387 | --------------------------------------- \r | |
64fcaead | 388 | 7) Define a new PCD entry in a package:\r |
aa0bf4f4 | 389 | - This release requires manual editing of the SPD file to include the new\r |
64fcaead | 390 | PCD. New Pcd entries are added to the PcdDefinitions section of the\r |
391 | <PackageName>.spd file using the following example for the format:\r | |
392 | NOTE: The hex <Token> value must be unique.\r | |
393 | \r | |
394 | <PcdDefinitions>\r | |
395 | <PcdEntry ItemType="FIXED_AT_BUILD">\r | |
396 | <C_Name>PcdMaximumUnicodeStringLength</C_Name>\r | |
397 | <Token>0x00000001</Token>\r | |
398 | <DatumType>UINT32</DatumType>\r | |
399 | <DefaultValue>1000000</DefaultValue>\r | |
400 | </PcdEntry>\r | |
401 | </PcdDefinition>\r | |
aa0bf4f4 | 402 | \r |
403 | ------------------------------\r | |
404 | 8) Declare a new Library Class:\r | |
405 | - This release requires manual editing of the SPD file to include the new\r | |
64fcaead | 406 | Library Class. New Library Class entries are added to the \r |
407 | LibraryClassDeclarations seection of the <PackageName>.spd file using\r | |
408 | the following example for the format:\r | |
409 | \r | |
410 | <LibraryClassDeclarations>\r | |
411 | <LibraryClassDeclaration>\r | |
412 | <LibraryClass>BaseLib</LibraryClass>\r | |
413 | <IncludeHeader>Include/Library/BaseLib.h</IncludeHeader>\r | |
414 | </LibraryClassDeclaration>\r | |
415 | </LibraryClassDeclarations>\r | |
aa0bf4f4 | 416 | \r |
417 | --------------------------------------\r | |
418 | 9) Add a library instance to a package:\r | |
419 | - This requires manual MSA and MBD file.\r | |
420 | \r | |
421 | -----------------------------\r | |
422 | 10) Add a module to a package:\r | |
423 | - This requires manual MSA and MBD editing\r | |
424 | \r | |
425 | \r | |
426 | =======================================================\r | |
427 | Notes:\r | |
428 | ------\r | |
13421853 | 429 | The EDK II represents significant changes in the structure of the EDK.\r |
aa0bf4f4 | 430 | Therefore it is very difficult to isolate all of the changes of this version of\r |
431 | the EDK with the previous (EDK 1.0) version.\r | |
432 | \r | |
433 | Of particular note:\r | |
434 | \r | |
13421853 | 435 | 1) EDK II contains new hardware feature support for the ICH SMBUS Libraries.\r |
aa0bf4f4 | 436 | These libraries are provided to make Memory Reference Code (MRC) development\r |
437 | easier.\r | |
1465cc8b | 438 | 2) The MDE Libraries - The MDE libraries represent significant changes in source\r |
aa0bf4f4 | 439 | (with only limited changes in functionality.) These new libraries conform\r |
440 | to the "MDE Library Specification". \r | |
441 | 3) The Fat Binary and the EDK Shell Binary Packages are functionally identical\r | |
442 | to the EDK 1.0 version.\r | |
443 | 4) The EDK tools directory has been expanded to include more tools and more\r | |
444 | tool functionality.\r | |
445 | 5) The EDK NT32 section has been ported to the new build process, but\r | |
446 | functionally remains the same as the EDK 1.0 version.\r | |
13421853 | 447 | 6) The Application "HelloWorld" has been ported to EDK II as well.\r |
aa0bf4f4 | 448 | \r |
449 | =======================================================\r | |
450 | Virus scanned by McAfee VirusScan Enterprise 8.0.0, Virus Definitions 4718, no\r | |
451 | virus detected.\r | |
452 | \r |