From mboxrd@z Thu Jan 1 00:00:00 1970 From: Santosh Shukla Subject: Re: [PATCH v8 4/4] eal/linux: vfio: add pci ioport support Date: Thu, 18 Feb 2016 10:55:10 +0530 Message-ID: References: <1454925815-14292-1-git-send-email-sshukla@mvista.com> <1454925815-14292-2-git-send-email-sshukla@mvista.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Cc: "dev@dpdk.org" To: David Marchand Return-path: Received: from mail-pf0-f178.google.com (mail-pf0-f178.google.com [209.85.192.178]) by dpdk.org (Postfix) with ESMTP id 2157EBE12 for ; Thu, 18 Feb 2016 06:25:11 +0100 (CET) Received: by mail-pf0-f178.google.com with SMTP id e127so24656903pfe.3 for ; Wed, 17 Feb 2016 21:25:11 -0800 (PST) In-Reply-To: List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Tue, Feb 9, 2016 at 2:34 PM, David Marchand wrote: > On Mon, Feb 8, 2016 at 3:13 PM, Burakov, Anatoly > wrote: >>> Include vfio map/rd/wr support for pci ioport. >>> >>> Signed-off-by: Santosh Shukla >>> --- >>> 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 > > Acked-by: David Marchand > Thomas, Can you pl. merge this patch? > > -- > David Marchand