Ship vgabios-qxl.bin

Allow the build to start on ppc64le
This commit is contained in:
Eduard Abdullin 2025-12-06 03:57:06 +00:00 committed by root
commit 166ef88756
10 changed files with 67 additions and 119 deletions

1
.gitignore vendored
View File

@ -33,3 +33,4 @@ seabios-0.6.0.tar.gz
/seabios-1.16.1.tar.gz
/seabios-1.16.2.tar.gz
/seabios-1.16.3.tar.gz
/seabios-1.17.0.tar.gz

View File

@ -1,4 +1,4 @@
From 81218e2fd9442ce2cbc901b7f6d2b3df3f705bba Mon Sep 17 00:00:00 2001
From a332053b6e021e861602d2fea68d4fa9a4832e40 Mon Sep 17 00:00:00 2001
From: Gerd Hoffmann <kraxel@redhat.com>
Date: Wed, 3 May 2023 10:31:23 +0200
Subject: [PATCH] add hwerr_printf function for threads

View File

@ -1,4 +1,4 @@
From 39c280452e101edb814989300e2815cee3ea75c4 Mon Sep 17 00:00:00 2001
From 4fe405cc25a9a48832431ec81fff68cf647fc41b Mon Sep 17 00:00:00 2001
From: Gerd Hoffmann <kraxel@redhat.com>
Date: Wed, 3 May 2023 10:36:32 +0200
Subject: [PATCH] display error message for blocksizes != 512
@ -24,18 +24,18 @@ Patch-present-in-specfile: True
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/hw/blockcmd.c b/src/hw/blockcmd.c
index 6b6fea97..ff88680b 100644
index f59b2ef0..5c89f311 100644
--- a/src/hw/blockcmd.c
+++ b/src/hw/blockcmd.c
@@ -336,7 +336,7 @@ scsi_drive_setup(struct drive_s *drive, const char *s, int prio)
// 64-bit LBA anyway.
drive->blksize = be32_to_cpu(capdata.blksize);
@@ -369,7 +369,7 @@ scsi_drive_setup(struct drive_s *drive, const char *s, int prio)
}
if (drive->blksize != DISK_SECTOR_SIZE) {
- dprintf(1, "%s: unsupported block size %d\n", s, drive->blksize);
+ hwerr_printf("%s: unsupported block size %d\n", s, drive->blksize);
return -1;
}
drive->sectors = (u64)be32_to_cpu(capdata.sectors) + 1;
dprintf(1, "%s blksize=%d sectors=0x%llx\n", s, drive->blksize, drive->sectors);
diff --git a/src/hw/virtio-blk.c b/src/hw/virtio-blk.c
index 137a2c3c..1d6f7d4b 100644
--- a/src/hw/virtio-blk.c

View File

