[dpdk-dev] Can't build DPDK-16.04 on CentOS 6.8

Martinx - ジェームズ thiagocmartinsc at gmail.com
Mon Jun 13 18:15:06 CEST 2016


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


More information about the dev mailing list