DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 1/4] drivers/mempool: add octeontx mempool driver to meson build
@ 2017-12-31  0:02 Pavan Nikhilesh
  2017-12-31  0:02 ` [dpdk-dev] [PATCH 2/4] drivers/net: add drivers for Cavium NICs " Pavan Nikhilesh
                   ` (7 more replies)
  0 siblings, 8 replies; 32+ messages in thread
From: Pavan Nikhilesh @ 2017-12-31  0:02 UTC (permalink / raw)
  To: bruce.richardson, bluca, harry.van.haaren, jerin.jacob
  Cc: dev, Pavan Nikhilesh

Add octeontx hardware mempool driver to meson build.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
---
 drivers/mempool/meson.build          | 2 +-
 drivers/mempool/octeontx/meson.build | 8 ++++++++
 2 files changed, 9 insertions(+), 1 deletion(-)
 create mode 100644 drivers/mempool/octeontx/meson.build

diff --git a/drivers/mempool/meson.build b/drivers/mempool/meson.build
index a47b1d9b1..599185609 100644
--- a/drivers/mempool/meson.build
+++ b/drivers/mempool/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-drivers = ['ring', 'stack']
+drivers = ['ring', 'stack', 'octeontx']
 std_deps = ['mempool']
 config_flag_fmt = 'RTE_LIBRTE_@0@_MEMPOOL'
 driver_name_fmt = 'rte_mempool_@0@'
diff --git a/drivers/mempool/octeontx/meson.build b/drivers/mempool/octeontx/meson.build
new file mode 100644
index 000000000..57ddf58b7
--- /dev/null
+++ b/drivers/mempool/octeontx/meson.build
@@ -0,0 +1,8 @@
+sources = files('octeontx_ssovf.c',
+		'octeontx_mbox.c',
+		'octeontx_fpavf.c',
+		'rte_mempool_octeontx.c'
+)
+deps += ['mbuf', 'bus_pci']
+
+mempool_octeontx_dir = include_directories('.')
-- 
2.15.1

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [dpdk-dev] [PATCH 2/4] drivers/net: add drivers for Cavium NICs to meson build
  2017-12-31  0:02 [dpdk-dev] [PATCH 1/4] drivers/mempool: add octeontx mempool driver to meson build Pavan Nikhilesh
@ 2017-12-31  0:02 ` Pavan Nikhilesh
  2018-01-09 17:29   ` Bruce Richardson
  2017-12-31  0:02 ` [dpdk-dev] [PATCH 3/4] event/octeontx: add octeontx event device " Pavan Nikhilesh
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 32+ messages in thread
From: Pavan Nikhilesh @ 2017-12-31  0:02 UTC (permalink / raw)
  To: bruce.richardson, bluca, harry.van.haaren, jerin.jacob
  Cc: dev, Pavan Nikhilesh

Add Cavium octeontx and thunder nicvf to meson build infrastructure.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
---
 drivers/net/meson.build                                 |  3 ++-
 drivers/net/octeontx/base/meson.build                   | 12 ++++++++++++
 drivers/net/octeontx/meson.build                        | 10 ++++++++++
 drivers/net/thunderx/Makefile                           |  2 +-
 drivers/net/thunderx/base/meson.build                   | 17 +++++++++++++++++
 drivers/net/thunderx/meson.build                        |  9 +++++++++
 ...x_nicvf_version.map => rte_pmd_thunderx_version.map} |  0
 7 files changed, 51 insertions(+), 2 deletions(-)
 create mode 100644 drivers/net/octeontx/base/meson.build
 create mode 100644 drivers/net/octeontx/meson.build
 create mode 100644 drivers/net/thunderx/base/meson.build
 create mode 100644 drivers/net/thunderx/meson.build
 rename drivers/net/thunderx/{rte_pmd_thunderx_nicvf_version.map => rte_pmd_thunderx_version.map} (100%)

diff --git a/drivers/net/meson.build b/drivers/net/meson.build
index 72e1d3578..b132d3558 100644
--- a/drivers/net/meson.build
+++ b/drivers/net/meson.build
@@ -3,7 +3,8 @@
 
 drivers = ['af_packet', 'bonding',
 	'e1000', 'fm10k', 'i40e', 'ixgbe',
-	'null', 'pcap', 'ring']
+	'null', 'pcap', 'ring',
+	'octeontx', 'thunderx']
 std_deps = ['ethdev', 'kvargs'] # 'ethdev' also pulls in mbuf, net, eal etc
 std_deps += ['bus_pci']         # very many PMDs depend on PCI, so make std
 std_deps += ['bus_vdev']        # same with vdev bus
diff --git a/drivers/net/octeontx/base/meson.build b/drivers/net/octeontx/base/meson.build
new file mode 100644
index 000000000..637483d68
--- /dev/null
+++ b/drivers/net/octeontx/base/meson.build
@@ -0,0 +1,12 @@
+sources = [
+	'octeontx_bgx.c',
+	'octeontx_pkivf.c',
+	'octeontx_pkovf.c'
+]
+
+base_lib = static_library('octeontx_base', sources,
+	c_args: cflags,
+	dependencies: static_rte_bus_pci,
+	include_directories: mempool_octeontx_dir)
+
+base_objs = base_lib.extract_all_objects()
diff --git a/drivers/net/octeontx/meson.build b/drivers/net/octeontx/meson.build
new file mode 100644
index 000000000..f263a4b51
--- /dev/null
+++ b/drivers/net/octeontx/meson.build
@@ -0,0 +1,10 @@
+subdir('base')
+objs = [base_objs]
+
+sources = files('octeontx_rxtx.c',
+		'octeontx_ethdev.c'
+		)
+
+deps += ['mempool_octeontx', 'eventdev']
+
+includes += include_directories('base')
diff --git a/drivers/net/thunderx/Makefile b/drivers/net/thunderx/Makefile
index e50e1ad8c..3e4501d34 100644
--- a/drivers/net/thunderx/Makefile
+++ b/drivers/net/thunderx/Makefile
@@ -44,7 +44,7 @@ LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
 LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
 LDLIBS += -lrte_bus_pci
 
-EXPORT_MAP := rte_pmd_thunderx_nicvf_version.map
+EXPORT_MAP := rte_pmd_thunderx_version.map
 
 LIBABIVER := 1
 
diff --git a/drivers/net/thunderx/base/meson.build b/drivers/net/thunderx/base/meson.build
new file mode 100644
index 000000000..867a6d661
--- /dev/null
+++ b/drivers/net/thunderx/base/meson.build
@@ -0,0 +1,17 @@
+sources = [
+	'nicvf_bsvf.c',
+	'nicvf_hw.c',
+	'nicvf_mbox.c'
+]
+
+depends = ['ethdev']
+static_obj = []
+foreach d: depends
+	static_obj += [get_variable('static_rte_' + d)]
+endforeach
+
+base_lib = static_library('nicvf_base', sources,
+	c_args: cflags,
+	dependencies: static_obj)
+
+base_objs = base_lib.extract_all_objects()
diff --git a/drivers/net/thunderx/meson.build b/drivers/net/thunderx/meson.build
new file mode 100644
index 000000000..17852f732
--- /dev/null
+++ b/drivers/net/thunderx/meson.build
@@ -0,0 +1,9 @@
+subdir('base')
+objs = [base_objs]
+
+sources = files('nicvf_ethdev.c',
+		'nicvf_svf.c',
+		'nicvf_rxtx.c')
+cflags += '-Ofast'
+
+includes += include_directories('base')
diff --git a/drivers/net/thunderx/rte_pmd_thunderx_nicvf_version.map b/drivers/net/thunderx/rte_pmd_thunderx_version.map
similarity index 100%
rename from drivers/net/thunderx/rte_pmd_thunderx_nicvf_version.map
rename to drivers/net/thunderx/rte_pmd_thunderx_version.map
-- 
2.15.1

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [dpdk-dev] [PATCH 3/4] event/octeontx: add octeontx event device to meson build
  2017-12-31  0:02 [dpdk-dev] [PATCH 1/4] drivers/mempool: add octeontx mempool driver to meson build Pavan Nikhilesh
  2017-12-31  0:02 ` [dpdk-dev] [PATCH 2/4] drivers/net: add drivers for Cavium NICs " Pavan Nikhilesh
@ 2017-12-31  0:02 ` Pavan Nikhilesh
  2018-01-09 17:34   ` Bruce Richardson
  2017-12-31  0:02 ` [dpdk-dev] [PATCH 4/4] app/test-eventdev: add test-eventdev " Pavan Nikhilesh
                   ` (5 subsequent siblings)
  7 siblings, 1 reply; 32+ messages in thread
From: Pavan Nikhilesh @ 2017-12-31  0:02 UTC (permalink / raw)
  To: bruce.richardson, bluca, harry.van.haaren, jerin.jacob
  Cc: dev, Pavan Nikhilesh

Add Cavium octeontx to meson build and change order of drivers built
from event->mempool->net to mempool->net->event to resolve dependency.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
---
 drivers/event/meson.build                                            | 2 +-
 drivers/event/octeontx/meson.build                                   | 5 +++++
 ...octeontx_ssovf_version.map => rte_pmd_octeontx_event_version.map} | 0
 drivers/meson.build                                                  | 2 +-
 4 files changed, 7 insertions(+), 2 deletions(-)
 create mode 100644 drivers/event/octeontx/meson.build
 rename drivers/event/octeontx/{rte_pmd_octeontx_ssovf_version.map => rte_pmd_octeontx_event_version.map} (100%)

diff --git a/drivers/event/meson.build b/drivers/event/meson.build
index 437d80bfd..d7bc48545 100644
--- a/drivers/event/meson.build
+++ b/drivers/event/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-drivers = ['skeleton', 'sw']
+drivers = ['skeleton', 'sw', 'octeontx']
 std_deps = ['eventdev', 'kvargs']
 config_flag_fmt = 'RTE_LIBRTE_@0@_EVENTDEV_PMD'
 driver_name_fmt = 'rte_pmd_@0@_event'
diff --git a/drivers/event/octeontx/meson.build b/drivers/event/octeontx/meson.build
new file mode 100644
index 000000000..fa46a67b5
--- /dev/null
+++ b/drivers/event/octeontx/meson.build
@@ -0,0 +1,5 @@
+sources = files('ssovf_evdev.c',
+	'ssovf_worker.c'
+)
+
+deps += ['mempool_octeontx', 'bus_vdev', 'pmd_octeontx']
diff --git a/drivers/event/octeontx/rte_pmd_octeontx_ssovf_version.map b/drivers/event/octeontx/rte_pmd_octeontx_event_version.map
similarity index 100%
rename from drivers/event/octeontx/rte_pmd_octeontx_ssovf_version.map
rename to drivers/event/octeontx/rte_pmd_octeontx_event_version.map
diff --git a/drivers/meson.build b/drivers/meson.build
index f5009aa2e..52d7176a3 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-driver_classes = ['bus', 'crypto', 'event', 'mempool', 'net']
+driver_classes = ['bus', 'crypto', 'mempool', 'net', 'event']
 
 foreach class:driver_classes
 	drivers = []
-- 
2.15.1

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [dpdk-dev] [PATCH 4/4] app/test-eventdev: add test-eventdev to meson build
  2017-12-31  0:02 [dpdk-dev] [PATCH 1/4] drivers/mempool: add octeontx mempool driver to meson build Pavan Nikhilesh
  2017-12-31  0:02 ` [dpdk-dev] [PATCH 2/4] drivers/net: add drivers for Cavium NICs " Pavan Nikhilesh
  2017-12-31  0:02 ` [dpdk-dev] [PATCH 3/4] event/octeontx: add octeontx event device " Pavan Nikhilesh
@ 2017-12-31  0:02 ` Pavan Nikhilesh
  2018-01-09 17:35 ` [dpdk-dev] [PATCH 1/4] drivers/mempool: add octeontx mempool driver " Bruce Richardson
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 32+ messages in thread
From: Pavan Nikhilesh @ 2017-12-31  0:02 UTC (permalink / raw)
  To: bruce.richardson, bluca, harry.van.haaren, jerin.jacob
  Cc: dev, Pavan Nikhilesh

Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
---
 app/meson.build               |  1 +
 app/test-eventdev/meson.build | 25 +++++++++++++++++++++++++
 2 files changed, 26 insertions(+)
 create mode 100644 app/test-eventdev/meson.build

diff --git a/app/meson.build b/app/meson.build
index c5b785928..0088de464 100644
--- a/app/meson.build
+++ b/app/meson.build
@@ -2,3 +2,4 @@
 # Copyright(c) 2017 Intel Corporation
 
 subdir('test-pmd')
