build: add meson support for dpaaX platforms
authorHemant Agrawal <hemant.agrawal@nxp.com>
Wed, 14 Mar 2018 07:56:05 +0000 (13:26 +0530)
committerBruce Richardson <bruce.richardson@intel.com>
Thu, 15 Mar 2018 16:50:02 +0000 (17:50 +0100)
Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
18 files changed:
app/test-pmd/meson.build
config/arm/meson.build
config/rte_config.h
drivers/bus/dpaa/meson.build [new file with mode: 0644]
drivers/bus/fslmc/meson.build [new file with mode: 0644]
drivers/bus/meson.build
drivers/crypto/dpaa2_sec/meson.build [new file with mode: 0644]
drivers/crypto/dpaa_sec/meson.build [new file with mode: 0644]
drivers/crypto/meson.build
drivers/event/dpaa/meson.build [new file with mode: 0644]
drivers/event/dpaa2/meson.build [new file with mode: 0644]
drivers/event/meson.build
drivers/mempool/dpaa/meson.build [new file with mode: 0644]
drivers/mempool/dpaa2/meson.build [new file with mode: 0644]
drivers/mempool/meson.build
drivers/net/dpaa/meson.build [new file with mode: 0644]
drivers/net/dpaa2/meson.build [new file with mode: 0644]
drivers/net/meson.build

index b5bb2e7..b475376 100644 (file)
@@ -35,3 +35,6 @@ if dpdk_conf.has('RTE_LIBRTE_SOFTNIC_PMD')
        sources += files('tm.c')
        deps += 'pmd_softnic'
 endif
+if dpdk_conf.has('RTE_LIBRTE_DPAA_PMD')
+       deps += ['bus_dpaa', 'mempool_dpaa', 'pmd_dpaa']
+endif
index 4e788a4..c1ab6ed 100644 (file)
@@ -54,6 +54,17 @@ flags_cavium = [
        ['RTE_MAX_LCORE', 96],
        ['RTE_MAX_VFIO_GROUPS', 128],
        ['RTE_RING_USE_C11_MEM_MODEL', false]]
+flags_dpaa = [
+       ['RTE_MACHINE', '"dpaa"'],
+       ['RTE_CACHE_LINE_SIZE', 64],
+       ['RTE_MAX_NUMA_NODES', 1],
+       ['RTE_MAX_LCORE', 16]]
+flags_dpaa2 = [
+       ['RTE_MACHINE', '"dpaa2"'],
+       ['RTE_CACHE_LINE_SIZE', 64],
+       ['RTE_MAX_NUMA_NODES', 1],
+       ['RTE_MAX_LCORE', 16],
+       ['RTE_LIBRTE_DPAA2_USE_PHYS_IOVA', 'n']]
 
 ## Arm implementer ID (ARM DDI 0487C.a, Section G7.2.106, Page G7-5321)
 impl_generic = ['Generic armv8', flags_generic, machine_args_generic]
@@ -69,6 +80,8 @@ impl_0x51 = ['Qualcomm', flags_generic, machine_args_generic]
 impl_0x53 = ['Samsung', flags_generic, machine_args_generic]
 impl_0x56 = ['Marvell', flags_generic, machine_args_generic]
 impl_0x69 = ['Intel', flags_generic, machine_args_generic]
+impl_dpaa = ['NXP DPAA', flags_dpaa, machine_args_generic]
+impl_dpaa2 = ['NXP DPAA2', flags_dpaa2, machine_args_generic]
 
 
 if cc.get_define('__clang__') != ''
index 699878a..72c0aa2 100644 (file)
 
 /*
  * Number of sessions to create in the session memory pool
- * on a single QuickAssist device.
+ * on a single instance of crypto HW device.
  */
+/* QuickAssist device */
 #define RTE_QAT_PMD_MAX_NB_SESSIONS 2048
 
+/* DPAA2_SEC */
+#define RTE_DPAA2_SEC_PMD_MAX_NB_SESSIONS 2048
+
+/* DPAA_SEC */
+#define RTE_DPAA_SEC_PMD_MAX_NB_SESSIONS 2048
+
+/* DPAA SEC max cryptodev devices*/
+#define RTE_LIBRTE_DPAA_MAX_CRYPTODEV  4
+
 /* fm10k defines */
 #define RTE_LIBRTE_FM10K_RX_OLFLAGS_ENABLE 1
 
