Skip to content

bus/pci: remove PCI bus from EAL

Gaetan Rivet dpdk-dev 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest9 patches 14 repliesIn review
  2. v10 of 8 patches 0 repliesSuperseded

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/9kni: disabled by defaultconfig/common_linuxapp+1 -10 replies
2/9eal: expose rte_eal_using_phys_addrslib/librte_eal/common/eal_private.h lib/librte_eal/linuxapp/eal/Makefile lib/librte_eal/linuxapp/eal/eal_memory.c +3 more+70 -122 replies
3/9ethdev: remove useless PCI dependencylib/librte_ether/rte_ethdev.c+0 -10 replies
4/9bus: properly include rte_debuglib/librte_eal/common/eal_common_bus.c+1 -02 replies
5/9pmdinfogen: move to drivers subdirectoryGNUmakefile MAINTAINERS buildtools/Makefile +7 more+599 -6335 replies
6/9bus/pci: introduce pci busconfig/common_base drivers/bus/Makefile drivers/bus/pci/Makefile +33 more+4978 -47690 replies
7/9bus/pci: follow checkpatchdrivers/bus/pci/bsd/rte_pci.c drivers/bus/pci/include/rte_pci.h drivers/bus/pci/linux/rte_pci.c +5 more+120 -830 replies
8/9drivers: update eventdev dependenciesdrivers/Makefile+1 -00 replies
9/9drivers: update cryptodev dependenciesdrivers/Makefile+1 -10 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.

Read the v3 thread

Cover letter [PATCH v3 0/9] bus/pci: remove PCI bus from EAL

This patchset moves the PCI bus out of the EAL to the drivers/bus subdirectory.

Almost all dependencies have been worked out, only remains KNI to be made fully independent from the PCI bus in its lib section.

This patchset includes a patch disabling it, that should be removed before integration, once all dependencies have been fixed.

The pmdinfogen app has been moved to the drivers subdirectory. This allows using the dependency syntax from the build system, as this app also depends on the PCI bus. The dependency graph is as follows:

drivers/bus/pci
|
+ drivers/pmdinfogen
|
+ drivers/net

The compilation has been tested on debian 8, Redhat 7.2 and FreeBSD 10.3

This patchset depends on:

eal: complete attach / detach support
http://dpdk.org/ml/archives/dev/2017-June/067057.html
http://dpdk.org/dev/patchwork/patch/24969/

v1 -> v2:

This patchet now depends also on the eventdev PCI dependency fix:

[PATCH v2 0/4] Remove PCI and VDEV dependency from eventdev library
http://dpdk.org/ml/archives/dev/2017-June/067402.html
http://dpdk.org/dev/patchwork/patch/25092/

* Fixes a few PCI dependency left
* While wholes files are moved, fixed a few checkpatch warnings to start anew.
* Updated eventdev and cryptodev build dependencies

People who want to evaluate / test the whole system can clone:
https://github.com/grivet/dpdk/tree/master-net

v3:

Further checkpatch fixes have been applied upon the new bus.
Both cryptodev and pdump have been fixed. The patches disabling them have been removed.
This patchset now depends on both the cryptodev and pdump dependency fixes:

[dpdk-dev] [PATCH 00/12] Remove cryptodev driver
http://dpdk.org/ml/archives/dev/2017-May/066382.html

[dpdk-dev] [PATCH] pdump: remove unnecessary header file
http://dpdk.org/ml/archives/dev/2017-June/067785.html

My tree has been updated to follow the latest state of the patchsets currently live on the ML:
https://github.com/grivet/dpdk/tree/master-net

