In vmware esxi 6.0, add the emulated e1000 device to guest, then
launch the VM, we will see the error meassage as below:

EAL: Error reading from file descriptor 21: Input/output error

INTX is badly emulated in Vmware, INTX toggle check didn't work
with Vmware e1000 device. The patch is to fix the issue. And the
patch is from http://dpdk.org/dev/patchwork/patch/945/, so Masaru
OKI is the author. Qian just updated the patch for latest code.

Signed-off-by: Masaru OKI<m-oki at stratosphere.co.jp>

diff --git a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c 
b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c
index 72b2692..f5e9aeb 100644
--- a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c
+++ b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c
@@ -450,14 +450,11 @@ igbuio_pci_probe(struct pci_dev *dev, const struct 
pci_device_id *id)
                }
                /* fall back to INTX */
        case RTE_INTR_MODE_LEGACY:
-               if (pci_intx_mask_supported(dev)) {
-                       dev_dbg(&dev->dev, "using INTX");
-                       udev->info.irq_flags = IRQF_SHARED;
-                       udev->info.irq = dev->irq;
-                       udev->mode = RTE_INTR_MODE_LEGACY;
-                       break;
-               }
-               dev_notice(&dev->dev, "PCI INTX mask not supported\n");
+                dev_dbg(&dev->dev, "using INTX");
+                udev->info.irq_flags = IRQF_SHARED;
+                udev->info.irq = dev->irq;
+                udev->mode = RTE_INTR_MODE_LEGACY;
+                break;
                /* fall back to no IRQ */
        case RTE_INTR_MODE_NONE:
                udev->mode = RTE_INTR_MODE_NONE;
-- 
2.1.0

Reply via email to