SeaBIOS

SeaBIOS Git Change Log

Age Message
8 days 17 hours docs: Don't use an add-symbol-file offset when describing gdb debugging

Recent versions of gdb will only add an offset to the '.text' section
of object files via the add-symbol-file command. The SeaBIOS build
doesn't place code directly in a '.text' section, so update the
documentation to obtain the same result via an 'objcopy' call instead.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
8 days 22 hours xhci: Minor - add USB port type comments to xhci_hub_reset()

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
22 days 19 hours sdcard: Allow sdcard addresses to be specified in CBFS files

Allow a hardcoded address to be specified in cbfs files with a prefix
of "etc/sdcard". Some real-world devices have valid SDHCI controllers
that do not show up as PCI devices.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
22 days 16 hours ps2: Eliminate "etc/ps2-poll-only"; use CONFIG_HARDWARE_IRQ instead

The "etc/ps2-poll-only" runtime setting is directly tied to the new
CONFIG_HARDWARE_IRQ setting - use the compile time setting to control
both.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
22 days 16 hours Add minimal support for machines without hardware interrupts

Some Chromebooks (with Baytrail CPUs) apparently do not support
routing of legacy interrupts. This patch adds minimal support for
running SeaBIOS in such an environment. Even with this patch, it is
known that old operating systems and even some recent bootloaders will
not function without real hardware interrupts.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
19 days 21 hours rtc: Support disabling the RTC timer irq support

Add a build time config option to remove support for RTC timer
interrupts along with the associated bios calls requiring that
support.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
22 days 17 hours sdcard: Allow the sdcard driver to run on real hardware

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
21 days 19 hours sdcard: Initial support for MMC cards

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
20 days 20 hours sdcard: Check for error events during sdcard_pio()

Check for command errors and clear the error status if an error is
found.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
20 days 20 hours sdcard: Perform a controller reset at start of init

Ask the controller to reset itself during controller setup.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
21 days 19 hours sdcard: Rename waitw() to sdcard_waitw() and simplify

Calculate end timeout in code and return if any bit in the provided
mask is set.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
20 days 19 hours sdcard: Implement timeout on every block read in sdcard_pio_transfer()

The sdcard specs don't specify a maximum time for arbitrary transfers.
Instead, each block has a maximum timeout. So, change the code to
check for a timeout on each block transferred.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
21 days 19 hours sdcard: The card should never be in a busy state at start of sdcard_pio()

Return an error if the controller is busy at the start of a command
instead of waiting.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
21 days 20 hours sdcard: Power down controller on failure

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
21 days 20 hours sdcard: Power controller up to maximum voltage supported

Don't error out if the controller does not support 3.3V - instead
supply the most voltage the controller supports.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
21 days 20 hours sdcard: Move power setup to new function sdcard_set_power()

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
21 days 23 hours sdcard: Support SDHCI v3.00 spec clock setting

The SDHCI v3 spec supports higher frequency clocks and has a different
method to configure the clock divisor.

This also fixes an error in v1/v2 clock calculation (ffs was used
instead of fls).

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
22 days 9 hours sdcard: Fill command bits according to spec

Set the proper command bits for each command according to the SDHCI
specification.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
22 days 13 hours sdcard: Fix typo - use sdcard_pio() instead of sdcard_pio_app()

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
25 days 16 hours Call cpu_relax() if yielding prior to interrupts being enabled

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
25 days 16 hours Move CanInterrupt check to check_irqs()

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
27 days 17 hours edd: Reduce parameters to fill_generic_edd()

Have callers of fill_generic_edd() calculate the edd iface_path
field. Have callers determine if the bus type is PCI vs ISA.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
1 month 5 days edd: Pass the segment/offset from int 1348 calls using a 'struct segoff_s'

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
22 days 17 hours optionroms: Don't run option rom on PCI bar if CBFS/fw_cfg version exists

If there exists a "pci%04x,%04x.rom" file in CBFS/fw_cfg then the code
should not attempt to run a rom found on the PCI device itself - even
if the one in CBFS/fw_cfg is not a valid rom. This makes the code
match the documentation.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
25 days 9 hours xhci: Count new Max Scratchpad Bufs bits from XHCI 1.1

The 1.1 revision of the XHCI specification added an extra 5 bits to the
Max Scratchpad Bufs field of HCSPARAMS2 that newer controllers make use
of. Not honoring these bits means we're not allocating as many
scratchpad buffers as the controller expects, which means it will
interpret some uninitialized values from the end of the pointer array as
scratchpad buffer pointers.

We just fixed this in libpayload and it seems to apply the same way to
SeaBIOS (I only compile-tested this, though... sorry).

Signed-off-by: Julius Werner <jwerner@chromium.org>
Commit fd318e4cdc47dec763411e1467e542939e6b7d86, by Julius Werner