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é <[email protected]> Reviewed-by: Richard Henderson <[email protected]> Message-Id: <[email protected]> --- docs/about/deprecated.rst | 8 -------- docs/about/removed-features.rst | 6 ++++++ configure | 19 ------------------- meson.build | 10 +--------- include/qemu/timer.h | 30 ------------------------------ util/cacheflush.c | 16 ---------------- 6 files changed, 7 insertions(+), 82 deletions(-) diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index e64328c5b2b..95bf7613295 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -177,14 +177,6 @@ The ``info capture`` command is deprecated and will be removed in a future relea Host Architectures ------------------ -MIPS (since 10.2) -''''''''''''''''' - -MIPS is not supported by Debian 13 ("Trixie") and newer, making it hard to -maintain our cross-compilation CI tests of the architecture. As we no longer -have CI coverage support may bitrot away before the deprecation process -completes. - TCG Plugin support not enabled by default with TCI (since 9.2) '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst index 1ee4ab07944..2021e85f56a 100644 --- a/docs/about/removed-features.rst +++ b/docs/about/removed-features.rst @@ -938,6 +938,12 @@ From 10.0, QEMU has disabled configuration of 64-bit guests on 32-bit hosts. Debian 12 "Bookworm" removed support for 32-bit MIPS, making it hard to maintain our cross-compilation CI tests of the architecture. +64-bit MIPS (removed in 11.1) +''''''''''''''''''''''''''''' + +Debian 13 "Trixie" removed support for MIPS, making it hard to maintain our +cross-compilation CI tests of the architecture. + 32-bit PPC (removed in 10.2) '''''''''''''''''''''''''''' diff --git a/configure b/configure index b6dd797de5b..e138d83bc9f 100755 --- a/configure +++ b/configure @@ -399,8 +399,6 @@ elif check_define _ARCH_PPC64 ; then else cpu="ppc64" fi -elif check_define __mips64 ; then - cpu="mips64" elif check_define __s390__ ; then if check_define __s390x__ ; then cpu="s390x" @@ -446,12 +444,6 @@ case "$cpu" in linux_arch=loongarch ;; - mips64*|mipsisa64*) - cpu=mips64 - host_arch=mips64 - linux_arch=mips - ;; - ppc64) host_arch=ppc64 linux_arch=powerpc @@ -1244,11 +1236,6 @@ EOF rust_osvariant=${rust_osvariant}eabi fi ;; - - mips64) - # e.g. mips64-unknown-linux-gnuabi64 - rust_osvariant=${rust_osvariant}abi64 - ;; esac ;; @@ -1281,12 +1268,6 @@ EOF test "$rust_arch" = arm && test "$rust_os" != linux && rust_arch=armv7 ;; - mips) - # preserve ISA version (mipsisa64r6 etc.) and include endianness - rust_arch=${raw_cpu%el} - test "$bigendian" = no && rust_arch=${rust_arch}el - ;; - riscv64) # e.g. riscv64gc-unknown-linux-gnu, but riscv64-linux-android test "$android" = no && rust_arch=${rust_arch}gc diff --git a/meson.build b/meson.build index 70613bf4afc..fe5211b2122 100644 --- a/meson.build +++ b/meson.build @@ -55,7 +55,7 @@ qapi_trace_events = [] bsd_oses = ['gnu/kfreebsd', 'freebsd', 'netbsd', 'openbsd', 'dragonfly', 'darwin'] supported_oses = ['windows', 'freebsd', 'netbsd', 'openbsd', 'darwin', 'sunos', 'linux', 'emscripten'] supported_cpus = ['ppc64', 's390x', 'riscv64', 'x86_64', - 'aarch64', 'loongarch64', 'mips64', 'sparc64', 'wasm64'] + 'aarch64', 'loongarch64', 'sparc64', 'wasm64'] cpu = host_machine.cpu_family() @@ -5013,14 +5013,6 @@ if host_arch == 'unknown' message('configure has succeeded and you can continue to build, but') message('QEMU will use a slow interpreter to emulate the target CPU.') endif -elif host_arch == 'mips' - message() - warning('DEPRECATED HOST CPU') - message() - message('Support for CPU host architecture ' + cpu + ' is going to be') - message('dropped as soon as the QEMU project stops supporting Debian 12') - message('("Bookworm"). Going forward, the QEMU project will not guarantee') - message('that QEMU will compile or work on this host CPU.') endif if not supported_oses.contains(host_os) diff --git a/include/qemu/timer.h b/include/qemu/timer.h index b931181f53d..ec03635dd34 100644 --- a/include/qemu/timer.h +++ b/include/qemu/timer.h @@ -922,36 +922,6 @@ static inline int64_t cpu_get_host_ticks (void) #endif } -#elif defined(__mips__) && \ - ((defined(__mips_isa_rev) && __mips_isa_rev >= 2) || defined(__linux__)) -/* - * binutils wants to use rdhwr only on mips32r2 - * but as linux kernel emulate it, it's fine - * to use it. - * - */ -#define MIPS_RDHWR(rd, value) { \ - __asm__ __volatile__ (".set push\n\t" \ - ".set mips32r2\n\t" \ - "rdhwr %0, "rd"\n\t" \ - ".set pop" \ - : "=r" (value)); \ - } - -static inline int64_t cpu_get_host_ticks(void) -{ - /* On kernels >= 2.6.25 rdhwr <reg>, $2 and $3 are emulated */ - uint32_t count; - static uint32_t cyc_per_count = 0; - - if (!cyc_per_count) { - MIPS_RDHWR("$3", cyc_per_count); - } - - MIPS_RDHWR("$2", count); - return (int64_t)(count * cyc_per_count); -} - #elif defined(__alpha__) static inline int64_t cpu_get_host_ticks(void) diff --git a/util/cacheflush.c b/util/cacheflush.c index c043c5f881a..247c4ce2980 100644 --- a/util/cacheflush.c +++ b/util/cacheflush.c @@ -301,22 +301,6 @@ void flush_idcache_range(uintptr_t rx, uintptr_t rw, size_t len) } #endif /* CONFIG_DARWIN */ -#elif defined(__mips__) - -#ifdef __OpenBSD__ -#include <machine/sysarch.h> -#else -#include <sys/cachectl.h> -#endif - -void flush_idcache_range(uintptr_t rx, uintptr_t rw, size_t len) -{ - if (rx != rw) { - cacheflush((void *)rw, len, DCACHE); - } - cacheflush((void *)rx, len, ICACHE); -} - #elif defined(__powerpc__) void flush_idcache_range(uintptr_t rx, uintptr_t rw, size_t len) -- 2.53.0
