2016-01-19 16:12, Yuanhan Liu: > int > vtpci_init(struct rte_pci_device *dev, struct virtio_hw *hw) > { > - hw->vtpci_ops = &legacy_ops; > + hw->dev = dev; > + > + /* > + * Try if we can succeed reading virtio pci caps, which exists > + * only on modern pci device. If failed, we fallback to legacy > + * virtio handling. > + */ > + if (virtio_read_caps(dev, hw) == 0) { > + PMD_INIT_LOG(INFO, "modern virtio pci detected."); > + hw->vtpci_ops = &modern_ops; > + hw->modern = 1; > + dev->driver->drv_flags |= RTE_PCI_DRV_INTR_LSC; > + return 0; > + }
RTE_PCI_DRV_INTR_LSC is already set by virtio_resource_init_by_uio(). Do you mean interrupt was not supported with legacy virtio?