Go to file
Neil Horman 98b0fdb0ff pmdinfogen: add buildtools and pmdinfogen utility
pmdinfogen is a tool used to parse object files and build json strings for
use in later determining hardware support in a dso or application binary.
pmdinfo looks for the non-exported symbol names this_pmd_name<n> and
this_pmd_tbl<n> (where n is a integer counter).  It records the name of
each of these tuples, using the later to find the symbolic name of the
pci_table for physical devices that the object supports.  With this
information, it outputs a C file with a single line of the form:

static char *<pmd_name>_driver_info[] __attribute__((used)) = " \
	PMD_DRIVER_INFO=<json string>";

Where <pmd_name> is the arbitrary name of the pmd, and <json_string> is the
json encoded string that hold relevant pmd information, including the pmd
name, type and optional array of pci device/vendor ids that the driver
supports.

This c file is suitable for compiling to object code, then relocatably
linking into the parent file from which the C was generated.  This creates
an entry in the string table of the object that can inform a later tool
about hardware support.

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Acked-by: Panu Matilainen <pmatilai@redhat.com>
Acked-by: Remy Horton <remy.horton@intel.com>
2016-07-06 22:34:39 +02:00
app ethdev: remove redundant id field in xstats name lookup 2016-07-01 16:09:06 +02:00
buildtools pmdinfogen: add buildtools and pmdinfogen utility 2016-07-06 22:34:39 +02:00
config net/mlx5: remove inline Tx support 2016-06-27 16:17:52 +02:00
doc doc: update vhost guide 2016-06-30 07:46:29 +02:00
drivers net/virtio-user: fix build with icc 2016-06-30 07:46:29 +02:00
examples mempool: rename functions with confusing names 2016-07-01 12:35:57 +02:00
lib version: 16.07-rc1 2016-07-04 03:43:08 +02:00
mk pmdinfogen: add buildtools and pmdinfogen utility 2016-07-06 22:34:39 +02:00
pkg version: 16.04 2016-04-11 23:56:34 +02:00
scripts scripts: test clean build when config is changed 2016-07-01 12:35:57 +02:00
tools tools: allow binding to other network class devices 2016-05-19 12:24:18 +02:00
.gitignore init DPDK repository 2013-03-07 10:57:42 +01:00
GNUmakefile pmdinfogen: add buildtools and pmdinfogen utility 2016-07-06 22:34:39 +02:00
LICENSE.GPL doc: GPL/LGPL licenses 2013-07-25 14:43:06 +02:00
LICENSE.LGPL doc: fix file format (dos to unix) 2013-09-06 11:43:07 +02:00
MAINTAINERS doc: add ThunderX nicvf 2016-06-20 17:21:55 +02:00
Makefile remove trailing whitespaces 2014-06-11 00:29:34 +02:00
README doc: add readme file 2015-12-13 22:06:58 +01:00

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