On Tue, Feb 9, 2016 at 2:34 PM, David Marchand <david.marchand at 6wind.com> 
wrote:
> On Mon, Feb 8, 2016 at 3:13 PM, Burakov, Anatoly
> <anatoly.burakov at intel.com> wrote:
>>> Include vfio map/rd/wr support for pci ioport.
>>>
>>> Signed-off-by: Santosh Shukla <sshukla at mvista.com>
>>> ---
>>> v7->v8:
>>> - Remove rte_pci_ioport malloc and rte_free()/unmap() func from v7.
>>> - removed umap from git header.
>>>
>>>  lib/librte_eal/linuxapp/eal/eal_pci_vfio.c |   36 ++++++++++++++++++-------
>>> ---
>>>  1 file changed, 24 insertions(+), 12 deletions(-)
>>>
>>> diff --git a/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c
>>> b/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c
>>> index 4832313..9571ed8 100644
>>> --- a/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c
>>> +++ b/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c
>>> @@ -74,6 +74,7 @@ EAL_REGISTER_TAILQ(rte_vfio_tailq)
>>>  #define VFIO_GROUP_FMT "/dev/vfio/%u"
>>>  #define VFIO_NOIOMMU_GROUP_FMT "/dev/vfio/noiommu-%u"
>>>  #define VFIO_GET_REGION_ADDR(x) ((uint64_t) x << 40ULL)
>>> +#define VFIO_GET_REGION_IDX(x) (x >> 40)
>>>
>>>  /* per-process VFIO config */
>>>  static struct vfio_config vfio_cfg;
>>> @@ -999,30 +1000,41 @@ int
>>>  pci_vfio_ioport_map(struct rte_pci_device *dev, int bar,
>>>                   struct rte_pci_ioport *p)
>>>  {
>>> -     RTE_SET_USED(dev);
>>> -     RTE_SET_USED(bar);
>>> -     RTE_SET_USED(p);
>>> -     return -1;
>>> +     if (bar < VFIO_PCI_BAR0_REGION_INDEX ||
>>> +         bar > VFIO_PCI_BAR5_REGION_INDEX) {
>>> +             RTE_LOG(ERR, EAL, "invalid bar (%d)!\n", bar);
>>> +             return -1;
>>> +     }
>>> +
>>> +     p->dev = dev;
>>> +     p->offset = VFIO_GET_REGION_ADDR(bar);
>>> +     return 0;
>>>  }
>>>
>
> I still think we don't need this p->dev = dev.
> But that's not important.
>
>
>> Acked-by: Anatoly Burakov <anatoly.burakov at intel.com>
>
> Acked-by: David Marchand <david.marchand at 6wind.com>
>

Thomas, Can you pl. merge this patch?

>
> --
> David Marchand

Reply via email to