[v4,0/8] Windows bus/pci support
mbox series

Message ID 20200519142020.15848-1-talshn@mellanox.com
Headers show
Series
  • Windows bus/pci support
Related show

Message

Tal Shnaiderman May 19, 2020, 2:20 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.

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