From: Kamil Rytarowski <n54@gmx.com>
To: rth@twiddle.net, ehabkost@redhat.com, slp@redhat.com,
pbonzini@redhat.com, peter.maydell@linaro.org, philmd@redhat.com,
max@m00nbsd.net, jmcneill@invisible.ca
Cc: qemu-devel@nongnu.org
Subject: Re: [PATCH v4 0/4] Implements the NetBSD Virtual Machine Monitor accelerator
Date: Mon, 2 Mar 2020 18:02:18 +0100 [thread overview]
Message-ID: <48851271-4a15-f207-ba17-335d9c9a7302@gmx.com> (raw)
In-Reply-To: <b26b1c03-cb2b-9c8b-4796-24b3b296a103@gmx.com>
Ping?
On 24.02.2020 16:17, Kamil Rytarowski wrote:
> Ping?
>
> On 17.02.2020 10:07, Kamil Rytarowski wrote:
>> Ping?
>>
>> On 06.02.2020 22:32, Kamil Rytarowski wrote:
>>> Hello QEMU Community!
>>>
>>> Over the past year the NetBSD team has been working hard on a new user-mode API
>>> for our hypervisor that will be released as part of the upcoming NetBSD 9.0.
>>> This new API adds user-mode capabilities to create and manage virtual machines,
>>> configure memory mappings for guest machines, and create and control execution
>>> of virtual processors.
>>>
>>> With this new API we are now able to bring our hypervisor to the QEMU
>>> community! The following patches implement the NetBSD Virtual Machine Monitor
>>> accelerator (NVMM) for QEMU on NetBSD 9.0 and newer hosts.
>>>
>>> When compiling QEMU for x86_64 passing the --enable-nvmm flag will compile the
>>> accelerator for use. At runtime using the '-accel nvmm' should see a
>>> significant performance improvement over emulation, much like when using 'hax'
>>> on NetBSD.
>>>
>>> The documentation for this new API is visible at https://man.netbsd.org under
>>> the libnvmm(3) and nvmm(4) pages.
>>>
>>> NVMM was designed and implemented by Maxime Villard.
>>>
>>> Thank you for your feedback.
>>>
>>> Refrences:
>>> https://m00nbsd.net/4e0798b7f2620c965d0dd9d6a7a2f296.html
>>>
>>> Test plan:
>>>
>>> 1. Download a NetBSD 9.0 pre-release snapshot:
>>> http://nycdn.netbsd.org/pub/NetBSD-daily/netbsd-9/latest/images/NetBSD-9.0_RC1-amd64.iso
>>>
>>> 2. Install it natively on a not too old x86_64 hardware (Intel or AMD).
>>>
>>> There is no support for nested virtualization in NVMM.
>>>
>>> 3. Setup the system.
>>>
>>> export PKG_PATH=http://www.ki.nu/pkgsrc/packages/current/NetBSD-9.0_RC1/All
>>> pkg_add git gmake python37 glib2 bison pkgconf pixman
>>>
>>> Install mozilla-rootcerts and follow post-install instructions.
>>>
>>> pkg_add mozilla-rootcerts
>>>
>>> More information: https://wiki.qemu.org/Hosts/BSD#NetBSD
>>>
>>> 4. Build qemu
>>>
>>> mkdir build
>>> cd build
>>> ../configure --python=python3.7
>>> gmake
>>> gmake check
>>>
>>> 5. Test
>>>
>>> qemu -accel nvmm ...
>>>
>>>
>>> History:
>>> v3 -> v4:
>>> - Correct build warning by adding a missing include
>>> - Do not set R8-R16 registers unless TARGET_X86_64
>>> v2 -> v3:
>>> - Register nvmm in targetos NetBSD check
>>> - Stop including hw/boards.h
>>> - Rephrase old code comments (remove XXX)
>>> v1 -> v2:
>>> - Included the testing plan as requested by Philippe Mathieu-Daude
>>> - Formatting nit fix in qemu-options.hx
>>> - Document NVMM in the accel section of qemu-options.hx
>>>
>>> Maxime Villard (4):
>>> Add the NVMM vcpu API
>>> Add the NetBSD Virtual Machine Monitor accelerator.
>>> Introduce the NVMM impl
>>> Add the NVMM acceleration enlightenments
>>>
>>> accel/stubs/Makefile.objs | 1 +
>>> accel/stubs/nvmm-stub.c | 43 ++
>>> configure | 37 ++
>>> cpus.c | 58 ++
>>> include/sysemu/hw_accel.h | 14 +
>>> include/sysemu/nvmm.h | 35 ++
>>> qemu-options.hx | 16 +-
>>> target/i386/Makefile.objs | 1 +
>>> target/i386/helper.c | 2 +-
>>> target/i386/nvmm-all.c | 1226 +++++++++++++++++++++++++++++++++++++
>>> 10 files changed, 1424 insertions(+), 9 deletions(-)
>>> create mode 100644 accel/stubs/nvmm-stub.c
>>> create mode 100644 include/sysemu/nvmm.h
>>> create mode 100644 target/i386/nvmm-all.c
>>>
>>> --
>>> 2.25.0
>>>
>>>
>>
>
next prev parent reply other threads:[~2020-03-02 17:06 UTC|newest]
Thread overview: 79+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20200107124903.16505-1-n54@gmx.com>
2020-01-28 14:09 ` [PATCH v2 0/4] Implements the NetBSD Virtual Machine Monitor accelerator Kamil Rytarowski
2020-01-28 14:09 ` [PATCH v2 1/4] Add the NVMM vcpu API Kamil Rytarowski
2020-02-03 11:42 ` Philippe Mathieu-Daudé
2020-01-28 14:09 ` [PATCH v2 2/4] Add the NetBSD Virtual Machine Monitor accelerator Kamil Rytarowski
2020-02-03 11:41 ` Philippe Mathieu-Daudé
2020-02-03 11:56 ` Kamil Rytarowski
2020-02-03 12:10 ` Philippe Mathieu-Daudé
2020-03-02 17:12 ` Paolo Bonzini
2020-03-02 18:05 ` Kamil Rytarowski
2020-03-02 19:14 ` Maxime Villard
2020-03-02 19:40 ` Paolo Bonzini
2020-03-02 21:10 ` Kamil Rytarowski
2020-03-02 22:45 ` Paolo Bonzini
2020-03-02 17:11 ` Paolo Bonzini
2020-03-02 18:09 ` Kamil Rytarowski
2020-01-28 14:09 ` [PATCH v2 3/4] Introduce the NVMM impl Kamil Rytarowski
2020-02-03 11:51 ` Philippe Mathieu-Daudé
2020-02-05 17:22 ` Kamil Rytarowski
2020-02-05 17:47 ` Maxime Villard
2020-01-28 14:09 ` [PATCH v2 4/4] Add the NVMM acceleration enlightenments Kamil Rytarowski
2020-02-03 11:54 ` Philippe Mathieu-Daudé
2020-02-06 10:24 ` Kamil Rytarowski
2020-02-06 12:18 ` Philippe Mathieu-Daudé
2020-02-06 13:06 ` Markus Armbruster
2020-02-06 13:09 ` Philippe Mathieu-Daudé
2020-02-06 13:31 ` Kamil Rytarowski
2020-02-06 14:13 ` Markus Armbruster
2020-02-06 15:38 ` Kamil Rytarowski
2020-02-06 16:07 ` Philippe Mathieu-Daudé
2020-02-06 16:59 ` Kamil Rytarowski
2020-02-03 9:52 ` [PATCH v2 0/4] Implements the NetBSD Virtual Machine Monitor accelerator Kamil Rytarowski
2020-02-06 11:57 ` [PATCH v3 " Kamil Rytarowski
2020-02-06 11:57 ` [PATCH v3 1/4] Add the NVMM vcpu API Kamil Rytarowski
2020-02-06 21:06 ` Jared McNeill
2020-02-06 11:57 ` [PATCH v3 2/4] Add the NetBSD Virtual Machine Monitor accelerator Kamil Rytarowski
2020-02-06 21:06 ` Jared McNeill
2020-02-06 11:57 ` [PATCH v3 3/4] Introduce the NVMM impl Kamil Rytarowski
2020-02-06 21:07 ` Jared McNeill
2020-02-06 11:57 ` [PATCH v3 4/4] Add the NVMM acceleration enlightenments Kamil Rytarowski
2020-02-06 21:07 ` Jared McNeill
2020-02-06 13:13 ` [PATCH v3 0/4] Implements the NetBSD Virtual Machine Monitor accelerator no-reply
2020-02-06 13:21 ` Kamil Rytarowski
2020-02-06 16:01 ` Philippe Mathieu-Daudé
2020-02-06 21:32 ` [PATCH v4 " Kamil Rytarowski
2020-02-06 21:32 ` [PATCH v4 1/4] Add the NVMM vcpu API Kamil Rytarowski
2020-08-11 12:47 ` [PATCH v5 " Kamil Rytarowski
2020-08-11 12:47 ` [PATCH v5 2/4] Add the NetBSD Virtual Machine Monitor accelerator Kamil Rytarowski
2020-08-11 12:47 ` [PATCH v5 3/4] Introduce the NVMM impl Kamil Rytarowski
2020-08-11 12:47 ` [PATCH v5 4/4] Add the NVMM acceleration enlightenments Kamil Rytarowski
2020-08-11 13:01 ` [PATCH v5 1/4] Add the NVMM vcpu API Kamil Rytarowski
2020-08-11 13:01 ` [PATCH v5 2/4] Add the NetBSD Virtual Machine Monitor accelerator Kamil Rytarowski
2020-08-11 13:01 ` [PATCH v5 3/4] Introduce the NVMM impl Kamil Rytarowski
2020-08-11 13:01 ` [PATCH v5 4/4] Add the NVMM acceleration enlightenments Kamil Rytarowski
2020-09-04 23:28 ` [PATCH v5 1/4] Add the NVMM vcpu API Kamil Rytarowski
2020-02-06 21:32 ` [PATCH v4 2/4] Add the NetBSD Virtual Machine Monitor accelerator Kamil Rytarowski
2020-02-06 21:32 ` [PATCH v4 3/4] Introduce the NVMM impl Kamil Rytarowski
2020-02-06 23:28 ` [PATCH v4 3/4 FIXUP] " Kamil Rytarowski
2020-03-02 18:13 ` [PATCH v4 3/4] " Paolo Bonzini
2020-03-02 19:28 ` Maxime Villard
2020-03-02 19:35 ` Paolo Bonzini
2020-03-10 6:45 ` Maxime Villard
2020-03-10 10:15 ` Kamil Rytarowski
2020-03-10 10:58 ` Paolo Bonzini
2020-03-10 19:14 ` Maxime Villard
2020-03-11 18:03 ` Paolo Bonzini
2020-03-11 20:14 ` Maxime Villard
2020-03-11 20:42 ` Paolo Bonzini
2020-03-11 21:21 ` Maxime Villard
2020-03-11 21:22 ` Kamil Rytarowski
2020-03-11 21:44 ` Paolo Bonzini
2020-03-12 7:08 ` Maxime Villard
2020-07-21 13:42 ` Kamil Rytarowski
2020-02-06 21:32 ` [PATCH v4 4/4] Add the NVMM acceleration enlightenments Kamil Rytarowski
2020-02-17 9:07 ` [PATCH v4 0/4] Implements the NetBSD Virtual Machine Monitor accelerator Kamil Rytarowski
2020-02-24 15:17 ` Kamil Rytarowski
2020-03-02 17:02 ` Kamil Rytarowski [this message]
2020-03-02 17:10 ` Eduardo Habkost
2020-03-02 17:10 ` Kamil Rytarowski
2020-03-02 17:22 ` Eduardo Habkost
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=48851271-4a15-f207-ba17-335d9c9a7302@gmx.com \
--to=n54@gmx.com \
--cc=ehabkost@redhat.com \
--cc=jmcneill@invisible.ca \
--cc=max@m00nbsd.net \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=philmd@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
--cc=slp@redhat.com \
/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).