All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 0/9] Move target configuration to meson
@ 2020-09-20 13:06 Paolo Bonzini
  2020-09-20 13:07 ` [PATCH 1/9] default-configs: move files to default-configs/devices/ Paolo Bonzini
                   ` (8 more replies)
  0 siblings, 9 replies; 21+ messages in thread
From: Paolo Bonzini @ 2020-09-20 13:06 UTC (permalink / raw)
  To: qemu-devel

Next in the "Meson experiments" series, this one moves target
configuration to meson.  Actually only the accelerator part
(supported_target etc.) is moved, the TARGET_* part of config-target.mak
files become static.  This is more maintainable since the files are
small and change very rarely.

The previous default-configs/ files move to default-configs/devices
(matching config-devices.h) while the previous contents of
config-target.mak now reside in default-configs/targets.

RFC because there are other cleanups that might be worth doing at the
same time, such as removing the gdb-xml/ component of TARGET_XML_FILES,
or using TARGET_ARCH=xtensa instead of TARGET_XTENSA=y.  Some might
also prefer to have a single file for e.g. aarch64-linux-user.mak
and aarch64-softmmu.mak (I refrained from doing so because I wasn't
sure if, in the future, bsd-user and linux-user could conflict).
That said, these probably should be done on top of these patches to keep
the initial conversion simple.

Paolo


Paolo Bonzini (9):
  default-configs: move files to default-configs/devices/
  configure: convert accelerator variables to meson options
  configure: rewrite accelerator defaults as tests
  configure: move accelerator logic to meson
  configure: remove dead variable
  configure: move CONFIG_* symbols to meson
  configure: remove target configuration
  default-configs/targets: remove useless lines
  default-configs: remove default-configs/devices for user-mode targets

 configure                                     | 540 ++----------------
 default-configs/aarch64-linux-user.mak        |   1 -
 default-configs/aarch64_be-linux-user.mak     |   1 -
 default-configs/alpha-linux-user.mak          |   1 -
 default-configs/arm-linux-user.mak            |   1 -
 default-configs/armeb-linux-user.mak          |   1 -
 default-configs/cris-linux-user.mak           |   1 -
 .../{ => devices}/aarch64-softmmu.mak         |   0
 .../{ => devices}/alpha-softmmu.mak           |   0
 default-configs/{ => devices}/arm-softmmu.mak |   0
 default-configs/{ => devices}/avr-softmmu.mak |   0
 .../{ => devices}/cris-softmmu.mak            |   0
 .../{ => devices}/hppa-softmmu.mak            |   0
 .../{ => devices}/i386-softmmu.mak            |   0
 .../{ => devices}/lm32-softmmu.mak            |   0
 .../{ => devices}/m68k-softmmu.mak            |   0
 .../{ => devices}/microblaze-softmmu.mak      |   0
 .../{ => devices}/microblazeel-softmmu.mak    |   0
 .../{ => devices}/mips-softmmu-common.mak     |   0
 .../{ => devices}/mips-softmmu.mak            |   0
 .../{ => devices}/mips64-softmmu.mak          |   0
 .../{ => devices}/mips64el-softmmu.mak        |   0
 .../{ => devices}/mipsel-softmmu.mak          |   0
 .../{ => devices}/moxie-softmmu.mak           |   0
 .../{ => devices}/nios2-softmmu.mak           |   0
 .../{ => devices}/or1k-softmmu.mak            |   0
 default-configs/{ => devices}/ppc-softmmu.mak |   0
 .../{ => devices}/ppc64-softmmu.mak           |   0
 .../{ => devices}/riscv32-softmmu.mak         |   0
 .../{ => devices}/riscv64-softmmu.mak         |   0
 default-configs/{ => devices}/rx-softmmu.mak  |   0
 .../{ => devices}/s390x-softmmu.mak           |   0
 default-configs/{ => devices}/sh4-softmmu.mak |   0
 .../{ => devices}/sh4eb-softmmu.mak           |   0
 .../{ => devices}/sparc-softmmu.mak           |   0
 .../{ => devices}/sparc64-softmmu.mak         |   0
 .../{ => devices}/tricore-softmmu.mak         |   0
 .../{ => devices}/unicore32-softmmu.mak       |   0
 .../{ => devices}/x86_64-softmmu.mak          |   0
 .../{ => devices}/xtensa-softmmu.mak          |   0
 .../{ => devices}/xtensaeb-softmmu.mak        |   0
 default-configs/hppa-linux-user.mak           |   1 -
 default-configs/i386-bsd-user.mak             |   1 -
 default-configs/i386-linux-user.mak           |   1 -
 default-configs/m68k-linux-user.mak           |   1 -
 default-configs/microblaze-linux-user.mak     |   1 -
 default-configs/microblazeel-linux-user.mak   |   1 -
 default-configs/mips-linux-user.mak           |   1 -
 default-configs/mips64-linux-user.mak         |   1 -
 default-configs/mips64el-linux-user.mak       |   1 -
 default-configs/mipsel-linux-user.mak         |   1 -
 default-configs/mipsn32-linux-user.mak        |   1 -
 default-configs/mipsn32el-linux-user.mak      |   1 -
 default-configs/nios2-linux-user.mak          |   1 -
 default-configs/or1k-linux-user.mak           |   1 -
 default-configs/ppc-linux-user.mak            |   1 -
 default-configs/ppc64-linux-user.mak          |   1 -
 default-configs/ppc64abi32-linux-user.mak     |   1 -
 default-configs/ppc64le-linux-user.mak        |   1 -
 default-configs/riscv32-linux-user.mak        |   1 -
 default-configs/riscv64-linux-user.mak        |   1 -
 default-configs/s390x-linux-user.mak          |   1 -
 default-configs/sh4-linux-user.mak            |   1 -
 default-configs/sh4eb-linux-user.mak          |   1 -
 default-configs/sparc-bsd-user.mak            |   1 -
 default-configs/sparc-linux-user.mak          |   1 -
 default-configs/sparc32plus-linux-user.mak    |   1 -
 default-configs/sparc64-bsd-user.mak          |   1 -
 default-configs/sparc64-linux-user.mak        |   1 -
 .../targets/aarch64-linux-user.mak            |   5 +
 default-configs/targets/aarch64-softmmu.mak   |   4 +
 .../targets/aarch64_be-linux-user.mak         |   6 +
 default-configs/targets/alpha-linux-user.mak  |   6 +
 default-configs/targets/alpha-softmmu.mak     |   4 +
 default-configs/targets/arm-linux-user.mak    |   7 +
 default-configs/targets/arm-softmmu.mak       |   4 +
 default-configs/targets/armeb-linux-user.mak  |   8 +
 default-configs/targets/avr-softmmu.mak       |   3 +
 default-configs/targets/cris-linux-user.mak   |   3 +
 default-configs/targets/cris-softmmu.mak      |   2 +
 default-configs/targets/hppa-linux-user.mak   |   7 +
 default-configs/targets/hppa-softmmu.mak      |   5 +
 default-configs/targets/i386-bsd-user.mak     |   4 +
 default-configs/targets/i386-linux-user.mak   |   6 +
 default-configs/targets/i386-softmmu.mak      |   4 +
 default-configs/targets/lm32-softmmu.mak      |   3 +
 default-configs/targets/m68k-linux-user.mak   |   8 +
 default-configs/targets/m68k-softmmu.mak      |   4 +
 .../targets/microblaze-linux-user.mak         |   7 +
 .../targets/microblaze-softmmu.mak            |   4 +
 .../targets/microblazeel-linux-user.mak       |   6 +
 .../targets/microblazeel-softmmu.mak          |   3 +
 default-configs/targets/mips-linux-user.mak   |   8 +
 default-configs/targets/mips-softmmu.mak      |   6 +
 default-configs/targets/mips64-linux-user.mak |   8 +
 default-configs/targets/mips64-softmmu.mak    |   5 +
 .../targets/mips64el-linux-user.mak           |   7 +
 default-configs/targets/mips64el-softmmu.mak  |   4 +
 default-configs/targets/mipsel-linux-user.mak |   7 +
 default-configs/targets/mipsel-softmmu.mak    |   5 +
 .../targets/mipsn32-linux-user.mak            |   9 +
 .../targets/mipsn32el-linux-user.mak          |   8 +
 default-configs/targets/moxie-softmmu.mak     |   3 +
 default-configs/targets/nios2-linux-user.mak  |   3 +
 default-configs/targets/nios2-softmmu.mak     |   2 +
 default-configs/targets/or1k-linux-user.mak   |   4 +
 default-configs/targets/or1k-softmmu.mak      |   3 +
 default-configs/targets/ppc-linux-user.mak    |   7 +
 default-configs/targets/ppc-softmmu.mak       |   4 +
 default-configs/targets/ppc64-linux-user.mak  |   7 +
 default-configs/targets/ppc64-softmmu.mak     |   5 +
 .../targets/ppc64abi32-linux-user.mak         |   8 +
 .../targets/ppc64le-linux-user.mak            |   6 +
 .../targets/riscv32-linux-user.mak            |   4 +
 default-configs/targets/riscv32-softmmu.mak   |   4 +
 .../targets/riscv64-linux-user.mak            |   4 +
 default-configs/targets/riscv64-softmmu.mak   |   4 +
 default-configs/targets/rx-softmmu.mak        |   3 +
 default-configs/targets/s390x-linux-user.mak  |   7 +
 default-configs/targets/s390x-softmmu.mak     |   5 +
 default-configs/targets/sh4-linux-user.mak    |   7 +
 default-configs/targets/sh4-softmmu.mak       |   3 +
 default-configs/targets/sh4eb-linux-user.mak  |   8 +
 default-configs/targets/sh4eb-softmmu.mak     |   4 +
 default-configs/targets/sparc-bsd-user.mak    |   5 +
 default-configs/targets/sparc-linux-user.mak  |   7 +
 default-configs/targets/sparc-softmmu.mak     |   4 +
 .../targets/sparc32plus-linux-user.mak        |   8 +
 default-configs/targets/sparc64-bsd-user.mak  |   5 +
 .../targets/sparc64-linux-user.mak            |   7 +
 default-configs/targets/sparc64-softmmu.mak   |   4 +
 default-configs/targets/tilegx-linux-user.mak |   3 +
 default-configs/targets/tricore-softmmu.mak   |   2 +
 default-configs/targets/unicore32-softmmu.mak |   2 +
 default-configs/targets/x86_64-bsd-user.mak   |   4 +
 default-configs/targets/x86_64-linux-user.mak |   6 +
 default-configs/targets/x86_64-softmmu.mak    |   4 +
 default-configs/targets/xtensa-linux-user.mak |   7 +
 default-configs/targets/xtensa-softmmu.mak    |   4 +
 .../targets/xtensaeb-linux-user.mak           |   8 +
 default-configs/targets/xtensaeb-softmmu.mak  |   5 +
 default-configs/tilegx-linux-user.mak         |   1 -
 default-configs/x86_64-bsd-user.mak           |   1 -
 default-configs/x86_64-linux-user.mak         |   1 -
 default-configs/xtensa-linux-user.mak         |   1 -
 default-configs/xtensaeb-linux-user.mak       |   1 -
 meson.build                                   | 154 ++++-
 meson_options.txt                             |  15 +
 148 files changed, 582 insertions(+), 536 deletions(-)
 delete mode 100644 default-configs/aarch64-linux-user.mak
 delete mode 100644 default-configs/aarch64_be-linux-user.mak
 delete mode 100644 default-configs/alpha-linux-user.mak
 delete mode 100644 default-configs/arm-linux-user.mak
 delete mode 100644 default-configs/armeb-linux-user.mak
 delete mode 100644 default-configs/cris-linux-user.mak
 rename default-configs/{ => devices}/aarch64-softmmu.mak (100%)
 rename default-configs/{ => devices}/alpha-softmmu.mak (100%)
 rename default-configs/{ => devices}/arm-softmmu.mak (100%)
 rename default-configs/{ => devices}/avr-softmmu.mak (100%)
 rename default-configs/{ => devices}/cris-softmmu.mak (100%)
 rename default-configs/{ => devices}/hppa-softmmu.mak (100%)
 rename default-configs/{ => devices}/i386-softmmu.mak (100%)
 rename default-configs/{ => devices}/lm32-softmmu.mak (100%)
 rename default-configs/{ => devices}/m68k-softmmu.mak (100%)
 rename default-configs/{ => devices}/microblaze-softmmu.mak (100%)
 rename default-configs/{ => devices}/microblazeel-softmmu.mak (100%)
 rename default-configs/{ => devices}/mips-softmmu-common.mak (100%)
 rename default-configs/{ => devices}/mips-softmmu.mak (100%)
 rename default-configs/{ => devices}/mips64-softmmu.mak (100%)
 rename default-configs/{ => devices}/mips64el-softmmu.mak (100%)
 rename default-configs/{ => devices}/mipsel-softmmu.mak (100%)
 rename default-configs/{ => devices}/moxie-softmmu.mak (100%)
 rename default-configs/{ => devices}/nios2-softmmu.mak (100%)
 rename default-configs/{ => devices}/or1k-softmmu.mak (100%)
 rename default-configs/{ => devices}/ppc-softmmu.mak (100%)
 rename default-configs/{ => devices}/ppc64-softmmu.mak (100%)
 rename default-configs/{ => devices}/riscv32-softmmu.mak (100%)
 rename default-configs/{ => devices}/riscv64-softmmu.mak (100%)
 rename default-configs/{ => devices}/rx-softmmu.mak (100%)
 rename default-configs/{ => devices}/s390x-softmmu.mak (100%)
 rename default-configs/{ => devices}/sh4-softmmu.mak (100%)
 rename default-configs/{ => devices}/sh4eb-softmmu.mak (100%)
 rename default-configs/{ => devices}/sparc-softmmu.mak (100%)
 rename default-configs/{ => devices}/sparc64-softmmu.mak (100%)
 rename default-configs/{ => devices}/tricore-softmmu.mak (100%)
 rename default-configs/{ => devices}/unicore32-softmmu.mak (100%)
 rename default-configs/{ => devices}/x86_64-softmmu.mak (100%)
 rename default-configs/{ => devices}/xtensa-softmmu.mak (100%)
 rename default-configs/{ => devices}/xtensaeb-softmmu.mak (100%)
 delete mode 100644 default-configs/hppa-linux-user.mak
 delete mode 100644 default-configs/i386-bsd-user.mak
 delete mode 100644 default-configs/i386-linux-user.mak
 delete mode 100644 default-configs/m68k-linux-user.mak
 delete mode 100644 default-configs/microblaze-linux-user.mak
 delete mode 100644 default-configs/microblazeel-linux-user.mak
 delete mode 100644 default-configs/mips-linux-user.mak
 delete mode 100644 default-configs/mips64-linux-user.mak
 delete mode 100644 default-configs/mips64el-linux-user.mak
 delete mode 100644 default-configs/mipsel-linux-user.mak
 delete mode 100644 default-configs/mipsn32-linux-user.mak
 delete mode 100644 default-configs/mipsn32el-linux-user.mak
 delete mode 100644 default-configs/nios2-linux-user.mak
 delete mode 100644 default-configs/or1k-linux-user.mak
 delete mode 100644 default-configs/ppc-linux-user.mak
 delete mode 100644 default-configs/ppc64-linux-user.mak
 delete mode 100644 default-configs/ppc64abi32-linux-user.mak
 delete mode 100644 default-configs/ppc64le-linux-user.mak
 delete mode 100644 default-configs/riscv32-linux-user.mak
 delete mode 100644 default-configs/riscv64-linux-user.mak
 delete mode 100644 default-configs/s390x-linux-user.mak
 delete mode 100644 default-configs/sh4-linux-user.mak
 delete mode 100644 default-configs/sh4eb-linux-user.mak
 delete mode 100644 default-configs/sparc-bsd-user.mak
 delete mode 100644 default-configs/sparc-linux-user.mak
 delete mode 100644 default-configs/sparc32plus-linux-user.mak
 delete mode 100644 default-configs/sparc64-bsd-user.mak
 delete mode 100644 default-configs/sparc64-linux-user.mak
 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
 delete mode 100644 default-configs/tilegx-linux-user.mak
 delete mode 100644 default-configs/x86_64-bsd-user.mak
 delete mode 100644 default-configs/x86_64-linux-user.mak
 delete mode 100644 default-configs/xtensa-linux-user.mak
 delete mode 100644 default-configs/xtensaeb-linux-user.mak

