Add Armv7 support

Message ID 20210610111839.7481-1-s.chandrakant@globaledgesoft.com (mailing list archive)
State New
Delegated to: Thomas Monjalon
Headers
Series Add Armv7 support |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/github-robot success github build: passed
ci/iol-intel-Functional fail Functional Testing issues
ci/iol-abi-testing success Testing PASS
ci/iol-testing success Testing PASS
ci/iol-intel-Performance success Performance Testing PASS

Commit Message

s.chandrakant@globaledgesoft.com June 10, 2021, 11:18 a.m. UTC
  From: Chandrakant Sharpa <s.chandrakant@globaledgesoft.com>

Adding support for Armv7 based platforms.
Used latest GNU cross compiler toolchain
version(10.2) for testing.

Signed-off-by: Chandrakant Sharpa <s.chandrakant@globaledgesoft.com>
---
 config/arm/arm_armv7a_linux_gcc | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 config/arm/arm_armv7a_linux_gcc
  

Comments

Thomas Monjalon June 17, 2021, 7:51 a.m. UTC | #1
10/06/2021 13:18, s.chandrakant@globaledgesoft.com:
> From: Chandrakant Sharpa <s.chandrakant@globaledgesoft.com>
> 
> Adding support for Armv7 based platforms.
> Used latest GNU cross compiler toolchain
> version(10.2) for testing.
> 
> Signed-off-by: Chandrakant Sharpa <s.chandrakant@globaledgesoft.com>
> ---
>  config/arm/arm_armv7a_linux_gcc | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)

Adding maintainers.

Note: Armv7 is/was supported but was missing in the meson build system.

How compilation is looking? I guess there are tons of warnings?
  
Supriya Shekhar Mane June 18, 2021, 6:19 a.m. UTC | #2
Hi Thomas,

Here are the meson/ninja build results, we see no warnings here:

