########################################################################################## | |
!!!!!!!!!!!!!!!!! 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_3983: Non-Compatible: lgao4 | |
Class_Library: Remove CustomDecompressLib library class. | |
Code Change: | |
1) Remove the definition MdePkg\Include\Library\CustomDecompressLib.h and | |
library instance MdePkg\Library\BaseCustomDecompressLibNull for CustomDecompressLib. | |
Possible Impacts: | |
1) Drivers don't use this library class any longer. But they can use new ExtractGuidedSectionLib | |
library class to extract the compressed guided section data. | |
2) The instance of CustomDecompressLib should be changed to register the decode function | |
into ExtractGuidedSectionHandler list, and not to produce CustomDecompressLib class. | |
3) Platform.dsc file doesn't use this library instance any longer. | |
========================================================================================== | |
EDK_3980: Non-Compatible: lgao4 | |
Class_Library: Add ExtractGuidedSectionLib library class to replace CustomDecompressLib. | |
Code Change: | |
1) Add the definition MdePkg\Include\Library\ExtractGuidedSectionLib.h and | |
library instance MdePkg\Library\PeiDxeExtractGuidedSectionLib for new ExtractGuidedSectionLib. | |
2) Add gEfiMdePkgTokenSpaceGuid.PcdMaximumGuidedExtractHandler in MdePkg, which is used by | |
PeiDxeExtractGuidedSectionLib library instance. | |
3) Update DxeIpl and DxeMain modules of MdeModulePkg to use new ExtractGuidedSectionLib library class. | |
4) Update BaseUefiTianoCustomDecompressLib of IntelFrameworkModulePkg not to produce CustomDecompressLib, | |
and to register TianoDecomress handler into ExtractGuidedSectionHandler list. | |
Possible Impacts: | |
1) Platform.dsc file should update library instance and PCD if it contains DxeIpl and DxeMain modules. | |
It should use MdePkg\Library\PeiDxeExtractGuidedSectionLib library instance and | |
set gEfiMdePkgTokenSpaceGuid.PcdMaximumGuidedExtractHandler PCD value. | |
========================================================================================== | |
EDK_3871: Non-Compatible: klu2 | |
Class_PIEnable[1]: Use new entry point for PeiCore defined in PI specification. | |
Code Change: | |
1) Remove the definition and library instance for OldPeiCoreEntryPoinLib | |
Possible Impacts: | |
1) Platform should select MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf for | |
PeiMain module. | |
2) The SecCore module should provide parameters for new entry point defined in | |
MdePkg\Include\Library\PeiCoreEntryPoint.h | |
EDK_3922: Non-Compatible: qwang12, klu2 | |
Class_PIEnable[0]: Update PeiServicesLib based on new features defined in PI spec. | |
Code Change : | |
1) Add the following services:PeiServicesRegisterForShadow, PeiServicesFfsGetFileInfo, PeiServicesFfsFindFileByName and PeiServicesFfsGetVolumeInfo | |
2) The paramter list of these functiuon has also been updated to replace EFI_FIRMWARE_VOLUME_HEADER to EFI_PEI_FV_HANDLE and EFI_FFS_FILE_HEADER | |
to EFI_PEI_FILE_HANDLE. | |
3) Add CONST to parameter of PeiServices EFI_PEI_SERVICES.EFI_PEI_RESET_SYSTEM | |
Possible Impacts: | |
1) Platform code should be updated to make use of these new PI features. The functions in MdePkg/Include/Library/PeiServicesLib.h are | |
recommended as PeiServices is saved for every PEI Services API invokation. | |
2) Now PEIM entry point is upadted to pass in PeiServices in type of (CONST EFI_PEI_SERVICS **). Platform code should be updated to | |
add (EFI_PEI_SERVICS **) cast to PeiServices before passing it to the previously defined PPI interface which needs a (EFI_PEI_SERVICS **) | |
type for PeiServices parameter. | |
3) The newly defined PPI should not inlcude PeiSevices in the paramter list as PI spec has standard way to retrive PeiServices (check VOL 1 | |
Section 4.4 PEI Sevices Table Retrieval) for details. Beside, GetPeiServicesTablePointer() in MdePkg\Include\Library\PeiServicesTablePointerLib.h | |
also provide convinient way to retrieve the pointer to Pei Service Table. | |
EDK_4067: Non-Compatible: qwang12 | |
Class_PIEnable[1]: Add PeiPiLib library class and replace PiLib with DxePiLib library class. | |
Code Change : | |
1) Change MdePkg/Include/Library/PiLib.h to MdePkg/Include/Library/DxePiLib.h. DxePiLib is mainly used | |
for modules in DXE phase. Add a DxePiLib.h library instance at MdePkg/Library/DxePiLib/DxePiLib.inf. | |
2) Add MdePkg/Include/Library/PeiPiLib.h. PeiPiLib is mainly used by modules in PEI phase. | |
Add a DxePiLib.h library instance at MdePkg/Library/PeiPiLib/PeiPiLib.inf. | |
3) Rename API in PeiPiLib.h from PeiPiLibBuildPiFvInfoPpi to PiLibInstallFvInfoPpi. | |
4) Rename APIs originally in PiLib.h with new names defined in DxePiLib.h: | |
4.1) GetSectionFrom*Fv functions are changed to PiLibGetSectionFrom*Fv to reduce possibility of name collision. | |
4.2) Remove API named ImageHandleToFvHandle and GetSectionFromFvFile | |
Possible Impacts: | |
1) Platform modules that reference PeiPiLibBuildPiFvInfoPpi and GetSectionFrom*Fv should reference the new | |
names defined. | |
2) Platform DSC file that specifying library instance for PiLib should be updated to add one line (a example | |
is given below): | |
[LibraryClasses.common.DXE_DRIVER] | |
... | |
DxePiLib|MdePkg/Library/DxePiLib/DxePiLib.inf | |
... | |
3) Platform DSC file including modules that make use of API from PeiPiLib.h should add the following line (a example | |
is given below): | |
[LibraryClasses.common.PEIM] | |
... | |
PeiPiLib|MdePkg/Library/PeiPiLib/PeiPiLib.inf | |
... | |