[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] tools: Revert seabios and upstream qemu build changes



xen.org writes ("[xen-unstable bisection] complete build-i386-oldkern"):
> branch xen-unstable
> xen branch xen-unstable
> job build-i386-oldkern
> test xen-build
> 
> Tree: linux http://hg.uk.xensource.com/linux-2.6.18-xen.hg
> Tree: xen http://hg.uk.xensource.com/xen-unstable.hg
> 
> *** Found and reproduced problem changeset ***
> 
>   Bug is in tree:  xen http://hg.uk.xensource.com/xen-unstable.hg
>   Bug introduced:  0d21b68f528b
>   Bug not present: d1d6abc1db20
> 
> 
>   changeset:   23828:0d21b68f528b
>   user:        Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
>   date:        Tue Sep 13 10:27:20 2011 +0100
>       
>       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@xxxxxxxxxx

I have just pushed the attached changeset.

Ian.

# Hg changeset patch
# User Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
# Date 1315996693 -3600
# Node ID e90438f6e6d1585a71b18784a99c162b5d95f390
# Parent  51913fe3d25a3756edf9af02843abdb36873618d
tools: Revert seabios and upstream qemu build changes

These have broken the build and it seems to be difficult to fix.  So
we will revert the whole lot for now, and await corrected patch(es).

Revert "fix the build when CONFIG_QEMU is specified by the user"
Revert "tools: fix permissions of git-checkout.sh"
Revert "scripts/git-checkout.sh: Is not bash specific. Invoke with /bin/sh."
Revert "Clone and build Seabios by default"
Revert "Clone and build upstream Qemu by default"
Revert "Rename ioemu-dir as qemu-xen-traditional-dir"
Revert "Move the ioemu-dir-find shell script to an external file"

Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>

diff -r 51913fe3d25a -r e90438f6e6d1 .hgignore
--- a/.hgignore Tue Sep 13 15:46:47 2011 +0100
+++ b/.hgignore Wed Sep 14 11:38:13 2011 +0100
@@ -291,12 +291,8 @@
 ^tools/xm-test/lib/XmTestLib/config.py$
 ^tools/xm-test/lib/XmTestReport/xmtest.py$
 ^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/tools/firmware/seabios-dir-remote
-^tools/tools/firmware/seabios-dir$
+^tools/ioemu-remote
+^tools/ioemu-dir$
 ^tools/ocaml/.*/.*\.annot$
 ^tools/ocaml/.*/.*\.cmx?a$
 ^tools/ocaml/.*/META$
diff -r 51913fe3d25a -r e90438f6e6d1 Config.mk
--- a/Config.mk Tue Sep 13 15:46:47 2011 +0100
+++ b/Config.mk Wed Sep 14 11:38:13 2011 +0100
@@ -192,12 +192,6 @@ QEMU_REMOTE=git://xenbits.xensource.com/
 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
-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.
 # CONFIG_QEMU ?= `pwd`/$(XEN_ROOT)/../qemu-xen.git
@@ -209,6 +203,15 @@ 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
diff -r 51913fe3d25a -r e90438f6e6d1 Makefile
--- a/Makefile  Tue Sep 13 15:46:47 2011 +0100
+++ b/Makefile  Wed Sep 14 11:38:13 2011 +0100
@@ -70,7 +70,7 @@ install-tools:
        $(MAKE) -C tools install
 
 ifeq ($(CONFIG_IOEMU),y)
-install-tools: tools/qemu-xen-traditional-dir tools/qemu-xen-dir
+install-tools: tools/ioemu-dir
 endif
 
 .PHONY: install-kernels
@@ -78,21 +78,18 @@ install-kernels:
        for i in $(XKERNELS) ; do $(MAKE) $$i-install || exit 1; done
 
 .PHONY: install-stubdom
-install-stubdom: tools/qemu-xen-traditional-dir install-tools
+install-stubdom: tools/ioemu-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/qemu-xen-traditional-dir:
-       $(MAKE) -C tools qemu-xen-traditional-dir-find
+tools/ioemu-dir:
+       $(MAKE) -C tools ioemu-dir-find
 
-.PHONY: tools/qemu-xen-traditional-dir-force-update
-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: tools/ioemu-dir-force-update
+tools/ioemu-dir-force-update:
+       $(MAKE) -C tools ioemu-dir-force-update
 
 .PHONY: install-docs
 install-docs:
diff -r 51913fe3d25a -r e90438f6e6d1 scripts/git-checkout.sh
--- a/scripts/git-checkout.sh   Tue Sep 13 15:46:47 2011 +0100
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-#!/bin/sh
-
-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
-# is this qemu-xen-traditional?
-if test -f $ROOT/xen-setup; then
-       QEMU_ROOT=$ROOT $ROOT/xen-setup $IOEMU_CONFIGURE_CROSS
-# is this qemu-xen?
-elif test -f $ROOT/configure; then
-       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
-
diff -r 51913fe3d25a -r e90438f6e6d1 tools/Makefile
--- a/tools/Makefile    Tue Sep 13 15:46:47 2011 +0100
+++ b/tools/Makefile    Wed Sep 14 11:38:13 2011 +0100
@@ -30,8 +30,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
+SUBDIRS-$(CONFIG_IOEMU) += ioemu-dir
 endif
 
 SUBDIRS-y += xenpmd
