Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/8561/?format=api
https://patches.dpdk.org/api/patches/8561/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/patch/1446508048-16744-15-git-send-email-viktorin@rehivetech.com/", "project": { "id": 1, "url": "https://patches.dpdk.org/api/projects/1/?format=api", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<1446508048-16744-15-git-send-email-viktorin@rehivetech.com>", "list_archive_url": "https://inbox.dpdk.org/dev/1446508048-16744-15-git-send-email-viktorin@rehivetech.com", "date": "2015-11-02T23:47:27", "name": "[dpdk-dev,v6,14/15] mk: Introduce ARMv7 architecture", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": true, "hash": "60f47e963e4d5274de3aaa4bb9ab14ff0b4b5fa5", "submitter": { "id": 292, "url": "https://patches.dpdk.org/api/people/292/?format=api", "name": "Jan Viktorin", "email": "viktorin@rehivetech.com" }, "delegate": null, "mbox": "https://patches.dpdk.org/project/dpdk/patch/1446508048-16744-15-git-send-email-viktorin@rehivetech.com/mbox/", "series": [], "comments": "https://patches.dpdk.org/api/patches/8561/comments/", "check": "pending", "checks": "https://patches.dpdk.org/api/patches/8561/checks/", "tags": {}, "related": [], "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])\n\tby dpdk.org (Postfix) with ESMTP id 1FBDF91F5;\n\tTue, 3 Nov 2015 00:50:34 +0100 (CET)", "from wes1-so1.wedos.net (wes1-so1.wedos.net [46.28.106.15])\n\tby dpdk.org (Postfix) with ESMTP id F2D328E7D\n\tfor <dev@dpdk.org>; Tue, 3 Nov 2015 00:50:22 +0100 (CET)", "from pcviktorin.fit.vutbr.cz (pcviktorin.fit.vutbr.cz\n\t[147.229.13.147])\n\tby wes1-so1.wedos.net (Postfix) with ESMTPSA id 3nqWFp4zFhzpp;\n\tTue, 3 Nov 2015 00:50:22 +0100 (CET)" ], "From": "Jan Viktorin <viktorin@rehivetech.com>", "To": "david.marchand@6wind.com, David Hunt <david.hunt@intel.com>,\n\tThomas Monjalon <thomas.monjalon@6wind.com>,\n\tJerin Jacob <jerin.jacob@caviumnetworks.com>", "Date": "Tue, 3 Nov 2015 00:47:27 +0100", "Message-Id": "<1446508048-16744-15-git-send-email-viktorin@rehivetech.com>", "X-Mailer": "git-send-email 2.6.2", "In-Reply-To": "<1446508048-16744-1-git-send-email-viktorin@rehivetech.com>", "References": "<1446508048-16744-1-git-send-email-viktorin@rehivetech.com>", "Cc": "Vlastimil Kosar <kosar@rehivetech.com>, dev@dpdk.org", "Subject": "[dpdk-dev] [PATCH v6 14/15] mk: Introduce ARMv7 architecture", "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>,\n\t<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>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "content": "From: Vlastimil Kosar <kosar@rehivetech.com>\n\nMake DPDK run on ARMv7-A architecture. This patch assumes\nARM Cortex-A9. However, it is known to be working on Cortex-A7\nand Cortex-A15.\n\nSigned-off-by: Vlastimil Kosar <kosar@rehivetech.com>\nSigned-off-by: Jan Viktorin <viktorin@rehivetech.com>\n---\nv2:\n* the -mtune parameter of GCC is configurable now\n* the -mfpu=neon can be turned off\n\nv3: XMM_SIZE is defined in rte_vect.h in a following patch\n\nv4:\n* update release notes for 2.2\n* get rid of CONFIG_RTE_BITMAP_OPTIMIZATIONS=0 setting\n* rename arm defconfig: \"armv7-a\" -> \"arvm7a\"\n* disable pipeline and table modules unless lpm is fixed\n---\n config/defconfig_arm-armv7a-linuxapp-gcc | 76 ++++++++++++++++++++++++++++++++\n doc/guides/rel_notes/release_2_2.rst | 5 +++\n mk/arch/arm/rte.vars.mk | 39 ++++++++++++++++\n mk/machine/armv7-a/rte.vars.mk | 67 ++++++++++++++++++++++++++++\n 4 files changed, 187 insertions(+)\n create mode 100644 config/defconfig_arm-armv7a-linuxapp-gcc\n create mode 100644 mk/arch/arm/rte.vars.mk\n create mode 100644 mk/machine/armv7-a/rte.vars.mk", "diff": "diff --git a/config/defconfig_arm-armv7a-linuxapp-gcc b/config/defconfig_arm-armv7a-linuxapp-gcc\nnew file mode 100644\nindex 0000000..82143af\n--- /dev/null\n+++ b/config/defconfig_arm-armv7a-linuxapp-gcc\n@@ -0,0 +1,76 @@\n+# BSD LICENSE\n+#\n+# Copyright (C) 2015 RehiveTech. All right reserved.\n+#\n+# Redistribution and use in source and binary forms, with or without\n+# modification, are permitted provided that the following conditions\n+# are met:\n+#\n+# * Redistributions of source code must retain the above copyright\n+# notice, this list of conditions and the following disclaimer.\n+# * Redistributions in binary form must reproduce the above copyright\n+# notice, this list of conditions and the following disclaimer in\n+# the documentation and/or other materials provided with the\n+# distribution.\n+# * Neither the name of RehiveTech nor the names of its\n+# contributors may be used to endorse or promote products derived\n+# from this software without specific prior written permission.\n+#\n+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n+# \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n+\n+#include \"common_linuxapp\"\n+\n+CONFIG_RTE_MACHINE=\"armv7-a\"\n+\n+CONFIG_RTE_ARCH=\"arm\"\n+CONFIG_RTE_ARCH_ARM=y\n+CONFIG_RTE_ARCH_ARMv7=y\n+CONFIG_RTE_ARCH_ARM_TUNE=\"cortex-a9\"\n+CONFIG_RTE_ARCH_ARM_NEON=y\n+\n+CONFIG_RTE_FORCE_INTRINSICS=y\n+\n+CONFIG_RTE_TOOLCHAIN=\"gcc\"\n+CONFIG_RTE_TOOLCHAIN_GCC=y\n+\n+# ARM doesn't have support for vmware TSC map\n+CONFIG_RTE_LIBRTE_EAL_VMWARE_TSC_MAP_SUPPORT=n\n+\n+# KNI is not supported on 32-bit\n+CONFIG_RTE_LIBRTE_KNI=n\n+\n+# PCI is usually not used on ARM\n+CONFIG_RTE_EAL_IGB_UIO=n\n+\n+# fails to compile on ARM\n+CONFIG_RTE_LIBRTE_ACL=n\n+CONFIG_RTE_LIBRTE_LPM=n\n+CONFIG_RTE_LIBRTE_TABLE=n\n+CONFIG_RTE_LIBRTE_PIPELINE=n\n+\n+# cannot use those on ARM\n+CONFIG_RTE_KNI_KMOD=n\n+CONFIG_RTE_LIBRTE_EM_PMD=n\n+CONFIG_RTE_LIBRTE_IGB_PMD=n\n+CONFIG_RTE_LIBRTE_CXGBE_PMD=n\n+CONFIG_RTE_LIBRTE_E1000_PMD=n\n+CONFIG_RTE_LIBRTE_ENIC_PMD=n\n+CONFIG_RTE_LIBRTE_FM10K_PMD=n\n+CONFIG_RTE_LIBRTE_I40E_PMD=n\n+CONFIG_RTE_LIBRTE_IXGBE_PMD=n\n+CONFIG_RTE_LIBRTE_MLX4_PMD=n\n+CONFIG_RTE_LIBRTE_MPIPE_PMD=n\n+CONFIG_RTE_LIBRTE_VIRTIO_PMD=n\n+CONFIG_RTE_LIBRTE_VMXNET3_PMD=n\n+CONFIG_RTE_LIBRTE_PMD_XENVIRT=n\n+CONFIG_RTE_LIBRTE_PMD_BNX2X=n\ndiff --git a/doc/guides/rel_notes/release_2_2.rst b/doc/guides/rel_notes/release_2_2.rst\nindex be6f827..43a3a3c 100644\n--- a/doc/guides/rel_notes/release_2_2.rst\n+++ b/doc/guides/rel_notes/release_2_2.rst\n@@ -23,6 +23,11 @@ New Features\n \n * **Added vhost-user multiple queue support.**\n \n+* **Introduce ARMv7 architecture**\n+\n+ It is now possible to build DPDK for the ARMv7 platform and test with\n+ virtual PMD drivers.\n+\n \n Resolved Issues\n ---------------\ndiff --git a/mk/arch/arm/rte.vars.mk b/mk/arch/arm/rte.vars.mk\nnew file mode 100644\nindex 0000000..df0c043\n--- /dev/null\n+++ b/mk/arch/arm/rte.vars.mk\n@@ -0,0 +1,39 @@\n+# BSD LICENSE\n+#\n+# Copyright (C) 2015 RehiveTech. All rights reserved.\n+#\n+# Redistribution and use in source and binary forms, with or without\n+# modification, are permitted provided that the following conditions\n+# are met:\n+#\n+# * Redistributions of source code must retain the above copyright\n+# notice, this list of conditions and the following disclaimer.\n+# * Redistributions in binary form must reproduce the above copyright\n+# notice, this list of conditions and the following disclaimer in\n+# the documentation and/or other materials provided with the\n+# distribution.\n+# * Neither the name of RehiveTech nor the names of its\n+# contributors may be used to endorse or promote products derived\n+# from this software without specific prior written permission.\n+#\n+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n+# \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n+\n+\n+ARCH ?= arm\n+CROSS ?=\n+\n+CPU_CFLAGS ?= -marm -DRTE_CACHE_LINE_SIZE=64 -munaligned-access\n+CPU_LDFLAGS ?=\n+CPU_ASFLAGS ?= -felf\n+\n+export ARCH CROSS CPU_CFLAGS CPU_LDFLAGS CPU_ASFLAGS\ndiff --git a/mk/machine/armv7-a/rte.vars.mk b/mk/machine/armv7-a/rte.vars.mk\nnew file mode 100644\nindex 0000000..48d3979\n--- /dev/null\n+++ b/mk/machine/armv7-a/rte.vars.mk\n@@ -0,0 +1,67 @@\n+# BSD LICENSE\n+#\n+# Copyright (C) 2015 RehiveTech. All rights reserved.\n+#\n+# Redistribution and use in source and binary forms, with or without\n+# modification, are permitted provided that the following conditions\n+# are met:\n+#\n+# * Redistributions of source code must retain the above copyright\n+# notice, this list of conditions and the following disclaimer.\n+# * Redistributions in binary form must reproduce the above copyright\n+# notice, this list of conditions and the following disclaimer in\n+# the documentation and/or other materials provided with the\n+# distribution.\n+# * Neither the name of RehiveTech nor the names of its\n+# contributors may be used to endorse or promote products derived\n+# from this software without specific prior written permission.\n+#\n+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n+# \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n+\n+#\n+# machine:\n+#\n+# - can define ARCH variable (overridden by cmdline value)\n+# - can define CROSS variable (overridden by cmdline value)\n+# - define MACHINE_CFLAGS variable (overridden by cmdline value)\n+# - define MACHINE_LDFLAGS variable (overridden by cmdline value)\n+# - define MACHINE_ASFLAGS variable (overridden by cmdline value)\n+# - can define CPU_CFLAGS variable (overridden by cmdline value) that\n+# overrides the one defined in arch.\n+# - can define CPU_LDFLAGS variable (overridden by cmdline value) that\n+# overrides the one defined in arch.\n+# - can define CPU_ASFLAGS variable (overridden by cmdline value) that\n+# overrides the one defined in arch.\n+# - may override any previously defined variable\n+#\n+\n+# ARCH =\n+# CROSS =\n+# MACHINE_CFLAGS =\n+# MACHINE_LDFLAGS =\n+# MACHINE_ASFLAGS =\n+# CPU_CFLAGS =\n+# CPU_LDFLAGS =\n+# CPU_ASFLAGS =\n+\n+CPU_CFLAGS += -mfloat-abi=softfp\n+\n+MACHINE_CFLAGS += -march=armv7-a\n+\n+ifdef CONFIG_RTE_ARCH_ARM_TUNE\n+MACHINE_CFLAGS += -mtune=$(CONFIG_RTE_ARCH_ARM_TUNE)\n+endif\n+\n+ifeq ($(CONFIG_RTE_ARCH_ARM_NEON),y)\n+MACHINE_CFLAGS += -mfpu=neon\n+endif\n", "prefixes": [ "dpdk-dev", "v6", "14/15" ] }{ "id": 8561, "url": "