[dpdk-dev] [PATCH 0/5] ARMv8 additions to ARMv7 support

Jan Viktorin viktorin at rehivetech.com
Fri Oct 30 01:17:44 CET 2015


I've failed to compile kni/igb for ARMv8. Any ideas? Is it Linux 4.2
compatbile?

  CC [M]  /home/jviki/Projects/buildroot-armv8/qemu-armv8/build/dpdk-armv8-hunt-v1/build/build/lib/librte_eal/linuxapp/kni/igb_main.o
/home/jviki/Projects/buildroot-armv8/qemu-armv8/build/dpdk-armv8-hunt-v1/build/build/lib/librte_eal/linuxapp/kni/igb_main.c: In functi
on ‘igb_ndo_bridge_getlink’:
/home/jviki/Projects/buildroot-armv8/qemu-armv8/build/dpdk-armv8-hunt-v1/build/build/lib/librte_eal/linuxapp/kni/igb_main.c:2279:9: er
ror: too few arguments to function ‘ndo_dflt_bridge_getlink’
  return ndo_dflt_bridge_getlink(skb, pid, seq, dev, mode, 0, 0, nlflags);
         ^
In file included from /home/jviki/Projects/buildroot-armv8/qemu-armv8/build/linux-4.2/include/net/dst.h:13:0,
                 from /home/jviki/Projects/buildroot-armv8/qemu-armv8/build/linux-4.2/include/net/sock.h:67,
                 from /home/jviki/Projects/buildroot-armv8/qemu-armv8/build/linux-4.2/include/linux/tcp.h:22,
                 from /home/jviki/Projects/buildroot-armv8/qemu-armv8/build/dpdk-armv8-hunt-v1/build/build/lib/librte_eal/linuxapp/kni/igb_main.c:34:
/home/jviki/Projects/buildroot-armv8/qemu-armv8/build/linux-4.2/include/linux/rtnetlink.h:115:12: note: declared here
 extern int ndo_dflt_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq,
            ^
/home/jviki/Projects/buildroot-armv8/qemu-armv8/build/dpdk-armv8-hunt-v1/build/build/lib/librte_eal/linuxapp/kni/igb_main.c:2286:1: error: control reaches end of non-void function [-Werror=return-type]
 }
 ^
cc1: all warnings being treated as errors
/home/jviki/Projects/buildroot-armv8/qemu-armv8/build/linux-4.2/scripts/Makefile.build:258: recipe for target '/home/jviki/Projects/bu
ildroot-armv8/qemu-armv8/build/dpdk-armv8-hunt-v1/build/build/lib/librte_eal/linuxapp/kni/igb_main.o' failed

Regards
Jan

On Thu, 29 Oct 2015 17:29:49 +0000
David Hunt <david.hunt at intel.com> wrote:

> Hi DPDK Community. 
> 
> This is an updated patchset for ARMv8 that now sits on top of the previously 
> submitted ARMv7 code by RehiveTech. It re-uses a lot of that code, and splits
> some header files into 32-bit and 64-bit versions, so uses the same arm include
> directory. 
> 
> Tested on an XGene 64-bit arm server board, with PCI slots. Passes traffic between
> two physical ports on an Intel 82599 dual-port 10Gig NIC. Should work with many
> other NICS, but these are as yet untested. 
> 
> Compiles igb_uio, kni and all the physical device PMDs. 
> 
> ACL and LPM are disabled due to compilation issues. 
> 
> Note added to the Release notes. 
> 
> 
> David Hunt (5):
>   eal/arm: split arm rte_memcpy.h into 32 and 64 bit versions.
>   eal/arm: split arm rte_prefetch.h into 32 and 64 bit versions
>   eal/arm: fix 64-bit compilation for armv8
>   mk: Add makefile support for armv8 architecture
>   test: add test for cpu flags on armv8
> 
>  MAINTAINERS                                        |   3 +-
>  app/test/test_cpuflags.c                           |  13 +-
>  config/defconfig_arm64-armv8a-linuxapp-gcc         |  56 ++++
>  doc/guides/rel_notes/release_2_2.rst               |   7 +-
>  .../common/include/arch/arm/rte_cpuflags.h         |   9 +
>  .../common/include/arch/arm/rte_memcpy.h           | 302 +------------------
>  .../common/include/arch/arm/rte_memcpy_32.h        | 334 +++++++++++++++++++++
>  .../common/include/arch/arm/rte_memcpy_64.h        | 322 ++++++++++++++++++++
>  .../common/include/arch/arm/rte_prefetch.h         |  31 +-
>  .../common/include/arch/arm/rte_prefetch_32.h      |  61 ++++
>  .../common/include/arch/arm/rte_prefetch_64.h      |  61 ++++
>  mk/arch/arm64/rte.vars.mk                          |  58 ++++
>  mk/machine/armv8a/rte.vars.mk                      |  57 ++++
>  13 files changed, 986 insertions(+), 328 deletions(-)
>  create mode 100644 config/defconfig_arm64-armv8a-linuxapp-gcc
>  create mode 100644 lib/librte_eal/common/include/arch/arm/rte_memcpy_32.h
>  create mode 100644 lib/librte_eal/common/include/arch/arm/rte_memcpy_64.h
>  create mode 100644 lib/librte_eal/common/include/arch/arm/rte_prefetch_32.h
>  create mode 100644 lib/librte_eal/common/include/arch/arm/rte_prefetch_64.h
>  create mode 100644 mk/arch/arm64/rte.vars.mk
>  create mode 100644 mk/machine/armv8a/rte.vars.mk
> 



-- 
  Jan Viktorin                E-mail: Viktorin at RehiveTech.com
  System Architect            Web:    www.RehiveTech.com
  RehiveTech
  Brno, Czech Republic


More information about the dev mailing list