Update the ChangeLog.txt to record the possible non-compatible changes due to PI...
[people/mcb30/edk2.git] / edk2 / MdePkg / ChangeLog.txt
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
38 !!!!!!!!!!!!!!!!!!                     End of Notes                     !!!!!!!!!!!!!!!!!!\r
39 ##########################################################################################\r
40 \r
41 \r
42 \r
43 ==========================================================================================\r
44 EDK_3871: Non-Compatible: klu2\r
45         \r
46         Class_PIEnable[1]: Use new entry point for PeiCore defined in PI specification.\r
47         \r
48         Code Change:\r
49         1) Remove the definition and library instance for OldPeiCoreEntryPoinLib\r
50         \r
51         Possible Impacts:\r
52         1) Platform should select MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf for \r
53            PeiMain module.\r
54         2) The SecCore module should provide parameters for new entry point defined in \r
55            MdePkg\Include\Library\PeiCoreEntryPoint.h\r
56 \r
57 \r
58 EDK_3922:  Non-Compatible: qwang12, klu2\r
59   Class_PIEnable[0]:  Update PeiServicesLib based on new features defined in PI spec.\r
60 \r
61       Code Change :\r
62       1) Add the following services:PeiServicesRegisterForShadow, PeiServicesFfsGetFileInfo, PeiServicesFfsFindFileByName and PeiServicesFfsGetVolumeInfo\r
63       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
64          to EFI_PEI_FILE_HANDLE.\r
65       3) Add CONST to parameter of PeiServices EFI_PEI_SERVICES.EFI_PEI_RESET_SYSTEM\r
66 \r
67       Possible Impacts:\r
68 \r
69       1) Platform code should be updated to make use of these new PI features. The functions in MdePkg/Include/Library/PeiServicesLib.h are \r
70          recommended as PeiServices is saved for every PEI Services API invokation.\r
71       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
72          add (EFI_PEI_SERVICS **) cast to PeiServices before passing it to the previously defined PPI interface which needs a (EFI_PEI_SERVICS **)\r
73          type for PeiServices parameter.\r
74       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
75          Section 4.4 PEI Sevices Table Retrieval) for details. Beside, GetPeiServicesTablePointer() in MdePkg\Include\Library\PeiServicesTablePointerLib.h\r
76          also provide convinient way to retrieve the pointer to Pei Service Table.\r
77          \r
78 \r