-- 
2.26.2



^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH 1/9] default-configs: move files to default-configs/devices/
  2020-09-20 13:06 [RFC PATCH 0/9] Move target configuration to meson Paolo Bonzini
@ 2020-09-20 13:07 ` Paolo Bonzini
  2020-09-20 23:56   ` Richard Henderson
  2020-09-20 13:07 ` [PATCH 2/9] configure: convert accelerator variables to meson options Paolo Bonzini
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 21+ messages in thread
From: Paolo Bonzini @ 2020-09-20 13:07 UTC (permalink / raw)
  To: qemu-devel

Make room for target files in default-configs/targets/

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 configure                                                 | 6 +++---
 default-configs/{ => devices}/aarch64-linux-user.mak      | 0
 default-configs/{ => devices}/aarch64-softmmu.mak         | 0
 default-configs/{ => devices}/aarch64_be-linux-user.mak   | 0
 default-configs/{ => devices}/alpha-linux-user.mak        | 0
 default-configs/{ => devices}/alpha-softmmu.mak           | 0
 default-configs/{ => devices}/arm-linux-user.mak          | 0
 default-configs/{ => devices}/arm-softmmu.mak             | 0
 default-configs/{ => devices}/armeb-linux-user.mak        | 0
 default-configs/{ => devices}/avr-softmmu.mak             | 0
 default-configs/{ => devices}/cris-linux-user.mak         | 0
 default-configs/{ => devices}/cris-softmmu.mak            | 0
 default-configs/{ => devices}/hppa-linux-user.mak         | 0
 default-configs/{ => devices}/hppa-softmmu.mak            | 0
 default-configs/{ => devices}/i386-bsd-user.mak           | 0
 default-configs/{ => devices}/i386-linux-user.mak         | 0
 default-configs/{ => devices}/i386-softmmu.mak            | 0
 default-configs/{ => devices}/lm32-softmmu.mak            | 0
 default-configs/{ => devices}/m68k-linux-user.mak         | 0
 default-configs/{ => devices}/m68k-softmmu.mak            | 0
 default-configs/{ => devices}/microblaze-linux-user.mak   | 0
 default-configs/{ => devices}/microblaze-softmmu.mak      | 0
 default-configs/{ => devices}/microblazeel-linux-user.mak | 0
 default-configs/{ => devices}/microblazeel-softmmu.mak    | 0
 default-configs/{ => devices}/mips-linux-user.mak         | 0
 default-configs/{ => devices}/mips-softmmu-common.mak     | 0
 default-configs/{ => devices}/mips-softmmu.mak            | 0
 default-configs/{ => devices}/mips64-linux-user.mak       | 0
 default-configs/{ => devices}/mips64-softmmu.mak          | 0
 default-configs/{ => devices}/mips64el-linux-user.mak     | 0
 default-configs/{ => devices}/mips64el-softmmu.mak        | 0
 default-configs/{ => devices}/mipsel-linux-user.mak       | 0
 default-configs/{ => devices}/mipsel-softmmu.mak          | 0
 default-configs/{ => devices}/mipsn32-linux-user.mak      | 0
 default-configs/{ => devices}/mipsn32el-linux-user.mak    | 0
 default-configs/{ => devices}/moxie-softmmu.mak           | 0
 default-configs/{ => devices}/nios2-linux-user.mak        | 0
 default-configs/{ => devices}/nios2-softmmu.mak           | 0
 default-configs/{ => devices}/or1k-linux-user.mak         | 0
 default-configs/{ => devices}/or1k-softmmu.mak            | 0
 default-configs/{ => devices}/ppc-linux-user.mak          | 0
 default-configs/{ => devices}/ppc-softmmu.mak             | 0
 default-configs/{ => devices}/ppc64-linux-user.mak        | 0
 default-configs/{ => devices}/ppc64-softmmu.mak           | 0
 default-configs/{ => devices}/ppc64abi32-linux-user.mak   | 0
 default-configs/{ => devices}/ppc64le-linux-user.mak      | 0
 default-configs/{ => devices}/riscv32-linux-user.mak      | 0
 default-configs/{ => devices}/riscv32-softmmu.mak         | 0
 default-configs/{ => devices}/riscv64-linux-user.mak      | 0
 default-configs/{ => devices}/riscv64-softmmu.mak         | 0
 default-configs/{ => devices}/rx-softmmu.mak              | 0
 default-configs/{ => devices}/s390x-linux-user.mak        | 0
 default-configs/{ => devices}/s390x-softmmu.mak           | 0
 default-configs/{ => devices}/sh4-linux-user.mak          | 0
 default-configs/{ => devices}/sh4-softmmu.mak             | 0
 default-configs/{ => devices}/sh4eb-linux-user.mak        | 0
 default-configs/{ => devices}/sh4eb-softmmu.mak           | 0
 default-configs/{ => devices}/sparc-bsd-user.mak          | 0
 default-configs/{ => devices}/sparc-linux-user.mak        | 0
 default-configs/{ => devices}/sparc-softmmu.mak           | 0
 default-configs/{ => devices}/sparc32plus-linux-user.mak  | 0
 default-configs/{ => devices}/sparc64-bsd-user.mak        | 0
 default-configs/{ => devices}/sparc64-linux-user.mak      | 0
 default-configs/{ => devices}/sparc64-softmmu.mak         | 0
 default-configs/{ => devices}/tilegx-linux-user.mak       | 0
 default-configs/{ => devices}/tricore-softmmu.mak         | 0
 default-configs/{ => devices}/unicore32-softmmu.mak       | 0
 default-configs/{ => devices}/x86_64-bsd-user.mak         | 0
 default-configs/{ => devices}/x86_64-linux-user.mak       | 0
 default-configs/{ => devices}/x86_64-softmmu.mak          | 0
 default-configs/{ => devices}/xtensa-linux-user.mak       | 0
 default-configs/{ => devices}/xtensa-softmmu.mak          | 0
 default-configs/{ => devices}/xtensaeb-linux-user.mak     | 0
 default-configs/{ => devices}/xtensaeb-softmmu.mak        | 0
 meson.build                                               | 2 +-
 75 files changed, 4 insertions(+), 4 deletions(-)
 rename default-configs/{ => devices}/aarch64-linux-user.mak (100%)
 rename default-configs/{ => devices}/aarch64-softmmu.mak (100%)
 rename default-configs/{ => devices}/aarch64_be-linux-user.mak (100%)
 rename default-configs/{ => devices}/alpha-linux-user.mak (100%)
 rename default-configs/{ => devices}/alpha-softmmu.mak (100%)
 rename default-configs/{ => devices}/arm-linux-user.mak (100%)
 rename default-configs/{ => devices}/arm-softmmu.mak (100%)
 rename default-configs/{ => devices}/armeb-linux-user.mak (100%)
 rename default-configs/{ => devices}/avr-softmmu.mak (100%)
 rename default-configs/{ => devices}/cris-linux-user.mak (100%)
 rename default-configs/{ => devices}/cris-softmmu.mak (100%)
 rename default-configs/{ => devices}/hppa-linux-user.mak (100%)
 rename default-configs/{ => devices}/hppa-softmmu.mak (100%)
 rename default-configs/{ => devices}/i386-bsd-user.mak (100%)
 rename default-configs/{ => devices}/i386-linux-user.mak (100%)
 rename default-configs/{ => devices}/i386-softmmu.mak (100%)
 rename default-configs/{ => devices}/lm32-softmmu.mak (100%)
 rename default-configs/{ => devices}/m68k-linux-user.mak (100%)
 rename default-configs/{ => devices}/m68k-softmmu.mak (100%)
 rename default-configs/{ => devices}/microblaze-linux-user.mak (100%)
 rename default-configs/{ => devices}/microblaze-softmmu.mak (100%)
 rename default-configs/{ => devices}/microblazeel-linux-user.mak (100%)
 rename default-configs/{ => devices}/microblazeel-softmmu.mak (100%)
 rename default-configs/{ => devices}/mips-linux-user.mak (100%)
 rename default-configs/{ => devices}/mips-softmmu-common.mak (100%)
 rename default-configs/{ => devices}/mips-softmmu.mak (100%)
 rename default-configs/{ => devices}/mips64-linux-user.mak (100%)
 rename default-configs/{ => devices}/mips64-softmmu.mak (100%)
 rename default-configs/{ => devices}/mips64el-linux-user.mak (100%)
 rename default-configs/{ => devices}/mips64el-softmmu.mak (100%)
 rename default-configs/{ => devices}/mipsel-linux-user.mak (100%)
 rename default-configs/{ => devices}/mipsel-softmmu.mak (100%)
 rename default-configs/{ => devices}/mipsn32-linux-user.mak (100%)
 rename default-configs/{ => devices}/mipsn32el-linux-user.mak (100%)
 rename default-configs/{ => devices}/moxie-softmmu.mak (100%)
 rename default-configs/{ => devices}/nios2-linux-user.mak (100%)
 rename default-configs/{ => devices}/nios2-softmmu.mak (100%)
 rename default-configs/{ => devices}/or1k-linux-user.mak (100%)
 rename default-configs/{ => devices}/or1k-softmmu.mak (100%)
 rename default-configs/{ => devices}/ppc-linux-user.mak (100%)
 rename default-configs/{ => devices}/ppc-softmmu.mak (100%)
 rename default-configs/{ => devices}/ppc64-linux-user.mak (100%)
 rename default-configs/{ => devices}/ppc64-softmmu.mak (100%)
 rename default-configs/{ => devices}/ppc64abi32-linux-user.mak (100%)
 rename default-configs/{ => devices}/ppc64le-linux-user.mak (100%)
 rename default-configs/{ => devices}/riscv32-linux-user.mak (100%)
 rename default-configs/{ => devices}/riscv32-softmmu.mak (100%)
 rename default-configs/{ => devices}/riscv64-linux-user.mak (100%)
 rename default-configs/{ => devices}/riscv64-softmmu.mak (100%)
 rename default-configs/{ => devices}/rx-softmmu.mak (100%)
 rename default-configs/{ => devices}/s390x-linux-user.mak (100%)
 rename default-configs/{ => devices}/s390x-softmmu.mak (100%)
 rename default-configs/{ => devices}/sh4-linux-user.mak (100%)
 rename default-configs/{ => devices}/sh4-softmmu.mak (100%)
 rename default-configs/{ => devices}/sh4eb-linux-user.mak (100%)
 rename default-configs/{ => devices}/sh4eb-softmmu.mak (100%)
 rename default-configs/{ => devices}/sparc-bsd-user.mak (100%)
 rename default-configs/{ => devices}/sparc-linux-user.mak (100%)
 rename default-configs/{ => devices}/sparc-softmmu.mak (100%)
 rename default-configs/{ => devices}/sparc32plus-linux-user.mak (100%)
 rename default-configs/{ => devices}/sparc64-bsd-user.mak (100%)
 rename default-configs/{ => devices}/sparc64-linux-user.mak (100%)
 rename default-configs/{ => devices}/sparc64-softmmu.mak (100%)
 rename default-configs/{ => devices}/tilegx-linux-user.mak (100%)
 rename default-configs/{ => devices}/tricore-softmmu.mak (100%)
 rename default-configs/{ => devices}/unicore32-softmmu.mak (100%)
 rename default-configs/{ => devices}/x86_64-bsd-user.mak (100%)
 rename default-configs/{ => devices}/x86_64-linux-user.mak (100%)
 rename default-configs/{ => devices}/x86_64-softmmu.mak (100%)
 rename default-configs/{ => devices}/xtensa-linux-user.mak (100%)
 rename default-configs/{ => devices}/xtensa-softmmu.mak (100%)
 rename default-configs/{ => devices}/xtensaeb-linux-user.mak (100%)
 rename default-configs/{ => devices}/xtensaeb-softmmu.mak (100%)

diff --git a/configure b/configure
index c65d3e06bb..bf55c24557 100755
--- a/configure
+++ b/configure
@@ -1716,13 +1716,13 @@ default_target_list=""
 mak_wilds=""
 
 if [ "$softmmu" = "yes" ]; then
-    mak_wilds="${mak_wilds} $source_path/default-configs/*-softmmu.mak"
+    mak_wilds="${mak_wilds} $source_path/default-configs/devices/*-softmmu.mak"
 fi
 if [ "$linux_user" = "yes" ]; then
-    mak_wilds="${mak_wilds} $source_path/default-configs/*-linux-user.mak"
+    mak_wilds="${mak_wilds} $source_path/default-configs/devices/*-linux-user.mak"
 fi
 if [ "$bsd_user" = "yes" ]; then
-    mak_wilds="${mak_wilds} $source_path/default-configs/*-bsd-user.mak"
+    mak_wilds="${mak_wilds} $source_path/default-configs/devices/*-bsd-user.mak"
 fi
 
 if test -z "$target_list_exclude" -a -z "$target_list"; then
diff --git a/default-configs/aarch64-linux-user.mak b/default-configs/devices/aarch64-linux-user.mak
similarity index 100%
rename from default-configs/aarch64-linux-user.mak
rename to default-configs/devices/aarch64-linux-user.mak
diff --git a/default-configs/aarch64-softmmu.mak b/default-configs/devices/aarch64-softmmu.mak
similarity index 100%
rename from default-configs/aarch64-softmmu.mak
rename to default-configs/devices/aarch64-softmmu.mak
diff --git a/default-configs/aarch64_be-linux-user.mak b/default-configs/devices/aarch64_be-linux-user.mak
similarity index 100%
rename from default-configs/aarch64_be-linux-user.mak
rename to default-configs/devices/aarch64_be-linux-user.mak
diff --git a/default-configs/alpha-linux-user.mak b/default-configs/devices/alpha-linux-user.mak
similarity index 100%
rename from default-configs/alpha-linux-user.mak
rename to default-configs/devices/alpha-linux-user.mak
diff --git a/default-configs/alpha-softmmu.mak b/default-configs/devices/alpha-softmmu.mak
similarity index 100%
rename from default-configs/alpha-softmmu.mak
rename to default-configs/devices/alpha-softmmu.mak
diff --git a/default-configs/arm-linux-user.mak b/default-configs/devices/arm-linux-user.mak
similarity index 100%
rename from default-configs/arm-linux-user.mak
rename to default-configs/devices/arm-linux-user.mak
diff --git a/default-configs/arm-softmmu.mak b/default-configs/devices/arm-softmmu.mak
similarity index 100%
rename from default-configs/arm-softmmu.mak
rename to default-configs/devices/arm-softmmu.mak
diff --git a/default-configs/armeb-linux-user.mak b/default-configs/devices/armeb-linux-user.mak
similarity index 100%
rename from default-configs/armeb-linux-user.mak
rename to default-configs/devices/armeb-linux-user.mak
diff --git a/default-configs/avr-softmmu.mak b/default-configs/devices/avr-softmmu.mak
similarity index 100%
rename from default-configs/avr-softmmu.mak
rename to default-configs/devices/avr-softmmu.mak
diff --git a/default-configs/cris-linux-user.mak b/default-configs/devices/cris-linux-user.mak
similarity index 100%
rename from default-configs/cris-linux-user.mak
rename to default-configs/devices/cris-linux-user.mak
diff --git a/default-configs/cris-softmmu.mak b/default-configs/devices/cris-softmmu.mak
similarity index 100%
rename from default-configs/cris-softmmu.mak
rename to default-configs/devices/cris-softmmu.mak
diff --git a/default-configs/hppa-linux-user.mak b/default-configs/devices/hppa-linux-user.mak
similarity index 100%
rename from default-configs/hppa-linux-user.mak
rename to default-configs/devices/hppa-linux-user.mak
diff --git a/default-configs/hppa-softmmu.mak b/default-configs/devices/hppa-softmmu.mak
similarity index 100%
rename from default-configs/hppa-softmmu.mak
rename to default-configs/devices/hppa-softmmu.mak
diff --git a/default-configs/i386-bsd-user.mak b/default-configs/devices/i386-bsd-user.mak
similarity index 100%
rename from default-configs/i386-bsd-user.mak
rename to default-configs/devices/i386-bsd-user.mak
diff --git a/default-configs/i386-linux-user.mak b/default-configs/devices/i386-linux-user.mak
similarity index 100%
rename from default-configs/i386-linux-user.mak
rename to default-configs/devices/i386-linux-user.mak
diff --git a/default-configs/i386-softmmu.mak b/default-configs/devices/i386-softmmu.mak
similarity index 100%
rename from default-configs/i386-softmmu.mak
rename to default-configs/devices/i386-softmmu.mak
diff --git a/default-configs/lm32-softmmu.mak b/default-configs/devices/lm32-softmmu.mak
similarity index 100%
rename from default-configs/lm32-softmmu.mak
rename to default-configs/devices/lm32-softmmu.mak
diff --git a/default-configs/m68k-linux-user.mak b/default-configs/devices/m68k-linux-user.mak
similarity index 100%
rename from default-configs/m68k-linux-user.mak
rename to default-configs/devices/m68k-linux-user.mak
diff --git a/default-configs/m68k-softmmu.mak b/default-configs/devices/m68k-softmmu.mak
similarity index 100%
rename from default-configs/m68k-softmmu.mak
rename to default-configs/devices/m68k-softmmu.mak
diff --git a/default-configs/microblaze-linux-user.mak b/default-configs/devices/microblaze-linux-user.mak
similarity index 100%
rename from default-configs/microblaze-linux-user.mak
rename to default-configs/devices/microblaze-linux-user.mak
diff --git a/default-configs/microblaze-softmmu.mak b/default-configs/devices/microblaze-softmmu.mak
similarity index 100%
rename from default-configs/microblaze-softmmu.mak
rename to default-configs/devices/microblaze-softmmu.mak
diff --git a/default-configs/microblazeel-linux-user.mak b/default-configs/devices/microblazeel-linux-user.mak
similarity index 100%
rename from default-configs/microblazeel-linux-user.mak
rename to default-configs/devices/microblazeel-linux-user.mak
diff --git a/default-configs/microblazeel-softmmu.mak b/default-configs/devices/microblazeel-softmmu.mak
similarity index 100%
rename from default-configs/microblazeel-softmmu.mak
rename to default-configs/devices/microblazeel-softmmu.mak
diff --git a/default-configs/mips-linux-user.mak b/default-configs/devices/mips-linux-user.mak
similarity index 100%
rename from default-configs/mips-linux-user.mak
rename to default-configs/devices/mips-linux-user.mak
diff --git a/default-configs/mips-softmmu-common.mak b/default-configs/devices/mips-softmmu-common.mak
similarity index 100%
rename from default-configs/mips-softmmu-common.mak
rename to default-configs/devices/mips-softmmu-common.mak
diff --git a/default-configs/mips-softmmu.mak b/default-configs/devices/mips-softmmu.mak
similarity index 100%
rename from default-configs/mips-softmmu.mak
rename to default-configs/devices/mips-softmmu.mak
diff --git a/default-configs/mips64-linux-user.mak b/default-configs/devices/mips64-linux-user.mak
similarity index 100%
rename from default-configs/mips64-linux-user.mak
rename to default-configs/devices/mips64-linux-user.mak
diff --git a/default-configs/mips64-softmmu.mak b/default-configs/devices/mips64-softmmu.mak
similarity index 100%
rename from default-configs/mips64-softmmu.mak
rename to default-configs/devices/mips64-softmmu.mak
diff --git a/default-configs/mips64el-linux-user.mak b/default-configs/devices/mips64el-linux-user.mak
similarity index 100%
rename from default-configs/mips64el-linux-user.mak
rename to default-configs/devices/mips64el-linux-user.mak
diff --git a/default-configs/mips64el-softmmu.mak b/default-configs/devices/mips64el-softmmu.mak
similarity index 100%
rename from default-configs/mips64el-softmmu.mak
rename to default-configs/devices/mips64el-softmmu.mak
diff --git a/default-configs/mipsel-linux-user.mak b/default-configs/devices/mipsel-linux-user.mak
similarity index 100%
rename from default-configs/mipsel-linux-user.mak
rename to default-configs/devices/mipsel-linux-user.mak
diff --git a/default-configs/mipsel-softmmu.mak b/default-configs/devices/mipsel-softmmu.mak
similarity index 100%
rename from default-configs/mipsel-softmmu.mak
rename to default-configs/devices/mipsel-softmmu.mak
diff --git a/default-configs/mipsn32-linux-user.mak b/default-configs/devices/mipsn32-linux-user.mak
similarity index 100%
rename from default-configs/mipsn32-linux-user.mak
rename to default-configs/devices/mipsn32-linux-user.mak
diff --git a/default-configs/mipsn32el-linux-user.mak b/default-configs/devices/mipsn32el-linux-user.mak
similarity index 100%
rename from default-configs/mipsn32el-linux-user.mak
rename to default-configs/devices/mipsn32el-linux-user.mak
diff --git a/default-configs/moxie-softmmu.mak b/default-configs/devices/moxie-softmmu.mak
similarity index 100%
rename from default-configs/moxie-softmmu.mak
rename to default-configs/devices/moxie-softmmu.mak
diff --git a/default-configs/nios2-linux-user.mak b/default-configs/devices/nios2-linux-user.mak
similarity index 100%
rename from default-configs/nios2-linux-user.mak
rename to default-configs/devices/nios2-linux-user.mak
diff --git a/default-configs/nios2-softmmu.mak b/default-configs/devices/nios2-softmmu.mak
similarity index 100%
rename from default-configs/nios2-softmmu.mak
rename to default-configs/devices/nios2-softmmu.mak
diff --git a/default-configs/or1k-linux-user.mak b/default-configs/devices/or1k-linux-user.mak
similarity index 100%
rename from default-configs/or1k-linux-user.mak
rename to default-configs/devices/or1k-linux-user.mak
diff --git a/default-configs/or1k-softmmu.mak b/default-configs/devices/or1k-softmmu.mak
similarity index 100%
rename from default-configs/or1k-softmmu.mak
rename to default-configs/devices/or1k-softmmu.mak
diff --git a/default-configs/ppc-linux-user.mak b/default-configs/devices/ppc-linux-user.mak
similarity index 100%
rename from default-configs/ppc-linux-user.mak
rename to default-configs/devices/ppc-linux-user.mak
diff --git a/default-configs/ppc-softmmu.mak b/default-configs/devices/ppc-softmmu.mak
similarity index 100%
rename from default-configs/ppc-softmmu.mak
rename to default-configs/devices/ppc-softmmu.mak
diff --git a/default-configs/ppc64-linux-user.mak b/default-configs/devices/ppc64-linux-user.mak
similarity index 100%
rename from default-configs/ppc64-linux-user.mak
rename to default-configs/devices/ppc64-linux-user.mak
diff --git a/default-configs/ppc64-softmmu.mak b/default-configs/devices/ppc64-softmmu.mak
similarity index 100%
rename from default-configs/ppc64-softmmu.mak
rename to default-configs/devices/ppc64-softmmu.mak
diff --git a/default-configs/ppc64abi32-linux-user.mak b/default-configs/devices/ppc64abi32-linux-user.mak
similarity index 100%
rename from default-configs/ppc64abi32-linux-user.mak
rename to default-configs/devices/ppc64abi32-linux-user.mak
diff --git a/default-configs/ppc64le-linux-user.mak b/default-configs/devices/ppc64le-linux-user.mak
similarity index 100%
rename from default-configs/ppc64le-linux-user.mak
rename to default-configs/devices/ppc64le-linux-user.mak
diff --git a/default-configs/riscv32-linux-user.mak b/default-configs/devices/riscv32-linux-user.mak
similarity index 100%
rename from default-configs/riscv32-linux-user.mak
rename to default-configs/devices/riscv32-linux-user.mak
diff --git a/default-configs/riscv32-softmmu.mak b/default-configs/devices/riscv32-softmmu.mak
similarity index 100%
rename from default-configs/riscv32-softmmu.mak
rename to default-configs/devices/riscv32-softmmu.mak
diff --git a/default-configs/riscv64-linux-user.mak b/default-configs/devices/riscv64-linux-user.mak
similarity index 100%
rename from default-configs/riscv64-linux-user.mak
rename to default-configs/devices/riscv64-linux-user.mak
diff --git a/default-configs/riscv64-softmmu.mak b/default-configs/devices/riscv64-softmmu.mak
similarity index 100%
rename from default-configs/riscv64-softmmu.mak
rename to default-configs/devices/riscv64-softmmu.mak
diff --git a/default-configs/rx-softmmu.mak b/default-configs/devices/rx-softmmu.mak
similarity index 100%
rename from default-configs/rx-softmmu.mak
rename to default-configs/devices/rx-softmmu.mak
diff --git a/default-configs/s390x-linux-user.mak b/default-configs/devices/s390x-linux-user.mak
similarity index 100%
rename from default-configs/s390x-linux-user.mak
rename to default-configs/devices/s390x-linux-user.mak
diff --git a/default-configs/s390x-softmmu.mak b/default-configs/devices/s390x-softmmu.mak
similarity index 100%
rename from default-configs/s390x-softmmu.mak
rename to default-configs/devices/s390x-softmmu.mak
diff --git a/default-configs/sh4-linux-user.mak b/default-configs/devices/sh4-linux-user.mak
similarity index 100%
rename from default-configs/sh4-linux-user.mak
rename to default-configs/devices/sh4-linux-user.mak
diff --git a/default-configs/sh4-softmmu.mak b/default-configs/devices/sh4-softmmu.mak
similarity index 100%
rename from default-configs/sh4-softmmu.mak
rename to default-configs/devices/sh4-softmmu.mak
diff --git a/default-configs/sh4eb-linux-user.mak b/default-configs/devices/sh4eb-linux-user.mak
similarity index 100%
rename from default-configs/sh4eb-linux-user.mak
rename to default-configs/devices/sh4eb-linux-user.mak
diff --git a/default-configs/sh4eb-softmmu.mak b/default-configs/devices/sh4eb-softmmu.mak
similarity index 100%
rename from default-configs/sh4eb-softmmu.mak
rename to default-configs/devices/sh4eb-softmmu.mak
diff --git a/default-configs/sparc-bsd-user.mak b/default-configs/devices/sparc-bsd-user.mak
similarity index 100%
rename from default-configs/sparc-bsd-user.mak
rename to default-configs/devices/sparc-bsd-user.mak
diff --git a/default-configs/sparc-linux-user.mak b/default-configs/devices/sparc-linux-user.mak
similarity index 100%
rename from default-configs/sparc-linux-user.mak
rename to default-configs/devices/sparc-linux-user.mak
diff --git a/default-configs/sparc-softmmu.mak b/default-configs/devices/sparc-softmmu.mak
similarity index 100%
rename from default-configs/sparc-softmmu.mak
rename to default-configs/devices/sparc-softmmu.mak
diff --git a/default-configs/sparc32plus-linux-user.mak b/default-configs/devices/sparc32plus-linux-user.mak
similarity index 100%
rename from default-configs/sparc32plus-linux-user.mak
rename to default-configs/devices/sparc32plus-linux-user.mak
diff --git a/default-configs/sparc64-bsd-user.mak b/default-configs/devices/sparc64-bsd-user.mak
similarity index 100%
rename from default-configs/sparc64-bsd-user.mak
rename to default-configs/devices/sparc64-bsd-user.mak
diff --git a/default-configs/sparc64-linux-user.mak b/default-configs/devices/sparc64-linux-user.mak
similarity index 100%
rename from default-configs/sparc64-linux-user.mak
rename to default-configs/devices/sparc64-linux-user.mak
diff --git a/default-configs/sparc64-softmmu.mak b/default-configs/devices/sparc64-softmmu.mak
similarity index 100%
rename from default-configs/sparc64-softmmu.mak
rename to default-configs/devices/sparc64-softmmu.mak
diff --git a/default-configs/tilegx-linux-user.mak b/default-configs/devices/tilegx-linux-user.mak
similarity index 100%
rename from default-configs/tilegx-linux-user.mak
rename to default-configs/devices/tilegx-linux-user.mak
diff --git a/default-configs/tricore-softmmu.mak b/default-configs/devices/tricore-softmmu.mak
similarity index 100%
rename from default-configs/tricore-softmmu.mak
rename to default-configs/devices/tricore-softmmu.mak
diff --git a/default-configs/unicore32-softmmu.mak b/default-configs/devices/unicore32-softmmu.mak
similarity index 100%
rename from default-configs/unicore32-softmmu.mak
rename to default-configs/devices/unicore32-softmmu.mak
diff --git a/default-configs/x86_64-bsd-user.mak b/default-configs/devices/x86_64-bsd-user.mak
similarity index 100%
rename from default-configs/x86_64-bsd-user.mak
rename to default-configs/devices/x86_64-bsd-user.mak
diff --git a/default-configs/x86_64-linux-user.mak b/default-configs/devices/x86_64-linux-user.mak
similarity index 100%
rename from default-configs/x86_64-linux-user.mak
rename to default-configs/devices/x86_64-linux-user.mak
diff --git a/default-configs/x86_64-softmmu.mak b/default-configs/devices/x86_64-softmmu.mak
similarity index 100%
rename from default-configs/x86_64-softmmu.mak
rename to default-configs/devices/x86_64-softmmu.mak
diff --git a/default-configs/xtensa-linux-user.mak b/default-configs/devices/xtensa-linux-user.mak
similarity index 100%
rename from default-configs/xtensa-linux-user.mak
rename to default-configs/devices/xtensa-linux-user.mak
diff --git a/default-configs/xtensa-softmmu.mak b/default-configs/devices/xtensa-softmmu.mak
similarity index 100%
rename from default-configs/xtensa-softmmu.mak
rename to default-configs/devices/xtensa-softmmu.mak
diff --git a/default-configs/xtensaeb-linux-user.mak b/default-configs/devices/xtensaeb-linux-user.mak
similarity index 100%
rename from default-configs/xtensaeb-linux-user.mak
rename to default-configs/devices/xtensaeb-linux-user.mak
diff --git a/default-configs/xtensaeb-softmmu.mak b/default-configs/devices/xtensaeb-softmmu.mak
similarity index 100%
rename from default-configs/xtensaeb-softmmu.mak
rename to default-configs/devices/xtensaeb-softmmu.mak
diff --git a/meson.build b/meson.build
index 4d6ef64adf..a12ad1fbff 100644
--- a/meson.build
+++ b/meson.build
@@ -699,7 +699,7 @@ foreach target : target_dirs
 
     config_devices_mak = target + '-config-devices.mak'
     config_devices_mak = configure_file(
-      input: ['default-configs' / target + '.mak', 'Kconfig'],
+      input: ['default-configs/devices' / target + '.mak', 'Kconfig'],
       output: config_devices_mak,
       depfile: config_devices_mak + '.d',
       capture: true,
-- 
2.26.2




^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 2/9] configure: convert accelerator variables to meson options
  2020-09-20 13:06 [RFC PATCH 0/9] Move target configuration to meson Paolo Bonzini
  2020-09-20 13:07 ` [PATCH 1/9] default-configs: move files to default-configs/devices/ Paolo Bonzini
