path: root/mk/
diff options
authorNeil Horman <>2016-06-17 14:46:20 -0400
committerThomas Monjalon <>2016-07-06 22:34:39 +0200
commit98b0fdb0ffc6b8fe70bef16d218b97f7a6c283bd (patch)
tree2b963a440a4ee700c794a445b2188ef9b19758ff /mk/
parent26622cbe1b91727f55dfb017c4df6f533407b3c6 (diff)
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 <> Acked-by: Panu Matilainen <> Acked-by: Remy Horton <>
Diffstat (limited to 'mk/')
1 files changed, 4 insertions, 4 deletions
diff --git a/mk/ b/mk/
index c44d0f8..07b391c 100644
--- a/mk/
+++ b/mk/
@@ -41,7 +41,7 @@ include $(RTE_SDK)/mk/internal/
_CLEAN = doclean
.PHONY: all
@@ -95,10 +95,10 @@ $(HOSTAPP): $(OBJS-y) $(LDLIBS_FILES) FORCE
# install app in $(RTE_OUTPUT)/hostapp
- @[ -d $(RTE_OUTPUT)/hostapp ] || mkdir -p $(RTE_OUTPUT)/hostapp
- $(Q)cp -f $(HOSTAPP) $(RTE_OUTPUT)/hostapp
+ @[ -d $(RTE_OUTPUT)/app ] || mkdir -p $(RTE_OUTPUT)/app
+ $(Q)cp -f $(HOSTAPP) $(RTE_OUTPUT)/app
# Clean all generated files