blob: cf28c8a045126d3e1f368e85d0d1659ee941c78b [file] [log] [blame]
lhauchaa0bf4f2006-04-26 17:54:57 +00001Intel(R) Platform Innovation Framework for EFI
yshi8362271d2006-07-06 10:42:42 +00002EFI Development Kit II (EDK II)
3Root Package 1.00
42006-07-06
lhauchaa0bf4f2006-04-26 17:54:57 +00005
6Copyright (c) 2006, Intel Corporation
7
8This document provides updates to documentation, along with a description on
yshi8362271d2006-07-06 10:42:42 +00009how to install and build the EDK II.
lhauchaa0bf4f2006-04-26 17:54:57 +000010
11Package Contents
12----------------
13 ReleaseNote.txt- These release notes for the package.
14 MdePkg - A package containing Industry Standard headers and libraries
15 Tools - A package containing Build Specific tools which are designed
16 to help the developer create and modify drivers and
17 libraries
18 EdkModulePkg - A package containing reference drivers
19 EdkFatBinPkg - A package containing binary DXE drivers for the Fat 32 file
20 system
yshi8362271d2006-07-06 10:42:42 +000021 EdkFatPkg - A package containing source DXE drivers for the Fat 32 file
22 system
lhauchaa0bf4f2006-04-26 17:54:57 +000023 EdkShellBinPkg - A package containing binary Shell applications and commands
24 EdkNt32Pkg - A package containing the NT32 Emulation platform reference
25
26Note: MDE and MDK that appear in other documentation refer to the MdePkg and
27Tools packages. These two packages are the minimum requirement for developing
michaelx_krau13421852006-07-05 20:41:25 +000028EDK II Packages. It is also recommended that the top level files included
lhauchaa0bf4f2006-04-26 17:54:57 +000029with the EDK be downloaded in conjunction with these two packages.
30
31Note: Documents have the following filenames:
michaelx_krau13421852006-07-05 20:41:25 +000032 EDK II Module Development Environment Library Specification v0.50
lhauchaa0bf4f2006-04-26 17:54:57 +000033 (MDE_Library_Spec_0_50.rtf)
michaelx_krau13421852006-07-05 20:41:25 +000034 EDK II Build and Packaging Architecture Specification v0.50
lhauchaa0bf4f2006-04-26 17:54:57 +000035 (Build_Packaging_Spec_0_50.rtf)
michaelx_krau13421852006-07-05 20:41:25 +000036 EDK II Platform Configuration Database Infrastructure Description v0.51
lhauchaa0bf4f2006-04-26 17:54:57 +000037 (PCD_Infrastructure_0_51.rtf)
michaelx_krau13421852006-07-05 20:41:25 +000038 EDK II Module Surface Area v0.50
lhauchaa0bf4f2006-04-26 17:54:57 +000039 (Module_Surface_Area_0_50.rtf)
michaelx_krau13421852006-07-05 20:41:25 +000040 EDK II Module Development Environment (MDE) Package Specification v0.50
lhauchaa0bf4f2006-04-26 17:54:57 +000041 (MDE_Package_Spec_0_50.rtf)
michaelx_krau13421852006-07-05 20:41:25 +000042 EDK II C Coding Standards Specification v0.50
lhauchaa0bf4f2006-04-26 17:54:57 +000043 (C_Coding_Standards_Specification_ 0_50.rtf)
44
45Pre-Requisites
46--------------
47The following list of tools must be installed on the development workstation
wuyizhonge3f236c2006-07-06 07:22:25 +000048prior to using the Edk II.
lhauchaa0bf4f2006-04-26 17:54:57 +000049
50Compiler Tool Chain
51 Microsoft* Visual Studio .NET 2003* (http://www.microsoft.com)
52 or
bbahnsen43475442006-06-07 00:21:44 +000053 A special GCC version 4.x or later (http://gcc.gnu.org). See below.
lhauchaa0bf4f2006-04-26 17:54:57 +000054
55Assembler Tool Chain
56 Microsoft Macro Assembler, version 6.15 or later
57 or
bbahnsen8fb9e6b2006-05-03 22:45:39 +000058 GNU binutils 2.16.1 or later
lhauchaa0bf4f2006-04-26 17:54:57 +000059
60Java Development Kit ( Java 5.0 or later)
61 Sun* jdk-1.5.0_04 or later (http://java.sun.com)
62 or
63 Bea Systems* jrockit-25.2.0-jdk1.5.0_03 or later (http://www.bea.com)
64
65Java Tools
66 Apache-ANT, version 1.6.5 or later (http://ant.apache.org)
bbahnsen50518882006-05-03 18:10:56 +000067 Ant-contrib, version 1.0b2 or later
68 (http://sourceforge.net/project/showfiles.php?group_id=36177)
lhauchaa0bf4f2006-04-26 17:54:57 +000069 Saxon8, version 8.1.1
70 (http://prdownloads.sourceforge.net/saxon/saxonb8-1-1.zip?download)
71 XMLBeans, version 2.1.0 or later (http://xmlbeans.apache.org)
72
73Other Tools
74 TortoiseSVN version 1.3.3. (http://tortoisesvn.tigris.org/)
75
76Optional Tools
77--------------
78Compiler Tool Chains:
bbahnsen50518882006-05-03 18:10:56 +000079 Intel C++ Compiler for Windows, ver. 9.0 or later (http://www.intel.com)
bbahnsen8fb9e6b2006-05-03 22:45:39 +000080 Intel C Compiler for EFI Byte Code, ver. 1.2 or later
81 (http://www.intel.com/cd/software/products/asmo-na/eng/compilers/efibc/index.htm)
lhauchaa0bf4f2006-04-26 17:54:57 +000082 Microsoft Driver Development Kit, version 3790.1830 or later
bbahnsen8fb9e6b2006-05-03 22:45:39 +000083 (http://www.microsoft.com/whdc/devtools/ddk/orderddkcd.mspx)
lhauchaa0bf4f2006-04-26 17:54:57 +000084 Microsoft ACPI Source Language Assembler, Version 1.0.13NT or later
85 Intel ACPI Component Architecture, version 20060113
86
87-----------------------
88Notes On Required Tools (Source Control System)
89-----------------------
michaelx_krau13421852006-07-05 20:41:25 +000090The EDK II is being managed by the Subversion Source Control on Tianocore.org.
lhauchaa0bf4f2006-04-26 17:54:57 +000091This software package provides speed, security, and additional features. The
92recommended client is TortoiseSVN version 1.3.3.
93 (Available at http://tortoisesvn.tigris.org/)
94
95There are instructions for the use of Subversion Source Control on the
96Tianocore.org website, as part of the checkout procedures.
97
michaelx_krau13421852006-07-05 20:41:25 +000098The URL of the EDK II repository is:
lhauchaa0bf4f2006-04-26 17:54:57 +000099 https://edk2.tianocore.org/svn/edk2/trunk/edk2
100
101-----------------------
102Notes On Documentation
103-----------------------
104The documents are being managed by the Subversion Source Control on
105Tianocore.org. The document repository is "docs" and must be checked out
michaelx_krau13421852006-07-05 20:41:25 +0000106separately from the EDK II source tree. Refer to the checkout procedures on
107the Tianocore.org website for EDK II.
lhauchaa0bf4f2006-04-26 17:54:57 +0000108
109The URL of the document repository is:
110 https://edk2.tianocore.org/svn/edk2/trunk/docs
111
112
113-----------------------
114Notes On Required Tools (MS Windows environment example)
115-----------------------
116Software Installation Order:
117 After installing the compiler tools and your Subversion client, the following
118 required tools should be installed in order:
119 Java JDK, Apache-Ant, ant-contrib, xmlbeans, saxon8
120
121Java Development Kit:
122
123 The Java Environment Variable must be set before attempting to build.
124 i.e. For Sun JDK (see note below*):
125 set JAVA_HOME=c:\ Java\jdk1.5.0_06
126 i.e. For Bea Systems:
127 set JAVA_HOME=c:\Program Files\Java\jrockit-R26.0.0-jdk1.5.0_04
128
129 *When using the Sun JDK5.0
130 During installation, you should specify the install directory as C:\Java
131 instead of C:\Program Files\(or some other drive letter.) While installing
132 to this non-standard location is not required. In use, it seems to work
133 more reliably.
134 For the JDK, the install path would be C:\Java\jdk1.5.0_06
135 For the JRE, the install path would be C:\Java\jre1.5.0_06
136 Alternatively, you can specify C:\sunjavajdk and C:\sunjavajre.
lhauch01d2ed52006-04-27 15:09:06 +0000137
lhauchaa0bf4f2006-04-26 17:54:57 +0000138 NOTE: You cannot combine the location for the JDK and the JRE, as the JRE
139 install removes most of the binaries and libraries installed by the JDK
140 install.
141
142Java Tools:
143 The Apache-ANT requires the ANT_HOME environment variable to be set before
144 attempting to build:
lhauch01d2ed52006-04-27 15:09:06 +0000145 i.e. set ANT_HOME=c:\<full path to where ant was installed>
lhauchaa0bf4f2006-04-26 17:54:57 +0000146
147 The ant-contrib.jar file should be installed in the %ANT_HOME%\lib
148 directory.
149
150 The XMLBeans, requires the XMLBEANS_HOME environment variable to be set
151 before attempting to build:
lhauch01d2ed52006-04-27 15:09:06 +0000152 i.e. set XMLBEANS_HOME=C:\<full path to where xmlbeans was installed>
lhauchaa0bf4f2006-04-26 17:54:57 +0000153
154 The saxon8.jar file should be copied to the %XMLBEANS_HOME%\lib directory.
155
156 The Ant and XMLBean tools are required to be in the path.
157 MS system example:
158 set PATH=%PATH%;%ANT_HOME%\bin;%XMLBEANS_HOME%\bin
159 Linux/OS X bash shell example:
160 export PATH=$PATH:${ANT_HOME}/bin:${XMLBEANS_HOME}/bin
161
162-------------------------------------------------------------------------------
163Quick Start
164-----------
wuyizhonge3f236c2006-07-06 07:22:25 +0000165Edit the text file, target.txt, located in the Tools/Conf directory. This
166file contains the tools defintion file and ative platform. It can also restrict
167current build target(s), tagname(s) and arch(s). Uncomment the line ACTIVE_PLATFORM
168which is commented out by default.
169
170Edit the tools definition file, tools_def.txt, also located in the Tools/Conf
171directory. This file contains the names of the compiler tool chains and the
172location of the compiler binaries. It has been pre-populated with the standard
173location for the Microsoft tool chains and includes the standard location of
174the Intel C Compiler for EFI Byte Code (EBC)
lhauchaa0bf4f2006-04-26 17:54:57 +0000175
176Follow the instructions at https://edk2.tianocore.org/servlets/ProjectSource to
michaelx_krau13421852006-07-05 20:41:25 +0000177checkout the entire EDK II source tree.
lhauchaa0bf4f2006-04-26 17:54:57 +0000178
wuyizhonge3f236c2006-07-06 07:22:25 +0000179In a command window, change to the top level directory of the Edk II sources.
lhauchaa0bf4f2006-04-26 17:54:57 +0000180 Set the WORKSPACE environment variable, e.g.:
181
182 c:\> set WORKSPACE=C:\MyWork\Edk2.0
183
184To test your tool chain setup and to build the Supplied Tools, execute:
185 c:\MyWork\Edk2.0\> edksetup
186
187(This command will be referred to as the setup command throughout the rest of
188this document.)
189 NOTE: You should run the setup command at the start of every session.
190 This configures the environment to include the TianoTools and the
191 Java applications and libraries.
192
193Once this is completed, you are ready to test the Build, by executing:
wuyizhonge3f236c2006-07-06 07:22:25 +0000194 c:\MyWork\Edk2.0\> build
lhauchaa0bf4f2006-04-26 17:54:57 +0000195
wuyizhonge3f236c2006-07-06 07:22:25 +0000196This command builds active platform specified in text file target.txt. If
197active platform is not specified, go to sub-directory which contains FPD files and
198type build. More information about active platform policy reference to specification
199<<EDK II Build and Packaging Architecture Specification>>.
bbahnsen90f7b6a2006-06-22 23:19:41 +0000200
lhauchaa0bf4f2006-04-26 17:54:57 +0000201-------------------------
wuyizhonge3f236c2006-07-06 07:22:25 +0000202Individual Platform Builds
lhauchaa0bf4f2006-04-26 17:54:57 +0000203-------------------------
wuyizhonge3f236c2006-07-06 07:22:25 +0000204After running the setup command, you can build individual platforms.
205 In the command window,
206 1. Set active platform in target.txt, and type "build" in whatever directory;
207 2. or cd to the platform (FPD file) that you want to build, and just type:
208 c:\MyWork\Edk2.0\EdkNt32Pkg\> build
lhauchaa0bf4f2006-04-26 17:54:57 +0000209
wuyizhonge3f236c2006-07-06 07:22:25 +0000210 Note that active platform with the high priority to build, that means active
211 platform will be built even if exists FPD file under current directory. More
212 information about active platform policy reference to specification
213 <<EDK II Build and Packaging Architecture Specification>>.
214
215Go to <full build path>\Debug\MSFT\IA32 and execute SecMain.exe
216to run the Nt32 emulation platform under Microsoft Windows.
lhauchaa0bf4f2006-04-26 17:54:57 +0000217
lhauch03fed932006-05-24 19:51:36 +0000218To exit the Nt32 emulation platform, you may type reset at the EFI Shell>
219command prompt. Alternately, you may use the Graphical interface, Boot
220Maintenance Manager screen's Reset System command.
221
lhauchaa0bf4f2006-04-26 17:54:57 +0000222------------------------
223Individual Module Builds
224------------------------
225After running the setup command, you can build individual modules.
226 In the command window, cd to the module that you want to build, and just
227 type:
wuyizhonge3f236c2006-07-06 07:22:25 +0000228 c:\MyWork\Edk2.0\MdePkg\Library\BaseLib\> build
229
230 Note active platform must be set for individual module build.
lhauchaa0bf4f2006-04-26 17:54:57 +0000231
232-------------------------------------------------------------------------------
233A Word on Apache-ANT
234--------------------
235The Apache-ANT program is a build tool that uses XML-based project files.
236Similar to Makefiles, these project files may contain multiple targets. Most
wuyizhonge3f236c2006-07-06 07:22:25 +0000237build.xml files in Edk2.0 are auto-generated; any edits performed on the
lhauchaa0bf4f2006-04-26 17:54:57 +0000238build.xml files will be overwritten the next time ant is executed.
239
240Pre-defined targets in the build.xml files include:
241 all - This target builds binaries for defined architectures
242 clean - This target removes object files generated by commands
243 cleanall - This target removes all generated files and directories.
244
245A Word on GCC tool chain
246------------------------
wuyizhonge3f236c2006-07-06 07:22:25 +0000247EDK2 will not compile with a standard Linux gcc tool chain. While Linux
248distributions are usually based on ELF, EDK2 requires a version of gcc that is
bbahnsen43475442006-06-07 00:21:44 +0000249configured to produce PE-COFF images. You will find a script in edk2/Tools/gcc
250that will download, configure, compile, and install a gcc 4.X cross-compile
wuyizhonge3f236c2006-07-06 07:22:25 +0000251tool chain for EDK2 development. It has support for the ia32 architecture. It
bbahnsen43475442006-06-07 00:21:44 +0000252can be built and run on Cygwin, Linux, and many other POSIX compliant host
253operating environments. There are a few tools that you will need on your host
254computer in order to compile the tool chain. Among them are bash, gcc, gmake,
255curl (or wget).
lhauchaa0bf4f2006-04-26 17:54:57 +0000256
257-------------------------------------------------------------------------------
258
259General Information:
260===============================================================
261Mechanisms:
262----------
bbahnsen8fb9e6b2006-05-03 22:45:39 +0000263A brief overview:
lhauchaa0bf4f2006-04-26 17:54:57 +0000264
265A) Surface Area Package Description (SPD) file contains information about the
266modules that the package contains, including the location of all MSA files, and
267public library names and headers that might be provided by a module in the
268package. Packages are defined by SPD files. (Found in the root of the Package
269subdirectory (i.e. EdkNt32Pkg)) The SPD is further explained in the "Build
270Packaging Specification" document.
271
272B) Module Surface Area Definition (MSA) files. A description of a module's
273surface area, with all module specific default flags and features specified.
274Refer to the "Module Surface Area Architecture Specification" for additional
275details. The MSA is further explained in the "Build Packaging Specification"
276document.
277
yshi8362271d2006-07-06 10:42:42 +0000278C) Platform Configuration Database (PCD). A platform database which contains a
lhauchaa0bf4f2006-04-26 17:54:57 +0000279variety of current platform settings or directives by which a driver or
280application can interact with. The PCD is defined by the PCD_Protocol (This is
281further explained in the "Platform Configuration Database Infrastructure
282Description" document.
283
yshi8362271d2006-07-06 10:42:42 +0000284D) Library Class. A library class is a logical grouping of similar functions.
lhauchaa0bf4f2006-04-26 17:54:57 +0000285When developing components, the module surface area declares the class of
286libraries that can be used by the component. The MBD file specifies the
287instance(s) of the library that will be used during compilation/linking. All
288library type modules must include header files in their distribution package,
289as well as their surface area and module build description files. Components,
290on the other hand, need only provide the binary and build description files
291when distributing BINARY packages. The Library Classes are further explained
292in the "Build Packaging Specification" document.
293
294=========================================================================
295The common operations by developers of new modules are:
296-------------------------------------------------------
297
2981) How to manually create a new module in a package:
299 - The module source code must first be created in an appropriate directory
300 (under the package the module is to be a part of.)
301 - An MSA file must be created, spelling out all aspects of the module.
302 - The MSA must be added to the SPD for the package to include the module.
303
304-----------------------------------------
3052) Add/Remove module(s) to/from a package:
306
307 - Setup environment as Build
308 - Add a module to a package
wuyizhonge3f236c2006-07-06 07:22:25 +0000309 * Generate the module SurfaceArea description file
310 * Add a new <Filename> element under <MsaFiles> into
lhauchaa0bf4f2006-04-26 17:54:57 +0000311 <PackageDir>\<PackageName>.spd, using relative path to package
wuyizhonge3f236c2006-07-06 07:22:25 +0000312 * Add a new <ModuleSA> entry under each <FrameworkModules> into
313 <PackageDir>\<PackageName>.fpd file if necessary.
lhauchaa0bf4f2006-04-26 17:54:57 +0000314
315 - Remove a module from a package
wuyizhonge3f236c2006-07-06 07:22:25 +0000316 * Comment out or remove corresponding <Filename> element under <MsaFiles>
lhauchaa0bf4f2006-04-26 17:54:57 +0000317 from <PackageDir>\<PackageName>.spd
318 * Comment out or remove corresponding <ModuleSA> entry under each
wuyizhonge3f236c2006-07-06 07:22:25 +0000319 <FrameworkModules> from <PackageDir>\<PackageName>.fpd if necessary.
lhauchaa0bf4f2006-04-26 17:54:57 +0000320
321-----------------------------------
3223) How to manually create a package:
323 - Identify the modules that are to be members of the project.
324 - Identify the Variables and Guids required in and of the Package (including
325 consumption/production information).
326 - Create an SPD file defining these modules and calling out their MSA files.
wuyizhonge3f236c2006-07-06 07:22:25 +0000327 - add a new <Filename> element under <PackageList> into
328 Tools\Conf\FrameworkDatabase.db, using the relative path to workspace.
lhauchaa0bf4f2006-04-26 17:54:57 +0000329
330--------------------------------------
3314) Declare a new Protocol in a package:
332 - This release requires manual editing of the SPD file, adding the protocol
333 to the ProtocolDeclarations section of the file.
334 - Add the Protocol .h file to the Include\Protocol directory.
lhauch64fcaea2006-04-27 22:47:57 +0000335 - Add an <Entry> to the <ProtocolDeclarations> element in the
336 <PackageName>.spd file
lhauchaa0bf4f2006-04-26 17:54:57 +0000337 * Each line contains Protocol base name then the global variable name and
338 then the hex value of the Protocol GUID.
339
lhauch64fcaea2006-04-27 22:47:57 +0000340Example Protocol Entries (NOTE: The Guid entry is a single line in the SPD file):
341<ProtocolDeclarations>
wuyizhonge3f236c2006-07-06 07:22:25 +0000342 <Entry Name="Bds">
343 <C_Name>gEfiBdsArchProtocolGuid</C_Name>
344 <GuidValue>665E3FF6-46CC-11D4-9A38-0090273FC14D</GuidValue>
345 <HelpText/>
346 </Entry>
347 <Entry Name="Cpu">
348 <C_Name>gEfiCpuArchProtocolGuid</C_Name>
349 <GuidValue>26BACCB1-6F42-11D4-BCE7-0080C73C8881</GuidValue>
350 <HelpText/>
351 </Entry>
352</ProtocolDeclarations>
lhauchaa0bf4f2006-04-26 17:54:57 +0000353
354---------------------------------
3555) Declare a new PPI in a package:
356 - This release requires manual editing of the SPD file
357 - Add the PPI .h file to the Include\Ppi directory.
lhauch64fcaea2006-04-27 22:47:57 +0000358 - Add an <Entry> to the package <PpiDeclarations> element in the
359 <PackageName>.spd file
lhauchaa0bf4f2006-04-26 17:54:57 +0000360 * Each line contains PPI base name then the global variable name and then
361 the hex value of the PPI GUID.
362
lhauch64fcaea2006-04-27 22:47:57 +0000363Example Ppi Entries (NOTE: The Guid entry is a single line in the SPD file):
364<PpiDeclarations>
wuyizhonge3f236c2006-07-06 07:22:25 +0000365 <Entry Name="BootInRecoveryMode">
366 <C_Name>gEfiPeiBootInRecoveryModePpiGuid</C_Name>
367 <GuidValue>17EE496A-D8E4-4B9A-94D1-CE8272300850</GuidValue>
368 <HelpText/>
lhauch64fcaea2006-04-27 22:47:57 +0000369 </Entry>
wuyizhonge3f236c2006-07-06 07:22:25 +0000370 <Entry Name="CpuIo">
371 <C_Name>gEfiPeiCpuIoPpiInServiceTableGuid</C_Name>
372 <GuidValue>E6AF1F7B-FC3F-46DA-A828-A3B457A44282</GuidValue>
373 <HelpText/>
lhauch64fcaea2006-04-27 22:47:57 +0000374 </Entry>
375</PpiDeclarations>
376
lhauchaa0bf4f2006-04-26 17:54:57 +0000377----------------------------------
3786) Declare a new GUID in a package:
379 - This release requires manual editing of the SPD file to include the new
lhauch64fcaea2006-04-27 22:47:57 +0000380 Guid. This is identical to adding a ProtocolDeclaration or PpiDeclaration
381 element as described above.
lhauchaa0bf4f2006-04-26 17:54:57 +0000382
383---------------------------------------
lhauch64fcaea2006-04-27 22:47:57 +00003847) Define a new PCD entry in a package:
lhauchaa0bf4f2006-04-26 17:54:57 +0000385 - This release requires manual editing of the SPD file to include the new
lhauch64fcaea2006-04-27 22:47:57 +0000386 PCD. New Pcd entries are added to the PcdDefinitions section of the
387 <PackageName>.spd file using the following example for the format:
388 NOTE: The hex <Token> value must be unique.
389
390<PcdDefinitions>
391 <PcdEntry ItemType="FIXED_AT_BUILD">
392 <C_Name>PcdMaximumUnicodeStringLength</C_Name>
393 <Token>0x00000001</Token>
394 <DatumType>UINT32</DatumType>
395 <DefaultValue>1000000</DefaultValue>
396 </PcdEntry>
397</PcdDefinition>
lhauchaa0bf4f2006-04-26 17:54:57 +0000398
399------------------------------
4008) Declare a new Library Class:
401 - This release requires manual editing of the SPD file to include the new
lhauch64fcaea2006-04-27 22:47:57 +0000402 Library Class. New Library Class entries are added to the
403 LibraryClassDeclarations seection of the <PackageName>.spd file using
404 the following example for the format:
405
406<LibraryClassDeclarations>
wuyizhonge3f236c2006-07-06 07:22:25 +0000407 <LibraryClass Name="BaseLib">
lhauch64fcaea2006-04-27 22:47:57 +0000408 <IncludeHeader>Include/Library/BaseLib.h</IncludeHeader>
wuyizhonge3f236c2006-07-06 07:22:25 +0000409 <HelpText/>
410 </LibraryClass>
411 <LibraryClass Name="BaseMemoryLib">
412 <IncludeHeader>Include/Library/BaseMemoryLib.h</IncludeHeader>
413 <HelpText/>
414 </LibraryClass>
lhauch64fcaea2006-04-27 22:47:57 +0000415</LibraryClassDeclarations>
lhauchaa0bf4f2006-04-26 17:54:57 +0000416
lhauchaa0bf4f2006-04-26 17:54:57 +0000417=======================================================
418Notes:
419------
michaelx_krau13421852006-07-05 20:41:25 +0000420The EDK II represents significant changes in the structure of the EDK.
lhauchaa0bf4f2006-04-26 17:54:57 +0000421Therefore it is very difficult to isolate all of the changes of this version of
422the EDK with the previous (EDK 1.0) version.
423
424Of particular note:
425
michaelx_krau13421852006-07-05 20:41:25 +00004261) EDK II contains new hardware feature support for the ICH SMBUS Libraries.
lhauchaa0bf4f2006-04-26 17:54:57 +0000427 These libraries are provided to make Memory Reference Code (MRC) development
428 easier.
bbahnsen1465cc82006-05-02 15:57:28 +00004292) The MDE Libraries - The MDE libraries represent significant changes in source
lhauchaa0bf4f2006-04-26 17:54:57 +0000430 (with only limited changes in functionality.) These new libraries conform
431 to the "MDE Library Specification".
4323) The Fat Binary and the EDK Shell Binary Packages are functionally identical
433 to the EDK 1.0 version.
4344) The EDK tools directory has been expanded to include more tools and more
435 tool functionality.
4365) The EDK NT32 section has been ported to the new build process, but
437 functionally remains the same as the EDK 1.0 version.
michaelx_krau13421852006-07-05 20:41:25 +00004386) The Application "HelloWorld" has been ported to EDK II as well.
lhauchaa0bf4f2006-04-26 17:54:57 +0000439
440=======================================================
441Virus scanned by McAfee VirusScan Enterprise 8.0.0, Virus Definitions 4718, no
442virus detected.
443