Index: usr.sbin/bhyve/pci_nvme.c =================================================================== --- usr.sbin/bhyve/pci_nvme.c +++ usr.sbin/bhyve/pci_nvme.c @@ -297,6 +297,17 @@ bool posted; }; +typedef enum { + NVME_CNTRLTYPE_IO = 1, + NVME_CNTRLTYPE_DISCOVERY = 2, + NVME_CNTRLTYPE_ADMIN = 3, +} pci_nvme_cntrl_type; + +typedef enum { + NVME_SANICAP_NOT_MODIFIED = 1, + NVME_SANICAP_MODIFIED = 2, +} pci_nvme_sani_capability; + struct pci_nvme_softc { struct pci_devinst *nsc_pi; @@ -533,6 +544,7 @@ cd->ver = NVME_REV(1,4); + cd->cntrltype = NVME_CNTRLTYPE_IO; cd->oacs = 1 << NVME_CTRLR_DATA_OACS_FORMAT_SHIFT; cd->acl = 2; cd->aerl = 4; @@ -548,6 +560,7 @@ cd->wctemp = 0x0157; cd->cctemp = 0x0157; + cd->sanicap = NVME_SANICAP_NOT_MODIFIED; cd->sqes = (6 << NVME_CTRLR_DATA_SQES_MAX_SHIFT) | (6 << NVME_CTRLR_DATA_SQES_MIN_SHIFT); cd->cqes = (4 << NVME_CTRLR_DATA_CQES_MAX_SHIFT) |