+subdir('test-eventdev')
diff --git a/app/test-eventdev/meson.build b/app/test-eventdev/meson.build
new file mode 100644
index 000000000..c349791e4
--- /dev/null
+++ b/app/test-eventdev/meson.build
@@ -0,0 +1,25 @@
+sources = files('evt_main.c',
+		'evt_options.c',
+		'evt_test.c',
+		'parser.c',
+		'test_order_common.c',
+		'test_order_atq.c',
+		'test_order_queue.c',
+		'test_perf_common.c',
+		'test_perf_atq.c',
+		'test_perf_queue.c')
+
+dep_objs = [get_variable(get_option('default_library') + '_rte_eventdev')]
+
+link_libs = []
+if get_option('default_library') == 'static'
+	link_libs = dpdk_drivers
+endif
+
+executable('dpdk-test-eventdev',
+	sources,
+	c_args: machine_arg,
+	link_whole: link_libs,
+	dependencies: dep_objs,
+	install_rpath: join_paths(get_option('prefix'), driver_install_path),
+	install: true)
-- 
2.15.1

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [dpdk-dev] [PATCH 2/4] drivers/net: add drivers for Cavium NICs to meson build
  2017-12-31  0:02 ` [dpdk-dev] [PATCH 2/4] drivers/net: add drivers for Cavium NICs " Pavan Nikhilesh
@ 2018-01-09 17:29   ` Bruce Richardson
  2018-01-11 12:42     ` Pavan Nikhilesh
  0 siblings, 1 reply; 32+ messages in thread
From: Bruce Richardson @ 2018-01-09 17:29 UTC (permalink / raw)
  To: Pavan Nikhilesh; +Cc: bluca, harry.van.haaren, jerin.jacob, dev

On Sun, Dec 31, 2017 at 05:32:01AM +0530, Pavan Nikhilesh wrote:
> Add Cavium octeontx and thunder nicvf to meson build infrastructure.
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
> ---
>  drivers/net/meson.build                                 |  3 ++-
>  drivers/net/octeontx/base/meson.build                   | 12 ++++++++++++
>  drivers/net/octeontx/meson.build                        | 10 ++++++++++
>  drivers/net/thunderx/Makefile                           |  2 +-
>  drivers/net/thunderx/base/meson.build                   | 17 +++++++++++++++++
>  drivers/net/thunderx/meson.build                        |  9 +++++++++
>  ...x_nicvf_version.map => rte_pmd_thunderx_version.map} |  0
>  7 files changed, 51 insertions(+), 2 deletions(-)
>  create mode 100644 drivers/net/octeontx/base/meson.build
>  create mode 100644 drivers/net/octeontx/meson.build
>  create mode 100644 drivers/net/thunderx/base/meson.build
>  create mode 100644 drivers/net/thunderx/meson.build
>  rename drivers/net/thunderx/{rte_pmd_thunderx_nicvf_version.map => rte_pmd_thunderx_version.map} (100%)
> 

Some minor comments below.

> diff --git a/drivers/net/meson.build b/drivers/net/meson.build
> index 72e1d3578..b132d3558 100644
> --- a/drivers/net/meson.build
> +++ b/drivers/net/meson.build
> @@ -3,7 +3,8 @@
>  
>  drivers = ['af_packet', 'bonding',
>  	'e1000', 'fm10k', 'i40e', 'ixgbe',
> -	'null', 'pcap', 'ring']
> +	'null', 'pcap', 'ring',
> +	'octeontx', 'thunderx']
>  std_deps = ['ethdev', 'kvargs'] # 'ethdev' also pulls in mbuf, net, eal etc
>  std_deps += ['bus_pci']         # very many PMDs depend on PCI, so make std
>  std_deps += ['bus_vdev']        # same with vdev bus
> diff --git a/drivers/net/octeontx/base/meson.build b/drivers/net/octeontx/base/meson.build
> new file mode 100644
> index 000000000..637483d68
> --- /dev/null
> +++ b/drivers/net/octeontx/base/meson.build
> @@ -0,0 +1,12 @@
> +sources = [
> +	'octeontx_bgx.c',
> +	'octeontx_pkivf.c',
> +	'octeontx_pkovf.c'
> +]
> +
> +base_lib = static_library('octeontx_base', sources,
> +	c_args: cflags,
> +	dependencies: static_rte_bus_pci,
> +	include_directories: mempool_octeontx_dir)
> +
> +base_objs = base_lib.extract_all_objects()
> diff --git a/drivers/net/octeontx/meson.build b/drivers/net/octeontx/meson.build
> new file mode 100644
> index 000000000..f263a4b51
> --- /dev/null
> +++ b/drivers/net/octeontx/meson.build
> @@ -0,0 +1,10 @@
> +subdir('base')
> +objs = [base_objs]
> +
> +sources = files('octeontx_rxtx.c',
> +		'octeontx_ethdev.c'
> +		)
> +
> +deps += ['mempool_octeontx', 'eventdev']
> +
> +includes += include_directories('base')
> diff --git a/drivers/net/thunderx/Makefile b/drivers/net/thunderx/Makefile
> index e50e1ad8c..3e4501d34 100644
> --- a/drivers/net/thunderx/Makefile
> +++ b/drivers/net/thunderx/Makefile
> @@ -44,7 +44,7 @@ LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
>  LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
>  LDLIBS += -lrte_bus_pci
>  
> -EXPORT_MAP := rte_pmd_thunderx_nicvf_version.map
> +EXPORT_MAP := rte_pmd_thunderx_version.map
>  
>  LIBABIVER := 1
>  
> diff --git a/drivers/net/thunderx/base/meson.build b/drivers/net/thunderx/base/meson.build
> new file mode 100644
> index 000000000..867a6d661
> --- /dev/null
> +++ b/drivers/net/thunderx/base/meson.build
> @@ -0,0 +1,17 @@
> +sources = [
> +	'nicvf_bsvf.c',
> +	'nicvf_hw.c',
> +	'nicvf_mbox.c'
> +]
> +
> +depends = ['ethdev']
> +static_obj = []
> +foreach d: depends
> +	static_obj += [get_variable('static_rte_' + d)]
> +endforeach
> +
> +base_lib = static_library('nicvf_base', sources,
> +	c_args: cflags,
> +	dependencies: static_obj)
> +

Given there is only one dependency here, I think it's probably best just
to do like you did with the octeontx base code, and put it explicitly in
the dependencies line, rather than bothering with a loop.

> +base_objs = base_lib.extract_all_objects()
> diff --git a/drivers/net/thunderx/meson.build b/drivers/net/thunderx/meson.build
> new file mode 100644
> index 000000000..17852f732
> --- /dev/null
> +++ b/drivers/net/thunderx/meson.build
> @@ -0,0 +1,9 @@
> +subdir('base')
> +objs = [base_objs]
> +
> +sources = files('nicvf_ethdev.c',
> +		'nicvf_svf.c',
> +		'nicvf_rxtx.c')
> +cflags += '-Ofast'

Is there a reason this is explicitly needed? The optimization flags for
the DPDK build as a whole should be covered by the meson top-level
flags, based on the build type. With this given here, changing the build
type to "debug" or "debugoptimized" may not work as expected for the
driver.

> +
> +includes += include_directories('base')
> diff --git a/drivers/net/thunderx/rte_pmd_thunderx_nicvf_version.map b/drivers/net/thunderx/rte_pmd_thunderx_version.map
> similarity index 100%
> rename from drivers/net/thunderx/rte_pmd_thunderx_nicvf_version.map
> rename to drivers/net/thunderx/rte_pmd_thunderx_version.map
> -- 
> 2.15.1
> 

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [dpdk-dev] [PATCH 3/4] event/octeontx: add octeontx event device to meson build
  2017-12-31  0:02 ` [dpdk-dev] [PATCH 3/4] event/octeontx: add octeontx event device " Pavan Nikhilesh
@ 2018-01-09 17:34   ` Bruce Richardson
  2018-01-11 13:15     ` Pavan Nikhilesh
  0 siblings, 1 reply; 32+ messages in thread
From: Bruce Richardson @ 2018-01-09 17:34 UTC (permalink / raw)
  To: Pavan Nikhilesh; +Cc: bluca, harry.van.haaren, jerin.jacob, dev

On Sun, Dec 31, 2017 at 05:32:02AM +0530, Pavan Nikhilesh wrote:
> Add Cavium octeontx to meson build and change order of drivers built
> from event->mempool->net to mempool->net->event to resolve dependency.
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
> ---
>  drivers/event/meson.build                                            | 2 +-
>  drivers/event/octeontx/meson.build                                   | 5 +++++
>  ...octeontx_ssovf_version.map => rte_pmd_octeontx_event_version.map} | 0
>  drivers/meson.build                                                  | 2 +-
>  4 files changed, 7 insertions(+), 2 deletions(-)
>  create mode 100644 drivers/event/octeontx/meson.build
>  rename drivers/event/octeontx/{rte_pmd_octeontx_ssovf_version.map => rte_pmd_octeontx_event_version.map} (100%)
> 
> diff --git a/drivers/event/meson.build b/drivers/event/meson.build
> index 437d80bfd..d7bc48545 100644
> --- a/drivers/event/meson.build
> +++ b/drivers/event/meson.build
> @@ -1,7 +1,7 @@
>  # SPDX-License-Identifier: BSD-3-Clause
>  # Copyright(c) 2017 Intel Corporation
>  
> -drivers = ['skeleton', 'sw']
> +drivers = ['skeleton', 'sw', 'octeontx']
>  std_deps = ['eventdev', 'kvargs']
>  config_flag_fmt = 'RTE_LIBRTE_@0@_EVENTDEV_PMD'
>  driver_name_fmt = 'rte_pmd_@0@_event'
> diff --git a/drivers/event/octeontx/meson.build b/drivers/event/octeontx/meson.build
> new file mode 100644
> index 000000000..fa46a67b5
> --- /dev/null
> +++ b/drivers/event/octeontx/meson.build
> @@ -0,0 +1,5 @@
> +sources = files('ssovf_evdev.c',
> +	'ssovf_worker.c'
> +)
> +
> +deps += ['mempool_octeontx', 'bus_vdev', 'pmd_octeontx']
> diff --git a/drivers/event/octeontx/rte_pmd_octeontx_ssovf_version.map b/drivers/event/octeontx/rte_pmd_octeontx_event_version.map
> similarity index 100%
> rename from drivers/event/octeontx/rte_pmd_octeontx_ssovf_version.map
> rename to drivers/event/octeontx/rte_pmd_octeontx_event_version.map
> diff --git a/drivers/meson.build b/drivers/meson.build
> index f5009aa2e..52d7176a3 100644
> --- a/drivers/meson.build
> +++ b/drivers/meson.build
> @@ -1,7 +1,7 @@
>  # SPDX-License-Identifier: BSD-3-Clause
>  # Copyright(c) 2017 Intel Corporation
>  
> -driver_classes = ['bus', 'crypto', 'event', 'mempool', 'net']
> +driver_classes = ['bus', 'crypto', 'mempool', 'net', 'event']

This change is ok with me, but I think you need to add an explicit
comment in the file - not just in the comment message - as to why the
order is not alphabetical.

In fact, it might be good to split out each type on it's own line with a
comment, since bus should almost certainly go first, then probably
mempool - since we might have crypto drivers in future that depend on
it, and then finally the other types.

>  
>  foreach class:driver_classes
>  	drivers = []
> -- 
> 2.15.1
> 

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [dpdk-dev] [PATCH 1/4] drivers/mempool: add octeontx mempool driver to meson build
  2017-12-31  0:02 [dpdk-dev] [PATCH 1/4] drivers/mempool: add octeontx mempool driver to meson build Pavan Nikhilesh
                   ` (2 preceding siblings ...)
  2017-12-31  0:02 ` [dpdk-dev] [PATCH 4/4] app/test-eventdev: add test-eventdev " Pavan Nikhilesh
