summaryrefslogtreecommitdiffstats
path: root/src/spdk/dpdk/config/ppc
diff options
context:
space:
mode:
Diffstat (limited to 'src/spdk/dpdk/config/ppc')
-rw-r--r--src/spdk/dpdk/config/ppc/meson.build25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/spdk/dpdk/config/ppc/meson.build b/src/spdk/dpdk/config/ppc/meson.build
new file mode 100644
index 000000000..aa7d73d11
--- /dev/null
+++ b/src/spdk/dpdk/config/ppc/meson.build
@@ -0,0 +1,25 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
+
+if not dpdk_conf.get('RTE_ARCH_64')
+ error('Only 64-bit compiles are supported for this platform type')
+endif
+dpdk_conf.set('RTE_ARCH', 'ppc_64')
+dpdk_conf.set('RTE_ARCH_PPC_64', 1)
+
+# RHEL 7.x uses gcc 4.8.X which doesn't generate code for Power 9 CPUs,
+# though it will detect a Power 9 CPU when the "-mcpu=native" argument
+# is used, resulting in a build failure.
+power9_supported = cc.has_argument('-mcpu=power9')
+if not power9_supported
+ machine = 'power8'
+ machine_args = ['-mcpu=power8', '-mtune=power8']
+ dpdk_conf.set('RTE_MACHINE','power8')
+endif
+
+# overrides specific to ppc64
+dpdk_conf.set('RTE_MAX_LCORE', 1536)
+dpdk_conf.set('RTE_MAX_NUMA_NODES', 32)
+dpdk_conf.set('RTE_CACHE_LINE_SIZE', 128)
+dpdk_conf.set('RTE_MACHINE_CPUFLAG_ALTIVEC', 1)
+dpdk_conf.set('RTE_MACHINE_CPUFLAG_VSX', 1)