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)