@ 2018-01-09 17:35 ` Bruce Richardson
  2018-01-11 13:38   ` Pavan Nikhilesh
  2018-01-11 13:44   ` Pavan Nikhilesh
  2018-01-09 17:41 ` Bruce Richardson
                   ` (3 subsequent siblings)
  7 siblings, 2 replies; 32+ messages in thread
From: Bruce Richardson @ 2018-01-09 17:35 UTC (permalink / raw)
  To: Pavan Nikhilesh; +Cc: bluca, harry.van.haaren, jerin.jacob, dev

On Sun, Dec 31, 2017 at 05:32:00AM +0530, Pavan Nikhilesh wrote:
> Add octeontx hardware mempool driver to meson build.
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
> ---
>  drivers/mempool/meson.build          | 2 +-
>  drivers/mempool/octeontx/meson.build | 8 ++++++++
>  2 files changed, 9 insertions(+), 1 deletion(-)
>  create mode 100644 drivers/mempool/octeontx/meson.build
> 
> diff --git a/drivers/mempool/meson.build b/drivers/mempool/meson.build
> index a47b1d9b1..599185609 100644
> --- a/drivers/mempool/meson.build
> +++ b/drivers/mempool/meson.build
> @@ -1,7 +1,7 @@
>  # SPDX-License-Identifier: BSD-3-Clause
>  # Copyright(c) 2017 Intel Corporation
>  
> -drivers = ['ring', 'stack']
> +drivers = ['ring', 'stack', 'octeontx']
>  std_deps = ['mempool']
>  config_flag_fmt = 'RTE_LIBRTE_@0@_MEMPOOL'
>  driver_name_fmt = 'rte_mempool_@0@'
> diff --git a/drivers/mempool/octeontx/meson.build b/drivers/mempool/octeontx/meson.build
> new file mode 100644
> index 000000000..57ddf58b7
> --- /dev/null
> +++ b/drivers/mempool/octeontx/meson.build
> @@ -0,0 +1,8 @@
> +sources = files('octeontx_ssovf.c',
> +		'octeontx_mbox.c',
> +		'octeontx_fpavf.c',
> +		'rte_mempool_octeontx.c'
> +)
> +deps += ['mbuf', 'bus_pci']
> +
> +mempool_octeontx_dir = include_directories('.')

Is this variable used in later patches, I don't see it on a quick scan?
Normally we just use the dependency objects to manage paths to include
directories, and we don't need to explicitly have include variables.

/Bruce

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [dpdk-dev] [PATCH 1/4] drivers/mempool: add octeontx mempool driver to meson build
  2017-12-31  0:02 [dpdk-dev] [PATCH 1/4] drivers/mempool: add octeontx mempool driver to meson build Pavan Nikhilesh
                   ` (3 preceding siblings ...)
  2018-01-09 17:35 ` [dpdk-dev] [PATCH 1/4] drivers/mempool: add octeontx mempool driver " Bruce Richardson
@ 2018-01-09 17:41 ` Bruce Richardson
  2018-01-11 14:13   ` Pavan Nikhilesh
  2018-01-14 13:28 ` [dpdk-dev] [PATCH v2 " Pavan Nikhilesh
                   ` (2 subsequent siblings)
  7 siblings, 1 reply; 32+ messages in thread
From: Bruce Richardson @ 2018-01-09 17:41 UTC (permalink / raw)
  To: Pavan Nikhilesh; +Cc: bluca, harry.van.haaren, jerin.jacob, dev

On Sun, Dec 31, 2017 at 05:32:00AM +0530, Pavan Nikhilesh wrote:
> Add octeontx hardware mempool driver to meson build.
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
> ---

On the set as a whole, it looks good to me, just the few minor nits pointed
out in other emails. Can you do a V2 with those fixed? Also, I notice
that you are missing License tags on the new files created, those should
probably be added too in V2.

Thanks,
/Bruce

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [dpdk-dev] [PATCH 2/4] drivers/net: add drivers for Cavium NICs to meson build
  2018-01-09 17:29   ` Bruce Richardson
@ 2018-01-11 12:42     ` Pavan Nikhilesh
  0 siblings, 0 replies; 32+ messages in thread
From: Pavan Nikhilesh @ 2018-01-11 12:42 UTC (permalink / raw)
  To: Bruce Richardson, harry.van.haaren, jerin.jacob; +Cc: dev

On Tue, Jan 09, 2018 at 05:29:36PM +0000, Bruce Richardson wrote:
> On Sun, Dec 31, 2017 at 05:32:01AM +0530, Pavan Nikhilesh wrote:
> > Add Cavium octeontx and thunder nicvf to meson build infrastructure.
> >
> > Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
> > ---
> >  drivers/net/meson.build                                 |  3 ++-
> >  drivers/net/octeontx/base/meson.build                   | 12 ++++++++++++
> >  drivers/net/octeontx/meson.build                        | 10 ++++++++++
> >  drivers/net/thunderx/Makefile                           |  2 +-
> >  drivers/net/thunderx/base/meson.build                   | 17 +++++++++++++++++
> >  drivers/net/thunderx/meson.build                        |  9 +++++++++
> >  ...x_nicvf_version.map => rte_pmd_thunderx_version.map} |  0
> >  7 files changed, 51 insertions(+), 2 deletions(-)
> >  create mode 100644 drivers/net/octeontx/base/meson.build
> >  create mode 100644 drivers/net/octeontx/meson.build
> >  create mode 100644 drivers/net/thunderx/base/meson.build
> >  create mode 100644 drivers/net/thunderx/meson.build
> >  rename drivers/net/thunderx/{rte_pmd_thunderx_nicvf_version.map => rte_pmd_thunderx_version.map} (100%)
> >
>
> Some minor comments below.
>
> > diff --git a/drivers/net/meson.build b/drivers/net/meson.build
> > index 72e1d3578..b132d3558 100644
> > --- a/drivers/net/meson.build
> > +++ b/drivers/net/meson.build
> > @@ -3,7 +3,8 @@
> >
> >  drivers = ['af_packet', 'bonding',
> >  	'e1000', 'fm10k', 'i40e', 'ixgbe',
> > -	'null', 'pcap', 'ring']
> > +	'null', 'pcap', 'ring',
> > +	'octeontx', 'thunderx']
> >  std_deps = ['ethdev', 'kvargs'] # 'ethdev' also pulls in mbuf, net, eal etc
> >  std_deps += ['bus_pci']         # very many PMDs depend on PCI, so make std
> >  std_deps += ['bus_vdev']        # same with vdev bus
> > diff --git a/drivers/net/octeontx/base/meson.build b/drivers/net/octeontx/base/meson.build
> > new file mode 100644
> > index 000000000..637483d68
> > --- /dev/null
> > +++ b/drivers/net/octeontx/base/meson.build
> > @@ -0,0 +1,12 @@
> > +sources = [
> > +	'octeontx_bgx.c',
> > +	'octeontx_pkivf.c',
> > +	'octeontx_pkovf.c'
> > +]
> > +
> > +base_lib = static_library('octeontx_base', sources,
> > +	c_args: cflags,
> > +	dependencies: static_rte_bus_pci,
> > +	include_directories: mempool_octeontx_dir)
> > +
> > +base_objs = base_lib.extract_all_objects()
> > diff --git a/drivers/net/octeontx/meson.build b/drivers/net/octeontx/meson.build
> > new file mode 100644
> > index 000000000..f263a4b51
> > --- /dev/null
> > +++ b/drivers/net/octeontx/meson.build
> > @@ -0,0 +1,10 @@
> > +subdir('base')
> > +objs = [base_objs]
> > +
> > +sources = files('octeontx_rxtx.c',
> > +		'octeontx_ethdev.c'
> > +		)
> > +
> > +deps += ['mempool_octeontx', 'eventdev']
> > +
> > +includes += include_directories('base')
> > diff --git a/drivers/net/thunderx/Makefile b/drivers/net/thunderx/Makefile
> > index e50e1ad8c..3e4501d34 100644
> > --- a/drivers/net/thunderx/Makefile
> > +++ b/drivers/net/thunderx/Makefile
> > @@ -44,7 +44,7 @@ LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
> >  LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
> >  LDLIBS += -lrte_bus_pci
> >
> > -EXPORT_MAP := rte_pmd_thunderx_nicvf_version.map
> > +EXPORT_MAP := rte_pmd_thunderx_version.map
> >
> >  LIBABIVER := 1
> >
> > diff --git a/drivers/net/thunderx/base/meson.build b/drivers/net/thunderx/base/meson.build
> > new file mode 100644
> > index 000000000..867a6d661
> > --- /dev/null
> > +++ b/drivers/net/thunderx/base/meson.build
> > @@ -0,0 +1,17 @@
> > +sources = [
> > +	'nicvf_bsvf.c',
> > +	'nicvf_hw.c',
> > +	'nicvf_mbox.c'
> > +]
> > +
> > +depends = ['ethdev']
> > +static_obj = []
> > +foreach d: depends
> > +	static_obj += [get_variable('static_rte_' + d)]
> > +endforeach
> > +
> > +base_lib = static_library('nicvf_base', sources,
> > +	c_args: cflags,
> > +	dependencies: static_obj)
> > +
>
> Given there is only one dependency here, I think it's probably best just
> to do like you did with the octeontx base code, and put it explicitly in
> the dependencies line, rather than bothering with a loop.

Agreed, will remove the loop and include directly.

>
> > +base_objs = base_lib.extract_all_objects()
> > diff --git a/drivers/net/thunderx/meson.build b/drivers/net/thunderx/meson.build
> > new file mode 100644
> > index 000000000..17852f732
> > --- /dev/null
> > +++ b/drivers/net/thunderx/meson.build
> > @@ -0,0 +1,9 @@
> > +subdir('base')
> > +objs = [base_objs]
> > +
> > +sources = files('nicvf_ethdev.c',
> > +		'nicvf_svf.c',
> > +		'nicvf_rxtx.c')
> > +cflags += '-Ofast'
>
> Is there a reason this is explicitly needed? The optimization flags for
> the DPDK build as a whole should be covered by the meson top-level
> flags, based on the build type. With this given here, changing the build
> type to "debug" or "debugoptimized" may not work as expected for the
> driver.

I do agree that this would mess up meson debug build. In traditional make
environment we could control file specific cflags but as far as I see I couldnt
find the support for it in meson.

AFAIK meson's default cflags include '-O3' and not '-Ofast'. I will do a quick
benchmark before v2 based on that include the cflag. Also, in case if -Ofast is
necessary I will add a condition to enable it only in case of a normal build.

>
> > +
> > +includes += include_directories('base')
> > diff --git a/drivers/net/thunderx/rte_pmd_thunderx_nicvf_version.map b/drivers/net/thunderx/rte_pmd_thunderx_version.map
> > similarity index 100%
> > rename from drivers/net/thunderx/rte_pmd_thunderx_nicvf_version.map
> > rename to drivers/net/thunderx/rte_pmd_thunderx_version.map
> > --
> > 2.15.1
> >

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [dpdk-dev] [PATCH 3/4] event/octeontx: add octeontx event device to meson build
  2018-01-09 17:34   ` Bruce Richardson
@ 2018-01-11 13:15     ` Pavan Nikhilesh
  0 siblings, 0 replies; 32+ messages in thread
From: Pavan Nikhilesh @ 2018-01-11 13:15 UTC (permalink / raw)
  To: Bruce Richardson, harry.van.haaren, jerin.jacobkollanukkaran; +Cc: dev

On Tue, Jan 09, 2018 at 05:34:00PM +0000, Bruce Richardson wrote:
> On Sun, Dec 31, 2017 at 05:32:02AM +0530, Pavan Nikhilesh wrote:
> > Add Cavium octeontx to meson build and change order of drivers built
> > from event->mempool->net to mempool->net->event to resolve dependency.
> >
> > Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
> > ---
> >  drivers/event/meson.build                                            | 2 +-
> >  drivers/event/octeontx/meson.build                                   | 5 +++++
> >  ...octeontx_ssovf_version.map => rte_pmd_octeontx_event_version.map} | 0
> >  drivers/meson.build                                                  | 2 +-
> >  4 files changed, 7 insertions(+), 2 deletions(-)
> >  create mode 100644 drivers/event/octeontx/meson.build
> >  rename drivers/event/octeontx/{rte_pmd_octeontx_ssovf_version.map => rte_pmd_octeontx_event_version.map} (100%)
> >
> > diff --git a/drivers/event/meson.build b/drivers/event/meson.build
> > index 437d80bfd..d7bc48545 100644
> > --- a/drivers/event/meson.build
> > +++ b/drivers/event/meson.build
> > @@ -1,7 +1,7 @@
> >  # SPDX-License-Identifier: BSD-3-Clause
> >  # Copyright(c) 2017 Intel Corporation
> >
> > -drivers = ['skeleton', 'sw']
> > +drivers = ['skeleton', 'sw', 'octeontx']
> >  std_deps = ['eventdev', 'kvargs']
> >  config_flag_fmt = 'RTE_LIBRTE_@0@_EVENTDEV_PMD'
> >  driver_name_fmt = 'rte_pmd_@0@_event'
> > diff --git a/drivers/event/octeontx/meson.build b/drivers/event/octeontx/meson.build
> > new file mode 100644
> > index 000000000..fa46a67b5
> > --- /dev/null
> > +++ b/drivers/event/octeontx/meson.build
> > @@ -0,0 +1,5 @@
> > +sources = files('ssovf_evdev.c',
> > +	'ssovf_worker.c'
> > +)
> > +
> > +deps += ['mempool_octeontx', 'bus_vdev', 'pmd_octeontx']
> > diff --git a/drivers/event/octeontx/rte_pmd_octeontx_ssovf_version.map b/drivers/event/octeontx/rte_pmd_octeontx_event_version.map
> > similarity index 100%
> > rename from drivers/event/octeontx/rte_pmd_octeontx_ssovf_version.map
> > rename to drivers/event/octeontx/rte_pmd_octeontx_event_version.map
> > diff --git a/drivers/meson.build b/drivers/meson.build
> > index f5009aa2e..52d7176a3 100644
> > --- a/drivers/meson.build
> > +++ b/drivers/meson.build
> > @@ -1,7 +1,7 @@
> >  # SPDX-License-Identifier: BSD-3-Clause
> >  # Copyright(c) 2017 Intel Corporation
> >
> > -driver_classes = ['bus', 'crypto', 'event', 'mempool', 'net']
> > +driver_classes = ['bus', 'crypto', 'mempool', 'net', 'event']
>
> This change is ok with me, but I think you need to add an explicit
> comment in the file - not just in the comment message - as to why the
> order is not alphabetical.
>
> In fact, it might be good to split out each type on it's own line with a
> comment, since bus should almost certainly go first, then probably
> mempool - since we might have crypto drivers in future that depend on
> it, and then finally the other types.

Agreed, will follow the order dictated in make filesystem.
>
> >
> >  foreach class:driver_classes
> >  	drivers = []
> > --
> > 2.15.1
> >

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [dpdk-dev] [PATCH 1/4] drivers/mempool: add octeontx mempool driver to meson build
  2018-01-09 17:35 ` [dpdk-dev] [PATCH 1/4] drivers/mempool: add octeontx mempool driver " Bruce Richardson
@ 2018-01-11 13:38   ` Pavan Nikhilesh
  2018-01-11 13:44   ` Pavan Nikhilesh
  1 sibling, 0 replies; 32+ messages in thread
From: Pavan Nikhilesh @ 2018-01-11 13:38 UTC (permalink / raw)
  To: Bruce Richardson, harry.van.haaren, jerin.jacob; +Cc: dev

On Tue, Jan 09, 2018 at 05:35:28PM +0000, Bruce Richardson wrote:
> On Sun, Dec 31, 2017 at 05:32:00AM +0530, Pavan Nikhilesh wrote:
> > Add octeontx hardware mempool driver to meson build.
> >
> > Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
> > ---
> >  drivers/mempool/meson.build          | 2 +-
> >  drivers/mempool/octeontx/meson.build | 8 ++++++++
> >  2 files changed, 9 insertions(+), 1 deletion(-)
> >  create mode 100644 drivers/mempool/octeontx/meson.build
> >
> > diff --git a/drivers/mempool/meson.build b/drivers/mempool/meson.build
> > index a47b1d9b1..599185609 100644
> > --- a/drivers/mempool/meson.build
> > +++ b/drivers/mempool/meson.build
> > @@ -1,7 +1,7 @@
> >  # SPDX-License-Identifier: BSD-3-Clause
> >  # Copyright(c) 2017 Intel Corporation
> >
> > -drivers = ['ring', 'stack']
> > +drivers = ['ring', 'stack', 'octeontx']
> >  std_deps = ['mempool']
> >  config_flag_fmt = 'RTE_LIBRTE_@0@_MEMPOOL'
> >  driver_name_fmt = 'rte_mempool_@0@'
> > diff --git a/drivers/mempool/octeontx/meson.build b/drivers/mempool/octeontx/meson.build
> > new file mode 100644
> > index 000000000..57ddf58b7
> > --- /dev/null
> > +++ b/drivers/mempool/octeontx/meson.build
> > @@ -0,0 +1,8 @@
> > +sources = files('octeontx_ssovf.c',
> > +		'octeontx_mbox.c',
> > +		'octeontx_fpavf.c',
> > +		'rte_mempool_octeontx.c'
> > +)
> > +deps += ['mbuf', 'bus_pci']
> > +
> > +mempool_octeontx_dir = include_directories('.')
>
> Is this variable used in later patches, I don't see it on a quick scan?
> Normally we just use the dependency objects to manage paths to include
> directories, and we don't need to explicitly have include variables.

I was using this in 'drivers/net/octeontx/base' while experimenting will remove
in v2.

>
> /Bruce

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [dpdk-dev] [PATCH 1/4] drivers/mempool: add octeontx mempool driver to meson build
  2018-01-09 17:35 ` [dpdk-dev] [PATCH 1/4] drivers/mempool: add octeontx mempool driver " Bruce Richardson
  2018-01-11 13:38   ` Pavan Nikhilesh
@ 2018-01-11 13:44   ` Pavan Nikhilesh
  1 sibling, 0 replies; 32+ messages in thread
From: Pavan Nikhilesh @ 2018-01-11 13:44 UTC (permalink / raw)
  To: Bruce Richardson, harry.van.haaren, jerin.jacob; +Cc: dev

On Tue, Jan 09, 2018 at 05:35:28PM +0000, Bruce Richardson wrote:
> On Sun, Dec 31, 2017 at 05:32:00AM +0530, Pavan Nikhilesh wrote:
> > Add octeontx hardware mempool driver to meson build.
> >
> > Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
> > ---
> >  drivers/mempool/meson.build          | 2 +-
> >  drivers/mempool/octeontx/meson.build | 8 ++++++++
> >  2 files changed, 9 insertions(+), 1 deletion(-)
> >  create mode 100644 drivers/mempool/octeontx/meson.build
> >
> > diff --git a/drivers/mempool/meson.build b/drivers/mempool/meson.build
> > index a47b1d9b1..599185609 100644
> > --- a/drivers/mempool/meson.build
> > +++ b/drivers/mempool/meson.build
> > @@ -1,7 +1,7 @@
> >  # SPDX-License-Identifier: BSD-3-Clause
> >  # Copyright(c) 2017 Intel Corporation
> >
> > -drivers = ['ring', 'stack']
> > +drivers = ['ring', 'stack', 'octeontx']
> >  std_deps = ['mempool']
> >  config_flag_fmt = 'RTE_LIBRTE_@0@_MEMPOOL'
> >  driver_name_fmt = 'rte_mempool_@0@'
> > diff --git a/drivers/mempool/octeontx/meson.build b/drivers/mempool/octeontx/meson.build
> > new file mode 100644
> > index 000000000..57ddf58b7
> > --- /dev/null
> > +++ b/drivers/mempool/octeontx/meson.build
> > @@ -0,0 +1,8 @@
> > +sources = files('octeontx_ssovf.c',
> > +		'octeontx_mbox.c',
> > +		'octeontx_fpavf.c',
> > +		'rte_mempool_octeontx.c'
> > +)
> > +deps += ['mbuf', 'bus_pci']
> > +
> > +mempool_octeontx_dir = include_directories('.')
>
> Is this variable used in later patches, I don't see it on a quick scan?
> Normally we just use the dependency objects to manage paths to include
> directories, and we don't need to explicitly have include variables.
>

I was using it in 'drivers/net/octeontx/base' while experimenting with meson, I
will remove it in v2.

> /Bruce

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [dpdk-dev] [PATCH 1/4] drivers/mempool: add octeontx mempool driver to meson build
  2018-01-09 17:41 ` Bruce Richardson
@ 2018-01-11 14:13   ` Pavan Nikhilesh
  0 siblings, 0 replies; 32+ messages in thread
From: Pavan Nikhilesh @ 2018-01-11 14:13 UTC (permalink / raw)
  To: Bruce Richardson, harry.van.haaren, jerin.jacob; +Cc: dev

On Tue, Jan 09, 2018 at 05:41:23PM +0000, Bruce Richardson wrote:
> On Sun, Dec 31, 2017 at 05:32:00AM +0530, Pavan Nikhilesh wrote:
> > Add octeontx hardware mempool driver to meson build.
> >
> > Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
> > ---
>
> On the set as a whole, it looks good to me, just the few minor nits pointed
> out in other emails. Can you do a V2 with those fixed? Also, I notice
> that you are missing License tags on the new files created, those should
> probably be added too in V2.

At the time of sending the patchset we didnt have approval for SPDX licence
tags so, left them bare will update the tags in v2.

>
> Thanks,
> /Bruce

Thanks,
Pavan.

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [dpdk-dev] [PATCH v2 1/4] drivers/mempool: add octeontx mempool driver to meson build
  2017-12-31  0:02 [dpdk-dev] [PATCH 1/4] drivers/mempool: add octeontx mempool driver to meson build Pavan Nikhilesh
                   ` (4 preceding siblings ...)
  2018-01-09 17:41 ` Bruce Richardson
@ 2018-01-14 13:28 ` Pavan Nikhilesh
  2018-01-14 13:28   ` [dpdk-dev] [PATCH v2 2/4] drivers/net: add drivers for Cavium NICs " Pavan Nikhilesh
                     ` (2 more replies)
  2018-01-19 13:12 ` [dpdk-dev] [PATCH v3 1/4] drivers/mempool: add octeontx mempool driver " Pavan Nikhilesh
  2018-01-19 18:15 ` [dpdk-dev] [PATCH v4 " Pavan Nikhilesh
  7 siblings, 3 replies; 32+ messages in thread
From: Pavan Nikhilesh @ 2018-01-14 13:28 UTC (permalink / raw)
  To: jerin.jacob, santosh.shukla, bruce.richardson, harry.van.haaren
  Cc: dev, Pavan Nikhilesh

Add octeontx hardware mempool driver to meson build.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
---

 v2:
 - remove unneeded include variable.
 - include SPDX license tags

 drivers/mempool/meson.build          |  2 +-
 drivers/mempool/octeontx/meson.build | 10 ++++++++++
 2 files changed, 11 insertions(+), 1 deletion(-)
 create mode 100644 drivers/mempool/octeontx/meson.build

diff --git a/drivers/mempool/meson.build b/drivers/mempool/meson.build
index a47b1d9b1..599185609 100644
--- a/drivers/mempool/meson.build
+++ b/drivers/mempool/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation

-drivers = ['ring', 'stack']
+drivers = ['ring', 'stack', 'octeontx']
 std_deps = ['mempool']
 config_flag_fmt = 'RTE_LIBRTE_@0@_MEMPOOL'
 driver_name_fmt = 'rte_mempool_@0@'
diff --git a/drivers/mempool/octeontx/meson.build b/drivers/mempool/octeontx/meson.build
new file mode 100644
index 000000000..1e894a56b
--- /dev/null
+++ b/drivers/mempool/octeontx/meson.build
@@ -0,0 +1,10 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2017 Cavium, Inc
+
+sources = files('octeontx_ssovf.c',
+		'octeontx_mbox.c',
+		'octeontx_fpavf.c',
+		'rte_mempool_octeontx.c'
+)
+
+deps += ['mbuf', 'bus_pci']
--
2.15.1

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [dpdk-dev] [PATCH v2 2/4] drivers/net: add drivers for Cavium NICs to meson build
  2018-01-14 13:28 ` [dpdk-dev] [PATCH v2 " Pavan Nikhilesh
@ 2018-01-14 13:28   ` Pavan Nikhilesh
  2018-01-14 13:28   ` [dpdk-dev] [PATCH v2 3/4] event/octeontx: add octeontx event device " Pavan Nikhilesh
  2018-01-14 13:28   ` [dpdk-dev] [PATCH v2 4/4] app/test-eventdev: add test-eventdev " Pavan Nikhilesh
  2 siblings, 0 replies; 32+ messages in thread
From: Pavan Nikhilesh @ 2018-01-14 13:28 UTC (permalink / raw)
  To: jerin.jacob, santosh.shukla, bruce.richardson, harry.van.haaren
  Cc: dev, Pavan Nikhilesh

Add Cavium octeontx and thunder nicvf to meson build infrastructure.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
---

 v2 Changes:
 - Add SPDX license tags.

 drivers/net/meson.build                             |  3 ++-
 drivers/net/octeontx/base/meson.build               | 21 +++++++++++++++++++++
 drivers/net/octeontx/meson.build                    | 13 +++++++++++++
 drivers/net/thunderx/Makefile                       |  2 +-
 drivers/net/thunderx/base/meson.build               | 14 ++++++++++++++
 drivers/net/thunderx/meson.build                    | 12 ++++++++++++
 ...cvf_version.map => rte_pmd_thunderx_version.map} |  0
 7 files changed, 63 insertions(+), 2 deletions(-)
 create mode 100644 drivers/net/octeontx/base/meson.build
 create mode 100644 drivers/net/octeontx/meson.build
 create mode 100644 drivers/net/thunderx/base/meson.build
 create mode 100644 drivers/net/thunderx/meson.build
 rename drivers/net/thunderx/{rte_pmd_thunderx_nicvf_version.map => rte_pmd_thunderx_version.map} (100%)

diff --git a/drivers/net/meson.build b/drivers/net/meson.build
index 72e1d3578..b132d3558 100644
--- a/drivers/net/meson.build
+++ b/drivers/net/meson.build
@@ -3,7 +3,8 @@

 drivers = ['af_packet', 'bonding',
 	'e1000', 'fm10k', 'i40e', 'ixgbe',
-	'null', 'pcap', 'ring']
+	'null', 'pcap', 'ring',
+	'octeontx', 'thunderx']
 std_deps = ['ethdev', 'kvargs'] # 'ethdev' also pulls in mbuf, net, eal etc
 std_deps += ['bus_pci']         # very many PMDs depend on PCI, so make std
 std_deps += ['bus_vdev']        # same with vdev bus
