[dpdk-dev] [PATCH] Add Armv7 support

Supriya Shekhar Mane sm.supriya at globaledgesoft.com
Fri Jun 18 08:19:44 CEST 2021


Hi Thomas,

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

supriya at 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 at 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 at monjalon.net> wrote:
>
> 10/06/2021 13:18, s.chandrakant at globaledgesoft.com:
> > From: Chandrakant Sharpa <s.chandrakant at 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 at 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.



More information about the dev mailing list