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: Alexander Graf <agraf@suse.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
		
							parent
							
								
									10ec51174c
								
							
						
					
					
						commit
						24e804ec14
					
				| 
						 | 
				
			
			@ -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)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue