[dpdk-dev] [RFC 00/12] introduce s390x architecture
Vivian Kong
vivkong at gmail.com
Tue Apr 9 21:06:18 CEST 2019
To build and run DPDK on Linux on IBM Z (s390x), big endian support
is added and s390x vector intrinics are used in the implementation
of DPDK libraries.
I appreciate your feedback.
Vivian Kong (12):
mk: introduce s390x architecture
eal: add support for s390x architecture
acl: add support for s390x architecture
lpm: add support for s390x architecture
examples/l3fwd: add support for s390x architecture
net/i40e: add support for s390x architecture
test: add support for s390x architecture
hash: add support for s390x architecture
doc: introduce s390x architecture
ethdev: add cast for bus_device
mbuf: trivial fix
test: miscellaneous test fixes
MAINTAINERS | 9 +
app/test-acl/main.c | 4 +
app/test/autotest_data.py | 2 +-
app/test/test_cmdline.c | 6 +-
app/test/test_cmdline_ipaddr.c | 13 +-
app/test/test_cmdline_num.c | 111 +++
app/test/test_xmmt_ops.h | 14 +
config/defconfig_s390x-native-linux-gcc | 1 +
config/defconfig_s390x-native-linuxapp-gcc | 33 +
doc/guides/nics/features/i40e.ini | 1 +
doc/guides/nics/features/i40e_vec.ini | 1 +
doc/guides/rel_notes/release_19_05.rst | 3 +
drivers/net/i40e/Makefile | 2 +
drivers/net/i40e/i40e_rxtx_vec_s390x.c | 631 ++++++++++++++++++
examples/l3fwd/l3fwd_em.c | 8 +
examples/l3fwd/l3fwd_lpm_s390x.h | 137 ++++
examples/l3fwd/l3fwd_s390x.h | 259 +++++++
lib/librte_acl/Makefile | 2 +
lib/librte_acl/acl_bld.c | 69 +-
lib/librte_acl/acl_gen.c | 9 +
lib/librte_acl/acl_run_scalar.c | 8 +
lib/librte_acl/rte_acl.c | 4 +
lib/librte_acl/rte_acl.h | 1 +
.../common/arch/s390x/rte_cpuflags.c | 90 +++
lib/librte_eal/common/arch/s390x/rte_cycles.c | 11 +
.../common/arch/s390x/rte_hypervisor.c | 11 +
.../common/include/arch/s390x/rte_atomic.h | 47 ++
.../common/include/arch/s390x/rte_byteorder.h | 43 ++
.../common/include/arch/s390x/rte_cpuflags.h | 42 ++
.../common/include/arch/s390x/rte_cycles.h | 44 ++
.../common/include/arch/s390x/rte_io.h | 18 +
.../common/include/arch/s390x/rte_memcpy.h | 55 ++
.../common/include/arch/s390x/rte_pause.h | 22 +
.../common/include/arch/s390x/rte_prefetch.h | 40 ++
.../common/include/arch/s390x/rte_rwlock.h | 42 ++
.../common/include/arch/s390x/rte_spinlock.h | 85 +++
.../include/arch/s390x/rte_ticketlock.h | 18 +
.../common/include/arch/s390x/rte_vect.h | 33 +
lib/librte_ethdev/rte_ethdev_pci.h | 2 +-
lib/librte_hash/rte_fbk_hash.h | 7 +
lib/librte_lpm/Makefile | 2 +
lib/librte_lpm/meson.build | 2 +-
lib/librte_lpm/rte_lpm.h | 2 +
lib/librte_lpm/rte_lpm6.c | 26 +-
lib/librte_lpm/rte_lpm_s390x.h | 130 ++++
lib/librte_mbuf/rte_mbuf.h | 2 +-
mk/arch/s390x/rte.vars.mk | 16 +
mk/rte.cpuflags.mk | 5 +
48 files changed, 2099 insertions(+), 24 deletions(-)
create mode 120000 config/defconfig_s390x-native-linux-gcc
create mode 100644 config/defconfig_s390x-native-linuxapp-gcc
create mode 100644 drivers/net/i40e/i40e_rxtx_vec_s390x.c
create mode 100644 examples/l3fwd/l3fwd_lpm_s390x.h
create mode 100644 examples/l3fwd/l3fwd_s390x.h
create mode 100644 lib/librte_eal/common/arch/s390x/rte_cpuflags.c
create mode 100644 lib/librte_eal/common/arch/s390x/rte_cycles.c
create mode 100644 lib/librte_eal/common/arch/s390x/rte_hypervisor.c
create mode 100644 lib/librte_eal/common/include/arch/s390x/rte_atomic.h
create mode 100644 lib/librte_eal/common/include/arch/s390x/rte_byteorder.h
create mode 100644 lib/librte_eal/common/include/arch/s390x/rte_cpuflags.h
create mode 100644 lib/librte_eal/common/include/arch/s390x/rte_cycles.h
create mode 100644 lib/librte_eal/common/include/arch/s390x/rte_io.h
create mode 100644 lib/librte_eal/common/include/arch/s390x/rte_memcpy.h
create mode 100644 lib/librte_eal/common/include/arch/s390x/rte_pause.h
create mode 100644 lib/librte_eal/common/include/arch/s390x/rte_prefetch.h
create mode 100644 lib/librte_eal/common/include/arch/s390x/rte_rwlock.h
create mode 100644 lib/librte_eal/common/include/arch/s390x/rte_spinlock.h
create mode 100644 lib/librte_eal/common/include/arch/s390x/rte_ticketlock.h
create mode 100644 lib/librte_eal/common/include/arch/s390x/rte_vect.h
create mode 100644 lib/librte_lpm/rte_lpm_s390x.h
create mode 100644 mk/arch/s390x/rte.vars.mk
--
2.17.1
More information about the dev
mailing list