|
@@ -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));
|
|
|
}
|