SeaBIOS

SeaBIOS Git Change Log

Age Message
11 days 19 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
1 month 1 day 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>
9 days 20 hours docs: Prefer triple backticks to multiple lines with single backticks

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

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

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
10 days 17 hours docs: add page for SeaVGABIOS

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 days 18 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
10 days 22 hours docs: Note v1.8.0 release

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
10 days 22 hours docs: There is only one VAR16 flag now

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
10 days 23 hours docs: Update release history with dates of stable releases

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
10 days 23 hours docs: Document why v1.6.3 release came after v0.6.2

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
1 month 9 days checkstack: Handle callw instruction

Minor update to the checkstack.py tool.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
1 month 27 days usb: Minor - properly free memory on get_device_config() error path

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2 months 17 hours usb: Control transfers always have an 8 byte command size

There is no need to pass 'cmdsize' to the usb drivers as the cmdsize
is always 8 bytes.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2 months 30 minutes xhci: Merge some xhci_xfer_x() functions into xhci_send_pipe()

The xhci_xfer_setup, xhci_xfer_data, xhci_xfer_status, and
xhci_xfer_normal functions are very similar - enhance xhci_xfer_queue
to reduce the boiler plate in the above functions. Merge the
resulting setup, data, and status code into the only function that
uses them - xhci_send_pipe().

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2 months 9 hours xhci: Move xhci_xfer_x() functions together

This is purely code movement - no code changes.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2 months 9 hours usb: Use usb_send_pipe() now that all drivers have x_send_pipe()

Now that all drivers have unified control and bulk transmit functions,
unify the driver calling code in usb.c as well.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2 months 9 hours xhci: Merge xhci_send_control with xhci_send_bulk

Merge both the control and bulk pipe sending functions into one new
function: xhci_send_pipe(). This makes the xhci interface similar to
the other usb drivers.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2 months 9 hours uhci: Merge uhci_send_control with uhci_send_bulk

Merge both the control and bulk pipe sending functions into one new
function: uhci_send_pipe(). The two existing functions were similar,
and by merging them the resulting code supports more flexible control
transfers.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2 months 9 hours ohci: Merge ohci_send_control with ohci_send_bulk

Merge both the control and bulk pipe sending functions into one new
function: ohci_send_pipe(). The two existing functions were similar,
and by merging them the resulting code supports more flexible control
transfers.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2 months 14 hours ehci: Merge ehci_send_control with ehci_send_bulk

Merge both the control and bulk pipe sending functions into one new
function: ehci_send_pipe(). The two existing functions were similar,
and by merging them the resulting code supports more flexible control
transfers.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
1 month 27 days ehci: Simplify fillTDbuffer() and rename

Simplify the calculation of the maximum transfer size per qtd,
simplify the fillTDbuffer() function so that it only fills the buffer
pointers, and rename fillTDbuffer() to ehci_fill_tdbuf().

Also, don't modify 'data' or 'datasize' so that usb_xfer_time() can
use 'datasize' at the end of the function.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2 months 14 hours ehci: No need to support td array wrapping

The maximum bulk transfer is 64K and 4 QTDs can always transfer 64K.
So, there is no need to support a transfer with more than 4 QTDs.
Build the entire transaction and then submit it in one operation to
simplify the code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
1 month 23 days vgabios: Support emulated text in gfx_read_char()

When emulating text mode on "coreboot framebuffer" SeaVGABIOS, return
a foreground and background attribute from gfx_read_char() and prefer
returning a space character (instead of null) on blank cells.

This also returns the foreground color (instead of always returning
zero) for regular graphics mode gfx_read_char() calls. This seems
fine as tests show other vgabios implementations also return various
values here.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
1 month 26 days vgabios: implement read char in graphics mode

GWBasic relies on this, so implement it to enable some serious retrocomputing.
There is no better way to do it than trying to match all characters one by one
against the current font.

This makes it possible to actually do something in SCREEN 1 and SCREEN 2
(without it, you can use graphics in the programs but not in direct mode).

I couldn't find documentation for what to return as the attribute, but
experimenting with DOSBox suggests 0 (and GWBasic accepts it).

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Commit 60e0e55f212dadd043ab9e39bee05a48013ddd8f, by Paolo Bonzini