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 page, similar to
  what is done for the Namespace Descriptors list.
  
  Fixes UNH Tests 2.6 and 2.9
  
  Tested by:    Jason Tubnor
  MFC after:    2 weeks
  Differential Revision: https://reviews.freebsd.org/D24901

Modified:
  head/usr.sbin/bhyve/pci_nvme.c

Modified: head/usr.sbin/bhyve/pci_nvme.c
==============================================================================
--- head/usr.sbin/bhyve/pci_nvme.c      Mon Jun 29 00:32:21 2020        
(r362765)
+++ head/usr.sbin/bhyve/pci_nvme.c      Mon Jun 29 00:32:24 2020        
(r362766)
@@ -1144,8 +1144,9 @@ nvme_opc_identify(struct pci_nvme_softc* sc, struct nv
        case 0x02: /* list of 1024 active NSIDs > CDW1.NSID */
                dest = vm_map_gpa(sc->nsc_pi->pi_vmctx, command->prp1,
                                  sizeof(uint32_t) * 1024);
+               /* All unused entries shall be zero */
+               bzero(dest, sizeof(uint32_t) * 1024);
                ((uint32_t *)dest)[0] = 1;
-               ((uint32_t *)dest)[1] = 0;
                break;
        case 0x03: /* list of NSID structures in CDW1.NSID, 4096 bytes */
                if (command->nsid != 1) {
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to