[dpdk-dev] [PATCH v3 00/13] kill global pci device id list
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
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
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