All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V2 0/5] Reintroduce OVMF support
@ 2013-10-29 10:31 Wei Liu
  2013-10-29 10:31 ` [PATCH V2 1/5] libxl: bump LIBXL_MAXMEM_CONSTANT to 2048 Wei Liu
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Wei Liu @ 2013-10-29 10:31 UTC (permalink / raw)
  To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell

OVMF (open virtual machine firmware) is used to provide UEFI support for
virtual machines. It was first introduced about a year ago but was disabled due
to compilation problem. Now that the compilation problem is resolved we can
reintorduce it.

OVMF tree can be pulled from
  git://xenbits.xen.org/people/liuw/ovmf.git for-xenbits

Wei.

Ian Campbell (3):
  tools: clone ovmf to ovmf-dir directory
  tools: support system supplied ovmf binary
  tools: Enable OVMF build by default

Wei Liu (2):
  libxl: bump LIBXL_MAXMEM_CONSTANT to 2048
  Config.mk: update OVMF changeset

 Config.mk                         |    2 +-
 Makefile                          |    4 ++++
 config/Tools.mk.in                |    1 +
 tools/configure                   |   20 +++++++++++++++-----
 tools/configure.ac                |   13 ++++++++++++-
 tools/firmware/Makefile           |   31 ++++++++++++-------------------
 tools/firmware/hvmloader/Makefile |    8 ++++++--
 tools/libxl/libxl_internal.h      |    2 +-
 8 files changed, 52 insertions(+), 29 deletions(-)

-- 
1.7.10.4

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH V2 1/5] libxl: bump LIBXL_MAXMEM_CONSTANT to 2048
  2013-10-29 10:31 [PATCH V2 0/5] Reintroduce OVMF support Wei Liu
@ 2013-10-29 10:31 ` Wei Liu
  2013-10-29 10:31 ` [PATCH V2 2/5] tools: clone ovmf to ovmf-dir directory Wei Liu
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Wei Liu @ 2013-10-29 10:31 UTC (permalink / raw)
  To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell

When using OVMF we need to have 1MiB of memory in place for firmware.
Without this change we have:

(XEN) HVM128: Loading OVMF ...
(XEN) page_alloc.c:1460:d128 Over-allocation for domain 128: 33025 > 33024
(XEN) memory.c:132:d128 Could not allocate order=0 extent: id=128 memflags=0 (0 of 1)

This is not a fatal error as hvmloader will instead use low memory to
load OVMF, but it's better to eliminate such error.

Changing this constant doesn't necessary increase the total amount of
memory a guest uses because it's just a limit.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/libxl_internal.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 165dc00..908af20 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -87,7 +87,7 @@
 #define LIBXL_QEMU_BODGE_TIMEOUT 2
 #define LIBXL_XENCONSOLE_LIMIT 1048576
 #define LIBXL_XENCONSOLE_PROTOCOL "vt100"
-#define LIBXL_MAXMEM_CONSTANT 1024
+#define LIBXL_MAXMEM_CONSTANT 2048
 #define LIBXL_PV_EXTRA_MEMORY 1024
 #define LIBXL_HVM_EXTRA_MEMORY 2048
 #define LIBXL_MIN_DOM0_MEM (128*1024)
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH V2 2/5] tools: clone ovmf to ovmf-dir directory
  2013-10-29 10:31 [PATCH V2 0/5] Reintroduce OVMF support Wei Liu
  2013-10-29 10:31 ` [PATCH V2 1/5] libxl: bump LIBXL_MAXMEM_CONSTANT to 2048 Wei Liu
@ 2013-10-29 10:31 ` Wei Liu
  2013-10-29 10:31 ` [PATCH V2 3/5] tools: support system supplied ovmf binary Wei Liu
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Wei Liu @ 2013-10-29 10:31 UTC (permalink / raw)
  To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell

From: Ian Campbell <ian.campbell@citrix.com>

for consistency with other foo-dir e.g. qemu, seabios.

Remove obsolete ovmf-find target.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
---
 Makefile                          |    4 ++++
 tools/firmware/Makefile           |   29 ++++++++++-------------------
 tools/firmware/hvmloader/Makefile |    2 +-
 3 files changed, 15 insertions(+), 20 deletions(-)

