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