else
cpu="ppc64"
fi
-elif check_define __mips64 ; then
- cpu="mips64"
elif check_define __s390__ ; then
if check_define __s390x__ ; then
cpu="s390x"
linux_arch=loongarch
;;
- mips64*|mipsisa64*)
- cpu=mips64
- host_arch=mips64
- linux_arch=mips
- ;;
-
ppc64)
host_arch=ppc64
linux_arch=powerpc
rust_osvariant=${rust_osvariant}eabi
fi
;;
-
- mips64)
- # e.g. mips64-unknown-linux-gnuabi64
- rust_osvariant=${rust_osvariant}abi64
- ;;
esac
;;
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
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)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
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)
''''''''''''''''''''''''''''
#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)
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()
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)
}
#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)