diff --git a/Makefile b/Makefile
index d915660..4e48457 100644
--- a/Makefile
+++ b/Makefile
@@ -110,6 +110,10 @@ endif
 tools/firmware/seabios-dir-force-update:
 	$(MAKE) -C tools/firmware seabios-dir-force-update
 
+.PHONY: tools/firmware/ovmf-dir-force-update
+tools/firmware/ovmf-dir-force-update:
+	$(MAKE) -C tools/firmware ovmf-dir-force-update
+
 .PHONY: install-docs
 install-docs:
 	$(MAKE) -C docs install
diff --git a/tools/firmware/Makefile b/tools/firmware/Makefile
index f064765..8633748 100644
--- a/tools/firmware/Makefile
+++ b/tools/firmware/Makefile
@@ -6,7 +6,7 @@ TARGET      := hvmloader/hvmloader
 INST_DIR := $(DESTDIR)$(XENFIRMWAREDIR)
 
 SUBDIRS-y :=
-SUBDIRS-$(CONFIG_OVMF) += ovmf
+SUBDIRS-$(CONFIG_OVMF) += ovmf-dir
 ifeq ($(SEABIOS_PATH),)
 SUBDIRS-$(CONFIG_SEABIOS) += seabios-dir
 endif
@@ -15,9 +15,9 @@ SUBDIRS-$(CONFIG_ROMBIOS) += vgabios
 SUBDIRS-$(CONFIG_ROMBIOS) += etherboot
 SUBDIRS-y += hvmloader
 
-ovmf:
-	GIT=$(GIT) $(XEN_ROOT)/scripts/git-checkout.sh $(OVMF_UPSTREAM_URL) $(OVMF_UPSTREAM_REVISION) ovmf
-	cp ovmf-makefile ovmf/Makefile;
+ovmf-dir:
+	GIT=$(GIT) $(XEN_ROOT)/scripts/git-checkout.sh $(OVMF_UPSTREAM_URL) $(OVMF_UPSTREAM_REVISION) ovmf-dir
+	cp ovmf-makefile ovmf-dir/Makefile;
 
 seabios-dir:
 	GIT=$(GIT) $(XEN_ROOT)/scripts/git-checkout.sh $(SEABIOS_UPSTREAM_URL) $(SEABIOS_UPSTREAM_TAG) seabios-dir
@@ -52,32 +52,23 @@ subdir-distclean-etherboot: .phony
 	$(MAKE) -C etherboot distclean
 
 subdir-distclean-ovmf: .phony
-	rm -rf ovmf ovmf-remote
+	rm -rf ovmf-dir ovmf-dir-remote
 
 subdir-distclean-seabios-dir: .phony
 	rm -rf seabios-dir seabios-dir-remote
 
-.PHONY: ovmf-find
-ovmf-find:
-	if test -d $(OVMF_UPSTREAM_URL) ; then \
-	               mkdir -p ovmf; \
-        else \
-                export GIT=$(GIT); \
-                $(XEN_ROOT)/scripts/git-checkout.sh $(OVMF_UPSTREAM_URL) $(OVMF_UPSTREAM_REVISION) ovmf ; \
-        fi
-
-.PHONY: ovmf-force-update
-ovmf-force-update:
+.PHONY: ovmf-dir-force-update
+ovmf-dir-force-update:
 	set -ex; \
 	if [ "$(OVMF_UPSTREAM_REVISION)" ]; then \
-		cd ovmf-remote; \
+		cd ovmf-dir-remote; \
 		$(GIT) fetch origin; \
 		$(GIT) reset --hard $(OVMF_UPSTREAM_REVISION); \
 	fi
 
 subdir-clean-ovmf:
-	set -e; if test -d ovmf/.; then \
-		$(MAKE) -C ovmf clean; \
+	set -e; if test -d ovmf-dir/.; then \
+		$(MAKE) -C ovmf-dir clean; \
 	fi
 
 .PHONY: seabios-dir-force-update
diff --git a/tools/firmware/hvmloader/Makefile b/tools/firmware/hvmloader/Makefile
index 8ab1429..e27e457 100644
--- a/tools/firmware/hvmloader/Makefile
+++ b/tools/firmware/hvmloader/Makefile
@@ -37,7 +37,7 @@ endif
 
 CIRRUSVGA_DEBUG ?= n
 
