Implement new devargs framework
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v2 Latest13 patches 10 repliesIn review
- v113 patches 9 repliesSuperseded
Patches in v2 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/13 | bus/pci: implement device iteration and comparisondrivers/ drivers/ drivers/ +2 more | +86 | 0 replies | |
| 2/13 | bus/pci: add device matching field iddrivers/ | +27 | 0 replies | |
| 3/13 | bus/vdev: implement device iterationdrivers/ drivers/ drivers/ +2 more | +89 | 0 replies | |
| 4/13 | bus/vdev: add device matching field driverdrivers/ | +13 | 3 replies | |
| 5/13 | ethdev: add private generic device iteratorlib/ lib/ lib/ +1 more | +60 | 1 reply | |
| 6/13 | ethdev: register ether layer as a classlib/ lib/ lib/ | +82 | 0 replies | |
| 7/13 | ethdev: add device matching field namelib/ | +7 | 3 replies | |
| 8/13 | app/testpmd: add show device commandapp/ doc/ | +78 | 0 replies | |
| 9/13 | bus/pci: pre-process declarative PCI devargsdrivers/ drivers/ drivers/ +1 more | +77 | 0 replies | |
| 10/13 | bus/vdev: pre-process declarative vdev devargsdrivers/ drivers/ drivers/ | +62 | 0 replies | |
| 11/13 | bus/pci: process declarative PCI devargsdrivers/ drivers/ drivers/ | +23 | 0 replies | |
| 12/13 | ethdev: process declarative eth devargslib/ lib/ lib/ | +84 | 1 reply | |
| 13/13 | eal: add generic dev parameterlib/ lib/ lib/ | +37 | 0 replies |
Reviews trailers per patch
5 of 13 patches have a Reviewed-by or Acked-by.
| Patch | Andrew Rybchenko | Bernard Iremonger |
|---|---|---|
| 1/13 | ||
| 2/13 | ||
| 3/13 | ||
| 4/13 | ||
| 5/13 | A-b | |
| 6/13 | A-b | |
| 7/13 | A-b | |
| 8/13 | A-b | |
| 9/13 | ||
| 10/13 | ||
| 11/13 | ||
| 12/13 | A-b | |
| 13/13 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH v2 00/13] Implement new devargs framework
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.
--
v2: fixed Andrew's and Stephen's remarks,
added acks.
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 | 136 +++++++++++++++++ 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/ethdev_private.c | 31 ++++ lib/librte_ethdev/ethdev_private.h | 31 ++++ lib/librte_ethdev/meson.build | 4 +- lib/librte_ethdev/rte_class_eth.c | 158 ++++++++++++++++++++ lib/librte_ethdev/rte_ethdev.c | 7 + 23 files changed, 721 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/ethdev_private.c create mode 100644 lib/librte_ethdev/ethdev_private.h create mode 100644 lib/librte_ethdev/rte_class_eth.c
Signature · 1 line
2.18.0