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. */