From 3350870143e614a0e56d8321f42bc2d7e8a4b471 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Wed, 23 Sep 2020 11:10:25 -0400 Subject: [PATCH 01/19] travis: remove TCI test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit TCI is already covered on gitlab CI, so we can remove it. Cc: Thomas Huth Cc: Alex Bennée Signed-off-by: Paolo Bonzini --- .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: From 1bb4cb1c33805c0da0db5b76852bb73759625c4e Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Fri, 18 Sep 2020 06:06:09 -0400 Subject: [PATCH 02/19] default-configs: move files to default-configs/devices/ Make room for target files in default-configs/targets/ Reviewed-by: Richard Henderson Signed-off-by: Paolo Bonzini --- 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, From 1badb709cffee455ec9fb2253cf7aec66e09a9d2 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Fri, 18 Sep 2020 04:57:25 -0400 Subject: [PATCH 03/19] configure: convert accelerator variables to meson options 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 Signed-off-by: Paolo Bonzini --- 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 < $TMPC < $TMPC < $TMPC < $TMPC < $TMPC << EOF #include 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 <> $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 From 3bd40ec7aefc795146dfed00a33b52c5398e0c79 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Fri, 18 Sep 2020 05:22:37 -0400 Subject: [PATCH 04/19] configure: rewrite accelerator defaults as tests 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 --- 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 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 From 8a19980e3fc42239aae054bc9debc52781d7b803 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Fri, 18 Sep 2020 05:37:01 -0400 Subject: [PATCH 05/19] configure: move accelerator logic to meson 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 Reviewed-by: Richard Henderson Signed-off-by: Paolo Bonzini --- 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)} From ecc91cfdb6328651d6c6a911eea8f598e1d13b4e Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Fri, 18 Sep 2020 06:52:12 -0400 Subject: [PATCH 06/19] configure: remove dead variable Reviewed-by: Richard Henderson Signed-off-by: Paolo Bonzini --- 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 From 765686d6f0769b9ce349ceae6d89e3590592435b Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Fri, 18 Sep 2020 06:37:21 -0400 Subject: [PATCH 07/19] configure: compute derivatives of target name in meson 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 Reviewed-by: Richard Henderson Signed-off-by: Paolo Bonzini --- 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) From 859c3d59905e9435d8bb16db62b7254e5efbc58a Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Mon, 21 Sep 2020 04:58:27 -0400 Subject: [PATCH 08/19] configure: remove useless config-target.mak symbols 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 --- 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 From fdb75aeff7c212e1afaaa3a43c36a0985fdc1e44 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Mon, 21 Sep 2020 04:37:49 -0400 Subject: [PATCH 09/19] configure: remove target configuration 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 --- 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 -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')} From 73362fc0b0c2d94e795a509f859e592572a09bfd Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Fri, 18 Sep 2020 06:44:16 -0400 Subject: [PATCH 10/19] default-configs: remove default-configs/devices for user-mode targets We no longer need dummy files to detect targets, since default-configs/targets/ exists. Signed-off-by: Paolo Bonzini Reviewed-by: Richard Henderson Signed-off-by: Paolo Bonzini --- 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 From b6c7cfd490510a395ea36747f4a8682c6b1fc26f Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Mon, 21 Sep 2020 04:49:50 -0400 Subject: [PATCH 11/19] configure: move OpenBSD W^X test to meson The TCG option is now passed through to Meson. Signed-off-by: Paolo Bonzini --- 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 < 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'])] From a9a74907863ed02a18b7bc27b21a60a82914ab3f Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Mon, 21 Sep 2020 05:11:01 -0400 Subject: [PATCH 12/19] default-configs: use TARGET_ARCH key Replace the individual TARGET_*=y lines with TARGET_ARCH, similar to how TARGET_BASE_ARCH is handled already. Signed-off-by: Paolo Bonzini --- 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) From fa73168b08f37c8e5f2a7180b139808846d36d40 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Mon, 21 Sep 2020 05:19:07 -0400 Subject: [PATCH 13/19] default-configs: remove redundant keys 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 --- 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 From deb62371fe311cefd8a6f58e2da42b15d7e2a356 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Tue, 1 Sep 2020 07:51:16 -0400 Subject: [PATCH 14/19] meson: move sparse detection to Meson and rewrite check_sparse.py 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 --- 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) From 9f89f303deea2ccc624932e13fb629347a5a98de Mon Sep 17 00:00:00 2001 From: zhenwei pi Date: Wed, 30 Sep 2020 18:04:38 +0800 Subject: [PATCH 15/19] target-i386: seperate MCIP & MCE_MASK error reason 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 Message-Id: <20200930100440.1060708-2-pizhenwei@bytedance.com> Signed-off-by: Paolo Bonzini --- 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; } From 77b285f7f6ed637ee2576ae96744211ce9691567 Mon Sep 17 00:00:00 2001 From: zhenwei pi Date: Wed, 30 Sep 2020 18:04:39 +0800 Subject: [PATCH 16/19] qapi/run-state.json: introduce memory failure event 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 Message-Id: <20200930100440.1060708-3-pizhenwei@bytedance.com> Signed-off-by: Paolo Bonzini --- 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'} } From 8efc4e5150efb68e9f2b1705917ad34c62f44369 Mon Sep 17 00:00:00 2001 From: zhenwei pi Date: Wed, 30 Sep 2020 18:04:40 +0800 Subject: [PATCH 17/19] target-i386: post memory failure event to QMP 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 Message-Id: <20200930100440.1060708-4-pizhenwei@bytedance.com> Signed-off-by: Paolo Bonzini --- 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 #include @@ -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) From 8c17b8403c9732347013b413bfb9299e99bff350 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Sat, 3 Oct 2020 03:00:46 -0400 Subject: [PATCH 18/19] tests: tcg: do not use implicit rules Use pattern rules to clarify which targets are going to match the rule and to provide clearer error messages. Signed-off-by: Paolo Bonzini --- 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, \ From d72d6dcb0d633bb08c2dc5a959a47608a1655018 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Sat, 3 Oct 2020 10:50:54 +0200 Subject: [PATCH 19/19] dockerfiles: add diffutils to Fedora MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit For some reason diffutils is not included in the Fedora containers anymore, causing the build to fail. Signed-off-by: Paolo Bonzini Reviewed-by: Neal Gompa Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20201003085054.332992-2-pbonzini@redhat.com> Signed-off-by: Paolo Bonzini --- 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++ \