From 997f6ed3a1aee93b1b759ff12ad4ca64977c86f9 Mon Sep 17 00:00:00 2001 From: Peter Maydell Date: Mon, 13 Jun 2016 11:22:56 +0100 Subject: configure: Don't override ARCH=unknown if enabling TCI At the moment if configure finds an unknown CPU it will set ARCH to 'unknown', and then later either bail out or set it to 'tci' (depending on whether the user passed configure the --enable-tcg-interpreter switch). This is unnecessarily confusing, because we could be using TCI in two cases: * a known host architecture (in which case ARCH is set to the actual host architecture, like 'i386') * an unknown host architecture (in which case ARCH is set to 'tci') so nothing can rely on ARCH=tci to mean "using TCI". Remove the line setting ARCH, so we leave it as "unknown", which is what the actual situation is. Signed-off-by: Peter Maydell Reviewed-by: Laurent Vivier Reviewed-by: Richard Henderson Signed-off-by: Riku Voipio --- configure | 1 - 1 file changed, 1 deletion(-) (limited to 'configure') diff --git a/configure b/configure index 5929aba..6696316 100755 --- a/configure +++ b/configure @@ -1380,7 +1380,6 @@ fi if test "$ARCH" = "unknown"; then if test "$tcg_interpreter" = "yes" ; then echo "Unsupported CPU = $cpu, will use TCG with TCI (experimental)" - ARCH=tci else error_exit "Unsupported CPU = $cpu, try --enable-tcg-interpreter" fi -- cgit v1.1 From affc88cc9b5f8cfa0767139c083329d471862901 Mon Sep 17 00:00:00 2001 From: Peter Maydell Date: Mon, 13 Jun 2016 11:32:24 +0100 Subject: configure: Don't allow user-only targets for unknown CPU architectures For the user-only targets, we need to know something about the host CPU architecture even if we are using the TCI interpreter rather than TCG. (In particular user-exec.c has code for handling signals that needs to know about that host's context structures.) Specifically forbid building the user-only targets on unknown CPU architectures, rather than allowing them to configure but then fail when building user-exec.c. This change drops supports for two configurations which were theoretically possible before: * linux-user targets on M68K hosts using TCI * linux-user targets on HPPA hosts using TCI We don't think anybody is actually trying to use these in practice, though: * interpreted TCG on a slow host CPU would be unusably slow * the m68k user-exec.c support is missing is_write detection so guest code which writes to the same page it is executing from was broken (will include any guest program using signals) * HPPA TCG backend support was dropped two and a half years ago with no complaints Signed-off-by: Peter Maydell Reviewed-by: Laurent Vivier Reviewed-by: Richard Henderson Signed-off-by: Riku Voipio --- configure | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'configure') diff --git a/configure b/configure index 6696316..dce20f0 100755 --- a/configure +++ b/configure @@ -1216,6 +1216,13 @@ esac QEMU_CFLAGS="$CPU_CFLAGS $QEMU_CFLAGS" EXTRA_CFLAGS="$CPU_CFLAGS $EXTRA_CFLAGS" +# For user-mode emulation the host arch has to be one we explicitly +# support, even if we're using TCI. +if [ "$ARCH" = "unknown" ]; then + bsd_user="no" + linux_user="no" +fi + default_target_list="" mak_wilds="" -- cgit v1.1