[dpdk-dev] [PATCH v3 00/14] Patches for DPDK to support Power architecture
Chao Zhu
chaozhu at linux.vnet.ibm.com
Mon Nov 24 02:22:08 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. 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 v3 patch updates eal_memory.c
to fix the memory zone allocation and also solves the compiling problems of test-pmd.
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 | 33 +-
app/test/test_cpuflags.c | 35 ++
app/test/test_malloc.c | 8 +-
app/test/test_memzone.c | 123 ++++++-
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 | 15 +-
.../common/include/arch/ppc_64/rte_atomic.h | 415 ++++++++++++++++++++
.../common/include/arch/ppc_64/rte_byteorder.h | 150 +++++++
.../common/include/arch/ppc_64/rte_cpuflags.h | 184 +++++++++
.../common/include/arch/ppc_64/rte_cycles.h | 86 ++++
.../common/include/arch/ppc_64/rte_memcpy.h | 224 +++++++++++
.../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 | 13 +-
lib/librte_eal/linuxapp/eal/eal_memory.c | 75 +++-
mk/arch/ppc_64/rte.vars.mk | 39 ++
mk/machine/power8/rte.vars.mk | 57 +++
mk/rte.cpuflags.mk | 17 +
24 files changed, 2015 insertions(+), 49 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
More information about the dev
mailing list