[dpdk-dev] [PATCHv7 6/6] doc: Add prog_guide section documenting pmdinfo script

2016-06-09 Thread Mcnamara, John
> -Original Message-
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Neil Horman
> Sent: Thursday, June 9, 2016 6:47 PM
> To: dev at dpdk.org
> Cc: Neil Horman ; Richardson, Bruce
> ; Thomas Monjalon  6wind.com>;
> Stephen Hemminger ; Panu Matilainen
> 
> Subject: [dpdk-dev] [PATCHv7 6/6] doc: Add prog_guide section documenting
> pmdinfo script
> 
> Information on pmdinfogen may be useful to 3rd party driver developers.
> Include documentation on what it does
> 
> Signed-off-by: Neil Horman 
> CC: Bruce Richardson 
> CC: Thomas Monjalon 
> CC: Stephen Hemminger 
> CC: Panu Matilainen 

Acked-by: John McNamara 





[dpdk-dev] [PATCHv7 6/6] doc: Add prog_guide section documenting pmdinfo script

2016-06-09 Thread Neil Horman
Information on pmdinfogen may be useful to 3rd party driver developers.
Include documentation on what it does

Signed-off-by: Neil Horman 
CC: Bruce Richardson 
CC: Thomas Monjalon 
CC: Stephen Hemminger 
CC: Panu Matilainen 
---
 doc/guides/prog_guide/dev_kit_build_system.rst | 43 --
 1 file changed, 41 insertions(+), 2 deletions(-)

diff --git a/doc/guides/prog_guide/dev_kit_build_system.rst 
b/doc/guides/prog_guide/dev_kit_build_system.rst
index 3e89eae..1dc1388 100644
--- a/doc/guides/prog_guide/dev_kit_build_system.rst
+++ b/doc/guides/prog_guide/dev_kit_build_system.rst
@@ -70,7 +70,7 @@ Each build directory contains include files, libraries, and 
applications:
 ...
 ~/DEV/DPDK$ ls i686-native-linuxapp-gcc

-app build hostapp include kmod lib Makefile
+app build buildtools include kmod lib Makefile


 ~/DEV/DPDK$ ls i686-native-linuxapp-gcc/app/
@@ -264,7 +264,7 @@ These Makefiles generate a binary application.

 *   rte.extapp.mk: External application

-*   rte.hostapp.mk: Host application in the development kit framework
+*   rte.hostapp.mk: prerequisite tool to build dpdk

 Library
 ^^^
@@ -304,6 +304,45 @@ Misc

 *   rte.subdir.mk: Build several directories in the development kit framework.

+.. _Internally_Generated_Build_Tools:
+
+Internally Generated Build Tools
+
+
+``app/pmdinfogen``
+
+
+``pmdinfogen`` scans an object (.o) file for various well known symbol names.  
These
+well known symbol names are defined by various macros and used to export
+important information about hardware support and usage for pmd files.  For
+instance the macro:
+
+.. code-block:: c
+
+PMD_REGISTER_DRIVER(drv, name)
+
+
+Creates the following symbol:
+
+.. code-block:: c
+
+   static char this_pmd_name0[] __attribute__((used)) = "";
+
+
+Which pmdinfogen scans for.  Using this information other relevant bits of data
+can be exported from the object file and used to produce a hardware support
+description, that pmdinfogen then encodes into a json formatted string in the
+following format:
+
+.. code-block:: C
+
+   static char ="PMD_INFO_STRING=\"{'name' : '', 
...}\"";
+
+
+These strings can then be searched for by external tools to determine the
+hardware support of a given library or application.
+
+
 .. _Useful_Variables_Provided_by_the_Build_System:

 Useful Variables Provided by the Build System
-- 
2.5.5