]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/ChangeLog.txt
Removed use of pre-initialized global data in this file as it was causing problems...
[mirror_edk2.git] / BaseTools / ChangeLog.txt
index 401390ddc04f47160ac489f358ff71b97f98017a..7465051eb5fb6acd6f2ea90db9aa9fd4a001bc2a 100644 (file)
@@ -36,15 +36,482 @@ EDK_0000: Compatible: owner
         1) BaseTools\Bin\Win32\build.exe\r
 \r
 !!!!!!!!!!!!!!!!!!                     End of Notes                     !!!!!!!!!!!!!!!!!!\r
         1) BaseTools\Bin\Win32\build.exe\r
 \r
 !!!!!!!!!!!!!!!!!!                     End of Notes                     !!!!!!!!!!!!!!!!!!\r
+\r
+##########################################################################################\r
+\r
 ##########################################################################################\r
 ##########################################################################################\r
+##########       Revision number of tools source code                           ##########\r
+    BaseTools/Bin/Win32/build.exe\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Autogen\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/build\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Common\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/CommonDataClass\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/GenFds\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Workspace\r
+\r
+    BaseTools/Bin/Win32/GenFds.exe\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Common\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/CommonDataClass\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/GenFds\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Workspace\r
+\r
+    BaseTools/Bin/Win32/GenDepex.exe\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/AutoGen\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Common\r
+\r
+    BaseTools/Bin/Win32/Trim.exe\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Trim\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Common\r
+\r
+    BaseTools/Bin/Win32/MigrationMsa2Inf.exe\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/MigrationMsa2Inf\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Common\r
+\r
+    BaseTools/Bin/Win32/TargetTool.exe\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/TargetTool\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/Common\r
+\r
+    BaseTools/Bin/Win32/Spd2Dec.exe\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/spd2dec\r
+\r
+    BaseTools/Bin/Win32/Fpd2Dsc.exe\r
+        r1655 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python/fpd2dsc\r
+\r
+==========================================================================================\r
+                       Binary Tool checkin log\r
+==========================================================================================\r
+EDK_7529: Non-Compatible: jwang36\r
+\r
+      Class_BuildTool:\r
+        1) Use FAMILY defined in *_TAGNAME_*_*_FAMILY as the toolchain family\r
+        2) Force file name case check in Windows\r
+        3) Consolidate file/path operations\r
+        4) Support binary file type in build_rule.txt\r
+        5) Generate $(FILE_TYPES) macro only when it's used in build_rule.txt\r
+        6) Use build_rule.txt to solve customized build for USER_DEFINED module\r
+        7) Re-design TemplateString to make it faster\r
+        8) Improve performance of Trim tool\r
+        9) Fix undefined variables issue\r
+        10) Fix HSD202142 and HSD202144\r
+\r
+        Code Change :\r
+        1) /trunk/edk2/BaseTools/Bin/Win32/build.exe\r
+        2) /trunk/edk2/BaseTools/Bin/Win32/GenFds.exe\r
+        3) /trunk/edk2/BaseTools/Bin/Win32/Trim.exe\r
+        4) /trunk/edk2/BaseTools/Conf/build_rule.template\r
+\r
+        Possible Impacts:\r
+        1) To build Nt32Pkg.dsc correctly, the local version build_rule.txt must\r
+           updated with the change in new build_rule.template.\r
+        2) The case of file path must be the same as in file system, or the build\r
+           will break.\r
+\r
+EDK_7159: Non-Compatible: jwang36\r
+\r
+      Class_BuildTool:\r
+        1) Re-fine and fully test the mechanism of getting over the long command\r
+           line limitation\r
+        2) Change the -s option of build from "SpawnMode" to be "SilentMode"\r
+        3) Change the prototype of PeiCoreEntryPoint in AutoGen-ed code\r
+        4) Remove CalcDeps module since it's no longer needed.\r
+        5) Remove "-k", "-g" and "-l" switches from build\r
+        6) Remove MULTIPLE_THREAD in target.template. Use MAX_CONCURRENT_THREAD_NUMBER\r
+           to get the same functionality.\r
+\r
+        Code Change :\r
+        1) /trunk/edk2/BaseTools/Bin/Win32/build.exe\r
+        1) /trunk/edk2/BaseTools/Bin/Win32/GenFds.exe\r
+\r
+        Possible Impacts:\r
+        1) The local version build_rule.txt must be updated with changes in build_rule.template\r
+        2) Use "build -s" to pass "-s" switch to "make" tool to do silent "make".\r
+           To suppress all message from stdout, use "build -q" instead.\r
+        3) To get over the long command line limitation, use "@$(<FILE_TYPE>S_LIST)"\r
+           in the place of ${src} for those commands encountering such kind of\r
+           problem.\r
+\r
+EDK_7009: Non-Compatible: jwang36\r
+\r
+      Class_BuildTool:\r
+        1) Search value of Guid/Protocol/PPI in inf file only in the same category in dec file.\r
+        2) Pass all files in a module's directory to StrGather for R8 modules.\r
+\r
+        Code Change :\r
+        1) /trunk/edk2/BaseTools/Bin/Win32/build.exe\r
+\r
+        Possible Impacts:\r
+        1) Those inf files in which the PPI/Protocol/Guid are put in incorrect\r
+           section will encounter build break.\r
+\r
+==========================================================================================\r
+EDK_6930: Non-Compatible: jwang36\r
+\r
+      Class_BuildTool:\r
+        1) Separate the AutoGen code for PCDs between module and its library instances.\r
+           Only macros for module's PCDs will be put in AutoGen.h. Others will be put\r
+           in AutoGen.c. This is intended to catch missed PCDs in inf file more easily.\r
+        2) For better compatibile between C standards or C compiler, add type cast for\r
+           PCD constants in AutoGen.h according to the PCD datum type.\r
+        3) Add incremental generation capability for FV in GenFds tool.\r
+\r
+        Code Change :\r
+        1) /trunk/edk2/BaseTools/Bin/Win32/build.exe\r
+        2) /trunk/edk2/BaseTools/Bin/Win32/GenFds.exe\r
+\r
+        Possible Impacts:\r
+        1) If there're PCDs used in a module but not declared in the module's inf file,\r
+           and occasionally they are declared in the library instances, there must be\r
+           a build break. Adding necessary PCDs declarations in the module's inf file\r
+           will solve it.\r
+\r
+==========================================================================================\r
+EDK_6828: Compatible: jwang36\r
+\r
+      Class_BuildTool:\r
+        1) Add a feature to allow override tools option via "==" in metafile.\r
+        2) Remove the AutoGen.c generation for R8 module without unicode file.\r
+\r
+\r
+        Code Change :\r
+        1) /trunk/edk2/BaseTools/Bin/Win32/build.exe\r
+\r
+==========================================================================================\r
+EDK_6772: Non-Compatible: jwang36\r
+\r
+      Class_BuildTool:\r
+        1) Add /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT) in EBC_CC_FLAGS to ensure\r
+           correct R8's module entry point for EBC arch.\r
+\r
+        Code Change :\r
+        1) /trunk/edk2/BaseTools/Conf/tools_def.template\r
+\r
+        Possible Impacts:\r
+           The local version of tools_def.txt must be updated with the change in\r
+           tools_def.template.\r
+\r
+==========================================================================================\r
+EDK_6762: Non-Compatible: lgao4\r
+\r
+      Class_BuildTool:\r
+        1) Declare entry point, constructor into AutoGen.h\r
+        2) Create <ModuleName>StrDefs.h to contain uni code string ID.\r
+\r
+\r
+        Code Change :\r
+        1) /trunk/edk2/BaseTools/Bin/Win32/build.exe\r
+        2) /trunk/edk2/BaseTools/Conf/tools_def.template\r
+\r
+        Possible Impacts:\r
+           The local version of tools_def.txt must be updated with change in\r
+           tools_def.tempalte.\r
+\r
+==========================================================================================\r
+EDK_6671: Compatible: qwang12\r
+\r
+      Class_BuildTool:\r
+        1) StrGather (Build.exe) in compatible mode add a Framework Package Header\r
+           to replace the original ¡°ArrayLength¡± generated in the output.\r
+        2) VfrCompiler in compatible mode add a Framework Package Header to replace\r
+           the original ¡°ArrayLength¡± generated in the output.\r
+\r
+        Code Change :\r
+        1) /trunk/edk2/BaseTools/Bin/Win32/VfrCompile.exe\r
+        2) /trunk/edk2/BaseTools/Bin/Win32/build.exe\r
+\r
+\r
+==========================================================================================\r
+EDK_6666: Compatible: lgao4\r
+\r
+      Class_BuildTool:\r
+        1) Enhance GenFv WriteFvMap function to print basic debug information\r
+           (entrypoint, baseaddress, .text, .data section base address)  when no\r
+           map can be referred.\r
+        2) Enhance GenFv tool to create the non PI file system firmware volume.\r
+        3) Update VfrComile\r
+           - Set the first framework var store name to ¡°Setup¡±\r
+           - Support DEFAULT and MANUFACTURING for framework CheckBox flags value\r
+\r
+        Code Change :\r
+           /trunk/edk2/BaseTools/Bin/Win32/GenFv.exe\r
+           /trunk/edk2/BaseTools/Bin/Win32/VfrCompile.exe\r
+\r
+==========================================================================================\r
+EDK_6640: Compatible: jwang36\r
+\r
+      Class_BuildTool:\r
+        1) Change file line format of AutoGen files to native style.\r
+\r
+        Code Change :\r
+        1) /trunk/edk2/BaseTools/Bin/Win32/build.exe\r
+\r
+==========================================================================================\r
+EDK_6613: Non-Compatible: qwang12\r
+\r
+      Class_BuildTool:\r
+        1) Generate data for ConfigAccess.ExtractConfig() impl\r
+\r
+        Code Change :\r
+        1) /trunk/edk2/BaseTools/Bin/Win32/VfrCompile.exe\r
+\r
+==========================================================================================\r
+EDK_6490: Compatible: jwang36\r
+\r
+      Class_BuildTool:\r
+        1) Add ImportTool.bat script\r
+        2) Add more error check for Trim.exe\r
+\r
+\r
+        Code Change :\r
+        1) /trunk/edk2/BaseTools/Bin/Win32/ImportTool.bat\r
+        2) /trunk/edk2/BaseTools/Bin/Win32/Trim.exe\r
+\r
+==========================================================================================\r
+EDK_6452: Compatible: jwang36\r
+\r
+      Class_BuildTool:\r
+        1) Allow the flags of tools not defined tools_def.txt\r
+        2) Add BUILD as internal tool to pass compatible mode of unicode to build tool.\r
+        3) Add support of [Depex.common.<ModuleType>] in inf file\r
+        4) Add more optimization, especially for architecture protocols, in GeDepex tool\r
+        5) Fix the generation of _gPeimRevision and _gDxeRevision global variables in\r
+           AutoGen.c according to new MdePkg spec.\r
+        6) Change the header file of DxeSmmeEntryPoint.h to UefiDriverEntryPoint.h\r
+           in AutoGen.c since it's no longer exist.\r
+        7) Fix $(PROCESSOR) macro replacement issue in [nmake] section\r
+\r
+        Code Change :\r
+           /trunk/edk2/BaseTools/Bin/Win32/GenDepex.exe\r
+           /trunk/edk2/BaseTools/Bin/Win32/GenFds.exe\r
+           /trunk/edk2/BaseTools/Bin/Win32/build.exe\r
+\r
+==========================================================================================\r
+EDK_6289: Compatible: jwang36\r
+\r
+      Class_BuildTool:\r
+        1) Performance improvement on startup of build.exe\r
+\r
+        Code Change :\r
+        1) /trunk/edk2/BaseTools/Bin/Win32/GenFds.exe\r
+        2) /trunk/edk2/BaseTools/Bin/Win32/build.exe\r
+\r
+==========================================================================================\r
+EDK_6269: Compatible: jwang36\r
+\r
+      Class_BuildTool:\r
+        1) Bug fixes\r
+        2) Improve the screen output when in quiet build mode\r
+        3) Add "tbuild" target in makefile in order to not created directories in\r
+           makefile. Instead, they will be created in build tool. This will give\r
+           better build performance, especially in incremental build.\r
+        4) Add space check in WORKSPACE and OUTPUT_DIRECTORY (in dsc file) directory\r
+           name and give error message if found.\r
+\r
+        Code Change :\r
+        1) /trunk/edk2/BaseTools/Bin/Win32/build.exe\r
+\r
+==========================================================================================\r
+EDK_5762: Compatible: jlin16\r
+\r
+      Class_BuildTool:\r
+        1) Enhance the tool to build R8 module via ECP.\r
+\r
+        Code Change :\r
+        1) /trunk/edk2/BaseTools/Bin/Win32/GenFds.exe\r
+        2) /trunk/edk2/BaseTools/Bin/Win32/build.exe\r
+\r
+==========================================================================================\r
+EDK_5635: Compatible: lgao4\r
+\r
+      Class_BuildTool:\r
+        1) Enhance GenFv tool to print Fv Size and Length, and Get module map by\r
+           module pdb pointer and get module guid by module FFS guid.\r
+        2) And Enhance VfrCompiler to handle framework vfr file, and print more\r
+           debug information into .lst file.\r
+\r
+        Code Change :\r
+        1) /trunk/edk2/BaseTools/Bin/Win32/GenFv.exe\r
+        2) /trunk/edk2/BaseTools/Bin/Win32/VfrCompile.exe\r
+\r
+==========================================================================================\r
+EDK_5634: Non-Compatible: jwang36\r
+\r
+      Class_BuildTool:\r
+        1) Enhance the format of build_rule.txt to allow module type and arch information.\r
+        2) Enhance Trim to convert ASL style of include to C style of include\r
+        3) Enhance Trim to convert some EDK coding convention to EDK2 ECP convention\r
+        4) Add warning message when encountering unrecognized content in DSC/DEC/INF File\r
+        5) Enhance the GenDepex to ignore everything outside DEPENDENCY_STANT and DEPENDENCY_END in dxs file\r
+\r
+        Code Change :\r
+           /trunk/edk2/BaseTools/Bin/Win32/GenDepex.exe\r
+           /trunk/edk2/BaseTools/Bin/Win32/Trim.exe\r
+           /trunk/edk2/BaseTools/Bin/Win32/build.exe\r
+           /trunk/edk2/BaseTools/Conf/build_rule.template\r
+           /trunk/edk2/BaseTools/Conf/tools_def.template\r
+\r
+        Possible Impacts:\r
+           The local version tools_def.txt and build_rule.txt must be updated with\r
+           the changes in tools_def.template and build_rule.template respectively.\r
+\r
+==========================================================================================\r
+EDK_5193: Compatible: jwang36\r
+\r
+      Class_BuildTool:\r
+        1) Add incremental support in GenFds\r
+\r
+        Code Change :\r
+          /trunk/edk2/BaseTools/Bin/Win32/GenFds.exe\r
+          /trunk/edk2/BaseTools/Bin/Win32/build.exe\r
+\r
+==========================================================================================\r
+EDK_5186: Compatible: jwang36\r
+\r
+      Class_BuildTool:\r
+        1) Add explicit banner for pass/fail indication of build\r
+        2) Fix the issue which cause error message from FDF parser won't be printed out.\r
+        3) Fix the error message format of FDF parser\r
+        4) Change the exit code of build tool from always 1 to error code, if error occurred\r
+\r
+        Code Change :\r
+           /trunk/edk2/BaseTools/Bin/Win32/GenFds.exe\r
+           /trunk/edk2/BaseTools/Bin/Win32/build.exe\r
+\r
+==========================================================================================\r
+EDK_4971: Compatible: lgao4\r
+\r
+      Class_BuildTool:\r
+        1) Enhance GenFw tool to always zero .pdata section for PE32 and PE32+ image in\r
+           order to improve compression ratio for them.\r
+\r
+        Code Change :\r
+           /trunk/edk2/BaseTools/Bin/Win32/GenFw.exe\r
+\r
+==========================================================================================\r
+EDK_4918: Compatible: lgao4\r
+\r
+      Class_BuildTool:\r
+        1) Correct Error Message format for these C tools according to the Tool Design Spec.\r
+\r
+        Code Change :\r
+           /trunk/edk2/BaseTools/Bin/Win32/EfiLdrImage.exe\r
+           /trunk/edk2/BaseTools/Bin/Win32/GenFv.exe\r
+           /trunk/edk2/BaseTools/Bin/Win32/TianoCompress.exe\r
+           /trunk/edk2/BaseTools/Bin/Win32/VfrCompile.exe\r
+           /trunk/edk2/BaseTools/Bin/Win32/VolInfo.exe\r
+\r
+==========================================================================================\r
+EDK_4859: Non-Compatible: jwang36\r
+\r
+      Class_BuildTool:\r
+        1) Changed VfrCompile.exe to be UEFI HII compatible\r
+        2) Improved R8 module build\r
+        3) Added binary file build\r
+        4) Removed "extern int __make_me_compile_correctly" in AutoGen code for\r
+           R9 modules, but kept for R8 modules\r
+        5) Enfored more error check and introduced a optimization for GenDepex\r
+        6) Added BUILD_RULE_CONF in target.txt to specify build rules file\r
+        7) Rebuilt all Python tools with Python2.5.2\r
+\r
+        Code Change :\r
+        1) build.exe\r
+        2) VfrCompile.exe\r
+        3) GenFds.exe\r
+        4) GenDepex.exe\r
+        5) target.template\r
+\r
+\r
+        Possible Impacts:\r
+        1) All EFI code needs to be UEFI HII compatible.\r
+        2) Conf/target.txt needs to be replaced by new target.template\r
+\r
+==========================================================================================\r
+EDK_4251: Non-Compatible: jwang36\r
+\r
+      Class_BuildTool:\r
+        1) Changed MYTOOLS to use Visual Studio Team Suite for IA32 and X64. IPF is still use WINDKK.\r
+        2) Re-generated build.exe and GenFds.exe to incorporate new changes of build tools\r
+        3) Enabled multi-thread build mode by default (can be disabled by using "-n 0" option or changing\r
+           MULTIPLE_THREAD in target.txt to Disabled)\r
+        4) Fixed an incorrect command (no leading tab/space) generated in top level Makefile.\r
+\r
+        Code Change :\r
+        1) BaseTools/Bin/Win32/GenFds.exe\r
+        2) BaseTools/Bin/Win32/build.exe\r
+        3) BaseTools/Conf/target.template\r
+        4) BaseTools/Conf/tools_def.template\r
+\r
+        Possible Impacts:\r
+        1) Install Visual Studio 2005 Team Suite Edition.\r
+\r
+==========================================================================================\r
+EDK_4190: Non-Compatible: jwang36\r
+\r
+      Class_BuildTool:\r
+        1) Added support of using PCD default value from DEC/INF file if one\r
+           PCD is declared in INF file but not found in DSC file.\r
+        2) Added support of breaking build if no library instance is found for\r
+           a library class.\r
+\r
+        Code Change :\r
+        1) BaseTools/Bin/Win32/build.exe\r
+        2) BaseTools/Bin/Win32/GenFds.exe\r
+\r
+        Possible Impacts:\r
+        1) All packages/platforms/modules, which have wrong library classes\r
+           declared or have no library instance for some library classes, must be\r
+           changed to make sure each library class declared in INF file has\r
+           corresponding library instance.\r
+\r
+==========================================================================================\r
+EDK_4096: Non-Compatible: jwang36\r
+\r
+      Class_BuildTool:\r
+        1) Removed the calling of vsvars32.bat in edksetup.bat, unless\r
+           "--nt32" switch is used.\r
+        2) Added MAKE command in tools_def.txt. This is used to locate where\r
+           the nmake.exe or make.exe is because it will not be in PATH any more.\r
+        3) Removed the calling of vsvars32.bat in toolsetup.bat.\r
+        4) Solved the hang issue of build.exe when error occurred or Ctrl+C is\r
+           pressed.\r
+        5) Passed "-v/-d/-q" command line option to GenFds.exe in makefile if\r
+           it's used by build.exe.\r
+\r
+        Code Change :\r
+        1) BaseTools/Bin/Win32/build.exe\r
+        2) BaseTools/Bin/Win32/GenFds.exe\r
+        3) BaseTools/Conf/tools_def.template\r
+        4) BaseTools/toolsetup.bat\r
+        5) edksetup.bat\r
+\r
+        Possible Impacts:\r
+        1) Nt32Pkg build needs to run vsvars32.bat before edksetup.bat or run\r
+           edksetup.bat with "--nt32" option, like\r
+\r
+           edksetup.bat --nt32 newbuild\r
+\r
+        2) $(WORKSPACE)/Conf/tools_def.txt must be deleted before running\r
+           edksetup.bat because of new tools_def.template. Otherwise the\r
+           build.exe cannot find the nmake.exe to call.\r
+\r
+==========================================================================================\r
+EDK_3947: Compatible: jwang36\r
+\r
+      Class_BuildTool:\r
+        1) Improved spawn mode (multi-thread) build performance (build -s)\r
+        2) Changed the error/debug/warning message format\r
+        3) Added "--log" command line option to support storing log in file\r
+\r
+        Code Change :\r
+        1) BaseTools/Bin/Win32/build.exe\r
+\r
 \r
 ==========================================================================================\r
 EDK_3936: Compatible: klu2\r
 \r
       Class_BuildTool:\r
 \r
 ==========================================================================================\r
 EDK_3936: Compatible: klu2\r
 \r
       Class_BuildTool:\r
