projects
/
userspace-rcu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
s390: uatomic add missing inline and other { }
[userspace-rcu.git]
/
urcu
/
uatomic_arch_s390.h
diff --git
a/urcu/uatomic_arch_s390.h
b/urcu/uatomic_arch_s390.h
index b67259ec082c7d26ac947ec6087c5f98e12963a4..f8e8dffa6c04e5d2e74599fea8b3c9c11dddf8f4 100644
(file)
--- a/
urcu/uatomic_arch_s390.h
+++ b/
urcu/uatomic_arch_s390.h
@@
-48,6
+48,8
@@
#define uatomic_read(addr) LOAD_SHARED(*(addr))
/* xchg */
#define uatomic_read(addr) LOAD_SHARED(*(addr))
/* xchg */
+
+static inline __attribute__((always_inline))
unsigned long _uatomic_exchange(volatile void *addr, unsigned long val, int len)
{
switch (len) {
unsigned long _uatomic_exchange(volatile void *addr, unsigned long val, int len)
{
switch (len) {
@@
-106,12
+108,14
@@
unsigned long _uatomic_cmpxchg(void *addr, unsigned long old,
}
#if (BITS_PER_LONG == 64)
case 8:
}
#if (BITS_PER_LONG == 64)
case 8:
+ {
__asm__ __volatile__(
" csg %0,%2,%1\n"
: "+r"(old), "+m"(*addr)
: "r"(new)
: "memory", "cc");
return old;
__asm__ __volatile__(
" csg %0,%2,%1\n"
: "+r"(old), "+m"(*addr)
: "r"(new)
: "memory", "cc");
return old;
+ }
#endif
default:
__asm__ __volatile__(".long 0xd00d00");
#endif
default:
__asm__ __volatile__(".long 0xd00d00");
This page took
0.022122 seconds
and
4
git commands to generate.