From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <prvs=10067160ad=jerinj@marvell.com>
Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com
 [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id 6923B1B11F
 for <dev@dpdk.org>; Sat, 13 Apr 2019 21:01:52 +0200 (CEST)
Received: from pps.filterd (m0045851.ppops.net [127.0.0.1])
 by mx0b-0016f401.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id
 x3DJ01V6013593; Sat, 13 Apr 2019 12:01:49 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com;
 h=from : to : cc :
 subject : date : message-id : in-reply-to : references : mime-version :
 content-transfer-encoding : content-type; s=pfpt0818;
 bh=C+uxF4J3VnGWMejYCTqYsrXljaoAqIJd5rtvbzfzzY0=;
 b=pT87qMWvI9EUjCFq+jOusCY6RKS8kWQ0wxWAt5klke2XP5jhkllouj5sUlLDNPaBcvXR
 0vbTe7DjoCGi+sCmnIdxO4DvPKLO7VKLwhMOxl+MQSWrRsGP/cjxaDmO6lGYMWJI/Z1M
 Vz48Xn4gmaa8S6HXRILsLX5astWY170Oe2eTZU86Z7zRrzSTD+UI8XLvIVWhHbIW3QOX
 PXZnUCmxdsJvbs3Fo5Z2gGBtmZYesmbcMErNPd/SewrYdYeL8nS3Be1LDjBDkBenWmAt
 2Bko5R6kSUajGYctgVkyAQlofaewQIL2PECQwIvlj82DgurjRY/9e0I+H7q5dL6PwC0N Cw== 
Received: from sc-exch01.marvell.com ([199.233.58.181])
 by mx0b-0016f401.pphosted.com with ESMTP id 2ruf9jrtk1-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT);
 Sat, 13 Apr 2019 12:01:49 -0700
