Age | Commit message (Collapse) | Author | Files | Lines |
|
Recent git versions place the submodule git repos into the
.git/modules directory of the toplevel repo. In that case
.git of the seabios tree isn't a directory, but a regular
file, saying where the gitdir is.
Extent the git check to also allow .git being a regular file,
so buildversion.sh works correctly when called within the qemu
submodule.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
(cherry picked from commit 0b3607f89ac24f84f8b22ffaadb4f0fd111bda24)
|
|
Triggerable by creating a virtual machine with
*lots* of ahci controllers and disks.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
(cherry picked from commit ce12eaf2044d6aae08795403ecbb888d2b6527ff)
|
|
Qemu commit 9ee59f3 removed the bochs bios apm interface emulation at
port 0x8900. That broke poweroff via APM. Fix it by powering off the
machine using the acpi pm control register.
Old code is left in, so seabios wil try both poweroff methods. Cleaning
that eventually up is left for another patch, after checking it isn't
needed. Qemu never implemented "Standby" and "Suspend", only
"Shutdown", so it looks like there might be non-qemu use cases (bochs
probably).
Easiest way to test this is the syslinux poweroff module; modern linux
distros usually have CONFIG_APM turned off.
Reported-by: Sebastian Herbszt <herbszt@gmx.de>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
(cherry picked from commit 5b63109242042372c1d6c3d23602e980f1c9637b)
Conflicts:
src/acpi.c
src/pciinit.c
|
|
The file walking code was incorrectly using the uncompressed file size
when searching for the next file.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
(cherry picked from commit 1a113e1144113348e04cbe39fa81a448049e82a0)
|
|
The following commits updated the FADT flags for PIIX4:
commit c7be281b3be0f2013aa4b5d5f400981a1adb6e63
Drop FIX_RTC flag from FADT.
commit a4e2b9adbba95c2d783761e84444bbb3c8d6107b
enable USE_PLATFORM_CLOCK bit in FADT flags
Q35 support was originally written before these commits in seabios, PIIX
got updated, Q35 didn't. QEMU uses the same clock for both so there's
no reason for these bits to differ. Sync them up.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
(cherry picked from commit ed88f6515c18d9520efa4a41ccb70038dfbe43f9)
|
|
Make sure the PCI device list is ordered in bus order.
Don't iterate past the end of the list when detecting EHCI devices.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
(cherry picked from commit 2a9aeabdfb34374ecac25e7a8d21c9e368618cd4)
|
|
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
|
|
Although the previous patch does fix hlist_for_each_entry_safe for the
common case, it doesn't work correctly when deleting the current
node. To fix this, introduce two macros - hlist_for_each_entry_safe
for iterating through a list that can be modified, and
hlist_for_each_entry_pprev for those users that only need access to
the "pprev" pointer.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
|
|
Gets qemu features like direct kernel boot and boot
ordering going when seabios runs on coreboot.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
|
|
I have patches for coreboot in the queue adding q35 support there,
which will change the mainboard names (adding the detected chipset).
Make SeaBIOS check the mainboard name starts with "QEMU" instead of
doing a full string match to handle this.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
|
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
|
|
Fix broken macro - it did not work correctly at all.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
|
|
This reverts commit aab42152881dc62b37f1833e79cbdb3dfa51603b.
|
|
|
|
Make DEBUG_IO depend on QEMU_HARDWARE instead of QEMU, so
it can be enabled for seabios builds running indirectly
(coreboot, csm) on qemu.
Add runtime check for PF_QEMU to debug port console to make
sure we don't poke on random ports on physical hardware.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
|
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
|
|
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
|
|
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
|
|
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
|
|
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
|
|
Just code movement - no actual code changes.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
|
|
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
|
|
Move the "pmm_malloc" code closer to the low level alloc functions it
calls.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
|
|
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
|
|
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>
|
|
Audit the ACPI code and ensure that all multi-byte fields do proper
byte swabbing.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
|
|
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>
|
|
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Rebuild targets if these scripts change.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
|
|
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
The "BDAT" construct is the only ACPI mechanism that relies on SeaBIOS
reserved memory. Replace it with the SSDT based template system.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
|