diff --git a/drivers/bus/dpaa/meson.build b/drivers/bus/dpaa/meson.build
new file mode 100644 (file)
index 0000000..f5c6d7b
--- /dev/null
@@ -0,0 +1,29 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright 2018 NXP
+
+if host_machine.system() != 'linux'
+        build = false
+endif
+
+deps += ['ethdev', 'eventdev']
+sources = files('base/fman/fman.c',
+               'base/fman/fman_hw.c',
+               'base/fman/netcfg_layer.c',
+               'base/fman/of.c',
+               'base/qbman/bman.c',
+               'base/qbman/bman_driver.c',
+               'base/qbman/dpaa_alloc.c',
+               'base/qbman/dpaa_sys.c',
+               'base/qbman/process.c',
+               'base/qbman/qman.c',
+               'base/qbman/qman_driver.c',
+               'dpaa_bus.c')
+
+allow_experimental_apis = true
+
+if cc.has_argument('-Wno-cast-qual')
+       cflags += '-Wno-cast-qual'
+endif
+
+includes += include_directories('include', 'base/qbman')
+cflags += ['-D_GNU_SOURCE']
diff --git a/drivers/bus/fslmc/meson.build b/drivers/bus/fslmc/meson.build
new file mode 100644 (file)
index 0000000..e94340e
--- /dev/null
@@ -0,0 +1,27 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright 2018 NXP
+
+if host_machine.system() != 'linux'
+        build = false
+endif
+
+deps += ['ethdev', 'eventdev', 'kvargs']
+sources = files('fslmc_bus.c',
+               'fslmc_vfio.c',
+               'mc/dpbp.c',
+               'mc/dpci.c',
+               'mc/dpcon.c',
+               'mc/dpio.c',
+               'mc/dpmng.c',
+               'mc/mc_sys.c',
+               'portal/dpaa2_hw_dpbp.c',
+               'portal/dpaa2_hw_dpci.c',
+               'portal/dpaa2_hw_dpio.c',
+               'qbman/qbman_portal.c',
+               'qbman/qbman_debug.c')
+
+allow_experimental_apis = true
+
+includes += include_directories('../../../lib/librte_eal/linuxapp/eal')
+includes += include_directories('mc', 'qbman/include', 'portal')
+cflags += ['-D_GNU_SOURCE']
index c6af500..58dfbe2 100644 (file)
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-drivers = ['pci', 'vdev']
+drivers = ['dpaa', 'fslmc', 'pci', 'vdev']
 std_deps = ['eal']
 config_flag_fmt = 'RTE_LIBRTE_@0@_BUS'
 driver_name_fmt = 'rte_bus_@0@'
diff --git a/drivers/crypto/dpaa2_sec/meson.build b/drivers/crypto/dpaa2_sec/meson.build
new file mode 100644 (file)
index 0000000..0fb4d96
--- /dev/null
@@ -0,0 +1,14 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright 2018 NXP
+
+if host_machine.system() != 'linux'
+        build = false
+endif
+
+deps += ['bus_fslmc', 'security', 'mempool_dpaa2']
+sources = files('dpaa2_sec_dpseci.c',
+               'mc/dpseci.c')
+
+allow_experimental_apis = true
+
+includes += include_directories('mc', 'hw')
diff --git a/drivers/crypto/dpaa_sec/meson.build b/drivers/crypto/dpaa_sec/meson.build
new file mode 100644 (file)
index 0000000..8a57098
--- /dev/null
@@ -0,0 +1,13 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright 2018 NXP
+
+if host_machine.system() != 'linux'
+        build = false
+endif
+
+deps += ['bus_dpaa', 'security']
+sources = files('dpaa_sec.c')
+
+allow_experimental_apis = true
+
+includes += include_directories('../dpaa2_sec/')
index 17041ad..736c9f5 100644 (file)
@@ -1,7 +1,9 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-drivers = ['qat', 'null', 'openssl']
+drivers = ['dpaa_sec', 'dpaa2_sec',
+       'openssl', 'null', 'qat']
+
 std_deps = ['cryptodev'] # cryptodev pulls in all other needed deps
 config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'
 driver_name_fmt = 'rte_pmd_@0@'
