From: Tal Shnaiderman <tal...@mellanox.com> 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 <tal...@mellanox.com> --- lib/librte_eal/windows/include/rte_os.h | 1 + lib/librte_pci/rte_pci.c | 9 ++++----- lib/meson.build | 5 ++++- 3 files changed, 9 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 <windows.h> */ 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..8c7272ec4 100644 --- a/lib/librte_pci/rte_pci.c +++ b/lib/librte_pci/rte_pci.c @@ -9,7 +9,6 @@ #include <stdlib.h> #include <stdio.h> #include <sys/queue.h> -#include <sys/mman.h> #include <rte_errno.h> #include <rte_interrupts.h> @@ -138,9 +137,9 @@ 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 +159,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