supriya@supriya:~/dpdk-meson-openwrt/dpdk-21.05$ meson armv7-build
--cross-file config/arm/arm_armv7a_linux_gcc
The Meson build system
Version: 0.58.0
Source dir: /home/supriya/dpdk-meson-openwrt/dpdk-21.05
Build dir: /home/supriya/dpdk-meson-openwrt/dpdk-21.05/armv7-build
Build type: cross build
Program cat found: YES (/bin/cat)
Project name: DPDK
Project version: 21.05.0
C compiler for the host machine: arm-none-linux-gnueabihf-gcc (gcc
10.2.1 "arm-none-linux-gnueabihf-gcc (GNU Toolchain for the A-profile
Architecture 10.2-2020.11 (arm-10.16)) 10.2.1 20201103")
C linker for the host machine: arm-none-linux-gnueabihf-gcc ld.bfd 10.2-2020
C compiler for the build machine: ccache cc (gcc 7.5.0 "cc (Ubuntu
7.5.0-3ubuntu1~18.04) 7.5.0")
C linker for the build machine: cc ld.bfd 2.30
Build machine cpu family: x86_64
Build machine cpu: x86_64
Host machine cpu family: arm
Host machine cpu: armv7-a
Target machine cpu family: arm
Target machine cpu: armv7-a
Program pkg-config found: YES (/usr/bin/pkg-config)
Program check-symbols.sh found: YES
(/home/supriya/dpdk-meson-openwrt/dpdk-21.05/buildtools/check-symbols.sh)
Program options-ibverbs-static.sh found: YES
(/home/supriya/dpdk-meson-openwrt/dpdk-21.05/buildtools/options-ibverbs-static.sh)
Program binutils-avx512-check.sh found: YES
(/home/supriya/dpdk-meson-openwrt/dpdk-21.05/buildtools/binutils-avx512-check.sh)
Program python3 found: YES (/usr/bin/python3)
Program cat found: YES (/bin/cat)
Program ../buildtools/symlink-drivers-solibs.sh found: YES (/bin/sh
/home/supriya/dpdk-meson-openwrt/dpdk-21.05/config/../buildtools/symlink-drivers-solibs.sh)
Checking for size of "void *" : 4
Checking for size of "void *" : 4
Library m found: YES
Library numa found: NO
Library libfdt found: NO
Library libexecinfo found: NO
Found pkg-config: /usr/bin/arm-linux-gnueabihf-pkg-config (0.29.1)
Run-time dependency libbsd found: NO (tried pkgconfig)
Run-time dependency libpcap found: NO (tried pkgconfig)
Library pcap found: NO
Compiler for C supports arguments -Wextra: YES
config/meson.build:245: WARNING: Consider using the built-in
warning_level option instead of using "-Wextra".
Compiler for C supports arguments -Wcast-qual: YES
Compiler for C supports arguments -Wdeprecated: YES
Compiler for C supports arguments -Wformat: YES
Compiler for C supports arguments -Wformat-nonliteral: YES
Compiler for C supports arguments -Wformat-security: YES
Compiler for C supports arguments -Wmissing-declarations: YES
Compiler for C supports arguments -Wmissing-prototypes: YES
Compiler for C supports arguments -Wnested-externs: YES
Compiler for C supports arguments -Wold-style-definition: YES
Compiler for C supports arguments -Wpointer-arith: YES
Compiler for C supports arguments -Wsign-compare: YES
Compiler for C supports arguments -Wstrict-prototypes: YES
Compiler for C supports arguments -Wundef: YES
Compiler for C supports arguments -Wwrite-strings: YES
Compiler for C supports arguments -Wno-address-of-packed-member: YES
Compiler for C supports arguments -Wno-packed-not-aligned: YES
Compiler for C supports arguments -Wno-missing-field-initializers: YES
Compiler for C supports arguments -Wno-zero-length-bounds: YES
Compiler for C supports arguments -Wno-pointer-to-int-cast: YES
Message: Using machine args: ['-march=armv7-a', '-mfpu=neon']
Fetching value of define "__ARM_NEON" : 1
Fetching value of define "__ARM_FEATURE_CRC32" :
Fetching value of define "__ARM_FEATURE_CRYPTO" :
Compiler for C supports arguments -Wno-format-truncation: YES
Checking for function "getentropy" : YES
Run-time dependency jansson found: NO (tried pkgconfig)
Has header "linux/userfaultfd.h" : YES
Run-time dependency libelf found: NO (tried pkgconfig)
Compiler for C supports arguments -Wno-format-truncation: YES (cached)
Compiler for C supports arguments -Wno-cast-qual: YES
Compiler for C supports arguments -Wno-pointer-arith: YES
Compiler for C supports arguments -Wno-pointer-to-int-cast: YES (cached)
Run-time dependency libmusdk found: NO (tried pkgconfig)
Compiler for C supports arguments -Wno-cast-qual: YES (cached)
Compiler for C supports arguments -Wno-pointer-arith: YES (cached)
Compiler for C supports arguments -std=c11: YES
Compiler for C supports arguments -Wno-strict-prototypes: YES
Compiler for C supports arguments -D_BSD_SOURCE: YES
Compiler for C supports arguments -D_DEFAULT_SOURCE: YES
Compiler for C supports arguments -D_XOPEN_SOURCE=600: YES
Run-time dependency libmlx5 found: NO (tried pkgconfig)
Library mlx5 found: NO
Run-time dependency libcrypto found: NO (tried pkgconfig)
Compiler for C supports arguments -Wdisabled-optimization: YES
Compiler for C supports arguments -Waggregate-return: YES
Compiler for C supports arguments -Wbad-function-cast: YES
Compiler for C supports arguments -Wno-sign-compare: YES
Compiler for C supports arguments -Wno-unused-parameter: YES
Compiler for C supports arguments -Wno-unused-variable: YES
Compiler for C supports arguments -Wno-empty-body: YES
Compiler for C supports arguments -Wno-unused-but-set-variable: YES
Run-time dependency libbpf found: NO (tried pkgconfig)
Library bpf found: NO
Run-time dependency zlib found: NO (tried pkgconfig)
Compiler for C supports arguments -Wno-pointer-arith: YES (cached)
Compiler for C supports arguments -Wno-uninitialized: YES
Compiler for C supports arguments -Wno-unused-parameter: YES (cached)
Compiler for C supports arguments -Wno-unused-variable: YES (cached)
Compiler for C supports arguments -Wno-misleading-indentation: YES
Compiler for C supports arguments -Wno-implicit-fallthrough: YES
Fetching value of define "__AVX2__" :
Compiler for C supports arguments -mavx2: NO
Compiler for C supports arguments -Wno-unused-parameter: YES (cached)
Compiler for C supports arguments -Wno-unused-value: YES
Compiler for C supports arguments -Wno-strict-aliasing: YES
Compiler for C supports arguments -Wno-format-extra-args: YES
Compiler for C supports arguments -Wno-unused-variable: YES (cached)
Compiler for C supports arguments -Wno-implicit-fallthrough: YES (cached)
Compiler for C supports arguments -Wno-int-to-pointer-cast: YES
Compiler for C supports arguments -Wno-pointer-to-int-cast: YES (cached)
Compiler for C supports arguments -Wno-sign-compare: YES (cached)
Compiler for C supports arguments -Wno-unused-value: YES (cached)
Compiler for C supports arguments -Wno-format: YES
Compiler for C supports arguments -Wno-format-security: YES
Compiler for C supports arguments -Wno-format-nonliteral: YES
Compiler for C supports arguments -Wno-strict-aliasing: YES (cached)
Compiler for C supports arguments -Wno-unused-but-set-variable: YES (cached)
Compiler for C supports arguments -Wno-unused-parameter: YES (cached)
Compiler for C supports arguments -Wno-unused-value: YES (cached)
Compiler for C supports arguments -Wno-unused-but-set-variable: YES (cached)
Compiler for C supports arguments -Wno-unused-variable: YES (cached)
Compiler for C supports arguments -Wno-unused-parameter: YES (cached)
Compiler for C supports arguments -Wno-unused-value: YES (cached)
Compiler for C supports arguments -Wno-unused-but-set-variable: YES (cached)
Compiler for C supports arguments -Wno-unused-parameter: YES (cached)
Run-time dependency libmlx4 found: NO (tried pkgconfig)
Library mlx4 found: NO
Compiler for C supports arguments -std=c11: YES (cached)
Compiler for C supports arguments -Wno-strict-prototypes: YES (cached)
Compiler for C supports arguments -D_BSD_SOURCE: YES (cached)
Compiler for C supports arguments -D_DEFAULT_SOURCE: YES (cached)
Compiler for C supports arguments -D_XOPEN_SOURCE=600: YES (cached)
Message: Disabling mlx5 [drivers/net/mlx5]: missing internal
dependency "common_mlx5"
Run-time dependency libmusdk found: NO (tried pkgconfig)
Run-time dependency libmusdk found: NO (tried pkgconfig)
Run-time dependency netcope-common found: NO (tried pkgconfig)
Message: Disabling octeontx_ep [drivers/net/octeontx_ep]: missing
internal dependency "common_octeontx2"
Compiler for C supports arguments -Wno-pointer-arith: YES (cached)
Compiler for C supports arguments -Wno-unused-parameter: YES (cached)
Compiler for C supports arguments -Wno-sign-compare: YES (cached)
Compiler for C supports arguments -Wno-missing-prototypes: YES
Compiler for C supports arguments -Wno-cast-qual: YES (cached)
Compiler for C supports arguments -Wno-unused-function: YES
Compiler for C supports arguments -Wno-unused-variable: YES (cached)
Compiler for C supports arguments -Wno-strict-aliasing: YES (cached)
Compiler for C supports arguments -Wno-missing-prototypes: YES (cached)
Compiler for C supports arguments -Wno-unused-value: YES (cached)
Compiler for C supports arguments -Wno-format-nonliteral: YES (cached)
Compiler for C supports arguments -Wno-shift-negative-value: YES
Compiler for C supports arguments -Wno-unused-but-set-variable: YES (cached)
Compiler for C supports arguments -Wno-missing-declarations: YES
Compiler for C supports arguments -Wno-maybe-uninitialized: YES
Compiler for C supports arguments -Wno-strict-prototypes: YES (cached)
Compiler for C supports arguments -Wno-shift-negative-value: YES (cached)
Compiler for C supports arguments -Wno-implicit-fallthrough: YES (cached)
Compiler for C supports arguments -Wno-format-extra-args: YES (cached)
Compiler for C supports arguments -Wno-visibility: NO
Compiler for C supports arguments -Wno-empty-body: YES (cached)
Compiler for C supports arguments -Wno-invalid-source-encoding: NO
Compiler for C supports arguments -Wno-sometimes-uninitialized: NO
Compiler for C supports arguments -Wno-pointer-bool-conversion: NO
Compiler for C supports arguments -Wno-format-nonliteral: YES (cached)
Compiler for C supports arguments -Wno-strict-aliasing: YES (cached)
Compiler for C supports arguments -Wdisabled-optimization: YES (cached)
Compiler for C supports arguments -Waggregate-return: YES (cached)
Compiler for C supports arguments -Wbad-function-cast: YES (cached)
Run-time dependency libsze2 found: NO (tried pkgconfig)
Header <linux/pkt_cls.h> has symbol "TCA_FLOWER_UNSPEC" : YES
Header <linux/pkt_cls.h> has symbol "TCA_FLOWER_KEY_VLAN_PRIO" : YES
Header <linux/pkt_cls.h> has symbol "TCA_BPF_UNSPEC" : YES
Header <linux/pkt_cls.h> has symbol "TCA_BPF_FD" : YES
Header <linux/tc_act/tc_bpf.h> has symbol "TCA_ACT_BPF_UNSPEC" : YES
Header <linux/tc_act/tc_bpf.h> has symbol "TCA_ACT_BPF_FD" : YES
Configuring tap_autoconf.h using configuration
Compiler for C supports arguments -fno-prefetch-loop-arrays: YES
Compiler for C supports arguments -Wno-maybe-uninitialized: YES (cached)
Compiler for C supports arguments -D_BSD_SOURCE: YES (cached)
Compiler for C supports arguments -D_DEFAULT_SOURCE: YES (cached)
Compiler for C supports arguments -D_XOPEN_SOURCE=600: YES (cached)
Compiler for C supports arguments -Wno-unused-parameter: YES (cached)
Compiler for C supports arguments -Wno-unused-value: YES (cached)
Compiler for C supports arguments -Wno-strict-aliasing: YES (cached)
Compiler for C supports arguments -Wno-format-extra-args: YES (cached)
Compiler for C supports arguments -Wno-int-to-pointer-cast: YES (cached)
Compiler for C supports arguments -Wno-pointer-to-int-cast: YES (cached)
Message: Disabling octeontx2_dma [drivers/raw/octeontx2_dma]: missing
internal dependency "common_octeontx2"
Message: Disabling octeontx2_ep [drivers/raw/octeontx2_ep]: missing
internal dependency "common_octeontx2"
Library IPSec_MB found: NO
Library IPSec_MB found: NO
Run-time dependency libaarch64crypto found: NO (tried pkgconfig)
Run-time dependency libcrypto found: NO (tried pkgconfig)
Library IPSec_MB found: NO
Run-time dependency libmusdk found: NO (tried pkgconfig)
Run-time dependency libcrypto found: NO (tried pkgconfig)
Library IPSec_MB found: NO
Library IPSec_MB found: NO
Run-time dependency libisal found: NO (tried pkgconfig)
Compiler for C supports arguments -std=c11: YES (cached)
Compiler for C supports arguments -Wno-strict-prototypes: YES (cached)
Compiler for C supports arguments -D_BSD_SOURCE: YES (cached)
Compiler for C supports arguments -D_DEFAULT_SOURCE: YES (cached)
Compiler for C supports arguments -D_XOPEN_SOURCE=600: YES (cached)
Message: Disabling mlx5 [drivers/compress/mlx5]: missing internal
dependency "common_mlx5"
Run-time dependency zlib found: NO (tried pkgconfig)
Compiler for C supports arguments -std=c11: YES (cached)
Compiler for C supports arguments -Wno-strict-prototypes: YES (cached)
Compiler for C supports arguments -D_BSD_SOURCE: YES (cached)
Compiler for C supports arguments -D_DEFAULT_SOURCE: YES (cached)
Compiler for C supports arguments -D_XOPEN_SOURCE=600: YES (cached)
Message: Disabling mlx5 [drivers/regex/mlx5]: missing internal
dependency "common_mlx5"
Compiler for C supports arguments -std=c11: YES (cached)
Compiler for C supports arguments -Wno-strict-prototypes: YES (cached)
Compiler for C supports arguments -D_BSD_SOURCE: YES (cached)
Compiler for C supports arguments -D_DEFAULT_SOURCE: YES (cached)
Compiler for C supports arguments -D_XOPEN_SOURCE=600: YES (cached)
Message: Disabling mlx5 [drivers/vdpa/mlx5]: missing internal
dependency "common_mlx5"
Compiler for C supports arguments -Wno-format-nonliteral: YES (cached)
Library libturbo found: NO
Library libldpc_decoder_5gnr found: NO
Compiler for C supports arguments -Wno-format-truncation: YES (cached)
Run-time dependency zlib found: NO (tried pkgconfig)
Message: hugepage availability: false
Program get-coremask.sh found: YES
(/home/supriya/dpdk-meson-openwrt/dpdk-21.05/app/test/get-coremask.sh)
Program doxygen found: YES (/usr/bin/doxygen)
Program generate_doxygen.sh found: YES
(/home/supriya/dpdk-meson-openwrt/dpdk-21.05/doc/api/generate_doxygen.sh)
Program generate_examples.sh found: YES
(/home/supriya/dpdk-meson-openwrt/dpdk-21.05/doc/api/generate_examples.sh)
Program doxy-html-custom.sh found: YES
(/home/supriya/dpdk-meson-openwrt/dpdk-21.05/doc/api/doxy-html-custom.sh)
Configuring doxy-api.conf using configuration
Program sphinx-build found: NO
Program echo found: YES (/bin/echo)
Configuring rte_build_config.h using configuration
Message:
=================
Libraries Enabled
=================