@ -0,0 +1,26 @@
From 2cb8b95cd7542d57b2b5b9dc09e67c2519f5948e Mon Sep 17 00:00:00 2001
From: Gerd Hoffmann <kraxel@redhat.com>
Date: Wed, 5 Nov 2025 10:59:08 +0100
Subject: [PATCH] update release date
upstream release 1.17.0 was tagged on June 10th 2025,
so use that as release date on smbios table 0
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
src/fw/biostables.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/fw/biostables.c b/src/fw/biostables.c
index 90712d4b..d5c862dd 100644
--- a/src/fw/biostables.c
+++ b/src/fw/biostables.c
@@ -483,7 +483,7 @@ smbios_new_type_0(void *start,
}
#define BIOS_NAME "SeaBIOS"
-#define BIOS_DATE "04/01/2014"
+#define BIOS_DATE "06/10/2025"
/*
* Build tables using qtables as input, adding additional type 0

19
README.rst Normal file
View File

@ -0,0 +1,19 @@
===================
seabios development
===================
seabios is maintained in a `source tree`_ rather than directly in dist-git.
This provides way to develope using regular source code structure and provides
way to generate SRPM and build using koji service. In addition, local build using
CentOS 10 Stream specific configuration.
Developers deliver all changes to source-git using merge request. Only maintainers
will be pushing changes sent to source-git to dist-git.
Each release in dist-git is tagged in the source repository so you can easily
check out the source tree for a build. The tags are in the format
name-version-release, but note release doesn't contain the dist tag since the
source can be built in different build roots (Fedora, CentOS, etc.)
.. _source tree: https://gitlab.com/redhat/centos-stream/src/seabios

View File

@ -2,3 +2,4 @@
CONFIG_QEMU=y
CONFIG_ROM_SIZE=256
CONFIG_ATA_DMA=n
CONFIG_USE_SMM=n

View File

@ -1,59 +0,0 @@
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

View File

@ -1,40 +0,0 @@
From 0dfb180d34ed85f68fd669fdfa6a6bdfda67c6c0 Mon Sep 17 00:00:00 2001
From: Gerd Hoffmann <kraxel@redhat.com>
Date: Tue, 11 Nov 2025 09:33:48 +0100
Subject: [PATCH] update release date
RH-Author: Gerd Hoffmann <kraxel@redhat.com>
RH-MergeRequest: 12: update release date
RH-Jira: RHEL-126466
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
RH-Acked-by: Stefano Garzarella <sgarzare@redhat.com>
RH-Acked-by: Oliver Steffen <osteffen@redhat.com>
RH-Acked-by: Luigi Leonardi <None>
RH-Commit: [1/1] bebcc51b9015dd6782de0979726f39be341f253f (kraxel.rh/centos-src-seabios)
upstream release 1.16.3 was tagged on Nov 5th 2023,
so use that as release date on smbios table 0
Resolves: RHEL-126466
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
src/fw/biostables.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/fw/biostables.c b/src/fw/biostables.c
index 1c09a785..a81e99e7 100644
--- a/src/fw/biostables.c
+++ b/src/fw/biostables.c
@@ -483,7 +483,7 @@ smbios_new_type_0(void *start,
}
#define BIOS_NAME "SeaBIOS"
-#define BIOS_DATE "04/01/2014"
+#define BIOS_DATE "11/05/2023"
/*
* Build tables using qtables as input, adding additional type 0
--
2.47.3

View File

@ -1,12 +1,12 @@
Name: seabios
Version: 1.16.3
Release: 8%{?dist}.alma.1
Version: 1.17.0
Release: 1%{?dist}.alma.1
Summary: Open-source legacy BIOS implementation
License: LGPL-3.0-only
URL: https://www.coreboot.org/SeaBIOS
Source0: https://code.coreboot.org/p/seabios/downloads/get/seabios-1.16.3.tar.gz
Source0: https://code.coreboot.org/p/seabios/downloads/get/seabios-1.17.0.tar.gz
Source10: config.vga-cirrus
@ -18,13 +18,11 @@ Source21: config.vga-bochs-display
# AlmaLinux Source
Source12: config.vga-qxl
Patch1: 0001-add-hwerr_printf-function-for-threads.patch
Patch2: 0002-display-error-message-for-blocksizes-512.patch
Patch3: 0003-update-release-date.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
# For RHEL-126466 - SeaBIOS date is "stuck" at 2014 even for recent releases
Patch4: seabios-update-release-date.patch
BuildRequires: make
BuildRequires: gcc
@ -151,14 +149,16 @@ install -m 0644 binaries/vgabios*.bin $RPM_BUILD_ROOT%{_datadir}/seavgabios
%endif
%changelog
* Thu Nov 13 2025 Eduard Abdullin <eabdullin@almalinux.org> - 1.16.3-8.alma.1
* Sat Dec 06 2025 Eduard Abdullin <eabdullin@almalinux.org> - 1.17.0-1.alma.1
- Ship vgabios-qxl.bin
- Allow the build to start on ppc64le
* Wed Nov 12 2025 Miroslav Rezanina <mrezanin@redhat.com> - 1.16.3-8
- seabios-update-release-date.patch [RHEL-126466]
- Resolves: RHEL-126466
(SeaBIOS date is "stuck" at 2014 even for recent releases)
* Fri Dec 05 2025 Miroslav Rezanina <mrezanin@redhat.com> - 1.17.0-1
- Rebase to seabios 1.17.0
- Resolves: RHEL-127509
(rebase seabios to upstream release 1.17.0)
- Resolves: RHEL-64639
([RHEL-10] Grub graphics modules crash VM when there's no graphics)
* Thu Nov 28 2024 Miroslav Rezanina <mrezanin@redhat.com> - 1.16.3-7
- seabios-Remove-iasl-from-BuildRequires.patch [RHEL-68975]

View File

@ -1 +1 @@
SHA512 (seabios-1.16.3.tar.gz) = 103aac0a7a890a681edb8950fee72d419899e20e8b06e2dd382987f98d3faf362789fca5aa4efabe27c4720e53ee19e0ae246d7aca2482b6661fa119efac648c
SHA512 (seabios-1.17.0.tar.gz) = 0afe4faa79e54ba2990e8a8a483a10491017597d40d42f56b715236f2970089c7c920c5da11d702aa368b06ebce51e5fe0a1500b00d03630bd4b258a57286ff2