From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Cc: Jingqi Liu <jingqi.liu@intel.com>,
Joao Martins <joao.m.martins@oracle.com>
Subject: [PULL 08/31] configure: add libdaxctl support
Date: Wed, 24 Jun 2020 06:50:25 -0400 [thread overview]
Message-ID: <20200624105048.375353-8-pbonzini@redhat.com> (raw)
In-Reply-To: <20200624104917.375143-1-pbonzini@redhat.com>
From: Jingqi Liu <jingqi.liu@intel.com>
Add a pair of configure options --{enable,disable}-libdaxctl to control
whether QEMU is compiled with libdaxctl [1]. Libdaxctl is a utility
library for managing the device dax subsystem.
QEMU uses mmap(2) to maps vNVDIMM backends and aligns the mapping
address to the page size (getpagesize(2)) by default. However, some
types of backends may require an alignment different than the page
size. The 'align' option is provided to memory-backend-file to allow
users to specify the proper alignment.
For device dax (e.g., /dev/dax0.0), the 'align' option needs to match
the alignment requirement of the device dax, which can be fetched
through the APIs of libdaxctl version 57 or up.
[1] Libdaxctl is a part of ndctl project.
The project's repository is: https://github.com/pmem/ndctl
For more information about libdaxctl APIs, you can refer to the
comments in source code of: pmem/ndctl/daxctl/lib/libdaxctl.c.
Reviewed-by: Joao Martins <joao.m.martins@oracle.com>
Signed-off-by: Jingqi Liu <jingqi.liu@intel.com>
Message-Id: <20200429085011.63752-4-jingqi.liu@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/configure b/configure
index ba88fd1824..8d9435a0e0 100755
--- a/configure
+++ b/configure
@@ -517,6 +517,7 @@ plugins="no"
fuzzing="no"
rng_none="no"
secret_keyring=""
+libdaxctl=""
supported_cpu="no"
supported_os="no"
@@ -1621,6 +1622,10 @@ for opt do
;;
--disable-keyring) secret_keyring="no"
;;
+ --enable-libdaxctl) libdaxctl=yes
+ ;;
+ --disable-libdaxctl) libdaxctl=no
+ ;;
*)
echo "ERROR: unknown option $opt"
echo "Try '$0 --help' for more information"
@@ -1920,6 +1925,7 @@ disabled with --disable-FEATURE, default is enabled if available:
libpmem libpmem support
xkbcommon xkbcommon support
rng-none dummy RNG, avoid using /dev/(u)random and getrandom()
+ libdaxctl libdaxctl support
NOTE: The object files are built at the place where configure is launched
EOF
@@ -6292,6 +6298,24 @@ if test "$libpmem" != "no"; then
fi
fi
+##########################################
+# check for libdaxctl
+
+if test "$libdaxctl" != "no"; then
+ if $pkg_config --atleast-version=57 "libdaxctl"; then
+ libdaxctl="yes"
+ libdaxctl_libs=$($pkg_config --libs libdaxctl)
+ libdaxctl_cflags=$($pkg_config --cflags libdaxctl)
+ libs_softmmu="$libs_softmmu $libdaxctl_libs"
+ QEMU_CFLAGS="$QEMU_CFLAGS $libdaxctl_cflags"
+ else
+ if test "$libdaxctl" = "yes" ; then
+ feature_not_found "libdaxctl" "Install libdaxctl"
+ fi
+ libdaxctl="no"
+ fi
+fi
+
##########################################
# check for slirp
@@ -6898,6 +6922,7 @@ echo "parallels support $parallels"
echo "sheepdog support $sheepdog"
echo "capstone $capstone"
echo "libpmem support $libpmem"
+echo "libdaxctl support $libdaxctl"
echo "libudev $libudev"
echo "default devices $default_devices"
echo "plugin support $plugins"
@@ -7731,6 +7756,10 @@ if test "$libpmem" = "yes" ; then
echo "CONFIG_LIBPMEM=y" >> $config_host_mak
fi
+if test "$libdaxctl" = "yes" ; then
+ echo "CONFIG_LIBDAXCTL=y" >> $config_host_mak
+fi
+
if test "$bochs" = "yes" ; then
echo "CONFIG_BOCHS=y" >> $config_host_mak
fi
--
2.26.2
next prev parent reply other threads:[~2020-06-24 11:00 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-24 10:48 [PULL 00/31] Misc patches for 2020-06-24 Paolo Bonzini
2020-06-24 10:50 ` [PULL 01/31] kvm: support to get/set dirty log initial-all-set capability Paolo Bonzini
2020-06-24 10:50 ` [PULL 02/31] util/getauxval: Porting to FreeBSD getauxval feature Paolo Bonzini
2020-06-24 10:50 ` [PULL 03/31] libqos: usb-hcd-ehci: use 32-bit write for config register Paolo Bonzini
2020-06-24 10:50 ` [PULL 04/31] libqos: pci-pc: use 32-bit write for EJ register Paolo Bonzini
2020-06-24 10:50 ` [PULL 05/31] memory: Revert "memory: accept mismatching sizes in memory_region_access_valid" Paolo Bonzini
2020-06-24 10:50 ` [PULL 06/31] replay: notify the main loop when there are no instructions Paolo Bonzini
2020-06-24 10:50 ` [PULL 07/31] replay: synchronize on every virtual timer callback Paolo Bonzini
2020-06-24 10:50 ` Paolo Bonzini [this message]
2020-06-24 10:50 ` [PULL 09/31] exec: fetch the alignment of Linux devdax pmem character device nodes Paolo Bonzini
2020-06-24 10:50 ` [PULL 10/31] docs/nvdimm: add description of alignment requirement of device dax Paolo Bonzini
2020-06-24 10:50 ` [PULL 11/31] hw/scsi/megasas: Fix possible out-of-bounds array access in tracepoints Paolo Bonzini
2020-06-24 10:50 ` [PULL 12/31] Makefile: Install qemu-[qmp/ga]-ref.* into the directory "interop" Paolo Bonzini
2020-06-24 10:50 ` [PULL 13/31] xen: Actually fix build without passthrough Paolo Bonzini
2020-06-24 10:50 ` [PULL 14/31] target/i386: reimplement f2xm1 using floatx80 operations Paolo Bonzini
2020-07-14 14:09 ` Laszlo Ersek
2020-06-24 10:50 ` [PULL 15/31] softfloat: merge floatx80_mod and floatx80_rem Paolo Bonzini
2020-06-24 10:50 ` [PULL 16/31] softfloat: fix floatx80 remainder pseudo-denormal check for zero Paolo Bonzini
2020-06-24 10:50 ` [PULL 17/31] softfloat: do not return pseudo-denormal from floatx80 remainder Paolo Bonzini
2020-06-24 10:50 ` [PULL 18/31] softfloat: do not set denominator high bit for " Paolo Bonzini
2020-06-24 10:50 ` [PULL 19/31] softfloat: return low bits of quotient from floatx80_modrem Paolo Bonzini
2020-06-24 10:50 ` [PULL 20/31] target/i386: reimplement fprem, fprem1 using floatx80 operations Paolo Bonzini
2020-06-24 10:50 ` [PULL 21/31] target/i386: reimplement fyl2xp1 " Paolo Bonzini
2020-06-24 10:50 ` [PULL 22/31] target/i386: reimplement fyl2x " Paolo Bonzini
2020-06-24 10:50 ` [PULL 23/31] target/i386: reimplement fpatan " Paolo Bonzini
2020-06-24 10:50 ` [PULL 24/31] target/i386: Add notes for versioned CPU models Paolo Bonzini
2020-06-24 10:50 ` [PULL 25/31] osdep: Make MIN/MAX evaluate arguments only once Paolo Bonzini
2020-06-24 12:13 ` Eric Blake
2020-06-24 12:21 ` Daniel P. Berrangé
2020-06-24 13:19 ` Philippe Mathieu-Daudé
2020-06-24 10:50 ` [PULL 26/31] numa: forbid '-numa node, mem' for 5.1 and newer machine types Paolo Bonzini
2020-06-24 10:50 ` [PULL 27/31] kvm: i386: allow TSC to differ by NTP correction bounds without TSC scaling Paolo Bonzini
2020-06-24 10:50 ` [PULL 28/31] hyperv: vmbus: Remove the 2nd IRQ Paolo Bonzini
2020-06-24 10:50 ` [PULL 29/31] vmport: move compat properties to hw_compat_5_0 Paolo Bonzini
2020-06-24 10:50 ` [PULL 30/31] ibex_uart: fix XOR-as-pow Paolo Bonzini
2020-06-24 10:50 ` [PULL 31/31] i386: Mask SVM features if nested SVM is disabled Paolo Bonzini
2020-06-24 11:29 ` [PULL 00/31] Misc patches for 2020-06-24 no-reply
2020-06-25 15:50 ` Peter Maydell
2020-06-25 16:33 ` Eric Blake
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200624105048.375353-8-pbonzini@redhat.com \
--to=pbonzini@redhat.com \
--cc=jingqi.liu@intel.com \
--cc=joao.m.martins@oracle.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).