projects
/
userspace-rcu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
makefile update
[userspace-rcu.git]
/
arch_atomic_x86.h
diff --git
a/arch_atomic_x86.h
b/arch_atomic_x86.h
index 3422cb4734a0a5e2dd57ff2147f86cd783b58c97..fdd3d6b58ecd28eaf620e10001920eae0193a073 100644
(file)
--- a/
arch_atomic_x86.h
+++ b/
arch_atomic_x86.h
@@
-167,7
+167,8
@@
void _atomic_add(volatile void *addr, unsigned long val, int len)
__asm__ __volatile__(
"lock; addb %1, %0"
: "=m"(*__hp(addr))
__asm__ __volatile__(
"lock; addb %1, %0"
: "=m"(*__hp(addr))
- : "q" ((unsigned char)val));
+ : "iq" ((unsigned char)val)
+ : "memory");
return;
}
case 2:
return;
}
case 2:
@@
-175,7
+176,8
@@
void _atomic_add(volatile void *addr, unsigned long val, int len)
__asm__ __volatile__(
"lock; addw %1, %0"
: "=m"(*__hp(addr))
__asm__ __volatile__(
"lock; addw %1, %0"
: "=m"(*__hp(addr))
- : "r" ((unsigned short)val));
+ : "ir" ((unsigned short)val)
+ : "memory");
return;
}
case 4:
return;
}
case 4:
@@
-183,7
+185,8
@@
void _atomic_add(volatile void *addr, unsigned long val, int len)
__asm__ __volatile__(
"lock; addl %1, %0"
: "=m"(*__hp(addr))
__asm__ __volatile__(
"lock; addl %1, %0"
: "=m"(*__hp(addr))
- : "r" ((unsigned int)val));
+ : "ir" ((unsigned int)val)
+ : "memory");
return;
}
#if (BITS_PER_LONG == 64)
return;
}
#if (BITS_PER_LONG == 64)
@@
-192,7
+195,8
@@
void _atomic_add(volatile void *addr, unsigned long val, int len)
__asm__ __volatile__(
"lock; addq %1, %0"
: "=m"(*__hp(addr))
__asm__ __volatile__(
"lock; addq %1, %0"
: "=m"(*__hp(addr))
- : "r" ((unsigned long)val));
+ : "er" ((unsigned long)val)
+ : "memory");
return;
}
#endif
return;
}
#endif
This page took
0.023795 seconds
and
4
git commands to generate.