@samitouri / QOSamiQemu / commits / bfa0801e91

buildsys: Remove support for MIPS hosts

MIPS host support is deprecated since commit 269ffaabc84 ("buildsys: Remove support for 32-bit MIPS hosts"). Time to remove. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20260511135312.38705-3-philmd@linaro.org>

Philippe Mathieu-Daudé committed May 11, 2026 at 13:27 UTC bfa0801e91caba95df8d61942d9e279df57cf819
6 files changed +7 -82
configure
-19
@@ -399,8 +399,6 @@ elif check_define _ARCH_PPC64 ; then
399 else
400 cpu="ppc64"
401 fi
402 -elif check_define __mips64 ; then
403 - cpu="mips64"
402 elif check_define __s390__ ; then
403 if check_define __s390x__ ; then
404 cpu="s390x"
@@ -446,12 +444,6 @@ case "$cpu" in
444 linux_arch=loongarch
445 ;;
446
449 - mips64*|mipsisa64*)
450 - cpu=mips64
451 - host_arch=mips64
452 - linux_arch=mips
453 - ;;
454 -
447 ppc64)
448 host_arch=ppc64
449 linux_arch=powerpc
@@ -1244,11 +1236,6 @@ EOF
1236 rust_osvariant=${rust_osvariant}eabi
1237 fi
1238 ;;
1247 -
1248 - mips64)
1249 - # e.g. mips64-unknown-linux-gnuabi64
1250 - rust_osvariant=${rust_osvariant}abi64
1251 - ;;
1239 esac
1240 ;;
1241
@@ -1281,12 +1268,6 @@ EOF
1268 test "$rust_arch" = arm && test "$rust_os" != linux && rust_arch=armv7
1269 ;;
1270
1284 - mips)
1285 - # preserve ISA version (mipsisa64r6 etc.) and include endianness
1286 - rust_arch=${raw_cpu%el}
1287 - test "$bigendian" = no && rust_arch=${rust_arch}el
1288 - ;;
1289 -
1271 riscv64)
1272 # e.g. riscv64gc-unknown-linux-gnu, but riscv64-linux-android
1273 test "$android" = no && rust_arch=${rust_arch}gc
docs/about/deprecated.rst
-8
@@ -177,14 +177,6 @@ The ``info capture`` command is deprecated and will be removed in a future relea
177 Host Architectures
178 ------------------
179
180 -MIPS (since 10.2)
181 -'''''''''''''''''
182 -
183 -MIPS is not supported by Debian 13 ("Trixie") and newer, making it hard to
184 -maintain our cross-compilation CI tests of the architecture. As we no longer
185 -have CI coverage support may bitrot away before the deprecation process
186 -completes.
187 -
180 TCG Plugin support not enabled by default with TCI (since 9.2)
181 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
182
docs/about/removed-features.rst
+6
@@ -938,6 +938,12 @@ From 10.0, QEMU has disabled configuration of 64-bit guests on 32-bit hosts.
938 Debian 12 "Bookworm" removed support for 32-bit MIPS, making it hard to
939 maintain our cross-compilation CI tests of the architecture.
940
941 +64-bit MIPS (removed in 11.1)
942 +'''''''''''''''''''''''''''''
943 +
944 +Debian 13 "Trixie" removed support for MIPS, making it hard to maintain our
945 +cross-compilation CI tests of the architecture.
946 +
947 32-bit PPC (removed in 10.2)
948 ''''''''''''''''''''''''''''
949
include/qemu/timer.h
-30
@@ -922,36 +922,6 @@ static inline int64_t cpu_get_host_ticks (void)
922 #endif
923 }
924
925 -#elif defined(__mips__) && \
926 - ((defined(__mips_isa_rev) && __mips_isa_rev >= 2) || defined(__linux__))
927 -/*
928 - * binutils wants to use rdhwr only on mips32r2
929 - * but as linux kernel emulate it, it's fine
930 - * to use it.
931 - *
932 - */
933 -#define MIPS_RDHWR(rd, value) { \
934 - __asm__ __volatile__ (".set push\n\t" \
935 - ".set mips32r2\n\t" \
936 - "rdhwr %0, "rd"\n\t" \
937 - ".set pop" \
938 - : "=r" (value)); \
939 - }
940 -
941 -static inline int64_t cpu_get_host_ticks(void)
942 -{
943 - /* On kernels >= 2.6.25 rdhwr <reg>, $2 and $3 are emulated */
944 - uint32_t count;
945 - static uint32_t cyc_per_count = 0;
946 -
947 - if (!cyc_per_count) {
948 - MIPS_RDHWR("$3", cyc_per_count);
949 - }
950 -
951 - MIPS_RDHWR("$2", count);
952 - return (int64_t)(count * cyc_per_count);
953 -}
954 -
925 #elif defined(__alpha__)
926
927 static inline int64_t cpu_get_host_ticks(void)
meson.build
+1 -9
@@ -55,7 +55,7 @@ qapi_trace_events = []
55 bsd_oses = ['gnu/kfreebsd', 'freebsd', 'netbsd', 'openbsd', 'dragonfly', 'darwin']
56 supported_oses = ['windows', 'freebsd', 'netbsd', 'openbsd', 'darwin', 'sunos', 'linux', 'emscripten']
57 supported_cpus = ['ppc64', 's390x', 'riscv64', 'x86_64',
58 - 'aarch64', 'loongarch64', 'mips64', 'sparc64', 'wasm64']
58 + 'aarch64', 'loongarch64', 'sparc64', 'wasm64']
59
60 cpu = host_machine.cpu_family()
61
@@ -5013,14 +5013,6 @@ if host_arch == 'unknown'
5013 message('configure has succeeded and you can continue to build, but')
5014 message('QEMU will use a slow interpreter to emulate the target CPU.')
5015 endif
5016 -elif host_arch == 'mips'
5017 - message()
5018 - warning('DEPRECATED HOST CPU')
5019 - message()
5020 - message('Support for CPU host architecture ' + cpu + ' is going to be')
5021 - message('dropped as soon as the QEMU project stops supporting Debian 12')
5022 - message('("Bookworm"). Going forward, the QEMU project will not guarantee')
5023 - message('that QEMU will compile or work on this host CPU.')
5016 endif
5017
5018 if not supported_oses.contains(host_os)
util/cacheflush.c
-16
@@ -301,22 +301,6 @@ void flush_idcache_range(uintptr_t rx, uintptr_t rw, size_t len)
301 }
302 #endif /* CONFIG_DARWIN */
303
304 -#elif defined(__mips__)
305 -
306 -#ifdef __OpenBSD__
307 -#include <machine/sysarch.h>
308 -#else
309 -#include <sys/cachectl.h>
310 -#endif
311 -
312 -void flush_idcache_range(uintptr_t rx, uintptr_t rw, size_t len)
313 -{
314 - if (rx != rw) {
315 - cacheflush((void *)rw, len, DCACHE);
316 - }
317 - cacheflush((void *)rx, len, ICACHE);
318 -}
319 -
304 #elif defined(__powerpc__)
305
306 void flush_idcache_range(uintptr_t rx, uintptr_t rw, size_t len)