SeaBIOS

SeaBIOS Git Change Log

Age Message
7 days 18 hours smm: fix outl argument order

The value is the first argument and the port is the second, but the code
was using the opposite order.

Reported-by: Stefan Weil <sw@weilnetz.de>
Reviewed-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Commit 908a58c1d5ffd3284815b6886fa6b8f848ee6475, by Paolo Bonzini
10 days 12 hours Minor - move declaration of CDRom_locks to code that uses it

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 days 15 hours ramdisk: Allow ramdisk support (CONFIG_FLASH_FLOPPY) under QEMU

Don't require coreboot to use CONFIG_FLASH_FLOPPY - with the latest
QEMU, it's possible to place a floppy image into fw_cfg using the qemu
command line (eg, "-fw_cfg name=floppyimg/MyFloppy,file=file.img").

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 days 16 hours timer: Add CONFIG_TSC_TIMER build option to disable the CPU TSC timer

Allow users to remove the CPU timestamp counter support at compile
time. The PMTIMER is frequently used instead of the TSC and this
compile time option allows one to strip a few bytes from the final
binary. This change also defaults the internal timer to use the PIT
based timer until the PMTIMER or TSC is detected.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
12 days 9 hours timer: Delay timestamp counter init until after pmtimer is probed

Delay call to timer_setup() until after the xxx_platform_setup() calls
so that the pmtimer can be detected first. Most modern machines will
have a pmtimer and calibrating the timestamp counter is frequently
unnecessary.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
12 days 10 hours ps2: Don't wait 100ms to discard possible extra reset receive byte

The existing PS2 port code waits 100ms to see if the device attached
to the keyboard port responds to a reset command with two bytes
(instead of the normal one byte). If an extra byte is received, it is
discarded.

Receiving two bytes would be unusual and waiting to check for that
event is unnecessary because the next command in the keyboard init
sequence already seamlessly discards any extra bytes in the command
queue.

This patch eliminates the 100ms wait, which notably reduces the
SeaBIOS boot time on QEMU. This patch also forces PS2 mice to always
respond with two bytes during a reset sequence (instead of just one
byte), which is a good sanity check.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
20 days 9 hours Don't enable interrupts prior to IVT and PIC setup

The machine may crash if an interrupt occurs prior to the setup of the
interrupt vector table (IVT) and programmable interrupt controller
(PIC). This patch makes sure that interrupts remain disabled until
these components are setup.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
20 days 10 hours ata: Make sure "chanid" is relative to PCI device for bootorder file

When specifying drives in the bootorder file, the "drive@x" parameter
should be relative to the given PCI device and not relative to the
total number of ATA controllers in the machine. This patch separates
the tracking of "chanid" (channel number relative to a given PCI
devices) from the "ataid" (channel number relative to the total number
of ATA channels).

Reported-by: Jonathan A. Kollasch <jakllsch@kollasch.net>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
8 months 22 days ps2: Support mode for polling the PS2 port instead of using irqs

Some recent hardware has trouble with routing PS2 port interrupts
while the interrupt controller is in legacy routing mode. This patch
adds a config mechanism (via "etc/ps2-poll-only") to force the PS2
code into a polling only mode so that interrupts are not required.

It is not recommended to use this polling mode on hardware that does
properly support PS2 irqs, because some very old (DOS-era) programs
depend on the BIOS PS2 irq behavior.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
26 days 6 hours coreboot: Try to auto-detect if the CBFS anchor pointer is a relative pointer

If CONFIG_CBFS_LOCATION is set to a non-zero value then it means the
CBFS flash is not at the very end of memory. In this case, it's
unclear if the anchor pointer is an absolute pointer or if it is
relative to CONFIG_CBFS_LOCATION. Some devices have been using
absolute pointers, but it appears some devices are now using relative
pointers there. Since the anchor pointer almost always points to a
structure in the last 64K of the rom, it should be possible to
auto-detect if the pointer is relative or not.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
27 days 10 hours block: Rename process_XXX_op() functions to XXX_process_op()

Rename disk driver dispatch functions to a consistent naming style.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
27 days 10 hours blockcmd: Convert cdb_is_read() to scsi_is_read()

Convert the cdb_is_read() function to a new function scsi_is_read()
which takes a 'struct disk_op_s' as a paramter.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
27 days 12 hours blockcmd: Remove unused scsi_process_op() and cdb_cmd_data()

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
27 days 12 hours pvscsi: Handle pvscsi drives directly via 'struct disk_op_s' requests

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
27 days 12 hours pvscsi: Move pvscsi_fill_req() code into pvscsi_cmd()

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
27 days 12 hours virtio-scsi: Handle virtio drives directly via 'struct disk_op_s' requests

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
27 days 13 hours megasas: Handle Megasas drives directly via 'struct disk_op_s' requests

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
27 days 13 hours esp-scsi: Handle ESP drives directly via 'struct disk_op_s' requests

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
27 days 13 hours lsi-scsi: Handle LSI drives directly via 'struct disk_op_s' requests

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
27 days 13 hours usb-uas: Handle USB drives directly via 'struct disk_op_s' requests

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
27 days 13 hours usb-msc: Handle USB drives directly via 'struct disk_op_s' requests

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
27 days 13 hours ahci: Handle AHCI ATAPI drives directly via 'struct disk_op_s' requests

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
27 days 14 hours ata: Handle ATA ATAPI drives directly via 'struct disk_op_s' requests

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
27 days 14 hours blockcmd: Introduce scsi_fill_cmd()

Introduce scsi_fill_cmd() which creates a scsi style "command data
block" from a "struct disk_op_s" disk request.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
27 days 15 hours block: Route scsi style commands through 'struct disk_op_s'

Support sending scsi style "command data block" commands (cdbcmd)
through the 'struct disk_op_s' command request structure. And change
the blockcmd.c and cdrom.c code to route these commands through the
process_op() code.

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