freebsd-skq/usr.sbin/bhyve
Marcelo Araujo c066c68c57 - 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
2018-07-05 03:33:58 +00:00
..
acpi.c Fix style(9) space vs tab. 2018-06-14 01:34:53 +00:00
acpi.h various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
ahci.h Fix style(9) space vs tab. 2018-06-14 01:34:53 +00:00
atkbdc.c Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
atkbdc.h Import bhyve_graphics into CURRENT. Thanks to all who tested 2016-07-04 03:19:06 +00:00
bhyve.8 - Add bhyve NVMe device emulation. 2018-07-05 03:33:58 +00:00
bhyvegc.c When this code was introduced at r300829 the author forgot to add 2018-06-13 04:00:21 +00:00
bhyvegc.h Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
bhyverun.c Convert cap_enter() < 0 && errno != ENOSYS to caph_enter() < 0. 2018-06-19 23:43:14 +00:00
bhyverun.h various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
block_if.c Fix style(9) space vs tab. 2018-06-14 01:34:53 +00:00
block_if.h - Add bhyve NVMe device emulation. 2018-07-05 03:33:58 +00:00
bootrom.c Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
bootrom.h Fix style(9) space vs tab. 2018-06-14 01:34:53 +00:00
console.c Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
console.h Fix style(9) space vs tab. 2018-06-14 01:34:53 +00:00
consport.c Fix style(9) space vs tab. 2018-06-14 01:34:53 +00:00
dbgport.c various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
dbgport.h various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
fwctl.c Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
fwctl.h Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
gdb.c Initial debug server for bhyve. 2018-05-01 15:17:46 +00:00
gdb.h Initial debug server for bhyve. 2018-05-01 15:17:46 +00:00
inout.c Fix style(9) space vs tab. 2018-06-14 01:34:53 +00:00
inout.h various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
ioapic.c various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
ioapic.h various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
iov.c - Add bhyve virtio-scsi storage backend support. 2018-06-11 02:09:20 +00:00
iov.h - Add bhyve virtio-scsi storage backend support. 2018-06-11 02:09:20 +00:00
Makefile - Add bhyve NVMe device emulation. 2018-07-05 03:33:58 +00:00
Makefile.depend DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
mem.c While I was investigating CID 1194192 related with a resource leak on mrp memory 2018-06-13 11:49:34 +00:00
mem.h Fix style(9) space vs tab. 2018-06-14 01:34:53 +00:00
mevent_test.c Fix style(9) space vs tab. 2018-06-14 01:34:53 +00:00
mevent.c Fix style(9) space vs tab. 2018-06-14 01:34:53 +00:00
mevent.h various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
mptbl.c various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
mptbl.h various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
pci_ahci.c various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
pci_e82545.c Fix style(9) space vs tab. 2018-06-14 01:34:53 +00:00
pci_emul.c Fix style(9) space vs tab. 2018-06-14 01:34:53 +00:00
pci_emul.h various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
pci_fbuf.c Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
pci_hostbridge.c various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
pci_irq.c Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
pci_irq.h Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
pci_lpc.c various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
pci_lpc.h various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
pci_nvme.c - Add bhyve NVMe device emulation. 2018-07-05 03:33:58 +00:00
pci_passthru.c various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
pci_uart.c various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
pci_virtio_block.c More style(9) fixes, space vs tab. 2018-06-11 15:18:31 +00:00
pci_virtio_console.c Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
pci_virtio_net.c Fix style(9) space vs tab. 2018-06-14 01:34:53 +00:00
pci_virtio_rnd.c Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
pci_virtio_scsi.c style(9): Fix tabs after #define. 2018-06-11 14:45:34 +00:00
pci_xhci.c Fix style(9) space vs tab. 2018-06-14 01:34:53 +00:00
pci_xhci.h Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
pm.c various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
post.c various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
ps2kbd.c Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
ps2kbd.h Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
ps2mouse.c Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
ps2mouse.h Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
rfb.c Fix style(9) space vs tab. 2018-06-14 01:34:53 +00:00
rfb.h Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
rtc.c Fix style(9) space vs tab. 2018-06-14 01:34:53 +00:00
rtc.h various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
smbiostbl.c various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
smbiostbl.h various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
sockstream.c Fix style(9) space vs tab. 2018-06-14 01:34:53 +00:00
sockstream.h Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
spinup_ap.c various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
spinup_ap.h various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
task_switch.c Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
uart_emul.c Fix style(9) space vs tab. 2018-06-14 01:34:53 +00:00
uart_emul.h various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
usb_emul.c Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
usb_emul.h Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
usb_mouse.c Fix style(9) space vs tab. 2018-06-14 01:34:53 +00:00
vga.c Add SPDX tags to bhyve(8). 2018-06-13 03:22:08 +00:00
vga.h Fix style(9) space vs tab. 2018-06-14 01:34:53 +00:00
virtio.c Fix style(9) space vs tab. 2018-06-14 01:34:53 +00:00
virtio.h Fix style(9) space vs tab. 2018-06-14 01:34:53 +00:00
xmsr.c various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
xmsr.h various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00