This looks like the right thing to do. Minor nits. > diff --git a/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c > b/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c > index 74f91ba..4077eb6 100644 > --- a/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c > +++ b/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c > @@ -760,6 +760,26 @@ pci_vfio_map_resource(struct rte_pci_device *dev) > return -1; > } > > + /* chk for io port region */ > + uint32_t ioport_bar;
In general DPDK has followed the kernel practice of putting declarations at the start of function/basic block. It is ok by me, but just noting that the rest of the code doesn't do it. > + ret = pread64(vfio_dev_fd, &ioport_bar, sizeof(ioport_bar), > + VFIO_GET_REGION_ADDR(VFIO_PCI_CONFIG_REGION_INDEX) > + + PCI_BASE_ADDRESS_0 + i*4); > + > + if (ret != sizeof(ioport_bar)) { > + RTE_LOG(ERR, EAL, > + "Cannot read command (%x) from PCI config" > + "space!\n", PCI_BASE_ADDRESS_0 + i*4); Please dont split the line of a log message string in mid sentence. > + return -1; > + } > + > + if (ioport_bar & PCI_BASE_ADDRESS_SPACE_IO) { > + RTE_LOG(INFO, EAL, "\tIgnore mapping since Its a i/o" > + "port bar (%d) addr : %x\n", i, same here > + ioport_bar); > + continue; > + } > +