[dpdk-dev] [PATCH v11 00/13] rte_bus + rte_pci_bus

Thomas Monjalon thomas.monjalon at 6wind.com
Thu Jan 19 05:45:04 CET 2017


I've continued the work done by Shreyansh for bus abstraction
and PCI implementation.
This change has two benefits:
  - ease future introduction of new bus
  - clean existing buses (only PCI here)
The same kind of work must be done on VDEV in order to move
these implementations as bus drivers.

changes in v11:
- fixes for BSD
- remove useless bus object retrieving
- remove useless bus reference in rte_device
- some rewording and patch reordering

Unfortunately, it is not ready to be integrated in 17.02.
More specifically:
  - the tests need some review/rework
  - the PCI implementation requires more work
  - the documentation must be updated

However there are some new buses waiting for the bus abstraction,
which is simple and good enough.
That's why I have isolated the generic bus model in first patches
and will apply them in 17.02-rc1. It will allow to base new buses
on top of rte_bus.


Shreyansh Jain (13):
  bus: introduce bus abstraction
  bus: add scanning
  bus: add probing
  app/test: check bus registration
  app/test: check bus scan
  app/test: check bus probe
  pci: split match and probe
  pci: remove loop over drivers in device detach
  pci: add bus driver
  app/test: add PCI bus driver
  pci: use bus driver for scan/probe
  pci: use bus driver for attach/detach
  doc: remove deprecation notice for rte_bus

 MAINTAINERS                                     |   1 +
 app/test/Makefile                               |   2 +-
 app/test/autotest_data.py                       |   6 +
 app/test/test.h                                 |   1 +
 app/test/test_bus.c                             | 678 ++++++++++++++++++++++++
 app/test/test_pci.c                             | 164 ++++--
 doc/guides/rel_notes/deprecation.rst            |   5 -
 doc/guides/rel_notes/release_17_02.rst          |   2 +-
 lib/librte_eal/bsdapp/eal/Makefile              |   3 +-
 lib/librte_eal/bsdapp/eal/eal.c                 |  13 +-
 lib/librte_eal/bsdapp/eal/eal_pci.c             |  43 +-
 lib/librte_eal/bsdapp/eal/rte_eal_version.map   |  15 +-
 lib/librte_eal/common/Makefile                  |   2 +-
 lib/librte_eal/common/eal_common_bus.c          | 133 +++++
 lib/librte_eal/common/eal_common_dev.c          |  56 +-
 lib/librte_eal/common/eal_common_pci.c          | 350 +++++++-----
 lib/librte_eal/common/eal_private.h             |  10 -
 lib/librte_eal/common/include/rte_bus.h         | 192 +++++++
 lib/librte_eal/common/include/rte_pci.h         | 142 ++++-
 lib/librte_eal/linuxapp/eal/Makefile            |   3 +-
 lib/librte_eal/linuxapp/eal/eal.c               |  13 +-
 lib/librte_eal/linuxapp/eal/eal_pci.c           |  50 +-
 lib/librte_eal/linuxapp/eal/rte_eal_version.map |  15 +-
 23 files changed, 1600 insertions(+), 299 deletions(-)
 create mode 100644 app/test/test_bus.c
 create mode 100644 lib/librte_eal/common/eal_common_bus.c
 create mode 100644 lib/librte_eal/common/include/rte_bus.h

-- 
2.7.0



More information about the dev mailing list