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
>>
>>
>