-        1) The first parameter of PEIM's entry point in autogen.c has been changed to \r
+        1) The first parameter of PEIM's entry point in autogen.c has been changed to\r
            EFI_PEI_FILE_HANDLE\r
            EFI_PEI_FILE_HANDLE\r
\r
+\r
         Code Change :\r
         1) BaseTools/Bin/Win32/build.exe\r
 \r
         Code Change :\r
         1) BaseTools/Bin/Win32/build.exe\r
 \r
@@ -53,7 +520,7 @@ EDK_3926: Compatible: jlin16
 \r
       Class_BuildTool:\r
         1) Added support of Capsule generation from FDF file.\r
 \r
       Class_BuildTool:\r
         1) Added support of Capsule generation from FDF file.\r
\r
+\r
         Code Change :\r
         1) BaseTools/Bin/Win32/build.exe\r
         2) BaseTools/Bin/Win32/GenFds.exe\r
         Code Change :\r
         1) BaseTools/Bin/Win32/build.exe\r
         2) BaseTools/Bin/Win32/GenFds.exe\r
@@ -73,8 +540,8 @@ EDK_3911: Compatible: jlin16
         1) Added support of Apriori file generation from FDF file.\r
         2) Added support of INF that describes binary files to put binary into FV.\r
         3) Fixed single FV/FD generation error when specifying -i/-r option in GenFds.\r
         1) Added support of Apriori file generation from FDF file.\r
         2) Added support of INF that describes binary files to put binary into FV.\r
         3) Fixed single FV/FD generation error when specifying -i/-r option in GenFds.\r
