From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id E903DA00BE; Tue, 28 Apr 2020 11:15:03 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 444E91D5DA; Tue, 28 Apr 2020 11:14:32 +0200 (CEST) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by dpdk.org (Postfix) with ESMTP id D87091D5C7 for ; Tue, 28 Apr 2020 11:14:25 +0200 (CEST) Received: from Internal Mail-Server by MTLPINE2 (envelope-from talshn@mellanox.com) with ESMTPS (AES256-SHA encrypted); 28 Apr 2020 12:14:21 +0300 Received: from l-wincomp04-vm.labs.mlnx (l-wincomp04-vm.mtl.labs.mlnx [10.237.1.5]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 03S9ELqt017200; Tue, 28 Apr 2020 12:14:21 +0300 From: talshn@mellanox.com To: dev@dpdk.org Cc: thomas@monjalon.net, pallavi.kadam@intel.com, dmitry.kozliuk@gmail.com, david.marchand@redhat.com, grive@u256.net, ranjit.menon@intel.com, navasile@linux.microsoft.com, Tal Shnaiderman Date: Tue, 28 Apr 2020 12:11:06 +0300 Message-Id: <20200428091111.13416-3-talshn@mellanox.com> X-Mailer: git-send-email 2.16.1.windows.4 In-Reply-To: <20200428091111.13416-1-talshn@mellanox.com> References: <20200428091111.13416-1-talshn@mellanox.com> Subject: [dpdk-dev] [PATCH v2 2/7] pci: build on Windows X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Tal Shnaiderman Changing all of PCIs Unix memory mapping to the new memory allocation API wrapper. Added off_t in Windows header file as a supported type since it is needed by PCI. Signed-off-by: Tal Shnaiderman --- lib/librte_eal/windows/include/rte_os.h | 1 + lib/librte_pci/rte_pci.c | 10 +++++----- lib/meson.build | 5 ++++- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/lib/librte_eal/windows/include/rte_os.h b/lib/librte_eal/windows/include/rte_os.h index 62805a307..1c433b976 100644 --- a/lib/librte_eal/windows/include/rte_os.h +++ b/lib/librte_eal/windows/include/rte_os.h @@ -48,6 +48,7 @@ extern "C" { /* as in */ typedef long long ssize_t; +typedef long off_t; #ifndef RTE_TOOLCHAIN_GCC static inline int diff --git a/lib/librte_pci/rte_pci.c b/lib/librte_pci/rte_pci.c index d1ab6b414..5dc8b5a6f 100644 --- a/lib/librte_pci/rte_pci.c +++ b/lib/librte_pci/rte_pci.c @@ -9,7 +9,6 @@ #include #include #include -#include #include #include @@ -138,9 +137,10 @@ pci_map_resource(void *requested_addr, int fd, off_t offset, size_t size, void *mapaddr; /* Map the PCI memory resource of device */ - mapaddr = mmap(requested_addr, size, PROT_READ | PROT_WRITE, - MAP_SHARED | additional_flags, fd, offset); - if (mapaddr == MAP_FAILED) { + mapaddr = rte_mem_map(requested_addr, size, + RTE_PROT_READ | RTE_PROT_WRITE, + RTE_MAP_SHARED | additional_flags, fd, offset); + if (mapaddr == NULL) { RTE_LOG(ERR, EAL, "%s(): cannot mmap(%d, %p, 0x%zx, 0x%llx): %s (%p)\n", __func__, fd, requested_addr, size, @@ -160,7 +160,7 @@ pci_unmap_resource(void *requested_addr, size_t size) return; /* Unmap the PCI memory resource of device */ - if (munmap(requested_addr, size)) { + if (rte_mem_unmap(requested_addr, size)) { RTE_LOG(ERR, EAL, "%s(): cannot munmap(%p, %#zx): %s\n", __func__, requested_addr, size, strerror(errno)); diff --git a/lib/meson.build b/lib/meson.build index 63c17ee75..a01bcf04d 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -33,7 +33,10 @@ libraries = [ 'flow_classify', 'bpf', 'telemetry'] if is_windows - libraries = ['kvargs','eal'] # only supported libraries for windows + libraries = [ + 'kvargs','eal', + 'pci', + ] # only supported libraries for windows endif default_cflags = machine_args + ['-DALLOW_EXPERIMENTAL_API'] -- 2.16.1.windows.4