diff --git a/SOURCES/0001-Add-AlmaLinux-9-to-machine-class-options.patch b/SOURCES/0001-Add-AlmaLinux-9-to-machine-class-options.patch new file mode 100644 index 0000000..0012b91 --- /dev/null +++ b/SOURCES/0001-Add-AlmaLinux-9-to-machine-class-options.patch @@ -0,0 +1,113 @@ +From 149cfc4ec6367978ad764a6d99ce143c0429b996 Mon Sep 17 00:00:00 2001 +From: eabdullin +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) + diff --git a/SOURCES/0012-Add-downstream-ppc64-versioned-spapr-machine-types.patch b/SOURCES/0012-Add-downstream-ppc64-versioned-spapr-machine-types.patch index fb56514..b5b6c8b 100644 --- a/SOURCES/0012-Add-downstream-ppc64-versioned-spapr-machine-types.patch +++ b/SOURCES/0012-Add-downstream-ppc64-versioned-spapr-machine-types.patch @@ -526,4 +526,3 @@ index 1975fb5ee6..d1017f98be 100644 return -1; -- 2.39.3 - diff --git a/SOURCES/osuosl-enable-ppc64.patch b/SOURCES/osuosl-enable-ppc64.patch new file mode 100644 index 0000000..ea9344a --- /dev/null +++ b/SOURCES/osuosl-enable-ppc64.patch @@ -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); \ + } \ diff --git a/SPECS/qemu-kvm.spec b/SPECS/qemu-kvm.spec index bc7a44d..04090b7 100644 --- a/SPECS/qemu-kvm.spec +++ b/SPECS/qemu-kvm.spec @@ -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 - 17:9.1.0-15.4.alma.2 +- Add AlmaLinux 9 to machine class options + * Fri May 23 2025 Eduard Abdullin - 17:9.1.0-15.4.alma.1 - Enable building for ppc64le - Don't remove slof.bin for ppc64le