]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/ChangeLog.txt
Reviewed the description in the FatBinPkg .dec file.
[mirror_edk2.git] / MdePkg / ChangeLog.txt
index fb57fa0060d463f4574082bd1b05e03c7b8beb1c..11ee2e40c1ccb7b2bc1eceab56222e6c608a3b4b 100644 (file)
@@ -38,7 +38,40 @@ EDK_0000: Compatible: owner
 !!!!!!!!!!!!!!!!!!                     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
@@ -76,3 +109,190 @@ EDK_3922:  Non-Compatible: qwang12, klu2
          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
+EDK_5835:  Non-Compatible: qwang12\r
+  Class General Definitions: NULL_HANDLE definition is removed from UefiBaseType.h. If any modules referencs NULL_HANDLE, they should be updated to use NULL. \r
+  \r
+EDK_5869:  Non-Compatible: qhuang8\r
+  Class General Definitions: Update the macro ALIGN_VARIALBE to drop the second parameter.\r
+  \r
+               Code Change:\r
+                       The macro ALIGN_VARIABLE in base.h is changed to keep the first paramter\r
+\r
+               Possible Impacts:\r
+                       Modules using this macro, it needs to adapt to new interface.\r
+                       \r
+EDK_5939:  Non-Compatible: qwang12\r
+  Library API moved from HiiLib to UefiLib.\r
+  \r
+               Code Change:\r
+                       Change HiiLibGetCurrentLanguage to GetCurrentLanguage and moved it from HiiLib to UefiLib.\r
+\r
+               Possible Impacts:\r
+                       All module that reference HiiLibGetCurrentLanguage should be updated in the following step:\r
+                         0) Change HiiLibGetCurrentLanguage to GetCurrentLanguage.\r
+                               1) Add UefiLib to [LibraryClass] in INF if it is not included before.\r
+                               2) Remove HiiLib from [LibraryClass] if HiiLibGetCurrentLanguage is the only API from original HiiLib referenced by this module.\r
+                               3) Add UefiLib to [LibraryClasses.common.Module Type] for the affected module if UefiLib is not in the list.\r
+                               \r
+EDK_5989:  Non-Compatible: qwang12\r
+  Library API name changed:\r
+   In IfrSupportLib,\r
+        Rename BufToHexString to BufInReverseOrderToHexString \r
+   Rename HexStringToBuf to HexStringToBufInReverseOrder\r
+\r
+Possible Impacts:\r
+                       All module that reference BufToHexString or HexStringToBuf should be updated in the following step:\r
+                         0) Change HiiLibGetCurrentLanguage to GetCurrentLanguage.\r
+                               1) Change BufToHexString to BufInReverseOrderToHexString \r
+                         2) Change HexStringToBuf to HexStringToBufInReverseOrder\r
+\r
+EDK_6111:  Non-Compatible: qwang12\r
+  Module type Include file is not included on default.\r
+   In Protocol/PPI/GUID/Libary header file, the "#include" of the module type header file such as <Base.h>, <PiPei.h>, <PiDxe.h> and \r
+   <Uefi.h> are removed. The module (DXE driver, UEFI Driver, PEIM) should include these files if required.\r
+\r
+Possible Impacts:\r
+                       Customer's module (DXE driver, UEFI Driver, PEIM) may failed to build as module type header file such as <Base.h>, <PiPei.h>, <PiDxe.h>\r
+                       <Uefi.h> is removed from the Protocol/PPI/GUID/Libary header file. If the module can build before the update but failed after the update\r
+                       because of some undefined basic data type such as "EFI_GUID", module developer should include the module type header file accordingly.\r
+                               \r
+EDK_6131:  Non-Compatible: qwang12\r
+\r
+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.\r
+\r
+Possible Impacts:\r
+                       Customer's module that reference GetPeiServicesTablePointer in PeiServicesTablePointer library may need to updated. Otherwise\r
+                       a build break (mismatch of data type) may occur.\r
+                       \r
+EDK_6307:  Non-Compatible: qwang12\r
+\r
+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. \r
+\r
+It is recommended that module writer should keep track how a pointer is allocated and free it after use.\r
+\r
+Possible Impacts:\r
+                       Customer's module that reference SafeFreePool need to updated. Otherwise\r
+                       a build break may occur.\r
+                       \r
+EDK_6455-6460:  Non-Compatible: klu2\r
+    1. Clean up device path protocol header file, move device path utility macros to MdePkg\Include\DevicePathLib.h.\r
+    2. I remove "Efi" prefix for this utility function macro name. \r
+    3. The upacked device path type is removed. Should use device path utility macro to access structure's member.\r
+\r
+Possible Impacts:\r
+    1. Customer's module that access device path node's structure need use DevicePathLib\r
+    2. Should not use unpacked type device path node, this type is retired.\r
+    3. If want to access private member in device path node, customer module need DuplicateDevicePath() at first to \r
+       make sure node is in alignment.\r
+              \r
+EDK_6496-6519:  Non-Compatible: qhuang8\r
+\r
+       A bundle of library class/instance renames, moves and merges:\r
+       1.  Rename library class UsbLib to UefiUsbLib\r
+       2.  Rename library class ScsiLib to UefiScsiLib\r
+       3.  Rename library class PalCallLib to PalLib\r
+       4.  Rename library class DxePiLib to DxeSerivcesLib and drop the prefix "PiLib" to all its APIs.\r
+       5.  Merge library class PiPeiLib to PeiServicesLib and rename the PiLibInstallFvInfoPpi() to PeiServicesInstallFvInfoPpi()\r
+       6.  Move library class HiiLib to MdeModulePkg\r
+       7.  Move library class IfrSupportLib to MdeModulePkg\r
+       8.  Move library class FvbServiceLib to MdeModulePkg\r
+       9.  Rename library instance of BasePalCallLibNull to BasePalLibNull\r
+       10. Move library instance UefiHiiLib to MdeModulePkg\r
+       11. Move library instance UefiIfrSupportLib to MdeModulePkg\r
+\r
+Possible Impacts:\r
+        Every change listed above is non-backward compatible for MdePkg and other packages. It is required to update module\r
+        sources (*.c;*.h), module meta data files (*.inf) and update the platform DSC files to fix the build break.\r
+        However, it is less likely to bring about functional issue for these updates.\r
+\r
+\r
+EDK_6565:  Non-Compatible: qhuang8\r
+       \r
+       Remove some macro in UefiScsiLib:\r
+       EFI_SCSI_STALL_1_MICROSECOND, EFI_SCSI_STALL_1_MILLISECOND, EFI_SCSI_STALL_1_SECOND & EFI_SCSI_STALL_SECONDS(a)  \r
+       \r
+Possible Impacts:\r
+       Modules depending on UefiScsiLib for these macros should update the source to use new UefiLib macros\r
+       EFI_TIMER_PERIOD_MICROSECONDS(X), EFI_TIMER_PERIOD_MILLISECONDS(X) and EFI_TIMER_PERIOD_SECONDS(X) for managing Timer Events.\r
+       Especailly, EFI_SCSI_STALL_SECONDS(a) is simply replaced by EFI_TIMER_PERIOD_SECONDS(a)\r
+\r
+EDK_6886:  Non-Compatible: mdkinney\r
+       \r
+       Rename _CR macro defined in MdePkg/Include/Base.h to BASE_CR macro aligned to MdeLib spec.\r
+\r
+Possible Impacts:\r
+       All source codes that depends on _CR macro must be changed to use BASE_CR.      \r
+\r
+EDK_6935:  Non-Compatible: lgao4\r
+       \r
+       In MdePkg/Include/Guid/FileSystemVolumeLabelInfo.h file, to follow UEFI specification.\r
+       Rename EFI_FILE_SYSTEM_VOLUME_LABEL_INFO_ID_GUID to EFI_FILE_SYSTEM_VOLUME_LABEL_ID\r
+       Rename EFI_FILE_SYSTEM_VOLUME_LABEL_INFO to EFI_FILE_SYSTEM_VOLUME_LABEL.\r
+\r
+Possible Impacts:\r
+       All source codes that refer to EFI_FILE_SYSTEM_VOLUME_LABEL_INFO_ID_GUID or EFI_FILE_SYSTEM_VOLUME_LABEL_INFO\r
+       must be changed to use their definitions from UEFI specification.       \r
+\r
+EDK_6974:  Non-Compatible: lgao4\r
+       \r
+       In MdePkg/Include/Uefi/UefiSpec.h file, to follow UEFI2.1 specification.\r
+       Rename struct EFI_KEY_OPTION.KeyOptions to EFI_KEY_OPTION.KeyData\r
+\r
+Possible Impacts:\r
+       All source codes that refer to EFI_KEY_OPTION.KeyOptions\r
+       must be changed to use EFI_KEY_OPTION.KeyData from UEFI specification.  \r
+\r
+EDK_7057:  Non-Compatible: qhuang8\r
+       Retired the following macros defined in MdePkg/Include/Uefi/UefiBaseType.h:\r
+       EFI_SIGNATURE_16, EFI_SIGNATURE_32, EFI_SIGNATURE_64, EFI_FIELD_OFFSET, EFI_MAX_BIT & EFI_MAX_ADDRESS\r
+       \r
+Possible impacts:\r
+       All EDKII native source code needs to update to use the equivelent macros (without "EFI_" prefix except for\r
+       EFI_FIELD_OFFSET) defined in MdePkg\Include\Base.h and MdePkg\Include\$(ARCH)\ProcessorBinding.h:\r
+       EFI_SIGNATURE_16 -> SIGNATURE_16\r
+       EFI_SIGNATURE_32 -> SIGNATURE_32\r
+       EFI_SIGNATURE_64 -> SIGNATURE_64\r
+       EFI_FIELD_OFFSET -> OFFSET_OF\r
+       EFI_MAX_BIT      -> MAX_BIT\r
+       EFI_MAX_ADDRESS  -> MAX_ADDRESS\r
+\r
+EDK_7467:  Non-Compatible: qhuang8\r
+       Remove the macro value TIME_OUT defined in MdePkg/Include/Uefi/UefiUsbLib.h and replace it with a new PCD entry:\r
+       gEfiMdePkgTokenSpaceGuid.PcdUsbTransferTimeoutValue  \r
+       \r
+Possible impacts:\r
+       All modules depending on macro TIME_OUT in MdePkg/Include/Uefi/UefiUsbLib.h should use PcdGet32 (PcdUsbTransferTimeoutValue)\r
+       for the USB transaction, include "PcdLib" in INF [LibraryClasses] section and add "#include <Library/PcdLib.h>" in module\r
+       source.
\ No newline at end of file