diff mbox

[2/5] configure: Don't allow user-only targets for unknown CPU architectures

Message ID 1465897927-4719-3-git-send-email-peter.maydell@linaro.org (mailing list archive)
State New, archived
Headers show

Commit Message

Peter Maydell June 14, 2016, 9:52 a.m. UTC
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 <peter.maydell@linaro.org>
---
 configure | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Laurent Vivier June 14, 2016, 9:58 a.m. UTC | #1
Le 14/06/2016 à 11:52, Peter Maydell a écrit :
> 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 <peter.maydell@linaro.org>

Reviewed-by: Laurent Vivier <laurent@vivier.eu>

> ---
>  configure | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/configure b/configure
> index 7ab4e0b..62f93e3 100755
> --- a/configure
> +++ b/configure
> @@ -1217,6 +1217,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=""
>
Richard Henderson June 14, 2016, 4:31 p.m. UTC | #2
On 06/14/2016 02:52 AM, Peter Maydell wrote:
> 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 <peter.maydell@linaro.org>
> ---
>  configure | 7 +++++++
>  1 file changed, 7 insertions(+)


Reviewed-by: Richard Henderson <rth@twiddle.net>


r~
diff mbox

Patch

diff --git a/configure b/configure
index 7ab4e0b..62f93e3 100755
--- a/configure
+++ b/configure
@@ -1217,6 +1217,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=""