Add AlmaLinux 9 to machine class options

This commit is contained in:
eabdullin 2025-07-15 15:10:51 +03:00
parent c2c5656ec4
commit 96810a35a8
4 changed files with 137 additions and 2 deletions

View File

@ -0,0 +1,113 @@
From 149cfc4ec6367978ad764a6d99ce143c0429b996 Mon Sep 17 00:00:00 2001
From: eabdullin <eabdullin@almalinux.org>
Date: Tue, 15 Jul 2025 15:00:43 +0300
Subject: [PATCH] Add AlmaLinux 9 to machine class options
---
hw/ppc/spapr.c | 83 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 82 insertions(+), 1 deletion(-)
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 29e66f1b3..1001e0f92 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -5425,6 +5425,87 @@ static void spapr_rhel_machine_default_class_options(MachineClass *mc)
mc->max_cpus = 384;
}
+static void spapr_rhel_machine_9_6_0_class_options(MachineClass *mc)
+{
+ SpaprMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
+
+ spapr_rhel_machine_default_class_options(mc);
+ compat_props_add(mc->compat_props, hw_compat_rhel_9_6,
+ hw_compat_rhel_9_6_len);
+ smc->pre_6_2_numa_affinity = true;
+ mc->smp_props.prefer_sockets = true;
+}
+
+DEFINE_SPAPR_MACHINE_AS_LATEST(9, 6, 0);
+
+static void spapr_rhel_machine_9_5_0_class_options(MachineClass *mc)
+{
+ spapr_rhel_machine_9_6_0_class_options(mc);
+ compat_props_add(mc->compat_props, hw_compat_rhel_9_5,
+ hw_compat_rhel_9_5_len);
+}
+
+DEFINE_SPAPR_MACHINE(9, 5, 0);
+
+static void spapr_rhel_machine_9_4_0_class_options(MachineClass *mc)
+{
+ spapr_rhel_machine_9_5_0_class_options(mc);
+ compat_props_add(mc->compat_props, hw_compat_rhel_9_4,
+ hw_compat_rhel_9_4_len);
+}
+
+DEFINE_SPAPR_MACHINE(9, 4, 0);
+
+static void spapr_rhel_machine_9_3_0_class_options(MachineClass *mc)
+{
+ spapr_rhel_machine_9_4_0_class_options(mc);
+ compat_props_add(mc->compat_props, hw_compat_rhel_9_3,
+ hw_compat_rhel_9_3_len);
+}
+
+DEFINE_SPAPR_MACHINE(9, 3, 0);
+
+static void spapr_rhel_machine_9_2_0_class_options(MachineClass *mc)
+{
+ spapr_rhel_machine_9_3_0_class_options(mc);
+ compat_props_add(mc->compat_props, hw_compat_rhel_9_2,
+ hw_compat_rhel_9_2_len);
+}
+
+DEFINE_SPAPR_MACHINE(9, 2, 0);
+
+static void spapr_rhel_machine_9_1_0_class_options(MachineClass *mc)
+{
+ spapr_rhel_machine_9_2_0_class_options(mc);
+ compat_props_add(mc->compat_props, hw_compat_rhel_9_1,
+ hw_compat_rhel_9_1_len);
+}
+
+DEFINE_SPAPR_MACHINE(9, 1, 0);
+
+static void spapr_rhel_machine_9_0_0_class_options(MachineClass *mc)
+{
+ spapr_rhel_machine_9_1_0_class_options(mc);
+ compat_props_add(mc->compat_props, hw_compat_rhel_9_0,
+ hw_compat_rhel_9_0_len);
+}
+
+DEFINE_SPAPR_MACHINE(9, 0, 0);
+
+static void spapr_rhel_machine_8_6_0_class_options(MachineClass *mc)
+{
+ SpaprMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
+
+ /* The default machine type must apply the RHEL specific defaults */
+ spapr_rhel_machine_default_class_options(mc);
+ compat_props_add(mc->compat_props, hw_compat_rhel_8_6,
+ hw_compat_rhel_8_6_len);
+ smc->pre_6_2_numa_affinity = true;
+ mc->smp_props.prefer_sockets = true;
+}
+
+DEFINE_SPAPR_MACHINE(8, 6, 0);
+
/*
* pseries-rhel8.5.0
* like pseries-6.0
@@ -5442,7 +5523,7 @@ static void spapr_rhel_machine_8_5_0_class_options(MachineClass *mc)
mc->smp_props.prefer_sockets = true;
}
-DEFINE_SPAPR_MACHINE_AS_LATEST(8, 5, 0);
+DEFINE_SPAPR_MACHINE(8, 5, 0);
/*
* pseries-rhel8.4.0
--
2.39.5 (Apple Git-154)

View File

@ -526,4 +526,3 @@ index 1975fb5ee6..d1017f98be 100644
return -1;
--
2.39.3

View File

@ -0,0 +1,11 @@
diff -ur old/hw/ppc/spapr.c new/hw/ppc/spapr.c
--- old/hw/ppc/spapr.c 2025-04-17 22:54:19.662932754 +0000
+++ new/hw/ppc/spapr.c 2025-04-18 03:45:15.811916763 +0000
@@ -4840,7 +4840,6 @@
{ \
MachineClass *mc = MACHINE_CLASS(oc); \
MACHINE_VER_SYM(class_options, spapr, __VA_ARGS__)(mc); \
- MACHINE_VER_DEPRECATION(__VA_ARGS__); \
if (latest) { \
spapr_machine_latest_class_options(mc); \
} \

View File

@ -151,7 +151,7 @@ Obsoletes: %{name}-block-ssh <= %{epoch}:%{version} \
Summary: QEMU is a machine emulator and virtualizer
Name: qemu-kvm
Version: 9.1.0
Release: 15%{?rcrel}%{?dist}%{?cc_suffix}.4.alma.1
Release: 15%{?rcrel}%{?dist}%{?cc_suffix}.4.alma.2
# 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)
@ -481,6 +481,8 @@ Patch153: kvm-file-posix-Fix-crash-on-discard_granularity-0.patch
# AlmaLinux Patch
Patch154: 0001-Bring-back-missing-line-in-target-ppc-cpu-models.patch
Patch155: 0001-usb-add-config-options-for-hub-and-hid-devices-for-p.patch
Patch156: 0001-Add-AlmaLinux-9-to-machine-class-options.patch
Patch157: osuosl-enable-ppc64.patch
%if %{have_clang}
BuildRequires: clang
@ -1304,7 +1306,11 @@ rm -rf %{buildroot}%{_datadir}/%{name}/efi*.rom
# Provided by package ipxe
rm -rf %{buildroot}%{_datadir}/%{name}/pxe*rom
# Provided by package vgabios
%ifnarch %{power64}
rm -rf %{buildroot}%{_datadir}/%{name}/vgabios*bin
%else
rm -rf %{buildroot}%{_datadir}/%{name}/vgabios-*.bin
%endif
# Provided by package seabios
rm -rf %{buildroot}%{_datadir}/%{name}/bios*.bin
rm -rf %{buildroot}%{_datadir}/%{name}/sgabios.bin
@ -1475,6 +1481,9 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
%if %{have_memlock_limits}
%{_sysconfdir}/security/limits.d/95-kvm-memlock.conf
%endif
%ifarch %{power64}
%{_datadir}/%{name}/vgabios.bin
%endif
%files core
%{_libexecdir}/qemu-kvm
@ -1553,6 +1562,9 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
%endif
%changelog
* Tue Jul 15 2025 Eduard Abdullin <eabdullin@almalinux.org> - 17:9.1.0-15.4.alma.2
- Add AlmaLinux 9 to machine class options
* Fri May 23 2025 Eduard Abdullin <eabdullin@almalinux.org> - 17:9.1.0-15.4.alma.1
- Enable building for ppc64le
- Don't remove slof.bin for ppc64le