On 12 June 2016 at 11:30, Rosen, Rami <rami.rosen at intel.com> wrote:
> Hi Thiago, > > > Any clue? > > Sure. This is the reason: in dpdk-16.04/lib/librte_eal/linuxapp/igb_uio we > have: > .... > #ifndef PCI_MSIX_ENTRY_SIZE > #define PCI_MSIX_ENTRY_SIZE 16 > #define PCI_MSIX_ENTRY_LOWER_ADDR 0 > #define PCI_MSIX_ENTRY_UPPER_ADDR 4 > #define PCI_MSIX_ENTRY_DATA 8 > #define PCI_MSIX_ENTRY_VECTOR_CTRL 12 > #define PCI_MSIX_ENTRY_CTRL_MASKBIT 1 > #endif > ... > > The root cause of the problem is due to that in CentOS 6.8, > PCI_MSIX_ENTRY_SIZE is defined; this > causes *avoiding* having the PCI_MSIX_ENTRY_CTRL_MASKBIT definition as > shown above. > > The definition of PCI_MSIX_ENTRY_SIZE is due to the following patch, which > was introduced in CentOS 6.8, which moved PCI_MSIX_ENTRY_SIZE from the > inner drivers/pci/msi.h header file into include/linux/pci_regs.h, > The linux/pci_regs.h is included in the pci.h header, which is used by the > igb_uio.c, which failed in compilation. > > "PATCH 1/8] PCI: MSI: Move MSI-X entry definition to pci_regs.h" > > --- a/drivers/pci/msi.h > +++ b/drivers/pci/msi.h > @@ -6,12 +6,6 @@ > #ifndef MSI_H > #define MSI_H > > -#define PCI_MSIX_ENTRY_SIZE 16 > ... > ... > ... > diff --git a/include/linux/pci_regs.h b/include/linux/pci_regs.h > index 455b9cc..acfc224 100644 > --- a/include/linux/pci_regs.h > +++ b/include/linux/pci_regs.h > @@ -307,6 +307,13 @@ > #define PCI_MSIX_FLAGS_MASKALL (1 << 14) > #define PCI_MSIX_FLAGS_BIRMASK (7 << 0) > > +/* MSI-X entry's format */ > +#define PCI_MSIX_ENTRY_SIZE 16 > .... > > > http://linux-pci.vger.kernel.narkive.com/cZquopIw/patch-1-8-pci-msi-move-msi-x-entry-definition-to-pci-regs-h > > See also: > rpm -qp --changelog kernel-devel-2.6.32-642.el6.x86_64.rpm | grep "Move > MSI-X entry" > warning: kernel-devel-2.6.32-642.el6.x86_64.rpm: Header V3 RSA/SHA1 > Signature, key ID c105b9de: NOKEY > - [pci] msi: Move MSI-X entry definition to pci_regs.h (Myron Stowe) > [1288629 > > > A proper patch which checks kernel version can fix it. > > Regards, > Rami Rosen > Intel Corporation > > Interesting! Do you have this proper fix? I would like to build and use DPDK on CentOS 6.8... Thank you for your reply! Best, Thiago