svn commit: r368638 - stable/12/sys/dev/nvme

2020-12-14 Thread Chuck Tuffli
Author: chuck Date: Mon Dec 14 17:18:59 2020 New Revision: 368638 URL: https://svnweb.freebsd.org/changeset/base/368638 Log: MFC r368275: nvme: Fix typo in definition Modified: stable/12/sys/dev/nvme/nvme.h stable/12/sys/dev/nvme/nvme_qpair.c Directory Properties: stable/12/ (props chan

svn commit: r368637 - stable/12/usr.sbin/bhyve

2020-12-14 Thread Chuck Tuffli
Author: chuck Date: Mon Dec 14 17:12:48 2020 New Revision: 368637 URL: https://svnweb.freebsd.org/changeset/base/368637 Log: MFC r364602: bhyve: NVMe set nominal health values Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: stable/12/ (props changed) Modified: stable/

svn commit: r368275 - head/sys/dev/nvme

2020-12-02 Thread Chuck Tuffli
Author: chuck Date: Wed Dec 2 15:59:08 2020 New Revision: 368275 URL: https://svnweb.freebsd.org/changeset/base/368275 Log: nvme: Fix typo in definition Change occurrences of "selt test" to "self tests in the NVMe header file. Reviewed by: imp, mav MFC after:1 week Differen

svn commit: r364603 - head/usr.sbin/bhyve

2020-08-23 Thread Chuck Tuffli
Author: chuck Date: Mon Aug 24 01:51:21 2020 New Revision: 364603 URL: https://svnweb.freebsd.org/changeset/base/364603 Log: bhyve: NVMe queue create must init head/tail The NVMe emulation code did not explicitly initialize queue head and tail pointers on queue creation. As these pointers

svn commit: r364602 - head/usr.sbin/bhyve

2020-08-23 Thread Chuck Tuffli
Author: chuck Date: Mon Aug 24 01:51:17 2020 New Revision: 364602 URL: https://svnweb.freebsd.org/changeset/base/364602 Log: bhyve: NVMe set nominal health values Some operating systems believe bhyve's emulated NVMe drive is failing based on certain values in the SMART / Health Informatio

svn commit: r363359 - stable/12/usr.sbin/bhyve

2020-07-19 Thread Chuck Tuffli
Author: chuck Date: Mon Jul 20 00:44:27 2020 New Revision: 363359 URL: https://svnweb.freebsd.org/changeset/base/363359 Log: MFC r362766 bhyve: fix NVMe Active Namespace list Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: stable/12/ (props changed) Modified: stable/1

svn commit: r363358 - stable/12/usr.sbin/bhyve

2020-07-19 Thread Chuck Tuffli
Author: chuck Date: Mon Jul 20 00:42:34 2020 New Revision: 363358 URL: https://svnweb.freebsd.org/changeset/base/363358 Log: MFC r362765 bhyve: NVMe handle zero length DSM ranges Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: stable/12/ (props changed) Modified: stab

svn commit: r363357 - stable/12/usr.sbin/bhyve

2020-07-19 Thread Chuck Tuffli
Author: chuck Date: Mon Jul 20 00:39:54 2020 New Revision: 363357 URL: https://svnweb.freebsd.org/changeset/base/363357 Log: MFC r362764 bhyve: fix NVMe Get Features, Predictable Latency Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: stable/12/ (props changed) Modifi

svn commit: r363356 - stable/12/usr.sbin/bhyve

2020-07-19 Thread Chuck Tuffli
Author: chuck Date: Mon Jul 20 00:38:21 2020 New Revision: 363356 URL: https://svnweb.freebsd.org/changeset/base/363356 Log: MFC r362763 bhyve: add NVMe Feature Interrupt Vector Config Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: stable/12/ (props changed) Modified

svn commit: r363355 - stable/12/usr.sbin/bhyve

2020-07-19 Thread Chuck Tuffli
Author: chuck Date: Mon Jul 20 00:35:42 2020 New Revision: 363355 URL: https://svnweb.freebsd.org/changeset/base/363355 Log: MFC r362762 bhyve: add basic NVMe Firmware Commit support Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: stable/12/ (props changed) Modified:

svn commit: r363354 - stable/12/usr.sbin/bhyve

2020-07-19 Thread Chuck Tuffli
Author: chuck Date: Mon Jul 20 00:33:16 2020 New Revision: 363354 URL: https://svnweb.freebsd.org/changeset/base/363354 Log: MFC r362761 bhyve: Add AER support to NVMe emulation Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: stable/12/ (props changed) Modified: stabl

svn commit: r363353 - stable/12/usr.sbin/bhyve

2020-07-19 Thread Chuck Tuffli
Author: chuck Date: Mon Jul 20 00:20:55 2020 New Revision: 363353 URL: https://svnweb.freebsd.org/changeset/base/363353 Log: MFC r362760 bhyve: validate the NVMe LBA start and count Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: stable/12/ (props changed) Modified: s

svn commit: r363349 - stable/12/usr.sbin/bhyve

2020-07-19 Thread Chuck Tuffli
Author: chuck Date: Sun Jul 19 23:45:49 2020 New Revision: 363349 URL: https://svnweb.freebsd.org/changeset/base/363349 Log: MFC r362759 bhyve: implement NVMe SMART data I/O statistics Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: stable/12/ (props changed) Modified

svn commit: r363348 - stable/12/usr.sbin/bhyve

