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