* [dpdk-dev] [PATCH 0/2] enable pmdinfo support on FreeBSD
@ 2016-07-08 20:37 Bruce Richardson
2016-07-08 20:37 ` [dpdk-dev] [PATCH 1/2] pmdinfogen: fix build " Bruce Richardson
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Bruce Richardson @ 2016-07-08 20:37 UTC (permalink / raw)
To: dev; +Cc: thomas.monjalon, Bruce Richardson
This patchset fixes pmdinfogen and pmdinfo.py so that they can work on
FreeBSD. It's been tested with static binaries compiled using clang and gcc
on FreeBSD, as well as gcc-generated dynamic libraries. For some reason
clang wasn't able to build dynamic libraries for DPDK on FreeBSD so that is
untested. [Investigation of that issue is for another time]
Bruce Richardson (2):
pmdinfogen: fix build on FreeBSD
scripts: fix pmdinfo for FreeBSD
buildtools/pmdinfogen/pmdinfogen.c | 2 ++
tools/pmdinfo.py | 13 +++++++++++--
2 files changed, 13 insertions(+), 2 deletions(-)
--
2.7.4
^ permalink raw reply [flat|nested] 4+ messages in thread
* [dpdk-dev] [PATCH 1/2] pmdinfogen: fix build on FreeBSD
2016-07-08 20:37 [dpdk-dev] [PATCH 0/2] enable pmdinfo support on FreeBSD Bruce Richardson
@ 2016-07-08 20:37 ` Bruce Richardson
2016-07-08 20:37 ` [dpdk-dev] [PATCH 2/2] scripts: fix pmdinfo for FreeBSD Bruce Richardson
2016-07-09 21:57 ` [dpdk-dev] [PATCH 0/2] enable pmdinfo support on FreeBSD Thomas Monjalon
2 siblings, 0 replies; 4+ messages in thread
From: Bruce Richardson @ 2016-07-08 20:37 UTC (permalink / raw)
To: dev; +Cc: thomas.monjalon, Bruce Richardson
error on compilation caused by missing include for libgen.h.
HOSTCC pmdinfogen.o
/usr/home/bruce/dpdk/buildtools/pmdinfogen/pmdinfogen.c:402:4: error: implicit declaration of function 'basename' is invalid in C99
[-Werror,-Wimplicit-function-declaration]
basename(argv[0]));
Fixes: 840e5dfea3f8 ("pmdinfogen: fix usage message")
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
buildtools/pmdinfogen/pmdinfogen.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/buildtools/pmdinfogen/pmdinfogen.c b/buildtools/pmdinfogen/pmdinfogen.c
index 717c8d4..e1bf2e4 100644
--- a/buildtools/pmdinfogen/pmdinfogen.c
+++ b/buildtools/pmdinfogen/pmdinfogen.c
@@ -15,6 +15,8 @@
#include <limits.h>
#include <stdbool.h>
#include <errno.h>
+#include <libgen.h>
+
#include <rte_common.h>
#include "pmdinfogen.h"
--
2.7.4
^ permalink raw reply [flat|nested] 4+ messages in thread
* [dpdk-dev] [PATCH 2/2] scripts: fix pmdinfo for FreeBSD
2016-07-08 20:37 [dpdk-dev] [PATCH 0/2] enable pmdinfo support on FreeBSD Bruce Richardson
2016-07-08 20:37 ` [dpdk-dev] [PATCH 1/2] pmdinfogen: fix build " Bruce Richardson
@ 2016-07-08 20:37 ` Bruce Richardson
2016-07-09 21:57 ` [dpdk-dev] [PATCH 0/2] enable pmdinfo support on FreeBSD Thomas Monjalon
2 siblings, 0 replies; 4+ messages in thread
From: Bruce Richardson @ 2016-07-08 20:37 UTC (permalink / raw)
To: dev; +Cc: thomas.monjalon, Bruce Richardson
There were a couple of issues which prevented pmdinfo.py from running on
FreeBSD, both of which are fixed by this patch.
* The path to python is not /usr/bin/python as on Linux, so use
/usr/bin/env to find it on both OS's.
* The path to the pci ids DB is in a different location on FreeBSD,
so use the platform python library to look in different default
locations depending on the underlying OS. [There are two possible
locations to look on FreeBSD, as defined by pciconf manpage, so
check in both in order of better to worse]
Fixes: c67c9a5c646a ("tools: query binaries for HW and other support information")
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
tools/pmdinfo.py | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/tools/pmdinfo.py b/tools/pmdinfo.py
index e531154..662034a 100755
--- a/tools/pmdinfo.py
+++ b/tools/pmdinfo.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python
# -------------------------------------------------------------------------
# scripts/pmdinfo.py
#
@@ -10,6 +10,7 @@ import sys
from optparse import OptionParser
import string
import json
+import platform
# For running from development directory. It should take precedence over the
# installed pyelftools.
@@ -557,6 +558,14 @@ def main(stream=None):
global raw_output
global pcidb
+ pcifile_default = "./pci.ids" # for unknown OS's assume local file
+ if platform.system() == 'Linux':
+ pcifile_default = "/usr/share/hwdata/pci.ids"
+ elif platform.system() == 'FreeBSD':
+ pcifile_default = "/usr/local/share/pciids/pci.ids"
+ if not os.path.exists(pcifile_default):
+ pcifile_default = "/usr/share/misc/pci_vendors"
+
optparser = OptionParser(
usage='usage: %prog [-hrtp] [-d <pci id file] <elf-file>',
description="Dump pmd hardware support info",
@@ -568,7 +577,7 @@ def main(stream=None):
optparser.add_option("-d", "--pcidb", dest="pcifile",
help="specify a pci database "
"to get vendor names from",
- default="/usr/share/hwdata/pci.ids", metavar="FILE")
+ default=pcifile_default, metavar="FILE")
optparser.add_option("-t", "--table", dest="tblout",
help="output information on hw support as a hex table",
action='store_true')
--
2.7.4
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-dev] [PATCH 0/2] enable pmdinfo support on FreeBSD
2016-07-08 20:37 [dpdk-dev] [PATCH 0/2] enable pmdinfo support on FreeBSD Bruce Richardson
2016-07-08 20:37 ` [dpdk-dev] [PATCH 1/2] pmdinfogen: fix build " Bruce Richardson
2016-07-08 20:37 ` [dpdk-dev] [PATCH 2/2] scripts: fix pmdinfo for FreeBSD Bruce Richardson
@ 2016-07-09 21:57 ` Thomas Monjalon
2 siblings, 0 replies; 4+ messages in thread
From: Thomas Monjalon @ 2016-07-09 21:57 UTC (permalink / raw)
To: Bruce Richardson; +Cc: dev
2016-07-08 21:37, Bruce Richardson:
> This patchset fixes pmdinfogen and pmdinfo.py so that they can work on
> FreeBSD. It's been tested with static binaries compiled using clang and gcc
> on FreeBSD, as well as gcc-generated dynamic libraries. For some reason
> clang wasn't able to build dynamic libraries for DPDK on FreeBSD so that is
> untested. [Investigation of that issue is for another time]
>
> Bruce Richardson (2):
> pmdinfogen: fix build on FreeBSD
> scripts: fix pmdinfo for FreeBSD
Applied, thanks
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-07-09 21:57 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-08 20:37 [dpdk-dev] [PATCH 0/2] enable pmdinfo support on FreeBSD Bruce Richardson
2016-07-08 20:37 ` [dpdk-dev] [PATCH 1/2] pmdinfogen: fix build " Bruce Richardson
2016-07-08 20:37 ` [dpdk-dev] [PATCH 2/2] scripts: fix pmdinfo for FreeBSD Bruce Richardson
2016-07-09 21:57 ` [dpdk-dev] [PATCH 0/2] enable pmdinfo support on FreeBSD Thomas Monjalon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).