########################################################################################## !!!!!!!!!!!!!!!!! Notes for this ChangeLog.txt !!!!!!!!!!!!!!!!! This log file is used to record two kinds of important information: a) "Non-Compatible Changes": all non-compatible changes should be recorded. These info will help the package user to merge this package; and some non-compatible changes can also be added into release notes as news features when we release this package. Normally Non-Compatible Changes contains the following types: 1) Package's external services were changed/updated 2) Package's common .h file is renamed, deleted, or the file path is changed. 3) The definition of package's common data structure is changed ... b) "Important Compatible Changes": some important compatible changes can aslo be recorded in this file, and we can add these updating into release notes when we release this package. Non-Compatible and Compatible example format: ========================================================================================== EDK_0010: Non-Compatible: owner Class_HFile: PPI A of MdePkg has been removed. Code Change : 1) Removed the .h file: MdePkg\Include\Ppi\A.h Possible Impacts: 1) All modules that used this PPI A should be updated. ========================================================================================== EDK_0000: Compatible: owner Class_BuildTool: with the EDK_0000 build.exe, the build performance is enhanced great. Code Change : 1) BaseTools\Bin\Win32\build.exe !!!!!!!!!!!!!!!!!! End of Notes !!!!!!!!!!!!!!!!!! ########################################################################################## ========================================================================================== basetools_1400: Non-Compatible: jwang36 Class_BuildTool: 1) Search value of Guid/Protocol/PPI in inf file only in the same category in dec file. 2) Pass all files in a module's directory to StrGather for R8 modules. Code Change : /trunk/BaseTools/Source/Python/AutoGen/GenC.py /trunk/BaseTools/Source/Python/Common/Misc.py /trunk/BaseTools/Source/Python/Workspace/MetaFileParser.py /trunk/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py Possible Impacts: 1) Those inf files in which the PPI/Protocol/Guid are put in incorrect section will encounter build break. ========================================================================================== basetools_1396: Non-Compatible: jwang36 Class_BuildTool: 1) Separate the AutoGen code for PCDs between module and its library instances. Only macros for module's PCDs will be put in AutoGen.h. Others will be put in AutoGen.c. This is intended to catch missed PCDs in inf file more easily. 2) For better compatibile between C standards or C compiler, add type cast for PCD constants in AutoGen.h according to the PCD datum type. 3) Add incremental generation capability for FV in GenFds tool. Code Change : /trunk/BaseTools/Source/Python/AutoGen/AutoGen.py /trunk/BaseTools/Source/Python/AutoGen/GenC.py /trunk/BaseTools/Source/Python/Common/Misc.py /trunk/BaseTools/Source/Python/GenFds/FdfParser.py /trunk/BaseTools/Source/Python/GenFds/Fv.py /trunk/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py Possible Impacts: 1) If there're PCDs used in a module but not declared in the module's inf file, and occasionally they are declared in the library instances, there must be a build break. Adding necessary PCDs declarations in the module's inf file will solve it. ========================================================================================== basetools_1381: Compatible: jwang36 Class_BuildTool: 1) Add a feature to allow override tools option via "==" in metafile. 2) Remove the AutoGen.c generation for R8 module. Code Change : /trunk/BaseTools/Source/Python/AutoGen/AutoGen.py /trunk/BaseTools/Source/Python/AutoGen/GenC.py ========================================================================================== basetools_1378: Compatible: jwang36 Class_BuildTool: 1) Solve issue in R8 module build for EBC Code Change : /trunk/BaseTools/Source/Python/AutoGen/GenMake.py Possible Impacts: The EBC CC flags in tools_def.txt must be updated with /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT) ========================================================================================== basetools_1377: Compatible: jwang36 Class_BuildTool: 1) Change PEI core prototype 2) Add the generation of $(MODULE_NAME)StrDefs.h and removed the copy command from AutoGen.h in makefile Code Change : /trunk/BaseTools/Source/Python/AutoGen/AutoGen.py /trunk/BaseTools/Source/Python/AutoGen/GenC.py /trunk/BaseTools/Source/Python/AutoGen/GenMake.py Possible Impacts: The VFRPP flags in tools_def.txt must be updated with /FI$(MODULE_NAME)StrDefs.h ========================================================================================== basetools_1375: Compatible: jwang36 Class_BuildTool: 1) Move function prototypes generated in AutoGen.c to AutoGen.h Code Change : /trunk/BaseTools/Source/Python/AutoGen/GenC.py ========================================================================================== basetools_1373: Compatible: klu2 Class_BuildTool: 1) Use "GLOBAL_REMOVE_IF_UNREFERENCED volatile" for variable of binary patch PCD. Code Change : /trunk/BaseTools/Source/Python/AutoGen/GenC.py ========================================================================================== basetools_1366: Compatible: lgao4 Class_BuildTool: 1) Set the first framework var store name to ˇ°Setupˇ± 2) Support DEFAULT and MANUFACTURING for framework CheckBox flags value Code Change : /trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g ========================================================================================== basetools_1361: Compatible: jwang36 Class_VfrCompile: 1) Merge bug fixes and new features from EDK-I Code Change : /trunk/BaseTools/Source/C/VfrCompile/VfrError.cpp /trunk/BaseTools/Source/C/VfrCompile/VfrError.h /trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp /trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g /trunk/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp Possible Impacts: The HII related code must be updated to support the new features. ========================================================================================== basetools_1360: Compatible: mdkinney Class_GenFv: 1) Update GenFv to support SEC built with X64 tools Code Change : /trunk/BaseTools/Source/C/GenFv/GenFvInternalLib.c ========================================================================================== basetools_1347: Compatible: jwang36 Class_build: 1) Allow flags of tools not defined tools_def.txt 2) Add BUILD as internal tool to pass compatible mode of unicode to build tool. 3) Add support of [Depex.common.] in inf file 4) Add more optimization, especially for architecture protocols, in GeDepex tool 5) Fix the generation of _gPeimRevision and _gDxeRevision global variables in AutoGen.c according to new MdePkg spec. 6) Change the header file of DxeSmmeEntryPoint.h to UefiDriverEntryPoint.h in AutoGen.c since it's no longer exist. Code Change : /trunk/BaseTools/Source/Python/AutoGen/AutoGen.py /trunk/BaseTools/Source/Python/AutoGen/GenC.py /trunk/BaseTools/Source/Python/AutoGen/GenDepex.py /trunk/BaseTools/Source/Python/AutoGen/GenMake.py /trunk/BaseTools/Source/Python/Common/DataType.py /trunk/BaseTools/Source/Python/Workspace/BuildClassObject.py /trunk/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py /trunk/BaseTools/Source/Python/build/build.py ========================================================================================== basetools_1337: Compatible: jwang36 Class_build: 1) Improve the build performance by cache the file whose name will be validated Code Change : /trunk/BaseTools/Source/Python/Common/GlobalData.py /trunk/BaseTools/Source/Python/Common/Misc.py /trunk/BaseTools/Source/Python/GenFds/GenFds.py /trunk/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py /trunk/BaseTools/Source/Python/build/build.py ========================================================================================== basetools_1326: Compatible: hche10x Class_build: 1) Add EcpSource support in EDK-I code 2) Use warning instead of error for not found include .h files in .inf files in EDK-I code 3) Fix some bugs Code Change : /trunk/BaseTools/Source/Python/Common/GlobalData.py /trunk/BaseTools/Source/Python/Workspace/MetaFileParser.py /trunk/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py /trunk/BaseTools/Source/Python/build/build.py ========================================================================================== basetools_1318: Compatible: jlin16 Class_build, Class_GenFds: 1) R9 Build & GenFds ECP support initial check in. Code Change : /trunk/BaseTools/Source/Python/AutoGen/AutoGen.py /trunk/BaseTools/Source/Python/AutoGen/BuildEngine.py /trunk/BaseTools/Source/Python/AutoGen/GenC.py /trunk/BaseTools/Source/Python/AutoGen/GenMake.py /trunk/BaseTools/Source/Python/Common/DataType.py /trunk/BaseTools/Source/Python/Common/GlobalData.py /trunk/BaseTools/Source/Python/Common/Misc.py /trunk/BaseTools/Source/Python/Common/String.py /trunk/BaseTools/Source/Python/CommonDataClass/DataClass.py /trunk/BaseTools/Source/Python/CommonDataClass/ModuleClass.py /trunk/BaseTools/Source/Python/CommonDataClass/PlatformClass.py /trunk/BaseTools/Source/Python/GenFds/FdfParser.py /trunk/BaseTools/Source/Python/GenFds/FfsInfStatement.py /trunk/BaseTools/Source/Python/GenFds/GenFds.py /trunk/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py /trunk/BaseTools/Source/Python/Workspace/BuildClassObject.py /trunk/BaseTools/Source/Python/Workspace/MetaFileParser.py /trunk/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py /trunk/BaseTools/Source/Python/build/build.py ========================================================================================== basetools_1307: Compatible: jlin16 Class_GenFds: 1) Update Fdf parser to make raw acpi and asl section could be optional; 2) Update section generation to search build output files in directory and all sub-directory. Code Change : /trunk/BaseTools/Source/Python/GenFds/FdfParser.py /trunk/BaseTools/Source/Python/GenFds/Section.py ========================================================================================== basetools_1302: Compatible: lgao4 Class_VfrCompile: 1) Enhance VfrCompiler to handle framework vfr file, and print more debug information into .lst file. Code Change : /trunk/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp /trunk/BaseTools/Source/C/VfrCompile/VfrCompiler.h /trunk/BaseTools/Source/C/VfrCompile/VfrError.cpp /trunk/BaseTools/Source/C/VfrCompile/VfrError.h /trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp /trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.h /trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g /trunk/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp /trunk/BaseTools/Source/C/VfrCompile/VfrUtilityLib.h ========================================================================================== basetools_1300: Compatible: jwang36 Class_build: 1) Enhance the format of build_rule.txt to allow module type and arch information. 2) Enhance Trim to convert ASL style of include to C style of include 3) Enhance Trim to convert some EDK coding convention to EDK2 ECP convention 4) Add warning message when encountering unrecognized content in DSC/DEC/INF File Code Change : /trunk/BaseTools/Source/Python/AutoGen/AutoGen.py /trunk/BaseTools/Source/Python/AutoGen/BuildEngine.py /trunk/BaseTools/Source/Python/AutoGen/GenMake.py /trunk/BaseTools/Source/Python/Common/Misc.py /trunk/BaseTools/Source/Python/Trim/Trim.py /trunk/BaseTools/Source/Python/Workspace/MetaFileParser.py /trunk/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py /trunk/BaseTools/Source/Python/build/build.py ========================================================================================== basetools_1298: Compatible: lgao4 Class_GenFv, Class_VfrCompile: 1) Enhance GenFv tool to print Fv Size and Length, and Get module map by module pdb pointer and get module guid by module FFS guid. Code Change : /trunk/BaseTools/Source/C/Common/BasePeCoff.c /trunk/BaseTools/Source/C/Common/PeCoffLib.h /trunk/BaseTools/Source/C/GenFv/GenFv.c /trunk/BaseTools/Source/C/GenFv/GenFvInternalLib.c /trunk/BaseTools/Source/C/GenFv/GenFvInternalLib.h /trunk/BaseTools/Source/C/Include/Common/MdeModuleHii.h /trunk/BaseTools/Source/C/VfrCompile/Makefile ========================================================================================== basetools_1297: Compatible: jlin16 Class_GenFds: 1) Aadd feature of displaying FV space information. Code Change : /trunk/BaseTools/Source/Python/GenFds/Fv.py /trunk/BaseTools/Source/Python/GenFds/GenFds.py ========================================================================================== basetools_1295: Compatible: jwang36 Class_Trim: 1) Add '-a' and '--asl-file' options to convert asl include style to c include style. Code Change : /trunk/BaseTools/Source/Python/Trim/Trim.py ========================================================================================== basetools_1270: Non-Compatible: jwang36 Class_ManPage: 1) Remove manual of AutoGen since it is no longer a standalone tool Code Change : /trunk/BaseTools/UserManuals/AutoGen_Utility_Man_Page.rtf ========================================================================================== basetools_1268: Compatible: jlin16 Class_ECC: 1) Enalbe all features of ECC Code Change : /trunk/BaseTools/Source/Python/Ecc/config.ini ========================================================================================== basetools_1200: Compatible: jwang36 Class_BuildTool: 1) Add explicit banner to indicate pass/fail of build 2) Change the exit code of build tool from always 1 to be error code, if error occurred 3) Bug fixes Code Change : /trunk/BaseTools/Source/Python/Common/BuildToolError.py /trunk/BaseTools/Source/Python/Common/EdkLogger.py /trunk/BaseTools/Source/Python/GenFds/FdfParser.py /trunk/BaseTools/Source/Python/GenFds/GenFds.py /trunk/BaseTools/Source/Python/build/build.py ========================================================================================== basetools_1175: Compatible: lgao4 Class_GenSec, Class_GenFfs, Class_GenFv: 1) GenSec tool only updates output file when the contents of the output file are modified. 2) GenFfs tool checks the Pe/Te section for PEI and DXE file type. If Pe section doesn't exist, GenFfs tool will report error. 3) GenFv tool also output the relative address of function to fv map file for developer reference. Code Change : /trunk/BaseTools/Source/C/GenFfs/GenFfs.c /trunk/BaseTools/Source/C/GenFv/GenFvInternalLib.c /trunk/BaseTools/Source/C/GenSec/GenSec.c ========================================================================================== basetools_1160: Compatible: jwang36 Class_build: 1) Enhance the tool to be able to bypass AutoGen completely Code Change : /trunk/BaseTools/Source/Python/AutoGen/AutoGen.py /trunk/BaseTools/Source/Python/AutoGen/GenC.py /trunk/BaseTools/Source/Python/AutoGen/GenMake.py /trunk/BaseTools/Source/Python/Common/DataType.py /trunk/BaseTools/Source/Python/Common/Misc.py /trunk/BaseTools/Source/Python/CommonDataClass/CommonClass.py /trunk/BaseTools/Source/Python/CommonDataClass/DataClass.py /trunk/BaseTools/Source/Python/Workspace/BuildClassObject.py /trunk/BaseTools/Source/Python/Workspace/MetaFileParser.py /trunk/BaseTools/Source/Python/Workspace/MetaFileTable.py /trunk/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py /trunk/BaseTools/Source/Python/build/build.py ========================================================================================== basetools_1134: Compatible: jwang36 Class_build: 1) Add -x switch to pass SKU ID from command line Code Change : /trunk/BaseTools/Source/Python/Workspace/WorkspaceBuild.py /trunk/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py /trunk/BaseTools/Source/Python/build/build.py ========================================================================================== basetools_1122: Compatible: jwang36 Class_build: 1) Added option '-u' to skip AutoGen step and option '-e' to force removing all cached build data in case of inconsistency. Code Change : /trunk/BaseTools/Source/Python/AutoGen/GenMake.py /trunk/BaseTools/Source/Python/Workspace/WorkspaceBuild.py /trunk/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py /trunk/BaseTools/Source/Python/build/build.py ========================================================================================== basetools_1099: Compatible: jwang36 Class_build: 1) Refactor the metafile parsing code to be based on database completely Code Change : /trunk/BaseTools/Source/Python/Workspace /trunk/BaseTools/Source/Python/Workspace/BuildClassObject.py /trunk/BaseTools/Source/Python/Workspace/MetaDataTable.py /trunk/BaseTools/Source/Python/Workspace/MetaFileParser.py /trunk/BaseTools/Source/Python/Workspace/MetaFileTable.py /trunk/BaseTools/Source/Python/Workspace/WorkspaceBuild.py /trunk/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py /trunk/BaseTools/Source/Python/Workspace/__init__.py ========================================================================================== basetools_1092: Compatible: lgao4 Class_GenFw: 1) Enhance GenFw to always zero .pdata section data for both Pe and Pe32+ image. Code Change : /trunk/BaseTools/Source/C/GenFw/GenFw.c ========================================================================================== basetools_1028: Compatible: jlin16 Class_GenFds: 1) Employ database in GenFds Code Change : /trunk/BaseTools/Source/Python/GenFds/AprioriSection.py /trunk/BaseTools/Source/Python/GenFds/DataSection.py /trunk/BaseTools/Source/Python/GenFds/FfsInfStatement.py /trunk/BaseTools/Source/Python/GenFds/GenFds.py /trunk/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py ========================================================================================== basetools_1027: Compatible: jwang36 Class_GenDepex: 1) Add dependency expression optimization in GenDepex tool Code Change : /trunk/BaseTools/Source/Python/AutoGen/GenDepex.py /trunk/BaseTools/Source/Python/AutoGen/AutoGen.py ========================================================================================== basetools_1022: Compatible: hche10x Class_build: 1) Employ database in build process Code Change : /trunk/BaseTools/Source/Python/Common/DataType.py /trunk/BaseTools/Source/Python/Common/Database.py /trunk/BaseTools/Source/Python/Common/DecClassObject.py /trunk/BaseTools/Source/Python/Common/DscClassObject.py /trunk/BaseTools/Source/Python/Common/EdkIIWorkspaceBuild.py /trunk/BaseTools/Source/Python/Common/InfClassObject.py /trunk/BaseTools/Source/Python/Common/Parsing.py /trunk/BaseTools/Source/Python/Common/String.py /trunk/BaseTools/Source/Python/CommonDataClass/DataClass.py /trunk/BaseTools/Source/Python/CommonDataClass/ModuleClass.py /trunk/BaseTools/Source/Python/CommonDataClass/PackageClass.py /trunk/BaseTools/Source/Python/CommonDataClass/PlatformClass.py /trunk/BaseTools/Source/Python/Ecc/Database.py /trunk/BaseTools/Source/Python/Table/Table.py /trunk/BaseTools/Source/Python/Table/TableDataModel.py /trunk/BaseTools/Source/Python/Table/TableDec.py /trunk/BaseTools/Source/Python/Table/TableDsc.py /trunk/BaseTools/Source/Python/Table/TableFile.py /trunk/BaseTools/Source/Python/Table/TableFunction.py /trunk/BaseTools/Source/Python/Table/TableIdentifier.py /trunk/BaseTools/Source/Python/Table/TableInf.py /trunk/BaseTools/Source/Python/Table/TablePcd.py ========================================================================================== basetools_1009: Non-Compatible: hche10x Class_VfrCompile: 1) Merged UEFI support from EDK-I tree Code Change : 1) /trunk/BaseTools/Source/C/VfrCompile/EfiVfr.h 2) /trunk/BaseTools/Source/C/VfrCompile/VfrCompile.g 3) /trunk/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp 4) /trunk/BaseTools/Source/C/VfrCompile/VfrCompiler.h 5) /trunk/BaseTools/Source/C/VfrCompile/VfrError.cpp 6) /trunk/BaseTools/Source/C/VfrCompile/VfrError.h 7) /trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp 8) /trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.h 9) /trunk/BaseTools/Source/C/VfrCompile/VfrServices.cpp 10) /trunk/BaseTools/Source/C/VfrCompile/VfrServices.h 11) /trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g 12) /trunk/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp 13) /trunk/BaseTools/Source/C/VfrCompile/VfrUtilityLib.h Possible Impacts: 1) All .vfr file need to be updated 2) The HII code need to be updated to support UEFI HII spec ========================================================================================== basetools_1007: Compatible: jwang36 Class_build: 1) Add binary file support in AutoGen 2) Remove "extern int __make_me_compile_correctly;" from AutoGen.h 3) Add BUILD_RULE_CONF in target.txt to specify build rules file Code Change : 1) /trunk/BaseTools/Source/Python/AutoGen/AutoGen.py 2) /trunk/BaseTools/Source/Python/AutoGen/BuildInfo.py 3) /trunk/BaseTools/Source/Python/AutoGen/GenC.py 4) /trunk/BaseTools/Source/Python/AutoGen/GenMake.py 5) /trunk/BaseTools/Source/Python/Common/DataType.py 6) /trunk/BaseTools/Source/Python/Common/EdkIIWorkspaceBuild.py 7) /trunk/BaseTools/Source/Python/Common/InfClassObject.py 8) /trunk/BaseTools/Source/Python/Common/TargetTxtClassObject.py 9) /trunk/BaseTools/Source/Python/build/build.py ========================================================================================== basetools_969: Compatible: jlin16 Class_GenFds: 1) Support EDK-I modules in GenFds tool. Code Change : 1) /trunk/BaseTools/Source/Python/CommonDataClass/FdfClassObject.py 2) /trunk/BaseTools/Source/Python/GenFds/Fd.py 3) /trunk/BaseTools/Source/Python/GenFds/FdfParser.py 4) /trunk/BaseTools/Source/Python/GenFds/FfsInfStatement.py 5) /trunk/BaseTools/Source/Python/GenFds/GenFds.py 6) /trunk/BaseTools/Source/Python/GenFds/Region.py ========================================================================================== basetools_949: Compatible: jwang36 Class_build, Class_GenFds: 1) Add support of building EDK-I modules Code Change : 1) /trunk/BaseTools/Source/Python/AutoGen/AutoGen.py 2) /trunk/BaseTools/Source/Python/AutoGen/GenC.py 3) /trunk/BaseTools/Source/Python/Common/DataType.py 4) /trunk/BaseTools/Source/Python/Common/DscClassObject.py 5) /trunk/BaseTools/Source/Python/Common/EdkIIWorkspaceBuild.py 6) /trunk/BaseTools/Source/Python/Common/EdkLogger.py 7) /trunk/BaseTools/Source/Python/Common/InfClassObject.py 8) /trunk/BaseTools/Source/Python/Common/Misc.py 9) /trunk/BaseTools/Source/Python/Common/String.py 10) /trunk/BaseTools/Source/Python/Common/TargetTxtClassObject.py 11) /trunk/BaseTools/Source/Python/CommonDataClass/ModuleClass.py 12) /trunk/BaseTools/Source/Python/GenFds/AprioriSection.py 13) /trunk/BaseTools/Source/Python/GenFds/FfsInfStatement.py 14) /trunk/BaseTools/Source/Python/GenFds/GenFds.py 15) /trunk/BaseTools/Source/Python/build/build.py ========================================================================================== basetools_942: Compatible: jlin16 Class_GenFds: 1) Add !include statement support for GenFds Code Change : 1) /trunk/BaseTools/Source/Python/GenFds/FdfParser.py ========================================================================================== basetools_938: Compatible: hche10x Class_build: 1) Modify StrGather to support UEFI 2.1 specification Class_ECC 1) Adjust debug information format in ECC tool. Code Change : 1) /trunk/BaseTools/Source/Python/AutoGen/StrGather.py 2) /trunk/BaseTools/Source/Python/AutoGen/UniClassObject.py 3) /trunk/BaseTools/Source/Python/Ecc/Database.py 4) /trunk/BaseTools/Source/Python/Ecc/Table.py