diff --git a/config.yaml b/config.yaml index e2485b8..4a86ffe 100644 --- a/config.yaml +++ b/config.yaml @@ -27,13 +27,21 @@ actions: - target: "spec" find: | %ifarch x86_64 - %{_libdir}/%{name}/accel-tcg-%{kvm_target}.so + %{_datadir}/%{name}/linuxboot.bin + %{_datadir}/%{name}/multiboot.bin + %{_datadir}/%{name}/multiboot_dma.bin + %{_datadir}/%{name}/kvmvapic.bin + %{_datadir}/%{name}/pvh.bin %endif replace: | %ifarch x86_64 - %{_libdir}/%{name}/accel-tcg-%{kvm_target}.so + %{_datadir}/%{name}/linuxboot.bin + %{_datadir}/%{name}/multiboot.bin + %{_datadir}/%{name}/multiboot_dma.bin + %{_datadir}/%{name}/kvmvapic.bin + %{_datadir}/%{name}/pvh.bin %endif - + %ifarch ppc64le %{_datadir}/%{name}/slof.bin %endif @@ -79,6 +87,15 @@ actions: - type: "patch" name: "osuosl-enable-ppc64.patch" number: "Latest" + - add_files: + - type: "patch" + name: "0001-Remove-pnv_chip_find_core-calls-from-SPRD-helpers.patch" + number: "Latest" + + - add_files: + - type: "patch" + name: "0002-Remove-pre-3.0-migration-from-spapr_compat_rhel7_6.patch" + number: "Latest" - modify_release: - suffix: ".alma.1" @@ -91,3 +108,5 @@ actions: - "Enable building for ppc64le" - "Don't remove slof.bin for ppc64le" - "usb: add config options for hub and hid devices for ppc" + - "Remove pnv_chip_find_core calls from SPRD helpers" + - "Remove pre-3.0 migration from spapr_compat_rhel7_6" diff --git a/files/0001-Add-AlmaLinux-9-to-machine-class-options.patch b/files/0001-Add-AlmaLinux-9-to-machine-class-options.patch index 0012b91..65c7cc5 100644 --- a/files/0001-Add-AlmaLinux-9-to-machine-class-options.patch +++ b/files/0001-Add-AlmaLinux-9-to-machine-class-options.patch @@ -1,32 +1,48 @@ -From 149cfc4ec6367978ad764a6d99ce143c0429b996 Mon Sep 17 00:00:00 2001 -From: eabdullin -Date: Tue, 15 Jul 2025 15:00:43 +0300 +From c3fabc64d04aec6e365385a4b41957a9e241d8c2 Mon Sep 17 00:00:00 2001 +From: Eduard Abdullin +Date: Sat, 4 Apr 2026 07:26:15 +0000 Subject: [PATCH] Add AlmaLinux 9 to machine class options --- - hw/ppc/spapr.c | 83 +++++++++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 82 insertions(+), 1 deletion(-) + hw/ppc/spapr.c | 99 +++++++++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 98 insertions(+), 1 deletion(-) diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c -index 29e66f1b3..1001e0f92 100644 +index 17b6bc6..fbb6cf8 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) +@@ -5113,6 +5113,103 @@ 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) ++static void spapr_rhel_machine_9_8_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); ++ compat_props_add(mc->compat_props, hw_compat_rhel_9_8, ++ hw_compat_rhel_9_8_len); + smc->pre_6_2_numa_affinity = true; + mc->smp_props.prefer_sockets = true; +} + -+DEFINE_SPAPR_MACHINE_AS_LATEST(9, 6, 0); ++DEFINE_SPAPR_MACHINE_AS_LATEST(9, 8, 0); ++ ++static void spapr_rhel_machine_9_7_0_class_options(MachineClass *mc) ++{ ++ spapr_rhel_machine_9_8_0_class_options(mc); ++} ++ ++DEFINE_SPAPR_MACHINE(9, 7, 0); ++ ++static void spapr_rhel_machine_9_6_0_class_options(MachineClass *mc) ++{ ++ spapr_rhel_machine_9_7_0_class_options(mc); ++ compat_props_add(mc->compat_props, hw_compat_rhel_9_6, ++ hw_compat_rhel_9_6_len); ++} ++ ++DEFINE_SPAPR_MACHINE(9, 6, 0); + +static void spapr_rhel_machine_9_5_0_class_options(MachineClass *mc) +{ @@ -99,7 +115,7 @@ index 29e66f1b3..1001e0f92 100644 /* * pseries-rhel8.5.0 * like pseries-6.0 -@@ -5442,7 +5523,7 @@ static void spapr_rhel_machine_8_5_0_class_options(MachineClass *mc) +@@ -5130,7 +5229,7 @@ static void spapr_rhel_machine_8_5_0_class_options(MachineClass *mc) mc->smp_props.prefer_sockets = true; } @@ -109,5 +125,5 @@ index 29e66f1b3..1001e0f92 100644 /* * pseries-rhel8.4.0 -- -2.39.5 (Apple Git-154) +2.47.3 diff --git a/files/0001-Remove-pnv_chip_find_core-calls-from-SPRD-helpers.patch b/files/0001-Remove-pnv_chip_find_core-calls-from-SPRD-helpers.patch new file mode 100644 index 0000000..7fa916a --- /dev/null +++ b/files/0001-Remove-pnv_chip_find_core-calls-from-SPRD-helpers.patch @@ -0,0 +1,38 @@ +From e181e6696f47758893f1b0f079b0b607346c8161 Mon Sep 17 00:00:00 2001 +From: Eduard Abdullin +Date: Sat, 4 Apr 2026 07:35:37 +0000 +Subject: [PATCH] Remove pnv_chip_find_core calls from SPRD helpers + +This matches the approach used in AlmaLinux Kitten 10. +--- + target/ppc/misc_helper.c | 8 -------- + 1 file changed, 8 deletions(-) + +diff --git a/target/ppc/misc_helper.c b/target/ppc/misc_helper.c +index e7d9462..6dfde3b 100644 +--- a/target/ppc/misc_helper.c ++++ b/target/ppc/misc_helper.c +@@ -331,10 +331,6 @@ target_ulong helper_load_sprd(CPUPPCState *env) + PnvCore *pc = pnv_cpu_state(cpu)->pnv_core; + target_ulong sprc = env->spr[SPR_POWER_SPRC]; + +- if (pc->big_core) { +- pc = pnv_chip_find_core(pc->chip, CPU_CORE(pc)->core_id & ~0x1); +- } +- + switch (sprc & 0x3e0) { + case 0: /* SCRATCH0-3 */ + case 1: /* SCRATCH4-7 */ +@@ -371,10 +367,6 @@ void helper_store_sprd(CPUPPCState *env, target_ulong val) + PnvCore *pc = pnv_cpu_state(cpu)->pnv_core; + int nr; + +- if (pc->big_core) { +- pc = pnv_chip_find_core(pc->chip, CPU_CORE(pc)->core_id & ~0x1); +- } +- + switch (sprc & 0x3e0) { + case 0: /* SCRATCH0-3 */ + case 1: /* SCRATCH4-7 */ +-- +2.47.3 diff --git a/files/0002-Remove-pre-3.0-migration-from-spapr_compat_rhel7_6.patch b/files/0002-Remove-pre-3.0-migration-from-spapr_compat_rhel7_6.patch new file mode 100644 index 0000000..fc5e305 --- /dev/null +++ b/files/0002-Remove-pre-3.0-migration-from-spapr_compat_rhel7_6.patch @@ -0,0 +1,24 @@ +From 8832bc72239bb1d05ee96fb15a36552d40773b30 Mon Sep 17 00:00:00 2001 +From: Eduard Abdullin +Date: Sat, 4 Apr 2026 09:47:25 +0000 +Subject: [PATCH] Remove pre-3.0-migration from spapr_compat_rhel7_6 + +--- + hw/ppc/spapr.c | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c +index 96eb855..4b76401 100644 +--- a/hw/ppc/spapr.c ++++ b/hw/ppc/spapr.c +@@ -5356,8 +5356,6 @@ DEFINE_SPAPR_MACHINE(8, 0, 0); + * spapr_compat_0 is empty + */ + GlobalProperty spapr_compat_rhel7_6[] = { +- { TYPE_POWERPC_CPU, "pre-3.0-migration", "on" }, +- { TYPE_SPAPR_CPU_CORE, "pre-3.0-migration", "on" }, + }; + const size_t spapr_compat_rhel7_6_len = G_N_ELEMENTS(spapr_compat_rhel7_6); + +-- +2.47.3