[dpdk-dev] [PATCH v8 4/4] eal/linux: vfio: add pci ioport support
David Marchand
david.marchand at 6wind.com
Tue Feb 9 10:04:22 CET 2016
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>
--
David Marchand
More information about the dev
mailing list