qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/12] Move target configuration to Meson
@ 2020-09-23  9:11 Paolo Bonzini
  2020-09-23  9:11 ` [PATCH 01/12] default-configs: move files to default-configs/devices/ Paolo Bonzini
                   ` (11 more replies)
  0 siblings, 12 replies; 13+ messages in thread
From: Paolo Bonzini @ 2020-09-23  9:11 UTC (permalink / raw)
  To: qemu-devel; +Cc: richard.henderson

With configure+make, the creation of the config-target.h files was
detached from the build and had to be shared with config-host.h.
With meson, using separate configure_files to format config-host.h
and config-target.h comes for free; therefore we can craft the
configure_file input independent of what the .mak configuration looks
like.

The other part of config-target.mak is accelerators, where the
detection code is easily moved to meson.

This lets us simplify the .mak configuration to the point that we
can just keep it in default-configs/ and drop the code that generates
it.

Compared to the RFC this mostly fixes a bunch of small issues found
by Richard, and completes the simplification of configuration files:
it introduces a TARGET_ARCH key and removes TARGET_BASE_ARCH and
TARGET_ABI_DIR if they concide with TARGET_ARCH.

Paolo Bonzini (12):
  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 useless config-target.mak symbols
  configure: remove target configuration
  default-configs: remove default-configs/devices for user-mode targets
  configure: move OpenBSD W^X test to meson
  default-configs: use TARGET_ARCH key
  default-configs: remove redundant keys

 configure                                     | 586 ++----------------
 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            |   4 +
 default-configs/targets/aarch64-softmmu.mak   |   4 +
 .../targets/aarch64_be-linux-user.mak         |   5 +
 default-configs/targets/alpha-linux-user.mak  |   4 +
 default-configs/targets/alpha-softmmu.mak     |   3 +
 default-configs/targets/arm-linux-user.mak    |   5 +
 default-configs/targets/arm-softmmu.mak       |   3 +
 default-configs/targets/armeb-linux-user.mak  |   6 +
 default-configs/targets/avr-softmmu.mak       |   2 +
 default-configs/targets/cris-linux-user.mak   |   1 +
 default-configs/targets/cris-softmmu.mak      |   1 +
 default-configs/targets/hppa-linux-user.mak   |   5 +
 default-configs/targets/hppa-softmmu.mak      |   4 +
 default-configs/targets/i386-bsd-user.mak     |   2 +
 default-configs/targets/i386-linux-user.mak   |   4 +
 default-configs/targets/i386-softmmu.mak      |   3 +
 default-configs/targets/lm32-softmmu.mak      |   2 +
 default-configs/targets/m68k-linux-user.mak   |   6 +
 default-configs/targets/m68k-softmmu.mak      |   3 +
 .../targets/microblaze-linux-user.mak         |   5 +
 .../targets/microblaze-softmmu.mak            |   3 +
 .../targets/microblazeel-linux-user.mak       |   4 +
 .../targets/microblazeel-softmmu.mak          |   2 +
 default-configs/targets/mips-linux-user.mak   |   6 +
 default-configs/targets/mips-softmmu.mak      |   4 +
 default-configs/targets/mips64-linux-user.mak |   7 +
 default-configs/targets/mips64-softmmu.mak    |   4 +
 .../targets/mips64el-linux-user.mak           |   6 +
 default-configs/targets/mips64el-softmmu.mak  |   3 +
 default-configs/targets/mipsel-linux-user.mak |   5 +
 default-configs/targets/mipsel-softmmu.mak    |   3 +
 .../targets/mipsn32-linux-user.mak            |   8 +
 .../targets/mipsn32el-linux-user.mak          |   7 +
 default-configs/targets/moxie-softmmu.mak     |   2 +
 default-configs/targets/nios2-linux-user.mak  |   1 +
 default-configs/targets/nios2-softmmu.mak     |   1 +
 default-configs/targets/or1k-linux-user.mak   |   2 +
 default-configs/targets/or1k-softmmu.mak      |   2 +
 default-configs/targets/ppc-linux-user.mak    |   5 +
 default-configs/targets/ppc-softmmu.mak       |   3 +
 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        |   2 +
 default-configs/targets/s390x-linux-user.mak  |   5 +
 default-configs/targets/s390x-softmmu.mak     |   4 +
 default-configs/targets/sh4-linux-user.mak    |   5 +
 default-configs/targets/sh4-softmmu.mak       |   2 +
 default-configs/targets/sh4eb-linux-user.mak  |   6 +
 default-configs/targets/sh4eb-softmmu.mak     |   3 +
 default-configs/targets/sparc-bsd-user.mak    |   3 +
 default-configs/targets/sparc-linux-user.mak  |   5 +
 default-configs/targets/sparc-softmmu.mak     |   3 +
 .../targets/sparc32plus-linux-user.mak        |   8 +
 default-configs/targets/sparc64-bsd-user.mak  |   4 +
 .../targets/sparc64-linux-user.mak            |   6 +
 default-configs/targets/sparc64-softmmu.mak   |   4 +
 default-configs/targets/tilegx-linux-user.mak |   1 +
 default-configs/targets/tricore-softmmu.mak   |   1 +
 default-configs/targets/unicore32-softmmu.mak |   1 +
 default-configs/targets/x86_64-bsd-user.mak   |   3 +
 default-configs/targets/x86_64-linux-user.mak |   5 +
 default-configs/targets/x86_64-softmmu.mak    |   4 +
 default-configs/targets/xtensa-linux-user.mak |   5 +
 default-configs/targets/xtensa-softmmu.mak    |   3 +
 .../targets/xtensaeb-linux-user.mak           |   6 +
 default-configs/targets/xtensaeb-softmmu.mak  |   4 +
 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                                   | 181 +++++-
 meson_options.txt                             |  15 +
 148 files changed, 522 insertions(+), 584 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] 13+ messages in thread

* [PATCH 01/12] default-configs: move files to default-configs/devices/
  2020-09-23  9:11 [PATCH 00/12] Move target configuration to Meson Paolo Bonzini
@ 2020-09-23  9:11 ` Paolo Bonzini
  2020-09-23  9:11 ` [PATCH 02/12] configure: convert accelerator variables to meson options Paolo Bonzini
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Paolo Bonzini @ 2020-09-23  9:11 UTC (permalink / raw)
  To: qemu-devel; +Cc: richard.henderson

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

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
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 c2aa1885c3..a23364c30d 100755
--- a/configure
+++ b/configure
@@ -1723,13 +1723,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 the user doesn't explicitly specify a deprecated target we will
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 4c73f4093a..02593bc787 100644
--- a/meson.build
+++ b/meson.build
@@ -694,7 +694,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] 13+ messages in thread

