* [PATCH v7 0/5] build upstream qemu and seabios by default
@ 2011-09-30 14:18 Stefano Stabellini
2011-09-30 14:20 ` [PATCH v7 1/5] Introduce git-checkout.sh stefano.stabellini
` (5 more replies)
0 siblings, 6 replies; 9+ messages in thread
From: Stefano Stabellini @ 2011-09-30 14:18 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Campbell, Keir Fraser, Stefano Stabellini
Hi all,
this is the sixth version of the patch series to introduce upstream qemu
and seabios in the xen-unstable build system.
Changes to v6:
- add "set -e" to git-checkout.sh;
- add argument count check to git-checkout.sh;
- remove spurious semicolons in git-checkout.sh.
Changes to v5:
- use $GIT in git-checkout.sh;
- add an http mirror for seabios;
- use $(LIBEXEC) to configure upstream qemu;
- append a patch for libxenlight to find the upstream qemu binary under
$(LIBEXEC).
Changes to v4:
- remove an obsolete comment;
- use /bin/sh to execute git-checkout.sh rathen than /bin/bash.
Changes to v3:
- reduce the scope of git-checkout.sh, now it only does what the name
says; calling "configure" is responsibility of the caller. As a result
of this change, the build still works when the user specifies a local
directory in the CONFIG_QEMU environmental variable;
- use a more official qemu repository hosted on xenbits;
- use a changeset as QEMU_UPSTREAM_TAG rather than a branch name.
Changes to v2:
- move tools/git-checkout.sh to scripts/git-checkout.sh;
- use git-checkout.sh for seabios;
- improve seabios integration with tools/firmware make system;
- add qemu-xen-traditional, qemu-xen and seabios dir entries to
.hgignore.
Changes to v1:
- always build upstream qemu and seabios, rather than introducing them
as an option.
Cheers,
Stefano
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v7 1/5] Introduce git-checkout.sh
2011-09-30 14:18 [PATCH v7 0/5] build upstream qemu and seabios by default Stefano Stabellini
@ 2011-09-30 14:20 ` stefano.stabellini
2011-09-30 14:20 ` [PATCH v7 2/5] Rename ioemu-dir as qemu-xen-traditional-dir stefano.stabellini
` (4 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: stefano.stabellini @ 2011-09-30 14:20 UTC (permalink / raw)
To: xen-devel
Cc: Ian.Campbell, keir, Stefano Stabellini, Ian.Jackson, Stefano.Stabellini
Introduce a script to perform git checkout on an external git tree; use
git-checkout.sh in ioemu-dir-find.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
diff --git a/.hgignore b/.hgignore
--- a/.hgignore
+++ b/.hgignore
@@ -291,7 +291,7 @@
^tools/xm-test/lib/XmTestLib/config.py$
^tools/xm-test/lib/XmTestReport/xmtest.py$
^tools/xm-test/tests/.*\.test$
-^tools/ioemu-remote
+^tools/ioemu-dir-remote
^tools/ioemu-dir$
^tools/ocaml/.*/.*\.annot$
^tools/ocaml/.*/.*\.cmx?a$
diff --git a/scripts/git-checkout.sh b/scripts/git-checkout.sh
new file mode 100755
--- /dev/null
+++ b/scripts/git-checkout.sh
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+if test $# -lt 3; then
+ echo "Usage: $0 <tree> <tag> <dir>"
+ exit 1
+fi
+
+TREE=$1
+TAG=$2
+DIR=$3
+
+set -e
+
+if test \! -d $DIR-remote; then
+ rm -rf $DIR-remote $DIR-remote.tmp
+ mkdir $DIR-remote.tmp; rmdir $DIR-remote.tmp
+ $GIT clone $TREE $DIR-remote.tmp
+ if test "$TAG" ; then
+ cd $DIR-remote.tmp
+ $GIT branch -D dummy >/dev/null 2>&1 ||:
+ $GIT checkout -b dummy $TAG
+ cd ..
+ fi
+ mv $DIR-remote.tmp $DIR-remote
+fi
+rm -f $DIR
+ln -sf $DIR-remote $DIR
diff --git a/tools/Makefile b/tools/Makefile
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -70,7 +70,7 @@ clean: subdirs-clean
.PHONY: distclean
distclean: subdirs-distclean
- rm -rf ioemu-dir ioemu-remote
+ rm -rf ioemu-dir ioemu-dir-remote
ifneq ($(XEN_COMPILE_ARCH),$(XEN_TARGET_ARCH))
IOEMU_CONFIGURE_CROSS ?= --cpu=$(XEN_TARGET_ARCH) \
@@ -88,20 +88,8 @@ ioemu-dir-find:
if test -d $(CONFIG_QEMU); then \
mkdir -p ioemu-dir; \
else \
- if [ ! -d ioemu-remote ]; then \
- rm -rf ioemu-remote ioemu-remote.tmp; \
- mkdir ioemu-remote.tmp; rmdir ioemu-remote.tmp; \
- $(GIT) clone $(CONFIG_QEMU) ioemu-remote.tmp; \
- if [ "$(QEMU_TAG)" ]; then \
- cd ioemu-remote.tmp; \
- $(GIT) branch -D dummy >/dev/null 2>&1 ||:; \
- $(GIT) checkout -b dummy $(QEMU_TAG); \
- cd ..; \
- fi; \
- mv ioemu-remote.tmp ioemu-remote; \
- fi; \
- rm -f ioemu-dir; \
- ln -sf ioemu-remote ioemu-dir; \
+ export GIT=$(GIT); \
+ $(XEN_ROOT)/scripts/git-checkout.sh $(CONFIG_QEMU) $(QEMU_TAG) ioemu-dir; \
fi
set -e; \
$(buildmakevars2shellvars); \
@@ -112,7 +100,7 @@ ioemu-dir-find:
ioemu-dir-force-update:
set -ex; \
if [ "$(QEMU_TAG)" ]; then \
- cd ioemu-remote; \
+ cd ioemu-dir-remote; \
$(GIT) fetch origin; \
$(GIT) reset --hard $(QEMU_TAG); \
fi
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v7 2/5] Rename ioemu-dir as qemu-xen-traditional-dir
2011-09-30 14:18 [PATCH v7 0/5] build upstream qemu and seabios by default Stefano Stabellini
2011-09-30 14:20 ` [PATCH v7 1/5] Introduce git-checkout.sh stefano.stabellini
@ 2011-09-30 14:20 ` stefano.stabellini
2011-09-30 14:20 ` [PATCH v7 3/5] Clone and build upstream Qemu by default stefano.stabellini
` (3 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: stefano.stabellini @ 2011-09-30 14:20 UTC (permalink / raw)
To: xen-devel
Cc: Ian.Campbell, keir, Stefano Stabellini, Ian.Jackson, Stefano.Stabellini
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
diff -r 9d2f56b25845 .hgignore
--- a/.hgignore Fri Sep 23 11:35:23 2011 +0000
+++ b/.hgignore Fri Sep 23 11:36:44 2011 +0000
@@ -291,8 +291,8 @@
^tools/xm-test/lib/XmTestLib/config.py$
^tools/xm-test/lib/XmTestReport/xmtest.py$
^tools/xm-test/tests/.*\.test$
-^tools/ioemu-dir-remote
-^tools/ioemu-dir$
+^tools/qemu-xen-traditional-dir-remote
+^tools/qemu-xen-traditional-dir$
^tools/ocaml/.*/.*\.annot$
^tools/ocaml/.*/.*\.cmx?a$
^tools/ocaml/.*/META$
diff -r 9d2f56b25845 Makefile
--- a/Makefile Fri Sep 23 11:35:23 2011 +0000
+++ b/Makefile Fri Sep 23 11:36:44 2011 +0000
@@ -70,7 +70,7 @@ install-tools:
$(MAKE) -C tools install
ifeq ($(CONFIG_IOEMU),y)
-install-tools: tools/ioemu-dir
+install-tools: tools/qemu-xen-traditional-dir
endif
.PHONY: install-kernels
@@ -78,18 +78,18 @@ install-kernels:
for i in $(XKERNELS) ; do $(MAKE) $$i-install || exit 1; done
.PHONY: install-stubdom
-install-stubdom: tools/ioemu-dir install-tools
+install-stubdom: tools/qemu-xen-traditional-dir install-tools
$(MAKE) -C stubdom install
ifeq (x86_64,$(XEN_TARGET_ARCH))
XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom install-grub
endif
-tools/ioemu-dir:
- $(MAKE) -C tools ioemu-dir-find
+tools/qemu-xen-traditional-dir:
+ $(MAKE) -C tools qemu-xen-traditional-dir-find
-.PHONY: tools/ioemu-dir-force-update
-tools/ioemu-dir-force-update:
- $(MAKE) -C tools ioemu-dir-force-update
+.PHONY: tools/qemu-xen-traditional-dir-force-update
+tools/qemu-xen-traditional-dir-force-update:
+ $(MAKE) -C tools qemu-xen-traditional-dir-force-update
.PHONY: install-docs
install-docs:
diff -r 9d2f56b25845 stubdom/Makefile
--- a/stubdom/Makefile Fri Sep 23 11:35:23 2011 +0000
+++ b/stubdom/Makefile Fri Sep 23 11:36:44 2011 +0000
@@ -218,15 +218,15 @@ cross-ocaml: $(OCAML_STAMPFILE)
QEMU_ROOT := $(shell if [ -d "$(CONFIG_QEMU)" ]; then echo "$(CONFIG_QEMU)"; else echo .; fi)
ifeq ($(QEMU_ROOT),.)
-$(XEN_ROOT)/tools/ioemu-dir:
- $(CROSS_MAKE) -C $(XEN_ROOT)/tools ioemu-dir-find
+$(XEN_ROOT)/tools/qemu-xen-traditional-dir:
+ $(CROSS_MAKE) -C $(XEN_ROOT)/tools qemu-xen-traditional-dir-find
-ioemu/linkfarm.stamp: $(XEN_ROOT)/tools/ioemu-dir
+ioemu/linkfarm.stamp: $(XEN_ROOT)/tools/qemu-xen-traditional-dir
mkdir -p ioemu
set -e; \
$(buildmakevars2shellvars); \
cd ioemu; \
- src="$$XEN_ROOT/tools/ioemu-dir"; export src; \
+ src="$$XEN_ROOT/tools/qemu-xen-traditional-dir"; export src; \
(cd $$src && find * -type d -print) | xargs mkdir -p; \
(cd $$src && find * ! -type l -type f $(addprefix ! -name , \
'*.[oda1]' 'config-*' config.mak qemu-dm qemu-img-xen \
diff -r 9d2f56b25845 tools/Makefile
--- a/tools/Makefile Fri Sep 23 11:35:23 2011 +0000
+++ b/tools/Makefile Fri Sep 23 11:36:44 2011 +0000
@@ -30,7 +30,7 @@ SUBDIRS-$(LIBXENAPI_BINDINGS) += libxen
# do not recurse in to a dir we are about to delete
ifneq "$(MAKECMDGOALS)" "distclean"
-SUBDIRS-$(CONFIG_IOEMU) += ioemu-dir
+SUBDIRS-$(CONFIG_IOEMU) += qemu-xen-traditional-dir
endif
SUBDIRS-y += xenpmd
@@ -70,7 +70,7 @@ clean: subdirs-clean
.PHONY: distclean
distclean: subdirs-distclean
- rm -rf ioemu-dir ioemu-dir-remote
+ rm -rf qemu-xen-traditional-dir qemu-xen-traditional-dir-remote
ifneq ($(XEN_COMPILE_ARCH),$(XEN_TARGET_ARCH))
IOEMU_CONFIGURE_CROSS ?= --cpu=$(XEN_TARGET_ARCH) \
@@ -83,34 +83,34 @@ ifneq ($(QEMU_ROOT),.)
export QEMU_ROOT
endif
-ioemu-dir-find:
+qemu-xen-traditional-dir-find:
set -ex; \
if test -d $(CONFIG_QEMU); then \
- mkdir -p ioemu-dir; \
+ mkdir -p qemu-xen-traditional-dir; \
else \
export GIT=$(GIT); \
- $(XEN_ROOT)/scripts/git-checkout.sh $(CONFIG_QEMU) $(QEMU_TAG) ioemu-dir; \
+ $(XEN_ROOT)/scripts/git-checkout.sh $(CONFIG_QEMU) $(QEMU_TAG) qemu-xen-traditional-dir; \
fi
set -e; \
$(buildmakevars2shellvars); \
- cd ioemu-dir; \
+ cd qemu-xen-traditional-dir; \
$(QEMU_ROOT)/xen-setup $(IOEMU_CONFIGURE_CROSS)
-.PHONY: ioemu-dir-force-update
-ioemu-dir-force-update:
+.PHONY: qemu-xen-traditional-dir-force-update
+qemu-xen-traditional-dir-force-update:
set -ex; \
if [ "$(QEMU_TAG)" ]; then \
- cd ioemu-dir-remote; \
+ cd qemu-xen-traditional-dir-remote; \
$(GIT) fetch origin; \
$(GIT) reset --hard $(QEMU_TAG); \
fi
-subdir-all-ioemu-dir subdir-install-ioemu-dir: ioemu-dir-find
+subdir-all-qemu-xen-traditional-dir subdir-install-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find
-subdir-clean-ioemu-dir:
- set -e; if test -d ioemu-dir/.; then \
+subdir-clean-qemu-xen-traditional-dir:
+ set -e; if test -d qemu-xen-traditional-dir/.; then \
$(buildmakevars2shellvars); \
- $(MAKE) -C ioemu-dir clean; \
+ $(MAKE) -C qemu-xen-traditional-dir clean; \
fi
subdir-clean-debugger/gdbsx subdir-distclean-debugger/gdbsx: .phony
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v7 3/5] Clone and build upstream Qemu by default
2011-09-30 14:18 [PATCH v7 0/5] build upstream qemu and seabios by default Stefano Stabellini
2011-09-30 14:20 ` [PATCH v7 1/5] Introduce git-checkout.sh stefano.stabellini
2011-09-30 14:20 ` [PATCH v7 2/5] Rename ioemu-dir as qemu-xen-traditional-dir stefano.stabellini
@ 2011-09-30 14:20 ` stefano.stabellini
2011-09-30 14:20 ` [PATCH v7 4/5] Clone and build Seabios " stefano.stabellini
` (2 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: stefano.stabellini @ 2011-09-30 14:20 UTC (permalink / raw)
To: xen-devel
Cc: Ian.Campbell, keir, Stefano Stabellini, Ian.Jackson, Stefano.Stabellini
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
diff -r 5553e17faa80 .hgignore
--- a/.hgignore Fri Sep 23 11:36:44 2011 +0000
+++ b/.hgignore Fri Sep 23 11:37:08 2011 +0000
@@ -293,6 +293,8 @@
^tools/xm-test/tests/.*\.test$
^tools/qemu-xen-traditional-dir-remote
^tools/qemu-xen-traditional-dir$
+^tools/qemu-xen-dir-remote
+^tools/qemu-xen-dir$
^tools/ocaml/.*/.*\.annot$
^tools/ocaml/.*/.*\.cmx?a$
^tools/ocaml/.*/META$
diff -r 5553e17faa80 Config.mk
--- a/Config.mk Fri Sep 23 11:36:44 2011 +0000
+++ b/Config.mk Fri Sep 23 11:37:08 2011 +0000
@@ -192,6 +192,13 @@ else
QEMU_REMOTE=git://xenbits.xensource.com/qemu-xen-unstable.git
endif
+ifeq ($(GIT_HTTP),y)
+QEMU_UPSTREAM_URL ?= http://xenbits.xensource.com/git-http/qemu-upstream-unstable.git
+else
+QEMU_UPSTREAM_URL ?= git://xenbits.xensource.com/qemu-upstream-unstable.git
+endif
+QEMU_UPSTREAM_TAG ?= 6dd84c71dff047f9e492d67e7c99928d09202760
+
# Specify which qemu-dm to use. This may be `ioemu' to use the old
# Mercurial in-tree version, or a local directory, or a git URL.
# CONFIG_QEMU ?= `pwd`/$(XEN_ROOT)/../qemu-xen.git
diff -r 5553e17faa80 Makefile
--- a/Makefile Fri Sep 23 11:36:44 2011 +0000
+++ b/Makefile Fri Sep 23 11:37:08 2011 +0000
@@ -70,7 +70,7 @@ install-tools:
$(MAKE) -C tools install
ifeq ($(CONFIG_IOEMU),y)
-install-tools: tools/qemu-xen-traditional-dir
+install-tools: tools/qemu-xen-traditional-dir tools/qemu-xen-dir
endif
.PHONY: install-kernels
@@ -91,6 +91,9 @@ tools/qemu-xen-traditional-dir:
tools/qemu-xen-traditional-dir-force-update:
$(MAKE) -C tools qemu-xen-traditional-dir-force-update
+tools/qemu-xen-dir:
+ $(MAKE) -C tools qemu-xen-dir-find
+
.PHONY: install-docs
install-docs:
sh ./docs/check_pkgs && $(MAKE) -C docs install || true
diff -r 5553e17faa80 tools/Makefile
--- a/tools/Makefile Fri Sep 23 11:36:44 2011 +0000
+++ b/tools/Makefile Fri Sep 23 11:37:08 2011 +0000
@@ -31,6 +31,7 @@ SUBDIRS-$(LIBXENAPI_BINDINGS) += libxen
# do not recurse in to a dir we are about to delete
ifneq "$(MAKECMDGOALS)" "distclean"
SUBDIRS-$(CONFIG_IOEMU) += qemu-xen-traditional-dir
+SUBDIRS-$(CONFIG_IOEMU) += qemu-xen-dir
endif
SUBDIRS-y += xenpmd
@@ -71,6 +72,7 @@ clean: subdirs-clean
.PHONY: distclean
distclean: subdirs-distclean
rm -rf qemu-xen-traditional-dir qemu-xen-traditional-dir-remote
+ rm -rf qemu-xen-dir qemu-xen-dir-remote
ifneq ($(XEN_COMPILE_ARCH),$(XEN_TARGET_ARCH))
IOEMU_CONFIGURE_CROSS ?= --cpu=$(XEN_TARGET_ARCH) \
@@ -96,6 +98,25 @@ qemu-xen-traditional-dir-find:
cd qemu-xen-traditional-dir; \
$(QEMU_ROOT)/xen-setup $(IOEMU_CONFIGURE_CROSS)
+qemu-xen-dir-find:
+ if test -d $(QEMU_UPSTREAM_URL) ; then \
+ ln -sf $(QEMU_UPSTREAM_URL) qemu-xen-dir; \
+ else \
+ export GIT=$(GIT); \
+ $(XEN_ROOT)/scripts/git-checkout.sh $(QEMU_UPSTREAM_URL) $(QEMU_UPSTREAM_TAG) qemu-xen-dir ; \
+ fi
+ cd qemu-xen-dir; \
+ ./configure --enable-xen --target-list=i386-softmmu \
+ --source-path=$$ROOT \
+ --extra-cflags="-I$(XEN_ROOT)/tools/include \
+ -I$(XEN_ROOT)/tools/libxc \
+ -I$(XEN_ROOT)/tools/xenstore" \
+ --extra-ldflags="-L$(XEN_ROOT)/tools/libxc \
+ -L$(XEN_ROOT)/tools/libxenstore" \
+ --bindir=$(LIBEXEC) \
+ --disable-kvm \
+ $(IOEMU_CONFIGURE_CROSS)
+
.PHONY: qemu-xen-traditional-dir-force-update
qemu-xen-traditional-dir-force-update:
set -ex; \
@@ -113,6 +134,14 @@ subdir-clean-qemu-xen-traditional-dir:
$(MAKE) -C qemu-xen-traditional-dir clean; \
fi
+subdir-all-qemu-xen-dir subdir-install-qemu-xen-dir: qemu-xen-dir-find
+
+subdir-clean-qemu-xen-dir:
+ set -e; if test -d qemu-xen-dir/.; then \
+ $(buildmakevars2shellvars); \
+ $(MAKE) -C qemu-xen-dir clean; \
+ fi
+
subdir-clean-debugger/gdbsx subdir-distclean-debugger/gdbsx: .phony
$(MAKE) -C debugger/gdbsx clean
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v7 4/5] Clone and build Seabios by default
2011-09-30 14:18 [PATCH v7 0/5] build upstream qemu and seabios by default Stefano Stabellini
` (2 preceding siblings ...)
2011-09-30 14:20 ` [PATCH v7 3/5] Clone and build upstream Qemu by default stefano.stabellini
@ 2011-09-30 14:20 ` stefano.stabellini
2011-09-30 14:20 ` [PATCH v7 5/5] libxl: use new qemu at the location where xen-unstable installs it stefano.stabellini
2011-10-10 16:23 ` [PATCH v7 0/5] build upstream qemu and seabios by default Ian Jackson
5 siblings, 0 replies; 9+ messages in thread
From: stefano.stabellini @ 2011-09-30 14:20 UTC (permalink / raw)
To: xen-devel
Cc: Ian.Campbell, keir, Stefano Stabellini, Ian.Jackson, Stefano.Stabellini
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
diff -r 294b63f68602 .hgignore
--- a/.hgignore Fri Sep 23 11:37:09 2011 +0000
+++ b/.hgignore Fri Sep 23 11:51:06 2011 +0000
@@ -295,6 +295,8 @@
^tools/qemu-xen-traditional-dir$
^tools/qemu-xen-dir-remote
^tools/qemu-xen-dir$
+^tools/tools/firmware/seabios-dir-remote
+^tools/tools/firmware/seabios-dir$
^tools/ocaml/.*/.*\.annot$
^tools/ocaml/.*/.*\.cmx?a$
^tools/ocaml/.*/META$
diff -r 294b63f68602 Config.mk
--- a/Config.mk Fri Sep 23 11:37:09 2011 +0000
+++ b/Config.mk Fri Sep 23 11:51:06 2011 +0000
@@ -194,10 +194,13 @@ endif
ifeq ($(GIT_HTTP),y)
QEMU_UPSTREAM_URL ?= http://xenbits.xensource.com/git-http/qemu-upstream-unstable.git
+SEABIOS_UPSTREAM_URL ?= http://git.qemu.org/git/seabios.git
else
QEMU_UPSTREAM_URL ?= git://xenbits.xensource.com/qemu-upstream-unstable.git
+SEABIOS_UPSTREAM_URL ?= git://git.qemu.org/seabios.git
endif
QEMU_UPSTREAM_TAG ?= 6dd84c71dff047f9e492d67e7c99928d09202760
+SEABIOS_UPSTREAM_TAG ?= 7fc039e9c262b4199fab497f3e12f4e425c37560
# Specify which qemu-dm to use. This may be `ioemu' to use the old
# Mercurial in-tree version, or a local directory, or a git URL.
@@ -211,15 +214,6 @@ QEMU_TAG ?= cd776ee9408ff127f934a707c1a3
# Short answer -- do not enable this unless you know what you are
# doing and are prepared for some pain.
-# SeaBIOS integration is a work in progress. Before enabling this
-# option you must clone git://git.qemu.org/seabios.git/, possibly add
-# some development patches and then build it yourself before pointing
-# this variable to it (using an absolute path).
-#
-# Note that using SeaBIOS requires the use the upstream qemu as the
-# device model.
-SEABIOS_DIR ?=
-
# Optional components
XENSTAT_XENTOP ?= y
VTPM_TOOLS ?= n
diff -r 294b63f68602 tools/firmware/Makefile
--- a/tools/firmware/Makefile Fri Sep 23 11:37:09 2011 +0000
+++ b/tools/firmware/Makefile Fri Sep 23 11:51:06 2011 +0000
@@ -6,13 +6,18 @@ TARGET := hvmloader/hvmloader
INST_DIR := $(DESTDIR)$(XENFIRMWAREDIR)
SUBDIRS :=
+SUBDIRS += seabios-dir
SUBDIRS += rombios
SUBDIRS += vgabios
SUBDIRS += etherboot
SUBDIRS += hvmloader
+seabios-dir:
+ GIT=$(GIT) $(XEN_ROOT)/scripts/git-checkout.sh $(SEABIOS_UPSTREAM_URL) $(SEABIOS_UPSTREAM_TAG) seabios-dir
+ cp seabios-config seabios-dir/.config;
+
.PHONY: all
-all:
+all: seabios-dir
@set -e; if [ $$((`( bcc -v 2>&1 | grep version || echo 0.0.0 ) | cut -d' ' -f 3 | awk -F. '{ printf "0x%02x%02x%02x", $$1, $$2, $$3}'`)) -lt $$((0x00100e)) ] ; then \
echo "==========================================================================="; \
echo "Require dev86 rpm or bin86 & bcc debs version >= 0.16.14 to build firmware!"; \
@@ -35,4 +40,7 @@ clean: subdirs-clean
distclean: subdirs-distclean
subdir-distclean-etherboot: .phony
- $(MAKE) -C etherboot distclean
\ No newline at end of file
+ $(MAKE) -C etherboot distclean
+
+subdir-distclean-seabios-dir: .phony
+ rm -rf seabios-dir seabios-dir-remote
diff -r 294b63f68602 tools/firmware/hvmloader/Makefile
--- a/tools/firmware/hvmloader/Makefile Fri Sep 23 11:37:09 2011 +0000
+++ b/tools/firmware/hvmloader/Makefile Fri Sep 23 11:51:06 2011 +0000
@@ -44,6 +44,7 @@ CFLAGS += -DENABLE_ROMBIOS
ROMBIOS_ROM := $(ROMBIOS_DIR)/BIOS-bochs-latest
endif
+SEABIOS_DIR := ../seabios-dir
ifneq ($(SEABIOS_DIR),)
OBJS += seabios.o
CFLAGS += -DENABLE_SEABIOS
diff -r 294b63f68602 tools/firmware/seabios-config
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/firmware/seabios-config Fri Sep 23 11:51:06 2011 +0000
@@ -0,0 +1,73 @@
+#
+# Automatically generated make config: don't edit
+# SeaBIOS Configuration
+# Wed Sep 7 13:03:21 2011
+#
+
+#
+# General Features
+#
+# CONFIG_COREBOOT is not set
+CONFIG_XEN=y
+CONFIG_THREADS=y
+# CONFIG_THREAD_OPTIONROMS is not set
+CONFIG_RELOCATE_INIT=y
+CONFIG_BOOTMENU=y
+# CONFIG_BOOTSPLASH is not set
+CONFIG_BOOTORDER=y
+
+#
+# Hardware support
+#
+CONFIG_ATA=y
+CONFIG_ATA_DMA=y
+CONFIG_ATA_PIO32=y
+CONFIG_AHCI=y
+CONFIG_VIRTIO_BLK=y
+CONFIG_FLOPPY=y
+CONFIG_PS2PORT=y
+CONFIG_USB=y
+CONFIG_USB_UHCI=y
+CONFIG_USB_OHCI=y
+CONFIG_USB_EHCI=y
+CONFIG_USB_MSC=y
+CONFIG_USB_HUB=y
+CONFIG_USB_KEYBOARD=y
+CONFIG_USB_MOUSE=y
+CONFIG_SERIAL=y
+CONFIG_LPT=y
+# CONFIG_USE_SMM is not set
+CONFIG_MTRR_INIT=y
+
+#
+# BIOS interfaces
+#
+CONFIG_DRIVES=y
+CONFIG_CDROM_BOOT=y
+CONFIG_CDROM_EMU=y
+CONFIG_PCIBIOS=y
+CONFIG_APMBIOS=y
+CONFIG_PNPBIOS=y
+CONFIG_OPTIONROMS=y
+# CONFIG_OPTIONROMS_DEPLOYED is not set
+CONFIG_PMM=y
+CONFIG_BOOT=y
+CONFIG_KEYBOARD=y
+CONFIG_KBD_CALL_INT15_4F=y
+CONFIG_MOUSE=y
+CONFIG_S3_RESUME=y
+# CONFIG_DISABLE_A20 is not set
+
+#
+# BIOS Tables
+#
+CONFIG_PIRTABLE=y
+CONFIG_MPTABLE=y
+CONFIG_SMBIOS=y
+CONFIG_ACPI=y
+
+#
+# Debugging
+#
+CONFIG_DEBUG_LEVEL=1
+# CONFIG_DEBUG_SERIAL is not set
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v7 5/5] libxl: use new qemu at the location where xen-unstable installs it
2011-09-30 14:18 [PATCH v7 0/5] build upstream qemu and seabios by default Stefano Stabellini
` (3 preceding siblings ...)
2011-09-30 14:20 ` [PATCH v7 4/5] Clone and build Seabios " stefano.stabellini
@ 2011-09-30 14:20 ` stefano.stabellini
2011-09-30 14:25 ` Christoph Egger
2011-10-10 16:23 ` [PATCH v7 0/5] build upstream qemu and seabios by default Ian Jackson
5 siblings, 1 reply; 9+ messages in thread
From: stefano.stabellini @ 2011-09-30 14:20 UTC (permalink / raw)
To: xen-devel
Cc: Ian.Campbell, keir, Ian.Jackson, Ian Campbell, Stefano.Stabellini
From: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
diff -r 75f27929ad92 tools/libxl/libxl_dm.c
--- a/tools/libxl/libxl_dm.c Fri Sep 23 11:22:23 2011 +0000
+++ b/tools/libxl/libxl_dm.c Fri Sep 23 11:22:39 2011 +0000
@@ -55,7 +55,7 @@ const char *libxl__domain_device_model(l
dm = libxl__abs_path(gc, "qemu-dm", libxl_libexec_path());
break;
case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
- dm = libxl__strdup(gc, "/usr/bin/qemu");
+ dm = libxl__abs_path(gc, "qemu", libxl_libexec_path());
break;
default:
LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v7 5/5] libxl: use new qemu at the location where xen-unstable installs it
2011-09-30 14:20 ` [PATCH v7 5/5] libxl: use new qemu at the location where xen-unstable installs it stefano.stabellini
@ 2011-09-30 14:25 ` Christoph Egger
0 siblings, 0 replies; 9+ messages in thread
From: Christoph Egger @ 2011-09-30 14:25 UTC (permalink / raw)
To: stefano.stabellini; +Cc: xen-devel, keir, Campbell, Ian.Jackson, Ian.Campbell
On 09/30/11 16:20, stefano.stabellini@eu.citrix.com wrote:
> From: Ian Campbell<ian.campbell@citrix.com>
>
> Signed-off-by: Ian Campbell<ian.campbell@citrix.com>
Acked-by: Christoph Egger <Christoph.Egger@amd.com>
>
> diff -r 75f27929ad92 tools/libxl/libxl_dm.c
> --- a/tools/libxl/libxl_dm.c Fri Sep 23 11:22:23 2011 +0000
> +++ b/tools/libxl/libxl_dm.c Fri Sep 23 11:22:39 2011 +0000
> @@ -55,7 +55,7 @@ const char *libxl__domain_device_model(l
> dm = libxl__abs_path(gc, "qemu-dm", libxl_libexec_path());
> break;
> case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
> - dm = libxl__strdup(gc, "/usr/bin/qemu");
> + dm = libxl__abs_path(gc, "qemu", libxl_libexec_path());
> break;
> default:
> LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel
>
--
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v7 0/5] build upstream qemu and seabios by default
2011-09-30 14:18 [PATCH v7 0/5] build upstream qemu and seabios by default Stefano Stabellini
` (4 preceding siblings ...)
2011-09-30 14:20 ` [PATCH v7 5/5] libxl: use new qemu at the location where xen-unstable installs it stefano.stabellini
@ 2011-10-10 16:23 ` Ian Jackson
2011-10-13 17:54 ` Stefano Stabellini
5 siblings, 1 reply; 9+ messages in thread
From: Ian Jackson @ 2011-10-10 16:23 UTC (permalink / raw)
To: Stefano Stabellini; +Cc: Ian, Campbell, xen-devel, Keir Fraser
Stefano Stabellini writes ("[Xen-devel] [PATCH v7 0/5] build upstream qemu and seabios by default"):
> this is the sixth version of the patch series to introduce upstream qemu
> and seabios in the xen-unstable build system.
I did this (on my workstation, running Debian squeeze i386):
* hg clean --all
* Apply this series (it applied cleanly)
* cp ../.config . (see below)
* in the referenced qemu-iwj.git dir, git-clean -xdf
* (make -j4 && echo ok.) 2>&1 | tee ../log
My ../.config contains only
CONFIG_QEMU=/u/iwj/work/1/qemu-iwj.git
and the referenced directory is at git changeset
25378e0a76b282127e9ab8933a4defbc91db3862.
The result was the error you see below.
After this, the directory "tools/qemu-xen-dir-remote" is at
6dd84c71dff047f9e492d67e7c99928d09202760.
IIRC this is the same problem that v5 and v6 had. Please come back
when you've actually fixed it.
Ian.
make[1]: Leaving directory `/u/iwj/work/xen-unstable-tools.hg/xen'
Switched to a new branch 'dummy'
cd qemu-xen-dir; \
./configure --enable-xen --target-list=i386-softmmu \
--source-path=$ROOT \
--extra-cflags="-I/u/iwj/work/xen-unstable-tools.hg/tools/../tools/include \
-I/u/iwj/work/xen-unstable-tools.hg/tools/../tools/libxc \
-I/u/iwj/work/xen-unstable-tools.hg/tools/../tools/xenstore" \
--extra-ldflags="-L/u/iwj/work/xen-unstable-tools.hg/tools/../tools/libxc \
-L/u/iwj/work/xen-unstable-tools.hg/tools/../tools/libxenstore" \
--bindir=/usr/lib/xen/bin \
--disable-kvm \
ERROR
ERROR: User requested feature xen
ERROR: configure was not able to find it
ERROR
make[1]: *** [qemu-xen-dir-find] Error 1
make[1]: Leaving directory `/u/iwj/work/xen-unstable-tools.hg/tools'
make: *** [tools/qemu-xen-dir] Error 2
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v7 0/5] build upstream qemu and seabios by default
2011-10-10 16:23 ` [PATCH v7 0/5] build upstream qemu and seabios by default Ian Jackson
@ 2011-10-13 17:54 ` Stefano Stabellini
0 siblings, 0 replies; 9+ messages in thread
From: Stefano Stabellini @ 2011-10-13 17:54 UTC (permalink / raw)
To: Ian Jackson; +Cc: xen-devel, Keir (Xen.org), Ian Campbell, Stefano Stabellini
On Mon, 10 Oct 2011, Ian Jackson wrote:
> Stefano Stabellini writes ("[Xen-devel] [PATCH v7 0/5] build upstream qemu and seabios by default"):
> > this is the sixth version of the patch series to introduce upstream qemu
> > and seabios in the xen-unstable build system.
>
> I did this (on my workstation, running Debian squeeze i386):
>
> * hg clean --all
> * Apply this series (it applied cleanly)
> * cp ../.config . (see below)
> * in the referenced qemu-iwj.git dir, git-clean -xdf
> * (make -j4 && echo ok.) 2>&1 | tee ../log
>
> My ../.config contains only
>
> CONFIG_QEMU=/u/iwj/work/1/qemu-iwj.git
>
> and the referenced directory is at git changeset
> 25378e0a76b282127e9ab8933a4defbc91db3862.
>
> The result was the error you see below.
>
> After this, the directory "tools/qemu-xen-dir-remote" is at
> 6dd84c71dff047f9e492d67e7c99928d09202760.
>
> IIRC this is the same problem that v5 and v6 had. Please come back
> when you've actually fixed it.
>
> Ian.
>
>
> make[1]: Leaving directory `/u/iwj/work/xen-unstable-tools.hg/xen'
> Switched to a new branch 'dummy'
> cd qemu-xen-dir; \
> ./configure --enable-xen --target-list=i386-softmmu \
> --source-path=$ROOT \
> --extra-cflags="-I/u/iwj/work/xen-unstable-tools.hg/tools/../tools/include \
> -I/u/iwj/work/xen-unstable-tools.hg/tools/../tools/libxc \
> -I/u/iwj/work/xen-unstable-tools.hg/tools/../tools/xenstore" \
> --extra-ldflags="-L/u/iwj/work/xen-unstable-tools.hg/tools/../tools/libxc \
> -L/u/iwj/work/xen-unstable-tools.hg/tools/../tools/libxenstore" \
> --bindir=/usr/lib/xen/bin \
> --disable-kvm \
>
> ERROR
> ERROR: User requested feature xen
> ERROR: configure was not able to find it
> ERROR
> make[1]: *** [qemu-xen-dir-find] Error 1
> make[1]: Leaving directory `/u/iwj/work/xen-unstable-tools.hg/tools'
> make: *** [tools/qemu-xen-dir] Error 2
>
I have just realized that I did all my tests on a box that has xen
properly installed under /usr so it doesn't need all the --extra-cflags
and --extra-ldflags runes.
Changing dev box made me uncover two bugs:
- a typo in tools/Makefile (libxenstore instead of xenstore);
- a dependency problem: qemu's configure script needs libxc and xenstore
to be already built but we are calling it before building them. The
solution is to move the call to configure after we build libxc and xenstore.
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2011-10-13 17:54 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-09-30 14:18 [PATCH v7 0/5] build upstream qemu and seabios by default Stefano Stabellini
2011-09-30 14:20 ` [PATCH v7 1/5] Introduce git-checkout.sh stefano.stabellini
2011-09-30 14:20 ` [PATCH v7 2/5] Rename ioemu-dir as qemu-xen-traditional-dir stefano.stabellini
2011-09-30 14:20 ` [PATCH v7 3/5] Clone and build upstream Qemu by default stefano.stabellini
2011-09-30 14:20 ` [PATCH v7 4/5] Clone and build Seabios " stefano.stabellini
2011-09-30 14:20 ` [PATCH v7 5/5] libxl: use new qemu at the location where xen-unstable installs it stefano.stabellini
2011-09-30 14:25 ` Christoph Egger
2011-10-10 16:23 ` [PATCH v7 0/5] build upstream qemu and seabios by default Ian Jackson
2011-10-13 17:54 ` Stefano Stabellini
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.