diff mbox series

[v2] pvshim: make PV shim build selectable from configure

Message ID 20190514135922.57629-1-roger.pau@citrix.com (mailing list archive)
State New, archived
Headers show
Series [v2] pvshim: make PV shim build selectable from configure | expand

Commit Message

Roger Pau Monné May 14, 2019, 1:59 p.m. UTC
So a user can decide whether to compile a PV shim as part of the tools
build. Note that the default behavior is preserved, which is to build
a PV shim when the target or host (if target is unset) architecture is
64bit x86.

Requested-by: Olaf Hering <olaf@aepfle.de>
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
NOTE: run autogen.sh after applying.
---
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
---
Changes since v1:
 - Only enable by default on x86_64, like the previous behavior.
 - Fallback to use host_cpu if target_cpu is empty.
---
 config/Tools.mk.in      |  2 ++
 tools/configure.ac      | 13 +++++++++++++
 tools/firmware/Makefile |  4 ----
 3 files changed, 15 insertions(+), 4 deletions(-)

Comments

Wei Liu May 14, 2019, 2:03 p.m. UTC | #1
On Tue, May 14, 2019 at 03:59:22PM +0200, Roger Pau Monne wrote:
> So a user can decide whether to compile a PV shim as part of the tools
> build. Note that the default behavior is preserved, which is to build
> a PV shim when the target or host (if target is unset) architecture is
> 64bit x86.
> 
> Requested-by: Olaf Hering <olaf@aepfle.de>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> ---
> NOTE: run autogen.sh after applying.

Noted.

Acked-by: Wei Liu <wei.liu2@citrix.com>
diff mbox series

Patch

diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index 98245f63c9..84ddb1a542 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -75,3 +75,5 @@  TINFO_LIBS          := @TINFO_LIBS@
 ARGP_LDFLAGS        := @argp_ldflags@
 
 FILE_OFFSET_BITS    := @FILE_OFFSET_BITS@
+
+CONFIG_PV_SHIM      := @pvshim@
diff --git a/tools/configure.ac b/tools/configure.ac
index c9fd69ddfa..fcf282e74e 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -492,4 +492,17 @@  AC_ARG_ENABLE([9pfs],
 
 AC_SUBST(ninepfs)
 
+AC_ARG_ENABLE([pvshim],
+    AS_HELP_STRING([--disable-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
+        x86_64)
+           pvshim="y";;
+        *) pvshim="n";;
+    esac
+])
+AC_SUBST(pvshim)
+
 AC_OUTPUT()
diff --git a/tools/firmware/Makefile b/tools/firmware/Makefile
index cf304fc578..809a5fd025 100644
--- a/tools/firmware/Makefile
+++ b/tools/firmware/Makefile
@@ -1,10 +1,6 @@ 
 XEN_ROOT = $(CURDIR)/../..
 include $(XEN_ROOT)/tools/Rules.mk
 
-ifneq ($(XEN_TARGET_ARCH),x86_32)
-CONFIG_PV_SHIM := y
-endif
-
 # hvmloader is a 32-bit protected mode binary.
 TARGET      := hvmloader/hvmloader
 INST_DIR := $(DESTDIR)$(XENFIRMWAREDIR)