1.260. seabios

Updated SeaBIOS packages that fix several bugs are now available for Red Hat Enterprise Linux 6.
This SeaBIOS package is a legacy BIOS implementation which can be used as a coreboot payload.

Bug Fixes

When booting an MS-DOS 6.22 guest on an Intel host, SeaBIOS put the hardware in a state KVM couldn't handle, resulting in a crash. This patch restores segment limits in the handle_1589 code, so it no longer crashes.
The ability to specify boot order from the qemu command line will allow for better control of a guest's behavior. Qemu should build list of all bootable devices and pass the preferred order into Seabios. This update applies 28 patches in order to do this. These include creating a separate IPL entry for each CD/DVD qemu in seabios, providing full EDD 3.0 information for virtio disk, adding the romfile_name() and strchr() functions, as well as functions for boot device path parsing. It tracks the source of each optionrom deployed, renames add_ordered_drive() to add_drive() and is used in map_hd_drive(), among many others. This will significantly enhance a user's experience and level of control.
In order to support the above feature SeaBIOS needed to be rebased. Included in this patch are seven Red Hat Enterprise Linux 6 local patches that are forward ported: fix resume from S3 with QXL device; set Type 3 (chassis) manufacturer information to "Red Hat"; set system manufacturer/product name to Red Hat/KVM; set BIOS vender/version fields to Seabios/0.5.1; allow vendor/manufacturer/version product names to be set on config.h (*); do not advertise hpet to a guest OS; set CONFIG_S3_RESUME_VGA_INIT to 1.
Previously, BIOS did not behave according to T13 EDD3.0 spec. This patch adds support for the spec, resulting in more information about interface and device paths. If a guest provides a buffer with enough space for T13 EDD information it will return EDD according to the T13 spec, otherwise it will use the Phoenix one.
On a Windows virtual machine it was possible to 'Safely Remove' too many devices, including the graphics adapter, the PCI to ISA bridge device, and the PCI RAM controller, resulting in system instability. This patch uses the _RMV method to indicate whether device can be removed, thus fixing the issue.
When guest was loaded to grub during reboot a "Guest moved using index from 0 to 580" error would occur, then the guest would quit. This update applies an upstream patch which sets vring_virtqueue to be zeroed, preventing old values being reused after reboot, fixing the problem.
When running 'CHAOS-Concurrent Hardware And OS test', it passes while the child job 'run pwrtest' failed. This update applies a patch that turns RTC_S4 FACP bit to on, fixing the problem
All users of SeaBIOS are advised to upgrade to this updated package, which resolves these issues.
An updated seabios package that fixes a bug is now available for Red Hat Enterprise Linux 6.
The seabios package contains an open-source legacy BIOS implementation which can be used as a coreboot payload. It implements the standard BIOS calling interfaces that a typical x86 proprietary BIOS implements.
Bug Fix
Previously, the smp_mtrr array was not large enough to hold all 31 entries of model-specific registers (MSRs) with current qemu-kvm implementations. As a consequence, installation of a Windows Server 2008 32-bit guest failed when more than one virtual CPU was allocated. With this update, the size of the smp_mtrr array has been increased to 32, and now Windows Server 2008 guests install successfully in the described scenario.
All users of seabios are advised to upgrade to this updated package, which fixes this bug.