libs:
        kvargs, telemetry, eal, ring, rcu, mempool, mbuf, net,
        meter, ethdev, pci, cmdline, metrics, hash, timer, acl,
        bbdev, bitratestats, cfgfile, compressdev, cryptodev,
distributor, efd, eventdev,
        gro, gso, ip_frag, jobstats, latencystats, lpm, member, power,
        pdump, rawdev, regexdev, rib, reorder, sched, security, stack,
        vhost, ipsec, fib, port, table, pipeline, flow_classify, bpf,
        graph, node,

Message:
===============
Drivers Enabled
===============

common:
        cpt, dpaax, iavf, octeontx, qat,
bus:
        dpaa, fslmc, ifpga, pci, vdev, vmbus,
mempool:
        bucket, dpaa, dpaa2, octeontx, ring, stack,
net:
        af_packet, ark, atlantic, avp, axgbe, bnxt, bond, cxgbe,
        dpaa, dpaa2, e1000, ena, enetc, enic, failsafe, fm10k,
        hinic, i40e, iavf, ice, igc, ionic, ixgbe, liquidio,
        memif, netvsc, null, octeontx, pfe, qede, ring, softnic,
        tap, thunderx, txgbe, vdev_netvsc, vhost, virtio, vmxnet3,
raw:
        dpaa2_cmdif, dpaa2_qdma, ntb, skeleton,