diff --git a/drivers/net/octeontx/base/meson.build b/drivers/net/octeontx/base/meson.build
new file mode 100644
index 000000000..82697c4bc
--- /dev/null
+++ b/drivers/net/octeontx/base/meson.build
@@ -0,0 +1,21 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2017 Cavium, Inc
+
+sources = [
+	'octeontx_pkovf.c',
+	'octeontx_pkivf.c',
+	'octeontx_bgx.c'
+]
+
+depends = ['ethdev', 'mempool_octeontx']
+static_objs = []
+foreach d: depends
+	static_objs += [get_variable('static_rte_' + d)]
+endforeach
+
+base_lib = static_library('octeontx_base', sources,
+	c_args: cflags,
+	dependencies: static_objs,
+	)
+
+base_objs = base_lib.extract_all_objects()
diff --git a/drivers/net/octeontx/meson.build b/drivers/net/octeontx/meson.build
new file mode 100644
index 000000000..ef789eaa9
--- /dev/null
+++ b/drivers/net/octeontx/meson.build
@@ -0,0 +1,13 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2017 Cavium, Inc
+
+subdir('base')
+objs = [base_objs]
+
+sources = files('octeontx_rxtx.c',
+		'octeontx_ethdev.c'
+		)
+
+deps += ['mempool_octeontx', 'eventdev']
+
+includes += include_directories('base')
diff --git a/drivers/net/thunderx/Makefile b/drivers/net/thunderx/Makefile
index e50e1ad8c..3e4501d34 100644
--- a/drivers/net/thunderx/Makefile
+++ b/drivers/net/thunderx/Makefile
@@ -44,7 +44,7 @@ LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
 LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
 LDLIBS += -lrte_bus_pci