-OVMF_DIR := ../ovmf
+OVMF_DIR := ../ovmf-dir
 ROMBIOS_DIR := ../rombios
 SEABIOS_DIR := ../seabios-dir
 
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH V2 3/5] tools: support system supplied ovmf binary
  2013-10-29 10:31 [PATCH V2 0/5] Reintroduce OVMF support Wei Liu
  2013-10-29 10:31 ` [PATCH V2 1/5] libxl: bump LIBXL_MAXMEM_CONSTANT to 2048 Wei Liu
  2013-10-29 10:31 ` [PATCH V2 2/5] tools: clone ovmf to ovmf-dir directory Wei Liu
@ 2013-10-29 10:31 ` Wei Liu
  2013-10-29 10:31 ` [PATCH V2 4/5] tools: Enable OVMF build by default Wei Liu
  2013-10-29 10:31 ` [PATCH V2 5/5] Config.mk: update OVMF changeset Wei Liu
  4 siblings, 0 replies; 8+ messages in thread
From: Wei Liu @ 2013-10-29 10:31 UTC (permalink / raw)
  To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell

From: Ian Campbell <ian.campbell@citrix.com>

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 <ian.campbell@citrix.com>
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
---
 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

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH V2 4/5] tools: Enable OVMF build by default
  2013-10-29 10:31 [PATCH V2 0/5] Reintroduce OVMF support Wei Liu
                   ` (2 preceding siblings ...)
  2013-10-29 10:31 ` [PATCH V2 3/5] tools: support system supplied ovmf binary Wei Liu
@ 2013-10-29 10:31 ` Wei Liu
  2013-10-29 11:31   ` Jan Beulich
  2013-10-29 10:31 ` [PATCH V2 5/5] Config.mk: update OVMF changeset Wei Liu
  4 siblings, 1 reply; 8+ messages in thread
From: Wei Liu @ 2013-10-29 10:31 UTC (permalink / raw)
  To: xen-devel; +Cc: ian.jackson, ian.campbell

From: Ian Campbell <ian.campbell@citrix.com>

The issues with non-GCC4.4 builds seem to have been resolved.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/configure    |    4 ++--
 tools/configure.ac |    2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/configure b/tools/configure
index 22e74a7..eb58bcd 100755
--- a/tools/configure
+++ b/tools/configure
@@ -1422,7 +1422,7 @@ Optional Features:
   --enable-xenapi         Enable Xen API Bindings (default is DISABLED)
   --disable-ocamltools    Disable Ocaml tools (default is ENABLED)
   --disable-xsmpolicy     Disable XSM policy compilation (default is ENABLED)
-  --enable-ovmf           Enable OVMF (default is DISABLED)
+  --disable-ovmf          Enable OVMF (default is ENABLED)
   --disable-rombios       Disable ROM BIOS (default is ENABLED)
   --disable-seabios       Disable SeaBIOS (default is ENABLED)
   --disable-debug         Disable debug build of tools (default is ENABLED)
@@ -3584,7 +3584,7 @@ elif test "x$enable_ovmf" = "xyes"; then :
 
 elif test -z $ax_cv_ovmf; then :
 
-    ax_cv_ovmf="n"
+    ax_cv_ovmf="y"
 
 fi
 ovmf=$ax_cv_ovmf
diff --git a/tools/configure.ac b/tools/configure.ac
index b2941a4..86fcb28 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -53,7 +53,7 @@ AX_ARG_DEFAULT_ENABLE([monitors], [Disable xenstat and xentop monitoring tools])
 AX_ARG_DEFAULT_DISABLE([xenapi], [Enable Xen API Bindings])
 AX_ARG_DEFAULT_ENABLE([ocamltools], [Disable Ocaml tools])
 AX_ARG_DEFAULT_ENABLE([xsmpolicy], [Disable XSM policy compilation])
