Releases
History of SeaBIOS releases. Please see Download for information on obtaining these releases.
SeaBIOS 0.6.1
Available on 20110228. Major changes in this release:
- Setup code can relocate to high-memory to save space in c-f segments
- Build now configured via Kconfig
- Experimental support for AHCI controllers
- Support for run-time configuration of the boot order (via CBFS/fw_cfg "bootorder" file)
- Support T13 EDD3.0 spec
- Improved bounds checking on PCI memory allocation
- Several bug fixes
SeaBIOS 0.6.1
Available on 20100913. Major changes in this release:
- Support for virtio drives
- Add ACPI definitions for cpu hotplug support
- Support for a graphical bootsplash screen
- USB mouse support
- The PCI support for emulators is less dependent on i440 chipset
- New malloc implementation which improves memalign and free
- The build system no longer double links objects
- Several bug fixes
SeaBIOS 0.6.0
Available on 20100326. Major changes in this release:
- USB hub support
- USB drive booting support
- USB keyboard auto-repeat support
- USB EHCI controller support
- Several improvements to compatibility of PS2 port handlers for old code
- Support for qemu e820 interface
- Several bug fixes and code cleanups
SeaBIOS 0.5.1
Available on 20100108. Major changes in this release:
- Support for 32bit PCI BIOS calls
- Support for int1589 calls
- MPTable fixes for OpenBSD
- ATA DMA and bus-mastering support
- Several bug fixes and code cleanups
SeaBIOS 0.5.0
Available on 20091218. Major changes in this release:
- Several enhancements ported from the Bochs BIOS derived code in qemu and kvm
- Support for parallel hardware initialization to reduce bootup times
- Enable PCI option rom support by default (Bochs users must now enable CONFIG_OPTIONROMS_DEPLOYED in src/config.h). Support added for extracting option roms from qemu "fw_cfg".
- Support USB UHCI and OHCI controllers
- Initial support for USB keyboards
- SeaBIOS can now be greater than 64K
- Support for permanent low memory allocations
- APIC "local interrupts" now enabled in SeaBIOS (on emulators)
- Several bug fixes and code cleanups
SeaBIOS 0.4.2
Available on 20090909. Major changes in this release:
- Implement Post Memory Manager (PMM) support. Use equivalent "malloc" functions for internal allocations as well.
- Refactor disk "block" interface for greater expandability
- Support CBFS based floppy images
- Allow boot menu to select either floppy to boot from
- Increase ebda size to store a CDROM harddrive/floppy emulation buffer
- Support systems with multiple vga cards (only the card with the legacy IO ranges mapped will have its option rom executed)
- Make option rom memory be writable during option rom execution (on emulators)
- Compile version number into code and report on each boot
- Several bug fixes and code cleanups
SeaBIOS 0.4.1
Available on 20090714. Major changes in this release:
- Support older versions of gcc that predate "-fwhole-program" (eg, v3.x)
- Add initial port of "LGPL vga bios" code into tree in "vgasrc/" directory
- Handle ATA drives still "spinning up" during SeaBIOS drive detect
- Add support for option rom Boot Connection Vectors (BCV)
- Enhance boot menu to support booting from any drive or any cdrom
- Support flash based Coreboot File System (CBFS)
- Support booting from a CBFS "payload"
- Support coreboot table forwarder
- Support compile time definitions for multiple root PCI buses
- New tools/readserial.py tool
- Several bug fixes and code cleanups
SeaBIOS 0.4.0
Available on 20090206. Major changes in this release:
- Add Bios Boot Specification (BBS) calls; add PnP call stubs
- Support option roms stored in PCI rom BAR
- Support rebooting on ctrl+alt+delete key press
- Scan PCI devices for ATA adapters (don't assume legacy ISA ATA ports are valid)
- Attempt to automatically determine gcc capabilities/bugs during build
- Add script to layout 16bit sections at fixed offsets and in compacted space
- Introduce timestamp counter based delays
- Support POST calls that are really a resume
- Use new stack in EBDA for int13 disk calls to reduce stack usage
- Support the EBDA being relocated by option roms
- Move many variables from EBDA to global variables (stored in f-segment)
- Support for PCI bridges when iterating through PCI device list
- Initial port of several KVM specific features from their Bochs BIOS derived code
- Access BDA using segment 0x40 and IVT using segment 0x00 (which could be important for 16bit protected mode callers)
- Several bug fixes and code cleanups
SeaBIOS 0.3.0
Available on 20080817. Major changes in this release:
- Run boot code (int18/19) in 32bit mode
- Rewrite of PS2 port handling - new code is more compatible with real hardware
- Initial support for int155f VGA option rom calls
- Several bug fixes and code cleanups
SeaBIOS 0.2.3
Available on 20080702. Major changes in this release:
- Initial support for running on real hardware with coreboot
- Support parsing coreboot tables
- Support relocating bios tables from high memory when running under coreboot
- Dynamic e820 map generation
- Serial debug support
- New tools/checkstack.py tool
- Several bug fixes and code cleanups
SeaBIOS 0.2.2
Formerly known as "legacybios". Available on 20080501. Major changes in this release:
- Several bug fixes and code cleanups
SeaBIOS 0.2.1
Formerly known as "legacybios". Available on 20080406. Major changes in this release:
- Port of boot menu code from Bochs BIOS
- Several bug fixes and code cleanups
SeaBIOS 0.2.0
Formerly known as "legacybios". Available on 20080330. Major changes in this release:
- Completion of initial port of Bochs BIOS code to gcc.