Received: from SC-EXCH03.marvell.com (10.93.176.83) by SC-EXCH01.marvell.com
 (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Sat, 13 Apr
 2019 12:01:48 -0700
Received: from maili.marvell.com (10.93.176.43) by SC-EXCH03.marvell.com
 (10.93.176.83) with Microsoft SMTP Server id 15.0.1367.3 via Frontend
 Transport; Sat, 13 Apr 2019 12:01:48 -0700
Received: from jerin-lab.marvell.com (unknown [10.28.34.14])
 by maili.marvell.com (Postfix) with ESMTP id A59F63F703F;
 Sat, 13 Apr 2019 12:01:46 -0700 (PDT)
From: <jerinj@marvell.com>
To: <dev@dpdk.org>, Thomas Monjalon <thomas@monjalon.net>
CC: <yskoh@mellanox.com>, Jerin Jacob <jerinj@marvell.com>, Pavan Nikhilesh
 <pbhagavatula@marvell.com>, Gavin Hu <gavin.hu@arm.com>
Date: Sun, 14 Apr 2019 00:31:20 +0530
Message-ID: <20190413190121.15416-3-jerinj@marvell.com>
X-Mailer: git-send-email 2.21.0
In-Reply-To: <20190413190121.15416-1-jerinj@marvell.com>
References: <20190410161400.9361-1-jerinj@marvell.com>
 <20190413190121.15416-1-jerinj@marvell.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, ,
 definitions=2019-04-13_06:, , signatures=0
Subject: [dpdk-dev]  [PATCH v9 3/4] config: add thunderx2 machine config
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Sat, 13 Apr 2019 19:01:53 -0000

From: Jerin Jacob <jerinj@marvell.com>

Optimized configuration for Marvell thunderx2 SoC.
Updated meson build to support Marvell thunderx2 SoC.
Added meson cross compile target.

Product details are here:

https://www.marvell.com/server-processors/thunderx2-arm-processors/

Signed-off-by: Jerin Jacob <jerinj@marvell.com>
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Reviewed-by: Gavin Hu <gavin.hu@arm.com>
---
 config/arm/arm64_thunderx2_linux_gcc          | 16 +++++++++
 config/arm/meson.build                        |  9 ++++-
 config/defconfig_arm64-thunderx2-linux-gcc    |  1 +
 config/defconfig_arm64-thunderx2-linuxapp-gcc | 11 ++++++
 mk/machine/thunderx2/rte.vars.mk              | 34 +++++++++++++++++++
 5 files changed, 70 insertions(+), 1 deletion(-)
 create mode 100644 config/arm/arm64_thunderx2_linux_gcc
 create mode 120000 config/defconfig_arm64-thunderx2-linux-gcc
 create mode 100644 config/defconfig_arm64-thunderx2-linuxapp-gcc
 create mode 100644 mk/machine/thunderx2/rte.vars.mk

diff --git a/config/arm/arm64_thunderx2_linux_gcc b/config/arm/arm64_thunderx2_linux_gcc
new file mode 100644
index 000000000..0dc275644
--- /dev/null
+++ b/config/arm/arm64_thunderx2_linux_gcc
@@ -0,0 +1,16 @@
+[binaries]
+c = 'aarch64-linux-gnu-gcc'
+cpp = 'aarch64-linux-gnu-cpp'
+ar = 'aarch64-linux-gnu-gcc-ar'
+strip = 'aarch64-linux-gnu-strip'
+pcap-config = ''
+
+[host_machine]
+system = 'linux'
+cpu_family = 'aarch64'
+cpu = 'armv8-a'
+endian = 'little'
+
+[properties]
+implementor_id = '0x43'
+implementor_pn = '0xaf'
diff --git a/config/arm/meson.build b/config/arm/meson.build
index d30a17426..a5fce7a59 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -54,6 +54,12 @@ flags_default_extra = []
 flags_thunderx_extra = [
 	['RTE_MACHINE', '"thunderx"'],
 	['RTE_USE_C11_MEM_MODEL', false]]
+flags_thunderx2_extra = [
+	['RTE_MACHINE', '"thunderx2"'],
+	['RTE_CACHE_LINE_SIZE', 64],
+	['RTE_MAX_NUMA_NODES', 2],
+	['RTE_MAX_LCORE', 256],
+	['RTE_USE_C11_MEM_MODEL', true]]
 
 machine_args_generic = [
 	['default', ['-march=armv8-a+crc+crypto']],
@@ -70,7 +76,8 @@ machine_args_cavium = [
 	['native', ['-march=native']],
 	['0xa1', ['-mcpu=thunderxt88'], flags_thunderx_extra],
 	['0xa2', ['-mcpu=thunderxt81'], flags_thunderx_extra],
-	['0xa3', ['-mcpu=thunderxt83'], flags_thunderx_extra]]
+	['0xa3', ['-mcpu=thunderxt83'], flags_thunderx_extra],
+	['0xaf', ['-mcpu=thunderx2t99'], flags_thunderx2_extra]]
 
 ## Arm implementer ID (ARM DDI 0487C.a, Section G7.2.106, Page G7-5321)
 impl_generic = ['Generic armv8', flags_generic, machine_args_generic]
diff --git a/config/defconfig_arm64-thunderx2-linux-gcc b/config/defconfig_arm64-thunderx2-linux-gcc
new file mode 120000
index 000000000..b40a760b1
--- /dev/null
+++ b/config/defconfig_arm64-thunderx2-linux-gcc
@@ -0,0 +1 @@
+defconfig_arm64-thunderx2-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-thunderx2-linuxapp-gcc b/config/defconfig_arm64-thunderx2-linuxapp-gcc
new file mode 100644
index 000000000..cc5c64ba0
--- /dev/null
+++ b/config/defconfig_arm64-thunderx2-linuxapp-gcc
@@ -0,0 +1,11 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2018 Marvell International Ltd
+#
+
+#include "defconfig_arm64-armv8a-linux-gcc"
+
+CONFIG_RTE_MACHINE="thunderx2"
+
+CONFIG_RTE_CACHE_LINE_SIZE=64
+CONFIG_RTE_MAX_NUMA_NODES=2
+CONFIG_RTE_MAX_LCORE=256
diff --git a/mk/machine/thunderx2/rte.vars.mk b/mk/machine/thunderx2/rte.vars.mk
new file mode 100644
index 000000000..b80dc8680
--- /dev/null
+++ b/mk/machine/thunderx2/rte.vars.mk
@@ -0,0 +1,34 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2018 Marvell International Ltd
+#
+
+#
+# machine:
+#
+#   - can define ARCH variable (overridden by cmdline value)
+#   - can define CROSS variable (overridden by cmdline value)
+#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
+#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
+#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
+#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
+#     overrides the one defined in arch.
+#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
+#     overrides the one defined in arch.
+#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
+#     overrides the one defined in arch.
+#   - may override any previously defined variable
+#
+
+# ARCH =
+# CROSS =
+# MACHINE_CFLAGS =
+# MACHINE_LDFLAGS =
+# MACHINE_ASFLAGS =
+# CPU_CFLAGS =
+# CPU_LDFLAGS =
+# CPU_ASFLAGS =
+
+include $(RTE_SDK)/mk/rte.helper.mk
+
+MACHINE_CFLAGS += $(call rte_cc_has_argument, -march=armv8.1-a+crc+crypto)
+MACHINE_CFLAGS += $(call rte_cc_has_argument, -mcpu=thunderx2t99)
-- 
2.21.0

From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by dpdk.space (Postfix) with ESMTP id 0B30EA0096
	for <public@inbox.dpdk.org>; Sat, 13 Apr 2019 21:02:02 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 2EC101B122;
	Sat, 13 Apr 2019 21:01:54 +0200 (CEST)
Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com
 [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id 6923B1B11F
 for <dev@dpdk.org>; Sat, 13 Apr 2019 21:01:52 +0200 (CEST)
Received: from pps.filterd (m0045851.ppops.net [127.0.0.1])
 by mx0b-0016f401.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id
 x3DJ01V6013593; Sat, 13 Apr 2019 12:01:49 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com;
 h=from : to : cc :
 subject : date : message-id : in-reply-to : references : mime-version :
 content-transfer-encoding : content-type; s=pfpt0818;
 bh=C+uxF4J3VnGWMejYCTqYsrXljaoAqIJd5rtvbzfzzY0=;
 b=pT87qMWvI9EUjCFq+jOusCY6RKS8kWQ0wxWAt5klke2XP5jhkllouj5sUlLDNPaBcvXR
 0vbTe7DjoCGi+sCmnIdxO4DvPKLO7VKLwhMOxl+MQSWrRsGP/cjxaDmO6lGYMWJI/Z1M
 Vz48Xn4gmaa8S6HXRILsLX5astWY170Oe2eTZU86Z7zRrzSTD+UI8XLvIVWhHbIW3QOX
 PXZnUCmxdsJvbs3Fo5Z2gGBtmZYesmbcMErNPd/SewrYdYeL8nS3Be1LDjBDkBenWmAt
 2Bko5R6kSUajGYctgVkyAQlofaewQIL2PECQwIvlj82DgurjRY/9e0I+H7q5dL6PwC0N Cw== 
Received: from sc-exch01.marvell.com ([199.233.58.181])
 by mx0b-0016f401.pphosted.com with ESMTP id 2ruf9jrtk1-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT);
 Sat, 13 Apr 2019 12:01:49 -0700
Received: from SC-EXCH03.marvell.com (10.93.176.83) by SC-EXCH01.marvell.com
 (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Sat, 13 Apr
 2019 12:01:48 -0700
Received: from maili.marvell.com (10.93.176.43) by SC-EXCH03.marvell.com
 (10.93.176.83) with Microsoft SMTP Server id 15.0.1367.3 via Frontend
 Transport; Sat, 13 Apr 2019 12:01:48 -0700
Received: from jerin-lab.marvell.com (unknown [10.28.34.14])
 by maili.marvell.com (Postfix) with ESMTP id A59F63F703F;
 Sat, 13 Apr 2019 12:01:46 -0700 (PDT)
From: <jerinj@marvell.com>
To: <dev@dpdk.org>, Thomas Monjalon <thomas@monjalon.net>
CC: <yskoh@mellanox.com>, Jerin Jacob <jerinj@marvell.com>, Pavan Nikhilesh
 <pbhagavatula@marvell.com>, Gavin Hu <gavin.hu@arm.com>
Date: Sun, 14 Apr 2019 00:31:20 +0530
Message-ID: <20190413190121.15416-3-jerinj@marvell.com>
X-Mailer: git-send-email 2.21.0
In-Reply-To: <20190413190121.15416-1-jerinj@marvell.com>
References: <20190410161400.9361-1-jerinj@marvell.com>
 <20190413190121.15416-1-jerinj@marvell.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset="UTF-8"
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, ,
 definitions=2019-04-13_06:, , signatures=0
Subject: [dpdk-dev]  [PATCH v9 3/4] config: add thunderx2 machine config
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>
Message-ID: <20190413190120.Y7hLBM6sRnf9MaUXr4bWCyngWGSnPqsOe3bmltUJDpw@z>

From: Jerin Jacob <jerinj@marvell.com>

Optimized configuration for Marvell thunderx2 SoC.
Updated meson build to support Marvell thunderx2 SoC.
Added meson cross compile target.

Product details are here:

https://www.marvell.com/server-processors/thunderx2-arm-processors/

Signed-off-by: Jerin Jacob <jerinj@marvell.com>
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Reviewed-by: Gavin Hu <gavin.hu@arm.com>
---
 config/arm/arm64_thunderx2_linux_gcc          | 16 +++++++++
 config/arm/meson.build                        |  9 ++++-
 config/defconfig_arm64-thunderx2-linux-gcc    |  1 +
 config/defconfig_arm64-thunderx2-linuxapp-gcc | 11 ++++++
 mk/machine/thunderx2/rte.vars.mk              | 34 +++++++++++++++++++
 5 files changed, 70 insertions(+), 1 deletion(-)
 create mode 100644 config/arm/arm64_thunderx2_linux_gcc
 create mode 120000 config/defconfig_arm64-thunderx2-linux-gcc
 create mode 100644 config/defconfig_arm64-thunderx2-linuxapp-gcc
 create mode 100644 mk/machine/thunderx2/rte.vars.mk

diff --git a/config/arm/arm64_thunderx2_linux_gcc b/config/arm/arm64_thunderx2_linux_gcc
new file mode 100644
index 000000000..0dc275644
--- /dev/null
+++ b/config/arm/arm64_thunderx2_linux_gcc
@@ -0,0 +1,16 @@
+[binaries]
+c = 'aarch64-linux-gnu-gcc'
+cpp = 'aarch64-linux-gnu-cpp'
+ar = 'aarch64-linux-gnu-gcc-ar'
+strip = 'aarch64-linux-gnu-strip'
+pcap-config = ''
+
+[host_machine]
+system = 'linux'
+cpu_family = 'aarch64'
+cpu = 'armv8-a'
+endian = 'little'
+
+[properties]
+implementor_id = '0x43'
+implementor_pn = '0xaf'
diff --git a/config/arm/meson.build b/config/arm/meson.build
index d30a17426..a5fce7a59 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -54,6 +54,12 @@ flags_default_extra = []
 flags_thunderx_extra = [
 	['RTE_MACHINE', '"thunderx"'],
 	['RTE_USE_C11_MEM_MODEL', false]]
+flags_thunderx2_extra = [
+	['RTE_MACHINE', '"thunderx2"'],
+	['RTE_CACHE_LINE_SIZE', 64],
+	['RTE_MAX_NUMA_NODES', 2],
+	['RTE_MAX_LCORE', 256],
+	['RTE_USE_C11_MEM_MODEL', true]]
 
 machine_args_generic = [
 	['default', ['-march=armv8-a+crc+crypto']],
@@ -70,7 +76,8 @@ machine_args_cavium = [
 	['native', ['-march=native']],
 	['0xa1', ['-mcpu=thunderxt88'], flags_thunderx_extra],
 	['0xa2', ['-mcpu=thunderxt81'], flags_thunderx_extra],
-	['0xa3', ['-mcpu=thunderxt83'], flags_thunderx_extra]]
+	['0xa3', ['-mcpu=thunderxt83'], flags_thunderx_extra],
+	['0xaf', ['-mcpu=thunderx2t99'], flags_thunderx2_extra]]
 
 ## Arm implementer ID (ARM DDI 0487C.a, Section G7.2.106, Page G7-5321)
 impl_generic = ['Generic armv8', flags_generic, machine_args_generic]
diff --git a/config/defconfig_arm64-thunderx2-linux-gcc b/config/defconfig_arm64-thunderx2-linux-gcc
new file mode 120000
index 000000000..b40a760b1
--- /dev/null
+++ b/config/defconfig_arm64-thunderx2-linux-gcc
@@ -0,0 +1 @@
+defconfig_arm64-thunderx2-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-thunderx2-linuxapp-gcc b/config/defconfig_arm64-thunderx2-linuxapp-gcc
new file mode 100644
index 000000000..cc5c64ba0
--- /dev/null
+++ b/config/defconfig_arm64-thunderx2-linuxapp-gcc
@@ -0,0 +1,11 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2018 Marvell International Ltd
+#
+
+#include "defconfig_arm64-armv8a-linux-gcc"
+
+CONFIG_RTE_MACHINE="thunderx2"
+
+CONFIG_RTE_CACHE_LINE_SIZE=64
+CONFIG_RTE_MAX_NUMA_NODES=2
+CONFIG_RTE_MAX_LCORE=256
diff --git a/mk/machine/thunderx2/rte.vars.mk b/mk/machine/thunderx2/rte.vars.mk
new file mode 100644
index 000000000..b80dc8680
--- /dev/null
+++ b/mk/machine/thunderx2/rte.vars.mk
@@ -0,0 +1,34 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2018 Marvell International Ltd
+#
+
+#
+# machine:
+#
+#   - can define ARCH variable (overridden by cmdline value)
+#   - can define CROSS variable (overridden by cmdline value)
+#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
+#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
+#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
+#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
+#     overrides the one defined in arch.
+#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
+#     overrides the one defined in arch.
+#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
+#     overrides the one defined in arch.
+#   - may override any previously defined variable
+#
+
+# ARCH =
+# CROSS =
+# MACHINE_CFLAGS =
+# MACHINE_LDFLAGS =
+# MACHINE_ASFLAGS =
+# CPU_CFLAGS =
+# CPU_LDFLAGS =
+# CPU_ASFLAGS =
+
+include $(RTE_SDK)/mk/rte.helper.mk
+
+MACHINE_CFLAGS += $(call rte_cc_has_argument, -march=armv8.1-a+crc+crypto)
+MACHINE_CFLAGS += $(call rte_cc_has_argument, -mcpu=thunderx2t99)
-- 
2.21.0