<stefano.stabellini@eu.citrix.com>
2011-Sep-08 17:47 UTC
[Xen-devel] [PATCH v2 1/4] Move the ioemu-dir-find shell script to an external file
Add support for configuring upstream qemu and rename ioemu-remote ioemu-dir-remote. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> 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) \ @@ -78,41 +78,14 @@ IOEMU_CONFIGURE_CROSS ?= --cpu=$(XEN_TAR --interp-prefix=$(CROSS_SYS_ROOT) endif -QEMU_ROOT := $(shell if [ -d "$(CONFIG_QEMU)" ]; then echo "$(CONFIG_QEMU)"; else echo .; fi) -ifneq ($(QEMU_ROOT),.) -export QEMU_ROOT -endif - ioemu-dir-find: - set -ex; \ - 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; \ - fi - set -e; \ - $(buildmakevars2shellvars); \ - cd ioemu-dir; \ - $(QEMU_ROOT)/xen-setup $(IOEMU_CONFIGURE_CROSS) - + $(XEN_ROOT)/tools/qemu-checkout.sh $(CONFIG_QEMU) $(QEMU_TAG) ioemu-dir + .PHONY: ioemu-dir-force-update 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 diff --git a/tools/qemu-checkout.sh b/tools/qemu-checkout.sh new file mode 100755 --- /dev/null +++ b/tools/qemu-checkout.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +TREE=$1 +TAG=$2 +DIR=$3 + + +if test -d $TREE; then + mkdir -p $DIR + ROOT=$TREE +else + 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 + ROOT=. +fi + +set -e +cd $DIR +if test -f $ROOT/xen-setup; then + $ROOT/xen-setup $IOEMU_CONFIGURE_CROSS +else + cd $ROOT + ./configure --enable-xen --target-list=i386-softmmu \ + --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=/usr/lib/xen/bin \ + --disable-kvm \ + $IOEMU_CONFIGURE_CROSS +fi _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
<stefano.stabellini@eu.citrix.com>
2011-Sep-08 17:47 UTC
[Xen-devel] [PATCH v2 2/4] Rename ioemu-dir as qemu-xen-traditional-dir
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> diff -r ecafd034af0e Makefile --- a/Makefile Thu Sep 08 16:52:45 2011 +0000 +++ b/Makefile Thu Sep 08 16:59:19 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 ecafd034af0e tools/Makefile --- a/tools/Makefile Thu Sep 08 16:52:45 2011 +0000 +++ b/tools/Makefile Thu Sep 08 16:59:19 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) \ @@ -78,24 +78,24 @@ IOEMU_CONFIGURE_CROSS ?= --cpu=$(XEN_TAR --interp-prefix=$(CROSS_SYS_ROOT) endif -ioemu-dir-find: - $(XEN_ROOT)/tools/qemu-checkout.sh $(CONFIG_QEMU) $(QEMU_TAG) ioemu-dir +qemu-xen-traditional-dir-find: + $(XEN_ROOT)/tools/qemu-checkout.sh $(CONFIG_QEMU) $(QEMU_TAG) qemu-xen-traditional-dir -.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 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
<stefano.stabellini@eu.citrix.com>
2011-Sep-08 17:47 UTC
[Xen-devel] [PATCH v2 3/4] Clone and build upstream Qemu by default
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> diff -r 80ba2c7abbd2 Config.mk --- a/Config.mk Thu Sep 08 16:59:19 2011 +0000 +++ b/Config.mk Thu Sep 08 17:18:48 2011 +0000 @@ -192,6 +192,10 @@ else QEMU_REMOTE=git://xenbits.xensource.com/qemu-xen-unstable.git endif +# Only available through the git protocol at the moment +QEMU_UPSTREAM_URL ?= git://xenbits.xen.org/people/sstabellini/qemu-dm.git +QEMU_UPSTREAM_TAG ?= origin/xen-stable-0.15 + # 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 80ba2c7abbd2 Makefile --- a/Makefile Thu Sep 08 16:59:19 2011 +0000 +++ b/Makefile Thu Sep 08 17:18:48 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 80ba2c7abbd2 tools/Makefile --- a/tools/Makefile Thu Sep 08 16:59:19 2011 +0000 +++ b/tools/Makefile Thu Sep 08 17:18:48 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) \ @@ -81,6 +83,9 @@ endif qemu-xen-traditional-dir-find: $(XEN_ROOT)/tools/qemu-checkout.sh $(CONFIG_QEMU) $(QEMU_TAG) qemu-xen-traditional-dir +qemu-xen-dir-find: + $(XEN_ROOT)/tools/qemu-checkout.sh $(QEMU_UPSTREAM_URL) $(QEMU_UPSTREAM_TAG) qemu-xen-dir + .PHONY: qemu-xen-traditional-dir-force-update qemu-xen-traditional-dir-force-update: set -ex; \ @@ -98,6 +103,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 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
<stefano.stabellini@eu.citrix.com>
2011-Sep-08 17:47 UTC
[Xen-devel] [PATCH v2 4/4] Clone and build Seabios by default
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> diff -r ef27b472d4f3 Config.mk --- a/Config.mk Thu Sep 08 17:19:12 2011 +0000 +++ b/Config.mk Thu Sep 08 17:29:50 2011 +0000 @@ -195,6 +195,8 @@ endif # Only available through the git protocol at the moment QEMU_UPSTREAM_URL ?= git://xenbits.xen.org/people/sstabellini/qemu-dm.git QEMU_UPSTREAM_TAG ?= origin/xen-stable-0.15 +SEABIOS_UPSTREAM_URL=git://git.qemu.org/seabios.git +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. @@ -208,15 +210,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 ef27b472d4f3 tools/firmware/Makefile --- a/tools/firmware/Makefile Thu Sep 08 17:19:12 2011 +0000 +++ b/tools/firmware/Makefile Thu Sep 08 17:29:50 2011 +0000 @@ -4,15 +4,35 @@ include $(XEN_ROOT)/tools/Rules.mk # hvmloader is a 32-bit protected mode binary. TARGET := hvmloader/hvmloader INST_DIR := $(DESTDIR)$(XENFIRMWAREDIR) +SEABIOS_DIR := seabios-dir SUBDIRS :+SUBDIRS += $(SEABIOS_DIR) SUBDIRS += rombios SUBDIRS += vgabios SUBDIRS += etherboot SUBDIRS += hvmloader +$(SEABIOS_DIR): + set -ex; \ + if [ ! -d seabios-remote ]; then \ + rm -rf seabios-remote seabios-remote.tmp; \ + mkdir seabios-remote.tmp; rmdir seabios-remote.tmp; \ + $(GIT) clone $(SEABIOS_UPSTREAM_URL) seabios-remote.tmp; \ + if [ "$(SEABIOS_UPSTREAM_TAG)" ]; then \ + cd seabios-remote.tmp; \ + $(GIT) branch -D dummy >/dev/null 2>&1 ||:; \ + $(GIT) checkout -b dummy $(SEABIOS_UPSTREAM_TAG); \ + cd ..; \ + fi; \ + mv seabios-remote.tmp seabios-remote; \ + fi; \ + rm -f seabios-dir; \ + ln -sf seabios-remote 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 +55,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-remote diff -r ef27b472d4f3 tools/firmware/hvmloader/Makefile --- a/tools/firmware/hvmloader/Makefile Thu Sep 08 17:19:12 2011 +0000 +++ b/tools/firmware/hvmloader/Makefile Thu Sep 08 17:29:50 2011 +0000 @@ -47,7 +47,7 @@ endif ifneq ($(SEABIOS_DIR),) OBJS += seabios.o CFLAGS += -DENABLE_SEABIOS -SEABIOS_ROM := $(SEABIOS_DIR)/out/bios.bin +SEABIOS_ROM := ../$(SEABIOS_DIR)/out/bios.bin endif STDVGA_ROM := ../vgabios/VGABIOS-lgpl-latest.bin diff -r ef27b472d4f3 tools/firmware/seabios-config --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tools/firmware/seabios-config Thu Sep 08 17:29:50 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 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Campbell
2011-Sep-08 17:56 UTC
Re: [Xen-devel] [PATCH v2 3/4] Clone and build upstream Qemu by default
On Thu, 2011-09-08 at 13:47 -0400, stefano.stabellini@eu.citrix.com wrote:> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> > > diff -r 80ba2c7abbd2 Config.mk > --- a/Config.mk Thu Sep 08 16:59:19 2011 +0000 > +++ b/Config.mk Thu Sep 08 17:18:48 2011 +0000 > @@ -192,6 +192,10 @@ else > QEMU_REMOTE=git://xenbits.xensource.com/qemu-xen-unstable.git > endif > > +# Only available through the git protocol at the moment > +QEMU_UPSTREAM_URL ?= git://xenbits.xen.org/people/sstabellini/qemu-dm.gitJust a nit, but we should arrange to have a "proper" tree rather than a /people/... one for the default tree. e.g. to allow automated testing to automatically push etc.> +QEMU_UPSTREAM_TAG ?= origin/xen-stable-0.15 > + > # 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 80ba2c7abbd2 Makefile > --- a/Makefile Thu Sep 08 16:59:19 2011 +0000 > +++ b/Makefile Thu Sep 08 17:18:48 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 80ba2c7abbd2 tools/Makefile > --- a/tools/Makefile Thu Sep 08 16:59:19 2011 +0000 > +++ b/tools/Makefile Thu Sep 08 17:18:48 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) \ > @@ -81,6 +83,9 @@ endif > qemu-xen-traditional-dir-find: > $(XEN_ROOT)/tools/qemu-checkout.sh $(CONFIG_QEMU) $(QEMU_TAG) qemu-xen-traditional-dir > > +qemu-xen-dir-find: > + $(XEN_ROOT)/tools/qemu-checkout.sh $(QEMU_UPSTREAM_URL) $(QEMU_UPSTREAM_TAG) qemu-xen-dir > + > .PHONY: qemu-xen-traditional-dir-force-update > qemu-xen-traditional-dir-force-update: > set -ex; \ > @@ -98,6 +103,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 > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Campbell
2011-Sep-08 18:00 UTC
Re: [Xen-devel] [PATCH v2 4/4] Clone and build Seabios by default
On Thu, 2011-09-08 at 13:47 -0400, stefano.stabellini@eu.citrix.com wrote:> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> > > diff -r ef27b472d4f3 Config.mk > --- a/Config.mk Thu Sep 08 17:19:12 2011 +0000 > +++ b/Config.mk Thu Sep 08 17:29:50 2011 +0000 > @@ -195,6 +195,8 @@ endif > # Only available through the git protocol at the moment > QEMU_UPSTREAM_URL ?= git://xenbits.xen.org/people/sstabellini/qemu-dm.git > QEMU_UPSTREAM_TAG ?= origin/xen-stable-0.15 > +SEABIOS_UPSTREAM_URL=git://git.qemu.org/seabios.git > +SEABIOS_UPSTREAM_TAG ?= 7fc039e9c262b4199fab497f3e12f4e425c37560I guess we should have a default tree on xenbits for this? [...]> +$(SEABIOS_DIR): > + set -ex; \ > + if [ ! -d seabios-remote ]; then \ > + rm -rf seabios-remote seabios-remote.tmp; \ > + mkdir seabios-remote.tmp; rmdir seabios-remote.tmp; \ > + $(GIT) clone $(SEABIOS_UPSTREAM_URL) seabios-remote.tmp; \ > + if [ "$(SEABIOS_UPSTREAM_TAG)" ]; then \ > + cd seabios-remote.tmp; \ > + $(GIT) branch -D dummy >/dev/null 2>&1 ||:; \ > + $(GIT) checkout -b dummy $(SEABIOS_UPSTREAM_TAG); \ > + cd ..; \ > + fi; \ > + mv seabios-remote.tmp seabios-remote; \ > + fi; \ > + rm -f seabios-dir; \ > + ln -sf seabios-remote seabios-dir; \ > + cp seabios-config seabios-dir/.config;This looks a lot like the qemu stuff which you only just moved into its own script. Can we not share it?> diff -r ef27b472d4f3 tools/firmware/hvmloader/Makefile > --- a/tools/firmware/hvmloader/Makefile Thu Sep 08 17:19:12 2011 +0000 > +++ b/tools/firmware/hvmloader/Makefile Thu Sep 08 17:29:50 2011 +0000 > @@ -47,7 +47,7 @@ endif > ifneq ($(SEABIOS_DIR),) > OBJS += seabios.o > CFLAGS += -DENABLE_SEABIOS > -SEABIOS_ROM := $(SEABIOS_DIR)/out/bios.bin > +SEABIOS_ROM := ../$(SEABIOS_DIR)/out/bios.bin > endif > > STDVGA_ROM := ../vgabios/VGABIOS-lgpl-latest.bin_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Stefano Stabellini
2011-Sep-09 10:18 UTC
Re: [Xen-devel] [PATCH v2 3/4] Clone and build upstream Qemu by default
On Thu, 8 Sep 2011, Ian Campbell wrote:> On Thu, 2011-09-08 at 13:47 -0400, stefano.stabellini@eu.citrix.com > wrote: > > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> > > > > diff -r 80ba2c7abbd2 Config.mk > > --- a/Config.mk Thu Sep 08 16:59:19 2011 +0000 > > +++ b/Config.mk Thu Sep 08 17:18:48 2011 +0000 > > @@ -192,6 +192,10 @@ else > > QEMU_REMOTE=git://xenbits.xensource.com/qemu-xen-unstable.git > > endif > > > > +# Only available through the git protocol at the moment > > +QEMU_UPSTREAM_URL ?= git://xenbits.xen.org/people/sstabellini/qemu-dm.git > > Just a nit, but we should arrange to have a "proper" tree rather than > a /people/... one for the default tree. e.g. to allow automated testing > to automatically push etc.Like Linus said, thanks to distributed version control systems, it doesn''t actually matter where the repository is anymore :-) _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Stefano Stabellini
2011-Sep-09 10:19 UTC
Re: [Xen-devel] [PATCH v2 4/4] Clone and build Seabios by default
On Thu, 8 Sep 2011, Ian Campbell wrote:> On Thu, 2011-09-08 at 13:47 -0400, stefano.stabellini@eu.citrix.com > wrote: > > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> > > > > diff -r ef27b472d4f3 Config.mk > > --- a/Config.mk Thu Sep 08 17:19:12 2011 +0000 > > +++ b/Config.mk Thu Sep 08 17:29:50 2011 +0000 > > @@ -195,6 +195,8 @@ endif > > # Only available through the git protocol at the moment > > QEMU_UPSTREAM_URL ?= git://xenbits.xen.org/people/sstabellini/qemu-dm.git > > QEMU_UPSTREAM_TAG ?= origin/xen-stable-0.15 > > +SEABIOS_UPSTREAM_URL=git://git.qemu.org/seabios.git > > +SEABIOS_UPSTREAM_TAG ?= 7fc039e9c262b4199fab497f3e12f4e425c37560 > > I guess we should have a default tree on xenbits for this?I am not sure it is a good idea, after all we don''t plan to fork it, right? It is the same thing as with ipxe: we just use the official repo.> [...] > > +$(SEABIOS_DIR): > > + set -ex; \ > > + if [ ! -d seabios-remote ]; then \ > > + rm -rf seabios-remote seabios-remote.tmp; \ > > + mkdir seabios-remote.tmp; rmdir seabios-remote.tmp; \ > > + $(GIT) clone $(SEABIOS_UPSTREAM_URL) seabios-remote.tmp; \ > > + if [ "$(SEABIOS_UPSTREAM_TAG)" ]; then \ > > + cd seabios-remote.tmp; \ > > + $(GIT) branch -D dummy >/dev/null 2>&1 ||:; \ > > + $(GIT) checkout -b dummy $(SEABIOS_UPSTREAM_TAG); \ > > + cd ..; \ > > + fi; \ > > + mv seabios-remote.tmp seabios-remote; \ > > + fi; \ > > + rm -f seabios-dir; \ > > + ln -sf seabios-remote seabios-dir; \ > > + cp seabios-config seabios-dir/.config; > > This looks a lot like the qemu stuff which you only just moved into its > own script. Can we not share it?Yep, I''ll do that. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
George Dunlap
2011-Sep-09 10:36 UTC
Re: [Xen-devel] [PATCH v2 4/4] Clone and build Seabios by default
On Fri, Sep 9, 2011 at 11:19 AM, Stefano Stabellini <stefano.stabellini@eu.citrix.com> wrote:> On Thu, 8 Sep 2011, Ian Campbell wrote: >> On Thu, 2011-09-08 at 13:47 -0400, stefano.stabellini@eu.citrix.com >> wrote: >> > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> >> > >> > diff -r ef27b472d4f3 Config.mk >> > --- a/Config.mk Thu Sep 08 17:19:12 2011 +0000 >> > +++ b/Config.mk Thu Sep 08 17:29:50 2011 +0000 >> > @@ -195,6 +195,8 @@ endif >> > # Only available through the git protocol at the moment >> > QEMU_UPSTREAM_URL ?= git://xenbits.xen.org/people/sstabellini/qemu-dm.git >> > QEMU_UPSTREAM_TAG ?= origin/xen-stable-0.15 >> > +SEABIOS_UPSTREAM_URL=git://git.qemu.org/seabios.git >> > +SEABIOS_UPSTREAM_TAG ?= 7fc039e9c262b4199fab497f3e12f4e425c37560 >> >> I guess we should have a default tree on xenbits for this? > > I am not sure it is a good idea, after all we don''t plan to fork it, > right? > It is the same thing as with ipxe: we just use the official repo.But that means that if the sites hosting ipxe or qemu go down, people can''t build Xen. Keeping a copy on xen.org removes external dependencies we don''t have any control over.> > > >> [...] >> > +$(SEABIOS_DIR): >> > + set -ex; \ >> > + if [ ! -d seabios-remote ]; then \ >> > + rm -rf seabios-remote seabios-remote.tmp; \ >> > + mkdir seabios-remote.tmp; rmdir seabios-remote.tmp; \ >> > + $(GIT) clone $(SEABIOS_UPSTREAM_URL) seabios-remote.tmp; \ >> > + if [ "$(SEABIOS_UPSTREAM_TAG)" ]; then \ >> > + cd seabios-remote.tmp; \ >> > + $(GIT) branch -D dummy >/dev/null 2>&1 ||:; \ >> > + $(GIT) checkout -b dummy $(SEABIOS_UPSTREAM_TAG); \ >> > + cd ..; \ >> > + fi; \ >> > + mv seabios-remote.tmp seabios-remote; \ >> > + fi; \ >> > + rm -f seabios-dir; \ >> > + ln -sf seabios-remote seabios-dir; \ >> > + cp seabios-config seabios-dir/.config; >> >> This looks a lot like the qemu stuff which you only just moved into its >> own script. Can we not share it? > > Yep, I''ll do that. > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Stefano Stabellini
2011-Sep-09 10:46 UTC
Re: [Xen-devel] [PATCH v2 4/4] Clone and build Seabios by default
On Fri, 9 Sep 2011, George Dunlap wrote:> On Fri, Sep 9, 2011 at 11:19 AM, Stefano Stabellini > <stefano.stabellini@eu.citrix.com> wrote: > > On Thu, 8 Sep 2011, Ian Campbell wrote: > >> On Thu, 2011-09-08 at 13:47 -0400, stefano.stabellini@eu.citrix.com > >> wrote: > >> > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> > >> > > >> > diff -r ef27b472d4f3 Config.mk > >> > --- a/Config.mk Thu Sep 08 17:19:12 2011 +0000 > >> > +++ b/Config.mk Thu Sep 08 17:29:50 2011 +0000 > >> > @@ -195,6 +195,8 @@ endif > >> > # Only available through the git protocol at the moment > >> > QEMU_UPSTREAM_URL ?= git://xenbits.xen.org/people/sstabellini/qemu-dm.git > >> > QEMU_UPSTREAM_TAG ?= origin/xen-stable-0.15 > >> > +SEABIOS_UPSTREAM_URL=git://git.qemu.org/seabios.git > >> > +SEABIOS_UPSTREAM_TAG ?= 7fc039e9c262b4199fab497f3e12f4e425c37560 > >> > >> I guess we should have a default tree on xenbits for this? > > > > I am not sure it is a good idea, after all we don''t plan to fork it, > > right? > > It is the same thing as with ipxe: we just use the official repo. > > But that means that if the sites hosting ipxe or qemu go down, people > can''t build Xen. Keeping a copy on xen.org removes external > dependencies we don''t have any control over.AKA single point of failure? --8323329-121865035-1315565214=:12963 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --8323329-121865035-1315565214=:12963--
Keir Fraser
2011-Sep-09 11:23 UTC
Re: [Xen-devel] [PATCH v2 4/4] Clone and build Seabios by default
On 09/09/2011 11:46, "Stefano Stabellini" <stefano.stabellini@eu.citrix.com> wrote:>> But that means that if the sites hosting ipxe or qemu go down, people >> can''t build Xen. Keeping a copy on xen.org removes external >> dependencies we don''t have any control over. > > AKA single point of failure?Better than multiple independent points of failure. However, we already depend on the upstream ipxe site. Changing over to all downloads from a single site under our control would be a separate issue and patch, imo. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Campbell
2011-Sep-09 13:59 UTC
Re: [Xen-devel] [PATCH v2 3/4] Clone and build upstream Qemu by default
On Fri, 2011-09-09 at 06:18 -0400, Stefano Stabellini wrote:> On Thu, 8 Sep 2011, Ian Campbell wrote: > > On Thu, 2011-09-08 at 13:47 -0400, stefano.stabellini@eu.citrix.com > > wrote: > > > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> > > > > > > diff -r 80ba2c7abbd2 Config.mk > > > --- a/Config.mk Thu Sep 08 16:59:19 2011 +0000 > > > +++ b/Config.mk Thu Sep 08 17:18:48 2011 +0000 > > > @@ -192,6 +192,10 @@ else > > > QEMU_REMOTE=git://xenbits.xensource.com/qemu-xen-unstable.git > > > endif > > > > > > +# Only available through the git protocol at the moment > > > +QEMU_UPSTREAM_URL ?= git://xenbits.xen.org/people/sstabellini/qemu-dm.git > > > > Just a nit, but we should arrange to have a "proper" tree rather than > > a /people/... one for the default tree. e.g. to allow automated testing > > to automatically push etc. > > Like Linus said, thanks to distributed version control systems, it > doesn''t actually matter where the repository is anymore :-)In technical terms perhaps not but for practical reasons we want the default tree which we point people to live next to all the other default trees, otherwise they won''t be able to reliably find it the sea of suchs trees which we will eventually have under /people/. Linus'' tree being just one of a thousand trees under git.kernel.org was always a pain IMHO. We also want to test and automatically push a tested branch like we do for the other trees and we really don''t want to give the test system access to your (or anyone else''s) xenbits account. With the number of trees which we have now we should maybe consider putting each branch in a subdir: [/staging]/xen-unstable/xen.hg /qemu-xen.hg /qemu.git /seabios.git [/staging]/xen-4.2/xen.hg /... ? (staging could also go after the dir I suppose) Ian. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Campbell
2011-Sep-09 14:13 UTC
Re: [Xen-devel] [PATCH v2 4/4] Clone and build Seabios by default
On Fri, 2011-09-09 at 06:19 -0400, Stefano Stabellini wrote:> On Thu, 8 Sep 2011, Ian Campbell wrote: > > On Thu, 2011-09-08 at 13:47 -0400, stefano.stabellini@eu.citrix.com > > wrote: > > > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> > > > > > > diff -r ef27b472d4f3 Config.mk > > > --- a/Config.mk Thu Sep 08 17:19:12 2011 +0000 > > > +++ b/Config.mk Thu Sep 08 17:29:50 2011 +0000 > > > @@ -195,6 +195,8 @@ endif > > > # Only available through the git protocol at the moment > > > QEMU_UPSTREAM_URL ?= git://xenbits.xen.org/people/sstabellini/qemu-dm.git > > > QEMU_UPSTREAM_TAG ?= origin/xen-stable-0.15 > > > +SEABIOS_UPSTREAM_URL=git://git.qemu.org/seabios.git > > > +SEABIOS_UPSTREAM_TAG ?= 7fc039e9c262b4199fab497f3e12f4e425c37560 > > > > I guess we should have a default tree on xenbits for this? > > I am not sure it is a good idea, after all we don''t plan to fork it, > right?Planning not to fork is not the same as not forking. For example, imagine a bug (or security issue) is discovered in seabios and we want to backport it to our (by then) xen-4.2-testing branch. Do we take all the other updates to seabios trunk into our stable branch to get the one we want or do we ask them to push it to a branch just for us? Or do we now need to scrabble to setup trees, update the links and retest etc while trying to get an (perhaps critical) update out? Far better to just start off hosting a tree on xenbits, even if it doesn''t diverge at all.> It is the same thing as with ipxe: we just use the official repo.That''s a bad thing, for the same reasons. Ian.> > > > > [...] > > > +$(SEABIOS_DIR): > > > + set -ex; \ > > > + if [ ! -d seabios-remote ]; then \ > > > + rm -rf seabios-remote seabios-remote.tmp; \ > > > + mkdir seabios-remote.tmp; rmdir seabios-remote.tmp; \ > > > + $(GIT) clone $(SEABIOS_UPSTREAM_URL) seabios-remote.tmp; \ > > > + if [ "$(SEABIOS_UPSTREAM_TAG)" ]; then \ > > > + cd seabios-remote.tmp; \ > > > + $(GIT) branch -D dummy >/dev/null 2>&1 ||:; \ > > > + $(GIT) checkout -b dummy $(SEABIOS_UPSTREAM_TAG); \ > > > + cd ..; \ > > > + fi; \ > > > + mv seabios-remote.tmp seabios-remote; \ > > > + fi; \ > > > + rm -f seabios-dir; \ > > > + ln -sf seabios-remote seabios-dir; \ > > > + cp seabios-config seabios-dir/.config; > > > > This looks a lot like the qemu stuff which you only just moved into its > > own script. Can we not share it? > > Yep, I''ll do that. > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Campbell
2011-Sep-09 14:31 UTC
Re: [Xen-devel] [PATCH v2 3/4] Clone and build upstream Qemu by default
On Fri, 2011-09-09 at 09:59 -0400, Ian Campbell wrote:> > With the number of trees which we have now we should maybe consider > putting each branch in a subdir: > [/staging]/xen-unstable/xen.hg > /qemu-xen.hg > /qemu.git > /seabios.git > [/staging]/xen-4.2/xen.hg > /... > > ? (staging could also go after the dir I suppose)Or we could make use of git and hg''s internal branching capabilities I guess. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Stefano Stabellini
2011-Sep-09 14:32 UTC
Re: [Xen-devel] [PATCH v2 4/4] Clone and build Seabios by default
On Fri, 9 Sep 2011, Ian Campbell wrote:> On Fri, 2011-09-09 at 06:19 -0400, Stefano Stabellini wrote: > > On Thu, 8 Sep 2011, Ian Campbell wrote: > > > On Thu, 2011-09-08 at 13:47 -0400, stefano.stabellini@eu.citrix.com > > > wrote: > > > > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> > > > > > > > > diff -r ef27b472d4f3 Config.mk > > > > --- a/Config.mk Thu Sep 08 17:19:12 2011 +0000 > > > > +++ b/Config.mk Thu Sep 08 17:29:50 2011 +0000 > > > > @@ -195,6 +195,8 @@ endif > > > > # Only available through the git protocol at the moment > > > > QEMU_UPSTREAM_URL ?= git://xenbits.xen.org/people/sstabellini/qemu-dm.git > > > > QEMU_UPSTREAM_TAG ?= origin/xen-stable-0.15 > > > > +SEABIOS_UPSTREAM_URL=git://git.qemu.org/seabios.git > > > > +SEABIOS_UPSTREAM_TAG ?= 7fc039e9c262b4199fab497f3e12f4e425c37560 > > > > > > I guess we should have a default tree on xenbits for this? > > > > I am not sure it is a good idea, after all we don''t plan to fork it, > > right? > > Planning not to fork is not the same as not forking. > > For example, imagine a bug (or security issue) is discovered in seabios > and we want to backport it to our (by then) xen-4.2-testing branch. Do > we take all the other updates to seabios trunk into our stable branch to > get the one we want or do we ask them to push it to a branch just for > us? Or do we now need to scrabble to setup trees, update the links and > retest etc while trying to get an (perhaps critical) update out? Far > better to just start off hosting a tree on xenbits, even if it doesn''t > diverge at all. >Seabios already provides two stable branches: if a security issue is discovered, the Seabios guys will backport the fix to their stable branches and we just need to update the TAG (or set the TAG to 0.6.1-stable to begin with). The only problem is that no stable branches have xen support yet. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Stefano Stabellini
2011-Sep-09 16:43 UTC
Re: [Xen-devel] [PATCH v2 3/4] Clone and build upstream Qemu by default
On Fri, 9 Sep 2011, Ian Campbell wrote:> In technical terms perhaps not but for practical reasons we want the > default tree which we point people to live next to all the other default > trees, otherwise they won''t be able to reliably find it the sea of suchs > trees which we will eventually have under /people/. Linus'' tree being > just one of a thousand trees under git.kernel.org was always a pain > IMHO. > > We also want to test and automatically push a tested branch like we do > for the other trees and we really don''t want to give the test system > access to your (or anyone else''s) xenbits account. > > With the number of trees which we have now we should maybe consider > putting each branch in a subdir: > [/staging]/xen-unstable/xen.hg > /qemu-xen.hg > /qemu.git > /seabios.git > [/staging]/xen-4.2/xen.hg > /... > > ? (staging could also go after the dir I suppose)Fair enough. However it shouldn''t block these patches. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Campbell
2011-Sep-09 17:18 UTC
Re: [Xen-devel] [PATCH v2 3/4] Clone and build upstream Qemu by default
On Fri, 2011-09-09 at 12:43 -0400, Stefano Stabellini wrote:> On Fri, 9 Sep 2011, Ian Campbell wrote:> > With the number of trees which we have now we should maybe consider > > putting each branch in a subdir:[...]> > Fair enough. However it shouldn''t block these patches.Absolutely, I was just pondering ;-) Ian. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel