1 ##########################################################################################
2 !!!!!!!!!!!!!!!!! Notes for this ChangeLog.txt !!!!!!!!!!!!!!!!!
4 This log file is used to record two kinds of important information:
5 a) "Non-Compatible Changes": all non-compatible changes should be recorded. These info
6 will help the package user to merge this package; and some non-compatible changes
7 can also be added into release notes as news features when we release this package.
8 Normally Non-Compatible Changes contains the following types:
9 1) Package's external services were changed/updated
10 2) Package's common .h file is renamed, deleted, or the file path is changed.
11 3) The definition of package's common data structure is changed
14 b) "Important Compatible Changes": some important compatible changes can aslo be recorded
15 in this file, and we can add these updating into release notes when we release this
18 Non-Compatible and Compatible example format:
19 ==========================================================================================
20 EDK_0010: Non-Compatible: owner
22 Class_HFile: PPI A of MdePkg has been removed.
25 1) Removed the .h file: MdePkg\Include\Ppi\A.h
28 1) All modules that used this PPI A should be updated.
30 ==========================================================================================
31 EDK_0000: Compatible: owner
33 Class_BuildTool: with the EDK_0000 build.exe, the build performance is enhanced great.
36 1) BaseTools\Bin\Win32\build.exe
38 !!!!!!!!!!!!!!!!!! End of Notes !!!!!!!!!!!!!!!!!!
39 ##########################################################################################
41 ==========================================================================================
42 EDK_39331: Non-Compatible: klu2
44 Class_PIEnable[5]: New library class for S3Resume and Recovery for DxeIpl PEIM.
47 1) Add new library class
48 a) MdeModulePkg/Include/Library/S3Lib.h
49 b) MdeModulePkg/Include/Library/RecoveryLib.h
50 2) Add NULL library instances for MdeModulePkg:
51 a) MdeModulePkg/Library/PeiS3LibNull/PeiS3LibNull.inf.
52 b) MdeModulePkg/Library/PeiRecoveryLibNull/PeiRecoveryLibNull.inf
53 3) Add framework implement library instances:
54 a) IntelFrameworkModulePkg/Library/PeiS3Lib/PeiS3Lib.inf
55 b) IntelFrameworkModulePkg/Library/PeiRecovery/PeiRecovery.inf
58 1) In DSC file, real platform should select:
59 S3Lib library class -> IntelFrameworkModulePkg/Library/PeiS3Lib/PeiS3Lib.inf
60 RecoveryLib library class -> IntelFrameworkModulePkg/Library/PeiRecovery/PeiRecovery.inf
62 Nt32 platform should select:
63 S3Lib library class -> MdeModulePkg/Library/PeiS3LibNull/PeiS3LibNull.inf.
64 RecoveryLib library class -> MdeModulePkg/Library/PeiRecoveryLibNull/PeiRecoveryLibNull.inf
66 ==========================================================================================
67 EDK_3922: Non-Compatible: qwang12, klu2
68 Class_PIEnable[2]: Update PEI core to only consume EFI_PEI_FIRMWARE_VOLUME_INFO_PPI
71 1) Update PEI core to consume EFI_PEI_FIRMWARE_VOLUME_INFO_PPI to get the location of new FVs other than BFV
75 1) Platform code that is going to inform PEI core about the new FVs other than BFV should install
76 EFI_PEI_FIRMWARE_VOLUME_INFO_PPI. A library function named PeiPiLibBuildPiFvInfoPpi() defined in
77 MdePkg\Include\Library\PeiPiLib.h can be used to install the PPI.
78 There are two notes worth mentioning:
79 1) Platform PEIMs should report at least FVs containing DXE_CORE and all other PEIM to PEI Core if they
81 2) PEI core will dispatch PEIMs in the FV reported by PeiPiLibBuildPiFvInfoPpi() and invoke BuildFvHob () to build the
82 FV HOB for this FV (see Section 4.8.1.2 of Vol 1 named Multiple Firmware Volume Support for details).
83 If PEIM only want to inform DXE core about the existance of the new FV, it should call BuildFvHob instead.
86 Class_PIEnable[3]: Update PEI core to support RegisterForShadow feature introduced by PI spec
89 1) DXEIPL no longer produce EFI_PEI_FV_FILE_LOADER_PPI defined in Framework PEI CIS.
93 1)All PEIMs that need to shadow itself into memory and rerun the entry point should be updated to call RegisterForShadow
94 (PeiServicesLibRegisterForShadow () is a helper function).
95 2)The depex of PEIMs that including EFI_PEI_FV_FILE_LOADER_PPI (or gEfiPeiFvFileLoaderPpiGuid) should be removed.
98 Class_PIEnable[4]: Update PEI core to produce other new features defined in PI spec
101 1) Add the following services: FfsGetFileInfo, FfsFindFileByName and FfsGetVolumeInfo
105 1) Platform code is recommended to make use of these new PI features. The functions in MdePkg/Include/Library/PeiServicesLib.h are
106 recommended as PeiServices is saved for every PEI Services API invokation.
108 ==========================================================================================
109 EDK_3871: Non-Compatible: klu2
111 Class_PIEnable[1]: Use new entry point for PeiCore defined in PI specification.
114 1) PeiMain module use PeiCoreEntryPoint library class but *not* original OldPeiCoreEntryPoint.
115 2) The memory service in PeiMain module get CAR base and size from parameter of PeiCore's
116 Entry point directly but *not* computed from stack's base.
119 1) Platform should select MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf for
121 2) The SecCore module should provide parameters for new entry point defined in
122 MdePkg\Include\Library\PeiCoreEntryPoint.h
124 ==========================================================================================
125 EDK_3866: Compatible: qhuang8
127 Class_UefiEnable[0]: Uefi2.1 feature - Add Hardware Error Record Persistence Support
129 1) Modify MdeModulePkg/Universal/Variable/RuntimeDxe
130 2) Modify MdeModulePkg/Universal/Variable/EmuRuntimeDxe
132 ==========================================================================================
133 EDK_3773: Non-Compatible: qwang12
135 Class_PIEnable[0]: Enable DXE Core to produce EFI_FIRMWARE_VOLUME2_PROTOCOL only.
138 1) Modify MdeModulePkg/Core/Dxe/DxeMain.inf module to produce only
139 EFI_FIRMWARE_VOLUME2_PROTOCOL. Previously, EFI_FIRMWARE_VOLUME_PROTOCOL
140 is produced by Dxe Core.
143 1) All modules that references EFI_FIRMWARE_VOLUME_PROTOCOL must be updated to use
144 EFI_FIRMWARE_VOLUME2_PROTOCOL.
145 2) All modules that references gEfiFirmwareVolumeProtocolGuid must be updated to
146 use gEfiFirmwareVolume2ProtocolGuid.
147 3) The gEfiFirmwareVolumeProtocolGuid in [Depex] section of INF file should updated.
148 And the package dependency should also be changed if needed due to this protocol
151 ==========================================================================================
152 EDK_3967: Non-Compatible: lgao4
154 Class_Library: Remove PeCoffLoader library class and its instances.
157 1) Remove MdeModulePkg/Include/Library/PeCoffLoaderLib.h
158 2) Remove MdeModulePkg/Library/DxePeCoffLoaderFromHobLib and PeiDxePeCoffLoaderLib instance
159 3) Modify PeiCore, DxeIpl and DxeCore to use PeCoffLib in place of PeCoffLoaderLib.
162 1) All modules don't use PeCoffloader library class any longer to load PeImage.
163 If necessary, they should use PeCoffLib of MdePkg to load PeImage.