import seabios-1.16.3-6.el10

i10cs changed/i10cs/seabios-1.16.3-6.el10
MSVSphere Packaging Team 4 weeks ago
parent 1d1fefacfa
commit 13408a151e
Signed by: sys_gitsync
GPG Key ID: B2B0B9F29E528FE8

@ -0,0 +1,59 @@
From 5521f68fd19c268d31df8175d17eeac5f4e7b597 Mon Sep 17 00:00:00 2001
From: Daniil Tatianin <d-tatianin@yandex-team.ru>
Date: Thu, 11 Apr 2024 22:51:35 +0300
Subject: [PATCH] pciinit: don't misalign large BARs
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
RH-Author: Gerd Hoffmann <kraxel@redhat.com>
RH-MergeRequest: 8: pciinit: don't misalign large BARs
RH-Jira: RHEL-67847
RH-Acked-by: Oliver Steffen <osteffen@redhat.com>
RH-Acked-by: Stefano Garzarella <sgarzare@redhat.com>
RH-Commit: [1/1] 308bfda29758ed7934c847cc45e25c4e67a1446e (kraxel.rh/centos-src-seabios)
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: 96a8d130a8c ("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>
(cherry picked from commit e5f2e4c69643bc3cd385306a9e5d29e11578148c)
Resolves: RHEL-67847
---
src/fw/pciinit.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/fw/pciinit.c b/src/fw/pciinit.c
index 6b13cd5b..bb44dc29 100644
--- a/src/fw/pciinit.c
+++ b/src/fw/pciinit.c
@@ -970,9 +970,11 @@ static int pci_bios_check_devices(struct pci_bus *busses)
int resource_optional = 0;
if (hotplug_support == HOTPLUG_PCIE)
resource_optional = pcie_cap && (type == PCI_REGION_TYPE_IO);
+
+ u64 top_align = pci_mem64_top >> 11;
if (hotplug_support && pci_pad_mem64 && is64
- && (type == PCI_REGION_TYPE_PREFMEM))
- align = pci_mem64_top >> 11;
+ && (type == PCI_REGION_TYPE_PREFMEM) && (top_align > align))
+ align = top_align;
if (align > sum && hotplug_support && !resource_optional)
sum = align; /* reserve min size for hot-plug */
if (size > sum) {
--
2.39.3

@ -1,6 +1,6 @@
Name: seabios
Version: 1.16.3
Release: 5%{?dist}
Release: 6%{?dist}
Summary: Open-source legacy BIOS implementation
License: LGPL-3.0-only
@ -18,6 +18,8 @@ Source21: config.vga-bochs-display
Patch1: 0001-add-hwerr_printf-function-for-threads.patch
Patch2: 0002-display-error-message-for-blocksizes-512.patch
# For RHEL-67847 - amdgpu failed to initialize when multiple AMD MI210 GPUs assigned and firmware is seabios [rhel-10]
Patch3: seabios-pciinit-don-t-misalign-large-BARs.patch
BuildRequires: make
BuildRequires: gcc
@ -134,6 +136,11 @@ install -m 0644 binaries/vgabios*.bin $RPM_BUILD_ROOT%{_datadir}/seavgabios
%{_datadir}/seavgabios/vgabios*.bin
%changelog
* Tue Nov 26 2024 Miroslav Rezanina <mrezanin@redhat.com> - 1.16.3-6
- seabios-pciinit-don-t-misalign-large-BARs.patch [RHEL-67847]
- Resolves: RHEL-67847
(amdgpu failed to initialize when multiple AMD MI210 GPUs assigned and firmware is seabios [rhel-10])
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 1.16.3-5
- Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018

Loading…
Cancel
Save