2020-07-19 Thread Chuck Tuffli
Author: chuck Date: Sun Jul 19 23:42:46 2020 New Revision: 363348 URL: https://svnweb.freebsd.org/changeset/base/363348 Log: MFC r362758 bhyve: validate NVMe deallocate range values Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: stable/12/ (props changed) Modified: s

svn commit: r363347 - stable/12/usr.sbin/bhyve

2020-07-19 Thread Chuck Tuffli
Author: chuck Date: Sun Jul 19 23:40:34 2020 New Revision: 363347 URL: https://svnweb.freebsd.org/changeset/base/363347 Log: MFC r362757 bhyve: base pci_nvme_ioreq size on advertised MDTS Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: stable/12/ (props changed) Modif

svn commit: r363346 - stable/12/usr.sbin/bhyve

2020-07-19 Thread Chuck Tuffli
Author: chuck Date: Sun Jul 19 23:37:19 2020 New Revision: 363346 URL: https://svnweb.freebsd.org/changeset/base/363346 Log: MFC r362756 bhyve: refactor NVMe I/O read/write Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: stable/12/ (props changed) Modified: stable/12/

svn commit: r363344 - stable/12/usr.sbin/bhyve

2020-07-19 Thread Chuck Tuffli
Author: chuck Date: Sun Jul 19 23:34:01 2020 New Revision: 363344 URL: https://svnweb.freebsd.org/changeset/base/363344 Log: MFC r362755 bhyve: implement NVMe Format NVM command Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: stable/12/ (props changed) Modified: stabl

svn commit: r363343 - stable/12/usr.sbin/bhyve

2020-07-19 Thread Chuck Tuffli
Author: chuck Date: Sun Jul 19 23:29:34 2020 New Revision: 363343 URL: https://svnweb.freebsd.org/changeset/base/363343 Log: MFC r362754 bhyve: make unsupported NVMe commands a debug message Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: stable/12/ (props changed) Mo

svn commit: r363342 - stable/12/usr.sbin/bhyve

2020-07-19 Thread Chuck Tuffli
Author: chuck Date: Sun Jul 19 23:27:11 2020 New Revision: 363342 URL: https://svnweb.freebsd.org/changeset/base/363342 Log: MFC r362753 bhyve: add more compliant NVMe Get/Set Features Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: stable/12/ (props changed) Modified

svn commit: r363341 - stable/12/usr.sbin/bhyve

2020-07-19 Thread Chuck Tuffli
Author: chuck Date: Sun Jul 19 23:24:06 2020 New Revision: 363341 URL: https://svnweb.freebsd.org/changeset/base/363341 Log: MFC r362752 bhyve: fix NVMe queue creation and deletion Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: stable/12/ (props changed) Modified: st

svn commit: r363340 - stable/12/usr.sbin/bhyve

2020-07-19 Thread Chuck Tuffli
Author: chuck Date: Sun Jul 19 23:20:57 2020 New Revision: 363340 URL: https://svnweb.freebsd.org/changeset/base/363340 Log: MFC r362751 bhyve: fix NVMe Get Log Page command Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: stable/12/ (props changed) Modified: stable/12

svn commit: r363338 - stable/12/usr.sbin/bhyve

2020-07-19 Thread Chuck Tuffli
Author: chuck Date: Sun Jul 19 23:17:43 2020 New Revision: 363338 URL: https://svnweb.freebsd.org/changeset/base/363338 Log: MFC r362750 bhyve: implement NVMe Namespace Identification Descriptor Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: stable/12/ (props changed)

svn commit: r363337 - stable/12/usr.sbin/bhyve

2020-07-19 Thread Chuck Tuffli
Author: chuck Date: Sun Jul 19 22:58:11 2020 New Revision: 363337 URL: https://svnweb.freebsd.org/changeset/base/363337 Log: MFC r362749 bhyve: Consolidate NVMe CQ update Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: stable/12/ (props changed) Modified: stable/12/us

svn commit: r363336 - stable/12/usr.sbin/bhyve

2020-07-19 Thread Chuck Tuffli
Author: chuck Date: Sun Jul 19 22:55:52 2020 New Revision: 363336 URL: https://svnweb.freebsd.org/changeset/base/363336 Log: MFC r362748 bhyve: add locks around NVMe queue accesses Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: stable/12/ (props changed) Modified: st

svn commit: r363335 - stable/12/usr.sbin/bhyve

2020-07-19 Thread Chuck Tuffli
Author: chuck Date: Sun Jul 19 22:52:42 2020 New Revision: 363335 URL: https://svnweb.freebsd.org/changeset/base/363335 Log: MFC r362747 bhyve: add a comment explaining NVME dsm option Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: stable/12/ (props changed) Modified

svn commit: r363334 - stable/12/usr.sbin/bhyve

2020-07-19 Thread Chuck Tuffli
Author: chuck Date: Sun Jul 19 22:40:02 2020 New Revision: 363334 URL: https://svnweb.freebsd.org/changeset/base/363334 Log: MFC r362746 bhyve: implement NVMe Flush command Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: stable/12/ (props changed) Modified: stable/12/

svn commit: r363333 - stable/12/usr.sbin/bhyve

