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