This provides a make sync within the drivers/ directory to allow virtio drivers to be built as third-party modules much as we do with the KVM driver.
Signed-off-by: Anthony Liguori <[EMAIL PROTECTED]> diff --git a/.gitignore b/.gitignore index 600508a..f9b95f8 100644 --- a/.gitignore +++ b/.gitignore @@ -26,4 +26,11 @@ kernel/x86_emulate.[ch] kernel/include/linux/kvm*.h kernel/Module.symvers kernel/Modules.symvers -kernel/.tmp_versions \ No newline at end of file +kernel/.tmp_versions +drivers/config.c +drivers/virtio.c +drivers/virtio_ring.c +drivers/virtio_pci.c +drivers/virtio_blk.c +drivers/virtio_net.c +drivers/include/linux/virtio*.h diff --git a/Makefile b/Makefile index 776ff01..dd1da6e 100644 --- a/Makefile +++ b/Makefile @@ -68,7 +68,7 @@ srpm: $(RM) $(tmpspec) clean: - for i in $(if $(WANT_MODULE), kernel) user libkvm qemu; do \ + for i in $(if $(WANT_MODULE), kernel drivers) user libkvm qemu; do \ make -C $$i clean; \ done rm -f config.mak user/config.mak diff --git a/drivers/Kbuild b/drivers/Kbuild new file mode 100644 index 0000000..74d1ed0 --- /dev/null +++ b/drivers/Kbuild @@ -0,0 +1,2 @@ +EXTRA_CFLAGS := -I$(src)/include -include $(src)/external-module-compat.h +obj-m := virtio.o virtio_ring.o virtio_pci.o virtio_net.o virtio_blk.o diff --git a/drivers/Makefile b/drivers/Makefile new file mode 100644 index 0000000..a0d232c --- /dev/null +++ b/drivers/Makefile @@ -0,0 +1,23 @@ +include ../config.mak + +KVERREL = $(patsubst /lib/modules/%/build,%,$(KERNELDIR)) + +DESTDIR= + +INSTALLDIR = $(patsubst %/build,%/extra,$(KERNELDIR)) +ORIGMODDIR = $(patsubst %/build,%/kernel,$(KERNELDIR)) + +LINUX = ../linux-2.6 + +all:: + $(MAKE) -C $(KERNELDIR) M=`pwd` "$$@" + +sync: + mkdir -p include/linux + rsync --exclude='*.mod.c' "$(LINUX)"/drivers/virtio/*.[ch] . + rsync "$(LINUX)"/include/linux/virtio*.h include/linux + rsync "$(LINUX)"/drivers/block/virtio_blk.c . + rsync "$(LINUX)"/drivers/net/virtio_net.c . + +clean: + $(MAKE) -C $(KERNELDIR) M=`pwd` $@ diff --git a/drivers/external-module-compat.h b/drivers/external-module-compat.h new file mode 100644 index 0000000..f0e4868 --- /dev/null +++ b/drivers/external-module-compat.h @@ -0,0 +1,14 @@ +#ifndef _VIRTIO_EXT_MOD_COMPAT_H +#define _VIRTIO_EXT_MOD_COMPAT_H + +/* make sure out copies of the headers get included */ + +#include "include/linux/virtio.h" +#include "include/linux/virtio_config.h" +#include "include/linux/virtio_ring.h" +#include "include/linux/virtio_pci.h" +#include "include/linux/virtio_blk.h" +#include "include/linux/virtio_net.h" +#include "include/linux/virtio_9p.h" + +#endif ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel