Releases: Difference between revisions

From SeaBIOS
Jump to navigation Jump to search
(rel 1.7.5)
(Update to pandoc version (quote and space differences))
Line 1: Line 1:
History of SeaBIOS releases. Please see [[Download]] for information on obtaining these 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. Major changes in this release:
 
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 "coreboot native vga" support
** 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. Major changes in this release:
 
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 "pvscsi" devices on QEMU.
* 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 "bochs dispi" interface video modes.
** 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. Major changes in this release:
 
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. Non-standard floppy sizes now work again with recent QEMU versions.
* 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. Major changes in this release:
 
* Support for ICH9 host chipset ("q35") on emulators
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. Major changes in this release:
 
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. Support 64bit PCI bars and mapping them above 4G.
* 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. No longer reserve memory for custom storage in first 640k.
* 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 "files" are now only scanned one time
* 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. Major changes in this release:
 
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. Major changes in this release:
 
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. AHCI is now enabled by default.
* 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, "etc/boot-menu-wait")
* 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. Major changes in this release:
 
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 "bootorder" file)
* 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. Major changes in this release:
 
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. Major changes in this release:
 
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. Major changes in this release:
 
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. Major changes in this release:
 
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). Support added for extracting option roms from qemu "fw_cfg".
* 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 "local interrupts" now enabled in SeaBIOS (on emulators)
* 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. Major changes in this release:
 
* Implement Post Memory Manager (PMM) support. Use equivalent "malloc" functions for internal allocations as well.
Available on 20090909. Major changes in this release:
* Refactor disk "block" interface for greater expandability
 
* 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. Major changes in this release:
 
* Support older versions of gcc that predate "-fwhole-program" (eg, v3.x)
Available on 20090714. Major changes in this release:
* Add initial port of "LGPL vga bios" code into tree in "vgasrc/" directory
 
* Handle ATA drives still "spinning up" during SeaBIOS drive detect
* 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 "payload"
* 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. Major changes in this release:
 
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. Major changes in this release:
 
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. Major changes in this release:
 
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 "legacybios". Available on 20080501. Major changes in this release:
 
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 "legacybios". Available on 20080406. Major changes in this release:
 
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 "legacybios". Available on 20080330. Major
 
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.