Message ID | 1462801702-30918-1-git-send-email-hemant.agrawal@nxp.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id CD1A747CE; Mon, 9 May 2016 10:14:02 +0200 (CEST) Received: from na01-by2-obe.outbound.protection.outlook.com (mail-by2on0074.outbound.protection.outlook.com [207.46.100.74]) by dpdk.org (Postfix) with ESMTP id 26FF42C5D for <dev@dpdk.org>; Mon, 9 May 2016 10:14:00 +0200 (CEST) Received: from BN3PR0301CA0005.namprd03.prod.outlook.com (10.160.180.143) by CY1PR0301MB0602.namprd03.prod.outlook.com (10.160.142.21) with Microsoft SMTP Server (TLS) id 15.1.485.9; Mon, 9 May 2016 08:13:59 +0000 Received: from BL2FFO11FD009.protection.gbl (2a01:111:f400:7c09::183) by BN3PR0301CA0005.outlook.office365.com (2a01:111:e400:4000::15) with Microsoft SMTP Server (TLS) id 15.1.492.11 via Frontend Transport; Mon, 9 May 2016 08:13:58 +0000 Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=nxp.com; dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=none action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.158.2 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.158.2; helo=az84smr01.freescale.net; Received: from az84smr01.freescale.net (192.88.158.2) by BL2FFO11FD009.mail.protection.outlook.com (10.173.161.15) with Microsoft SMTP Server (TLS) id 15.1.485.4 via Frontend Transport; Mon, 9 May 2016 08:13:57 +0000 Received: from netperf1-OptiPlex-3020.ap.freescale.net (netperf1-OptiPlex-3020.ap.freescale.net [10.232.134.28]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id u498DsMx022866 for <dev@dpdk.org>; Mon, 9 May 2016 01:13:55 -0700 From: Hemant Agrawal <hemant.agrawal@nxp.com> To: <dev@dpdk.org> Date: Mon, 9 May 2016 19:18:22 +0530 Message-ID: <1462801702-30918-1-git-send-email-hemant.agrawal@nxp.com> X-Mailer: git-send-email 1.9.1 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131072552375204558; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.158.2; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(9170700001)(33646002)(229853001)(19580395003)(50226002)(48376002)(2351001)(1220700001)(19580405001)(87936001)(92566002)(189998001)(107886002)(36756003)(110136002)(47776003)(85426001)(5003940100001)(586003)(50986999)(77096005)(8936002)(450100001)(104016004)(6806005)(106466001)(105606002)(2906002)(50466002)(81166005)(86362001)(5008740100001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0301MB0602; H:az84smr01.freescale.net; FPR:; SPF:Fail; MLV:sfv; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD009; 1:lx9vCaqrm+TwDT4oyVrsYKVc4dH1SX4QlPRTTJSge3JwyMaBzKdXJou5TnOt4laFdEKW/z5CJNq1vHWFkz2OpL/4lqpf5CjeyLVfwjJ28m3giKrj+pWn3T56QUGx7Pk849HagrAg2iYf7T38lh/AnJI1VUkKfjoTvrxzGmV8rsFuHmtVJsFWnkB0dk65coUHb5MKOyoE3DBgYOkWIOruh2tVCqtieFimcL6QDQonr8lfgdI2vA0lnhP2w7k1v189/s86OSS3h+KW1U4FDSoafUewnFgZYnEbhF8UmUtN3CxnMbfh4DtD+k1sRs7XYh7LT8RWMtD3+9RxRZXgBIyuEQIRD67FPNXjYZ2L2NpQohgujevAdYFoxSD/ON6ZzkHBK2PdbG+o1Q0VUYpxb6oCX53VcTS3hoL2KA+2cJoVWytQyiwwPKzlZdwdzhtCf4iOkTgyec6Vaa73m27IK8vLU0+urEJ2bU/eNw7zbxyVr5MRU+euiaJ2vI7PAsvHfEy+MvBPVX08E2Lzs0/Fw7XHZkGGYGBg6BPD42Skhm3OuaodfpOC3u1BRxWtv2caEsCd MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: 4d2409d0-ad1a-40b5-596d-08d377e1de95 X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0602; 2:g2Mpbb5f7V6jH8LBaFdEdBFbVpQ4/aBmcmc5T8SHeGBMaHgHrBkh9o/u4dqHo7g0EYVukRAIcIbm0P1SZBY0gphCMvjL6FHygIDlA3kqxnX/Vx4Rpzgp88S7eudATypf9O+TJbb5mDl1/xfnVDzmRrKMcIP6iL0YAQH2+NXPYzT/81fnz/dS5Q+kGomq92/R; 3:hQO6twT9Rz/H1Zh5QODKCF43juKxbhcb2LyxQN9ZlyjFm+wDJLKgXLAm6EIioCLodaXAlhCOOgLj2nM8pv/Gv7kGpPXMAq8X2EDATI5Ooxpw1NNzmT2n87Pr+e5JoQXQEHw6Bz5W/jc3Ulcgy01FtZl04eIIgOAZLm2p1yKQfxwu7UlqdG59s00T6ca6JIKvG89Z/OX4tilv0NDI0zIof6Py7ncF/0DoRqy4h6RDMM4=; 25:jdcz30zXx5Q8O1jBT+X0qiSvjjF1+BWPPDBbJNhZSB286FuwFqYyL3mzEKYUBb+hvEJXkPXx0CWUZY6T6WsnBofec/25TSzxGKBJLJS2DqYuRnVXYKzCw4DQBfNNA6U85BeX1fziT88HNwYt0N7NU0PozXGIK1gdHis9EulrvbZSK9+Vf66EPUhvdhITfaBIfO5zC1//NliDcajbk8/Bb8RWUao4/UMnijX5Ljg7HlKr7UbewDm7FdO0HG3gaIHzA4UlXYIn+87RuRFyBsQfWB82wYTl9lMXoAFP1QD0Iuvrl64MSTXu8zjssJBheCrZOObCNHkB1Uw2LUghjJr+lDXRdIRiZiVPq+gp07R6SEi55h2yok9AIMZh73uPHxPwD9VaKKdOicNm9wUbmp11Z3bO2is32mARhCxyPDVU1s4oJpjznCaXPgh3/iRKNwFP X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0301MB0602; X-Microsoft-Antispam-PRVS: <CY1PR0301MB0602E699541B21C9026FA8E989700@CY1PR0301MB0602.namprd03.prod.outlook.com> X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(13018025)(13017025)(13015025)(13023025)(13024025)(5005006)(8121501046)(3002001)(10201501046)(6055026); SRVR:CY1PR0301MB0602; BCL:0; PCL:0; RULEID:(400006); SRVR:CY1PR0301MB0602; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0602; 4:xeF+qbCT0rFJWqIWNGmd9MPdGfcNW0Bt4jY9nXXNPJaXRSOErc6N67p/UTApkvDbsceK+PHvabOM8c13ykvcfHzJG/f/KZmhs4bSXgOh6jbg/NHaxU6g/xZH7h40UR0F/YGE2fQzPYGKgVc5B7qEY4HlABMALTZSJpJyL+u47XhZD9TznMzcKOEtH1vRTSg3xsz/OgqmSaNZSjlX9HrvVQi+VgYw17Jw+C+NYE4vgpJrYhpqdokDWR1CHaO25/rrGxZaeKKWuu9o5bORti+xRzlAsXOLYHtYUzMvJZI8XYkku0yYntvWuz6YOlqPCwr6XZQppvcn2VDmwN/mKjcQCMHOkDdyfpEhKd8BBL06CiH3pz/whEIAS+/C1L/LxoFx4OmEbqaA47KaskI4DvdpV97+XI5ngSyfEigi2r0ZH+kfqCDfS+zixsk3q4b2ERn4PAqs5U6nwpfSf9LbH2zkc4oO2TbKoHS/agBhczdZOX4= X-Forefront-PRVS: 0937FB07C5 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR0301MB0602; 23:a8wvI77PS2P3VXU6r6vbln/kTki1DsWUJuZtOEA?= =?us-ascii?Q?jLcx19zzTcQT5jy3WT6V8FOKSl5qwSC0znaUqI5KGi//bQt6uDX2wuioKlGR?= =?us-ascii?Q?eunakW1Kz/ASVwTzvHiutKAuwHNrtvtgIpWtkcbfFwEDAmXQpeLZNI/13J7/?= =?us-ascii?Q?aoqkwnFcWqeKTBv8c3sr/xqg1e41UB5ODy383mzCs/Cb5N491Up6xYxLOltS?= =?us-ascii?Q?Jbk5qkAIDdUhhYqOFaykk00hwsWnXmKE0naTi6O/hZiTb1SeYhAFKWGZoKMl?= =?us-ascii?Q?A4KS372esLg0Y8HCVHwSsJNVjbyfVud0SuTQ8ZY0+3TK2iNJH7a7UuAOXBKY?= =?us-ascii?Q?3YzBBLxoMANq6h3Zo9pr1OjQkVuNvXCwmaRX3CuPd/vHbwkX8nwxPVeSdX8H?= =?us-ascii?Q?onCB0s7aTU79u0tTGtdwf/5Sh9ajKD9D6WMWQTER4EHsBp+e2GTWVRAwn3ry?= =?us-ascii?Q?Mz2tshvkLPScfcdU+OVUUN6XcAwJv7hnq1bUztQaY4vt/UoHg60DPnjc9oIk?= =?us-ascii?Q?DbJfBhPwU+36/oSd2z7tA1COPU5dSJuvHRgZEUVawwClOUaJaHBLV0ln22+d?= =?us-ascii?Q?f93ptJm1J9DYYJJ97rIzC5401Yc0YhZ2UH7GEjxpiJAGIi+z25K+6Ienj+d3?= =?us-ascii?Q?l/b48H0BxP8DMZLVl4+4fbXBNRlJFHPJBxAskNVeu+tNJUuzsORNq/1txYZS?= =?us-ascii?Q?2XfGUBb1lL8voycUpR896+S/KgJywiw0cA4jOsrN+CxtjJno8Iu4wD991wj7?= =?us-ascii?Q?Z59VNO9qU+XCjZJY3gXbOY9/t0NBQS0w4QrJAL+65ME9cRkOBs3tdpL5unpX?= =?us-ascii?Q?HjQ+Sp1pXTCUgmLiHyyltxpJJ6X3zcyTISRQ9SLi/ikBNzwQuHtDwHmkx8jk?= =?us-ascii?Q?J6gXxCI3QejOUDahRNh62x/3O+GiT8HzoqyRcPBSAoguakit0Fae8TXT4wnI?= =?us-ascii?Q?cDzCIJ93qAUxWGOLSZgtHGTOZHnV8kJJUVe8bfGq/GzoDc2elrsdzhtFw15y?= =?us-ascii?Q?DrU4mb4/oiWLI7QblEywg6Qm6wX7AymPqtaFCEEEMsGPKGg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0602; 5:JG6H/553Zuk0MXmjy9keFJSIaDahKdP43kf81sGdZ+vLY9E4YAXy3Afwcpwv2n8X1XkoXjODLwLXW92Smi2VeBndAP3tQ8DSLpMFnVDnfiXsqez3LxDdHSZaCz7r2pBz2V5KoFgYVGSKfJVCybguzEJgZP3ixShO350tYnxmwJc=; 24:Go2eNzEy2axo3T6Hm1oudHzz7xZ7UD2pH6FCRkCN1FbeXnvqDrbnji+xkfkbAmWqBpFiSlUbAXyhJBsrgGVrfiQGaxp3O33OGvsvzKQ9RKc=; 7:gihOqUT4jdx3ho57KC0TxuK/mVQrSRjXm9szlO8rDlLjOE0EeDDYCByJJkXcYclfBsO/AxE37IMesPL4GTOcAla+fWIbiOegSrmZxfHWQf9DUoe9Qz57hLBAGxzuczuUjw58OhrRUjJPtix82tGRBqbEgtVHhzOOJpwp9/fACPRwKx1fjgvLLRntxZ1G3xV7 SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 May 2016 08:13:57.2084 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.158.2]; Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0301MB0602 Subject: [dpdk-dev] [PATCH] mk: Introduce NXP dpaa2 architecture based on armv8-a X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK <dev.dpdk.org> List-Unsubscribe: <http://dpdk.org/ml/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://dpdk.org/ml/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <http://dpdk.org/ml/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Commit Message
Hemant Agrawal
May 9, 2016, 1:48 p.m. UTC
This patch introduces dpaa2 machine target to address difference
in cpu parameter, number of core to 8 and no numa support
w.r.t default armv8-a machine
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
config/defconfig_arm64-dpaa2-linuxapp-gcc | 44 +++++++++++++++++++++++
mk/machine/dpaa2/rte.vars.mk | 60 +++++++++++++++++++++++++++++++
mk/rte.module.mk | 5 +++
3 files changed, 109 insertions(+)
create mode 100644 config/defconfig_arm64-dpaa2-linuxapp-gcc
create mode 100644 mk/machine/dpaa2/rte.vars.mk
Comments
On Mon, May 9, 2016 at 7:18 PM, Hemant Agrawal <hemant.agrawal@nxp.com> wrote: > This patch introduces dpaa2 machine target to address difference > in cpu parameter, number of core to 8 and no numa support > w.r.t default armv8-a machine > > Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> > --- > config/defconfig_arm64-dpaa2-linuxapp-gcc | 44 +++++++++++++++++++++++ > mk/machine/dpaa2/rte.vars.mk | 60 > +++++++++++++++++++++++++++++++ > mk/rte.module.mk | 5 +++ > 3 files changed, 109 insertions(+) > create mode 100644 config/defconfig_arm64-dpaa2-linuxapp-gcc > create mode 100644 mk/machine/dpaa2/rte.vars.mk > > diff --git a/config/defconfig_arm64-dpaa2-linuxapp-gcc > b/config/defconfig_arm64-dpaa2-linuxapp-gcc > new file mode 100644 > index 0000000..80bda26 > --- /dev/null > +++ b/config/defconfig_arm64-dpaa2-linuxapp-gcc > @@ -0,0 +1,44 @@ > +# BSD LICENSE > +# > +# Copyright(c) 2016 Freescale Semiconductor, Inc. All rights reserved. > +# > +# Redistribution and use in source and binary forms, with or without > +# modification, are permitted provided that the following conditions > +# are met: > +# > +# * Redistributions of source code must retain the above copyright > +# notice, this list of conditions and the following disclaimer. > +# * Redistributions in binary form must reproduce the above copyright > +# notice, this list of conditions and the following disclaimer in > +# the documentation and/or other materials provided with the > +# distribution. > +# * Neither the name of Freescale Semiconductor nor the names of its > +# contributors may be used to endorse or promote products derived > +# from this software without specific prior written permission. > +# > +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS > +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT > +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR > +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT > +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, > +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT > +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, > +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY > +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT > +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE > +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > +# > + > +#include "defconfig_arm64-armv8a-linuxapp-gcc" > + > +# NXP (Freescale) - Soc Architecture with WRIOP and QBMAN support > +CONFIG_RTE_MACHINE="dpaa2" > +CONFIG_RTE_ARCH_ARM_TUNE="cortex-a57+fp+simd" > + > +# > +# Compile Environment Abstraction Layer > +# > +CONFIG_RTE_MAX_LCORE=8 > +CONFIG_RTE_MAX_NUMA_NODES=1 > +CONFIG_RTE_EAL_IGB_UIO=n > +CONFIG_RTE_EAL_VFIO=y > by default _VFIO=y enabled in common_linuxapp, no need to keep here...
2016-05-09 19:18, Hemant Agrawal: > This patch introduces dpaa2 machine target to address difference > in cpu parameter, number of core to 8 and no numa support > w.r.t default armv8-a machine > > Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> [...] > --- /dev/null > +++ b/mk/machine/dpaa2/rte.vars.mk > +# ARCH = > +# CROSS = > +# MACHINE_CFLAGS = > +# MACHINE_LDFLAGS = > +# MACHINE_ASFLAGS = > +# CPU_CFLAGS = > +# CPU_LDFLAGS = > +# CPU_ASFLAGS = > +MACHINE_CFLAGS += -march=armv8-a > + > +ifdef CONFIG_RTE_ARCH_ARM_TUNE > +MACHINE_CFLAGS += -mcpu=$(CONFIG_RTE_ARCH_ARM_TUNE) > +endif There is nothing specific in this file. > --- a/mk/rte.module.mk > +++ b/mk/rte.module.mk > +#### Linaro toolchain usages arm64 instread of aarch64 in kernel > +ifeq ($(ARCH), aarch64) > +ARCH = arm64 > +endif Could you provide more explanations please? aarch64 shouldn't be used I think.
On Mon, May 09, 2016 at 07:18:22PM +0530, Hemant Agrawal wrote: > This patch introduces dpaa2 machine target to address difference > in cpu parameter, number of core to 8 and no numa support > w.r.t default armv8-a machine > > Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> > --- > config/defconfig_arm64-dpaa2-linuxapp-gcc | 44 +++++++++++++++++++++++ > mk/machine/dpaa2/rte.vars.mk | 60 +++++++++++++++++++++++++++++++ > mk/rte.module.mk | 5 +++ > 3 files changed, 109 insertions(+) > create mode 100644 config/defconfig_arm64-dpaa2-linuxapp-gcc > create mode 100644 mk/machine/dpaa2/rte.vars.mk > > diff --git a/config/defconfig_arm64-dpaa2-linuxapp-gcc b/config/defconfig_arm64-dpaa2-linuxapp-gcc > new file mode 100644 > index 0000000..80bda26 > --- /dev/null > +++ b/config/defconfig_arm64-dpaa2-linuxapp-gcc > @@ -0,0 +1,44 @@ > +# BSD LICENSE > +# > +# Copyright(c) 2016 Freescale Semiconductor, Inc. All rights reserved. > +# > +# Redistribution and use in source and binary forms, with or without > +# modification, are permitted provided that the following conditions > +# are met: > +# > +# * Redistributions of source code must retain the above copyright > +# notice, this list of conditions and the following disclaimer. > +# * Redistributions in binary form must reproduce the above copyright > +# notice, this list of conditions and the following disclaimer in > +# the documentation and/or other materials provided with the > +# distribution. > +# * Neither the name of Freescale Semiconductor nor the names of its > +# contributors may be used to endorse or promote products derived > +# from this software without specific prior written permission. > +# > +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS > +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT > +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR > +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT > +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, > +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT > +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, > +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY > +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT > +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE > +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > +# > + > +#include "defconfig_arm64-armv8a-linuxapp-gcc" > + > +# NXP (Freescale) - Soc Architecture with WRIOP and QBMAN support > +CONFIG_RTE_MACHINE="dpaa2" > +CONFIG_RTE_ARCH_ARM_TUNE="cortex-a57+fp+simd" > + > +# > +# Compile Environment Abstraction Layer > +# > +CONFIG_RTE_MAX_LCORE=8 > +CONFIG_RTE_MAX_NUMA_NODES=1 > +CONFIG_RTE_EAL_IGB_UIO=n I think it makes sense to move this option to generic arm64 config as upstream arm64 kernel does not have support for sysfs based PCI mmap resource file,(/sys/bus/pci/devices/B:D:F/resource[_wc]X) need for CONFIG_RTE_EAL_IGB_UIO to work) and use VFIO for all cases. Any objections? > +CONFIG_RTE_EAL_VFIO=y > diff --git a/mk/machine/dpaa2/rte.vars.mk b/mk/machine/dpaa2/rte.vars.mk > new file mode 100644 > index 0000000..8541633 > --- /dev/null > +++ b/mk/machine/dpaa2/rte.vars.mk > @@ -0,0 +1,60 @@ > +# BSD LICENSE > +# > +# Copyright(c) 2016 Freescale Semiconductor, Inc. All rights reserved. > +# > +# Redistribution and use in source and binary forms, with or without > +# modification, are permitted provided that the following conditions > +# are met: > +# > +# * Redistributions of source code must retain the above copyright > +# notice, this list of conditions and the following disclaimer. > +# * Redistributions in binary form must reproduce the above copyright > +# notice, this list of conditions and the following disclaimer in > +# the documentation and/or other materials provided with the > +# distribution. > +# * Neither the name of Freescale Semiconductor nor the names of its > +# contributors may be used to endorse or promote products derived > +# from this software without specific prior written permission. > +# > +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS > +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT > +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR > +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT > +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, > +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT > +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, > +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY > +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT > +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE > +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > + > +# > +# 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 = > +MACHINE_CFLAGS += -march=armv8-a > + > +ifdef CONFIG_RTE_ARCH_ARM_TUNE > +MACHINE_CFLAGS += -mcpu=$(CONFIG_RTE_ARCH_ARM_TUNE) > +endif > diff --git a/mk/rte.module.mk b/mk/rte.module.mk > index 53ed4fe..09bf51b 100644 > --- a/mk/rte.module.mk > +++ b/mk/rte.module.mk > @@ -29,6 +29,11 @@ > # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE > # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > > +#### Linaro toolchain usages arm64 instread of aarch64 in kernel > +ifeq ($(ARCH), aarch64) > +ARCH = arm64 > +endif > + > ##### if sourced from kernel Kbuild system > ifneq ($(KERNELRELEASE),) > override EXTRA_CFLAGS = $(MODULE_CFLAGS) $(EXTRA_KERNEL_CFLAGS) > -- > 1.9.1 >
-----Original Message----- From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com] Sent: Monday, May 09, 2016 2:10 PM To: Hemant Agrawal <hemant.agrawal@nxp.com> Cc: dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH] mk: Introduce NXP dpaa2 architecture based on armv8-a 2016-05-09 19:18, Hemant Agrawal: > This patch introduces dpaa2 machine target to address difference in > cpu parameter, number of core to 8 and no numa support w.r.t default > armv8-a machine > > Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> [...] > --- /dev/null > +++ b/mk/machine/dpaa2/rte.vars.mk > +# ARCH = > +# CROSS = > +# MACHINE_CFLAGS = > +# MACHINE_LDFLAGS = > +# MACHINE_ASFLAGS = > +# CPU_CFLAGS = > +# CPU_LDFLAGS = > +# CPU_ASFLAGS = > +MACHINE_CFLAGS += -march=armv8-a > + > +ifdef CONFIG_RTE_ARCH_ARM_TUNE > +MACHINE_CFLAGS += -mcpu=$(CONFIG_RTE_ARCH_ARM_TUNE) endif There is nothing specific in this file. [Hemant] The arch is "armv8-a" instead of "armv8-a+crc". Also, we are using "mcpu" for ARM tuning. This is not present in the armv8a machine. The armv7a machine usages RTE_ARCH_ARM_TUNE to configure "mtune". > --- a/mk/rte.module.mk > +++ b/mk/rte.module.mk > +#### Linaro toolchain usages arm64 instread of aarch64 in kernel ifeq > +($(ARCH), aarch64) ARCH = arm64 endif Could you provide more explanations please? aarch64 shouldn't be used I think. [Hemant] you are right. This is not required. I was using an old toolchain.
On Mon, May 9, 2016 at 2:36 PM, Jerin Jacob <jerin.jacob@caviumnetworks.com> wrote: > On Mon, May 09, 2016 at 07:18:22PM +0530, Hemant Agrawal wrote: > > This patch introduces dpaa2 machine target to address difference > > in cpu parameter, number of core to 8 and no numa support > > w.r.t default armv8-a machine > > > > Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> > > --- > > config/defconfig_arm64-dpaa2-linuxapp-gcc | 44 +++++++++++++++++++++++ > > mk/machine/dpaa2/rte.vars.mk | 60 > +++++++++++++++++++++++++++++++ > > mk/rte.module.mk | 5 +++ > > 3 files changed, 109 insertions(+) > > create mode 100644 config/defconfig_arm64-dpaa2-linuxapp-gcc > > create mode 100644 mk/machine/dpaa2/rte.vars.mk > > > > diff --git a/config/defconfig_arm64-dpaa2-linuxapp-gcc > b/config/defconfig_arm64-dpaa2-linuxapp-gcc > > new file mode 100644 > > index 0000000..80bda26 > > --- /dev/null > > +++ b/config/defconfig_arm64-dpaa2-linuxapp-gcc > > @@ -0,0 +1,44 @@ > > +# BSD LICENSE > > +# > > +# Copyright(c) 2016 Freescale Semiconductor, Inc. All rights reserved. > > +# > > +# Redistribution and use in source and binary forms, with or without > > +# modification, are permitted provided that the following conditions > > +# are met: > > +# > > +# * Redistributions of source code must retain the above copyright > > +# notice, this list of conditions and the following disclaimer. > > +# * Redistributions in binary form must reproduce the above > copyright > > +# notice, this list of conditions and the following disclaimer in > > +# the documentation and/or other materials provided with the > > +# distribution. > > +# * Neither the name of Freescale Semiconductor nor the names of its > > +# contributors may be used to endorse or promote products derived > > +# from this software without specific prior written permission. > > +# > > +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS > > +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT > > +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS > FOR > > +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT > > +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, > INCIDENTAL, > > +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT > > +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF > USE, > > +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON > ANY > > +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT > > +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE > USE > > +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > > +# > > + > > +#include "defconfig_arm64-armv8a-linuxapp-gcc" > > + > > +# NXP (Freescale) - Soc Architecture with WRIOP and QBMAN support > > +CONFIG_RTE_MACHINE="dpaa2" > > +CONFIG_RTE_ARCH_ARM_TUNE="cortex-a57+fp+simd" > > + > > +# > > +# Compile Environment Abstraction Layer > > +# > > +CONFIG_RTE_MAX_LCORE=8 > > +CONFIG_RTE_MAX_NUMA_NODES=1 > > +CONFIG_RTE_EAL_IGB_UIO=n > > I think it makes sense to move this option to generic arm64 config > as upstream arm64 kernel does not have support for sysfs based PCI mmap > resource file,(/sys/bus/pci/devices/B:D:F/resource[_wc]X) need for > CONFIG_RTE_EAL_IGB_UIO to work) and use VFIO for all cases. > > Any objections? > Make sense. IGB_UIO for arm64 is NA. > > > +CONFIG_RTE_EAL_VFIO=y > > diff --git a/mk/machine/dpaa2/rte.vars.mk b/mk/machine/dpaa2/rte.vars.mk > > new file mode 100644 > > index 0000000..8541633 > > --- /dev/null > > +++ b/mk/machine/dpaa2/rte.vars.mk > > @@ -0,0 +1,60 @@ > > +# BSD LICENSE > > +# > > +# Copyright(c) 2016 Freescale Semiconductor, Inc. All rights reserved. > > +# > > +# Redistribution and use in source and binary forms, with or without > > +# modification, are permitted provided that the following conditions > > +# are met: > > +# > > +# * Redistributions of source code must retain the above copyright > > +# notice, this list of conditions and the following disclaimer. > > +# * Redistributions in binary form must reproduce the above > copyright > > +# notice, this list of conditions and the following disclaimer in > > +# the documentation and/or other materials provided with the > > +# distribution. > > +# * Neither the name of Freescale Semiconductor nor the names of its > > +# contributors may be used to endorse or promote products derived > > +# from this software without specific prior written permission. > > +# > > +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS > > +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT > > +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS > FOR > > +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT > > +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, > INCIDENTAL, > > +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT > > +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF > USE, > > +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON > ANY > > +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT > > +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE > USE > > +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > > + > > +# > > +# 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 = > > +MACHINE_CFLAGS += -march=armv8-a > > + > > +ifdef CONFIG_RTE_ARCH_ARM_TUNE > > +MACHINE_CFLAGS += -mcpu=$(CONFIG_RTE_ARCH_ARM_TUNE) > > +endif > > diff --git a/mk/rte.module.mk b/mk/rte.module.mk > > index 53ed4fe..09bf51b 100644 > > --- a/mk/rte.module.mk > > +++ b/mk/rte.module.mk > > @@ -29,6 +29,11 @@ > > # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE > USE > > # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > > > > +#### Linaro toolchain usages arm64 instread of aarch64 in kernel > > +ifeq ($(ARCH), aarch64) > > +ARCH = arm64 > > +endif > > + > > ##### if sourced from kernel Kbuild system > > ifneq ($(KERNELRELEASE),) > > override EXTRA_CFLAGS = $(MODULE_CFLAGS) $(EXTRA_KERNEL_CFLAGS) > > -- > > 1.9.1 > > >
From: Santosh Shukla [mailto:sshukla@mvista.com] Sent: Monday, May 09, 2016 2:44 PM To: Jerin Jacob <jerin.jacob@caviumnetworks.com> Cc: Hemant Agrawal <hemant.agrawal@nxp.com>; dpdk <dev@dpdk.org>; Jianbo Liu <jianbo.liu@linaro.org>; Shukla, Santosh <santosh.shukla@caviumnetworks.com> Subject: Re: [dpdk-dev] [PATCH] mk: Introduce NXP dpaa2 architecture based on armv8-a On Mon, May 9, 2016 at 2:36 PM, Jerin Jacob <jerin.jacob@caviumnetworks.com<mailto:jerin.jacob@caviumnetworks.com>> wrote: On Mon, May 09, 2016 at 07:18:22PM +0530, Hemant Agrawal wrote: > This patch introduces dpaa2 machine target to address difference > in cpu parameter, number of core to 8 and no numa support > w.r.t default armv8-a machine > > Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com<mailto:hemant.agrawal@nxp.com>> > --- > config/defconfig_arm64-dpaa2-linuxapp-gcc | 44 +++++++++++++++++++++++ > mk/machine/dpaa2/rte.vars.mk<http://rte.vars.mk> | 60 +++++++++++++++++++++++++++++++ > mk/rte.module.mk<http://rte.module.mk> | 5 +++ > 3 files changed, 109 insertions(+) > create mode 100644 config/defconfig_arm64-dpaa2-linuxapp-gcc > create mode 100644 mk/machine/dpaa2/rte.vars.mk<http://rte.vars.mk> > > diff --git a/config/defconfig_arm64-dpaa2-linuxapp-gcc b/config/defconfig_arm64-dpaa2-linuxapp-gcc > new file mode 100644 > index 0000000..80bda26 > --- /dev/null > +++ b/config/defconfig_arm64-dpaa2-linuxapp-gcc > @@ -0,0 +1,44 @@ > +# BSD LICENSE > +# > +# Copyright(c) 2016 Freescale Semiconductor, Inc. All rights reserved. > +# > +# Redistribution and use in source and binary forms, with or without > +# modification, are permitted provided that the following conditions > +# are met: > +# > +# * Redistributions of source code must retain the above copyright > +# notice, this list of conditions and the following disclaimer. > +# * Redistributions in binary form must reproduce the above copyright > +# notice, this list of conditions and the following disclaimer in > +# the documentation and/or other materials provided with the > +# distribution. > +# * Neither the name of Freescale Semiconductor nor the names of its > +# contributors may be used to endorse or promote products derived > +# from this software without specific prior written permission. > +# > +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS > +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT > +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR > +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT > +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, > +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT > +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, > +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY > +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT > +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE > +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > +# > + > +#include "defconfig_arm64-armv8a-linuxapp-gcc" > + > +# NXP (Freescale) - Soc Architecture with WRIOP and QBMAN support > +CONFIG_RTE_MACHINE="dpaa2" > +CONFIG_RTE_ARCH_ARM_TUNE="cortex-a57+fp+simd" > + > +# > +# Compile Environment Abstraction Layer > +# > +CONFIG_RTE_MAX_LCORE=8 > +CONFIG_RTE_MAX_NUMA_NODES=1 > +CONFIG_RTE_EAL_IGB_UIO=n I think it makes sense to move this option to generic arm64 config as upstream arm64 kernel does not have support for sysfs based PCI mmap resource file,(/sys/bus/pci/devices/B:D:F/resource[_wc]X) need for CONFIG_RTE_EAL_IGB_UIO to work) and use VFIO for all cases. Any objections? Make sense. IGB_UIO for arm64 is NA. +1 I can take care of it in next version of patch > +CONFIG_RTE_EAL_VFIO=y > diff --git a/mk/machine/dpaa2/rte.vars.mk<http://rte.vars.mk> b/mk/machine/dpaa2/rte.vars.mk<http://rte.vars.mk> > new file mode 100644 > index 0000000..8541633 > --- /dev/null > +++ b/mk/machine/dpaa2/rte.vars.mk<http://rte.vars.mk> > @@ -0,0 +1,60 @@ > +# BSD LICENSE > +# > +# Copyright(c) 2016 Freescale Semiconductor, Inc. All rights reserved. > +# > +# Redistribution and use in source and binary forms, with or without > +# modification, are permitted provided that the following conditions > +# are met: > +# > +# * Redistributions of source code must retain the above copyright > +# notice, this list of conditions and the following disclaimer. > +# * Redistributions in binary form must reproduce the above copyright > +# notice, this list of conditions and the following disclaimer in > +# the documentation and/or other materials provided with the > +# distribution. > +# * Neither the name of Freescale Semiconductor nor the names of its > +# contributors may be used to endorse or promote products derived > +# from this software without specific prior written permission. > +# > +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS > +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT > +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR > +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT > +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, > +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT > +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, > +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY > +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT > +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE > +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > + > +# > +# 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 = > +MACHINE_CFLAGS += -march=armv8-a > + > +ifdef CONFIG_RTE_ARCH_ARM_TUNE > +MACHINE_CFLAGS += -mcpu=$(CONFIG_RTE_ARCH_ARM_TUNE) > +endif > diff --git a/mk/rte.module.mk<http://rte.module.mk> b/mk/rte.module.mk<http://rte.module.mk> > index 53ed4fe..09bf51b 100644 > --- a/mk/rte.module.mk<http://rte.module.mk> > +++ b/mk/rte.module.mk<http://rte.module.mk> > @@ -29,6 +29,11 @@ > # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE > # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > > +#### Linaro toolchain usages arm64 instread of aarch64 in kernel > +ifeq ($(ARCH), aarch64) > +ARCH = arm64 > +endif > + > ##### if sourced from kernel Kbuild system > ifneq ($(KERNELRELEASE),) > override EXTRA_CFLAGS = $(MODULE_CFLAGS) $(EXTRA_KERNEL_CFLAGS) > -- > 1.9.1 >
On 9 May 2016 at 17:06, Jerin Jacob <jerin.jacob@caviumnetworks.com> wrote: > On Mon, May 09, 2016 at 07:18:22PM +0530, Hemant Agrawal wrote: >> This patch introduces dpaa2 machine target to address difference >> in cpu parameter, number of core to 8 and no numa support >> w.r.t default armv8-a machine >> >> Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> >> --- >> config/defconfig_arm64-dpaa2-linuxapp-gcc | 44 +++++++++++++++++++++++ >> mk/machine/dpaa2/rte.vars.mk | 60 +++++++++++++++++++++++++++++++ >> mk/rte.module.mk | 5 +++ >> 3 files changed, 109 insertions(+) >> create mode 100644 config/defconfig_arm64-dpaa2-linuxapp-gcc >> create mode 100644 mk/machine/dpaa2/rte.vars.mk >> >> diff --git a/config/defconfig_arm64-dpaa2-linuxapp-gcc b/config/defconfig_arm64-dpaa2-linuxapp-gcc >> new file mode 100644 >> index 0000000..80bda26 >> --- /dev/null >> +++ b/config/defconfig_arm64-dpaa2-linuxapp-gcc >> @@ -0,0 +1,44 @@ >> +# BSD LICENSE >> +# >> +# Copyright(c) 2016 Freescale Semiconductor, Inc. All rights reserved. >> +# >> +# Redistribution and use in source and binary forms, with or without >> +# modification, are permitted provided that the following conditions >> +# are met: >> +# >> +# * Redistributions of source code must retain the above copyright >> +# notice, this list of conditions and the following disclaimer. >> +# * Redistributions in binary form must reproduce the above copyright >> +# notice, this list of conditions and the following disclaimer in >> +# the documentation and/or other materials provided with the >> +# distribution. >> +# * Neither the name of Freescale Semiconductor nor the names of its >> +# contributors may be used to endorse or promote products derived >> +# from this software without specific prior written permission. >> +# >> +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS >> +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT >> +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR >> +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT >> +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, >> +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT >> +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, >> +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY >> +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT >> +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE >> +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. >> +# >> + >> +#include "defconfig_arm64-armv8a-linuxapp-gcc" >> + >> +# NXP (Freescale) - Soc Architecture with WRIOP and QBMAN support >> +CONFIG_RTE_MACHINE="dpaa2" >> +CONFIG_RTE_ARCH_ARM_TUNE="cortex-a57+fp+simd" >> + >> +# >> +# Compile Environment Abstraction Layer >> +# >> +CONFIG_RTE_MAX_LCORE=8 >> +CONFIG_RTE_MAX_NUMA_NODES=1 >> +CONFIG_RTE_EAL_IGB_UIO=n > > I think it makes sense to move this option to generic arm64 config > as upstream arm64 kernel does not have support for sysfs based PCI mmap > resource file,(/sys/bus/pci/devices/B:D:F/resource[_wc]X) need for > CONFIG_RTE_EAL_IGB_UIO to work) and use VFIO for all cases. > > Any objections? > Is there any conflict to keep both?
On Mon, May 09, 2016 at 07:02:36PM +0800, Jianbo Liu wrote: > On 9 May 2016 at 17:06, Jerin Jacob <jerin.jacob@caviumnetworks.com> wrote: > > On Mon, May 09, 2016 at 07:18:22PM +0530, Hemant Agrawal wrote: > >> This patch introduces dpaa2 machine target to address difference > >> in cpu parameter, number of core to 8 and no numa support > >> w.r.t default armv8-a machine > >> > >> Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> > >> --- > >> config/defconfig_arm64-dpaa2-linuxapp-gcc | 44 +++++++++++++++++++++++ > >> mk/machine/dpaa2/rte.vars.mk | 60 +++++++++++++++++++++++++++++++ > >> mk/rte.module.mk | 5 +++ > >> 3 files changed, 109 insertions(+) > >> create mode 100644 config/defconfig_arm64-dpaa2-linuxapp-gcc > >> create mode 100644 mk/machine/dpaa2/rte.vars.mk > >> > >> diff --git a/config/defconfig_arm64-dpaa2-linuxapp-gcc b/config/defconfig_arm64-dpaa2-linuxapp-gcc > >> new file mode 100644 > >> index 0000000..80bda26 > >> --- /dev/null > >> +++ b/config/defconfig_arm64-dpaa2-linuxapp-gcc > >> @@ -0,0 +1,44 @@ > >> +# BSD LICENSE > >> +# > >> +# Copyright(c) 2016 Freescale Semiconductor, Inc. All rights reserved. > >> +# > >> +# Redistribution and use in source and binary forms, with or without > >> +# modification, are permitted provided that the following conditions > >> +# are met: > >> +# > >> +# * Redistributions of source code must retain the above copyright > >> +# notice, this list of conditions and the following disclaimer. > >> +# * Redistributions in binary form must reproduce the above copyright > >> +# notice, this list of conditions and the following disclaimer in > >> +# the documentation and/or other materials provided with the > >> +# distribution. > >> +# * Neither the name of Freescale Semiconductor nor the names of its > >> +# contributors may be used to endorse or promote products derived > >> +# from this software without specific prior written permission. > >> +# > >> +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS > >> +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT > >> +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR > >> +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT > >> +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, > >> +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT > >> +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, > >> +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY > >> +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT > >> +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE > >> +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > >> +# > >> + > >> +#include "defconfig_arm64-armv8a-linuxapp-gcc" > >> + > >> +# NXP (Freescale) - Soc Architecture with WRIOP and QBMAN support > >> +CONFIG_RTE_MACHINE="dpaa2" > >> +CONFIG_RTE_ARCH_ARM_TUNE="cortex-a57+fp+simd" > >> + > >> +# > >> +# Compile Environment Abstraction Layer > >> +# > >> +CONFIG_RTE_MAX_LCORE=8 > >> +CONFIG_RTE_MAX_NUMA_NODES=1 > >> +CONFIG_RTE_EAL_IGB_UIO=n > > > > I think it makes sense to move this option to generic arm64 config > > as upstream arm64 kernel does not have support for sysfs based PCI mmap > > resource file,(/sys/bus/pci/devices/B:D:F/resource[_wc]X) need for > > CONFIG_RTE_EAL_IGB_UIO to work) and use VFIO for all cases. > > > > Any objections? > > > Is there any conflict to keep both? I would like to avoid the case like below in dpdk.org ml. http://dpdk.org/ml/archives/dev/2016-January/031313.html
On 9 May 2016 at 20:11, Jerin Jacob <jerin.jacob@caviumnetworks.com> wrote: > On Mon, May 09, 2016 at 07:02:36PM +0800, Jianbo Liu wrote: >> On 9 May 2016 at 17:06, Jerin Jacob <jerin.jacob@caviumnetworks.com> wrote: >> > On Mon, May 09, 2016 at 07:18:22PM +0530, Hemant Agrawal wrote: >> >> This patch introduces dpaa2 machine target to address difference >> >> in cpu parameter, number of core to 8 and no numa support >> >> w.r.t default armv8-a machine >> >> >> >> Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> >> >> --- >> >> config/defconfig_arm64-dpaa2-linuxapp-gcc | 44 +++++++++++++++++++++++ >> >> mk/machine/dpaa2/rte.vars.mk | 60 +++++++++++++++++++++++++++++++ >> >> mk/rte.module.mk | 5 +++ >> >> 3 files changed, 109 insertions(+) >> >> create mode 100644 config/defconfig_arm64-dpaa2-linuxapp-gcc >> >> create mode 100644 mk/machine/dpaa2/rte.vars.mk >> >> >> >> diff --git a/config/defconfig_arm64-dpaa2-linuxapp-gcc b/config/defconfig_arm64-dpaa2-linuxapp-gcc >> >> new file mode 100644 >> >> index 0000000..80bda26 >> >> --- /dev/null >> >> +++ b/config/defconfig_arm64-dpaa2-linuxapp-gcc >> >> @@ -0,0 +1,44 @@ >> >> +# BSD LICENSE >> >> +# >> >> +# Copyright(c) 2016 Freescale Semiconductor, Inc. All rights reserved. >> >> +# >> >> +# Redistribution and use in source and binary forms, with or without >> >> +# modification, are permitted provided that the following conditions >> >> +# are met: >> >> +# >> >> +# * Redistributions of source code must retain the above copyright >> >> +# notice, this list of conditions and the following disclaimer. >> >> +# * Redistributions in binary form must reproduce the above copyright >> >> +# notice, this list of conditions and the following disclaimer in >> >> +# the documentation and/or other materials provided with the >> >> +# distribution. >> >> +# * Neither the name of Freescale Semiconductor nor the names of its >> >> +# contributors may be used to endorse or promote products derived >> >> +# from this software without specific prior written permission. >> >> +# >> >> +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS >> >> +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT >> >> +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR >> >> +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT >> >> +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, >> >> +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT >> >> +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, >> >> +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY >> >> +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT >> >> +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE >> >> +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. >> >> +# >> >> + >> >> +#include "defconfig_arm64-armv8a-linuxapp-gcc" >> >> + >> >> +# NXP (Freescale) - Soc Architecture with WRIOP and QBMAN support >> >> +CONFIG_RTE_MACHINE="dpaa2" >> >> +CONFIG_RTE_ARCH_ARM_TUNE="cortex-a57+fp+simd" >> >> + >> >> +# >> >> +# Compile Environment Abstraction Layer >> >> +# >> >> +CONFIG_RTE_MAX_LCORE=8 >> >> +CONFIG_RTE_MAX_NUMA_NODES=1 >> >> +CONFIG_RTE_EAL_IGB_UIO=n >> > >> > I think it makes sense to move this option to generic arm64 config >> > as upstream arm64 kernel does not have support for sysfs based PCI mmap >> > resource file,(/sys/bus/pci/devices/B:D:F/resource[_wc]X) need for >> > CONFIG_RTE_EAL_IGB_UIO to work) and use VFIO for all cases. >> > >> > Any objections? >> > >> Is there any conflict to keep both? > > I would like to avoid the case like below in dpdk.org ml. > http://dpdk.org/ml/archives/dev/2016-January/031313.html > So no conflict to enable both. I'd rather keep as it is for armv8a defconfig, becasue it's the base, any change may affect existing user.
On Mon, May 09, 2016 at 11:22:15PM +0800, Jianbo Liu wrote: > On 9 May 2016 at 20:11, Jerin Jacob <jerin.jacob@caviumnetworks.com> wrote: > > On Mon, May 09, 2016 at 07:02:36PM +0800, Jianbo Liu wrote: > >> On 9 May 2016 at 17:06, Jerin Jacob <jerin.jacob@caviumnetworks.com> wrote: > >> > On Mon, May 09, 2016 at 07:18:22PM +0530, Hemant Agrawal wrote: > >> >> This patch introduces dpaa2 machine target to address difference > >> >> in cpu parameter, number of core to 8 and no numa support > >> >> w.r.t default armv8-a machine > >> >> > >> >> Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> > >> >> --- Snip > >> >> +# > >> >> +# Compile Environment Abstraction Layer > >> >> +# > >> >> +CONFIG_RTE_MAX_LCORE=8 > >> >> +CONFIG_RTE_MAX_NUMA_NODES=1 > >> >> +CONFIG_RTE_EAL_IGB_UIO=n > >> > > >> > I think it makes sense to move this option to generic arm64 config > >> > as upstream arm64 kernel does not have support for sysfs based PCI mmap > >> > resource file,(/sys/bus/pci/devices/B:D:F/resource[_wc]X) need for > >> > CONFIG_RTE_EAL_IGB_UIO to work) and use VFIO for all cases. > >> > > >> > Any objections? > >> > > >> Is there any conflict to keep both? > > > > I would like to avoid the case like below in dpdk.org ml. > > http://dpdk.org/ml/archives/dev/2016-January/031313.html > > > So no conflict to enable both. IMO, Conflict part comes secondary, It does not even work with upstream kernel. Why keep the broken configuration? Two main reasons I think it makes sense to disable - It is broken, I don't think arm64 kernel developers likes non VFIO approach now. So mostly likely it will be broken - Trying to avoid out of tree patches wherever is possible as distribution folks like to work with upstream version. > I'd rather keep as it is for armv8a defconfig, becasue it's the base, > any change may affect existing user. IMO, It makes sense to disable at armv8a defconfig otherwise all armv8 variants need add CONFIG_RTE_EAL_IGB_UIO=n in all the configs and its arch specific issue.
On 10 May 2016 at 00:17, Jerin Jacob <jerin.jacob@caviumnetworks.com> wrote: > On Mon, May 09, 2016 at 11:22:15PM +0800, Jianbo Liu wrote: >> On 9 May 2016 at 20:11, Jerin Jacob <jerin.jacob@caviumnetworks.com> wrote: >> > On Mon, May 09, 2016 at 07:02:36PM +0800, Jianbo Liu wrote: >> >> On 9 May 2016 at 17:06, Jerin Jacob <jerin.jacob@caviumnetworks.com> wrote: >> >> > On Mon, May 09, 2016 at 07:18:22PM +0530, Hemant Agrawal wrote: >> >> >> This patch introduces dpaa2 machine target to address difference >> >> >> in cpu parameter, number of core to 8 and no numa support >> >> >> w.r.t default armv8-a machine >> >> >> >> >> >> Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> >> >> >> --- > > Snip > >> >> >> +# >> >> >> +# Compile Environment Abstraction Layer >> >> >> +# >> >> >> +CONFIG_RTE_MAX_LCORE=8 >> >> >> +CONFIG_RTE_MAX_NUMA_NODES=1 >> >> >> +CONFIG_RTE_EAL_IGB_UIO=n >> >> > >> >> > I think it makes sense to move this option to generic arm64 config >> >> > as upstream arm64 kernel does not have support for sysfs based PCI mmap >> >> > resource file,(/sys/bus/pci/devices/B:D:F/resource[_wc]X) need for >> >> > CONFIG_RTE_EAL_IGB_UIO to work) and use VFIO for all cases. >> >> > >> >> > Any objections? >> >> > >> >> Is there any conflict to keep both? >> > >> > I would like to avoid the case like below in dpdk.org ml. >> > http://dpdk.org/ml/archives/dev/2016-January/031313.html >> > >> So no conflict to enable both. > > IMO, Conflict part comes secondary, It does not even work with upstream kernel. > Why keep the broken configuration? Two main reasons I think it makes > sense to disable > - It is broken, I don't think arm64 kernel developers likes non VFIO approach I don't think DPDK user is kernel developer in most cases. They maybe like the traditional way. > now. So mostly likely it will be broken > - Trying to avoid out of tree patches wherever is possible as > distribution folks like to work with upstream version. Agree. But there is possible that people/company maintain their own kernel tree. > >> I'd rather keep as it is for armv8a defconfig, becasue it's the base, >> any change may affect existing user. > IMO, It makes sense to disable at armv8a defconfig otherwise all armv8 > variants need add CONFIG_RTE_EAL_IGB_UIO=n in all the configs and its > arch specific issue. We don't have to do that. You didn't explictly disable this config in your current defconfig_arm64-thunderx-linuxapp-gcc, but you know which module to bind.
On Tue, May 10, 2016 at 10:10:07AM +0800, Jianbo Liu wrote: > On 10 May 2016 at 00:17, Jerin Jacob <jerin.jacob@caviumnetworks.com> wrote: > > On Mon, May 09, 2016 at 11:22:15PM +0800, Jianbo Liu wrote: > >> On 9 May 2016 at 20:11, Jerin Jacob <jerin.jacob@caviumnetworks.com> wrote: > >> > On Mon, May 09, 2016 at 07:02:36PM +0800, Jianbo Liu wrote: > >> >> On 9 May 2016 at 17:06, Jerin Jacob <jerin.jacob@caviumnetworks.com> wrote: > >> >> > On Mon, May 09, 2016 at 07:18:22PM +0530, Hemant Agrawal wrote: > >> >> >> This patch introduces dpaa2 machine target to address difference > >> >> >> in cpu parameter, number of core to 8 and no numa support > >> >> >> w.r.t default armv8-a machine > >> >> >> > >> >> >> Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> > >> >> >> --- > > > > Snip > > > >> >> >> +# > >> >> >> +# Compile Environment Abstraction Layer > >> >> >> +# > >> >> >> +CONFIG_RTE_MAX_LCORE=8 > >> >> >> +CONFIG_RTE_MAX_NUMA_NODES=1 > >> >> >> +CONFIG_RTE_EAL_IGB_UIO=n > >> >> > > >> >> > I think it makes sense to move this option to generic arm64 config > >> >> > as upstream arm64 kernel does not have support for sysfs based PCI mmap > >> >> > resource file,(/sys/bus/pci/devices/B:D:F/resource[_wc]X) need for > >> >> > CONFIG_RTE_EAL_IGB_UIO to work) and use VFIO for all cases. > >> >> > > >> >> > Any objections? > >> >> > > >> >> Is there any conflict to keep both? > >> > > >> > I would like to avoid the case like below in dpdk.org ml. > >> > http://dpdk.org/ml/archives/dev/2016-January/031313.html > >> > > >> So no conflict to enable both. > > > > IMO, Conflict part comes secondary, It does not even work with upstream kernel. > > Why keep the broken configuration? Two main reasons I think it makes > > sense to disable > > - It is broken, I don't think arm64 kernel developers likes non VFIO approach > I don't think DPDK user is kernel developer in most cases. They maybe > like the traditional way. But, the traditional way is _broken_. If we create the shortcut in dpdk.org then upstream arm64 linux kernel will never get fixed.I attempted twice to fix it, but arm64 kernel developers like VFIO approach. if you think it makes sense to have traditional way then can you upstream the patch to the arm64 linux kernel and add it in common config Technically, with VFIO and VFIONOIOMMU way we can replace the need for uio in both host and virtualization use cases for arm64. > > now. So mostly likely it will be broken > > - Trying to avoid out of tree patches wherever is possible as > > distribution folks like to work with upstream version. > Agree. But there is possible that people/company maintain their own kernel tree. This excactly same thing we would like to avoid in long term. > > > >> I'd rather keep as it is for armv8a defconfig, becasue it's the base, > >> any change may affect existing user. > > IMO, It makes sense to disable at armv8a defconfig otherwise all armv8 > > variants need add CONFIG_RTE_EAL_IGB_UIO=n in all the configs and its > > arch specific issue. > We don't have to do that. > You didn't explictly disable this config in your current > defconfig_arm64-thunderx-linuxapp-gcc, but you know which module to > bind. But not all the end users.
diff --git a/config/defconfig_arm64-dpaa2-linuxapp-gcc b/config/defconfig_arm64-dpaa2-linuxapp-gcc new file mode 100644 index 0000000..80bda26 --- /dev/null +++ b/config/defconfig_arm64-dpaa2-linuxapp-gcc @@ -0,0 +1,44 @@ +# BSD LICENSE +# +# Copyright(c) 2016 Freescale Semiconductor, Inc. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Freescale Semiconductor nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +#include "defconfig_arm64-armv8a-linuxapp-gcc" + +# NXP (Freescale) - Soc Architecture with WRIOP and QBMAN support +CONFIG_RTE_MACHINE="dpaa2" +CONFIG_RTE_ARCH_ARM_TUNE="cortex-a57+fp+simd" + +# +# Compile Environment Abstraction Layer +# +CONFIG_RTE_MAX_LCORE=8 +CONFIG_RTE_MAX_NUMA_NODES=1 +CONFIG_RTE_EAL_IGB_UIO=n +CONFIG_RTE_EAL_VFIO=y diff --git a/mk/machine/dpaa2/rte.vars.mk b/mk/machine/dpaa2/rte.vars.mk new file mode 100644 index 0000000..8541633 --- /dev/null +++ b/mk/machine/dpaa2/rte.vars.mk @@ -0,0 +1,60 @@ +# BSD LICENSE +# +# Copyright(c) 2016 Freescale Semiconductor, Inc. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Freescale Semiconductor nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# +# 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 = +MACHINE_CFLAGS += -march=armv8-a + +ifdef CONFIG_RTE_ARCH_ARM_TUNE +MACHINE_CFLAGS += -mcpu=$(CONFIG_RTE_ARCH_ARM_TUNE) +endif diff --git a/mk/rte.module.mk b/mk/rte.module.mk index 53ed4fe..09bf51b 100644 --- a/mk/rte.module.mk +++ b/mk/rte.module.mk @@ -29,6 +29,11 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#### Linaro toolchain usages arm64 instread of aarch64 in kernel +ifeq ($(ARCH), aarch64) +ARCH = arm64 +endif + ##### if sourced from kernel Kbuild system ifneq ($(KERNELRELEASE),) override EXTRA_CFLAGS = $(MODULE_CFLAGS) $(EXTRA_KERNEL_CFLAGS)