* [PATCH 02/12] configure: convert accelerator variables to meson options
  2020-09-23  9:11 [PATCH 00/12] Move target configuration to Meson Paolo Bonzini
  2020-09-23  9:11 ` [PATCH 01/12] default-configs: move files to default-configs/devices/ Paolo Bonzini
@ 2020-09-23  9:11 ` Paolo Bonzini
  2020-09-23  9:11 ` [PATCH 03/12] configure: rewrite accelerator defaults as tests Paolo Bonzini
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Paolo Bonzini @ 2020-09-23  9:11 UTC (permalink / raw)
  To: qemu-devel; +Cc: richard.henderson

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.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
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 a23364c30d..33bd3c4cb8 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)
@@ -311,7 +311,7 @@ supported_target() {
         add_to deprecated_features $1
     fi
 
-    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
@@ -414,14 +414,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=""
@@ -429,10 +429,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"
@@ -821,8 +821,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
@@ -856,7 +856,7 @@ DragonFly)
 ;;
 NetBSD)
   bsd="yes"
-  hax="yes"
+  hax="enabled"
   make="${MAKE-gmake}"
   audio_drv_list="oss try-sdl"
   audio_possible_drivers="oss sdl"
@@ -873,8 +873,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"
@@ -910,7 +910,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
@@ -1192,33 +1192,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"
   ;;
@@ -1228,9 +1228,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"
   ;;
@@ -1715,7 +1715,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=""
@@ -2671,7 +2671,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.
@@ -2680,7 +2680,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
@@ -2706,10 +2706,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
@@ -2735,7 +2735,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
@@ -2755,7 +2755,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
@@ -2774,7 +2774,7 @@ EOF
       then
       xen_stable_libs="-lxendevicemodel $xen_stable_libs"
       xen_ctrl_version=40900
-      xen=yes
+      xen=enabled
     elif
         cat > $TMPC <<EOF &&
 /*
@@ -2827,7 +2827,7 @@ EOF
         compile_prog "" "$xen_libs $xen_stable_libs"
       then
       xen_ctrl_version=40800
-      xen=yes
+      xen=enabled
     elif
         cat > $TMPC <<EOF &&
 /*
@@ -2876,7 +2876,7 @@ EOF
         compile_prog "" "$xen_libs $xen_stable_libs"
       then
       xen_ctrl_version=40701
-      xen=yes
+      xen=enabled
 
     # Xen 4.6
     elif
@@ -2904,7 +2904,7 @@ EOF
         compile_prog "" "$xen_libs"
       then
       xen_ctrl_version=40600
-      xen=yes
+      xen=enabled
 
     # Xen 4.5
     elif
@@ -2931,7 +2931,7 @@ EOF
         compile_prog "" "$xen_libs"
       then
       xen_ctrl_version=40500
-      xen=yes
+      xen=enabled
 
     elif
         cat > $TMPC <<EOF &&
@@ -2956,17 +2956,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
@@ -2974,31 +2974,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
 
@@ -5826,18 +5826,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
 
@@ -6213,7 +6213,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
@@ -6764,7 +6764,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
@@ -6844,7 +6844,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
@@ -7629,7 +7629,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
@@ -7873,6 +7873,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] 13+ messages in thread

* [PATCH 03/12] configure: rewrite accelerator defaults as tests
  2020-09-23  9:11 [PATCH 00/12] Move target configuration to Meson Paolo Bonzini
  2020-09-23  9:11 ` [PATCH 01/12] default-configs: move files to default-configs/devices/ Paolo Bonzini
  2020-09-23  9:11 ` [PATCH 02/12] configure: convert accelerator variables to meson options Paolo Bonzini
@ 2020-09-23  9:11 ` Paolo Bonzini
  2020-09-23  9:11 ` [PATCH 04/12] configure: move accelerator logic to meson Paolo Bonzini
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Paolo Bonzini @ 2020-09-23  9:11 UTC (permalink / raw)
  To: qemu-devel; +Cc: richard.henderson

Prepare to process "auto" in meson rather than configure: standardize the
shape of the code that changes "auto" to enabled/disabled, to ease the review
when it will be moved to meson.

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

diff --git a/configure b/configure
index 33bd3c4cb8..04cc25f7c8 100755
--- a/configure
+++ b/configure
@@ -429,10 +429,10 @@ vhost_scsi=""
 vhost_vsock=""
 vhost_user=""
 vhost_user_fs=""
-kvm="disabled"
-hax="disabled"
-hvf="disabled"
-whpx="disabled"
+kvm="auto"
+hax="auto"
+hvf="auto"
+whpx="auto"
 rdma=""
 pvrdma=""
 gprof="no"
@@ -821,8 +821,6 @@ HOST_VARIANT_DIR=""
 case $targetos in
 MINGW32*)
   mingw32="yes"
-  hax="enabled"
-  whpx="auto"
   vhost_user="no"
   audio_possible_drivers="dsound sdl"
   if check_include dsound.h; then
@@ -856,7 +854,6 @@ DragonFly)
 ;;
 NetBSD)
   bsd="yes"
-  hax="enabled"
   make="${MAKE-gmake}"
   audio_drv_list="oss try-sdl"
   audio_possible_drivers="oss sdl"
@@ -873,8 +870,6 @@ OpenBSD)
 Darwin)
   bsd="yes"
   darwin="yes"
-  hax="enabled"
-  hvf="auto"
   if [ "$cpu" = "x86_64" ] ; then
     QEMU_CFLAGS="-arch x86_64 $QEMU_CFLAGS"
     QEMU_LDFLAGS="-arch x86_64 $QEMU_LDFLAGS"
@@ -910,7 +905,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
@@ -2668,6 +2662,29 @@ if test "$seccomp" != "no" ; then
         seccomp="no"
     fi
 fi
+
+##########################################
+# simple accelerator probes
+
+if test "$kvm" != "disabled" ; 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
+    kvm=disabled
+  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
 
@@ -2988,14 +3005,15 @@ 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"
+if test "$whpx" != "disabled"; then
+    if test "$mingw32" = yes && test "$ARCH" = "x86_64" &&
+            check_include "WinHvPlatform.h" && check_include "WinHvEmulation.h"; then
+        whpx="enabled"
     else
-        if test "$whpx" = "auto"; then
+        if test "$whpx" = "enabled"; then
+            if test "$ARCH" != "x86_64"; then
+                error_exit "WHPX requires 64-bit host"
+            fi
             feature_not_found "WinHvPlatform" "WinHvEmulation is not installed"
         fi
         whpx="disabled"
@@ -5831,13 +5849,13 @@ if [ "$hvf" != "disabled" ] ; then
 #include <Hypervisor/hv.h>
 int main() { return 0;}
 EOF
-  if ! compile_object ""; then
+  if test "$darwin" = yes && compile_object ""; then
+    hvf='enabled'
+  else
     if test "$hvf" = "enabled"; then
 	error_exit "Hypervisor.framework not available"
     fi
     hvf='disabled'
-  else
-    hvf='enabled'
   fi
 fi
 
-- 
2.26.2




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

* [PATCH 04/12] configure: move accelerator logic to meson
  2020-09-23  9:11 [PATCH 00/12] Move target configuration to Meson Paolo Bonzini
                   ` (2 preceding siblings ...)
  2020-09-23  9:11 ` [PATCH 03/12] configure: rewrite accelerator defaults as tests Paolo Bonzini
@ 2020-09-23  9:11 ` Paolo Bonzini
  2020-09-23  9:11 ` [PATCH 05/12] configure: remove dead variable Paolo Bonzini
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Paolo Bonzini @ 2020-09-23  9:11 UTC (permalink / raw)
  To: qemu-devel; +Cc: richard.henderson

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>
---
 configure   |  19 ---------
 meson.build | 108 ++++++++++++++++++++++++++++++++++++++++++++--------
 2 files changed, 93 insertions(+), 34 deletions(-)

diff --git a/configure b/configure
index 04cc25f7c8..5df58c4b89 100755
--- a/configure
+++ b/configure
@@ -6863,7 +6863,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
@@ -7645,24 +7644,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 02593bc787..641378c1d9 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 #
 ##################
@@ -103,7 +125,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')
@@ -116,7 +138,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'),
@@ -127,6 +148,63 @@ 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()
+  if 'CONFIG_XEN' in accelerators
+    error('Xen PCI passthrough not available on this platform')
+  else
+    error('Xen PCI passthrough requested but Xen not enabled')
+  endif
+endif
 if not cocoa.found() and get_option('cocoa').enabled()
   error('Cocoa not available on this platform')
 endif
@@ -640,17 +718,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
@@ -676,11 +759,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] 13+ messages in thread

* [PATCH 05/12] configure: remove dead variable
  2020-09-23  9:11 [PATCH 00/12] Move target configuration to Meson Paolo Bonzini
                   ` (3 preceding siblings ...)
  2020-09-23  9:11 ` [PATCH 04/12] configure: move accelerator logic to meson Paolo Bonzini
@ 2020-09-23  9:11 ` Paolo Bonzini
  2020-09-23  9:11 ` [PATCH 06/12] configure: compute derivatives of target name in meson Paolo Bonzini
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Paolo Bonzini @ 2020-09-23  9:11 UTC (permalink / raw)
  To: qemu-devel; +Cc: richard.henderson

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 configure | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/configure b/configure
index 5df58c4b89..903bbcbc46 100755
--- a/configure
+++ b/configure
@@ -815,9 +815,6 @@ fi
 
 # OS specific
 
-# host *BSD for user mode
-HOST_VARIANT_DIR=""
-
 case $targetos in
 MINGW32*)
   mingw32="yes"
@@ -843,14 +840,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"
@@ -858,14 +853,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"
@@ -881,7 +874,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"
@@ -7636,9 +7628,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] 13+ messages in thread

* [PATCH 06/12] configure: compute derivatives of target name in meson
  2020-09-23  9:11 [PATCH 00/12] Move target configuration to Meson Paolo Bonzini
                   ` (4 preceding siblings ...)
  2020-09-23  9:11 ` [PATCH 05/12] configure: remove dead variable Paolo Bonzini
@ 2020-09-23  9:11 ` Paolo Bonzini
  2020-09-23  9:11 ` [PATCH 07/12] configure: remove useless config-target.mak symbols Paolo Bonzini
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Paolo Bonzini @ 2020-09-23  9:11 UTC (permalink / raw)
  To: qemu-devel; +Cc: richard.henderson

Several CONFIG_* symbols in config-target.mak are easily computed from just
the target name.  We do not need them in config-target.mak, and can instead
place them in the config_target dictionary only.

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

diff --git a/configure b/configure
index 903bbcbc46..2bd4336369 100755
--- a/configure
+++ b/configure
@@ -7622,7 +7622,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
@@ -7640,21 +7639,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
@@ -7666,9 +7659,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
 
@@ -7678,6 +7668,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 641378c1d9..3bd8cbacb7 100644
--- a/meson.build
+++ b/meson.build
@@ -638,12 +638,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
@@ -719,7 +722,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
@@ -734,6 +753,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
@@ -751,7 +772,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] 13+ messages in thread

* [PATCH 07/12] configure: remove useless config-target.mak symbols
  2020-09-23  9:11 [PATCH 00/12] Move target configuration to Meson Paolo Bonzini
                   ` (5 preceding siblings ...)
  2020-09-23  9:11 ` [PATCH 06/12] configure: compute derivatives of target name in meson Paolo Bonzini
@ 2020-09-23  9:11 ` Paolo Bonzini
  2020-09-23  9:11 ` [PATCH 08/12] configure: remove target configuration Paolo Bonzini
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Paolo Bonzini @ 2020-09-23  9:11 UTC (permalink / raw)
  To: qemu-devel; +Cc: richard.henderson

Omit symbols that are not needed by softmmu or bsd-user targets,
in preparation for moving the generated config-target.mak files
into the source tree.

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

diff --git a/configure b/configure
index 2bd4336369..5e15b5e1ad 100755
--- a/configure
+++ b/configure
@@ -7494,7 +7494,7 @@ case "$target_name" in
   mips|mipsel)
     mttcg="yes"
     TARGET_ARCH=mips
-    echo "TARGET_ABI_MIPSO32=y" >> $config_target_mak
+    test "$target_user_only" = yes && echo "TARGET_ABI_MIPSO32=y" >> $config_target_mak
     TARGET_SYSTBL_ABI=o32
     TARGET_SYSTBL=syscall_o32.tbl
   ;;
@@ -7502,8 +7502,8 @@ case "$target_name" in
     mttcg="yes"
     TARGET_ARCH=mips64
     TARGET_BASE_ARCH=mips
-    echo "TARGET_ABI_MIPSN32=y" >> $config_target_mak
-    echo "TARGET_ABI32=y" >> $config_target_mak
+    test "$target_user_only" = yes && echo "TARGET_ABI_MIPSN32=y" >> $config_target_mak
+    test "$target_user_only" = yes && echo "TARGET_ABI32=y" >> $config_target_mak
     TARGET_SYSTBL_ABI=n32
     TARGET_SYSTBL=syscall_n32.tbl
   ;;
@@ -7511,7 +7511,7 @@ case "$target_name" in
     mttcg="no"
     TARGET_ARCH=mips64
     TARGET_BASE_ARCH=mips
-    echo "TARGET_ABI_MIPSN64=y" >> $config_target_mak
+    test "$target_user_only" = yes && echo "TARGET_ABI_MIPSN64=y" >> $config_target_mak
     TARGET_SYSTBL_ABI=n64
     TARGET_SYSTBL=syscall_n64.tbl
   ;;
@@ -7547,7 +7547,7 @@ case "$target_name" in
     TARGET_BASE_ARCH=ppc
     TARGET_ABI_DIR=ppc
     TARGET_SYSTBL_ABI=common,nospu,32
-    echo "TARGET_ABI32=y" >> $config_target_mak
+    test "$target_user_only" = yes && 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"
   ;;
   riscv32)
@@ -7585,7 +7585,7 @@ case "$target_name" in
     TARGET_BASE_ARCH=sparc
     TARGET_ABI_DIR=sparc
     TARGET_SYSTBL_ABI=common,32
-    echo "TARGET_ABI32=y" >> $config_target_mak
+    test "$target_user_only" = yes && echo "TARGET_ABI32=y" >> $config_target_mak
   ;;
   s390x)
     TARGET_SYSTBL_ABI=common,64
@@ -7623,15 +7623,18 @@ upper() {
 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
+if test "$target_user_only" = "yes" ; then
+  if [ "$TARGET_ABI_DIR" = "" ]; then
+    TARGET_ABI_DIR=$TARGET_ARCH
+  fi
+  echo "TARGET_ABI_DIR=$TARGET_ABI_DIR" >> $config_target_mak
 fi
-echo "TARGET_ABI_DIR=$TARGET_ABI_DIR" >> $config_target_mak
-if [ "$TARGET_SYSTBL_ABI" != "" ]; then
+if test "$target_linux_user" = "yes" ; then
+  if [ "$TARGET_SYSTBL_ABI" != "" ]; then
     echo "TARGET_SYSTBL_ABI=$TARGET_SYSTBL_ABI" >> $config_target_mak
     echo "TARGET_SYSTBL=$TARGET_SYSTBL" >> $config_target_mak
+  fi
 fi
-
 if test "$target_aligned_only" = "yes" ; then
   echo "TARGET_ALIGNED_ONLY=y" >> $config_target_mak
 fi
-- 
2.26.2




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

* [PATCH 08/12] configure: remove target configuration
  2020-09-23  9:11 [PATCH 00/12] Move target configuration to Meson Paolo Bonzini
                   ` (6 preceding siblings ...)
  2020-09-23  9:11 ` [PATCH 07/12] configure: remove useless config-target.mak symbols Paolo Bonzini
@ 2020-09-23  9:11 ` Paolo Bonzini
  2020-09-23  9:11 ` [PATCH 09/12] default-configs: remove default-configs/devices for user-mode targets Paolo Bonzini
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Paolo Bonzini @ 2020-09-23  9:11 UTC (permalink / raw)
  To: qemu-devel; +Cc: richard.henderson

The config-target.mak files are small constant, we can therefore just
write them down explicitly.

This removes a pretty large part 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                                     | 457 +-----------------
 .../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      |   5 +
 default-configs/targets/mips64-linux-user.mak |   8 +
 default-configs/targets/mips64-softmmu.mak    |   4 +
 .../targets/mips64el-linux-user.mak           |   7 +
 default-configs/targets/mips64el-softmmu.mak  |   3 +
 default-configs/targets/mipsel-linux-user.mak |   7 +
 default-configs/targets/mipsel-softmmu.mak    |   4 +
 .../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 +
 meson.build                                   |  27 +-
 74 files changed, 404 insertions(+), 446 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 5e15b5e1ad..7cff5c0b7a 100755
--- a/configure
+++ b/configure
@@ -220,108 +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
-}
-
-deprecated_targets_list=ppc64abi32-linux-user,tilegx-linux-user,lm32-softmmu,unicore32-softmmu
-deprecated_features=""
-
-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
-
-    # if a deprecated target is enabled we note it here
-    if echo "$deprecated_targets_list" | grep -q "$1"; then
-        add_to deprecated_features $1
-    fi
-
-    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
 }
@@ -1705,7 +1603,8 @@ if [ "$bsd_user" = "no" -a "$linux_user" = "no" -a "$softmmu" = "no" ] ; then
 fi
 
 default_target_list=""
-
+deprecated_targets_list=ppc64abi32-linux-user,tilegx-linux-user,lm32-softmmu,unicore32-softmmu
+deprecated_features=""
 mak_wilds=""
 
 if [ "$softmmu" = "yes" ]; then
@@ -2033,16 +1932,6 @@ if ! compile_prog ; then
     error_exit "\"$cc\" cannot build an executable (is your linker broken?)"
 fi
 
-# Now we have handled --enable-tcg-interpreter and know we're not just
-# printing the help message, bail out if the host CPU isn't supported.
-if test "$ARCH" = "unknown"; then
-    if test "$tcg_interpreter" = "yes" ; then
-        echo "Unsupported CPU = $cpu, will use TCG with TCI (experimental)"
-    else
-        error_exit "Unsupported CPU = $cpu, try --enable-tcg-interpreter"
-    fi
-fi
-
 # Consult white-list to determine whether to enable werror
 # by default.  Only enable by default for git builds
 if test -z "$werror" ; then
@@ -2294,12 +2183,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
@@ -2311,10 +2201,16 @@ else
                 error_exit "Unknown target name '$target'"
                 ;;
         esac
-        supported_target $target || exit 1
     done
 fi
 
+for target in $target_list; do
+    # if a deprecated target is enabled we note it here
+    if echo "$deprecated_targets_list" | grep -q "$target"; then
+        add_to deprecated_features $target
+    fi
+done
+
 # see if system emulation was really requested
 case " $target_list " in
   *"-softmmu "*) softmmu=yes
@@ -2655,28 +2551,6 @@ if test "$seccomp" != "no" ; then
     fi
 fi
 
-##########################################
-# simple accelerator probes
-
-if test "$kvm" != "disabled" ; 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
-    kvm=disabled
-  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
 
@@ -2995,23 +2869,6 @@ if test "$xen_pci_passthrough" != "disabled"; then
   fi
 fi
 
-##########################################
-# Windows Hypervisor Platform accelerator (WHPX) check
-if test "$whpx" != "disabled"; then
-    if test "$mingw32" = yes && test "$ARCH" = "x86_64" &&
-            check_include "WinHvPlatform.h" && check_include "WinHvEmulation.h"; then
-        whpx="enabled"
-    else
-        if test "$whpx" = "enabled"; then
-            if test "$ARCH" != "x86_64"; then
-                error_exit "WHPX requires 64-bit host"
-            fi
-            feature_not_found "WinHvPlatform" "WinHvEmulation is not installed"
-        fi
-        whpx="disabled"
-    fi
-fi
-
 ##########################################
 # gettext probe
 if test "$gettext" != "false" ; then
@@ -5835,23 +5692,6 @@ fi
 
 
 #################################################
-# Check to see if we have the Hypervisor framework
-if [ "$hvf" != "disabled" ] ; then
-  cat > $TMPC << EOF
-#include <Hypervisor/hv.h>
-int main() { return 0;}
-EOF
-  if test "$darwin" = yes && compile_object ""; then
-    hvf='enabled'
-  else
-    if test "$hvf" = "enabled"; then
-	error_exit "Hypervisor.framework not available"
-    fi
-    hvf='disabled'
-  fi
-fi
-
-##########################################
 # check for sysmacros.h
 
 have_sysmacros=no
@@ -7386,283 +7226,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
-    test "$target_user_only" = yes && 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
-    test "$target_user_only" = yes && echo "TARGET_ABI_MIPSN32=y" >> $config_target_mak
-    test "$target_user_only" = yes && 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
-    test "$target_user_only" = yes && 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
-    test "$target_user_only" = yes && 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"
-  ;;
-  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
-    test "$target_user_only" = yes && 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 test "$target_user_only" = "yes" ; then
-  if [ "$TARGET_ABI_DIR" = "" ]; then
-    TARGET_ABI_DIR=$TARGET_ARCH
-  fi
-  echo "TARGET_ABI_DIR=$TARGET_ABI_DIR" >> $config_target_mak
-fi
-if test "$target_linux_user" = "yes" ; then
-  if [ "$TARGET_SYSTBL_ABI" != "" ]; then
-    echo "TARGET_SYSTBL_ABI=$TARGET_SYSTBL_ABI" >> $config_target_mak
-    echo "TARGET_SYSTBL=$TARGET_SYSTBL" >> $config_target_mak
-  fi
-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
@@ -7672,6 +7242,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..4eff428074
--- /dev/null
+++ b/default-configs/targets/aarch64-softmmu.mak
@@ -0,0 +1,4 @@
+TARGET_AARCH64=y
+TARGET_BASE_ARCH=arm
+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..8a484c9775
--- /dev/null
+++ b/default-configs/targets/alpha-softmmu.mak
@@ -0,0 +1,4 @@
+TARGET_ALPHA=y
+TARGET_BASE_ARCH=alpha
+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..5923f9b203
--- /dev/null
+++ b/default-configs/targets/arm-softmmu.mak
@@ -0,0 +1,4 @@
+TARGET_ARM=y
+TARGET_BASE_ARCH=arm
+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..46b6da717c
--- /dev/null
+++ b/default-configs/targets/avr-softmmu.mak
@@ -0,0 +1,3 @@
+TARGET_AVR=y
+TARGET_BASE_ARCH=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..1f7b44114b
--- /dev/null
+++ b/default-configs/targets/cris-softmmu.mak
@@ -0,0 +1,2 @@
+TARGET_CRIS=y
+TARGET_BASE_ARCH=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..c4ee4e6c51
--- /dev/null
+++ b/default-configs/targets/hppa-softmmu.mak
@@ -0,0 +1,5 @@
+TARGET_HPPA=y
+TARGET_BASE_ARCH=hppa
+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..c58db819ae
--- /dev/null
+++ b/default-configs/targets/i386-bsd-user.mak
@@ -0,0 +1,4 @@
+TARGET_I386=y
+TARGET_BASE_ARCH=i386
+TARGET_ABI_DIR=i386
+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..4e2eb9f369
--- /dev/null
+++ b/default-configs/targets/i386-softmmu.mak
@@ -0,0 +1,4 @@
+TARGET_I386=y
+TARGET_BASE_ARCH=i386
+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..2c4b8eab79
--- /dev/null
+++ b/default-configs/targets/lm32-softmmu.mak
@@ -0,0 +1,3 @@
+TARGET_LM32=y
+TARGET_BASE_ARCH=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..991e626677
--- /dev/null
+++ b/default-configs/targets/m68k-softmmu.mak
@@ -0,0 +1,4 @@
+TARGET_M68K=y
+TARGET_BASE_ARCH=m68k
+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..24594862bf
--- /dev/null
+++ b/default-configs/targets/microblaze-softmmu.mak
@@ -0,0 +1,4 @@
+TARGET_MICROBLAZE=y
+TARGET_BASE_ARCH=microblaze
+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..5817a63755
--- /dev/null
+++ b/default-configs/targets/microblazeel-softmmu.mak
@@ -0,0 +1,3 @@
+TARGET_MICROBLAZE=y
+TARGET_BASE_ARCH=microblaze
+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..1b4bba6e3b
--- /dev/null
+++ b/default-configs/targets/mips-softmmu.mak
@@ -0,0 +1,5 @@
+TARGET_MIPS=y
+TARGET_BASE_ARCH=mips
+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..736586f01b
--- /dev/null
+++ b/default-configs/targets/mips64-softmmu.mak
@@ -0,0 +1,4 @@
+TARGET_MIPS64=y
+TARGET_BASE_ARCH=mips
+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..aed4fe89b0
--- /dev/null
+++ b/default-configs/targets/mips64el-softmmu.mak
@@ -0,0 +1,3 @@
+TARGET_MIPS64=y
+TARGET_BASE_ARCH=mips
+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..ca95b39d29
--- /dev/null
+++ b/default-configs/targets/mipsel-softmmu.mak
@@ -0,0 +1,4 @@
+TARGET_MIPS=y
+TARGET_BASE_ARCH=mips
+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..ada92a6b5b
--- /dev/null
+++ b/default-configs/targets/moxie-softmmu.mak
@@ -0,0 +1,3 @@
+TARGET_MOXIE=y
+TARGET_BASE_ARCH=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..f10f08d0ca
--- /dev/null
+++ b/default-configs/targets/nios2-softmmu.mak
@@ -0,0 +1,2 @@
+TARGET_NIOS2=y
+TARGET_BASE_ARCH=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..a922266a98
--- /dev/null
+++ b/default-configs/targets/or1k-softmmu.mak
@@ -0,0 +1,3 @@
+TARGET_OPENRISC=y
+TARGET_BASE_ARCH=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..1b6d091cfb
--- /dev/null
+++ b/default-configs/targets/ppc-softmmu.mak
@@ -0,0 +1,4 @@
+TARGET_PPC=y
+TARGET_BASE_ARCH=ppc
+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..e431feffeb
--- /dev/null
+++ b/default-configs/targets/ppc64-softmmu.mak
@@ -0,0 +1,5 @@
+TARGET_PPC64=y
+TARGET_BASE_ARCH=ppc
+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..caa5829af8
--- /dev/null
+++ b/default-configs/targets/riscv32-softmmu.mak
@@ -0,0 +1,4 @@
+TARGET_RISCV32=y
+TARGET_BASE_ARCH=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..e190c0363b
--- /dev/null
+++ b/default-configs/targets/riscv64-softmmu.mak
@@ -0,0 +1,4 @@
+TARGET_RISCV64=y
+TARGET_BASE_ARCH=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..37b365475f
--- /dev/null
+++ b/default-configs/targets/rx-softmmu.mak
@@ -0,0 +1,3 @@
+TARGET_RX=y
+TARGET_BASE_ARCH=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..f08d25d3c3
--- /dev/null
+++ b/default-configs/targets/s390x-softmmu.mak
@@ -0,0 +1,5 @@
+TARGET_S390X=y
+TARGET_BASE_ARCH=s390x
+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..8c7e9eaa7b
--- /dev/null
+++ b/default-configs/targets/sh4-softmmu.mak
@@ -0,0 +1,3 @@
+TARGET_SH4=y
+TARGET_BASE_ARCH=sh4
+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..f1848b89b6
--- /dev/null
+++ b/default-configs/targets/sh4eb-softmmu.mak
@@ -0,0 +1,4 @@
+TARGET_SH4=y
+TARGET_BASE_ARCH=sh4
+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..f478255591
--- /dev/null
+++ b/default-configs/targets/sparc-bsd-user.mak
@@ -0,0 +1,5 @@
+TARGET_SPARC=y
+TARGET_BASE_ARCH=sparc
+TARGET_ABI_DIR=sparc
+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..fb3dbb0d61
--- /dev/null
+++ b/default-configs/targets/sparc-softmmu.mak
@@ -0,0 +1,4 @@
+TARGET_SPARC=y
+TARGET_BASE_ARCH=sparc
+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..0ae8ea5420
--- /dev/null
+++ b/default-configs/targets/sparc64-bsd-user.mak
@@ -0,0 +1,5 @@
+TARGET_SPARC64=y
+TARGET_BASE_ARCH=sparc
+TARGET_ABI_DIR=sparc64
+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..bc07bfdb0a
--- /dev/null
+++ b/default-configs/targets/sparc64-softmmu.mak
@@ -0,0 +1,4 @@
+TARGET_SPARC64=y
+TARGET_BASE_ARCH=sparc
+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..a29aa2d6dd
--- /dev/null
+++ b/default-configs/targets/tricore-softmmu.mak
@@ -0,0 +1,2 @@
+TARGET_TRICORE=y
+TARGET_BASE_ARCH=tricore
diff --git a/default-configs/targets/unicore32-softmmu.mak b/default-configs/targets/unicore32-softmmu.mak
new file mode 100644
index 0000000000..85f37dc88f
--- /dev/null
+++ b/default-configs/targets/unicore32-softmmu.mak
@@ -0,0 +1,2 @@
+TARGET_UNICORE32=y
+TARGET_BASE_ARCH=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..935b10e22c
--- /dev/null
+++ b/default-configs/targets/x86_64-bsd-user.mak
@@ -0,0 +1,4 @@
+TARGET_X86_64=y
+TARGET_BASE_ARCH=i386
+TARGET_ABI_DIR=x86_64
+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..377c63e823
--- /dev/null
+++ b/default-configs/targets/x86_64-softmmu.mak
@@ -0,0 +1,4 @@
+TARGET_X86_64=y
+TARGET_BASE_ARCH=i386
+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..96f892c4a8
--- /dev/null
+++ b/default-configs/targets/xtensa-softmmu.mak
@@ -0,0 +1,4 @@
+TARGET_XTENSA=y
+TARGET_BASE_ARCH=xtensa
+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..e6f53a1272
--- /dev/null
+++ b/default-configs/targets/xtensaeb-softmmu.mak
@@ -0,0 +1,5 @@
+TARGET_XTENSA=y
+TARGET_BASE_ARCH=xtensa
+TARGET_ALIGNED_ONLY=y
+TARGET_WORDS_BIGENDIAN=y
+TARGET_SUPPORTS_MTTCG=y
diff --git a/meson.build b/meson.build
index 3bd8cbacb7..d25ead3ad5 100644
--- a/meson.build
+++ b/meson.build
@@ -721,13 +721,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' }
@@ -751,8 +763,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
@@ -814,6 +832,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"
@@ -1599,7 +1618,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] 13+ messages in thread

* [PATCH 09/12] default-configs: remove default-configs/devices for user-mode targets
  2020-09-23  9:11 [PATCH 00/12] Move target configuration to Meson Paolo Bonzini
                   ` (7 preceding siblings ...)
  2020-09-23  9:11 ` [PATCH 08/12] configure: remove target configuration Paolo Bonzini
@ 2020-09-23  9:11 ` Paolo Bonzini
  2020-09-23  9:11 ` [PATCH 10/12] configure: move OpenBSD W^X test to meson Paolo Bonzini
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Paolo Bonzini @ 2020-09-23  9:11 UTC (permalink / raw)
  To: qemu-devel; +Cc: richard.henderson

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>
---
 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 7cff5c0b7a..6e60de3e07 100755
--- a/configure
+++ b/configure
@@ -1608,13 +1608,13 @@ deprecated_features=""
 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 the user doesn't explicitly specify a deprecated target we will
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] 13+ messages in thread

* [PATCH 10/12] configure: move OpenBSD W^X test to meson
  2020-09-23  9:11 [PATCH 00/12] Move target configuration to Meson Paolo Bonzini
                   ` (8 preceding siblings ...)
  2020-09-23  9:11 ` [PATCH 09/12] default-configs: remove default-configs/devices for user-mode targets Paolo Bonzini
@ 2020-09-23  9:11 ` Paolo Bonzini
  2020-09-23  9:11 ` [PATCH 11/12] default-configs: use TARGET_ARCH key Paolo Bonzini
  2020-09-23  9:11 ` [PATCH 12/12] default-configs: remove redundant keys Paolo Bonzini
  11 siblings, 0 replies; 13+ messages in thread
