Enable QXL device build

Enable building for ppc64le

Re-added Spice support

Don't remove slof.bin for ppc64le
This commit is contained in:
Eduard Abdullin 2026-01-14 03:56:26 +00:00 committed by root
commit 34bca6ebd4
5 changed files with 232 additions and 2 deletions

View File

@ -0,0 +1,36 @@
From c4415936b6033aff4b2e38b1c470c920e14fa35a Mon Sep 17 00:00:00 2001
From: Gerd Hoffmann <kraxel@redhat.com>
Date: Mon, 12 Jan 2026 09:19:07 +0100
Subject: [PATCH 1/4] fix pc_rhel_10_2_compat_len
RH-Author: Gerd Hoffmann <kraxel@redhat.com>
RH-MergeRequest: 447: q35: increase default tseg size
RH-Jira: RHEL-126707
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
RH-Commit: [1/2] b9291186e031c0c018dfdc87960b04817421ecec (kraxel.rh/centos-src-qemu-kvm)
There is an (apparently) cut+paste error in the definition
pc_rhel_10_2_compat_len variable, it calculates the length
of the wrong array. Fix it.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
hw/i386/pc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 446d4a7c93..394a84eb8a 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -304,7 +304,7 @@ GlobalProperty pc_rhel_10_2_compat[] = {
{ TYPE_X86_CPU, "x-arch-cap-always-on", "true" },
{ TYPE_X86_CPU, "x-pdcm-on-even-without-pmu", "true" },
};
-const size_t pc_rhel_10_2_compat_len = G_N_ELEMENTS(pc_compat_10_0);
+const size_t pc_rhel_10_2_compat_len = G_N_ELEMENTS(pc_rhel_10_2_compat);
GlobalProperty pc_rhel_10_1_compat[] = {
/* pc_rhel_10_1_compat from pc_compat_9_1 */
--
2.47.3

View File

@ -0,0 +1,68 @@
From 7ecba7856c08f410391ccb12620aeb304d800815 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@redhat.com>
Date: Thu, 6 Nov 2025 11:51:48 +0100
Subject: [PATCH 3/4] hw/intc/ioapic: Fix ACCEL_KERNEL_GSI_IRQFD_POSSIBLE typo
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
RH-Author: Cédric Le Goater <clg@redhat.com>
RH-MergeRequest: 449: hw/intc/ioapic: Fix ACCEL_KERNEL_GSI_IRQFD_POSSIBLE typo
RH-Jira: RHEL-139028
RH-Acked-by: Igor Mammedov <imammedo@redhat.com>
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
RH-Commit: [1/1] 61c1a3f68e0a5403a90f1d1f2cb793cc83e0cea9 (clegoate/qemu-kvm-centos)
Commit 638ac1c78457 introduced a regression in interrupt remapping
when running a VM configured with an intel-iommu device and an
assigned PCI VF. During boot, Linux reports repeated messages :
[ 15.416794] __common_interrupt: 2.37 No irq handler for vector
[ 15.417266] __common_interrupt: 2.37 No irq handler for vector
[ 15.417733] __common_interrupt: 2.37 No irq handler for vector
[ 15.418202] __common_interrupt: 2.37 No irq handler for vector
[ 15.418670] __common_interrupt: 2.37 No irq handler for vector
and may eventually hang.
The issue is caused by the incorrect use of the macro
ACCEL_KERNEL_GSI_IRQFD_POSSIBLE, which should instead be
ACCEL_GSI_IRQFD_POSSIBLE.
Fixes: 638ac1c78457 ("hw/intc: Generalize APIC helper names from kvm_* to accel_*")
Cc: Magnus Kulke <magnuskulke@linux.microsoft.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20251106105148.737093-1-clg@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
(cherry picked from commit 3abfbb571143ba865488b6c11f8ad75dda97d1a3)
Signed-off-by: Cédric Le Goater <clg@redhat.com>
---
hw/intc/ioapic.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/hw/intc/ioapic.c b/hw/intc/ioapic.c
index e431d00311..38e4384648 100644
--- a/hw/intc/ioapic.c
+++ b/hw/intc/ioapic.c
@@ -216,7 +216,7 @@ static void ioapic_update_kvm_routes(IOAPICCommonState *s)
#endif
}
-#ifdef ACCEL_KERNEL_GSI_IRQFD_POSSIBLE
+#ifdef ACCEL_GSI_IRQFD_POSSIBLE
static void ioapic_iec_notifier(void *private, bool global,
uint32_t index, uint32_t mask)
{
@@ -434,7 +434,7 @@ static const MemoryRegionOps ioapic_io_ops = {
static void ioapic_machine_done_notify(Notifier *notifier, void *data)
{
-#ifdef ACCEL_KERNEL_GSI_IRQFD_POSSIBLE
+#ifdef ACCEL_GSI_IRQFD_POSSIBLE
IOAPICCommonState *s = container_of(notifier, IOAPICCommonState,
machine_done);
--
2.47.3

View File

@ -0,0 +1,63 @@
From 50db9d559ad56dfa54de13adbb494edca24d9d43 Mon Sep 17 00:00:00 2001
From: Gerd Hoffmann <kraxel@redhat.com>
Date: Thu, 6 Nov 2025 11:56:40 +0100
Subject: [PATCH 2/4] q35: increase default tseg size
RH-Author: Gerd Hoffmann <kraxel@redhat.com>
RH-MergeRequest: 447: q35: increase default tseg size
RH-Jira: RHEL-126707
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
RH-Commit: [2/2] 8cbbb7b55e2e83bb6129b2da92179ff7b969c4ed (kraxel.rh/centos-src-qemu-kvm)
With virtual machines becoming larger (more CPUs, more memory) the
memory needed by the SMM code in OVMF to manage page tables and vcpu
state grows too.
Default SMM memory (aka TSEG) size is 16 MB, and this often is not
enough. Bump it to 64 MB for new machine types.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Message-Id: <20251106105640.1642109-1-kraxel@redhat.com>
(cherry picked from commit fa4136387928749d5a1b4fa3606ae0ce6dce75aa)
[ RHEL: drop compat property update for upstream machine types ]
[ RHEL: add compat property for rhel 10.0 machine type ]
[ NOTE: the 10.0 compat properties are used for
rhel-9.6 + older machine types too ]
Resolves: RHEL-126707
---
hw/i386/pc.c | 1 +
hw/pci-host/q35.c | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 394a84eb8a..27900e071b 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -299,6 +299,7 @@ const size_t pc_rhel_compat_len = G_N_ELEMENTS(pc_rhel_compat);
GlobalProperty pc_rhel_10_2_compat[] = {
/* pc_rhel_10_2_compat from pc_compat_10_0 */
+ { "mch", "extended-tseg-mbytes", "16" },
{ TYPE_X86_CPU, "x-consistent-cache", "false" },
{ TYPE_X86_CPU, "x-vendor-cpuid-only-v2", "false" },
{ TYPE_X86_CPU, "x-arch-cap-always-on", "true" },
diff --git a/hw/pci-host/q35.c b/hw/pci-host/q35.c
index 1951ae440c..a708758d36 100644
--- a/hw/pci-host/q35.c
+++ b/hw/pci-host/q35.c
@@ -663,7 +663,7 @@ static void mch_realize(PCIDevice *d, Error **errp)
static const Property mch_props[] = {
DEFINE_PROP_UINT16("extended-tseg-mbytes", MCHPCIState, ext_tseg_mbytes,
- 16),
+ 64),
DEFINE_PROP_BOOL("smbase-smram", MCHPCIState, has_smram_at_smbase, true),
};
--
2.47.3

View File

@ -0,0 +1,43 @@
From 966c9312152322e6c2bb434861388a34754911c8 Mon Sep 17 00:00:00 2001
From: Paolo Bonzini <pbonzini@redhat.com>
Date: Fri, 18 Jul 2025 18:03:50 +0200
Subject: [PATCH 4/4] redhat: allow 5-level paging for TDX VMs
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
RH-Author: Paolo Bonzini <pbonzini@redhat.com>
RH-MergeRequest: 450: redhat: allow 5-level paging for TDX VMs
RH-Jira: RHEL-111853
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
RH-Acked-by: Daniel P. Berrangé <berrange@redhat.com>
RH-Commit: [1/1] d3ffac324cfbf79d99763b9d3d29797d883f4969 (bonzini/qemu-kvm-centos)
Without this patch, when booting a TDX guest, qemu outputs,
qemu-kvm: TDX requires guest CPU physical bits (48) to match host CPU physical bits (52)
This is due to different machine types in RHEL vs. upstream, and therefore
must be kept forever as a delta from upstream.
Resolves: https://issues.redhat.com/browse/RHEL-111853
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
target/i386/kvm/tdx.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/target/i386/kvm/tdx.c b/target/i386/kvm/tdx.c
index dbf0fa2c91..91fe19b7d4 100644
--- a/target/i386/kvm/tdx.c
+++ b/target/i386/kvm/tdx.c
@@ -754,6 +754,7 @@ static void tdx_cpu_instance_init(X86ConfidentialGuest *cg, CPUState *cpu)
}
object_property_set_bool(OBJECT(cpu), "pmu", false, &error_abort);
+ object_property_set_int(OBJECT(cpu), "host-phys-bits-limit", 0, &error_abort);
/* invtsc is fixed1 for TD guest */
object_property_set_bool(OBJECT(cpu), "invtsc", true, &error_abort);
--
2.47.3

View File

@ -158,7 +158,7 @@ Obsoletes: %{name}-block-ssh <= %{epoch}:%{version} \
Summary: QEMU is a machine emulator and virtualizer
Name: qemu-kvm
Version: 10.1.0
Release: 10%{?rcrel}%{?dist}%{?cc_suffix}.alma.1
Release: 11%{?rcrel}%{?dist}%{?cc_suffix}.alma.1
# Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped
# Epoch 15 used for RHEL 8
# Epoch 17 used for RHEL 9 (due to release versioning offset in RHEL 8.5)
@ -362,6 +362,14 @@ Patch95: kvm-qemu-img-info-Add-cache-mode-option.patch
Patch96: kvm-rh-configs-enable-CONFIG_TDX-for-x86_64.patch
# For RHEL-108142 - QEMU crashes when stopping source VM during live migration
Patch97: kvm-block-Fix-BDS-use-after-free-during-shutdown.patch
# For RHEL-126707 - [qemu, rhel-10] increase default TSEG size
Patch98: kvm-fix-pc_rhel_10_2_compat_len.patch
# For RHEL-126707 - [qemu, rhel-10] increase default TSEG size
Patch99: kvm-q35-increase-default-tseg-size.patch
# For RHEL-139028 - Intel IOMMU VM freezes: "call_irq_handler: 3.37 No irq handler for vector"[rhel-10.2]
Patch100: kvm-hw-intc-ioapic-Fix-ACCEL_KERNEL_GSI_IRQFD_POSSIBLE-t.patch
# For RHEL-111853 - [Intel 10.0 FEAT] [SPR] TDX: Virt-QEMU: QEMU Support [rhel-10]
Patch101: kvm-redhat-allow-5-level-paging-for-TDX-VMs.patch
# AlmaLinux Patch
Patch2001: 2001-Add-ppc64-support.patch
@ -1490,12 +1498,24 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
%endif
%changelog
* Tue Jan 06 2026 Eduard Abdullin <eabdullin@almalinux.org> - 18:10.1.0-10.alma.1
* Wed Jan 14 2026 Eduard Abdullin <eabdullin@almalinux.org> - 18:10.1.0-11.alma.1
- Enable QXL device build
- Enable building for ppc64le
- Re-added Spice support
- Don't remove slof.bin for ppc64le
* Tue Jan 13 2026 Miroslav Rezanina <mrezanin@redhat.com> - 10.1.0-11
- kvm-fix-pc_rhel_10_2_compat_len.patch [RHEL-126707]
- kvm-q35-increase-default-tseg-size.patch [RHEL-126707]
- kvm-hw-intc-ioapic-Fix-ACCEL_KERNEL_GSI_IRQFD_POSSIBLE-t.patch [RHEL-139028]
- kvm-redhat-allow-5-level-paging-for-TDX-VMs.patch [RHEL-111853]
- Resolves: RHEL-126707
([qemu, rhel-10] increase default TSEG size)
- Resolves: RHEL-139028
(Intel IOMMU VM freezes: "call_irq_handler: 3.37 No irq handler for vector"[rhel-10.2])
- Resolves: RHEL-111853
([Intel 10.0 FEAT] [SPR] TDX: Virt-QEMU: QEMU Support [rhel-10])
* Mon Jan 05 2026 Miroslav Rezanina <mrezanin@redhat.com> - 10.1.0-10
- kvm-block-Fix-BDS-use-after-free-during-shutdown.patch [RHEL-108142]
- Resolves: RHEL-108142