Following compile error observed with CentOS 6.8, which uses kernel kernel-devel-2.6.32-642.el6.x86_64:
CC eal_thread.o .../build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c: In function 'igbuio_msix_mask_irq': .../build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:157: error: 'PCI_MSIX_ENTRY_CTRL_MASKBIT' undeclared (first use in this function) Reported-by: Thiago <thiagocmartinsc at gmail.com> Signed-off-by: Ferruh Yigit <ferruh.yigit at intel.com> --- lib/librte_eal/linuxapp/igb_uio/compat.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/librte_eal/linuxapp/igb_uio/compat.h b/lib/librte_eal/linuxapp/igb_uio/compat.h index c1d45a6..0d781e4 100644 --- a/lib/librte_eal/linuxapp/igb_uio/compat.h +++ b/lib/librte_eal/linuxapp/igb_uio/compat.h @@ -24,6 +24,15 @@ #define PCI_MSIX_ENTRY_CTRL_MASKBIT 1 #endif +/* + * for kernels < 2.6.38 and backported patch that moves MSI-X entry definition + * to pci_regs.h Those kernels has PCI_MSIX_ENTRY_SIZE defined but not + * PCI_MSIX_ENTRY_CTRL_MASKBIT + */ +#ifndef PCI_MSIX_ENTRY_CTRL_MASKBIT +#define PCI_MSIX_ENTRY_CTRL_MASKBIT 1 +#endif + #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34) && \ (!(defined(RHEL_RELEASE_CODE) && \ RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(5, 9))) -- 2.5.5