From: Paolo Bonzini @ 2020-09-23  9:11 UTC (permalink / raw)
  To: qemu-devel; +Cc: richard.henderson

The TCG option is now passed through to Meson.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 configure   | 15 ---------------
 meson.build |  8 +++++++-
 2 files changed, 7 insertions(+), 16 deletions(-)

diff --git a/configure b/configure
index 6e60de3e07..fb450858ff 100755
--- a/configure
+++ b/configure
@@ -1598,10 +1598,6 @@ if [ "$ARCH" = "unknown" ]; then
   linux_user="no"
 fi
 
-if [ "$bsd_user" = "no" -a "$linux_user" = "no" -a "$softmmu" = "no" ] ; then
-  tcg="disabled"
-fi
-
 default_target_list=""
 deprecated_targets_list=ppc64abi32-linux-user,tilegx-linux-user,lm32-softmmu,unicore32-softmmu
 deprecated_features=""
@@ -6062,17 +6058,6 @@ if test "$mingw32" = "yes" ; then
     done
 fi
 
-# Disable OpenBSD W^X if available
-if test "$tcg" = "enabled" && test "$targetos" = "OpenBSD"; then
-    cat > $TMPC <<EOF
-    int main(void) { return 0; }
-EOF
-    wx_ldflags="-Wl,-z,wxneeded"
-    if compile_prog "" "$wx_ldflags"; then
-        QEMU_LDFLAGS="$QEMU_LDFLAGS $wx_ldflags"
-    fi
-fi
-
 qemu_confdir="$sysconfdir/$qemu_suffix"
 qemu_moddir="$libdir/$qemu_suffix"
 qemu_datadir="$datadir/$qemu_suffix"