crypto:
        bcmfs, caam_jr, dpaa_sec, dpaa2_sec, nitrox, null, octeontx, scheduler,
        virtio,
compress:
        octeontx,
regex:

vdpa:
        ifc,
event:
        dpaa, dpaa2, dsw, opdl, skeleton, sw, octeontx,
baseband:
        acc100, fpga_5gnr_fec, fpga_lte_fec, null, turbo_sw,

Message:
=================
Content Skipped
=================

libs:
        kni:    only supported on 64-bit Linux

drivers:
        common/mvep:    missing dependency, "libmusdk"
        common/octeontx2:       only supported on 64-bit
        common/cnxk:    only supported on 64-bit Linux
        common/mlx5:    missing dependency, "mlx5"
        crypto/qat:     missing dependency, libcrypto
        common/sfc_efx: only supported on x86_64 and aarch64
        mempool/cnxk:   only supported on 64-bit Linux
        mempool/octeontx2:      only supported on 64-bit
        net/af_xdp:     missing dependency, "libbpf"
        net/bnx2x:      missing dependency, "zlib"
        net/hns3:       only supported on x86_64 and aarch64
        net/ipn3ke:     missing dependency, "libfdt"
        net/kni:        missing dependency, DPDK KNI library
        net/mlx4:       missing dependency, "mlx4"
        net/mlx5:       missing internal dependency, "common_mlx5"
        net/mvneta:     missing dependency, "libmusdk"
        net/mvpp2:      missing dependency, "libmusdk"
        net/nfb:        missing dependency, "libnfb"
        net/nfp:        only supported on 64-bit Linux
        net/octeontx2:  only supported on 64-bit
        net/octeontx_ep:        missing internal dependency, "common_octeontx2"
        net/pcap:       missing dependency, "libpcap"
        net/sfc:        only supported on x86_64 and aarch64
        net/szedata2:   missing dependency, "libsze2"
        raw/ifpga:      missing dependency, "libfdt"
        raw/ioat:       only supported on x86
        raw/octeontx2_dma:      missing internal dependency, "common_octeontx2"
        raw/octeontx2_ep:       missing internal dependency, "common_octeontx2"
        crypto/aesni_gcm:       missing dependency, "libIPSec_MB"
        crypto/aesni_mb:        missing dependency, "libIPSec_MB"
        crypto/armv8:   missing dependency, "libAArch64crypto"
        crypto/ccp:     missing dependency, "libcrypto"
        crypto/kasumi:  missing dependency, "libIPSec_MB"
        crypto/mvsam:   missing dependency, "libmusdk"
        crypto/octeontx2:       only supported on 64-bit Linux
        crypto/openssl: missing dependency, "libcrypto"
        crypto/snow3g:  missing dependency, "libIPSec_MB"
        crypto/zuc:     missing dependency, "libIPSec_MB"
        compress/isal:  missing dependency, "libisal"
        compress/mlx5:  missing internal dependency, "common_mlx5"
        compress/zlib:  missing dependency, "zlib"
        regex/mlx5:     missing internal dependency, "common_mlx5"
        regex/octeontx2:        only supported on 64-bit Linux
        vdpa/mlx5:      missing internal dependency, "common_mlx5"
        event/cnxk:     only supported on 64-bit Linux
        event/dlb2:     only supported on x86_64 Linux
        event/octeontx2:        only supported on 64-bit


