- Add bhyve NVMe device emulation.
authorMarcelo Araujo <araujo@FreeBSD.org>
Thu, 5 Jul 2018 03:33:58 +0000 (03:33 +0000)
committerMarcelo Araujo <araujo@FreeBSD.org>
Thu, 5 Jul 2018 03:33:58 +0000 (03:33 +0000)
commitc066c68c57f812f5dfe22cad38108d1668c49124
tree33b4a19e4d7de4d46bfce308e3c54a33f0091c59
parent3d07f894504d6ff240b45236072e4d238625780d
- Add bhyve NVMe device emulation.

The initial work on bhyve NVMe device emulation was done by the GSoC student
Shunsuke Mie and was heavily modified in performan, functionality and
guest support by Leon Dang.

bhyve:
-s <n>,nvme,devpath,maxq=#,qsz=#,ioslots=#,sectsz=#,ser=A-Z

accepted devpath:
/dev/blockdev
/path/to/image
ram=size_in_MiB

Tested with guest OS: FreeBSD Head, Linux Fedora fc27, Ubuntu 18.04,
                      OpenSuse 15.0, Windows Server 2016 Datacenter.
Tested with all accepted device paths: Real nvme, zdev and also with ram.
Tested on: AMD Ryzen Threadripper 1950X 16-Core Processor and
           Intel(R) Xeon(R) CPU E5-2609 v2 @ 2.50GHz.

Tests at: https://people.freebsd.org/~araujo/bhyve_nvme/nvme.txt

Submitted by: Shunsuke Mie <sux2mfgj_gmail.com>,
Leon Dang <leon_digitalmsx.com>
Reviewed by: chuck (early version), grehan
Relnotes: Yes
Sponsored by: iXsystems Inc.
Differential Revision: https://reviews.freebsd.org/D14022
usr.sbin/bhyve/Makefile
usr.sbin/bhyve/bhyve.8
usr.sbin/bhyve/block_if.h
usr.sbin/bhyve/pci_nvme.c [new file with mode: 0644]