-        \r
\r
+\r
+\r
         Code Change :\r
         1) BaseTools/Bin/Win32/build.exe\r
         2) BaseTools/Bin/Win32/GenFds.exe\r
         Code Change :\r
         1) BaseTools/Bin/Win32/build.exe\r
         2) BaseTools/Bin/Win32/GenFds.exe\r
@@ -91,18 +558,18 @@ EDK_3911: Compatible: jlin16
         }\r
         2) To add binary file described by INF file into FV, only insert the INF statement\r
         into the INF statements list of that FV, like this:\r
         }\r
         2) To add binary file described by INF file into FV, only insert the INF statement\r
         into the INF statements list of that FV, like this:\r
-        \r
+\r
         INF RuleOverride=Test MdeModulePkg/Logo/Logo.inf\r
         INF RuleOverride=Test MdeModulePkg/Logo/Logo.inf\r
-        \r
+\r
         Specifying how to process the binary file by defining corresponding Rule like this:\r
         [Rule.Common.Base.Test]\r
         Specifying how to process the binary file by defining corresponding Rule like this:\r
         [Rule.Common.Base.Test]\r
-              FILE FREEFORM = $(NAMED_GUID) {\r
-                COMPRESS PI_STD {\r
-                GUIDED {\r
-                RAW BIN |.bmp   \r
+         FILE FREEFORM = $(NAMED_GUID) {\r
+           COMPRESS PI_STD {\r
+             GUIDED {\r
+                RAW BIN |.bmp\r
              }\r
              }\r
-                }\r
-              }\r
+           }\r
+         }\r
 \r
 ==========================================================================================\r
 EDK_3832: Non-Compatible: jwang36\r
 \r
 ==========================================================================================\r
 EDK_3832: Non-Compatible: jwang36\r
