########################################################################################## !!!!!!!!!!!!!!!!! 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 !!!!!!!!!!!!!!!!!! ########################################################################################## ========================================================================================== EDK_r5418-5419: Non-Compatible: qhuang8 Class_Library: Update EfiDriverLib in ECP to make it compatible with EDK1.01(EDK1117), but the change itself is incompatible. With this change, EFI1.10 drivers can be directly dropped in and built in UEFI build mode. EfiLibInstallAllDriverProtocols2() and INSTALL_ALL_DRIVER_PROTOCOLS_OR_PROTOCOLS2() are added to support UEFI driver model protocols. Please replace all the occurrences of EfiLibInstallAllDriverProtocols and INSTALL_ALL_DRIVER_PROTOCOLS with INSTALL_ALL_DRIVER_PROTOCOLS_OR_PROTOCOLS2 in Edk 1.04 based source tree. Code Change: 1) Edk\Foundation\Include\EfiCompNameSupport.h: Add macro INSTALL_ALL_DRIVER_PROTOCOLS_OR_PROTOCOLS2(). 2) Edk\Foundation\Library\Dxe\EfiDriverLib\EfiDriverModelLib.c Edk\Foundation\Library\Dxe\Include\EfiDriverLib.h Update EfiLibInstallAllDriverProtocols() and add EfiLibInstallAllDriverProtocols2() Possible impact: 1) If your "EDK style" code base is based on ECP r5417 or below, please replace all the occurrences of EfiLibInstallAllDriverProtocols and INSTALL_ALL_DRIVER_PROTOCOLS with INSTALL_ALL_DRIVER_PROTOCOLS_OR_PROTOCOLS2 ========================================================================================== EDK_r4955: Non-Compatible: qhuang8 Class_HFile: Update the Device Type Value of MEDIA_FV_DP & MEDIA_FV_FILEPATH_DP. The definitions in MdePkg have already been updated in r4632. This will remove the potential compatibility issues when native EDK II modules & EDK modules built with ECP and run with EDK II core. Code Change: 1) Reverse the value of MEDIA_FV_DP & MEDIA_FV_FILEPATH_DP to fix a UEFI errata. Possible impact: 1) EDK I modules built with this update might not work with old EDK environment. ========================================================================================== EDK_r4960: Non-Compatible: qhuang8 Class_HFile: Remove the default value 0xE0000000 of EDKII_GLUE_PciExpressBaseAddress. It now requires platform DSC file to specify it explicitly to avoid runtime issue if they ever uses PciExpressLib in EDK GlueLib. Unlike other default value in GlueLib, this value might not function for all real platforms. Code Change: 1) Replace 0xE0000000 to be PCD_EDKII_GLUE_PciExpressBaseAddress. Possible impact: 1) If a platform ever uses PciExpressLib in Glue Lib. It needs to explictly specify the value of PCD_EDKII_GLUE_PciExpressBaseAddress for their platform to function. e.g. in EDK II DSC file to build EDK modules: [BuildOptions] *_*_*_CC_FLAGS = /D PCD_EDKII_GLUE_PciExpressBaseAddress=0xC0000000 EDK_r7286: Compatible: qhuang8 Class_HFile: Add several new UEFI definition to build with newest EFI shell source. Code Change: 1) Add new UEFI Load File 2 protocol defininition. 2) Add MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH device path type. Possible impact: None. EDK_r7342: No-Compatible: qwang12 Rename module names in EdkCompatibility/Compatibility directory from ***To*** to ***On***. For example, Fv2ToFvThunk is renamed to Fv2OnFvThunk. AAAOnBBB means this module produce AAA Protocol/PPI based on BBB. This change improves the readability and help developers to select correct thunk module to use. Code Changes: These module directory and module INF file name is updated: DeviceIoToPciRootBridgeIoThunk -> DeviceIoToPciRootBridgeIoThunk FrameworkHiiToUefiHiiThunk -> FrameworkHiiToUefiHiiThunk Fv2ToFvThunk -> Fv2ToFvThunk FvFileLoaderToLoadFileThunk -> FvFileLoaderToLoadFileThunk FvToFv2Thunk -> FvToFv2Thunk PciCfg2ToPciCfgThunk -> PciCfg2ToPciCfgThunk PciCfgToPciCfg2Thunk -> PciCfgToPciCfg2Thunk ReadOnlyVariable2ToReadOnlyVariableThunk -> ReadOnlyVariable2ToReadOnlyVariableThunk ReadOnlyVariableToReadOnlyVariable2Thunk -> ReadOnlyVariableToReadOnlyVariable2Thunk Uc2ToUcThunk -> Uc2ToUcThunk UcToUc2Thunk -> UcToUc2Thunk Possible Impact: All DSC and FDF files that reference these module should be updated to use the new module directory and file names.