2020-07-19 Thread Chuck Tuffli
@@ * * Copyright (c) 2017 Shunsuke Mie * Copyright (c) 2018 Leon Dang + * Copyright (c) 2020 Chuck Tuffli * * Function crc16 Copyright (c) 2017, Fedor Uporov * Obtained from function ext2_crc16() in sys/fs/ext2fs/ext2_csum.c @@ -1385,6 +1386,122 @@ pci_nvme_io_partial(struct blockif_req *br

svn commit: r363332 - stable/12/usr.sbin/bhyve

2020-07-19 Thread Chuck Tuffli
Author: chuck Date: Sun Jul 19 22:27:15 2020 New Revision: 363332 URL: https://svnweb.freebsd.org/changeset/base/363332 Log: MFC 362744 bhyve: convert NVMe logging statements Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: stable/12/ (props changed) Modified: stable/1

svn commit: r363331 - stable/12/sys/dev/pci

2020-07-19 Thread Chuck Tuffli
Author: chuck Date: Sun Jul 19 22:23:54 2020 New Revision: 363331 URL: https://svnweb.freebsd.org/changeset/base/363331 Log: MFC r362027 pci: loosen PCIe hot-plug requirements Modified: stable/12/sys/dev/pci/pci_pci.c Directory Properties: stable/12/ (props changed) Modified: stable/12/s

svn commit: r362748 - head/usr.sbin/bhyve

2020-06-28 Thread Chuck Tuffli
Author: chuck Date: Mon Jun 29 00:31:24 2020 New Revision: 362748 URL: https://svnweb.freebsd.org/changeset/base/362748 Log: bhyve: add locks around NVMe queue accesses The NVMe code attempted to ensure thread safety through a combination of using atomics and a "busy" flag. But this appro

svn commit: r362761 - head/usr.sbin/bhyve

2020-06-28 Thread Chuck Tuffli
Author: chuck Date: Mon Jun 29 00:32:08 2020 New Revision: 362761 URL: https://svnweb.freebsd.org/changeset/base/362761 Log: bhyve: Add AER support to NVMe emulation This adds support to bhyve's NVMe device emulation for processing Async Event Requests but not returning them (i.e. Async E

svn commit: r362752 - head/usr.sbin/bhyve

2020-06-28 Thread Chuck Tuffli
Author: chuck Date: Mon Jun 29 00:31:37 2020 New Revision: 362752 URL: https://svnweb.freebsd.org/changeset/base/362752 Log: bhyve: fix NVMe queue creation and deletion Add checks for various types of invalid I/O Queue Create and Delete command parameters, including: - QID=0 - QID>M

svn commit: r362759 - head/usr.sbin/bhyve

2020-06-28 Thread Chuck Tuffli
Author: chuck Date: Mon Jun 29 00:32:01 2020 New Revision: 362759 URL: https://svnweb.freebsd.org/changeset/base/362759 Log: bhyve: implement NVMe SMART data I/O statistics SMART data in NVMe includes statistics for number of read and write commands issued as well as the number of "data u

svn commit: r362763 - head/usr.sbin/bhyve

2020-06-28 Thread Chuck Tuffli
Author: chuck Date: Mon Jun 29 00:32:15 2020 New Revision: 362763 URL: https://svnweb.freebsd.org/changeset/base/362763 Log: bhyve: add NVMe Feature Interrupt Vector Config This adds support for NVMe Get Features, Interrupt Vector Config parameter error checking done by the UNH compliance

svn commit: r362757 - head/usr.sbin/bhyve

2020-06-28 Thread Chuck Tuffli
Author: chuck Date: Mon Jun 29 00:31:54 2020 New Revision: 362757 URL: https://svnweb.freebsd.org/changeset/base/362757 Log: bhyve: base pci_nvme_ioreq size on advertised MDTS NVMe controllers advertise their Max Data Transfer Size (MDTS) to limit the number of page descriptors in an I/O

svn commit: r362765 - head/usr.sbin/bhyve

2020-06-28 Thread Chuck Tuffli
Author: chuck Date: Mon Jun 29 00:32:21 2020 New Revision: 362765 URL: https://svnweb.freebsd.org/changeset/base/362765 Log: bhyve: NVMe handle zero length DSM ranges Dataset Management range specifications may have a zero length (a.k.a. an empty range definition). Handle the case of all

svn commit: r362762 - head/usr.sbin/bhyve

2020-06-28 Thread Chuck Tuffli
Author: chuck Date: Mon Jun 29 00:32:11 2020 New Revision: 362762 URL: https://svnweb.freebsd.org/changeset/base/362762 Log: bhyve: add basic NVMe Firmware Commit support This commit updates the Identify Controller data to advertise the Controller supports a single firmware slot and that

svn commit: r362758 - head/usr.sbin/bhyve

2020-06-28 Thread Chuck Tuffli
Author: chuck Date: Mon Jun 29 00:31:58 2020 New Revision: 362758 URL: https://svnweb.freebsd.org/changeset/base/362758 Log: bhyve: validate NVMe deallocate range values For NVMe emulation, validate the Data Set Management LBA ranges do not exceed the capacity of the backing storage. If t

svn commit: r362755 - head/usr.sbin/bhyve

2020-06-28 Thread Chuck Tuffli
Author: chuck Date: Mon Jun 29 00:31:47 2020 New Revision: 362755 URL: https://svnweb.freebsd.org/changeset/base/362755 Log: bhyve: implement NVMe Format NVM command The Format NVM command mainly allows the host to specify the block size and protection information used for the Namespace.

svn commit: r362754 - head/usr.sbin/bhyve

2020-06-28 Thread Chuck Tuffli
Author: chuck Date: Mon Jun 29 00:31:44 2020 New Revision: 362754 URL: https://svnweb.freebsd.org/changeset/base/362754 Log: bhyve: make unsupported NVMe commands a debug message Tested by:Jason Tubnor MFC after:2 weeks Differential Revision: https://reviews.freebsd.org/D24888

svn commit: r362764 - head/usr.sbin/bhyve

2020-06-28 Thread Chuck Tuffli
Author: chuck Date: Mon Jun 29 00:32:18 2020 New Revision: 362764 URL: https://svnweb.freebsd.org/changeset/base/362764 Log: bhyve: fix NVMe Get Features, Predictable Latency If the Predictable Latency Mode is not supported, NVMe Controllers must return Invalid Field in Command status for

svn commit: r362760 - head/usr.sbin/bhyve

2020-06-28 Thread Chuck Tuffli
Author: chuck Date: Mon Jun 29 00:32:04 2020 New Revision: 362760 URL: https://svnweb.freebsd.org/changeset/base/362760 Log: bhyve: validate the NVMe LBA start and count Add checks that the combination of Starting LBA and Number of Logical Blocks in a command will not exceed the range of

svn commit: r362766 - head/usr.sbin/bhyve

2020-06-28 Thread Chuck Tuffli
Author: chuck Date: Mon Jun 29 00:32:24 2020 New Revision: 362766 URL: https://svnweb.freebsd.org/changeset/base/362766 Log: bhyve: fix NVMe Active Namespace list The NVMe specification requires unused entries in the Identify, Active Namespace ID data to be zero. Fix is bzero the provided

svn commit: r362753 - head/usr.sbin/bhyve

2020-06-28 Thread Chuck Tuffli
Author: chuck Date: Mon Jun 29 00:31:41 2020 New Revision: 362753 URL: https://svnweb.freebsd.org/changeset/base/362753 Log: bhyve: add more compliant NVMe Get/Set Features Create a generic Get/Set Features by saving off the contents of CDW11 from the Set command and returning the saved v

svn commit: r362751 - head/usr.sbin/bhyve

2020-06-28 Thread Chuck Tuffli
Author: chuck Date: Mon Jun 29 00:31:34 2020 New Revision: 362751 URL: https://svnweb.freebsd.org/changeset/base/362751 Log: bhyve: fix NVMe Get Log Page command Fix the logic in nvme_opc_get_log_page to calculate the number of DWORDS (uint32_t) instead of WORDS (uint16_t) for the byte le

svn commit: r362750 - head/usr.sbin/bhyve

2020-06-28 Thread Chuck Tuffli
Author: chuck Date: Mon Jun 29 00:31:30 2020 New Revision: 362750 URL: https://svnweb.freebsd.org/changeset/base/362750 Log: bhyve: implement NVMe Namespace Identification Descriptor NVMe 1.3 compliant controllers must implement the Namespace Identification Descriptor structure (i.e. CNS=

svn commit: r362747 - head/usr.sbin/bhyve

2020-06-28 Thread Chuck Tuffli
Author: chuck Date: Mon Jun 29 00:31:20 2020 New Revision: 362747 URL: https://svnweb.freebsd.org/changeset/base/362747 Log: bhyve: add a comment explaining NVME dsm option Tested by:Jason Tubnor MFC after:2 weeks Differential Revision: https://reviews.freebsd.org/D24881 Modifi

svn commit: r362756 - head/usr.sbin/bhyve

2020-06-28 Thread Chuck Tuffli
Author: chuck Date: Mon Jun 29 00:31:51 2020 New Revision: 362756 URL: https://svnweb.freebsd.org/changeset/base/362756 Log: bhyve: refactor NVMe I/O read/write Split the NVM I/O function (i.e. nvme_opc_write_read) into separate functions - one for RAM based backing-store and another for

svn commit: r362749 - head/usr.sbin/bhyve

2020-06-28 Thread Chuck Tuffli
Author: chuck Date: Mon Jun 29 00:31:27 2020 New Revision: 362749 URL: https://svnweb.freebsd.org/changeset/base/362749 Log: bhyve: Consolidate NVMe CQ update Consolidate the code which writes Completion Queue entries and updates the CQ doorbell value. While in the neighborhood, convert t

svn commit: r362746 - head/usr.sbin/bhyve

2020-06-28 Thread Chuck Tuffli
Author: chuck Date: Mon Jun 29 00:31:17 2020 New Revision: 362746 URL: https://svnweb.freebsd.org/changeset/base/362746 Log: bhyve: implement NVMe Flush command This adds support for the NVMe I/O command Flush. For block-based devices, submit a DIOCGFLUSH to the backing storage. Otherwise

svn commit: r362744 - head/usr.sbin/bhyve

2020-06-28 Thread Chuck Tuffli
Author: chuck Date: Mon Jun 29 00:31:11 2020 New Revision: 362744 URL: https://svnweb.freebsd.org/changeset/base/362744 Log: bhyve: convert NVMe logging statements Convert the debug and warning logging macros to be parameterized and correctly use bhyve's PRINTLN macro. Reviewed by:

svn commit: r362745 - head/usr.sbin/bhyve

2020-06-28 Thread Chuck Tuffli
+ * Copyright (c) 2020 Chuck Tuffli * * Function crc16 Copyright (c) 2017, Fedor Uporov * Obtained from function ext2_crc16() in sys/fs/ext2fs/ext2_csum.c @@ -1386,6 +1387,122 @@ pci_nvme_io_partial(struct blockif_req *br, int err) pthread_cond_signal(&req->cv); } +stat

