SeaBIOS

SeaBIOS Git Change Log

Age Message
9 days 13 minutes ahci: Set upper 32-bit registers to zero

If the HBA supports 64-bit addressing, the registers may contain
non-zero values, for example after reboot as a leftover from the
OS driving the adapter.

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Ladi Prosek <lprosek@redhat.com>
1 month 1 day serialio: Support for mmap serial ports

Some chipsets have memory mapped serial ports. The protocol is the same
as an standard uart, but with memory read/write instead of inb/outb.

Tested-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Commit 9332965e1c46ddf4e19d7050f1e957a195c703fa, by Ricardo Ribalda Delgado
1 month 29 days tpm: Log TPM 2 digest structure in little endian format

The parameters for extending the PCRs of a TPM 2 are written in
big endian format when sent to the TPM. However, the log needs
to be written in little endian format, so we cannot just copy
the structure into the log as-is. To support the little endian
format in the log, we extend the function writing the TPM 2
digest structure with a parameter that allows us to choose the
endianess of a few parameters. We then rewrite the digest structure
in little endian format for the log.

Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
Commit 7b7b49e2898613dd6cf82473fa9b702541f218d6, by Stefan Berger
5 months 11 days tpm: Rework tpm_build_and_send_cmd() into tpm_simple_cmd()

Instead of passing an arbitrary buffer as a parameter to
tpm_build_and_send_cmd(), just support the simpler case of a parameter
that is only 0, 1, or 2 bytes in length. This allows the callers to
pass the parameter directly and not worry about the big-endian
encoding. Rename the function to tpm_simple_cmd().

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
5 months 11 days tpm: Don't call tpm_build_and_send_cmd() from tpm20_stirrandom()

Instead call tpmhw_transmit() directly.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
1 year 11 days acpi: Generalize find_fadt() and find_tcpa_by_rsdp() into find_acpi_table()

The find_fadt() and find_tcpa_by_rsdp() functions are very similar.
Create a new find_acpi_table() function and replace the two functions
with this new function.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
5 months 11 days tpm: Move code around in tcgbios.c to keep like code together

No code changes; just code movement.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
5 months 11 days tpm: Don't call tpm_set_failure() from tpm12_get_capability()

In the event of a failure in the low-level tpm12_get_capability()
code, just return an error code. The caller can shutdown the TPM if
needed - the only place where that is needed is during a failure in
tpm12_determine_timeouts().

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
5 months 11 days tpm: Add comment banners to tcg.c separating major parts of spec

No code changes; just code movement.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2 months 10 days drop "etc/boot-cpus" fw_cfg file and reuse legacy QEMU_CFG_NB_CPUS

since QEMU_CFG_NB_CPUS not going away anytime soon
and serves the same purpose as just added "etc/boot-cpus" fw_cfg
drop support for "etc/boot-cpus" while this code is not
in use yet (i.e. QEMU with "etc/boot-cpus" hasn't been released)
and reuse QEMU_CFG_NB_CPUS instead of it.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Commit b98c6586c0c3d519359d6e751ecb3e637e82dbcb, by Igor Mammedov
2 months 26 days usb: Make usb_time_sigatt variable static

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2 months 26 days docs: Note v1.10.0 release

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2 months 27 days build: Add -fno-pie to the gcc flags when available

Reported-by: Paul Menzel <paulepanter@users.sourceforge.net>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
3 months 8 days support booting with more than 255 CPUs

SDM[*1] says that if there are CPUs with APIC ID
greater than 254, BIOS is to pass control to OS
in x2APIC mode. Use the fact that QEMU passes in
"etc/max-cpus" max possible "APIC ID + 1" to
detect need for x2APIC mode. Also instead of
CMOS_BIOS_SMP_COUNT which is limited to 256 CPUs
use a new rom file "etc/boot-cpus" that QEMU
supporting more than 256 CPUs will provide.

*1) SDM: Volume 3: EXTENDED XAPIC (X2APIC):
Initialization by System Software

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Commit cb75c910a2c380e29099a0ae90b03de1689236c5, by Igor Mammedov
3 months 8 days add helpers to read etc/boot-cpus at resume time

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Commit 023b1d0d6a59a2555fd9b1c4d25e687a5844cf2c, by Igor Mammedov
3 months 8 days smp: consolidate CPU APIC ID detection and accounting

Signed-off-by: "Kevin O'Connor" <kevin@koconnor.net>
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
3 months 8 days paravirt: disable legacy bios tables in case of more than 255 CPUs

MPTable doesn't support more than 255 CPUs and
QEMU supplies an alternative MADT table which
guest will use instead of it. So do not install
legacy tables if more than 254 CPUs are provided

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Commit f769589877b606d2c1b9b218b54b6ccef9440230, by Igor Mammedov
3 months 16 hours build: Be sure to also include out/*.d in Makefile

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
3 months 5 days docs: fix various typos and inconsistency

Signed-off-by: Piotr Król <piotr.krol@3mdeb.com>
4 months 5 days virtio: fix virtio-pci

virtio-pci calls pci_enable_{io,mem}bar with the bar number,
but the functions expect the bar base register offset.

Reported-by: Igor Mammedov <imammedo@redhat.com>
Tested-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
4 months 9 days kbd: Move extended and release events out of special key detection switch

Move checking for extended scancodes and key release to the top of
__process_key().

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
4 months 16 days post: Map int 0x05 to entry point

int 0x05 was not assigned in the interrupt table - fix that.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
4 months 16 days kbd: Generate interrupt events for SysReq, PrtScr, and Break

Generate the appropriate interrupt events for the given keys.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
4 months 16 days usb-hid: Generate Ctrl+Break and Alt+SysReq keys

Detect the sequences for generating Ctrl+Break and Alt+SysReq on USB
keyboards and produce the appropriate legacy scancodes.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
4 months 16 days kbd: Ignore fake shift keys

AT keyboards can produce "fake" shift keys on some extended events.
It's not necessary to process these artificial events as the actual
extended keys are detected directly.

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