diff --git a/drivers/event/dpaa/meson.build b/drivers/event/dpaa/meson.build
new file mode 100644 (file)
index 0000000..9bbd6c2
--- /dev/null
@@ -0,0 +1,10 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright 2018 NXP
+
+if host_machine.system() != 'linux'
+       build = false
+endif
+deps += ['mempool_dpaa', 'bus_dpaa', 'pmd_dpaa']
+sources = files('dpaa_eventdev.c')
+
+allow_experimental_apis = true
diff --git a/drivers/event/dpaa2/meson.build b/drivers/event/dpaa2/meson.build
new file mode 100644 (file)
index 0000000..835460c
--- /dev/null
@@ -0,0 +1,11 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright 2018 NXP
+
+if host_machine.system() != 'linux'
+       build = false
+endif
+deps += ['mempool_dpaa2', 'bus_fslmc', 'bus_vdev', 'pmd_dpaa2']
+sources = files('dpaa2_hw_dpcon.c',
+               'dpaa2_eventdev.c')
+
+allow_experimental_apis = true
index d7bc485..e951199 100644 (file)
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-drivers = ['skeleton', 'sw', 'octeontx']
+drivers = ['dpaa', 'dpaa2', 'octeontx', 'skeleton', 'sw']
 std_deps = ['eventdev', 'kvargs']
 config_flag_fmt = 'RTE_LIBRTE_@0@_EVENTDEV_PMD'
 driver_name_fmt = 'rte_pmd_@0@_event'
diff --git a/drivers/mempool/dpaa/meson.build b/drivers/mempool/dpaa/meson.build
new file mode 100644 (file)
index 0000000..08423c2
--- /dev/null
@@ -0,0 +1,9 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright 2018 NXP
+
+if host_machine.system() != 'linux'
+        build = false
+endif
+
+deps += ['bus_dpaa']
+sources = files('dpaa_mempool.c')
diff --git a/drivers/mempool/dpaa2/meson.build b/drivers/mempool/dpaa2/meson.build
new file mode 100644 (file)
index 0000000..dee3a88
--- /dev/null
@@ -0,0 +1,9 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright 2018 NXP
+
+if host_machine.system() != 'linux'
+        build = false
+endif
+
+deps += ['mbuf', 'bus_fslmc']
+sources = files('dpaa2_hw_mempool.c')
index 5991856..693a861 100644 (file)
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-drivers = ['ring', 'stack', 'octeontx']
+drivers = ['dpaa', 'dpaa2', 'octeontx', 'ring', 'stack']
 std_deps = ['mempool']
 config_flag_fmt = 'RTE_LIBRTE_@0@_MEMPOOL'
 driver_name_fmt = 'rte_mempool_@0@'
diff --git a/drivers/net/dpaa/meson.build b/drivers/net/dpaa/meson.build
new file mode 100644 (file)
index 0000000..a4c40a6
--- /dev/null
@@ -0,0 +1,14 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright 2018 NXP
+
+if host_machine.system() != 'linux'
+       build = false
+endif
+deps += ['bus_dpaa', 'mempool_dpaa']
+
+sources = files('dpaa_ethdev.c',
+               'dpaa_rxtx.c')
+
+allow_experimental_apis = true
+
+install_headers('rte_pmd_dpaa.h')
diff --git a/drivers/net/dpaa2/meson.build b/drivers/net/dpaa2/meson.build
new file mode 100644 (file)
index 0000000..ad1724d
--- /dev/null
@@ -0,0 +1,15 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright 2018 NXP
+
+if host_machine.system() != 'linux'
+        build = false
+endif
+
+deps += ['bus_fslmc', 'mempool_dpaa2']
+sources = files('base/dpaa2_hw_dpni.c',
+               'dpaa2_ethdev.c',
+               'dpaa2_rxtx.c',
+               'mc/dpkg.c',
+               'mc/dpni.c')
+
+includes += include_directories('base', 'mc')
index 10a3617..457904b 100644 (file)
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-drivers = ['af_packet', 'bonding',
+drivers = ['af_packet', 'bonding', 'dpaa', 'dpaa2',
        'e1000', 'fm10k', 'i40e', 'ixgbe',
        'null', 'octeontx', 'pcap', 'ring',
        'sfc', 'thunderx', 'virtio']