svn commit: r362027 - head/sys/dev/pci

2020-06-10 Thread Chuck Tuffli
Author: chuck Date: Wed Jun 10 20:12:45 2020 New Revision: 362027 URL: https://svnweb.freebsd.org/changeset/base/362027 Log: pci: loosen PCIe hot-plug requirements The original PCIe hot-plug code required a couple of things which cause PCI probing errors on the QEMU Q35 system and possibl

svn commit: r359834 - stable/12/usr.sbin/bhyve

2020-04-12 Thread Chuck Tuffli
Author: chuck Date: Sun Apr 12 19:25:28 2020 New Revision: 359834 URL: https://svnweb.freebsd.org/changeset/base/359834 Log: MFC r359367 bhyve: fix NVMe emulation update of SQHD Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: stable/12/ (props changed) Modified:

svn commit: r359833 - stable/12/usr.sbin/bhyve

2020-04-12 Thread Chuck Tuffli
Author: chuck Date: Sun Apr 12 19:21:44 2020 New Revision: 359833 URL: https://svnweb.freebsd.org/changeset/base/359833 Log: MFC r359366 bhyve: fix NVMe emulation missed interrupts Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: stable/12/ (props changed) Modifie

svn commit: r359832 - stable/12/usr.sbin/bhyve

2020-04-12 Thread Chuck Tuffli
Author: chuck Date: Sun Apr 12 19:18:26 2020 New Revision: 359832 URL: https://svnweb.freebsd.org/changeset/base/359832 Log: MFC r359365 bhyve: use STAILQ in NVMe emulation Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: stable/12/ (props changed) Modified: stabl

