1. Add DPC protocol and DpcLib library in MdeModulePkg.
[mirror_edk2.git] / MdePkg / ChangeLog.txt
CommitLineData
1b7f7985 1##########################################################################################\r
2!!!!!!!!!!!!!!!!! Notes for this ChangeLog.txt !!!!!!!!!!!!!!!!!\r
3\r
4This 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
18Non-Compatible and Compatible example format:\r
19==========================================================================================\r
20EDK_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
31EDK_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
42EDK_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
58EDK_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
77EDK_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 91EDK_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 112EDK_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