From patchwork Tue May 19 14:20:12 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tal Shnaiderman X-Patchwork-Id: 70438 Return-Path: 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 205FEA0093; Tue, 19 May 2020 16:21:25 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id F26F31D16B; Tue, 19 May 2020 16:21:23 +0200 (CEST) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by dpdk.org (Postfix) with ESMTP id 3E5451D147 for ; Tue, 19 May 2020 16:21:22 +0200 (CEST) Received: from Internal Mail-Server by MTLPINE1 (envelope-from talshn@mellanox.com) with ESMTPS (AES256-SHA encrypted); 19 May 2020 17:21: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 04JELLqk024438; Tue, 19 May 2020 17:21: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, anatoly.burakov@intel.com, Tal Shnaiderman Date: Tue, 19 May 2020 17:20:12 +0300 Message-Id: <20200519142020.15848-1-talshn@mellanox.com> X-Mailer: git-send-email 2.16.1.windows.4 Subject: [dpdk-dev] [PATCH v4 0/8] Windows bus/pci support 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 This patchset implements the EAL and PCI functions needed for probing PMDs using RTE_KDRV_NONE on Windows. Depends-on: series-9713 ("Windows basic memory management") 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 (8): eal: move OS common functions to single file 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 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 | 8 +- drivers/bus/pci/meson.build | 14 +- drivers/bus/pci/pci_common.c | 2 - drivers/bus/pci/pci_common_uio.c | 2 +- drivers/bus/pci/windows/pci.c | 399 +++++++++++++++++++++++++++ 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 | 15 +- drivers/net/meson.build | 4 + drivers/raw/meson.build | 4 + drivers/vdpa/meson.build | 4 + lib/librte_eal/common/eal_common_config.c | 39 +++ lib/librte_eal/common/eal_private.h | 12 + lib/librte_eal/common/meson.build | 3 + lib/librte_eal/freebsd/Makefile | 1 + lib/librte_eal/freebsd/eal.c | 36 --- lib/librte_eal/linux/Makefile | 1 + lib/librte_eal/linux/eal.c | 36 --- lib/librte_eal/rte_eal_exports.def | 9 + lib/librte_eal/rte_eal_version.map | 3 + lib/librte_eal/windows/eal.c | 63 ++--- lib/librte_eal/windows/eal_mp.c | 14 + lib/librte_eal/windows/include/rte_os.h | 2 +- lib/librte_eal/windows/include/rte_windows.h | 1 + lib/librte_pci/rte_pci.c | 14 +- lib/librte_pci/rte_pci.h | 4 +- lib/meson.build | 5 +- 36 files changed, 602 insertions(+), 140 deletions(-) create mode 100644 drivers/bus/pci/windows/pci.c create mode 100644 lib/librte_eal/common/eal_common_config.c