Build targets in project: 727

Found ninja-1.10.0.git.kitware.jobserver-1 at /usr/local/bin/ninja
-------
supriya@supriya:~/dpdk-meson-openwrt/dpdk-21.05$ ninja -C armv7-build/
ninja: Entering directory `armv7-build/'
[1954/1954] Linking target app/test/dpdk-test


Regards,
Supriya Mane


On Thu, Jun 17, 2021 at 1:21 PM Thomas Monjalon <thomas@monjalon.net> wrote:
>
> 10/06/2021 13:18, s.chandrakant@globaledgesoft.com:
> > From: Chandrakant Sharpa <s.chandrakant@globaledgesoft.com>
> >
> > Adding support for Armv7 based platforms.
> > Used latest GNU cross compiler toolchain
> > version(10.2) for testing.
> >
> > Signed-off-by: Chandrakant Sharpa <s.chandrakant@globaledgesoft.com>
> > ---
> >  config/arm/arm_armv7a_linux_gcc | 17 +++++++++++++++++
> >  1 file changed, 17 insertions(+)
>
> Adding maintainers.
>
> Note: Armv7 is/was supported but was missing in the meson build system.
>
> How compilation is looking? I guess there are tons of warnings?
>
>
>
  
Ruifeng Wang June 23, 2021, 6:35 a.m. UTC | #3
Hi Supriya,

> -----Original Message-----
> From: Supriya Shekhar Mane <sm.supriya@globaledgesoft.com>
> Sent: Friday, June 18, 2021 2:20 PM
> To: thomas@monjalon.net
> Cc: Chandrakant Sharpa <s.chandrakant@globaledgesoft.com>;
> dev@dpdk.org; Zaheer R M <zaheer.rm@globaledgesoft.com>; Gurusidhesh
> G H <gurusidhesh.gh@globaledgesoft.com>; david.marchand@redhat.com;
> bruce.richardson@intel.com; Jan Viktorin <viktorin@rehivetech.com>;
> Ruifeng Wang <Ruifeng.Wang@arm.com>; jerinj@marvell.com; Honnappa
> Nagarahalli <Honnappa.Nagarahalli@arm.com>
> Subject: Re: [dpdk-dev] [PATCH] Add Armv7 support
> 
> Hi Thomas,
> 
> Here are the meson/ninja build results, we see no warnings here:
> 
> supriya@supriya:~/dpdk-meson-openwrt/dpdk-21.05$ meson armv7-build --
> cross-file config/arm/arm_armv7a_linux_gcc The Meson build system
<snip>
> supriya@supriya:~/dpdk-meson-openwrt/dpdk-21.05$ ninja -C armv7-build/
> ninja: Entering directory `armv7-build/'
> [1954/1954] Linking target app/test/dpdk-test