@ 2020-09-20 13:07 ` Paolo Bonzini
  2020-09-21  0:04   ` Richard Henderson
  2020-09-20 13:07 ` [PATCH 3/9] configure: rewrite accelerator defaults as tests Paolo Bonzini
                   ` (6 subsequent siblings)
  8 siblings, 1 reply; 21+ messages in thread
From: Paolo Bonzini @ 2020-09-20 13:07 UTC (permalink / raw)
  To: qemu-devel

Prepare for moving the tests to meson.  For now they only have
enabled/disabled as the possible values when meson is invoked,
but "auto" will be a possibility later, when configure will only
parse the command line options.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 configure         | 132 +++++++++++++++++++++++-----------------------
 meson_options.txt |  15 ++++++
 2 files changed, 82 insertions(+), 65 deletions(-)

diff --git a/configure b/configure
index bf55c24557..ade456b7af 100755
--- a/configure
+++ b/configure
@@ -221,7 +221,7 @@ glob() {
 }
 
 supported_hax_target() {
-    test "$hax" = "yes" || return 1
+    test "$hax" = "enabled" || return 1
     glob "$1" "*-softmmu" || return 1
     case "${1%-softmmu}" in
         i386|x86_64)
@@ -232,7 +232,7 @@ supported_hax_target() {
 }
 
 supported_kvm_target() {
-    test "$kvm" = "yes" || return 1
+    test "$kvm" = "enabled" || return 1
     glob "$1" "*-softmmu" || return 1
     case "${1%-softmmu}:$cpu" in
         aarch64:aarch64 | \
@@ -248,7 +248,7 @@ supported_kvm_target() {
 }
 
 supported_xen_target() {
-    test "$xen" = "yes" || return 1
+    test "$xen" = "enabled" || return 1
     glob "$1" "*-softmmu" || return 1
     # Only i386 and x86_64 provide the xenpv machine.
     case "${1%-softmmu}" in
@@ -260,7 +260,7 @@ supported_xen_target() {
 }
 
 supported_hvf_target() {
-    test "$hvf" = "yes" || return 1
+    test "$hvf" = "enabled" || return 1
     glob "$1" "*-softmmu" || return 1
     case "${1%-softmmu}" in
         x86_64)
@@ -271,7 +271,7 @@ supported_hvf_target() {
 }
 
 supported_whpx_target() {
-    test "$whpx" = "yes" || return 1
+    test "$whpx" = "enabled" || return 1
     glob "$1" "*-softmmu" || return 1
     case "${1%-softmmu}" in
         i386|x86_64)
@@ -302,7 +302,7 @@ supported_target() {
             return 1
             ;;
     esac
-    test "$tcg" = "yes" && return 0
+    test "$tcg" = "enabled" && return 0
     supported_kvm_target "$1" && return 0
     supported_xen_target "$1" && return 0
     supported_hax_target "$1" && return 0
@@ -405,14 +405,14 @@ vnc_png="auto"
 xkbcommon="auto"
 xen=""
 xen_ctrl_version=""
-xen_pci_passthrough=""
+xen_pci_passthrough="auto"
 linux_aio=""
 linux_io_uring=""
 cap_ng=""
 attr=""
 libattr=""
 xfs=""
-tcg="yes"
+tcg="enabled"
 membarrier=""
 vhost_net=""
 vhost_crypto=""
@@ -420,10 +420,10 @@ vhost_scsi=""
 vhost_vsock=""
 vhost_user=""
 vhost_user_fs=""
-kvm="no"
-hax="no"
-hvf="no"
-whpx="no"
+kvm="disabled"
+hax="disabled"
+hvf="disabled"
+whpx="disabled"
 rdma=""
 pvrdma=""
 gprof="no"
@@ -814,8 +814,8 @@ HOST_VARIANT_DIR=""
 case $targetos in
 MINGW32*)
   mingw32="yes"
-  hax="yes"
-  whpx=""
+  hax="enabled"
+  whpx="auto"
   vhost_user="no"
   audio_possible_drivers="dsound sdl"
   if check_include dsound.h; then
@@ -849,7 +849,7 @@ DragonFly)
 ;;
 NetBSD)
   bsd="yes"
