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