* [PULL 00/19] Build system + MCE patches for 2020-10-05
@ 2020-10-05 8:23 Paolo Bonzini
2020-10-05 8:23 ` [PULL 01/19] travis: remove TCI test Paolo Bonzini
` (19 more replies)
0 siblings, 20 replies; 21+ messages in thread
From: Paolo Bonzini @ 2020-10-05 8:23 UTC (permalink / raw)
To: qemu-devel
The following changes since commit 469e72ab7dbbd7ff4ee601e5ea7c29545d46593b:
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2020-10-02 16:19:42 +0100)
are available in the Git repository at:
https://gitlab.com/bonzini/qemu.git tags/for-upstream
for you to fetch changes up to d72d6dcb0d633bb08c2dc5a959a47608a1655018:
dockerfiles: add diffutils to Fedora (2020-10-05 09:14:19 +0200)
----------------------------------------------------------------
* move target configuration to default-configs/targets (myself)
* Memory failure event (Zhenwei)
----------------------------------------------------------------
Paolo Bonzini (16):
travis: remove TCI test
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: compute derivatives of target name in 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
meson: move sparse detection to Meson and rewrite check_sparse.py
tests: tcg: do not use implicit rules
dockerfiles: add diffutils to Fedora
Zhenwei Pi (3):
target-i386: seperate MCIP & MCE_MASK error reason
qapi/run-state.json: introduce memory failure event
target-i386: post memory failure event to QMP
.travis.yml | 8 -
configure | 627 +++------------------
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 -
default-configs/{ => devices}/aarch64-softmmu.mak | 0
default-configs/{ => devices}/alpha-softmmu.mak | 0
default-configs/{ => devices}/arm-softmmu.mak | 0
default-configs/{ => devices}/avr-softmmu.mak | 0
default-configs/{ => devices}/cris-softmmu.mak | 0
default-configs/{ => devices}/hppa-softmmu.mak | 0
default-configs/{ => devices}/i386-softmmu.mak | 0
default-configs/{ => devices}/lm32-softmmu.mak | 0
default-configs/{ => devices}/m68k-softmmu.mak | 0
.../{ => devices}/microblaze-softmmu.mak | 0
.../{ => devices}/microblazeel-softmmu.mak | 0
.../{ => devices}/mips-softmmu-common.mak | 0
default-configs/{ => devices}/mips-softmmu.mak | 0
default-configs/{ => devices}/mips64-softmmu.mak | 0
default-configs/{ => devices}/mips64el-softmmu.mak | 0
default-configs/{ => devices}/mipsel-softmmu.mak | 0
default-configs/{ => devices}/moxie-softmmu.mak | 0
default-configs/{ => devices}/nios2-softmmu.mak | 0
default-configs/{ => devices}/or1k-softmmu.mak | 0
default-configs/{ => devices}/ppc-softmmu.mak | 0
default-configs/{ => devices}/ppc64-softmmu.mak | 0
default-configs/{ => devices}/riscv32-softmmu.mak | 0
default-configs/{ => devices}/riscv64-softmmu.mak | 0
default-configs/{ => devices}/rx-softmmu.mak | 0
default-configs/{ => devices}/s390x-softmmu.mak | 0
default-configs/{ => devices}/sh4-softmmu.mak | 0
default-configs/{ => devices}/sh4eb-softmmu.mak | 0
default-configs/{ => devices}/sparc-softmmu.mak | 0
default-configs/{ => devices}/sparc64-softmmu.mak | 0
default-configs/{ => devices}/tricore-softmmu.mak | 0
.../{ => devices}/unicore32-softmmu.mak | 0
default-configs/{ => devices}/x86_64-softmmu.mak | 0
default-configs/{ => devices}/xtensa-softmmu.mak | 0
default-configs/{ => 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 -
default-configs/targets/aarch64-linux-user.mak | 4 +
default-configs/targets/aarch64-softmmu.mak | 4 +
default-configs/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 +
default-configs/targets/microblaze-linux-user.mak | 5 +
default-configs/targets/microblaze-softmmu.mak | 3 +
.../targets/microblazeel-linux-user.mak | 4 +
default-configs/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 +
default-configs/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 +
default-configs/targets/mipsn32-linux-user.mak | 8 +
default-configs/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 +
default-configs/targets/ppc64abi32-linux-user.mak | 8 +
default-configs/targets/ppc64le-linux-user.mak | 6 +
default-configs/targets/riscv32-linux-user.mak | 4 +
default-configs/targets/riscv32-softmmu.mak | 4 +
default-configs/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 +
default-configs/targets/sparc32plus-linux-user.mak | 8 +
default-configs/targets/sparc64-bsd-user.mak | 4 +
default-configs/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 +
default-configs/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 | 190 ++++++-
meson_options.txt | 17 +
qapi/run-state.json | 90 +++
scripts/check_sparse.py | 56 +-
target/i386/helper.c | 47 +-
target/i386/kvm.c | 13 +-
tests/Makefile.include | 6 +-
tests/docker/dockerfiles/fedora.docker | 1 +
tests/meson.build | 2 +-
156 files changed, 731 insertions(+), 650 deletions(-)
delete mode 100644 default-configs/aarch64-linux-user.mak
delete mode 100644 default-configs/aarch64_be-linux-user.mak
delete mode 100644 default-configs/alpha-linux-user.mak
delete mode 100644 default-configs/arm-linux-user.mak
delete mode 100644 default-configs/armeb-linux-user.mak
delete mode 100644 default-configs/cris-linux-user.mak
rename default-configs/{ => devices}/aarch64-softmmu.mak (100%)
rename default-configs/{ => devices}/alpha-softmmu.mak (100%)
rename default-configs/{ => devices}/arm-softmmu.mak (100%)
rename default-configs/{ => devices}/avr-softmmu.mak (100%)
rename default-configs/{ => devices}/cris-softmmu.mak (100%)
rename default-configs/{ => devices}/hppa-softmmu.mak (100%)
rename default-configs/{ => devices}/i386-softmmu.mak (100%)
rename default-configs/{ => devices}/lm32-softmmu.mak (100%)
rename default-configs/{ => devices}/m68k-softmmu.mak (100%)
rename default-configs/{ => devices}/microblaze-softmmu.mak (100%)
rename default-configs/{ => devices}/microblazeel-softmmu.mak (100%)
rename default-configs/{ => devices}/mips-softmmu-common.mak (100%)
rename default-configs/{ => devices}/mips-softmmu.mak (100%)
rename default-configs/{ => devices}/mips64-softmmu.mak (100%)
rename default-configs/{ => devices}/mips64el-softmmu.mak (100%)
rename default-configs/{ => devices}/mipsel-softmmu.mak (100%)
rename default-configs/{ => devices}/moxie-softmmu.mak (100%)
rename default-configs/{ => devices}/nios2-softmmu.mak (100%)
rename default-configs/{ => devices}/or1k-softmmu.mak (100%)
rename default-configs/{ => devices}/ppc-softmmu.mak (100%)
rename default-configs/{ => devices}/ppc64-softmmu.mak (100%)
rename default-configs/{ => devices}/riscv32-softmmu.mak (100%)
rename default-configs/{ => devices}/riscv64-softmmu.mak (100%)
rename default-configs/{ => devices}/rx-softmmu.mak (100%)
rename default-configs/{ => devices}/s390x-softmmu.mak (100%)
rename default-configs/{ => devices}/sh4-softmmu.mak (100%)
rename default-configs/{ => devices}/sh4eb-softmmu.mak (100%)
rename default-configs/{ => devices}/sparc-softmmu.mak (100%)
rename default-configs/{ => devices}/sparc64-softmmu.mak (100%)
rename default-configs/{ => devices}/tricore-softmmu.mak (100%)
rename default-configs/{ => devices}/unicore32-softmmu.mak (100%)
rename default-configs/{ => devices}/x86_64-softmmu.mak (100%)
rename default-configs/{ => devices}/xtensa-softmmu.mak (100%)
rename default-configs/{ => devices}/xtensaeb-softmmu.mak (100%)
delete mode 100644 default-configs/hppa-linux-user.mak
delete mode 100644 default-configs/i386-bsd-user.mak
delete mode 100644 default-configs/i386-linux-user.mak
delete mode 100644 default-configs/m68k-linux-user.mak
delete mode 100644 default-configs/microblaze-linux-user.mak
delete mode 100644 default-configs/microblazeel-linux-user.mak
delete mode 100644 default-configs/mips-linux-user.mak
delete mode 100644 default-configs/mips64-linux-user.mak
delete mode 100644 default-configs/mips64el-linux-user.mak
delete mode 100644 default-configs/mipsel-linux-user.mak
delete mode 100644 default-configs/mipsn32-linux-user.mak
delete mode 100644 default-configs/mipsn32el-linux-user.mak
delete mode 100644 default-configs/nios2-linux-user.mak
delete mode 100644 default-configs/or1k-linux-user.mak
delete mode 100644 default-configs/ppc-linux-user.mak
delete mode 100644 default-configs/ppc64-linux-user.mak
delete mode 100644 default-configs/ppc64abi32-linux-user.mak
delete mode 100644 default-configs/ppc64le-linux-user.mak
delete mode 100644 default-configs/riscv32-linux-user.mak
delete mode 100644 default-configs/riscv64-linux-user.mak
delete mode 100644 default-configs/s390x-linux-user.mak
delete mode 100644 default-configs/sh4-linux-user.mak
delete mode 100644 default-configs/sh4eb-linux-user.mak
delete mode 100644 default-configs/sparc-bsd-user.mak
delete mode 100644 default-configs/sparc-linux-user.mak
delete mode 100644 default-configs/sparc32plus-linux-user.mak
delete mode 100644 default-configs/sparc64-bsd-user.mak
delete mode 100644 default-configs/sparc64-linux-user.mak
create mode 100644 default-configs/targets/aarch64-linux-user.mak
create mode 100644 default-configs/targets/aarch64-softmmu.mak
create mode 100644 default-configs/targets/aarch64_be-linux-user.mak
create mode 100644 default-configs/targets/alpha-linux-user.mak
create mode 100644 default-configs/targets/alpha-softmmu.mak
create mode 100644 default-configs/targets/arm-linux-user.mak
create mode 100644 default-configs/targets/arm-softmmu.mak
create mode 100644 default-configs/targets/armeb-linux-user.mak
create mode 100644 default-configs/targets/avr-softmmu.mak
create mode 100644 default-configs/targets/cris-linux-user.mak
create mode 100644 default-configs/targets/cris-softmmu.mak
create mode 100644 default-configs/targets/hppa-linux-user.mak
create mode 100644 default-configs/targets/hppa-softmmu.mak
create mode 100644 default-configs/targets/i386-bsd-user.mak
create mode 100644 default-configs/targets/i386-linux-user.mak
create mode 100644 default-configs/targets/i386-softmmu.mak
create mode 100644 default-configs/targets/lm32-softmmu.mak
create mode 100644 default-configs/targets/m68k-linux-user.mak
create mode 100644 default-configs/targets/m68k-softmmu.mak
create mode 100644 default-configs/targets/microblaze-linux-user.mak
create mode 100644 default-configs/targets/microblaze-softmmu.mak
create mode 100644 default-configs/targets/microblazeel-linux-user.mak
create mode 100644 default-configs/targets/microblazeel-softmmu.mak
create mode 100644 default-configs/targets/mips-linux-user.mak
create mode 100644 default-configs/targets/mips-softmmu.mak
create mode 100644 default-configs/targets/mips64-linux-user.mak
create mode 100644 default-configs/targets/mips64-softmmu.mak
create mode 100644 default-configs/targets/mips64el-linux-user.mak
create mode 100644 default-configs/targets/mips64el-softmmu.mak
create mode 100644 default-configs/targets/mipsel-linux-user.mak
create mode 100644 default-configs/targets/mipsel-softmmu.mak
create mode 100644 default-configs/targets/mipsn32-linux-user.mak
create mode 100644 default-configs/targets/mipsn32el-linux-user.mak
create mode 100644 default-configs/targets/moxie-softmmu.mak
create mode 100644 default-configs/targets/nios2-linux-user.mak
create mode 100644 default-configs/targets/nios2-softmmu.mak
create mode 100644 default-configs/targets/or1k-linux-user.mak
create mode 100644 default-configs/targets/or1k-softmmu.mak
create mode 100644 default-configs/targets/ppc-linux-user.mak
create mode 100644 default-configs/targets/ppc-softmmu.mak
create mode 100644 default-configs/targets/ppc64-linux-user.mak
create mode 100644 default-configs/targets/ppc64-softmmu.mak
create mode 100644 default-configs/targets/ppc64abi32-linux-user.mak
create mode 100644 default-configs/targets/ppc64le-linux-user.mak
create mode 100644 default-configs/targets/riscv32-linux-user.mak
create mode 100644 default-configs/targets/riscv32-softmmu.mak
create mode 100644 default-configs/targets/riscv64-linux-user.mak
create mode 100644 default-configs/targets/riscv64-softmmu.mak
create mode 100644 default-configs/targets/rx-softmmu.mak
create mode 100644 default-configs/targets/s390x-linux-user.mak
create mode 100644 default-configs/targets/s390x-softmmu.mak
create mode 100644 default-configs/targets/sh4-linux-user.mak
create mode 100644 default-configs/targets/sh4-softmmu.mak
create mode 100644 default-configs/targets/sh4eb-linux-user.mak
create mode 100644 default-configs/targets/sh4eb-softmmu.mak
create mode 100644 default-configs/targets/sparc-bsd-user.mak
create mode 100644 default-configs/targets/sparc-linux-user.mak
create mode 100644 default-configs/targets/sparc-softmmu.mak
create mode 100644 default-configs/targets/sparc32plus-linux-user.mak
create mode 100644 default-configs/targets/sparc64-bsd-user.mak
create mode 100644 default-configs/targets/sparc64-linux-user.mak
create mode 100644 default-configs/targets/sparc64-softmmu.mak
create mode 100644 default-configs/targets/tilegx-linux-user.mak
create mode 100644 default-configs/targets/tricore-softmmu.mak
create mode 100644 default-configs/targets/unicore32-softmmu.mak
create mode 100644 default-configs/targets/x86_64-bsd-user.mak
create mode 100644 default-configs/targets/x86_64-linux-user.mak
create mode 100644 default-configs/targets/x86_64-softmmu.mak
create mode 100644 default-configs/targets/xtensa-linux-user.mak
create mode 100644 default-configs/targets/xtensa-softmmu.mak
create mode 100644 default-configs/targets/xtensaeb-linux-user.mak
create mode 100644 default-configs/targets/xtensaeb-softmmu.mak
delete mode 100644 default-configs/tilegx-linux-user.mak
delete mode 100644 default-configs/x86_64-bsd-user.mak
delete mode 100644 default-configs/x86_64-linux-user.mak
delete mode 100644 default-configs/xtensa-linux-user.mak
delete mode 100644 default-configs/xtensaeb-linux-user.mak
--
2.26.2
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PULL 01/19] travis: remove TCI test
2020-10-05 8:23 [PULL 00/19] Build system + MCE patches for 2020-10-05 Paolo Bonzini
@ 2020-10-05 8:23 ` Paolo Bonzini
2020-10-05 8:23 ` [PULL 02/19] default-configs: move files to default-configs/devices/ Paolo Bonzini
` (18 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Paolo Bonzini @ 2020-10-05 8:23 UTC (permalink / raw)
To: qemu-devel; +Cc: Thomas Huth, Alex Bennée
TCI is already covered on gitlab CI, so we can remove it.
Cc: Thomas Huth <thuth@redhat.com>
Cc: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
.travis.yml | 8 --------
1 file changed, 8 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index 519e62432d..1054ec5d29 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -226,14 +226,6 @@ jobs:
- TEST_CMD=""
- # Check the TCG interpreter (TCI)
- - name: "GCC TCI"
- env:
- - CONFIG="--enable-debug-tcg --enable-tcg-interpreter --disable-kvm --disable-containers
- --target-list=alpha-softmmu,arm-softmmu,hppa-softmmu,m68k-softmmu,microblaze-softmmu,moxie-softmmu,ppc-softmmu,s390x-softmmu,x86_64-softmmu"
- - TEST_CMD="make check-qtest check-tcg V=1"
-
-
# We don't need to exercise every backend with every front-end
- name: "GCC trace log,simple,syslog (user)"
env:
--
2.26.2
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PULL 02/19] default-configs: move files to default-configs/devices/
2020-10-05 8:23 [PULL 00/19] Build system + MCE patches for 2020-10-05 Paolo Bonzini
2020-10-05 8:23 ` [PULL 01/19] travis: remove TCI test Paolo Bonzini
@ 2020-10-05 8:23 ` Paolo Bonzini
2020-10-05 8:23 ` [PULL 03/19] configure: convert accelerator variables to meson options Paolo Bonzini
` (17 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Paolo Bonzini @ 2020-10-05 8:23 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 a5841241be..1981f58aa9 100755
--- a/configure
+++ b/configure
@@ -1719,13 +1719,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 0f0cc21d16..41e5763e75 100644
--- a/meson.build
+++ b/meson.build
@@ -695,7 +695,7 @@ foreach target : target_dirs
config_devices_mak = target + '-config-devices.mak'
config_devices_mak = configure_file(
- input: ['default-configs' / target + '.mak', 'Kconfig'],
+ input: ['default-configs/devices' / target + '.mak', 'Kconfig'],
output: config_devices_mak,
depfile: config_devices_mak + '.d',
capture: true,
--
2.26.2
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PULL 03/19] configure: convert accelerator variables to meson options
2020-10-05 8:23 [PULL 00/19] Build system + MCE patches for 2020-10-05 Paolo Bonzini
2020-10-05 8:23 ` [PULL 01/19] travis: remove TCI test Paolo Bonzini
2020-10-05 8:23 ` [PULL 02/19] default-configs: move files to default-configs/devices/ Paolo Bonzini
@ 2020-10-05 8:23 ` Paolo Bonzini
2020-10-05 8:23 ` [PULL 04/19] configure: rewrite accelerator defaults as tests Paolo Bonzini
` (16 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Paolo Bonzini @ 2020-10-05 8:23 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 ++++++
tests/meson.build | 2 +-
3 files changed, 83 insertions(+), 66 deletions(-)
diff --git a/configure b/configure
index 1981f58aa9..5cbfab9968 100755
--- a/configure
+++ b/configure
@@ -220,7 +220,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)
@@ -231,7 +231,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 | \
@@ -247,7 +247,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
@@ -259,7 +259,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)
@@ -270,7 +270,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)
@@ -310,7 +310,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
@@ -413,14 +413,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=""
@@ -428,10 +428,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"
@@ -817,8 +817,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
@@ -852,7 +852,7 @@ DragonFly)
;;
NetBSD)
bsd="yes"
- hax="yes"
+ hax="enabled"
make="${MAKE-gmake}"
audio_drv_list="oss try-sdl"
audio_possible_drivers="oss sdl"
@@ -869,8 +869,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"
@@ -906,7 +906,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
@@ -1188,33 +1188,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"
;;
@@ -1224,9 +1224,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"
;;
@@ -1711,7 +1711,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=""
@@ -2668,7 +2668,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.
@@ -2677,7 +2677,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
@@ -2703,10 +2703,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
@@ -2732,7 +2732,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
@@ -2752,7 +2752,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
@@ -2771,7 +2771,7 @@ EOF
then
xen_stable_libs="-lxendevicemodel $xen_stable_libs"
xen_ctrl_version=40900
- xen=yes
+ xen=enabled
elif
cat > $TMPC <<EOF &&
/*
@@ -2824,7 +2824,7 @@ EOF
compile_prog "" "$xen_libs $xen_stable_libs"
then
xen_ctrl_version=40800
- xen=yes
+ xen=enabled
elif
cat > $TMPC <<EOF &&
/*
@@ -2873,7 +2873,7 @@ EOF
compile_prog "" "$xen_libs $xen_stable_libs"
then
xen_ctrl_version=40701
- xen=yes
+ xen=enabled
# Xen 4.6
elif
@@ -2901,7 +2901,7 @@ EOF
compile_prog "" "$xen_libs"
then
xen_ctrl_version=40600
- xen=yes
+ xen=enabled
# Xen 4.5
elif
@@ -2928,7 +2928,7 @@ EOF
compile_prog "" "$xen_libs"
then
xen_ctrl_version=40500
- xen=yes
+ xen=enabled
elif
cat > $TMPC <<EOF &&
@@ -2953,17 +2953,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
@@ -2971,31 +2971,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
@@ -5823,18 +5823,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
@@ -6192,7 +6192,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
@@ -6743,7 +6743,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
@@ -6823,7 +6823,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
@@ -7606,7 +7606,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
@@ -7844,6 +7844,8 @@ NINJA=${ninja:-$PWD/ninjatool} $meson setup \
-Db_pie=$(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',
diff --git a/tests/meson.build b/tests/meson.build
index 3c2969092d..bf47a38c74 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -269,7 +269,7 @@ test('decodetree', sh,
subdir('fp')
-if 'CONFIG_TCG' in config_host
+if not get_option('tcg').disabled()
if 'CONFIG_PLUGIN' in config_host
subdir('plugin')
endif
--
2.26.2
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PULL 04/19] configure: rewrite accelerator defaults as tests
2020-10-05 8:23 [PULL 00/19] Build system + MCE patches for 2020-10-05 Paolo Bonzini
` (2 preceding siblings ...)
2020-10-05 8:23 ` [PULL 03/19] configure: convert accelerator variables to meson options Paolo Bonzini
@ 2020-10-05 8:23 ` Paolo Bonzini
2020-10-05 8:23 ` [PULL 05/19] configure: move accelerator logic to meson Paolo Bonzini
` (15 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Paolo Bonzini @ 2020-10-05 8:23 UTC (permalink / raw)
To: qemu-devel
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 5cbfab9968..9dec87e186 100755
--- a/configure
+++ b/configure
@@ -428,10 +428,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"
@@ -817,8 +817,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
@@ -852,7 +850,6 @@ DragonFly)
;;
NetBSD)
bsd="yes"
- hax="enabled"
make="${MAKE-gmake}"
audio_drv_list="oss try-sdl"
audio_possible_drivers="oss sdl"
@@ -869,8 +866,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"
@@ -906,7 +901,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
@@ -2665,6 +2659,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
@@ -2985,14 +3002,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"
@@ -5828,13 +5846,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] 21+ messages in thread
* [PULL 05/19] configure: move accelerator logic to meson
2020-10-05 8:23 [PULL 00/19] Build system + MCE patches for 2020-10-05 Paolo Bonzini
` (3 preceding siblings ...)
2020-10-05 8:23 ` [PULL 04/19] configure: rewrite accelerator defaults as tests Paolo Bonzini
@ 2020-10-05 8:23 ` Paolo Bonzini
2020-10-05 8:23 ` [PULL 06/19] configure: remove dead variable Paolo Bonzini
` (14 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Paolo Bonzini @ 2020-10-05 8:23 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>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 19 ---------
meson.build | 109 ++++++++++++++++++++++++++++++++++++++++++++--------
2 files changed, 94 insertions(+), 34 deletions(-)
diff --git a/configure b/configure
index 9dec87e186..9224ac47e6 100755
--- a/configure
+++ b/configure
@@ -6842,7 +6842,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
@@ -7622,24 +7621,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 41e5763e75..43ce1272b9 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,64 @@ 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'
+ config_host += { 'CONFIG_TCG': 'y' }
+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
@@ -641,17 +720,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.get(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
+ have_accel = true
+ endif
+ 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
@@ -677,11 +761,6 @@ foreach target : target_dirs
config_target_data.set(k, v)
endif
endforeach
- foreach sym: accel_symbols
- if config_target.has_key(sym)
- config_all += { sym: 'y' }
- endif
- endforeach
config_target_h += {target: configure_file(output: target + '-config-target.h',
configuration: config_target_data)}
--
2.26.2
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PULL 06/19] configure: remove dead variable
2020-10-05 8:23 [PULL 00/19] Build system + MCE patches for 2020-10-05 Paolo Bonzini
` (4 preceding siblings ...)
2020-10-05 8:23 ` [PULL 05/19] configure: move accelerator logic to meson Paolo Bonzini
@ 2020-10-05 8:23 ` Paolo Bonzini
2020-10-05 8:23 ` [PULL 07/19] configure: compute derivatives of target name in meson Paolo Bonzini
` (13 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Paolo Bonzini @ 2020-10-05 8:23 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 9224ac47e6..2133239593 100755
--- a/configure
+++ b/configure
@@ -811,9 +811,6 @@ fi
# OS specific
-# host *BSD for user mode
-HOST_VARIANT_DIR=""
-
case $targetos in
MINGW32*)
mingw32="yes"
@@ -839,14 +836,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"
@@ -854,14 +849,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"
@@ -877,7 +870,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"
@@ -7613,9 +7605,6 @@ if [ "$TARGET_ABI_DIR" = "" ]; then
TARGET_ABI_DIR=$TARGET_ARCH
fi
echo "TARGET_ABI_DIR=$TARGET_ABI_DIR" >> $config_target_mak
-if [ "$HOST_VARIANT_DIR" != "" ]; then
- echo "HOST_VARIANT_DIR=$HOST_VARIANT_DIR" >> $config_target_mak
-fi
if [ "$TARGET_SYSTBL_ABI" != "" ]; then
echo "TARGET_SYSTBL_ABI=$TARGET_SYSTBL_ABI" >> $config_target_mak
echo "TARGET_SYSTBL=$TARGET_SYSTBL" >> $config_target_mak
--
2.26.2
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PULL 07/19] configure: compute derivatives of target name in meson
2020-10-05 8:23 [PULL 00/19] Build system + MCE patches for 2020-10-05 Paolo Bonzini
` (5 preceding siblings ...)
2020-10-05 8:23 ` [PULL 06/19] configure: remove dead variable Paolo Bonzini
@ 2020-10-05 8:23 ` Paolo Bonzini
2020-10-05 8:23 ` [PULL 08/19] configure: remove useless config-target.mak symbols Paolo Bonzini
` (12 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Paolo Bonzini @ 2020-10-05 8:23 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>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 11 +----------
meson.build | 27 ++++++++++++++++++++++++---
2 files changed, 25 insertions(+), 13 deletions(-)
diff --git a/configure b/configure
index 2133239593..7058ac10e9 100755
--- a/configure
+++ b/configure
@@ -7599,7 +7599,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
@@ -7617,21 +7616,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
@@ -7643,9 +7636,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
@@ -7655,6 +7645,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 43ce1272b9..4de1524941 100644
--- a/meson.build
+++ b/meson.build
@@ -639,12 +639,15 @@ config_host_data.set('QEMU_VERSION_MAJOR', meson.project_version().split('.')[0]
config_host_data.set('QEMU_VERSION_MINOR', meson.project_version().split('.')[1])
config_host_data.set('QEMU_VERSION_MICRO', meson.project_version().split('.')[2])
+ignored = ['CONFIG_QEMU_INTERP_PREFIX'] # actually per-target
arrays = ['CONFIG_AUDIO_DRIVERS', 'CONFIG_BDRV_RW_WHITELIST', 'CONFIG_BDRV_RO_WHITELIST']
strings = ['HOST_DSOSUF', 'CONFIG_IASL', 'bindir', 'prefix', 'qemu_confdir', 'qemu_datadir',
'qemu_moddir', 'qemu_localstatedir', 'qemu_helperdir', 'qemu_localedir',
'qemu_icondir', 'qemu_desktopdir', 'qemu_firmwarepath', 'sysconfdir']
foreach k, v: config_host
- if arrays.contains(k)
+ if ignored.contains(k)
+ # do nothing
+ elif arrays.contains(k)
if v != ''
v = '"' + '", "'.join(v.split()) + '", '
endif
@@ -721,7 +724,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
@@ -736,6 +755,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
@@ -753,7 +774,7 @@ foreach target : target_dirs
# do nothing
elif k == 'TARGET_BASE_ARCH'
config_target_data.set('TARGET_' + v.to_upper(), 1)
- elif k == 'TARGET_NAME'
+ elif k == 'TARGET_NAME' or k == 'CONFIG_QEMU_INTERP_PREFIX'
config_target_data.set_quoted(k, v)
elif v == 'y'
config_target_data.set(k, 1)
--
2.26.2
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PULL 08/19] configure: remove useless config-target.mak symbols
2020-10-05 8:23 [PULL 00/19] Build system + MCE patches for 2020-10-05 Paolo Bonzini
` (6 preceding siblings ...)
2020-10-05 8:23 ` [PULL 07/19] configure: compute derivatives of target name in meson Paolo Bonzini
@ 2020-10-05 8:23 ` Paolo Bonzini
2020-10-05 8:23 ` [PULL 09/19] configure: remove target configuration Paolo Bonzini
` (11 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Paolo Bonzini @ 2020-10-05 8:23 UTC (permalink / raw)
To: qemu-devel
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 7058ac10e9..a8e314dd53 100755
--- a/configure
+++ b/configure
@@ -7471,7 +7471,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
;;
@@ -7479,8 +7479,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
;;
@@ -7488,7 +7488,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
;;
@@ -7524,7 +7524,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)
@@ -7562,7 +7562,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
@@ -7600,15 +7600,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] 21+ messages in thread
* [PULL 09/19] configure: remove target configuration
2020-10-05 8:23 [PULL 00/19] Build system + MCE patches for 2020-10-05 Paolo Bonzini
` (7 preceding siblings ...)
2020-10-05 8:23 ` [PULL 08/19] configure: remove useless config-target.mak symbols Paolo Bonzini
@ 2020-10-05 8:23 ` Paolo Bonzini
2020-10-05 8:23 ` [PULL 10/19] default-configs: remove default-configs/devices for user-mode targets Paolo Bonzini
` (10 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Paolo Bonzini @ 2020-10-05 8:23 UTC (permalink / raw)
To: qemu-devel
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 | 474 +-----------------
.../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, 412 insertions(+), 455 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 a8e314dd53..a0701570d0 100755
--- a/configure
+++ b/configure
@@ -219,108 +219,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
}
@@ -1701,7 +1599,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
@@ -2029,16 +1928,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
@@ -2290,12 +2179,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
@@ -2307,10 +2197,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
@@ -2652,28 +2548,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
@@ -2992,23 +2866,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
@@ -5832,23 +5689,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
@@ -7362,285 +7202,14 @@ if test "$linux" = "yes" ; then
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
+ target_dir="$target"
+ target_name=$(echo $target | cut -d '-' -f 1)
+ mkdir -p $target_dir
+ case $target in
+ *-user) symlink "../qemu-$target_name" "$target_dir/qemu-$target_name" ;;
+ *) symlink "../qemu-system-$target_name" "$target_dir/qemu-system-$target_name" ;;
+ esac
+done
if [ "$fdt" = "git" ]; then
subdirs="$subdirs dtc"
@@ -7649,6 +7218,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 4de1524941..743a6504a7 100644
--- a/meson.build
+++ b/meson.build
@@ -723,13 +723,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 'CONFIG_BSD' not 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' }
@@ -753,8 +765,14 @@ foreach target : target_dirs
have_accel = true
endif
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
@@ -816,6 +834,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"
@@ -1519,7 +1538,7 @@ if config_host.has_key('CONFIG_MODULES')
endif
summary_info += {'host CPU': cpu}
summary_info += {'host endianness': build_machine.endian()}
-summary_info += {'target list': config_host['TARGET_DIRS']}
+summary_info += {'target list': ' '.join(target_dirs)}
summary_info += {'gprof enabled': config_host.has_key('CONFIG_GPROF')}
summary_info += {'sparse enabled': meson.get_compiler('c').cmd_array().contains('cgcc')}
summary_info += {'strip binaries': get_option('strip')}
--
2.26.2
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PULL 10/19] default-configs: remove default-configs/devices for user-mode targets
2020-10-05 8:23 [PULL 00/19] Build system + MCE patches for 2020-10-05 Paolo Bonzini
` (8 preceding siblings ...)
2020-10-05 8:23 ` [PULL 09/19] configure: remove target configuration Paolo Bonzini
@ 2020-10-05 8:23 ` Paolo Bonzini
2020-10-05 8:23 ` [PULL 11/19] configure: move OpenBSD W^X test to meson Paolo Bonzini
` (9 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Paolo Bonzini @ 2020-10-05 8:23 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>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 6 +++---
default-configs/devices/aarch64-linux-user.mak | 1 -
default-configs/devices/aarch64_be-linux-user.mak | 1 -
default-configs/devices/alpha-linux-user.mak | 1 -
default-configs/devices/arm-linux-user.mak | 1 -
default-configs/devices/armeb-linux-user.mak | 1 -
default-configs/devices/cris-linux-user.mak | 1 -
default-configs/devices/hppa-linux-user.mak | 1 -
default-configs/devices/i386-bsd-user.mak | 1 -
default-configs/devices/i386-linux-user.mak | 1 -
default-configs/devices/m68k-linux-user.mak | 1 -
default-configs/devices/microblaze-linux-user.mak | 1 -
default-configs/devices/microblazeel-linux-user.mak | 1 -
default-configs/devices/mips-linux-user.mak | 1 -
default-configs/devices/mips64-linux-user.mak | 1 -
default-configs/devices/mips64el-linux-user.mak | 1 -
default-configs/devices/mipsel-linux-user.mak | 1 -
default-configs/devices/mipsn32-linux-user.mak | 1 -
default-configs/devices/mipsn32el-linux-user.mak | 1 -
default-configs/devices/nios2-linux-user.mak | 1 -
default-configs/devices/or1k-linux-user.mak | 1 -
default-configs/devices/ppc-linux-user.mak | 1 -
default-configs/devices/ppc64-linux-user.mak | 1 -
default-configs/devices/ppc64abi32-linux-user.mak | 1 -
default-configs/devices/ppc64le-linux-user.mak | 1 -
default-configs/devices/riscv32-linux-user.mak | 1 -
default-configs/devices/riscv64-linux-user.mak | 1 -
default-configs/devices/s390x-linux-user.mak | 1 -
default-configs/devices/sh4-linux-user.mak | 1 -
default-configs/devices/sh4eb-linux-user.mak | 1 -
default-configs/devices/sparc-bsd-user.mak | 1 -
default-configs/devices/sparc-linux-user.mak | 1 -
default-configs/devices/sparc32plus-linux-user.mak | 1 -
default-configs/devices/sparc64-bsd-user.mak | 1 -
default-configs/devices/sparc64-linux-user.mak | 1 -
default-configs/devices/tilegx-linux-user.mak | 1 -
default-configs/devices/x86_64-bsd-user.mak | 1 -
default-configs/devices/x86_64-linux-user.mak | 1 -
default-configs/devices/xtensa-linux-user.mak | 1 -
default-configs/devices/xtensaeb-linux-user.mak | 1 -
40 files changed, 3 insertions(+), 42 deletions(-)
delete mode 100644 default-configs/devices/aarch64-linux-user.mak
delete mode 100644 default-configs/devices/aarch64_be-linux-user.mak
delete mode 100644 default-configs/devices/alpha-linux-user.mak
delete mode 100644 default-configs/devices/arm-linux-user.mak
delete mode 100644 default-configs/devices/armeb-linux-user.mak
delete mode 100644 default-configs/devices/cris-linux-user.mak
delete mode 100644 default-configs/devices/hppa-linux-user.mak
delete mode 100644 default-configs/devices/i386-bsd-user.mak
delete mode 100644 default-configs/devices/i386-linux-user.mak
delete mode 100644 default-configs/devices/m68k-linux-user.mak
delete mode 100644 default-configs/devices/microblaze-linux-user.mak
delete mode 100644 default-configs/devices/microblazeel-linux-user.mak
delete mode 100644 default-configs/devices/mips-linux-user.mak
delete mode 100644 default-configs/devices/mips64-linux-user.mak
delete mode 100644 default-configs/devices/mips64el-linux-user.mak
delete mode 100644 default-configs/devices/mipsel-linux-user.mak
delete mode 100644 default-configs/devices/mipsn32-linux-user.mak
delete mode 100644 default-configs/devices/mipsn32el-linux-user.mak
delete mode 100644 default-configs/devices/nios2-linux-user.mak
delete mode 100644 default-configs/devices/or1k-linux-user.mak
delete mode 100644 default-configs/devices/ppc-linux-user.mak
delete mode 100644 default-configs/devices/ppc64-linux-user.mak
delete mode 100644 default-configs/devices/ppc64abi32-linux-user.mak
delete mode 100644 default-configs/devices/ppc64le-linux-user.mak
delete mode 100644 default-configs/devices/riscv32-linux-user.mak
delete mode 100644 default-configs/devices/riscv64-linux-user.mak
delete mode 100644 default-configs/devices/s390x-linux-user.mak
delete mode 100644 default-configs/devices/sh4-linux-user.mak
delete mode 100644 default-configs/devices/sh4eb-linux-user.mak
delete mode 100644 default-configs/devices/sparc-bsd-user.mak
delete mode 100644 default-configs/devices/sparc-linux-user.mak
delete mode 100644 default-configs/devices/sparc32plus-linux-user.mak
delete mode 100644 default-configs/devices/sparc64-bsd-user.mak
delete mode 100644 default-configs/devices/sparc64-linux-user.mak
delete mode 100644 default-configs/devices/tilegx-linux-user.mak
delete mode 100644 default-configs/devices/x86_64-bsd-user.mak
delete mode 100644 default-configs/devices/x86_64-linux-user.mak
delete mode 100644 default-configs/devices/xtensa-linux-user.mak
delete mode 100644 default-configs/devices/xtensaeb-linux-user.mak
diff --git a/configure b/configure
index a0701570d0..a32c43a905 100755
--- a/configure
+++ b/configure
@@ -1604,13 +1604,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] 21+ messages in thread
* [PULL 11/19] configure: move OpenBSD W^X test to meson
2020-10-05 8:23 [PULL 00/19] Build system + MCE patches for 2020-10-05 Paolo Bonzini
` (9 preceding siblings ...)
2020-10-05 8:23 ` [PULL 10/19] default-configs: remove default-configs/devices for user-mode targets Paolo Bonzini
@ 2020-10-05 8:23 ` Paolo Bonzini
2020-10-05 8:23 ` [PULL 12/19] default-configs: use TARGET_ARCH key Paolo Bonzini
` (8 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Paolo Bonzini @ 2020-10-05 8:23 UTC (permalink / raw)
To: qemu-devel
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 a32c43a905..b31bf24d60 100755
--- a/configure
+++ b/configure
@@ -1594,10 +1594,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=""
@@ -6041,17 +6037,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 743a6504a7..60ecd03fbd 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 = []
@@ -1247,7 +1253,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] 21+ messages in thread
* [PULL 12/19] default-configs: use TARGET_ARCH key
2020-10-05 8:23 [PULL 00/19] Build system + MCE patches for 2020-10-05 Paolo Bonzini
` (10 preceding siblings ...)
2020-10-05 8:23 ` [PULL 11/19] configure: move OpenBSD W^X test to meson Paolo Bonzini
@ 2020-10-05 8:23 ` Paolo Bonzini
2020-10-05 8:23 ` [PULL 13/19] default-configs: remove redundant keys Paolo Bonzini
` (7 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Paolo Bonzini @ 2020-10-05 8:23 UTC (permalink / raw)
To: qemu-devel
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 | 5 ++++-
73 files changed, 76 insertions(+), 73 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 60ecd03fbd..5f5d916364 100644
--- a/meson.build
+++ b/meson.build
@@ -727,7 +727,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 = []
@@ -780,6 +780,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)
@@ -797,6 +798,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] 21+ messages in thread
* [PULL 13/19] default-configs: remove redundant keys
2020-10-05 8:23 [PULL 00/19] Build system + MCE patches for 2020-10-05 Paolo Bonzini
` (11 preceding siblings ...)
2020-10-05 8:23 ` [PULL 12/19] default-configs: use TARGET_ARCH key Paolo Bonzini
@ 2020-10-05 8:23 ` Paolo Bonzini
2020-10-05 8:23 ` [PULL 14/19] meson: move sparse detection to Meson and rewrite check_sparse.py Paolo Bonzini
` (6 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Paolo Bonzini @ 2020-10-05 8:23 UTC (permalink / raw)
To: qemu-devel
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 5f5d916364..9a90d19113 100644
--- a/meson.build
+++ b/meson.build
@@ -782,6 +782,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] 21+ messages in thread
* [PULL 14/19] meson: move sparse detection to Meson and rewrite check_sparse.py
2020-10-05 8:23 [PULL 00/19] Build system + MCE patches for 2020-10-05 Paolo Bonzini
` (12 preceding siblings ...)
2020-10-05 8:23 ` [PULL 13/19] default-configs: remove redundant keys Paolo Bonzini
@ 2020-10-05 8:23 ` Paolo Bonzini
2020-10-05 8:23 ` [PULL 15/19] target-i386: seperate MCIP & MCE_MASK error reason Paolo Bonzini
` (5 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Paolo Bonzini @ 2020-10-05 8:23 UTC (permalink / raw)
To: qemu-devel
Pass the path to the program to scripts/check_sparse.py, which
previously was not included in config-host.mak. Change
scripts/check_sparse.py to work with cgcc, which seems to
work better with sparse 0.6.x.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 24 +++---------------
meson.build | 10 +++++---
meson_options.txt | 2 ++
scripts/check_sparse.py | 56 +++++++++++++++++++++++++++++++++--------
4 files changed, 57 insertions(+), 35 deletions(-)
diff --git a/configure b/configure
index b31bf24d60..baa245b5ad 100755
--- a/configure
+++ b/configure
@@ -303,7 +303,7 @@ sdl_image="auto"
virtfs=""
mpath="auto"
vnc="enabled"
-sparse="no"
+sparse="auto"
vde=""
vnc_sasl="auto"
vnc_jpeg="auto"
@@ -1040,9 +1040,9 @@ for opt do
;;
--disable-tsan) tsan="no"
;;
- --enable-sparse) sparse="yes"
+ --enable-sparse) sparse="enabled"
;;
- --disable-sparse) sparse="no"
+ --disable-sparse) sparse="disabled"
;;
--disable-strip) strip_opt="no"
;;
@@ -2875,19 +2875,6 @@ if test "$gettext" != "false" ; then
fi
fi
-##########################################
-# Sparse probe
-if test "$sparse" != "no" ; then
- if has sparse; then
- sparse=yes
- else
- if test "$sparse" = "yes" ; then
- feature_not_found "sparse" "Install sparse binary"
- fi
- sparse=no
- fi
-fi
-
##########################################
# X11 probe
if $pkg_config --exists "x11"; then
@@ -7127,9 +7114,6 @@ echo "QEMU_CXXFLAGS=$QEMU_CXXFLAGS" >> $config_host_mak
echo "QEMU_INCLUDES=$QEMU_INCLUDES" >> $config_host_mak
echo "GLIB_CFLAGS=$glib_cflags" >> $config_host_mak
echo "GLIB_LIBS=$glib_libs" >> $config_host_mak
-if test "$sparse" = "yes" ; then
- echo "SPARSE_CFLAGS = -Wbitwise -Wno-transparent-union -Wno-old-initializer -Wno-non-pointer-null" >> $config_host_mak
-fi
echo "QEMU_LDFLAGS=$QEMU_LDFLAGS" >> $config_host_mak
echo "LDFLAGS_NOPIE=$LDFLAGS_NOPIE" >> $config_host_mak
echo "LD_I386_EMULATION=$ld_i386_emulation" >> $config_host_mak
@@ -7382,7 +7366,7 @@ NINJA=${ninja:-$PWD/ninjatool} $meson setup \
-Dstrip=$(if test "$strip_opt" = yes; then echo true; else echo false; fi) \
-Db_pie=$(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 \
+ -Dmalloc=$malloc -Dmalloc_trim=$malloc_trim -Dsparse=$sparse \
-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 \
diff --git a/meson.build b/meson.build
index 9a90d19113..1dd3f49011 100644
--- a/meson.build
+++ b/meson.build
@@ -102,11 +102,13 @@ if host_machine.system() == 'darwin'
add_languages('objc', required: false, native: false)
endif
-if 'SPARSE_CFLAGS' in config_host
+sparse = find_program('cgcc', required: get_option('sparse'))
+if sparse.found()
run_target('sparse',
command: [find_program('scripts/check_sparse.py'),
- config_host['SPARSE_CFLAGS'].split(),
- 'compile_commands.json'])
+ 'compile_commands.json', sparse.full_path(), '-Wbitwise',
+ '-Wno-transparent-union', '-Wno-old-initializer',
+ '-Wno-non-pointer-null'])
endif
###########################################
@@ -1557,7 +1559,7 @@ summary_info += {'host CPU': cpu}
summary_info += {'host endianness': build_machine.endian()}
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 += {'sparse enabled': sparse.found()}
summary_info += {'strip binaries': get_option('strip')}
summary_info += {'profiler': config_host.has_key('CONFIG_PROFILER')}
summary_info += {'static build': config_host.has_key('CONFIG_STATIC')}
diff --git a/meson_options.txt b/meson_options.txt
index 05adc7a179..bc5c674642 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -5,6 +5,8 @@ option('docdir', type : 'string', value : 'doc',
option('gettext', type : 'boolean', value : true,
description: 'Localization of the GTK+ user interface')
+option('sparse', type : 'feature', value : 'auto',
+ description: 'sparse checker')
option('malloc_trim', type : 'feature', value : 'auto',
description: 'enable libc malloc_trim() for memory optimization')
diff --git a/scripts/check_sparse.py b/scripts/check_sparse.py
index 0de7aa55d9..2956124442 100644
--- a/scripts/check_sparse.py
+++ b/scripts/check_sparse.py
@@ -1,25 +1,59 @@
#! /usr/bin/env python3
-# Invoke sparse based on the contents of compile_commands.json
+# Invoke sparse based on the contents of compile_commands.json,
+# also working around several deficiencies in cgcc's command line
+# parsing
import json
import subprocess
+import os
import sys
import shlex
-def extract_cflags(shcmd):
- cflags = shlex.split(shcmd)
- return [x for x in cflags
- if x.startswith('-D') or x.startswith('-I') or x.startswith('-W')
- or x.startswith('-std=')]
+def cmdline_for_sparse(sparse, cmdline):
+ # Do not include the C compiler executable
+ skip = True
+ arg = False
+ out = sparse + ['-no-compile']
+ for x in cmdline:
+ if arg:
+ out.append(x)
+ arg = False
+ continue
+ if skip:
+ skip = False
+ continue
+ # prevent sparse from treating output files as inputs
+ if x == '-MF' or x == '-MQ' or x == '-o':
+ skip = True
+ continue
+ # cgcc ignores -no-compile if it sees -M or -MM?
+ if x.startswith('-M'):
+ continue
+ # sparse does not understand these!
+ if x == '-iquote' or x == '-isystem':
+ x = '-I'
+ if x == '-I':
+ arg = True
+ out.append(x)
+ return out
-cflags = sys.argv[1:-1]
-with open(sys.argv[-1], 'r') as fd:
+root_path = os.getenv('MESON_BUILD_ROOT')
+def build_path(s):
+ return s if not root_path else os.path.join(root_path, s)
+
+ccjson_path = build_path(sys.argv[1])
+with open(ccjson_path, 'r') as fd:
compile_commands = json.load(fd)
+sparse = sys.argv[2:]
+sparse_env = os.environ.copy()
for cmd in compile_commands:
- cmd = ['sparse'] + cflags + extract_cflags(cmd['command']) + [cmd['file']]
- print(' '.join((shlex.quote(x) for x in cmd)))
- r = subprocess.run(cmd)
+ cmdline = shlex.split(cmd['command'])
+ cmd = cmdline_for_sparse(sparse, cmdline)
+ print('REAL_CC=%s' % shlex.quote(cmdline[0]),
+ ' '.join((shlex.quote(x) for x in cmd)))
+ sparse_env['REAL_CC'] = cmdline[0]
+ r = subprocess.run(cmd, env=sparse_env, cwd=root_path)
if r.returncode != 0:
sys.exit(r.returncode)
--
2.26.2
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PULL 15/19] target-i386: seperate MCIP & MCE_MASK error reason
2020-10-05 8:23 [PULL 00/19] Build system + MCE patches for 2020-10-05 Paolo Bonzini
` (13 preceding siblings ...)
2020-10-05 8:23 ` [PULL 14/19] meson: move sparse detection to Meson and rewrite check_sparse.py Paolo Bonzini
@ 2020-10-05 8:23 ` Paolo Bonzini
2020-10-05 8:23 ` [PULL 16/19] qapi/run-state.json: introduce memory failure event Paolo Bonzini
` (4 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Paolo Bonzini @ 2020-10-05 8:23 UTC (permalink / raw)
To: qemu-devel; +Cc: zhenwei pi
From: zhenwei pi <pizhenwei@bytedance.com>
Previously we would only get a simple string "Triple fault" in qemu
log. Add detailed message for the two reasons to describe why qemu
has to reset the guest.
Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
Message-Id: <20200930100440.1060708-2-pizhenwei@bytedance.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
target/i386/helper.c | 25 ++++++++++++++++++-------
1 file changed, 18 insertions(+), 7 deletions(-)
diff --git a/target/i386/helper.c b/target/i386/helper.c
index 70be53e2c3..17e1684ff9 100644
--- a/target/i386/helper.c
+++ b/target/i386/helper.c
@@ -857,6 +857,8 @@ static void do_inject_x86_mce(CPUState *cs, run_on_cpu_data data)
X86CPU *cpu = X86_CPU(cs);
CPUX86State *cenv = &cpu->env;
uint64_t *banks = cenv->mce_banks + 4 * params->bank;
+ g_autofree char *msg = NULL;
+ bool need_reset = false;
cpu_synchronize_state(cs);
@@ -894,16 +896,25 @@ static void do_inject_x86_mce(CPUState *cs, run_on_cpu_data data)
return;
}
- if ((cenv->mcg_status & MCG_STATUS_MCIP) ||
- !(cenv->cr[4] & CR4_MCE_MASK)) {
- monitor_printf(params->mon,
- "CPU %d: Previous MCE still in progress, raising"
- " triple fault\n",
- cs->cpu_index);
- qemu_log_mask(CPU_LOG_RESET, "Triple fault\n");
+ if (cenv->mcg_status & MCG_STATUS_MCIP) {
+ need_reset = true;
+ msg = g_strdup_printf("CPU %d: Previous MCE still in progress, "
+ "raising triple fault", cs->cpu_index);
+ }
+
+ if (!(cenv->cr[4] & CR4_MCE_MASK)) {
+ need_reset = true;
+ msg = g_strdup_printf("CPU %d: MCE capability is not enabled, "
+ "raising triple fault", cs->cpu_index);
+ }
+
+ if (need_reset) {
+ monitor_printf(params->mon, "%s", msg);
+ qemu_log_mask(CPU_LOG_RESET, "%s\n", msg);
qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET);
return;
}
+
if (banks[1] & MCI_STATUS_VAL) {
params->status |= MCI_STATUS_OVER;
}
--
2.26.2
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PULL 16/19] qapi/run-state.json: introduce memory failure event
2020-10-05 8:23 [PULL 00/19] Build system + MCE patches for 2020-10-05 Paolo Bonzini
` (14 preceding siblings ...)
2020-10-05 8:23 ` [PULL 15/19] target-i386: seperate MCIP & MCE_MASK error reason Paolo Bonzini
@ 2020-10-05 8:23 ` Paolo Bonzini
2020-10-05 8:23 ` [PULL 17/19] target-i386: post memory failure event to QMP Paolo Bonzini
` (3 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Paolo Bonzini @ 2020-10-05 8:23 UTC (permalink / raw)
To: qemu-devel; +Cc: zhenwei pi
From: zhenwei pi <pizhenwei@bytedance.com>
Introduce memory failure events for hypervisor and guest. This lets
mft: Need exactly one file argument. Try `mft --help' for more
information.
Suggested by Peter Maydell, rename events name&description to make
them architecture-neutral; and suggested by Paolo, add more info to
distinguish a mce is AR/AO, and if a previous MCE was still being
processed in the guest.
Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
Message-Id: <20200930100440.1060708-3-pizhenwei@bytedance.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
qapi/run-state.json | 90 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 90 insertions(+)
diff --git a/qapi/run-state.json b/qapi/run-state.json
index 7cc9f96a5b..964c8ef391 100644
--- a/qapi/run-state.json
+++ b/qapi/run-state.json
@@ -475,3 +475,93 @@
'psw-mask': 'uint64',
'psw-addr': 'uint64',
'reason': 'S390CrashReason' } }
+
+##
+# @MEMORY_FAILURE:
+#
+# Emitted when a memory failure occurs on host side.
+#
+# @recipient: recipient is defined as @MemoryFailureRecipient.
+#
+# @action: action that has been taken. action is defined as @MemoryFailureAction.
+#
+# @flags: flags for MemoryFailureAction. action is defined as @MemoryFailureFlags.
+#
+# Since: 5.2
+#
+# Example:
+#
+# <- { "event": "MEMORY_FAILURE",
+# "data": { "recipient": "hypervisor",
+# "action": "fatal",
+# "flags": { 'action-required': false } }
+#
+##
+{ 'event': 'MEMORY_FAILURE',
+ 'data': { 'recipient': 'MemoryFailureRecipient',
+ 'action': 'MemoryFailureAction',
+ 'flags': 'MemoryFailureFlags'} }
+
+##
+# @MemoryFailureRecipient:
+#
+# Hardware memory failure occurs, handled by recipient.
+#
+# @hypervisor: memory failure at QEMU process address space.
+# (none guest memory, but used by QEMU itself).
+#
+# @guest: memory failure at guest memory,
+#
+# Since: 5.2
+#
+##
+{ 'enum': 'MemoryFailureRecipient',
+ 'data': [ 'hypervisor',
+ 'guest' ] }
+
+
+##
+# @MemoryFailureAction:
+#
+# Actions taken by QEMU in response to a hardware memory failure.
+#
+# @ignore: the memory failure could be ignored. This will only be the case
+# for action-optional failures.
+#
+# @inject: memory failure occurred in guest memory, the guest enabled MCE
+# handling mechanism, and QEMU could inject the MCE into the guest
+# successfully.
+#
+# @fatal: the failure is unrecoverable. This occurs for action-required
+# failures if the recipient is the hypervisor; QEMU will exit.
+#
+# @reset: the failure is unrecoverable but confined to the guest. This
+# occurs if the recipient is a guest guest which is not ready
+# to handle memory failures.
+#
+# Since: 5.2
+#
+##
+{ 'enum': 'MemoryFailureAction',
+ 'data': [ 'ignore',
+ 'inject',
+ 'fatal',
+ 'reset' ] }
+
+##
+# @MemoryFailureFlags:
+#
+# Additional information on memory failures.
+#
+# @action-required: whether a memory failure event is action-required
+# or action-optional (e.g. a failure during memory scrub).
+#
+# @recursive: whether the failure occurred while the previous
+# failure was still in progress.
+#
+# Since: 5.2
+#
+##
+{ 'struct': 'MemoryFailureFlags',
+ 'data': { 'action-required': 'bool',
+ 'recursive': 'bool'} }
--
2.26.2
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PULL 17/19] target-i386: post memory failure event to QMP
2020-10-05 8:23 [PULL 00/19] Build system + MCE patches for 2020-10-05 Paolo Bonzini
` (15 preceding siblings ...)
2020-10-05 8:23 ` [PULL 16/19] qapi/run-state.json: introduce memory failure event Paolo Bonzini
@ 2020-10-05 8:23 ` Paolo Bonzini
2020-10-05 8:23 ` [PULL 18/19] tests: tcg: do not use implicit rules Paolo Bonzini
` (2 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Paolo Bonzini @ 2020-10-05 8:23 UTC (permalink / raw)
To: qemu-devel; +Cc: zhenwei pi
From: zhenwei pi <pizhenwei@bytedance.com>
Post memory failure event through QMP to handle hardware memory corrupted
event. Rather than simply printing to the log, QEMU could report more
effective message to the client. For example, if a guest receives an MCE,
evacuating the host could be a good idea.
Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
Message-Id: <20200930100440.1060708-4-pizhenwei@bytedance.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
target/i386/helper.c | 24 ++++++++++++++++++++----
target/i386/kvm.c | 13 ++++++++++++-
2 files changed, 32 insertions(+), 5 deletions(-)
diff --git a/target/i386/helper.c b/target/i386/helper.c
index 17e1684ff9..32fa21a7bb 100644
--- a/target/i386/helper.c
+++ b/target/i386/helper.c
@@ -18,6 +18,7 @@
*/
#include "qemu/osdep.h"
+#include "qapi/qapi-events-run-state.h"
#include "cpu.h"
#include "exec/exec-all.h"
#include "qemu/qemu-print.h"
@@ -851,6 +852,15 @@ typedef struct MCEInjectionParams {
int flags;
} MCEInjectionParams;
+static void emit_guest_memory_failure(MemoryFailureAction action, bool ar,
+ bool recursive)
+{
+ MemoryFailureFlags mff = {.action_required = ar, .recursive = recursive};
+
+ qapi_event_send_memory_failure(MEMORY_FAILURE_RECIPIENT_GUEST, action,
+ &mff);
+}
+
static void do_inject_x86_mce(CPUState *cs, run_on_cpu_data data)
{
MCEInjectionParams *params = data.host_ptr;
@@ -859,16 +869,18 @@ static void do_inject_x86_mce(CPUState *cs, run_on_cpu_data data)
uint64_t *banks = cenv->mce_banks + 4 * params->bank;
g_autofree char *msg = NULL;
bool need_reset = false;
+ bool recursive;
+ bool ar = !!(params->status & MCI_STATUS_AR);
cpu_synchronize_state(cs);
+ recursive = !!(cenv->mcg_status & MCG_STATUS_MCIP);
/*
* If there is an MCE exception being processed, ignore this SRAO MCE
* unless unconditional injection was requested.
*/
- if (!(params->flags & MCE_INJECT_UNCOND_AO)
- && !(params->status & MCI_STATUS_AR)
- && (cenv->mcg_status & MCG_STATUS_MCIP)) {
+ if (!(params->flags & MCE_INJECT_UNCOND_AO) && !ar && recursive) {
+ emit_guest_memory_failure(MEMORY_FAILURE_ACTION_IGNORE, ar, recursive);
return;
}
@@ -896,7 +908,7 @@ static void do_inject_x86_mce(CPUState *cs, run_on_cpu_data data)
return;
}
- if (cenv->mcg_status & MCG_STATUS_MCIP) {
+ if (recursive) {
need_reset = true;
msg = g_strdup_printf("CPU %d: Previous MCE still in progress, "
"raising triple fault", cs->cpu_index);
@@ -909,6 +921,8 @@ static void do_inject_x86_mce(CPUState *cs, run_on_cpu_data data)
}
if (need_reset) {
+ emit_guest_memory_failure(MEMORY_FAILURE_ACTION_RESET, ar,
+ recursive);
monitor_printf(params->mon, "%s", msg);
qemu_log_mask(CPU_LOG_RESET, "%s\n", msg);
qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET);
@@ -934,6 +948,8 @@ static void do_inject_x86_mce(CPUState *cs, run_on_cpu_data data)
} else {
banks[1] |= MCI_STATUS_OVER;
}
+
+ emit_guest_memory_failure(MEMORY_FAILURE_ACTION_INJECT, ar, recursive);
}
void cpu_x86_inject_mce(Monitor *mon, X86CPU *cpu, int bank,
diff --git a/target/i386/kvm.c b/target/i386/kvm.c
index f6dae4cfb6..8b12387d30 100644
--- a/target/i386/kvm.c
+++ b/target/i386/kvm.c
@@ -13,6 +13,7 @@
*/
#include "qemu/osdep.h"
+#include "qapi/qapi-events-run-state.h"
#include "qapi/error.h"
#include <sys/ioctl.h>
#include <sys/utsname.h>
@@ -549,8 +550,17 @@ static void kvm_mce_inject(X86CPU *cpu, hwaddr paddr, int code)
(MCM_ADDR_PHYS << 6) | 0xc, flags);
}
+static void emit_hypervisor_memory_failure(MemoryFailureAction action, bool ar)
+{
+ MemoryFailureFlags mff = {.action_required = ar, .recursive = false};
+
+ qapi_event_send_memory_failure(MEMORY_FAILURE_RECIPIENT_HYPERVISOR, action,
+ &mff);
+}
+
static void hardware_memory_error(void *host_addr)
{
+ emit_hypervisor_memory_failure(MEMORY_FAILURE_ACTION_FATAL, true);
error_report("QEMU got Hardware memory error at addr %p", host_addr);
exit(1);
}
@@ -605,7 +615,8 @@ void kvm_arch_on_sigbus_vcpu(CPUState *c, int code, void *addr)
hardware_memory_error(addr);
}
- /* Hope we are lucky for AO MCE */
+ /* Hope we are lucky for AO MCE, just notify a event */
+ emit_hypervisor_memory_failure(MEMORY_FAILURE_ACTION_IGNORE, false);
}
static void kvm_reset_exception(CPUX86State *env)
--
2.26.2
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PULL 18/19] tests: tcg: do not use implicit rules
2020-10-05 8:23 [PULL 00/19] Build system + MCE patches for 2020-10-05 Paolo Bonzini
` (16 preceding siblings ...)
2020-10-05 8:23 ` [PULL 17/19] target-i386: post memory failure event to QMP Paolo Bonzini
@ 2020-10-05 8:23 ` Paolo Bonzini
2020-10-05 8:23 ` [PULL 19/19] dockerfiles: add diffutils to Fedora Paolo Bonzini
2020-10-05 14:32 ` [PULL 00/19] Build system + MCE patches for 2020-10-05 Peter Maydell
19 siblings, 0 replies; 21+ messages in thread
From: Paolo Bonzini @ 2020-10-05 8:23 UTC (permalink / raw)
To: qemu-devel
Use pattern rules to clarify which targets are going to match the
rule and to provide clearer error messages.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
tests/Makefile.include | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tests/Makefile.include b/tests/Makefile.include
index 40d909badc..5aca98e60c 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -50,21 +50,21 @@ RUN_TCG_TARGET_RULES=$(patsubst %,run-tcg-tests-%, $(TARGET_DIRS))
$(foreach PROBE_TARGET,$(TARGET_DIRS), \
$(eval -include $(SRC_PATH)/tests/tcg/Makefile.prereqs))
-build-tcg-tests-%: $(if $(CONFIG_PLUGIN),test-plugins)
+$(BUILD_TCG_TARGET_RULES): build-tcg-tests-%: $(if $(CONFIG_PLUGIN),test-plugins)
$(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) \
-f $(SRC_PATH)/tests/tcg/Makefile.qemu \
SRC_PATH=$(SRC_PATH) \
V="$(V)" TARGET="$*" guest-tests, \
"BUILD", "TCG tests for $*")
-run-tcg-tests-%: build-tcg-tests-% all
+$(RUN_TCG_TARGET_RULES): run-tcg-tests-%: build-tcg-tests-% all
$(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) \
-f $(SRC_PATH)/tests/tcg/Makefile.qemu \
SRC_PATH=$(SRC_PATH) SPEED="$(SPEED)" \
V="$(V)" TARGET="$*" run-guest-tests, \
"RUN", "TCG tests for $*")
-clean-tcg-tests-%:
+$(CLEAN_TCG_TARGET_RULES): clean-tcg-tests-%:
$(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) \
-f $(SRC_PATH)/tests/tcg/Makefile.qemu \
SRC_PATH=$(SRC_PATH) TARGET="$*" clean-guest-tests, \
--
2.26.2
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PULL 19/19] dockerfiles: add diffutils to Fedora
2020-10-05 8:23 [PULL 00/19] Build system + MCE patches for 2020-10-05 Paolo Bonzini
` (17 preceding siblings ...)
2020-10-05 8:23 ` [PULL 18/19] tests: tcg: do not use implicit rules Paolo Bonzini
@ 2020-10-05 8:23 ` Paolo Bonzini
2020-10-05 14:32 ` [PULL 00/19] Build system + MCE patches for 2020-10-05 Peter Maydell
19 siblings, 0 replies; 21+ messages in thread
From: Paolo Bonzini @ 2020-10-05 8:23 UTC (permalink / raw)
To: qemu-devel; +Cc: Neal Gompa, Philippe Mathieu-Daudé
For some reason diffutils is not included in the Fedora containers anymore,
causing the build to fail.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20201003085054.332992-2-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
tests/docker/dockerfiles/fedora.docker | 1 +
1 file changed, 1 insertion(+)
diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker
index 71e4b56977..ec783418c8 100644
--- a/tests/docker/dockerfiles/fedora.docker
+++ b/tests/docker/dockerfiles/fedora.docker
@@ -11,6 +11,7 @@ ENV PACKAGES \
cyrus-sasl-devel \
dbus-daemon \
device-mapper-multipath-devel \
+ diffutils \
findutils \
gcc \
gcc-c++ \
--
2.26.2
^ permalink raw reply related [flat|nested] 21+ messages in thread
* Re: [PULL 00/19] Build system + MCE patches for 2020-10-05
2020-10-05 8:23 [PULL 00/19] Build system + MCE patches for 2020-10-05 Paolo Bonzini
` (18 preceding siblings ...)
2020-10-05 8:23 ` [PULL 19/19] dockerfiles: add diffutils to Fedora Paolo Bonzini
@ 2020-10-05 14:32 ` Peter Maydell
19 siblings, 0 replies; 21+ messages in thread
From: Peter Maydell @ 2020-10-05 14:32 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: QEMU Developers
On Mon, 5 Oct 2020 at 09:26, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> The following changes since commit 469e72ab7dbbd7ff4ee601e5ea7c29545d46593b:
>
> Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2020-10-02 16:19:42 +0100)
>
> are available in the Git repository at:
>
> https://gitlab.com/bonzini/qemu.git tags/for-upstream
>
> for you to fetch changes up to d72d6dcb0d633bb08c2dc5a959a47608a1655018:
>
> dockerfiles: add diffutils to Fedora (2020-10-05 09:14:19 +0200)
>
> ----------------------------------------------------------------
> * move target configuration to default-configs/targets (myself)
> * Memory failure event (Zhenwei)
Applied, thanks.
Please update the changelog at https://wiki.qemu.org/ChangeLog/5.2
for any user-visible changes.
-- PMM
^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2020-10-05 14:33 UTC | newest]
Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-05 8:23 [PULL 00/19] Build system + MCE patches for 2020-10-05 Paolo Bonzini
2020-10-05 8:23 ` [PULL 01/19] travis: remove TCI test Paolo Bonzini
2020-10-05 8:23 ` [PULL 02/19] default-configs: move files to default-configs/devices/ Paolo Bonzini
2020-10-05 8:23 ` [PULL 03/19] configure: convert accelerator variables to meson options Paolo Bonzini
2020-10-05 8:23 ` [PULL 04/19] configure: rewrite accelerator defaults as tests Paolo Bonzini
2020-10-05 8:23 ` [PULL 05/19] configure: move accelerator logic to meson Paolo Bonzini
2020-10-05 8:23 ` [PULL 06/19] configure: remove dead variable Paolo Bonzini
2020-10-05 8:23 ` [PULL 07/19] configure: compute derivatives of target name in meson Paolo Bonzini
2020-10-05 8:23 ` [PULL 08/19] configure: remove useless config-target.mak symbols Paolo Bonzini
2020-10-05 8:23 ` [PULL 09/19] configure: remove target configuration Paolo Bonzini
2020-10-05 8:23 ` [PULL 10/19] default-configs: remove default-configs/devices for user-mode targets Paolo Bonzini
2020-10-05 8:23 ` [PULL 11/19] configure: move OpenBSD W^X test to meson Paolo Bonzini
2020-10-05 8:23 ` [PULL 12/19] default-configs: use TARGET_ARCH key Paolo Bonzini
2020-10-05 8:23 ` [PULL 13/19] default-configs: remove redundant keys Paolo Bonzini
2020-10-05 8:23 ` [PULL 14/19] meson: move sparse detection to Meson and rewrite check_sparse.py Paolo Bonzini
2020-10-05 8:23 ` [PULL 15/19] target-i386: seperate MCIP & MCE_MASK error reason Paolo Bonzini
2020-10-05 8:23 ` [PULL 16/19] qapi/run-state.json: introduce memory failure event Paolo Bonzini
2020-10-05 8:23 ` [PULL 17/19] target-i386: post memory failure event to QMP Paolo Bonzini
2020-10-05 8:23 ` [PULL 18/19] tests: tcg: do not use implicit rules Paolo Bonzini
2020-10-05 8:23 ` [PULL 19/19] dockerfiles: add diffutils to Fedora Paolo Bonzini
2020-10-05 14:32 ` [PULL 00/19] Build system + MCE patches for 2020-10-05 Peter Maydell
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.