[dpdk-dev] [PATCH v5 12/19] devargs: generic device representation
Gaëtan Rivet
gaetan.rivet at 6wind.com
Wed Jun 28 10:05:44 CEST 2017
On Wed, Jun 28, 2017 at 09:44:18AM +0200, Thomas Monjalon wrote:
> 21/06/2017 01:35, Gaetan Rivet:
> > Remove the dependency of this subsystem upon bus specific device
> > representation.
> >
> > Devargs only validates that a device declaration is correct and handled
> > by a bus. The device interpretation is done afterward within the bus.
> >
> > Signed-off-by: Gaetan Rivet <gaetan.rivet at 6wind.com>
> > ---
> > app/test-pmd/testpmd.c | 9 ++----
> > lib/librte_eal/common/eal_common_devargs.c | 48 +++++------------------------
> > lib/librte_eal/common/eal_common_pci.c | 9 ++++--
> > lib/librte_eal/common/eal_common_vdev.c | 17 +++++-----
> > lib/librte_eal/common/include/rte_devargs.h | 16 ++--------
> > lib/librte_eal/common/include/rte_vdev.h | 2 +-
> > test/test/test_devargs.c | 9 ++----
> > 7 files changed, 30 insertions(+), 80 deletions(-)
>
> Is it correct to add this change when rebasing?
>
> --- a/lib/librte_eal/common/eal_common_pci.c
> +++ b/lib/librte_eal/common/eal_common_pci.c
> @@ -533,7 +533,7 @@ pci_plug(struct rte_devargs *da)
> struct rte_pci_device *pdev;
> struct rte_pci_addr *addr;
>
> - addr = &da->pci.addr;
> + da->bus->parse(da->name, &addr);
> /*
> * Update eventual pci device in global list.
> * Insert it if none was found.
>
This is the spirit of this API at least :).
bus->parse() will verify that the name is correct, as well as interpret
it to obtain the bus-specific representation of the device.
> > Devargs only validates that a device declaration is correct and handled
> > by a bus. The device interpretation is done afterward within the bus.
So the PCI address can be removed from rte_devargs. As such, it cannot
be intepreted during parsing, and it must be done afterward from within
the bus itself.
I was wondering whether I should update all subsystems relying on this
previous rte_devargs logic at once, EAL + vdev + PCI + tests etc...
But this is the only way to keep compilation atomicity between patches.
--
Gaëtan Rivet
6WIND
More information about the dev
mailing list