-EXPORT_MAP := rte_pmd_thunderx_nicvf_version.map
+EXPORT_MAP := rte_pmd_thunderx_version.map

 LIBABIVER := 1

diff --git a/drivers/net/thunderx/base/meson.build b/drivers/net/thunderx/base/meson.build
new file mode 100644
index 000000000..e79c7206f
--- /dev/null
+++ b/drivers/net/thunderx/base/meson.build
@@ -0,0 +1,14 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2017 Cavium, Inc
+
+sources = [
+	'nicvf_hw.c',
+	'nicvf_mbox.c',
+	'nicvf_bsvf.c'
+]
+
+base_lib = static_library('nicvf_base', sources,
+	c_args: cflags,
+	dependencies: static_rte_ethdev)
+
+base_objs = base_lib.extract_all_objects()
diff --git a/drivers/net/thunderx/meson.build b/drivers/net/thunderx/meson.build
new file mode 100644
index 000000000..faf34483e
--- /dev/null
+++ b/drivers/net/thunderx/meson.build
@@ -0,0 +1,12 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2017 Cavium, Inc
+
+subdir('base')
+objs = [base_objs]
+
+sources = files('nicvf_rxtx.c',
+		'nicvf_ethdev.c',
+		'nicvf_svf.c'
+	       )
+
+includes += include_directories('base')
diff --git a/drivers/net/thunderx/rte_pmd_thunderx_nicvf_version.map b/drivers/net/thunderx/rte_pmd_thunderx_version.map
similarity index 100%
rename from drivers/net/thunderx/rte_pmd_thunderx_nicvf_version.map
rename to drivers/net/thunderx/rte_pmd_thunderx_version.map
--
2.15.1

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [dpdk-dev] [PATCH v2 3/4] event/octeontx: add octeontx event device to meson build
  2018-01-14 13:28 ` [dpdk-dev] [PATCH v2 " Pavan Nikhilesh
  2018-01-14 13:28   ` [dpdk-dev] [PATCH v2 2/4] drivers/net: add drivers for Cavium NICs " Pavan Nikhilesh
@ 2018-01-14 13:28   ` Pavan Nikhilesh
  2018-01-14 13:28   ` [dpdk-dev] [PATCH v2 4/4] app/test-eventdev: add test-eventdev " Pavan Nikhilesh
  2 siblings, 0 replies; 32+ messages in thread
From: Pavan Nikhilesh @ 2018-01-14 13:28 UTC (permalink / raw)
  To: jerin.jacob, santosh.shukla, bruce.richardson, harry.van.haaren
  Cc: dev, Pavan Nikhilesh

Add Cavium octeontx to meson build and change order of drivers built
from event->mempool->net to mempool->net->event to resolve dependency.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
---

 v2 Changes:
 - Add SPDX license tags
 - Modify driver build order similar to make build system.

 drivers/event/meson.build                                         | 2 +-
 drivers/event/octeontx/meson.build                                | 8 ++++++++
 ...eontx_ssovf_version.map => rte_pmd_octeontx_event_version.map} | 0
 drivers/meson.build                                               | 7 ++++++-
 4 files changed, 15 insertions(+), 2 deletions(-)
 create mode 100644 drivers/event/octeontx/meson.build
 rename drivers/event/octeontx/{rte_pmd_octeontx_ssovf_version.map => rte_pmd_octeontx_event_version.map} (100%)

diff --git a/drivers/event/meson.build b/drivers/event/meson.build
index 437d80bfd..d7bc48545 100644
--- a/drivers/event/meson.build
+++ b/drivers/event/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation

-drivers = ['skeleton', 'sw']
+drivers = ['skeleton', 'sw', 'octeontx']
 std_deps = ['eventdev', 'kvargs']
 config_flag_fmt = 'RTE_LIBRTE_@0@_EVENTDEV_PMD'
 driver_name_fmt = 'rte_pmd_@0@_event'
diff --git a/drivers/event/octeontx/meson.build b/drivers/event/octeontx/meson.build
new file mode 100644
index 000000000..d2b2bae56
--- /dev/null
+++ b/drivers/event/octeontx/meson.build
@@ -0,0 +1,8 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2017 Cavium, Inc
+
+sources = files('ssovf_worker.c',
+		'ssovf_evdev.c'
+)
+
+deps += ['mempool_octeontx', 'bus_vdev', 'pmd_octeontx']
diff --git a/drivers/event/octeontx/rte_pmd_octeontx_ssovf_version.map b/drivers/event/octeontx/rte_pmd_octeontx_event_version.map
similarity index 100%
rename from drivers/event/octeontx/rte_pmd_octeontx_ssovf_version.map
rename to drivers/event/octeontx/rte_pmd_octeontx_event_version.map
diff --git a/drivers/meson.build b/drivers/meson.build
index 9b5039847..26dfe72a2 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -1,7 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation

-driver_classes = ['bus', 'crypto', 'event', 'mempool', 'net']
+# Defines the order in which the drivers are buit.
+driver_classes = ['bus',
+	       'mempool', # depends on bus.
+	       'net',     # depends on bus and mempool.
+	       'crypto',  # depenss on bus, mempool (net in future).
+	       'event']   # depends on bus, mempool and net.

 foreach class:driver_classes
 	drivers = []
--
2.15.1

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [dpdk-dev] [PATCH v2 4/4] app/test-eventdev: add test-eventdev to meson build
  2018-01-14 13:28 ` [dpdk-dev] [PATCH v2 " Pavan Nikhilesh
  2018-01-14 13:28   ` [dpdk-dev] [PATCH v2 2/4] drivers/net: add drivers for Cavium NICs " Pavan Nikhilesh
  2018-01-14 13:28   ` [dpdk-dev] [PATCH v2 3/4] event/octeontx: add octeontx event device " Pavan Nikhilesh
@ 2018-01-14 13:28   ` Pavan Nikhilesh
  2 siblings, 0 replies; 32+ messages in thread
From: Pavan Nikhilesh @ 2018-01-14 13:28 UTC (permalink / raw)
  To: jerin.jacob, santosh.shukla, bruce.richardson, harry.van.haaren
  Cc: dev, Pavan Nikhilesh

Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
---

 v2 Changes:
 - Add SPDX license tags.

 app/meson.build               |  1 +
 app/test-eventdev/meson.build | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 100644 app/test-eventdev/meson.build

diff --git a/app/meson.build b/app/meson.build
index c5b785928..0088de464 100644
--- a/app/meson.build
+++ b/app/meson.build
@@ -2,3 +2,4 @@
 # Copyright(c) 2017 Intel Corporation

 subdir('test-pmd')