diff --git a/meson.build b/meson.build
index d25ead3ad5..c66bc19e07 100644
--- a/meson.build
+++ b/meson.build
@@ -124,6 +124,7 @@ socket = []
 version_res = []
 coref = []
 iokit = []
+emulator_link_args = []
 cocoa = not_found
 hvf = not_found
 if targetos == 'windows'
@@ -146,6 +147,11 @@ elif targetos == 'haiku'
   socket = [cc.find_library('posix_error_mapper'),
             cc.find_library('network'),
             cc.find_library('bsd')]
+elif targetos == 'openbsd'
+  if not get_option('tcg').disabled() and target_dirs.length() > 0
+    # Disable OpenBSD W^X if available
+    emulator_link_args = cc.get_supported_link_arguments('-Wl,-z,wxneeded')
+  endif
 endif
 
 accelerators = []
@@ -1231,7 +1237,7 @@ foreach target : target_dirs
   c_args = ['-DNEED_CPU_H',
             '-DCONFIG_TARGET="@0@-config-target.h"'.format(target),
             '-DCONFIG_DEVICES="@0@-config-devices.h"'.format(target)]
-  link_args = []
+  link_args = emulator_link_args
 
   config_target += config_host
   target_inc = [include_directories('target' / config_target['TARGET_BASE_ARCH'])]
-- 
2.26.2




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

* [PATCH 11/12] default-configs: use TARGET_ARCH key
  2020-09-23  9:11 [PATCH 00/12] Move target configuration to Meson Paolo Bonzini
                   ` (9 preceding siblings ...)
  2020-09-23  9:11 ` [PATCH 10/12] configure: move OpenBSD W^X test to meson Paolo Bonzini
@ 2020-09-23  9:11 ` Paolo Bonzini
  2020-09-23  9:11 ` [PATCH 12/12] default-configs: remove redundant keys Paolo Bonzini
  11 siblings, 0 replies; 13+ messages in thread
From: Paolo Bonzini @ 2020-09-23  9:11 UTC (permalink / raw)
  To: qemu-devel; +Cc: richard.henderson

Replace the individual TARGET_*=y lines with TARGET_ARCH,
similar to how TARGET_BASE_ARCH is handled already.

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

diff --git a/default-configs/targets/aarch64-linux-user.mak b/default-configs/targets/aarch64-linux-user.mak
index 4495e86509..d6c4a35c39 100644
--- a/default-configs/targets/aarch64-linux-user.mak
+++ b/default-configs/targets/aarch64-linux-user.mak
@@ -1,4 +1,4 @@
-TARGET_AARCH64=y
+TARGET_ARCH=aarch64
 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
diff --git a/default-configs/targets/aarch64-softmmu.mak b/default-configs/targets/aarch64-softmmu.mak
index 4eff428074..a8c0174fc3 100644
--- a/default-configs/targets/aarch64-softmmu.mak
+++ b/default-configs/targets/aarch64-softmmu.mak
@@ -1,4 +1,4 @@
-TARGET_AARCH64=y
+TARGET_ARCH=aarch64
 TARGET_BASE_ARCH=arm
 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
index da13693d3d..5e2d615c11 100644
--- a/default-configs/targets/aarch64_be-linux-user.mak
+++ b/default-configs/targets/aarch64_be-linux-user.mak
@@ -1,4 +1,4 @@
-TARGET_AARCH64=y
+TARGET_ARCH=aarch64
 TARGET_BASE_ARCH=arm
 TARGET_ABI_DIR=aarch64
 TARGET_WORDS_BIGENDIAN=y
diff --git a/default-configs/targets/alpha-linux-user.mak b/default-configs/targets/alpha-linux-user.mak
index 5ff89f5d48..e21f7cdefd 100644
--- a/default-configs/targets/alpha-linux-user.mak
+++ b/default-configs/targets/alpha-linux-user.mak
@@ -1,4 +1,4 @@
-TARGET_ALPHA=y
+TARGET_ARCH=alpha
 TARGET_BASE_ARCH=alpha
 TARGET_ABI_DIR=alpha
 TARGET_SYSTBL_ABI=common
diff --git a/default-configs/targets/alpha-softmmu.mak b/default-configs/targets/alpha-softmmu.mak
index 8a484c9775..8ba1b4e403 100644
--- a/default-configs/targets/alpha-softmmu.mak
+++ b/default-configs/targets/alpha-softmmu.mak
@@ -1,4 +1,4 @@
-TARGET_ALPHA=y
+TARGET_ARCH=alpha
 TARGET_BASE_ARCH=alpha
 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
index 7c54c3c2a2..1b9bac9d3a 100644
--- a/default-configs/targets/arm-linux-user.mak
+++ b/default-configs/targets/arm-linux-user.mak
@@ -1,4 +1,4 @@
-TARGET_ARM=y
+TARGET_ARCH=arm
 TARGET_BASE_ARCH=arm
 TARGET_ABI_DIR=arm
 TARGET_SYSTBL_ABI=common,oabi
diff --git a/default-configs/targets/arm-softmmu.mak b/default-configs/targets/arm-softmmu.mak
index 5923f9b203..8af1d3ee1d 100644
--- a/default-configs/targets/arm-softmmu.mak
+++ b/default-configs/targets/arm-softmmu.mak
@@ -1,4 +1,4 @@
-TARGET_ARM=y
+TARGET_ARCH=arm
 TARGET_BASE_ARCH=arm
 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
index 1882aa472d..d2b0d9e26e 100644
--- a/default-configs/targets/armeb-linux-user.mak
+++ b/default-configs/targets/armeb-linux-user.mak
@@ -1,4 +1,4 @@
-TARGET_ARM=y
+TARGET_ARCH=arm
 TARGET_BASE_ARCH=arm
 TARGET_ABI_DIR=arm
 TARGET_SYSTBL_ABI=common,oabi
diff --git a/default-configs/targets/avr-softmmu.mak b/default-configs/targets/avr-softmmu.mak
index 46b6da717c..547c2986b6 100644
--- a/default-configs/targets/avr-softmmu.mak
+++ b/default-configs/targets/avr-softmmu.mak
@@ -1,3 +1,3 @@
-TARGET_AVR=y
+TARGET_ARCH=avr
 TARGET_BASE_ARCH=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
index ba61135172..7d3f6eb36d 100644
--- a/default-configs/targets/cris-linux-user.mak
+++ b/default-configs/targets/cris-linux-user.mak
@@ -1,3 +1,3 @@
-TARGET_CRIS=y
+TARGET_ARCH=cris
 TARGET_BASE_ARCH=cris
 TARGET_ABI_DIR=cris
diff --git a/default-configs/targets/cris-softmmu.mak b/default-configs/targets/cris-softmmu.mak
index 1f7b44114b..a132cec8d9 100644
--- a/default-configs/targets/cris-softmmu.mak
+++ b/default-configs/targets/cris-softmmu.mak
@@ -1,2 +1,2 @@
-TARGET_CRIS=y
+TARGET_ARCH=cris
 TARGET_BASE_ARCH=cris
diff --git a/default-configs/targets/hppa-linux-user.mak b/default-configs/targets/hppa-linux-user.mak
index 94222e8fc6..05ef4568ad 100644
--- a/default-configs/targets/hppa-linux-user.mak
+++ b/default-configs/targets/hppa-linux-user.mak
@@ -1,4 +1,4 @@
-TARGET_HPPA=y
+TARGET_ARCH=hppa
 TARGET_BASE_ARCH=hppa
 TARGET_ABI_DIR=hppa
 TARGET_SYSTBL_ABI=common,32
diff --git a/default-configs/targets/hppa-softmmu.mak b/default-configs/targets/hppa-softmmu.mak
index c4ee4e6c51..bd7eaaf9a5 100644
--- a/default-configs/targets/hppa-softmmu.mak
+++ b/default-configs/targets/hppa-softmmu.mak
@@ -1,4 +1,4 @@
-TARGET_HPPA=y
+TARGET_ARCH=hppa
 TARGET_BASE_ARCH=hppa
 TARGET_ALIGNED_ONLY=y
 TARGET_WORDS_BIGENDIAN=y
diff --git a/default-configs/targets/i386-bsd-user.mak b/default-configs/targets/i386-bsd-user.mak
index c58db819ae..aa4d8c55e1 100644
--- a/default-configs/targets/i386-bsd-user.mak
+++ b/default-configs/targets/i386-bsd-user.mak
@@ -1,4 +1,4 @@
-TARGET_I386=y
+TARGET_ARCH=i386
 TARGET_BASE_ARCH=i386
 TARGET_ABI_DIR=i386
 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
index 34b52e9ee2..5117f59222 100644
--- a/default-configs/targets/i386-linux-user.mak
+++ b/default-configs/targets/i386-linux-user.mak
@@ -1,4 +1,4 @@
-TARGET_I386=y
+TARGET_ARCH=i386
 TARGET_BASE_ARCH=i386
 TARGET_ABI_DIR=i386
 TARGET_SYSTBL_ABI=i386
diff --git a/default-configs/targets/i386-softmmu.mak b/default-configs/targets/i386-softmmu.mak
index 4e2eb9f369..7371e87982 100644
--- a/default-configs/targets/i386-softmmu.mak
+++ b/default-configs/targets/i386-softmmu.mak
@@ -1,4 +1,4 @@
-TARGET_I386=y
+TARGET_ARCH=i386
 TARGET_BASE_ARCH=i386
 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 2c4b8eab79..6e55873788 100644
--- a/default-configs/targets/lm32-softmmu.mak
+++ b/default-configs/targets/lm32-softmmu.mak
@@ -1,3 +1,3 @@
-TARGET_LM32=y
+TARGET_ARCH=lm32
 TARGET_BASE_ARCH=lm32
 TARGET_WORDS_BIGENDIAN=y
diff --git a/default-configs/targets/m68k-linux-user.mak b/default-configs/targets/m68k-linux-user.mak
index e7c0af5881..186d1117cf 100644
--- a/default-configs/targets/m68k-linux-user.mak
+++ b/default-configs/targets/m68k-linux-user.mak
@@ -1,4 +1,4 @@
-TARGET_M68K=y
+TARGET_ARCH=m68k
 TARGET_BASE_ARCH=m68k
 TARGET_ABI_DIR=m68k
 TARGET_SYSTBL_ABI=common
diff --git a/default-configs/targets/m68k-softmmu.mak b/default-configs/targets/m68k-softmmu.mak
index 991e626677..fd8975978c 100644
--- a/default-configs/targets/m68k-softmmu.mak
+++ b/default-configs/targets/m68k-softmmu.mak
@@ -1,4 +1,4 @@
-TARGET_M68K=y
+TARGET_ARCH=m68k
 TARGET_BASE_ARCH=m68k
 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
index 809819424d..249a22295a 100644
--- a/default-configs/targets/microblaze-linux-user.mak
+++ b/default-configs/targets/microblaze-linux-user.mak
@@ -1,4 +1,4 @@
-TARGET_MICROBLAZE=y
+TARGET_ARCH=microblaze
 TARGET_BASE_ARCH=microblaze
 TARGET_ABI_DIR=microblaze
 TARGET_SYSTBL_ABI=common
diff --git a/default-configs/targets/microblaze-softmmu.mak b/default-configs/targets/microblaze-softmmu.mak
index 24594862bf..8e5126f0f1 100644
--- a/default-configs/targets/microblaze-softmmu.mak
+++ b/default-configs/targets/microblaze-softmmu.mak
@@ -1,4 +1,4 @@
-TARGET_MICROBLAZE=y
+TARGET_ARCH=microblaze
 TARGET_BASE_ARCH=microblaze
 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
index 416b42eeb6..f59156c63b 100644
--- a/default-configs/targets/microblazeel-linux-user.mak
+++ b/default-configs/targets/microblazeel-linux-user.mak
@@ -1,4 +1,4 @@
-TARGET_MICROBLAZE=y
+TARGET_ARCH=microblaze
 TARGET_BASE_ARCH=microblaze
 TARGET_ABI_DIR=microblaze
 TARGET_SYSTBL_ABI=common
diff --git a/default-configs/targets/microblazeel-softmmu.mak b/default-configs/targets/microblazeel-softmmu.mak
index 5817a63755..2d465cf6b4 100644
--- a/default-configs/targets/microblazeel-softmmu.mak
+++ b/default-configs/targets/microblazeel-softmmu.mak
@@ -1,3 +1,3 @@
-TARGET_MICROBLAZE=y
+TARGET_ARCH=microblaze
 TARGET_BASE_ARCH=microblaze
 TARGET_SUPPORTS_MTTCG=y
diff --git a/default-configs/targets/mips-linux-user.mak b/default-configs/targets/mips-linux-user.mak
index bcfff16a7b..5b8000dfb0 100644
--- a/default-configs/targets/mips-linux-user.mak
+++ b/default-configs/targets/mips-linux-user.mak
@@ -1,5 +1,5 @@
+TARGET_ARCH=mips
 TARGET_ABI_MIPSO32=y
-TARGET_MIPS=y
 TARGET_BASE_ARCH=mips
 TARGET_ABI_DIR=mips
 TARGET_SYSTBL_ABI=o32
diff --git a/default-configs/targets/mips-softmmu.mak b/default-configs/targets/mips-softmmu.mak
index 1b4bba6e3b..e391801a0e 100644
--- a/default-configs/targets/mips-softmmu.mak
+++ b/default-configs/targets/mips-softmmu.mak
@@ -1,4 +1,4 @@
-TARGET_MIPS=y
+TARGET_ARCH=mips
 TARGET_BASE_ARCH=mips
 TARGET_ALIGNED_ONLY=y
 TARGET_WORDS_BIGENDIAN=y