svn commit: r359831 - stable/12/usr.sbin/bhyve

2020-04-12 Thread Chuck Tuffli
Author: chuck Date: Sun Apr 12 19:14:27 2020 New Revision: 359831 URL: https://svnweb.freebsd.org/changeset/base/359831 Log: MFC r359364 bhyve: implement NVMe deallocate command Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: stable/12/ (props changed) Modified:

svn commit: r359830 - stable/12/usr.sbin/bhyve

2020-04-12 Thread Chuck Tuffli
Author: chuck Date: Sun Apr 12 19:02:34 2020 New Revision: 359830 URL: https://svnweb.freebsd.org/changeset/base/359830 Log: MFC r359363 bhyve: refactor NVMe namespace initialization Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: stable/12/ (props changed) Modif

svn commit: r359825 - stable/12/usr.sbin/bhyve

2020-04-12 Thread Chuck Tuffli
Author: chuck Date: Sun Apr 12 15:30:00 2020 New Revision: 359825 URL: https://svnweb.freebsd.org/changeset/base/359825 Log: MFC r359362 bhyve: refactor NVMe PRP memcpy Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: stable/12/ (props changed) Modified: stable/12

svn commit: r359363 - head/usr.sbin/bhyve

2020-03-27 Thread Chuck Tuffli
Author: chuck Date: Fri Mar 27 15:28:05 2020 New Revision: 359363 URL: https://svnweb.freebsd.org/changeset/base/359363 Log: bhyve: refactor NVMe namespace initialization Pass the struct pci_nvme_blockstore pointer for this namespace to the namespace initialization function instead of onl

svn commit: r359365 - head/usr.sbin/bhyve

2020-03-27 Thread Chuck Tuffli
Author: chuck Date: Fri Mar 27 15:28:16 2020 New Revision: 359365 URL: https://svnweb.freebsd.org/changeset/base/359365 Log: bhyve: use STAILQ in NVMe emulation Use the standard queue(3) macros instead of hand-crafted linked list code. Reviewed by: imp, jhb Approved by: jhb (main

svn commit: r359362 - head/usr.sbin/bhyve

2020-03-27 Thread Chuck Tuffli
Author: chuck Date: Fri Mar 27 15:28:00 2020 New Revision: 359362 URL: https://svnweb.freebsd.org/changeset/base/359362 Log: bhyve: refactor NVMe PRP memcpy Add a "copy direction" parameter to nvme_prp_memcpy such that data can be copied to the memory specified by the PRP entries (current

svn commit: r359367 - head/usr.sbin/bhyve

2020-03-27 Thread Chuck Tuffli
Author: chuck Date: Fri Mar 27 15:28:27 2020 New Revision: 359367 URL: https://svnweb.freebsd.org/changeset/base/359367 Log: bhyve: fix NVMe emulation update of SQHD The SQHD field of a Completion Queue entry indicates the current Submission Queue head pointer value. The head pointer repr

svn commit: r359364 - head/usr.sbin/bhyve

2020-03-27 Thread Chuck Tuffli
Author: chuck Date: Fri Mar 27 15:28:11 2020 New Revision: 359364 URL: https://svnweb.freebsd.org/changeset/base/359364 Log: bhyve: implement NVMe deallocate command This adds support for the Dataset Management (DSM) command to the NVMe emulation in general, and more specifically, for the

svn commit: r359366 - head/usr.sbin/bhyve

