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 function on Power processors. Many functions are turned off in configuratidon. More patches will be added continuesly.
Chao Zhu (12): 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 sizes for IBM Power architecture Add memory support for IBM Power Architecture app/test/test_cpuflags.c | 35 ++ app/test/test_malloc.c | 8 +- app/test/test_mbuf.c | 2 +- app/test/test_memzone.c | 119 ++++++- config/common_linuxapp_powerpc | 388 ++++++++++++++++++++ config/defconfig_ppc_64-native-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/powerpc/arch/rte_atomic.h | 387 +++++++++++++++++++ .../common/include/powerpc/arch/rte_atomic_arch.h | 318 ++++++++++++++++ .../include/powerpc/arch/rte_byteorder_arch.h | 79 ++++ .../include/powerpc/arch/rte_cpuflags_arch.h | 199 ++++++++++ .../common/include/powerpc/arch/rte_cycles_arch.h | 67 ++++ .../common/include/powerpc/arch/rte_memcpy_arch.h | 129 +++++++ .../include/powerpc/arch/rte_prefetch_arch.h | 67 ++++ .../include/powerpc/arch/rte_spinlock_arch.h | 88 +++++ lib/librte_eal/common/include/rte_byteorder.h | 66 ++++ 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 | 16 +- lib/librte_eal/linuxapp/eal/eal_memory.c | 19 +- mk/arch/powerpc/rte.vars.mk | 39 ++ mk/machine/powerpc/rte.vars.mk | 57 +++ mk/rte.cpuflags.mk | 17 + 26 files changed, 2161 insertions(+), 16 deletions(-) create mode 100644 config/common_linuxapp_powerpc create mode 100644 config/defconfig_ppc_64-native-linuxapp-gcc create mode 100644 lib/librte_eal/common/include/powerpc/arch/rte_atomic.h create mode 100644 lib/librte_eal/common/include/powerpc/arch/rte_atomic_arch.h create mode 100644 lib/librte_eal/common/include/powerpc/arch/rte_byteorder_arch.h create mode 100644 lib/librte_eal/common/include/powerpc/arch/rte_cpuflags_arch.h create mode 100644 lib/librte_eal/common/include/powerpc/arch/rte_cycles_arch.h create mode 100644 lib/librte_eal/common/include/powerpc/arch/rte_memcpy_arch.h create mode 100644 lib/librte_eal/common/include/powerpc/arch/rte_prefetch_arch.h create mode 100644 lib/librte_eal/common/include/powerpc/arch/rte_spinlock_arch.h create mode 100644 mk/arch/powerpc/rte.vars.mk create mode 100644 mk/machine/powerpc/rte.vars.mk