diff --git a/default-configs/targets/mips64-linux-user.mak b/default-configs/targets/mips64-linux-user.mak
index c02c5460a7..811df35427 100644
--- a/default-configs/targets/mips64-linux-user.mak
+++ b/default-configs/targets/mips64-linux-user.mak
@@ -1,5 +1,5 @@
+TARGET_ARCH=mips64
 TARGET_ABI_MIPSN64=y
-TARGET_MIPS64=y
 TARGET_BASE_ARCH=mips
 TARGET_ABI_DIR=mips64
 TARGET_SYSTBL_ABI=n64
diff --git a/default-configs/targets/mips64-softmmu.mak b/default-configs/targets/mips64-softmmu.mak
index 736586f01b..ece25b9624 100644
--- a/default-configs/targets/mips64-softmmu.mak
+++ b/default-configs/targets/mips64-softmmu.mak
@@ -1,4 +1,4 @@
-TARGET_MIPS64=y
+TARGET_ARCH=mips64
 TARGET_BASE_ARCH=mips
 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
index 8cbbc38e78..f9de5d7857 100644
--- a/default-configs/targets/mips64el-linux-user.mak
+++ b/default-configs/targets/mips64el-linux-user.mak
@@ -1,5 +1,5 @@
+TARGET_ARCH=mips64
 TARGET_ABI_MIPSN64=y
-TARGET_MIPS64=y
 TARGET_BASE_ARCH=mips
 TARGET_ABI_DIR=mips64
 TARGET_SYSTBL_ABI=n64
diff --git a/default-configs/targets/mips64el-softmmu.mak b/default-configs/targets/mips64el-softmmu.mak
index aed4fe89b0..b751ae1bcf 100644
--- a/default-configs/targets/mips64el-softmmu.mak
+++ b/default-configs/targets/mips64el-softmmu.mak
@@ -1,3 +1,3 @@
-TARGET_MIPS64=y
+TARGET_ARCH=mips64
 TARGET_BASE_ARCH=mips
 TARGET_ALIGNED_ONLY=y
diff --git a/default-configs/targets/mipsel-linux-user.mak b/default-configs/targets/mipsel-linux-user.mak
index 26aa9c8279..11c3556665 100644
--- a/default-configs/targets/mipsel-linux-user.mak
+++ b/default-configs/targets/mipsel-linux-user.mak
@@ -1,5 +1,5 @@
+TARGET_ARCH=mips
 TARGET_ABI_MIPSO32=y
-TARGET_MIPS=y
 TARGET_BASE_ARCH=mips
 TARGET_ABI_DIR=mips
 TARGET_SYSTBL_ABI=o32
diff --git a/default-configs/targets/mipsel-softmmu.mak b/default-configs/targets/mipsel-softmmu.mak
index ca95b39d29..a9fc3b2647 100644
--- a/default-configs/targets/mipsel-softmmu.mak
+++ b/default-configs/targets/mipsel-softmmu.mak
@@ -1,4 +1,4 @@
-TARGET_MIPS=y
+TARGET_ARCH=mips
 TARGET_BASE_ARCH=mips
 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
index 81d548e699..040022ce87 100644
--- a/default-configs/targets/mipsn32-linux-user.mak
+++ b/default-configs/targets/mipsn32-linux-user.mak
@@ -1,6 +1,6 @@
+TARGET_ARCH=mips64
 TARGET_ABI_MIPSN32=y
 TARGET_ABI32=y
-TARGET_MIPS64=y
 TARGET_BASE_ARCH=mips
 TARGET_ABI_DIR=mips64
 TARGET_SYSTBL_ABI=n32
diff --git a/default-configs/targets/mipsn32el-linux-user.mak b/default-configs/targets/mipsn32el-linux-user.mak
index 6de47f2a79..faeca7752e 100644
--- a/default-configs/targets/mipsn32el-linux-user.mak
+++ b/default-configs/targets/mipsn32el-linux-user.mak
@@ -1,6 +1,6 @@
+TARGET_ARCH=mips64
 TARGET_ABI_MIPSN32=y
 TARGET_ABI32=y
-TARGET_MIPS64=y
 TARGET_BASE_ARCH=mips
 TARGET_ABI_DIR=mips64
 TARGET_SYSTBL_ABI=n32
diff --git a/default-configs/targets/moxie-softmmu.mak b/default-configs/targets/moxie-softmmu.mak
index ada92a6b5b..b9d8d97031 100644
--- a/default-configs/targets/moxie-softmmu.mak
+++ b/default-configs/targets/moxie-softmmu.mak
@@ -1,3 +1,3 @@
-TARGET_MOXIE=y
+TARGET_ARCH=moxie
 TARGET_BASE_ARCH=moxie
 TARGET_WORDS_BIGENDIAN=y
diff --git a/default-configs/targets/nios2-linux-user.mak b/default-configs/targets/nios2-linux-user.mak
index a2308a16aa..57ddc32838 100644
--- a/default-configs/targets/nios2-linux-user.mak
+++ b/default-configs/targets/nios2-linux-user.mak
@@ -1,3 +1,3 @@
-TARGET_NIOS2=y
+TARGET_ARCH=nios2
 TARGET_BASE_ARCH=nios2
 TARGET_ABI_DIR=nios2
diff --git a/default-configs/targets/nios2-softmmu.mak b/default-configs/targets/nios2-softmmu.mak
index f10f08d0ca..787d1d1be1 100644
--- a/default-configs/targets/nios2-softmmu.mak
+++ b/default-configs/targets/nios2-softmmu.mak
@@ -1,2 +1,2 @@
-TARGET_NIOS2=y
+TARGET_ARCH=nios2
 TARGET_BASE_ARCH=nios2
diff --git a/default-configs/targets/or1k-linux-user.mak b/default-configs/targets/or1k-linux-user.mak
index 2f5ff844df..88175f039b 100644
--- a/default-configs/targets/or1k-linux-user.mak
+++ b/default-configs/targets/or1k-linux-user.mak
@@ -1,4 +1,4 @@
-TARGET_OPENRISC=y
+TARGET_ARCH=openrisc
 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
index a922266a98..4c0c4165aa 100644
--- a/default-configs/targets/or1k-softmmu.mak
+++ b/default-configs/targets/or1k-softmmu.mak
@@ -1,3 +1,3 @@
-TARGET_OPENRISC=y
+TARGET_ARCH=openrisc
 TARGET_BASE_ARCH=openrisc
 TARGET_WORDS_BIGENDIAN=y
diff --git a/default-configs/targets/ppc-linux-user.mak b/default-configs/targets/ppc-linux-user.mak
index c4d912bfb1..dda377508b 100644
--- a/default-configs/targets/ppc-linux-user.mak
+++ b/default-configs/targets/ppc-linux-user.mak
@@ -1,4 +1,4 @@
-TARGET_PPC=y
+TARGET_ARCH=ppc
 TARGET_BASE_ARCH=ppc
 TARGET_ABI_DIR=ppc
 TARGET_SYSTBL_ABI=common,nospu,32
diff --git a/default-configs/targets/ppc-softmmu.mak b/default-configs/targets/ppc-softmmu.mak
index 1b6d091cfb..b02f1fe51a 100644
--- a/default-configs/targets/ppc-softmmu.mak
+++ b/default-configs/targets/ppc-softmmu.mak
@@ -1,4 +1,4 @@
-TARGET_PPC=y
+TARGET_ARCH=ppc
 TARGET_BASE_ARCH=ppc
 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
index 7f96ab7e9d..3133346676 100644
--- a/default-configs/targets/ppc64-linux-user.mak
+++ b/default-configs/targets/ppc64-linux-user.mak
@@ -1,4 +1,4 @@
-TARGET_PPC64=y
+TARGET_ARCH=ppc64
 TARGET_BASE_ARCH=ppc
 TARGET_ABI_DIR=ppc
 TARGET_SYSTBL_ABI=common,nospu,64
diff --git a/default-configs/targets/ppc64-softmmu.mak b/default-configs/targets/ppc64-softmmu.mak
index e431feffeb..0fde2d02b9 100644
--- a/default-configs/targets/ppc64-softmmu.mak
+++ b/default-configs/targets/ppc64-softmmu.mak
@@ -1,4 +1,4 @@
-TARGET_PPC64=y
+TARGET_ARCH=ppc64
 TARGET_BASE_ARCH=ppc
 TARGET_WORDS_BIGENDIAN=y
 TARGET_SUPPORTS_MTTCG=y
diff --git a/default-configs/targets/ppc64abi32-linux-user.mak b/default-configs/targets/ppc64abi32-linux-user.mak
index 13a02700aa..0945451081 100644
--- a/default-configs/targets/ppc64abi32-linux-user.mak
+++ b/default-configs/targets/ppc64abi32-linux-user.mak
@@ -1,5 +1,5 @@
+TARGET_ARCH=ppc64
 TARGET_ABI32=y
-TARGET_PPC64=y
 TARGET_BASE_ARCH=ppc
 TARGET_ABI_DIR=ppc
 TARGET_SYSTBL_ABI=common,nospu,32
diff --git a/default-configs/targets/ppc64le-linux-user.mak b/default-configs/targets/ppc64le-linux-user.mak
index 3dd54b894c..426d5a28d6 100644
--- a/default-configs/targets/ppc64le-linux-user.mak
+++ b/default-configs/targets/ppc64le-linux-user.mak
@@ -1,4 +1,4 @@
-TARGET_PPC64=y
+TARGET_ARCH=ppc64
 TARGET_BASE_ARCH=ppc
 TARGET_ABI_DIR=ppc
 TARGET_SYSTBL_ABI=common,nospu,64
diff --git a/default-configs/targets/riscv32-linux-user.mak b/default-configs/targets/riscv32-linux-user.mak
index 91d72a46b0..dfb259e8aa 100644
--- a/default-configs/targets/riscv32-linux-user.mak
+++ b/default-configs/targets/riscv32-linux-user.mak
@@ -1,4 +1,4 @@
-TARGET_RISCV32=y
+TARGET_ARCH=riscv32
 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
index caa5829af8..4544e1ae9a 100644
--- a/default-configs/targets/riscv32-softmmu.mak
+++ b/default-configs/targets/riscv32-softmmu.mak
@@ -1,4 +1,4 @@
-TARGET_RISCV32=y
+TARGET_ARCH=riscv32
 TARGET_BASE_ARCH=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
index 9e53193cdb..b13895f3b0 100644
--- a/default-configs/targets/riscv64-linux-user.mak
+++ b/default-configs/targets/riscv64-linux-user.mak
@@ -1,4 +1,4 @@
-TARGET_RISCV64=y
+TARGET_ARCH=riscv64
 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
index e190c0363b..6ce0b283cf 100644
--- a/default-configs/targets/riscv64-softmmu.mak
+++ b/default-configs/targets/riscv64-softmmu.mak
@@ -1,4 +1,4 @@
-TARGET_RISCV64=y
+TARGET_ARCH=riscv64
 TARGET_BASE_ARCH=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 37b365475f..07abc5cd55 100644
--- a/default-configs/targets/rx-softmmu.mak
+++ b/default-configs/targets/rx-softmmu.mak
@@ -1,3 +1,3 @@
-TARGET_RX=y
+TARGET_ARCH=rx
 TARGET_BASE_ARCH=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
index 77ebec769f..f7e4244f43 100644
--- a/default-configs/targets/s390x-linux-user.mak
+++ b/default-configs/targets/s390x-linux-user.mak
@@ -1,4 +1,4 @@
-TARGET_S390X=y
+TARGET_ARCH=s390x
 TARGET_BASE_ARCH=s390x
 TARGET_ABI_DIR=s390x
 TARGET_SYSTBL_ABI=common,64
diff --git a/default-configs/targets/s390x-softmmu.mak b/default-configs/targets/s390x-softmmu.mak
index f08d25d3c3..080682f07b 100644
--- a/default-configs/targets/s390x-softmmu.mak
+++ b/default-configs/targets/s390x-softmmu.mak
@@ -1,4 +1,4 @@
-TARGET_S390X=y
+TARGET_ARCH=s390x
 TARGET_BASE_ARCH=s390x
 TARGET_WORDS_BIGENDIAN=y
 TARGET_SUPPORTS_MTTCG=y
diff --git a/default-configs/targets/sh4-linux-user.mak b/default-configs/targets/sh4-linux-user.mak
index 4292dd6128..db395a4886 100644
--- a/default-configs/targets/sh4-linux-user.mak
+++ b/default-configs/targets/sh4-linux-user.mak
@@ -1,4 +1,4 @@
-TARGET_SH4=y
+TARGET_ARCH=sh4
 TARGET_BASE_ARCH=sh4
 TARGET_ABI_DIR=sh4
 TARGET_SYSTBL_ABI=common
diff --git a/default-configs/targets/sh4-softmmu.mak b/default-configs/targets/sh4-softmmu.mak
index 8c7e9eaa7b..037cdac1d2 100644
--- a/default-configs/targets/sh4-softmmu.mak
+++ b/default-configs/targets/sh4-softmmu.mak
@@ -1,3 +1,3 @@
-TARGET_SH4=y
+TARGET_ARCH=sh4
 TARGET_BASE_ARCH=sh4
 TARGET_ALIGNED_ONLY=y