@@ -113,9 +580,9 @@ EDK_3832: Non-Compatible: jwang36
         3) Changed DPATH attribute to DLL in tools_def.txt\r
         4) Removed SPATH attribute in tools_def.txt\r
         5) Added support for library instance without library class\r
         3) Changed DPATH attribute to DLL in tools_def.txt\r
         4) Removed SPATH attribute in tools_def.txt\r
         5) Added support for library instance without library class\r
-        6) Fixed the issue in Trim tool which zero file will be generated if the trimmed \r
+        6) Fixed the issue in Trim tool which zero file will be generated if the trimmed\r
            file has not line directive\r
            file has not line directive\r
\r
+\r
         Code Change :\r
         1) BaseTools/Bin/Win32/build.exe\r
         2) BaseTools/Bin/Win32/GenFds.exe\r
         Code Change :\r
         1) BaseTools/Bin/Win32/build.exe\r
         2) BaseTools/Bin/Win32/GenFds.exe\r
@@ -128,7 +595,7 @@ EDK_3832: Non-Compatible: jwang36
 ==========================================================================================\r
 EDK_3801: Compatible: jwang36\r
 \r
 ==========================================================================================\r
 EDK_3801: Compatible: jwang36\r
 \r
-      Class_BuildConfiguration: Added makefile as dependency for "Dynamic-Library-File" to \r
+      Class_BuildConfiguration: Added makefile as dependency for "Dynamic-Library-File" to\r
         solve the incremental build issue occurred when there's library changes\r
 \r
         Code Change :\r
         solve the incremental build issue occurred when there's library changes\r
 \r
         Code Change :\r
