[dpdk-dev] [PATCH v3 00/13] kill global pci device id list

2016-04-21 Thread David Marchand
On Wed, Apr 20, 2016 at 2:43 PM, David Marchand
 wrote:
> - not storing the pci ids in a dedicated section anymore, pci drivers are
>   exported and parsed by a quickly written (and naive) tool

Rethinking about this, this part won't do.
Stripping symbols breaks it, and I had to go some gymnastics to get
the symbols, while having exported information sanitised as strings in
a dedicated section constructed at build time would be saner.
Yes, this really sounds like modinfo ...

Volunteers ?


-- 
David Marchand


[dpdk-dev] [PATCH v3 00/13] kill global pci device id list

2016-04-21 Thread Neil Horman
On Thu, Apr 21, 2016 at 10:07:51AM +0200, David Marchand wrote:
> On Wed, Apr 20, 2016 at 2:43 PM, David Marchand
>  wrote:
> > - not storing the pci ids in a dedicated section anymore, pci drivers are
> >   exported and parsed by a quickly written (and naive) tool
> 
> Rethinking about this, this part won't do.
> Stripping symbols breaks it, and I had to go some gymnastics to get
> the symbols, while having exported information sanitised as strings in
> a dedicated section constructed at build time would be saner.
> Yes, this really sounds like modinfo ...
> 
> Volunteers ?
modinfo (or a tool likes it), requires more gymnastics in the actual code than
what we have.  It requires the auto-generation of extra c code that gets linked
into its own section (which implies the need for a linker script).

Not saying its a bad idea, its a pretty good one, just that its alot of work.  

We might be able to do something a bit more simple, perhaps convert the macros
to strings that we can extract with a tool?  not sure

Neil

> 
> 
> -- 
> David Marchand
> 


[dpdk-dev] [PATCH v3 00/13] kill global pci device id list

2016-04-20 Thread David Marchand
This patchset moves all pci device ids from eal to the pmds that need them.
Global pci device id list is then removed.

A new tool (name to be discussed) has been added to retrieve some information
from the dpdk elf objects.

I can't work on this subject at the moment, so please feel free to make these
patches yours if you have better ideas / ways to achieve the same result.


Changes since v2:
- rebased on HEAD
- ena driver has been aligned
- this patchset now depends on [1] as it avoids touching all drivers this way
- not storing the pci ids in a dedicated section anymore, pci drivers are
  exported and parsed by a quickly written (and naive) tool


Changes since v1:
- indent fixes in i40e, fm10k, virtio, vmxnet3, enic, bnx2c.
- rebased on head (ixgbe update)
- removed doc update (will be sent separately)


[1]: http://dpdk.org/ml/archives/dev/2016-April/037686.html

-- 
David Marchand

David Marchand (13):
  e1000: move pci device ids to driver
  ixgbe: move pci device ids to driver
  i40e: move pci device ids to driver
  fm10k: move pci device ids to driver
  virtio: move pci device ids to driver
  vmxnet3: move pci device ids to driver
  enic: move pci device ids to driver
  bnx2x: move pci device ids to driver
  ena: remove unneeded pci macro
  pci: no need for global device ids list
  drivers: constify pci id tables
  drivers: export pci drivers
  app: introduce dpdk-obj-info tool

 app/Makefile|   1 +
 app/dpdk-obj-info/Makefile  |  45 ++
 app/dpdk-obj-info/dpdk-obj-info.c   | 188 +++
 app/test-pmd/Makefile   |   2 +
 app/test-pmd/cmdline.c  |   2 +-
 app/test/Makefile   |   4 +
 app/test/test_pci.c |   5 +-
 doc/api/doxy-api-index.md   |   1 -
 drivers/crypto/qat/rte_qat_cryptodev.c  |   2 +-
 drivers/net/bnx2x/bnx2x.c   |   3 +-
 drivers/net/bnx2x/bnx2x_ethdev.c|  25 +-
 drivers/net/cxgbe/cxgbe_ethdev.c|   2 +-
 drivers/net/e1000/em_ethdev.c   |   2 +-
 drivers/net/e1000/em_pci_dev_ids.h  | 208 +++
 drivers/net/e1000/igb_ethdev.c  |   4 +-
 drivers/net/e1000/igb_pci_dev_ids.h | 165 ++
 drivers/net/ena/ena_ethdev.c|  10 +-
 drivers/net/enic/enic_ethdev.c  |  13 +-
 drivers/net/fm10k/fm10k_ethdev.c|   7 +-
 drivers/net/i40e/i40e_ethdev.c  |  21 +-
 drivers/net/i40e/i40e_ethdev_vf.c   |   9 +-
 drivers/net/ixgbe/ixgbe_ethdev.c|   4 +-
 drivers/net/ixgbe/ixgbe_pci_dev_ids.h   | 213 +++
 drivers/net/mlx4/mlx4.c |   1 +
 drivers/net/mlx5/mlx5.c |   1 +
 drivers/net/nfp/nfp_net.c   |   2 +-
 drivers/net/virtio/virtio_ethdev.c  |   8 +-
 drivers/net/vmxnet3/vmxnet3_ethdev.c|   9 +-
 lib/librte_eal/common/Makefile  |   2 +-
 lib/librte_eal/common/include/rte_pci.h |   7 +
 lib/librte_eal/common/include/rte_pci_dev_ids.h | 704 
 lib/librte_eal/linuxapp/kni/Makefile|   2 +
 lib/librte_eal/linuxapp/kni/kni_misc.c  |   8 +-
 33 files changed, 918 insertions(+), 762 deletions(-)
 create mode 100644 app/dpdk-obj-info/Makefile
 create mode 100644 app/dpdk-obj-info/dpdk-obj-info.c
 create mode 100644 drivers/net/e1000/em_pci_dev_ids.h
 create mode 100644 drivers/net/e1000/igb_pci_dev_ids.h
 create mode 100644 drivers/net/ixgbe/ixgbe_pci_dev_ids.h
 delete mode 100644 lib/librte_eal/common/include/rte_pci_dev_ids.h

-- 
1.9.1