+subdir('test-eventdev')
diff --git a/app/test-eventdev/meson.build b/app/test-eventdev/meson.build
new file mode 100644
index 000000000..1dd954539
--- /dev/null
+++ b/app/test-eventdev/meson.build
@@ -0,0 +1,28 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2017 Cavium, Inc
+
+sources = files('evt_main.c',
+		'evt_options.c',
+		'evt_test.c',
+		'parser.c',
+		'test_order_common.c',
+		'test_order_atq.c',
+		'test_order_queue.c',
+		'test_perf_common.c',
+		'test_perf_atq.c',
+		'test_perf_queue.c')
+
+dep_objs = [get_variable(get_option('default_library') + '_rte_eventdev')]
+
+link_libs = []
+if get_option('default_library') == 'static'
+	link_libs = dpdk_drivers
+endif
+
+executable('dpdk-test-eventdev',
+	sources,
+	c_args: machine_arg,
+	link_whole: link_libs,
+	dependencies: dep_objs,
+	install_rpath: join_paths(get_option('prefix'), driver_install_path),
+	install: true)
--
2.15.1

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [dpdk-dev] [PATCH v3 1/4] drivers/mempool: add octeontx mempool driver to meson build
  2017-12-31  0:02 [dpdk-dev] [PATCH 1/4] drivers/mempool: add octeontx mempool driver to meson build Pavan Nikhilesh
                   ` (5 preceding siblings ...)
  2018-01-14 13:28 ` [dpdk-dev] [PATCH v2 " Pavan Nikhilesh
@ 2018-01-19 13:12 ` Pavan Nikhilesh
  2018-01-19 13:12   ` [dpdk-dev] [PATCH v3 2/4] drivers/net: add drivers for Cavium NICs " Pavan Nikhilesh
                     ` (3 more replies)
  2018-01-19 18:15 ` [dpdk-dev] [PATCH v4 " Pavan Nikhilesh
  7 siblings, 4 replies; 32+ messages in thread
From: Pavan Nikhilesh @ 2018-01-19 13:12 UTC (permalink / raw)
  To: jerin.jacob, bruce.richardson, harry.van.haaren; +Cc: dev, Pavan Nikhilesh

Add octeontx hardware mempool driver to meson build.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
---
 v3 Changes:
 - added flag to disable array prefetch optimization in thunder-nicvf

 v2:
 - remove unneeded include variable.
 - include SPDX license tags

 drivers/mempool/meson.build          |  2 +-
 drivers/mempool/octeontx/meson.build | 10 ++++++++++
 2 files changed, 11 insertions(+), 1 deletion(-)
 create mode 100644 drivers/mempool/octeontx/meson.build

diff --git a/drivers/mempool/meson.build b/drivers/mempool/meson.build
index a47b1d9b1..599185609 100644
--- a/drivers/mempool/meson.build
+++ b/drivers/mempool/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation

-drivers = ['ring', 'stack']
+drivers = ['ring', 'stack', 'octeontx']
 std_deps = ['mempool']
 config_flag_fmt = 'RTE_LIBRTE_@0@_MEMPOOL'
 driver_name_fmt = 'rte_mempool_@0@'
diff --git a/drivers/mempool/octeontx/meson.build b/drivers/mempool/octeontx/meson.build
new file mode 100644
index 000000000..1e894a56b
--- /dev/null
+++ b/drivers/mempool/octeontx/meson.build
@@ -0,0 +1,10 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2017 Cavium, Inc
+
+sources = files('octeontx_ssovf.c',
+		'octeontx_mbox.c',
+		'octeontx_fpavf.c',
+		'rte_mempool_octeontx.c'
+)
+
+deps += ['mbuf', 'bus_pci']
--
2.14.1

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [dpdk-dev] [PATCH v3 2/4] drivers/net: add drivers for Cavium NICs to meson build
  2018-01-19 13:12 ` [dpdk-dev] [PATCH v3 1/4] drivers/mempool: add octeontx mempool driver " Pavan Nikhilesh
@ 2018-01-19 13:12   ` Pavan Nikhilesh
  2018-01-19 17:16     ` Bruce Richardson
  2018-01-19 13:12   ` [dpdk-dev] [PATCH v3 3/4] event: add octeontx event device " Pavan Nikhilesh
                     ` (2 subsequent siblings)
  3 siblings, 1 reply; 32+ messages in thread
From: Pavan Nikhilesh @ 2018-01-19 13:12 UTC (permalink / raw)
  To: jerin.jacob, bruce.richardson, harry.van.haaren; +Cc: dev, Pavan Nikhilesh

Add Cavium octeontx and thunder nicvf to meson build infrastructure.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
---
 drivers/net/meson.build                             |  3 ++-
 drivers/net/octeontx/base/meson.build               | 21 +++++++++++++++++++++
 drivers/net/octeontx/meson.build                    | 13 +++++++++++++
 drivers/net/thunderx/Makefile                       |  2 +-
 drivers/net/thunderx/base/meson.build               | 14 ++++++++++++++
 drivers/net/thunderx/meson.build                    | 14 ++++++++++++++
 ...cvf_version.map => rte_pmd_thunderx_version.map} |  0
 7 files changed, 65 insertions(+), 2 deletions(-)
 create mode 100644 drivers/net/octeontx/base/meson.build
 create mode 100644 drivers/net/octeontx/meson.build
 create mode 100644 drivers/net/thunderx/base/meson.build
 create mode 100644 drivers/net/thunderx/meson.build
 rename drivers/net/thunderx/{rte_pmd_thunderx_nicvf_version.map => rte_pmd_thunderx_version.map} (100%)

diff --git a/drivers/net/meson.build b/drivers/net/meson.build
index 72e1d3578..b132d3558 100644
--- a/drivers/net/meson.build
+++ b/drivers/net/meson.build
@@ -3,7 +3,8 @@
 
 drivers = ['af_packet', 'bonding',
 	'e1000', 'fm10k', 'i40e', 'ixgbe',
-	'null', 'pcap', 'ring']
+	'null', 'pcap', 'ring',
+	'octeontx', 'thunderx']
 std_deps = ['ethdev', 'kvargs'] # 'ethdev' also pulls in mbuf, net, eal etc
 std_deps += ['bus_pci']         # very many PMDs depend on PCI, so make std
 std_deps += ['bus_vdev']        # same with vdev bus
diff --git a/drivers/net/octeontx/base/meson.build b/drivers/net/octeontx/base/meson.build
new file mode 100644
index 000000000..82697c4bc
--- /dev/null
+++ b/drivers/net/octeontx/base/meson.build
@@ -0,0 +1,21 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2017 Cavium, Inc
+
+sources = [
+	'octeontx_pkovf.c',
+	'octeontx_pkivf.c',
+	'octeontx_bgx.c'
+]
+
+depends = ['ethdev', 'mempool_octeontx']
+static_objs = []
+foreach d: depends
+	static_objs += [get_variable('static_rte_' + d)]
+endforeach
+
+base_lib = static_library('octeontx_base', sources,
+	c_args: cflags,
+	dependencies: static_objs,
+	)
+
+base_objs = base_lib.extract_all_objects()
diff --git a/drivers/net/octeontx/meson.build b/drivers/net/octeontx/meson.build
new file mode 100644
index 000000000..ef789eaa9
--- /dev/null
+++ b/drivers/net/octeontx/meson.build
@@ -0,0 +1,13 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2017 Cavium, Inc
+
+subdir('base')
+objs = [base_objs]
+
+sources = files('octeontx_rxtx.c',
+		'octeontx_ethdev.c'
+		)
+
+deps += ['mempool_octeontx', 'eventdev']
+
+includes += include_directories('base')
diff --git a/drivers/net/thunderx/Makefile b/drivers/net/thunderx/Makefile
index cc008bd3a..e6bf49752 100644
--- a/drivers/net/thunderx/Makefile
+++ b/drivers/net/thunderx/Makefile
@@ -16,7 +16,7 @@ LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
 LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
 LDLIBS += -lrte_bus_pci
 
-EXPORT_MAP := rte_pmd_thunderx_nicvf_version.map
+EXPORT_MAP := rte_pmd_thunderx_version.map
 
 LIBABIVER := 1
 
diff --git a/drivers/net/thunderx/base/meson.build b/drivers/net/thunderx/base/meson.build
new file mode 100644
index 000000000..e79c7206f
--- /dev/null
+++ b/drivers/net/thunderx/base/meson.build
@@ -0,0 +1,14 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2017 Cavium, Inc
+
+sources = [
+	'nicvf_hw.c',
+	'nicvf_mbox.c',
+	'nicvf_bsvf.c'
+]
+
+base_lib = static_library('nicvf_base', sources,
+	c_args: cflags,
+	dependencies: static_rte_ethdev)
+
+base_objs = base_lib.extract_all_objects()
diff --git a/drivers/net/thunderx/meson.build b/drivers/net/thunderx/meson.build
new file mode 100644
index 000000000..7333738de
--- /dev/null
+++ b/drivers/net/thunderx/meson.build
@@ -0,0 +1,14 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2017 Cavium, Inc
+
+subdir('base')
+objs = [base_objs]
+
+sources = files('nicvf_rxtx.c',
+		'nicvf_ethdev.c',
+		'nicvf_svf.c'
+	       )
+
+cflags += '-fno-prefetch-loop-arrays'
+
+includes += include_directories('base')
diff --git a/drivers/net/thunderx/rte_pmd_thunderx_nicvf_version.map b/drivers/net/thunderx/rte_pmd_thunderx_version.map
similarity index 100%
rename from drivers/net/thunderx/rte_pmd_thunderx_nicvf_version.map
rename to drivers/net/thunderx/rte_pmd_thunderx_version.map
-- 
2.14.1

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [dpdk-dev] [PATCH v3 3/4] event: add octeontx event device to meson build
  2018-01-19 13:12 ` [dpdk-dev] [PATCH v3 1/4] drivers/mempool: add octeontx mempool driver " Pavan Nikhilesh
  2018-01-19 13:12   ` [dpdk-dev] [PATCH v3 2/4] drivers/net: add drivers for Cavium NICs " Pavan Nikhilesh
@ 2018-01-19 13:12   ` Pavan Nikhilesh
  2018-01-19 17:19     ` Bruce Richardson
  2018-01-19 13:12   ` [dpdk-dev] [PATCH v3 4/4] app/test-eventdev: add test-eventdev " Pavan Nikhilesh
  2018-01-19 16:48   ` [dpdk-dev] [PATCH v3 1/4] drivers/mempool: add octeontx mempool driver " Bruce Richardson
  3 siblings, 1 reply; 32+ messages in thread
From: Pavan Nikhilesh @ 2018-01-19 13:12 UTC (permalink / raw)
  To: jerin.jacob, bruce.richardson, harry.van.haaren; +Cc: dev, Pavan Nikhilesh

Add Cavium octeontx to meson build and change order of drivers built
from event->mempool->net to mempool->net->event to resolve dependency.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
---
 drivers/event/meson.build                                         | 2 +-
 drivers/event/octeontx/meson.build                                | 8 ++++++++
 ...eontx_ssovf_version.map => rte_pmd_octeontx_event_version.map} | 0
 drivers/meson.build                                               | 7 ++++++-
 4 files changed, 15 insertions(+), 2 deletions(-)
 create mode 100644 drivers/event/octeontx/meson.build
 rename drivers/event/octeontx/{rte_pmd_octeontx_ssovf_version.map => rte_pmd_octeontx_event_version.map} (100%)

diff --git a/drivers/event/meson.build b/drivers/event/meson.build
index 437d80bfd..d7bc48545 100644
--- a/drivers/event/meson.build
+++ b/drivers/event/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-drivers = ['skeleton', 'sw']
+drivers = ['skeleton', 'sw', 'octeontx']
 std_deps = ['eventdev', 'kvargs']
 config_flag_fmt = 'RTE_LIBRTE_@0@_EVENTDEV_PMD'
 driver_name_fmt = 'rte_pmd_@0@_event'
diff --git a/drivers/event/octeontx/meson.build b/drivers/event/octeontx/meson.build
new file mode 100644
index 000000000..d2b2bae56
--- /dev/null
+++ b/drivers/event/octeontx/meson.build
@@ -0,0 +1,8 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2017 Cavium, Inc
+
+sources = files('ssovf_worker.c',
+		'ssovf_evdev.c'
+)
+
+deps += ['mempool_octeontx', 'bus_vdev', 'pmd_octeontx']
diff --git a/drivers/event/octeontx/rte_pmd_octeontx_ssovf_version.map b/drivers/event/octeontx/rte_pmd_octeontx_event_version.map
similarity index 100%
rename from drivers/event/octeontx/rte_pmd_octeontx_ssovf_version.map
rename to drivers/event/octeontx/rte_pmd_octeontx_event_version.map
diff --git a/drivers/meson.build b/drivers/meson.build
index 1d6430bfe..604384f07 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -1,7 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-driver_classes = ['bus', 'crypto', 'event', 'mempool', 'net']
+# Defines the order in which the drivers are buit.
+driver_classes = ['bus',
+	       'mempool', # depends on bus.
+	       'net',     # depends on bus and mempool.
+	       'crypto',  # depenss on bus, mempool (net in future).
+	       'event']   # depends on bus, mempool and net.
 
 foreach class:driver_classes
 	drivers = []
-- 
2.14.1

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [dpdk-dev] [PATCH v3 4/4] app/test-eventdev: add test-eventdev to meson build
  2018-01-19 13:12 ` [dpdk-dev] [PATCH v3 1/4] drivers/mempool: add octeontx mempool driver " Pavan Nikhilesh
  2018-01-19 13:12   ` [dpdk-dev] [PATCH v3 2/4] drivers/net: add drivers for Cavium NICs " Pavan Nikhilesh
  2018-01-19 13:12   ` [dpdk-dev] [PATCH v3 3/4] event: add octeontx event device " Pavan Nikhilesh
@ 2018-01-19 13:12   ` Pavan Nikhilesh
  2018-01-19 17:26     ` Bruce Richardson
  2018-01-19 16:48   ` [dpdk-dev] [PATCH v3 1/4] drivers/mempool: add octeontx mempool driver " Bruce Richardson
  3 siblings, 1 reply; 32+ messages in thread
From: Pavan Nikhilesh @ 2018-01-19 13:12 UTC (permalink / raw)
  To: jerin.jacob, bruce.richardson, harry.van.haaren; +Cc: dev, Pavan Nikhilesh

Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
---
 app/meson.build               |  1 +
 app/test-eventdev/meson.build | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 100644 app/test-eventdev/meson.build

diff --git a/app/meson.build b/app/meson.build
index c5b785928..0088de464 100644
--- a/app/meson.build
+++ b/app/meson.build
@@ -2,3 +2,4 @@
 # Copyright(c) 2017 Intel Corporation
 
 subdir('test-pmd')
+subdir('test-eventdev')
diff --git a/app/test-eventdev/meson.build b/app/test-eventdev/meson.build
new file mode 100644
index 000000000..5beaa0070
--- /dev/null
+++ b/app/test-eventdev/meson.build
@@ -0,0 +1,28 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2017 Cavium, Inc
+
+sources = files('evt_main.c',
+		'evt_options.c',
+		'evt_test.c',
+		'parser.c',
+		'test_order_common.c',
+		'test_order_atq.c',
+		'test_order_queue.c',
+		'test_perf_common.c',
+		'test_perf_atq.c',
+		'test_perf_queue.c')
+
+dep_objs = [get_variable(get_option('default_library') + '_rte_eventdev')]
+
+link_libs = []
+if get_option('default_library') == 'static'
+	link_libs = dpdk_drivers
+endif
+
+executable('dpdk-test-eventdev',
+	sources,
+	c_args: machine_args,
+	link_whole: link_libs,
+	dependencies: dep_objs,
+	install_rpath: join_paths(get_option('prefix'), driver_install_path),
+	install: true)
-- 
2.14.1

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [dpdk-dev] [PATCH v3 1/4] drivers/mempool: add octeontx mempool driver to meson build
  2018-01-19 13:12 ` [dpdk-dev] [PATCH v3 1/4] drivers/mempool: add octeontx mempool driver " Pavan Nikhilesh
                     ` (2 preceding siblings ...)
  2018-01-19 13:12   ` [dpdk-dev] [PATCH v3 4/4] app/test-eventdev: add test-eventdev " Pavan Nikhilesh
@ 2018-01-19 16:48   ` Bruce Richardson
  3 siblings, 0 replies; 32+ messages in thread
From: Bruce Richardson @ 2018-01-19 16:48 UTC (permalink / raw)
  To: Pavan Nikhilesh; +Cc: jerin.jacob, harry.van.haaren, dev

On Fri, Jan 19, 2018 at 06:42:01PM +0530, Pavan Nikhilesh wrote:
> Add octeontx hardware mempool driver to meson build.
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
> ---
Acked-by: Bruce Richardson <bruce.richardson@intel.com>

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [dpdk-dev] [PATCH v3 2/4] drivers/net: add drivers for Cavium NICs to meson build
  2018-01-19 13:12   ` [dpdk-dev] [PATCH v3 2/4] drivers/net: add drivers for Cavium NICs " Pavan Nikhilesh
@ 2018-01-19 17:16     ` Bruce Richardson
  2018-01-19 17:29       ` Pavan Nikhilesh
  0 siblings, 1 reply; 32+ messages in thread
From: Bruce Richardson @ 2018-01-19 17:16 UTC (permalink / raw)
  To: Pavan Nikhilesh; +Cc: jerin.jacob, harry.van.haaren, dev

On Fri, Jan 19, 2018 at 06:42:02PM +0530, Pavan Nikhilesh wrote:
> Add Cavium octeontx and thunder nicvf to meson build infrastructure.
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
> ---
>  drivers/net/meson.build                             |  3 ++-
>  drivers/net/octeontx/base/meson.build               | 21 +++++++++++++++++++++
>  drivers/net/octeontx/meson.build                    | 13 +++++++++++++
>  drivers/net/thunderx/Makefile                       |  2 +-
>  drivers/net/thunderx/base/meson.build               | 14 ++++++++++++++
>  drivers/net/thunderx/meson.build                    | 14 ++++++++++++++
>  ...cvf_version.map => rte_pmd_thunderx_version.map} |  0
>  7 files changed, 65 insertions(+), 2 deletions(-)
>  create mode 100644 drivers/net/octeontx/base/meson.build
>  create mode 100644 drivers/net/octeontx/meson.build
>  create mode 100644 drivers/net/thunderx/base/meson.build
>  create mode 100644 drivers/net/thunderx/meson.build
>  rename drivers/net/thunderx/{rte_pmd_thunderx_nicvf_version.map => rte_pmd_thunderx_version.map} (100%)
> 
<snip>
> diff --git a/drivers/net/thunderx/meson.build b/drivers/net/thunderx/meson.build
> new file mode 100644
> index 000000000..7333738de
> --- /dev/null
> +++ b/drivers/net/thunderx/meson.build
> @@ -0,0 +1,14 @@
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright(c) 2017 Cavium, Inc
> +
> +subdir('base')
> +objs = [base_objs]
> +
> +sources = files('nicvf_rxtx.c',
> +		'nicvf_ethdev.c',
> +		'nicvf_svf.c'
> +	       )
> +
> +cflags += '-fno-prefetch-loop-arrays'
> +

This flag doesn't work with clang (at least with 5.0.0), so needs to
be:

	if cc.has_argument('-fno-prefetch-loop-arrays')
	       cflags += '-fno-prefetch-loop-arrays'
	endif

I'm also getting errors with gcc builds due to maybe-uninitialized
variables, so I also had to add:

	if cc.has_argument('-Wno-maybe-uninitialized')
	       cflags += '-Wno-maybe-uninitialized'
	endif

Regards,
/Bruce

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [dpdk-dev] [PATCH v3 3/4] event: add octeontx event device to meson build
  2018-01-19 13:12   ` [dpdk-dev] [PATCH v3 3/4] event: add octeontx event device " Pavan Nikhilesh
@ 2018-01-19 17:19     ` Bruce Richardson
  0 siblings, 0 replies; 32+ messages in thread
From: Bruce Richardson @ 2018-01-19 17:19 UTC (permalink / raw)
  To: Pavan Nikhilesh; +Cc: jerin.jacob, harry.van.haaren, dev

On Fri, Jan 19, 2018 at 06:42:03PM +0530, Pavan Nikhilesh wrote:
> Add Cavium octeontx to meson build and change order of drivers built
> from event->mempool->net to mempool->net->event to resolve dependency.
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
> ---
Acked-by: Bruce Richardson <bruce.richardson@intel.com>

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [dpdk-dev] [PATCH v3 4/4] app/test-eventdev: add test-eventdev to meson build
  2018-01-19 13:12   ` [dpdk-dev] [PATCH v3 4/4] app/test-eventdev: add test-eventdev " Pavan Nikhilesh
@ 2018-01-19 17:26     ` Bruce Richardson
  0 siblings, 0 replies; 32+ messages in thread
From: Bruce Richardson @ 2018-01-19 17:26 UTC (permalink / raw)
  To: Pavan Nikhilesh; +Cc: jerin.jacob, harry.van.haaren, dev

On Fri, Jan 19, 2018 at 06:42:04PM +0530, Pavan Nikhilesh wrote:
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
> ---
Acked-by: Bruce Richardson <bruce.richardson@intel.com>

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [dpdk-dev] [PATCH v3 2/4] drivers/net: add drivers for Cavium NICs to meson build
  2018-01-19 17:16     ` Bruce Richardson
@ 2018-01-19 17:29       ` Pavan Nikhilesh
  0 siblings, 0 replies; 32+ messages in thread
From: Pavan Nikhilesh @ 2018-01-19 17:29 UTC (permalink / raw)
  To: Bruce Richardson, jerin.jacob, harry.van.haaren; +Cc: dev

On Fri, Jan 19, 2018 at 05:16:30PM +0000, Bruce Richardson wrote:
> On Fri, Jan 19, 2018 at 06:42:02PM +0530, Pavan Nikhilesh wrote:
> > Add Cavium octeontx and thunder nicvf to meson build infrastructure.
> >
> > Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
> > ---
> >  drivers/net/meson.build                             |  3 ++-
> >  drivers/net/octeontx/base/meson.build               | 21 +++++++++++++++++++++
> >  drivers/net/octeontx/meson.build                    | 13 +++++++++++++
> >  drivers/net/thunderx/Makefile                       |  2 +-
> >  drivers/net/thunderx/base/meson.build               | 14 ++++++++++++++
> >  drivers/net/thunderx/meson.build                    | 14 ++++++++++++++
> >  ...cvf_version.map => rte_pmd_thunderx_version.map} |  0
> >  7 files changed, 65 insertions(+), 2 deletions(-)
> >  create mode 100644 drivers/net/octeontx/base/meson.build
> >  create mode 100644 drivers/net/octeontx/meson.build
> >  create mode 100644 drivers/net/thunderx/base/meson.build
> >  create mode 100644 drivers/net/thunderx/meson.build
> >  rename drivers/net/thunderx/{rte_pmd_thunderx_nicvf_version.map => rte_pmd_thunderx_version.map} (100%)
> >
> <snip>
> > diff --git a/drivers/net/thunderx/meson.build b/drivers/net/thunderx/meson.build
> > new file mode 100644
> > index 000000000..7333738de
> > --- /dev/null
> > +++ b/drivers/net/thunderx/meson.build
> > @@ -0,0 +1,14 @@
> > +# SPDX-License-Identifier: BSD-3-Clause
> > +# Copyright(c) 2017 Cavium, Inc
> > +
> > +subdir('base')
> > +objs = [base_objs]
> > +
> > +sources = files('nicvf_rxtx.c',
> > +		'nicvf_ethdev.c',
> > +		'nicvf_svf.c'
> > +	       )
> > +
> > +cflags += '-fno-prefetch-loop-arrays'
> > +
>
> This flag doesn't work with clang (at least with 5.0.0), so needs to
> be:
>
> 	if cc.has_argument('-fno-prefetch-loop-arrays')
> 	       cflags += '-fno-prefetch-loop-arrays'
> 	endif
>
> I'm also getting errors with gcc builds due to maybe-uninitialized
> variables, so I also had to add:
>
> 	if cc.has_argument('-Wno-maybe-uninitialized')
> 	       cflags += '-Wno-maybe-uninitialized'
> 	endif

