Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ppc32/include/atomic.h

    r228666c r7a0359b  
    3636#define KERN_ppc32_ATOMIC_H_
    3737
    38 static inline void atomic_inc(atomic_t *val)
     38#include <trace.h>
     39
     40NO_TRACE static inline void atomic_inc(atomic_t *val)
    3941{
    4042        atomic_count_t tmp;
     
    4244        asm volatile (
    4345                "1:\n"
    44                 "lwarx %0, 0, %2\n"
    45                 "addic %0, %0, 1\n"
    46                 "stwcx. %0, 0, %2\n"
    47                 "bne- 1b"
    48                 : "=&r" (tmp),
     46                "       lwarx %[tmp], 0, %[count_ptr]\n"
     47                "       addic %[tmp], %[tmp], 1\n"
     48                "       stwcx. %[tmp], 0, %[count_ptr]\n"
     49                "       bne- 1b"
     50                : [tmp] "=&r" (tmp),
    4951                  "=m" (val->count)
    50                 : "r" (&val->count),
     52                : [count_ptr] "r" (&val->count),
    5153                  "m" (val->count)
    5254                : "cc"
     
    5456}
    5557
    56 static inline void atomic_dec(atomic_t *val)
     58NO_TRACE static inline void atomic_dec(atomic_t *val)
    5759{
    5860        atomic_count_t tmp;
     
    6062        asm volatile (
    6163                "1:\n"
    62                 "lwarx %0, 0, %2\n"
    63                 "addic %0, %0, -1\n"
    64                 "stwcx. %0, 0, %2\n"
    65                 "bne- 1b"
    66                 : "=&r" (tmp),
     64                "       lwarx %[tmp], 0, %[count_ptr]\n"
     65                "       addic %[tmp], %[tmp], -1\n"
     66                "       stwcx. %[tmp], 0, %[count_ptr]\n"
     67                "       bne- 1b"
     68                : [tmp] "=&r" (tmp),
    6769                  "=m" (val->count)
    68                 : "r" (&val->count),
     70                : [count_ptr] "r" (&val->count),
    6971                  "m" (val->count)
    7072                : "cc"
     
    7274}
    7375
    74 static inline atomic_count_t atomic_postinc(atomic_t *val)
     76NO_TRACE static inline atomic_count_t atomic_postinc(atomic_t *val)
    7577{
    7678        atomic_inc(val);
     
    7880}
    7981
    80 static inline atomic_count_t atomic_postdec(atomic_t *val)
     82NO_TRACE static inline atomic_count_t atomic_postdec(atomic_t *val)
    8183{
    8284        atomic_dec(val);
     
    8486}
    8587
    86 static inline atomic_count_t atomic_preinc(atomic_t *val)
     88NO_TRACE static inline atomic_count_t atomic_preinc(atomic_t *val)
    8789{
    8890        atomic_inc(val);
     
    9092}
    9193
    92 static inline atomic_count_t atomic_predec(atomic_t *val)
     94NO_TRACE static inline atomic_count_t atomic_predec(atomic_t *val)
    9395{
    9496        atomic_dec(val);
Note: See TracChangeset for help on using the changeset viewer.