[dpdk-dev] lib: added support for armv7 architecture

Jan Viktorin viktorin at rehivetech.com
Mon Oct 12 15:47:43 CEST 2015


I'am working on a new patch set patched by your ideas:

* user can select whether to implement timer by clock_gettime or PMU
* we use memcpy when NEON is unavailable
* we detect arm architecture (32/64) by AT_PLATFORM
* small modification of a memory barrier

However, I didn't test it yet, nor compile it. As it is quite huge, I will post
it to the mailing list after some testing is done. I've made it public at github
if somebody is interested... Comments are always welcome.


The following changes since commit 95b282191819edbe60956a43f385219251c158be:

  mk: Introduce ARMv7 architecture (2015-10-12 10:22:13 +0200)

are available in the git repository at:

  https://github.com/RehiveTech/dpdk.git arm-support-v2

for you to fetch changes up to b3b42bb120cb7811bbcc64598fb87e457b1c9ff1:

  arm: Disable usage of SSE optimized code in librte_acl (2015-10-12 15:42:31 +0200)

----------------------------------------------------------------
Jan Viktorin (6):
      eal/arm: implement rdtsc by PMU or clock_gettime
      eal/arm: use vector memcpy only when NEON is enabled
      eal/arm: detect arm architecture in cpu flags
      eal/arm: rwlock support for ARM
      gcc/arm: avoid alignment errors to break build
      maintainers: claim responsibility for ARMv7

Vlastimil Kosar (9):
      eal/arm: atomic operations for ARM
      eal/arm: byte order operations for ARM
      eal/arm: cpu cycle operations for ARM
      eal/arm: prefetch operations for ARM
      eal/arm: spinlock operations for ARM (without HTM)
      eal/arm: vector memcpy for ARM
      eal/arm: cpu flag checks for ARM
      lpm/arm: implement rte_lpm_lookupx4 using rte_lpm_lookup_bulk on for-x86
      arm: Disable usage of SSE optimized code in librte_acl

 MAINTAINERS                                            |   4 +
 app/test/test_cpuflags.c                               |   5 +
 config/defconfig_arm-armv7-a-linuxapp-gcc              |   4 -
 lib/librte_acl/acl.h                                   |   2 +
 lib/librte_acl/rte_acl.c                               |   8 +-
 lib/librte_acl/rte_acl_osdep.h                         |   2 +
 lib/librte_eal/common/include/arch/arm/rte_atomic.h    | 256 +++++++++++++++++++++++++++++++++++++++++++++++++
 lib/librte_eal/common/include/arch/arm/rte_byteorder.h | 148 +++++++++++++++++++++++++++++
 lib/librte_eal/common/include/arch/arm/rte_cpuflags.h  | 180 +++++++++++++++++++++++++++++++++++
 lib/librte_eal/common/include/arch/arm/rte_cycles.h    | 121 ++++++++++++++++++++++++
 lib/librte_eal/common/include/arch/arm/rte_memcpy.h    | 325 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 lib/librte_eal/common/include/arch/arm/rte_prefetch.h  |  61 ++++++++++++
 lib/librte_eal/common/include/arch/arm/rte_rwlock.h    |  40 ++++++++
 lib/librte_eal/common/include/arch/arm/rte_spinlock.h  | 114 ++++++++++++++++++++++
 lib/librte_lpm/rte_lpm.h                               |  71 ++++++++++++++
 mk/rte.cpuflags.mk                                     |   6 ++
 mk/toolchain/gcc/rte.vars.mk                           |   6 ++
 17 files changed, 1348 insertions(+), 5 deletions(-)
 create mode 100644 lib/librte_eal/common/include/arch/arm/rte_atomic.h
 create mode 100644 lib/librte_eal/common/include/arch/arm/rte_byteorder.h
 create mode 100644 lib/librte_eal/common/include/arch/arm/rte_cpuflags.h
 create mode 100644 lib/librte_eal/common/include/arch/arm/rte_cycles.h
 create mode 100644 lib/librte_eal/common/include/arch/arm/rte_memcpy.h
 create mode 100644 lib/librte_eal/common/include/arch/arm/rte_prefetch.h
 create mode 100644 lib/librte_eal/common/include/arch/arm/rte_rwlock.h
 create mode 100644 lib/librte_eal/common/include/arch/arm/rte_spinlock.h

Regards
Jan

On Mon, 12 Oct 2015 14:27:42 +0100
"Hunt, David" <david.hunt at intel.com> wrote:

> Jan, I would suggest that we should plan to include your patch into the 
> DPDK 2.2 release. If there are any portions of our patch that you feel 
> may be beneficial to that, please feel free to merge into your patch. I 
> then suggest you release a v2 patch based on the best parts of both, 
> which we all can then review. Regards, Dave. P.S. Apologies for the 
> footer below, I'm working on getting it removed.
> 
> --------------------------------------------------------------
> Intel Shannon Limited
> Registered in Ireland
> Registered Office: Collinstown Industrial Park, Leixlip, County Kildare
> Registered Number: 308263
> Business address: Dromore House, East Park, Shannon, Co. Clare
> 
> This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.
> 

-- 
   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