This is a continuation of the discussions[1] to add mbuf physical address field to dynamic field. Previous version was to add PA field to dynamic field area based on the EAL IOVA mode option. It was deemed unsafe as some components could still use the PA field without checking IOVA mode and there are drivers which need PA to work. One suggestion was to make the IOVA mode check at compile time so that drivers which need PA can be disabled during build. This series adds this new meson build options. Second patch adds mbuf PA field to dynamic field on such builds. Last two patches enable Marvell cnxk PMDs and software PMDs in IOVA as VA build as they work without PA field.
1. https://inbox.dpdk.org/dev/57d2ab7fff672716d37ba4078e2e3bb2db126607.1656605763.git.sthot...@marvell.com/. Shijith Thotton (4): build: add meson option to configure IOVA mode as VA mbuf: add second dynamic field member for VA only build drivers: mark Marvell cnxk PMDs work with IOVA as VA drivers: mark software PMDs work with IOVA as VA app/test-bbdev/test_bbdev_perf.c | 2 +- app/test-crypto-perf/cperf_test_common.c | 5 +-- app/test/test_bpf.c | 2 +- app/test/test_dmadev.c | 33 ++++++--------- app/test/test_mbuf.c | 12 +++--- app/test/test_pcapng.c | 2 +- config/arm/meson.build | 8 +++- config/meson.build | 3 ++ drivers/common/cnxk/meson.build | 1 + drivers/crypto/armv8/meson.build | 1 + drivers/crypto/cnxk/cn10k_ipsec_la_ops.h | 4 +- drivers/crypto/cnxk/cn9k_ipsec_la_ops.h | 2 +- drivers/crypto/cnxk/meson.build | 2 + drivers/crypto/ipsec_mb/meson.build | 1 + drivers/crypto/null/meson.build | 1 + drivers/crypto/openssl/meson.build | 1 + drivers/dma/cnxk/meson.build | 1 + drivers/dma/skeleton/meson.build | 1 + drivers/event/cnxk/meson.build | 1 + drivers/event/dsw/meson.build | 1 + drivers/event/opdl/meson.build | 1 + drivers/event/skeleton/meson.build | 1 + drivers/event/sw/meson.build | 1 + drivers/mempool/bucket/meson.build | 1 + drivers/mempool/cnxk/meson.build | 1 + drivers/mempool/ring/meson.build | 1 + drivers/mempool/stack/meson.build | 1 + drivers/meson.build | 6 +++ drivers/net/af_packet/meson.build | 1 + drivers/net/af_xdp/meson.build | 2 + drivers/net/bonding/meson.build | 1 + drivers/net/cnxk/cnxk_ethdev.h | 1 - drivers/net/cnxk/meson.build | 1 + drivers/net/failsafe/meson.build | 1 + drivers/net/memif/meson.build | 1 + drivers/net/null/meson.build | 1 + drivers/net/pcap/meson.build | 1 + drivers/net/ring/meson.build | 1 + drivers/net/tap/meson.build | 1 + drivers/raw/cnxk_bphy/meson.build | 1 + drivers/raw/cnxk_gpio/meson.build | 1 + drivers/raw/skeleton/meson.build | 1 + lib/eal/include/rte_common.h | 17 ++++++++ lib/eal/linux/eal.c | 7 +++ lib/mbuf/rte_mbuf.c | 8 ++-- lib/mbuf/rte_mbuf.h | 18 +++++--- lib/mbuf/rte_mbuf_core.h | 32 +++++++++++--- lib/mbuf/rte_mbuf_dyn.c | 2 + lib/vhost/vhost.h | 2 +- lib/vhost/vhost_crypto.c | 54 ++++++++++++++++++------ meson_options.txt | 2 + 51 files changed, 187 insertions(+), 67 deletions(-) -- 2.25.1