@@ -146,7 +613,7 @@ EDK_3800: Compatible: lgao4
 EDK_3795: Compatible: htao\r
 \r
       Class_BuildTool: GenVtf tool open/write file with "r+b"/"w+b" attribute, but this cause\r
 EDK_3795: Compatible: htao\r
 \r
       Class_BuildTool: GenVtf tool open/write file with "r+b"/"w+b" attribute, but this cause\r
-                       the RO attribute of the file changed. Fix this issue by changing \r
+                       the RO attribute of the file changed. Fix this issue by changing\r
                        "r+b"/"w+b" to "rb"/"wb".\r
 \r
         Code Change :\r
                        "r+b"/"w+b" to "rb"/"wb".\r
 \r
         Code Change :\r
@@ -173,8 +640,11 @@ EDK_3789: Non-Compatible: lgao4
 \r
         Possible Impacts:\r
         1) All platform's FDF file, if any, must be changed to new format.\r
 \r
         Possible Impacts:\r
         1) All platform's FDF file, if any, must be changed to new format.\r
-          a) PCD format is changed from old PcdName to new PcdTokenSpaceGuid.PcdName, for example PcdWinNtFdBaseAddress in old FDF file will be replaced by gEfiNt32PkgTokenSpaceGuid.PcdWinNtFdBaseAddres.\r
-          b) Rule format adds binary file type and file postfix name support, and doesn't require the full file path. For example:\r
+          a) PCD format is changed from old PcdName to new PcdTokenSpaceGuid.PcdName,\r
+             for example PcdWinNtFdBaseAddress in old FDF file will be replaced\r
+             by gEfiNt32PkgTokenSpaceGuid.PcdWinNtFdBaseAddres.\r
+          b) Rule format adds binary file type and file postfix name support,\r
+             and doesn't require the full file path. Examples for Peim and AcpiTable module:\r
           Old Peim Rule:\r
           [Rule.Common.PEIM]\r
           FILE PEIM = $(NAMED_GUID) {\r
           Old Peim Rule:\r
           [Rule.Common.PEIM]\r
           FILE PEIM = $(NAMED_GUID) {\r
@@ -188,16 +658,32 @@ EDK_3789: Non-Compatible: lgao4
             FILE PEIM = $(NAMED_GUID) {\r
                PEI_DEPEX PEI_DEPEX Optional        |.Depex\r
                PE32      PE32                      |.efi\r
             FILE PEIM = $(NAMED_GUID) {\r
                PEI_DEPEX PEI_DEPEX Optional        |.Depex\r
                PE32      PE32                      |.efi\r
-               UI       STRING="$(MODULE_NAME)" Optional         \r
-               VERSION  STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)   \r
+               UI       STRING="$(MODULE_NAME)" Optional\r
+               VERSION  STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
+            }\r
+\r
+          Old AcpiTable Rule:\r
+          [Rule.Common.DXE_DRIVER.ACPITABLE]\r
+            FILE FREEFORM = $(NAMED_GUID) {\r
+              RAW                    $(INF_OUTPUT)/Madt.acpi\r
+              RAW                    $(INF_OUTPUT)/Fadt.acpi\r
+              RAW                    $(INF_OUTPUT)/Facs.acpi\r
+              RAW                    $(INF_OUTPUT)/Spcr.acpi\r
+              RAW                    $(INF_OUTPUT)/Dsdt.aml\r
+            }\r
+          New AcpiTable Rule:\r
+          [Rule.Common.DXE_DRIVER.ACPITABLE]\r
+            FILE FREEFORM = $(NAMED_GUID) {\r
+              RAW ACPI |.acpi\r
+              RAW ASL  |.aml\r
             }\r
 \r
 ==========================================================================================\r
 EDK_3786: Compatible: vjeff\r
 \r
       Class_BuildConfiguration:\r
             }\r
 \r
 ==========================================================================================\r
 EDK_3786: Compatible: vjeff\r
 \r
       Class_BuildConfiguration:\r
-        1) Redirect ICC_IA32_*_PATH from C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin \r
-           to C:\Program Files\Intel\Compiler\C++\9.1\IA32\Bin. \r
+        1) Redirect ICC_IA32_*_PATH from C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\r
+           to C:\Program Files\Intel\Compiler\C++\9.1\IA32\Bin.\r
         2) Add ICC X64 definition to enable ICC X64 build.\r
 \r
         Code Change :\r
         2) Add ICC X64 definition to enable ICC X64 build.\r
 \r
         Code Change :\r
