[dpdk-dev] [PATCH v5 00/14] Patches for DPDK to support Power architecture

Chao Zhu chaozhu at linux.vnet.ibm.com
Tue Nov 25 23:17:03 CET 2014


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. To compile on PPC64 architecture,
GCC version >= 4.8 must be used. According to Bruce and Neil's comments,
this v5 patch removed the common configuration files of Powerpc in v4.
Also, it 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/defconfig_ppc_64-power8-linuxapp-gcc        |   72 ++++
 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 +
 23 files changed, 1699 insertions(+), 59 deletions(-)
 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



More information about the dev mailing list