On Tue, 11 Apr 2017 13:07:27 +0200 Gaetan Rivet <gaetan.ri...@6wind.com> wrote:
> I have rebased the work done by Shreyansh and Thomas to follow > the bus abstraction introduced in v17.02 for the PCI bus > implementation. > This series is only a partial version of the previous one, because > some of the patches have already been integrated, and others still > need rework. > > Additionally, Jan Blunck sent this RFC: > > [RFC] eal: use busname and devargs to attach devices > > That has not been considered for this version as it had not yet spawned > a discussion. > > changes in v13: > - Removed the PCI tests. They cannot follow the bus implementation > anymore, and it is an opportunity to update their original design. > - Changed the rte_pci_match function semantic to match its name. > - Made the rte_pci_match function private. > - Made the rte_bus_list private > - Made rte_eal_pci_add_device, > rte_eal_pci_insert_device, > rte_eal_pci_remove_device, > functions private. > > Additional work is needed: > - The PCI bus should be moved to the relevant bus sub-directory. > - The documentation must be updated. > > But this version should allow for the PCI bus implementation to be > integrated in v17.05-rc2. > > Gaetan Rivet (1): > test: remove pci tests > > Shreyansh Jain (6): > pci: split match and probe > pci: remove loop over drivers in device detach > pci: add bus driver > pci: use bus driver for scan/probe > pci: use bus driver for attach/detach > doc: remove deprecation notice for rte_bus > > MAINTAINERS | 2 - > doc/guides/rel_notes/release_17_02.rst | 2 +- > lib/librte_eal/bsdapp/eal/Makefile | 2 +- > lib/librte_eal/bsdapp/eal/eal.c | 14 - > lib/librte_eal/bsdapp/eal/eal_pci.c | 34 +- > lib/librte_eal/bsdapp/eal/rte_eal_version.map | 2 - > lib/librte_eal/common/eal_bus.h | 45 +++ > lib/librte_eal/common/eal_common_dev.c | 57 +++- > lib/librte_eal/common/eal_common_pci.c | 362 > +++++++++++++-------- > lib/librte_eal/common/eal_private.h | 41 ++- > lib/librte_eal/common/include/rte_bus.h | 29 ++ > lib/librte_eal/common/include/rte_pci.h | 94 ++++-- > lib/librte_eal/linuxapp/eal/Makefile | 2 +- > lib/librte_eal/linuxapp/eal/eal.c | 14 - > lib/librte_eal/linuxapp/eal/eal_pci.c | 38 +-- > lib/librte_eal/linuxapp/eal/rte_eal_version.map | 2 - > test/test/Makefile | 2 - > test/test/test.h | 3 - > test/test/test_mp_secondary.c | 17 - > test/test/test_pci.c | 322 ------------------ > .../bus/pci/devices/0000:01:00.0/class | 1 - > .../bus/pci/devices/0000:01:00.0/config | Bin 64 -> 0 bytes > .../devices/0000:01:00.0/consistent_dma_mask_bits | 1 - > .../bus/pci/devices/0000:01:00.0/device | 1 - > .../bus/pci/devices/0000:01:00.0/dma_mask_bits | 1 - > .../bus/pci/devices/0000:01:00.0/enable | 1 - > .../bus/pci/devices/0000:01:00.0/irq | 1 - > .../bus/pci/devices/0000:01:00.0/modalias | 1 - > .../bus/pci/devices/0000:01:00.0/msi_bus | 1 - > .../bus/pci/devices/0000:01:00.0/numa_node | 1 - > .../bus/pci/devices/0000:01:00.0/resource | 13 - > .../bus/pci/devices/0000:01:00.0/sriov_numvfs | 1 - > .../bus/pci/devices/0000:01:00.0/sriov_totalvfs | 1 - > .../bus/pci/devices/0000:01:00.0/subsystem_device | 1 - > .../bus/pci/devices/0000:01:00.0/subsystem_vendor | 1 - > .../bus/pci/devices/0000:01:00.0/uevent | 6 - > .../bus/pci/devices/0000:01:00.0/vendor | 1 - > .../bus/pci/devices/0000:01:02.0/class | 1 - > .../bus/pci/devices/0000:01:02.0/device | 1 - > .../bus/pci/devices/0000:01:02.0/resource | 13 - > .../bus/pci/devices/0000:01:02.0/subsystem_device | 1 - > .../bus/pci/devices/0000:01:02.0/subsystem_vendor | 1 - > .../bus/pci/devices/0000:01:02.0/vendor | 1 - > .../bus/pci/devices/0000:02:ab.0/class | 1 - > .../bus/pci/devices/0000:02:ab.0/device | 1 - > .../bus/pci/devices/0000:02:ab.0/resource | 13 - > .../bus/pci/devices/0000:02:ab.0/subsystem_device | 1 - > .../bus/pci/devices/0000:02:ab.0/subsystem_vendor | 1 - > .../bus/pci/devices/0000:02:ab.0/vendor | 1 - > 49 files changed, 478 insertions(+), 675 deletions(-) > create mode 100644 lib/librte_eal/common/eal_bus.h > delete mode 100644 test/test/test_pci.c > delete mode 100644 > test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/class > delete mode 100644 > test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/config > delete mode 100644 > test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/consistent_dma_mask_bits > delete mode 100644 > test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/device > delete mode 100644 > test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/dma_mask_bits > delete mode 100644 > test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/enable > delete mode 100644 test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/irq > delete mode 100644 > test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/modalias > delete mode 100644 > test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/msi_bus > delete mode 100644 > test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/numa_node > delete mode 100644 > test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/resource > delete mode 100644 > test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/sriov_numvfs > delete mode 100644 > test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/sriov_totalvfs > delete mode 100644 > test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/subsystem_device > delete mode 100644 > test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/subsystem_vendor > delete mode 100644 > test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/uevent > delete mode 100644 > test/test/test_pci_sysfs/bus/pci/devices/0000:01:00.0/vendor > delete mode 100644 > test/test/test_pci_sysfs/bus/pci/devices/0000:01:02.0/class > delete mode 100644 > test/test/test_pci_sysfs/bus/pci/devices/0000:01:02.0/device > delete mode 100644 > test/test/test_pci_sysfs/bus/pci/devices/0000:01:02.0/resource > delete mode 100644 > test/test/test_pci_sysfs/bus/pci/devices/0000:01:02.0/subsystem_device > delete mode 100644 > test/test/test_pci_sysfs/bus/pci/devices/0000:01:02.0/subsystem_vendor > delete mode 100644 > test/test/test_pci_sysfs/bus/pci/devices/0000:01:02.0/vendor > delete mode 100644 > test/test/test_pci_sysfs/bus/pci/devices/0000:02:ab.0/class > delete mode 100644 > test/test/test_pci_sysfs/bus/pci/devices/0000:02:ab.0/device > delete mode 100644 > test/test/test_pci_sysfs/bus/pci/devices/0000:02:ab.0/resource > delete mode 100644 > test/test/test_pci_sysfs/bus/pci/devices/0000:02:ab.0/subsystem_device > delete mode 100644 > test/test/test_pci_sysfs/bus/pci/devices/0000:02:ab.0/subsystem_vendor > delete mode 100644 > test/test/test_pci_sysfs/bus/pci/devices/0000:02:ab.0/vendor > Looks good. Removing dependencies on PCI is part of the roadblocks in supporting Hyper-V/VMBUS and Xen netfront properly. Acked-by: Stephen Hemminger <step...@networkplumber.org>