Message ID | 20200920130708.1156310-1-pbonzini@redhat.com |
---|---|
Headers | show |
Series | Move target configuration to meson | expand |
Can these be generated from meson directly? as makefile finally need to be removed On Sun, Sep 20, 2020 at 9:09 PM Paolo Bonzini <pbonzini@redhat.com> wrote: > > The config-target.mak files are small constant, we can therefore just > write them down explicitly. > > This removes about 10% of the configure script, including the > whole logic to detect which accelerators are supported by each > target. > > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> > --- > configure | 407 +----------------- > .../targets/aarch64-linux-user.mak | 5 + > default-configs/targets/aarch64-softmmu.mak | 5 + > .../targets/aarch64_be-linux-user.mak | 6 + > default-configs/targets/alpha-linux-user.mak | 6 + > default-configs/targets/alpha-softmmu.mak | 7 + > default-configs/targets/arm-linux-user.mak | 7 + > default-configs/targets/arm-softmmu.mak | 7 + > default-configs/targets/armeb-linux-user.mak | 8 + > default-configs/targets/avr-softmmu.mak | 4 + > default-configs/targets/cris-linux-user.mak | 3 + > default-configs/targets/cris-softmmu.mak | 3 + > default-configs/targets/hppa-linux-user.mak | 7 + > default-configs/targets/hppa-softmmu.mak | 8 + > default-configs/targets/i386-bsd-user.mak | 6 + > default-configs/targets/i386-linux-user.mak | 6 + > default-configs/targets/i386-softmmu.mak | 7 + > default-configs/targets/lm32-softmmu.mak | 4 + > default-configs/targets/m68k-linux-user.mak | 8 + > default-configs/targets/m68k-softmmu.mak | 7 + > .../targets/microblaze-linux-user.mak | 7 + > .../targets/microblaze-softmmu.mak | 7 + > .../targets/microblazeel-linux-user.mak | 6 + > .../targets/microblazeel-softmmu.mak | 6 + > default-configs/targets/mips-linux-user.mak | 8 + > default-configs/targets/mips-softmmu.mak | 9 + > default-configs/targets/mips64-linux-user.mak | 8 + > default-configs/targets/mips64-softmmu.mak | 8 + > .../targets/mips64el-linux-user.mak | 7 + > default-configs/targets/mips64el-softmmu.mak | 7 + > default-configs/targets/mipsel-linux-user.mak | 7 + > default-configs/targets/mipsel-softmmu.mak | 8 + > .../targets/mipsn32-linux-user.mak | 9 + > .../targets/mipsn32el-linux-user.mak | 8 + > default-configs/targets/moxie-softmmu.mak | 4 + > default-configs/targets/nios2-linux-user.mak | 3 + > default-configs/targets/nios2-softmmu.mak | 3 + > default-configs/targets/or1k-linux-user.mak | 4 + > default-configs/targets/or1k-softmmu.mak | 4 + > default-configs/targets/ppc-linux-user.mak | 7 + > default-configs/targets/ppc-softmmu.mak | 7 + > default-configs/targets/ppc64-linux-user.mak | 7 + > default-configs/targets/ppc64-softmmu.mak | 8 + > .../targets/ppc64abi32-linux-user.mak | 8 + > .../targets/ppc64le-linux-user.mak | 6 + > .../targets/riscv32-linux-user.mak | 4 + > default-configs/targets/riscv32-softmmu.mak | 5 + > .../targets/riscv64-linux-user.mak | 4 + > default-configs/targets/riscv64-softmmu.mak | 5 + > default-configs/targets/rx-softmmu.mak | 4 + > default-configs/targets/s390x-linux-user.mak | 7 + > default-configs/targets/s390x-softmmu.mak | 8 + > default-configs/targets/sh4-linux-user.mak | 7 + > default-configs/targets/sh4-softmmu.mak | 6 + > default-configs/targets/sh4eb-linux-user.mak | 8 + > default-configs/targets/sh4eb-softmmu.mak | 7 + > default-configs/targets/sparc-bsd-user.mak | 7 + > default-configs/targets/sparc-linux-user.mak | 7 + > default-configs/targets/sparc-softmmu.mak | 7 + > .../targets/sparc32plus-linux-user.mak | 8 + > default-configs/targets/sparc64-bsd-user.mak | 7 + > .../targets/sparc64-linux-user.mak | 7 + > default-configs/targets/sparc64-softmmu.mak | 7 + > default-configs/targets/tilegx-linux-user.mak | 3 + > default-configs/targets/tricore-softmmu.mak | 3 + > default-configs/targets/unicore32-softmmu.mak | 3 + > default-configs/targets/x86_64-bsd-user.mak | 6 + > default-configs/targets/x86_64-linux-user.mak | 6 + > default-configs/targets/x86_64-softmmu.mak | 7 + > default-configs/targets/xtensa-linux-user.mak | 7 + > default-configs/targets/xtensa-softmmu.mak | 7 + > .../targets/xtensaeb-linux-user.mak | 8 + > default-configs/targets/xtensaeb-softmmu.mak | 8 + > meson.build | 27 +- > 74 files changed, 482 insertions(+), 405 deletions(-) > create mode 100644 default-configs/targets/aarch64-linux-user.mak > create mode 100644 default-configs/targets/aarch64-softmmu.mak > create mode 100644 default-configs/targets/aarch64_be-linux-user.mak > create mode 100644 default-configs/targets/alpha-linux-user.mak > create mode 100644 default-configs/targets/alpha-softmmu.mak > create mode 100644 default-configs/targets/arm-linux-user.mak > create mode 100644 default-configs/targets/arm-softmmu.mak > create mode 100644 default-configs/targets/armeb-linux-user.mak > create mode 100644 default-configs/targets/avr-softmmu.mak > create mode 100644 default-configs/targets/cris-linux-user.mak > create mode 100644 default-configs/targets/cris-softmmu.mak > create mode 100644 default-configs/targets/hppa-linux-user.mak > create mode 100644 default-configs/targets/hppa-softmmu.mak > create mode 100644 default-configs/targets/i386-bsd-user.mak > create mode 100644 default-configs/targets/i386-linux-user.mak > create mode 100644 default-configs/targets/i386-softmmu.mak > create mode 100644 default-configs/targets/lm32-softmmu.mak > create mode 100644 default-configs/targets/m68k-linux-user.mak > create mode 100644 default-configs/targets/m68k-softmmu.mak > create mode 100644 default-configs/targets/microblaze-linux-user.mak > create mode 100644 default-configs/targets/microblaze-softmmu.mak > create mode 100644 default-configs/targets/microblazeel-linux-user.mak > create mode 100644 default-configs/targets/microblazeel-softmmu.mak > create mode 100644 default-configs/targets/mips-linux-user.mak > create mode 100644 default-configs/targets/mips-softmmu.mak > create mode 100644 default-configs/targets/mips64-linux-user.mak > create mode 100644 default-configs/targets/mips64-softmmu.mak > create mode 100644 default-configs/targets/mips64el-linux-user.mak > create mode 100644 default-configs/targets/mips64el-softmmu.mak > create mode 100644 default-configs/targets/mipsel-linux-user.mak > create mode 100644 default-configs/targets/mipsel-softmmu.mak > create mode 100644 default-configs/targets/mipsn32-linux-user.mak > create mode 100644 default-configs/targets/mipsn32el-linux-user.mak > create mode 100644 default-configs/targets/moxie-softmmu.mak > create mode 100644 default-configs/targets/nios2-linux-user.mak > create mode 100644 default-configs/targets/nios2-softmmu.mak > create mode 100644 default-configs/targets/or1k-linux-user.mak > create mode 100644 default-configs/targets/or1k-softmmu.mak > create mode 100644 default-configs/targets/ppc-linux-user.mak > create mode 100644 default-configs/targets/ppc-softmmu.mak > create mode 100644 default-configs/targets/ppc64-linux-user.mak > create mode 100644 default-configs/targets/ppc64-softmmu.mak > create mode 100644 default-configs/targets/ppc64abi32-linux-user.mak > create mode 100644 default-configs/targets/ppc64le-linux-user.mak > create mode 100644 default-configs/targets/riscv32-linux-user.mak > create mode 100644 default-configs/targets/riscv32-softmmu.mak > create mode 100644 default-configs/targets/riscv64-linux-user.mak > create mode 100644 default-configs/targets/riscv64-softmmu.mak > create mode 100644 default-configs/targets/rx-softmmu.mak > create mode 100644 default-configs/targets/s390x-linux-user.mak > create mode 100644 default-configs/targets/s390x-softmmu.mak > create mode 100644 default-configs/targets/sh4-linux-user.mak > create mode 100644 default-configs/targets/sh4-softmmu.mak > create mode 100644 default-configs/targets/sh4eb-linux-user.mak > create mode 100644 default-configs/targets/sh4eb-softmmu.mak > create mode 100644 default-configs/targets/sparc-bsd-user.mak > create mode 100644 default-configs/targets/sparc-linux-user.mak > create mode 100644 default-configs/targets/sparc-softmmu.mak > create mode 100644 default-configs/targets/sparc32plus-linux-user.mak > create mode 100644 default-configs/targets/sparc64-bsd-user.mak > create mode 100644 default-configs/targets/sparc64-linux-user.mak > create mode 100644 default-configs/targets/sparc64-softmmu.mak > create mode 100644 default-configs/targets/tilegx-linux-user.mak > create mode 100644 default-configs/targets/tricore-softmmu.mak > create mode 100644 default-configs/targets/unicore32-softmmu.mak > create mode 100644 default-configs/targets/x86_64-bsd-user.mak > create mode 100644 default-configs/targets/x86_64-linux-user.mak > create mode 100644 default-configs/targets/x86_64-softmmu.mak > create mode 100644 default-configs/targets/xtensa-linux-user.mak > create mode 100644 default-configs/targets/xtensa-softmmu.mak > create mode 100644 default-configs/targets/xtensaeb-linux-user.mak > create mode 100644 default-configs/targets/xtensaeb-softmmu.mak > > diff --git a/configure b/configure > index e64327e0f8..f6275d95fc 100755 > --- a/configure > +++ b/configure > @@ -220,99 +220,6 @@ glob() { > eval test -z '"${1#'"$2"'}"' > } > > -supported_hax_target() { > - test "$hax" = "enabled" || return 1 > - glob "$1" "*-softmmu" || return 1 > - case "${1%-softmmu}" in > - i386|x86_64) > - return 0 > - ;; > - esac > - return 1 > -} > - > -supported_kvm_target() { > - test "$kvm" = "enabled" || return 1 > - glob "$1" "*-softmmu" || return 1 > - case "${1%-softmmu}:$cpu" in > - aarch64:aarch64 | \ > - i386:i386 | i386:x86_64 | i386:x32 | \ > - x86_64:i386 | x86_64:x86_64 | x86_64:x32 | \ > - mips:mips | mipsel:mips | mips64:mips | mips64el:mips | \ > - ppc:ppc | ppc64:ppc | ppc:ppc64 | ppc64:ppc64 | ppc64:ppc64le | \ > - s390x:s390x) > - return 0 > - ;; > - esac > - return 1 > -} > - > -supported_xen_target() { > - test "$xen" = "enabled" || return 1 > - glob "$1" "*-softmmu" || return 1 > - # Only i386 and x86_64 provide the xenpv machine. > - case "${1%-softmmu}" in > - i386|x86_64) > - return 0 > - ;; > - esac > - return 1 > -} > - > -supported_hvf_target() { > - test "$hvf" = "enabled" || return 1 > - glob "$1" "*-softmmu" || return 1 > - case "${1%-softmmu}" in > - x86_64) > - return 0 > - ;; > - esac > - return 1 > -} > - > -supported_whpx_target() { > - test "$whpx" = "enabled" || return 1 > - glob "$1" "*-softmmu" || return 1 > - case "${1%-softmmu}" in > - i386|x86_64) > - return 0 > - ;; > - esac > - return 1 > -} > - > -supported_target() { > - case "$1" in > - *-softmmu) > - ;; > - *-linux-user) > - if test "$linux" != "yes"; then > - print_error "Target '$target' is only available on a Linux host" > - return 1 > - fi > - ;; > - *-bsd-user) > - if test "$bsd" != "yes"; then > - print_error "Target '$target' is only available on a BSD host" > - return 1 > - fi > - ;; > - *) > - print_error "Invalid target name '$target'" > - return 1 > - ;; > - esac > - test "$tcg" = "enabled" && return 0 > - supported_kvm_target "$1" && return 0 > - supported_xen_target "$1" && return 0 > - supported_hax_target "$1" && return 0 > - supported_hvf_target "$1" && return 0 > - supported_whpx_target "$1" && return 0 > - print_error "TCG disabled, but hardware accelerator not available for '$target'" > - return 1 > -} > - > - > ld_has() { > $ld --help 2>/dev/null | grep ".$1" >/dev/null 2>&1 > } > @@ -2292,12 +2199,13 @@ if test "$solaris" = "yes" ; then > fi > > if test -z "${target_list+xxx}" ; then > + default_targets=yes > for target in $default_target_list; do > - supported_target $target 2>/dev/null && \ > - target_list="$target_list $target" > + target_list="$target_list $target" > done > target_list="${target_list# }" > else > + default_targets=no > target_list=$(echo "$target_list" | sed -e 's/,/ /g') > for target in $target_list; do > # Check that we recognised the target name; this allows a more > @@ -2309,7 +2217,6 @@ else > error_exit "Unknown target name '$target'" > ;; > esac > - supported_target $target || exit 1 > done > fi > > @@ -2653,27 +2560,6 @@ if test "$seccomp" != "no" ; then > fi > fi > > -########################################## > -# simple accelerator probes > - > -if test "$kvm" = "auto" ; then > - if test "$linux" = yes ; then > - kvm=enabled > - else > - if test "$kvm" = "enabled" ; then > - feature_not_found "kvm" "KVM is only available on Linux" > - fi > - fi > -fi > - > -if test "$hax" = "auto" ; then > - if test "$mingw" = yes || test "$darwin" = yes || test "$targetos" = NetBSD; then > - hax=enabled > - else > - hax=disabled > - fi > -fi > - > ########################################## > # xen probe > > @@ -2992,22 +2878,6 @@ if test "$xen_pci_passthrough" != "disabled"; then > fi > fi > > -########################################## > -# Windows Hypervisor Platform accelerator (WHPX) check > -if test "$whpx" = "enabled" && test "$ARCH" != "x86_64"; then > - error_exit "WHPX requires 64-bit host" > -fi > -if test "$whpx" != "disabled" && test "$ARCH" = "x86_64"; then > - if check_include "WinHvPlatform.h" && check_include "WinHvEmulation.h"; then > - whpx="yes" > - else > - if test "$whpx" = "auto"; then > - feature_not_found "WinHvPlatform" "WinHvEmulation is not installed" > - fi > - whpx="disabled" > - fi > -fi > - > ########################################## > # gettext probe > if test "$gettext" != "false" ; then > @@ -7375,281 +7245,13 @@ fi > > for target in $target_list; do > target_dir="$target" > -config_target_mak=$target_dir/config-target.mak > target_name=$(echo $target | cut -d '-' -f 1) > -target_aligned_only="no" > -case "$target_name" in > - alpha|hppa|mips64el|mips64|mipsel|mips|mipsn32|mipsn32el|sh4|sh4eb|sparc|sparc64|sparc32plus|xtensa|xtensaeb) > - target_aligned_only="yes" > - ;; > -esac > -target_bigendian="no" > -case "$target_name" in > - armeb|aarch64_be|hppa|lm32|m68k|microblaze|mips|mipsn32|mips64|moxie|or1k|ppc|ppc64|ppc64abi32|s390x|sh4eb|sparc|sparc64|sparc32plus|xtensaeb) > - target_bigendian="yes" > - ;; > -esac > -target_softmmu="no" > -target_user_only="no" > -target_linux_user="no" > -target_bsd_user="no" > -case "$target" in > - ${target_name}-softmmu) > - target_softmmu="yes" > - ;; > - ${target_name}-linux-user) > - target_user_only="yes" > - target_linux_user="yes" > - ;; > - ${target_name}-bsd-user) > - target_user_only="yes" > - target_bsd_user="yes" > - ;; > - *) > - error_exit "Target '$target' not recognised" > - exit 1 > - ;; > -esac > - > mkdir -p $target_dir > -echo "# Automatically generated by configure - do not modify" > $config_target_mak > - > -bflt="no" > -mttcg="no" > -interp_prefix1=$(echo "$interp_prefix" | sed "s/%M/$target_name/g") > -gdb_xml_files="" > - > -TARGET_ARCH="$target_name" > -TARGET_BASE_ARCH="" > -TARGET_ABI_DIR="" > -TARGET_SYSTBL_ABI="" > -TARGET_SYSTBL="" > - > -case "$target_name" in > - i386) > - mttcg="yes" > - gdb_xml_files="i386-32bit.xml" > - TARGET_SYSTBL_ABI=i386 > - TARGET_SYSTBL=syscall_32.tbl > - ;; > - x86_64) > - TARGET_BASE_ARCH=i386 > - TARGET_SYSTBL_ABI=common,64 > - TARGET_SYSTBL=syscall_64.tbl > - mttcg="yes" > - gdb_xml_files="i386-64bit.xml" > - ;; > - alpha) > - mttcg="yes" > - TARGET_SYSTBL_ABI=common > - ;; > - arm|armeb) > - TARGET_ARCH=arm > - TARGET_SYSTBL_ABI=common,oabi > - bflt="yes" > - mttcg="yes" > - gdb_xml_files="arm-core.xml arm-vfp.xml arm-vfp3.xml arm-neon.xml arm-m-profile.xml" > - ;; > - aarch64|aarch64_be) > - TARGET_ARCH=aarch64 > - TARGET_BASE_ARCH=arm > - bflt="yes" > - mttcg="yes" > - gdb_xml_files="aarch64-core.xml aarch64-fpu.xml arm-core.xml arm-vfp.xml arm-vfp3.xml arm-neon.xml arm-m-profile.xml" > - ;; > - avr) > - gdb_xml_files="avr-cpu.xml" > - target_compiler=$cross_cc_avr > - ;; > - cris) > - ;; > - hppa) > - mttcg="yes" > - TARGET_SYSTBL_ABI=common,32 > - ;; > - lm32) > - ;; > - m68k) > - bflt="yes" > - gdb_xml_files="cf-core.xml cf-fp.xml m68k-core.xml m68k-fp.xml" > - TARGET_SYSTBL_ABI=common > - ;; > - microblaze|microblazeel) > - TARGET_ARCH=microblaze > - TARGET_SYSTBL_ABI=common > - mttcg="yes" > - bflt="yes" > - ;; > - mips|mipsel) > - mttcg="yes" > - TARGET_ARCH=mips > - echo "TARGET_ABI_MIPSO32=y" >> $config_target_mak > - TARGET_SYSTBL_ABI=o32 > - TARGET_SYSTBL=syscall_o32.tbl > - ;; > - mipsn32|mipsn32el) > - mttcg="yes" > - TARGET_ARCH=mips64 > - TARGET_BASE_ARCH=mips > - echo "TARGET_ABI_MIPSN32=y" >> $config_target_mak > - echo "TARGET_ABI32=y" >> $config_target_mak > - TARGET_SYSTBL_ABI=n32 > - TARGET_SYSTBL=syscall_n32.tbl > - ;; > - mips64|mips64el) > - mttcg="no" > - TARGET_ARCH=mips64 > - TARGET_BASE_ARCH=mips > - echo "TARGET_ABI_MIPSN64=y" >> $config_target_mak > - TARGET_SYSTBL_ABI=n64 > - TARGET_SYSTBL=syscall_n64.tbl > - ;; > - moxie) > - ;; > - nios2) > - ;; > - or1k) > - TARGET_ARCH=openrisc > - TARGET_BASE_ARCH=openrisc > - ;; > - ppc) > - gdb_xml_files="power-core.xml power-fpu.xml power-altivec.xml power-spe.xml" > - TARGET_SYSTBL_ABI=common,nospu,32 > - ;; > - ppc64) > - TARGET_BASE_ARCH=ppc > - TARGET_ABI_DIR=ppc > - TARGET_SYSTBL_ABI=common,nospu,64 > - mttcg=yes > - gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml power-vsx.xml" > - ;; > - ppc64le) > - TARGET_ARCH=ppc64 > - TARGET_BASE_ARCH=ppc > - TARGET_ABI_DIR=ppc > - TARGET_SYSTBL_ABI=common,nospu,64 > - mttcg=yes > - gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml power-vsx.xml" > - ;; > - ppc64abi32) > - TARGET_ARCH=ppc64 > - TARGET_BASE_ARCH=ppc > - TARGET_ABI_DIR=ppc > - TARGET_SYSTBL_ABI=common,nospu,32 > - echo "TARGET_ABI32=y" >> $config_target_mak > - gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml power-vsx.xml" > - deprecated_features="ppc64abi32 ${deprecated_features}" > - ;; > - riscv32) > - TARGET_BASE_ARCH=riscv > - TARGET_ABI_DIR=riscv > - mttcg=yes > - gdb_xml_files="riscv-32bit-cpu.xml riscv-32bit-fpu.xml riscv-64bit-fpu.xml riscv-32bit-csr.xml riscv-32bit-virtual.xml" > - ;; > - riscv64) > - TARGET_BASE_ARCH=riscv > - TARGET_ABI_DIR=riscv > - mttcg=yes > - gdb_xml_files="riscv-64bit-cpu.xml riscv-32bit-fpu.xml riscv-64bit-fpu.xml riscv-64bit-csr.xml riscv-64bit-virtual.xml" > - ;; > - rx) > - TARGET_ARCH=rx > - bflt="yes" > - target_compiler=$cross_cc_rx > - gdb_xml_files="rx-core.xml" > - ;; > - sh4|sh4eb) > - TARGET_ARCH=sh4 > - TARGET_SYSTBL_ABI=common > - bflt="yes" > - ;; > - sparc) > - TARGET_SYSTBL_ABI=common,32 > - ;; > - sparc64) > - TARGET_BASE_ARCH=sparc > - TARGET_SYSTBL_ABI=common,64 > - ;; > - sparc32plus) > - TARGET_ARCH=sparc64 > - TARGET_BASE_ARCH=sparc > - TARGET_ABI_DIR=sparc > - TARGET_SYSTBL_ABI=common,32 > - echo "TARGET_ABI32=y" >> $config_target_mak > - ;; > - s390x) > - TARGET_SYSTBL_ABI=common,64 > - mttcg=yes > - gdb_xml_files="s390x-core64.xml s390-acr.xml s390-fpr.xml s390-vx.xml s390-cr.xml s390-virt.xml s390-gs.xml" > - ;; > - tilegx) > - ;; > - tricore) > - ;; > - unicore32) > - ;; > - xtensa|xtensaeb) > - TARGET_ARCH=xtensa > - TARGET_SYSTBL_ABI=common > - bflt="yes" > - mttcg="yes" > - ;; > - *) > - error_exit "Unsupported target CPU" > - ;; > -esac > -# TARGET_BASE_ARCH needs to be defined after TARGET_ARCH > -if [ "$TARGET_BASE_ARCH" = "" ]; then > - TARGET_BASE_ARCH=$TARGET_ARCH > -fi > -if [ "$TARGET_SYSTBL_ABI" != "" ] && [ "$TARGET_SYSTBL" = "" ]; then > - TARGET_SYSTBL=syscall.tbl > -fi > - > -upper() { > - echo "$@"| LC_ALL=C tr '[a-z]' '[A-Z]' > -} > - > -target_arch_name="$(upper $TARGET_ARCH)" > -echo "TARGET_$target_arch_name=y" >> $config_target_mak > -echo "TARGET_BASE_ARCH=$TARGET_BASE_ARCH" >> $config_target_mak > -if [ "$TARGET_ABI_DIR" = "" ]; then > - TARGET_ABI_DIR=$TARGET_ARCH > -fi > -echo "TARGET_ABI_DIR=$TARGET_ABI_DIR" >> $config_target_mak > -if [ "$TARGET_SYSTBL_ABI" != "" ]; then > - echo "TARGET_SYSTBL_ABI=$TARGET_SYSTBL_ABI" >> $config_target_mak > - echo "TARGET_SYSTBL=$TARGET_SYSTBL" >> $config_target_mak > -fi > - > -if test "$target_aligned_only" = "yes" ; then > - echo "TARGET_ALIGNED_ONLY=y" >> $config_target_mak > -fi > -if test "$target_bigendian" = "yes" ; then > - echo "TARGET_WORDS_BIGENDIAN=y" >> $config_target_mak > -fi > -if test "$target_softmmu" = "yes" ; then > - if test "$mttcg" = "yes" ; then > - echo "TARGET_SUPPORTS_MTTCG=y" >> $config_target_mak > - fi > -fi > if test "$target_user_only" = "yes" ; then > symlink "../qemu-$target_name" "$target_dir/qemu-$target_name" > else > symlink "../qemu-system-$target_name" "$target_dir/qemu-system-$target_name" > fi > -list="" > -if test ! -z "$gdb_xml_files" ; then > - for x in $gdb_xml_files; do > - list="$list gdb-xml/$x" > - done > - echo "TARGET_XML_FILES=$list" >> $config_target_mak > -fi > - > -if test "$target_user_only" = "yes" && test "$bflt" = "yes"; then > - echo "TARGET_HAS_BFLT=y" >> $config_target_mak > -fi > - > done # for target in $targets > > if [ "$fdt" = "git" ]; then > @@ -7659,6 +7261,9 @@ if [ "$capstone" = "git" -o "$capstone" = "internal" ]; then > subdirs="$subdirs capstone" > fi > echo "CONFIG_QEMU_INTERP_PREFIX=$interp_prefix" | sed 's/%M/@0@/' >> $config_host_mak > +if test "$default_targets" = "yes"; then > + echo "CONFIG_DEFAULT_TARGETS=y" >> $config_host_mak > +fi > echo "SUBDIRS=$subdirs" >> $config_host_mak > if test -n "$LIBCAPSTONE"; then > echo "LIBCAPSTONE=$LIBCAPSTONE" >> $config_host_mak > diff --git a/default-configs/targets/aarch64-linux-user.mak b/default-configs/targets/aarch64-linux-user.mak > new file mode 100644 > index 0000000000..4495e86509 > --- /dev/null > +++ b/default-configs/targets/aarch64-linux-user.mak > @@ -0,0 +1,5 @@ > +TARGET_AARCH64=y > +TARGET_BASE_ARCH=arm > +TARGET_ABI_DIR=aarch64 > +TARGET_XML_FILES= gdb-xml/aarch64-core.xml gdb-xml/aarch64-fpu.xml gdb-xml/arm-core.xml gdb-xml/arm-vfp.xml gdb-xml/arm-vfp3.xml gdb-xml/arm-neon.xml gdb-xml/arm-m-profile.xml > +TARGET_HAS_BFLT=y > diff --git a/default-configs/targets/aarch64-softmmu.mak b/default-configs/targets/aarch64-softmmu.mak > new file mode 100644 > index 0000000000..53f83ea81f > --- /dev/null > +++ b/default-configs/targets/aarch64-softmmu.mak > @@ -0,0 +1,5 @@ > +TARGET_AARCH64=y > +TARGET_BASE_ARCH=arm > +TARGET_ABI_DIR=aarch64 > +TARGET_SUPPORTS_MTTCG=y > +TARGET_XML_FILES= gdb-xml/aarch64-core.xml gdb-xml/aarch64-fpu.xml gdb-xml/arm-core.xml gdb-xml/arm-vfp.xml gdb-xml/arm-vfp3.xml gdb-xml/arm-neon.xml gdb-xml/arm-m-profile.xml > diff --git a/default-configs/targets/aarch64_be-linux-user.mak b/default-configs/targets/aarch64_be-linux-user.mak > new file mode 100644 > index 0000000000..da13693d3d > --- /dev/null > +++ b/default-configs/targets/aarch64_be-linux-user.mak > @@ -0,0 +1,6 @@ > +TARGET_AARCH64=y > +TARGET_BASE_ARCH=arm > +TARGET_ABI_DIR=aarch64 > +TARGET_WORDS_BIGENDIAN=y > +TARGET_XML_FILES= gdb-xml/aarch64-core.xml gdb-xml/aarch64-fpu.xml gdb-xml/arm-core.xml gdb-xml/arm-vfp.xml gdb-xml/arm-vfp3.xml gdb-xml/arm-neon.xml gdb-xml/arm-m-profile.xml > +TARGET_HAS_BFLT=y > diff --git a/default-configs/targets/alpha-linux-user.mak b/default-configs/targets/alpha-linux-user.mak > new file mode 100644 > index 0000000000..5ff89f5d48 > --- /dev/null > +++ b/default-configs/targets/alpha-linux-user.mak > @@ -0,0 +1,6 @@ > +TARGET_ALPHA=y > +TARGET_BASE_ARCH=alpha > +TARGET_ABI_DIR=alpha > +TARGET_SYSTBL_ABI=common > +TARGET_SYSTBL=syscall.tbl > +TARGET_ALIGNED_ONLY=y > diff --git a/default-configs/targets/alpha-softmmu.mak b/default-configs/targets/alpha-softmmu.mak > new file mode 100644 > index 0000000000..b78114b028 > --- /dev/null > +++ b/default-configs/targets/alpha-softmmu.mak > @@ -0,0 +1,7 @@ > +TARGET_ALPHA=y > +TARGET_BASE_ARCH=alpha > +TARGET_ABI_DIR=alpha > +TARGET_SYSTBL_ABI=common > +TARGET_SYSTBL=syscall.tbl > +TARGET_ALIGNED_ONLY=y > +TARGET_SUPPORTS_MTTCG=y > diff --git a/default-configs/targets/arm-linux-user.mak b/default-configs/targets/arm-linux-user.mak > new file mode 100644 > index 0000000000..7c54c3c2a2 > --- /dev/null > +++ b/default-configs/targets/arm-linux-user.mak > @@ -0,0 +1,7 @@ > +TARGET_ARM=y > +TARGET_BASE_ARCH=arm > +TARGET_ABI_DIR=arm > +TARGET_SYSTBL_ABI=common,oabi > +TARGET_SYSTBL=syscall.tbl > +TARGET_XML_FILES= gdb-xml/arm-core.xml gdb-xml/arm-vfp.xml gdb-xml/arm-vfp3.xml gdb-xml/arm-neon.xml gdb-xml/arm-m-profile.xml > +TARGET_HAS_BFLT=y > diff --git a/default-configs/targets/arm-softmmu.mak b/default-configs/targets/arm-softmmu.mak > new file mode 100644 > index 0000000000..d40b995f25 > --- /dev/null > +++ b/default-configs/targets/arm-softmmu.mak > @@ -0,0 +1,7 @@ > +TARGET_ARM=y > +TARGET_BASE_ARCH=arm > +TARGET_ABI_DIR=arm > +TARGET_SYSTBL_ABI=common,oabi > +TARGET_SYSTBL=syscall.tbl > +TARGET_SUPPORTS_MTTCG=y > +TARGET_XML_FILES= gdb-xml/arm-core.xml gdb-xml/arm-vfp.xml gdb-xml/arm-vfp3.xml gdb-xml/arm-neon.xml gdb-xml/arm-m-profile.xml > diff --git a/default-configs/targets/armeb-linux-user.mak b/default-configs/targets/armeb-linux-user.mak > new file mode 100644 > index 0000000000..1882aa472d > --- /dev/null > +++ b/default-configs/targets/armeb-linux-user.mak > @@ -0,0 +1,8 @@ > +TARGET_ARM=y > +TARGET_BASE_ARCH=arm > +TARGET_ABI_DIR=arm > +TARGET_SYSTBL_ABI=common,oabi > +TARGET_SYSTBL=syscall.tbl > +TARGET_WORDS_BIGENDIAN=y > +TARGET_XML_FILES= gdb-xml/arm-core.xml gdb-xml/arm-vfp.xml gdb-xml/arm-vfp3.xml gdb-xml/arm-neon.xml gdb-xml/arm-m-profile.xml > +TARGET_HAS_BFLT=y > diff --git a/default-configs/targets/avr-softmmu.mak b/default-configs/targets/avr-softmmu.mak > new file mode 100644 > index 0000000000..ecd292b2f7 > --- /dev/null > +++ b/default-configs/targets/avr-softmmu.mak > @@ -0,0 +1,4 @@ > +TARGET_AVR=y > +TARGET_BASE_ARCH=avr > +TARGET_ABI_DIR=avr > +TARGET_XML_FILES= gdb-xml/avr-cpu.xml > diff --git a/default-configs/targets/cris-linux-user.mak b/default-configs/targets/cris-linux-user.mak > new file mode 100644 > index 0000000000..ba61135172 > --- /dev/null > +++ b/default-configs/targets/cris-linux-user.mak > @@ -0,0 +1,3 @@ > +TARGET_CRIS=y > +TARGET_BASE_ARCH=cris > +TARGET_ABI_DIR=cris > diff --git a/default-configs/targets/cris-softmmu.mak b/default-configs/targets/cris-softmmu.mak > new file mode 100644 > index 0000000000..ba61135172 > --- /dev/null > +++ b/default-configs/targets/cris-softmmu.mak > @@ -0,0 +1,3 @@ > +TARGET_CRIS=y > +TARGET_BASE_ARCH=cris > +TARGET_ABI_DIR=cris > diff --git a/default-configs/targets/hppa-linux-user.mak b/default-configs/targets/hppa-linux-user.mak > new file mode 100644 > index 0000000000..94222e8fc6 > --- /dev/null > +++ b/default-configs/targets/hppa-linux-user.mak > @@ -0,0 +1,7 @@ > +TARGET_HPPA=y > +TARGET_BASE_ARCH=hppa > +TARGET_ABI_DIR=hppa > +TARGET_SYSTBL_ABI=common,32 > +TARGET_SYSTBL=syscall.tbl > +TARGET_ALIGNED_ONLY=y > +TARGET_WORDS_BIGENDIAN=y > diff --git a/default-configs/targets/hppa-softmmu.mak b/default-configs/targets/hppa-softmmu.mak > new file mode 100644 > index 0000000000..617c6483c0 > --- /dev/null > +++ b/default-configs/targets/hppa-softmmu.mak > @@ -0,0 +1,8 @@ > +TARGET_HPPA=y > +TARGET_BASE_ARCH=hppa > +TARGET_ABI_DIR=hppa > +TARGET_SYSTBL_ABI=common,32 > +TARGET_SYSTBL=syscall.tbl > +TARGET_ALIGNED_ONLY=y > +TARGET_WORDS_BIGENDIAN=y > +TARGET_SUPPORTS_MTTCG=y > diff --git a/default-configs/targets/i386-bsd-user.mak b/default-configs/targets/i386-bsd-user.mak > new file mode 100644 > index 0000000000..34b52e9ee2 > --- /dev/null > +++ b/default-configs/targets/i386-bsd-user.mak > @@ -0,0 +1,6 @@ > +TARGET_I386=y > +TARGET_BASE_ARCH=i386 > +TARGET_ABI_DIR=i386 > +TARGET_SYSTBL_ABI=i386 > +TARGET_SYSTBL=syscall_32.tbl > +TARGET_XML_FILES= gdb-xml/i386-32bit.xml > diff --git a/default-configs/targets/i386-linux-user.mak b/default-configs/targets/i386-linux-user.mak > new file mode 100644 > index 0000000000..34b52e9ee2 > --- /dev/null > +++ b/default-configs/targets/i386-linux-user.mak > @@ -0,0 +1,6 @@ > +TARGET_I386=y > +TARGET_BASE_ARCH=i386 > +TARGET_ABI_DIR=i386 > +TARGET_SYSTBL_ABI=i386 > +TARGET_SYSTBL=syscall_32.tbl > +TARGET_XML_FILES= gdb-xml/i386-32bit.xml > diff --git a/default-configs/targets/i386-softmmu.mak b/default-configs/targets/i386-softmmu.mak > new file mode 100644 > index 0000000000..be9198bb84 > --- /dev/null > +++ b/default-configs/targets/i386-softmmu.mak > @@ -0,0 +1,7 @@ > +TARGET_I386=y > +TARGET_BASE_ARCH=i386 > +TARGET_ABI_DIR=i386 > +TARGET_SYSTBL_ABI=i386 > +TARGET_SYSTBL=syscall_32.tbl > +TARGET_SUPPORTS_MTTCG=y > +TARGET_XML_FILES= gdb-xml/i386-32bit.xml > diff --git a/default-configs/targets/lm32-softmmu.mak b/default-configs/targets/lm32-softmmu.mak > new file mode 100644 > index 0000000000..c327d27d5f > --- /dev/null > +++ b/default-configs/targets/lm32-softmmu.mak > @@ -0,0 +1,4 @@ > +TARGET_LM32=y > +TARGET_BASE_ARCH=lm32 > +TARGET_ABI_DIR=lm32 > +TARGET_WORDS_BIGENDIAN=y > diff --git a/default-configs/targets/m68k-linux-user.mak b/default-configs/targets/m68k-linux-user.mak > new file mode 100644 > index 0000000000..e7c0af5881 > --- /dev/null > +++ b/default-configs/targets/m68k-linux-user.mak > @@ -0,0 +1,8 @@ > +TARGET_M68K=y > +TARGET_BASE_ARCH=m68k > +TARGET_ABI_DIR=m68k > +TARGET_SYSTBL_ABI=common > +TARGET_SYSTBL=syscall.tbl > +TARGET_WORDS_BIGENDIAN=y > +TARGET_XML_FILES= gdb-xml/cf-core.xml gdb-xml/cf-fp.xml gdb-xml/m68k-core.xml gdb-xml/m68k-fp.xml > +TARGET_HAS_BFLT=y > diff --git a/default-configs/targets/m68k-softmmu.mak b/default-configs/targets/m68k-softmmu.mak > new file mode 100644 > index 0000000000..f8bf4fc5ac > --- /dev/null > +++ b/default-configs/targets/m68k-softmmu.mak > @@ -0,0 +1,7 @@ > +TARGET_M68K=y > +TARGET_BASE_ARCH=m68k > +TARGET_ABI_DIR=m68k > +TARGET_SYSTBL_ABI=common > +TARGET_SYSTBL=syscall.tbl > +TARGET_WORDS_BIGENDIAN=y > +TARGET_XML_FILES= gdb-xml/cf-core.xml gdb-xml/cf-fp.xml gdb-xml/m68k-core.xml gdb-xml/m68k-fp.xml > diff --git a/default-configs/targets/microblaze-linux-user.mak b/default-configs/targets/microblaze-linux-user.mak > new file mode 100644 > index 0000000000..809819424d > --- /dev/null > +++ b/default-configs/targets/microblaze-linux-user.mak > @@ -0,0 +1,7 @@ > +TARGET_MICROBLAZE=y > +TARGET_BASE_ARCH=microblaze > +TARGET_ABI_DIR=microblaze > +TARGET_SYSTBL_ABI=common > +TARGET_SYSTBL=syscall.tbl > +TARGET_WORDS_BIGENDIAN=y > +TARGET_HAS_BFLT=y > diff --git a/default-configs/targets/microblaze-softmmu.mak b/default-configs/targets/microblaze-softmmu.mak > new file mode 100644 > index 0000000000..1b0a76a61f > --- /dev/null > +++ b/default-configs/targets/microblaze-softmmu.mak > @@ -0,0 +1,7 @@ > +TARGET_MICROBLAZE=y > +TARGET_BASE_ARCH=microblaze > +TARGET_ABI_DIR=microblaze > +TARGET_SYSTBL_ABI=common > +TARGET_SYSTBL=syscall.tbl > +TARGET_WORDS_BIGENDIAN=y > +TARGET_SUPPORTS_MTTCG=y > diff --git a/default-configs/targets/microblazeel-linux-user.mak b/default-configs/targets/microblazeel-linux-user.mak > new file mode 100644 > index 0000000000..416b42eeb6 > --- /dev/null > +++ b/default-configs/targets/microblazeel-linux-user.mak > @@ -0,0 +1,6 @@ > +TARGET_MICROBLAZE=y > +TARGET_BASE_ARCH=microblaze > +TARGET_ABI_DIR=microblaze > +TARGET_SYSTBL_ABI=common > +TARGET_SYSTBL=syscall.tbl > +TARGET_HAS_BFLT=y > diff --git a/default-configs/targets/microblazeel-softmmu.mak b/default-configs/targets/microblazeel-softmmu.mak > new file mode 100644 > index 0000000000..3a2cf8be0f > --- /dev/null > +++ b/default-configs/targets/microblazeel-softmmu.mak > @@ -0,0 +1,6 @@ > +TARGET_MICROBLAZE=y > +TARGET_BASE_ARCH=microblaze > +TARGET_ABI_DIR=microblaze > +TARGET_SYSTBL_ABI=common > +TARGET_SYSTBL=syscall.tbl > +TARGET_SUPPORTS_MTTCG=y > diff --git a/default-configs/targets/mips-linux-user.mak b/default-configs/targets/mips-linux-user.mak > new file mode 100644 > index 0000000000..bcfff16a7b > --- /dev/null > +++ b/default-configs/targets/mips-linux-user.mak > @@ -0,0 +1,8 @@ > +TARGET_ABI_MIPSO32=y > +TARGET_MIPS=y > +TARGET_BASE_ARCH=mips > +TARGET_ABI_DIR=mips > +TARGET_SYSTBL_ABI=o32 > +TARGET_SYSTBL=syscall_o32.tbl > +TARGET_ALIGNED_ONLY=y > +TARGET_WORDS_BIGENDIAN=y > diff --git a/default-configs/targets/mips-softmmu.mak b/default-configs/targets/mips-softmmu.mak > new file mode 100644 > index 0000000000..8ab9ff2ac9 > --- /dev/null > +++ b/default-configs/targets/mips-softmmu.mak > @@ -0,0 +1,9 @@ > +TARGET_ABI_MIPSO32=y > +TARGET_MIPS=y > +TARGET_BASE_ARCH=mips > +TARGET_ABI_DIR=mips > +TARGET_SYSTBL_ABI=o32 > +TARGET_SYSTBL=syscall_o32.tbl > +TARGET_ALIGNED_ONLY=y > +TARGET_WORDS_BIGENDIAN=y > +TARGET_SUPPORTS_MTTCG=y > diff --git a/default-configs/targets/mips64-linux-user.mak b/default-configs/targets/mips64-linux-user.mak > new file mode 100644 > index 0000000000..c02c5460a7 > --- /dev/null > +++ b/default-configs/targets/mips64-linux-user.mak > @@ -0,0 +1,8 @@ > +TARGET_ABI_MIPSN64=y > +TARGET_MIPS64=y > +TARGET_BASE_ARCH=mips > +TARGET_ABI_DIR=mips64 > +TARGET_SYSTBL_ABI=n64 > +TARGET_SYSTBL=syscall_n64.tbl > +TARGET_ALIGNED_ONLY=y > +TARGET_WORDS_BIGENDIAN=y > diff --git a/default-configs/targets/mips64-softmmu.mak b/default-configs/targets/mips64-softmmu.mak > new file mode 100644 > index 0000000000..c02c5460a7 > --- /dev/null > +++ b/default-configs/targets/mips64-softmmu.mak > @@ -0,0 +1,8 @@ > +TARGET_ABI_MIPSN64=y > +TARGET_MIPS64=y > +TARGET_BASE_ARCH=mips > +TARGET_ABI_DIR=mips64 > +TARGET_SYSTBL_ABI=n64 > +TARGET_SYSTBL=syscall_n64.tbl > +TARGET_ALIGNED_ONLY=y > +TARGET_WORDS_BIGENDIAN=y > diff --git a/default-configs/targets/mips64el-linux-user.mak b/default-configs/targets/mips64el-linux-user.mak > new file mode 100644 > index 0000000000..8cbbc38e78 > --- /dev/null > +++ b/default-configs/targets/mips64el-linux-user.mak > @@ -0,0 +1,7 @@ > +TARGET_ABI_MIPSN64=y > +TARGET_MIPS64=y > +TARGET_BASE_ARCH=mips > +TARGET_ABI_DIR=mips64 > +TARGET_SYSTBL_ABI=n64 > +TARGET_SYSTBL=syscall_n64.tbl > +TARGET_ALIGNED_ONLY=y > diff --git a/default-configs/targets/mips64el-softmmu.mak b/default-configs/targets/mips64el-softmmu.mak > new file mode 100644 > index 0000000000..8cbbc38e78 > --- /dev/null > +++ b/default-configs/targets/mips64el-softmmu.mak > @@ -0,0 +1,7 @@ > +TARGET_ABI_MIPSN64=y > +TARGET_MIPS64=y > +TARGET_BASE_ARCH=mips > +TARGET_ABI_DIR=mips64 > +TARGET_SYSTBL_ABI=n64 > +TARGET_SYSTBL=syscall_n64.tbl > +TARGET_ALIGNED_ONLY=y > diff --git a/default-configs/targets/mipsel-linux-user.mak b/default-configs/targets/mipsel-linux-user.mak > new file mode 100644 > index 0000000000..26aa9c8279 > --- /dev/null > +++ b/default-configs/targets/mipsel-linux-user.mak > @@ -0,0 +1,7 @@ > +TARGET_ABI_MIPSO32=y > +TARGET_MIPS=y > +TARGET_BASE_ARCH=mips > +TARGET_ABI_DIR=mips > +TARGET_SYSTBL_ABI=o32 > +TARGET_SYSTBL=syscall_o32.tbl > +TARGET_ALIGNED_ONLY=y > diff --git a/default-configs/targets/mipsel-softmmu.mak b/default-configs/targets/mipsel-softmmu.mak > new file mode 100644 > index 0000000000..afa0851887 > --- /dev/null > +++ b/default-configs/targets/mipsel-softmmu.mak > @@ -0,0 +1,8 @@ > +TARGET_ABI_MIPSO32=y > +TARGET_MIPS=y > +TARGET_BASE_ARCH=mips > +TARGET_ABI_DIR=mips > +TARGET_SYSTBL_ABI=o32 > +TARGET_SYSTBL=syscall_o32.tbl > +TARGET_ALIGNED_ONLY=y > +TARGET_SUPPORTS_MTTCG=y > diff --git a/default-configs/targets/mipsn32-linux-user.mak b/default-configs/targets/mipsn32-linux-user.mak > new file mode 100644 > index 0000000000..81d548e699 > --- /dev/null > +++ b/default-configs/targets/mipsn32-linux-user.mak > @@ -0,0 +1,9 @@ > +TARGET_ABI_MIPSN32=y > +TARGET_ABI32=y > +TARGET_MIPS64=y > +TARGET_BASE_ARCH=mips > +TARGET_ABI_DIR=mips64 > +TARGET_SYSTBL_ABI=n32 > +TARGET_SYSTBL=syscall_n32.tbl > +TARGET_ALIGNED_ONLY=y > +TARGET_WORDS_BIGENDIAN=y > diff --git a/default-configs/targets/mipsn32el-linux-user.mak b/default-configs/targets/mipsn32el-linux-user.mak > new file mode 100644 > index 0000000000..6de47f2a79 > --- /dev/null > +++ b/default-configs/targets/mipsn32el-linux-user.mak > @@ -0,0 +1,8 @@ > +TARGET_ABI_MIPSN32=y > +TARGET_ABI32=y > +TARGET_MIPS64=y > +TARGET_BASE_ARCH=mips > +TARGET_ABI_DIR=mips64 > +TARGET_SYSTBL_ABI=n32 > +TARGET_SYSTBL=syscall_n32.tbl > +TARGET_ALIGNED_ONLY=y > diff --git a/default-configs/targets/moxie-softmmu.mak b/default-configs/targets/moxie-softmmu.mak > new file mode 100644 > index 0000000000..da093f5b36 > --- /dev/null > +++ b/default-configs/targets/moxie-softmmu.mak > @@ -0,0 +1,4 @@ > +TARGET_MOXIE=y > +TARGET_BASE_ARCH=moxie > +TARGET_ABI_DIR=moxie > +TARGET_WORDS_BIGENDIAN=y > diff --git a/default-configs/targets/nios2-linux-user.mak b/default-configs/targets/nios2-linux-user.mak > new file mode 100644 > index 0000000000..a2308a16aa > --- /dev/null > +++ b/default-configs/targets/nios2-linux-user.mak > @@ -0,0 +1,3 @@ > +TARGET_NIOS2=y > +TARGET_BASE_ARCH=nios2 > +TARGET_ABI_DIR=nios2 > diff --git a/default-configs/targets/nios2-softmmu.mak b/default-configs/targets/nios2-softmmu.mak > new file mode 100644 > index 0000000000..a2308a16aa > --- /dev/null > +++ b/default-configs/targets/nios2-softmmu.mak > @@ -0,0 +1,3 @@ > +TARGET_NIOS2=y > +TARGET_BASE_ARCH=nios2 > +TARGET_ABI_DIR=nios2 > diff --git a/default-configs/targets/or1k-linux-user.mak b/default-configs/targets/or1k-linux-user.mak > new file mode 100644 > index 0000000000..2f5ff844df > --- /dev/null > +++ b/default-configs/targets/or1k-linux-user.mak > @@ -0,0 +1,4 @@ > +TARGET_OPENRISC=y > +TARGET_BASE_ARCH=openrisc > +TARGET_ABI_DIR=openrisc > +TARGET_WORDS_BIGENDIAN=y > diff --git a/default-configs/targets/or1k-softmmu.mak b/default-configs/targets/or1k-softmmu.mak > new file mode 100644 > index 0000000000..2f5ff844df > --- /dev/null > +++ b/default-configs/targets/or1k-softmmu.mak > @@ -0,0 +1,4 @@ > +TARGET_OPENRISC=y > +TARGET_BASE_ARCH=openrisc > +TARGET_ABI_DIR=openrisc > +TARGET_WORDS_BIGENDIAN=y > diff --git a/default-configs/targets/ppc-linux-user.mak b/default-configs/targets/ppc-linux-user.mak > new file mode 100644 > index 0000000000..c4d912bfb1 > --- /dev/null > +++ b/default-configs/targets/ppc-linux-user.mak > @@ -0,0 +1,7 @@ > +TARGET_PPC=y > +TARGET_BASE_ARCH=ppc > +TARGET_ABI_DIR=ppc > +TARGET_SYSTBL_ABI=common,nospu,32 > +TARGET_SYSTBL=syscall.tbl > +TARGET_WORDS_BIGENDIAN=y > +TARGET_XML_FILES= gdb-xml/power-core.xml gdb-xml/power-fpu.xml gdb-xml/power-altivec.xml gdb-xml/power-spe.xml > diff --git a/default-configs/targets/ppc-softmmu.mak b/default-configs/targets/ppc-softmmu.mak > new file mode 100644 > index 0000000000..c4d912bfb1 > --- /dev/null > +++ b/default-configs/targets/ppc-softmmu.mak > @@ -0,0 +1,7 @@ > +TARGET_PPC=y > +TARGET_BASE_ARCH=ppc > +TARGET_ABI_DIR=ppc > +TARGET_SYSTBL_ABI=common,nospu,32 > +TARGET_SYSTBL=syscall.tbl > +TARGET_WORDS_BIGENDIAN=y > +TARGET_XML_FILES= gdb-xml/power-core.xml gdb-xml/power-fpu.xml gdb-xml/power-altivec.xml gdb-xml/power-spe.xml > diff --git a/default-configs/targets/ppc64-linux-user.mak b/default-configs/targets/ppc64-linux-user.mak > new file mode 100644 > index 0000000000..7f96ab7e9d > --- /dev/null > +++ b/default-configs/targets/ppc64-linux-user.mak > @@ -0,0 +1,7 @@ > +TARGET_PPC64=y > +TARGET_BASE_ARCH=ppc > +TARGET_ABI_DIR=ppc > +TARGET_SYSTBL_ABI=common,nospu,64 > +TARGET_SYSTBL=syscall.tbl > +TARGET_WORDS_BIGENDIAN=y > +TARGET_XML_FILES= gdb-xml/power64-core.xml gdb-xml/power-fpu.xml gdb-xml/power-altivec.xml gdb-xml/power-spe.xml gdb-xml/power-vsx.xml > diff --git a/default-configs/targets/ppc64-softmmu.mak b/default-configs/targets/ppc64-softmmu.mak > new file mode 100644 > index 0000000000..a73211918a > --- /dev/null > +++ b/default-configs/targets/ppc64-softmmu.mak > @@ -0,0 +1,8 @@ > +TARGET_PPC64=y > +TARGET_BASE_ARCH=ppc > +TARGET_ABI_DIR=ppc > +TARGET_SYSTBL_ABI=common,nospu,64 > +TARGET_SYSTBL=syscall.tbl > +TARGET_WORDS_BIGENDIAN=y > +TARGET_SUPPORTS_MTTCG=y > +TARGET_XML_FILES= gdb-xml/power64-core.xml gdb-xml/power-fpu.xml gdb-xml/power-altivec.xml gdb-xml/power-spe.xml gdb-xml/power-vsx.xml > diff --git a/default-configs/targets/ppc64abi32-linux-user.mak b/default-configs/targets/ppc64abi32-linux-user.mak > new file mode 100644 > index 0000000000..13a02700aa > --- /dev/null > +++ b/default-configs/targets/ppc64abi32-linux-user.mak > @@ -0,0 +1,8 @@ > +TARGET_ABI32=y > +TARGET_PPC64=y > +TARGET_BASE_ARCH=ppc > +TARGET_ABI_DIR=ppc > +TARGET_SYSTBL_ABI=common,nospu,32 > +TARGET_SYSTBL=syscall.tbl > +TARGET_WORDS_BIGENDIAN=y > +TARGET_XML_FILES= gdb-xml/power64-core.xml gdb-xml/power-fpu.xml gdb-xml/power-altivec.xml gdb-xml/power-spe.xml gdb-xml/power-vsx.xml > diff --git a/default-configs/targets/ppc64le-linux-user.mak b/default-configs/targets/ppc64le-linux-user.mak > new file mode 100644 > index 0000000000..3dd54b894c > --- /dev/null > +++ b/default-configs/targets/ppc64le-linux-user.mak > @@ -0,0 +1,6 @@ > +TARGET_PPC64=y > +TARGET_BASE_ARCH=ppc > +TARGET_ABI_DIR=ppc > +TARGET_SYSTBL_ABI=common,nospu,64 > +TARGET_SYSTBL=syscall.tbl > +TARGET_XML_FILES= gdb-xml/power64-core.xml gdb-xml/power-fpu.xml gdb-xml/power-altivec.xml gdb-xml/power-spe.xml gdb-xml/power-vsx.xml > diff --git a/default-configs/targets/riscv32-linux-user.mak b/default-configs/targets/riscv32-linux-user.mak > new file mode 100644 > index 0000000000..91d72a46b0 > --- /dev/null > +++ b/default-configs/targets/riscv32-linux-user.mak > @@ -0,0 +1,4 @@ > +TARGET_RISCV32=y > +TARGET_BASE_ARCH=riscv > +TARGET_ABI_DIR=riscv > +TARGET_XML_FILES= gdb-xml/riscv-32bit-cpu.xml gdb-xml/riscv-32bit-fpu.xml gdb-xml/riscv-64bit-fpu.xml gdb-xml/riscv-32bit-csr.xml gdb-xml/riscv-32bit-virtual.xml > diff --git a/default-configs/targets/riscv32-softmmu.mak b/default-configs/targets/riscv32-softmmu.mak > new file mode 100644 > index 0000000000..35e5b2fb85 > --- /dev/null > +++ b/default-configs/targets/riscv32-softmmu.mak > @@ -0,0 +1,5 @@ > +TARGET_RISCV32=y > +TARGET_BASE_ARCH=riscv > +TARGET_ABI_DIR=riscv > +TARGET_SUPPORTS_MTTCG=y > +TARGET_XML_FILES= gdb-xml/riscv-32bit-cpu.xml gdb-xml/riscv-32bit-fpu.xml gdb-xml/riscv-64bit-fpu.xml gdb-xml/riscv-32bit-csr.xml gdb-xml/riscv-32bit-virtual.xml > diff --git a/default-configs/targets/riscv64-linux-user.mak b/default-configs/targets/riscv64-linux-user.mak > new file mode 100644 > index 0000000000..9e53193cdb > --- /dev/null > +++ b/default-configs/targets/riscv64-linux-user.mak > @@ -0,0 +1,4 @@ > +TARGET_RISCV64=y > +TARGET_BASE_ARCH=riscv > +TARGET_ABI_DIR=riscv > +TARGET_XML_FILES= gdb-xml/riscv-64bit-cpu.xml gdb-xml/riscv-32bit-fpu.xml gdb-xml/riscv-64bit-fpu.xml gdb-xml/riscv-64bit-csr.xml gdb-xml/riscv-64bit-virtual.xml > diff --git a/default-configs/targets/riscv64-softmmu.mak b/default-configs/targets/riscv64-softmmu.mak > new file mode 100644 > index 0000000000..4b9a61cd8f > --- /dev/null > +++ b/default-configs/targets/riscv64-softmmu.mak > @@ -0,0 +1,5 @@ > +TARGET_RISCV64=y > +TARGET_BASE_ARCH=riscv > +TARGET_ABI_DIR=riscv > +TARGET_SUPPORTS_MTTCG=y > +TARGET_XML_FILES= gdb-xml/riscv-64bit-cpu.xml gdb-xml/riscv-32bit-fpu.xml gdb-xml/riscv-64bit-fpu.xml gdb-xml/riscv-64bit-csr.xml gdb-xml/riscv-64bit-virtual.xml > diff --git a/default-configs/targets/rx-softmmu.mak b/default-configs/targets/rx-softmmu.mak > new file mode 100644 > index 0000000000..52a8c0df10 > --- /dev/null > +++ b/default-configs/targets/rx-softmmu.mak > @@ -0,0 +1,4 @@ > +TARGET_RX=y > +TARGET_BASE_ARCH=rx > +TARGET_ABI_DIR=rx > +TARGET_XML_FILES= gdb-xml/rx-core.xml > diff --git a/default-configs/targets/s390x-linux-user.mak b/default-configs/targets/s390x-linux-user.mak > new file mode 100644 > index 0000000000..77ebec769f > --- /dev/null > +++ b/default-configs/targets/s390x-linux-user.mak > @@ -0,0 +1,7 @@ > +TARGET_S390X=y > +TARGET_BASE_ARCH=s390x > +TARGET_ABI_DIR=s390x > +TARGET_SYSTBL_ABI=common,64 > +TARGET_SYSTBL=syscall.tbl > +TARGET_WORDS_BIGENDIAN=y > +TARGET_XML_FILES= gdb-xml/s390x-core64.xml gdb-xml/s390-acr.xml gdb-xml/s390-fpr.xml gdb-xml/s390-vx.xml gdb-xml/s390-cr.xml gdb-xml/s390-virt.xml gdb-xml/s390-gs.xml > diff --git a/default-configs/targets/s390x-softmmu.mak b/default-configs/targets/s390x-softmmu.mak > new file mode 100644 > index 0000000000..f2a80d3208 > --- /dev/null > +++ b/default-configs/targets/s390x-softmmu.mak > @@ -0,0 +1,8 @@ > +TARGET_S390X=y > +TARGET_BASE_ARCH=s390x > +TARGET_ABI_DIR=s390x > +TARGET_SYSTBL_ABI=common,64 > +TARGET_SYSTBL=syscall.tbl > +TARGET_WORDS_BIGENDIAN=y > +TARGET_SUPPORTS_MTTCG=y > +TARGET_XML_FILES= gdb-xml/s390x-core64.xml gdb-xml/s390-acr.xml gdb-xml/s390-fpr.xml gdb-xml/s390-vx.xml gdb-xml/s390-cr.xml gdb-xml/s390-virt.xml gdb-xml/s390-gs.xml > diff --git a/default-configs/targets/sh4-linux-user.mak b/default-configs/targets/sh4-linux-user.mak > new file mode 100644 > index 0000000000..4292dd6128 > --- /dev/null > +++ b/default-configs/targets/sh4-linux-user.mak > @@ -0,0 +1,7 @@ > +TARGET_SH4=y > +TARGET_BASE_ARCH=sh4 > +TARGET_ABI_DIR=sh4 > +TARGET_SYSTBL_ABI=common > +TARGET_SYSTBL=syscall.tbl > +TARGET_ALIGNED_ONLY=y > +TARGET_HAS_BFLT=y > diff --git a/default-configs/targets/sh4-softmmu.mak b/default-configs/targets/sh4-softmmu.mak > new file mode 100644 > index 0000000000..e46bf0e278 > --- /dev/null > +++ b/default-configs/targets/sh4-softmmu.mak > @@ -0,0 +1,6 @@ > +TARGET_SH4=y > +TARGET_BASE_ARCH=sh4 > +TARGET_ABI_DIR=sh4 > +TARGET_SYSTBL_ABI=common > +TARGET_SYSTBL=syscall.tbl > +TARGET_ALIGNED_ONLY=y > diff --git a/default-configs/targets/sh4eb-linux-user.mak b/default-configs/targets/sh4eb-linux-user.mak > new file mode 100644 > index 0000000000..cf9178f4ea > --- /dev/null > +++ b/default-configs/targets/sh4eb-linux-user.mak > @@ -0,0 +1,8 @@ > +TARGET_SH4=y > +TARGET_BASE_ARCH=sh4 > +TARGET_ABI_DIR=sh4 > +TARGET_SYSTBL_ABI=common > +TARGET_SYSTBL=syscall.tbl > +TARGET_ALIGNED_ONLY=y > +TARGET_WORDS_BIGENDIAN=y > +TARGET_HAS_BFLT=y > diff --git a/default-configs/targets/sh4eb-softmmu.mak b/default-configs/targets/sh4eb-softmmu.mak > new file mode 100644 > index 0000000000..db4140ec32 > --- /dev/null > +++ b/default-configs/targets/sh4eb-softmmu.mak > @@ -0,0 +1,7 @@ > +TARGET_SH4=y > +TARGET_BASE_ARCH=sh4 > +TARGET_ABI_DIR=sh4 > +TARGET_SYSTBL_ABI=common > +TARGET_SYSTBL=syscall.tbl > +TARGET_ALIGNED_ONLY=y > +TARGET_WORDS_BIGENDIAN=y > diff --git a/default-configs/targets/sparc-bsd-user.mak b/default-configs/targets/sparc-bsd-user.mak > new file mode 100644 > index 0000000000..7f2fcba978 > --- /dev/null > +++ b/default-configs/targets/sparc-bsd-user.mak > @@ -0,0 +1,7 @@ > +TARGET_SPARC=y > +TARGET_BASE_ARCH=sparc > +TARGET_ABI_DIR=sparc > +TARGET_SYSTBL_ABI=common,32 > +TARGET_SYSTBL=syscall.tbl > +TARGET_ALIGNED_ONLY=y > +TARGET_WORDS_BIGENDIAN=y > diff --git a/default-configs/targets/sparc-linux-user.mak b/default-configs/targets/sparc-linux-user.mak > new file mode 100644 > index 0000000000..7f2fcba978 > --- /dev/null > +++ b/default-configs/targets/sparc-linux-user.mak > @@ -0,0 +1,7 @@ > +TARGET_SPARC=y > +TARGET_BASE_ARCH=sparc > +TARGET_ABI_DIR=sparc > +TARGET_SYSTBL_ABI=common,32 > +TARGET_SYSTBL=syscall.tbl > +TARGET_ALIGNED_ONLY=y > +TARGET_WORDS_BIGENDIAN=y > diff --git a/default-configs/targets/sparc-softmmu.mak b/default-configs/targets/sparc-softmmu.mak > new file mode 100644 > index 0000000000..7f2fcba978 > --- /dev/null > +++ b/default-configs/targets/sparc-softmmu.mak > @@ -0,0 +1,7 @@ > +TARGET_SPARC=y > +TARGET_BASE_ARCH=sparc > +TARGET_ABI_DIR=sparc > +TARGET_SYSTBL_ABI=common,32 > +TARGET_SYSTBL=syscall.tbl > +TARGET_ALIGNED_ONLY=y > +TARGET_WORDS_BIGENDIAN=y > diff --git a/default-configs/targets/sparc32plus-linux-user.mak b/default-configs/targets/sparc32plus-linux-user.mak > new file mode 100644 > index 0000000000..f5fcb7879e > --- /dev/null > +++ b/default-configs/targets/sparc32plus-linux-user.mak > @@ -0,0 +1,8 @@ > +TARGET_ABI32=y > +TARGET_SPARC64=y > +TARGET_BASE_ARCH=sparc > +TARGET_ABI_DIR=sparc > +TARGET_SYSTBL_ABI=common,32 > +TARGET_SYSTBL=syscall.tbl > +TARGET_ALIGNED_ONLY=y > +TARGET_WORDS_BIGENDIAN=y > diff --git a/default-configs/targets/sparc64-bsd-user.mak b/default-configs/targets/sparc64-bsd-user.mak > new file mode 100644 > index 0000000000..817529e587 > --- /dev/null > +++ b/default-configs/targets/sparc64-bsd-user.mak > @@ -0,0 +1,7 @@ > +TARGET_SPARC64=y > +TARGET_BASE_ARCH=sparc > +TARGET_ABI_DIR=sparc64 > +TARGET_SYSTBL_ABI=common,64 > +TARGET_SYSTBL=syscall.tbl > +TARGET_ALIGNED_ONLY=y > +TARGET_WORDS_BIGENDIAN=y > diff --git a/default-configs/targets/sparc64-linux-user.mak b/default-configs/targets/sparc64-linux-user.mak > new file mode 100644 > index 0000000000..817529e587 > --- /dev/null > +++ b/default-configs/targets/sparc64-linux-user.mak > @@ -0,0 +1,7 @@ > +TARGET_SPARC64=y > +TARGET_BASE_ARCH=sparc > +TARGET_ABI_DIR=sparc64 > +TARGET_SYSTBL_ABI=common,64 > +TARGET_SYSTBL=syscall.tbl > +TARGET_ALIGNED_ONLY=y > +TARGET_WORDS_BIGENDIAN=y > diff --git a/default-configs/targets/sparc64-softmmu.mak b/default-configs/targets/sparc64-softmmu.mak > new file mode 100644 > index 0000000000..817529e587 > --- /dev/null > +++ b/default-configs/targets/sparc64-softmmu.mak > @@ -0,0 +1,7 @@ > +TARGET_SPARC64=y > +TARGET_BASE_ARCH=sparc > +TARGET_ABI_DIR=sparc64 > +TARGET_SYSTBL_ABI=common,64 > +TARGET_SYSTBL=syscall.tbl > +TARGET_ALIGNED_ONLY=y > +TARGET_WORDS_BIGENDIAN=y > diff --git a/default-configs/targets/tilegx-linux-user.mak b/default-configs/targets/tilegx-linux-user.mak > new file mode 100644 > index 0000000000..064d3320d7 > --- /dev/null > +++ b/default-configs/targets/tilegx-linux-user.mak > @@ -0,0 +1,3 @@ > +TARGET_TILEGX=y > +TARGET_BASE_ARCH=tilegx > +TARGET_ABI_DIR=tilegx > diff --git a/default-configs/targets/tricore-softmmu.mak b/default-configs/targets/tricore-softmmu.mak > new file mode 100644 > index 0000000000..356e5d8669 > --- /dev/null > +++ b/default-configs/targets/tricore-softmmu.mak > @@ -0,0 +1,3 @@ > +TARGET_TRICORE=y > +TARGET_BASE_ARCH=tricore > +TARGET_ABI_DIR=tricore > diff --git a/default-configs/targets/unicore32-softmmu.mak b/default-configs/targets/unicore32-softmmu.mak > new file mode 100644 > index 0000000000..d8c7860ac1 > --- /dev/null > +++ b/default-configs/targets/unicore32-softmmu.mak > @@ -0,0 +1,3 @@ > +TARGET_UNICORE32=y > +TARGET_BASE_ARCH=unicore32 > +TARGET_ABI_DIR=unicore32 > diff --git a/default-configs/targets/x86_64-bsd-user.mak b/default-configs/targets/x86_64-bsd-user.mak > new file mode 100644 > index 0000000000..6a9418f9ff > --- /dev/null > +++ b/default-configs/targets/x86_64-bsd-user.mak > @@ -0,0 +1,6 @@ > +TARGET_X86_64=y > +TARGET_BASE_ARCH=i386 > +TARGET_ABI_DIR=x86_64 > +TARGET_SYSTBL_ABI=common,64 > +TARGET_SYSTBL=syscall_64.tbl > +TARGET_XML_FILES= gdb-xml/i386-64bit.xml > diff --git a/default-configs/targets/x86_64-linux-user.mak b/default-configs/targets/x86_64-linux-user.mak > new file mode 100644 > index 0000000000..6a9418f9ff > --- /dev/null > +++ b/default-configs/targets/x86_64-linux-user.mak > @@ -0,0 +1,6 @@ > +TARGET_X86_64=y > +TARGET_BASE_ARCH=i386 > +TARGET_ABI_DIR=x86_64 > +TARGET_SYSTBL_ABI=common,64 > +TARGET_SYSTBL=syscall_64.tbl > +TARGET_XML_FILES= gdb-xml/i386-64bit.xml > diff --git a/default-configs/targets/x86_64-softmmu.mak b/default-configs/targets/x86_64-softmmu.mak > new file mode 100644 > index 0000000000..8b56e6e6da > --- /dev/null > +++ b/default-configs/targets/x86_64-softmmu.mak > @@ -0,0 +1,7 @@ > +TARGET_X86_64=y > +TARGET_BASE_ARCH=i386 > +TARGET_ABI_DIR=x86_64 > +TARGET_SYSTBL_ABI=common,64 > +TARGET_SYSTBL=syscall_64.tbl > +TARGET_SUPPORTS_MTTCG=y > +TARGET_XML_FILES= gdb-xml/i386-64bit.xml > diff --git a/default-configs/targets/xtensa-linux-user.mak b/default-configs/targets/xtensa-linux-user.mak > new file mode 100644 > index 0000000000..63d9cff69f > --- /dev/null > +++ b/default-configs/targets/xtensa-linux-user.mak > @@ -0,0 +1,7 @@ > +TARGET_XTENSA=y > +TARGET_BASE_ARCH=xtensa > +TARGET_ABI_DIR=xtensa > +TARGET_SYSTBL_ABI=common > +TARGET_SYSTBL=syscall.tbl > +TARGET_ALIGNED_ONLY=y > +TARGET_HAS_BFLT=y > diff --git a/default-configs/targets/xtensa-softmmu.mak b/default-configs/targets/xtensa-softmmu.mak > new file mode 100644 > index 0000000000..2166f97738 > --- /dev/null > +++ b/default-configs/targets/xtensa-softmmu.mak > @@ -0,0 +1,7 @@ > +TARGET_XTENSA=y > +TARGET_BASE_ARCH=xtensa > +TARGET_ABI_DIR=xtensa > +TARGET_SYSTBL_ABI=common > +TARGET_SYSTBL=syscall.tbl > +TARGET_ALIGNED_ONLY=y > +TARGET_SUPPORTS_MTTCG=y > diff --git a/default-configs/targets/xtensaeb-linux-user.mak b/default-configs/targets/xtensaeb-linux-user.mak > new file mode 100644 > index 0000000000..e66b7dd0e3 > --- /dev/null > +++ b/default-configs/targets/xtensaeb-linux-user.mak > @@ -0,0 +1,8 @@ > +TARGET_XTENSA=y > +TARGET_BASE_ARCH=xtensa > +TARGET_ABI_DIR=xtensa > +TARGET_SYSTBL_ABI=common > +TARGET_SYSTBL=syscall.tbl > +TARGET_ALIGNED_ONLY=y > +TARGET_WORDS_BIGENDIAN=y > +TARGET_HAS_BFLT=y > diff --git a/default-configs/targets/xtensaeb-softmmu.mak b/default-configs/targets/xtensaeb-softmmu.mak > new file mode 100644 > index 0000000000..2372d22492 > --- /dev/null > +++ b/default-configs/targets/xtensaeb-softmmu.mak > @@ -0,0 +1,8 @@ > +TARGET_XTENSA=y > +TARGET_BASE_ARCH=xtensa > +TARGET_ABI_DIR=xtensa > +TARGET_SYSTBL_ABI=common > +TARGET_SYSTBL=syscall.tbl > +TARGET_ALIGNED_ONLY=y > +TARGET_WORDS_BIGENDIAN=y > +TARGET_SUPPORTS_MTTCG=y > diff --git a/meson.build b/meson.build > index 6863b9febf..5ddaf16b88 100644 > --- a/meson.build > +++ b/meson.build > @@ -722,13 +722,25 @@ kconfig_external_symbols = [ > ] > ignored = ['TARGET_XML_FILES', 'TARGET_ABI_DIR', 'TARGET_DIRS'] > > +default_targets = 'CONFIG_DEFAULT_TARGETS' in config_host > +actual_target_dirs = [] > foreach target : target_dirs > config_target = { 'TARGET_NAME': target.split('-')[0] } > if target.endswith('linux-user') > - assert(targetos == 'linux') > + if targetos != 'linux' > + if default_targets > + continue > + endif > + error('Target @0@ is only available on a Linux host'.format(target)) > + endif > config_target += { 'CONFIG_LINUX_USER': 'y' } > elif target.endswith('bsd-user') > - assert('CONFIG_BSD' in config_host) > + if not 'CONFIG_BSD' in config_host > + if default_targets > + continue > + endif > + error('Target @0@ is only available on a BSD host'.format(target)) > + endif > config_target += { 'CONFIG_BSD_USER': 'y' } > elif target.endswith('softmmu') > config_target += { 'CONFIG_SOFTMMU': 'y' } > @@ -752,8 +764,14 @@ foreach target : target_dirs > endif > have_accel = true > endforeach > - assert(have_accel) > + if not have_accel > + if default_targets > + continue > + endif > + error('No accelerator available for target @0@'.format(target)) > + endif > > + actual_target_dirs += target > config_target += keyval.load('default-configs/targets' / target + '.mak') > > foreach k, v: disassemblers > @@ -815,6 +833,7 @@ foreach target : target_dirs > endif > config_target_mak += {target: config_target} > endforeach > +target_dirs = actual_target_dirs > > # This configuration is used to build files that are shared by > # multiple binaries, and then extracted out of the "common" > @@ -1600,7 +1619,7 @@ if config_host.has_key('CONFIG_MODULES') > endif > summary_info += {'host CPU': cpu} > summary_info += {'host endianness': build_machine.endian()} > -summary_info += {'target list': config_host['TARGET_DIRS']} > +summary_info += {'target list': ' '.join(target_dirs)} > summary_info += {'gprof enabled': config_host.has_key('CONFIG_GPROF')} > summary_info += {'sparse enabled': meson.get_compiler('c').cmd_array().contains('cgcc')} > summary_info += {'strip binaries': get_option('strip')} > -- > 2.26.2 > > > -- 此致 礼 罗勇刚 Yours sincerely, Yonggang Luo <div dir="ltr">Can these be generated from meson directly?<div>as makefile finally need to be removed<br><br>On Sun, Sep 20, 2020 at 9:09 PM Paolo Bonzini <<a href="mailto:pbonzini@redhat.com">pbonzini@redhat.com</a>> wrote:<br>><br>> The config-target.mak files are small constant, we can therefore just<br>> write them down explicitly.<br>><br>> This removes about 10% of the configure script, including the<br>> whole logic to detect which accelerators are supported by each<br>> target.<br>><br>> Signed-off-by: Paolo Bonzini <<a href="mailto:pbonzini@redhat.com">pbonzini@redhat.com</a>><br>> ---<br>> configure | 407 +-----------------<br>> .../targets/aarch64-linux-user.mak | 5 +<br>> default-configs/targets/aarch64-softmmu.mak | 5 +<br>> .../targets/aarch64_be-linux-user.mak | 6 +<br>> default-configs/targets/alpha-linux-user.mak | 6 +<br>> default-configs/targets/alpha-softmmu.mak | 7 +<br>> default-configs/targets/arm-linux-user.mak | 7 +<br>> default-configs/targets/arm-softmmu.mak | 7 +<br>> default-configs/targets/armeb-linux-user.mak | 8 +<br>> default-configs/targets/avr-softmmu.mak | 4 +<br>> default-configs/targets/cris-linux-user.mak | 3 +<br>> default-configs/targets/cris-softmmu.mak | 3 +<br>> default-configs/targets/hppa-linux-user.mak | 7 +<br>> default-configs/targets/hppa-softmmu.mak | 8 +<br>> default-configs/targets/i386-bsd-user.mak | 6 +<br>> default-configs/targets/i386-linux-user.mak | 6 +<br>> default-configs/targets/i386-softmmu.mak | 7 +<br>> default-configs/targets/lm32-softmmu.mak | 4 +<br>> default-configs/targets/m68k-linux-user.mak | 8 +<br>> default-configs/targets/m68k-softmmu.mak | 7 +<br>> .../targets/microblaze-linux-user.mak | 7 +<br>> .../targets/microblaze-softmmu.mak | 7 +<br>> .../targets/microblazeel-linux-user.mak | 6 +<br>> .../targets/microblazeel-softmmu.mak | 6 +<br>> default-configs/targets/mips-linux-user.mak | 8 +<br>> default-configs/targets/mips-softmmu.mak | 9 +<br>> default-configs/targets/mips64-linux-user.mak | 8 +<br>> default-configs/targets/mips64-softmmu.mak | 8 +<br>> .../targets/mips64el-linux-user.mak | 7 +<br>> default-configs/targets/mips64el-softmmu.mak | 7 +<br>> default-configs/targets/mipsel-linux-user.mak | 7 +<br>> default-configs/targets/mipsel-softmmu.mak | 8 +<br>> .../targets/mipsn32-linux-user.mak | 9 +<br>> .../targets/mipsn32el-linux-user.mak | 8 +<br>> default-configs/targets/moxie-softmmu.mak | 4 +<br>> default-configs/targets/nios2-linux-user.mak | 3 +<br>> default-configs/targets/nios2-softmmu.mak | 3 +<br>> default-configs/targets/or1k-linux-user.mak | 4 +<br>> default-configs/targets/or1k-softmmu.mak | 4 +<br>> default-configs/targets/ppc-linux-user.mak | 7 +<br>> default-configs/targets/ppc-softmmu.mak | 7 +<br>> default-configs/targets/ppc64-linux-user.mak | 7 +<br>> default-configs/targets/ppc64-softmmu.mak | 8 +<br>> .../targets/ppc64abi32-linux-user.mak | 8 +<br>> .../targets/ppc64le-linux-user.mak | 6 +<br>> .../targets/riscv32-linux-user.mak | 4 +<br>> default-configs/targets/riscv32-softmmu.mak | 5 +<br>> .../targets/riscv64-linux-user.mak | 4 +<br>> default-configs/targets/riscv64-softmmu.mak | 5 +<br>> default-configs/targets/rx-softmmu.mak | 4 +<br>> default-configs/targets/s390x-linux-user.mak | 7 +<br>> default-configs/targets/s390x-softmmu.mak | 8 +<br>> default-configs/targets/sh4-linux-user.mak | 7 +<br>> default-configs/targets/sh4-softmmu.mak | 6 +<br>> default-configs/targets/sh4eb-linux-user.mak | 8 +<br>> default-configs/targets/sh4eb-softmmu.mak | 7 +<br>> default-configs/targets/sparc-bsd-user.mak | 7 +<br>> default-configs/targets/sparc-linux-user.mak | 7 +<br>> default-configs/targets/sparc-softmmu.mak | 7 +<br>> .../targets/sparc32plus-linux-user.mak | 8 +<br>> default-configs/targets/sparc64-bsd-user.mak | 7 +<br>> .../targets/sparc64-linux-user.mak | 7 +<br>> default-configs/targets/sparc64-softmmu.mak | 7 +<br>> default-configs/targets/tilegx-linux-user.mak | 3 +<br>> default-configs/targets/tricore-softmmu.mak | 3 +<br>> default-configs/targets/unicore32-softmmu.mak | 3 +<br>> default-configs/targets/x86_64-bsd-user.mak | 6 +<br>> default-configs/targets/x86_64-linux-user.mak | 6 +<br>> default-configs/targets/x86_64-softmmu.mak | 7 +<br>> default-configs/targets/xtensa-linux-user.mak | 7 +<br>> default-configs/targets/xtensa-softmmu.mak | 7 +<br>> .../targets/xtensaeb-linux-user.mak | 8 +<br>> default-configs/targets/xtensaeb-softmmu.mak | 8 +<br>> meson.build | 27 +-<br>> 74 files changed, 482 insertions(+), 405 deletions(-)<br>> create mode 100644 default-configs/targets/aarch64-linux-user.mak<br>> create mode 100644 default-configs/targets/aarch64-softmmu.mak<br>> create mode 100644 default-configs/targets/aarch64_be-linux-user.mak<br>> create mode 100644 default-configs/targets/alpha-linux-user.mak<br>> create mode 100644 default-configs/targets/alpha-softmmu.mak<br>> create mode 100644 default-configs/targets/arm-linux-user.mak<br>> create mode 100644 default-configs/targets/arm-softmmu.mak<br>> create mode 100644 default-configs/targets/armeb-linux-user.mak<br>> create mode 100644 default-configs/targets/avr-softmmu.mak<br>> create mode 100644 default-configs/targets/cris-linux-user.mak<br>> create mode 100644 default-configs/targets/cris-softmmu.mak<br>> create mode 100644 default-configs/targets/hppa-linux-user.mak<br>> create mode 100644 default-configs/targets/hppa-softmmu.mak<br>> create mode 100644 default-configs/targets/i386-bsd-user.mak<br>> create mode 100644 default-configs/targets/i386-linux-user.mak<br>> create mode 100644 default-configs/targets/i386-softmmu.mak<br>> create mode 100644 default-configs/targets/lm32-softmmu.mak<br>> create mode 100644 default-configs/targets/m68k-linux-user.mak<br>> create mode 100644 default-configs/targets/m68k-softmmu.mak<br>> create mode 100644 default-configs/targets/microblaze-linux-user.mak<br>> create mode 100644 default-configs/targets/microblaze-softmmu.mak<br>> create mode 100644 default-configs/targets/microblazeel-linux-user.mak<br>> create mode 100644 default-configs/targets/microblazeel-softmmu.mak<br>> create mode 100644 default-configs/targets/mips-linux-user.mak<br>> create mode 100644 default-configs/targets/mips-softmmu.mak<br>> create mode 100644 default-configs/targets/mips64-linux-user.mak<br>> create mode 100644 default-configs/targets/mips64-softmmu.mak<br>> create mode 100644 default-configs/targets/mips64el-linux-user.mak<br>> create mode 100644 default-configs/targets/mips64el-softmmu.mak<br>> create mode 100644 default-configs/targets/mipsel-linux-user.mak<br>> create mode 100644 default-configs/targets/mipsel-softmmu.mak<br>> create mode 100644 default-configs/targets/mipsn32-linux-user.mak<br>> create mode 100644 default-configs/targets/mipsn32el-linux-user.mak<br>> create mode 100644 default-configs/targets/moxie-softmmu.mak<br>> create mode 100644 default-configs/targets/nios2-linux-user.mak<br>> create mode 100644 default-configs/targets/nios2-softmmu.mak<br>> create mode 100644 default-configs/targets/or1k-linux-user.mak<br>> create mode 100644 default-configs/targets/or1k-softmmu.mak<br>> create mode 100644 default-configs/targets/ppc-linux-user.mak<br>> create mode 100644 default-configs/targets/ppc-softmmu.mak<br>> create mode 100644 default-configs/targets/ppc64-linux-user.mak<br>> create mode 100644 default-configs/targets/ppc64-softmmu.mak<br>> create mode 100644 default-configs/targets/ppc64abi32-linux-user.mak<br>> create mode 100644 default-configs/targets/ppc64le-linux-user.mak<br>> create mode 100644 default-configs/targets/riscv32-linux-user.mak<br>> create mode 100644 default-configs/targets/riscv32-softmmu.mak<br>> create mode 100644 default-configs/targets/riscv64-linux-user.mak<br>> create mode 100644 default-configs/targets/riscv64-softmmu.mak<br>> create mode 100644 default-configs/targets/rx-softmmu.mak<br>> create mode 100644 default-configs/targets/s390x-linux-user.mak<br>> create mode 100644 default-configs/targets/s390x-softmmu.mak<br>> create mode 100644 default-configs/targets/sh4-linux-user.mak<br>> create mode 100644 default-configs/targets/sh4-softmmu.mak<br>> create mode 100644 default-configs/targets/sh4eb-linux-user.mak<br>> create mode 100644 default-configs/targets/sh4eb-softmmu.mak<br>> create mode 100644 default-configs/targets/sparc-bsd-user.mak<br>> create mode 100644 default-configs/targets/sparc-linux-user.mak<br>> create mode 100644 default-configs/targets/sparc-softmmu.mak<br>> create mode 100644 default-configs/targets/sparc32plus-linux-user.mak<br>> create mode 100644 default-configs/targets/sparc64-bsd-user.mak<br>> create mode 100644 default-configs/targets/sparc64-linux-user.mak<br>> create mode 100644 default-configs/targets/sparc64-softmmu.mak<br>> create mode 100644 default-configs/targets/tilegx-linux-user.mak<br>> create mode 100644 default-configs/targets/tricore-softmmu.mak<br>> create mode 100644 default-configs/targets/unicore32-softmmu.mak<br>> create mode 100644 default-configs/targets/x86_64-bsd-user.mak<br>> create mode 100644 default-configs/targets/x86_64-linux-user.mak<br>> create mode 100644 default-configs/targets/x86_64-softmmu.mak<br>> create mode 100644 default-configs/targets/xtensa-linux-user.mak<br>> create mode 100644 default-configs/targets/xtensa-softmmu.mak<br>> create mode 100644 default-configs/targets/xtensaeb-linux-user.mak<br>> create mode 100644 default-configs/targets/xtensaeb-softmmu.mak<br>><br>> diff --git a/configure b/configure<br>> index e64327e0f8..f6275d95fc 100755<br>> --- a/configure<br>> +++ b/configure<br>> @@ -220,99 +220,6 @@ glob() {<br>> eval test -z '"${1#'"$2"'}"'<br>> }<br>><br>> -supported_hax_target() {<br>> - test "$hax" = "enabled" || return 1<br>> - glob "$1" "*-softmmu" || return 1<br>> - case "${1%-softmmu}" in<br>> - i386|x86_64)<br>> - return 0<br>> - ;;<br>> - esac<br>> - return 1<br>> -}<br>> -<br>> -supported_kvm_target() {<br>> - test "$kvm" = "enabled" || return 1<br>> - glob "$1" "*-softmmu" || return 1<br>> - case "${1%-softmmu}:$cpu" in<br>> - aarch64:aarch64 | \<br>> - i386:i386 | i386:x86_64 | i386:x32 | \<br>> - x86_64:i386 | x86_64:x86_64 | x86_64:x32 | \<br>> - mips:mips | mipsel:mips | mips64:mips | mips64el:mips | \<br>> - ppc:ppc | ppc64:ppc | ppc:ppc64 | ppc64:ppc64 | ppc64:ppc64le | \<br>> - s390x:s390x)<br>> - return 0<br>> - ;;<br>> - esac<br>> - return 1<br>> -}<br>> -<br>> -supported_xen_target() {<br>> - test "$xen" = "enabled" || return 1<br>> - glob "$1" "*-softmmu" || return 1<br>> - # Only i386 and x86_64 provide the xenpv machine.<br>> - case "${1%-softmmu}" in<br>> - i386|x86_64)<br>> - return 0<br>> - ;;<br>> - esac<br>> - return 1<br>> -}<br>> -<br>> -supported_hvf_target() {<br>> - test "$hvf" = "enabled" || return 1<br>> - glob "$1" "*-softmmu" || return 1<br>> - case "${1%-softmmu}" in<br>> - x86_64)<br>> - return 0<br>> - ;;<br>> - esac<br>> - return 1<br>> -}<br>> -<br>> -supported_whpx_target() {<br>> - test "$whpx" = "enabled" || return 1<br>> - glob "$1" "*-softmmu" || return 1<br>> - case "${1%-softmmu}" in<br>> - i386|x86_64)<br>> - return 0<br>> - ;;<br>> - esac<br>> - return 1<br>> -}<br>> -<br>> -supported_target() {<br>> - case "$1" in<br>> - *-softmmu)<br>> - ;;<br>> - *-linux-user)<br>> - if test "$linux" != "yes"; then<br>> - print_error "Target '$target' is only available on a Linux host"<br>> - return 1<br>> - fi<br>> - ;;<br>> - *-bsd-user)<br>> - if test "$bsd" != "yes"; then<br>> - print_error "Target '$target' is only available on a BSD host"<br>> - return 1<br>> - fi<br>> - ;;<br>> - *)<br>> - print_error "Invalid target name '$target'"<br>> - return 1<br>> - ;;<br>> - esac<br>> - test "$tcg" = "enabled" && return 0<br>> - supported_kvm_target "$1" && return 0<br>> - supported_xen_target "$1" && return 0<br>> - supported_hax_target "$1" && return 0<br>> - supported_hvf_target "$1" && return 0<br>> - supported_whpx_target "$1" && return 0<br>> - print_error "TCG disabled, but hardware accelerator not available for '$target'"<br>> - return 1<br>> -}<br>> -<br>> -<br>> ld_has() {<br>> $ld --help 2>/dev/null | grep ".$1" >/dev/null 2>&1<br>> }<br>> @@ -2292,12 +2199,13 @@ if test "$solaris" = "yes" ; then<br>> fi<br>><br>> if test -z "${target_list+xxx}" ; then<br>> + default_targets=yes<br>> for target in $default_target_list; do<br>> - supported_target $target 2>/dev/null && \<br>> - target_list="$target_list $target"<br>> + target_list="$target_list $target"<br>> done<br>> target_list="${target_list# }"<br>> else<br>> + default_targets=no<br>> target_list=$(echo "$target_list" | sed -e 's/,/ /g')<br>> for target in $target_list; do<br>> # Check that we recognised the target name; this allows a more<br>> @@ -2309,7 +2217,6 @@ else<br>> error_exit "Unknown target name '$target'"<br>> ;;<br>> esac<br>> - supported_target $target || exit 1<br>> done<br>> fi<br>><br>> @@ -2653,27 +2560,6 @@ if test "$seccomp" != "no" ; then<br>> fi<br>> fi<br>><br>> -##########################################<br>> -# simple accelerator probes<br>> -<br>> -if test "$kvm" = "auto" ; then<br>> - if test "$linux" = yes ; then<br>> - kvm=enabled<br>> - else<br>> - if test "$kvm" = "enabled" ; then<br>> - feature_not_found "kvm" "KVM is only available on Linux"<br>> - fi<br>> - fi<br>> -fi<br>> -<br>> -if test "$hax" = "auto" ; then<br>> - if test "$mingw" = yes || test "$darwin" = yes || test "$targetos" = NetBSD; then<br>> - hax=enabled<br>> - else<br>> - hax=disabled<br>> - fi<br>> -fi<br>> -<br>> ##########################################<br>> # xen probe<br>><br>> @@ -2992,22 +2878,6 @@ if test "$xen_pci_passthrough" != "disabled"; then<br>> fi<br>> fi<br>><br>> -##########################################<br>> -# Windows Hypervisor Platform accelerator (WHPX) check<br>> -if test "$whpx" = "enabled" && test "$ARCH" != "x86_64"; then<br>> - error_exit "WHPX requires 64-bit host"<br>> -fi<br>> -if test "$whpx" != "disabled" && test "$ARCH" = "x86_64"; then<br>> - if check_include "WinHvPlatform.h" && check_include "WinHvEmulation.h"; then<br>> - whpx="yes"<br>> - else<br>> - if test "$whpx" = "auto"; then<br>> - feature_not_found "WinHvPlatform" "WinHvEmulation is not installed"<br>> - fi<br>> - whpx="disabled"<br>> - fi<br>> -fi<br>> -<br>> ##########################################<br>> # gettext probe<br>> if test "$gettext" != "false" ; then<br>> @@ -7375,281 +7245,13 @@ fi<br>><br>> for target in $target_list; do<br>> target_dir="$target"<br>> -config_target_mak=$target_dir/config-target.mak<br>> target_name=$(echo $target | cut -d '-' -f 1)<br>> -target_aligned_only="no"<br>> -case "$target_name" in<br>> - alpha|hppa|mips64el|mips64|mipsel|mips|mipsn32|mipsn32el|sh4|sh4eb|sparc|sparc64|sparc32plus|xtensa|xtensaeb)<br>> - target_aligned_only="yes"<br>> - ;;<br>> -esac<br>> -target_bigendian="no"<br>> -case "$target_name" in<br>> - armeb|aarch64_be|hppa|lm32|m68k|microblaze|mips|mipsn32|mips64|moxie|or1k|ppc|ppc64|ppc64abi32|s390x|sh4eb|sparc|sparc64|sparc32plus|xtensaeb)<br>> - target_bigendian="yes"<br>> - ;;<br>> -esac<br>> -target_softmmu="no"<br>> -target_user_only="no"<br>> -target_linux_user="no"<br>> -target_bsd_user="no"<br>> -case "$target" in<br>> - ${target_name}-softmmu)<br>> - target_softmmu="yes"<br>> - ;;<br>> - ${target_name}-linux-user)<br>> - target_user_only="yes"<br>> - target_linux_user="yes"<br>> - ;;<br>> - ${target_name}-bsd-user)<br>> - target_user_only="yes"<br>> - target_bsd_user="yes"<br>> - ;;<br>> - *)<br>> - error_exit "Target '$target' not recognised"<br>> - exit 1<br>> - ;;<br>> -esac<br>> -<br>> mkdir -p $target_dir<br>> -echo "# Automatically generated by configure - do not modify" > $config_target_mak<br>> -<br>> -bflt="no"<br>> -mttcg="no"<br>> -interp_prefix1=$(echo "$interp_prefix" | sed "s/%M/$target_name/g")<br>> -gdb_xml_files=""<br>> -<br>> -TARGET_ARCH="$target_name"<br>> -TARGET_BASE_ARCH=""<br>> -TARGET_ABI_DIR=""<br>> -TARGET_SYSTBL_ABI=""<br>> -TARGET_SYSTBL=""<br>> -<br>> -case "$target_name" in<br>> - i386)<br>> - mttcg="yes"<br>> - gdb_xml_files="i386-32bit.xml"<br>> - TARGET_SYSTBL_ABI=i386<br>> - TARGET_SYSTBL=syscall_32.tbl<br>> - ;;<br>> - x86_64)<br>> - TARGET_BASE_ARCH=i386<br>> - TARGET_SYSTBL_ABI=common,64<br>> - TARGET_SYSTBL=syscall_64.tbl<br>> - mttcg="yes"<br>> - gdb_xml_files="i386-64bit.xml"<br>> - ;;<br>> - alpha)<br>> - mttcg="yes"<br>> - TARGET_SYSTBL_ABI=common<br>> - ;;<br>> - arm|armeb)<br>> - TARGET_ARCH=arm<br>> - TARGET_SYSTBL_ABI=common,oabi<br>> - bflt="yes"<br>> - mttcg="yes"<br>> - gdb_xml_files="arm-core.xml arm-vfp.xml arm-vfp3.xml arm-neon.xml arm-m-profile.xml"<br>> - ;;<br>> - aarch64|aarch64_be)<br>> - TARGET_ARCH=aarch64<br>> - TARGET_BASE_ARCH=arm<br>> - bflt="yes"<br>> - mttcg="yes"<br>> - gdb_xml_files="aarch64-core.xml aarch64-fpu.xml arm-core.xml arm-vfp.xml arm-vfp3.xml arm-neon.xml arm-m-profile.xml"<br>> - ;;<br>> - avr)<br>> - gdb_xml_files="avr-cpu.xml"<br>> - target_compiler=$cross_cc_avr<br>> - ;;<br>> - cris)<br>> - ;;<br>> - hppa)<br>> - mttcg="yes"<br>> - TARGET_SYSTBL_ABI=common,32<br>> - ;;<br>> - lm32)<br>> - ;;<br>> - m68k)<br>> - bflt="yes"<br>> - gdb_xml_files="cf-core.xml cf-fp.xml m68k-core.xml m68k-fp.xml"<br>> - TARGET_SYSTBL_ABI=common<br>> - ;;<br>> - microblaze|microblazeel)<br>> - TARGET_ARCH=microblaze<br>> - TARGET_SYSTBL_ABI=common<br>> - mttcg="yes"<br>> - bflt="yes"<br>> - ;;<br>> - mips|mipsel)<br>> - mttcg="yes"<br>> - TARGET_ARCH=mips<br>> - echo "TARGET_ABI_MIPSO32=y" >> $config_target_mak<br>> - TARGET_SYSTBL_ABI=o32<br>> - TARGET_SYSTBL=syscall_o32.tbl<br>> - ;;<br>> - mipsn32|mipsn32el)<br>> - mttcg="yes"<br>> - TARGET_ARCH=mips64<br>> - TARGET_BASE_ARCH=mips<br>> - echo "TARGET_ABI_MIPSN32=y" >> $config_target_mak<br>> - echo "TARGET_ABI32=y" >> $config_target_mak<br>> - TARGET_SYSTBL_ABI=n32<br>> - TARGET_SYSTBL=syscall_n32.tbl<br>> - ;;<br>> - mips64|mips64el)<br>> - mttcg="no"<br>> - TARGET_ARCH=mips64<br>> - TARGET_BASE_ARCH=mips<br>> - echo "TARGET_ABI_MIPSN64=y" >> $config_target_mak<br>> - TARGET_SYSTBL_ABI=n64<br>> - TARGET_SYSTBL=syscall_n64.tbl<br>> - ;;<br>> - moxie)<br>> - ;;<br>> - nios2)<br>> - ;;<br>> - or1k)<br>> - TARGET_ARCH=openrisc<br>> - TARGET_BASE_ARCH=openrisc<br>> - ;;<br>> - ppc)<br>> - gdb_xml_files="power-core.xml power-fpu.xml power-altivec.xml power-spe.xml"<br>> - TARGET_SYSTBL_ABI=common,nospu,32<br>> - ;;<br>> - ppc64)<br>> - TARGET_BASE_ARCH=ppc<br>> - TARGET_ABI_DIR=ppc<br>> - TARGET_SYSTBL_ABI=common,nospu,64<br>> - mttcg=yes<br>> - gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml power-vsx.xml"<br>> - ;;<br>> - ppc64le)<br>> - TARGET_ARCH=ppc64<br>> - TARGET_BASE_ARCH=ppc<br>> - TARGET_ABI_DIR=ppc<br>> - TARGET_SYSTBL_ABI=common,nospu,64<br>> - mttcg=yes<br>> - gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml power-vsx.xml"<br>> - ;;<br>> - ppc64abi32)<br>> - TARGET_ARCH=ppc64<br>> - TARGET_BASE_ARCH=ppc<br>> - TARGET_ABI_DIR=ppc<br>> - TARGET_SYSTBL_ABI=common,nospu,32<br>> - echo "TARGET_ABI32=y" >> $config_target_mak<br>> - gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml power-vsx.xml"<br>> - deprecated_features="ppc64abi32 ${deprecated_features}"<br>> - ;;<br>> - riscv32)<br>> - TARGET_BASE_ARCH=riscv<br>> - TARGET_ABI_DIR=riscv<br>> - mttcg=yes<br>> - gdb_xml_files="riscv-32bit-cpu.xml riscv-32bit-fpu.xml riscv-64bit-fpu.xml riscv-32bit-csr.xml riscv-32bit-virtual.xml"<br>> - ;;<br>> - riscv64)<br>> - TARGET_BASE_ARCH=riscv<br>> - TARGET_ABI_DIR=riscv<br>> - mttcg=yes<br>> - gdb_xml_files="riscv-64bit-cpu.xml riscv-32bit-fpu.xml riscv-64bit-fpu.xml riscv-64bit-csr.xml riscv-64bit-virtual.xml"<br>> - ;;<br>> - rx)<br>> - TARGET_ARCH=rx<br>> - bflt="yes"<br>> - target_compiler=$cross_cc_rx<br>> - gdb_xml_files="rx-core.xml"<br>> - ;;<br>> - sh4|sh4eb)<br>> - TARGET_ARCH=sh4<br>> - TARGET_SYSTBL_ABI=common<br>> - bflt="yes"<br>> - ;;<br>> - sparc)<br>> - TARGET_SYSTBL_ABI=common,32<br>> - ;;<br>> - sparc64)<br>> - TARGET_BASE_ARCH=sparc<br>> - TARGET_SYSTBL_ABI=common,64<br>> - ;;<br>> - sparc32plus)<br>> - TARGET_ARCH=sparc64<br>> - TARGET_BASE_ARCH=sparc<br>> - TARGET_ABI_DIR=sparc<br>> - TARGET_SYSTBL_ABI=common,32<br>> - echo "TARGET_ABI32=y" >> $config_target_mak<br>> - ;;<br>> - s390x)<br>> - TARGET_SYSTBL_ABI=common,64<br>> - mttcg=yes<br>> - gdb_xml_files="s390x-core64.xml s390-acr.xml s390-fpr.xml s390-vx.xml s390-cr.xml s390-virt.xml s390-gs.xml"<br>> - ;;<br>> - tilegx)<br>> - ;;<br>> - tricore)<br>> - ;;<br>> - unicore32)<br>> - ;;<br>> - xtensa|xtensaeb)<br>> - TARGET_ARCH=xtensa<br>> - TARGET_SYSTBL_ABI=common<br>> - bflt="yes"<br>> - mttcg="yes"<br>> - ;;<br>> - *)<br>> - error_exit "Unsupported target CPU"<br>> - ;;<br>> -esac<br>> -# TARGET_BASE_ARCH needs to be defined after TARGET_ARCH<br>> -if [ "$TARGET_BASE_ARCH" = "" ]; then<br>> - TARGET_BASE_ARCH=$TARGET_ARCH<br>> -fi<br>> -if [ "$TARGET_SYSTBL_ABI" != "" ] && [ "$TARGET_SYSTBL" = "" ]; then<br>> - TARGET_SYSTBL=syscall.tbl<br>> -fi<br>> -<br>> -upper() {<br>> - echo "$@"| LC_ALL=C tr '[a-z]' '[A-Z]'<br>> -}<br>> -<br>> -target_arch_name="$(upper $TARGET_ARCH)"<br>> -echo "TARGET_$target_arch_name=y" >> $config_target_mak<br>> -echo "TARGET_BASE_ARCH=$TARGET_BASE_ARCH" >> $config_target_mak<br>> -if [ "$TARGET_ABI_DIR" = "" ]; then<br>> - TARGET_ABI_DIR=$TARGET_ARCH<br>> -fi<br>> -echo "TARGET_ABI_DIR=$TARGET_ABI_DIR" >> $config_target_mak<br>> -if [ "$TARGET_SYSTBL_ABI" != "" ]; then<br>> - echo "TARGET_SYSTBL_ABI=$TARGET_SYSTBL_ABI" >> $config_target_mak<br>> - echo "TARGET_SYSTBL=$TARGET_SYSTBL" >> $config_target_mak<br>> -fi<br>> -<br>> -if test "$target_aligned_only" = "yes" ; then<br>> - echo "TARGET_ALIGNED_ONLY=y" >> $config_target_mak<br>> -fi<br>> -if test "$target_bigendian" = "yes" ; then<br>> - echo "TARGET_WORDS_BIGENDIAN=y" >> $config_target_mak<br>> -fi<br>> -if test "$target_softmmu" = "yes" ; then<br>> - if test "$mttcg" = "yes" ; then<br>> - echo "TARGET_SUPPORTS_MTTCG=y" >> $config_target_mak<br>> - fi<br>> -fi<br>> if test "$target_user_only" = "yes" ; then<br>> symlink "../qemu-$target_name" "$target_dir/qemu-$target_name"<br>> else<br>> symlink "../qemu-system-$target_name" "$target_dir/qemu-system-$target_name"<br>> fi<br>> -list=""<br>> -if test ! -z "$gdb_xml_files" ; then<br>> - for x in $gdb_xml_files; do<br>> - list="$list gdb-xml/$x"<br>> - done<br>> - echo "TARGET_XML_FILES=$list" >> $config_target_mak<br>> -fi<br>> -<br>> -if test "$target_user_only" = "yes" && test "$bflt" = "yes"; then<br>> - echo "TARGET_HAS_BFLT=y" >> $config_target_mak<br>> -fi<br>> -<br>> done # for target in $targets<br>><br>> if [ "$fdt" = "git" ]; then<br>> @@ -7659,6 +7261,9 @@ if [ "$capstone" = "git" -o "$capstone" = "internal" ]; then<br>> subdirs="$subdirs capstone"<br>> fi<br>> echo "CONFIG_QEMU_INTERP_PREFIX=$interp_prefix" | sed 's/%M/@0@/' >> $config_host_mak<br>> +if test "$default_targets" = "yes"; then<br>> + echo "CONFIG_DEFAULT_TARGETS=y" >> $config_host_mak<br>> +fi<br>> echo "SUBDIRS=$subdirs" >> $config_host_mak<br>> if test -n "$LIBCAPSTONE"; then<br>> echo "LIBCAPSTONE=$LIBCAPSTONE" >> $config_host_mak<br>> diff --git a/default-configs/targets/aarch64-linux-user.mak b/default-configs/targets/aarch64-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..4495e86509<br>> --- /dev/null<br>> +++ b/default-configs/targets/aarch64-linux-user.mak<br>> @@ -0,0 +1,5 @@<br>> +TARGET_AARCH64=y<br>> +TARGET_BASE_ARCH=arm<br>> +TARGET_ABI_DIR=aarch64<br>> +TARGET_XML_FILES= gdb-xml/aarch64-core.xml gdb-xml/aarch64-fpu.xml gdb-xml/arm-core.xml gdb-xml/arm-vfp.xml gdb-xml/arm-vfp3.xml gdb-xml/arm-neon.xml gdb-xml/arm-m-profile.xml<br>> +TARGET_HAS_BFLT=y<br>> diff --git a/default-configs/targets/aarch64-softmmu.mak b/default-configs/targets/aarch64-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..53f83ea81f<br>> --- /dev/null<br>> +++ b/default-configs/targets/aarch64-softmmu.mak<br>> @@ -0,0 +1,5 @@<br>> +TARGET_AARCH64=y<br>> +TARGET_BASE_ARCH=arm<br>> +TARGET_ABI_DIR=aarch64<br>> +TARGET_SUPPORTS_MTTCG=y<br>> +TARGET_XML_FILES= gdb-xml/aarch64-core.xml gdb-xml/aarch64-fpu.xml gdb-xml/arm-core.xml gdb-xml/arm-vfp.xml gdb-xml/arm-vfp3.xml gdb-xml/arm-neon.xml gdb-xml/arm-m-profile.xml<br>> diff --git a/default-configs/targets/aarch64_be-linux-user.mak b/default-configs/targets/aarch64_be-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..da13693d3d<br>> --- /dev/null<br>> +++ b/default-configs/targets/aarch64_be-linux-user.mak<br>> @@ -0,0 +1,6 @@<br>> +TARGET_AARCH64=y<br>> +TARGET_BASE_ARCH=arm<br>> +TARGET_ABI_DIR=aarch64<br>> +TARGET_WORDS_BIGENDIAN=y<br>> +TARGET_XML_FILES= gdb-xml/aarch64-core.xml gdb-xml/aarch64-fpu.xml gdb-xml/arm-core.xml gdb-xml/arm-vfp.xml gdb-xml/arm-vfp3.xml gdb-xml/arm-neon.xml gdb-xml/arm-m-profile.xml<br>> +TARGET_HAS_BFLT=y<br>> diff --git a/default-configs/targets/alpha-linux-user.mak b/default-configs/targets/alpha-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..5ff89f5d48<br>> --- /dev/null<br>> +++ b/default-configs/targets/alpha-linux-user.mak<br>> @@ -0,0 +1,6 @@<br>> +TARGET_ALPHA=y<br>> +TARGET_BASE_ARCH=alpha<br>> +TARGET_ABI_DIR=alpha<br>> +TARGET_SYSTBL_ABI=common<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_ALIGNED_ONLY=y<br>> diff --git a/default-configs/targets/alpha-softmmu.mak b/default-configs/targets/alpha-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..b78114b028<br>> --- /dev/null<br>> +++ b/default-configs/targets/alpha-softmmu.mak<br>> @@ -0,0 +1,7 @@<br>> +TARGET_ALPHA=y<br>> +TARGET_BASE_ARCH=alpha<br>> +TARGET_ABI_DIR=alpha<br>> +TARGET_SYSTBL_ABI=common<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_ALIGNED_ONLY=y<br>> +TARGET_SUPPORTS_MTTCG=y<br>> diff --git a/default-configs/targets/arm-linux-user.mak b/default-configs/targets/arm-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..7c54c3c2a2<br>> --- /dev/null<br>> +++ b/default-configs/targets/arm-linux-user.mak<br>> @@ -0,0 +1,7 @@<br>> +TARGET_ARM=y<br>> +TARGET_BASE_ARCH=arm<br>> +TARGET_ABI_DIR=arm<br>> +TARGET_SYSTBL_ABI=common,oabi<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_XML_FILES= gdb-xml/arm-core.xml gdb-xml/arm-vfp.xml gdb-xml/arm-vfp3.xml gdb-xml/arm-neon.xml gdb-xml/arm-m-profile.xml<br>> +TARGET_HAS_BFLT=y<br>> diff --git a/default-configs/targets/arm-softmmu.mak b/default-configs/targets/arm-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..d40b995f25<br>> --- /dev/null<br>> +++ b/default-configs/targets/arm-softmmu.mak<br>> @@ -0,0 +1,7 @@<br>> +TARGET_ARM=y<br>> +TARGET_BASE_ARCH=arm<br>> +TARGET_ABI_DIR=arm<br>> +TARGET_SYSTBL_ABI=common,oabi<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_SUPPORTS_MTTCG=y<br>> +TARGET_XML_FILES= gdb-xml/arm-core.xml gdb-xml/arm-vfp.xml gdb-xml/arm-vfp3.xml gdb-xml/arm-neon.xml gdb-xml/arm-m-profile.xml<br>> diff --git a/default-configs/targets/armeb-linux-user.mak b/default-configs/targets/armeb-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..1882aa472d<br>> --- /dev/null<br>> +++ b/default-configs/targets/armeb-linux-user.mak<br>> @@ -0,0 +1,8 @@<br>> +TARGET_ARM=y<br>> +TARGET_BASE_ARCH=arm<br>> +TARGET_ABI_DIR=arm<br>> +TARGET_SYSTBL_ABI=common,oabi<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_WORDS_BIGENDIAN=y<br>> +TARGET_XML_FILES= gdb-xml/arm-core.xml gdb-xml/arm-vfp.xml gdb-xml/arm-vfp3.xml gdb-xml/arm-neon.xml gdb-xml/arm-m-profile.xml<br>> +TARGET_HAS_BFLT=y<br>> diff --git a/default-configs/targets/avr-softmmu.mak b/default-configs/targets/avr-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..ecd292b2f7<br>> --- /dev/null<br>> +++ b/default-configs/targets/avr-softmmu.mak<br>> @@ -0,0 +1,4 @@<br>> +TARGET_AVR=y<br>> +TARGET_BASE_ARCH=avr<br>> +TARGET_ABI_DIR=avr<br>> +TARGET_XML_FILES= gdb-xml/avr-cpu.xml<br>> diff --git a/default-configs/targets/cris-linux-user.mak b/default-configs/targets/cris-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..ba61135172<br>> --- /dev/null<br>> +++ b/default-configs/targets/cris-linux-user.mak<br>> @@ -0,0 +1,3 @@<br>> +TARGET_CRIS=y<br>> +TARGET_BASE_ARCH=cris<br>> +TARGET_ABI_DIR=cris<br>> diff --git a/default-configs/targets/cris-softmmu.mak b/default-configs/targets/cris-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..ba61135172<br>> --- /dev/null<br>> +++ b/default-configs/targets/cris-softmmu.mak<br>> @@ -0,0 +1,3 @@<br>> +TARGET_CRIS=y<br>> +TARGET_BASE_ARCH=cris<br>> +TARGET_ABI_DIR=cris<br>> diff --git a/default-configs/targets/hppa-linux-user.mak b/default-configs/targets/hppa-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..94222e8fc6<br>> --- /dev/null<br>> +++ b/default-configs/targets/hppa-linux-user.mak<br>> @@ -0,0 +1,7 @@<br>> +TARGET_HPPA=y<br>> +TARGET_BASE_ARCH=hppa<br>> +TARGET_ABI_DIR=hppa<br>> +TARGET_SYSTBL_ABI=common,32<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_ALIGNED_ONLY=y<br>> +TARGET_WORDS_BIGENDIAN=y<br>> diff --git a/default-configs/targets/hppa-softmmu.mak b/default-configs/targets/hppa-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..617c6483c0<br>> --- /dev/null<br>> +++ b/default-configs/targets/hppa-softmmu.mak<br>> @@ -0,0 +1,8 @@<br>> +TARGET_HPPA=y<br>> +TARGET_BASE_ARCH=hppa<br>> +TARGET_ABI_DIR=hppa<br>> +TARGET_SYSTBL_ABI=common,32<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_ALIGNED_ONLY=y<br>> +TARGET_WORDS_BIGENDIAN=y<br>> +TARGET_SUPPORTS_MTTCG=y<br>> diff --git a/default-configs/targets/i386-bsd-user.mak b/default-configs/targets/i386-bsd-user.mak<br>> new file mode 100644<br>> index 0000000000..34b52e9ee2<br>> --- /dev/null<br>> +++ b/default-configs/targets/i386-bsd-user.mak<br>> @@ -0,0 +1,6 @@<br>> +TARGET_I386=y<br>> +TARGET_BASE_ARCH=i386<br>> +TARGET_ABI_DIR=i386<br>> +TARGET_SYSTBL_ABI=i386<br>> +TARGET_SYSTBL=syscall_32.tbl<br>> +TARGET_XML_FILES= gdb-xml/i386-32bit.xml<br>> diff --git a/default-configs/targets/i386-linux-user.mak b/default-configs/targets/i386-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..34b52e9ee2<br>> --- /dev/null<br>> +++ b/default-configs/targets/i386-linux-user.mak<br>> @@ -0,0 +1,6 @@<br>> +TARGET_I386=y<br>> +TARGET_BASE_ARCH=i386<br>> +TARGET_ABI_DIR=i386<br>> +TARGET_SYSTBL_ABI=i386<br>> +TARGET_SYSTBL=syscall_32.tbl<br>> +TARGET_XML_FILES= gdb-xml/i386-32bit.xml<br>> diff --git a/default-configs/targets/i386-softmmu.mak b/default-configs/targets/i386-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..be9198bb84<br>> --- /dev/null<br>> +++ b/default-configs/targets/i386-softmmu.mak<br>> @@ -0,0 +1,7 @@<br>> +TARGET_I386=y<br>> +TARGET_BASE_ARCH=i386<br>> +TARGET_ABI_DIR=i386<br>> +TARGET_SYSTBL_ABI=i386<br>> +TARGET_SYSTBL=syscall_32.tbl<br>> +TARGET_SUPPORTS_MTTCG=y<br>> +TARGET_XML_FILES= gdb-xml/i386-32bit.xml<br>> diff --git a/default-configs/targets/lm32-softmmu.mak b/default-configs/targets/lm32-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..c327d27d5f<br>> --- /dev/null<br>> +++ b/default-configs/targets/lm32-softmmu.mak<br>> @@ -0,0 +1,4 @@<br>> +TARGET_LM32=y<br>> +TARGET_BASE_ARCH=lm32<br>> +TARGET_ABI_DIR=lm32<br>> +TARGET_WORDS_BIGENDIAN=y<br>> diff --git a/default-configs/targets/m68k-linux-user.mak b/default-configs/targets/m68k-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..e7c0af5881<br>> --- /dev/null<br>> +++ b/default-configs/targets/m68k-linux-user.mak<br>> @@ -0,0 +1,8 @@<br>> +TARGET_M68K=y<br>> +TARGET_BASE_ARCH=m68k<br>> +TARGET_ABI_DIR=m68k<br>> +TARGET_SYSTBL_ABI=common<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_WORDS_BIGENDIAN=y<br>> +TARGET_XML_FILES= gdb-xml/cf-core.xml gdb-xml/cf-fp.xml gdb-xml/m68k-core.xml gdb-xml/m68k-fp.xml<br>> +TARGET_HAS_BFLT=y<br>> diff --git a/default-configs/targets/m68k-softmmu.mak b/default-configs/targets/m68k-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..f8bf4fc5ac<br>> --- /dev/null<br>> +++ b/default-configs/targets/m68k-softmmu.mak<br>> @@ -0,0 +1,7 @@<br>> +TARGET_M68K=y<br>> +TARGET_BASE_ARCH=m68k<br>> +TARGET_ABI_DIR=m68k<br>> +TARGET_SYSTBL_ABI=common<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_WORDS_BIGENDIAN=y<br>> +TARGET_XML_FILES= gdb-xml/cf-core.xml gdb-xml/cf-fp.xml gdb-xml/m68k-core.xml gdb-xml/m68k-fp.xml<br>> diff --git a/default-configs/targets/microblaze-linux-user.mak b/default-configs/targets/microblaze-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..809819424d<br>> --- /dev/null<br>> +++ b/default-configs/targets/microblaze-linux-user.mak<br>> @@ -0,0 +1,7 @@<br>> +TARGET_MICROBLAZE=y<br>> +TARGET_BASE_ARCH=microblaze<br>> +TARGET_ABI_DIR=microblaze<br>> +TARGET_SYSTBL_ABI=common<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_WORDS_BIGENDIAN=y<br>> +TARGET_HAS_BFLT=y<br>> diff --git a/default-configs/targets/microblaze-softmmu.mak b/default-configs/targets/microblaze-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..1b0a76a61f<br>> --- /dev/null<br>> +++ b/default-configs/targets/microblaze-softmmu.mak<br>> @@ -0,0 +1,7 @@<br>> +TARGET_MICROBLAZE=y<br>> +TARGET_BASE_ARCH=microblaze<br>> +TARGET_ABI_DIR=microblaze<br>> +TARGET_SYSTBL_ABI=common<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_WORDS_BIGENDIAN=y<br>> +TARGET_SUPPORTS_MTTCG=y<br>> diff --git a/default-configs/targets/microblazeel-linux-user.mak b/default-configs/targets/microblazeel-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..416b42eeb6<br>> --- /dev/null<br>> +++ b/default-configs/targets/microblazeel-linux-user.mak<br>> @@ -0,0 +1,6 @@<br>> +TARGET_MICROBLAZE=y<br>> +TARGET_BASE_ARCH=microblaze<br>> +TARGET_ABI_DIR=microblaze<br>> +TARGET_SYSTBL_ABI=common<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_HAS_BFLT=y<br>> diff --git a/default-configs/targets/microblazeel-softmmu.mak b/default-configs/targets/microblazeel-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..3a2cf8be0f<br>> --- /dev/null<br>> +++ b/default-configs/targets/microblazeel-softmmu.mak<br>> @@ -0,0 +1,6 @@<br>> +TARGET_MICROBLAZE=y<br>> +TARGET_BASE_ARCH=microblaze<br>> +TARGET_ABI_DIR=microblaze<br>> +TARGET_SYSTBL_ABI=common<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_SUPPORTS_MTTCG=y<br>> diff --git a/default-configs/targets/mips-linux-user.mak b/default-configs/targets/mips-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..bcfff16a7b<br>> --- /dev/null<br>> +++ b/default-configs/targets/mips-linux-user.mak<br>> @@ -0,0 +1,8 @@<br>> +TARGET_ABI_MIPSO32=y<br>> +TARGET_MIPS=y<br>> +TARGET_BASE_ARCH=mips<br>> +TARGET_ABI_DIR=mips<br>> +TARGET_SYSTBL_ABI=o32<br>> +TARGET_SYSTBL=syscall_o32.tbl<br>> +TARGET_ALIGNED_ONLY=y<br>> +TARGET_WORDS_BIGENDIAN=y<br>> diff --git a/default-configs/targets/mips-softmmu.mak b/default-configs/targets/mips-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..8ab9ff2ac9<br>> --- /dev/null<br>> +++ b/default-configs/targets/mips-softmmu.mak<br>> @@ -0,0 +1,9 @@<br>> +TARGET_ABI_MIPSO32=y<br>> +TARGET_MIPS=y<br>> +TARGET_BASE_ARCH=mips<br>> +TARGET_ABI_DIR=mips<br>> +TARGET_SYSTBL_ABI=o32<br>> +TARGET_SYSTBL=syscall_o32.tbl<br>> +TARGET_ALIGNED_ONLY=y<br>> +TARGET_WORDS_BIGENDIAN=y<br>> +TARGET_SUPPORTS_MTTCG=y<br>> diff --git a/default-configs/targets/mips64-linux-user.mak b/default-configs/targets/mips64-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..c02c5460a7<br>> --- /dev/null<br>> +++ b/default-configs/targets/mips64-linux-user.mak<br>> @@ -0,0 +1,8 @@<br>> +TARGET_ABI_MIPSN64=y<br>> +TARGET_MIPS64=y<br>> +TARGET_BASE_ARCH=mips<br>> +TARGET_ABI_DIR=mips64<br>> +TARGET_SYSTBL_ABI=n64<br>> +TARGET_SYSTBL=syscall_n64.tbl<br>> +TARGET_ALIGNED_ONLY=y<br>> +TARGET_WORDS_BIGENDIAN=y<br>> diff --git a/default-configs/targets/mips64-softmmu.mak b/default-configs/targets/mips64-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..c02c5460a7<br>> --- /dev/null<br>> +++ b/default-configs/targets/mips64-softmmu.mak<br>> @@ -0,0 +1,8 @@<br>> +TARGET_ABI_MIPSN64=y<br>> +TARGET_MIPS64=y<br>> +TARGET_BASE_ARCH=mips<br>> +TARGET_ABI_DIR=mips64<br>> +TARGET_SYSTBL_ABI=n64<br>> +TARGET_SYSTBL=syscall_n64.tbl<br>> +TARGET_ALIGNED_ONLY=y<br>> +TARGET_WORDS_BIGENDIAN=y<br>> diff --git a/default-configs/targets/mips64el-linux-user.mak b/default-configs/targets/mips64el-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..8cbbc38e78<br>> --- /dev/null<br>> +++ b/default-configs/targets/mips64el-linux-user.mak<br>> @@ -0,0 +1,7 @@<br>> +TARGET_ABI_MIPSN64=y<br>> +TARGET_MIPS64=y<br>> +TARGET_BASE_ARCH=mips<br>> +TARGET_ABI_DIR=mips64<br>> +TARGET_SYSTBL_ABI=n64<br>> +TARGET_SYSTBL=syscall_n64.tbl<br>> +TARGET_ALIGNED_ONLY=y<br>> diff --git a/default-configs/targets/mips64el-softmmu.mak b/default-configs/targets/mips64el-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..8cbbc38e78<br>> --- /dev/null<br>> +++ b/default-configs/targets/mips64el-softmmu.mak<br>> @@ -0,0 +1,7 @@<br>> +TARGET_ABI_MIPSN64=y<br>> +TARGET_MIPS64=y<br>> +TARGET_BASE_ARCH=mips<br>> +TARGET_ABI_DIR=mips64<br>> +TARGET_SYSTBL_ABI=n64<br>> +TARGET_SYSTBL=syscall_n64.tbl<br>> +TARGET_ALIGNED_ONLY=y<br>> diff --git a/default-configs/targets/mipsel-linux-user.mak b/default-configs/targets/mipsel-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..26aa9c8279<br>> --- /dev/null<br>> +++ b/default-configs/targets/mipsel-linux-user.mak<br>> @@ -0,0 +1,7 @@<br>> +TARGET_ABI_MIPSO32=y<br>> +TARGET_MIPS=y<br>> +TARGET_BASE_ARCH=mips<br>> +TARGET_ABI_DIR=mips<br>> +TARGET_SYSTBL_ABI=o32<br>> +TARGET_SYSTBL=syscall_o32.tbl<br>> +TARGET_ALIGNED_ONLY=y<br>> diff --git a/default-configs/targets/mipsel-softmmu.mak b/default-configs/targets/mipsel-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..afa0851887<br>> --- /dev/null<br>> +++ b/default-configs/targets/mipsel-softmmu.mak<br>> @@ -0,0 +1,8 @@<br>> +TARGET_ABI_MIPSO32=y<br>> +TARGET_MIPS=y<br>> +TARGET_BASE_ARCH=mips<br>> +TARGET_ABI_DIR=mips<br>> +TARGET_SYSTBL_ABI=o32<br>> +TARGET_SYSTBL=syscall_o32.tbl<br>> +TARGET_ALIGNED_ONLY=y<br>> +TARGET_SUPPORTS_MTTCG=y<br>> diff --git a/default-configs/targets/mipsn32-linux-user.mak b/default-configs/targets/mipsn32-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..81d548e699<br>> --- /dev/null<br>> +++ b/default-configs/targets/mipsn32-linux-user.mak<br>> @@ -0,0 +1,9 @@<br>> +TARGET_ABI_MIPSN32=y<br>> +TARGET_ABI32=y<br>> +TARGET_MIPS64=y<br>> +TARGET_BASE_ARCH=mips<br>> +TARGET_ABI_DIR=mips64<br>> +TARGET_SYSTBL_ABI=n32<br>> +TARGET_SYSTBL=syscall_n32.tbl<br>> +TARGET_ALIGNED_ONLY=y<br>> +TARGET_WORDS_BIGENDIAN=y<br>> diff --git a/default-configs/targets/mipsn32el-linux-user.mak b/default-configs/targets/mipsn32el-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..6de47f2a79<br>> --- /dev/null<br>> +++ b/default-configs/targets/mipsn32el-linux-user.mak<br>> @@ -0,0 +1,8 @@<br>> +TARGET_ABI_MIPSN32=y<br>> +TARGET_ABI32=y<br>> +TARGET_MIPS64=y<br>> +TARGET_BASE_ARCH=mips<br>> +TARGET_ABI_DIR=mips64<br>> +TARGET_SYSTBL_ABI=n32<br>> +TARGET_SYSTBL=syscall_n32.tbl<br>> +TARGET_ALIGNED_ONLY=y<br>> diff --git a/default-configs/targets/moxie-softmmu.mak b/default-configs/targets/moxie-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..da093f5b36<br>> --- /dev/null<br>> +++ b/default-configs/targets/moxie-softmmu.mak<br>> @@ -0,0 +1,4 @@<br>> +TARGET_MOXIE=y<br>> +TARGET_BASE_ARCH=moxie<br>> +TARGET_ABI_DIR=moxie<br>> +TARGET_WORDS_BIGENDIAN=y<br>> diff --git a/default-configs/targets/nios2-linux-user.mak b/default-configs/targets/nios2-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..a2308a16aa<br>> --- /dev/null<br>> +++ b/default-configs/targets/nios2-linux-user.mak<br>> @@ -0,0 +1,3 @@<br>> +TARGET_NIOS2=y<br>> +TARGET_BASE_ARCH=nios2<br>> +TARGET_ABI_DIR=nios2<br>> diff --git a/default-configs/targets/nios2-softmmu.mak b/default-configs/targets/nios2-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..a2308a16aa<br>> --- /dev/null<br>> +++ b/default-configs/targets/nios2-softmmu.mak<br>> @@ -0,0 +1,3 @@<br>> +TARGET_NIOS2=y<br>> +TARGET_BASE_ARCH=nios2<br>> +TARGET_ABI_DIR=nios2<br>> diff --git a/default-configs/targets/or1k-linux-user.mak b/default-configs/targets/or1k-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..2f5ff844df<br>> --- /dev/null<br>> +++ b/default-configs/targets/or1k-linux-user.mak<br>> @@ -0,0 +1,4 @@<br>> +TARGET_OPENRISC=y<br>> +TARGET_BASE_ARCH=openrisc<br>> +TARGET_ABI_DIR=openrisc<br>> +TARGET_WORDS_BIGENDIAN=y<br>> diff --git a/default-configs/targets/or1k-softmmu.mak b/default-configs/targets/or1k-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..2f5ff844df<br>> --- /dev/null<br>> +++ b/default-configs/targets/or1k-softmmu.mak<br>> @@ -0,0 +1,4 @@<br>> +TARGET_OPENRISC=y<br>> +TARGET_BASE_ARCH=openrisc<br>> +TARGET_ABI_DIR=openrisc<br>> +TARGET_WORDS_BIGENDIAN=y<br>> diff --git a/default-configs/targets/ppc-linux-user.mak b/default-configs/targets/ppc-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..c4d912bfb1<br>> --- /dev/null<br>> +++ b/default-configs/targets/ppc-linux-user.mak<br>> @@ -0,0 +1,7 @@<br>> +TARGET_PPC=y<br>> +TARGET_BASE_ARCH=ppc<br>> +TARGET_ABI_DIR=ppc<br>> +TARGET_SYSTBL_ABI=common,nospu,32<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_WORDS_BIGENDIAN=y<br>> +TARGET_XML_FILES= gdb-xml/power-core.xml gdb-xml/power-fpu.xml gdb-xml/power-altivec.xml gdb-xml/power-spe.xml<br>> diff --git a/default-configs/targets/ppc-softmmu.mak b/default-configs/targets/ppc-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..c4d912bfb1<br>> --- /dev/null<br>> +++ b/default-configs/targets/ppc-softmmu.mak<br>> @@ -0,0 +1,7 @@<br>> +TARGET_PPC=y<br>> +TARGET_BASE_ARCH=ppc<br>> +TARGET_ABI_DIR=ppc<br>> +TARGET_SYSTBL_ABI=common,nospu,32<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_WORDS_BIGENDIAN=y<br>> +TARGET_XML_FILES= gdb-xml/power-core.xml gdb-xml/power-fpu.xml gdb-xml/power-altivec.xml gdb-xml/power-spe.xml<br>> diff --git a/default-configs/targets/ppc64-linux-user.mak b/default-configs/targets/ppc64-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..7f96ab7e9d<br>> --- /dev/null<br>> +++ b/default-configs/targets/ppc64-linux-user.mak<br>> @@ -0,0 +1,7 @@<br>> +TARGET_PPC64=y<br>> +TARGET_BASE_ARCH=ppc<br>> +TARGET_ABI_DIR=ppc<br>> +TARGET_SYSTBL_ABI=common,nospu,64<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_WORDS_BIGENDIAN=y<br>> +TARGET_XML_FILES= gdb-xml/power64-core.xml gdb-xml/power-fpu.xml gdb-xml/power-altivec.xml gdb-xml/power-spe.xml gdb-xml/power-vsx.xml<br>> diff --git a/default-configs/targets/ppc64-softmmu.mak b/default-configs/targets/ppc64-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..a73211918a<br>> --- /dev/null<br>> +++ b/default-configs/targets/ppc64-softmmu.mak<br>> @@ -0,0 +1,8 @@<br>> +TARGET_PPC64=y<br>> +TARGET_BASE_ARCH=ppc<br>> +TARGET_ABI_DIR=ppc<br>> +TARGET_SYSTBL_ABI=common,nospu,64<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_WORDS_BIGENDIAN=y<br>> +TARGET_SUPPORTS_MTTCG=y<br>> +TARGET_XML_FILES= gdb-xml/power64-core.xml gdb-xml/power-fpu.xml gdb-xml/power-altivec.xml gdb-xml/power-spe.xml gdb-xml/power-vsx.xml<br>> diff --git a/default-configs/targets/ppc64abi32-linux-user.mak b/default-configs/targets/ppc64abi32-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..13a02700aa<br>> --- /dev/null<br>> +++ b/default-configs/targets/ppc64abi32-linux-user.mak<br>> @@ -0,0 +1,8 @@<br>> +TARGET_ABI32=y<br>> +TARGET_PPC64=y<br>> +TARGET_BASE_ARCH=ppc<br>> +TARGET_ABI_DIR=ppc<br>> +TARGET_SYSTBL_ABI=common,nospu,32<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_WORDS_BIGENDIAN=y<br>> +TARGET_XML_FILES= gdb-xml/power64-core.xml gdb-xml/power-fpu.xml gdb-xml/power-altivec.xml gdb-xml/power-spe.xml gdb-xml/power-vsx.xml<br>> diff --git a/default-configs/targets/ppc64le-linux-user.mak b/default-configs/targets/ppc64le-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..3dd54b894c<br>> --- /dev/null<br>> +++ b/default-configs/targets/ppc64le-linux-user.mak<br>> @@ -0,0 +1,6 @@<br>> +TARGET_PPC64=y<br>> +TARGET_BASE_ARCH=ppc<br>> +TARGET_ABI_DIR=ppc<br>> +TARGET_SYSTBL_ABI=common,nospu,64<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_XML_FILES= gdb-xml/power64-core.xml gdb-xml/power-fpu.xml gdb-xml/power-altivec.xml gdb-xml/power-spe.xml gdb-xml/power-vsx.xml<br>> diff --git a/default-configs/targets/riscv32-linux-user.mak b/default-configs/targets/riscv32-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..91d72a46b0<br>> --- /dev/null<br>> +++ b/default-configs/targets/riscv32-linux-user.mak<br>> @@ -0,0 +1,4 @@<br>> +TARGET_RISCV32=y<br>> +TARGET_BASE_ARCH=riscv<br>> +TARGET_ABI_DIR=riscv<br>> +TARGET_XML_FILES= gdb-xml/riscv-32bit-cpu.xml gdb-xml/riscv-32bit-fpu.xml gdb-xml/riscv-64bit-fpu.xml gdb-xml/riscv-32bit-csr.xml gdb-xml/riscv-32bit-virtual.xml<br>> diff --git a/default-configs/targets/riscv32-softmmu.mak b/default-configs/targets/riscv32-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..35e5b2fb85<br>> --- /dev/null<br>> +++ b/default-configs/targets/riscv32-softmmu.mak<br>> @@ -0,0 +1,5 @@<br>> +TARGET_RISCV32=y<br>> +TARGET_BASE_ARCH=riscv<br>> +TARGET_ABI_DIR=riscv<br>> +TARGET_SUPPORTS_MTTCG=y<br>> +TARGET_XML_FILES= gdb-xml/riscv-32bit-cpu.xml gdb-xml/riscv-32bit-fpu.xml gdb-xml/riscv-64bit-fpu.xml gdb-xml/riscv-32bit-csr.xml gdb-xml/riscv-32bit-virtual.xml<br>> diff --git a/default-configs/targets/riscv64-linux-user.mak b/default-configs/targets/riscv64-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..9e53193cdb<br>> --- /dev/null<br>> +++ b/default-configs/targets/riscv64-linux-user.mak<br>> @@ -0,0 +1,4 @@<br>> +TARGET_RISCV64=y<br>> +TARGET_BASE_ARCH=riscv<br>> +TARGET_ABI_DIR=riscv<br>> +TARGET_XML_FILES= gdb-xml/riscv-64bit-cpu.xml gdb-xml/riscv-32bit-fpu.xml gdb-xml/riscv-64bit-fpu.xml gdb-xml/riscv-64bit-csr.xml gdb-xml/riscv-64bit-virtual.xml<br>> diff --git a/default-configs/targets/riscv64-softmmu.mak b/default-configs/targets/riscv64-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..4b9a61cd8f<br>> --- /dev/null<br>> +++ b/default-configs/targets/riscv64-softmmu.mak<br>> @@ -0,0 +1,5 @@<br>> +TARGET_RISCV64=y<br>> +TARGET_BASE_ARCH=riscv<br>> +TARGET_ABI_DIR=riscv<br>> +TARGET_SUPPORTS_MTTCG=y<br>> +TARGET_XML_FILES= gdb-xml/riscv-64bit-cpu.xml gdb-xml/riscv-32bit-fpu.xml gdb-xml/riscv-64bit-fpu.xml gdb-xml/riscv-64bit-csr.xml gdb-xml/riscv-64bit-virtual.xml<br>> diff --git a/default-configs/targets/rx-softmmu.mak b/default-configs/targets/rx-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..52a8c0df10<br>> --- /dev/null<br>> +++ b/default-configs/targets/rx-softmmu.mak<br>> @@ -0,0 +1,4 @@<br>> +TARGET_RX=y<br>> +TARGET_BASE_ARCH=rx<br>> +TARGET_ABI_DIR=rx<br>> +TARGET_XML_FILES= gdb-xml/rx-core.xml<br>> diff --git a/default-configs/targets/s390x-linux-user.mak b/default-configs/targets/s390x-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..77ebec769f<br>> --- /dev/null<br>> +++ b/default-configs/targets/s390x-linux-user.mak<br>> @@ -0,0 +1,7 @@<br>> +TARGET_S390X=y<br>> +TARGET_BASE_ARCH=s390x<br>> +TARGET_ABI_DIR=s390x<br>> +TARGET_SYSTBL_ABI=common,64<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_WORDS_BIGENDIAN=y<br>> +TARGET_XML_FILES= gdb-xml/s390x-core64.xml gdb-xml/s390-acr.xml gdb-xml/s390-fpr.xml gdb-xml/s390-vx.xml gdb-xml/s390-cr.xml gdb-xml/s390-virt.xml gdb-xml/s390-gs.xml<br>> diff --git a/default-configs/targets/s390x-softmmu.mak b/default-configs/targets/s390x-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..f2a80d3208<br>> --- /dev/null<br>> +++ b/default-configs/targets/s390x-softmmu.mak<br>> @@ -0,0 +1,8 @@<br>> +TARGET_S390X=y<br>> +TARGET_BASE_ARCH=s390x<br>> +TARGET_ABI_DIR=s390x<br>> +TARGET_SYSTBL_ABI=common,64<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_WORDS_BIGENDIAN=y<br>> +TARGET_SUPPORTS_MTTCG=y<br>> +TARGET_XML_FILES= gdb-xml/s390x-core64.xml gdb-xml/s390-acr.xml gdb-xml/s390-fpr.xml gdb-xml/s390-vx.xml gdb-xml/s390-cr.xml gdb-xml/s390-virt.xml gdb-xml/s390-gs.xml<br>> diff --git a/default-configs/targets/sh4-linux-user.mak b/default-configs/targets/sh4-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..4292dd6128<br>> --- /dev/null<br>> +++ b/default-configs/targets/sh4-linux-user.mak<br>> @@ -0,0 +1,7 @@<br>> +TARGET_SH4=y<br>> +TARGET_BASE_ARCH=sh4<br>> +TARGET_ABI_DIR=sh4<br>> +TARGET_SYSTBL_ABI=common<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_ALIGNED_ONLY=y<br>> +TARGET_HAS_BFLT=y<br>> diff --git a/default-configs/targets/sh4-softmmu.mak b/default-configs/targets/sh4-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..e46bf0e278<br>> --- /dev/null<br>> +++ b/default-configs/targets/sh4-softmmu.mak<br>> @@ -0,0 +1,6 @@<br>> +TARGET_SH4=y<br>> +TARGET_BASE_ARCH=sh4<br>> +TARGET_ABI_DIR=sh4<br>> +TARGET_SYSTBL_ABI=common<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_ALIGNED_ONLY=y<br>> diff --git a/default-configs/targets/sh4eb-linux-user.mak b/default-configs/targets/sh4eb-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..cf9178f4ea<br>> --- /dev/null<br>> +++ b/default-configs/targets/sh4eb-linux-user.mak<br>> @@ -0,0 +1,8 @@<br>> +TARGET_SH4=y<br>> +TARGET_BASE_ARCH=sh4<br>> +TARGET_ABI_DIR=sh4<br>> +TARGET_SYSTBL_ABI=common<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_ALIGNED_ONLY=y<br>> +TARGET_WORDS_BIGENDIAN=y<br>> +TARGET_HAS_BFLT=y<br>> diff --git a/default-configs/targets/sh4eb-softmmu.mak b/default-configs/targets/sh4eb-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..db4140ec32<br>> --- /dev/null<br>> +++ b/default-configs/targets/sh4eb-softmmu.mak<br>> @@ -0,0 +1,7 @@<br>> +TARGET_SH4=y<br>> +TARGET_BASE_ARCH=sh4<br>> +TARGET_ABI_DIR=sh4<br>> +TARGET_SYSTBL_ABI=common<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_ALIGNED_ONLY=y<br>> +TARGET_WORDS_BIGENDIAN=y<br>> diff --git a/default-configs/targets/sparc-bsd-user.mak b/default-configs/targets/sparc-bsd-user.mak<br>> new file mode 100644<br>> index 0000000000..7f2fcba978<br>> --- /dev/null<br>> +++ b/default-configs/targets/sparc-bsd-user.mak<br>> @@ -0,0 +1,7 @@<br>> +TARGET_SPARC=y<br>> +TARGET_BASE_ARCH=sparc<br>> +TARGET_ABI_DIR=sparc<br>> +TARGET_SYSTBL_ABI=common,32<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_ALIGNED_ONLY=y<br>> +TARGET_WORDS_BIGENDIAN=y<br>> diff --git a/default-configs/targets/sparc-linux-user.mak b/default-configs/targets/sparc-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..7f2fcba978<br>> --- /dev/null<br>> +++ b/default-configs/targets/sparc-linux-user.mak<br>> @@ -0,0 +1,7 @@<br>> +TARGET_SPARC=y<br>> +TARGET_BASE_ARCH=sparc<br>> +TARGET_ABI_DIR=sparc<br>> +TARGET_SYSTBL_ABI=common,32<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_ALIGNED_ONLY=y<br>> +TARGET_WORDS_BIGENDIAN=y<br>> diff --git a/default-configs/targets/sparc-softmmu.mak b/default-configs/targets/sparc-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..7f2fcba978<br>> --- /dev/null<br>> +++ b/default-configs/targets/sparc-softmmu.mak<br>> @@ -0,0 +1,7 @@<br>> +TARGET_SPARC=y<br>> +TARGET_BASE_ARCH=sparc<br>> +TARGET_ABI_DIR=sparc<br>> +TARGET_SYSTBL_ABI=common,32<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_ALIGNED_ONLY=y<br>> +TARGET_WORDS_BIGENDIAN=y<br>> diff --git a/default-configs/targets/sparc32plus-linux-user.mak b/default-configs/targets/sparc32plus-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..f5fcb7879e<br>> --- /dev/null<br>> +++ b/default-configs/targets/sparc32plus-linux-user.mak<br>> @@ -0,0 +1,8 @@<br>> +TARGET_ABI32=y<br>> +TARGET_SPARC64=y<br>> +TARGET_BASE_ARCH=sparc<br>> +TARGET_ABI_DIR=sparc<br>> +TARGET_SYSTBL_ABI=common,32<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_ALIGNED_ONLY=y<br>> +TARGET_WORDS_BIGENDIAN=y<br>> diff --git a/default-configs/targets/sparc64-bsd-user.mak b/default-configs/targets/sparc64-bsd-user.mak<br>> new file mode 100644<br>> index 0000000000..817529e587<br>> --- /dev/null<br>> +++ b/default-configs/targets/sparc64-bsd-user.mak<br>> @@ -0,0 +1,7 @@<br>> +TARGET_SPARC64=y<br>> +TARGET_BASE_ARCH=sparc<br>> +TARGET_ABI_DIR=sparc64<br>> +TARGET_SYSTBL_ABI=common,64<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_ALIGNED_ONLY=y<br>> +TARGET_WORDS_BIGENDIAN=y<br>> diff --git a/default-configs/targets/sparc64-linux-user.mak b/default-configs/targets/sparc64-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..817529e587<br>> --- /dev/null<br>> +++ b/default-configs/targets/sparc64-linux-user.mak<br>> @@ -0,0 +1,7 @@<br>> +TARGET_SPARC64=y<br>> +TARGET_BASE_ARCH=sparc<br>> +TARGET_ABI_DIR=sparc64<br>> +TARGET_SYSTBL_ABI=common,64<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_ALIGNED_ONLY=y<br>> +TARGET_WORDS_BIGENDIAN=y<br>> diff --git a/default-configs/targets/sparc64-softmmu.mak b/default-configs/targets/sparc64-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..817529e587<br>> --- /dev/null<br>> +++ b/default-configs/targets/sparc64-softmmu.mak<br>> @@ -0,0 +1,7 @@<br>> +TARGET_SPARC64=y<br>> +TARGET_BASE_ARCH=sparc<br>> +TARGET_ABI_DIR=sparc64<br>> +TARGET_SYSTBL_ABI=common,64<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_ALIGNED_ONLY=y<br>> +TARGET_WORDS_BIGENDIAN=y<br>> diff --git a/default-configs/targets/tilegx-linux-user.mak b/default-configs/targets/tilegx-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..064d3320d7<br>> --- /dev/null<br>> +++ b/default-configs/targets/tilegx-linux-user.mak<br>> @@ -0,0 +1,3 @@<br>> +TARGET_TILEGX=y<br>> +TARGET_BASE_ARCH=tilegx<br>> +TARGET_ABI_DIR=tilegx<br>> diff --git a/default-configs/targets/tricore-softmmu.mak b/default-configs/targets/tricore-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..356e5d8669<br>> --- /dev/null<br>> +++ b/default-configs/targets/tricore-softmmu.mak<br>> @@ -0,0 +1,3 @@<br>> +TARGET_TRICORE=y<br>> +TARGET_BASE_ARCH=tricore<br>> +TARGET_ABI_DIR=tricore<br>> diff --git a/default-configs/targets/unicore32-softmmu.mak b/default-configs/targets/unicore32-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..d8c7860ac1<br>> --- /dev/null<br>> +++ b/default-configs/targets/unicore32-softmmu.mak<br>> @@ -0,0 +1,3 @@<br>> +TARGET_UNICORE32=y<br>> +TARGET_BASE_ARCH=unicore32<br>> +TARGET_ABI_DIR=unicore32<br>> diff --git a/default-configs/targets/x86_64-bsd-user.mak b/default-configs/targets/x86_64-bsd-user.mak<br>> new file mode 100644<br>> index 0000000000..6a9418f9ff<br>> --- /dev/null<br>> +++ b/default-configs/targets/x86_64-bsd-user.mak<br>> @@ -0,0 +1,6 @@<br>> +TARGET_X86_64=y<br>> +TARGET_BASE_ARCH=i386<br>> +TARGET_ABI_DIR=x86_64<br>> +TARGET_SYSTBL_ABI=common,64<br>> +TARGET_SYSTBL=syscall_64.tbl<br>> +TARGET_XML_FILES= gdb-xml/i386-64bit.xml<br>> diff --git a/default-configs/targets/x86_64-linux-user.mak b/default-configs/targets/x86_64-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..6a9418f9ff<br>> --- /dev/null<br>> +++ b/default-configs/targets/x86_64-linux-user.mak<br>> @@ -0,0 +1,6 @@<br>> +TARGET_X86_64=y<br>> +TARGET_BASE_ARCH=i386<br>> +TARGET_ABI_DIR=x86_64<br>> +TARGET_SYSTBL_ABI=common,64<br>> +TARGET_SYSTBL=syscall_64.tbl<br>> +TARGET_XML_FILES= gdb-xml/i386-64bit.xml<br>> diff --git a/default-configs/targets/x86_64-softmmu.mak b/default-configs/targets/x86_64-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..8b56e6e6da<br>> --- /dev/null<br>> +++ b/default-configs/targets/x86_64-softmmu.mak<br>> @@ -0,0 +1,7 @@<br>> +TARGET_X86_64=y<br>> +TARGET_BASE_ARCH=i386<br>> +TARGET_ABI_DIR=x86_64<br>> +TARGET_SYSTBL_ABI=common,64<br>> +TARGET_SYSTBL=syscall_64.tbl<br>> +TARGET_SUPPORTS_MTTCG=y<br>> +TARGET_XML_FILES= gdb-xml/i386-64bit.xml<br>> diff --git a/default-configs/targets/xtensa-linux-user.mak b/default-configs/targets/xtensa-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..63d9cff69f<br>> --- /dev/null<br>> +++ b/default-configs/targets/xtensa-linux-user.mak<br>> @@ -0,0 +1,7 @@<br>> +TARGET_XTENSA=y<br>> +TARGET_BASE_ARCH=xtensa<br>> +TARGET_ABI_DIR=xtensa<br>> +TARGET_SYSTBL_ABI=common<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_ALIGNED_ONLY=y<br>> +TARGET_HAS_BFLT=y<br>> diff --git a/default-configs/targets/xtensa-softmmu.mak b/default-configs/targets/xtensa-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..2166f97738<br>> --- /dev/null<br>> +++ b/default-configs/targets/xtensa-softmmu.mak<br>> @@ -0,0 +1,7 @@<br>> +TARGET_XTENSA=y<br>> +TARGET_BASE_ARCH=xtensa<br>> +TARGET_ABI_DIR=xtensa<br>> +TARGET_SYSTBL_ABI=common<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_ALIGNED_ONLY=y<br>> +TARGET_SUPPORTS_MTTCG=y<br>> diff --git a/default-configs/targets/xtensaeb-linux-user.mak b/default-configs/targets/xtensaeb-linux-user.mak<br>> new file mode 100644<br>> index 0000000000..e66b7dd0e3<br>> --- /dev/null<br>> +++ b/default-configs/targets/xtensaeb-linux-user.mak<br>> @@ -0,0 +1,8 @@<br>> +TARGET_XTENSA=y<br>> +TARGET_BASE_ARCH=xtensa<br>> +TARGET_ABI_DIR=xtensa<br>> +TARGET_SYSTBL_ABI=common<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_ALIGNED_ONLY=y<br>> +TARGET_WORDS_BIGENDIAN=y<br>> +TARGET_HAS_BFLT=y<br>> diff --git a/default-configs/targets/xtensaeb-softmmu.mak b/default-configs/targets/xtensaeb-softmmu.mak<br>> new file mode 100644<br>> index 0000000000..2372d22492<br>> --- /dev/null<br>> +++ b/default-configs/targets/xtensaeb-softmmu.mak<br>> @@ -0,0 +1,8 @@<br>> +TARGET_XTENSA=y<br>> +TARGET_BASE_ARCH=xtensa<br>> +TARGET_ABI_DIR=xtensa<br>> +TARGET_SYSTBL_ABI=common<br>> +TARGET_SYSTBL=syscall.tbl<br>> +TARGET_ALIGNED_ONLY=y<br>> +TARGET_WORDS_BIGENDIAN=y<br>> +TARGET_SUPPORTS_MTTCG=y<br>> diff --git a/meson.build b/meson.build<br>> index 6863b9febf..5ddaf16b88 100644<br>> --- a/meson.build<br>> +++ b/meson.build<br>> @@ -722,13 +722,25 @@ kconfig_external_symbols = [<br>> ]<br>> ignored = ['TARGET_XML_FILES', 'TARGET_ABI_DIR', 'TARGET_DIRS']<br>><br>> +default_targets = 'CONFIG_DEFAULT_TARGETS' in config_host<br>> +actual_target_dirs = []<br>> foreach target : target_dirs<br>> config_target = { 'TARGET_NAME': target.split('-')[0] }<br>> if target.endswith('linux-user')<br>> - assert(targetos == 'linux')<br>> + if targetos != 'linux'<br>> + if default_targets<br>> + continue<br>> + endif<br>> + error('Target @0@ is only available on a Linux host'.format(target))<br>> + endif<br>> config_target += { 'CONFIG_LINUX_USER': 'y' }<br>> elif target.endswith('bsd-user')<br>> - assert('CONFIG_BSD' in config_host)<br>> + if not 'CONFIG_BSD' in config_host<br>> + if default_targets<br>> + continue<br>> + endif<br>> + error('Target @0@ is only available on a BSD host'.format(target))<br>> + endif<br>> config_target += { 'CONFIG_BSD_USER': 'y' }<br>> elif target.endswith('softmmu')<br>> config_target += { 'CONFIG_SOFTMMU': 'y' }<br>> @@ -752,8 +764,14 @@ foreach target : target_dirs<br>> endif<br>> have_accel = true<br>> endforeach<br>> - assert(have_accel)<br>> + if not have_accel<br>> + if default_targets<br>> + continue<br>> + endif<br>> + error('No accelerator available for target @0@'.format(target))<br>> + endif<br>><br>> + actual_target_dirs += target<br>> config_target += keyval.load('default-configs/targets' / target + '.mak')<br>><br>> foreach k, v: disassemblers<br>> @@ -815,6 +833,7 @@ foreach target : target_dirs<br>> endif<br>> config_target_mak += {target: config_target}<br>> endforeach<br>> +target_dirs = actual_target_dirs<br>><br>> # This configuration is used to build files that are shared by<br>> # multiple binaries, and then extracted out of the "common"<br>> @@ -1600,7 +1619,7 @@ if config_host.has_key('CONFIG_MODULES')<br>> endif<br>> summary_info += {'host CPU': cpu}<br>> summary_info += {'host endianness': build_machine.endian()}<br>> -summary_info += {'target list': config_host['TARGET_DIRS']}<br>> +summary_info += {'target list': ' '.join(target_dirs)}<br>> summary_info += {'gprof enabled': config_host.has_key('CONFIG_GPROF')}<br>> summary_info += {'sparse enabled': meson.get_compiler('c').cmd_array().contains('cgcc')}<br>> summary_info += {'strip binaries': get_option('strip')}<br>> --<br>> 2.26.2<br>><br>><br>><br><br><br>--<br> 此致<br>礼<br>罗勇刚<br>Yours<br> sincerely,<br>Yonggang Luo</div></div>
On 20/09/20 15:13, 罗勇刚(Yonggang Luo) wrote: > Can these be generated from meson directly? > as makefile finally need to be removed The files aren't generated and are independent of the Makefile infrastructure. Don't think too much of the .mak extension. :) Paolo
On 9/20/20 6:07 AM, Paolo Bonzini wrote: > Make room for target files in default-configs/targets/ > > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> > --- Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~
On 9/20/20 6:07 AM, Paolo Bonzini wrote: > +if test "$kvm" = "auto" ; then > + if test "$linux" = yes ; then > + kvm=enabled > + else > + if test "$kvm" = "enabled" ; then > + feature_not_found "kvm" "KVM is only available on Linux" Can't get here, as enabled != auto. r~
On 9/20/20 6:07 AM, Paolo Bonzini wrote: > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> > --- > configure | 11 ----------- > 1 file changed, 11 deletions(-) Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~