From mboxrd@z Thu Jan 1 00:00:00 1970 From: Robert Sanford Subject: Re: [PATCH 1/2] igb_uio: fix compability on old kernel Date: Fri, 22 Aug 2014 14:09:35 -0400 Message-ID: References: <20140725103627.4ca989b7@haswell.linuxnetplumber.net> <9317787.qKVt3oyQbN@xps13> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 To: Thomas Monjalon , "dev-VfR2kkLFssw@public.gmane.org" Return-path: In-Reply-To: List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" This is what we came up with. It works for us. In our kernel headers' linux/pci.h, pci_num_vf is enclosed within "#ifdef CONFIG_PCI_IOV/#endif"; pci_intx_mask_supported and pci_check_and_mask_intx are enclosed within "#ifdef HAVE_PCI_SET_MWI/#endif". What do you think? -- Thanks, Robert --- lib/librte_eal/linuxapp/igb_uio/compat.h | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/librte_eal/linuxapp/igb_uio/compat.h b/lib/librte_eal/linuxapp/igb_uio/compat.h index 2a16540..f7404d8 100644 --- a/lib/librte_eal/linuxapp/igb_uio/compat.h +++ b/lib/librte_eal/linuxapp/igb_uio/compat.h @@ -17,7 +17,7 @@ #define PCI_MSIX_ENTRY_CTRL_MASKBIT 1 #endif -#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34) +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34) && !defined(CONFIG_PCI_IOV) static int pci_num_vf(struct pci_dev *dev) { struct iov { @@ -38,7 +38,7 @@ static int pci_num_vf(struct pci_dev *dev) #endif -#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 3, 0) +#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 3, 0) && !defined(HAVE_PCI_SET_MWI) /* Check if INTX works to control irq's. * Set's INTX_DISABLE flag and reads it back -- 1.7.1 On Fri, Aug 22, 2014 at 1:29 PM, Sanford, Robert wrote: > > Hi Thomas, > > Not that I would *like* to fix this, but I *need* to fix it. We are using > CentOS 6.5, which I believe is based on RHEL. We have kernel > 2.6.32-431.3.1.el6.x86_64. > > I realize that we need to add/change ifdefs around pci_num_vf, > pci_intx_mask_supported, and pci_check_and_mask_intx in igb_uio/compat.h. > Any more specific suggestions on how to (elegantly) fix it for us, but not > break it for anyone else? > > -- > Regards, > Robert >