On Thu, 30 Aug 2018 15:41:51 +0200 Gaetan Rivet <gaetan.ri...@6wind.com> wrote:
> Last release saw the introduction of the new devargs system. > To this end, the "class" abstraction was described as well > as a common API for querying and declaring devices. > > This patchset implements the "eth" device class and the > query/declaration part of the framework for PCI and vdev buses, > enabling a minimal support for the new system. > > A new testpmd command is added to test device querying. > > Devargs parsing is extended in the relevant buses to test > device declaration. This part uses the new "rte_eth_dev_create" API, > introduced last release and used by only two PMDs, for now. > > The new devargs format is also made available through the new --dev parameter. > > Next work is to generalize use of new API for eth_dev creation, > compatibility layer for -w, -b and --vdev with --dev, and devargs unit test. > > Gaetan Rivet (13): > bus/pci: implement device iteration and comparison > bus/pci: add device matching field id > bus/vdev: implement device iteration > bus/vdev: add device matching field driver > ethdev: add private generic device iterator > ethdev: register ether layer as a class > ethdev: add device matching field name > app/testpmd: add show device command > bus/pci: pre-process declarative PCI devargs > bus/vdev: pre-process declarative vdev devargs > bus/pci: process declarative PCI devargs > ethdev: process declarative eth devargs > eal: add generic dev parameter > > app/test-pmd/cmdline.c | 54 +++++++ > doc/guides/testpmd_app_ug/testpmd_funcs.rst | 24 ++++ > drivers/bus/pci/Makefile | 3 +- > drivers/bus/pci/bsd/pci.c | 5 + > drivers/bus/pci/linux/pci.c | 5 + > drivers/bus/pci/meson.build | 6 +- > drivers/bus/pci/pci_common.c | 6 +- > drivers/bus/pci/pci_params.c | 139 ++++++++++++++++++ > drivers/bus/pci/private.h | 54 +++++++ > drivers/bus/vdev/Makefile | 3 +- > drivers/bus/vdev/meson.build | 5 +- > drivers/bus/vdev/vdev.c | 20 +-- > drivers/bus/vdev/vdev_params.c | 112 +++++++++++++++ > drivers/bus/vdev/vdev_private.h | 32 +++++ > lib/librte_eal/common/eal_common_devargs.c | 4 + > lib/librte_eal/common/eal_common_options.c | 36 ++++- > lib/librte_eal/common/eal_options.h | 2 + > lib/librte_ethdev/Makefile | 4 +- > lib/librte_ethdev/eth_private.c | 31 ++++ > lib/librte_ethdev/eth_private.h | 31 ++++ > lib/librte_ethdev/meson.build | 4 +- > lib/librte_ethdev/rte_class_eth.c | 148 ++++++++++++++++++++ > lib/librte_ethdev/rte_ethdev.c | 7 + > 23 files changed, 714 insertions(+), 21 deletions(-) > create mode 100644 drivers/bus/pci/pci_params.c > create mode 100644 drivers/bus/vdev/vdev_params.c > create mode 100644 drivers/bus/vdev/vdev_private.h > create mode 100644 lib/librte_ethdev/eth_private.c > create mode 100644 lib/librte_ethdev/eth_private.h > create mode 100644 lib/librte_ethdev/rte_class_eth.c > > -- > 2.18.0 > I have devargs for vmbus queued.