[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [XEN PATCH for-4.13] tools/configure: Honour XEN_COMPILE_ARCH and _TARGET_ for shim
Ian Jackson writes ("Re: [Xen-devel] [XEN PATCH for-4.13] tools/configure: Honour XEN_COMPILE_ARCH and _TARGET_ for shim"): > Andrew Cooper writes ("Re: [Xen-devel] [XEN PATCH for-4.13] tools/configure: > Honour XEN_COMPILE_ARCH and _TARGET_ for shim"): > > On 29/10/2019 17:57, Ian Jackson wrote: > > > The pvshim can only be built 64-bit because the hypervisor is only > > > 64-bit nowadays. The hypervisor build supports XEN_COMPILE_ARCH and > > > XEN_TARGET_ARCH which override the information from uname. The pvshim > > > build runs out of the tools/ directory but calls the hypervisor build > > > system. > > > > > > If one runs in a Linux 32-bit userland with a 64-bit kernel, one used > > > to be able to set XEN_COMPILE_ARCH. But nowadays this does not work. > > > > This looks to be a bugfix to 8845155c831c59e867ee3dd31ee63e0cc6c7dcf2 ? > > > > In particular, this deleted the logic to only build the shim for > > XEN_TARGET_ARCH != x86_32. > > Yes. I have added a note about that to the commit message (stealing > your text, thanks) and now I am CCing the author and requester of that > commit, for form's sake. Andrew, did you want to ack this ? Or do you have further comments ? I have a release-ack... Thanks, Ian. From 1a8de36699b9042c30797e05f7a5f4313d7f7ad1 Mon Sep 17 00:00:00 2001 From: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> Date: Tue, 29 Oct 2019 17:45:30 +0000 Subject: [PATCH] tools/configure: Honour XEN_COMPILE_ARCH and _TARGET_ for shim MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The pvshim can only be built 64-bit because the hypervisor is only 64-bit nowadays. The hypervisor build supports XEN_COMPILE_ARCH and XEN_TARGET_ARCH which override the information from uname. The pvshim build runs out of the tools/ directory but calls the hypervisor build system. If one runs in a Linux 32-bit userland with a 64-bit kernel, one used to be able to set XEN_COMPILE_ARCH. But nowadays this does not work. configure sees the target cpu as 64-bit and tries to build pvshim. The build prints echo "*** Xen x86/32 target no longer supported!" and doesn't build anything. Then the subsequent Makefiles try to install the non-built pieces. Fix this anomaly by causing configure to honour the Xen hypervisor way of setting the target architecture. In principle this user behaviour is not handled quite right, because configure will still see 64-bit and so all the autoconf-based architecture testing will see 64-bit rather than 32-bit x86. But the tools are in fact generally quite portable: this particular location in configure{.ac,} is the only place in tools/ where 64-bit x86 is treated differently from 32-bit x86, so the fix is sufficient and correct for this use case. It remains the case that XEN_COMPILE_ARCH or XEN_TARGET_ARCH to a non-x86 architecture, when configure thinks things are x86, or vice versa, will not work right. (This is a bugfix to 8845155c831c pvshim: make PV shim build selectable from configure which inadvertantly deleted the logic to only build the shim for XEN_TARGET_ARCH != x86_32.) I have rerun autogen.sh, so this patch contains the fix to configure as well as the source fix to configure.ac. Fixes: 8845155c831c59e867ee3dd31ee63e0cc6c7dcf2 Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> CC: Olaf Hering <olaf@xxxxxxxxx> CC: Roger Pau Monné <roger.pau@xxxxxxxxxx> Release-acked-by: Jürgen Groß <jgross@xxxxxxxx> --- tools/configure | 2 +- tools/configure.ac | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/configure b/tools/configure index 82947ad308..d9ccce6d2b 100755 --- a/tools/configure +++ b/tools/configure @@ -9711,7 +9711,7 @@ fi else cpu=`test -z "$target_cpu" && echo "$host_cpu" || echo "$target_cpu"` - case "$cpu" in + case "${XEN_COMPILE_ARCH-${XEN_TARGET_ARCH-$cpu}}" in x86_64) pvshim="y";; *) pvshim="n";; diff --git a/tools/configure.ac b/tools/configure.ac index 674bd5809d..a8d8ce5ffe 100644 --- a/tools/configure.ac +++ b/tools/configure.ac @@ -479,7 +479,7 @@ AC_ARG_ENABLE([pvshim], [Disable pvshim build (enabled by default on 64bit x86)]), [AS_IF([test "x$enable_pvshim" = "xno"], [pvshim=n], [pvshim=y])], [ cpu=`test -z "$target_cpu" && echo "$host_cpu" || echo "$target_cpu"` - case "$cpu" in + case "${XEN_COMPILE_ARCH-${XEN_TARGET_ARCH-$cpu}}" in x86_64) pvshim="y";; *) pvshim="n";; -- 2.11.0 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |