linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] tools/virtio: option to build an out of tree module
@ 2020-02-07  7:35 Michael S. Tsirkin
  2020-02-11  3:19 ` Jason Wang
  0 siblings, 1 reply; 2+ messages in thread
From: Michael S. Tsirkin @ 2020-02-07  7:35 UTC (permalink / raw)
  To: linux-kernel; +Cc: Jason Wang, virtualization

Handy for testing with distro kernels.
Warn that the resulting module is completely unsupported,
and isn't intended for production use.

Usage:
        make oot # builds vhost_test.ko, vhost.ko
        make oot-clean # cleans out files created

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---

changes from v1:
	lots of refactoring
	disable all modules except vhost by default (more of a chance
						     it'll build)
	oot-clean target

 tools/virtio/Makefile | 27 ++++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/tools/virtio/Makefile b/tools/virtio/Makefile
index 8e2a908115c2..f33f32f1d208 100644
--- a/tools/virtio/Makefile
+++ b/tools/virtio/Makefile
@@ -8,7 +8,32 @@ CFLAGS += -g -O2 -Werror -Wall -I. -I../include/ -I ../../usr/include/ -Wno-poin
 vpath %.c ../../drivers/virtio ../../drivers/vhost
 mod:
 	${MAKE} -C `pwd`/../.. M=`pwd`/vhost_test V=${V}
-.PHONY: all test mod clean
+
+#oot: build vhost as an out of tree module for a distro kernel
+#no effort is taken to make it actually build or work, but tends to mostly work
+#if the distro kernel is very close to upstream
+#unsupported! this is a development tool only, don't use the
+#resulting modules in production!
+OOT_KSRC=/lib/modules/$$(uname -r)/build
+OOT_VHOST=`pwd`/../../drivers/vhost
+#Everyone depends on vhost
+#Tweak the below to enable more modules
+OOT_CONFIGS=\
+	CONFIG_VHOST=m \
+	CONFIG_VHOST_NET=n \
+	CONFIG_VHOST_SCSI=n \
+	CONFIG_VHOST_VSOCK=n
+OOT_BUILD=KCFLAGS="-I "${OOT_VHOST} ${MAKE} -C ${OOT_KSRC} V=${V}
+oot-build:
+	echo "UNSUPPORTED! Don't use the resulting modules in production!"
+	${OOT_BUILD} M=`pwd`/vhost_test
+	${OOT_BUILD} M=${OOT_VHOST} ${OOT_CONFIGS}
+
+oot-clean: oot-build
+oot: oot-build
+oot-clean: OOT_BUILD+=clean
+
+.PHONY: all test mod clean vhost oot oot-clean oot-build
 clean:
 	${RM} *.o vringh_test virtio_test vhost_test/*.o vhost_test/.*.cmd \
               vhost_test/Module.symvers vhost_test/modules.order *.d
-- 
MST


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH v2] tools/virtio: option to build an out of tree module
  2020-02-07  7:35 [PATCH v2] tools/virtio: option to build an out of tree module Michael S. Tsirkin
@ 2020-02-11  3:19 ` Jason Wang
  0 siblings, 0 replies; 2+ messages in thread
From: Jason Wang @ 2020-02-11  3:19 UTC (permalink / raw)
  To: Michael S. Tsirkin, linux-kernel; +Cc: virtualization


On 2020/2/7 下午3:35, Michael S. Tsirkin wrote:
> Handy for testing with distro kernels.
> Warn that the resulting module is completely unsupported,
> and isn't intended for production use.
>
> Usage:
>          make oot # builds vhost_test.ko, vhost.ko
>          make oot-clean # cleans out files created
>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> ---
>
> changes from v1:
> 	lots of refactoring
> 	disable all modules except vhost by default (more of a chance
> 						     it'll build)
> 	oot-clean target
>
>   tools/virtio/Makefile | 27 ++++++++++++++++++++++++++-
>   1 file changed, 26 insertions(+), 1 deletion(-)
>
> diff --git a/tools/virtio/Makefile b/tools/virtio/Makefile
> index 8e2a908115c2..f33f32f1d208 100644
> --- a/tools/virtio/Makefile
> +++ b/tools/virtio/Makefile
> @@ -8,7 +8,32 @@ CFLAGS += -g -O2 -Werror -Wall -I. -I../include/ -I ../../usr/include/ -Wno-poin
>   vpath %.c ../../drivers/virtio ../../drivers/vhost
>   mod:
>   	${MAKE} -C `pwd`/../.. M=`pwd`/vhost_test V=${V}
> -.PHONY: all test mod clean
> +
> +#oot: build vhost as an out of tree module for a distro kernel
> +#no effort is taken to make it actually build or work, but tends to mostly work
> +#if the distro kernel is very close to upstream
> +#unsupported! this is a development tool only, don't use the
> +#resulting modules in production!
> +OOT_KSRC=/lib/modules/$$(uname -r)/build
> +OOT_VHOST=`pwd`/../../drivers/vhost
> +#Everyone depends on vhost
> +#Tweak the below to enable more modules
> +OOT_CONFIGS=\
> +	CONFIG_VHOST=m \
> +	CONFIG_VHOST_NET=n \
> +	CONFIG_VHOST_SCSI=n \
> +	CONFIG_VHOST_VSOCK=n
> +OOT_BUILD=KCFLAGS="-I "${OOT_VHOST} ${MAKE} -C ${OOT_KSRC} V=${V}
> +oot-build:
> +	echo "UNSUPPORTED! Don't use the resulting modules in production!"
> +	${OOT_BUILD} M=`pwd`/vhost_test
> +	${OOT_BUILD} M=${OOT_VHOST} ${OOT_CONFIGS}
> +
> +oot-clean: oot-build
> +oot: oot-build
> +oot-clean: OOT_BUILD+=clean
> +
> +.PHONY: all test mod clean vhost oot oot-clean oot-build
>   clean:
>   	${RM} *.o vringh_test virtio_test vhost_test/*.o vhost_test/.*.cmd \
>                 vhost_test/Module.symvers vhost_test/modules.order *.d


Acked-by: Jason Wang <jasowang@redhat.com>



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-02-11  3:19 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-07  7:35 [PATCH v2] tools/virtio: option to build an out of tree module Michael S. Tsirkin
2020-02-11  3:19 ` Jason Wang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).