2020-03-27 Thread Chuck Tuffli
Author: chuck Date: Fri Mar 27 15:28:22 2020 New Revision: 359366 URL: https://svnweb.freebsd.org/changeset/base/359366 Log: bhyve: fix NVMe emulation missed interrupts The bhyve NVMe emulation has a race in the logic which generates command completion interrupts. On FreeBSD guests, this

svn commit: r352061 - stable/12/usr.sbin/bhyve

2019-09-09 Thread Chuck Tuffli
Author: chuck Date: Mon Sep 9 14:16:57 2019 New Revision: 352061 URL: https://svnweb.freebsd.org/changeset/base/352061 Log: MFC r350077 bhyve: update the NVMe CQ based on the status Approved by: imp (mentor) Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: sta

svn commit: r346194 - head/usr.sbin/bhyve

2019-09-03 Thread Chuck Tuffli
Author: chuck Date: Sat Apr 13 23:37:27 2019 New Revision: 346194 URL: https://svnweb.freebsd.org/changeset/base/346194 Log: Revert r345171 pending review Backing out commit pending further discussion on the PCIe version supported by pseudo (i.e. emulated) devices. See Differential for

svn commit: r345957 - head/usr.sbin/bhyve

2019-09-03 Thread Chuck Tuffli
Author: chuck Date: Fri Apr 5 16:54:20 2019 New Revision: 345957 URL: https://svnweb.freebsd.org/changeset/base/345957 Log: bhyve: Fix NVMe data structure copy to guest bhyve's NVMe emulation was transferring Identify data back to the guest incorrectly causing memory corruptions. These c

svn commit: r345956 - head/usr.sbin/bhyve

2019-09-03 Thread Chuck Tuffli
Author: chuck Date: Fri Apr 5 16:54:16 2019 New Revision: 345956 URL: https://svnweb.freebsd.org/changeset/base/345956 Log: bhyve: Fix NVMe BAR size calculation The NVMe specification defines bits 13:4 of BAR0 as Reserved (i.e. 0x0). Most drivers do not enforce this, but the Windows NVMe

svn commit: r350382 - in stable/12: sys/net usr.sbin/bhyve

2019-07-27 Thread Chuck Tuffli
Author: chuck Date: Sat Jul 27 17:59:30 2019 New Revision: 350382 URL: https://svnweb.freebsd.org/changeset/base/350382 Log: MFC r349969 bhyve: Create EUI64 for NVMe namespaces Accept an IEEE Extended Unique Identifier (EUI-64) from the command line for each NVMe namespace. If one is

svn commit: r350381 - stable/12/usr.sbin/bhyve

2019-07-27 Thread Chuck Tuffli
Author: chuck Date: Sat Jul 27 17:52:45 2019 New Revision: 350381 URL: https://svnweb.freebsd.org/changeset/base/350381 Log: MFC r348781 bhyve: Add PCIe Integrated Endpoint capability Approved by: imp (mentor) Modified: stable/12/usr.sbin/bhyve/pci_emul.c stable/12/usr.sbin/bhyve

svn commit: r350380 - stable/12/usr.sbin/bhyve

2019-07-27 Thread Chuck Tuffli
Author: chuck Date: Sat Jul 27 17:48:35 2019 New Revision: 350380 URL: https://svnweb.freebsd.org/changeset/base/350380 Log: MFC r345956 bhyve: Fix NVMe BAR size calculation The NVMe specification defines bits 13:4 of BAR0 as Reserved (i.e. 0x0). Most drivers do not enforce this, but

svn commit: r350379 - stable/12/usr.sbin/bhyve

2019-07-27 Thread Chuck Tuffli
Author: chuck Date: Sat Jul 27 17:43:59 2019 New Revision: 350379 URL: https://svnweb.freebsd.org/changeset/base/350379 Log: MFC r345957 bhyve: Fix NVMe data structure copy to guest bhyve's NVMe emulation was transferring Identify data back to the guest incorrectly causing memory cor

svn commit: r350077 - head/usr.sbin/bhyve

2019-07-16 Thread Chuck Tuffli
Author: chuck Date: Wed Jul 17 03:19:30 2019 New Revision: 350077 URL: https://svnweb.freebsd.org/changeset/base/350077 Log: bhyve: update the NVMe CQ based on the status Instead of skipping the NVMe Completion Queue update based on the opcode, define a synthetic status value which indica

svn commit: r349981 - head/sys/net

2019-07-13 Thread Chuck Tuffli
Author: chuck Date: Sun Jul 14 03:49:48 2019 New Revision: 349981 URL: https://svnweb.freebsd.org/changeset/base/349981 Log: Fix a typo in r349969 OUI_FRREBSD_NVME_HIGH should have been OUI_FREEBSD_NVME_HIGH Caught by:Gary Jennejohn Modified: head/sys/net/ieee_oui.h Modified: h

Re: svn commit: r349969 - in head: sys/net usr.sbin/bhyve

2019-07-13 Thread Chuck Tuffli
On Sat, Jul 13, 2019 at 6:08 AM Gary Jennejohn wrote: > > On Sat, 13 Jul 2019 12:48:29 + (UTC) > Chuck Tuffli wrote: > > > Author: chuck > > Date: Sat Jul 13 12:48:28 2019 > > New Revision: 349969 > > URL: https://svnweb.freebsd.org/ch

svn commit: r349969 - in head: sys/net usr.sbin/bhyve

