[dpdk-dev] [PATCH v2 1/2] drivers: disable OCTEON TX2 in 32-bit build
Jerin Jacob
jerinjacobk at gmail.com
Tue Nov 10 19:05:22 CET 2020
On Tue, Nov 10, 2020 at 3:00 AM Thomas Monjalon <thomas at monjalon.net> wrote:
>
> 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>
Acked-by: Jerin Jacob <jerinj at marvell.com>
> ---
> 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