@@ -206,7 +692,7 @@ EDK_3786: Compatible: vjeff
 ==========================================================================================\r
 EDK_3785: Non-Compatible: klu2\r
 \r
 ==========================================================================================\r
 EDK_3785: Non-Compatible: klu2\r
 \r
-      Class_BuildTool: Upgrade the format of EFI_PEIM_ENTRY_POINT to \r
+      Class_BuildTool: Upgrade the format of EFI_PEIM_ENTRY_POINT to\r
                        EFI_PEIM_ENTRY_POINT2 according to PI specification.\r
 \r
 \r
                        EFI_PEIM_ENTRY_POINT2 according to PI specification.\r
 \r
 \r
@@ -240,6 +726,5 @@ EDK_3766: Non-Compatible: lgao4
         1) Conf/build_rule.template\r
 \r
         Possible Impacts:\r
         1) Conf/build_rule.template\r
 \r
         Possible Impacts:\r
-        1) Platform with ACPI module. Acpi module needs to set /EP preprocessor compiler option for APP_FLAGS in module inf to override the default /E option from tools_def.txt file. \r
-\r
-\r
+        1) Platform with ACPI module. Acpi module needs to set /EP preprocessor compiler option\r
+        for APP_FLAGS in module inf to override the default /E option defined in tools_def.txt file.\r