From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from wes1-so1.wedos.net (wes1-so1.wedos.net [46.28.106.15]) by dpdk.org (Postfix) with ESMTP id 8A1696A80 for ; Mon, 26 Oct 2015 17:23:42 +0100 (CET) Received: from pcviktorin.fit.vutbr.cz (pcviktorin.fit.vutbr.cz [147.229.13.147]) by wes1-so1.wedos.net (Postfix) with ESMTPSA id 3nl1gc45STz4qf; Mon, 26 Oct 2015 17:23:40 +0100 (CET) Date: Mon, 26 Oct 2015 17:21:53 +0100 From: Jan Viktorin To: David Hunt Message-ID: <20151026172153.26b99df3@pcviktorin.fit.vutbr.cz> In-Reply-To: <1445609833-17649-1-git-send-email-david.hunt@intel.com> References: <1445609833-17649-1-git-send-email-david.hunt@intel.com> Organization: RehiveTech MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: dev@dpdk.org, ben.boren@intel.com Subject: Re: [dpdk-dev] [PATCH 00/11] add armv8 architecture support X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Oct 2015 16:23:42 -0000 Hello David, thanks for this series. I'am sending few comments to the code as well. Soon, I will have an ARMv8 board available so I will be able to test it. Probably, we can just reinclude some headers from arm/ directory for ARMv8 as they are not different. Jan On Fri, 23 Oct 2015 15:17:02 +0100 David Hunt wrote: > This patch provides support for the ARMv8 architecture. We hope that this will > encourage the ARM community to contribute PMDs for their SoCs to DPDK. > > For now, we've added Intel engineers to the MAINTAINERS file. We would like to > encourage the ARM community to take over maintenance of this area in future, > and to further improve it. > > ACL and LPM libraries have been disabled in the config due to their reliance > on SSE. > > This patch was tested on an Applied Micro X-Gene Mustang board (pcap only) > > This patch was also tested with an Intel 82599 NIC on a Gigabyte MP30-AR0 > passing traffic between the two NIC ports using testpmd. > > Notes on DPDK configuration: > > Did not use igb_uio or kni so the following optionse were disabled in > config/common_linuxapp > > CONFIG_RTE_EAL_IGB_UIO=n > CONFIG_RTE_LIBRTE_KNI=n > CONFIG_RTE_KNI_KMOD=n > > make config T=arm64-native-linuxapp-gcc > make install T=arm64-native-linuxapp-gcc > > Notes on arm64 kernel configuration: > > Using Ubuntu 14.04 LTS with a 4.3.0-rc6 kernel (with modified PCI drivers), > and uio_pci_generic. > ARM64 kernels do not seem to have functional resource mapping of PCI memory > (PCI_MMAP), so the pci driver needs to be patched to enable this. The > symptom of this is when /sys/bus/pci/devices/0000:0X:00.Y directory is > missing the resource0...N files for mmapping the device memory. Earlier > kernels (3.13.x) had these files present, but mmap'ping resulted in a > "Bus Error" when the NIC memory was accessed. > However, during limited testing with a modified 4.3.0-rc6 kernel, we were > able to mmap the NIC memory, and pass traffic between the two ports on a > 82599 NIC connected via fibre cable. > We have no plans to upstream a kernel patch for this and hope that > someone more familiar with the arm architecture can create a proper patch > and enable this functionality. > > Benjamin Boren (11): > lib: add armv8 rte_atomic.h > lib: add armv8 rte_byteorder.h > lib: add armv8 rte_cpuflags.h > lib: add armv8 rte_cycles.h > lib: add armv8 rte_memcpy.h > lib: add armv8 rte_prefetch.h > lib: add armv8 rte_rwlock.h > lib: add armv8 rte_spinlock.h > lib: add armv8 rte_vect.h > mk: add makefile and config changes for armv8 architecture > app: add armv8 cpuflags check to test_cpuflags application > > MAINTAINERS | 6 + > app/test/test_cpuflags.c | 17 ++ > config/defconfig_arm64-native-linuxapp-gcc | 55 +++++ > .../common/include/arch/arm64/rte_atomic.h | 269 +++++++++++++++++++++ > .../common/include/arch/arm64/rte_byteorder.h | 157 ++++++++++++ > .../common/include/arch/arm64/rte_cpuflags.h | 137 +++++++++++ > .../common/include/arch/arm64/rte_cycles.h | 77 ++++++ > .../common/include/arch/arm64/rte_memcpy.h | 266 ++++++++++++++++++++ > .../common/include/arch/arm64/rte_prefetch.h | 61 +++++ > .../common/include/arch/arm64/rte_rwlock.h | 70 ++++++ > .../common/include/arch/arm64/rte_spinlock.h | 114 +++++++++ > .../common/include/arch/arm64/rte_vect.h | 102 ++++++++ > mk/arch/arm64/rte.vars.mk | 58 +++++ > mk/machine/armv8-a/rte.vars.mk | 57 +++++ > mk/rte.cpuflags.mk | 9 + > 15 files changed, 1455 insertions(+) > create mode 100644 config/defconfig_arm64-native-linuxapp-gcc > create mode 100644 lib/librte_eal/common/include/arch/arm64/rte_atomic.h > create mode 100644 lib/librte_eal/common/include/arch/arm64/rte_byteorder.h > create mode 100644 lib/librte_eal/common/include/arch/arm64/rte_cpuflags.h > create mode 100644 lib/librte_eal/common/include/arch/arm64/rte_cycles.h > create mode 100644 lib/librte_eal/common/include/arch/arm64/rte_memcpy.h > create mode 100644 lib/librte_eal/common/include/arch/arm64/rte_prefetch.h > create mode 100644 lib/librte_eal/common/include/arch/arm64/rte_rwlock.h > create mode 100644 lib/librte_eal/common/include/arch/arm64/rte_spinlock.h > create mode 100644 lib/librte_eal/common/include/arch/arm64/rte_vect.h > create mode 100644 mk/arch/arm64/rte.vars.mk > create mode 100644 mk/machine/armv8-a/rte.vars.mk > -- Jan Viktorin E-mail: Viktorin@RehiveTech.com System Architect Web: www.RehiveTech.com RehiveTech Brno, Czech Republic