@@ -71,8 +70,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
+       rm -rf ioemu-dir ioemu-remote
 
 ifneq ($(XEN_COMPILE_ARCH),$(XEN_TARGET_ARCH))
 IOEMU_CONFIGURE_CROSS ?= --cpu=$(XEN_TARGET_ARCH) \
@@ -80,35 +78,51 @@ IOEMU_CONFIGURE_CROSS ?= --cpu=$(XEN_TAR
                         --interp-prefix=$(CROSS_SYS_ROOT)
 endif
 
-qemu-xen-traditional-dir-find:
-       $(XEN_ROOT)/scripts/git-checkout.sh $(CONFIG_QEMU) $(QEMU_TAG) 
qemu-xen-traditional-dir
-       
-qemu-xen-dir-find:
-       $(XEN_ROOT)/scripts/git-checkout.sh $(QEMU_UPSTREAM_URL) 
$(QEMU_UPSTREAM_TAG) qemu-xen-dir
-       
-.PHONY: qemu-xen-traditional-dir-force-update
-qemu-xen-traditional-dir-force-update:
+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)
+
+.PHONY: ioemu-dir-force-update
+ioemu-dir-force-update:
        set -ex; \
        if [ "$(QEMU_TAG)" ]; then \
-               cd qemu-xen-traditional-dir-remote; \
+               cd ioemu-remote; \
                $(GIT) fetch origin; \
                $(GIT) reset --hard $(QEMU_TAG); \
        fi
 
-subdir-all-qemu-xen-traditional-dir subdir-install-qemu-xen-traditional-dir: 
qemu-xen-traditional-dir-find
+subdir-all-ioemu-dir subdir-install-ioemu-dir: ioemu-dir-find
 
-subdir-clean-qemu-xen-traditional-dir:
-       set -e; if test -d qemu-xen-traditional-dir/.; then \
+subdir-clean-ioemu-dir:
+       set -e; if test -d ioemu-dir/.; then \
                $(buildmakevars2shellvars); \
-               $(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; \
+               $(MAKE) -C ioemu-dir clean; \
        fi
 
 subdir-clean-debugger/gdbsx subdir-distclean-debugger/gdbsx: .phony
diff -r 51913fe3d25a -r e90438f6e6d1 tools/firmware/Makefile
--- a/tools/firmware/Makefile   Tue Sep 13 15:46:47 2011 +0100
+++ b/tools/firmware/Makefile   Wed Sep 14 11:38:13 2011 +0100
@@ -6,18 +6,13 @@ INST_DIR := $(DESTDIR)$(XENFIRMWAREDIR)
 INST_DIR := $(DESTDIR)$(XENFIRMWAREDIR)
 
 SUBDIRS :=
-SUBDIRS += seabios-dir
 SUBDIRS += rombios
 SUBDIRS += vgabios
 SUBDIRS += etherboot
 SUBDIRS += hvmloader
 
-seabios-dir:
-       $(XEN_ROOT)/scripts/git-checkout.sh $(SEABIOS_UPSTREAM_URL) 
$(SEABIOS_UPSTREAM_TAG) seabios-dir
-       cp seabios-config seabios-dir/.config;
-
 .PHONY: all
-all: seabios-dir
+all:
        @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!"; \
@@ -40,7 +35,4 @@ distclean: subdirs-distclean
 distclean: subdirs-distclean
 
 subdir-distclean-etherboot: .phony
-       $(MAKE) -C etherboot distclean
-
-subdir-distclean-seabios-dir: .phony
-       rm -rf seabios-dir seabios-dir-remote
+       $(MAKE) -C etherboot distclean
\ No newline at end of file
diff -r 51913fe3d25a -r e90438f6e6d1 tools/firmware/hvmloader/Makefile
--- a/tools/firmware/hvmloader/Makefile Tue Sep 13 15:46:47 2011 +0100
+++ b/tools/firmware/hvmloader/Makefile Wed Sep 14 11:38:13 2011 +0100
@@ -44,7 +44,6 @@ ROMBIOS_ROM := $(ROMBIOS_DIR)/BIOS-bochs
 ROMBIOS_ROM := $(ROMBIOS_DIR)/BIOS-bochs-latest
 endif
 
-SEABIOS_DIR := ../seabios-dir
 ifneq ($(SEABIOS_DIR),)
 OBJS += seabios.o
 CFLAGS += -DENABLE_SEABIOS
diff -r 51913fe3d25a -r e90438f6e6d1 tools/firmware/seabios-config
--- a/tools/firmware/seabios-config     Tue Sep 13 15:46:47 2011 +0100
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-#
-# 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@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.