mbox series

[v1,00/72] mlx5 Windows support - part #5

Message ID 20201027232335.31427-1-ophirmu@nvidia.com (mailing list archive)
Headers
Series mlx5 Windows support - part #5 |

Message

Ophir Munk Oct. 27, 2020, 11:22 p.m. UTC
  This patch series is part of preparing mlx5 PMD to compile and run under
Windows OS. Part #5

v1: initial version

Ophir Munk (46):
  net/mlx5: fix flow sample definitions
  net/mlx5/linux: extend device attributes getter
  net/mlx5: remove Linux files from Windows compilation
  net/mlx5: fix freeing packet pacing
  net/mlx5: replace Linux sleep with rte sleep
  net/mlx5: define mprq functions as static inline
  net/mlx5: do not define static_assert in Windows
  net/mlx5: move static_assert calls to global scope
  net/mlx5: wrap glue alloc/dealloc PD with OS calls
  net/mlx5: fix adding destroy flow action wrapper
  common/mlx5: add definition HAVE_INFINIBAND_VERBS_H
  common/mlx5/linux: handle memory allocations with alignment
  common/mlx5/windows: handle memory allocations with alignment
  mlx5/windows: add initialization routine for external lib
  mlx5/windows: generate file mlx5_autoconf.h
  common/mlx5/windows: add getter functions
  net/mlx5: update MR prototypes for DevX
  common/mlx5/windows: add OS reg/dereg MR
  drivers/common: enable Windows common mlx5 compilation
  net/mlx5/windows: implement device attribute getter
  net/mlx5/windows: add mlx5_os.c stubs
  net/mlx5: refactor eth dev ops for Windows
  common/mlx5/windows: add missing DV and IBV definitions
  mlx5/windows: add mlx5_os header file under net
  net/mlx5/windows: add pthread initializer definition
  net/mlx5/windows: define epoll API to do nothing
  net/mlx5/windows: define errno ETOOMANYREFS
  common/mlx5: add rte compatibility header file
  common/mlx5/windows: add DevX UAR getters
  net/mlx5/windows: add memory region callbacks
  net/mlx5/windows: add stubs for MP requests
  net/mlx5/windows: add ethdev stub operations
  net/mlx5/windws: add VLAN stubs
  net/mlx5: exclude rte_intr_callback_register call
  net/mlx5/windows: support open device
  net/mlx5/windws: spawn eth devices
  net/mlx5/linux: wrap adjust flow priority with OS calls
  net/mlx5/linux: add OS default miss flow action
  net/mlx5/linux: fix add OS dest_devx_tir action
  drivers/net: enable Windows net/mlx5 compilation
  net/mlx5/windows: introduce flow support
  net/mlx5/windows: create flow matcher object
  net/mlx5/windows: create flow action dest TIR object
  net/mlx5/windows: create flow rule
  net/mlx5: use HAVE_INFINIBAND_VERBS_H in shared code
  net/mlx5: fix separating eth_dev_ops per OS

