diff mbox series

[7/9] configure: remove target configuration

Message ID 20200920130708.1156310-8-pbonzini@redhat.com
State New
Headers show
Series Move target configuration to meson | expand

Commit Message

Paolo Bonzini Sept. 20, 2020, 1:07 p.m. UTC
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

Comments

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

Patch

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')}