Message ID | 20200629123741.20716-1-talshn@mellanox.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3B339A0350; Mon, 29 Jun 2020 14:37:57 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id BB80D1BEA8; Mon, 29 Jun 2020 14:37:56 +0200 (CEST) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by dpdk.org (Postfix) with ESMTP id 1087E1BEA9 for <dev@dpdk.org>; Mon, 29 Jun 2020 14:37:55 +0200 (CEST) Received: from Internal Mail-Server by MTLPINE1 (envelope-from talshn@mellanox.com) with SMTP; 29 Jun 2020 15:37:54 +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 05TCbrhL016264; Mon, 29 Jun 2020 15:37:53 +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, harini.ramakrishnan@microsoft.com, ocardona@microsoft.com, anatoly.burakov@intel.com, fady@mellanox.com, bruce.richardson@intel.com, Tal Shnaiderman <talshn@mellanox.com> Date: Mon, 29 Jun 2020 15:37:31 +0300 Message-Id: <20200629123741.20716-1-talshn@mellanox.com> X-Mailer: git-send-email 2.16.1.windows.4 In-Reply-To: <20200624082847.21344-1-talshn@mellanox.com> References: <20200624082847.21344-1-talshn@mellanox.com> Subject: [dpdk-dev] [PATCH v10 00/10] Windows bus/pci support X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series |
Windows bus/pci support
|
|
Message
Tal Shnaiderman
June 29, 2020, 12:37 p.m. UTC
From: Tal Shnaiderman <talshn@mellanox.com>
This patchset implements the EAL and PCI functions needed for probing PMDs using RTE_KDRV_NONE on Windows.
---
v10:
* replace strncpy with strlcpy (ThomasM)
* Fix indent and style issues with new variables (ThomasM)
* Remove the remap function and use rte_eal_get_configuration()->mem_config (DavidM)
* Return the actual pointer in eal_get_application_usage_hook (ThomasM)
* Add "Fixes patch" and cc stable for format warning fix patch (ThomasM)
* Undef implementation of rte_pci_get_sysfs_path to avoid getenv warning (NarcisaV)
v9:
* Split the patch of common OS file to config and options patches (ThomasM).
* Remove rte_ prefixes from new functions as they are eal internal (ThomasM).
^ Move common declarations to eal_private.h.
* Add get_pci_hardware_id and parse_pci_hardware_id in pci.c (DmitryK)
* Fix issues in pci.c (DmitryK)
v8:
* Move internal_config to static inside eal_common_config.c and use getters for all external uses.
* Fix duplicated export line (FadyB)
* Fix FreeBSD missing function.
v7:
* Remove Unneeded code from MinGW mapping script (DmitryK)
* Fix error flow issues in pci.c (DmitryK)
* Fix Unix build errors following unity of common functions.
* Move strerror to rte_strerror (DmitryK)
v6:
* Fix duplication of exported functions for mingw by modifying the version.map in build (new commit)
* Fix comments and move additional functions to eal_common_config (DavidM)
* Fix cross-compilation in mingw (DmitryK)
* Fix Warnings
* Move off_t type to pci (ThomasM)
v5:
* Adjust mem-mapping functions to changes in latest memory management patchset.
* Fix incorrect implib definition in drivers/meson.build
v4:
* Fixed various warnings and naming conventions(DmitryK).
* Fixed broken mingw-64 build(DmitryK).
* Improved logging(DmitryK).
* Added patch to fix warnings on rte_pci_addr logging.
* Fixed broken make on linux/freebsd.
v3:
* Changes in BDF and hardware ids retrieval(DmitryK).
* Apply new generic MM to all pci unix callers(DmitryK).
* Minor corrections in pci.c(DmitryK).
v2:
* fix style issues.
* fix error handing flow in pci.c
* change eal_config.c to eal_common_config.c
---
Tal Shnaiderman (10):
eal: move OS common config objects
eal: move OS common options functions
pci: use OS generic memory mapping functions
pci: build on Windows
pci: fix format warning on Windows
drivers: ignore pmdinfogen generation for Windows
drivers: fix incorrect meson import folder for Windows
bus/pci: introduce Windows support with stubs
bus/pci: support Windows with bifurcated drivers
build: generate version.map file for MinGW on Windows
buildtools/{map_to_def.py => map_to_win.py} | 11 +-
buildtools/meson.build | 4 +-
drivers/baseband/meson.build | 4 +
drivers/bus/ifpga/meson.build | 6 +
drivers/bus/pci/bsd/pci.c | 2 +-
drivers/bus/pci/linux/pci_uio.c | 2 +-
drivers/bus/pci/linux/pci_vfio.c | 9 +-
drivers/bus/pci/meson.build | 14 +-
drivers/bus/pci/pci_common.c | 5 +-
drivers/bus/pci/pci_common_uio.c | 2 +-
drivers/bus/pci/windows/pci.c | 424 +++++++++++++++++++++++++++
drivers/bus/vdev/meson.build | 6 +
drivers/bus/vmbus/meson.build | 7 +
drivers/common/meson.build | 4 +
drivers/compress/meson.build | 4 +
drivers/crypto/meson.build | 4 +
drivers/event/meson.build | 4 +
drivers/mempool/meson.build | 4 +
drivers/meson.build | 51 ++--
drivers/net/meson.build | 4 +
drivers/raw/meson.build | 4 +
drivers/vdpa/meson.build | 4 +
lib/librte_eal/common/eal_common_config.c | 90 ++++++
lib/librte_eal/common/eal_common_dynmem.c | 54 ++--
lib/librte_eal/common/eal_common_fbarray.c | 8 +-
lib/librte_eal/common/eal_common_mcfg.c | 16 +-
lib/librte_eal/common/eal_common_memalloc.c | 4 +-
lib/librte_eal/common/eal_common_memory.c | 44 ++-
lib/librte_eal/common/eal_common_options.c | 48 ++-
lib/librte_eal/common/eal_common_proc.c | 33 ++-
lib/librte_eal/common/eal_common_thread.c | 10 +-
lib/librte_eal/common/eal_internal_cfg.h | 1 -
lib/librte_eal/common/eal_private.h | 31 ++
lib/librte_eal/common/malloc_elem.c | 15 +-
lib/librte_eal/common/malloc_heap.c | 15 +-
lib/librte_eal/common/meson.build | 3 +
lib/librte_eal/freebsd/Makefile | 1 +
lib/librte_eal/freebsd/eal.c | 219 ++++++--------
lib/librte_eal/freebsd/eal_hugepage_info.c | 32 +-
lib/librte_eal/freebsd/eal_memory.c | 34 ++-
lib/librte_eal/linux/Makefile | 1 +
lib/librte_eal/linux/eal.c | 258 ++++++++--------
lib/librte_eal/linux/eal_hugepage_info.c | 50 ++--
lib/librte_eal/linux/eal_memalloc.c | 136 ++++++---
lib/librte_eal/linux/eal_memory.c | 131 +++++----
lib/librte_eal/linux/eal_timer.c | 19 +-
lib/librte_eal/linux/eal_vfio.c | 20 +-
lib/librte_eal/rte_eal_exports.def | 10 +
lib/librte_eal/windows/eal.c | 123 ++++----
lib/librte_eal/windows/eal_hugepages.c | 7 +-
lib/librte_eal/windows/eal_memalloc.c | 18 +-
lib/librte_eal/windows/eal_memory.c | 11 +-
lib/librte_eal/windows/eal_mp.c | 15 +
lib/librte_eal/windows/include/rte_windows.h | 1 +
lib/librte_pci/rte_pci.c | 19 +-
lib/librte_pci/rte_pci.h | 5 +-
lib/meson.build | 24 +-
57 files changed, 1456 insertions(+), 629 deletions(-)
rename buildtools/{map_to_def.py => map_to_win.py} (69%)
create mode 100644 drivers/bus/pci/windows/pci.c
create mode 100644 lib/librte_eal/common/eal_common_config.c
Comments
29/06/2020 14:37, talshn@mellanox.com: > From: Tal Shnaiderman <talshn@mellanox.com> > > This patchset implements the EAL and PCI functions needed for probing PMDs using RTE_KDRV_NONE on Windows. [...] > Tal Shnaiderman (10): > eal: move OS common config objects > eal: move OS common options functions > pci: use OS generic memory mapping functions > pci: build on Windows > pci: fix format warning on Windows > drivers: ignore pmdinfogen generation for Windows > drivers: fix incorrect meson import folder for Windows > bus/pci: introduce Windows support with stubs > bus/pci: support Windows with bifurcated drivers > build: generate version.map file for MinGW on Windows Applied, with small changes described in the thread, thanks.