Documentation for Armv7 build is missing. 
It is better to add some guides together with this build support.

Do you have any plan on CI? 
I don't think DPDK Lab has Armv7 hardware to run tests.
> 
> 
> Regards,
> Supriya Mane
> 
> 
> On Thu, Jun 17, 2021 at 1:21 PM Thomas Monjalon <thomas@monjalon.net>
> wrote:
> >
> > 10/06/2021 13:18, s.chandrakant@globaledgesoft.com:
> > > From: Chandrakant Sharpa <s.chandrakant@globaledgesoft.com>
> > >
> > > Adding support for Armv7 based platforms.
> > > Used latest GNU cross compiler toolchain
> > > version(10.2) for testing.
> > >
> > > Signed-off-by: Chandrakant Sharpa <s.chandrakant@globaledgesoft.com>
> > > ---
> > >  config/arm/arm_armv7a_linux_gcc | 17 +++++++++++++++++
> > >  1 file changed, 17 insertions(+)
> >
> > Adding maintainers.
> >
> > Note: Armv7 is/was supported but was missing in the meson build system.
> >
> > How compilation is looking? I guess there are tons of warnings?
> >
> >
> >
> 
> --
> Disclaimer:This message is intended only for the designated recipient(s).
> It may contain confidential or proprietary information and may be subject to
> other confidentiality protections. If you are not a designated recipient, you
> may not review, copy or distribute this message. Please notify the sender by
> e-mail and delete this message. GlobalEdge does not accept any liability for
> virus infected mails.
  
Supriya Shekhar Mane June 24, 2021, 6:21 a.m. UTC | #4
Hi Ruifeng,

> On Wed, Jun 23, 2021 at 12:05 PM Ruifeng Wang <Ruifeng.Wang@arm.com>
wrote:
>
> Do you have any plan on CI?
> I don't think DPDK Lab has Armv7 hardware to run tests.

