summaryrefslogtreecommitdiffstats
path: root/configure
Commit message (Collapse)AuthorAgeFilesLines
* configure: move tests/qemu-iotests/common.env generation to mesonPaolo Bonzini2021-01-061-7/+0Star
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* meson.build: convert --with-default-devices to mesonPaolo Bonzini2021-01-061-9/+4Star
| | | | | | | Pass the boolean option directly instead of writing CONFIG_MINIKCONF_MODE to config-host.mak. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* libattr: convert to mesonPaolo Bonzini2021-01-061-41/+4Star
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* cap_ng: convert to mesonPaolo Bonzini2021-01-061-30/+4Star
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* virtfs: convert to mesonPaolo Bonzini2021-01-061-25/+4Star
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* seccomp: convert to mesonPaolo Bonzini2021-01-061-28/+4Star
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* zstd: convert to mesonPaolo Bonzini2021-01-061-26/+4Star
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* lzfse: convert to mesonPaolo Bonzini2021-01-061-27/+4Star
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* snappy: convert to mesonPaolo Bonzini2021-01-061-28/+4Star
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* lzo: convert to mesonPaolo Bonzini2021-01-061-28/+4Star
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* rbd: convert to mesonPaolo Bonzini2021-01-061-30/+4Star
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* libnfs: convert to mesonPaolo Bonzini2021-01-021-23/+4Star
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* libiscsi: convert to mesonPaolo Bonzini2021-01-021-25/+4Star
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* bzip2: convert to mesonPaolo Bonzini2021-01-021-27/+4Star
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* glusterfs: convert to mesonPaolo Bonzini2021-01-021-98/+4Star
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* curl: convert to mesonPaolo Bonzini2021-01-021-27/+4Star
| | | | | Reviewed-by: Daniel Berrangé <berrange@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* curl: remove compatibility code, require 7.29.0Paolo Bonzini2021-01-021-7/+2Star
| | | | | | | | | | | | | | cURL 7.16.0 was released in October 2006. Just remove code that is in all likelihood not being used anywhere, and require the oldest version found in currently supported distros, which is 7.29.0 from CentOS 7. pkg-config is enough for QEMU, since it does not need extra information such as the path for certicate authorities. All supported platforms today will all have pkg-config for curl, so we can drop curl-config. Suggested-by: Daniel Berrangé <berrange@redhat.com> Reviewed-by: Daniel Berrangé <berrange@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* brlapi: convert to mesonPaolo Bonzini2021-01-021-28/+4Star
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* configure: remove CONFIG_FILEVERSION and CONFIG_PRODUCTVERSIONPaolo Bonzini2021-01-021-9/+0Star
| | | | | | | version.rc can just use existing preprocessor symbols. Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* configure: accept --enable-slirpPaolo Bonzini2021-01-021-0/+2
| | | | | | | | | Meson understands -Dslirp=enabled, so there is no reason not to accept the configure option as well. Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* configure: remove variable bogus_osPaolo Bonzini2021-01-021-3/+1Star
| | | | | | | | The condition can be tested also from $targetos, clean up. Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* configure: remove useless code to check for Xen PCI passthroughPaolo Bonzini2021-01-021-12/+0Star
| | | | | | | | meson.build is already doing the same check, so remove it from configure. Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* configure,meson: support Control-Flow IntegrityDaniele Buono2021-01-021-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a flag to enable/disable control flow integrity checks on indirect function calls. This feature only allows indirect function calls at runtime to functions with compatible signatures. This feature is only provided by LLVM/Clang, and depends on link-time optimization which is currently supported only with LLVM/Clang >= 6.0 We also add an option to enable a debugging version of cfi, with verbose output in case of a CFI violation. CFI on indirect function calls does not support calls to functions in shared libraries (since they were not known at compile time), and such calls are forbidden. QEMU relies on dlopen/dlsym when using modules, so we make modules incompatible with CFI. All the checks are performed in meson.build. configure is only used to forward the flags to meson Signed-off-by: Daniele Buono <dbuono@linux.vnet.ibm.com> Message-Id: <20201204230615.2392-5-dbuono@linux.vnet.ibm.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* configure,meson: add option to enable LTODaniele Buono2021-01-021-0/+7
| | | | | | | | | | | | This patch allows to compile QEMU with link-time optimization (LTO). Compilation with LTO is handled directly by meson. This patch only adds the option in configure and forwards the request to meson Tested with all major versions of clang from 6 to 12 Signed-off-by: Daniele Buono <dbuono@linux.vnet.ibm.com> Message-Id: <20201204230615.2392-2-dbuono@linux.vnet.ibm.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* configure: document --without-default-{features,devices}Paolo Bonzini2021-01-021-0/+4
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* configure: add --without-default-featuresAlex Bennée2021-01-021-70/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By default QEMU enables a lot of features if it can probe and find the support libraries. It also enables a bunch of features by default. This patch adds the ability to build --without-default-features which can be paired with a --without-default-devices for a barely functional build. The main use case for this is testing our build assumptions and for minimising the amount of stuff you build if you just want to test a particular feature on your relatively slow emulated test system. On it's own I go from: $ ls -lh qemu-system-aarch64 -rwxr-xr-x 1 alex alex 120M Dec 10 12:45 qemu-system-aarch64* $ ldd qemu-system-aarch64 | wc -l 170 to: $ ls -lh qemu-aarch64 -rwxr-xr-x 1 alex alex 43M Dec 10 12:41 qemu-aarch64* $ ldd qemu-system-aarch64 | wc -l 57 which is still able to run my default Debian ARM64 machine with a lot less fat involved. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Acked-by: Thomas Huth <thuth@redhat.com> Acked-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <20201210190417.31673-5-alex.bennee@linaro.org>
* configure: move gettext detection to meson.buildAlex Bennée2021-01-021-16/+3Star
| | | | | | | | | This will allow meson to honour -Dauto_features=disabled later. Suggested-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Acked-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <20201210190417.31673-4-alex.bennee@linaro.org>
* configure: Compile with -Wimplicit-fallthrough=2Thomas Huth2020-12-181-0/+1
| | | | | | | | | | | | | | | | Coverity always complains about switch-case statements that fall through the next one when there is no comment in between - which could indicate a forgotten "break" statement. Instead of handling these issues after they have been committed, it would be better to avoid them in the build process already. Thus let's enable the -Wimplicit-fallthrough warning now. The "=2" level seems to be a good compromise between being too strict and too generic about the possible comments, so we'll start with "=2" for now. Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Chen Qun <kuhn.chenqun@huawei.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <20201211152426.350966-13-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
* build: -no-pie is no functional linker flagChristian Ehrhardt2020-12-151-3/+0Star
| | | | | | | | | | | | | | | | | | | | | | | | | Recent binutils changes dropping unsupported options [1] caused a build issue in regard to the optionroms. ld -m elf_i386 -T /<<PKGBUILDDIR>>/pc-bios/optionrom//flat.lds -no-pie \ -s -o multiboot.img multiboot.o ld.bfd: Error: unable to disambiguate: -no-pie (did you mean --no-pie ?) This isn't really a regression in ld.bfd, filing the bug upstream revealed that this never worked as a ld flag [2] - in fact it seems we were by accident setting --nmagic). Since it never had the wanted effect this usage of LDFLAGS_NOPIE, should be droppable without any effect. This also is the only use-case of LDFLAGS_NOPIE in .mak, therefore we can also remove it from being added there. [1]: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=983d925d [2]: https://sourceware.org/bugzilla/show_bug.cgi?id=27050#c5 Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com> Message-Id: <20201214150938.1297512-1-christian.ehrhardt@canonical.com> Cc: qemu-stable@nongnu.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* configure / meson: Move check for linux/btrfs.h to meson.buildThomas Huth2020-12-131-9/+0Star
| | | | | | | | | | | | This check can be done in a much shorter way in meson.build. And while we're at it, rename the #define to HAVE_BTRFS_H to match the other HAVE_someheader_H symbols that we already have. Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20201118171052.308191-7-thuth@redhat.com> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
* configure / meson: Move check for sys/kcov.h to meson.buildThomas Huth2020-12-131-9/+0Star
| | | | | | | | | | | | | This check can be done in a much shorter way in meson.build. And while we're at it, rename the #define to HAVE_SYS_KCOV_H to match the other HAVE_someheader_H symbols that we already have. Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20201118171052.308191-6-thuth@redhat.com> [lv: s/signal/kcov/] Signed-off-by: Laurent Vivier <laurent@vivier.eu>
* configure / meson: Move check for sys/signal.h to meson.buildThomas Huth2020-12-131-10/+0Star
| | | | | | | | | | This check can be done in a much shorter way in meson.build Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20201118171052.308191-5-thuth@redhat.com> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
* configure / meson: Move check for drm.h to meson.buildThomas Huth2020-12-131-10/+0Star
| | | | | | | | | | This check can be done in a much shorter way in meson.build Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20201118171052.308191-4-thuth@redhat.com> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
* configure / meson: Move check for pty.h to meson.buildThomas Huth2020-12-131-9/+0Star
| | | | | | | | | | This check can be done in a much shorter way in meson.build Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20201118171052.308191-3-thuth@redhat.com> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
* configure: Remove the obsolete check for ifaddrs.hThomas Huth2020-12-131-11/+0Star
| | | | | | | | | | | The code that used HAVE_IFADDRS_H has been removed in commit 0a27af918b ("io: use bind() to check for IPv4/6 availability"), so we don't need this check in the configure script anymore. Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20201118171052.308191-2-thuth@redhat.com> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
* configure: Test if $make actually existsRoman Bolshakov2020-12-131-0/+4
| | | | | | | | | | | | configure doesn't detect if $make is installed on the build host. This is also helpful for hosts where an alias for make is used, i.e. configure would fail if gmake is not present on macOS. Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20200825202755.50626-5-r.bolshakov@yadro.com> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
* fuse: Implement hole detection through lseekMax Reitz2020-12-111-1/+7
| | | | | | | | | | This is a relatively new feature in libfuse (available since 3.8.0, which was released in November 2019), so we have to add a dedicated check whether it is available before making use of it. Signed-off-by: Max Reitz <mreitz@redhat.com> Message-Id: <20201027190600.192171-7-mreitz@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
* meson: Detect libfuseMax Reitz2020-12-111-0/+7
| | | | | | Signed-off-by: Max Reitz <mreitz@redhat.com> Message-Id: <20201027190600.192171-2-mreitz@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
* configure: remove python pkg_resources checkOlaf Hering2020-11-251-3/+0Star
| | | | | | | | | Since meson.git#0240d760c7699a059cc89e584363c6431cdd2b61 setuptools is not required anymore. Signed-off-by: Olaf Hering <olaf@aepfle.de> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20201124211925.4194-1-olaf@aepfle.de> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* trace: use STAP_SDT_V2 to work around symbol visibilityStefan Hajnoczi2020-11-191-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QEMU binaries no longer launch successfully with recent SystemTap releases. This is because modular QEMU builds link the sdt semaphores into the main binary instead of into the shared objects where they are used. The symbol visibility of semaphores is 'hidden' and the dynamic linker prints an error during module loading: $ ./configure --enable-trace-backends=dtrace --enable-modules ... ... Failed to open module: /builddir/build/BUILD/qemu-4.2.0/s390x-softmmu/../block-curl.so: undefined symbol: qemu_curl_close_semaphore The long-term solution is to generate per-module dtrace .o files and link them into the module instead of the main binary. In the short term we can define STAP_SDT_V2 so dtrace(1) produces a .o file with 'default' symbol visibility instead of 'hidden'. This workaround is small and easier to merge for QEMU 5.2 and downstream backports. Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1898700 Cc: wcohen@redhat.com Cc: fche@redhat.com Cc: kraxel@redhat.com Cc: rjones@redhat.com Cc: ddepaula@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Miroslav Rezanina <mrezanin@redhat.com> Message-id: 20201119141457.844452-1-stefanha@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
* Merge remote-tracking branch ↵Peter Maydell2020-11-171-2/+9
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'remotes/pmaydell/tags/pull-target-arm-20201117' into staging target-arm queue: * hw/arm/virt: ARM_VIRT must select ARM_GIC * exynos: Fix bad printf format specifiers * hw/input/ps2.c: Remove remnants of printf debug * target/openrisc: Remove dead code attempting to check "is timer disabled" * register: Remove unnecessary NULL check * util/cutils: Fix Coverity array overrun in freq_to_str() * configure: Make "does libgio work" test pull in some actual functions * tmp105: reset the T_low and T_High registers * tmp105: Correct handling of temperature limit checks # gpg: Signature made Tue 17 Nov 2020 13:47:48 GMT # gpg: using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE # gpg: issuer "peter.maydell@linaro.org" # gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>" [ultimate] # gpg: aka "Peter Maydell <pmaydell@gmail.com>" [ultimate] # gpg: aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>" [ultimate] # Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83 15CF 3C25 25ED 1436 0CDE * remotes/pmaydell/tags/pull-target-arm-20201117: tmp105: Correct handling of temperature limit checks hw/misc/tmp105: reset the T_low and T_High registers configure: Make "does libgio work" test pull in some actual functions util/cutils: Fix Coverity array overrun in freq_to_str() register: Remove unnecessary NULL check target/openrisc: Remove dead code attempting to check "is timer disabled" hw/input/ps2.c: Remove remnants of printf debug exynos: Fix bad printf format specifiers hw/arm/virt: ARM_VIRT must select ARM_GIC Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
| * configure: Make "does libgio work" test pull in some actual functionsPeter Maydell2020-11-171-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 76346b6264a9b01979 we tried to add a configure check that the libgio pkg-config data was correct, which builds an executable linked against it. Unfortunately this doesn't catch the problem (missing static library dependency info), because a "do nothing" test source file doesn't have any symbol references that cause the linker to pull in .o files from libgio.a, and so we don't see the "missing symbols from libmount" error that a full QEMU link triggers. (The ineffective test went unnoticed because of a typo that effectively disabled libgio unconditionally, but after commit 3569a5dfc11f2 fixed that, a static link of the system emulator on Ubuntu stopped working again.) Improve the gio test by having the test source fragment reference a g_dbus function (which is what is indirectly causing us to end up wanting functions from libmount). Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Message-id: 20201116104617.18333-1-peter.maydell@linaro.org
* | Merge remote-tracking branch ↵Peter Maydell2020-11-171-2/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'remotes/huth-gitlab/tags/pull-request-2020-11-17' into staging * Fixes for compiling on Haiku, and add Haiku VM for compile-testing * Update NetBSD VM to version 9.1 * Misc fixes (e.g. categorize some devices) # gpg: Signature made Tue 17 Nov 2020 09:20:31 GMT # gpg: using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5 # gpg: issuer "thuth@redhat.com" # gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [full] # gpg: aka "Thomas Huth <thuth@redhat.com>" [full] # gpg: aka "Thomas Huth <huth@tuxfamily.org>" [full] # gpg: aka "Thomas Huth <th.huth@posteo.de>" [unknown] # Primary key fingerprint: 27B8 8847 EEE0 2501 18F3 EAB9 2ED9 D774 FE70 2DB5 * remotes/huth-gitlab/tags/pull-request-2020-11-17: max111x: put it into the 'misc' category nand: put it into the 'storage' category ads7846: put it into the 'input' category ssd0323: put it into the 'display' category gitlab-ci: Use $CI_REGISTRY instead of hard-coding registry.gitlab.com target/microblaze: Fix possible array out of bounds in mmu_write() tests/vm: update NetBSD to 9.1 tests/vm: Add Haiku test based on their vagrant images configure: Add a proper check for sys/ioccom.h and use it in tpm_ioctl.h configure: Do not build pc-bios/optionrom on Haiku configure: Fix the _BSD_SOURCE define for the Haiku build qemu/bswap: Remove unused qemu_bswap_len() Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
| * | configure: Do not build pc-bios/optionrom on HaikuThomas Huth2020-11-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Compilation of pc-bios/optionrom fails on Haiku with: BUILD pvh.img ld: pvh_main.o: in function `pvh_load_kernel': pc-bios/optionrom/pvh_main.c:73: undefined reference to `GLOBAL_OFFSET_TABLE_' Makefile:57: recipe for target 'pvh.img' failed make[1]: *** [pvh.img] Error 1 Let's simply disable it, like it is already done on macOS and Solaris. Message-Id: <20201114165137.15379-3-thuth@redhat.com> Reviewed-by: Stefan Berger <stefanb@linux.ibm.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Thomas Huth <thuth@redhat.com>
| * | configure: Fix the _BSD_SOURCE define for the Haiku buildThomas Huth2020-11-171-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | The Haiku VM that we are going to add is using _BSD_SOURCE instead of BSD_SOURCE (without initial underscore)... according to David Carlier, the BSD_SOURCE without underscore was likely a typo, so let's simply add the underscore there now. This fixes the build failure with the bswapXX() macros not being defined after including <endian.h>. Message-Id: <20201114165137.15379-2-thuth@redhat.com> Reviewed-by: Stefan Berger <stefanb@linux.ibm.com Signed-off-by: Thomas Huth <thuth@redhat.com>
* | configure: mark vhost-user Linux-onlyStefan Hajnoczi2020-11-121-5/+4Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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> Message-Id: <20201110171121.1265142-4-stefanha@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
* | meson: move vhost_user_blk_server to meson.buildStefan Hajnoczi2020-11-121-12/+4Star
|/ | | | | | | | | | | | | | | | | | | | | | | | | | The --enable/disable-vhost-user-blk-server options were implemented in ./configure. There has been confusion about them and part of the problem is that the shell syntax used for setting the default value is not easy to read. Move the option over to meson where the conditions are easier to understand: have_vhost_user_blk_server = (targetos == 'linux') if get_option('vhost_user_blk_server').enabled() if targetos != 'linux' error('vhost_user_blk_server requires linux') endif elif get_option('vhost_user_blk_server').disabled() or not have_system have_vhost_user_blk_server = false endif This patch does not change behavior. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Message-Id: <20201110171121.1265142-2-stefanha@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
* configure: surface deprecated targets in the help outputAlex Bennée2020-11-101-1/+3
| | | | | | | | | | | Show the targets but keep them separate from the main list. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20201029201449.6926-1-alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
* Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into stagingPeter Maydell2020-11-051-0/+15
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pc,pci,vhost,virtio: fixes Lots of fixes all over the place. virtio-mem and virtio-iommu patches are kind of fixes but it seems better to just make them behave sanely than try to educate users about the limitations ... Signed-off-by: Michael S. Tsirkin <mst@redhat.com> # gpg: Signature made Wed 04 Nov 2020 18:40:03 GMT # gpg: using RSA key 5D09FD0871C8F85B94CA8A0D281F0DB8D28D5469 # gpg: issuer "mst@redhat.com" # gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>" [full] # gpg: aka "Michael S. Tsirkin <mst@redhat.com>" [full] # Primary key fingerprint: 0270 606B 6F3C DF3D 0B17 0970 C350 3912 AFBE 8E67 # Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA 8A0D 281F 0DB8 D28D 5469 * remotes/mst/tags/for_upstream: (31 commits) contrib/vhost-user-blk: fix get_config() information leak block/export: fix vhost-user-blk get_config() information leak block/export: make vhost-user-blk config space little-endian configure: introduce --enable-vhost-user-blk-server libvhost-user: follow QEMU comment style vhost-blk: set features before setting inflight feature Revert "vhost-blk: set features before setting inflight feature" net: Add vhost-vdpa in show_netdevs() vhost-vdpa: Add qemu_close in vhost_vdpa_cleanup vfio: Don't issue full 2^64 unmap virtio-iommu: Set supported page size mask vfio: Set IOMMU page size as per host supported page size memory: Add interface to set iommu page size mask virtio-iommu: Add notify_flag_changed() memory region callback virtio-iommu: Add replay() memory region callback virtio-iommu: Call memory notifiers in attach/detach virtio-iommu: Add memory notifiers for map/unmap virtio-iommu: Store memory region in endpoint struct virtio-iommu: Fix virtio_iommu_mr() hw/smbios: Fix leaked fd in save_opt_one() error path ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
| * configure: introduce --enable-vhost-user-blk-serverStefan Hajnoczi2020-11-031-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make it possible to compile out the vhost-user-blk server. It is enabled by default on Linux. Note that vhost-user-server.c depends on libvhost-user, which requires CONFIG_LINUX. The CONFIG_VHOST_USER dependency was erroneous since that option controls vhost-user frontends (previously known as "master") and not device backends (previously known as "slave"). Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Message-Id: <20201027173528.213464-3-stefanha@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>