These changes are the raw update to qemu-2.6.
[kvmfornfv.git] / qemu / roms / seabios / docs / Releases.md
1 History of SeaBIOS releases. Please see [download](Download) for
2 information on obtaining these releases.
3
4 SeaBIOS 1.9.0
5 =============
6
7 Available on 20151117. Major changes in this release:
8
9 * The default boot menu key is now the ESC key (instead of F12)
10 * Initial support for Trusted Platform Module (TPM) hardware and BIOS calls
11 * Initial support for chain loading SeaBIOS from Grub (via multiboot
12   support)
13 * Initial support for booting from SD cards on real hardware
14 * virtio 1.0 device support
15 * The build will no longer include the build hostname or build time on
16   "clean" builds.  This makes the build binaries more "reproducible".
17 * Basic support for running SeaBIOS on Baytrail Chromebooks
18 * SeaVGABIOS improvements:
19     * Improved support for old versions of x86emu (the "leal"
20       instruction is now emulated)
21 * Several bug fixes and code cleanups
22
23 SeaBIOS 1.8.0
24 =============
25
26 Available on 20150218. Major changes in this release:
27
28 * Several USB timing fixes for USB controllers on real hardware
29 * Initial support for USB3 hubs
30 * Initial support for SD cards (on QEMU only)
31 * Initial support for transitioning to 32bit mode using SMIs (on QEMU
32   TCG only)
33 * SeaVGABIOS improvements
34     * Added cursor emulation to coreboot native init vgabios (cbvga)
35     * Added support for read character calls when in graphics mode
36 * Developer documentation added to "docs/" directory in the code
37   repository and several documentation updates
38 * Several bug fixes and code cleanups
39
40 As of the 1.8.0 release, new feature releases will modify the first
41 two release numbers (eg, 1.8) and stable releases will use three
42 numbers (eg, 1.8.1). The prior behavior of using a forth number
43 (eg, 1.7.5.1) for stable releases will no longer be used.
44
45 SeaBIOS 1.8.1
46 -------------
47
48 Available on 20150316. Stable release containing only bug fixes.
49
50 SeaBIOS 1.8.2
51 -------------
52
53 Available on 20150617. Stable release containing only bug fixes.
54
55 SeaBIOS 1.7.5
56 =============
57
58 Available on 20140528. Major changes in this release:
59
60 * Support for obtaining SMBIOS tables directly from QEMU.
61 * XHCI USB controller fixes for real hardware (now tested on several
62   boards)
63 * SeaVGABIOS improvements
64     * New driver for "coreboot native vga" support
65     * Improved detection of older x86emu versions with incorrect
66       emulation.
67 * Several bug fixes and code cleanups
68
69 SeaBIOS 1.7.5.1
70 ---------------
71
72 Available on 20141113. Stable release containing only bug fixes.
73
74 SeaBIOS 1.7.5.2
75 ---------------
76
77 Available on 20150112. Stable release containing only bug fixes.
78
79 SeaBIOS 1.7.4
80 =============
81
82 Available on 20131223. Major changes in this release:
83
84 * Support for obtaining ACPI tables directly from QEMU.
85 * Initial support for XHCI USB controllers (initially for QEMU only).
86 * Support for booting from "pvscsi" devices on QEMU.
87 * Enhanced floppy driver - improved support for real hardware.
88 * coreboot cbmem console support.
89 * Optional support for using the 9-segment instead of the e-segment
90   for local variables.
91 * Improved internal timer code and accuracy.
92 * SeaVGABIOS improvements
93     * Better support for legacy X.org releases with incomplete x86emu
94       emulation.
95     * Support for using an internal stack to reduce caller's stack
96       usage.
97     * Back port of new "bochs dispi" interface video modes.
98 * Several bug fixes and code cleanups
99     * Source code separated out into additional hardware and firmware
100       directories.
101     * Update to latest version of Kconfig
102
103 SeaBIOS 1.7.3
104 =============
105
106 Available on 20130707. Major changes in this release:
107
108 * Initial support for using SeaBIOS as a UEFI Compatibility Support
109   Module (CSM)
110 * Support for detecting and using ACPI reboot ports.
111 * By default, all 16bit entry points now use an internal stack to
112   reduce stack footprint.
113 * Floppy controller code has been rewritten to improve
114   compatibility. Non-standard floppy sizes now work again with recent
115   QEMU versions.
116 * Several bug fixes and code cleanups
117
118 SeaBIOS 1.7.2
119 =============
120
121 Available on 20130118. Major changes in this release:
122
123 * Support for ICH9 host chipset ("q35") on emulators
124 * Support for booting from LSI MegaRAID SAS controllers
125 * Support for using the ACPI PM timer on emulators
126 * Improved Geode VGA BIOS support.
127 * Several bug fixes
128
129 SeaBIOS 1.7.2.1
130 ---------------
131
132 Available on 20130227. Stable release containing only bug fixes.
133
134 SeaBIOS 1.7.2.2
135 ---------------
136
137 Available on 20130527. Stable release containing only bug fixes.
138
139 SeaBIOS 1.7.1
140 =============
141
142 Available on 20120831. Major changes in this release:
143
144 * Initial support for booting from USB attached scsi (USB UAS) drives
145 * USB EHCI 64bit controller support
146 * USB MSC multi-LUN device support
147 * Support for booting from LSI SCSI controllers on emulators
148 * Support for booting from AMD PCscsi controllers on emulators
149 * New PCI allocation code on emulators. Support 64bit PCI bars and
150   mapping them above 4G.
151 * Support for non-linear APIC ids on emulators.
152 * Stack switching for 16bit real mode irq handlers to reduce stack
153   footprint.
154 * Support for custom storage in the memory at 0xc0000-0xf0000. No
155   longer reserve memory for custom storage in first 640k.
156 * Improved code generation for 16bit segment register loads
157 * Boot code will now (by default) reboot after 60 seconds if no boot
158   device found
159 * CBFS and FWCFG "files" are now only scanned one time
160 * Several bug fixes
161
162 SeaBIOS 1.7.0
163 =============
164
165 Available on 20120414. Major changes in this release:
166
167 * Many enhancements to VGA BIOS code - it should now be feature
168   complete with LGPL vgabios.
169 * Support for virtio-scsi.
170 * Improved USB drive (usb-msc) support.
171 * Several USB controller bug fixes and improvements.
172 * Runtime ACPI AML PCI hotplug construction.
173 * Support for running on i386 and i486 CPUs.
174 * Enhancements to PCI init when running on emulators.
175 * Several bug fixes
176
177 SeaBIOS 1.6.3
178 =============
179
180 Available on 20111004. Major changes in this release:
181
182 * Initial support for Xen
183 * PCI init (on emulators) uses a two-phase initialization
184 * Fixes for AHCI so it can work on real hardware. AHCI is now enabled
185   by default.
186 * Bootsplash support for BMP files
187 * Several configuration options can now be configured at runtime via
188   CBFS files (eg, "etc/boot-menu-wait")
189 * PCI device scan is cached during POST phase
190 * Several bug fixes
191
192 The SeaBIOS 1.6.3 release was an incremental feature release. The
193 first release number (1) was incremented as the project was no longer
194 in a beta stage, and the third release number (3) was also incremented
195 to indicate the release was a regular feature release.
196
197 SeaBIOS 1.6.3.1
198 ---------------
199
200 Available on 20111124. Stable release containing only bug fixes.
201
202 SeaBIOS 1.6.3.2
203 ---------------
204
205 Available on 20120311. Stable release containing only bug fixes.
206
207 SeaBIOS 0.6.2
208 =============
209
210 Available on 20110228. Major changes in this release:
211
212 * Setup code can relocate to high-memory to save space in c-f segments
213 * Build now configured via Kconfig
214 * Experimental support for AHCI controllers
215 * Support for run-time configuration of the boot order (via
216   CBFS/fw_cfg "bootorder" file)
217 * Support T13 EDD3.0 spec
218 * Improved bounds checking on PCI memory allocation
219 * Several bug fixes
220
221 SeaBIOS 0.6.1
222 =============
223
224 Available on 20100913. Major changes in this release:
225
226 * Support for virtio drives
227 * Add ACPI definitions for cpu hotplug support
228 * Support for a graphical bootsplash screen
229 * USB mouse support
230 * The PCI support for emulators is less dependent on i440 chipset
231 * New malloc implementation which improves memalign and free
232 * The build system no longer double links objects
233 * Several bug fixes
234
235 SeaBIOS 0.6.1.1
236 ---------------
237
238 Available on 20101031. Stable release containing only bug fixes.
239
240 SeaBIOS 0.6.1.2
241 ---------------
242
243 Available on 20101113. Stable release containing only bug fixes.
244
245 SeaBIOS 0.6.1.3
246 ---------------
247
248 Available on 20101226. Stable release containing only bug fixes.
249
250 SeaBIOS 0.6.0
251 =============
252
253 Available on 20100326. Major changes in this release:
254
255 * USB hub support
256 * USB drive booting support
257 * USB keyboard auto-repeat support
258 * USB EHCI controller support
259 * Several improvements to compatibility of PS2 port handlers for old
260   code
261 * Support for qemu e820 interface
262 * Several bug fixes and code cleanups
263
264 SeaBIOS 0.5.1
265 =============
266
267 Available on 20100108. Major changes in this release:
268
269 * Support for 32bit PCI BIOS calls
270 * Support for int1589 calls
271 * MPTable fixes for OpenBSD
272 * ATA DMA and bus-mastering support
273 * Several bug fixes and code cleanups
274
275 SeaBIOS 0.5.0
276 =============
277
278 Available on 20091218. Major changes in this release:
279
280 * Several enhancements ported from the Bochs BIOS derived code in qemu
281   and kvm
282 * Support for parallel hardware initialization to reduce bootup times
283 * Enable PCI option rom support by default (Bochs users must now
284   enable CONFIG_OPTIONROMS_DEPLOYED in src/config.h). Support added
285   for extracting option roms from qemu "fw_cfg".
286 * Support USB UHCI and OHCI controllers
287 * Initial support for USB keyboards
288 * SeaBIOS can now be greater than 64K
289 * Support for permanent low memory allocations
290 * APIC "local interrupts" now enabled in SeaBIOS (on emulators)
291 * Several bug fixes and code cleanups
292
293 SeaBIOS 0.4.2
294 =============
295
296 Available on 20090909. Major changes in this release:
297
298 * Implement Post Memory Manager (PMM) support. Use equivalent "malloc"
299   functions for internal allocations as well.
300 * Refactor disk "block" interface for greater expandability
301 * Support CBFS based floppy images
302 * Allow boot menu to select either floppy to boot from
303 * Increase ebda size to store a CDROM harddrive/floppy emulation
304   buffer
305 * Support systems with multiple vga cards (only the card with the
306   legacy IO ranges mapped will have its option rom executed)
307 * Make option rom memory be writable during option rom execution (on
308   emulators)
309 * Compile version number into code and report on each boot
310 * Several bug fixes and code cleanups
311
312 SeaBIOS 0.4.1
313 =============
314
315 Available on 20090714. Major changes in this release:
316
317 * Support older versions of gcc that predate "-fwhole-program" (eg,
318   v3.x)
319 * Add initial port of "LGPL vga bios" code into tree in "vgasrc/"
320   directory
321 * Handle ATA drives still "spinning up" during SeaBIOS drive detect
322 * Add support for option rom Boot Connection Vectors (BCV)
323 * Enhance boot menu to support booting from any drive or any cdrom
324 * Support flash based Coreboot File System (CBFS)
325 * Support booting from a CBFS "payload"
326 * Support coreboot table forwarder
327 * Support compile time definitions for multiple root PCI buses
328 * New tools/readserial.py tool
329 * Several bug fixes and code cleanups
330
331 SeaBIOS 0.4.0
332 =============
333
334 Available on 20090206. Major changes in this release:
335
336 * Add Bios Boot Specification (BBS) calls; add PnP call stubs
337 * Support option roms stored in PCI rom BAR
338 * Support rebooting on ctrl+alt+delete key press
339 * Scan PCI devices for ATA adapters (don't assume legacy ISA ATA ports
340   are valid)
341 * Attempt to automatically determine gcc capabilities/bugs during
342   build
343 * Add script to layout 16bit sections at fixed offsets and in
344   compacted space
345 * Introduce timestamp counter based delays
346 * Support POST calls that are really a resume
347 * Use new stack in EBDA for int13 disk calls to reduce stack usage
348 * Support the EBDA being relocated by option roms
349 * Move many variables from EBDA to global variables (stored in
350   f-segment)
351 * Support for PCI bridges when iterating through PCI device list
352 * Initial port of several KVM specific features from their Bochs BIOS
353   derived code
354 * Access BDA using segment 0x40 and IVT using segment 0x00 (which
355   could be important for 16bit protected mode callers)
356 * Several bug fixes and code cleanups
357
358 SeaBIOS 0.3.0
359 =============
360
361 Available on 20080817. Major changes in this release:
362
363 * Run boot code (int18/19) in 32bit mode
364 * Rewrite of PS2 port handling - new code is more compatible with real
365   hardware
366 * Initial support for int155f VGA option rom calls
367 * Several bug fixes and code cleanups
368
369 SeaBIOS 0.2.3
370 =============
371
372 Available on 20080702. Major changes in this release:
373
374 * Initial support for running on real hardware with coreboot
375 * Support parsing coreboot tables
376 * Support relocating bios tables from high memory when running under
377   coreboot
378 * Dynamic e820 map generation
379 * Serial debug support
380 * New tools/checkstack.py tool
381 * Several bug fixes and code cleanups
382
383 SeaBIOS 0.2.2
384 =============
385
386 Formerly known as "legacybios". Available on 20080501. Major changes
387 in this release:
388
389 * Several bug fixes and code cleanups
390
391 SeaBIOS 0.2.1
392 =============
393
394 Formerly known as "legacybios". Available on 20080406. Major changes
395 in this release:
396
397 * Port of boot menu code from Bochs BIOS
398 * Several bug fixes and code cleanups
399
400 SeaBIOS 0.2.0
401 =============
402
403 Formerly known as "legacybios". Available on 20080330. Major changes
404 in this release:
405
406 * Completion of initial port of Bochs BIOS code to gcc.