diff --git a/[refs] b/[refs] index b0dce048cd03..d53451ef38f0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5d05f4de414c98348219b633401ad9c9a5348a8b +refs/heads/master: 94949436191f69dac735919a9698612ef6b3dbba diff --git a/trunk/include/asm-x86_64/local.h b/trunk/include/asm-x86_64/local.h index 3e72c41727c5..bf148037d4e5 100644 --- a/trunk/include/asm-x86_64/local.h +++ b/trunk/include/asm-x86_64/local.h @@ -5,7 +5,7 @@ typedef struct { - volatile unsigned int counter; + volatile unsigned long counter; } local_t; #define LOCAL_INIT(i) { (i) } @@ -16,7 +16,7 @@ typedef struct static __inline__ void local_inc(local_t *v) { __asm__ __volatile__( - "incl %0" + "incq %0" :"=m" (v->counter) :"m" (v->counter)); } @@ -24,7 +24,7 @@ static __inline__ void local_inc(local_t *v) static __inline__ void local_dec(local_t *v) { __asm__ __volatile__( - "decl %0" + "decq %0" :"=m" (v->counter) :"m" (v->counter)); } @@ -32,7 +32,7 @@ static __inline__ void local_dec(local_t *v) static __inline__ void local_add(unsigned int i, local_t *v) { __asm__ __volatile__( - "addl %1,%0" + "addq %1,%0" :"=m" (v->counter) :"ir" (i), "m" (v->counter)); } @@ -40,7 +40,7 @@ static __inline__ void local_add(unsigned int i, local_t *v) static __inline__ void local_sub(unsigned int i, local_t *v) { __asm__ __volatile__( - "subl %1,%0" + "subq %1,%0" :"=m" (v->counter) :"ir" (i), "m" (v->counter)); }