Changeset View
Changeset View
Standalone View
Standalone View
usr.sbin/bhyve/pci_virtio_scsi.c
Show First 20 Lines • Show All 714 Lines • ▼ Show 20 Lines | for (i = 2; i < VTSCSI_MAXQ; i++) { | ||||
sc->vss_vq[i].vq_notify = pci_vtscsi_requestq_notify; | sc->vss_vq[i].vq_notify = pci_vtscsi_requestq_notify; | ||||
pci_vtscsi_init_queue(sc, &sc->vss_queues[i - 2], i - 2); | pci_vtscsi_init_queue(sc, &sc->vss_queues[i - 2], i - 2); | ||||
} | } | ||||
/* initialize config space */ | /* initialize config space */ | ||||
pci_set_cfgdata16(pi, PCIR_DEVICE, VIRTIO_DEV_SCSI); | pci_set_cfgdata16(pi, PCIR_DEVICE, VIRTIO_DEV_SCSI); | ||||
pci_set_cfgdata16(pi, PCIR_VENDOR, VIRTIO_VENDOR); | pci_set_cfgdata16(pi, PCIR_VENDOR, VIRTIO_VENDOR); | ||||
pci_set_cfgdata8(pi, PCIR_CLASS, PCIC_STORAGE); | pci_set_cfgdata8(pi, PCIR_CLASS, PCIC_STORAGE); | ||||
pci_set_cfgdata16(pi, PCIR_SUBDEV_0, VIRTIO_TYPE_SCSI); | pci_set_cfgdata16(pi, PCIR_SUBDEV_0, VIRTIO_ID_SCSI); | ||||
pci_set_cfgdata16(pi, PCIR_SUBVEND_0, VIRTIO_VENDOR); | pci_set_cfgdata16(pi, PCIR_SUBVEND_0, VIRTIO_VENDOR); | ||||
if (vi_intr_init(&sc->vss_vs, 1, fbsdrun_virtio_msix())) | if (vi_intr_init(&sc->vss_vs, 1, fbsdrun_virtio_msix())) | ||||
return (1); | return (1); | ||||
vi_set_io_bar(&sc->vss_vs, 0); | vi_set_io_bar(&sc->vss_vs, 0); | ||||
return (0); | return (0); | ||||
} | } | ||||
Show All 9 Lines |