From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pa0-f44.google.com (mail-pa0-f44.google.com [209.85.220.44]) by dpdk.org (Postfix) with ESMTP id A46A79A9A for ; Thu, 12 Mar 2015 11:18:29 +0100 (CET) Received: by padfa1 with SMTP id fa1so19375990pad.9 for ; Thu, 12 Mar 2015 03:18:29 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=TRXAktIP2zMrnYv+4twXCICN7ixJxp0jjYkrAiL2IKE=; b=krPZnF+JqPK5B4B/XoKfbP0v3FzNTOSMKkHigx1jNDz36rjnzbgqiOMmnUpexNBj0c BRDce6ioNJ0RiGMU59BDW+5Dl2fRI7j1Nd7DTiGZ5rSShKK8crUflXLJoDjCfC9V1s5D HdvVRJPwWzZJ2BxWi4i0T2hKfDc54R3Wq5fRX3ihR0CTgl+Bl3mBnzzwhEWnGOE3V5Of fInjP8Oa+AlIlOdplGdbQ02oKCYYS9y7n2bdfiJXsY4oi9LB792/TADGLTkbeMc0oZpw j8vBxUukMoBipmTQRiFQoQ8b5hmfgRVVfS2GXdVuxu7kqjfg+egPyuLo2/naFMOvedNU 6KCA== X-Gm-Message-State: ALoCoQlfPTKlzcC+IB5jz+yShTLFZPYYccmIlV1Q8Oe8HiR5FtpHHxViY6IyO/R/AuMfCIFzFhfx X-Received: by 10.70.37.238 with SMTP id b14mr87782068pdk.50.1426155509001; Thu, 12 Mar 2015 03:18:29 -0700 (PDT) Received: from localhost.localdomain (napt.igel.co.jp. [219.106.231.132]) by mx.google.com with ESMTPSA id z4sm10080331pdi.90.2015.03.12.03.18.27 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 12 Mar 2015 03:18:28 -0700 (PDT) From: Tetsuya Mukawa To: dev@dpdk.org Date: Thu, 12 Mar 2015 19:17:45 +0900 Message-Id: <1426155474-1596-7-git-send-email-mukawa@igel.co.jp> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1426155474-1596-1-git-send-email-mukawa@igel.co.jp> References: <1425438703-18895-1-git-send-email-mukawa@igel.co.jp> <1426155474-1596-1-git-send-email-mukawa@igel.co.jp> Subject: [dpdk-dev] [PATCH v2 06/15] eal: Use map_idx in pci_uio_map_resource() of bsdapp to work same as linuxapp X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Mar 2015 10:18:30 -0000 This patch changes code that maps pci resources in bsdapp. Linuxapp has almost same code. To consolidate both, fix implementation of bsdapp to work same as linuxapp. Signed-off-by: Tetsuya Mukawa --- lib/librte_eal/bsdapp/eal/eal_pci.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/librte_eal/bsdapp/eal/eal_pci.c b/lib/librte_eal/bsdapp/eal/eal_pci.c index 7fcb15d..bd0f8cd 100644 --- a/lib/librte_eal/bsdapp/eal/eal_pci.c +++ b/lib/librte_eal/bsdapp/eal/eal_pci.c @@ -196,7 +196,7 @@ pci_uio_map_secondary(struct rte_pci_device *dev) static int pci_uio_map_resource(struct rte_pci_device *dev) { - int i, j; + int i, map_idx; char devname[PATH_MAX]; /* contains the /dev/uioX */ void *mapaddr; uint64_t phaddr; @@ -250,9 +250,8 @@ pci_uio_map_resource(struct rte_pci_device *dev) pagesz = sysconf(_SC_PAGESIZE); maps = uio_res->maps; - for (i = uio_res->nb_maps = 0; i != PCI_MAX_RESOURCE; i++) { + for (i = 0, map_idx = 0; i != PCI_MAX_RESOURCE; i++) { - j = uio_res->nb_maps; /* skip empty BAR */ phaddr = dev->mem_resource[i].phys_addr; if (phaddr == 0) @@ -260,22 +259,23 @@ pci_uio_map_resource(struct rte_pci_device *dev) /* if matching map is found, then use it */ offset = i * pagesz; - maps[j].offset = offset; - maps[j].phaddr = dev->mem_resource[i].phys_addr; - maps[j].size = dev->mem_resource[i].len; - if (maps[j].addr != NULL || - (mapaddr = pci_map_resource(NULL, devname, (off_t)offset, - (size_t)maps[j].size) - ) == NULL) { + maps[map_idx].offset = offset; + maps[map_idx].phaddr = dev->mem_resource[i].phys_addr; + maps[map_idx].size = dev->mem_resource[i].len; + mapaddr = pci_map_resource(NULL, devname, (off_t)offset, + (size_t)maps[map_idx].size); + if ((maps[map_idx].addr != NULL) || (mapaddr == NULL)) { rte_free(uio_res); return -1; } - maps[j].addr = mapaddr; - uio_res->nb_maps++; + maps[map_idx].addr = mapaddr; + map_idx++; dev->mem_resource[i].addr = mapaddr; } + uio_res->nb_maps = map_idx; + TAILQ_INSERT_TAIL(uio_res_list, uio_res, next); return 0; -- 1.9.1