2019-07-13 Thread Chuck Tuffli
Author: chuck Date: Sat Jul 13 12:48:28 2019 New Revision: 349969 URL: https://svnweb.freebsd.org/changeset/base/349969 Log: bhyve: Create EUI64 for NVMe namespaces Accept an IEEE Extended Unique Identifier (EUI-64) from the command line for each NVMe namespace. If one isn't provided, it

svn commit: r348824 - head/usr.sbin/camdd

2019-06-08 Thread Chuck Tuffli
Author: chuck Date: Sun Jun 9 02:06:31 2019 New Revision: 348824 URL: https://svnweb.freebsd.org/changeset/base/348824 Log: Fix uninitialized variable in camdd gcc builds were failing because of this uninitialized warning. Reported by: bz, imp Approved by: imp (mentor) Discusse

Re: svn commit: r348806 - head/usr.sbin/camdd

2019-06-08 Thread Chuck Tuffli
On Sat, Jun 8, 2019 at 10:17 AM Chuck Tuffli wrote: > > Author: chuck > Date: Sat Jun 8 17:17:17 2019 > New Revision: 348806 > URL: https://svnweb.freebsd.org/changeset/base/348806 > > Log: > Add NVMe support to camdd(8) > > Reviewed by: ken > Approve

svn commit: r348806 - head/usr.sbin/camdd

2019-06-08 Thread Chuck Tuffli
Author: chuck Date: Sat Jun 8 17:17:17 2019 New Revision: 348806 URL: https://svnweb.freebsd.org/changeset/base/348806 Log: Add NVMe support to camdd(8) Reviewed by: ken Approved by: ken (mentor) MFC after:1 week Differential Review: https://reviews.freebsd.org/D12141 Modified

svn commit: r348786 - in head/sys: cam/nvme dev/nvme

2019-06-07 Thread Chuck Tuffli
Author: chuck Date: Fri Jun 7 18:34:48 2019 New Revision: 348786 URL: https://svnweb.freebsd.org/changeset/base/348786 Log: Fix nda(4) PCIe link status output Differentiate between PCI Express Endpoint devices and Root Complex Integrated Endpoints in the nda driver. The Link Status and C

svn commit: r348781 - head/usr.sbin/bhyve

2019-06-07 Thread Chuck Tuffli
Author: chuck Date: Fri Jun 7 17:09:49 2019 New Revision: 348781 URL: https://svnweb.freebsd.org/changeset/base/348781 Log: bhyve: Add PCIe Integrated Endpoint capability The NVMe CAM driver reports the PCIe Link Capability and Status for devices. For emulated bhyve NVMe devices, this lo

svn commit: r346194 - head/usr.sbin/bhyve

2019-04-13 Thread Chuck Tuffli
Author: chuck Date: Sat Apr 13 23:37:27 2019 New Revision: 346194 URL: https://svnweb.freebsd.org/changeset/base/346194 Log: Revert r345171 pending review Backing out commit pending further discussion on the PCIe version supported by pseudo (i.e. emulated) devices. See Differential for

svn commit: r345957 - head/usr.sbin/bhyve

2019-04-05 Thread Chuck Tuffli
Author: chuck Date: Fri Apr 5 16:54:20 2019 New Revision: 345957 URL: https://svnweb.freebsd.org/changeset/base/345957 Log: bhyve: Fix NVMe data structure copy to guest bhyve's NVMe emulation was transferring Identify data back to the guest incorrectly causing memory corruptions. These c

svn commit: r345956 - head/usr.sbin/bhyve

2019-04-05 Thread Chuck Tuffli
Author: chuck Date: Fri Apr 5 16:54:16 2019 New Revision: 345956 URL: https://svnweb.freebsd.org/changeset/base/345956 Log: bhyve: Fix NVMe BAR size calculation The NVMe specification defines bits 13:4 of BAR0 as Reserved (i.e. 0x0). Most drivers do not enforce this, but the Windows NVMe

svn commit: r345454 - stable/12/usr.sbin/bhyve

2019-03-23 Thread Chuck Tuffli
Author: chuck Date: Sat Mar 23 16:46:33 2019 New Revision: 345454 URL: https://svnweb.freebsd.org/changeset/base/345454 Log: MFC r345170: bhyve(8): Fix bhyve's NVMe Identify Namespace data Approved by: imp (mentor) Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties:

svn commit: r345453 - stable/12/usr.sbin/bhyve

2019-03-23 Thread Chuck Tuffli
Author: chuck Date: Sat Mar 23 16:42:05 2019 New Revision: 345453 URL: https://svnweb.freebsd.org/changeset/base/345453 Log: MFC r342761: bhyve(8): Fix bhyve's NVMe queue bookkeeping Approved by: imp (mentor) Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: stable

svn commit: r345451 - stable/12/usr.sbin/bhyve

2019-03-23 Thread Chuck Tuffli
Author: chuck Date: Sat Mar 23 16:30:50 2019 New Revision: 345451 URL: https://svnweb.freebsd.org/changeset/base/345451 Log: MFC r342762: bhyve(8): Fix bhyve's NVMe Completion Queue entry values Approved by: imp (mentor) Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properti

Re: svn commit: r345171 - head/usr.sbin/bhyve

