Releases: Difference between revisions
(rel 1.7.5) |
(Update to pandoc version (quote and space differences)) |
||
Line 1: | Line 1: | ||
History of SeaBIOS releases. | History of SeaBIOS releases. Please see [[Download|download]] for information on obtaining these releases. | ||
= SeaBIOS 1.7.5 = | = SeaBIOS 1.7.5 = | ||
Available on 20140528. | |||
Available on 20140528. Major changes in this release: | |||
* Support for obtaining SMBIOS tables directly from QEMU. | * Support for obtaining SMBIOS tables directly from QEMU. | ||
* XHCI USB controller fixes for real hardware (now tested on several boards) | * XHCI USB controller fixes for real hardware (now tested on several boards) | ||
* SeaVGABIOS improvements | * SeaVGABIOS improvements | ||
** New driver for | ** New driver for "coreboot native vga" support | ||
** Improved detection of older x86emu versions with incorrect emulation. | ** Improved detection of older x86emu versions with incorrect emulation. | ||
* Several bug fixes and code cleanups | * Several bug fixes and code cleanups | ||
= SeaBIOS 1.7.4 = | = SeaBIOS 1.7.4 = | ||
Available on 20131223. | |||
Available on 20131223. Major changes in this release: | |||
* Support for obtaining ACPI tables directly from QEMU. | * Support for obtaining ACPI tables directly from QEMU. | ||
* Initial support for XHCI USB controllers (initially for QEMU only). | * Initial support for XHCI USB controllers (initially for QEMU only). | ||
* Support for booting from | * Support for booting from "pvscsi" devices on QEMU. | ||
* Enhanced floppy driver - improved support for real hardware. | * Enhanced floppy driver - improved support for real hardware. | ||
* coreboot cbmem console support. | * coreboot cbmem console support. | ||
Line 23: | Line 26: | ||
** Better support for legacy X.org releases with incomplete x86emu emulation. | ** Better support for legacy X.org releases with incomplete x86emu emulation. | ||
** Support for using an internal stack to reduce caller's stack usage. | ** Support for using an internal stack to reduce caller's stack usage. | ||
** Back port of new | ** Back port of new "bochs dispi" interface video modes. | ||
* Several bug fixes and code cleanups | * Several bug fixes and code cleanups | ||
** Source code separated out into additional hardware and firmware directories. | ** Source code separated out into additional hardware and firmware directories. | ||
Line 29: | Line 32: | ||
= SeaBIOS 1.7.3 = | = SeaBIOS 1.7.3 = | ||
Available on 20130707. | |||
Available on 20130707. Major changes in this release: | |||
* Initial support for using SeaBIOS as a UEFI Compatibility Support Module (CSM) | * Initial support for using SeaBIOS as a UEFI Compatibility Support Module (CSM) | ||
* Support for detecting and using ACPI reboot ports. | * Support for detecting and using ACPI reboot ports. | ||
* By default, all 16bit entry points now use an internal stack to reduce stack footprint. | * By default, all 16bit entry points now use an internal stack to reduce stack footprint. | ||
* Floppy controller code has been rewritten to improve compatibility. | * Floppy controller code has been rewritten to improve compatibility. Non-standard floppy sizes now work again with recent QEMU versions. | ||
* Several bug fixes and code cleanups | * Several bug fixes and code cleanups | ||
= SeaBIOS 1.7.2 = | = SeaBIOS 1.7.2 = | ||
Available on 20130118. | |||
* Support for ICH9 host chipset ( | Available on 20130118. Major changes in this release: | ||
* Support for ICH9 host chipset ("q35") on emulators | |||
* Support for booting from LSI MegaRAID SAS controllers | * Support for booting from LSI MegaRAID SAS controllers | ||
* Support for using the ACPI PM timer on emulators | * Support for using the ACPI PM timer on emulators | ||
Line 45: | Line 52: | ||
= SeaBIOS 1.7.1 = | = SeaBIOS 1.7.1 = | ||
Available on 20120831. | |||
Available on 20120831. Major changes in this release: | |||
* Initial support for booting from USB attached scsi (USB UAS) drives | * Initial support for booting from USB attached scsi (USB UAS) drives | ||
* USB EHCI 64bit controller support | * USB EHCI 64bit controller support | ||
Line 51: | Line 60: | ||
* Support for booting from LSI SCSI controllers on emulators | * Support for booting from LSI SCSI controllers on emulators | ||
* Support for booting from AMD PCscsi controllers on emulators | * Support for booting from AMD PCscsi controllers on emulators | ||
* New PCI allocation code on emulators. | * New PCI allocation code on emulators. Support 64bit PCI bars and mapping them above 4G. | ||
* Support for non-linear APIC ids on emulators. | * Support for non-linear APIC ids on emulators. | ||
* Stack switching for 16bit real mode irq handlers to reduce stack footprint. | * Stack switching for 16bit real mode irq handlers to reduce stack footprint. | ||
* Support for custom storage in the memory at 0xc0000-0xf0000. | * Support for custom storage in the memory at 0xc0000-0xf0000. No longer reserve memory for custom storage in first 640k. | ||
* Improved code generation for 16bit segment register loads | * Improved code generation for 16bit segment register loads | ||
* Boot code will now (by default) reboot after 60 seconds if no boot device found | * Boot code will now (by default) reboot after 60 seconds if no boot device found | ||
* CBFS and FWCFG | * CBFS and FWCFG "files" are now only scanned one time | ||
* Several bug fixes | * Several bug fixes | ||
= SeaBIOS 1.7.0 = | = SeaBIOS 1.7.0 = | ||
Available on 20120414. | |||
Available on 20120414. Major changes in this release: | |||
* Many enhancements to VGA BIOS code - it should now be feature complete with LGPL vgabios. | * Many enhancements to VGA BIOS code - it should now be feature complete with LGPL vgabios. | ||
* Support for virtio-scsi. | * Support for virtio-scsi. | ||
Line 72: | Line 83: | ||
= SeaBIOS 1.6.3 = | = SeaBIOS 1.6.3 = | ||
Available on 20111004. | |||
Available on 20111004. Major changes in this release: | |||
* Initial support for Xen | * Initial support for Xen | ||
* PCI init (on emulators) uses a two-phase initialization | * PCI init (on emulators) uses a two-phase initialization | ||
* Fixes for AHCI so it can work on real hardware. | * Fixes for AHCI so it can work on real hardware. AHCI is now enabled by default. | ||
* Bootsplash support for BMP files | * Bootsplash support for BMP files | ||
* Several configuration options can now be configured at runtime via CBFS files | * Several configuration options can now be configured at runtime via CBFS files (eg, "etc/boot-menu-wait") | ||
(eg, | |||
* PCI device scan is cached during POST phase | * PCI device scan is cached during POST phase | ||
* Several bug fixes | * Several bug fixes | ||
= SeaBIOS 0.6.2 = | = SeaBIOS 0.6.2 = | ||
Available on 20110228. | |||
Available on 20110228. Major changes in this release: | |||
* Setup code can relocate to high-memory to save space in c-f segments | * Setup code can relocate to high-memory to save space in c-f segments | ||
* Build now configured via Kconfig | * Build now configured via Kconfig | ||
* Experimental support for AHCI controllers | * Experimental support for AHCI controllers | ||
* Support for run-time configuration of the boot order (via CBFS/fw_cfg | * Support for run-time configuration of the boot order (via CBFS/fw_cfg "bootorder" file) | ||
* Support T13 EDD3.0 spec | * Support T13 EDD3.0 spec | ||
* Improved bounds checking on PCI memory allocation | * Improved bounds checking on PCI memory allocation | ||
Line 93: | Line 107: | ||
= SeaBIOS 0.6.1 = | = SeaBIOS 0.6.1 = | ||
Available on 20100913. | |||
Available on 20100913. Major changes in this release: | |||
* Support for virtio drives | * Support for virtio drives | ||
* Add ACPI definitions for cpu hotplug support | * Add ACPI definitions for cpu hotplug support | ||
Line 104: | Line 120: | ||
= SeaBIOS 0.6.0 = | = SeaBIOS 0.6.0 = | ||
Available on 20100326. | |||
Available on 20100326. Major changes in this release: | |||
* USB hub support | * USB hub support | ||
* USB drive booting support | * USB drive booting support | ||
Line 114: | Line 132: | ||
= SeaBIOS 0.5.1 = | = SeaBIOS 0.5.1 = | ||
Available on 20100108. | |||
Available on 20100108. Major changes in this release: | |||
* Support for 32bit PCI BIOS calls | * Support for 32bit PCI BIOS calls | ||
* Support for int1589 calls | * Support for int1589 calls | ||
Line 122: | Line 142: | ||
= SeaBIOS 0.5.0 = | = SeaBIOS 0.5.0 = | ||
Available on 20091218. | |||
Available on 20091218. Major changes in this release: | |||
* Several enhancements ported from the Bochs BIOS derived code in qemu and kvm | * Several enhancements ported from the Bochs BIOS derived code in qemu and kvm | ||
* Support for parallel hardware initialization to reduce bootup times | * 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). | * 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 | * Support USB UHCI and OHCI controllers | ||
* Initial support for USB keyboards | * Initial support for USB keyboards | ||
* SeaBIOS can now be greater than 64K | * SeaBIOS can now be greater than 64K | ||
* Support for permanent low memory allocations | * Support for permanent low memory allocations | ||
* APIC | * APIC "local interrupts" now enabled in SeaBIOS (on emulators) | ||
* Several bug fixes and code cleanups | * Several bug fixes and code cleanups | ||
= SeaBIOS 0.4.2 = | = SeaBIOS 0.4.2 = | ||
Available on 20090909. | |||
* Implement Post Memory Manager (PMM) support. | Available on 20090909. Major changes in this release: | ||
* Refactor disk | |||
* 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 | * Support CBFS based floppy images | ||
* Allow boot menu to select either floppy to boot from | * Allow boot menu to select either floppy to boot from | ||
Line 146: | Line 170: | ||
= SeaBIOS 0.4.1 = | = SeaBIOS 0.4.1 = | ||
Available on 20090714. | |||
* Support older versions of gcc that predate | Available on 20090714. Major changes in this release: | ||
* Add initial port of | |||
* Handle ATA drives still | * 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) | * Add support for option rom Boot Connection Vectors (BCV) | ||
* Enhance boot menu to support booting from any drive or any cdrom | * Enhance boot menu to support booting from any drive or any cdrom | ||
* Support flash based Coreboot File System (CBFS) | * Support flash based Coreboot File System (CBFS) | ||
* Support booting from a CBFS | * Support booting from a CBFS "payload" | ||
* Support coreboot table forwarder | * Support coreboot table forwarder | ||
* Support compile time definitions for multiple root PCI buses | * Support compile time definitions for multiple root PCI buses | ||
Line 160: | Line 186: | ||
= SeaBIOS 0.4.0 = | = SeaBIOS 0.4.0 = | ||
Available on 20090206. | |||
Available on 20090206. Major changes in this release: | |||
* Add Bios Boot Specification (BBS) calls; add PnP call stubs | * Add Bios Boot Specification (BBS) calls; add PnP call stubs | ||
* Support option roms stored in PCI rom BAR | * Support option roms stored in PCI rom BAR | ||
Line 178: | Line 206: | ||
= SeaBIOS 0.3.0 = | = SeaBIOS 0.3.0 = | ||
Available on 20080817. | |||
Available on 20080817. Major changes in this release: | |||
* Run boot code (int18/19) in 32bit mode | * Run boot code (int18/19) in 32bit mode | ||
* Rewrite of PS2 port handling - new code is more compatible with real hardware | * Rewrite of PS2 port handling - new code is more compatible with real hardware | ||
Line 185: | Line 215: | ||
= SeaBIOS 0.2.3 = | = SeaBIOS 0.2.3 = | ||
Available on 20080702. | |||
Available on 20080702. Major changes in this release: | |||
* Initial support for running on real hardware with coreboot | * Initial support for running on real hardware with coreboot | ||
* Support parsing coreboot tables | * Support parsing coreboot tables | ||
Line 195: | Line 227: | ||
= SeaBIOS 0.2.2 = | = SeaBIOS 0.2.2 = | ||
Formerly known as | |||
Formerly known as "legacybios". Available on 20080501. Major changes in this release: | |||
* Several bug fixes and code cleanups | * Several bug fixes and code cleanups | ||
= SeaBIOS 0.2.1 = | = SeaBIOS 0.2.1 = | ||
Formerly known as | |||
Formerly known as "legacybios". Available on 20080406. Major changes in this release: | |||
* Port of boot menu code from Bochs BIOS | * Port of boot menu code from Bochs BIOS | ||
* Several bug fixes and code cleanups | * Several bug fixes and code cleanups | ||
= SeaBIOS 0.2.0 = | = SeaBIOS 0.2.0 = | ||
Formerly known as | |||
changes in this release: | Formerly known as "legacybios". Available on 20080330. Major changes in this release: | ||
* Completion of initial port of Bochs BIOS code to gcc. | * Completion of initial port of Bochs BIOS code to gcc. |
Revision as of 17:26, 18 February 2015
History of SeaBIOS releases. Please see download for information on obtaining these releases.
SeaBIOS 1.7.5
Available on 20140528. Major changes in this release:
- Support for obtaining SMBIOS tables directly from QEMU.
- XHCI USB controller fixes for real hardware (now tested on several boards)
- SeaVGABIOS improvements
- New driver for "coreboot native vga" support
- Improved detection of older x86emu versions with incorrect emulation.
- Several bug fixes and code cleanups
SeaBIOS 1.7.4
Available on 20131223. Major changes in this release:
- Support for obtaining ACPI tables directly from QEMU.
- Initial support for XHCI USB controllers (initially for QEMU only).
- Support for booting from "pvscsi" devices on QEMU.
- Enhanced floppy driver - improved support for real hardware.
- coreboot cbmem console support.
- Optional support for using the 9-segment instead of the e-segment for local variables.
- Improved internal timer code and accuracy.
- SeaVGABIOS improvements
- Better support for legacy X.org releases with incomplete x86emu emulation.
- Support for using an internal stack to reduce caller's stack usage.
- Back port of new "bochs dispi" interface video modes.
- Several bug fixes and code cleanups
- Source code separated out into additional hardware and firmware directories.
- Update to latest version of Kconfig
SeaBIOS 1.7.3
Available on 20130707. Major changes in this release:
- Initial support for using SeaBIOS as a UEFI Compatibility Support Module (CSM)
- Support for detecting and using ACPI reboot ports.
- By default, all 16bit entry points now use an internal stack to reduce stack footprint.
- Floppy controller code has been rewritten to improve compatibility. Non-standard floppy sizes now work again with recent QEMU versions.
- Several bug fixes and code cleanups
SeaBIOS 1.7.2
Available on 20130118. Major changes in this release:
- Support for ICH9 host chipset ("q35") on emulators
- Support for booting from LSI MegaRAID SAS controllers
- Support for using the ACPI PM timer on emulators
- Improved Geode VGA BIOS support.
- Several bug fixes
SeaBIOS 1.7.1
Available on 20120831. Major changes in this release:
- Initial support for booting from USB attached scsi (USB UAS) drives
- USB EHCI 64bit controller support
- USB MSC multi-LUN device support
- Support for booting from LSI SCSI controllers on emulators
- Support for booting from AMD PCscsi controllers on emulators
- New PCI allocation code on emulators. Support 64bit PCI bars and mapping them above 4G.
- Support for non-linear APIC ids on emulators.
- Stack switching for 16bit real mode irq handlers to reduce stack footprint.
- Support for custom storage in the memory at 0xc0000-0xf0000. No longer reserve memory for custom storage in first 640k.
- Improved code generation for 16bit segment register loads
- Boot code will now (by default) reboot after 60 seconds if no boot device found
- CBFS and FWCFG "files" are now only scanned one time
- Several bug fixes
SeaBIOS 1.7.0
Available on 20120414. Major changes in this release:
- Many enhancements to VGA BIOS code - it should now be feature complete with LGPL vgabios.
- Support for virtio-scsi.
- Improved USB drive (usb-msc) support.
- Several USB controller bug fixes and improvements.
- Runtime ACPI AML PCI hotplug construction.
- Support for running on i386 and i486 CPUs.
- Enhancements to PCI init when running on emulators.
- Several bug fixes
SeaBIOS 1.6.3
Available on 20111004. Major changes in this release:
- Initial support for Xen
- PCI init (on emulators) uses a two-phase initialization
- Fixes for AHCI so it can work on real hardware. AHCI is now enabled by default.
- Bootsplash support for BMP files
- Several configuration options can now be configured at runtime via CBFS files (eg, "etc/boot-menu-wait")
- PCI device scan is cached during POST phase
- Several bug fixes
SeaBIOS 0.6.2
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.