SeaBIOS

SeaBIOS Git Change Log

Age Message
8 days 11 hours vgabios: Emulate "leal" instruction

Emulate the "leal" instruction so that the vgabios can run on older
versions of x86emu. (This removes the previous "leal" trap.)

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
8 days 11 hours vgabios: Add config option for assembler fixups

Add a kconfig build option (CONFIG_VGA_FIXUP_ASM) to allow users to
build the vgabios without the complex assembler fixups that work
around emulator bugs.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
8 days 16 hours vgabios: Don't use "smsww" instruction - it confuses x86emu

Commit 251e2638 introduced the "smsww" instruction to the vgabios.
Unfortunately, it appears at least some versions of x86emu crash when
executing that instruction (eg, FC13 installer crashes). That
instruction wasn't required to work around the problem fixed in
251e2638, so just avoid it.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
8 days 16 hours smbios: Use integer signature instead of string signature

Change the smbios structure to use a 4 byte u32 signature field
instead of a 4 byte character string field. In practice, this allows
the compiler to place the signature in the initialize code segment and
thus makes it less likely the signature would be found in the
f-segment. (If the smbios signature is found in the f-segment it can
confuse some table scans.)

Reviewed-by: Bruce Rogers <brogers@suse.com>
Tested-by: Bruce Rogers <brogers@suse.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
29 days 17 hours checkrom: Fix typo in error message

increate -> increase

Signed-off-by: Andreas Färber <afaerber@suse.de>
Commit b4581224824871ad2909f84fc4a9e067cda663f2, by Andreas Färber
29 days 17 hours checkstack: Prefer passing "function" class instead of function address

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
29 days 17 hours checkstack: Simplify yield calculations

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
30 days 6 hours checkstack: Replace function information tuple with class

Replace the six-tuple storing information on each parsed function with
a class. This makes the code more readable.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
30 days 17 hours docs: Clarify that pci-optionrom-exec doesn't apply to roms in cbfs

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
1 month 18 hours vgabios: Don't use extra stack if it appears a modern OS is in use

If the last mode set (while not in vm86 mode) was done from a VBE mode
set call then disable the extra stack. This works under the premise
that only a modern OS would invoke the VBE mode changing facilities
and a modern OS would always call the vgabios with sufficient stack
space.

This is an ugly hack to work around a problem Windows Vista (and
possibly later Windows releases) has with the VGA BIOS using a stack
in the e-segment.

Reported-by: Richard Laager <rlaager@wiktel.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
1 month 18 hours vgabios: On bda_save_restore() the saved vbe_mode also has flags in it

When restoring a saved state, make sure to remove any flags from the
video mode prior to searching for that mode.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
1 month 1 day docs: Note release date of 1.8.1

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
1 month 5 days boot: switch default menu key to ESC

On some platforms, F12 may be hard to access; for example, on OS X
machines F9-F12 have been intercepted by the OS for a long time, and
on newer OS X releases function keys are basically gone for good.

Which keys are and are not available depends on the client, not on
the server, but only function keys are usually trapped by terminals.
Hence, using ESC for the boot menu avoids the problems associated
with F12.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Commit a1ac8861049a5ffefc26ca294293ad666954fcc8, by Paolo Bonzini
1 month 5 days boot.c: delay exiting boot if menu key is ESC

If the menu key is ESC, do not restart boot unless
1.5 seconds have passed. Otherwise users (trained by years of
repeatedly hitting keys to enter the BIOS) will end up hitting ESC
multiple times and immediately booting the primary boot device.

Suggested-by: Matt DeVillier <matt.devillier@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Commit 80aae26c9ef060bde15aebd84d0cc79a978706a9, by Paolo Bonzini
1 month 6 days smp: Fix smp race introduced in 0673b787

In 0673b787 the QEMU SMP init code was changed to run in 32bit mode.
Unfortunately, the transition32 assembler function is not
multi-processor safe, because it modifies the global RTC index
register. This race condition led to sporadic failures when emulating
machines with a large number of processors.

This patch changes the entry_smp code to use a variant of transition32
that does not touch the RTC registers.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2 months 1 day fw/pci: map memory and IO regions for multiple pci root buses

For resource sizing and mapping purposes treat devices on extra root
buses as if they are on the default root bus (bus 0).

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Signed-off-by: Marcel Apfelbaum <marcel@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Commit 0fe4c9ee7af5f6bb3a1fcbf1d39116a894600c90, by Marcel Apfelbaum
2 months 1 day fw/pci: scan all buses if extraroots romfile is present

If there are extra primary root buses, scanning the bus's 0
subtree is not enough. Scan all the range.

Signed-off-by: Marcel Apfelbaum <marcel@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Commit 5cc7eece39721f20b417770374a4112c454be801, by Marcel Apfelbaum
2 months 12 hours Add an option to only execute option ROMs contained in CBFS

TEST: Booted ASUS KFSN4-DRE with iPXE ROMs built in to CBFS;
with etc/pci-optionrom-exec set to 0 the on-board network ROMs
were ignored while the iPXE ROMs executed normally. When set
to 2 or greater all option ROMs executed normally. Tests of
VGA only were not possible due to a lack of supported hardware.

Signed-off-by: Timothy Pearson <tpearson@raptorengineeringinc.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Commit d23eba6ea3d429ed8a4a34bae7faad20ce44d8a1, by tpearson@raptorengineeringinc.com
2 months 21 days pci: enable SERR# for error forwarding in bridge control register

For PCIe device support AER(Advanced Error Reporting), from the
pcie spec 3.0 chapter 6.2.5, ERR_COR, ERR_NONFATAL, and ERR_FATAL
can be forwarded from the secondary interface to the primary interface,
only require the SERR# Enable bit in the Bridge Control register is set.

and at the kernel side, we found only _HPP() method can enable
SERR#, So here we want to turn on this bit.

Signed-off-by: Chen Fan <chen.fan.fnst@cn.fujitsu.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
1 month 29 days docs: Prefer triple backticks to multiple lines with single backticks

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
1 month 29 days docs: Add page on available CBFS/fw_cfg runtime config files

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
1 month 30 days docs: Add page describing the patch contribution process

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
1 month 30 days docs: add page for SeaVGABIOS

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2 months 11 hours x86: add barrier to read{b,w,l} and write{b,w,l} functions

Use barrier() for memory mapped IO functions.

This fixes pvscsi driver to boot on QEMU's pvscsi controller.
Test command:
qemu -m 512 --enable-kvm -device pvscsi,id=pvscsi0
-device scsi-disk,bus=pvscsi0.0,drive=drive0
-drive id=drive0,if=none,file=ubuntu1410.img,if=none
-bios seabios/out/bios.bin

Signed-off-by: Ameya Palande <2ameya@gmail.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Commit bc82fa431ef3a0791f637c54fc8065b3fbc13772, by Ameya Palande
1 month 30 days docs: Note v1.8.0 release

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>