SeaBIOS

SeaBIOS Git Change Log

Age Message
1 month 17 days Add pvpanic device driver

pvpanic device is used to notify host(qemu) when guest panic happens.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>
1 month 22 days acpi: Use cpu_to_leXX() consistently.

Audit the ACPI code and ensure that all multi-byte fields do proper
byte swabbing.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
1 month 22 days acpi: Remove dead code with descriptions of bit flags.

Remove dead code from acpi table definitions - the ACPI specification
is the best place to get descriptions of the fields and tables anyway.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
1 month 22 days acpi: Move ACPI table definitions from acpi.c to acpi.h.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
1 month 22 days Use container_of on romfile entries.

Create cbfs and fw_cfg specific romfile_s wrappers instead of using
private variables directly in romfile_s.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
1 month 29 days Cleanup QEMU_CFG_NUMA fw_cfg processing - split into two romfile entries.

The QEMU_CFG_NUMA fw_cfg entry is actually two separate tables in one
fw_cfg entry - a table for cpu affinity and a table for the memory
map. Create two romfile entries to make that more clear.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2 months 4 days acpi: make default DSDT optional

Since commit f7e4dd6c18ccfbaf6cd2f5eaaed2b77cabc8a406 QEMU loads its
own copy of DSDT, so let's not build in PIIX. This makes building in
the DSDT an option, default to on (built-in). If no one complains for a
while, we'll be able to switch it off and then maybe remove altogether.

With CONFIG_ACPI_DSDT = y
Total size: 127348 Fixed: 58892 Free: 3724 (used 97.2% of 128KiB rom)
With CONFIG_ACPI_DSDT = n
Total size: 122844 Fixed: 58884 Free: 8228 (used 93.7% of 128KiB rom)

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit 5aef563b0ea7fee4402307c95091b988615a2637, by Michael S. Tsirkin
2 months 2 days pciinit: Enable default VGA device

As QEMU gains PCI bridge and PCIe root port support, we won't always
find the VGA device on the root bus. We therefore need to add support
to find and enable a VGA device and the path to it through the VGA
Enable support in the PCI bridge control register.

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Commit 7adfd712d031e5b4bbd0865f32c99f397fbab821, by Alex Williamson
2 months 4 days mptable: Use same PCI irqs as ACPI code.

The ACPI code has a hardcoded list of PCI interrupts. Use that same
list in the mptable code generation. This will ensure that both
tables are in synch - it may also make the mptable easier to generate
from QEMU.

Also, move the irq0_override lookup outside of the irq loop.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2 months 4 days mptable: Don't describe pci-to-pci bridges.

It should not be necessary to describe PCI-to-PCI bridges in the
mptable. (The mptable was designed to fit in ROM, so it seems
unlikely that it would be used for bridges that could be dynamically
added.) Describing only the root bus should make it easier to port
this content into QEMU.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2 months 5 days Set ZF prior to keyboard read call in check_for_keystroke().

Set the ZF flag to make sure the keyboard interrupt is actively
clearing it on a key event. This fixes a hang when CONFIG_BOOTMENU is
on and CONFIG_KEYBOARD is off.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2 months 5 days Add dependencies to vgafixup.py and buildversion.sh scripts.

Rebuild targets if these scripts change.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2 months 5 days Update README - copy *.aml files for QEMU.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2 months 8 days virtio-scsi: Pack struct virtio_scsi_{req_cmd,resp_cmd}

Device needs the exact size of these data structure. Prevent padding.

This fixes guest hang when booting seabios + tcm_vhost.

Signed-off-by: Asias He <asias@redhat.com>
2 months 8 days virtio-scsi: Set _DRIVER_OK flag before scsi target scanning

Before we start scsi target scanning, we need to set the
VIRTIO_CONFIG_S_DRIVER_OK flag so the device can do setup properly.

This fix a bug when booting tcm_vhost with seabios.

Signed-off-by: Asias He <asias@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
2 months 13 days Fix bug in NUMA node setup - don't create SRAT if NUMA not present.

Make sure to check for the case where there are no NUMA nodes passed
in from QEMU.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2 months 13 days Minor - add missing newline to floppy debug statement.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2 months 13 days vgabios: Fix cirrus memory clear on mode switch.

The cirrus_clear_vram() code wasn't actually doing anything because of
a u8 overflow. Fix that.

Fill with 0xff when performing a legacy cirrus mode switch (WinXP has
been observed to incorrectly render dialog boxes if the memory is
filled to 0). This was the behavior of the original LGPL vgabios
code. To support this, add mechanism (MF_LEGACY) to allow vga drivers
to detect if the mode switch is from vesa or int10.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2 months 13 days vgabios: Fix stdvga_perform_gray_scale_summing().

Fix conversion error that resulted in
stdvga_perform_gray_scale_summing not actually writing the new results
back.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2 months 14 days Use VARVERIFY32INIT on global variables that point to "tmp" memory.

Enable the recently added build check on global variables that are (or
contain) pointers to memory allocated by malloc_tmp(). This helps
detect cases where temporary memory is accessed after POST.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2 months 14 days Add VARVERIFY32INIT attribute for variables only available during "init".

Add a build check to verify certain variables are only reachable via
the 32bit "init" code. This can be used as a mechanism to enforce
certain data (and code that accesses that data) as only available
during POST.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2 months 14 days smm: Don't use PCIDevices list in smm_setup().

The smm_setup() call is invoked from resume. The PCIDevices list is
only valid during POST. Cache the necessary PCI BDF ids so that
PCIDevices isn't needed.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2 months 14 days shadow: Don't use PCIDevices list in make_bios_readonly().

The make_bios_readonly() call is invoked from resume. The PCIDevices
list is only valid during POST. Cache the necessary PCI BDF ids so
that PCIDevices isn't needed.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2 months 14 days Don't use __FILE__ in virtio-ring.c.

Avoid referencing __FILE__ - that value changes depending on the
user's build setting of OUT. The function and line number are
sufficient.

Also, use panic() instead of looping forever.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2 months 14 days Add additional dependency checks to Makefile.

Generate dependencies on pre-processed ASL files. This ensures that a
change to an imported dsdt file will cause iasl to be called.

Make .config depend on Kconfig files.

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