-AX_ARG_DEFAULT_DISABLE([ovmf], [Enable OVMF])
+AX_ARG_DEFAULT_ENABLE([ovmf], [Enable OVMF])
 AX_ARG_DEFAULT_ENABLE([rombios], [Disable ROM BIOS])
 AX_ARG_DEFAULT_ENABLE([seabios], [Disable SeaBIOS])
 AX_ARG_DEFAULT_ENABLE([debug], [Disable debug build of tools])
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH V2 5/5] Config.mk: update OVMF changeset
  2013-10-29 10:31 [PATCH V2 0/5] Reintroduce OVMF support Wei Liu
                   ` (3 preceding siblings ...)
  2013-10-29 10:31 ` [PATCH V2 4/5] tools: Enable OVMF build by default Wei Liu
@ 2013-10-29 10:31 ` Wei Liu
  4 siblings, 0 replies; 8+ messages in thread
From: Wei Liu @ 2013-10-29 10:31 UTC (permalink / raw)
  To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
---
 Config.mk |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Config.mk b/Config.mk
index 1879454..dad2dc4 100644
--- a/Config.mk
+++ b/Config.mk
@@ -232,7 +232,7 @@ OVMF_UPSTREAM_URL ?= git://xenbits.xen.org/ovmf.git
 QEMU_UPSTREAM_URL ?= git://xenbits.xen.org/qemu-upstream-unstable.git
 SEABIOS_UPSTREAM_URL ?= git://xenbits.xen.org/seabios.git
 endif
-OVMF_UPSTREAM_REVISION ?= b0855f925c6e2e0b21fbb03fab4b5fb5b6876871
+OVMF_UPSTREAM_REVISION ?= a93b0e3f6895a074b99c8817181dfa6dbc7a4807
 QEMU_UPSTREAM_REVISION ?= 1c514a7734b7f98625a0d18d5e8ee7581f26e50c
 SEABIOS_UPSTREAM_TAG ?= rel-1.7.3.1
 # Fri Aug 2 14:12:09 2013 -0400
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH V2 4/5] tools: Enable OVMF build by default
  2013-10-29 10:31 ` [PATCH V2 4/5] tools: Enable OVMF build by default Wei Liu
@ 2013-10-29 11:31   ` Jan Beulich
  2013-10-29 11:34     ` Wei Liu
  0 siblings, 1 reply; 8+ messages in thread
From: Jan Beulich @ 2013-10-29 11:31 UTC (permalink / raw)
  To: Wei Liu; +Cc: xen-devel, ian.jackson, ian.campbell

>>> On 29.10.13 at 11:31, Wei Liu <wei.liu2@citrix.com> wrote:
> From: Ian Campbell <ian.campbell@citrix.com>
> 
> The issues with non-GCC4.4 builds seem to have been resolved.

Shouldn't this come _after_ the changeset update patch then?

Jan

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH V2 4/5] tools: Enable OVMF build by default
  2013-10-29 11:31   ` Jan Beulich
@ 2013-10-29 11:34     ` Wei Liu
  0 siblings, 0 replies; 8+ messages in thread
From: Wei Liu @ 2013-10-29 11:34 UTC (permalink / raw)
  To: Jan Beulich; +Cc: ian.jackson, Wei Liu, ian.campbell, xen-devel

On Tue, Oct 29, 2013 at 11:31:01AM +0000, Jan Beulich wrote:
> >>> On 29.10.13 at 11:31, Wei Liu <wei.liu2@citrix.com> wrote:
> > From: Ian Campbell <ian.campbell@citrix.com>
> > 
> > The issues with non-GCC4.4 builds seem to have been resolved.
> 
> Shouldn't this come _after_ the changeset update patch then?
> 

Oops, my bad. Will resend this series in right order.

Wei.

> Jan

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2013-10-29 11:34 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-10-29 10:31 [PATCH V2 0/5] Reintroduce OVMF support Wei Liu
2013-10-29 10:31 ` [PATCH V2 1/5] libxl: bump LIBXL_MAXMEM_CONSTANT to 2048 Wei Liu
2013-10-29 10:31 ` [PATCH V2 2/5] tools: clone ovmf to ovmf-dir directory Wei Liu
2013-10-29 10:31 ` [PATCH V2 3/5] tools: support system supplied ovmf binary Wei Liu
2013-10-29 10:31 ` [PATCH V2 4/5] tools: Enable OVMF build by default Wei Liu
2013-10-29 11:31   ` Jan Beulich
2013-10-29 11:34     ` Wei Liu
2013-10-29 10:31 ` [PATCH V2 5/5] Config.mk: update OVMF changeset Wei Liu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.