Yes, we do have plans for CI for armv7, We are currently conducting
our testing with WPJ419 platform. I would like to note what all things
that should be taken into consideration for making CI support for armv7
related contributions.

Aso, we would like know how the testing for armv7 was done in older
DPDK releases, and what all things were considered, so that we can follow
the same.

Regards,
Supriya Mane
  
Ruifeng Wang June 24, 2021, 6:58 a.m. UTC | #5
From: Supriya Shekhar Mane <sm.supriya@globaledgesoft.com>
Sent: Thursday, June 24, 2021 2:21 PM
To: Ruifeng Wang <Ruifeng.Wang@arm.com>
Cc: thomas@monjalon.net; Chandrakant Sharpa <s.chandrakant@globaledgesoft.com>; dev@dpdk.org; Zaheer R M <zaheer.rm@globaledgesoft.com>; Gurusidhesh G H <gurusidhesh.gh@globaledgesoft.com>; david.marchand@redhat.com; bruce.richardson@intel.com; Jan Viktorin <viktorin@rehivetech.com>; jerinj@marvell.com; Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>; nd <nd@arm.com>
Subject: Re: [dpdk-dev] [PATCH] Add Armv7 support

Hi Ruifeng,

> On Wed, Jun 23, 2021 at 12:05 PM Ruifeng Wang <Ruifeng.Wang@arm.com<mailto:Ruifeng.Wang@arm.com>> wrote:
>
> Do you have any plan on CI?
> I don't think DPDK Lab has Armv7 hardware to run tests.
Yes, we do have plans for CI for armv7, We are currently conducting
our testing with WPJ419 platform. I would like to note what all things
that should be taken into consideration for making CI support for armv7
related contributions.
[Ruifeng] I think basically we should have build for armv7. And in-tree unit tests are also preferred to run.
For traffic/performance tests, it is good to have.

Aso, we would like know how the testing for armv7 was done in older
DPDK releases, and what all things were considered, so that we can follow
the same.
[Ruifeng] As I know, there was no public CI for armv7 in older releases.

Regards,
Supriya Mane

Disclaimer:This message is intended only for the designated recipient(s). It may contain confidential or proprietary information and may be subject to other confidentiality protections. If you are not a designated recipient, you may not review, copy or distribute this message. Please notify the sender by e-mail and delete this message. GlobalEdge does not accept any liability for virus infected mails.
  
Juraj Linkeš Nov. 16, 2021, 12:13 p.m. UTC | #6
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of
> s.chandrakant@globaledgesoft.com
> Sent: Thursday, June 10, 2021 1:19 PM
> To: dev@dpdk.org
> Cc: zaheer.rm@globaledgesoft.com; gurusidhesh.gh@globaledgesoft.com;
> sm.supriya@globaledgesoft.com; Chandrakant Sharpa
> <s.chandrakant@globaledgesoft.com>
> Subject: [dpdk-dev] [PATCH] Add Armv7 support
> 
> From: Chandrakant Sharpa <s.chandrakant@globaledgesoft.com>
> 
> Adding support for Armv7 based platforms.
> Used latest GNU cross compiler toolchain
> version(10.2) for testing.
> 
> Signed-off-by: Chandrakant Sharpa <s.chandrakant@globaledgesoft.com>
> ---
>  config/arm/arm_armv7a_linux_gcc | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
>  create mode 100644 config/arm/arm_armv7a_linux_gcc
> 
> diff --git a/config/arm/arm_armv7a_linux_gcc
> b/config/arm/arm_armv7a_linux_gcc new file mode 100644 index
> 000000000..65949cc83
> --- /dev/null
> +++ b/config/arm/arm_armv7a_linux_gcc
> @@ -0,0 +1,17 @@
> +[binaries]
> +c = 'arm-none-linux-gnueabi-gcc'
> +cpp = 'arm-none-linux-gnueabi-cpp'
> +ar = 'arm-none-linux-gnueabi-ar'
> +strip = 'arm-none-linux-gnueabi-strip'
> +pkgconfig = 'arm-none-linux-gnueabi-pkg-config'
> +pcap-config = ''
> +
> +[host_machine]
> +system = 'linux'
> +cpu_family = 'arm'
> +cpu = 'armv7-a'
> +endian = 'little'
> +
> +[properties]
> +# Generate binaries that are portable across all Armv7 machines
> +platform = 'generic'
> --

platform = 'generic' will select the aarch64 generic build configuration, so that's probably not what we want here.

I'd suggest create a new soc (such as generic_armv7) in the 'soc' dictionary in arm/meson.build and follow the existing structure:
1. Create the soc dictionary
2. Create an implementer for the soc (we need a new one for armv7, such as implementer_generic_armv7)
3. Create a generic part_number_config

