The ConnectX NIC series hardware provides the advanced internal MMU option and can operate directly ob virtual addresses, host software should not do any virtual-to-physical address translations. It means the mlx5 PMDs can operate in DPDK IOVA VA (virtual address) mode transparently.
To force IOVA VA mode the DPDK should be built with meson option: enable_iova_as_pa=false With this option only drivers supporting IOVA VA mode are enabled. This patch marks mlx5 drivers with require_iova_in_mbuf flag, thus allowing their compilation for IOVA VA mode. Signed-off-by: Viacheslav Ovsiienko <viachesl...@nvidia.com> --- drivers/common/mlx5/meson.build | 2 ++ drivers/compress/mlx5/meson.build | 2 ++ drivers/crypto/mlx5/meson.build | 2 ++ drivers/net/mlx5/meson.build | 2 ++ drivers/regex/mlx5/meson.build | 2 ++ 5 files changed, 10 insertions(+) diff --git a/drivers/common/mlx5/meson.build b/drivers/common/mlx5/meson.build index 9dc809f192..26c6d80fe1 100644 --- a/drivers/common/mlx5/meson.build +++ b/drivers/common/mlx5/meson.build @@ -42,6 +42,8 @@ else cflags += [ '-UPEDANTIC' ] endif +require_iova_in_mbuf = false + mlx5_config = configuration_data() subdir(exec_env) configure_file(output: 'mlx5_autoconf.h', configuration: mlx5_config) diff --git a/drivers/compress/mlx5/meson.build b/drivers/compress/mlx5/meson.build index c906f2d7a2..26a0e0cd09 100644 --- a/drivers/compress/mlx5/meson.build +++ b/drivers/compress/mlx5/meson.build @@ -28,3 +28,5 @@ foreach option:cflags_options cflags += option endif endforeach + +require_iova_in_mbuf = false diff --git a/drivers/crypto/mlx5/meson.build b/drivers/crypto/mlx5/meson.build index a830a4c7b9..a2691ec0f0 100644 --- a/drivers/crypto/mlx5/meson.build +++ b/drivers/crypto/mlx5/meson.build @@ -30,3 +30,5 @@ foreach option:cflags_options cflags += option endif endforeach + +require_iova_in_mbuf = false diff --git a/drivers/net/mlx5/meson.build b/drivers/net/mlx5/meson.build index dba911693e..fde7241f7e 100644 --- a/drivers/net/mlx5/meson.build +++ b/drivers/net/mlx5/meson.build @@ -77,6 +77,8 @@ else cflags += [ '-UPEDANTIC' ] endif +require_iova_in_mbuf = false + testpmd_sources += files('mlx5_testpmd.c') subdir(exec_env) diff --git a/drivers/regex/mlx5/meson.build b/drivers/regex/mlx5/meson.build index 87404101b9..0f4ca46f44 100644 --- a/drivers/regex/mlx5/meson.build +++ b/drivers/regex/mlx5/meson.build @@ -32,3 +32,5 @@ foreach option:cflags_options cflags += option endif endforeach + +require_iova_in_mbuf = false -- 2.18.1