]> git.proxmox.com Git - mirror_edk2.git/blob - BaseTools/ChangeLog.txt
Restoring $WORKSPACE/BaseTools location, as the plan is to deprecate
[mirror_edk2.git] / BaseTools / ChangeLog.txt
1 ##########################################################################################
2 !!!!!!!!!!!!!!!!! Notes for this ChangeLog.txt !!!!!!!!!!!!!!!!!
3
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
12 ...
13
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
16 package.
17
18 Non-Compatible and Compatible example format:
19 ==========================================================================================
20 EDK_0010: Non-Compatible: owner
21
22 Class_HFile: PPI A of MdePkg has been removed.
23
24 Code Change :
25 1) Removed the .h file: MdePkg\Include\Ppi\A.h
26
27 Possible Impacts:
28 1) All modules that used this PPI A should be updated.
29
30 ==========================================================================================
31 EDK_0000: Compatible: owner
32
33 Class_BuildTool: with the EDK_0000 build.exe, the build performance is enhanced great.
34
35 Code Change :
36 1) BaseTools\Bin\Win32\build.exe
37
38 !!!!!!!!!!!!!!!!!! End of Notes !!!!!!!!!!!!!!!!!!
39 ##########################################################################################
40
41 ==========================================================================================
42 EDK_4096: Non-Compatible: jwang36
43
44 Class_BuildTool:
45 1) Removed the calling of vsvars32.bat in edksetup.bat, unless
46 "--nt32" switch is used.
47 2) Added MAKE command in tools_def.txt. This is used to locate where
48 the nmake.exe or make.exe is because it will not be in PATH any more.
49 3) Removed the calling of vsvars32.bat in toolsetup.bat.
50 4) Solved the hang issue of build.exe when error occurred or Ctrl+C is
51 pressed.
52 5) Passed "-v/-d/-q" command line option to GenFds.exe in makefile if
53 it's used by build.exe.
54
55 Code Change :
56 1) BaseTools/Bin/Win32/build.exe
57 2) BaseTools/Bin/Win32/GenFds.exe
58 3) BaseTools/Conf/tools_def.template
59 4) BaseTools/toolsetup.bat
60 5) edksetup.bat
61
62 Possible Impacts:
63 1) Nt32Pkg build needs to run vsvars32.bat before edksetup.bat or run
64 edksetup.bat with "--nt32" option, like
65
66 edksetup.bat --nt32 newbuild
67
68 2) $(WORKSPACE)/Conf/tools_def.txt must be deleted before running
69 edksetup.bat because of new tools_def.template. Otherwise the
70 build.exe cannot find the nmake.exe to call.
71
72 ==========================================================================================
73 EDK_3947: Compatible: jwang36
74
75 Class_BuildTool:
76 1) Improved spawn mode (multi-thread) build performance (build -s)
77 2) Changed the error/debug/warning message format
78 3) Added "--log" command line option to support storing log in file
79
80 Code Change :
81 1) BaseTools/Bin/Win32/build.exe
82
83
84 ==========================================================================================
85 EDK_3936: Compatible: klu2
86
87 Class_BuildTool:
88 1) The first parameter of PEIM's entry point in autogen.c has been changed to
89 EFI_PEI_FILE_HANDLE
90
91 Code Change :
92 1) BaseTools/Bin/Win32/build.exe
93
94 ==========================================================================================
95 EDK_3926: Compatible: jlin16
96
97 Class_BuildTool:
98 1) Added support of Capsule generation from FDF file.
99
100 Code Change :
101 1) BaseTools/Bin/Win32/build.exe
102 2) BaseTools/Bin/Win32/GenFds.exe
103
104 Possible Impacts:
105 1) To generate capsule, insert [Capsule] section after [FV] sections and specifying
106 what FV will be put into capsule, For example:
107 [Capsule.Fob]
108 CAPSULE_GUID = 3B6686BD-0D76-4030-B70E-B5519E2FC5A0
109 CAPSULE_FLAG = PersistAcrossReset
110 FV = BiosUpdate
111
112 ==========================================================================================
113 EDK_3911: Compatible: jlin16
114
115 Class_BuildTool:
116 1) Added support of Apriori file generation from FDF file.
117 2) Added support of INF that describes binary files to put binary into FV.
118 3) Fixed single FV/FD generation error when specifying -i/-r option in GenFds.
119
120
121 Code Change :
122 1) BaseTools/Bin/Win32/build.exe
123 2) BaseTools/Bin/Win32/GenFds.exe
124
125 Possible Impacts:
126 1) To generate Apriori file in FV, insert APRIORI statement just before the INF or
127 FILE statement list of the FV, For example:
128 APRIORI PEI {
129 INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
130 FILE PEIM = B7A5041A-78BA-49e3-B73B-54C757811FB6 {
131 SECTION PE32 = MyBinPkg\bin\ia32\PeimAfterPcd.efi
132 }
133 INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf
134 }
135 2) To add binary file described by INF file into FV, only insert the INF statement
136 into the INF statements list of that FV, like this:
137
138 INF RuleOverride=Test MdeModulePkg/Logo/Logo.inf
139
140 Specifying how to process the binary file by defining corresponding Rule like this:
141 [Rule.Common.Base.Test]
142 FILE FREEFORM = $(NAMED_GUID) {
143 COMPRESS PI_STD {
144 GUIDED {
145 RAW BIN |.bmp
146 }
147 }
148 }
149
150 ==========================================================================================
151 EDK_3832: Non-Compatible: jwang36
152
153 Class_BuildTool:
154 1) Added support of MACRO in tools_def.txt
155 2) Merged PATH and NAME attributes in tools_def.txt
156 3) Changed DPATH attribute to DLL in tools_def.txt
157 4) Removed SPATH attribute in tools_def.txt
158 5) Added support for library instance without library class
159 6) Fixed the issue in Trim tool which zero file will be generated if the trimmed
160 file has not line directive
161
162 Code Change :
163 1) BaseTools/Bin/Win32/build.exe
164 2) BaseTools/Bin/Win32/GenFds.exe
165 3) BaseTools/Bin/Win32/Trim.exe
166 4) BaseTools/Conf/tools_def.template
167
168 Possible Impacts:
169 1) All platforms and modules build
170
171 ==========================================================================================
172 EDK_3801: Compatible: jwang36
173
174 Class_BuildConfiguration: Added makefile as dependency for "Dynamic-Library-File" to
175 solve the incremental build issue occurred when there's library changes
176
177 Code Change :
178 1) BaseTools/Conf/build_rule.template
179
180 ==========================================================================================
181 EDK_3800: Compatible: lgao4
182
183 Class_BuildTool: Update EfiRom tool to fix checksum and PCI3.0 data structure
184
185 Code Change :
186 1) BaseTools/Bin/Win32/EfiRom.exe
187
188 ==========================================================================================
189 EDK_3795: Compatible: htao
190
191 Class_BuildTool: GenVtf tool open/write file with "r+b"/"w+b" attribute, but this cause
192 the RO attribute of the file changed. Fix this issue by changing
193 "r+b"/"w+b" to "rb"/"wb".
194
195 Code Change :
196 1) BaseTools/Bin/Win32/GenVtf.exe
197
198 ==========================================================================================
199 EDK_3791: Compatible: jlin16
200
201 Class_BuildTool:
202 1) use '#' to indicate flash generation progress.
203 2) use -v to switch on detail output messages.
204
205 Code Change :
206 1) BaseTools/Bin/Win32/GenFds.exe
207
208 ==========================================================================================
209 EDK_3789: Non-Compatible: lgao4
210
211 Class_BuildTool: support new Rules format and PCD format defined in FDF file
212
213 Code Change :
214 1) BaseTools/Bin/Win32/build.exe
215 2) BaseTools/Bin/Win32/GenFds.exe
216
217 Possible Impacts:
218 1) All platform's FDF file, if any, must be changed to new format.
219 a) PCD format is changed from old PcdName to new PcdTokenSpaceGuid.PcdName,
220 for example PcdWinNtFdBaseAddress in old FDF file will be replaced
221 by gEfiNt32PkgTokenSpaceGuid.PcdWinNtFdBaseAddres.
222 b) Rule format adds binary file type and file postfix name support,
223 and doesn't require the full file path. Examples for Peim and AcpiTable module:
224 Old Peim Rule:
225 [Rule.Common.PEIM]
226 FILE PEIM = $(NAMED_GUID) {
227 PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).Depex
228 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
229 UI Optional $(MODULE_NAME)
230 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)
231 }
232 New Peim Rule:
233 [Rule.Common.PEIM]
234 FILE PEIM = $(NAMED_GUID) {
235 PEI_DEPEX PEI_DEPEX Optional |.Depex
236 PE32 PE32 |.efi
237 UI STRING="$(MODULE_NAME)" Optional
238 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
239 }
240
241 Old AcpiTable Rule:
242 [Rule.Common.DXE_DRIVER.ACPITABLE]
243 FILE FREEFORM = $(NAMED_GUID) {
244 RAW $(INF_OUTPUT)/Madt.acpi
245 RAW $(INF_OUTPUT)/Fadt.acpi
246 RAW $(INF_OUTPUT)/Facs.acpi
247 RAW $(INF_OUTPUT)/Spcr.acpi
248 RAW $(INF_OUTPUT)/Dsdt.aml
249 }
250 New AcpiTable Rule:
251 [Rule.Common.DXE_DRIVER.ACPITABLE]
252 FILE FREEFORM = $(NAMED_GUID) {
253 RAW ACPI |.acpi
254 RAW ASL |.aml
255 }
256
257 ==========================================================================================
258 EDK_3786: Compatible: vjeff
259
260 Class_BuildConfiguration:
261 1) Redirect ICC_IA32_*_PATH from C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin
262 to C:\Program Files\Intel\Compiler\C++\9.1\IA32\Bin.
263 2) Add ICC X64 definition to enable ICC X64 build.
264
265 Code Change :
266 1) BaseTools/Conf/tools_def.template
267
268 ==========================================================================================
269 EDK_3785: Non-Compatible: klu2
270
271 Class_BuildTool: Upgrade the format of EFI_PEIM_ENTRY_POINT to
272 EFI_PEIM_ENTRY_POINT2 according to PI specification.
273
274
275 Code Change :
276 1) BaseTools/Bin/Win32/build.exe
277
278 Possible Impacts:
279 1) All modules build
280
281
282 ==========================================================================================
283 EDK_3780: Non-Compatible: qhuang8
284
285 Class_MigrationTool: Update the syntax of PCD section.
286 Update the syntax of binary INF file
287 The generated Extended INF file should follow Extended INF spec 0.44
288
289 Code Change :
290 1) BaseTools/Bin/Win32/MigrationMsa2Inf.exe
291
292 Possible Impacts:
293 1) New module migrated from old R9
294
295
296 ==========================================================================================
297 EDK_3766: Non-Compatible: lgao4
298
299 Class_BuildConfiguration: Update Acpi Asl file Build rule to remove trim step.
300
301 Code Change :
302 1) Conf/build_rule.template
303
304 Possible Impacts:
305 1) Platform with ACPI module. Acpi module needs to set /EP preprocessor compiler option
306 for APP_FLAGS in module inf to override the default /E option defined in tools_def.txt file.
307
308