From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from e23smtp08.au.ibm.com (e23smtp08.au.ibm.com [202.81.31.141]) by dpdk.org (Postfix) with ESMTP id 7E8CB7F44 for ; Tue, 25 Nov 2014 03:32:38 +0100 (CET) Received: from /spool/local by e23smtp08.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 25 Nov 2014 12:43:27 +1000 Received: from d23dlp02.au.ibm.com (202.81.31.213) by e23smtp08.au.ibm.com (202.81.31.205) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Tue, 25 Nov 2014 12:43:24 +1000 Received: from d23relay06.au.ibm.com (d23relay06.au.ibm.com [9.185.63.219]) by d23dlp02.au.ibm.com (Postfix) with ESMTP id 1C7492BB006D for ; Tue, 25 Nov 2014 13:43:24 +1100 (EST) Received: from d23av03.au.ibm.com (d23av03.au.ibm.com [9.190.234.97]) by d23relay06.au.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id sAP2hFNY36044926 for ; Tue, 25 Nov 2014 13:43:24 +1100 Received: from d23av03.au.ibm.com (localhost [127.0.0.1]) by d23av03.au.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id sAP2goNE026589 for ; Tue, 25 Nov 2014 13:42:50 +1100 Received: from os_controller.crl.ibm.com ([9.186.57.97]) by d23av03.au.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id sAP2gnrm026184 for ; Tue, 25 Nov 2014 13:42:50 +1100 From: Chao Zhu To: dev@dpdk.org Date: Tue, 25 Nov 2014 09:43:32 -0500 Message-Id: <1416926626-7942-1-git-send-email-chaozhu@linux.vnet.ibm.com> X-Mailer: git-send-email 1.7.1 X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 14112502-0029-0000-0000-000000AAD6AB Subject: [dpdk-dev] [PATCH v4 00/14] Patches for DPDK to support Power architecture 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: Tue, 25 Nov 2014 02:32:39 -0000 The set of patches add IBM Power architecture to the DPDK. It adds the required support to the EAL library. This set of patches doesn't support full DPDK function on Power processors. So a separate common configuration file is used for Power to turn off some un-migrated functions. To compile on PPC64 architecture, GCC version >= 4.8 must be used. This v4 patch fixed the checkpatch issues in v3. The only unsolved checkpatch issue is : ERROR: space prohibited before open square bracket '[' This issue refers to the asm code input/output naming. But I think the error is invalid. Chao Zhu (14): Add compiling definations for IBM Power architecture Add atomic operations for IBM Power architecture Add byte order operations for IBM Power architecture Add CPU cycle operations for IBM Power architecture Add prefetch operation for IBM Power architecture Add spinlock operation for IBM Power architecture Add vector memcpy for IBM Power architecture Add CPU flag checking for IBM Power architecture Remove iopl operation for IBM Power architecture Add cache size define for IBM Power Architecture Add huge page size define for IBM Power architecture Add eal memory support for IBM Power Architecture test_memzone:fix finding the second smallest segment Fix the compiling of test-pmd on IBM Power Architecture app/test-pmd/config.c | 39 ++- app/test/test_cpuflags.c | 35 ++ app/test/test_malloc.c | 8 +- app/test/test_memzone.c | 132 ++++++- config/common_linuxapp_powerpc | 394 ++++++++++++++++++ config/defconfig_ppc_64-power8-linuxapp-gcc | 42 ++ config/defconfig_x86_64-native-linuxapp-clang | 1 + config/defconfig_x86_64-native-linuxapp-gcc | 1 + config/defconfig_x86_64-native-linuxapp-icc | 1 + lib/librte_eal/common/eal_common_memzone.c | 19 +- .../common/include/arch/ppc_64/rte_atomic.h | 427 ++++++++++++++++++++ .../common/include/arch/ppc_64/rte_byteorder.h | 150 +++++++ .../common/include/arch/ppc_64/rte_cpuflags.h | 187 +++++++++ .../common/include/arch/ppc_64/rte_cycles.h | 88 ++++ .../common/include/arch/ppc_64/rte_memcpy.h | 226 +++++++++++ .../common/include/arch/ppc_64/rte_prefetch.h | 61 +++ .../common/include/arch/ppc_64/rte_spinlock.h | 73 ++++ lib/librte_eal/common/include/rte_memory.h | 9 +- lib/librte_eal/common/include/rte_memzone.h | 8 + lib/librte_eal/linuxapp/eal/eal.c | 17 +- lib/librte_eal/linuxapp/eal/eal_memory.c | 91 +++-- mk/arch/ppc_64/rte.vars.mk | 39 ++ mk/machine/power8/rte.vars.mk | 57 +++ mk/rte.cpuflags.mk | 17 + 24 files changed, 2063 insertions(+), 59 deletions(-) create mode 100644 config/common_linuxapp_powerpc create mode 100644 config/defconfig_ppc_64-power8-linuxapp-gcc create mode 100644 lib/librte_eal/common/include/arch/ppc_64/rte_atomic.h create mode 100644 lib/librte_eal/common/include/arch/ppc_64/rte_byteorder.h create mode 100644 lib/librte_eal/common/include/arch/ppc_64/rte_cpuflags.h create mode 100644 lib/librte_eal/common/include/arch/ppc_64/rte_cycles.h create mode 100644 lib/librte_eal/common/include/arch/ppc_64/rte_memcpy.h create mode 100644 lib/librte_eal/common/include/arch/ppc_64/rte_prefetch.h create mode 100644 lib/librte_eal/common/include/arch/ppc_64/rte_spinlock.h create mode 100644 mk/arch/ppc_64/rte.vars.mk create mode 100644 mk/machine/power8/rte.vars.mk