| ########################################################################################## | |
| !!!!!!!!!!!!!!!!! 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_4310: Non-Compatible: qhuang8 | |
| Class_ModuleRemove[0]: Remove AtapiPassThru module from MdeModulePkg. AtapiPassThru | |
| module is only used for testing. We already have a driver in OptionRomPkg to | |
| produce ScsiPassThru and ExtScsiPassThru based on PCD setting. We can remove it | |
| from MdeModulePkg. | |
| Code Change : | |
| 1) Remove module MdeModulePkg/Bus/Pci/AtapiPassThruDxe/AtapiPassThru.inf | |
| Impact to platform code: | |
| If a platform happens to refer to this module in their dsc file, please use the | |
| counterpart module in OptionRomPkg. | |
| ========================================================================================== | |
| EDK_4067: Non-Compatible: qwang12 | |
| Class_PIEnable[6]: PEI core does not build FV HOB upon notification of a EFI_PEI_FIRMWARE_VOLUME_INFO_PPI automatically. | |
| Code Change : | |
| 1) MdeModulePkg/Core/Pei/FwVol/FwVol.c | |
| Impact to platform code: | |
| 1) If platform module want to inform both PEI core and DXE core about the existance of new FV | |
| it must both install EFI_PEI_FIRMWARE_VOLUME_INFO_PPI and FV HOB. | |
| A example is given belows: | |
| PiLibInstallFvInfoPpi ( | |
| NULL, | |
| Buffer, | |
| (UINT32) FvHeader->FvLength, | |
| NULL, | |
| NULL | |
| ); | |
| BuildFvHob ( | |
| (EFI_PHYSICAL_ADDRESS) (UINTN) Buffer, | |
| (UINT32) FvHeader->FvLength | |
| ); | |
| PEI core does not automatically build FV HOB upon notification of a EFI_PEI_FIRMWARE_VOLUME_INFO_PPI. | |
| The description in Item 2 in Section 4.8.1.2 in Vol 1 of PI spec will be updated to remove the | |
| "Create a new firmware volume HOB" wording. | |
| ========================================================================================== | |
| EDK_4000-4006: Compatible: qhuang8 | |
| Class_UefiEnable[0]: Uefi feature -Add component name 2 protocol support for | |
| all drivers that support component name protocol | |
| Code Change : | |
| 1) Update MdeModulePkg/Bus/Pci/* | |
| 2) Update MdeModulePkg/Bus/Scsi/* | |
| 3) Update MdeModulePkg/Bus/Usb/* | |
| 4) Update MdeModulePkg/Universal/Disk/* | |
| 5) Update MdeModulePkg/Universal/DebugPortDxe/* | |
| 6) Update MdeModulePkg/Universal/Console/* | |
| 7) Update MdeModulePkg/Universal/Network/* | |
| possible impact: | |
| 1) To produce the component name 2 protocol, platform DSC file needs to set feature | |
| flag 'PcdComponentName2Disable' to 'FALSE' | |
| ========================================================================================== | |
| EDK_3967: Non-Compatible: lgao4 | |
| Class_Library: Remove PeCoffLoader library class and its instances. | |
| Code Change : | |
| 1) Remove MdeModulePkg/Include/Library/PeCoffLoaderLib.h | |
| 2) Remove MdeModulePkg/Library/DxePeCoffLoaderFromHobLib and PeiDxePeCoffLoaderLib instance | |
| 3) Modify PeiCore, DxeIpl and DxeCore to use PeCoffLib in place of PeCoffLoaderLib. | |
| Possible Impacts: | |
| 1) All modules don't use PeCoffloader library class any longer to load PeImage. | |
| If necessary, they should use PeCoffLib of MdePkg to load PeImage. | |
| ========================================================================================== | |
| EDK_3931: Non-Compatible: klu2 | |
| Class_PIEnable[5]: New library class for S3Resume and Recovery for DxeIpl PEIM. | |
| Code Change: | |
| 1) Add new library class | |
| a) MdeModulePkg/Include/Library/S3Lib.h | |
| b) MdeModulePkg/Include/Library/RecoveryLib.h | |
| 2) Add NULL library instances for MdeModulePkg: | |
| a) MdeModulePkg/Library/PeiS3LibNull/PeiS3LibNull.inf. | |
| b) MdeModulePkg/Library/PeiRecoveryLibNull/PeiRecoveryLibNull.inf | |
| 3) Add framework implement library instances: | |
| a) IntelFrameworkModulePkg/Library/PeiS3Lib/PeiS3Lib.inf | |
| b) IntelFrameworkModulePkg/Library/PeiRecovery/PeiRecovery.inf | |
| Possible Impacts: | |
| 1) In DSC file, real platform should select: | |
| S3Lib library class -> IntelFrameworkModulePkg/Library/PeiS3Lib/PeiS3Lib.inf | |
| RecoveryLib library class -> IntelFrameworkModulePkg/Library/PeiRecovery/PeiRecovery.inf | |
| Nt32 platform should select: | |
| S3Lib library class -> MdeModulePkg/Library/PeiS3LibNull/PeiS3LibNull.inf. | |
| RecoveryLib library class -> MdeModulePkg/Library/PeiRecoveryLibNull/PeiRecoveryLibNull.inf | |
| ========================================================================================== | |
| EDK_3922: Non-Compatible: qwang12, klu2 | |
| Class_PIEnable[2]: Update PEI core to only consume EFI_PEI_FIRMWARE_VOLUME_INFO_PPI | |
| Code Change : | |
| 1) Update PEI core to consume EFI_PEI_FIRMWARE_VOLUME_INFO_PPI to get the location of new FVs other than BFV | |
| reported by PEIMs . | |
| Possible Impacts: | |
| 1) Platform code that is going to inform PEI core about the new FVs other than BFV should install | |
| EFI_PEI_FIRMWARE_VOLUME_INFO_PPI. A library function named PeiPiLibBuildPiFvInfoPpi() defined in | |
| MdePkg\Include\Library\PeiPiLib.h can be used to install the PPI. | |
| There are two notes worth mentioning: | |
| 1) Platform PEIMs should report at least FVs containing DXE_CORE and all other PEIM to PEI Core if they | |
| are not in the BFV. | |
| 2) PEI core will dispatch PEIMs in the FV reported by PeiPiLibBuildPiFvInfoPpi() and invoke BuildFvHob () to build the | |
| FV HOB for this FV (see Section 4.8.1.2 of Vol 1 named Multiple Firmware Volume Support for details). | |
| If PEIM only want to inform DXE core about the existance of the new FV, it should call BuildFvHob instead. | |
| Class_PIEnable[3]: Update PEI core to support RegisterForShadow feature introduced by PI spec | |
| Code Change : | |
| 1) DXEIPL no longer produce EFI_PEI_FV_FILE_LOADER_PPI defined in Framework PEI CIS. | |
| Possible Impacts: | |
| 1)All PEIMs that need to shadow itself into memory and rerun the entry point should be updated to call RegisterForShadow | |
| (PeiServicesLibRegisterForShadow () is a helper function). | |
| 2)The depex of PEIMs that including EFI_PEI_FV_FILE_LOADER_PPI (or gEfiPeiFvFileLoaderPpiGuid) should be removed. | |
| Class_PIEnable[4]: Update PEI core to produce other new features defined in PI spec | |
| Code Change : | |
| 1) Add the following services: FfsGetFileInfo, FfsFindFileByName and FfsGetVolumeInfo | |
| Possible Impacts: | |
| 1) Platform code is recommended 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. | |
| ========================================================================================== | |
| EDK_3871: Non-Compatible: klu2 | |
| Class_PIEnable[1]: Use new entry point for PeiCore defined in PI specification. | |
| Code Change: | |
| 1) PeiMain module use PeiCoreEntryPoint library class but *not* original OldPeiCoreEntryPoint. | |
| 2) The memory service in PeiMain module get CAR base and size from parameter of PeiCore's | |
| Entry point directly but *not* computed from stack's base. | |
| 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_3866: Compatible: qhuang8 | |
| Class_UefiEnable[0]: Uefi2.1 feature - Add Hardware Error Record Persistence Support | |
| Code Change : | |
| 1) Modify MdeModulePkg/Universal/Variable/RuntimeDxe | |
| 2) Modify MdeModulePkg/Universal/Variable/EmuRuntimeDxe | |
| ========================================================================================== | |
| EDK_3773: Non-Compatible: qwang12 | |
| Class_PIEnable[0]: Enable DXE Core to produce EFI_FIRMWARE_VOLUME2_PROTOCOL only. | |
| Code Change : | |
| 1) Modify MdeModulePkg/Core/Dxe/DxeMain.inf module to produce only | |
| EFI_FIRMWARE_VOLUME2_PROTOCOL. Previously, EFI_FIRMWARE_VOLUME_PROTOCOL | |
| is produced by Dxe Core. | |
| Possible Impacts: | |
| 1) All modules that references EFI_FIRMWARE_VOLUME_PROTOCOL must be updated to use | |
| EFI_FIRMWARE_VOLUME2_PROTOCOL. | |
| 2) All modules that references gEfiFirmwareVolumeProtocolGuid must be updated to | |
| use gEfiFirmwareVolume2ProtocolGuid. | |
| 3) The gEfiFirmwareVolumeProtocolGuid in [Depex] section of INF file should updated. | |
| And the package dependency should also be changed if needed due to this protocol | |
| GUID change. |