[PATCH] Add support for IBM Z s390x

Stephen Hemminger stephen at networkplumber.org
Fri Jul 7 00:49:00 CEST 2023


On Fri, 28 Oct 2022 17:52:40 -0400
David Miller <dmiller423 at gmail.com> wrote:

> Signed-off-by: David Miller <dmiller423 at gmail.com>
> Reviewed-by: Mathew S Thoennes <tardis at us.ibm.com>
> ---
>  app/test-acl/main.c                          |   4 +
>  app/test-pmd/config.c                        |  12 +-
>  app/test/test_acl.c                          |   1 +
>  app/test/test_atomic.c                       |   7 +-
>  app/test/test_cmdline.c                      |   6 +-
>  app/test/test_cmdline_ipaddr.c               |  11 +
>  app/test/test_cmdline_num.c                  | 110 ++++
>  app/test/test_hash_functions.c               |  29 +
>  app/test/test_xmmt_ops.h                     |  14 +
>  buildtools/pmdinfogen.py                     |  11 +-
>  config/meson.build                           |   2 +
>  config/s390x/meson.build                     |  51 ++
>  config/s390x/s390x_linux_clang_ubuntu        |  19 +
>  doc/guides/nics/features/i40e.ini            |   1 +
>  drivers/common/mlx5/mlx5_common.h            |   9 +
>  drivers/net/i40e/i40e_rxtx_vec_s390x.c       | 630 +++++++++++++++++++
>  drivers/net/i40e/meson.build                 |   2 +
>  drivers/net/ixgbe/ixgbe_rxtx.c               |   2 +-
>  drivers/net/memif/rte_eth_memif.h            |   2 +
>  drivers/net/mlx5/mlx5_rx.c                   |  22 +-
>  drivers/net/octeontx/base/octeontx_pki_var.h |   6 +
>  examples/l3fwd-acl/main.c                    |   4 +
>  examples/l3fwd/l3fwd_em.c                    |   8 +
>  examples/l3fwd/l3fwd_lpm_s390x.h             | 137 ++++
>  examples/l3fwd/l3fwd_s390x.h                 | 259 ++++++++
>  lib/acl/acl_bld.c                            |   3 +
>  lib/acl/acl_gen.c                            |   9 +
>  lib/acl/acl_run_scalar.c                     |   8 +
>  lib/acl/rte_acl.c                            |  27 +
>  lib/acl/rte_acl.h                            |   5 +-
>  lib/eal/s390x/include/meson.build            |  16 +
>  lib/eal/s390x/include/rte_atomic.h           |  47 ++
>  lib/eal/s390x/include/rte_byteorder.h        |  43 ++
>  lib/eal/s390x/include/rte_cpuflags.h         |  42 ++
>  lib/eal/s390x/include/rte_cycles.h           |  44 ++
>  lib/eal/s390x/include/rte_io.h               | 184 ++++++
>  lib/eal/s390x/include/rte_mcslock.h          |  18 +
>  lib/eal/s390x/include/rte_memcpy.h           |  55 ++
>  lib/eal/s390x/include/rte_pause.h            |  22 +
>  lib/eal/s390x/include/rte_power_intrinsics.h |  20 +
>  lib/eal/s390x/include/rte_prefetch.h         |  46 ++
>  lib/eal/s390x/include/rte_rwlock.h           |  42 ++
>  lib/eal/s390x/include/rte_spinlock.h         |  85 +++
>  lib/eal/s390x/include/rte_ticketlock.h       |  18 +
>  lib/eal/s390x/include/rte_vect.h             |  35 ++
>  lib/eal/s390x/meson.build                    |  16 +
>  lib/eal/s390x/rte_cpuflags.c                 |  91 +++
>  lib/eal/s390x/rte_cycles.c                   |  11 +
>  lib/eal/s390x/rte_hypervisor.c               |  11 +
>  lib/eal/s390x/rte_power_intrinsics.c         |  51 ++
>  lib/hash/rte_fbk_hash.h                      |   7 +
>  lib/lpm/meson.build                          |   1 +
>  lib/lpm/rte_lpm.h                            |   2 +
>  lib/lpm/rte_lpm6.c                           |  18 +
>  lib/lpm/rte_lpm_s390x.h                      | 130 ++++
>  meson.build                                  |   2 +
>  56 files changed, 2450 insertions(+), 18 deletions(-)
>  create mode 100644 config/s390x/meson.build
>  create mode 100644 config/s390x/s390x_linux_clang_ubuntu
>  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/eal/s390x/include/meson.build
>  create mode 100644 lib/eal/s390x/include/rte_atomic.h
>  create mode 100644 lib/eal/s390x/include/rte_byteorder.h
>  create mode 100644 lib/eal/s390x/include/rte_cpuflags.h
>  create mode 100644 lib/eal/s390x/include/rte_cycles.h
>  create mode 100644 lib/eal/s390x/include/rte_io.h
>  create mode 100644 lib/eal/s390x/include/rte_mcslock.h
>  create mode 100644 lib/eal/s390x/include/rte_memcpy.h
>  create mode 100644 lib/eal/s390x/include/rte_pause.h
>  create mode 100644 lib/eal/s390x/include/rte_power_intrinsics.h
>  create mode 100644 lib/eal/s390x/include/rte_prefetch.h
>  create mode 100644 lib/eal/s390x/include/rte_rwlock.h
>  create mode 100644 lib/eal/s390x/include/rte_spinlock.h
>  create mode 100644 lib/eal/s390x/include/rte_ticketlock.h
>  create mode 100644 lib/eal/s390x/include/rte_vect.h
>  create mode 100644 lib/eal/s390x/meson.build
>  create mode 100644 lib/eal/s390x/rte_cpuflags.c
>  create mode 100644 lib/eal/s390x/rte_cycles.c
>  create mode 100644 lib/eal/s390x/rte_hypervisor.c
>  create mode 100644 lib/eal/s390x/rte_power_intrinsics.c
>  create mode 100644 lib/lpm/rte_lpm_s390x.h

Quite a large patch, and never saw V2 of it.
Also, who is maintainer of s390 port?


More information about the dev mailing list