From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pa0-f52.google.com (mail-pa0-f52.google.com [209.85.220.52]) by dpdk.org (Postfix) with ESMTP id A1DD79AB3 for ; Tue, 17 Mar 2015 10:31:15 +0100 (CET) Received: by pagr17 with SMTP id r17so4802058pag.0 for ; Tue, 17 Mar 2015 02:31:15 -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=v+dCzMoXby6ChDb9oDRYoNdPvo7YorKaE8X/xfVS7mQ=; b=h/VJU1p7LKKU0cLkIW7JEmG0n0tQLzcKdJMvcZjj40dDbd/+esD/AY0N3+z+S0zE2Z Bt9M9PL9UeGIV9s/ZZGelz5RbQazZDCmE/p4+snbQYaWTlxcoZNbJVSO1Py0RbKvvZvJ o/PQEf5cF4xK2aBvCYlGu/ARKN7k6I3gAaL0ETMoYvTh+8NNgvqMa/ud8Nxil8ACjqsA duDZDq2Qa7GOWvXbWoTDH7nDgbeHy/zU7UvHdBASznDbHB7E1XfRIG9Q9MwxmsPAN8hZ X5pUAvbYLUkyqAXkwVh08tTB7AzQtAsNj9SqlMUguWLdLyd4LDihzvSAmCahNzeUYpvb xtRA== X-Gm-Message-State: ALoCoQm5gwIgvUuO3GTxn43hJzeWr0D7Bb3QuSDd32gkXXhPs7G+8AV1SkU+XcFNf1hrNl77Kya0 X-Received: by 10.66.241.71 with SMTP id wg7mr146326110pac.81.1426584675055; Tue, 17 Mar 2015 02:31:15 -0700 (PDT) Received: from localhost.localdomain (napt.igel.co.jp. [219.106.231.132]) by mx.google.com with ESMTPSA id ce1sm21354243pdb.34.2015.03.17.02.31.13 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 17 Mar 2015 02:31:14 -0700 (PDT) From: Tetsuya Mukawa To: dev@dpdk.org Date: Tue, 17 Mar 2015 18:30:44 +0900 Message-Id: <1426584645-28828-6-git-send-email-mukawa@igel.co.jp> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1426584645-28828-1-git-send-email-mukawa@igel.co.jp> References: <1426155474-1596-4-git-send-email-mukawa@igel.co.jp> <1426584645-28828-1-git-send-email-mukawa@igel.co.jp> Subject: [dpdk-dev] [PATCH 5/6] 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: Tue, 17 Mar 2015 09:31:16 -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 85f8671..08b91b4 100644 --- a/lib/librte_eal/bsdapp/eal/eal_pci.c +++ b/lib/librte_eal/bsdapp/eal/eal_pci.c @@ -195,7 +195,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; @@ -247,31 +247,31 @@ 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 */ if ((phaddr = dev->mem_resource[i].phys_addr) == 0) continue; /* 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