X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_eal%2Flinuxapp%2Figb_uio%2Fcompat.h;h=67a7ab3afff6b248f853bdf7431b8f37dca32e98;hb=d196343a258e;hp=2a16540efe04c1e66bb0c7551c577cc563181ac2;hpb=4a5c221f9d9bf641b808e1f1a90ec584b4596c94;p=dpdk.git diff --git a/lib/librte_eal/linuxapp/igb_uio/compat.h b/lib/librte_eal/linuxapp/igb_uio/compat.h index 2a16540efe..67a7ab3aff 100644 --- a/lib/librte_eal/linuxapp/igb_uio/compat.h +++ b/lib/librte_eal/linuxapp/igb_uio/compat.h @@ -2,22 +2,23 @@ * Minimal wrappers to allow compiling igb_uio on older kernels. */ +#ifndef RHEL_RELEASE_VERSION +#define RHEL_RELEASE_VERSION(a, b) (((a) << 8) + (b)) +#endif #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 3, 0) #define pci_cfg_access_lock pci_block_user_cfg_access #define pci_cfg_access_unlock pci_unblock_user_cfg_access #endif -#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 +#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0) +#define HAVE_PTE_MASK_PAGE_IOMAP #endif -#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34) +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34) && \ + (!(defined(RHEL_RELEASE_CODE) && \ + RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(5, 9))) + static int pci_num_vf(struct pci_dev *dev) { struct iov { @@ -35,10 +36,20 @@ static int pci_num_vf(struct pci_dev *dev) return iov->nr_virtfn; } -#endif +#endif /* < 2.6.34 */ -#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 3, 0) +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39) && \ + (!(defined(RHEL_RELEASE_CODE) && \ + RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(6, 4))) + +#define kstrtoul strict_strtoul + +#endif /* < 2.6.39 */ + +#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 3, 0) && \ + (!(defined(RHEL_RELEASE_CODE) && \ + RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(6, 3))) /* Check if INTX works to control irq's. * Set's INTX_DISABLE flag and reads it back @@ -92,12 +103,17 @@ static bool pci_check_and_mask_intx(struct pci_dev *pdev) return pending; } + +#endif /* < 3.3.0 */ + +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0) +#define HAVE_ALLOC_IRQ_VECTORS 1 #endif -#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 37) -/* Compatability wrapper for new kernel API for IRQ */ -#define irq_data irq_desc -#define irq_get_irq_data(irq) irq_to_desc(irq) -#define irq_data_get_msi(data) get_irq_desc_msi(data) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) +#define HAVE_PCI_MSI_MASK_IRQ 1 #endif +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37) +#define HAVE_IRQ_DATA 1 +#endif