1 ##########################################################################################
2 !!!!!!!!!!!!!!!!! Notes for this ChangeLog.txt !!!!!!!!!!!!!!!!!
4 This log file is used to record two kinds of important information:
5 a) "Non-Compatible Changes": all non-compatible changes should be recorded. These info
6 will help the package user to merge this package; and some non-compatible changes
7 can also be added into release notes as news features when we release this package.
8 Normally Non-Compatible Changes contains the following types:
9 1) Package's external services were changed/updated
10 2) Package's common .h file is renamed, deleted, or the file path is changed.
11 3) The definition of package's common data structure is changed
14 b) "Important Compatible Changes": some important compatible changes can aslo be recorded
15 in this file, and we can add these updating into release notes when we release this
18 Non-Compatible and Compatible example format:
19 ==========================================================================================
20 EDK_0010: Non-Compatible: owner
22 Class_HFile: PPI A of MdePkg has been removed.
25 1) Removed the .h file: MdePkg\Include\Ppi\A.h
28 1) All modules that used this PPI A should be updated.
30 ==========================================================================================
31 EDK_0000: Compatible: owner
33 Class_BuildTool: with the EDK_0000 build.exe, the build performance is enhanced great.
36 1) BaseTools\Bin\Win32\build.exe
38 !!!!!!!!!!!!!!!!!! End of Notes !!!!!!!!!!!!!!!!!!
40 ##########################################################################################
42 ##########################################################################################
43 ########## Revision number of tools source code ##########
44 BaseTools/Bin/Win32/build.exe
45 r1396 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Autogen
46 r1396 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/build
47 r1396 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Common
48 r1396 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/CommonDataClass
49 r1396 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/GenFds
50 r1396 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Workspace
52 BaseTools/Bin/Win32/GenFds.exe
53 r1396 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Common
54 r1396 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/CommonDataClass
55 r1396 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/GenFds
56 r1396 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Workspace
58 BaseTools/Bin/Win32/GenDepex.exe
59 r1383 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/AutoGen
60 r1383 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Common
62 BaseTools/Bin/Win32/Trim.exe
63 r1383 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Trim
64 r1383 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Common
66 BaseTools/Bin/Win32/MigrationMsa2Inf.exe
67 r843 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/MigrationMsa2Inf
68 r843 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Common
70 BaseTools/Bin/Win32/TargetTool.exe
71 r843 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/TargetTool
72 r843 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Common
74 BaseTools/Bin/Win32/Spd2Dec.exe
75 r777 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/spd2dec
77 BaseTools/Bin/Win32/Fpd2Dsc.exe
78 r767 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/fpd2dsc
80 ==========================================================================================
81 EDK_6930: Non-Compatible: jwang36
84 1) Separate the AutoGen code for PCDs between module and its library instances.
85 Only macros for module's PCDs will be put in AutoGen.h. Others will be put
86 in AutoGen.c. This is intended to catch missed PCDs in inf file more easily.
87 2) For better compatibile between C standards or C compiler, add type cast for
88 PCD constants in AutoGen.h according to the PCD datum type.
89 3) Add incremental generation capability for FV in GenFds tool.
92 1) /trunk/edk2/BaseTools/Bin/Win32/build.exe
93 2) /trunk/edk2/BaseTools/Bin/Win32/GenFds.exe
96 1) If there're PCDs used in a module but not declared in the module's inf file,
97 and occasionally they are declared in the library instances, there must be
98 a build break. Adding necessary PCDs declarations in the module's inf file
101 ==========================================================================================
102 EDK_6828: Compatible: jwang36
105 1) Add a feature to allow override tools option via "==" in metafile.
106 2) Remove the AutoGen.c generation for R8 module without unicode file.
110 1) /trunk/edk2/BaseTools/Bin/Win32/build.exe
112 ==========================================================================================
113 EDK_6772: Non-Compatible: jwang36
116 1) Add /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT) in EBC_CC_FLAGS to ensure
117 correct R8's module entry point for EBC arch.
120 1) /trunk/edk2/BaseTools/Conf/tools_def.template
123 The local version of tools_def.txt must be updated with the change in
126 ==========================================================================================
127 EDK_6762: Non-Compatible: lgao4
130 1) Declare entry point, constructor into AutoGen.h
131 2) Create <ModuleName>StrDefs.h to contain uni code string ID.
135 1) /trunk/edk2/BaseTools/Bin/Win32/build.exe
136 2) /trunk/edk2/BaseTools/Conf/tools_def.template
139 The local version of tools_def.txt must be updated with change in
142 ==========================================================================================
143 EDK_6671: Compatible: qwang12
146 1) StrGather (Build.exe) in compatible mode add a Framework Package Header
147 to replace the original ¡°ArrayLength¡± generated in the output.
148 2) VfrCompiler in compatible mode add a Framework Package Header to replace
149 the original ¡°ArrayLength¡± generated in the output.
152 1) /trunk/edk2/BaseTools/Bin/Win32/VfrCompile.exe
153 2) /trunk/edk2/BaseTools/Bin/Win32/build.exe
156 ==========================================================================================
157 EDK_6666: Compatible: lgao4
160 1) Enhance GenFv WriteFvMap function to print basic debug information
161 (entrypoint, baseaddress, .text, .data section base address) when no
163 2) Enhance GenFv tool to create the non PI file system firmware volume.
165 - Set the first framework var store name to ¡°Setup¡±
166 - Support DEFAULT and MANUFACTURING for framework CheckBox flags value
169 /trunk/edk2/BaseTools/Bin/Win32/GenFv.exe
170 /trunk/edk2/BaseTools/Bin/Win32/VfrCompile.exe
172 ==========================================================================================
173 EDK_6640: Compatible: jwang36
176 1) Change file line format of AutoGen files to native style.
179 1) /trunk/edk2/BaseTools/Bin/Win32/build.exe
181 ==========================================================================================
182 EDK_6613: Non-Compatible: qwang12
185 1) Generate data for ConfigAccess.ExtractConfig() impl
188 1) /trunk/edk2/BaseTools/Bin/Win32/VfrCompile.exe
190 ==========================================================================================
191 EDK_6490: Compatible: jwang36
194 1) Add ImportTool.bat script
195 2) Add more error check for Trim.exe
199 1) /trunk/edk2/BaseTools/Bin/Win32/ImportTool.bat
200 2) /trunk/edk2/BaseTools/Bin/Win32/Trim.exe
202 ==========================================================================================
203 EDK_6452: Compatible: jwang36
206 1) Allow the flags of tools not defined tools_def.txt
207 2) Add BUILD as internal tool to pass compatible mode of unicode to build tool.
208 3) Add support of [Depex.common.<ModuleType>] in inf file
209 4) Add more optimization, especially for architecture protocols, in GeDepex tool
210 5) Fix the generation of _gPeimRevision and _gDxeRevision global variables in
211 AutoGen.c according to new MdePkg spec.
212 6) Change the header file of DxeSmmeEntryPoint.h to UefiDriverEntryPoint.h
213 in AutoGen.c since it's no longer exist.
214 7) Fix $(PROCESSOR) macro replacement issue in [nmake] section
217 /trunk/edk2/BaseTools/Bin/Win32/GenDepex.exe
218 /trunk/edk2/BaseTools/Bin/Win32/GenFds.exe
219 /trunk/edk2/BaseTools/Bin/Win32/build.exe
221 ==========================================================================================
222 EDK_6289: Compatible: jwang36
225 1) Performance improvement on startup of build.exe
228 1) /trunk/edk2/BaseTools/Bin/Win32/GenFds.exe
229 2) /trunk/edk2/BaseTools/Bin/Win32/build.exe
231 ==========================================================================================
232 EDK_6269: Compatible: jwang36
236 2) Improve the screen output when in quiet build mode
237 3) Add "tbuild" target in makefile in order to not created directories in
238 makefile. Instead, they will be created in build tool. This will give
239 better build performance, especially in incremental build.
240 4) Add space check in WORKSPACE and OUTPUT_DIRECTORY (in dsc file) directory
241 name and give error message if found.
244 1) /trunk/edk2/BaseTools/Bin/Win32/build.exe
246 ==========================================================================================
247 EDK_5762: Compatible: jlin16
250 1) Enhance the tool to build R8 module via ECP.
253 1) /trunk/edk2/BaseTools/Bin/Win32/GenFds.exe
254 2) /trunk/edk2/BaseTools/Bin/Win32/build.exe
256 ==========================================================================================
257 EDK_5635: Compatible: lgao4
260 1) Enhance GenFv tool to print Fv Size and Length, and Get module map by
261 module pdb pointer and get module guid by module FFS guid.
262 2) And Enhance VfrCompiler to handle framework vfr file, and print more
263 debug information into .lst file.
266 1) /trunk/edk2/BaseTools/Bin/Win32/GenFv.exe
267 2) /trunk/edk2/BaseTools/Bin/Win32/VfrCompile.exe
269 ==========================================================================================
270 EDK_5634: Non-Compatible: jwang36
273 1) Enhance the format of build_rule.txt to allow module type and arch information.
274 2) Enhance Trim to convert ASL style of include to C style of include
275 3) Enhance Trim to convert some EDK coding convention to EDK2 ECP convention
276 4) Add warning message when encountering unrecognized content in DSC/DEC/INF File
277 5) Enhance the GenDepex to ignore everything outside DEPENDENCY_STANT and DEPENDENCY_END in dxs file
280 /trunk/edk2/BaseTools/Bin/Win32/GenDepex.exe
281 /trunk/edk2/BaseTools/Bin/Win32/Trim.exe
282 /trunk/edk2/BaseTools/Bin/Win32/build.exe
283 /trunk/edk2/BaseTools/Conf/build_rule.template
284 /trunk/edk2/BaseTools/Conf/tools_def.template
287 The local version tools_def.txt and build_rule.txt must be updated with
288 the changes in tools_def.template and build_rule.template respectively.
290 ==========================================================================================
291 EDK_5193: Compatible: jwang36
294 1) Add incremental support in GenFds
297 /trunk/edk2/BaseTools/Bin/Win32/GenFds.exe
298 /trunk/edk2/BaseTools/Bin/Win32/build.exe
300 ==========================================================================================
301 EDK_5186: Compatible: jwang36
304 1) Add explicit banner for pass/fail indication of build
305 2) Fix the issue which cause error message from FDF parser won't be printed out.
306 3) Fix the error message format of FDF parser
307 4) Change the exit code of build tool from always 1 to error code, if error occurred
310 /trunk/edk2/BaseTools/Bin/Win32/GenFds.exe
311 /trunk/edk2/BaseTools/Bin/Win32/build.exe
313 ==========================================================================================
314 EDK_4971: Compatible: lgao4
317 1) Enhance GenFw tool to always zero .pdata section for PE32 and PE32+ image in
318 order to improve compression ratio for them.
321 /trunk/edk2/BaseTools/Bin/Win32/GenFw.exe
323 ==========================================================================================
324 EDK_4918: Compatible: lgao4
327 1) Correct Error Message format for these C tools according to the Tool Design Spec.
330 /trunk/edk2/BaseTools/Bin/Win32/EfiLdrImage.exe
331 /trunk/edk2/BaseTools/Bin/Win32/GenFv.exe
332 /trunk/edk2/BaseTools/Bin/Win32/TianoCompress.exe
333 /trunk/edk2/BaseTools/Bin/Win32/VfrCompile.exe
334 /trunk/edk2/BaseTools/Bin/Win32/VolInfo.exe
336 ==========================================================================================
337 EDK_4859: Non-Compatible: jwang36
340 1) Changed VfrCompile.exe to be UEFI HII compatible
341 2) Improved R8 module build
342 3) Added binary file build
343 4) Removed "extern int __make_me_compile_correctly" in AutoGen code for
344 R9 modules, but kept for R8 modules
345 5) Enfored more error check and introduced a optimization for GenDepex
346 6) Added BUILD_RULE_CONF in target.txt to specify build rules file
347 7) Rebuilt all Python tools with Python2.5.2
358 1) All EFI code needs to be UEFI HII compatible.
359 2) Conf/target.txt needs to be replaced by new target.template
361 ==========================================================================================
362 EDK_4251: Non-Compatible: jwang36
365 1) Changed MYTOOLS to use Visual Studio Team Suite for IA32 and X64. IPF is still use WINDKK.
366 2) Re-generated build.exe and GenFds.exe to incorporate new changes of build tools
367 3) Enabled multi-thread build mode by default (can be disabled by using "-n 0" option or changing
368 MULTIPLE_THREAD in target.txt to Disabled)
369 4) Fixed an incorrect command (no leading tab/space) generated in top level Makefile.
372 1) BaseTools/Bin/Win32/GenFds.exe
373 2) BaseTools/Bin/Win32/build.exe
374 3) BaseTools/Conf/target.template
375 4) BaseTools/Conf/tools_def.template
378 1) Install Visual Studio 2005 Team Suite Edition.
380 ==========================================================================================
381 EDK_4190: Non-Compatible: jwang36
384 1) Added support of using PCD default value from DEC/INF file if one
385 PCD is declared in INF file but not found in DSC file.
386 2) Added support of breaking build if no library instance is found for
390 1) BaseTools/Bin/Win32/build.exe
391 2) BaseTools/Bin/Win32/GenFds.exe
394 1) All packages/platforms/modules, which have wrong library classes
395 declared or have no library instance for some library classes, must be
396 changed to make sure each library class declared in INF file has
397 corresponding library instance.
399 ==========================================================================================
400 EDK_4096: Non-Compatible: jwang36
403 1) Removed the calling of vsvars32.bat in edksetup.bat, unless
404 "--nt32" switch is used.
405 2) Added MAKE command in tools_def.txt. This is used to locate where
406 the nmake.exe or make.exe is because it will not be in PATH any more.
407 3) Removed the calling of vsvars32.bat in toolsetup.bat.
408 4) Solved the hang issue of build.exe when error occurred or Ctrl+C is
410 5) Passed "-v/-d/-q" command line option to GenFds.exe in makefile if
411 it's used by build.exe.
414 1) BaseTools/Bin/Win32/build.exe
415 2) BaseTools/Bin/Win32/GenFds.exe
416 3) BaseTools/Conf/tools_def.template
417 4) BaseTools/toolsetup.bat
421 1) Nt32Pkg build needs to run vsvars32.bat before edksetup.bat or run
422 edksetup.bat with "--nt32" option, like
424 edksetup.bat --nt32 newbuild
426 2) $(WORKSPACE)/Conf/tools_def.txt must be deleted before running
427 edksetup.bat because of new tools_def.template. Otherwise the
428 build.exe cannot find the nmake.exe to call.
430 ==========================================================================================
431 EDK_3947: Compatible: jwang36
434 1) Improved spawn mode (multi-thread) build performance (build -s)
435 2) Changed the error/debug/warning message format
436 3) Added "--log" command line option to support storing log in file
439 1) BaseTools/Bin/Win32/build.exe
442 ==========================================================================================
443 EDK_3936: Compatible: klu2
446 1) The first parameter of PEIM's entry point in autogen.c has been changed to
450 1) BaseTools/Bin/Win32/build.exe
452 ==========================================================================================
453 EDK_3926: Compatible: jlin16
456 1) Added support of Capsule generation from FDF file.
459 1) BaseTools/Bin/Win32/build.exe
460 2) BaseTools/Bin/Win32/GenFds.exe
463 1) To generate capsule, insert [Capsule] section after [FV] sections and specifying
464 what FV will be put into capsule, For example:
466 CAPSULE_GUID = 3B6686BD-0D76-4030-B70E-B5519E2FC5A0
467 CAPSULE_FLAG = PersistAcrossReset
470 ==========================================================================================
471 EDK_3911: Compatible: jlin16
474 1) Added support of Apriori file generation from FDF file.
475 2) Added support of INF that describes binary files to put binary into FV.
476 3) Fixed single FV/FD generation error when specifying -i/-r option in GenFds.
480 1) BaseTools/Bin/Win32/build.exe
481 2) BaseTools/Bin/Win32/GenFds.exe
484 1) To generate Apriori file in FV, insert APRIORI statement just before the INF or
485 FILE statement list of the FV, For example:
487 INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
488 FILE PEIM = B7A5041A-78BA-49e3-B73B-54C757811FB6 {
489 SECTION PE32 = MyBinPkg\bin\ia32\PeimAfterPcd.efi
491 INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf
493 2) To add binary file described by INF file into FV, only insert the INF statement
494 into the INF statements list of that FV, like this:
496 INF RuleOverride=Test MdeModulePkg/Logo/Logo.inf
498 Specifying how to process the binary file by defining corresponding Rule like this:
499 [Rule.Common.Base.Test]
500 FILE FREEFORM = $(NAMED_GUID) {
508 ==========================================================================================
509 EDK_3832: Non-Compatible: jwang36
512 1) Added support of MACRO in tools_def.txt
513 2) Merged PATH and NAME attributes in tools_def.txt
514 3) Changed DPATH attribute to DLL in tools_def.txt
515 4) Removed SPATH attribute in tools_def.txt
516 5) Added support for library instance without library class
517 6) Fixed the issue in Trim tool which zero file will be generated if the trimmed
518 file has not line directive
521 1) BaseTools/Bin/Win32/build.exe
522 2) BaseTools/Bin/Win32/GenFds.exe
523 3) BaseTools/Bin/Win32/Trim.exe
524 4) BaseTools/Conf/tools_def.template
527 1) All platforms and modules build
529 ==========================================================================================
530 EDK_3801: Compatible: jwang36
532 Class_BuildConfiguration: Added makefile as dependency for "Dynamic-Library-File" to
533 solve the incremental build issue occurred when there's library changes
536 1) BaseTools/Conf/build_rule.template
538 ==========================================================================================
539 EDK_3800: Compatible: lgao4
541 Class_BuildTool: Update EfiRom tool to fix checksum and PCI3.0 data structure
544 1) BaseTools/Bin/Win32/EfiRom.exe
546 ==========================================================================================
547 EDK_3795: Compatible: htao
549 Class_BuildTool: GenVtf tool open/write file with "r+b"/"w+b" attribute, but this cause
550 the RO attribute of the file changed. Fix this issue by changing
551 "r+b"/"w+b" to "rb"/"wb".
554 1) BaseTools/Bin/Win32/GenVtf.exe
556 ==========================================================================================
557 EDK_3791: Compatible: jlin16
560 1) use '#' to indicate flash generation progress.
561 2) use -v to switch on detail output messages.
564 1) BaseTools/Bin/Win32/GenFds.exe
566 ==========================================================================================
567 EDK_3789: Non-Compatible: lgao4
569 Class_BuildTool: support new Rules format and PCD format defined in FDF file
572 1) BaseTools/Bin/Win32/build.exe
573 2) BaseTools/Bin/Win32/GenFds.exe
576 1) All platform's FDF file, if any, must be changed to new format.
577 a) PCD format is changed from old PcdName to new PcdTokenSpaceGuid.PcdName,
578 for example PcdWinNtFdBaseAddress in old FDF file will be replaced
579 by gEfiNt32PkgTokenSpaceGuid.PcdWinNtFdBaseAddres.
580 b) Rule format adds binary file type and file postfix name support,
581 and doesn't require the full file path. Examples for Peim and AcpiTable module:
584 FILE PEIM = $(NAMED_GUID) {
585 PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).Depex
586 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
587 UI Optional $(MODULE_NAME)
588 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)
592 FILE PEIM = $(NAMED_GUID) {
593 PEI_DEPEX PEI_DEPEX Optional |.Depex
595 UI STRING="$(MODULE_NAME)" Optional
596 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
600 [Rule.Common.DXE_DRIVER.ACPITABLE]
601 FILE FREEFORM = $(NAMED_GUID) {
602 RAW $(INF_OUTPUT)/Madt.acpi
603 RAW $(INF_OUTPUT)/Fadt.acpi
604 RAW $(INF_OUTPUT)/Facs.acpi
605 RAW $(INF_OUTPUT)/Spcr.acpi
606 RAW $(INF_OUTPUT)/Dsdt.aml
609 [Rule.Common.DXE_DRIVER.ACPITABLE]
610 FILE FREEFORM = $(NAMED_GUID) {
615 ==========================================================================================
616 EDK_3786: Compatible: vjeff
618 Class_BuildConfiguration:
619 1) Redirect ICC_IA32_*_PATH from C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin
620 to C:\Program Files\Intel\Compiler\C++\9.1\IA32\Bin.
621 2) Add ICC X64 definition to enable ICC X64 build.
624 1) BaseTools/Conf/tools_def.template
626 ==========================================================================================
627 EDK_3785: Non-Compatible: klu2
629 Class_BuildTool: Upgrade the format of EFI_PEIM_ENTRY_POINT to
630 EFI_PEIM_ENTRY_POINT2 according to PI specification.
634 1) BaseTools/Bin/Win32/build.exe
640 ==========================================================================================
641 EDK_3780: Non-Compatible: qhuang8
643 Class_MigrationTool: Update the syntax of PCD section.
644 Update the syntax of binary INF file
645 The generated Extended INF file should follow Extended INF spec 0.44
648 1) BaseTools/Bin/Win32/MigrationMsa2Inf.exe
651 1) New module migrated from old R9
654 ==========================================================================================
655 EDK_3766: Non-Compatible: lgao4
657 Class_BuildConfiguration: Update Acpi Asl file Build rule to remove trim step.
660 1) Conf/build_rule.template
663 1) Platform with ACPI module. Acpi module needs to set /EP preprocessor compiler option
664 for APP_FLAGS in module inf to override the default /E option defined in tools_def.txt file.