aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Jackson <Ian.Jackson@eu.citrix.com>2011-09-14 11:38:13 +0100
committerIan Jackson <Ian.Jackson@eu.citrix.com>2011-09-14 11:38:13 +0100
commitdcbc297aea6a159f2f5fad5de84666f23c2d17ad (patch)
tree3295980699da6f3ad181008469ea380a8f59ce69
parent2093b2b5db510fbfac4417326f8cbf16a2896abe (diff)
downloadxen-dcbc297aea6a159f2f5fad5de84666f23c2d17ad.tar.gz
xen-dcbc297aea6a159f2f5fad5de84666f23c2d17ad.tar.bz2
xen-dcbc297aea6a159f2f5fad5de84666f23c2d17ad.zip
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@eu.citrix.com>
-rw-r--r--.hgignore8
-rw-r--r--Config.mk15
-rw-r--r--Makefile17
-rwxr-xr-xscripts/git-checkout.sh47
-rw-r--r--tools/Makefile64
-rw-r--r--tools/firmware/Makefile12
-rw-r--r--tools/firmware/hvmloader/Makefile1
-rw-r--r--tools/firmware/seabios-config73
8 files changed, 59 insertions, 178 deletions
diff --git a/.hgignore b/.hgignore
index 6464198d65..cdb6f36f96 100644
--- a/.hgignore
+++ b/.hgignore
@@ -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 --git a/Config.mk b/Config.mk
index 34ce9cf0c0..6505697df1 100644
--- a/Config.mk
+++ b/Config.mk
@@ -192,12 +192,6 @@ 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
-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
@@ -210,6 +204,15 @@ QEMU_TAG ?= cd776ee9408ff127f934a707c1a339ee600bc127
# 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 --git a/Makefile b/Makefile
index f977ef8f1d..31e87958f0 100644
--- a/Makefile
+++ b/Makefile
@@ -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 --git a/scripts/git-checkout.sh b/scripts/git-checkout.sh
deleted file mode 100755
index dd6c74efdd..0000000000
--- a/scripts/git-checkout.sh
+++ /dev/null
@@ -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 --git a/tools/Makefile b/tools/Makefile
index ede96db9b0..df6270c352 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -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_TARGET_ARCH) \
--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-clean-qemu-xen-traditional-dir:
- set -e; if test -d qemu-xen-traditional-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-all-ioemu-dir subdir-install-ioemu-dir: ioemu-dir-find
-subdir-clean-qemu-xen-dir:
- set -e; if test -d qemu-xen-dir/.; then \
+subdir-clean-ioemu-dir:
+ set -e; if test -d ioemu-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 --git a/tools/firmware/Makefile b/tools/firmware/Makefile
index 1e8a4db03a..4b6d144134 100644
--- a/tools/firmware/Makefile
+++ b/tools/firmware/Makefile
@@ -6,18 +6,13 @@ TARGET := hvmloader/hvmloader
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 @@ clean: subdirs-clean
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 --git a/tools/firmware/hvmloader/Makefile b/tools/firmware/hvmloader/Makefile
index ae8a1e281f..11e8f1c316 100644
--- a/tools/firmware/hvmloader/Makefile
+++ b/tools/firmware/hvmloader/Makefile
@@ -44,7 +44,6 @@ 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 --git a/tools/firmware/seabios-config b/tools/firmware/seabios-config
deleted file mode 100644
index 202d15fad5..0000000000
--- a/tools/firmware/seabios-config
+++ /dev/null
@@ -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