[PATCH] x86_64: Make local_t 64bit instead of 32bit
authorAndi Kleen <ak@suse.de>
Sat, 25 Mar 2006 15:31:37 +0000 (16:31 +0100)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sat, 25 Mar 2006 17:14:38 +0000 (09:14 -0800)
For consistency with other architectures

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
include/asm-x86_64/local.h

index 3e72c41..bf14803 100644 (file)
@@ -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));
 }