DPDK patches and discussions
 help / color / mirror / Atom feed
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>
Subject: [dpdk-dev] [PATCH v10 00/10] Windows bus/pci support
Date: Mon, 29 Jun 2020 15:37:31 +0300
Message-ID: <20200629123741.20716-1-talshn@mellanox.com> (raw)
In-Reply-To: <20200624082847.21344-1-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.

---
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

-- 
2.16.1.windows.4


  parent reply	other threads:[~2020-06-29 12:37 UTC|newest]

Thread overview: 92+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-09 10:31 [dpdk-dev] [PATCH v5 0/8] " talshn
2020-06-09 10:31 ` [dpdk-dev] [PATCH v5 1/8] eal: move OS common functions to single file talshn
2020-06-16  8:46   ` David Marchand
2020-06-18 21:15   ` [dpdk-dev] [PATCH v6 0/9] Windows bus/pci support talshn
2020-06-18 21:15     ` [dpdk-dev] [PATCH v6 1/9] eal: move OS common functions to single file talshn
2020-06-20 19:01       ` Dmitry Kozlyuk
2020-06-21 10:26       ` [dpdk-dev] [PATCH v7 0/9] Windows bus/pci support talshn
2020-06-21 10:26         ` [dpdk-dev] [PATCH v7 1/9] eal: move OS common functions to single file talshn
2020-06-22  7:55           ` [dpdk-dev] [PATCH v8 0/9] Windows bus/pci support talshn
2020-06-22  7:55             ` [dpdk-dev] [PATCH v8 1/9] eal: move OS common functions to single file talshn
2020-06-22 14:54               ` Thomas Monjalon
2020-06-23  6:45                 ` Tal Shnaiderman
2020-06-23  7:16                   ` Thomas Monjalon
2020-06-24  8:28               ` [dpdk-dev] [PATCH v9 00/10] Windows bus/pci support talshn
2020-06-24  8:28                 ` [dpdk-dev] [PATCH v9 01/10] eal: move OS common config objects talshn
2020-06-25 14:18                   ` Thomas Monjalon
2020-06-24  8:28                 ` [dpdk-dev] [PATCH v9 02/10] eal: move OS common options functions talshn
2020-06-25 14:29                   ` Thomas Monjalon
2020-06-24  8:28                 ` [dpdk-dev] [PATCH v9 03/10] pci: use OS generic memory mapping functions talshn
2020-06-24  8:28                 ` [dpdk-dev] [PATCH v9 04/10] pci: build on Windows talshn
2020-06-24  8:28                 ` [dpdk-dev] [PATCH v9 05/10] pci: fix format warning " talshn
2020-06-25 12:54                   ` Thomas Monjalon
2020-06-24  8:28                 ` [dpdk-dev] [PATCH v9 06/10] drivers: ignore pmdinfogen generation for Windows talshn
2020-06-24  8:28                 ` [dpdk-dev] [PATCH v9 07/10] drivers: fix incorrect meson import folder " talshn
2020-06-24  8:28                 ` [dpdk-dev] [PATCH v9 08/10] bus/pci: introduce Windows support with stubs talshn
2020-06-24  8:28                 ` [dpdk-dev] [PATCH v9 09/10] bus/pci: support Windows with bifurcated drivers talshn
2020-06-27  1:46                   ` Narcisa Ana Maria Vasile
2020-06-28 12:10                     ` Tal Shnaiderman
2020-06-24  8:28                 ` [dpdk-dev] [PATCH v9 10/10] build: generate version.map file for MinGW on Windows talshn
2020-06-27  1:54                 ` [dpdk-dev] [PATCH v9 00/10] Windows bus/pci support Narcisa Ana Maria Vasile
2020-06-28 12:32                   ` Tal Shnaiderman
2020-06-29 12:37                 ` talshn [this message]
2020-06-29 12:37                   ` [dpdk-dev] [PATCH v10 01/10] eal: move OS common config objects talshn
2020-06-29 15:36                     ` Tal Shnaiderman
2020-06-29 12:37                   ` [dpdk-dev] [PATCH v10 02/10] eal: move OS common options functions talshn
2020-06-29 12:37                   ` [dpdk-dev] [PATCH v10 03/10] pci: use OS generic memory mapping functions talshn
2020-06-29 12:37                   ` [dpdk-dev] [PATCH v10 04/10] pci: build on Windows talshn
2020-06-29 12:37                   ` [dpdk-dev] [PATCH v10 05/10] pci: fix format warning " talshn
2020-06-29 12:37                   ` [dpdk-dev] [PATCH v10 06/10] drivers: ignore pmdinfogen generation for Windows talshn
2020-06-29 12:37                   ` [dpdk-dev] [PATCH v10 07/10] drivers: fix incorrect meson import folder " talshn
2020-06-29 12:37                   ` [dpdk-dev] [PATCH v10 08/10] bus/pci: introduce Windows support with stubs talshn
2020-06-29 20:40                     ` Thomas Monjalon
2020-06-29 12:37                   ` [dpdk-dev] [PATCH v10 09/10] bus/pci: support Windows with bifurcated drivers talshn
2020-06-29 12:37                   ` [dpdk-dev] [PATCH v10 10/10] build: generate version.map file for MinGW on Windows talshn
2020-06-29 22:07                   ` [dpdk-dev] [PATCH v10 00/10] Windows bus/pci support Thomas Monjalon
2020-06-22  7:55             ` [dpdk-dev] [PATCH v8 2/9] pci: use OS generic memory mapping functions talshn
2020-06-22 21:54               ` Dmitry Kozlyuk
2020-06-22  7:55             ` [dpdk-dev] [PATCH v8 3/9] pci: build on Windows talshn
2020-06-22  7:55             ` [dpdk-dev] [PATCH v8 4/9] pci: fix format warning " talshn
2020-06-22  7:55             ` [dpdk-dev] [PATCH v8 5/9] drivers: ignore pmdinfogen generation for Windows talshn
2020-06-22  7:55             ` [dpdk-dev] [PATCH v8 6/9] drivers: fix incorrect meson import folder " talshn
2020-06-22  7:55             ` [dpdk-dev] [PATCH v8 7/9] bus/pci: introduce Windows support with stubs talshn
2020-06-22  7:55             ` [dpdk-dev] [PATCH v8 8/9] bus/pci: support Windows with bifurcated drivers talshn
2020-06-23 23:28               ` Dmitry Kozlyuk
2020-06-24  8:02                 ` Tal Shnaiderman
2020-06-22  7:55             ` [dpdk-dev] [PATCH v8 9/9] build: generate version.map file for MinGW on Windows talshn
2020-06-21 10:26         ` [dpdk-dev] [PATCH v7 2/9] pci: use OS generic memory mapping functions talshn
2020-06-21 10:26         ` [dpdk-dev] [PATCH v7 3/9] pci: build on Windows talshn
2020-06-21 10:26         ` [dpdk-dev] [PATCH v7 4/9] pci: fix format warning " talshn
2020-06-21 10:26         ` [dpdk-dev] [PATCH v7 5/9] drivers: ignore pmdinfogen generation for Windows talshn
2020-06-21 10:26         ` [dpdk-dev] [PATCH v7 6/9] drivers: fix incorrect meson import folder " talshn
2020-06-21 10:26         ` [dpdk-dev] [PATCH v7 7/9] bus/pci: introduce Windows support with stubs talshn
2020-06-21 11:23           ` Fady Bader
2020-06-21 10:26         ` [dpdk-dev] [PATCH v7 8/9] bus/pci: support Windows with bifurcated drivers talshn
2020-06-21 10:26         ` [dpdk-dev] [PATCH v7 9/9] build: generate version.map file for MinGW on Windows talshn
2020-06-18 21:15     ` [dpdk-dev] [PATCH v6 2/9] pci: use OS generic memory mapping functions talshn
2020-06-18 22:44       ` Dmitry Kozlyuk
2020-06-18 21:15     ` [dpdk-dev] [PATCH v6 3/9] pci: build on Windows talshn
2020-06-18 21:15     ` [dpdk-dev] [PATCH v6 4/9] pci: fix format warning " talshn
2020-06-18 21:15     ` [dpdk-dev] [PATCH v6 5/9] drivers: ignore pmdinfogen generation for Windows talshn
2020-06-18 21:15     ` [dpdk-dev] [PATCH v6 6/9] drivers: fix incorrect meson import folder " talshn
2020-06-18 21:15     ` [dpdk-dev] [PATCH v6 7/9] bus/pci: introduce Windows support with stubs talshn
2020-06-18 21:15     ` [dpdk-dev] [PATCH v6 8/9] bus/pci: support Windows with bifurcated drivers talshn
2020-06-18 22:40       ` Dmitry Kozlyuk
2020-06-18 21:15     ` [dpdk-dev] [PATCH v6 9/9] build: generate version.map file for MingW on Windows talshn
2020-06-18 23:13       ` Dmitry Kozlyuk
2020-06-21  6:36         ` Tal Shnaiderman
2020-06-20 18:54       ` Dmitry Kozlyuk
2020-06-21  5:49         ` Tal Shnaiderman
2020-06-09 10:31 ` [dpdk-dev] [PATCH v5 2/8] pci: use OS generic memory mapping functions talshn
2020-06-09 10:31 ` [dpdk-dev] [PATCH v5 3/8] pci: build on Windows talshn
2020-06-16  8:22   ` Thomas Monjalon
2020-06-09 10:31 ` [dpdk-dev] [PATCH v5 4/8] pci: fix format warning " talshn
2020-06-09 10:31 ` [dpdk-dev] [PATCH v5 5/8] drivers: ignore pmdinfogen generation for Windows talshn
2020-06-17 20:39   ` Dmitry Kozlyuk
2020-06-09 10:31 ` [dpdk-dev] [PATCH v5 6/8] drivers: fix incorrect meson import folder " talshn
2020-06-16  8:29   ` Thomas Monjalon
2020-06-16  9:17   ` Bruce Richardson
2020-06-09 10:31 ` [dpdk-dev] [PATCH v5 7/8] bus/pci: introduce Windows support with stubs talshn
2020-06-17 20:29   ` Dmitry Kozlyuk
2020-06-09 10:31 ` [dpdk-dev] [PATCH v5 8/8] bus/pci: support Windows with bifurcated drivers talshn
2020-06-17 20:28   ` Dmitry Kozlyuk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200629123741.20716-1-talshn@mellanox.com \
    --to=talshn@mellanox.com \
    --cc=anatoly.burakov@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=dmitry.kozliuk@gmail.com \
    --cc=fady@mellanox.com \
    --cc=grive@u256.net \
    --cc=harini.ramakrishnan@microsoft.com \
    --cc=navasile@linux.microsoft.com \
    --cc=ocardona@microsoft.com \
    --cc=pallavi.kadam@intel.com \
    --cc=ranjit.menon@intel.com \
    --cc=thomas@monjalon.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git