Tal Shnaiderman (26):
  mlx5: fix relaxed ordering DevX flow
  net/mlx5: fix folding constant array error
  net/mlx5: wrap glue reg/dereg UMEM with OS calls
  common/mlx5/linux: wrap event channel APIs with OS calls
  common/mlx5: add Windows exports file
  common/mlx5: extend DevX query hca attributes command
  common/mlx5: add DevX alloc PD command
  common/mlx5/windows: add glue functions APIs
  mlx5/windows: add mlx5 meson file
  common/mlx5/windows: extend PRM match_param_bits struct
  common/mlx5/windows: add OS alloc/dealloc pd
  common/mlx5/windows: add OS umem reg/dereg API
  net/mlx5/windows: implement mlx5 mac addr add
  common/mlx5/windows: wrap event channel APIs with OS calls
  net/mlx5/windows: support get mac
  net/mlx5/windows: support link update
  net/mlx5/windows: support read clock
  net/mlx5/windows: support get mtu
  net/mlx5/windows: support get interface name
  net/mlx5/windows: support is removed
  net/mlx5/windows: support get pdn
  net/mlx5/windows: initial probing implementation
  net/mlx5/windows: support VF PCI address
  common/mlx5: fix Windows warnings on missing enum
  net/mlx5: fix Windows warnings on get_if_name
  mlx5: build pmd only with the clang compiler

 drivers/common/meson.build                      |    8 +-
 drivers/common/mlx5/linux/meson.build           |    2 +
 drivers/common/mlx5/linux/mlx5_common_os.h      |   83 ++
 drivers/common/mlx5/meson.build                 |    4 +-
 drivers/common/mlx5/mlx5_common.c               |    4 +-
 drivers/common/mlx5/mlx5_common_mp.h            |    2 +-
 drivers/common/mlx5/mlx5_common_mr.h            |    1 +
 drivers/common/mlx5/mlx5_devx_cmds.c            |   54 +-
 drivers/common/mlx5/mlx5_devx_cmds.h            |   17 +-
 drivers/common/mlx5/mlx5_malloc.c               |   14 +-
 drivers/common/mlx5/mlx5_prm.h                  |   94 ++
 drivers/common/mlx5/rte_common_mlx5_exports.def |   67 ++
 drivers/common/mlx5/version.map                 |    1 +
 drivers/common/mlx5/windows/meson.build         |   46 +
 drivers/common/mlx5/windows/mlx5_common_os.c    |  209 ++++
 drivers/common/mlx5/windows/mlx5_common_os.h    |  257 +++++
 drivers/common/mlx5/windows/mlx5_glue.c         |  354 +++++++
 drivers/common/mlx5/windows/mlx5_glue.h         |   60 ++
 drivers/common/mlx5/windows/mlx5_win_defs.h     |  250 +++++
 drivers/common/mlx5/windows/mlx5_win_ext.h      |   46 +
 drivers/net/meson.build                         |    9 +-
 drivers/net/mlx5/linux/mlx5_flow_os.h           |   62 ++
 drivers/net/mlx5/linux/mlx5_os.c                |  175 +---
 drivers/net/mlx5/linux/mlx5_os.h                |    4 -
 drivers/net/mlx5/linux/mlx5_verbs.c             |    2 +-
 drivers/net/mlx5/linux/mlx5_verbs.h             |    8 +-
 drivers/net/mlx5/meson.build                    |   20 +-
 drivers/net/mlx5/mlx5.c                         |  168 +++-
 drivers/net/mlx5/mlx5.h                         |   25 +-
 drivers/net/mlx5/mlx5_defs.h                    |    7 +-
 drivers/net/mlx5/mlx5_devx.c                    |   39 +-
 drivers/net/mlx5/mlx5_flow.c                    |   26 +-
 drivers/net/mlx5/mlx5_flow.h                    |   16 +-
 drivers/net/mlx5/mlx5_flow_dv.c                 |   53 +-
 drivers/net/mlx5/mlx5_flow_verbs.c              |    6 +
 drivers/net/mlx5/mlx5_rxq.c                     |   71 --
 drivers/net/mlx5/mlx5_rxtx.c                    |   98 +-
 drivers/net/mlx5/mlx5_rxtx.h                    |   73 +-
 drivers/net/mlx5/mlx5_trigger.c                 |    3 +-
 drivers/net/mlx5/mlx5_txpp.c                    |   36 +-
 drivers/net/mlx5/windows/meson.build            |   12 +
 drivers/net/mlx5/windows/mlx5_ethdev_os.c       |  386 ++++++++
 drivers/net/mlx5/windows/mlx5_flow_os.c         |  237 +++++
 drivers/net/mlx5/windows/mlx5_flow_os.h         |  364 +++++++
 drivers/net/mlx5/windows/mlx5_mp_os.c           |   71 ++
 drivers/net/mlx5/windows/mlx5_os.c              | 1180 +++++++++++++++++++++++
 drivers/net/mlx5/windows/mlx5_os.h              |   27 +
 drivers/net/mlx5/windows/mlx5_vlan_os.c         |   83 ++
 drivers/vdpa/mlx5/mlx5_vdpa_event.c             |    7 +-
 drivers/vdpa/mlx5/mlx5_vdpa_lm.c                |    3 +-
 drivers/vdpa/mlx5/mlx5_vdpa_mem.c               |    3 +-
 51 files changed, 4433 insertions(+), 414 deletions(-)
 create mode 100644 drivers/common/mlx5/rte_common_mlx5_exports.def
 create mode 100644 drivers/common/mlx5/windows/meson.build
 create mode 100644 drivers/common/mlx5/windows/mlx5_common_os.c
 create mode 100644 drivers/common/mlx5/windows/mlx5_common_os.h
 create mode 100644 drivers/common/mlx5/windows/mlx5_glue.c
 create mode 100644 drivers/common/mlx5/windows/mlx5_glue.h
 create mode 100644 drivers/common/mlx5/windows/mlx5_win_defs.h
 create mode 100644 drivers/common/mlx5/windows/mlx5_win_ext.h
 create mode 100644 drivers/net/mlx5/windows/meson.build
 create mode 100644 drivers/net/mlx5/windows/mlx5_ethdev_os.c
 create mode 100644 drivers/net/mlx5/windows/mlx5_flow_os.c
 create mode 100644 drivers/net/mlx5/windows/mlx5_flow_os.h
 create mode 100644 drivers/net/mlx5/windows/mlx5_mp_os.c
 create mode 100644 drivers/net/mlx5/windows/mlx5_os.c
 create mode 100644 drivers/net/mlx5/windows/mlx5_os.h
 create mode 100644 drivers/net/mlx5/windows/mlx5_vlan_os.c