-  hax="yes"
+  hax="enabled"
   make="${MAKE-gmake}"
   audio_drv_list="oss try-sdl"
   audio_possible_drivers="oss sdl"
@@ -866,8 +866,8 @@ OpenBSD)
 Darwin)
   bsd="yes"
   darwin="yes"
-  hax="yes"
-  hvf=""
+  hax="enabled"
+  hvf="auto"
   if [ "$cpu" = "x86_64" ] ; then
     QEMU_CFLAGS="-arch x86_64 $QEMU_CFLAGS"
     QEMU_LDFLAGS="-arch x86_64 $QEMU_LDFLAGS"
@@ -903,7 +903,7 @@ Linux)
   audio_possible_drivers="oss alsa sdl pa"
   linux="yes"
   linux_user="yes"
-  kvm="yes"
+  kvm="enabled"
   QEMU_INCLUDES="-isystem ${source_path}/linux-headers -Ilinux-headers $QEMU_INCLUDES"
 ;;
 esac
@@ -1185,33 +1185,33 @@ for opt do
   ;;
   --enable-netmap) netmap="yes"
   ;;
-  --disable-xen) xen="no"
+  --disable-xen) xen="disabled"
   ;;
-  --enable-xen) xen="yes"
+  --enable-xen) xen="enabled"
   ;;
-  --disable-xen-pci-passthrough) xen_pci_passthrough="no"
+  --disable-xen-pci-passthrough) xen_pci_passthrough="disabled"
   ;;
-  --enable-xen-pci-passthrough) xen_pci_passthrough="yes"
+  --enable-xen-pci-passthrough) xen_pci_passthrough="enabled"
   ;;
   --disable-brlapi) brlapi="no"
   ;;
   --enable-brlapi) brlapi="yes"
   ;;
-  --disable-kvm) kvm="no"
+  --disable-kvm) kvm="disabled"
   ;;
-  --enable-kvm) kvm="yes"
+  --enable-kvm) kvm="enabled"
   ;;
-  --disable-hax) hax="no"
+  --disable-hax) hax="disabled"
   ;;
-  --enable-hax) hax="yes"
+  --enable-hax) hax="enabled"
   ;;
-  --disable-hvf) hvf="no"
+  --disable-hvf) hvf="disabled"
   ;;
-  --enable-hvf) hvf="yes"
+  --enable-hvf) hvf="enabled"
   ;;
-  --disable-whpx) whpx="no"
+  --disable-whpx) whpx="disabled"
   ;;
-  --enable-whpx) whpx="yes"
+  --enable-whpx) whpx="enabled"
   ;;
   --disable-tcg-interpreter) tcg_interpreter="no"
   ;;
@@ -1221,9 +1221,9 @@ for opt do
   ;;
   --enable-cap-ng) cap_ng="yes"
   ;;
-  --disable-tcg) tcg="no"
+  --disable-tcg) tcg="disabled"
   ;;
-  --enable-tcg) tcg="yes"
+  --enable-tcg) tcg="enabled"
   ;;
   --disable-malloc-trim) malloc_trim="disabled"
   ;;
@@ -1708,7 +1708,7 @@ if [ "$ARCH" = "unknown" ]; then
 fi
 
 if [ "$bsd_user" = "no" -a "$linux_user" = "no" -a "$softmmu" = "no" ] ; then
-  tcg="no"
+  tcg="disabled"
 fi
 
 default_target_list=""
@@ -2667,7 +2667,7 @@ fi
 ##########################################
 # xen probe
 
-if test "$xen" != "no" ; then
+if test "$xen" != "disabled" ; then
   # Check whether Xen library path is specified via --extra-ldflags to avoid
   # overriding this setting with pkg-config output. If not, try pkg-config
   # to obtain all needed flags.
@@ -2676,7 +2676,7 @@ if test "$xen" != "no" ; then
      $pkg_config --exists xencontrol ; then
     xen_ctrl_version="$(printf '%d%02d%02d' \
       $($pkg_config --modversion xencontrol | sed 's/\./ /g') )"
-    xen=yes
+    xen=enabled
     xen_pc="xencontrol xenstore xenguest xenforeignmemory xengnttab"
     xen_pc="$xen_pc xenevtchn xendevicemodel"
     if $pkg_config --exists xentoolcore; then
