Changeset View
Changeset View
Standalone View
Standalone View
head/usr.sbin/bhyve/pci_nvme.c
Show First 20 Lines • Show All 1,919 Lines • ▼ Show 20 Lines | pci_nvme_init(struct vmctx *ctx, struct pci_devinst *pi, char *opts) | ||||
} | } | ||||
error = pci_emul_add_msixcap(pi, sc->max_queues + 1, NVME_MSIX_BAR); | error = pci_emul_add_msixcap(pi, sc->max_queues + 1, NVME_MSIX_BAR); | ||||
if (error) { | if (error) { | ||||
WPRINTF(("%s pci add msixcap failed\r\n", __func__)); | WPRINTF(("%s pci add msixcap failed\r\n", __func__)); | ||||
goto done; | goto done; | ||||
} | } | ||||
error = pci_emul_add_pciecap(pi, PCIEM_TYPE_ROOT_INT_EP); | |||||
if (error) { | |||||
WPRINTF(("%s pci add Express capability failed\r\n", __func__)); | |||||
goto done; | |||||
} | |||||
pthread_mutex_init(&sc->mtx, NULL); | pthread_mutex_init(&sc->mtx, NULL); | ||||
sem_init(&sc->iosemlock, 0, sc->ioslots); | sem_init(&sc->iosemlock, 0, sc->ioslots); | ||||
pci_nvme_reset(sc); | pci_nvme_reset(sc); | ||||
pci_nvme_init_ctrldata(sc); | pci_nvme_init_ctrldata(sc); | ||||
pci_nvme_init_nsdata(sc); | pci_nvme_init_nsdata(sc); | ||||
pci_nvme_init_logpages(sc); | pci_nvme_init_logpages(sc); | ||||
Show All 14 Lines |