Thread (36 messages) read the whole thread 36 messages, 4 authors, 2016-01-29

Re: [PATCH v4 09/14] virtio: ethdev: check for vfio interface

From: Santosh Shukla <hidden>
Date: 2016-01-15 12:37:32

On Fri, Jan 15, 2016 at 12:05 PM, Yuanhan Liu
[off-list ref] wrote:
On Thu, Jan 14, 2016 at 06:58:32PM +0530, Santosh Shukla wrote:
quoted
Introducing api to check interface type is vfio or not, if interface is vfio
then update struct virtio_vfio_dev {}.

Those two apis are:
- virtio_chk_for_vfio
- virtio_hw_init_by_vfio

Signed-off-by: Santosh Shukla <redacted>
..
quoted
+/* Init virtio by vfio-way */
+static int virtio_hw_init_by_vfio(struct virtio_hw *hw,
+                               struct rte_pci_device *pci_dev)
+{
+     struct virtio_vfio_dev *vdev;
+
+     vdev = &hw->dev;
+     if (virtio_chk_for_vfio(pci_dev) < 0) {
+             vdev->is_vfio = false;
+             vdev->pci_dev = NULL;
+             return -1;
+     }
+
+     /* .. So attached interface is vfio */
+     vdev->is_vfio = true;
+     vdev->pci_dev = pci_dev;
Normally, I don't like the way of adding yet another "virtio_hw_init_by_xxx".

As suggested in another reply, would pci_dev->kdrv checking be enough?
If so, do it in simple way.
No, It wont be enough, Virtio could only work for vfio for _noiommu_
mode and for that user need to preset -noiommu parameter, therefore
virtio need to check that parame. pci_dev->kdrv check not enough,
Hence not used.
        --ylu
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help