Patchwork [3/9] S/390 host/target build system support

login
register
mail settings
Submitter Ulrich Hecht
Date Oct. 16, 2009, 12:38 p.m.
Message ID <1255696735-21396-4-git-send-email-uli@suse.de>
Download mbox | patch
Permalink /patch/36202/
State New
Headers show

Comments

Ulrich Hecht - Oct. 16, 2009, 12:38 p.m.
changes to configure and makefiles for S/390 host and target support,
fixed as suggested by Juan Quintela

adapted to most recent changes in build system

Signed-off-by: Ulrich Hecht <uli@suse.de>
---
 configure                            |   22 ++++++++++++++++------
 default-configs/s390x-linux-user.mak |    1 +
 2 files changed, 17 insertions(+), 6 deletions(-)
 create mode 100644 default-configs/s390x-linux-user.mak
Aurelien Jarno - Oct. 17, 2009, 10:44 a.m.
On Fri, Oct 16, 2009 at 02:38:49PM +0200, Ulrich Hecht wrote:
> changes to configure and makefiles for S/390 host and target support,
> fixed as suggested by Juan Quintela
> 
> adapted to most recent changes in build system

Basically looks ok, but it would be worth to split it into host and
target part, so that the two resulting patches can be applied
separately.

> Signed-off-by: Ulrich Hecht <uli@suse.de>
> ---
>  configure                            |   22 ++++++++++++++++------
>  default-configs/s390x-linux-user.mak |    1 +
>  2 files changed, 17 insertions(+), 6 deletions(-)
>  create mode 100644 default-configs/s390x-linux-user.mak
> 
> diff --git a/configure b/configure
> index ca6d45c..64be51f 100755
> --- a/configure
> +++ b/configure
> @@ -157,9 +157,12 @@ case "$cpu" in
>    parisc|parisc64)
>      cpu="hppa"
>    ;;
> -  s390*)
> +  s390)
>      cpu="s390"
>    ;;
> +  s390x)
> +    cpu="s390x"
> +  ;;
>    sparc|sun4[cdmuv])
>      cpu="sparc"
>    ;;
> @@ -790,6 +793,7 @@ sh4eb-linux-user \
>  sparc-linux-user \
>  sparc64-linux-user \
>  sparc32plus-linux-user \
> +s390x-linux-user \
>  "
>      fi
>  # the following are Darwin specific
> @@ -855,7 +859,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
> @@ -1819,7 +1823,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)
> @@ -2090,7 +2094,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
> @@ -2250,6 +2254,10 @@ case "$target_arch2" in
>      echo "TARGET_ABI32=y" >> $config_target_mak
>      target_phys_bits=64
>    ;;
> +  s390x)
> +    target_nptl="yes"
> +    target_phys_bits=64
> +  ;;
>    *)
>      echo "Unsupported target CPU"
>      exit 1
> @@ -2318,7 +2326,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
>      ;;
>    *)
> @@ -2351,6 +2359,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
> @@ -2386,7 +2396,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)
> diff --git a/default-configs/s390x-linux-user.mak b/default-configs/s390x-linux-user.mak
> new file mode 100644
> index 0000000..a243c99
> --- /dev/null
> +++ b/default-configs/s390x-linux-user.mak
> @@ -0,0 +1 @@
> +# Default configuration for s390x-linux-user
> -- 
> 1.6.2.1
> 
> 
> 
>

Patch

diff --git a/configure b/configure
index ca6d45c..64be51f 100755
--- a/configure
+++ b/configure
@@ -157,9 +157,12 @@  case "$cpu" in
   parisc|parisc64)
     cpu="hppa"
   ;;
-  s390*)
+  s390)
     cpu="s390"
   ;;
+  s390x)
+    cpu="s390x"
+  ;;
   sparc|sun4[cdmuv])
     cpu="sparc"
   ;;
@@ -790,6 +793,7 @@  sh4eb-linux-user \
 sparc-linux-user \
 sparc64-linux-user \
 sparc32plus-linux-user \
+s390x-linux-user \
 "
     fi
 # the following are Darwin specific
@@ -855,7 +859,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
@@ -1819,7 +1823,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)
@@ -2090,7 +2094,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
@@ -2250,6 +2254,10 @@  case "$target_arch2" in
     echo "TARGET_ABI32=y" >> $config_target_mak
     target_phys_bits=64
   ;;
+  s390x)
+    target_nptl="yes"
+    target_phys_bits=64
+  ;;
   *)
     echo "Unsupported target CPU"
     exit 1
@@ -2318,7 +2326,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
     ;;
   *)
@@ -2351,6 +2359,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
@@ -2386,7 +2396,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)
diff --git a/default-configs/s390x-linux-user.mak b/default-configs/s390x-linux-user.mak
new file mode 100644
index 0000000..a243c99
--- /dev/null
+++ b/default-configs/s390x-linux-user.mak
@@ -0,0 +1 @@ 
+# Default configuration for s390x-linux-user