Gaetan Rivet (9):
kni: disabled by default
eal: expose rte_eal_using_phys_addrs
ethdev: remove useless PCI dependency
bus: properly include rte_debug
pmdinfogen: move to drivers subdirectory
bus/pci: introduce pci bus
bus/pci: follow checkpatch
drivers: update eventdev dependencies
drivers: update cryptodev dependencies

 GNUmakefile                                     |   2 +-
 MAINTAINERS                                     |   2 +-
 buildtools/Makefile                             |  36 --
 buildtools/pmdinfogen/Makefile                  |  47 --
 buildtools/pmdinfogen/pmdinfogen.c              | 422 --------------
 buildtools/pmdinfogen/pmdinfogen.h              | 125 ----
 config/common_base                              |  10 +
 config/common_linuxapp                          |   2 +-
 drivers/Makefile                                |   7 +-
 drivers/bus/Makefile                            |   2 +
 drivers/bus/pci/Makefile                        |  60 ++
 drivers/bus/pci/bsd/Makefile                    |  32 ++
 drivers/bus/pci/bsd/rte_bus_pci_version.map     |  21 +
 drivers/bus/pci/bsd/rte_pci.c                   | 671 ++++++++++++++++++++++
 drivers/bus/pci/include/rte_pci.h               | 656 +++++++++++++++++++++
 drivers/bus/pci/linux/Makefile                  |  37 ++
 drivers/bus/pci/linux/rte_bus_pci_version.map   |  21 +
 drivers/bus/pci/linux/rte_pci.c                 | 722 +++++++++++++++++++++++
 drivers/bus/pci/linux/rte_pci_init.h            |  97 ++++
 drivers/bus/pci/linux/rte_pci_uio.c             | 571 +++++++++++++++++++
 drivers/bus/pci/linux/rte_pci_vfio.c            | 684 ++++++++++++++++++++++
 drivers/bus/pci/linux/rte_vfio_mp_sync.c        | 424 ++++++++++++++
 drivers/bus/pci/private.h                       | 169 ++++++
 drivers/bus/pci/rte_pci_common.c                | 601 ++++++++++++++++++++
 drivers/bus/pci/rte_pci_common_uio.c            | 234 ++++++++
 drivers/pmdinfogen/Makefile                     |  47 ++
 drivers/pmdinfogen/pmdinfogen.c                 | 422 ++++++++++++++
 drivers/pmdinfogen/pmdinfogen.h                 | 125 ++++
 lib/librte_eal/bsdapp/eal/Makefile              |   3 -
 lib/librte_eal/bsdapp/eal/eal.c                 |   1 -
 lib/librte_eal/bsdapp/eal/eal_pci.c             | 672 ----------------------
 lib/librte_eal/bsdapp/eal/rte_eal_version.map   |  15 -
 lib/librte_eal/common/Makefile                  |   2 +-
 lib/librte_eal/common/eal_common_bus.c          |   1 +
 lib/librte_eal/common/eal_common_pci.c          | 603 --------------------
 lib/librte_eal/common/eal_common_pci_uio.c      | 233 --------
 lib/librte_eal/common/eal_private.h             | 138 -----
 lib/librte_eal/common/include/rte_pci.h         | 601 --------------------
 lib/librte_eal/linuxapp/eal/Makefile            |  12 +-
 lib/librte_eal/linuxapp/eal/eal.c               |   1 -
 lib/librte_eal/linuxapp/eal/eal_interrupts.c    |   1 -
 lib/librte_eal/linuxapp/eal/eal_memory.c        |   3 +-
 lib/librte_eal/linuxapp/eal/eal_pci.c           | 723 ------------------------
 lib/librte_eal/linuxapp/eal/eal_pci_init.h      |  97 ----
 lib/librte_eal/linuxapp/eal/eal_pci_uio.c       | 567 -------------------
 lib/librte_eal/linuxapp/eal/eal_pci_vfio.c      | 674 ----------------------
 lib/librte_eal/linuxapp/eal/eal_vfio_mp_sync.c  | 424 --------------
 lib/librte_eal/linuxapp/eal/rte_eal_version.map |  16 +-
 lib/librte_eal/linuxapp/eal/rte_memory_linux.h  |  64 +++
 lib/librte_ether/rte_ethdev.c                   |   1 -
 mk/rte.app.mk                                   |   2 +
 51 files changed, 5687 insertions(+), 5416 deletions(-)
 delete mode 100644 buildtools/Makefile
 delete mode 100644 buildtools/pmdinfogen/Makefile
 delete mode 100644 buildtools/pmdinfogen/pmdinfogen.c
 delete mode 100644 buildtools/pmdinfogen/pmdinfogen.h
 create mode 100644 drivers/bus/pci/Makefile
 create mode 100644 drivers/bus/pci/bsd/Makefile
 create mode 100644 drivers/bus/pci/bsd/rte_bus_pci_version.map
 create mode 100644 drivers/bus/pci/bsd/rte_pci.c
 create mode 100644 drivers/bus/pci/include/rte_pci.h
 create mode 100644 drivers/bus/pci/linux/Makefile
 create mode 100644 drivers/bus/pci/linux/rte_bus_pci_version.map
 create mode 100644 drivers/bus/pci/linux/rte_pci.c
 create mode 100644 drivers/bus/pci/linux/rte_pci_init.h
 create mode 100644 drivers/bus/pci/linux/rte_pci_uio.c
 create mode 100644 drivers/bus/pci/linux/rte_pci_vfio.c
 create mode 100644 drivers/bus/pci/linux/rte_vfio_mp_sync.c
 create mode 100644 drivers/bus/pci/private.h
 create mode 100644 drivers/bus/pci/rte_pci_common.c
 create mode 100644 drivers/bus/pci/rte_pci_common_uio.c
 create mode 100644 drivers/pmdinfogen/Makefile
 create mode 100644 drivers/pmdinfogen/pmdinfogen.c
 create mode 100644 drivers/pmdinfogen/pmdinfogen.h
 delete mode 100644 lib/librte_eal/bsdapp/eal/eal_pci.c
 delete mode 100644 lib/librte_eal/common/eal_common_pci.c
 delete mode 100644 lib/librte_eal/common/eal_common_pci_uio.c
 delete mode 100644 lib/librte_eal/common/include/rte_pci.h
 delete mode 100644 lib/librte_eal/linuxapp/eal/eal_pci.c
 delete mode 100644 lib/librte_eal/linuxapp/eal/eal_pci_init.h
 delete mode 100644 lib/librte_eal/linuxapp/eal/eal_pci_uio.c
 delete mode 100644 lib/librte_eal/linuxapp/eal/eal_pci_vfio.c
 delete mode 100644 lib/librte_eal/linuxapp/eal/eal_vfio_mp_sync.c
 create mode 100644 lib/librte_eal/linuxapp/eal/rte_memory_linux.h
Signature · 1 line
2.1.4