Index: ioemu/Makefile
===================================================================
--- ioemu.orig/Makefile	2007-05-03 15:38:37.000000000 +0100
+++ ioemu/Makefile	2007-05-03 15:38:39.000000000 +0100
@@ -1,11 +1,14 @@
 # Makefile for QEMU.
 
-include config-host.mak
+XEN_ROOT=../..
+include $(XEN_ROOT)/tools/Rules.mk
+
+-include config-host.mak
 
 .PHONY: all clean distclean dvi info install install-doc tar tarbin \
 	speed test test2 html dvi info
 
-CFLAGS=-Wall -O2 -g -fno-strict-aliasing -I.
+CFLAGS+=-Wall -O2 -g -fno-strict-aliasing -I.
 ifdef CONFIG_DARWIN
 CFLAGS+= -mdynamic-no-pic
 endif
@@ -25,9 +28,11 @@
 DOCS=
 endif
 
+TOOLS=
+
 all: $(TOOLS) $(DOCS) recurse-all
 
-subdir-%: dyngen$(EXESUF)
+subdir-%:
 	$(MAKE) -C $(subst subdir-,,$@) all
 
 recurse-all: $(patsubst %,subdir-%, $(TARGET_DIRS))
@@ -44,7 +49,7 @@
 	rm -f *.o *.a $(TOOLS) dyngen$(EXESUF) TAGS *.pod *~ */*~
 	$(MAKE) -C tests clean
 	for d in $(TARGET_DIRS); do \
-	$(MAKE) -C $$d $@ || exit 1 ; \
+	[ -d $$d ] && $(MAKE) -C $$d $@ || exit 0 ; \
         done
 
 distclean: clean
@@ -60,24 +65,24 @@
 
 install-doc: $(DOCS)
 	mkdir -p "$(DESTDIR)$(docdir)"
-	$(INSTALL) -m 644 qemu-doc.html  qemu-tech.html "$(DESTDIR)$(docdir)"
+	$(INSTALL_DATA) qemu-doc.html  qemu-tech.html "$(DESTDIR)$(docdir)"
 ifndef CONFIG_WIN32
 	mkdir -p "$(DESTDIR)$(mandir)/man1"
-	$(INSTALL) qemu.1 qemu-img.1 "$(DESTDIR)$(mandir)/man1"
+	$(INSTALL_DATA) qemu.1 qemu-img.1 "$(DESTDIR)$(mandir)/man1"
 endif
 
 install: all $(if $(BUILD_DOCS),install-doc)
 	mkdir -p "$(DESTDIR)$(bindir)"
-	$(INSTALL) -m 755 -s $(TOOLS) "$(DESTDIR)$(bindir)"
-	mkdir -p "$(DESTDIR)$(datadir)"
-	for x in bios.bin vgabios.bin vgabios-cirrus.bin ppc_rom.bin \
-			video.x openbios-sparc32 linux_boot.bin; do \
-		$(INSTALL) -m 644 $(SRC_PATH)/pc-bios/$$x "$(DESTDIR)$(datadir)"; \
-	done
+#	$(INSTALL) -m 755 -s $(TOOLS) "$(DESTDIR)$(bindir)"
+#	mkdir -p "$(DESTDIR)$(datadir)"
+#	for x in bios.bin vgabios.bin vgabios-cirrus.bin ppc_rom.bin \
+#			video.x openbios-sparc32 linux_boot.bin; do \
+#		$(INSTALL_DATA) $(SRC_PATH)/pc-bios/$$x "$(DESTDIR)$(datadir)"; \
+#	done
 ifndef CONFIG_WIN32
 	mkdir -p "$(DESTDIR)$(datadir)/keymaps"
 	for x in $(KEYMAPS); do \
-		$(INSTALL) -m 644 $(SRC_PATH)/keymaps/$$x "$(DESTDIR)$(datadir)/keymaps"; \
+		$(INSTALL_DATA) $(SRC_PATH)/keymaps/$$x "$(DESTDIR)$(datadir)/keymaps"; \
 	done
 endif
 	for d in $(TARGET_DIRS); do \
@@ -89,7 +94,7 @@
 	$(MAKE) -C tests $@
 
 TAGS: 
-	etags *.[ch] tests/*.[ch]
+	etags *.[ch] target-i386-dm/*.[ch] hw/*.[ch]
 
 cscope:
 	rm -f ./cscope.*
@@ -107,11 +112,11 @@
 	texi2dvi $<
 
 qemu.1: qemu-doc.texi
-	$(SRC_PATH)/texi2pod.pl $< qemu.pod
+	perl -w $(SRC_PATH)/texi2pod.pl $< qemu.pod
 	pod2man --section=1 --center=" " --release=" " qemu.pod > $@
 
 qemu-img.1: qemu-img.texi
-	$(SRC_PATH)/texi2pod.pl $< qemu-img.pod
+	perl -w $(SRC_PATH)/texi2pod.pl $< qemu-img.pod
 	pod2man --section=1 --center=" " --release=" " qemu-img.pod > $@
 
 info: qemu-doc.info qemu-tech.info
Index: ioemu/Makefile.target
===================================================================
--- ioemu.orig/Makefile.target	2007-05-03 15:38:37.000000000 +0100
+++ ioemu/Makefile.target	2007-05-03 15:38:39.000000000 +0100
@@ -1,5 +1,8 @@
 include config.mak
 
+XEN_ROOT=../../..
+include $(XEN_ROOT)/tools/Rules.mk
+
 TARGET_BASE_ARCH:=$(TARGET_ARCH)
 ifeq ($(TARGET_ARCH), x86_64)
 TARGET_BASE_ARCH:=i386
@@ -10,14 +13,21 @@
 ifeq ($(TARGET_ARCH), sparc64)
 TARGET_BASE_ARCH:=sparc
 endif
-TARGET_PATH=$(SRC_PATH)/target-$(TARGET_BASE_ARCH)
+TARGET_PATH=$(SRC_PATH)/target-$(TARGET_BASE_ARCH)$(TARGET_SUB)
 VPATH=$(SRC_PATH):$(TARGET_PATH):$(SRC_PATH)/hw:$(SRC_PATH)/audio
 DEFINES=-I. -I.. -I$(TARGET_PATH) -I$(SRC_PATH)
+DEFINES+= -I$(XEN_ROOT)/tools/libxc
+DEFINES+= -I$(XEN_ROOT)/tools/xenstore
 ifdef CONFIG_USER_ONLY
 VPATH+=:$(SRC_PATH)/linux-user
 DEFINES+=-I$(SRC_PATH)/linux-user -I$(SRC_PATH)/linux-user/$(TARGET_ARCH)
 endif
-CFLAGS=-Wall -O2 -g -fno-strict-aliasing
+CFLAGS+=-Wall -O2 -g -fno-strict-aliasing
+SSE2 := $(call cc-option,$(CC),-msse2,)
+ifeq ($(SSE2),-msse2)
+CFLAGS += -DUSE_SSE2=1 -msse2
+endif
+CFLAGS+= $(LOCAL_CFLAGS)
 #CFLAGS+=-Werror
 LDFLAGS=-g
 LIBS=
@@ -165,8 +175,12 @@
 
 #########################################################
 
-DEFINES+=-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
+DEFINES+=-D_GNU_SOURCE
+#-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
 LIBS+=-lm
+LIBS+=-L../../libxc -lxenctrl -lxenguest
+LIBS+=-L../../xenstore -lxenstore
+LIBS+=-lpthread
 ifndef CONFIG_USER_ONLY
 LIBS+=-lz
 endif
@@ -281,7 +295,7 @@
 all: $(PROGS)
 
 $(QEMU_USER): $(OBJS)
-	$(CC) $(LDFLAGS) -o $@ $^  $(LIBS)
+	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^  $(LIBS)
 ifeq ($(ARCH),alpha)
 # Mark as 32 bit binary, i. e. it will be mapped into the low 31 bit of
 # the address space (31 bit so sign extending doesn't matter)
@@ -528,10 +542,16 @@
 clean:
 	rm -f *.o  *.a *~ $(PROGS) gen-op.h opc.h op.h nwfpe/*.o slirp/*.o fpu/*.o
 
+distclean: clean
+	rm -rf config.mak config.h
+
 install: all 
+	mkdir -p "$(DESTDIR)$(bindir)" "$(DESTDIR)$(configdir)"
 ifneq ($(PROGS),)
-	$(INSTALL) -m 755 -s $(PROGS) "$(DESTDIR)$(bindir)"
+	$(INSTALL_PROG) $(PROGS) "$(DESTDIR)$(bindir)"
 endif
+	$(INSTALL_PROG) $(TARGET_PATH)/qemu-dm.debug "$(DESTDIR)$(bindir)"
+	$(INSTALL_PROG) $(TARGET_PATH)/qemu-ifup "$(DESTDIR)$(configdir)"
 
 ifneq ($(wildcard .depend),)
 include .depend
Index: ioemu/configure
===================================================================
--- ioemu.orig/configure	2007-05-03 15:38:37.000000000 +0100
+++ ioemu/configure	2007-05-03 15:38:39.000000000 +0100
@@ -18,8 +18,8 @@
 
 # default parameters
 prefix=""
-interp_prefix="/usr/gnemul/qemu-%M"
 static="no"
+libdir="lib"
 cross_prefix=""
 cc="gcc"
 host_cc="gcc"
@@ -65,6 +65,7 @@
   ;;
   x86_64|amd64)
     cpu="x86_64"
+    libdir="lib64"
   ;;
   *)
     cpu="unknown"
@@ -91,7 +92,7 @@
 kernel_path=""
 cocoa="no"
 check_gfx="yes"
-check_gcc="yes"
+check_gcc="no"
 softmmu="yes"
 user="no"
 build_docs="no"
@@ -380,6 +381,8 @@
     exit 1
 fi
 
+kqemu="no"
+
 if test -z "$cross_prefix" ; then
 
 # ---
@@ -505,14 +508,16 @@
 datadir="$prefix"
 docdir="$prefix"
 bindir="$prefix"
+configdir=""
 else
 if test -z "$prefix" ; then
     prefix="/usr/local"
 fi
 mandir="$prefix/share/man"
-datadir="$prefix/share/qemu"
+datadir="$prefix/share/xen/qemu"
 docdir="$prefix/share/doc/qemu"
-bindir="$prefix/bin"
+bindir="$prefix/$libdir/xen/bin"
+configdir="/etc/xen"
 fi
 
 echo "Install prefix    $prefix"
@@ -583,6 +588,8 @@
 echo "mandir=$mandir" >> $config_mak
 echo "datadir=$datadir" >> $config_mak
 echo "docdir=$docdir" >> $config_mak
+echo "configdir=$configdir" >> $config_mak
+echo "LIBDIR=$libdir" >> $config_mak
 echo "#define CONFIG_QEMU_SHAREDIR \"$datadir\"" >> $config_h
 echo "MAKE=$make" >> $config_mak
 echo "INSTALL=$install" >> $config_mak
@@ -770,7 +777,7 @@
 # don't use ln -sf as not all "ln -sf" over write the file/link
 #
 rm -f $target_dir/Makefile
-ln -s $source_path/Makefile.target $target_dir/Makefile
+ln -s ../Makefile.target $target_dir/Makefile
 
 
 echo "# Automatically generated by configure - do not modify" > $config_mak
@@ -784,6 +791,12 @@
 interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
 echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
 
+target_sub=
+if expr $target : '.*-dm' > /dev/null ; then
+  target_sub=-dm
+fi
+echo "TARGET_SUB=${target_sub}" >> $config_mak
+
 if test "$target_cpu" = "i386" ; then
   echo "TARGET_ARCH=i386" >> $config_mak
   echo "#define TARGET_ARCH \"i386\"" >> $config_h
@@ -850,6 +863,10 @@
   echo "#define CONFIG_USER_ONLY 1" >> $config_h
 fi
 
+if expr $target : '.*-dm' > /dev/null ; then
+  echo "#define CONFIG_DM 1" >> $config_h
+fi
+
 if test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" -o "$target_cpu" = "sparc" -o "$target_cpu" = "sparc64"; then
   echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
   echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
