+ 1) All modules don't use PeCoffloader library class any longer to load PeImage. \r
+ If necessary, they should use PeCoffLib of MdePkg to load PeImage.\r
+\r
+==========================================================================================\r
+EDK_3931: Non-Compatible: klu2\r
+ \r
+ Class_PIEnable[5]: New library class for S3Resume and Recovery for DxeIpl PEIM.\r
+ \r
+ Code Change:\r
+ 1) Add new library class \r
+ a) MdeModulePkg/Include/Library/S3Lib.h\r
+ b) MdeModulePkg/Include/Library/RecoveryLib.h\r
+ 2) Add NULL library instances for MdeModulePkg:\r
+ a) MdeModulePkg/Library/PeiS3LibNull/PeiS3LibNull.inf.\r
+ b) MdeModulePkg/Library/PeiRecoveryLibNull/PeiRecoveryLibNull.inf\r
+ 3) Add framework implement library instances:\r
+ a) IntelFrameworkModulePkg/Library/PeiS3Lib/PeiS3Lib.inf\r
+ b) IntelFrameworkModulePkg/Library/PeiRecovery/PeiRecovery.inf\r
+ \r
+ Possible Impacts:\r
+ 1) In DSC file, real platform should select:\r
+ S3Lib library class -> IntelFrameworkModulePkg/Library/PeiS3Lib/PeiS3Lib.inf\r
+ RecoveryLib library class -> IntelFrameworkModulePkg/Library/PeiRecovery/PeiRecovery.inf\r
+ \r
+ Nt32 platform should select:\r
+ S3Lib library class -> MdeModulePkg/Library/PeiS3LibNull/PeiS3LibNull.inf.\r
+ RecoveryLib library class -> MdeModulePkg/Library/PeiRecoveryLibNull/PeiRecoveryLibNull.inf\r
+ \r
+==========================================================================================\r
+EDK_3922: Non-Compatible: qwang12, klu2\r
+ Class_PIEnable[2]: Update PEI core to only consume EFI_PEI_FIRMWARE_VOLUME_INFO_PPI\r
+\r
+ Code Change :\r
+ 1) Update PEI core to consume EFI_PEI_FIRMWARE_VOLUME_INFO_PPI to get the location of new FVs other than BFV\r
+ reported by PEIMs . \r
+\r
+ Possible Impacts:\r
+ 1) Platform code that is going to inform PEI core about the new FVs other than BFV should install \r
+ EFI_PEI_FIRMWARE_VOLUME_INFO_PPI. A library function named PeiPiLibBuildPiFvInfoPpi() defined in \r
+ MdePkg\Include\Library\PeiPiLib.h can be used to install the PPI. \r
+ There are two notes worth mentioning:\r
+ 1) Platform PEIMs should report at least FVs containing DXE_CORE and all other PEIM to PEI Core if they\r
+ are not in the BFV. \r
+ 2) PEI core will dispatch PEIMs in the FV reported by PeiPiLibBuildPiFvInfoPpi() and invoke BuildFvHob () to build the \r
+ FV HOB for this FV (see Section 4.8.1.2 of Vol 1 named Multiple Firmware Volume Support for details). \r
+ If PEIM only want to inform DXE core about the existance of the new FV, it should call BuildFvHob instead.\r
+ \r
+ \r
+ Class_PIEnable[3]: Update PEI core to support RegisterForShadow feature introduced by PI spec\r
+\r
+ Code Change :\r
+ 1) DXEIPL no longer produce EFI_PEI_FV_FILE_LOADER_PPI defined in Framework PEI CIS.\r
+\r
+ Possible Impacts:\r
+\r
+ 1)All PEIMs that need to shadow itself into memory and rerun the entry point should be updated to call RegisterForShadow\r
+ (PeiServicesLibRegisterForShadow () is a helper function).\r
+ 2)The depex of PEIMs that including EFI_PEI_FV_FILE_LOADER_PPI (or gEfiPeiFvFileLoaderPpiGuid) should be removed.\r
+ \r
+\r
+ Class_PIEnable[4]: Update PEI core to produce other new features defined in PI spec\r
+\r
+ Code Change :\r
+ 1) Add the following services: FfsGetFileInfo, FfsFindFileByName and FfsGetVolumeInfo\r
+\r
+ Possible Impacts:\r
+\r
+ 1) Platform code is recommended 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