Modify the PMD_REGISTER_DRIVER macro, adding a name argument to it. The addition of a name argument creates a token that can be used for subsequent macros in the creation of unique symbol names to export additional bits of information for use by the pmdinfogen tool. For example: PMD_REGISTER_DRIVER(ena_driver, ena); registers the ena_driver struct as it always did, and creates a symbol const char this_pmd_name0[] __attribute__((used)) = "ena"; which pmdinfogen can search for and extract. The subsequent macro DRIVER_REGISTER_PCI_TABLE(ena, ena_pci_id_map); creates a symbol const char ena_pci_tbl_export[] __attribute__((used)) = "ena_pci_id_map"; Which allows pmdinfogen to find the pci table of this driver Using this pattern, we can export arbitrary bits of information. pmdinfo uses this information to extract hardware support from an object file and create a json string to make hardware support info discoverable later. Signed-off-by: Neil Horman <nhorman@tuxdriver.com> Acked-by: Panu Matilainen <pmatilai@redhat.com> Acked-by: Remy Horton <remy.horton@intel.com>
DPDK is a set of libraries and drivers for fast packet processing. It supports many processor architectures and both FreeBSD and Linux. The DPDK uses the Open Source BSD license for the core libraries and drivers. The kernel components are GPLv2 licensed. Please check the doc directory for release notes, API documentation, and sample application information. For questions and usage discussions, subscribe to: users@dpdk.org Report bugs and issues to the development mailing list: dev@dpdk.org
Description
Languages
C
99.1%
Meson
0.5%
Python
0.2%
Shell
0.1%