提交 94949436 编写于 作者: A Andi Kleen 提交者: Linus Torvalds

[PATCH] x86_64: Make local_t 64bit instead of 32bit

For consistency with other architectures
Signed-off-by: NAndi Kleen <ak@suse.de>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 5d05f4de
......@@ -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));
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册