* [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).