From: Sergio Lopez <slp@redhat.com>
To: Kamil Rytarowski <n54@gmx.com>
Cc: pbonzini@redhat.com, qemu-devel@nongnu.org,
Maxime Villard <max@m00nbsd.net>,
peter.maydell@linaro.org
Subject: Re: [PATCH 2/4] Add the NetBSD Virtual Machine Monitor accelerator.
Date: Tue, 28 Jan 2020 09:54:38 +0100 [thread overview]
Message-ID: <20200128085438.hhz3f55bow75zl35@dritchie> (raw)
In-Reply-To: <20200107125401.18126-3-n54@gmx.com>
[-- Attachment #1: Type: text/plain, Size: 5203 bytes --]
On Tue, Jan 07, 2020 at 01:53:59PM +0100, Kamil Rytarowski wrote:
> From: Maxime Villard <max@m00nbsd.net>
>
> Introduces the configure support for the new NetBSD Virtual Machine Monitor that
> allows for hypervisor acceleration from usermode components on the NetBSD
> platform.
>
> Signed-off-by: Maxime Villard <max@m00nbsd.net>
> Signed-off-by: Kamil Rytarowski <n54@gmx.com>
> ---
> configure | 36 ++++++++++++++++++++++++++++++++++++
> qemu-options.hx | 4 ++--
> 2 files changed, 38 insertions(+), 2 deletions(-)
>
> diff --git a/configure b/configure
> index 0ce2c0354a..eb456a271e 100755
> --- a/configure
> +++ b/configure
> @@ -241,6 +241,17 @@ supported_whpx_target() {
> return 1
> }
>
> +supported_nvmm_target() {
> + test "$nvmm" = "yes" || return 1
> + glob "$1" "*-softmmu" || return 1
> + case "${1%-softmmu}" in
> + i386|x86_64)
> + return 0
> + ;;
> + esac
> + return 1
> +}
> +
> supported_target() {
> case "$1" in
> *-softmmu)
> @@ -268,6 +279,7 @@ supported_target() {
> supported_hax_target "$1" && return 0
> supported_hvf_target "$1" && return 0
> supported_whpx_target "$1" && return 0
> + supported_nvmm_target "$1" && return 0
> print_error "TCG disabled, but hardware accelerator not available for '$target'"
> return 1
> }
> @@ -387,6 +399,7 @@ kvm="no"
> hax="no"
> hvf="no"
> whpx="no"
> +nvmm="no"
> rdma=""
> pvrdma=""
> gprof="no"
> @@ -1168,6 +1181,10 @@ for opt do
> ;;
> --enable-whpx) whpx="yes"
> ;;
> + --disable-nvmm) nvmm="no"
> + ;;
> + --enable-nvmm) nvmm="yes"
> + ;;
> --disable-tcg-interpreter) tcg_interpreter="no"
> ;;
> --enable-tcg-interpreter) tcg_interpreter="yes"
> @@ -1768,6 +1785,7 @@ disabled with --disable-FEATURE, default is enabled if available:
> hax HAX acceleration support
> hvf Hypervisor.framework acceleration support
> whpx Windows Hypervisor Platform acceleration support
> + nvmm NetBSD Virtual Machine Monitor acceleration support
> rdma Enable RDMA-based migration
> pvrdma Enable PVRDMA support
> vde support for vde network
> @@ -2757,6 +2775,20 @@ if test "$whpx" != "no" ; then
> fi
> fi
>
> +##########################################
> +# NetBSD Virtual Machine Monitor (NVMM) accelerator check
> +if test "$nvmm" != "no" ; then
> + if check_include "nvmm.h" ; then
> + nvmm="yes"
> + LIBS="-lnvmm $LIBS"
> + else
> + if test "$nvmm" = "yes"; then
> + feature_not_found "NVMM" "NVMM is not available"
> + fi
> + nvmm="no"
> + fi
> +fi
> +
> ##########################################
> # Sparse probe
> if test "$sparse" != "no" ; then
> @@ -6495,6 +6527,7 @@ echo "KVM support $kvm"
> echo "HAX support $hax"
> echo "HVF support $hvf"
> echo "WHPX support $whpx"
> +echo "NVMM support $nvmm"
> echo "TCG support $tcg"
> if test "$tcg" = "yes" ; then
> echo "TCG debug enabled $debug_tcg"
> @@ -7771,6 +7804,9 @@ fi
> if test "$target_aligned_only" = "yes" ; then
> echo "TARGET_ALIGNED_ONLY=y" >> $config_target_mak
> fi
> +if supported_nvmm_target $target; then
> + echo "CONFIG_NVMM=y" >> $config_target_mak
> +fi
> if test "$target_bigendian" = "yes" ; then
> echo "TARGET_WORDS_BIGENDIAN=y" >> $config_target_mak
> fi
> diff --git a/qemu-options.hx b/qemu-options.hx
> index e9d6231438..f2dbac68ef 100644
> --- a/qemu-options.hx
> +++ b/qemu-options.hx
> @@ -31,7 +31,7 @@ DEF("machine", HAS_ARG, QEMU_OPTION_machine, \
> "-machine [type=]name[,prop[=value][,...]]\n"
> " selects emulated machine ('-machine help' for list)\n"
> " property accel=accel1[:accel2[:...]] selects accelerator\n"
> - " supported accelerators are kvm, xen, hax, hvf, whpx or tcg (default: tcg)\n"
> + " supported accelerators are kvm, xen, hax, hvf, nvmm, whpx or tcg (default: tcg)\n"
> " vmport=on|off|auto controls emulation of vmport (default: auto)\n"
> " dump-guest-core=on|off include guest memory in a core dump (default=on)\n"
> " mem-merge=on|off controls memory merge support (default: on)\n"
> @@ -63,7 +63,7 @@ Supported machine properties are:
> @table @option
> @item accel=@var{accels1}[:@var{accels2}[:...]]
> This is used to enable an accelerator. Depending on the target architecture,
> -kvm, xen, hax, hvf, whpx or tcg can be available. By default, tcg is used. If there is
> +kvm, xen, hax, hvf, nvmm, whpx or tcg can be available. By default, tcg is used. If there is
Nitpick, but I think it'd be better to end the line at "tcg is used."
and rearrange the paragraph, to avoid such a long line.
> more than one accelerator specified, the next one is used if the previous one
> fails to initialize.
> @item vmport=on|off|auto
Please update the section for "accel" option too.
Sergio.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2020-01-28 8:55 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-07 12:53 [PATCH 0/4] Implements the NetBSD Virtual Machine Monitor accelerator Kamil Rytarowski
2020-01-07 12:53 ` [PATCH 1/4] Add the NVMM vcpu API Kamil Rytarowski
2020-01-28 8:32 ` Sergio Lopez
2020-01-07 12:53 ` [PATCH 2/4] Add the NetBSD Virtual Machine Monitor accelerator Kamil Rytarowski
2020-01-28 8:54 ` Sergio Lopez [this message]
2020-01-28 10:51 ` [PATCH v2 " Kamil Rytarowski
2020-01-28 13:20 ` Sergio Lopez
2020-01-07 12:54 ` [PATCH 3/4] Introduce the NVMM impl Kamil Rytarowski
2020-01-28 8:58 ` Sergio Lopez
2020-01-07 12:54 ` [PATCH 4/4] Add the NVMM acceleration enlightenments Kamil Rytarowski
2020-01-28 9:04 ` Sergio Lopez
2020-01-15 13:14 ` [PATCH 0/4] Implements the NetBSD Virtual Machine Monitor accelerator Kamil Rytarowski
2020-01-27 16:01 ` Kamil Rytarowski
2020-01-28 9:10 ` Sergio Lopez
2020-01-28 11:11 ` Kamil Rytarowski
2020-01-28 12:08 ` Sergio Lopez
2020-01-28 12:12 ` Kamil Rytarowski
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=20200128085438.hhz3f55bow75zl35@dritchie \
--to=slp@redhat.com \
--cc=max@m00nbsd.net \
--cc=n54@gmx.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--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).