diff --git a/default-configs/targets/sh4eb-linux-user.mak b/default-configs/targets/sh4eb-linux-user.mak
index cf9178f4ea..b498e99ac2 100644
--- a/default-configs/targets/sh4eb-linux-user.mak
+++ b/default-configs/targets/sh4eb-linux-user.mak
@@ -1,4 +1,4 @@
-TARGET_SH4=y
+TARGET_ARCH=sh4
 TARGET_BASE_ARCH=sh4
 TARGET_ABI_DIR=sh4
 TARGET_SYSTBL_ABI=common
diff --git a/default-configs/targets/sh4eb-softmmu.mak b/default-configs/targets/sh4eb-softmmu.mak
index f1848b89b6..e0fc9715e0 100644
--- a/default-configs/targets/sh4eb-softmmu.mak
+++ b/default-configs/targets/sh4eb-softmmu.mak
@@ -1,4 +1,4 @@
-TARGET_SH4=y
+TARGET_ARCH=sh4
 TARGET_BASE_ARCH=sh4
 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 f478255591..bb83a268b6 100644
--- a/default-configs/targets/sparc-bsd-user.mak
+++ b/default-configs/targets/sparc-bsd-user.mak
@@ -1,4 +1,4 @@
-TARGET_SPARC=y
+TARGET_ARCH=sparc
 TARGET_BASE_ARCH=sparc
 TARGET_ABI_DIR=sparc
 TARGET_ALIGNED_ONLY=y
diff --git a/default-configs/targets/sparc-linux-user.mak b/default-configs/targets/sparc-linux-user.mak
index 7f2fcba978..72a4a90219 100644
--- a/default-configs/targets/sparc-linux-user.mak
+++ b/default-configs/targets/sparc-linux-user.mak
@@ -1,4 +1,4 @@
-TARGET_SPARC=y
+TARGET_ARCH=sparc
 TARGET_BASE_ARCH=sparc
 TARGET_ABI_DIR=sparc
 TARGET_SYSTBL_ABI=common,32
diff --git a/default-configs/targets/sparc-softmmu.mak b/default-configs/targets/sparc-softmmu.mak
index fb3dbb0d61..dab69263bb 100644
--- a/default-configs/targets/sparc-softmmu.mak
+++ b/default-configs/targets/sparc-softmmu.mak
@@ -1,4 +1,4 @@
-TARGET_SPARC=y
+TARGET_ARCH=sparc
 TARGET_BASE_ARCH=sparc
 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
index f5fcb7879e..e4c51df3dc 100644
--- a/default-configs/targets/sparc32plus-linux-user.mak
+++ b/default-configs/targets/sparc32plus-linux-user.mak
@@ -1,5 +1,5 @@
+TARGET_ARCH=sparc64
 TARGET_ABI32=y
-TARGET_SPARC64=y
 TARGET_BASE_ARCH=sparc
 TARGET_ABI_DIR=sparc
 TARGET_SYSTBL_ABI=common,32
diff --git a/default-configs/targets/sparc64-bsd-user.mak b/default-configs/targets/sparc64-bsd-user.mak
index 0ae8ea5420..3202825dc3 100644
--- a/default-configs/targets/sparc64-bsd-user.mak
+++ b/default-configs/targets/sparc64-bsd-user.mak
@@ -1,4 +1,4 @@
-TARGET_SPARC64=y
+TARGET_ARCH=sparc64
 TARGET_BASE_ARCH=sparc
 TARGET_ABI_DIR=sparc64
 TARGET_ALIGNED_ONLY=y
diff --git a/default-configs/targets/sparc64-linux-user.mak b/default-configs/targets/sparc64-linux-user.mak
index 817529e587..87d880032e 100644
--- a/default-configs/targets/sparc64-linux-user.mak
+++ b/default-configs/targets/sparc64-linux-user.mak
@@ -1,4 +1,4 @@
-TARGET_SPARC64=y
+TARGET_ARCH=sparc64
 TARGET_BASE_ARCH=sparc
 TARGET_ABI_DIR=sparc64
 TARGET_SYSTBL_ABI=common,64
diff --git a/default-configs/targets/sparc64-softmmu.mak b/default-configs/targets/sparc64-softmmu.mak
index bc07bfdb0a..8dd3217800 100644
--- a/default-configs/targets/sparc64-softmmu.mak
+++ b/default-configs/targets/sparc64-softmmu.mak
@@ -1,4 +1,4 @@
-TARGET_SPARC64=y
+TARGET_ARCH=sparc64
 TARGET_BASE_ARCH=sparc
 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
index 064d3320d7..dfa00f4327 100644
--- a/default-configs/targets/tilegx-linux-user.mak
+++ b/default-configs/targets/tilegx-linux-user.mak
@@ -1,3 +1,3 @@
-TARGET_TILEGX=y
+TARGET_ARCH=tilegx
 TARGET_BASE_ARCH=tilegx
 TARGET_ABI_DIR=tilegx
diff --git a/default-configs/targets/tricore-softmmu.mak b/default-configs/targets/tricore-softmmu.mak
index a29aa2d6dd..6f4193717f 100644
--- a/default-configs/targets/tricore-softmmu.mak
+++ b/default-configs/targets/tricore-softmmu.mak
@@ -1,2 +1,2 @@
-TARGET_TRICORE=y
+TARGET_ARCH=tricore
 TARGET_BASE_ARCH=tricore
diff --git a/default-configs/targets/unicore32-softmmu.mak b/default-configs/targets/unicore32-softmmu.mak
index 85f37dc88f..23d02da953 100644
--- a/default-configs/targets/unicore32-softmmu.mak
+++ b/default-configs/targets/unicore32-softmmu.mak
@@ -1,2 +1,2 @@
-TARGET_UNICORE32=y
+TARGET_ARCH=unicore32
 TARGET_BASE_ARCH=unicore32
diff --git a/default-configs/targets/x86_64-bsd-user.mak b/default-configs/targets/x86_64-bsd-user.mak
index 935b10e22c..83ac877606 100644
--- a/default-configs/targets/x86_64-bsd-user.mak
+++ b/default-configs/targets/x86_64-bsd-user.mak
@@ -1,4 +1,4 @@
-TARGET_X86_64=y
+TARGET_ARCH=x86_64
 TARGET_BASE_ARCH=i386
 TARGET_ABI_DIR=x86_64
 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
index 6a9418f9ff..6ccc10597b 100644
--- a/default-configs/targets/x86_64-linux-user.mak
+++ b/default-configs/targets/x86_64-linux-user.mak
@@ -1,4 +1,4 @@
-TARGET_X86_64=y
+TARGET_ARCH=x86_64
 TARGET_BASE_ARCH=i386
 TARGET_ABI_DIR=x86_64
 TARGET_SYSTBL_ABI=common,64
diff --git a/default-configs/targets/x86_64-softmmu.mak b/default-configs/targets/x86_64-softmmu.mak
index 377c63e823..75e42bc840 100644
--- a/default-configs/targets/x86_64-softmmu.mak
+++ b/default-configs/targets/x86_64-softmmu.mak
@@ -1,4 +1,4 @@
-TARGET_X86_64=y
+TARGET_ARCH=x86_64
 TARGET_BASE_ARCH=i386
 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
index 63d9cff69f..83ac59dbc9 100644
--- a/default-configs/targets/xtensa-linux-user.mak
+++ b/default-configs/targets/xtensa-linux-user.mak
@@ -1,4 +1,4 @@
-TARGET_XTENSA=y
+TARGET_ARCH=xtensa
 TARGET_BASE_ARCH=xtensa
 TARGET_ABI_DIR=xtensa
 TARGET_SYSTBL_ABI=common
diff --git a/default-configs/targets/xtensa-softmmu.mak b/default-configs/targets/xtensa-softmmu.mak
index 96f892c4a8..7ea404f8be 100644
--- a/default-configs/targets/xtensa-softmmu.mak
+++ b/default-configs/targets/xtensa-softmmu.mak
@@ -1,4 +1,4 @@
-TARGET_XTENSA=y
+TARGET_ARCH=xtensa
 TARGET_BASE_ARCH=xtensa
 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
index e66b7dd0e3..954e798fbe 100644
--- a/default-configs/targets/xtensaeb-linux-user.mak
+++ b/default-configs/targets/xtensaeb-linux-user.mak
@@ -1,4 +1,4 @@
-TARGET_XTENSA=y
+TARGET_ARCH=xtensa
 TARGET_BASE_ARCH=xtensa
 TARGET_ABI_DIR=xtensa
 TARGET_SYSTBL_ABI=common
diff --git a/default-configs/targets/xtensaeb-softmmu.mak b/default-configs/targets/xtensaeb-softmmu.mak
index e6f53a1272..c22832d236 100644
--- a/default-configs/targets/xtensaeb-softmmu.mak
+++ b/default-configs/targets/xtensaeb-softmmu.mak
@@ -1,4 +1,4 @@
-TARGET_XTENSA=y
+TARGET_ARCH=xtensa
 TARGET_BASE_ARCH=xtensa
 TARGET_ALIGNED_ONLY=y
 TARGET_WORDS_BIGENDIAN=y
diff --git a/meson.build b/meson.build
index c66bc19e07..444610a258 100644
--- a/meson.build
+++ b/meson.build
@@ -725,7 +725,7 @@ kconfig_external_symbols = [
   'CONFIG_LINUX',
   'CONFIG_PVRDMA',
 ]
-ignored = ['TARGET_XML_FILES', 'TARGET_ABI_DIR', 'TARGET_DIRS']
+ignored = [ 'TARGET_XML_FILES', 'TARGET_ABI_DIR', 'TARGET_ARCH' ]
 
 default_targets = 'CONFIG_DEFAULT_TARGETS' in config_host
 actual_target_dirs = []
@@ -778,6 +778,7 @@ foreach target : target_dirs
 
   actual_target_dirs += target
   config_target += keyval.load('default-configs/targets' / target + '.mak')
+  config_target += { 'TARGET_' + config_target['TARGET_ARCH'].to_upper(): 'y' }
 
   foreach k, v: disassemblers
     if config_host['ARCH'].startswith(k) or config_target['TARGET_BASE_ARCH'].startswith(k)
@@ -794,6 +795,8 @@ foreach target : target_dirs
     elif ignored.contains(k)
       # do nothing
     elif k == 'TARGET_BASE_ARCH'
+      # Note that TARGET_BASE_ARCH ends up in config-target.h but it is
+      # not used to select files from sourcesets.
       config_target_data.set('TARGET_' + v.to_upper(), 1)
     elif k == 'TARGET_NAME' or k == 'CONFIG_QEMU_INTERP_PREFIX'
       config_target_data.set_quoted(k, v)
-- 
2.26.2




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

* [PATCH 12/12] default-configs: remove redundant keys
  2020-09-23  9:11 [PATCH 00/12] Move target configuration to Meson Paolo Bonzini
                   ` (10 preceding siblings ...)
  2020-09-23  9:11 ` [PATCH 11/12] default-configs: use TARGET_ARCH key Paolo Bonzini
