########################################################################################## | |
!!!!!!!!!!!!!!!!! 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. |