[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 18/18] configure: Allow x32 as a host
From: |
Aurelien Jarno |
Subject: |
Re: [Qemu-devel] [PATCH 18/18] configure: Allow x32 as a host |
Date: |
Thu, 29 Aug 2013 18:45:32 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Thu, Aug 22, 2013 at 09:58:49AM -0700, Richard Henderson wrote:
> Signed-off-by: Richard Henderson <address@hidden>
> ---
> configure | 27 ++++++++++++++++++---------
> 1 file changed, 18 insertions(+), 9 deletions(-)
>
> diff --git a/configure b/configure
> index 18fa608..c0aee9d 100755
> --- a/configure
> +++ b/configure
> @@ -362,7 +362,11 @@ if test ! -z "$cpu" ; then
> elif check_define __i386__ ; then
> cpu="i386"
> elif check_define __x86_64__ ; then
> - cpu="x86_64"
> + if check_define __ILP32__ ; then
> + cpu="x32"
> + else
> + cpu="x86_64"
> + fi
> elif check_define __sparc__ ; then
> if check_define __arch64__ ; then
> cpu="sparc64"
> @@ -399,7 +403,7 @@ ARCH=
> # Normalise host CPU name and set ARCH.
> # Note that this case should only have supported host CPUs, not guests.
> case "$cpu" in
> - ia64|ppc|ppc64|s390|s390x|sparc64)
> + ia64|ppc|ppc64|s390|s390x|sparc64|x32)
> cpu="$cpu"
> ;;
> i386|i486|i586|i686|i86pc|BePC)
> @@ -550,7 +554,7 @@ Haiku)
> kvm="yes"
> vhost_net="yes"
> vhost_scsi="yes"
> - if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
> + if [ "$cpu" = "i386" -o "$cpu" = "x86_64" -o "$cpu" = "x32" ] ; then
> audio_possible_drivers="$audio_possible_drivers fmod"
> fi
> QEMU_INCLUDES="-I\$(SRC_PATH)/linux-headers -I$(pwd)/linux-headers
> $QEMU_INCLUDES"
> @@ -977,6 +981,11 @@ case "$cpu" in
> LDFLAGS="-m64 $LDFLAGS"
> cc_i386='$(CC) -m32'
> ;;
> + x32)
> + CPU_CFLAGS="-mx32"
> + LDFLAGS="-mx32 $LDFLAGS"
> + cc_i386='$(CC) -m32'
> + ;;
> # No special flags required for other host CPUs
> esac
>
> @@ -1251,7 +1260,7 @@ fi
>
> if test "$pie" = ""; then
> case "$cpu-$targetos" in
> - i386-Linux|x86_64-Linux|i386-OpenBSD|x86_64-OpenBSD)
> + i386-Linux|x86_64-Linux|x32-Linux|i386-OpenBSD|x86_64-OpenBSD)
> ;;
> *)
> pie="no"
> @@ -3475,7 +3484,7 @@ fi
> if test "$pie" = "no" ; then
> textseg_addr=
> case "$cpu" in
> - arm | hppa | i386 | m68k | ppc | ppc64 | s390* | sparc | sparc64 |
> x86_64)
> + arm | hppa | i386 | m68k | ppc | ppc64 | s390* | sparc | sparc64 |
> x86_64 | x32)
> textseg_addr=0x60000000
> ;;
> mips)
> @@ -3650,7 +3659,7 @@ echo "libs_softmmu=$libs_softmmu" >> $config_host_mak
> echo "ARCH=$ARCH" >> $config_host_mak
>
> case "$cpu" in
> - arm|i386|x86_64|ppc|aarch64)
> + arm|i386|x86_64|x32|ppc|aarch64)
> # The TCG interpreter currently does not support ld/st optimization.
> if test "$tcg_interpreter" = "no" ; then
> echo "CONFIG_QEMU_LDST_OPTIMIZATION=y" >> $config_host_mak
> @@ -4079,7 +4088,7 @@ elif test "$ARCH" = "sparc64" ; then
> QEMU_INCLUDES="-I\$(SRC_PATH)/tcg/sparc $QEMU_INCLUDES"
> elif test "$ARCH" = "s390x" ; then
> QEMU_INCLUDES="-I\$(SRC_PATH)/tcg/s390 $QEMU_INCLUDES"
> -elif test "$ARCH" = "x86_64" ; then
> +elif test "$ARCH" = "x86_64" -o "$ARCH" = "x32" ; then
> QEMU_INCLUDES="-I\$(SRC_PATH)/tcg/i386 $QEMU_INCLUDES"
> else
> QEMU_INCLUDES="-I\$(SRC_PATH)/tcg/\$(ARCH) $QEMU_INCLUDES"
> @@ -4141,7 +4150,7 @@ fi
> if test "$linux" = "yes" ; then
> mkdir -p linux-headers
> case "$cpu" in
> - i386|x86_64)
> + i386|x86_64|x32)
> linux_arch=x86
> ;;
> ppcemb|ppc|ppc64)
> @@ -4407,7 +4416,7 @@ for i in $ARCH $TARGET_BASE_ARCH ; do
> echo "CONFIG_HPPA_DIS=y" >> $config_target_mak
> echo "CONFIG_HPPA_DIS=y" >> config-all-disas.mak
> ;;
> - i386|x86_64)
> + i386|x86_64|x32)
> echo "CONFIG_I386_DIS=y" >> $config_target_mak
> echo "CONFIG_I386_DIS=y" >> config-all-disas.mak
Reviewed-by: Aurelien Jarno <address@hidden>
--
Aurelien Jarno GPG: 1024D/F1BCDB73
address@hidden http://www.aurel32.net
- Re: [Qemu-devel] [PATCH 13/18] tcg: Use appropriate types in tcg_reg_alloc_call, (continued)
- [Qemu-devel] [PATCH 14/18] tcg: Fix jit debug for pointer size != register size, Richard Henderson, 2013/08/22
- [Qemu-devel] [PATCH 15/18] tcg: Allow TCG_TARGET_REG_BITS to be specified independantly, Richard Henderson, 2013/08/22
- [Qemu-devel] [PATCH 16/18] tcg-i386: Use intptr_t appropriately, Richard Henderson, 2013/08/22
- [Qemu-devel] [PATCH 17/18] tcg-i386: Adjust tcg_out_tlb_load for x32, Richard Henderson, 2013/08/22
- [Qemu-devel] [PATCH 18/18] configure: Allow x32 as a host, Richard Henderson, 2013/08/22
- Re: [Qemu-devel] [PATCH 18/18] configure: Allow x32 as a host,
Aurelien Jarno <=