@@ -2702,10 +2702,10 @@ int main(void) {
 EOF
     if ! compile_prog "" "$xen_libs" ; then
       # Xen not found
-      if test "$xen" = "yes" ; then
+      if test "$xen" = "enabled" ; then
         feature_not_found "xen" "Install xen devel"
       fi
-      xen=no
+      xen=disabled
 
     # Xen unstable
     elif
@@ -2731,7 +2731,7 @@ EOF
       then
       xen_stable_libs="-lxendevicemodel $xen_stable_libs -lxentoolcore"
       xen_ctrl_version=41100
-      xen=yes
+      xen=enabled
     elif
         cat > $TMPC <<EOF &&
 #undef XC_WANT_COMPAT_MAP_FOREIGN_API
@@ -2751,7 +2751,7 @@ EOF
       then
       xen_stable_libs="-lxendevicemodel $xen_stable_libs -lxentoolcore"
       xen_ctrl_version=41000
-      xen=yes
+      xen=enabled
     elif
         cat > $TMPC <<EOF &&
 #undef XC_WANT_COMPAT_DEVICEMODEL_API
@@ -2770,7 +2770,7 @@ EOF
       then
       xen_stable_libs="-lxendevicemodel $xen_stable_libs"
       xen_ctrl_version=40900
-      xen=yes
+      xen=enabled
     elif
         cat > $TMPC <<EOF &&
 /*
@@ -2823,7 +2823,7 @@ EOF
         compile_prog "" "$xen_libs $xen_stable_libs"
       then
       xen_ctrl_version=40800
-      xen=yes
+      xen=enabled
     elif
         cat > $TMPC <<EOF &&
 /*
@@ -2872,7 +2872,7 @@ EOF
         compile_prog "" "$xen_libs $xen_stable_libs"
       then
       xen_ctrl_version=40701
-      xen=yes
+      xen=enabled
 
     # Xen 4.6
     elif
@@ -2900,7 +2900,7 @@ EOF
         compile_prog "" "$xen_libs"
       then
       xen_ctrl_version=40600
-      xen=yes
+      xen=enabled
 
     # Xen 4.5
     elif
@@ -2927,7 +2927,7 @@ EOF
         compile_prog "" "$xen_libs"
       then
       xen_ctrl_version=40500
-      xen=yes
+      xen=enabled
 
     elif
         cat > $TMPC <<EOF &&
@@ -2952,17 +2952,17 @@ EOF
         compile_prog "" "$xen_libs"
       then
       xen_ctrl_version=40200
-      xen=yes
+      xen=enabled
 
     else
-      if test "$xen" = "yes" ; then
+      if test "$xen" = "enabled" ; then
         feature_not_found "xen (unsupported version)" \
                           "Install a supported xen (xen 4.2 or newer)"
       fi
-      xen=no
+      xen=disabled
     fi
 
-    if test "$xen" = yes; then
+    if test "$xen" = enabled; then
       if test $xen_ctrl_version -ge 40701  ; then
         xen_libs="$xen_libs $xen_stable_libs "
       fi
@@ -2970,31 +2970,31 @@ EOF
   fi
 fi
 
-if test "$xen_pci_passthrough" != "no"; then
-  if test "$xen" = "yes" && test "$linux" = "yes"; then
-    xen_pci_passthrough=yes
+if test "$xen_pci_passthrough" != "disabled"; then
+  if test "$xen" = "enabled" && test "$linux" = "yes"; then
+    xen_pci_passthrough=enabled
   else
-    if test "$xen_pci_passthrough" = "yes"; then
+    if test "$xen_pci_passthrough" = "enabled"; then
       error_exit "User requested feature Xen PCI Passthrough" \
           " but this feature requires /sys from Linux"
     fi
-    xen_pci_passthrough=no
+    xen_pci_passthrough=disabled
   fi
 fi
 
 ##########################################
 # Windows Hypervisor Platform accelerator (WHPX) check
-if test "$whpx" = "yes" && test "$ARCH" != "x86_64"; then
+if test "$whpx" = "enabled" && test "$ARCH" != "x86_64"; then
   error_exit "WHPX requires 64-bit host"
 fi
-if test "$whpx" != "no" && test "$ARCH" = "x86_64"; then
+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" = "yes"; then
+        if test "$whpx" = "auto"; then
             feature_not_found "WinHvPlatform" "WinHvEmulation is not installed"
         fi
-        whpx="no"
+        whpx="disabled"
     fi
 fi
 
@@ -5822,18 +5822,18 @@ fi
 
 #################################################
 # Check to see if we have the Hypervisor framework
-if [ "$hvf" != "no" ] ; then
+if [ "$hvf" != "disabled" ] ; then
   cat > $TMPC << EOF
 #include <Hypervisor/hv.h>
 int main() { return 0;}
 EOF
   if ! compile_object ""; then
-    if test "$hvf" = "yes"; then
+    if test "$hvf" = "enabled"; then
 	error_exit "Hypervisor.framework not available"
     fi
-    hvf='no'
+    hvf='disabled'
   else
-    hvf='yes'
+    hvf='enabled'
   fi
 fi
 
@@ -6202,7 +6202,7 @@ if test "$mingw32" = "yes" ; then
 fi
 
 # Disable OpenBSD W^X if available
-if test "$tcg" = "yes" && test "$targetos" = "OpenBSD"; then
+if test "$tcg" = "enabled" && test "$targetos" = "OpenBSD"; then
     cat > $TMPC <<EOF
     int main(void) { return 0; }
 EOF
@@ -6753,7 +6753,7 @@ if test "$virglrenderer" = "yes" ; then
   echo "VIRGL_CFLAGS=$virgl_cflags" >> $config_host_mak
   echo "VIRGL_LIBS=$virgl_libs" >> $config_host_mak
 fi
-if test "$xen" = "yes" ; then
+if test "$xen" = "enabled" ; then
   echo "CONFIG_XEN_BACKEND=y" >> $config_host_mak
   echo "CONFIG_XEN_CTRL_INTERFACE_VERSION=$xen_ctrl_version" >> $config_host_mak
   echo "XEN_CFLAGS=$xen_cflags" >> $config_host_mak
@@ -6833,7 +6833,7 @@ fi
 if test "$optreset" = "yes" ; then
   echo "HAVE_OPTRESET=y" >> $config_host_mak
 fi
-if test "$tcg" = "yes"; then
+if test "$tcg" = "enabled"; then
   echo "CONFIG_TCG=y" >> $config_host_mak
   if test "$tcg_interpreter" = "yes" ; then
     echo "CONFIG_TCG_INTERPRETER=y" >> $config_host_mak
@@ -7619,7 +7619,7 @@ fi
 
 if supported_xen_target $target; then
     echo "CONFIG_XEN=y" >> $config_target_mak
-    if test "$xen_pci_passthrough" = yes; then
+    if test "$xen_pci_passthrough" = enabled; then
         echo "CONFIG_XEN_PCI_PASSTHROUGH=y" >> "$config_target_mak"
     fi
 fi
@@ -7862,6 +7862,8 @@ NINJA=${ninja:-$PWD/ninjatool} $meson setup \
         -Db_staticpic=$(if test "$pie" = yes; then echo true; else echo false; fi) \
         -Db_coverage=$(if test "$gcov" = yes; then echo true; else echo false; fi) \
 	-Dmalloc=$malloc -Dmalloc_trim=$malloc_trim \
+	-Dkvm=$kvm -Dhax=$hax -Dwhpx=$whpx -Dhvf=$hvf \
+	-Dxen=$xen -Dxen_pci_passthrough=$xen_pci_passthrough -Dtcg=$tcg \
 	-Dcocoa=$cocoa -Dmpath=$mpath -Dsdl=$sdl -Dsdl_image=$sdl_image \
 	-Dvnc=$vnc -Dvnc_sasl=$vnc_sasl -Dvnc_jpeg=$vnc_jpeg -Dvnc_png=$vnc_png \
 	-Dgettext=$gettext -Dxkbcommon=$xkbcommon -Du2f=$u2f\
diff --git a/meson_options.txt b/meson_options.txt
index 46ea1d889a..05adc7a179 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -11,6 +11,21 @@ option('malloc_trim', type : 'feature', value : 'auto',
 option('malloc', type : 'combo', choices : ['system', 'tcmalloc', 'jemalloc'],
        value: 'system', description: 'choose memory allocator to use')
 
+option('kvm', type: 'feature', value: 'auto',
+       description: 'KVM acceleration support')
+option('hax', type: 'feature', value: 'auto',
+       description: 'HAX acceleration support')
+option('whpx', type: 'feature', value: 'auto',
+       description: 'WHPX acceleration support')
+option('hvf', type: 'feature', value: 'auto',
+       description: 'HVF acceleration support')
+option('xen', type: 'feature', value: 'auto',
+       description: 'Xen backend support')
+option('xen_pci_passthrough', type: 'feature', value: 'auto',
+       description: 'Xen PCI passthrough support')
+option('tcg', type: 'feature', value: 'auto',
+       description: 'TCG support')
+
 option('cocoa', type : 'feature', value : 'auto',
        description: 'Cocoa user interface (macOS only)')
 option('mpath', type : 'feature', value : 'auto',
-- 
2.26.2




^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 3/9] configure: rewrite accelerator defaults as tests
  2020-09-20 13:06 [RFC PATCH 0/9] Move target configuration to meson Paolo Bonzini
  2020-09-20 13:07 ` [PATCH 1/9] default-configs: move files to default-configs/devices/ Paolo Bonzini
  2020-09-20 13:07 ` [PATCH 2/9] configure: convert accelerator variables to meson options Paolo Bonzini
@ 2020-09-20 13:07 ` Paolo Bonzini
  2020-09-21  0:06   ` Richard Henderson
  2020-09-20 13:07 ` [PATCH 4/9] configure: move accelerator logic to meson Paolo Bonzini
                   ` (5 subsequent siblings)
  8 siblings, 1 reply; 21+ messages in thread
From: Paolo Bonzini @ 2020-09-20 13:07 UTC (permalink / raw)
  To: qemu-devel

Prepare to process "auto" in meson rather than configure: localize the
code that changes "auto" to enabled/disabled, it will be moved to meson
and removed from configure.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 configure | 28 +++++++++++++++++++++++-----
 1 file changed, 23 insertions(+), 5 deletions(-)

diff --git a/configure b/configure
index ade456b7af..00348c2342 100755
--- a/configure
+++ b/configure
@@ -420,7 +420,7 @@ vhost_scsi=""
 vhost_vsock=""
 vhost_user=""
 vhost_user_fs=""
-kvm="disabled"
+kvm="auto"
 hax="disabled"
 hvf="disabled"
 whpx="disabled"
@@ -814,7 +814,6 @@ HOST_VARIANT_DIR=""
 case $targetos in
 MINGW32*)
   mingw32="yes"
-  hax="enabled"
   whpx="auto"
   vhost_user="no"
   audio_possible_drivers="dsound sdl"
@@ -849,7 +848,6 @@ DragonFly)
 ;;
 NetBSD)
   bsd="yes"
-  hax="enabled"
   make="${MAKE-gmake}"
   audio_drv_list="oss try-sdl"
   audio_possible_drivers="oss sdl"
@@ -866,7 +864,6 @@ OpenBSD)
 Darwin)
   bsd="yes"
   darwin="yes"
-  hax="enabled"
   hvf="auto"
   if [ "$cpu" = "x86_64" ] ; then
     QEMU_CFLAGS="-arch x86_64 $QEMU_CFLAGS"
@@ -903,7 +900,6 @@ Linux)
   audio_possible_drivers="oss alsa sdl pa"
   linux="yes"
   linux_user="yes"
-  kvm="enabled"
   QEMU_INCLUDES="-isystem ${source_path}/linux-headers -Ilinux-headers $QEMU_INCLUDES"
 ;;
 esac
@@ -2664,6 +2660,28 @@ if test "$seccomp" != "no" ; then
         seccomp="no"
     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
 
-- 
2.26.2




^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 4/9] configure: move accelerator logic to meson
  2020-09-20 13:06 [RFC PATCH 0/9] Move target configuration to meson Paolo Bonzini
                   ` (2 preceding siblings ...)
  2020-09-20 13:07 ` [PATCH 3/9] configure: rewrite accelerator defaults as tests Paolo Bonzini
@ 2020-09-20 13:07 ` Paolo Bonzini
  2020-09-21  0:17   ` Richard Henderson
  2020-09-20 13:07 ` [PATCH 5/9] configure: remove dead variable Paolo Bonzini
                   ` (4 subsequent siblings)
  8 siblings, 1 reply; 21+ messages in thread
From: Paolo Bonzini @ 2020-09-20 13:07 UTC (permalink / raw)
  To: qemu-devel

Move to meson the code to detect the presence of accelerators, and
to define accelerator-specific config-target.h symbols.

The logic for now is duplicated in configure because it is still
in use to build the list of targets (which is in turn used to
create the config-target.mak files).  The next patches remove it.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 configure   |  19 ----------
 meson.build | 104 ++++++++++++++++++++++++++++++++++++++++++++--------
 2 files changed, 89 insertions(+), 34 deletions(-)

diff --git a/configure b/configure
index 00348c2342..ee5c4da54b 100755
--- a/configure
+++ b/configure
@@ -6852,7 +6852,6 @@ if test "$optreset" = "yes" ; then
   echo "HAVE_OPTRESET=y" >> $config_host_mak
 fi
 if test "$tcg" = "enabled"; then
-  echo "CONFIG_TCG=y" >> $config_host_mak
   if test "$tcg_interpreter" = "yes" ; then
     echo "CONFIG_TCG_INTERPRETER=y" >> $config_host_mak
   fi
@@ -7635,24 +7634,6 @@ if [ "$TARGET_SYSTBL_ABI" != "" ]; then
     echo "TARGET_SYSTBL=$TARGET_SYSTBL" >> $config_target_mak
 fi
 
-if supported_xen_target $target; then
-    echo "CONFIG_XEN=y" >> $config_target_mak
-    if test "$xen_pci_passthrough" = enabled; then
-        echo "CONFIG_XEN_PCI_PASSTHROUGH=y" >> "$config_target_mak"
-    fi
-fi
-if supported_kvm_target $target; then
-    echo "CONFIG_KVM=y" >> $config_target_mak
-fi
-if supported_hax_target $target; then
-    echo "CONFIG_HAX=y" >> $config_target_mak
-fi
-if supported_hvf_target $target; then
-    echo "CONFIG_HVF=y" >> $config_target_mak
-fi
-if supported_whpx_target $target; then
-    echo "CONFIG_WHPX=y" >> $config_target_mak
-fi
 if test "$target_aligned_only" = "yes" ; then
   echo "TARGET_ALIGNED_ONLY=y" >> $config_target_mak
 fi
diff --git a/meson.build b/meson.build
index a12ad1fbff..7a5eced5f0 100644
--- a/meson.build
+++ b/meson.build
@@ -50,6 +50,28 @@ configure_file(input: files('scripts/ninjatool.py'),
                output: 'ninjatool',
                configuration: config_host)
 
+if cpu in ['x86', 'x86_64']
+  kvm_targets = ['i386-softmmu', 'x86_64-softmmu']
+elif cpu == 'aarch64'
+  kvm_targets = ['aarch64-softmmu']
+elif cpu == 's390x'
+  kvm_targets = ['s390x-softmmu']
+elif cpu in ['ppc', 'ppc64']
+  kvm_targets = ['ppc-softmmu', 'ppc64-softmmu']
+else
+  kvm_targets = []
+endif
+
+accelerator_targets = { 'CONFIG_KVM': kvm_targets }
+if cpu in ['x86', 'x86_64']
+  accelerator_targets += {
+    'CONFIG_HAX': ['i386-softmmu', 'x86_64-softmmu'],
+    'CONFIG_XEN': ['i386-softmmu', 'x86_64-softmmu'],
+    'CONFIG_HVF': ['x86_64-softmmu'],
+    'CONFIG_WHPX': ['i386-softmmu', 'x86_64-softmmu'],
+  }
+endif
+
 ##################
 # Compiler flags #
 ##################
@@ -102,7 +124,7 @@ version_res = []
 coref = []
 iokit = []
 cocoa = not_found
-hvf = []
+hvf = not_found
 if targetos == 'windows'
   socket = cc.find_library('ws2_32')
   winmm = cc.find_library('winmm')
@@ -115,7 +137,6 @@ elif targetos == 'darwin'
   coref = dependency('appleframeworks', modules: 'CoreFoundation')
   iokit = dependency('appleframeworks', modules: 'IOKit')
   cocoa = dependency('appleframeworks', modules: 'Cocoa', required: get_option('cocoa'))
-  hvf = dependency('appleframeworks', modules: 'Hypervisor')
 elif targetos == 'sunos'
   socket = [cc.find_library('socket'),
             cc.find_library('nsl'),
@@ -126,6 +147,59 @@ elif targetos == 'haiku'
             cc.find_library('bsd')]
 endif
 
+accelerators = []
+if not get_option('kvm').disabled() and targetos == 'linux'
+  accelerators += 'CONFIG_KVM'
+endif
+if not get_option('xen').disabled() and 'CONFIG_XEN_BACKEND' in config_host
+  accelerators += 'CONFIG_XEN'
+  have_xen_pci_passthrough = not get_option('xen_pci_passthrough').disabled() and targetos == 'linux'
+else
+  have_xen_pci_passthrough = false
+endif
+if not get_option('whpx').disabled() and targetos == 'windows'
+  if get_option('whpx').enabled() and cpu != 'x86_64'
+    error('WHPX requires 64-bit host')
+  elif cc.has_header('WinHvPlatform.h', required: get_option('whpx')) and \
+       cc.has_header('WinHvEmulation.h', required: get_option('whpx'))
+    accelerators += 'CONFIG_WHPX'
+  endif
+endif
+if not get_option('hvf').disabled()
+  hvf = dependency('appleframeworks', modules: 'Hypervisor',
+                   required: get_option('hvf'))
+  if hvf.found()
+    accelerators += 'CONFIG_HVF'
+  endif
+endif
+if not get_option('hax').disabled()
+  if get_option('hax').enabled() or targetos in ['windows', 'darwin', 'netbsd']
+    accelerators += 'CONFIG_HAX'
+  endif
+endif
+if not get_option('tcg').disabled()
+  if cpu not in supported_cpus
+    if 'CONFIG_TCG_INTERPRETER' in config_host
+      warning('Unsupported CPU @0@, will use TCG with TCI (experimental)'.format(cpu))
+    else
+      error('Unsupported CPU @0@, try --enable-tcg-interpreter'.format(cpu))
+    endif
+  endif
+  accelerators += 'CONFIG_TCG'
+endif
+
+if 'CONFIG_KVM' not in accelerators and get_option('kvm').enabled()
+  error('KVM not available on this platform')
+endif
+if 'CONFIG_HVF' not in accelerators and get_option('hvf').enabled()
+  error('HVF not available on this platform')
+endif
+if 'CONFIG_WHPX' not in accelerators and get_option('whpx').enabled()
+  error('WHPX not available on this platform')
+endif
+if not have_xen_pci_passthrough and get_option('xen_pci_passthrough').enabled()
+  error('Xen PCI passthrough not available on this platform')
+endif
 if not cocoa.found() and get_option('cocoa').enabled()
   error('Cocoa not available on this platform')
 endif
@@ -645,17 +719,22 @@ kconfig_external_symbols = [
 ]
 ignored = ['TARGET_XML_FILES', 'TARGET_ABI_DIR', 'TARGET_DIRS']
 
-accel_symbols = [
-  'CONFIG_KVM',
-  'CONFIG_HAX',
-  'CONFIG_HVF',
-  'CONFIG_TCG',
-  'CONFIG_WHPX'
-]
-
 foreach target : target_dirs
   config_target = keyval.load(meson.current_build_dir() / target / 'config-target.mak')
 
+  have_accel = false
+  foreach sym: accelerators
+    if sym == 'CONFIG_TCG' or target in accelerator_targets[sym]
+      config_target += { sym: 'y' }
+      config_all += { sym: 'y' }
+      if sym == 'CONFIG_XEN' and have_xen_pci_passthrough
+        config_target += { 'CONFIG_XEN_PCI_PASSTHROUGH': 'y' }
+      endif
+    endif
+    have_accel = true
+  endforeach
+  assert(have_accel)
+
   foreach k, v: disassemblers
     if config_host['ARCH'].startswith(k) or config_target['TARGET_BASE_ARCH'].startswith(k)
       foreach sym: v
@@ -681,11 +760,6 @@ foreach target : target_dirs
       config_target_data.set(k, v)
     endif
   endforeach
-  foreach sym: accel_symbols
-    if config_target.has_key(sym)
-      config_all += { sym: 'y' }
-    endif
-  endforeach
   config_target_h += {target: configure_file(output: target + '-config-target.h',
                                                configuration: config_target_data)}
 
-- 
2.26.2




^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 5/9] configure: remove dead variable
  2020-09-20 13:06 [RFC PATCH 0/9] Move target configuration to meson Paolo Bonzini
                   ` (3 preceding siblings ...)
  2020-09-20 13:07 ` [PATCH 4/9] configure: move accelerator logic to meson Paolo Bonzini
@ 2020-09-20 13:07 ` Paolo Bonzini
  2020-09-21  0:17   ` Richard Henderson
  2020-09-20 13:07 ` [PATCH 6/9] configure: move CONFIG_* symbols to meson Paolo Bonzini
                   ` (3 subsequent siblings)
  8 siblings, 1 reply; 21+ messages in thread
From: Paolo Bonzini @ 2020-09-20 13:07 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 configure | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/configure b/configure
index ee5c4da54b..df3b031b1c 100755
--- a/configure
+++ b/configure
@@ -808,9 +808,6 @@ fi
 
 # OS specific
 
-# host *BSD for user mode
-HOST_VARIANT_DIR=""
-
 case $targetos in
 MINGW32*)
   mingw32="yes"
@@ -837,14 +834,12 @@ FreeBSD)
   audio_possible_drivers="oss sdl pa"
   # needed for kinfo_getvmmap(3) in libutil.h
   netmap=""  # enable netmap autodetect
-  HOST_VARIANT_DIR="freebsd"
 ;;
 DragonFly)
   bsd="yes"
   make="${MAKE-gmake}"
   audio_drv_list="oss try-sdl"
   audio_possible_drivers="oss sdl pa"
-  HOST_VARIANT_DIR="dragonfly"
 ;;
 NetBSD)
   bsd="yes"
@@ -852,14 +847,12 @@ NetBSD)
   audio_drv_list="oss try-sdl"
   audio_possible_drivers="oss sdl"
   oss_lib="-lossaudio"
-  HOST_VARIANT_DIR="netbsd"
 ;;
 OpenBSD)
   bsd="yes"
   make="${MAKE-gmake}"
   audio_drv_list="try-sdl"
   audio_possible_drivers="sdl"
-  HOST_VARIANT_DIR="openbsd"
 ;;
 Darwin)
   bsd="yes"
@@ -876,7 +869,6 @@ Darwin)
   # Disable attempts to use ObjectiveC features in os/object.h since they
   # won't work when we're compiling with gcc as a C compiler.
   QEMU_CFLAGS="-DOS_OBJECT_USE_OBJC=0 $QEMU_CFLAGS"
-  HOST_VARIANT_DIR="darwin"
 ;;
 SunOS)
   solaris="yes"
@@ -7626,9 +7618,6 @@ if [ "$TARGET_ABI_DIR" = "" ]; then
   TARGET_ABI_DIR=$TARGET_ARCH
 fi
 echo "TARGET_ABI_DIR=$TARGET_ABI_DIR" >> $config_target_mak
-if [ "$HOST_VARIANT_DIR" != "" ]; then
-    echo "HOST_VARIANT_DIR=$HOST_VARIANT_DIR" >> $config_target_mak
-fi
 if [ "$TARGET_SYSTBL_ABI" != "" ]; then
     echo "TARGET_SYSTBL_ABI=$TARGET_SYSTBL_ABI" >> $config_target_mak
     echo "TARGET_SYSTBL=$TARGET_SYSTBL" >> $config_target_mak
-- 
2.26.2




^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 6/9] configure: move CONFIG_* symbols to meson
  2020-09-20 13:06 [RFC PATCH 0/9] Move target configuration to meson Paolo Bonzini
                   ` (4 preceding siblings ...)
  2020-09-20 13:07 ` [PATCH 5/9] configure: remove dead variable Paolo Bonzini
@ 2020-09-20 13:07 ` Paolo Bonzini
  2020-09-21  0:20   ` Richard Henderson
  2020-09-20 13:07 ` [PATCH 7/9] configure: remove target configuration Paolo Bonzini
                   ` (2 subsequent siblings)
  8 siblings, 1 reply; 21+ messages in thread
From: Paolo Bonzini @ 2020-09-20 13:07 UTC (permalink / raw)
  To: qemu-devel

These symbols are easily computed from just the target name,
so remove them from config-target.mak.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 configure   | 11 +----------
 meson.build | 27 ++++++++++++++++++++++++---
 2 files changed, 25 insertions(+), 13 deletions(-)

diff --git a/configure b/configure
index df3b031b1c..e64327e0f8 100755
--- a/configure
+++ b/configure
@@ -7612,7 +7612,6 @@ upper() {
 
 target_arch_name="$(upper $TARGET_ARCH)"
 echo "TARGET_$target_arch_name=y" >> $config_target_mak
-echo "TARGET_NAME=$target_name" >> $config_target_mak
 echo "TARGET_BASE_ARCH=$TARGET_BASE_ARCH" >> $config_target_mak
 if [ "$TARGET_ABI_DIR" = "" ]; then
   TARGET_ABI_DIR=$TARGET_ARCH
@@ -7630,21 +7629,15 @@ if test "$target_bigendian" = "yes" ; then
   echo "TARGET_WORDS_BIGENDIAN=y" >> $config_target_mak
 fi
 if test "$target_softmmu" = "yes" ; then
-  echo "CONFIG_SOFTMMU=y" >> $config_target_mak
   if test "$mttcg" = "yes" ; then
     echo "TARGET_SUPPORTS_MTTCG=y" >> $config_target_mak
   fi
 fi
 if test "$target_user_only" = "yes" ; then
-  echo "CONFIG_USER_ONLY=y" >> $config_target_mak
-  echo "CONFIG_QEMU_INTERP_PREFIX=\"$interp_prefix1\"" >> $config_target_mak
   symlink "../qemu-$target_name" "$target_dir/qemu-$target_name"
 else
   symlink "../qemu-system-$target_name" "$target_dir/qemu-system-$target_name"
 fi
-if test "$target_linux_user" = "yes" ; then
-  echo "CONFIG_LINUX_USER=y" >> $config_target_mak
-fi
 list=""
 if test ! -z "$gdb_xml_files" ; then
   for x in $gdb_xml_files; do
@@ -7656,9 +7649,6 @@ fi
 if test "$target_user_only" = "yes" && test "$bflt" = "yes"; then
   echo "TARGET_HAS_BFLT=y" >> $config_target_mak
 fi
-if test "$target_bsd_user" = "yes" ; then
-  echo "CONFIG_BSD_USER=y" >> $config_target_mak
-fi
 
 done # for target in $targets
 
@@ -7668,6 +7658,7 @@ fi
 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
 echo "SUBDIRS=$subdirs" >> $config_host_mak
 if test -n "$LIBCAPSTONE"; then
   echo "LIBCAPSTONE=$LIBCAPSTONE" >> $config_host_mak
diff --git a/meson.build b/meson.build
index 7a5eced5f0..6863b9febf 100644
--- a/meson.build
+++ b/meson.build
@@ -639,12 +639,15 @@ config_host_data.set('QEMU_VERSION_MAJOR', meson.project_version().split('.')[0]
 config_host_data.set('QEMU_VERSION_MINOR', meson.project_version().split('.')[1])
 config_host_data.set('QEMU_VERSION_MICRO', meson.project_version().split('.')[2])
 
+ignored = ['CONFIG_QEMU_INTERP_PREFIX'] # actually per-target
 arrays = ['CONFIG_AUDIO_DRIVERS', 'CONFIG_BDRV_RW_WHITELIST', 'CONFIG_BDRV_RO_WHITELIST']
 strings = ['HOST_DSOSUF', 'CONFIG_IASL', 'bindir', 'prefix', 'qemu_confdir', 'qemu_datadir',
            'qemu_moddir', 'qemu_localstatedir', 'qemu_helperdir', 'qemu_localedir',
            'qemu_icondir', 'qemu_desktopdir', 'qemu_firmwarepath', 'sysconfdir']
 foreach k, v: config_host
-  if arrays.contains(k)
+  if ignored.contains(k)
+    # do nothing
+  elif arrays.contains(k)
     if v != ''
       v = '"' + '", "'.join(v.split()) + '", '
     endif
@@ -720,7 +723,23 @@ kconfig_external_symbols = [
 ignored = ['TARGET_XML_FILES', 'TARGET_ABI_DIR', 'TARGET_DIRS']
 
 foreach target : target_dirs
-  config_target = keyval.load(meson.current_build_dir() / target / 'config-target.mak')
+  config_target = { 'TARGET_NAME': target.split('-')[0] }
+  if target.endswith('linux-user')
+    assert(targetos == 'linux')
+    config_target += { 'CONFIG_LINUX_USER': 'y' }
+  elif target.endswith('bsd-user')
+    assert('CONFIG_BSD' in config_host)
+    config_target += { 'CONFIG_BSD_USER': 'y' }
+  elif target.endswith('softmmu')
+    config_target += { 'CONFIG_SOFTMMU': 'y' }
+  endif
+  if target.endswith('-user')
+    config_target += {
+      'CONFIG_USER_ONLY': 'y',
+      'CONFIG_QEMU_INTERP_PREFIX':
+        config_host['CONFIG_QEMU_INTERP_PREFIX'].format(config_target['TARGET_NAME'])
+    }
+  endif
 
   have_accel = false
   foreach sym: accelerators
@@ -735,6 +754,8 @@ foreach target : target_dirs
   endforeach
   assert(have_accel)
 
+  config_target += keyval.load('default-configs/targets' / target + '.mak')
+
   foreach k, v: disassemblers
     if config_host['ARCH'].startswith(k) or config_target['TARGET_BASE_ARCH'].startswith(k)
       foreach sym: v
@@ -752,7 +773,7 @@ foreach target : target_dirs
       # do nothing
     elif k == 'TARGET_BASE_ARCH'
       config_target_data.set('TARGET_' + v.to_upper(), 1)
-    elif k == 'TARGET_NAME'
+    elif k == 'TARGET_NAME' or k == 'CONFIG_QEMU_INTERP_PREFIX'
       config_target_data.set_quoted(k, v)
     elif v == 'y'
       config_target_data.set(k, 1)
-- 
2.26.2




^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 7/9] configure: remove target configuration
  2020-09-20 13:06 [RFC PATCH 0/9] Move target configuration to meson Paolo Bonzini
                   ` (5 preceding siblings ...)
  2020-09-20 13:07 ` [PATCH 6/9] configure: move CONFIG_* symbols to meson Paolo Bonzini
@ 2020-09-20 13:07 ` Paolo Bonzini
  2020-09-20 13:13   ` 罗勇刚(Yonggang Luo)
  2020-09-20 13:07 ` [PATCH 8/9] default-configs/targets: remove useless lines Paolo Bonzini
  2020-09-20 13:07 ` [PATCH 9/9] default-configs: remove default-configs/devices for user-mode targets Paolo Bonzini
  8 siblings, 1 reply; 21+ messages in thread
From: Paolo Bonzini @ 2020-09-20 13:07 UTC (permalink / raw)
  To: qemu-devel

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




^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 8/9] default-configs/targets: remove useless lines
  2020-09-20 13:06 [RFC PATCH 0/9] Move target configuration to meson Paolo Bonzini
                   ` (6 preceding siblings ...)
  2020-09-20 13:07 ` [PATCH 7/9] configure: remove target configuration Paolo Bonzini
@ 2020-09-20 13:07 ` Paolo Bonzini
  2020-09-21  0:29   ` Richard Henderson
  2020-09-20 13:07 ` [PATCH 9/9] default-configs: remove default-configs/devices for user-mode targets Paolo Bonzini
  8 siblings, 1 reply; 21+ messages in thread
From: Paolo Bonzini @ 2020-09-20 13:07 UTC (permalink / raw)
  To: qemu-devel

Some lines are only meaningful for user-mode targets, remove them.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/targets/aarch64-softmmu.mak      | 1 -
 default-configs/targets/alpha-softmmu.mak        | 3 ---
 default-configs/targets/arm-softmmu.mak          | 3 ---
 default-configs/targets/avr-softmmu.mak          | 1 -
 default-configs/targets/cris-softmmu.mak         | 1 -
 default-configs/targets/hppa-softmmu.mak         | 3 ---
 default-configs/targets/i386-bsd-user.mak        | 2 --
 default-configs/targets/i386-softmmu.mak         | 3 ---
 default-configs/targets/lm32-softmmu.mak         | 1 -
 default-configs/targets/m68k-softmmu.mak         | 3 ---
 default-configs/targets/microblaze-softmmu.mak   | 3 ---
 default-configs/targets/microblazeel-softmmu.mak | 3 ---
 default-configs/targets/mips-softmmu.mak         | 3 ---
 default-configs/targets/mips64-softmmu.mak       | 3 ---
 default-configs/targets/mips64el-softmmu.mak     | 3 ---
 default-configs/targets/mipsel-softmmu.mak       | 3 ---
 default-configs/targets/moxie-softmmu.mak        | 1 -
 default-configs/targets/nios2-softmmu.mak        | 1 -
 default-configs/targets/or1k-softmmu.mak         | 1 -
 default-configs/targets/ppc-softmmu.mak          | 3 ---
 default-configs/targets/ppc64-softmmu.mak        | 3 ---
 default-configs/targets/riscv32-softmmu.mak      | 1 -
 default-configs/targets/riscv64-softmmu.mak      | 1 -
 default-configs/targets/rx-softmmu.mak           | 1 -
 default-configs/targets/s390x-softmmu.mak        | 3 ---
 default-configs/targets/sh4-softmmu.mak          | 3 ---
 default-configs/targets/sh4eb-softmmu.mak        | 3 ---
 default-configs/targets/sparc-bsd-user.mak       | 2 --
 default-configs/targets/sparc-softmmu.mak        | 3 ---
 default-configs/targets/sparc64-bsd-user.mak     | 2 --
 default-configs/targets/sparc64-softmmu.mak      | 3 ---
 default-configs/targets/tricore-softmmu.mak      | 1 -
 default-configs/targets/unicore32-softmmu.mak    | 1 -
 default-configs/targets/x86_64-bsd-user.mak      | 2 --
 default-configs/targets/x86_64-softmmu.mak       | 3 ---
 default-configs/targets/xtensa-softmmu.mak       | 3 ---
 default-configs/targets/xtensaeb-softmmu.mak     | 3 ---
 37 files changed, 83 deletions(-)

diff --git a/default-configs/targets/aarch64-softmmu.mak b/default-configs/targets/aarch64-softmmu.mak
index 53f83ea81f..4eff428074 100644
--- a/default-configs/targets/aarch64-softmmu.mak
+++ b/default-configs/targets/aarch64-softmmu.mak
@@ -1,5 +1,4 @@
 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/alpha-softmmu.mak b/default-configs/targets/alpha-softmmu.mak
index b78114b028..8a484c9775 100644
--- a/default-configs/targets/alpha-softmmu.mak
+++ b/default-configs/targets/alpha-softmmu.mak
@@ -1,7 +1,4 @@
 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-softmmu.mak b/default-configs/targets/arm-softmmu.mak
index d40b995f25..5923f9b203 100644
--- a/default-configs/targets/arm-softmmu.mak
+++ b/default-configs/targets/arm-softmmu.mak
@@ -1,7 +1,4 @@
 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/avr-softmmu.mak b/default-configs/targets/avr-softmmu.mak
index ecd292b2f7..46b6da717c 100644
--- a/default-configs/targets/avr-softmmu.mak
+++ b/default-configs/targets/avr-softmmu.mak
@@ -1,4 +1,3 @@
 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-softmmu.mak b/default-configs/targets/cris-softmmu.mak
index ba61135172..1f7b44114b 100644
--- a/default-configs/targets/cris-softmmu.mak
+++ b/default-configs/targets/cris-softmmu.mak
@@ -1,3 +1,2 @@
 TARGET_CRIS=y
 TARGET_BASE_ARCH=cris
-TARGET_ABI_DIR=cris
diff --git a/default-configs/targets/hppa-softmmu.mak b/default-configs/targets/hppa-softmmu.mak
index 617c6483c0..c4ee4e6c51 100644
--- a/default-configs/targets/hppa-softmmu.mak
+++ b/default-configs/targets/hppa-softmmu.mak
@@ -1,8 +1,5 @@
 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
index 34b52e9ee2..c58db819ae 100644
--- a/default-configs/targets/i386-bsd-user.mak
+++ b/default-configs/targets/i386-bsd-user.mak
@@ -1,6 +1,4 @@
 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
index be9198bb84..4e2eb9f369 100644
--- a/default-configs/targets/i386-softmmu.mak
+++ b/default-configs/targets/i386-softmmu.mak
@@ -1,7 +1,4 @@
 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
index c327d27d5f..2c4b8eab79 100644
--- a/default-configs/targets/lm32-softmmu.mak
+++ b/default-configs/targets/lm32-softmmu.mak
@@ -1,4 +1,3 @@
 TARGET_LM32=y
 TARGET_BASE_ARCH=lm32
-TARGET_ABI_DIR=lm32
 TARGET_WORDS_BIGENDIAN=y
diff --git a/default-configs/targets/m68k-softmmu.mak b/default-configs/targets/m68k-softmmu.mak
index f8bf4fc5ac..991e626677 100644
--- a/default-configs/targets/m68k-softmmu.mak
+++ b/default-configs/targets/m68k-softmmu.mak
@@ -1,7 +1,4 @@
 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-softmmu.mak b/default-configs/targets/microblaze-softmmu.mak
index 1b0a76a61f..24594862bf 100644
--- a/default-configs/targets/microblaze-softmmu.mak
+++ b/default-configs/targets/microblaze-softmmu.mak
@@ -1,7 +1,4 @@
 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-softmmu.mak b/default-configs/targets/microblazeel-softmmu.mak
index 3a2cf8be0f..5817a63755 100644
--- a/default-configs/targets/microblazeel-softmmu.mak
+++ b/default-configs/targets/microblazeel-softmmu.mak
@@ -1,6 +1,3 @@
 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-softmmu.mak b/default-configs/targets/mips-softmmu.mak
index 8ab9ff2ac9..ba58d6827e 100644
--- a/default-configs/targets/mips-softmmu.mak
+++ b/default-configs/targets/mips-softmmu.mak
@@ -1,9 +1,6 @@
 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-softmmu.mak b/default-configs/targets/mips64-softmmu.mak
index c02c5460a7..4837a12cac 100644
--- a/default-configs/targets/mips64-softmmu.mak
+++ b/default-configs/targets/mips64-softmmu.mak
@@ -1,8 +1,5 @@
 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-softmmu.mak b/default-configs/targets/mips64el-softmmu.mak
index 8cbbc38e78..93e3f25903 100644
--- a/default-configs/targets/mips64el-softmmu.mak
+++ b/default-configs/targets/mips64el-softmmu.mak
@@ -1,7 +1,4 @@
 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-softmmu.mak b/default-configs/targets/mipsel-softmmu.mak
index afa0851887..1528516b5d 100644
--- a/default-configs/targets/mipsel-softmmu.mak
+++ b/default-configs/targets/mipsel-softmmu.mak
@@ -1,8 +1,5 @@
 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/moxie-softmmu.mak b/default-configs/targets/moxie-softmmu.mak
index da093f5b36..ada92a6b5b 100644
--- a/default-configs/targets/moxie-softmmu.mak
+++ b/default-configs/targets/moxie-softmmu.mak
@@ -1,4 +1,3 @@
 TARGET_MOXIE=y
 TARGET_BASE_ARCH=moxie
-TARGET_ABI_DIR=moxie
 TARGET_WORDS_BIGENDIAN=y
diff --git a/default-configs/targets/nios2-softmmu.mak b/default-configs/targets/nios2-softmmu.mak
index a2308a16aa..f10f08d0ca 100644
--- a/default-configs/targets/nios2-softmmu.mak
+++ b/default-configs/targets/nios2-softmmu.mak
@@ -1,3 +1,2 @@
 TARGET_NIOS2=y
 TARGET_BASE_ARCH=nios2
-TARGET_ABI_DIR=nios2
diff --git a/default-configs/targets/or1k-softmmu.mak b/default-configs/targets/or1k-softmmu.mak
index 2f5ff844df..a922266a98 100644
--- a/default-configs/targets/or1k-softmmu.mak
+++ b/default-configs/targets/or1k-softmmu.mak
@@ -1,4 +1,3 @@
 TARGET_OPENRISC=y
 TARGET_BASE_ARCH=openrisc
-TARGET_ABI_DIR=openrisc
 TARGET_WORDS_BIGENDIAN=y
diff --git a/default-configs/targets/ppc-softmmu.mak b/default-configs/targets/ppc-softmmu.mak
index c4d912bfb1..1b6d091cfb 100644
--- a/default-configs/targets/ppc-softmmu.mak
+++ b/default-configs/targets/ppc-softmmu.mak
@@ -1,7 +1,4 @@
 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-softmmu.mak b/default-configs/targets/ppc64-softmmu.mak
index a73211918a..e431feffeb 100644
--- a/default-configs/targets/ppc64-softmmu.mak
+++ b/default-configs/targets/ppc64-softmmu.mak
@@ -1,8 +1,5 @@
 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/riscv32-softmmu.mak b/default-configs/targets/riscv32-softmmu.mak
index 35e5b2fb85..caa5829af8 100644
--- a/default-configs/targets/riscv32-softmmu.mak
+++ b/default-configs/targets/riscv32-softmmu.mak
@@ -1,5 +1,4 @@
 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-softmmu.mak b/default-configs/targets/riscv64-softmmu.mak
index 4b9a61cd8f..e190c0363b 100644
--- a/default-configs/targets/riscv64-softmmu.mak
+++ b/default-configs/targets/riscv64-softmmu.mak
@@ -1,5 +1,4 @@
 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
index 52a8c0df10..37b365475f 100644
--- a/default-configs/targets/rx-softmmu.mak
+++ b/default-configs/targets/rx-softmmu.mak
@@ -1,4 +1,3 @@
 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-softmmu.mak b/default-configs/targets/s390x-softmmu.mak
index f2a80d3208..f08d25d3c3 100644
--- a/default-configs/targets/s390x-softmmu.mak
+++ b/default-configs/targets/s390x-softmmu.mak
@@ -1,8 +1,5 @@
 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-softmmu.mak b/default-configs/targets/sh4-softmmu.mak
index e46bf0e278..8c7e9eaa7b 100644
--- a/default-configs/targets/sh4-softmmu.mak
+++ b/default-configs/targets/sh4-softmmu.mak
@@ -1,6 +1,3 @@
 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-softmmu.mak b/default-configs/targets/sh4eb-softmmu.mak
index db4140ec32..f1848b89b6 100644
--- a/default-configs/targets/sh4eb-softmmu.mak
+++ b/default-configs/targets/sh4eb-softmmu.mak
@@ -1,7 +1,4 @@
 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
index 7f2fcba978..f478255591 100644
--- a/default-configs/targets/sparc-bsd-user.mak
+++ b/default-configs/targets/sparc-bsd-user.mak
@@ -1,7 +1,5 @@
 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
index 7f2fcba978..fb3dbb0d61 100644
--- a/default-configs/targets/sparc-softmmu.mak
+++ b/default-configs/targets/sparc-softmmu.mak
@@ -1,7 +1,4 @@
 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/sparc64-bsd-user.mak b/default-configs/targets/sparc64-bsd-user.mak
index 817529e587..0ae8ea5420 100644
--- a/default-configs/targets/sparc64-bsd-user.mak
+++ b/default-configs/targets/sparc64-bsd-user.mak
@@ -1,7 +1,5 @@
 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
index 817529e587..bc07bfdb0a 100644
--- a/default-configs/targets/sparc64-softmmu.mak
+++ b/default-configs/targets/sparc64-softmmu.mak
@@ -1,7 +1,4 @@
 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/tricore-softmmu.mak b/default-configs/targets/tricore-softmmu.mak
index 356e5d8669..a29aa2d6dd 100644
--- a/default-configs/targets/tricore-softmmu.mak
+++ b/default-configs/targets/tricore-softmmu.mak
@@ -1,3 +1,2 @@
 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
index d8c7860ac1..85f37dc88f 100644
--- a/default-configs/targets/unicore32-softmmu.mak
+++ b/default-configs/targets/unicore32-softmmu.mak
@@ -1,3 +1,2 @@
 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
index 6a9418f9ff..935b10e22c 100644
--- a/default-configs/targets/x86_64-bsd-user.mak
+++ b/default-configs/targets/x86_64-bsd-user.mak
@@ -1,6 +1,4 @@
 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
index 8b56e6e6da..377c63e823 100644
--- a/default-configs/targets/x86_64-softmmu.mak
+++ b/default-configs/targets/x86_64-softmmu.mak
@@ -1,7 +1,4 @@
 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-softmmu.mak b/default-configs/targets/xtensa-softmmu.mak
index 2166f97738..96f892c4a8 100644
--- a/default-configs/targets/xtensa-softmmu.mak
+++ b/default-configs/targets/xtensa-softmmu.mak
@@ -1,7 +1,4 @@
 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-softmmu.mak b/default-configs/targets/xtensaeb-softmmu.mak
index 2372d22492..e6f53a1272 100644
--- a/default-configs/targets/xtensaeb-softmmu.mak
+++ b/default-configs/targets/xtensaeb-softmmu.mak
@@ -1,8 +1,5 @@
 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
-- 
2.26.2




^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 9/9] default-configs: remove default-configs/devices for user-mode targets
  2020-09-20 13:06 [RFC PATCH 0/9] Move target configuration to meson Paolo Bonzini
                   ` (7 preceding siblings ...)
  2020-09-20 13:07 ` [PATCH 8/9] default-configs/targets: remove useless lines Paolo Bonzini
@ 2020-09-20 13:07 ` Paolo Bonzini
  2020-09-21  0:30   ` Richard Henderson
  8 siblings, 1 reply; 21+ messages in thread
From: Paolo Bonzini @ 2020-09-20 13:07 UTC (permalink / raw)
  To: qemu-devel

We no longer need dummy files to detect targets, since
default-configs/targets/ exists.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 configure                                           | 6 +++---
 default-configs/devices/aarch64-linux-user.mak      | 1 -
 default-configs/devices/aarch64_be-linux-user.mak   | 1 -
 default-configs/devices/alpha-linux-user.mak        | 1 -
 default-configs/devices/arm-linux-user.mak          | 1 -
 default-configs/devices/armeb-linux-user.mak        | 1 -
 default-configs/devices/cris-linux-user.mak         | 1 -
 default-configs/devices/hppa-linux-user.mak         | 1 -
 default-configs/devices/i386-bsd-user.mak           | 1 -
 default-configs/devices/i386-linux-user.mak         | 1 -
 default-configs/devices/m68k-linux-user.mak         | 1 -
 default-configs/devices/microblaze-linux-user.mak   | 1 -
 default-configs/devices/microblazeel-linux-user.mak | 1 -
 default-configs/devices/mips-linux-user.mak         | 1 -
 default-configs/devices/mips64-linux-user.mak       | 1 -
 default-configs/devices/mips64el-linux-user.mak     | 1 -
 default-configs/devices/mipsel-linux-user.mak       | 1 -
 default-configs/devices/mipsn32-linux-user.mak      | 1 -
 default-configs/devices/mipsn32el-linux-user.mak    | 1 -
 default-configs/devices/nios2-linux-user.mak        | 1 -
 default-configs/devices/or1k-linux-user.mak         | 1 -
 default-configs/devices/ppc-linux-user.mak          | 1 -
 default-configs/devices/ppc64-linux-user.mak        | 1 -
 default-configs/devices/ppc64abi32-linux-user.mak   | 1 -
 default-configs/devices/ppc64le-linux-user.mak      | 1 -
 default-configs/devices/riscv32-linux-user.mak      | 1 -
 default-configs/devices/riscv64-linux-user.mak      | 1 -
 default-configs/devices/s390x-linux-user.mak        | 1 -
 default-configs/devices/sh4-linux-user.mak          | 1 -
 default-configs/devices/sh4eb-linux-user.mak        | 1 -
 default-configs/devices/sparc-bsd-user.mak          | 1 -
 default-configs/devices/sparc-linux-user.mak        | 1 -
 default-configs/devices/sparc32plus-linux-user.mak  | 1 -
 default-configs/devices/sparc64-bsd-user.mak        | 1 -
 default-configs/devices/sparc64-linux-user.mak      | 1 -
 default-configs/devices/tilegx-linux-user.mak       | 1 -
 default-configs/devices/x86_64-bsd-user.mak         | 1 -
 default-configs/devices/x86_64-linux-user.mak       | 1 -
 default-configs/devices/xtensa-linux-user.mak       | 1 -
 default-configs/devices/xtensaeb-linux-user.mak     | 1 -
 40 files changed, 3 insertions(+), 42 deletions(-)
 delete mode 100644 default-configs/devices/aarch64-linux-user.mak
 delete mode 100644 default-configs/devices/aarch64_be-linux-user.mak
 delete mode 100644 default-configs/devices/alpha-linux-user.mak
 delete mode 100644 default-configs/devices/arm-linux-user.mak
 delete mode 100644 default-configs/devices/armeb-linux-user.mak
 delete mode 100644 default-configs/devices/cris-linux-user.mak
 delete mode 100644 default-configs/devices/hppa-linux-user.mak
 delete mode 100644 default-configs/devices/i386-bsd-user.mak
 delete mode 100644 default-configs/devices/i386-linux-user.mak
 delete mode 100644 default-configs/devices/m68k-linux-user.mak
 delete mode 100644 default-configs/devices/microblaze-linux-user.mak
 delete mode 100644 default-configs/devices/microblazeel-linux-user.mak
 delete mode 100644 default-configs/devices/mips-linux-user.mak
 delete mode 100644 default-configs/devices/mips64-linux-user.mak
 delete mode 100644 default-configs/devices/mips64el-linux-user.mak
 delete mode 100644 default-configs/devices/mipsel-linux-user.mak
 delete mode 100644 default-configs/devices/mipsn32-linux-user.mak
 delete mode 100644 default-configs/devices/mipsn32el-linux-user.mak
 delete mode 100644 default-configs/devices/nios2-linux-user.mak
 delete mode 100644 default-configs/devices/or1k-linux-user.mak
 delete mode 100644 default-configs/devices/ppc-linux-user.mak
 delete mode 100644 default-configs/devices/ppc64-linux-user.mak
 delete mode 100644 default-configs/devices/ppc64abi32-linux-user.mak
 delete mode 100644 default-configs/devices/ppc64le-linux-user.mak
 delete mode 100644 default-configs/devices/riscv32-linux-user.mak
 delete mode 100644 default-configs/devices/riscv64-linux-user.mak
 delete mode 100644 default-configs/devices/s390x-linux-user.mak
 delete mode 100644 default-configs/devices/sh4-linux-user.mak
 delete mode 100644 default-configs/devices/sh4eb-linux-user.mak
 delete mode 100644 default-configs/devices/sparc-bsd-user.mak
 delete mode 100644 default-configs/devices/sparc-linux-user.mak
 delete mode 100644 default-configs/devices/sparc32plus-linux-user.mak
 delete mode 100644 default-configs/devices/sparc64-bsd-user.mak
 delete mode 100644 default-configs/devices/sparc64-linux-user.mak
 delete mode 100644 default-configs/devices/tilegx-linux-user.mak
 delete mode 100644 default-configs/devices/x86_64-bsd-user.mak
 delete mode 100644 default-configs/devices/x86_64-linux-user.mak
 delete mode 100644 default-configs/devices/xtensa-linux-user.mak
 delete mode 100644 default-configs/devices/xtensaeb-linux-user.mak

diff --git a/configure b/configure
index f6275d95fc..d672006df2 100755
--- a/configure
+++ b/configure
@@ -1611,13 +1611,13 @@ default_target_list=""
 mak_wilds=""
 
 if [ "$softmmu" = "yes" ]; then
-    mak_wilds="${mak_wilds} $source_path/default-configs/devices/*-softmmu.mak"
+    mak_wilds="${mak_wilds} $source_path/default-configs/targets/*-softmmu.mak"
 fi
 if [ "$linux_user" = "yes" ]; then
-    mak_wilds="${mak_wilds} $source_path/default-configs/devices/*-linux-user.mak"
+    mak_wilds="${mak_wilds} $source_path/default-configs/targets/*-linux-user.mak"
 fi
 if [ "$bsd_user" = "yes" ]; then
-    mak_wilds="${mak_wilds} $source_path/default-configs/devices/*-bsd-user.mak"
+    mak_wilds="${mak_wilds} $source_path/default-configs/targets/*-bsd-user.mak"
 fi
 
 if test -z "$target_list_exclude" -a -z "$target_list"; then
diff --git a/default-configs/devices/aarch64-linux-user.mak b/default-configs/devices/aarch64-linux-user.mak
deleted file mode 100644
index 0a5b08a007..0000000000
--- a/default-configs/devices/aarch64-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for aarch64-linux-user
diff --git a/default-configs/devices/aarch64_be-linux-user.mak b/default-configs/devices/aarch64_be-linux-user.mak
deleted file mode 100644
index a69d9d2e41..0000000000
--- a/default-configs/devices/aarch64_be-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for aarch64_be-linux-user
diff --git a/default-configs/devices/alpha-linux-user.mak b/default-configs/devices/alpha-linux-user.mak
deleted file mode 100644
index 7956e29898..0000000000
--- a/default-configs/devices/alpha-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for alpha-linux-user
diff --git a/default-configs/devices/arm-linux-user.mak b/default-configs/devices/arm-linux-user.mak
deleted file mode 100644
index 413361a022..0000000000
--- a/default-configs/devices/arm-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for arm-linux-user
diff --git a/default-configs/devices/armeb-linux-user.mak b/default-configs/devices/armeb-linux-user.mak
deleted file mode 100644
index bf2ffe7038..0000000000
--- a/default-configs/devices/armeb-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for armeb-linux-user
diff --git a/default-configs/devices/cris-linux-user.mak b/default-configs/devices/cris-linux-user.mak
deleted file mode 100644
index e3aec7b864..0000000000
--- a/default-configs/devices/cris-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for cris-linux-user
diff --git a/default-configs/devices/hppa-linux-user.mak b/default-configs/devices/hppa-linux-user.mak
deleted file mode 100644
index 796393940b..0000000000
--- a/default-configs/devices/hppa-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for hppa-linux-user
diff --git a/default-configs/devices/i386-bsd-user.mak b/default-configs/devices/i386-bsd-user.mak
deleted file mode 100644
index af1b31a59a..0000000000
--- a/default-configs/devices/i386-bsd-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for i386-bsd-user
diff --git a/default-configs/devices/i386-linux-user.mak b/default-configs/devices/i386-linux-user.mak
deleted file mode 100644
index 8657e68627..0000000000
--- a/default-configs/devices/i386-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for i386-linux-user
diff --git a/default-configs/devices/m68k-linux-user.mak b/default-configs/devices/m68k-linux-user.mak
deleted file mode 100644
index 06cd5ed7ed..0000000000
--- a/default-configs/devices/m68k-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for m68k-linux-user
diff --git a/default-configs/devices/microblaze-linux-user.mak b/default-configs/devices/microblaze-linux-user.mak
deleted file mode 100644
index 566fdc01c4..0000000000
--- a/default-configs/devices/microblaze-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for microblaze-linux-user
diff --git a/default-configs/devices/microblazeel-linux-user.mak b/default-configs/devices/microblazeel-linux-user.mak
deleted file mode 100644
index 378c6ddcb0..0000000000
--- a/default-configs/devices/microblazeel-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for microblazeel-linux-user
diff --git a/default-configs/devices/mips-linux-user.mak b/default-configs/devices/mips-linux-user.mak
deleted file mode 100644
index 31df57021e..0000000000
--- a/default-configs/devices/mips-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for mips-linux-user
diff --git a/default-configs/devices/mips64-linux-user.mak b/default-configs/devices/mips64-linux-user.mak
deleted file mode 100644
index 1598bfcf7d..0000000000
--- a/default-configs/devices/mips64-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for mips64-linux-user
diff --git a/default-configs/devices/mips64el-linux-user.mak b/default-configs/devices/mips64el-linux-user.mak
deleted file mode 100644
index 629f084086..0000000000
--- a/default-configs/devices/mips64el-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for mips64el-linux-user
diff --git a/default-configs/devices/mipsel-linux-user.mak b/default-configs/devices/mipsel-linux-user.mak
deleted file mode 100644
index 4d0e4afb69..0000000000
--- a/default-configs/devices/mipsel-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for mipsel-linux-user
diff --git a/default-configs/devices/mipsn32-linux-user.mak b/default-configs/devices/mipsn32-linux-user.mak
deleted file mode 100644
index 5b97919794..0000000000
--- a/default-configs/devices/mipsn32-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for mipsn32-linux-user
diff --git a/default-configs/devices/mipsn32el-linux-user.mak b/default-configs/devices/mipsn32el-linux-user.mak
deleted file mode 100644
index d6367ff987..0000000000
--- a/default-configs/devices/mipsn32el-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for mipsn32el-linux-user
diff --git a/default-configs/devices/nios2-linux-user.mak b/default-configs/devices/nios2-linux-user.mak
deleted file mode 100644
index 5be3eb795d..0000000000
--- a/default-configs/devices/nios2-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for nios2-linux-user
diff --git a/default-configs/devices/or1k-linux-user.mak b/default-configs/devices/or1k-linux-user.mak
deleted file mode 100644
index 20e03c1317..0000000000
--- a/default-configs/devices/or1k-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for or1k-linux-user
diff --git a/default-configs/devices/ppc-linux-user.mak b/default-configs/devices/ppc-linux-user.mak
deleted file mode 100644
index 6273df2930..0000000000
--- a/default-configs/devices/ppc-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for ppc-linux-user
diff --git a/default-configs/devices/ppc64-linux-user.mak b/default-configs/devices/ppc64-linux-user.mak
deleted file mode 100644
index 422d3fbaeb..0000000000
--- a/default-configs/devices/ppc64-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for ppc64-linux-user
diff --git a/default-configs/devices/ppc64abi32-linux-user.mak b/default-configs/devices/ppc64abi32-linux-user.mak
deleted file mode 100644
index 1c657ec9bb..0000000000
--- a/default-configs/devices/ppc64abi32-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for ppc64abi32-linux-user
diff --git a/default-configs/devices/ppc64le-linux-user.mak b/default-configs/devices/ppc64le-linux-user.mak
deleted file mode 100644
index 63f4269023..0000000000
--- a/default-configs/devices/ppc64le-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for ppc64le-linux-user
diff --git a/default-configs/devices/riscv32-linux-user.mak b/default-configs/devices/riscv32-linux-user.mak
deleted file mode 100644
index 865b362f5a..0000000000
--- a/default-configs/devices/riscv32-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for riscv-linux-user
diff --git a/default-configs/devices/riscv64-linux-user.mak b/default-configs/devices/riscv64-linux-user.mak
deleted file mode 100644
index 865b362f5a..0000000000
--- a/default-configs/devices/riscv64-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for riscv-linux-user
diff --git a/default-configs/devices/s390x-linux-user.mak b/default-configs/devices/s390x-linux-user.mak
deleted file mode 100644
index a243c99874..0000000000
--- a/default-configs/devices/s390x-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for s390x-linux-user
diff --git a/default-configs/devices/sh4-linux-user.mak b/default-configs/devices/sh4-linux-user.mak
deleted file mode 100644
index a469e19ac6..0000000000
--- a/default-configs/devices/sh4-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for sh4-linux-user
diff --git a/default-configs/devices/sh4eb-linux-user.mak b/default-configs/devices/sh4eb-linux-user.mak
deleted file mode 100644
index be08ca1002..0000000000
--- a/default-configs/devices/sh4eb-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for sh4eb-linux-user
diff --git a/default-configs/devices/sparc-bsd-user.mak b/default-configs/devices/sparc-bsd-user.mak
deleted file mode 100644
index 21e09508d8..0000000000
--- a/default-configs/devices/sparc-bsd-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for sparc-bsd-user
diff --git a/default-configs/devices/sparc-linux-user.mak b/default-configs/devices/sparc-linux-user.mak
deleted file mode 100644
index 9c716d1f92..0000000000
--- a/default-configs/devices/sparc-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for sparc-linux-user
diff --git a/default-configs/devices/sparc32plus-linux-user.mak b/default-configs/devices/sparc32plus-linux-user.mak
deleted file mode 100644
index 432e88011e..0000000000
--- a/default-configs/devices/sparc32plus-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for sparc32plus-linux-user
diff --git a/default-configs/devices/sparc64-bsd-user.mak b/default-configs/devices/sparc64-bsd-user.mak
deleted file mode 100644
index b8b9eea7f6..0000000000
--- a/default-configs/devices/sparc64-bsd-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for sparc64-bsd-user
diff --git a/default-configs/devices/sparc64-linux-user.mak b/default-configs/devices/sparc64-linux-user.mak
deleted file mode 100644
index bf1bdd6aa4..0000000000
--- a/default-configs/devices/sparc64-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for sparc64-linux-user
diff --git a/default-configs/devices/tilegx-linux-user.mak b/default-configs/devices/tilegx-linux-user.mak
deleted file mode 100644
index 3e47493af0..0000000000
--- a/default-configs/devices/tilegx-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for tilegx-linux-user
diff --git a/default-configs/devices/x86_64-bsd-user.mak b/default-configs/devices/x86_64-bsd-user.mak
deleted file mode 100644
index 73e5d34ec5..0000000000
--- a/default-configs/devices/x86_64-bsd-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for x86_64-bsd-user
diff --git a/default-configs/devices/x86_64-linux-user.mak b/default-configs/devices/x86_64-linux-user.mak
deleted file mode 100644
index bec1d9e7c6..0000000000
--- a/default-configs/devices/x86_64-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for x86_64-linux-user
diff --git a/default-configs/devices/xtensa-linux-user.mak b/default-configs/devices/xtensa-linux-user.mak
deleted file mode 100644
index fd1d350ee9..0000000000
--- a/default-configs/devices/xtensa-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for xtensa-linux-user
diff --git a/default-configs/devices/xtensaeb-linux-user.mak b/default-configs/devices/xtensaeb-linux-user.mak
deleted file mode 100644
index fd1d350ee9..0000000000
--- a/default-configs/devices/xtensaeb-linux-user.mak
+++ /dev/null
@@ -1 +0,0 @@
-# Default configuration for xtensa-linux-user
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [PATCH 7/9] configure: remove target configuration
  2020-09-20 13:07 ` [PATCH 7/9] configure: remove target configuration Paolo Bonzini
@ 2020-09-20 13:13   ` 罗勇刚(Yonggang Luo)
  2020-09-20 16:44     ` Paolo Bonzini
  0 siblings, 1 reply; 21+ messages in thread
From: 罗勇刚(Yonggang Luo) @ 2020-09-20 13:13 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: qemu-level

[-- Attachment #1: Type: text/plain, Size: 58895 bytes --]

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

[-- Attachment #2: Type: text/html, Size: 70942 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 7/9] configure: remove target configuration
  2020-09-20 13:13   ` 罗勇刚(Yonggang Luo)
@ 2020-09-20 16:44     ` Paolo Bonzini
  0 siblings, 0 replies; 21+ messages in thread
From: Paolo Bonzini @ 2020-09-20 16:44 UTC (permalink / raw)
  To: luoyonggang; +Cc: qemu-level

On 20/09/20 15:13, 罗勇刚(Yonggang Luo) wrote:
> Can these be generated from meson directly?
> as makefile finally need to be removed

The files aren't generated and are independent of the Makefile
infrastructure.  Don't think too much of the .mak extension. :)

Paolo



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 1/9] default-configs: move files to default-configs/devices/
  2020-09-20 13:07 ` [PATCH 1/9] default-configs: move files to default-configs/devices/ Paolo Bonzini
@ 2020-09-20 23:56   ` Richard Henderson
  0 siblings, 0 replies; 21+ messages in thread
From: Richard Henderson @ 2020-09-20 23:56 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel

On 9/20/20 6:07 AM, Paolo Bonzini wrote:
> Make room for target files in default-configs/targets/
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 2/9] configure: convert accelerator variables to meson options
  2020-09-20 13:07 ` [PATCH 2/9] configure: convert accelerator variables to meson options Paolo Bonzini
@ 2020-09-21  0:04   ` Richard Henderson
  0 siblings, 0 replies; 21+ messages in thread
From: Richard Henderson @ 2020-09-21  0:04 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel

On 9/20/20 6:07 AM, Paolo Bonzini wrote:
> Prepare for moving the tests to meson.  For now they only have
> enabled/disabled as the possible values when meson is invoked,
> but "auto" will be a possibility later, when configure will only
> parse the command line options.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 3/9] configure: rewrite accelerator defaults as tests
  2020-09-20 13:07 ` [PATCH 3/9] configure: rewrite accelerator defaults as tests Paolo Bonzini
@ 2020-09-21  0:06   ` Richard Henderson
  0 siblings, 0 replies; 21+ messages in thread
From: Richard Henderson @ 2020-09-21  0:06 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel

On 9/20/20 6:07 AM, Paolo Bonzini wrote:
> +if test "$kvm" = "auto" ; then
> +  if test "$linux" = yes ; then
> +    kvm=enabled
> +  else
> +    if test "$kvm" = "enabled" ; then
> +      feature_not_found "kvm" "KVM is only available on Linux"

Can't get here, as enabled != auto.


r~


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 4/9] configure: move accelerator logic to meson
  2020-09-20 13:07 ` [PATCH 4/9] configure: move accelerator logic to meson Paolo Bonzini
@ 2020-09-21  0:17   ` Richard Henderson
  0 siblings, 0 replies; 21+ messages in thread
From: Richard Henderson @ 2020-09-21  0:17 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel

On 9/20/20 6:07 AM, Paolo Bonzini wrote:
> Move to meson the code to detect the presence of accelerators, and
> to define accelerator-specific config-target.h symbols.
> 
> The logic for now is duplicated in configure because it is still
> in use to build the list of targets (which is in turn used to
> create the config-target.mak files).  The next patches remove it.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 5/9] configure: remove dead variable
  2020-09-20 13:07 ` [PATCH 5/9] configure: remove dead variable Paolo Bonzini
@ 2020-09-21  0:17   ` Richard Henderson
  0 siblings, 0 replies; 21+ messages in thread
From: Richard Henderson @ 2020-09-21  0:17 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel

On 9/20/20 6:07 AM, Paolo Bonzini wrote:
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  configure | 11 -----------
>  1 file changed, 11 deletions(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 6/9] configure: move CONFIG_* symbols to meson
  2020-09-20 13:07 ` [PATCH 6/9] configure: move CONFIG_* symbols to meson Paolo Bonzini
@ 2020-09-21  0:20   ` Richard Henderson
  0 siblings, 0 replies; 21+ messages in thread
From: Richard Henderson @ 2020-09-21  0:20 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel

On 9/20/20 6:07 AM, Paolo Bonzini wrote:
> These symbols are easily computed from just the target name,
> so remove them from config-target.mak.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  configure   | 11 +----------
>  meson.build | 27 ++++++++++++++++++++++++---
>  2 files changed, 25 insertions(+), 13 deletions(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 8/9] default-configs/targets: remove useless lines
  2020-09-20 13:07 ` [PATCH 8/9] default-configs/targets: remove useless lines Paolo Bonzini
@ 2020-09-21  0:29   ` Richard Henderson
  2020-09-21  7:50     ` Paolo Bonzini
  0 siblings, 1 reply; 21+ messages in thread
From: Richard Henderson @ 2020-09-21  0:29 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel

On 9/20/20 6:07 AM, Paolo Bonzini wrote:
> Some lines are only meaningful for user-mode targets, remove them.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---

This seems like it could be folded with the previous.


r~


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 9/9] default-configs: remove default-configs/devices for user-mode targets
  2020-09-20 13:07 ` [PATCH 9/9] default-configs: remove default-configs/devices for user-mode targets Paolo Bonzini
@ 2020-09-21  0:30   ` Richard Henderson
  0 siblings, 0 replies; 21+ messages in thread
From: Richard Henderson @ 2020-09-21  0:30 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel

On 9/20/20 6:07 AM, Paolo Bonzini wrote:
> We no longer need dummy files to detect targets, since
> default-configs/targets/ exists.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 8/9] default-configs/targets: remove useless lines
  2020-09-21  0:29   ` Richard Henderson
@ 2020-09-21  7:50     ` Paolo Bonzini
  0 siblings, 0 replies; 21+ messages in thread
From: Paolo Bonzini @ 2020-09-21  7:50 UTC (permalink / raw)
  To: Richard Henderson; +Cc: qemu-devel

[-- Attachment #1: Type: text/plain, Size: 595 bytes --]

Il lun 21 set 2020, 02:29 Richard Henderson <richard.henderson@linaro.org>
ha scritto:

> On 9/20/20 6:07 AM, Paolo Bonzini wrote:
> > Some lines are only meaningful for user-mode targets, remove them.
> >
> > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> > ---
>
> This seems like it could be folded with the previous.
>

The previous patch was just taking the (constant) config-target.mak from a
Linux and a BSD build tree and copying them over to default-configs, which
I liked. Alternatively I could first remove these lines from the files with
a configure patch.

Paolo


>
> r~
>
>

[-- Attachment #2: Type: text/html, Size: 1294 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2020-09-21  7:52 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-20 13:06 [RFC PATCH 0/9] Move target configuration to meson Paolo Bonzini
2020-09-20 13:07 ` [PATCH 1/9] default-configs: move files to default-configs/devices/ Paolo Bonzini
2020-09-20 23:56   ` Richard Henderson
2020-09-20 13:07 ` [PATCH 2/9] configure: convert accelerator variables to meson options Paolo Bonzini
2020-09-21  0:04   ` Richard Henderson
2020-09-20 13:07 ` [PATCH 3/9] configure: rewrite accelerator defaults as tests Paolo Bonzini
2020-09-21  0:06   ` Richard Henderson
2020-09-20 13:07 ` [PATCH 4/9] configure: move accelerator logic to meson Paolo Bonzini
2020-09-21  0:17   ` Richard Henderson
2020-09-20 13:07 ` [PATCH 5/9] configure: remove dead variable Paolo Bonzini
2020-09-21  0:17   ` Richard Henderson
2020-09-20 13:07 ` [PATCH 6/9] configure: move CONFIG_* symbols to meson Paolo Bonzini
2020-09-21  0:20   ` Richard Henderson
2020-09-20 13:07 ` [PATCH 7/9] configure: remove target configuration Paolo Bonzini
2020-09-20 13:13   ` 罗勇刚(Yonggang Luo)
2020-09-20 16:44     ` Paolo Bonzini
2020-09-20 13:07 ` [PATCH 8/9] default-configs/targets: remove useless lines Paolo Bonzini
2020-09-21  0:29   ` Richard Henderson
2020-09-21  7:50     ` Paolo Bonzini
2020-09-20 13:07 ` [PATCH 9/9] default-configs: remove default-configs/devices for user-mode targets Paolo Bonzini
2020-09-21  0:30   ` Richard Henderson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.