lkml.org 
[lkml]   [2009]   [Dec]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] perf tools: allow building for ARM (patch v2)
    Date
    Add definitions of rmb() and cpu_relax() and include the ARM unistd.h
    header. The __kuser_memory_barrier helper in the helper page is used to
    provide the correct memory barrier depending on the CPU type.

    Signed-off-by: Jamie Iles <jamie.iles@picochip.com>
    Cc: Russell King <linux@arm.linux.org.uk>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Mikael Pettersson <mikpe@it.uu.se>
    ---
    tools/perf/perf.h | 12 ++++++++++++
    1 files changed, 12 insertions(+), 0 deletions(-)

    diff --git a/tools/perf/perf.h b/tools/perf/perf.h
    index 454d5d5..75f941b 100644
    --- a/tools/perf/perf.h
    +++ b/tools/perf/perf.h
    @@ -59,6 +59,18 @@
    #define cpu_relax() asm volatile ("hint @pause" ::: "memory")
    #endif

    +#ifdef __arm__
    +#include "../../arch/arm/include/asm/unistd.h"
    +/*
    + * Use the __kuser_memory_barrier helper in the CPU helper page. See
    + * arch/arm/kernel/entry-armv.S in the kernel source for details.
    + */
    +#define rmb() asm volatile("mov r0, #0xffff0fff; mov lr, pc;" \
    + "sub pc, r0, #95" ::: "r0", "lr", "cc", \
    + "memory")
    +#define cpu_relax() asm volatile("":::"memory")
    +#endif
    +
    #include <time.h>
    #include <unistd.h>
    #include <sys/types.h>
    --
    1.6.5.4


    \
     
     \ /
      Last update: 2009-12-11 13:21    [W:0.035 / U:0.132 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site