And populate it with generic armv7 config - Ruifeng may be able to help with what sensible generic config looks like.

> 2.17.1
> 
> 
> --
> Disclaimer:This message is intended only for the designated recipient(s).
> It may contain confidential or proprietary information and may be subject
> to other confidentiality protections. If you are not a designated
> recipient, you may not review, copy or distribute this message. Please
> notify the sender by e-mail and delete this message. GlobalEdge does not
> accept any liability for virus infected mails.
>
  
Stephen Hemminger July 17, 2023, 4:50 p.m. UTC | #7
On Thu, 24 Jun 2021 06:58:15 +0000
Ruifeng Wang <Ruifeng.Wang@arm.com> wrote:

> >
> > Do you have any plan on CI?
> > I don't think DPDK Lab has Armv7 hardware to run tests.  
> Yes, we do have plans for CI for armv7, We are currently conducting
> our testing with WPJ419 platform. I would like to note what all things
> that should be taken into consideration for making CI support for armv7
> related contributions.
> [Ruifeng] I think basically we should have build for armv7. And in-tree unit tests are also preferred to run.
> For traffic/performance tests, it is good to have.
> 
> Aso, we would like know how the testing for armv7 was done in older
> DPDK releases, and what all things were considered, so that we can follow
> the same.
> [Ruifeng] As I know, there was no public CI for armv7 in older releases.
> 
> Regards,
> Supriya Mane

This patch is over 2 years old. Has there been any progress on it?
Does it still make sense?
What is missing?
  
Ruifeng Wang July 18, 2023, 3:22 a.m. UTC | #8
> -----Original Message-----
> From: Stephen Hemminger <stephen@networkplumber.org>
> Sent: Tuesday, July 18, 2023 12:51 AM
> To: Ruifeng Wang <Ruifeng.Wang@arm.com>
> Cc: Supriya Shekhar Mane <sm.supriya@globaledgesoft.com>; thomas@monjalon.net; Chandrakant
> Sharpa <s.chandrakant@globaledgesoft.com>; dev@dpdk.org; Zaheer R M
> <zaheer.rm@globaledgesoft.com>; Gurusidhesh G H <gurusidhesh.gh@globaledgesoft.com>;
> david.marchand@redhat.com; bruce.richardson@intel.com; Jan Viktorin
> <viktorin@rehivetech.com>; jerinj@marvell.com; Honnappa Nagarahalli
> <Honnappa.Nagarahalli@arm.com>; nd <nd@arm.com>
> Subject: Re: [dpdk-dev] [PATCH] Add Armv7 support
> 
> On Thu, 24 Jun 2021 06:58:15 +0000
> Ruifeng Wang <Ruifeng.Wang@arm.com> wrote:
> 
> > >
> > > Do you have any plan on CI?
> > > I don't think DPDK Lab has Armv7 hardware to run tests.
> > Yes, we do have plans for CI for armv7, We are currently conducting
> > our testing with WPJ419 platform. I would like to note what all things
> > that should be taken into consideration for making CI support for
> > armv7 related contributions.
> > [Ruifeng] I think basically we should have build for armv7. And in-tree unit tests are
> also preferred to run.
> > For traffic/performance tests, it is good to have.
> >
> > Aso, we would like know how the testing for armv7 was done in older
> > DPDK releases, and what all things were considered, so that we can
> > follow the same.
> > [Ruifeng] As I know, there was no public CI for armv7 in older releases.
> >
> > Regards,
> > Supriya Mane
> 
> This patch is over 2 years old. Has there been any progress on it?
> Does it still make sense?
> What is missing?

This thread talks about integration plan.
A new PMD will be sent out?
  

Patch

diff --git a/config/arm/arm_armv7a_linux_gcc b/config/arm/arm_armv7a_linux_gcc
new file mode 100644
index 000000000..65949cc83
--- /dev/null
+++ b/config/arm/arm_armv7a_linux_gcc
@@ -0,0 +1,17 @@ 
+[binaries]
+c = 'arm-none-linux-gnueabi-gcc'
+cpp = 'arm-none-linux-gnueabi-cpp'
+ar = 'arm-none-linux-gnueabi-ar'
+strip = 'arm-none-linux-gnueabi-strip'
+pkgconfig = 'arm-none-linux-gnueabi-pkg-config'
+pcap-config = ''
+
+[host_machine]
+system = 'linux'
+cpu_family = 'arm'
+cpu = 'armv7-a'
+endian = 'little'
+
+[properties]
+# Generate binaries that are portable across all Armv7 machines
+platform = 'generic'