The vhost-user protocol uses the Linux eventfd feature and is typically
connected to Linux kvm.ko ioeventfd and irqfd file descriptors. The
protocol specification in docs/interop/vhost-user.rst does not describe
how platforms without eventfd support work.
The QEMU vhost-user devices compile on other POSIX host operating
systems because eventfd usage is abstracted in QEMU. The libvhost-user
programs in contrib/ do not compile but we failed to notice since they
are not built by default.
Make it clear that vhost-user is only supported on Linux for the time
being. If someone wishes to support it on other platforms then the
details can be added to vhost-user.rst and CI jobs can test the feature
to prevent bitrot.
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
configure | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/configure b/configure
index 5ae73fa32c..ef431f86c0 100755
--- a/configure
+++ b/configure
@@ -328,7 +328,7 @@ vhost_net=""
vhost_crypto=""
vhost_scsi=""
vhost_vsock=""
-vhost_user=""
+vhost_user="no"
vhost_user_blk_server="auto"
vhost_user_fs=""
kvm="auto"
@@ -718,7 +718,6 @@ fi
case $targetos in
MINGW32*)
mingw32="yes"
- vhost_user="no"
audio_possible_drivers="dsound sdl"
if check_include dsound.h; then
audio_drv_list="dsound"
@@ -797,6 +796,7 @@ Linux)
audio_possible_drivers="oss alsa sdl pa"
linux="yes"
linux_user="yes"
+ vhost_user="yes"
;;
esac
@@ -2339,9 +2339,8 @@ fi
# vhost interdependencies and host support
# vhost backends
-test "$vhost_user" = "" && vhost_user=yes
-if test "$vhost_user" = "yes" && test "$mingw32" = "yes"; then
- error_exit "vhost-user isn't available on win32"
+if test "$vhost_user" = "yes" && test "$linux" != "yes"; then
+ error_exit "vhost-user is only available on Linux"
fi
test "$vhost_vdpa" = "" && vhost_vdpa=$linux
if test "$vhost_vdpa" = "yes" && test "$linux" != "yes"; then
--
2.28.0
On 10/11/2020 18.11, Stefan Hajnoczi wrote: > The vhost-user protocol uses the Linux eventfd feature and is typically > connected to Linux kvm.ko ioeventfd and irqfd file descriptors. The > protocol specification in docs/interop/vhost-user.rst does not describe > how platforms without eventfd support work. > > The QEMU vhost-user devices compile on other POSIX host operating > systems because eventfd usage is abstracted in QEMU. The libvhost-user > programs in contrib/ do not compile but we failed to notice since they > are not built by default. > > Make it clear that vhost-user is only supported on Linux for the time > being. If someone wishes to support it on other platforms then the > details can be added to vhost-user.rst and CI jobs can test the feature > to prevent bitrot. > > Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> > --- > configure | 9 ++++----- > 1 file changed, 4 insertions(+), 5 deletions(-) > > diff --git a/configure b/configure > index 5ae73fa32c..ef431f86c0 100755 > --- a/configure > +++ b/configure > @@ -328,7 +328,7 @@ vhost_net="" > vhost_crypto="" > vhost_scsi="" > vhost_vsock="" > -vhost_user="" > +vhost_user="no" > vhost_user_blk_server="auto" > vhost_user_fs="" > kvm="auto" > @@ -718,7 +718,6 @@ fi > case $targetos in > MINGW32*) > mingw32="yes" > - vhost_user="no" > audio_possible_drivers="dsound sdl" > if check_include dsound.h; then > audio_drv_list="dsound" > @@ -797,6 +796,7 @@ Linux) > audio_possible_drivers="oss alsa sdl pa" > linux="yes" > linux_user="yes" > + vhost_user="yes" > ;; > esac > > @@ -2339,9 +2339,8 @@ fi > # vhost interdependencies and host support > > # vhost backends > -test "$vhost_user" = "" && vhost_user=yes > -if test "$vhost_user" = "yes" && test "$mingw32" = "yes"; then > - error_exit "vhost-user isn't available on win32" > +if test "$vhost_user" = "yes" && test "$linux" != "yes"; then > + error_exit "vhost-user is only available on Linux" > fi > test "$vhost_vdpa" = "" && vhost_vdpa=$linux > if test "$vhost_vdpa" = "yes" && test "$linux" != "yes"; then > Reviewed-by: Thomas Huth <thuth@redhat.com>
On 11/10/20 6:11 PM, Stefan Hajnoczi wrote: > The vhost-user protocol uses the Linux eventfd feature and is typically > connected to Linux kvm.ko ioeventfd and irqfd file descriptors. The > protocol specification in docs/interop/vhost-user.rst does not describe > how platforms without eventfd support work. > > The QEMU vhost-user devices compile on other POSIX host operating > systems because eventfd usage is abstracted in QEMU. The libvhost-user > programs in contrib/ do not compile but we failed to notice since they > are not built by default. > > Make it clear that vhost-user is only supported on Linux for the time > being. If someone wishes to support it on other platforms then the > details can be added to vhost-user.rst and CI jobs can test the feature > to prevent bitrot. > > Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> > --- > configure | 9 ++++----- > 1 file changed, 4 insertions(+), 5 deletions(-) Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
© 2016 - 2026 Red Hat, Inc.