Commit 23cec0b2cd for qemu.org
commit 23cec0b2cd2eed05fc67148fc971bdcd147d3e94
Author: Philippe Mathieu-Daudé <philmd@mailo.com>
Date: Tue May 19 19:12:39 2026 +0200
buildsys: Stop checking for ESA/390 host
We still build QEMU tools on 32-bit hosts (see commit
cf634dfcd8f), however no OS supported by QEMU still runs
on ESA/390 (Linux dropped support in release 4.1 in 2015).
Remove the configure check, directly checking for the 64-bit
z/Architecture.
Also per commit 3704993f545 from 2020:
"we don't support s390, only 64-bit s390x hosts".
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20260519171240.97420-4-philmd@linaro.org>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
diff --git a/block/file-posix.c b/block/file-posix.c
index e49b13d6ab..5019ddade9 100644
--- a/block/file-posix.c
+++ b/block/file-posix.c
@@ -79,7 +79,7 @@
#include <linux/hdreg.h>
#include <linux/magic.h>
#include <scsi/sg.h>
-#ifdef __s390__
+#ifdef __s390x__
#include <asm/dasd.h>
#endif
#ifndef FS_NOCOW_FL
diff --git a/configure b/configure
index 1ceb4d7ecc..d786d3a7c9 100755
--- a/configure
+++ b/configure
@@ -399,12 +399,8 @@ elif check_define _ARCH_PPC64 ; then
else
cpu="ppc64"
fi
-elif check_define __s390__ ; then
- if check_define __s390x__ ; then
- cpu="s390x"
- else
- cpu="s390"
- fi
+elif check_define __s390x__ ; then
+ cpu="s390x"
elif check_define __riscv && check_define _LP64 ; then
cpu="riscv64"
elif check_define __aarch64__ ; then
@@ -461,10 +457,6 @@ case "$cpu" in
linux_arch=riscv
;;
- s390)
- linux_arch=s390
- CPU_CFLAGS="-m31"
- ;;
s390x)
host_arch=s390x
linux_arch=s390
diff --git a/disas/disas-host.c b/disas/disas-host.c
index 7cf432938e..d41235250a 100644
--- a/disas/disas-host.c
+++ b/disas/disas-host.c
@@ -74,7 +74,7 @@ static void initialize_debug_host(CPUDebug *s)
s->info.print_insn = print_insn_little_mips;
#elif defined(__m68k__)
s->info.print_insn = print_insn_m68k;
-#elif defined(__s390__)
+#elif defined(__s390x__)
s->info.cap_arch = CS_ARCH_SYSZ;
s->info.cap_insn_unit = 2;
s->info.cap_insn_split = 6;
diff --git a/include/qemu/cacheflush.h b/include/qemu/cacheflush.h
index 8c64b87814..0618966ddd 100644
--- a/include/qemu/cacheflush.h
+++ b/include/qemu/cacheflush.h
@@ -19,7 +19,7 @@
* mappings of the same physical page(s).
*/
-#if defined(__x86_64__) || defined(__s390__)
+#if defined(__x86_64__) || defined(__s390x__)
static inline void flush_idcache_range(uintptr_t rx, uintptr_t rw, size_t len)
{
diff --git a/include/qemu/timer.h b/include/qemu/timer.h
index ec03635dd3..9a62ac8cde 100644
--- a/include/qemu/timer.h
+++ b/include/qemu/timer.h
@@ -889,7 +889,7 @@ static inline int64_t cpu_get_host_ticks(void)
return val;
}
-#elif defined(__s390__)
+#elif defined(__s390x__)
static inline int64_t cpu_get_host_ticks(void)
{
diff --git a/util/cacheflush.c b/util/cacheflush.c
index 247c4ce298..a44fb136f7 100644
--- a/util/cacheflush.c
+++ b/util/cacheflush.c
@@ -223,7 +223,7 @@ static void __attribute__((constructor)) init_cache_info(void)
* Architecture (+ OS) specific cache flushing mechanisms.
*/
-#if defined(__x86_64__) || defined(__s390__)
+#if defined(__x86_64__) || defined(__s390x__)
/* Caches are coherent and do not require flushing; symbol inline. */