@ 2020-09-23  9:11 ` Paolo Bonzini
  11 siblings, 0 replies; 13+ messages in thread
From: Paolo Bonzini @ 2020-09-23  9:11 UTC (permalink / raw)
  To: qemu-devel; +Cc: richard.henderson

TARGET_BASE_ARCH and TARGET_ABI_DIR are 99% of the time the same
as TARGET_ARCH, remove them if so.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/targets/aarch64-linux-user.mak      | 1 -
 default-configs/targets/aarch64_be-linux-user.mak   | 1 -
 default-configs/targets/alpha-linux-user.mak        | 2 --
 default-configs/targets/alpha-softmmu.mak           | 1 -
 default-configs/targets/arm-linux-user.mak          | 2 --
 default-configs/targets/arm-softmmu.mak             | 1 -
 default-configs/targets/armeb-linux-user.mak        | 2 --
 default-configs/targets/avr-softmmu.mak             | 1 -
 default-configs/targets/cris-linux-user.mak         | 2 --
 default-configs/targets/cris-softmmu.mak            | 1 -
 default-configs/targets/hppa-linux-user.mak         | 2 --
 default-configs/targets/hppa-softmmu.mak            | 1 -
 default-configs/targets/i386-bsd-user.mak           | 2 --
 default-configs/targets/i386-linux-user.mak         | 2 --
 default-configs/targets/i386-softmmu.mak            | 1 -
 default-configs/targets/lm32-softmmu.mak            | 1 -
 default-configs/targets/m68k-linux-user.mak         | 2 --
 default-configs/targets/m68k-softmmu.mak            | 1 -
 default-configs/targets/microblaze-linux-user.mak   | 2 --
 default-configs/targets/microblaze-softmmu.mak      | 1 -
 default-configs/targets/microblazeel-linux-user.mak | 2 --
 default-configs/targets/microblazeel-softmmu.mak    | 1 -
 default-configs/targets/mips-linux-user.mak         | 2 --
 default-configs/targets/mips-softmmu.mak            | 1 -
 default-configs/targets/mips64-linux-user.mak       | 1 -
 default-configs/targets/mips64el-linux-user.mak     | 1 -
 default-configs/targets/mipsel-linux-user.mak       | 2 --
 default-configs/targets/mipsel-softmmu.mak          | 1 -
 default-configs/targets/mipsn32-linux-user.mak      | 1 -
 default-configs/targets/mipsn32el-linux-user.mak    | 1 -
 default-configs/targets/moxie-softmmu.mak           | 1 -
 default-configs/targets/nios2-linux-user.mak        | 2 --
 default-configs/targets/nios2-softmmu.mak           | 1 -
 default-configs/targets/or1k-linux-user.mak         | 2 --
 default-configs/targets/or1k-softmmu.mak            | 1 -
 default-configs/targets/ppc-linux-user.mak          | 2 --
 default-configs/targets/ppc-softmmu.mak             | 1 -
 default-configs/targets/rx-softmmu.mak              | 1 -
 default-configs/targets/s390x-linux-user.mak        | 2 --
 default-configs/targets/s390x-softmmu.mak           | 1 -
 default-configs/targets/sh4-linux-user.mak          | 2 --
 default-configs/targets/sh4-softmmu.mak             | 1 -
 default-configs/targets/sh4eb-linux-user.mak        | 2 --
 default-configs/targets/sh4eb-softmmu.mak           | 1 -
 default-configs/targets/sparc-bsd-user.mak          | 2 --
 default-configs/targets/sparc-linux-user.mak        | 2 --
 default-configs/targets/sparc-softmmu.mak           | 1 -
 default-configs/targets/sparc64-bsd-user.mak        | 1 -
 default-configs/targets/sparc64-linux-user.mak      | 1 -
 default-configs/targets/tilegx-linux-user.mak       | 2 --
 default-configs/targets/tricore-softmmu.mak         | 1 -
 default-configs/targets/unicore32-softmmu.mak       | 1 -
 default-configs/targets/x86_64-bsd-user.mak         | 1 -
 default-configs/targets/x86_64-linux-user.mak       | 1 -
 default-configs/targets/xtensa-linux-user.mak       | 2 --
 default-configs/targets/xtensa-softmmu.mak          | 1 -
 default-configs/targets/xtensaeb-linux-user.mak     | 2 --
 default-configs/targets/xtensaeb-softmmu.mak        | 1 -
 meson.build                                         | 8 ++++++++
 59 files changed, 8 insertions(+), 81 deletions(-)

diff --git a/default-configs/targets/aarch64-linux-user.mak b/default-configs/targets/aarch64-linux-user.mak
index d6c4a35c39..163c9209f4 100644
--- a/default-configs/targets/aarch64-linux-user.mak
+++ b/default-configs/targets/aarch64-linux-user.mak
@@ -1,5 +1,4 @@
 TARGET_ARCH=aarch64
 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_be-linux-user.mak b/default-configs/targets/aarch64_be-linux-user.mak
index 5e2d615c11..4c953cf8c5 100644
--- a/default-configs/targets/aarch64_be-linux-user.mak
+++ b/default-configs/targets/aarch64_be-linux-user.mak
@@ -1,6 +1,5 @@
 TARGET_ARCH=aarch64
 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
index e21f7cdefd..7e62fd796a 100644
--- a/default-configs/targets/alpha-linux-user.mak
+++ b/default-configs/targets/alpha-linux-user.mak
@@ -1,6 +1,4 @@
 TARGET_ARCH=alpha
-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
index 8ba1b4e403..e4b874a19e 100644
--- a/default-configs/targets/alpha-softmmu.mak
+++ b/default-configs/targets/alpha-softmmu.mak
@@ -1,4 +1,3 @@
 TARGET_ARCH=alpha
-TARGET_BASE_ARCH=alpha
 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
index 1b9bac9d3a..c7cd872e86 100644
--- a/default-configs/targets/arm-linux-user.mak
+++ b/default-configs/targets/arm-linux-user.mak
@@ -1,6 +1,4 @@
 TARGET_ARCH=arm
-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
diff --git a/default-configs/targets/arm-softmmu.mak b/default-configs/targets/arm-softmmu.mak
index 8af1d3ee1d..9b1a7f37c6 100644
--- a/default-configs/targets/arm-softmmu.mak
+++ b/default-configs/targets/arm-softmmu.mak
@@ -1,4 +1,3 @@
 TARGET_ARCH=arm
-TARGET_BASE_ARCH=arm
 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
index d2b0d9e26e..79bf10e99b 100644
--- a/default-configs/targets/armeb-linux-user.mak
+++ b/default-configs/targets/armeb-linux-user.mak
@@ -1,6 +1,4 @@
 TARGET_ARCH=arm
-TARGET_BASE_ARCH=arm
-TARGET_ABI_DIR=arm
 TARGET_SYSTBL_ABI=common,oabi
 TARGET_SYSTBL=syscall.tbl
 TARGET_WORDS_BIGENDIAN=y
diff --git a/default-configs/targets/avr-softmmu.mak b/default-configs/targets/avr-softmmu.mak
index 547c2986b6..e3f921c019 100644
--- a/default-configs/targets/avr-softmmu.mak
+++ b/default-configs/targets/avr-softmmu.mak
@@ -1,3 +1,2 @@
 TARGET_ARCH=avr
-TARGET_BASE_ARCH=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
index 7d3f6eb36d..e483c42066 100644
--- a/default-configs/targets/cris-linux-user.mak
+++ b/default-configs/targets/cris-linux-user.mak
@@ -1,3 +1 @@
 TARGET_ARCH=cris
-TARGET_BASE_ARCH=cris
-TARGET_ABI_DIR=cris
diff --git a/default-configs/targets/cris-softmmu.mak b/default-configs/targets/cris-softmmu.mak
index a132cec8d9..e483c42066 100644
--- a/default-configs/targets/cris-softmmu.mak
+++ b/default-configs/targets/cris-softmmu.mak
@@ -1,2 +1 @@
 TARGET_ARCH=cris
-TARGET_BASE_ARCH=cris
diff --git a/default-configs/targets/hppa-linux-user.mak b/default-configs/targets/hppa-linux-user.mak
index 05ef4568ad..f01e0a7b9e 100644
--- a/default-configs/targets/hppa-linux-user.mak
+++ b/default-configs/targets/hppa-linux-user.mak
@@ -1,6 +1,4 @@
 TARGET_ARCH=hppa
-TARGET_BASE_ARCH=hppa
-TARGET_ABI_DIR=hppa
 TARGET_SYSTBL_ABI=common,32
 TARGET_SYSTBL=syscall.tbl
 TARGET_ALIGNED_ONLY=y
diff --git a/default-configs/targets/hppa-softmmu.mak b/default-configs/targets/hppa-softmmu.mak
index bd7eaaf9a5..e3e71eb21b 100644
--- a/default-configs/targets/hppa-softmmu.mak
+++ b/default-configs/targets/hppa-softmmu.mak
@@ -1,5 +1,4 @@
 TARGET_ARCH=hppa
-TARGET_BASE_ARCH=hppa
 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 aa4d8c55e1..0283bb62a0 100644
--- a/default-configs/targets/i386-bsd-user.mak
+++ b/default-configs/targets/i386-bsd-user.mak
@@ -1,4 +1,2 @@
 TARGET_ARCH=i386
-TARGET_BASE_ARCH=i386
-TARGET_ABI_DIR=i386
 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
index 5117f59222..5b2546a430 100644
--- a/default-configs/targets/i386-linux-user.mak
+++ b/default-configs/targets/i386-linux-user.mak
@@ -1,6 +1,4 @@
 TARGET_ARCH=i386
-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 7371e87982..5babf71895 100644
--- a/default-configs/targets/i386-softmmu.mak
+++ b/default-configs/targets/i386-softmmu.mak
@@ -1,4 +1,3 @@
 TARGET_ARCH=i386
-TARGET_BASE_ARCH=i386
 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 6e55873788..55e7184a3d 100644
--- a/default-configs/targets/lm32-softmmu.mak
+++ b/default-configs/targets/lm32-softmmu.mak
@@ -1,3 +1,2 @@
 TARGET_ARCH=lm32
-TARGET_BASE_ARCH=lm32
 TARGET_WORDS_BIGENDIAN=y
diff --git a/default-configs/targets/m68k-linux-user.mak b/default-configs/targets/m68k-linux-user.mak
index 186d1117cf..805d16c6ab 100644
--- a/default-configs/targets/m68k-linux-user.mak
+++ b/default-configs/targets/m68k-linux-user.mak
@@ -1,6 +1,4 @@
 TARGET_ARCH=m68k
-TARGET_BASE_ARCH=m68k
-TARGET_ABI_DIR=m68k
 TARGET_SYSTBL_ABI=common
 TARGET_SYSTBL=syscall.tbl
 TARGET_WORDS_BIGENDIAN=y
diff --git a/default-configs/targets/m68k-softmmu.mak b/default-configs/targets/m68k-softmmu.mak
index fd8975978c..5df1a2b7d7 100644
--- a/default-configs/targets/m68k-softmmu.mak
+++ b/default-configs/targets/m68k-softmmu.mak
@@ -1,4 +1,3 @@
 TARGET_ARCH=m68k
-TARGET_BASE_ARCH=m68k
 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
index 249a22295a..2a25bf2fa3 100644
--- a/default-configs/targets/microblaze-linux-user.mak
+++ b/default-configs/targets/microblaze-linux-user.mak
@@ -1,6 +1,4 @@
 TARGET_ARCH=microblaze
-TARGET_BASE_ARCH=microblaze
-TARGET_ABI_DIR=microblaze
 TARGET_SYSTBL_ABI=common
 TARGET_SYSTBL=syscall.tbl
 TARGET_WORDS_BIGENDIAN=y
diff --git a/default-configs/targets/microblaze-softmmu.mak b/default-configs/targets/microblaze-softmmu.mak
index 8e5126f0f1..0b5c78ef00 100644
--- a/default-configs/targets/microblaze-softmmu.mak
+++ b/default-configs/targets/microblaze-softmmu.mak
@@ -1,4 +1,3 @@
 TARGET_ARCH=microblaze
-TARGET_BASE_ARCH=microblaze
 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
index f59156c63b..d0e775d840 100644
--- a/default-configs/targets/microblazeel-linux-user.mak
+++ b/default-configs/targets/microblazeel-linux-user.mak
@@ -1,6 +1,4 @@
 TARGET_ARCH=microblaze
-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
index 2d465cf6b4..dc822219d8 100644
--- a/default-configs/targets/microblazeel-softmmu.mak
+++ b/default-configs/targets/microblazeel-softmmu.mak
@@ -1,3 +1,2 @@
 TARGET_ARCH=microblaze
-TARGET_BASE_ARCH=microblaze
 TARGET_SUPPORTS_MTTCG=y
diff --git a/default-configs/targets/mips-linux-user.mak b/default-configs/targets/mips-linux-user.mak
index 5b8000dfb0..19f5779831 100644
--- a/default-configs/targets/mips-linux-user.mak
+++ b/default-configs/targets/mips-linux-user.mak
@@ -1,7 +1,5 @@
 TARGET_ARCH=mips
 TARGET_ABI_MIPSO32=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/mips-softmmu.mak b/default-configs/targets/mips-softmmu.mak
index e391801a0e..8a49999a47 100644
--- a/default-configs/targets/mips-softmmu.mak
+++ b/default-configs/targets/mips-softmmu.mak
@@ -1,5 +1,4 @@
 TARGET_ARCH=mips
-TARGET_BASE_ARCH=mips
 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
index 811df35427..32fd1acdf2 100644
--- a/default-configs/targets/mips64-linux-user.mak
+++ b/default-configs/targets/mips64-linux-user.mak
@@ -1,7 +1,6 @@
 TARGET_ARCH=mips64
 TARGET_ABI_MIPSN64=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-linux-user.mak b/default-configs/targets/mips64el-linux-user.mak
index f9de5d7857..f348f35997 100644
--- a/default-configs/targets/mips64el-linux-user.mak
+++ b/default-configs/targets/mips64el-linux-user.mak
@@ -1,7 +1,6 @@
 TARGET_ARCH=mips64
 TARGET_ABI_MIPSN64=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
index 11c3556665..e23793070c 100644
--- a/default-configs/targets/mipsel-linux-user.mak
+++ b/default-configs/targets/mipsel-linux-user.mak
@@ -1,7 +1,5 @@
 TARGET_ARCH=mips
 TARGET_ABI_MIPSO32=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
index a9fc3b2647..c7c41f4fb7 100644
--- a/default-configs/targets/mipsel-softmmu.mak
+++ b/default-configs/targets/mipsel-softmmu.mak
@@ -1,4 +1,3 @@
 TARGET_ARCH=mips
-TARGET_BASE_ARCH=mips
 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
index 040022ce87..b8c2441ad0 100644
--- a/default-configs/targets/mipsn32-linux-user.mak
+++ b/default-configs/targets/mipsn32-linux-user.mak
@@ -2,7 +2,6 @@ TARGET_ARCH=mips64
 TARGET_ABI_MIPSN32=y
 TARGET_ABI32=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/mipsn32el-linux-user.mak b/default-configs/targets/mipsn32el-linux-user.mak
index faeca7752e..f31a9c394b 100644
--- a/default-configs/targets/mipsn32el-linux-user.mak
+++ b/default-configs/targets/mipsn32el-linux-user.mak
@@ -2,7 +2,6 @@ TARGET_ARCH=mips64
 TARGET_ABI_MIPSN32=y
 TARGET_ABI32=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
index b9d8d97031..183e6b0ebd 100644
--- a/default-configs/targets/moxie-softmmu.mak
+++ b/default-configs/targets/moxie-softmmu.mak
@@ -1,3 +1,2 @@
 TARGET_ARCH=moxie
-TARGET_BASE_ARCH=moxie
 TARGET_WORDS_BIGENDIAN=y
diff --git a/default-configs/targets/nios2-linux-user.mak b/default-configs/targets/nios2-linux-user.mak
index 57ddc32838..9a372f0717 100644
--- a/default-configs/targets/nios2-linux-user.mak
+++ b/default-configs/targets/nios2-linux-user.mak
@@ -1,3 +1 @@
 TARGET_ARCH=nios2
-TARGET_BASE_ARCH=nios2
-TARGET_ABI_DIR=nios2
diff --git a/default-configs/targets/nios2-softmmu.mak b/default-configs/targets/nios2-softmmu.mak
index 787d1d1be1..9a372f0717 100644
--- a/default-configs/targets/nios2-softmmu.mak
+++ b/default-configs/targets/nios2-softmmu.mak
@@ -1,2 +1 @@
 TARGET_ARCH=nios2
-TARGET_BASE_ARCH=nios2
diff --git a/default-configs/targets/or1k-linux-user.mak b/default-configs/targets/or1k-linux-user.mak
index 88175f039b..1dfb93e46d 100644
--- a/default-configs/targets/or1k-linux-user.mak
+++ b/default-configs/targets/or1k-linux-user.mak
@@ -1,4 +1,2 @@
 TARGET_ARCH=openrisc
-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
index 4c0c4165aa..1dfb93e46d 100644
--- a/default-configs/targets/or1k-softmmu.mak
+++ b/default-configs/targets/or1k-softmmu.mak
@@ -1,3 +1,2 @@
 TARGET_ARCH=openrisc
-TARGET_BASE_ARCH=openrisc
 TARGET_WORDS_BIGENDIAN=y
diff --git a/default-configs/targets/ppc-linux-user.mak b/default-configs/targets/ppc-linux-user.mak
index dda377508b..ca4187e4aa 100644
--- a/default-configs/targets/ppc-linux-user.mak
+++ b/default-configs/targets/ppc-linux-user.mak
@@ -1,6 +1,4 @@
 TARGET_ARCH=ppc
-TARGET_BASE_ARCH=ppc
-TARGET_ABI_DIR=ppc
 TARGET_SYSTBL_ABI=common,nospu,32
 TARGET_SYSTBL=syscall.tbl
 TARGET_WORDS_BIGENDIAN=y
diff --git a/default-configs/targets/ppc-softmmu.mak b/default-configs/targets/ppc-softmmu.mak
index b02f1fe51a..ef69037a2c 100644
--- a/default-configs/targets/ppc-softmmu.mak
+++ b/default-configs/targets/ppc-softmmu.mak
@@ -1,4 +1,3 @@
 TARGET_ARCH=ppc
-TARGET_BASE_ARCH=ppc
 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/rx-softmmu.mak b/default-configs/targets/rx-softmmu.mak
index 07abc5cd55..2d410e0b0c 100644
--- a/default-configs/targets/rx-softmmu.mak
+++ b/default-configs/targets/rx-softmmu.mak
@@ -1,3 +1,2 @@
 TARGET_ARCH=rx
-TARGET_BASE_ARCH=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
index f7e4244f43..9e31ce6457 100644
--- a/default-configs/targets/s390x-linux-user.mak
+++ b/default-configs/targets/s390x-linux-user.mak
@@ -1,6 +1,4 @@
 TARGET_ARCH=s390x
-TARGET_BASE_ARCH=s390x
-TARGET_ABI_DIR=s390x
 TARGET_SYSTBL_ABI=common,64
 TARGET_SYSTBL=syscall.tbl
 TARGET_WORDS_BIGENDIAN=y
diff --git a/default-configs/targets/s390x-softmmu.mak b/default-configs/targets/s390x-softmmu.mak
index 080682f07b..fd9fbd870d 100644
--- a/default-configs/targets/s390x-softmmu.mak
+++ b/default-configs/targets/s390x-softmmu.mak
@@ -1,5 +1,4 @@
 TARGET_ARCH=s390x
-TARGET_BASE_ARCH=s390x
 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
index db395a4886..0152d6621e 100644
--- a/default-configs/targets/sh4-linux-user.mak
+++ b/default-configs/targets/sh4-linux-user.mak
@@ -1,6 +1,4 @@
 TARGET_ARCH=sh4
-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/sh4-softmmu.mak b/default-configs/targets/sh4-softmmu.mak
index 037cdac1d2..95896376c4 100644
--- a/default-configs/targets/sh4-softmmu.mak
+++ b/default-configs/targets/sh4-softmmu.mak
@@ -1,3 +1,2 @@
 TARGET_ARCH=sh4
-TARGET_BASE_ARCH=sh4
 TARGET_ALIGNED_ONLY=y
diff --git a/default-configs/targets/sh4eb-linux-user.mak b/default-configs/targets/sh4eb-linux-user.mak
index b498e99ac2..9b6fb4c1bb 100644
--- a/default-configs/targets/sh4eb-linux-user.mak
+++ b/default-configs/targets/sh4eb-linux-user.mak
@@ -1,6 +1,4 @@
 TARGET_ARCH=sh4
-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 e0fc9715e0..382e9a80f8 100644
--- a/default-configs/targets/sh4eb-softmmu.mak
+++ b/default-configs/targets/sh4eb-softmmu.mak
@@ -1,4 +1,3 @@
 TARGET_ARCH=sh4
-TARGET_BASE_ARCH=sh4
 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 bb83a268b6..9ba3d7b07f 100644
--- a/default-configs/targets/sparc-bsd-user.mak
+++ b/default-configs/targets/sparc-bsd-user.mak
@@ -1,5 +1,3 @@
 TARGET_ARCH=sparc
-TARGET_BASE_ARCH=sparc
-TARGET_ABI_DIR=sparc
 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
index 72a4a90219..53dc7aaed5 100644
--- a/default-configs/targets/sparc-linux-user.mak
+++ b/default-configs/targets/sparc-linux-user.mak
@@ -1,6 +1,4 @@
 TARGET_ARCH=sparc
-TARGET_BASE_ARCH=sparc
-TARGET_ABI_DIR=sparc
 TARGET_SYSTBL_ABI=common,32
 TARGET_SYSTBL=syscall.tbl
 TARGET_ALIGNED_ONLY=y
diff --git a/default-configs/targets/sparc-softmmu.mak b/default-configs/targets/sparc-softmmu.mak
index dab69263bb..9ba3d7b07f 100644
--- a/default-configs/targets/sparc-softmmu.mak
+++ b/default-configs/targets/sparc-softmmu.mak
@@ -1,4 +1,3 @@
 TARGET_ARCH=sparc
-TARGET_BASE_ARCH=sparc
 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 3202825dc3..8dd3217800 100644
--- a/default-configs/targets/sparc64-bsd-user.mak
+++ b/default-configs/targets/sparc64-bsd-user.mak
@@ -1,5 +1,4 @@
 TARGET_ARCH=sparc64
 TARGET_BASE_ARCH=sparc
-TARGET_ABI_DIR=sparc64
 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
index 87d880032e..846924201a 100644
--- a/default-configs/targets/sparc64-linux-user.mak
+++ b/default-configs/targets/sparc64-linux-user.mak
@@ -1,6 +1,5 @@
 TARGET_ARCH=sparc64
 TARGET_BASE_ARCH=sparc
-TARGET_ABI_DIR=sparc64
 TARGET_SYSTBL_ABI=common,64
 TARGET_SYSTBL=syscall.tbl
 TARGET_ALIGNED_ONLY=y
diff --git a/default-configs/targets/tilegx-linux-user.mak b/default-configs/targets/tilegx-linux-user.mak
index dfa00f4327..10480e74c9 100644
--- a/default-configs/targets/tilegx-linux-user.mak
+++ b/default-configs/targets/tilegx-linux-user.mak
@@ -1,3 +1 @@
 TARGET_ARCH=tilegx
-TARGET_BASE_ARCH=tilegx
-TARGET_ABI_DIR=tilegx
diff --git a/default-configs/targets/tricore-softmmu.mak b/default-configs/targets/tricore-softmmu.mak
index 6f4193717f..96b10af853 100644
--- a/default-configs/targets/tricore-softmmu.mak
+++ b/default-configs/targets/tricore-softmmu.mak
@@ -1,2 +1 @@
 TARGET_ARCH=tricore
-TARGET_BASE_ARCH=tricore
diff --git a/default-configs/targets/unicore32-softmmu.mak b/default-configs/targets/unicore32-softmmu.mak
index 23d02da953..57331e94fe 100644
--- a/default-configs/targets/unicore32-softmmu.mak
+++ b/default-configs/targets/unicore32-softmmu.mak
@@ -1,2 +1 @@
 TARGET_ARCH=unicore32
-TARGET_BASE_ARCH=unicore32
diff --git a/default-configs/targets/x86_64-bsd-user.mak b/default-configs/targets/x86_64-bsd-user.mak
index 83ac877606..799cd4acd4 100644
--- a/default-configs/targets/x86_64-bsd-user.mak
+++ b/default-configs/targets/x86_64-bsd-user.mak
@@ -1,4 +1,3 @@
 TARGET_ARCH=x86_64
 TARGET_BASE_ARCH=i386
-TARGET_ABI_DIR=x86_64
 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
index 6ccc10597b..9ceefbb615 100644
--- a/default-configs/targets/x86_64-linux-user.mak
+++ b/default-configs/targets/x86_64-linux-user.mak
@@ -1,6 +1,5 @@
 TARGET_ARCH=x86_64
 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/xtensa-linux-user.mak b/default-configs/targets/xtensa-linux-user.mak
index 83ac59dbc9..fc95cc60f5 100644
--- a/default-configs/targets/xtensa-linux-user.mak
+++ b/default-configs/targets/xtensa-linux-user.mak
@@ -1,6 +1,4 @@
 TARGET_ARCH=xtensa
-TARGET_BASE_ARCH=xtensa
-TARGET_ABI_DIR=xtensa
 TARGET_SYSTBL_ABI=common
 TARGET_SYSTBL=syscall.tbl
 TARGET_ALIGNED_ONLY=y
diff --git a/default-configs/targets/xtensa-softmmu.mak b/default-configs/targets/xtensa-softmmu.mak
index 7ea404f8be..26c0285655 100644
--- a/default-configs/targets/xtensa-softmmu.mak
+++ b/default-configs/targets/xtensa-softmmu.mak
@@ -1,4 +1,3 @@
 TARGET_ARCH=xtensa
-TARGET_BASE_ARCH=xtensa
 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
index 954e798fbe..cfc3518118 100644
--- a/default-configs/targets/xtensaeb-linux-user.mak
+++ b/default-configs/targets/xtensaeb-linux-user.mak
@@ -1,6 +1,4 @@
 TARGET_ARCH=xtensa
-TARGET_BASE_ARCH=xtensa
-TARGET_ABI_DIR=xtensa
 TARGET_SYSTBL_ABI=common
 TARGET_SYSTBL=syscall.tbl
 TARGET_ALIGNED_ONLY=y
diff --git a/default-configs/targets/xtensaeb-softmmu.mak b/default-configs/targets/xtensaeb-softmmu.mak
index c22832d236..14cb9289a6 100644
--- a/default-configs/targets/xtensaeb-softmmu.mak
+++ b/default-configs/targets/xtensaeb-softmmu.mak
@@ -1,5 +1,4 @@
 TARGET_ARCH=xtensa
-TARGET_BASE_ARCH=xtensa
 TARGET_ALIGNED_ONLY=y
 TARGET_WORDS_BIGENDIAN=y
 TARGET_SUPPORTS_MTTCG=y
diff --git a/meson.build b/meson.build
index 444610a258..b90fd23f27 100644
--- a/meson.build
+++ b/meson.build
@@ -780,6 +780,14 @@ foreach target : target_dirs
   config_target += keyval.load('default-configs/targets' / target + '.mak')
   config_target += { 'TARGET_' + config_target['TARGET_ARCH'].to_upper(): 'y' }
 
+  # Add default keys
+  if 'TARGET_BASE_ARCH' not in config_target
+    config_target += {'TARGET_BASE_ARCH': config_target['TARGET_ARCH']}
+  endif
+  if 'TARGET_ABI_DIR' not in config_target
+    config_target += {'TARGET_ABI_DIR': config_target['TARGET_ARCH']}
+  endif
+
   foreach k, v: disassemblers
     if config_host['ARCH'].startswith(k) or config_target['TARGET_BASE_ARCH'].startswith(k)
       foreach sym: v
-- 
2.26.2



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

end of thread, other threads:[~2020-09-23  9:29 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-23  9:11 [PATCH 00/12] Move target configuration to Meson Paolo Bonzini
2020-09-23  9:11 ` [PATCH 01/12] default-configs: move files to default-configs/devices/ Paolo Bonzini
2020-09-23  9:11 ` [PATCH 02/12] configure: convert accelerator variables to meson options Paolo Bonzini
2020-09-23  9:11 ` [PATCH 03/12] configure: rewrite accelerator defaults as tests Paolo Bonzini
2020-09-23  9:11 ` [PATCH 04/12] configure: move accelerator logic to meson Paolo Bonzini
2020-09-23  9:11 ` [PATCH 05/12] configure: remove dead variable Paolo Bonzini
2020-09-23  9:11 ` [PATCH 06/12] configure: compute derivatives of target name in meson Paolo Bonzini
2020-09-23  9:11 ` [PATCH 07/12] configure: remove useless config-target.mak symbols Paolo Bonzini
2020-09-23  9:11 ` [PATCH 08/12] configure: remove target configuration Paolo Bonzini
2020-09-23  9:11 ` [PATCH 09/12] default-configs: remove default-configs/devices for user-mode targets Paolo Bonzini
2020-09-23  9:11 ` [PATCH 10/12] configure: move OpenBSD W^X test to meson Paolo Bonzini
2020-09-23  9:11 ` [PATCH 11/12] default-configs: use TARGET_ARCH key Paolo Bonzini
2020-09-23  9:11 ` [PATCH 12/12] default-configs: remove redundant keys Paolo Bonzini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).