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

[Xen-devel] [PATCH 1 of 3] [QEMU remote] Fixes to the build system to compile as a stubdomain



Various fixes to the build system to compile as a stubdomain.

Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>

---
 i386-stubdom/config.mak |    1 -
 i386-stubdom/hooks.mak  |    6 +++---
 xen-config-host.h       |   11 +++++++++++
 xen-config-host.mak     |    4 ++++
 xen-hooks.mak           |   14 +++++++++++---
 xen-setup               |    9 ++++++++-
 6 files changed, 37 insertions(+), 8 deletions(-)
 delete mode 100644 i386-stubdom/config.mak

diff --git a/i386-stubdom/config.mak b/i386-stubdom/config.mak
deleted file mode 100644
index 1f48b2f..0000000
--- a/i386-stubdom/config.mak
+++ /dev/null
@@ -1 +0,0 @@
-include ../xen-config.mak
diff --git a/i386-stubdom/hooks.mak b/i386-stubdom/hooks.mak
index 33b9bce..8cd761b 100644
--- a/i386-stubdom/hooks.mak
+++ b/i386-stubdom/hooks.mak
@@ -1,11 +1,11 @@
 include ../xen-hooks.mak
 
 OBJS += block-vbd.o
-OBJS += tpm_tis.o
 
-QEMU_STUBDOM= libqemu.a
+QEMU_STUBDOM= qemu.a
 
-PROGS=$(QEMU_STUBDOM)
+PROGS=$(QEMU_STUBDOM) libqemu.a
+TOOLS=
 
 $(QEMU_STUBDOM): $(OBJS)
        $(AR) rcs $@ $^
diff --git a/xen-config-host.h b/xen-config-host.h
index 6e84a98..42c24d9 100644
--- a/xen-config-host.h
+++ b/xen-config-host.h
@@ -1,3 +1,9 @@
+#ifdef __MINIOS__
+#define CONFIG_STUBDOM
+#define NO_AIO 1
+#define NO_UNIX_SOCKETS 1
+#endif
+
 extern char domain_name[64];
 extern int domid;
 
@@ -11,7 +17,9 @@ extern int domid;
 
 #include "xenctrl.h"
 #include "xs.h"
+#ifndef CONFIG_STUBDOM
 #include "blktaplib.h"
+#endif
 
 #ifndef XEN_CONFIG_HOST_BOOL_WAS_DEFINED
 # undef bool
@@ -32,6 +40,9 @@ extern int vcpus;
 
 void xenstore_parse_domain_config(int domid);
 void xenstore_read_vncpasswd(int domid, char *pwbuf, size_t pwbuflen);
+#ifdef CONFIG_STUBDOM
+extern struct BlockDriver bdrv_vbd;
+#endif
 struct CharDriverState;
 void xenstore_store_serial_port_info(int i, struct CharDriverState *chr,
                                     const char *devname);
diff --git a/xen-config-host.mak b/xen-config-host.mak
index ceacdcd..b02dcb0 100644
--- a/xen-config-host.mak
+++ b/xen-config-host.mak
@@ -2,6 +2,10 @@ QEMU_ROOT ?= .
 XEN_ROOT ?= $(QEMU_ROOT)/../xen-unstable.hg
 include $(XEN_ROOT)/tools/Rules.mk
 
+ifdef CONFIG_STUBDOM
+TARGET_DIRS=i386-stubdom
+else
 TARGET_DIRS=i386-dm
+endif
 
 -include $(QEMU_ROOT)/xen-hooks.mak
diff --git a/xen-hooks.mak b/xen-hooks.mak
index 8e2a7fb..230d03a 100644
--- a/xen-hooks.mak
+++ b/xen-hooks.mak
@@ -1,7 +1,6 @@
 CPPFLAGS+= -I$(XEN_ROOT)/tools/libxc
 CPPFLAGS+= -I$(XEN_ROOT)/tools/xenstore
 CPPFLAGS+= -I$(XEN_ROOT)/tools/include
-CPPFLAGS+= -I$(XEN_ROOT)/tools/blktap/lib
 
 SSE2 := $(call cc-option,-msse2,)
 ifeq ($(SSE2),-msse2)
@@ -20,7 +19,6 @@ CFLAGS += $(CMDLINE_CFLAGS)
 
 LIBS += -L$(XEN_ROOT)/tools/libxc -lxenctrl -lxenguest
 LIBS += -L$(XEN_ROOT)/tools/xenstore -lxenstore
-LIBS += -L$(XEN_ROOT)/tools/blktap/lib -lblktap
 
 LDFLAGS := $(CFLAGS) $(LDFLAGS)
 
@@ -32,10 +30,20 @@ OBJS += xen_machine_pv.o
 OBJS += xenfb.o
 OBJS += xen_console.o
 OBJS += xen_machine_fv.o
-OBJS += xen_blktap.o
 OBJS += exec-dm.o
 OBJS += pci_emulation.o
+
+ifdef CONFIG_STUBDOM
+CPPFLAGS += $(TARGET_CPPFLAGS)
+CONFIG_SDL=
+CONFIG_AUDIO=
+OBJS += xenfbfront.o
+else
+CPPFLAGS+= -I$(XEN_ROOT)/tools/blktap/lib
+LIBS += -L$(XEN_ROOT)/tools/blktap/lib -lblktap
+OBJS += xen_blktap.o
 OBJS += tpm_tis.o
+endif
 
 ifdef CONFIG_STUBDOM
 CONFIG_PASSTHROUGH=1
diff --git a/xen-setup b/xen-setup
index 7f8768d..2a86a89 100755
--- a/xen-setup
+++ b/xen-setup
@@ -11,7 +11,14 @@ if test -f config-host.h; then mv config-host.h 
config-host.h~; fi
 
 ./configure --disable-gfx-check --disable-gcc-check --disable-curses 
--disable-slirp "$@" --prefix=/usr
 
-target=i386-dm
+if [ -n "$CONFIG_STUBDOM" ]
+then
+        target=i386-stubdom
+        ln -sf ../i386-dm/hookslib.mak $target/
+        (cd $target ; ln -sf ../i386-dm/*.[ch] .)
+else
+        target=i386-dm
+fi
 
 if [ "x$XEN_ROOT" != x ]; then
        echo "XEN_ROOT=$XEN_ROOT" >>config-host.mak
-- 
1.5.4.3


_______________________________________________
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®.