On Thu, Oct 25, 2018 at 10:29 AM Burakov, Anatoly <anatoly.bura...@intel.com>
wrote:

> On 25-Oct-18 7:00 AM, Alejandro Lucero wrote:
> > On Thu, Oct 25, 2018 at 6:30 AM Alejandro Lucero <
> > alejandro.luc...@netronome.com> wrote:
> >
> >>
> >>
> >> On Thu, Oct 25, 2018 at 12:11 AM Thomas Monjalon <tho...@monjalon.net>
> >> wrote:
> >>
> >>> Hi,
> >>>
> >>> 19/10/2018 18:43, Alejandro Lucero:
> >>>> --- a/drivers/bus/pci/linux/pci.c
> >>>> +++ b/drivers/bus/pci/linux/pci.c
> >>>> +     char devname[RTE_DEV_NAME_MAX_LEN] = {0};
> >>>
> >>> I think "" would be more appropriate than {0}.
> >>>
> >>>>        const struct rte_intr_handle *intr_handle =
> &device->intr_handle;
> >>>>
> >>>> -     switch (intr_handle->type) {
> >>>> -     case RTE_INTR_HANDLE_UIO:
> >>>> -     case RTE_INTR_HANDLE_UIO_INTX:
> >>>> +     switch (device->kdrv) {
> >>>> +     case RTE_KDRV_IGB_UIO:
> >>>>                return pci_uio_read_config(intr_handle, buf, len,
> offset);
> >>>> -
> >>>> -#ifdef VFIO_PRESENT
> >>>
> >>> Why this #ifdef is removed?
> >>>
> >>>
> >> Because it is not needed. VFIO is present if the kdrv field tells us so.
> >>
> >
> > And at this point it is clear VFIO is present if that is the case.
> > Otherwise this code is not executed.
>
> Actually, i think Thomas is right here. The #ifdef shouldn't be removed,
> because if this is not defined, the function is simply not present - see
> pci_init.h, VFIO-related functions are only declared if VFIO_PRESENT is
> defined.
>
>
Right. I did not try to compile without VFIO, but I have just done this and
it fails.
I will send another version using the #ifdef for VFIO.

Thanks


> >
> >
> >>
> >>
> >>>> -     case RTE_INTR_HANDLE_VFIO_MSIX:
> >>>> -     case RTE_INTR_HANDLE_VFIO_MSI:
> >>>> -     case RTE_INTR_HANDLE_VFIO_LEGACY:
> >>>> +     case RTE_KDRV_VFIO:
> >>>>                return pci_vfio_read_config(intr_handle, buf, len,
> >>> offset);
> >>>> -#endif
> >>>>        default:
> >>>> +             rte_pci_device_name(&device->addr, devname,
> >>>> +                                 RTE_DEV_NAME_MAX_LEN);
> >>>>                RTE_LOG(ERR, EAL,
> >>>> -                     "Unknown handle type of fd %d\n",
> >>>> -                                     intr_handle->fd);
> >>>> +                     "Unknown driver type for %s\n", devname);
> >>>>                return -1;
> >>>>        }
> >>>
> >>>
> >>>
> >>>
> >
>
>
> --
> Thanks,
> Anatoly
>

Reply via email to