Will send out v4 adressing these.

>
> Regards,
> /Bruce

Thanks,
Pavan

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [dpdk-dev] [PATCH v4 1/4] drivers/mempool: add octeontx mempool driver to meson build
  2017-12-31  0:02 [dpdk-dev] [PATCH 1/4] drivers/mempool: add octeontx mempool driver to meson build Pavan Nikhilesh
                   ` (6 preceding siblings ...)
  2018-01-19 13:12 ` [dpdk-dev] [PATCH v3 1/4] drivers/mempool: add octeontx mempool driver " Pavan Nikhilesh
@ 2018-01-19 18:15 ` Pavan Nikhilesh
  2018-01-19 18:15   ` [dpdk-dev] [PATCH v4 2/4] drivers/net: add drivers for Cavium NICs " Pavan Nikhilesh
                     ` (3 more replies)
  7 siblings, 4 replies; 32+ messages in thread
From: Pavan Nikhilesh @ 2018-01-19 18:15 UTC (permalink / raw)
  To: jerin.jacob, bruce.richardson, harry.van.haaren; +Cc: dev, Pavan Nikhilesh

Add octeontx hardware mempool driver to meson build.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
  v4 Changes:
  - fix incompatable flag with clang (net/thunderx)
  - add flag to ignore uninitialized warning (net/thunderx)

  v3 Changes:
  - added flag to disable array prefetch optimization in thunder-nicvf

  v2:
  - remove unneeded include variable.
  - include SPDX license tags

 drivers/mempool/meson.build          |  2 +-
 drivers/mempool/octeontx/meson.build | 10 ++++++++++
 2 files changed, 11 insertions(+), 1 deletion(-)
 create mode 100644 drivers/mempool/octeontx/meson.build

diff --git a/drivers/mempool/meson.build b/drivers/mempool/meson.build
index a47b1d9b1..599185609 100644
--- a/drivers/mempool/meson.build
+++ b/drivers/mempool/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation

-drivers = ['ring', 'stack']
+drivers = ['ring', 'stack', 'octeontx']
 std_deps = ['mempool']
 config_flag_fmt = 'RTE_LIBRTE_@0@_MEMPOOL'
 driver_name_fmt = 'rte_mempool_@0@'
diff --git a/drivers/mempool/octeontx/meson.build b/drivers/mempool/octeontx/meson.build
new file mode 100644
index 000000000..1e894a56b
--- /dev/null
+++ b/drivers/mempool/octeontx/meson.build
@@ -0,0 +1,10 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2017 Cavium, Inc
+
+sources = files('octeontx_ssovf.c',
+		'octeontx_mbox.c',
+		'octeontx_fpavf.c',
+		'rte_mempool_octeontx.c'
+)
+
+deps += ['mbuf', 'bus_pci']
--
2.15.1

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [dpdk-dev] [PATCH v4 2/4] drivers/net: add drivers for Cavium NICs to meson build
  2018-01-19 18:15 ` [dpdk-dev] [PATCH v4 " Pavan Nikhilesh
@ 2018-01-19 18:15   ` Pavan Nikhilesh
  2018-01-22 14:35     ` Bruce Richardson
  2018-01-19 18:15   ` [dpdk-dev] [PATCH v4 3/4] event: add octeontx event device " Pavan Nikhilesh
                     ` (2 subsequent siblings)
  3 siblings, 1 reply; 32+ messages in thread
From: Pavan Nikhilesh @ 2018-01-19 18:15 UTC (permalink / raw)
  To: jerin.jacob, bruce.richardson, harry.van.haaren; +Cc: dev, Pavan Nikhilesh

Add Cavium octeontx and thunder nicvf to meson build infrastructure.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
---
 drivers/net/meson.build                             |  3 ++-
 drivers/net/octeontx/base/meson.build               | 21 +++++++++++++++++++++
 drivers/net/octeontx/meson.build                    | 13 +++++++++++++
 drivers/net/thunderx/Makefile                       |  2 +-
 drivers/net/thunderx/base/meson.build               | 15 +++++++++++++++
 drivers/net/thunderx/meson.build                    | 20 ++++++++++++++++++++
 ...cvf_version.map => rte_pmd_thunderx_version.map} |  0
 7 files changed, 72 insertions(+), 2 deletions(-)
 create mode 100644 drivers/net/octeontx/base/meson.build
 create mode 100644 drivers/net/octeontx/meson.build
 create mode 100644 drivers/net/thunderx/base/meson.build
 create mode 100644 drivers/net/thunderx/meson.build
 rename drivers/net/thunderx/{rte_pmd_thunderx_nicvf_version.map => rte_pmd_thunderx_version.map} (100%)

diff --git a/drivers/net/meson.build b/drivers/net/meson.build
index 72e1d3578..b132d3558 100644
--- a/drivers/net/meson.build
+++ b/drivers/net/meson.build
@@ -3,7 +3,8 @@
 
 drivers = ['af_packet', 'bonding',
 	'e1000', 'fm10k', 'i40e', 'ixgbe',
-	'null', 'pcap', 'ring']
+	'null', 'pcap', 'ring',
+	'octeontx', 'thunderx']
 std_deps = ['ethdev', 'kvargs'] # 'ethdev' also pulls in mbuf, net, eal etc
 std_deps += ['bus_pci']         # very many PMDs depend on PCI, so make std
 std_deps += ['bus_vdev']        # same with vdev bus
diff --git a/drivers/net/octeontx/base/meson.build b/drivers/net/octeontx/base/meson.build
new file mode 100644
index 000000000..09f657abb
--- /dev/null
+++ b/drivers/net/octeontx/base/meson.build
@@ -0,0 +1,21 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2017 Cavium, Inc
+
+sources = [
+	'octeontx_pkovf.c',
+	'octeontx_pkivf.c',
+	'octeontx_bgx.c'
+]
+
+depends = ['ethdev', 'mempool_octeontx']
+static_objs = []
+foreach d: depends
+	static_objs += [get_variable('static_rte_' + d)]
+endforeach
+
+base_lib = static_library('octeontx_base', sources,
+	c_args: cflags,
+	dependencies: static_objs,
+)
+
+base_objs = base_lib.extract_all_objects()
diff --git a/drivers/net/octeontx/meson.build b/drivers/net/octeontx/meson.build
new file mode 100644
index 000000000..ef789eaa9
--- /dev/null
+++ b/drivers/net/octeontx/meson.build
@@ -0,0 +1,13 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2017 Cavium, Inc
+
+subdir('base')
+objs = [base_objs]
+
+sources = files('octeontx_rxtx.c',
+		'octeontx_ethdev.c'
+		)
+
+deps += ['mempool_octeontx', 'eventdev']
+
+includes += include_directories('base')
diff --git a/drivers/net/thunderx/Makefile b/drivers/net/thunderx/Makefile
index cc008bd3a..e6bf49752 100644
--- a/drivers/net/thunderx/Makefile
+++ b/drivers/net/thunderx/Makefile
@@ -16,7 +16,7 @@ LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
 LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
 LDLIBS += -lrte_bus_pci
 
-EXPORT_MAP := rte_pmd_thunderx_nicvf_version.map
+EXPORT_MAP := rte_pmd_thunderx_version.map
 
 LIBABIVER := 1
 
