* [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.