Commit 24e804ec authored by Alexander Graf's avatar Alexander Graf Committed by Aurelien Jarno
Browse files

S/390 host/target build system support



This patch makes configure aware of S390 hosts and guests. When not explicitly
defined using --target-list= no S390 targets will be built though.

Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
Signed-off-by: default avatarAurelien Jarno <aurelien@aurel32.net>
parent 10ec5117
Loading
Loading
Loading
Loading
+15 −7
Original line number Diff line number Diff line
@@ -183,9 +183,12 @@ case "$cpu" in
  mips*)
    cpu="mips"
  ;;
  s390*)
  s390)
    cpu="s390"
  ;;
  s390x)
    cpu="s390x"
  ;;
  sparc|sun4[cdmuv])
    cpu="sparc"
  ;;
@@ -881,7 +884,7 @@ else

# if cross compiling, cannot launch a program, so make a static guess
case "$cpu" in
  armv4b|hppa|m68k|mips|mips64|ppc|ppc64|s390|sparc|sparc64)
  armv4b|hppa|m68k|mips|mips64|ppc|ppc64|s390|s390x|sparc|sparc64)
    bigendian=yes
  ;;
esac
@@ -891,7 +894,7 @@ fi
# host long bits test
hostlongbits="32"
case "$cpu" in
  x86_64|alpha|ia64|sparc64|ppc64)
  x86_64|alpha|ia64|sparc64|ppc64|s390x)
    hostlongbits=64
  ;;
esac
@@ -1901,7 +1904,7 @@ echo >> $config_host_mak
echo "CONFIG_QEMU_SHAREDIR=\"$prefix$datasuffix\"" >> $config_host_mak

case "$cpu" in
  i386|x86_64|alpha|cris|hppa|ia64|m68k|microblaze|mips|mips64|ppc|ppc64|s390|sparc|sparc64)
  i386|x86_64|alpha|cris|hppa|ia64|m68k|microblaze|mips|mips64|ppc|ppc64|s390|s390x|sparc|sparc64)
    ARCH=$cpu
  ;;
  armv4b|armv4l)
@@ -2188,7 +2191,7 @@ target_arch2=`echo $target | cut -d '-' -f 1`
target_bigendian="no"

case "$target_arch2" in
  armeb|m68k|microblaze|mips|mipsn32|mips64|ppc|ppcemb|ppc64|ppc64abi32|sh4eb|sparc|sparc64|sparc32plus)
  armeb|m68k|microblaze|mips|mipsn32|mips64|ppc|ppcemb|ppc64|ppc64abi32|s390x|sh4eb|sparc|sparc64|sparc32plus)
  target_bigendian=yes
  ;;
esac
@@ -2356,6 +2359,9 @@ case "$target_arch2" in
    echo "TARGET_ABI32=y" >> $config_target_mak
    target_phys_bits=64
  ;;
  s390x)
    target_phys_bits=64
  ;;
  *)
    echo "Unsupported target CPU"
    exit 1
@@ -2424,7 +2430,7 @@ if test ! -z "$gdb_xml_files" ; then
fi

case "$target_arch2" in
  arm|armeb|m68k|microblaze|mips|mipsel|mipsn32|mipsn32el|mips64|mips64el|ppc|ppc64|ppc64abi32|ppcemb|sparc|sparc64|sparc32plus)
  arm|armeb|m68k|microblaze|mips|mipsel|mipsn32|mipsn32el|mips64|mips64el|ppc|ppc64|ppc64abi32|ppcemb|s390x|sparc|sparc64|sparc32plus)
    echo "CONFIG_SOFTFLOAT=y" >> $config_target_mak
    ;;
  *)
@@ -2457,6 +2463,8 @@ ldflags=""

if test "$ARCH" = "sparc64" ; then
  cflags="-I\$(SRC_PATH)/tcg/sparc $cflags"
elif test "$ARCH" = "s390x" ; then
  cflags="-I\$(SRC_PATH)/tcg/s390 $cflags"
else
  cflags="-I\$(SRC_PATH)/tcg/\$(ARCH) $cflags"
fi
@@ -2492,7 +2500,7 @@ for i in $ARCH $TARGET_BASE_ARCH ; do
  ppc*)
    echo "CONFIG_PPC_DIS=y"  >> $config_target_mak
  ;;
  s390)
  s390*)
    echo "CONFIG_S390_DIS=y"  >> $config_target_mak
  ;;
  sh4)