diff --git a/drivers/net/thunderx/base/meson.build b/drivers/net/thunderx/base/meson.build
new file mode 100644
index 000000000..c9d5a8f4e
--- /dev/null
+++ b/drivers/net/thunderx/base/meson.build
@@ -0,0 +1,15 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2017 Cavium, Inc
+
+sources = [
+	'nicvf_hw.c',
+	'nicvf_mbox.c',
+	'nicvf_bsvf.c'
+]
+
+base_lib = static_library('nicvf_base', sources,
+	c_args: cflags,
+	dependencies: static_rte_ethdev
+)
+
+base_objs = base_lib.extract_all_objects()
diff --git a/drivers/net/thunderx/meson.build b/drivers/net/thunderx/meson.build
new file mode 100644
index 000000000..69819a97f
--- /dev/null
+++ b/drivers/net/thunderx/meson.build
@@ -0,0 +1,20 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2017 Cavium, Inc
+
+subdir('base')
+objs = [base_objs]
+
+sources = files('nicvf_rxtx.c',
+		'nicvf_ethdev.c',
+		'nicvf_svf.c'
+)
+
+if cc.has_argument('-fno-prefetch-loop-arrays')
+	cflags += '-fno-prefetch-loop-arrays'
+endif
+
+if cc.has_argument('-Wno-maybe-uninitialized')
+	cflags += '-Wno-maybe-uninitialized'
+endif
+
+includes += include_directories('base')
diff --git a/drivers/net/thunderx/rte_pmd_thunderx_nicvf_version.map b/drivers/net/thunderx/rte_pmd_thunderx_version.map
similarity index 100%
rename from drivers/net/thunderx/rte_pmd_thunderx_nicvf_version.map
rename to drivers/net/thunderx/rte_pmd_thunderx_version.map
-- 
2.15.1

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [dpdk-dev] [PATCH v4 3/4] event: add octeontx event device to meson build
  2018-01-19 18:15 ` [dpdk-dev] [PATCH v4 " Pavan Nikhilesh
  2018-01-19 18:15   ` [dpdk-dev] [PATCH v4 2/4] drivers/net: add drivers for Cavium NICs " Pavan Nikhilesh
@ 2018-01-19 18:15   ` Pavan Nikhilesh
  2018-01-19 18:15   ` [dpdk-dev] [PATCH v4 4/4] app/test-eventdev: add test-eventdev " Pavan Nikhilesh
  2018-01-22 14:37   ` [dpdk-dev] [PATCH v4 1/4] drivers/mempool: add octeontx mempool driver " Bruce Richardson
  3 siblings, 0 replies; 32+ messages in thread
From: Pavan Nikhilesh @ 2018-01-19 18:15 UTC (permalink / raw)
  To: jerin.jacob, bruce.richardson, harry.van.haaren; +Cc: dev, Pavan Nikhilesh

Add Cavium octeontx to meson build and change order of drivers built
from event->mempool->net to mempool->net->event to resolve dependency.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/event/meson.build                                         | 2 +-
 drivers/event/octeontx/meson.build                                | 8 ++++++++
 ...eontx_ssovf_version.map => rte_pmd_octeontx_event_version.map} | 0
 drivers/meson.build                                               | 7 ++++++-
 4 files changed, 15 insertions(+), 2 deletions(-)
 create mode 100644 drivers/event/octeontx/meson.build
 rename drivers/event/octeontx/{rte_pmd_octeontx_ssovf_version.map => rte_pmd_octeontx_event_version.map} (100%)

diff --git a/drivers/event/meson.build b/drivers/event/meson.build
index 437d80bfd..d7bc48545 100644
--- a/drivers/event/meson.build
+++ b/drivers/event/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-drivers = ['skeleton', 'sw']
+drivers = ['skeleton', 'sw', 'octeontx']
 std_deps = ['eventdev', 'kvargs']
 config_flag_fmt = 'RTE_LIBRTE_@0@_EVENTDEV_PMD'
 driver_name_fmt = 'rte_pmd_@0@_event'
diff --git a/drivers/event/octeontx/meson.build b/drivers/event/octeontx/meson.build
new file mode 100644
index 000000000..d2b2bae56
--- /dev/null
+++ b/drivers/event/octeontx/meson.build
@@ -0,0 +1,8 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2017 Cavium, Inc
+
+sources = files('ssovf_worker.c',
+		'ssovf_evdev.c'
+)
+
+deps += ['mempool_octeontx', 'bus_vdev', 'pmd_octeontx']
diff --git a/drivers/event/octeontx/rte_pmd_octeontx_ssovf_version.map b/drivers/event/octeontx/rte_pmd_octeontx_event_version.map
similarity index 100%
rename from drivers/event/octeontx/rte_pmd_octeontx_ssovf_version.map
rename to drivers/event/octeontx/rte_pmd_octeontx_event_version.map
diff --git a/drivers/meson.build b/drivers/meson.build
index 1d6430bfe..604384f07 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -1,7 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-driver_classes = ['bus', 'crypto', 'event', 'mempool', 'net']
+# Defines the order in which the drivers are buit.
+driver_classes = ['bus',
+	       'mempool', # depends on bus.
+	       'net',     # depends on bus and mempool.
+	       'crypto',  # depenss on bus, mempool (net in future).
+	       'event']   # depends on bus, mempool and net.
 
 foreach class:driver_classes
 	drivers = []
-- 
2.15.1

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [dpdk-dev] [PATCH v4 4/4] app/test-eventdev: add test-eventdev to meson build
  2018-01-19 18:15 ` [dpdk-dev] [PATCH v4 " Pavan Nikhilesh
  2018-01-19 18:15   ` [dpdk-dev] [PATCH v4 2/4] drivers/net: add drivers for Cavium NICs " Pavan Nikhilesh
  2018-01-19 18:15   ` [dpdk-dev] [PATCH v4 3/4] event: add octeontx event device " Pavan Nikhilesh
@ 2018-01-19 18:15   ` Pavan Nikhilesh
  2018-01-22 14:37   ` [dpdk-dev] [PATCH v4 1/4] drivers/mempool: add octeontx mempool driver " Bruce Richardson
  3 siblings, 0 replies; 32+ messages in thread
From: Pavan Nikhilesh @ 2018-01-19 18:15 UTC (permalink / raw)
  To: jerin.jacob, bruce.richardson, harry.van.haaren; +Cc: dev, Pavan Nikhilesh

Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 app/meson.build               |  1 +
 app/test-eventdev/meson.build | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 100644 app/test-eventdev/meson.build

diff --git a/app/meson.build b/app/meson.build
index c5b785928..0088de464 100644
--- a/app/meson.build
+++ b/app/meson.build
@@ -2,3 +2,4 @@
 # Copyright(c) 2017 Intel Corporation
 
 subdir('test-pmd')
+subdir('test-eventdev')
diff --git a/app/test-eventdev/meson.build b/app/test-eventdev/meson.build
new file mode 100644
index 000000000..5beaa0070
--- /dev/null
+++ b/app/test-eventdev/meson.build
@@ -0,0 +1,28 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2017 Cavium, Inc
+
+sources = files('evt_main.c',
+		'evt_options.c',
+		'evt_test.c',
+		'parser.c',
+		'test_order_common.c',
+		'test_order_atq.c',
+		'test_order_queue.c',
+		'test_perf_common.c',
+		'test_perf_atq.c',
+		'test_perf_queue.c')
+
+dep_objs = [get_variable(get_option('default_library') + '_rte_eventdev')]
+
+link_libs = []
+if get_option('default_library') == 'static'
+	link_libs = dpdk_drivers
+endif
+
+executable('dpdk-test-eventdev',
+	sources,
+	c_args: machine_args,
+	link_whole: link_libs,
+	dependencies: dep_objs,
+	install_rpath: join_paths(get_option('prefix'), driver_install_path),
+	install: true)
-- 
2.15.1

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [dpdk-dev] [PATCH v4 2/4] drivers/net: add drivers for Cavium NICs to meson build
  2018-01-19 18:15   ` [dpdk-dev] [PATCH v4 2/4] drivers/net: add drivers for Cavium NICs " Pavan Nikhilesh
@ 2018-01-22 14:35     ` Bruce Richardson
  0 siblings, 0 replies; 32+ messages in thread
From: Bruce Richardson @ 2018-01-22 14:35 UTC (permalink / raw)
  To: Pavan Nikhilesh; +Cc: jerin.jacob, harry.van.haaren, dev

On Fri, Jan 19, 2018 at 11:45:19PM +0530, Pavan Nikhilesh wrote:
> Add Cavium octeontx and thunder nicvf to meson build infrastructure.
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>

NOTE: the NIC drivers should be kept in alphebetical order, but I'll fix
that on apply of this set.

/Bruce

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [dpdk-dev] [PATCH v4 1/4] drivers/mempool: add octeontx mempool driver to meson build
  2018-01-19 18:15 ` [dpdk-dev] [PATCH v4 " Pavan Nikhilesh
                     ` (2 preceding siblings ...)
  2018-01-19 18:15   ` [dpdk-dev] [PATCH v4 4/4] app/test-eventdev: add test-eventdev " Pavan Nikhilesh
@ 2018-01-22 14:37   ` Bruce Richardson
  3 siblings, 0 replies; 32+ messages in thread
From: Bruce Richardson @ 2018-01-22 14:37 UTC (permalink / raw)
  To: Pavan Nikhilesh; +Cc: jerin.jacob, harry.van.haaren, dev

On Fri, Jan 19, 2018 at 11:45:18PM +0530, Pavan Nikhilesh wrote:
> Add octeontx hardware mempool driver to meson build.
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
Set applied to dpdk-next-build 

[with minor fixups for compilation due to rebasing and not having ARM
patches applied first.]

Thanks,
/Bruce

^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2018-01-22 14:37 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-12-31  0:02 [dpdk-dev] [PATCH 1/4] drivers/mempool: add octeontx mempool driver to meson build Pavan Nikhilesh
2017-12-31  0:02 ` [dpdk-dev] [PATCH 2/4] drivers/net: add drivers for Cavium NICs " Pavan Nikhilesh
2018-01-09 17:29   ` Bruce Richardson
2018-01-11 12:42     ` Pavan Nikhilesh
2017-12-31  0:02 ` [dpdk-dev] [PATCH 3/4] event/octeontx: add octeontx event device " Pavan Nikhilesh
2018-01-09 17:34   ` Bruce Richardson
2018-01-11 13:15     ` Pavan Nikhilesh
2017-12-31  0:02 ` [dpdk-dev] [PATCH 4/4] app/test-eventdev: add test-eventdev " Pavan Nikhilesh
2018-01-09 17:35 ` [dpdk-dev] [PATCH 1/4] drivers/mempool: add octeontx mempool driver " Bruce Richardson
2018-01-11 13:38   ` Pavan Nikhilesh
2018-01-11 13:44   ` Pavan Nikhilesh
2018-01-09 17:41 ` Bruce Richardson
2018-01-11 14:13   ` Pavan Nikhilesh
2018-01-14 13:28 ` [dpdk-dev] [PATCH v2 " Pavan Nikhilesh
2018-01-14 13:28   ` [dpdk-dev] [PATCH v2 2/4] drivers/net: add drivers for Cavium NICs " Pavan Nikhilesh
2018-01-14 13:28   ` [dpdk-dev] [PATCH v2 3/4] event/octeontx: add octeontx event device " Pavan Nikhilesh
2018-01-14 13:28   ` [dpdk-dev] [PATCH v2 4/4] app/test-eventdev: add test-eventdev " Pavan Nikhilesh
2018-01-19 13:12 ` [dpdk-dev] [PATCH v3 1/4] drivers/mempool: add octeontx mempool driver " Pavan Nikhilesh
2018-01-19 13:12   ` [dpdk-dev] [PATCH v3 2/4] drivers/net: add drivers for Cavium NICs " Pavan Nikhilesh
2018-01-19 17:16     ` Bruce Richardson
2018-01-19 17:29       ` Pavan Nikhilesh
2018-01-19 13:12   ` [dpdk-dev] [PATCH v3 3/4] event: add octeontx event device " Pavan Nikhilesh
2018-01-19 17:19     ` Bruce Richardson
2018-01-19 13:12   ` [dpdk-dev] [PATCH v3 4/4] app/test-eventdev: add test-eventdev " Pavan Nikhilesh
2018-01-19 17:26     ` Bruce Richardson
2018-01-19 16:48   ` [dpdk-dev] [PATCH v3 1/4] drivers/mempool: add octeontx mempool driver " Bruce Richardson
2018-01-19 18:15 ` [dpdk-dev] [PATCH v4 " Pavan Nikhilesh
2018-01-19 18:15   ` [dpdk-dev] [PATCH v4 2/4] drivers/net: add drivers for Cavium NICs " Pavan Nikhilesh
2018-01-22 14:35     ` Bruce Richardson
2018-01-19 18:15   ` [dpdk-dev] [PATCH v4 3/4] event: add octeontx event device " Pavan Nikhilesh
2018-01-19 18:15   ` [dpdk-dev] [PATCH v4 4/4] app/test-eventdev: add test-eventdev " Pavan Nikhilesh
2018-01-22 14:37   ` [dpdk-dev] [PATCH v4 1/4] drivers/mempool: add octeontx mempool driver " Bruce Richardson

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).