Changeset View
Changeset View
Standalone View
Standalone View
usr.sbin/bhyve/pci_virtio_block.c
Context not available. | |||||
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_ID_BLOCK); | pci_set_cfgdata16(pi, PCIR_SUBDEV_0, VIRTIO_ID_BLOCK); | ||||
pci_set_cfgdata16(pi, PCIR_SUBVEND_0, VIRTIO_VENDOR); | const char *subvendor = get_config_value("virtio_subvendor"); | ||||
if (subvendor == NULL || strcmp(subvendor, "oracle") != 0) { | |||||
pci_set_cfgdata16(pi, PCIR_SUBVEND_0, VIRTIO_VENDOR); | |||||
} else { | |||||
pci_set_cfgdata16(pi, PCIR_SUBVEND_0, VIRTIO_VENDOR_ORACLE); | |||||
} | |||||
if (vi_intr_init(&sc->vbsc_vs, 1, fbsdrun_virtio_msix())) { | if (vi_intr_init(&sc->vbsc_vs, 1, fbsdrun_virtio_msix())) { | ||||
blockif_close(sc->bc); | blockif_close(sc->bc); | ||||
Context not available. |