* [PATCH v6 0/5] build upstream qemu and seabios by default
@ 2011-09-23 12:09 Stefano Stabellini
2011-09-23 12:11 ` [PATCH v6 1/5] Introduce git-checkout.sh stefano.stabellini
` (5 more replies)
0 siblings, 6 replies; 15+ messages in thread
From: Stefano Stabellini @ 2011-09-23 12:09 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 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] 15+ messages in thread
* [PATCH v6 1/5] Introduce git-checkout.sh
2011-09-23 12:09 [PATCH v6 0/5] build upstream qemu and seabios by default Stefano Stabellini
@ 2011-09-23 12:11 ` stefano.stabellini
2011-09-28 15:58 ` Ian Jackson
2011-09-23 12:11 ` [PATCH v6 2/5] Rename ioemu-dir as qemu-xen-traditional-dir stefano.stabellini
` (4 subsequent siblings)
5 siblings, 1 reply; 15+ messages in thread
From: stefano.stabellini @ 2011-09-23 12:11 UTC (permalink / raw)
To: xen-devel
Cc: Ian.Campbell, Ian.Jackson, Stefano Stabellini, keir, 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,21 @@
+#!/bin/sh
+
+TREE=$1
+TAG=$2
+DIR=$3
+
+
+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] 15+ messages in thread
* [PATCH v6 2/5] Rename ioemu-dir as qemu-xen-traditional-dir
2011-09-23 12:09 [PATCH v6 0/5] build upstream qemu and seabios by default Stefano Stabellini
2011-09-23 12:11 ` [PATCH v6 1/5] Introduce git-checkout.sh stefano.stabellini
@ 2011-09-23 12:11 ` stefano.stabellini
2011-09-28 15:58 ` Ian Jackson
2011-09-23 12:11 ` [PATCH v6 3/5] Clone and build upstream Qemu by default stefano.stabellini
` (3 subsequent siblings)
5 siblings, 1 reply; 15+ messages in thread
From: stefano.stabellini @ 2011-09-23 12:11 UTC (permalink / raw)
To: xen-devel
Cc: Ian.Campbell, Ian.Jackson, Stefano Stabellini, keir, 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] 15+ messages in thread
* [PATCH v6 3/5] Clone and build upstream Qemu by default
2011-09-23 12:09 [PATCH v6 0/5] build upstream qemu and seabios by default Stefano Stabellini
2011-09-23 12:11 ` [PATCH v6 1/5] Introduce git-checkout.sh stefano.stabellini
2011-09-23 12:11 ` [PATCH v6 2/5] Rename ioemu-dir as qemu-xen-traditional-dir stefano.stabellini
@ 2011-09-23 12:11 ` stefano.stabellini
2011-09-28 16:00 ` Ian Jackson
2011-09-23 12:11 ` [PATCH v6 4/5] Clone and build Seabios " stefano.stabellini
` (2 subsequent siblings)
5 siblings, 1 reply; 15+ messages in thread
From: stefano.stabellini @ 2011-09-23 12:11 UTC (permalink / raw)
To: xen-devel
Cc: Ian.Campbell, Ian.Jackson, Stefano Stabellini, keir, 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] 15+ messages in thread
* [PATCH v6 4/5] Clone and build Seabios by default
2011-09-23 12:09 [PATCH v6 0/5] build upstream qemu and seabios by default Stefano Stabellini
` (2 preceding siblings ...)
2011-09-23 12:11 ` [PATCH v6 3/5] Clone and build upstream Qemu by default stefano.stabellini
@ 2011-09-23 12:11 ` stefano.stabellini
2011-09-28 16:01 ` Ian Jackson
2011-09-23 12:11 ` [PATCH v6 5/5] libxl: use new qemu at the location where xen-unstable installs it stefano.stabellini
2011-09-26 16:29 ` [PATCH v6 0/5] build upstream qemu and seabios by default Keir Fraser
5 siblings, 1 reply; 15+ messages in thread
From: stefano.stabellini @ 2011-09-23 12:11 UTC (permalink / raw)
To: xen-devel
Cc: Ian.Campbell, Ian.Jackson, Stefano Stabellini, keir, 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] 15+ messages in thread
* [PATCH v6 5/5] libxl: use new qemu at the location where xen-unstable installs it
2011-09-23 12:09 [PATCH v6 0/5] build upstream qemu and seabios by default Stefano Stabellini
` (3 preceding siblings ...)
2011-09-23 12:11 ` [PATCH v6 4/5] Clone and build Seabios " stefano.stabellini
@ 2011-09-23 12:11 ` stefano.stabellini
2011-09-26 16:29 ` [PATCH v6 0/5] build upstream qemu and seabios by default Keir Fraser
5 siblings, 0 replies; 15+ messages in thread
From: stefano.stabellini @ 2011-09-23 12:11 UTC (permalink / raw)
To: xen-devel
Cc: Ian.Campbell, Ian.Jackson, keir, 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] 15+ messages in thread
* Re: [PATCH v6 0/5] build upstream qemu and seabios by default
2011-09-23 12:09 [PATCH v6 0/5] build upstream qemu and seabios by default Stefano Stabellini
` (4 preceding siblings ...)
2011-09-23 12:11 ` [PATCH v6 5/5] libxl: use new qemu at the location where xen-unstable installs it stefano.stabellini
@ 2011-09-26 16:29 ` Keir Fraser
2011-09-26 16:49 ` Ian Jackson
5 siblings, 1 reply; 15+ messages in thread
From: Keir Fraser @ 2011-09-26 16:29 UTC (permalink / raw)
To: Stefano Stabellini, xen-devel; +Cc: Ian Campbell, Ian Jackson
On 23/09/2011 05:09, "Stefano Stabellini" <Stefano.Stabellini@eu.citrix.com>
wrote:
> Hi all,
> this is the sixth version of the patch series to introduce upstream qemu
> and seabios in the xen-unstable build system.
>
I'm happy with this by the way. Do you want me to check it in again? Perhaps
better to give it a run through the automated tests first, and then have
IanJ push it on success?
-- Keir
> 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] 15+ messages in thread
* Re: [PATCH v6 0/5] build upstream qemu and seabios by default
2011-09-26 16:29 ` [PATCH v6 0/5] build upstream qemu and seabios by default Keir Fraser
@ 2011-09-26 16:49 ` Ian Jackson
0 siblings, 0 replies; 15+ messages in thread
From: Ian Jackson @ 2011-09-26 16:49 UTC (permalink / raw)
To: Keir Fraser; +Cc: Ian Campbell, xen-devel, Stefano Stabellini
Keir Fraser writes ("[Xen-devel] Re: [PATCH v6 0/5] build upstream qemu and seabios by default"):
> I'm happy with this by the way. Do you want me to check it in again? Perhaps
> better to give it a run through the automated tests first, and then have
> IanJ push it on success?
Noted, thanks for the ack. I will review and test this whole series
and apply it if I'm happy.
Ian.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v6 1/5] Introduce git-checkout.sh
2011-09-23 12:11 ` [PATCH v6 1/5] Introduce git-checkout.sh stefano.stabellini
@ 2011-09-28 15:58 ` Ian Jackson
2011-09-29 11:10 ` Stefano Stabellini
0 siblings, 1 reply; 15+ messages in thread
From: Ian Jackson @ 2011-09-28 15:58 UTC (permalink / raw)
To: stefano.stabellini; +Cc: Ian.Campbell, xen-devel, keir
stefano.stabellini@eu.citrix.com writes ("[Xen-devel] [PATCH v6 1/5] Introduce git-checkout.sh"):
> Introduce a script to perform git checkout on an external git tree; use
> git-checkout.sh in ioemu-dir-find.
...
> +#!/bin/sh
> +
> +TREE=$1
> +TAG=$2
> +DIR=$3
Missing
- set -e
- argument count check
> +if test \! -d $DIR-remote; then
> + rm -rf $DIR-remote $DIR-remote.tmp;
Spurious semicolons.
> distclean: subdirs-distclean
> - rm -rf ioemu-dir ioemu-remote
> + rm -rf ioemu-dir ioemu-dir-remote
Would it be too much to ask you not to rename this directory ?
Ian.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v6 2/5] Rename ioemu-dir as qemu-xen-traditional-dir
2011-09-23 12:11 ` [PATCH v6 2/5] Rename ioemu-dir as qemu-xen-traditional-dir stefano.stabellini
@ 2011-09-28 15:58 ` Ian Jackson
2011-09-28 16:00 ` Ian Campbell
0 siblings, 1 reply; 15+ messages in thread
From: Ian Jackson @ 2011-09-28 15:58 UTC (permalink / raw)
To: stefano.stabellini; +Cc: Ian.Campbell, xen-devel, keir
stefano.stabellini@eu.citrix.com writes ("[Xen-devel] [PATCH v6 2/5] Rename ioemu-dir as qemu-xen-traditional-dir"):
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Why ? I'm generally not in favour of renaming things in build trees
unless essential. Particularly, this whole machinery is very fragile
and this will break existing working trees.
Ian.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v6 2/5] Rename ioemu-dir as qemu-xen-traditional-dir
2011-09-28 15:58 ` Ian Jackson
@ 2011-09-28 16:00 ` Ian Campbell
0 siblings, 0 replies; 15+ messages in thread
From: Ian Campbell @ 2011-09-28 16:00 UTC (permalink / raw)
To: Ian Jackson; +Cc: xen-devel, keir, Stefano Stabellini
On Wed, 2011-09-28 at 16:58 +0100, Ian Jackson wrote:
> stefano.stabellini@eu.citrix.com writes ("[Xen-devel] [PATCH v6 2/5] Rename ioemu-dir as qemu-xen-traditional-dir"):
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
>
> Why ? I'm generally not in favour of renaming things in build trees
> unless essential. Particularly, this whole machinery is very fragile
> and this will break existing working trees.
I suggested this just to be consistent in our terminology throughout the
guest config files, libxl, the build etc. It's not a big deal though.
Ian.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v6 3/5] Clone and build upstream Qemu by default
2011-09-23 12:11 ` [PATCH v6 3/5] Clone and build upstream Qemu by default stefano.stabellini
@ 2011-09-28 16:00 ` Ian Jackson
0 siblings, 0 replies; 15+ messages in thread
From: Ian Jackson @ 2011-09-28 16:00 UTC (permalink / raw)
To: stefano.stabellini; +Cc: Ian.Campbell, keir, xen-devel, Ian.Jackson
stefano.stabellini@eu.citrix.com writes ("[Xen-devel] [PATCH v6 3/5] Clone and build upstream Qemu by default"):
> +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)
This looks OK in principle although of course I would like to test it.
Ian.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v6 4/5] Clone and build Seabios by default
2011-09-23 12:11 ` [PATCH v6 4/5] Clone and build Seabios " stefano.stabellini
@ 2011-09-28 16:01 ` Ian Jackson
0 siblings, 0 replies; 15+ messages in thread
From: Ian Jackson @ 2011-09-28 16:01 UTC (permalink / raw)
To: stefano.stabellini; +Cc: Ian.Campbell, xen-devel, keir
stefano.stabellini@eu.citrix.com writes ("[Xen-devel] [PATCH v6 4/5] Clone and build Seabios by default"):
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Likewise, this one is OK I think provided we fix up my comments on
earlier patches, and it tests OK (which I will do).
Ian.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v6 1/5] Introduce git-checkout.sh
2011-09-28 15:58 ` Ian Jackson
@ 2011-09-29 11:10 ` Stefano Stabellini
2011-09-29 13:57 ` Ian Jackson
0 siblings, 1 reply; 15+ messages in thread
From: Stefano Stabellini @ 2011-09-29 11:10 UTC (permalink / raw)
To: Ian Jackson; +Cc: Ian Campbell, xen-devel, keir, Stefano Stabellini
On Wed, 28 Sep 2011, Ian Jackson wrote:
> stefano.stabellini@eu.citrix.com writes ("[Xen-devel] [PATCH v6 1/5] Introduce git-checkout.sh"):
> > Introduce a script to perform git checkout on an external git tree; use
> > git-checkout.sh in ioemu-dir-find.
> ...
> > +#!/bin/sh
> > +
> > +TREE=$1
> > +TAG=$2
> > +DIR=$3
>
> Missing
> - set -e
> - argument count check
Yes, I'll add those.
> > +if test \! -d $DIR-remote; then
> > + rm -rf $DIR-remote $DIR-remote.tmp;
>
> Spurious semicolons.
OK.
> > distclean: subdirs-distclean
> > - rm -rf ioemu-dir ioemu-remote
> > + rm -rf ioemu-dir ioemu-dir-remote
>
> Would it be too much to ask you not to rename this directory ?
Honestly I think that keeping the old name is bad: having two qemu trees
cloned by xen-unstable is already confusing enough for both to users and
developers, the very least we can do is naming the two trees meaningfully.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v6 1/5] Introduce git-checkout.sh
2011-09-29 11:10 ` Stefano Stabellini
@ 2011-09-29 13:57 ` Ian Jackson
0 siblings, 0 replies; 15+ messages in thread
From: Ian Jackson @ 2011-09-29 13:57 UTC (permalink / raw)
To: Stefano Stabellini; +Cc: Ian, Campbell, xen-devel, keir
Stefano Stabellini writes ("Re: [Xen-devel] [PATCH v6 1/5] Introduce git-checkout.sh"):
> On Wed, 28 Sep 2011, Ian Jackson wrote:
> > Would it be too much to ask you not to rename this directory ?
>
> Honestly I think that keeping the old name is bad: having two qemu trees
> cloned by xen-unstable is already confusing enough for both to users and
> developers, the very least we can do is naming the two trees meaningfully.
I guess I'm in a minority on this one.
Ian.
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2011-09-29 13:57 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-09-23 12:09 [PATCH v6 0/5] build upstream qemu and seabios by default Stefano Stabellini
2011-09-23 12:11 ` [PATCH v6 1/5] Introduce git-checkout.sh stefano.stabellini
2011-09-28 15:58 ` Ian Jackson
2011-09-29 11:10 ` Stefano Stabellini
2011-09-29 13:57 ` Ian Jackson
2011-09-23 12:11 ` [PATCH v6 2/5] Rename ioemu-dir as qemu-xen-traditional-dir stefano.stabellini
2011-09-28 15:58 ` Ian Jackson
2011-09-28 16:00 ` Ian Campbell
2011-09-23 12:11 ` [PATCH v6 3/5] Clone and build upstream Qemu by default stefano.stabellini
2011-09-28 16:00 ` Ian Jackson
2011-09-23 12:11 ` [PATCH v6 4/5] Clone and build Seabios " stefano.stabellini
2011-09-28 16:01 ` Ian Jackson
2011-09-23 12:11 ` [PATCH v6 5/5] libxl: use new qemu at the location where xen-unstable installs it stefano.stabellini
2011-09-26 16:29 ` [PATCH v6 0/5] build upstream qemu and seabios by default Keir Fraser
2011-09-26 16:49 ` Ian Jackson
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.