X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=MdePkg%2FChangeLog.txt;h=2f8af61313995068dc2fb3b3f21fb22093652227;hb=a89fa50ccf7a29405e3d24c49625dbd70cdba9fa;hp=d7b523ee92ce88c2abc7c25850e56d5001e1feba;hpb=b5793f469e82a3d65cd890a9c29bfd8a25b9bf54;p=mirror_edk2.git diff --git a/MdePkg/ChangeLog.txt b/MdePkg/ChangeLog.txt index d7b523ee92..2f8af61313 100644 --- a/MdePkg/ChangeLog.txt +++ b/MdePkg/ChangeLog.txt @@ -154,7 +154,7 @@ EDK_5869: Non-Compatible: qhuang8 Modules using this macro, it needs to adapt to new interface. EDK_5939: Non-Compatible: qwang12 - Library API moved frrom HiiLib to UefiLib. + Library API moved from HiiLib to UefiLib. Code Change: Change HiiLibGetCurrentLanguage to GetCurrentLanguage and moved it from HiiLib to UefiLib. @@ -188,3 +188,150 @@ Possible Impacts: is removed from the Protocol/PPI/GUID/Libary header file. If the module can build before the update but failed after the update because of some undefined basic data type such as "EFI_GUID", module developer should include the module type header file accordingly. +EDK_6131: Non-Compatible: qwang12 + +Base on PI spec, GetPeiServicesTablePointer in PeiServicesTablePointer library is updated to return CONST EFI_PEI_SERVICES**. This is a incompatible changes. All file that reference this must be updated. + +Possible Impacts: + Customer's module that reference GetPeiServicesTablePointer in PeiServicesTablePointer library may need to updated. Otherwise + a build break (mismatch of data type) may occur. + +EDK_6307: Non-Compatible: qwang12 + +Remove SafeFreePool from MemoryAllocationLib as this API's name is misleading. Its implementation only check if a pointer is NULL. If a garbage pointer is passed in, the gBS->FreePool will still ASSERT in debug build and return error code. + +It is recommended that module writer should keep track how a pointer is allocated and free it after use. + +Possible Impacts: + Customer's module that reference SafeFreePool need to updated. Otherwise + a build break may occur. + +EDK_6455-6460: Non-Compatible: klu2 + 1. Clean up device path protocol header file, move device path utility macros to MdePkg\Include\DevicePathLib.h. + 2. I remove "Efi" prefix for this utility function macro name. + 3. The upacked device path type is removed. Should use device path utility macro to access structure's member. + +Possible Impacts: + 1. Customer's module that access device path node's structure need use DevicePathLib + 2. Should not use unpacked type device path node, this type is retired. + 3. If want to access private member in device path node, customer module need DuplicateDevicePath() at first to + make sure node is in alignment. + +EDK_6496-6519: Non-Compatible: qhuang8 + + A bundle of library class/instance renames, moves and merges: + 1. Rename library class UsbLib to UefiUsbLib + 2. Rename library class ScsiLib to UefiScsiLib + 3. Rename library class PalCallLib to PalLib + 4. Rename library class DxePiLib to DxeSerivcesLib and drop the prefix "PiLib" to all its APIs. + 5. Merge library class PiPeiLib to PeiServicesLib and rename the PiLibInstallFvInfoPpi() to PeiServicesInstallFvInfoPpi() + 6. Move library class HiiLib to MdeModulePkg + 7. Move library class IfrSupportLib to MdeModulePkg + 8. Move library class FvbServiceLib to MdeModulePkg + 9. Rename library instance of BasePalCallLibNull to BasePalLibNull + 10. Move library instance UefiHiiLib to MdeModulePkg + 11. Move library instance UefiIfrSupportLib to MdeModulePkg + +Possible Impacts: + Every change listed above is non-backward compatible for MdePkg and other packages. It is required to update module + sources (*.c;*.h), module meta data files (*.inf) and update the platform DSC files to fix the build break. + However, it is less likely to bring about functional issue for these updates. + + +EDK_6565: Non-Compatible: qhuang8 + + Remove some macro in UefiScsiLib: + EFI_SCSI_STALL_1_MICROSECOND, EFI_SCSI_STALL_1_MILLISECOND, EFI_SCSI_STALL_1_SECOND & EFI_SCSI_STALL_SECONDS(a) + +Possible Impacts: + Modules depending on UefiScsiLib for these macros should update the source to use new UefiLib macros + EFI_TIMER_PERIOD_MICROSECONDS(X), EFI_TIMER_PERIOD_MILLISECONDS(X) and EFI_TIMER_PERIOD_SECONDS(X) for managing Timer Events. + Especailly, EFI_SCSI_STALL_SECONDS(a) is simply replaced by EFI_TIMER_PERIOD_SECONDS(a) + +EDK_6886: Non-Compatible: mdkinney + + Rename _CR macro defined in MdePkg/Include/Base.h to BASE_CR macro aligned to MdeLib spec. + +Possible Impacts: + All source codes that depends on _CR macro must be changed to use BASE_CR. + +EDK_6935: Non-Compatible: lgao4 + + In MdePkg/Include/Guid/FileSystemVolumeLabelInfo.h file, to follow UEFI specification. + Rename EFI_FILE_SYSTEM_VOLUME_LABEL_INFO_ID_GUID to EFI_FILE_SYSTEM_VOLUME_LABEL_ID + Rename EFI_FILE_SYSTEM_VOLUME_LABEL_INFO to EFI_FILE_SYSTEM_VOLUME_LABEL. + +Possible Impacts: + All source codes that refer to EFI_FILE_SYSTEM_VOLUME_LABEL_INFO_ID_GUID or EFI_FILE_SYSTEM_VOLUME_LABEL_INFO + must be changed to use their definitions from UEFI specification. + +EDK_6974: Non-Compatible: lgao4 + + In MdePkg/Include/Uefi/UefiSpec.h file, to follow UEFI2.1 specification. + Rename struct EFI_KEY_OPTION.KeyOptions to EFI_KEY_OPTION.KeyData + +Possible Impacts: + All source codes that refer to EFI_KEY_OPTION.KeyOptions + must be changed to use EFI_KEY_OPTION.KeyData from UEFI specification. + +EDK_7057: Non-Compatible: qhuang8 + Retired the following macros defined in MdePkg/Include/Uefi/UefiBaseType.h: + EFI_SIGNATURE_16, EFI_SIGNATURE_32, EFI_SIGNATURE_64, EFI_FIELD_OFFSET, EFI_MAX_BIT & EFI_MAX_ADDRESS + +Possible impacts: + All EDKII native source code needs to update to use the equivelent macros (without "EFI_" prefix except for + EFI_FIELD_OFFSET) defined in MdePkg\Include\Base.h and MdePkg\Include\$(ARCH)\ProcessorBinding.h: + EFI_SIGNATURE_16 -> SIGNATURE_16 + EFI_SIGNATURE_32 -> SIGNATURE_32 + EFI_SIGNATURE_64 -> SIGNATURE_64 + EFI_FIELD_OFFSET -> OFFSET_OF + EFI_MAX_BIT -> MAX_BIT + EFI_MAX_ADDRESS -> MAX_ADDRESS + +EDK_7467: Non-Compatible: qhuang8 + Remove the macro value TIME_OUT defined in MdePkg/Include/Uefi/UefiUsbLib.h and replace it with a new PCD entry: + gEfiMdePkgTokenSpaceGuid.PcdUsbTransferTimeoutValue + +Possible impacts: + All modules depending on macro TIME_OUT in MdePkg/Include/Uefi/UefiUsbLib.h should use PcdGet32 (PcdUsbTransferTimeoutValue) + for the USB transaction, include "PcdLib" in INF [LibraryClasses] section and add "#include " in module + source. + +EDK_9384: Non-Compatible: xli24 + + 2 default values of status code PCDs updated in MdePkg.dec. + + 1) PcdStatusCodeValueBootServiceExit. Its value is changed from 0x3100019 to 0x3101019, which equals EFI_SOFTWARE_EFI_BOOT_SERVICE | EFI_SW_BS_PC_EXIT_BOOT_SERVICES. + 2) PcdStatusCodeValuePeiHandoffToDxe. Its value is changed from 0x3031001 to 0x3021001, which equals EFI_SOFTWARE_PEI_CORE | EFI_SW_PEI_CORE_PC_HANDOFF_TO_NEXT. + +Possible impacts: + Platforms which uses the default values of PCD (not overriding in DSC) would get updated report status code values for boot service exit and PEI hand-off. + +EDK_9385: Non-Compatible: xli24 + + Default value of PcdStatusCodeValueSetVirtualAddressMap updated in MdePkg.dec. + The value of PcdStatusCodeValueSetVirtualAddressMap is changed from 0x03101004 to 0x03111004, which equals EFI_SOFTWARE_EFI_RUNTIME_SERVICE | EFI_SW_RS_PC_SET_VIRTUAL_ADDRESS_MAP. + + +Possible impacts: + Platforms which uses the default value of PCD (not overriding in DSC) would get updated report status code value for setting virtual address map. + +EDK_9394: Non-Compatible: qhuang8 + + GUID value of EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL_GUID and gEfiFirmwareVolumeBlockProtocolGuid has been changed to + that of EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL_GUID defined in PI 1.2 spec. + + +Possible impacts: + This is a source level compatible change, but not binary level. We might need to rebuild some old binary modules to work with newer version of MdePkg. + + +EDK_9817: Non-Compatible: qhuang8 + Scrub EFI_ATA_IDENTIFY_DATA and EFI_ATAPI_IDENTIFY_DATA to strict follow newest ATA spec (ATA-8). This is a build non-backward compatible changes for ATA-related modules. + The ATA5_IDENTIFY_DATA in MdePkg\IndustryStandards\Atapi.h is exactly the same as the original ATA_IDENTIFY_DATA for backward compatibility support to follow ATA-5 spec. + +Possible impacts: + We can fix the build breaks for some renaming issues (e.g. Word 49 in EFI_ATA_IDENTIFY_DATA renamed from "capabilities" to "capabilities_49") + For the fields that are "obsolete" in newest ATA spec, we can use type-cast to older ATA spec structure (e.g. ATA5_IDENTIFY_DATA). + (There should not be any runtime issues if the build issues have got solved in the source correctly.) +