[v2,1/2] drivers: disable OCTEON TX2 in 32-bit build

Message ID 20201109212937.989954-2-thomas@monjalon.net (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series move mbuf pool pointer |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Thomas Monjalon Nov. 9, 2020, 9:29 p.m. UTC
  The drivers for OCTEON TX2 are not supported in 32-bit mode.

Suggested-by: Jerin Jacob <jerinj@marvell.com>
Signed-off-by: Thomas Monjalon <thomas@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(-)
  

Comments

Jerin Jacob Nov. 10, 2020, 6:05 p.m. UTC | #1
On Tue, Nov 10, 2020 at 3:00 AM Thomas Monjalon <thomas@monjalon.net> wrote:
>
> The drivers for OCTEON TX2 are not supported in 32-bit mode.
>
> Suggested-by: Jerin Jacob <jerinj@marvell.com>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>

Acked-by: Jerin Jacob <jerinj@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
>
  

Patch

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']