xen: arm: update arm64 assembly primitives to Linux v3.16-rc6
authorIan Campbell <ian.campbell@citrix.com>
Fri, 25 Jul 2014 15:22:51 +0000 (16:22 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Mon, 4 Aug 2014 15:53:12 +0000 (16:53 +0100)
commita04ef51e4cd10e72d70d0fe983a476201127f6fa
tree9324ad062586cc85a4066c1104fac16ab8d6fac8
parent015330004ec6f6658aa454aec301cad6083a87df
xen: arm: update arm64 assembly primitives to Linux v3.16-rc6

The only really interesting changes here are the updates to mem* which update
to actually optimised versions and introduce an optimised memcmp.

bitops: No change to the bits we import. Record new baseline.

cmpxchg: Import:
  60010e5 arm64: cmpxchg: update macros to prevent warnings
    Author: Mark Hambleton <mahamble@broadcom.com>
Signed-off-by: Mark Hambleton <mahamble@broadcom.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
  e1dfda9 arm64: xchg: prevent warning if return value is unused
    Author: Will Deacon <will.deacon@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
  e1dfda9 resolves the warning which previous caused us to skip 60010e508111.

  Since arm32 and arm64 now differ (as do Linux arm and arm64) here the
  existing definition in asm/system.h gets moved to asm/arm32/cmpxchg.h.
  Previously this was shadowing the arm64 one but they happened to be identical.

atomics: Import:
  8715466 arch,arm64: Convert smp_mb__*()
    Author: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
  This just drops some unused (by us) smp_mb__*_atomic_*.

spinlocks: No change. Record new baseline.

mem*: Import:
  808dbac arm64: lib: Implement optimized memcpy routine
    Author: zhichang.yuan <zhichang.yuan@linaro.org>
Signed-off-by: Zhichang Yuan <zhichang.yuan@linaro.org>
Signed-off-by: Deepak Saxena <dsaxena@linaro.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
  280adc1 arm64: lib: Implement optimized memmove routine
    Author: zhichang.yuan <zhichang.yuan@linaro.org>
Signed-off-by: Zhichang Yuan <zhichang.yuan@linaro.org>
Signed-off-by: Deepak Saxena <dsaxena@linaro.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
  b29a51f arm64: lib: Implement optimized memset routine
    Author: zhichang.yuan <zhichang.yuan@linaro.org>
Signed-off-by: Zhichang Yuan <zhichang.yuan@linaro.org>
Signed-off-by: Deepak Saxena <dsaxena@linaro.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
  d875c9b arm64: lib: Implement optimized memcmp routine
    Author: zhichang.yuan <zhichang.yuan@linaro.org>
Signed-off-by: Zhichang Yuan <zhichang.yuan@linaro.org>
Signed-off-by: Deepak Saxena <dsaxena@linaro.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
  These import various routines from Linaro's Cortex Strings library.

  Added assembler.h similar to on arm32 to define the various magic symbols
  which these imported routines depend on (e.g. CPU_LE() and CPU_BE())

str*: No changes. Record new baseline.

  Correct the paths in the README.

*_page: No changes. Record new baseline.

  README previous said clear_page was unused while clear page was, which was
  backwards.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Julien Grall <julien.grall@linaro.org>
13 files changed:
xen/arch/arm/README.LinuxPrimitives
xen/arch/arm/arm64/lib/Makefile
xen/arch/arm/arm64/lib/assembler.h [new file with mode: 0644]
xen/arch/arm/arm64/lib/memchr.S
xen/arch/arm/arm64/lib/memcmp.S [new file with mode: 0644]
xen/arch/arm/arm64/lib/memcpy.S
xen/arch/arm/arm64/lib/memmove.S
xen/arch/arm/arm64/lib/memset.S
xen/include/asm-arm/arm32/cmpxchg.h
xen/include/asm-arm/arm64/atomic.h
xen/include/asm-arm/arm64/cmpxchg.h
xen/include/asm-arm/string.h
xen/include/asm-arm/system.h