From: Paul Meyer Date: Sat, 13 Jun 2026 09:38:02 +0000 (+0200) Subject: vmspawn: fix QEMU target names for ppc64/mips64el/mipsel hosts X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ef7d64cd09bda6dbbe5b7a5534f41b0dfe78435e;p=thirdparty%2Fsystemd.git vmspawn: fix QEMU target names for ppc64/mips64el/mipsel hosts architecture_to_qemu_table mapped four 64-bit/LE architectures to wrong qemu-system- names: MIPS64_LE and MIPS_LE both to "mips" (the BE MIPS32 target), and PPC64/PPC64_LE to "ppc" (32-bit PowerPC). The string feeds both find_qemu_binary() ("qemu-system-" + name) and the firmware.json architecture match, so on those hosts vmspawn looked up a wrong or nonexistent binary and never matched a firmware descriptor. Map them to the real targets: mips64el, mipsel, and ppc64 (qemu-system-ppc64 runs LE pSeries guests; there is no qemu-system-ppc64le). Co-developed-by: Claude Opus 4.8 Signed-off-by: Paul Meyer --- diff --git a/src/vmspawn/vmspawn-util.c b/src/vmspawn/vmspawn-util.c index c5ab40a0d20..8ecd2660006 100644 --- a/src/vmspawn/vmspawn-util.c +++ b/src/vmspawn/vmspawn-util.c @@ -32,11 +32,11 @@ static const char* const architecture_to_qemu_table[_ARCHITECTURE_MAX] = { [ARCHITECTURE_X86_64] = "x86_64", /* differs from our name */ [ARCHITECTURE_X86] = "i386", /* differs from our name */ [ARCHITECTURE_LOONGARCH64] = "loongarch64", - [ARCHITECTURE_MIPS64_LE] = "mips", /* differs from our name */ - [ARCHITECTURE_MIPS_LE] = "mips", /* differs from our name */ + [ARCHITECTURE_MIPS64_LE] = "mips64el", /* differs from our name */ + [ARCHITECTURE_MIPS_LE] = "mipsel", /* differs from our name */ [ARCHITECTURE_PARISC] = "hppa", /* differs from our name */ - [ARCHITECTURE_PPC64_LE] = "ppc", /* differs from our name */ - [ARCHITECTURE_PPC64] = "ppc", /* differs from our name */ + [ARCHITECTURE_PPC64_LE] = "ppc64", /* differs from our name; qemu-system-ppc64 runs LE guests too */ + [ARCHITECTURE_PPC64] = "ppc64", /* differs from our name */ [ARCHITECTURE_PPC] = "ppc", [ARCHITECTURE_RISCV32] = "riscv32", [ARCHITECTURE_RISCV64] = "riscv64",