2009-05-04 18:38:09 +02:00
|
|
|
From f1ebeae7802a5775422004f62630c42e46dcf664 Mon Sep 17 00:00:00 2001
|
|
|
|
From: Kevin Wolf <kwolf@suse.de>
|
|
|
|
Date: Tue, 10 Mar 2009 16:32:40 +0100
|
|
|
|
Subject: [PATCH 3/6] ioemu: Build tapdisk-ioemu binary
|
|
|
|
|
|
|
|
When changing away from the old ioemu, changes in the Makefiles
|
|
|
|
resulted in tapdisk-ioemu appearing there, but actually not
|
|
|
|
being built. This patch re-enables the build of tapdisk-ioemu.
|
|
|
|
|
|
|
|
Signed-off-by: Kevin Wolf <kwolf@suse.de>
|
|
|
|
---
|
|
|
|
Makefile | 22 +++++++++++++++-------
|
|
|
|
configure | 2 +-
|
|
|
|
qemu-tool.c | 2 +-
|
|
|
|
tapdisk-ioemu.c | 17 -----------------
|
|
|
|
4 files changed, 17 insertions(+), 26 deletions(-)
|
|
|
|
|
2011-09-15 23:43:21 +02:00
|
|
|
Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/Makefile
|
2008-08-18 00:24:29 +02:00
|
|
|
===================================================================
|
2011-09-15 23:43:21 +02:00
|
|
|
--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/Makefile
|
|
|
|
+++ xen-4.1.2-testing/tools/ioemu-qemu-xen/Makefile
|
2010-01-16 01:12:54 +01:00
|
|
|
@@ -46,14 +46,6 @@ $(filter %-user,$(SUBDIR_RULES)): libqem
|
2008-08-18 00:24:29 +02:00
|
|
|
|
2009-05-04 18:38:09 +02:00
|
|
|
recurse-all: $(SUBDIR_RULES)
|
2008-08-18 00:24:29 +02:00
|
|
|
|
2010-01-16 01:12:54 +01:00
|
|
|
-CPPFLAGS += -I$(XEN_ROOT)/tools/libxc
|
|
|
|
-CPPFLAGS += -I$(XEN_ROOT)/tools/blktap/lib
|
|
|
|
-CPPFLAGS += -I$(XEN_ROOT)/tools/xenstore
|
|
|
|
-CPPFLAGS += -I$(XEN_ROOT)/tools/include
|
|
|
|
-
|
2008-08-18 00:24:29 +02:00
|
|
|
-tapdisk-ioemu: tapdisk-ioemu.c cutils.c block.c block-raw.c block-cow.c block-qcow.c aes.c block-vmdk.c block-cloop.c block-dmg.c block-bochs.c block-vpc.c block-vvfat.c block-qcow2.c hw/xen_blktap.c osdep.c
|
|
|
|
- $(CC) -DQEMU_TOOL $(CFLAGS) $(CPPFLAGS) $(BASE_CFLAGS) $(LDFLAGS) $(BASE_LDFLAGS) -o $@ $^ -lz $(LIBS)
|
|
|
|
-
|
|
|
|
#######################################################################
|
|
|
|
# BLOCK_OBJS is code used by both qemu system emulation and qemu-img
|
|
|
|
|
2010-01-16 01:12:54 +01:00
|
|
|
@@ -72,6 +64,21 @@ endif
|
2009-05-04 18:38:09 +02:00
|
|
|
BLOCK_OBJS += block-raw-posix.o
|
|
|
|
endif
|
2008-08-18 00:24:29 +02:00
|
|
|
|
|
|
|
+#######################################################################
|
|
|
|
+# tapdisk-ioemu
|
|
|
|
+
|
2008-09-12 17:57:53 +02:00
|
|
|
+hw/tapdisk-xen_blktap.o: hw/xen_blktap.c
|
|
|
|
+ $(CC) $(CFLAGS) $(CPPFLAGS) -DQEMU_IMG -DQEMU_TOOL -c -o $@ $<
|
|
|
|
+tapdisk-ioemu.o: tapdisk-ioemu.c
|
|
|
|
+ $(CC) $(CFLAGS) $(CPPFLAGS) -DQEMU_IMG -DQEMU_TOOL -c -o $@ $<
|
|
|
|
+
|
2008-08-18 00:24:29 +02:00
|
|
|
+tapdisk-ioemu: CPPFLAGS += -I$(XEN_ROOT)/tools/libxc
|
|
|
|
+tapdisk-ioemu: CPPFLAGS += -I$(XEN_ROOT)/tools/blktap/lib
|
|
|
|
+tapdisk-ioemu: CPPFLAGS += -I$(XEN_ROOT)/tools/xenstore
|
|
|
|
+tapdisk-ioemu: CPPFLAGS += -I$(XEN_ROOT)/tools/include
|
2009-05-04 18:38:09 +02:00
|
|
|
+tapdisk-ioemu: tapdisk-ioemu.o $(BLOCK_OBJS) qemu-tool.o hw/tapdisk-xen_blktap.o
|
2008-09-12 17:57:53 +02:00
|
|
|
+ $(CC) $(LDFLAGS) -o $@ $^ -lz $(LIBS)
|
2008-08-18 00:24:29 +02:00
|
|
|
+
|
|
|
|
######################################################################
|
|
|
|
# libqemu_common.a: Target independent part of system emulation. The
|
|
|
|
# long term path is to suppress *all* target specific code in case of
|
2011-09-15 23:43:21 +02:00
|
|
|
Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/configure
|
2008-08-18 00:24:29 +02:00
|
|
|
===================================================================
|
2011-09-15 23:43:21 +02:00
|
|
|
--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/configure
|
|
|
|
+++ xen-4.1.2-testing/tools/ioemu-qemu-xen/configure
|
2010-03-21 11:57:55 +01:00
|
|
|
@@ -1511,7 +1511,7 @@ bsd)
|
2009-05-04 18:38:09 +02:00
|
|
|
;;
|
|
|
|
esac
|
2008-08-18 00:24:29 +02:00
|
|
|
|
|
|
|
-tools=
|
|
|
|
+tools="tapdisk-ioemu"
|
|
|
|
if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then
|
|
|
|
tools="qemu-img\$(EXESUF) $tools"
|
2009-05-04 18:38:09 +02:00
|
|
|
if [ "$linux" = "yes" ] ; then
|
2011-09-15 23:43:21 +02:00
|
|
|
Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/qemu-tool.c
|
2009-05-04 18:38:09 +02:00
|
|
|
===================================================================
|
2011-09-15 23:43:21 +02:00
|
|
|
--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/qemu-tool.c
|
|
|
|
+++ xen-4.1.2-testing/tools/ioemu-qemu-xen/qemu-tool.c
|
2009-05-04 18:38:09 +02:00
|
|
|
@@ -68,7 +68,7 @@ void qemu_bh_delete(QEMUBH *bh)
|
|
|
|
qemu_free(bh);
|
|
|
|
}
|
|
|
|
|
|
|
|
-int qemu_set_fd_handler2(int fd,
|
|
|
|
+int __attribute__((weak)) qemu_set_fd_handler2(int fd,
|
|
|
|
IOCanRWHandler *fd_read_poll,
|
|
|
|
IOHandler *fd_read,
|
|
|
|
IOHandler *fd_write,
|
2011-09-15 23:43:21 +02:00
|
|
|
Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c
|
2009-05-04 18:38:09 +02:00
|
|
|
===================================================================
|
2011-09-15 23:43:21 +02:00
|
|
|
--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/tapdisk-ioemu.c
|
|
|
|
+++ xen-4.1.2-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c
|
2009-05-04 18:38:09 +02:00
|
|
|
@@ -12,34 +12,12 @@
|
|
|
|
|
|
|
|
extern void qemu_aio_init(void);
|
|
|
|
extern void qemu_aio_poll(void);
|
|
|
|
-extern void bdrv_init(void);
|
|
|
|
-
|
|
|
|
-extern void *qemu_mallocz(size_t size);
|
|
|
|
-extern void qemu_free(void *ptr);
|
|
|
|
|
|
|
|
extern void *fd_start;
|
|
|
|
|
|
|
|
int domid = 0;
|
|
|
|
FILE* logfile;
|
|
|
|
|
|
|
|
-void term_printf(const char *fmt, ...)
|
|
|
|
-{
|
|
|
|
- va_list ap;
|
|
|
|
- va_start(ap, fmt);
|
|
|
|
- vprintf(fmt, ap);
|
|
|
|
- va_end(ap);
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-void term_print_filename(const char *filename)
|
|
|
|
-{
|
|
|
|
- term_printf(filename);
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-typedef void IOReadHandler(void *opaque, const uint8_t *buf, int size);
|
|
|
|
-typedef int IOCanRWHandler(void *opaque);
|
|
|
|
-typedef void IOHandler(void *opaque);
|
|
|
|
-
|
|
|
|
typedef struct IOHandlerRecord {
|
|
|
|
int fd;
|
|
|
|
IOCanRWHandler *fd_read_poll;
|
2010-03-21 11:57:55 +01:00
|
|
|
@@ -103,7 +81,6 @@ int main(void)
|
2009-05-04 18:38:09 +02:00
|
|
|
logfile = stderr;
|
|
|
|
|
|
|
|
bdrv_init();
|
|
|
|
- qemu_aio_init();
|
|
|
|
init_blktap();
|
|
|
|
|
|
|
|
/* Daemonize */
|
2010-03-21 11:57:55 +01:00
|
|
|
@@ -115,8 +92,6 @@ int main(void)
|
2009-05-04 18:38:09 +02:00
|
|
|
* completed aio operations.
|
|
|
|
*/
|
|
|
|
while (1) {
|
|
|
|
- qemu_aio_poll();
|
|
|
|
-
|
|
|
|
max_fd = -1;
|
|
|
|
FD_ZERO(&rfds);
|
|
|
|
for(ioh = first_io_handler; ioh != NULL; ioh = ioh->next)
|