Browse Source

buildsys: Remove support for 32-bit PPC hosts

Stop detecting 32-bit PPC host as supported.
See previous commit for rationale.

Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
[rth: Retain _ARCH_PPC64 check in udiv_qrnnd]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20251014173900.87497-4-philmd@linaro.org>
pull/307/head
Philippe Mathieu-Daudé 6 months ago
committed by Richard Henderson
parent
commit
2ff8c9a298
  1. 19
      configure
  2. 4
      disas/disas-host.c
  3. 13
      include/qemu/timer.h
  4. 4
      util/cacheflush.c

19
configure

@ -391,15 +391,11 @@ elif check_define __sparc__ ; then
else else
cpu="sparc" cpu="sparc"
fi fi
elif check_define _ARCH_PPC ; then elif check_define _ARCH_PPC64 ; then
if check_define _ARCH_PPC64 ; then if check_define _LITTLE_ENDIAN ; then
if check_define _LITTLE_ENDIAN ; then cpu="ppc64le"
cpu="ppc64le"
else
cpu="ppc64"
fi
else else
cpu="ppc" cpu="ppc64"
fi fi
elif check_define __mips__ ; then elif check_define __mips__ ; then
if check_define __mips64 ; then if check_define __mips64 ; then
@ -472,11 +468,6 @@ case "$cpu" in
linux_arch=mips linux_arch=mips
;; ;;
ppc)
host_arch=ppc
linux_arch=powerpc
CPU_CFLAGS="-m32"
;;
ppc64) ppc64)
host_arch=ppc64 host_arch=ppc64
linux_arch=powerpc linux_arch=powerpc
@ -1471,7 +1462,7 @@ probe_target_compiler() {
container_image=debian-all-test-cross container_image=debian-all-test-cross
container_cross_prefix=mips64-linux-gnuabi64- container_cross_prefix=mips64-linux-gnuabi64-
;; ;;
ppc|ppc64|ppc64le) ppc64|ppc64le)
container_image=debian-all-test-cross container_image=debian-all-test-cross
container_cross_prefix=powerpc${target_arch#ppc}-linux-gnu- container_cross_prefix=powerpc${target_arch#ppc}-linux-gnu-
;; ;;

4
disas/disas-host.c

@ -56,11 +56,9 @@ static void initialize_debug_host(CPUDebug *s)
s->info.cap_mode = CS_MODE_64; s->info.cap_mode = CS_MODE_64;
s->info.cap_insn_unit = 1; s->info.cap_insn_unit = 1;
s->info.cap_insn_split = 8; s->info.cap_insn_split = 8;
#elif defined(_ARCH_PPC) #elif defined(_ARCH_PPC64)
s->info.cap_arch = CS_ARCH_PPC; s->info.cap_arch = CS_ARCH_PPC;
# ifdef _ARCH_PPC64
s->info.cap_mode = CS_MODE_64; s->info.cap_mode = CS_MODE_64;
# endif
#elif defined(__riscv) #elif defined(__riscv)
#if defined(_ILP32) || (__riscv_xlen == 32) #if defined(_ILP32) || (__riscv_xlen == 32)
s->info.print_insn = print_insn_riscv32; s->info.print_insn = print_insn_riscv32;

13
include/qemu/timer.h

@ -850,12 +850,11 @@ static inline int64_t get_clock(void)
/*******************************************/ /*******************************************/
/* host CPU ticks (if available) */ /* host CPU ticks (if available) */
#if defined(_ARCH_PPC) #if defined(_ARCH_PPC64)
static inline int64_t cpu_get_host_ticks(void) static inline int64_t cpu_get_host_ticks(void)
{ {
int64_t retval; int64_t retval;
#ifdef _ARCH_PPC64
/* This reads timebase in one 64bit go and includes Cell workaround from: /* This reads timebase in one 64bit go and includes Cell workaround from:
http://ozlabs.org/pipermail/linuxppc-dev/2006-October/027052.html http://ozlabs.org/pipermail/linuxppc-dev/2006-October/027052.html
*/ */
@ -863,16 +862,6 @@ static inline int64_t cpu_get_host_ticks(void)
"cmpwi %0,0\n\t" "cmpwi %0,0\n\t"
"beq- $-8" "beq- $-8"
: "=r" (retval)); : "=r" (retval));
#else
/* http://ozlabs.org/pipermail/linuxppc-dev/1999-October/003889.html */
unsigned long junk;
__asm__ __volatile__ ("mfspr %1,269\n\t" /* mftbu */
"mfspr %L0,268\n\t" /* mftb */
"mfspr %0,269\n\t" /* mftbu */
"cmpw %0,%1\n\t"
"bne $-16"
: "=r" (retval), "=r" (junk));
#endif
return retval; return retval;
} }

4
util/cacheflush.c

@ -153,7 +153,7 @@ static void arch_cache_info(int *isize, int *dsize)
} }
} }
#elif defined(_ARCH_PPC) && defined(__linux__) #elif defined(_ARCH_PPC64) && defined(__linux__)
# include "elf.h" # include "elf.h"
static void arch_cache_info(int *isize, int *dsize) static void arch_cache_info(int *isize, int *dsize)
@ -187,7 +187,7 @@ static void fallback_cache_info(int *isize, int *dsize)
} else if (*dsize) { } else if (*dsize) {
*isize = *dsize; *isize = *dsize;
} else { } else {
#if defined(_ARCH_PPC) #if defined(_ARCH_PPC64)
/* /*
* For PPC, we're going to use the cache sizes computed for * For PPC, we're going to use the cache sizes computed for
* flush_idcache_range. Which means that we must use the * flush_idcache_range. Which means that we must use the

Loading…
Cancel
Save