2019-03-15 Thread Chuck Tuffli
>> > >> On Fri, 15 Mar 2019 at 15:11, Chuck Tuffli wrote: > >>> bzero(&pciecap, sizeof(pciecap)); > > ... > >>> + pciecap.dev_capabilities = PCIEM_CAP_ROLE_ERR_RPT; > >> > >> If the message you sa

svn commit: r345170 - head/usr.sbin/bhyve

2019-03-14 Thread Chuck Tuffli
Author: chuck Date: Fri Mar 15 02:11:27 2019 New Revision: 345170 URL: https://svnweb.freebsd.org/changeset/base/345170 Log: Fix bhyve's NVMe Identify Namespace data The NVMe Identify Namespace data structure's Number of LBA Formats (NLBAF) field is a 0's based value (i.e. 0x0 means 1). S

svn commit: r345171 - head/usr.sbin/bhyve

2019-03-14 Thread Chuck Tuffli
Author: chuck Date: Fri Mar 15 02:11:28 2019 New Revision: 345171 URL: https://svnweb.freebsd.org/changeset/base/345171 Log: Fix bhyve PCIe capability emulation PCIe devices starting with version 1.1 must set the Role-Based Error Reporting bit. And while we're in the neighborhood, ge

svn commit: r342862 - head/sys/dev/nvme

2019-01-08 Thread Chuck Tuffli
Author: chuck Date: Tue Jan 8 15:30:56 2019 New Revision: 342862 URL: https://svnweb.freebsd.org/changeset/base/342862 Log: Add NVMe drive to NOIOB quirk list Dell-branded Intel P4600 NVMe drives benefit from NVMe 1.3's NOIOB feature. Unfortunately just like Intel DC P4500s, they don't a

svn commit: r342777 - in stable/12/sys: cam/nvme dev/nvme

2019-01-04 Thread Chuck Tuffli
Author: chuck Date: Fri Jan 4 21:05:40 2019 New Revision: 342777 URL: https://svnweb.freebsd.org/changeset/base/342777 Log: MFC r342046: nda(4) fix check for Dataset Management support Reported by: yur...@yuripv.net Reviewed by: imp Approved by: imp (mentor) Differential Revision:

svn commit: r342762 - head/usr.sbin/bhyve

2019-01-04 Thread Chuck Tuffli
Author: chuck Date: Fri Jan 4 15:03:35 2019 New Revision: 342762 URL: https://svnweb.freebsd.org/changeset/base/342762 Log: Fix bhyve's NVMe Completion Queue entry values The function which processes Admin commands was not returning the Command Specific value in Completion Queue Entry, D

svn commit: r342761 - head/usr.sbin/bhyve

2019-01-04 Thread Chuck Tuffli
Author: chuck Date: Fri Jan 4 15:03:30 2019 New Revision: 342761 URL: https://svnweb.freebsd.org/changeset/base/342761 Log: Fix bhyve's NVMe queue bookkeeping Many size / length parameters in NVMe are "0's based", meaning, a value of 0x0 represents 1, 0x1 represents 2, etc.. While this l

svn commit: r342046 - in head/sys: cam/nvme dev/nvme

2018-12-13 Thread Chuck Tuffli
Author: chuck Date: Thu Dec 13 13:25:37 2018 New Revision: 342046 URL: https://svnweb.freebsd.org/changeset/base/342046 Log: nda(4) fix check for Dataset Management support In the nda(4) driver, only set DISKFLAG_CANDELETE (a.k.a. can support BIO_DELETE) if the drive supports Dataset Mana

Re: svn commit: r338182 - in head: sbin/nvmecontrol sys/cam/nvme sys/dev/mpr sys/dev/nvme sys/sys usr.sbin/bhyve

2018-08-22 Thread Chuck Tuffli
On Wed, Aug 22, 2018 at 6:10 AM Eitan Adler wrote: > > On Tue, 21 Aug 2018 at 21:29, Chuck Tuffli wrote: > > > > Author: chuck > > Date: Wed Aug 22 04:29:24 2018 > > New Revision: 338182 > > URL: https://svnweb.freebsd.org/changeset/base/338182 > > &g

svn commit: r338182 - in head: sbin/nvmecontrol sys/cam/nvme sys/dev/mpr sys/dev/nvme sys/sys usr.sbin/bhyve

2018-08-21 Thread Chuck Tuffli
Author: chuck Date: Wed Aug 22 04:29:24 2018 New Revision: 338182 URL: https://svnweb.freebsd.org/changeset/base/338182 Log: Make NVMe compatible with the original API The original NVMe API used bit-fields to represent fields in data structures defined by the specification (e.g. the op-co

svn commit: r335515 - in head/sys: amd64/linux amd64/linux32 compat/linux i386/linux

2018-06-21 Thread Chuck Tuffli
Author: chuck Date: Fri Jun 22 00:02:03 2018 New Revision: 335515 URL: https://svnweb.freebsd.org/changeset/base/335515 Log: Fix the Linux kernel version number calculation The Linux compatibility code was converting the version number (e.g. 2.6.32) in two different ways and then comparin

svn commit: r335516 - head/sys/compat/linprocfs

2018-06-21 Thread Chuck Tuffli
Author: chuck Date: Fri Jun 22 00:02:05 2018 New Revision: 335516 URL: https://svnweb.freebsd.org/changeset/base/335516 Log: Fix output of linprocfs stat entry The Linux /proc/stat entry has grown over time v2.5.41 < user, nice, system, idle v2.5.41 user, nice, system, id

  1   2   >