[dpdk-dev] [PATCH v10 00/10] Windows bus/pci support
talshn at mellanox.com
talshn at mellanox.com
Mon Jun 29 14:37:31 CEST 2020
From: Tal Shnaiderman <talshn at 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
More information about the dev
mailing list