From: Tal Shnaiderman <tal...@mellanox.com> This patchset implements the EAL and PCI functions needed for probing PMDs using RTE_KDRV_NONE on Windows.
--- 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 (9): 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 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 | 2 - drivers/bus/pci/pci_common_uio.c | 2 +- drivers/bus/pci/windows/pci.c | 409 +++++++++++++++++++++++++++ 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 | 118 ++++++++ lib/librte_eal/common/eal_private.h | 1 + lib/librte_eal/common/meson.build | 3 + lib/librte_eal/freebsd/Makefile | 1 + lib/librte_eal/freebsd/eal.c | 231 ++++++--------- lib/librte_eal/include/rte_eal.h | 13 + lib/librte_eal/linux/Makefile | 1 + lib/librte_eal/linux/eal.c | 253 +++++++---------- lib/librte_eal/rte_eal_exports.def | 11 + lib/librte_eal/windows/eal.c | 118 ++++---- 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 +- 37 files changed, 962 insertions(+), 413 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