Přejít na soubor
Daniil Tatianin e5f2e4c696 pciinit: don't misalign large BARs
Previously we would unconditionally lower the alignment for large BARs
in case their alignment was greater than "pci_mem64_top >> 11", this
would make it impossible to use these devices by the kernel:
    [   13.821108] pci 0000:9c:00.0: can't claim BAR 1 [mem 0x66000000000-0x67fffffffff 64bit pref]: no compatible bridge window
    [   13.823492] pci 0000:9d:00.0: can't claim BAR 1 [mem 0x64000000000-0x65fffffffff 64bit pref]: no compatible bridge window
    [   13.824218] pci 0000:9e:00.0: can't claim BAR 1 [mem 0x62000000000-0x63fffffffff 64bit pref]: no compatible bridge window
    [   13.828322] pci 0000:8a:00.0: can't claim BAR 1 [mem 0x6e000000000-0x6ffffffffff 64bit pref]: no compatible bridge window
    [   13.830691] pci 0000:8b:00.0: can't claim BAR 1 [mem 0x6c000000000-0x6dfffffffff 64bit pref]: no compatible bridge window
    [   13.832218] pci 0000:8c:00.0: can't claim BAR 1 [mem 0x6a000000000-0x6bfffffffff 64bit pref]: no compatible bridge window

Fix it by only overwriting the alignment in case it's actually greater
than the desired by the BAR window.

Fixes: 96a8d130a8 ("be less conservative with the 64bit pci io window")
Signed-off-by: Daniil Tatianin <d-tatianin@yandex-team.ru>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
2024-04-15 09:21:37 -04:00
docs docs: Note v1.16.0 release 2022-03-01 20:29:02 -05:00
scripts scripts: Remove python23compat.py 2021-12-19 09:45:04 -05:00
src pciinit: don't misalign large BARs 2024-04-15 09:21:37 -04:00
vgasrc stdvgaio: Only read/write one color palette entry at a time 2024-04-13 13:19:56 -04:00
.gitignore Start using Kconfig to configure SeaBIOS settings. 2011-01-29 09:44:33 -05:00
COPYING Initial checkin. 2008-02-25 22:25:15 -05:00
COPYING.LESSER Change license from GPLv3 to LGPLv3. 2009-01-15 20:52:58 -05:00
Makefile disable array bounds warning 2023-05-05 09:05:53 +02:00
README Simplify README files - point to online documentation instead 2014-12-15 21:46:56 -05:00

README

Welcome to the SeaBIOS project!  This project implements an X86 legacy
bios that is built with standard GNU tools.

Please see build and developer information at:

  http://seabios.org/Developer_Documentation

For the impatient, SeaBIOS is built for QEMU and tested on QEMU with:

  make
  qemu -bios out/bios.bin

SeaBIOS can be configured with kconfig.  To change the default
configuration one can run "make menuconfig" prior to running "make".

For other types of builds, and for more detailed developer
documentation, please see the online documentation listed above.