> On 16/12/14 4:54 am, "Thomas Monjalon" <thomas.monjalon at 6wind.com>
> wrote:
> 
> >2014-12-12 13:48, Sujith Sankar:
> >> This patch corrects the usage of the flag VFIO_PRESENT in enic driver.
> >
> >Please, could you explain why the flag VFIO_PRESENT was not well used?
> 
> Without including eal_vfio.h, VFIO_PRESENT is not available in enic.
> Hence VFIO specific code in enic was not getting compiled and some errors
> were generated during run-time.
> 
> >
> >> This has uncovered a few warnings, and this patch corrects those too.
> >[...]
> >> --- a/lib/librte_pmd_enic/enic_main.c
> >> +++ b/lib/librte_pmd_enic/enic_main.c
> >> @@ -39,6 +39,7 @@
> >>  #include <sys/mman.h>
> >>  #include <fcntl.h>
> >>  #include <libgen.h>
> >> +#include <sys/ioctl.h>
> >>
> >>  #include <rte_pci.h>
> >>  #include <rte_memzone.h>
> >> @@ -46,6 +47,7 @@
> >>  #include <rte_mbuf.h>
> >>  #include <rte_string_fns.h>
> >>  #include <rte_ethdev.h>
> >> +#include <eal_vfio.h>
> >
> >This header was not designed to be included by PMDs.
> >It will break compilation on BSD.
> 
> Is there an alternative to make VFIO_PRESENT available in enic?  Please
> advise.
> 
> Thanks,
> -Sujith
> 
> >
> >>  #include "enic_compat.h"
> >>  #include "enic.h"
> >> @@ -561,6 +563,7 @@ enic_free_consistent(__rte_unused struct
> >>rte_pci_device *hwdev,
> >>    /* Nothing to be done */
> >>  }
> >>
> >> +#ifndef VFIO_PRESENT
> >>  static void
> >>  enic_intr_handler(__rte_unused struct rte_intr_handle *handle,
> >>    void *arg)
> >> @@ -572,6 +575,7 @@ enic_intr_handler(__rte_unused struct
> >>rte_intr_handle *handle,
> >>
> >>    enic_log_q_error(enic);
> >>  }
> >> +#endif
> >
> >--
> >Thomas

Hi Sujith

Thomas is correct, VFIO code is designed to be EAL-only (mainly because it's 
Linuxapp-specific, and PMD's are intended to be cross-platform at least when it 
comes to compilation). Whatever it is that you're working around is better 
fixed in the EAL itself rather than in the PMD.

Thanks,
Anatoly

Reply via email to