New Global device syntax [1] is used to identify a device with full bus, class and driver description, example: -a bus=pci,id=82:00.0/class=eth/driver=mlx5,dv_flow_en=1
This patch enables global syntax with backward compatibility by trying new global syntax firstly and fallback to legacy parsing. For PCI device, BDF is retrived from the "id" attribute of bus section, parse from device name if "id" not available. Depends-on: patch-86058 ("ethdev: refactor representor infrastructure") [1] Global Device Syntax: https://www.dpdk.org/wp-content/uploads/sites/35/2018/10/am-07-DPDK-hotplug-20180905.pdf [2] RFC: http://patchwork.dpdk.org/project/dpdk/list/?series=14378 Xueming Li (7): devargs: fix data buffer storage type devargs: fix memory leak on parsing error devargs: fix memory leak in legacy parser devargs: fix buffer data memory leak kvargs: add get by key function devargs: support new global device syntax bus/pci: add new global device syntax support app/test-pmd/config.c | 4 +-- app/test-pmd/testpmd.c | 4 +-- drivers/bus/pci/pci_common.c | 18 ++++++++-- drivers/bus/vdev/vdev.c | 5 +-- drivers/net/failsafe/failsafe_args.c | 3 +- drivers/net/failsafe/failsafe_eal.c | 2 +- examples/multi_process/hotplug_mp/commands.c | 8 ++--- examples/vdpa/main.c | 6 ++-- lib/librte_eal/common/eal_common_dev.c | 7 ++-- lib/librte_eal/common/eal_common_devargs.c | 36 ++++++++++++++++---- lib/librte_eal/common/hotplug_mp.c | 5 ++- lib/librte_eal/include/rte_dev.h | 2 +- lib/librte_eal/include/rte_devargs.h | 2 +- lib/librte_ethdev/rte_ethdev.c | 5 +-- lib/librte_kvargs/rte_kvargs.c | 20 +++++++++++ lib/librte_kvargs/rte_kvargs.h | 14 ++++++++ lib/librte_kvargs/version.map | 1 + 17 files changed, 108 insertions(+), 34 deletions(-) -- 2.25.1