]>
Commit | Line | Data |
---|---|---|
1b7f7985 | 1 | ##########################################################################################\r |
2 | !!!!!!!!!!!!!!!!! Notes for this ChangeLog.txt !!!!!!!!!!!!!!!!!\r | |
3 | \r | |
4 | This log file is used to record two kinds of important information:\r | |
5 | a) "Non-Compatible Changes": all non-compatible changes should be recorded. These info\r | |
6 | will help the package user to merge this package; and some non-compatible changes\r | |
7 | can also be added into release notes as news features when we release this package.\r | |
8 | Normally Non-Compatible Changes contains the following types:\r | |
9 | 1) Package's external services were changed/updated\r | |
10 | 2) Package's common .h file is renamed, deleted, or the file path is changed.\r | |
11 | 3) The definition of package's common data structure is changed\r | |
12 | ...\r | |
13 | \r | |
14 | b) "Important Compatible Changes": some important compatible changes can aslo be recorded\r | |
15 | in this file, and we can add these updating into release notes when we release this\r | |
16 | package.\r | |
17 | \r | |
18 | Non-Compatible and Compatible example format:\r | |
19 | ==========================================================================================\r | |
20 | EDK_0010: Non-Compatible: owner\r | |
21 | \r | |
22 | Class_HFile: PPI A of MdePkg has been removed.\r | |
23 | \r | |
24 | Code Change :\r | |
25 | 1) Removed the .h file: MdePkg\Include\Ppi\A.h\r | |
26 | \r | |
27 | Possible Impacts:\r | |
28 | 1) All modules that used this PPI A should be updated.\r | |
29 | \r | |
30 | ==========================================================================================\r | |
31 | EDK_0000: Compatible: owner\r | |
32 | \r | |
33 | Class_BuildTool: with the EDK_0000 build.exe, the build performance is enhanced great.\r | |
34 | \r | |
35 | Code Change :\r | |
36 | 1) BaseTools\Bin\Win32\build.exe\r | |
37 | \r | |
ba7c1a50 | 38 | !!!!!!!!!!!!!!!!!! End of Notes !!!!!!!!!!!!!!!!!!\r |
39 | ##########################################################################################\r | |
40 | \r | |
63e4bea4 LG |
41 | ==========================================================================================\r |
42 | EDK_3983: Non-Compatible: lgao4\r | |
43 | \r | |
44 | Class_Library: Remove CustomDecompressLib library class.\r | |
45 | \r | |
46 | Code Change:\r | |
47 | 1) Remove the definition MdePkg\Include\Library\CustomDecompressLib.h and \r | |
48 | library instance MdePkg\Library\BaseCustomDecompressLibNull for CustomDecompressLib.\r | |
49 | \r | |
50 | Possible Impacts:\r | |
51 | 1) Drivers don't use this library class any longer. But they can use new ExtractGuidedSectionLib\r | |
52 | library class to extract the compressed guided section data.\r | |
53 | 2) The instance of CustomDecompressLib should be changed to register the decode function \r | |
54 | into ExtractGuidedSectionHandler list, and not to produce CustomDecompressLib class.\r | |
55 | 3) Platform.dsc file doesn't use this library instance any longer.\r | |
ba7c1a50 | 56 | \r |
63e4bea4 LG |
57 | ==========================================================================================\r |
58 | EDK_3980: Non-Compatible: lgao4\r | |
59 | \r | |
60 | Class_Library: Add ExtractGuidedSectionLib library class to replace CustomDecompressLib.\r | |
61 | \r | |
62 | Code Change:\r | |
63 | 1) Add the definition MdePkg\Include\Library\ExtractGuidedSectionLib.h and \r | |
64 | library instance MdePkg\Library\PeiDxeExtractGuidedSectionLib for new ExtractGuidedSectionLib.\r | |
65 | 2) Add gEfiMdePkgTokenSpaceGuid.PcdMaximumGuidedExtractHandler in MdePkg, which is used by \r | |
66 | PeiDxeExtractGuidedSectionLib library instance.\r | |
67 | 3) Update DxeIpl and DxeMain modules of MdeModulePkg to use new ExtractGuidedSectionLib library class.\r | |
68 | 4) Update BaseUefiTianoCustomDecompressLib of IntelFrameworkModulePkg not to produce CustomDecompressLib,\r | |
69 | and to register TianoDecomress handler into ExtractGuidedSectionHandler list.\r | |
70 | \r | |
71 | Possible Impacts:\r | |
72 | 1) Platform.dsc file should update library instance and PCD if it contains DxeIpl and DxeMain modules.\r | |
73 | It should use MdePkg\Library\PeiDxeExtractGuidedSectionLib library instance and \r | |
74 | set gEfiMdePkgTokenSpaceGuid.PcdMaximumGuidedExtractHandler PCD value.\r | |
6a9d345a | 75 | \r |
76 | ==========================================================================================\r | |
77 | EDK_3871: Non-Compatible: klu2\r | |
78 | \r | |
79 | Class_PIEnable[1]: Use new entry point for PeiCore defined in PI specification.\r | |
80 | \r | |
81 | Code Change:\r | |
82 | 1) Remove the definition and library instance for OldPeiCoreEntryPoinLib\r | |
83 | \r | |
84 | Possible Impacts:\r | |
85 | 1) Platform should select MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf for \r | |
86 | PeiMain module.\r | |
87 | 2) The SecCore module should provide parameters for new entry point defined in \r | |
88 | MdePkg\Include\Library\PeiCoreEntryPoint.h\r | |
89 | \r | |
1b7f7985 | 90 | \r |
ba7c1a50 | 91 | EDK_3922: Non-Compatible: qwang12, klu2\r |
92 | Class_PIEnable[0]: Update PeiServicesLib based on new features defined in PI spec.\r | |
93 | \r | |
94 | Code Change :\r | |
95 | 1) Add the following services:PeiServicesRegisterForShadow, PeiServicesFfsGetFileInfo, PeiServicesFfsFindFileByName and PeiServicesFfsGetVolumeInfo\r | |
96 | 2) The paramter list of these functiuon has also been updated to replace EFI_FIRMWARE_VOLUME_HEADER to EFI_PEI_FV_HANDLE and EFI_FFS_FILE_HEADER\r | |
97 | to EFI_PEI_FILE_HANDLE.\r | |
98 | 3) Add CONST to parameter of PeiServices EFI_PEI_SERVICES.EFI_PEI_RESET_SYSTEM\r | |
99 | \r | |
100 | Possible Impacts:\r | |
1b7f7985 | 101 | \r |
ba7c1a50 | 102 | 1) Platform code should be updated to make use of these new PI features. The functions in MdePkg/Include/Library/PeiServicesLib.h are \r |
103 | recommended as PeiServices is saved for every PEI Services API invokation.\r | |
104 | 2) Now PEIM entry point is upadted to pass in PeiServices in type of (CONST EFI_PEI_SERVICS **). Platform code should be updated to \r | |
105 | add (EFI_PEI_SERVICS **) cast to PeiServices before passing it to the previously defined PPI interface which needs a (EFI_PEI_SERVICS **)\r | |
106 | type for PeiServices parameter.\r | |
107 | 3) The newly defined PPI should not inlcude PeiSevices in the paramter list as PI spec has standard way to retrive PeiServices (check VOL 1\r | |
108 | Section 4.4 PEI Sevices Table Retrieval) for details. Beside, GetPeiServicesTablePointer() in MdePkg\Include\Library\PeiServicesTablePointerLib.h\r | |
109 | also provide convinient way to retrieve the pointer to Pei Service Table.\r | |
110 | \r | |
1b7f7985 | 111 | \r |
5b65d604 | 112 | EDK_4067: Non-Compatible: qwang12\r |
113 | Class_PIEnable[1]: Add PeiPiLib library class and replace PiLib with DxePiLib library class.\r | |
114 | \r | |
115 | Code Change :\r | |
116 | 1) Change MdePkg/Include/Library/PiLib.h to MdePkg/Include/Library/DxePiLib.h. DxePiLib is mainly used\r | |
117 | for modules in DXE phase. Add a DxePiLib.h library instance at MdePkg/Library/DxePiLib/DxePiLib.inf.\r | |
118 | 2) Add MdePkg/Include/Library/PeiPiLib.h. PeiPiLib is mainly used by modules in PEI phase. \r | |
119 | Add a DxePiLib.h library instance at MdePkg/Library/PeiPiLib/PeiPiLib.inf.\r | |
120 | 3) Rename API in PeiPiLib.h from PeiPiLibBuildPiFvInfoPpi to PiLibInstallFvInfoPpi.\r | |
121 | 4) Rename APIs originally in PiLib.h with new names defined in DxePiLib.h:\r | |
122 | 4.1) GetSectionFrom*Fv functions are changed to PiLibGetSectionFrom*Fv to reduce possibility of name collision.\r | |
123 | 4.2) Remove API named ImageHandleToFvHandle and GetSectionFromFvFile \r | |
124 | \r | |
125 | \r | |
126 | Possible Impacts:\r | |
127 | \r | |
128 | 1) Platform modules that reference PeiPiLibBuildPiFvInfoPpi and GetSectionFrom*Fv should reference the new\r | |
129 | names defined.\r | |
130 | 2) Platform DSC file that specifying library instance for PiLib should be updated to add one line (a example \r | |
131 | is given below):\r | |
132 | [LibraryClasses.common.DXE_DRIVER]\r | |
133 | ...\r | |
134 | DxePiLib|MdePkg/Library/DxePiLib/DxePiLib.inf\r | |
135 | ...\r | |
136 | 3) Platform DSC file including modules that make use of API from PeiPiLib.h should add the following line (a example \r | |
137 | is given below):\r | |
138 | [LibraryClasses.common.PEIM]\r | |
139 | ...\r | |
140 | PeiPiLib|MdePkg/Library/PeiPiLib/PeiPiLib.inf\r | |
141 | ...\r | |
142 | \r | |
143 | \r | |
fe21b1a6 | 144 | EDK_5835: Non-Compatible: qwang12\r |
43d25020 | 145 | 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 |
146 | \r | |
147 | EDK_5869: Non-Compatible: qhuang8\r | |
148 | Class General Definitions: Update the macro ALIGN_VARIALBE to drop the second parameter.\r | |
149 | \r | |
150 | Code Change:\r | |
151 | The macro ALIGN_VARIABLE in base.h is changed to keep the first paramter\r | |
152 | \r | |
153 | Possible Impacts:\r | |
36c9465c | 154 | Modules using this macro, it needs to adapt to new interface.\r |
155 | \r | |
156 | EDK_5939: Non-Compatible: qwang12\r | |
e349ab9a | 157 | Library API moved from HiiLib to UefiLib.\r |
36c9465c | 158 | \r |
159 | Code Change:\r | |
160 | Change HiiLibGetCurrentLanguage to GetCurrentLanguage and moved it from HiiLib to UefiLib.\r | |
161 | \r | |
162 | Possible Impacts:\r | |
163 | All module that reference HiiLibGetCurrentLanguage should be updated in the following step:\r | |
164 | 0) Change HiiLibGetCurrentLanguage to GetCurrentLanguage.\r | |
165 | 1) Add UefiLib to [LibraryClass] in INF if it is not included before.\r | |
166 | 2) Remove HiiLib from [LibraryClass] if HiiLibGetCurrentLanguage is the only API from original HiiLib referenced by this module.\r | |
167 | 3) Add UefiLib to [LibraryClasses.common.Module Type] for the affected module if UefiLib is not in the list.\r | |
274e80df | 168 | \r |
169 | EDK_5989: Non-Compatible: qwang12\r | |
170 | Library API name changed:\r | |
171 | In IfrSupportLib,\r | |
172 | Rename BufToHexString to BufInReverseOrderToHexString \r | |
173 | Rename HexStringToBuf to HexStringToBufInReverseOrder\r | |
174 | \r | |
175 | Possible Impacts:\r | |
176 | All module that reference BufToHexString or HexStringToBuf should be updated in the following step:\r | |
177 | 0) Change HiiLibGetCurrentLanguage to GetCurrentLanguage.\r | |
178 | 1) Change BufToHexString to BufInReverseOrderToHexString \r | |
179 | 2) Change HexStringToBuf to HexStringToBufInReverseOrder\r | |
b5793f46 | 180 | \r |
181 | EDK_6111: Non-Compatible: qwang12\r | |
182 | Module type Include file is not included on default.\r | |
183 | 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 | |
184 | <Uefi.h> are removed. The module (DXE driver, UEFI Driver, PEIM) should include these files if required.\r | |
185 | \r | |
186 | Possible Impacts:\r | |
187 | 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 | |
188 | <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 | |
189 | because of some undefined basic data type such as "EFI_GUID", module developer should include the module type header file accordingly.\r | |
190 | \r | |
8d237963 | 191 | EDK_6131: Non-Compatible: qwang12\r |
1abe8b51 | 192 | \r |
193 | 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 | |
194 | \r | |
195 | Possible Impacts:\r | |
196 | Customer's module that reference GetPeiServicesTablePointer in PeiServicesTablePointer library may need to updated. Otherwise\r | |
197 | a build break (mismatch of data type) may occur.\r | |
198 | \r | |
c59f6dce | 199 | EDK_6307: Non-Compatible: qwang12\r |
200 | \r | |
201 | 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 | |
202 | \r | |
203 | It is recommended that module writer should keep track how a pointer is allocated and free it after use.\r | |
204 | \r | |
205 | Possible Impacts:\r | |
206 | Customer's module that reference SafeFreePool need to updated. Otherwise\r | |
207 | a build break may occur.\r | |
208 | \r | |
5384e3d4 | 209 | EDK_6455-6460: Non-Compatible: klu2\r |
210 | 1. Clean up device path protocol header file, move device path utility macros to MdePkg\Include\DevicePathLib.h.\r | |
211 | 2. I remove "Efi" prefix for this utility function macro name. \r | |
212 | 3. The upacked device path type is removed. Should use device path utility macro to access structure's member.\r | |
213 | \r | |
214 | Possible Impacts:\r | |
215 | 1. Customer's module that access device path node's structure need use DevicePathLib\r | |
216 | 2. Should not use unpacked type device path node, this type is retired.\r | |
217 | 3. If want to access private member in device path node, customer module need DuplicateDevicePath() at first to \r | |
218 | make sure node is in alignment.\r | |
219 | \r | |
b33bc017 | 220 | EDK_6496-6519: Non-Compatible: qhuang8\r |
221 | \r | |
222 | A bundle of library class/instance renames, moves and merges:\r | |
223 | 1. Rename library class UsbLib to UefiUsbLib\r | |
224 | 2. Rename library class ScsiLib to UefiScsiLib\r | |
225 | 3. Rename library class PalCallLib to PalLib\r | |
226 | 4. Rename library class DxePiLib to DxeSerivcesLib and drop the prefix "PiLib" to all its APIs.\r | |
227 | 5. Merge library class PiPeiLib to PeiServicesLib and rename the PiLibInstallFvInfoPpi() to PeiServicesInstallFvInfoPpi()\r | |
228 | 6. Move library class HiiLib to MdeModulePkg\r | |
229 | 7. Move library class IfrSupportLib to MdeModulePkg\r | |
230 | 8. Move library class FvbServiceLib to MdeModulePkg\r | |
231 | 9. Rename library instance of BasePalCallLibNull to BasePalLibNull\r | |
232 | 10. Move library instance UefiHiiLib to MdeModulePkg\r | |
233 | 11. Move library instance UefiIfrSupportLib to MdeModulePkg\r | |
234 | \r | |
235 | Possible Impacts:\r | |
d9304888 | 236 | Every change listed above is non-backward compatible for MdePkg and other packages. It is required to update module\r |
b33bc017 | 237 | sources (*.c;*.h), module meta data files (*.inf) and update the platform DSC files to fix the build break.\r |
238 | However, it is less likely to bring about functional issue for these updates.\r | |
d9304888 | 239 | \r |
240 | \r | |
241 | EDK_6565: Non-Compatible: qhuang8\r | |
242 | \r | |
243 | Remove some macro in UefiScsiLib:\r | |
244 | EFI_SCSI_STALL_1_MICROSECOND, EFI_SCSI_STALL_1_MILLISECOND, EFI_SCSI_STALL_1_SECOND & EFI_SCSI_STALL_SECONDS(a) \r | |
245 | \r | |
246 | Possible Impacts:\r | |
247 | Modules depending on UefiScsiLib for these macros should update the source to use new UefiLib macros\r | |
248 | EFI_TIMER_PERIOD_MICROSECONDS(X), EFI_TIMER_PERIOD_MILLISECONDS(X) and EFI_TIMER_PERIOD_SECONDS(X) for managing Timer Events.\r | |
08105cf7 | 249 | Especailly, EFI_SCSI_STALL_SECONDS(a) is simply replaced by EFI_TIMER_PERIOD_SECONDS(a)\r |
250 | \r | |
c3d4e543 LG |
251 | EDK_6886: Non-Compatible: mdkinney\r |
252 | \r | |
99164922 | 253 | Rename _CR macro defined in MdePkg/Include/Base.h to BASE_CR macro aligned to MdeLib spec.\r |
c3d4e543 LG |
254 | \r |
255 | Possible Impacts:\r | |
256 | All source codes that depends on _CR macro must be changed to use BASE_CR. \r | |
99164922 LG |
257 | \r |
258 | EDK_6935: Non-Compatible: lgao4\r | |
259 | \r | |
260 | In MdePkg/Include/Guid/FileSystemVolumeLabelInfo.h file, to follow UEFI specification.\r | |
261 | Rename EFI_FILE_SYSTEM_VOLUME_LABEL_INFO_ID_GUID to EFI_FILE_SYSTEM_VOLUME_LABEL_ID\r | |
262 | Rename EFI_FILE_SYSTEM_VOLUME_LABEL_INFO to EFI_FILE_SYSTEM_VOLUME_LABEL.\r | |
263 | \r | |
264 | Possible Impacts:\r | |
265 | All source codes that refer to EFI_FILE_SYSTEM_VOLUME_LABEL_INFO_ID_GUID or EFI_FILE_SYSTEM_VOLUME_LABEL_INFO\r | |
266 | must be changed to use their definitions from UEFI specification. \r | |
267 | \r | |
268 | EDK_6974: Non-Compatible: lgao4\r | |
269 | \r | |
270 | In MdePkg/Include/Uefi/UefiSpec.h file, to follow UEFI2.1 specification.\r | |
271 | Rename struct EFI_KEY_OPTION.KeyOptions to EFI_KEY_OPTION.KeyData\r | |
272 | \r | |
273 | Possible Impacts:\r | |
274 | All source codes that refer to EFI_KEY_OPTION.KeyOptions\r | |
275 | must be changed to use EFI_KEY_OPTION.KeyData from UEFI specification. \r | |
5384e3d4 | 276 | \r |
8cc267eb | 277 | EDK_7057: Non-Compatible: qhuang8\r |
278 | Retired the following macros defined in MdePkg/Include/Uefi/UefiBaseType.h:\r | |
279 | EFI_SIGNATURE_16, EFI_SIGNATURE_32, EFI_SIGNATURE_64, EFI_FIELD_OFFSET, EFI_MAX_BIT & EFI_MAX_ADDRESS\r | |
280 | \r | |
281 | Possible impacts:\r | |
282 | All EDKII native source code needs to update to use the equivelent macros (without "EFI_" prefix except for\r | |
283 | EFI_FIELD_OFFSET) defined in MdePkg\Include\Base.h and MdePkg\Include\$(ARCH)\ProcessorBinding.h:\r | |
284 | EFI_SIGNATURE_16 -> SIGNATURE_16\r | |
285 | EFI_SIGNATURE_32 -> SIGNATURE_32\r | |
286 | EFI_SIGNATURE_64 -> SIGNATURE_64\r | |
287 | EFI_FIELD_OFFSET -> OFFSET_OF\r | |
288 | EFI_MAX_BIT -> MAX_BIT\r | |
289 | EFI_MAX_ADDRESS -> MAX_ADDRESS\r | |
56c0008b | 290 | \r |
291 | EDK_7467: Non-Compatible: qhuang8\r | |
292 | Remove the macro value TIME_OUT defined in MdePkg/Include/Uefi/UefiUsbLib.h and replace it with a new PCD entry:\r | |
293 | gEfiMdePkgTokenSpaceGuid.PcdUsbTransferTimeoutValue \r | |
294 | \r | |
295 | Possible impacts:\r | |
296 | All modules depending on macro TIME_OUT in MdePkg/Include/Uefi/UefiUsbLib.h should use PcdGet32 (PcdUsbTransferTimeoutValue)\r | |
297 | for the USB transaction, include "PcdLib" in INF [LibraryClasses] section and add "#include <Library/PcdLib.h>" in module\r | |
298 | source. |