From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH V2 3/5] tools: support system supplied ovmf binary Date: Tue, 29 Oct 2013 10:31:14 +0000 Message-ID: <1383042676-589-4-git-send-email-wei.liu2@citrix.com> References: <1383042676-589-1-git-send-email-wei.liu2@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1383042676-589-1-git-send-email-wei.liu2@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org Cc: Wei Liu , ian.jackson@eu.citrix.com, ian.campbell@citrix.com List-Id: xen-devel@lists.xenproject.org From: Ian Campbell Debian Jessie at least contains an ovmf package that includes /usr/share/ovmf/OVMF.fd. It's also possible that user may want to supply his/her own ovmf binary. Signed-off-by: Ian Campbell Signed-off-by: Wei Liu --- config/Tools.mk.in | 1 + tools/configure | 16 +++++++++++++--- tools/configure.ac | 11 +++++++++++ tools/firmware/Makefile | 2 ++ tools/firmware/hvmloader/Makefile | 6 +++++- 5 files changed, 32 insertions(+), 4 deletions(-) diff --git a/config/Tools.mk.in b/config/Tools.mk.in index 67f5782..d9d3239 100644 --- a/config/Tools.mk.in +++ b/config/Tools.mk.in @@ -24,6 +24,7 @@ BCC := @BCC@ IASL := @IASL@ FETCHER := @FETCHER@ SEABIOS_PATH := @seabios_path@ +OVMF_PATH := @ovmf_path@ # Extra folder for libs/includes PREPEND_INCLUDES := @PREPEND_INCLUDES@ diff --git a/tools/configure b/tools/configure index 1da8652..22e74a7 100755 --- a/tools/configure +++ b/tools/configure @@ -682,6 +682,7 @@ APPEND_LIB APPEND_INCLUDES PREPEND_LIB PREPEND_INCLUDES +ovmf_path seabios_path qemu_xen qemu_traditional @@ -768,6 +769,7 @@ enable_blktap1 enable_qemu_traditional with_system_qemu with_system_seabios +with_system_ovmf ' ac_precious_vars='build_alias host_alias @@ -1440,6 +1442,9 @@ Optional Packages: --with-system-seabios[=PATH] Use system supplied seabios PATH instead of building and installing our own version + --with-system-ovmf[=PATH] + Use system supplied OVMF PATH instead of building + and installing our own version Some influential environment variables: CC C compiler command @@ -3771,9 +3776,14 @@ fi - - - +# Check whether --with-system-ovmf was given. +if test "${with_system_ovmf+set}" = set; then : + withval=$with_system_ovmf; + case $withval in + no) ovmf_path= ;; + *) ovmf_path=$withval ;; + esac +fi for cppflag in $PREPEND_INCLUDES diff --git a/tools/configure.ac b/tools/configure.ac index 4f3c33a..b2941a4 100644 --- a/tools/configure.ac +++ b/tools/configure.ac @@ -108,6 +108,17 @@ AC_ARG_WITH([system-seabios], ],[]) AC_SUBST(seabios_path) +AC_ARG_WITH([system-ovmf], + AS_HELP_STRING([--with-system-ovmf@<:@=PATH@:>@], + [Use system supplied OVMF PATH instead of building and installing + our own version]),[ + case $withval in + no) ovmf_path= ;; + *) ovmf_path=$withval ;; + esac +],[]) +AC_SUBST(ovmf_path) + AC_ARG_VAR([PREPEND_INCLUDES], [List of include folders to prepend to CFLAGS (without -I)]) AC_ARG_VAR([PREPEND_LIB], diff --git a/tools/firmware/Makefile b/tools/firmware/Makefile index 8633748..cb13212 100644 --- a/tools/firmware/Makefile +++ b/tools/firmware/Makefile @@ -6,7 +6,9 @@ TARGET := hvmloader/hvmloader INST_DIR := $(DESTDIR)$(XENFIRMWAREDIR) SUBDIRS-y := +ifeq ($(OVMF_PATH),) SUBDIRS-$(CONFIG_OVMF) += ovmf-dir +endif ifeq ($(SEABIOS_PATH),) SUBDIRS-$(CONFIG_SEABIOS) += seabios-dir endif diff --git a/tools/firmware/hvmloader/Makefile b/tools/firmware/hvmloader/Makefile index e27e457..00ee952 100644 --- a/tools/firmware/hvmloader/Makefile +++ b/tools/firmware/hvmloader/Makefile @@ -56,7 +56,11 @@ ROMS := ifeq ($(CONFIG_OVMF),y) OBJS += ovmf.o CFLAGS += -DENABLE_OVMF -OVMF_ROM := $(OVMF_DIR)/ovmf.bin +ifeq ($(OVMF_PATH),) + OVMF_ROM := $(OVMF_DIR)/ovmf.bin +else + OVMF_ROM := $(OVMF_PATH) +endif ROMS += $(OVMF_ROM) endif -- 1.7.10.4