[dpdk-dev] [PATCH v2 1/2] drivers: disable OCTEON TX2 in 32-bit build
Thomas Monjalon
thomas at monjalon.net
Mon Nov 9 22:29:36 CET 2020
The drivers for OCTEON TX2 are not supported in 32-bit mode.
Suggested-by: Jerin Jacob <jerinj at marvell.com>
Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
---
drivers/common/octeontx2/meson.build | 18 ++++++------------
drivers/crypto/octeontx2/meson.build | 17 +++--------------
drivers/event/octeontx2/meson.build | 18 ++++++------------
drivers/mempool/octeontx2/meson.build | 18 ++++++------------
drivers/net/octeontx2/meson.build | 11 ++++++-----
drivers/regex/octeontx2/meson.build | 22 +++-------------------
6 files changed, 30 insertions(+), 74 deletions(-)
diff --git a/drivers/common/octeontx2/meson.build b/drivers/common/octeontx2/meson.build
index f2c04342e9..84fb11524d 100644
--- a/drivers/common/octeontx2/meson.build
+++ b/drivers/common/octeontx2/meson.build
@@ -2,6 +2,12 @@
# Copyright(C) 2019 Marvell International Ltd.
#
+if not dpdk_conf.get('RTE_ARCH_64')
+ build = false
+ reason = 'only supported on 64-bit'
+ subdir_done()
+endif
+
sources= files('otx2_dev.c',
'otx2_irq.c',
'otx2_mbox.c',
@@ -9,18 +15,6 @@ sources= files('otx2_dev.c',
'otx2_sec_idev.c',
)
-extra_flags = []
-# This integrated controller runs only on a arm64 machine, remove 32bit warnings
-if not dpdk_conf.get('RTE_ARCH_64')
- extra_flags += ['-Wno-int-to-pointer-cast', '-Wno-pointer-to-int-cast']
-endif
-
-foreach flag: extra_flags
- if cc.has_argument(flag)
- cflags += flag
- endif
-endforeach
-
deps = ['eal', 'pci', 'ethdev', 'kvargs']
includes += include_directories('../../common/octeontx2',
'../../mempool/octeontx2', '../../bus/pci')
diff --git a/drivers/crypto/octeontx2/meson.build b/drivers/crypto/octeontx2/meson.build
index 4e4522cace..0aad4e9a16 100644
--- a/drivers/crypto/octeontx2/meson.build
+++ b/drivers/crypto/octeontx2/meson.build
@@ -1,9 +1,10 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright (C) 2019 Marvell International Ltd.
-if not is_linux
+if not is_linux or not dpdk_conf.get('RTE_ARCH_64')
build = false
- reason = 'only supported on Linux'
+ reason = 'only supported on 64-bit Linux'
+ subdir_done()
endif
deps += ['bus_pci']
@@ -21,18 +22,6 @@ sources = files('otx2_cryptodev.c',
'otx2_cryptodev_ops.c',
'otx2_cryptodev_sec.c')
-extra_flags = []
-# This integrated controller runs only on a arm64 machine, remove 32bit warnings
-if not dpdk_conf.get('RTE_ARCH_64')
- extra_flags += ['-Wno-int-to-pointer-cast', '-Wno-pointer-to-int-cast']
-endif
-
-foreach flag: extra_flags
- if cc.has_argument(flag)
- cflags += flag
- endif
-endforeach
-
includes += include_directories('../../common/cpt')
includes += include_directories('../../common/octeontx2')
includes += include_directories('../../crypto/octeontx2')
diff --git a/drivers/event/octeontx2/meson.build b/drivers/event/octeontx2/meson.build
index 724da2e6b7..22e7e4cb63 100644
--- a/drivers/event/octeontx2/meson.build
+++ b/drivers/event/octeontx2/meson.build
@@ -2,6 +2,12 @@
# Copyright(C) 2019 Marvell International Ltd.
#
+if not dpdk_conf.get('RTE_ARCH_64')
+ build = false
+ reason = 'only supported on 64-bit'
+ subdir_done()
+endif
+
sources = files('otx2_worker.c',
'otx2_worker_dual.c',
'otx2_evdev.c',
@@ -13,18 +19,6 @@ sources = files('otx2_worker.c',
'otx2_tim_worker.c'
)
-extra_flags = []
-# This integrated controller runs only on a arm64 machine, remove 32bit warnings
-if not dpdk_conf.get('RTE_ARCH_64')
- extra_flags += ['-Wno-int-to-pointer-cast', '-Wno-pointer-to-int-cast']
-endif
-
-foreach flag: extra_flags
- if cc.has_argument(flag)
- cflags += flag
- endif
-endforeach
-
deps += ['bus_pci', 'common_octeontx2', 'crypto_octeontx2', 'mempool_octeontx2', 'net_octeontx2']
includes += include_directories('../../crypto/octeontx2')
diff --git a/drivers/mempool/octeontx2/meson.build b/drivers/mempool/octeontx2/meson.build
index 0226f76d4b..0586321abe 100644
--- a/drivers/mempool/octeontx2/meson.build
+++ b/drivers/mempool/octeontx2/meson.build
@@ -5,6 +5,12 @@
if is_windows
build = false
reason = 'not supported on Windows'
+ subdir_done()
+endif
+if not dpdk_conf.get('RTE_ARCH_64')
+ build = false
+ reason = 'only supported on 64-bit'
+ subdir_done()
endif
sources = files('otx2_mempool_ops.c',
@@ -13,16 +19,4 @@ sources = files('otx2_mempool_ops.c',
'otx2_mempool_debug.c'
)
-extra_flags = []
-# This integrated controller runs only on a arm64 machine, remove 32bit warnings
-if not dpdk_conf.get('RTE_ARCH_64')
- extra_flags += ['-Wno-int-to-pointer-cast', '-Wno-pointer-to-int-cast']
-endif
-
-foreach flag: extra_flags
- if cc.has_argument(flag)
- cflags += flag
- endif
-endforeach
-
deps += ['eal', 'mbuf', 'kvargs', 'bus_pci', 'common_octeontx2', 'mempool']
diff --git a/drivers/net/octeontx2/meson.build b/drivers/net/octeontx2/meson.build
index 599ade6727..638c04a2fe 100644
--- a/drivers/net/octeontx2/meson.build
+++ b/drivers/net/octeontx2/meson.build
@@ -2,6 +2,12 @@
# Copyright(C) 2019 Marvell International Ltd.
#
+if not dpdk_conf.get('RTE_ARCH_64')
+ build = false
+ reason = 'only supported on 64-bit'
+ subdir_done()
+endif
+
sources = files('otx2_rx.c',
'otx2_tx.c',
'otx2_tm.c',
@@ -29,11 +35,6 @@ deps += ['bus_pci', 'cryptodev', 'eventdev', 'security']
deps += ['common_octeontx2', 'mempool_octeontx2']
extra_flags = ['-flax-vector-conversions']
-# This integrated controller runs only on a arm64 machine, remove 32bit warnings
-if not dpdk_conf.get('RTE_ARCH_64')
- extra_flags += ['-Wno-int-to-pointer-cast', '-Wno-pointer-to-int-cast']
-endif
-
foreach flag: extra_flags
if cc.has_argument(flag)
cflags += flag
diff --git a/drivers/regex/octeontx2/meson.build b/drivers/regex/octeontx2/meson.build
index aada0b5601..34e51728c2 100644
--- a/drivers/regex/octeontx2/meson.build
+++ b/drivers/regex/octeontx2/meson.build
@@ -2,9 +2,10 @@
# Copyright(C) 2020 Marvell International Ltd.
#
-if not is_linux
+if not is_linux or not dpdk_conf.get('RTE_ARCH_64')
build = false
- reason = 'only supported on Linux'
+ reason = 'only supported on 64-bit Linux'
+ subdir_done()
endif
lib = cc.find_library('librxp_compiler', required: false)
@@ -21,23 +22,6 @@ sources = files('otx2_regexdev.c',
'otx2_regexdev_compiler.c'
)
-extra_flags = []
-# This integrated controller runs only on a arm64 machine, remove 32bit warnings
-if not dpdk_conf.get('RTE_ARCH_64')
- extra_flags += ['-Wno-int-to-pointer-cast', '-Wno-pointer-to-int-cast']
-endif
-
-# for clang 32-bit compiles we need libatomic for 64-bit atomic ops
-if cc.get_id() == 'clang' and dpdk_conf.get('RTE_ARCH_64') == false
- ext_deps += cc.find_library('atomic')
-endif
-
-foreach flag: extra_flags
- if cc.has_argument(flag)
- cflags += flag
- endif
-endforeach
-
fmt_name = 'octeontx2_regex'
deps += ['bus_pci', 'common_octeontx2', 'regexdev']
--
2.28.0
More information about the dev
mailing list