git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
include
/
asm-s390
/
rwsem.h
diff --git
a/include/asm-s390/rwsem.h
b/include/asm-s390/rwsem.h
index
13ec169
..
90f4ecc
100644
(file)
--- a/
include/asm-s390/rwsem.h
+++ b/
include/asm-s390/rwsem.h
@@
-122,23
+122,23
@@
static inline void __down_read(struct rw_semaphore *sem)
{
signed long old, new;
{
signed long old, new;
-
__asm__ __volatile__
(
+
asm volatile
(
#ifndef __s390x__
#ifndef __s390x__
- "
l
%0,0(%3)\n"
- "0:
lr
%1,%0\n"
- "
ahi
%1,%5\n"
- "
cs
%0,%1,0(%3)\n"
- "
jl
0b"
+ "
l
%0,0(%3)\n"
+ "0:
lr
%1,%0\n"
+ "
ahi
%1,%5\n"
+ "
cs
%0,%1,0(%3)\n"
+ "
jl
0b"
#else /* __s390x__ */
#else /* __s390x__ */
- "
lg
%0,0(%3)\n"
- "0:
lgr
%1,%0\n"
- "
aghi
%1,%5\n"
- "
csg
%0,%1,0(%3)\n"
- "
jl
0b"
+ "
lg
%0,0(%3)\n"
+ "0:
lgr
%1,%0\n"
+ "
aghi
%1,%5\n"
+ "
csg
%0,%1,0(%3)\n"
+ "
jl
0b"
#endif /* __s390x__ */
#endif /* __s390x__ */
-
: "=&d" (old), "=&d" (new), "=m" (sem->count)
+ : "=&d" (old), "=&d" (new), "=m" (sem->count)
: "a" (&sem->count), "m" (sem->count),
: "a" (&sem->count), "m" (sem->count),
- "i" (RWSEM_ACTIVE_READ_BIAS) : "cc", "memory"
);
+ "i" (RWSEM_ACTIVE_READ_BIAS) : "cc", "memory");
if (old < 0)
rwsem_down_read_failed(sem);
}
if (old < 0)
rwsem_down_read_failed(sem);
}
@@
-150,27
+150,27
@@
static inline int __down_read_trylock(struct rw_semaphore *sem)
{
signed long old, new;
{
signed long old, new;
-
__asm__ __volatile__
(
+
asm volatile
(
#ifndef __s390x__
#ifndef __s390x__
- "
l
%0,0(%3)\n"
- "0:
ltr
%1,%0\n"
- "
jm
1f\n"
- "
ahi
%1,%5\n"
- "
cs
%0,%1,0(%3)\n"
- "
jl
0b\n"
+ "
l
%0,0(%3)\n"
+ "0:
ltr
%1,%0\n"
+ "
jm
1f\n"
+ "
ahi
%1,%5\n"
+ "
cs
%0,%1,0(%3)\n"
+ "
jl
0b\n"
"1:"
#else /* __s390x__ */
"1:"
#else /* __s390x__ */
- "
lg
%0,0(%3)\n"
- "0:
ltgr
%1,%0\n"
- "
jm
1f\n"
- "
aghi
%1,%5\n"
- "
csg
%0,%1,0(%3)\n"
- "
jl
0b\n"
+ "
lg
%0,0(%3)\n"
+ "0:
ltgr
%1,%0\n"
+ "
jm
1f\n"
+ "
aghi
%1,%5\n"
+ "
csg
%0,%1,0(%3)\n"
+ "
jl
0b\n"
"1:"
#endif /* __s390x__ */
"1:"
#endif /* __s390x__ */
-
: "=&d" (old), "=&d" (new), "=m" (sem->count)
+ : "=&d" (old), "=&d" (new), "=m" (sem->count)
: "a" (&sem->count), "m" (sem->count),
: "a" (&sem->count), "m" (sem->count),
- "i" (RWSEM_ACTIVE_READ_BIAS) : "cc", "memory"
);
+ "i" (RWSEM_ACTIVE_READ_BIAS) : "cc", "memory");
return old >= 0 ? 1 : 0;
}
return old >= 0 ? 1 : 0;
}
@@
-182,23
+182,23
@@
static inline void __down_write_nested(struct rw_semaphore *sem, int subclass)
signed long old, new, tmp;
tmp = RWSEM_ACTIVE_WRITE_BIAS;
signed long old, new, tmp;
tmp = RWSEM_ACTIVE_WRITE_BIAS;
-
__asm__ __volatile__
(
+
asm volatile
(
#ifndef __s390x__
#ifndef __s390x__
- "
l
%0,0(%3)\n"
- "0:
lr
%1,%0\n"
- "
a
%1,%5\n"
- "
cs
%0,%1,0(%3)\n"
- "
jl
0b"
+ "
l
%0,0(%3)\n"
+ "0:
lr
%1,%0\n"
+ "
a
%1,%5\n"
+ "
cs
%0,%1,0(%3)\n"
+ "
jl
0b"
#else /* __s390x__ */
#else /* __s390x__ */
- "
lg
%0,0(%3)\n"
- "0:
lgr
%1,%0\n"
- "
ag
%1,%5\n"
- "
csg
%0,%1,0(%3)\n"
- "
jl
0b"
+ "
lg
%0,0(%3)\n"
+ "0:
lgr
%1,%0\n"
+ "
ag
%1,%5\n"
+ "
csg
%0,%1,0(%3)\n"
+ "
jl
0b"
#endif /* __s390x__ */
#endif /* __s390x__ */
-
: "=&d" (old), "=&d" (new), "=m" (sem->count)
+ : "=&d" (old), "=&d" (new), "=m" (sem->count)
: "a" (&sem->count), "m" (sem->count), "m" (tmp)
: "a" (&sem->count), "m" (sem->count), "m" (tmp)
- : "cc", "memory"
);
+ : "cc", "memory");
if (old != 0)
rwsem_down_write_failed(sem);
}
if (old != 0)
rwsem_down_write_failed(sem);
}
@@
-215,24
+215,24
@@
static inline int __down_write_trylock(struct rw_semaphore *sem)
{
signed long old;
{
signed long old;
-
__asm__ __volatile__
(
+
asm volatile
(
#ifndef __s390x__
#ifndef __s390x__
- "
l
%0,0(%2)\n"
- "0:
ltr
%0,%0\n"
- "
jnz
1f\n"
- "
cs
%0,%4,0(%2)\n"
- "
jl
0b\n"
+ "
l
%0,0(%2)\n"
+ "0:
ltr
%0,%0\n"
+ "
jnz
1f\n"
+ "
cs
%0,%4,0(%2)\n"
+ "
jl
0b\n"
#else /* __s390x__ */
#else /* __s390x__ */
- "
lg
%0,0(%2)\n"
- "0:
ltgr
%0,%0\n"
- "
jnz
1f\n"
- "
csg
%0,%4,0(%2)\n"
- "
jl
0b\n"
+ "
lg
%0,0(%2)\n"
+ "0:
ltgr
%0,%0\n"
+ "
jnz
1f\n"
+ "
csg
%0,%4,0(%2)\n"
+ "
jl
0b\n"
#endif /* __s390x__ */
"1:"
#endif /* __s390x__ */
"1:"
-
: "=&d" (old), "=m" (sem->count)
+ : "=&d" (old), "=m" (sem->count)
: "a" (&sem->count), "m" (sem->count),
: "a" (&sem->count), "m" (sem->count),
- "d" (RWSEM_ACTIVE_WRITE_BIAS) : "cc", "memory"
);
+ "d" (RWSEM_ACTIVE_WRITE_BIAS) : "cc", "memory");
return (old == RWSEM_UNLOCKED_VALUE) ? 1 : 0;
}
return (old == RWSEM_UNLOCKED_VALUE) ? 1 : 0;
}
@@
-243,24
+243,24
@@
static inline void __up_read(struct rw_semaphore *sem)
{
signed long old, new;
{
signed long old, new;
-
__asm__ __volatile__
(
+
asm volatile
(
#ifndef __s390x__
#ifndef __s390x__
- "
l
%0,0(%3)\n"
- "0:
lr
%1,%0\n"
- "
ahi
%1,%5\n"
- "
cs
%0,%1,0(%3)\n"
- "
jl
0b"
+ "
l
%0,0(%3)\n"
+ "0:
lr
%1,%0\n"
+ "
ahi
%1,%5\n"
+ "
cs
%0,%1,0(%3)\n"
+ "
jl
0b"
#else /* __s390x__ */
#else /* __s390x__ */
- "
lg
%0,0(%3)\n"
- "0:
lgr
%1,%0\n"
- "
aghi
%1,%5\n"
- "
csg
%0,%1,0(%3)\n"
- "
jl
0b"
+ "
lg
%0,0(%3)\n"
+ "0:
lgr
%1,%0\n"
+ "
aghi
%1,%5\n"
+ "
csg
%0,%1,0(%3)\n"
+ "
jl
0b"
#endif /* __s390x__ */
#endif /* __s390x__ */
-
: "=&d" (old), "=&d" (new), "=m" (sem->count)
+ : "=&d" (old), "=&d" (new), "=m" (sem->count)
: "a" (&sem->count), "m" (sem->count),
"i" (-RWSEM_ACTIVE_READ_BIAS)
: "a" (&sem->count), "m" (sem->count),
"i" (-RWSEM_ACTIVE_READ_BIAS)
- : "cc", "memory"
);
+ : "cc", "memory");
if (new < 0)
if ((new & RWSEM_ACTIVE_MASK) == 0)
rwsem_wake(sem);
if (new < 0)
if ((new & RWSEM_ACTIVE_MASK) == 0)
rwsem_wake(sem);
@@
-274,23
+274,23
@@
static inline void __up_write(struct rw_semaphore *sem)
signed long old, new, tmp;
tmp = -RWSEM_ACTIVE_WRITE_BIAS;
signed long old, new, tmp;
tmp = -RWSEM_ACTIVE_WRITE_BIAS;
-
__asm__ __volatile__
(
+
asm volatile
(
#ifndef __s390x__
#ifndef __s390x__
- "
l
%0,0(%3)\n"
- "0:
lr
%1,%0\n"
- "
a
%1,%5\n"
- "
cs
%0,%1,0(%3)\n"
- "
jl
0b"
+ "
l
%0,0(%3)\n"
+ "0:
lr
%1,%0\n"
+ "
a
%1,%5\n"
+ "
cs
%0,%1,0(%3)\n"
+ "
jl
0b"
#else /* __s390x__ */
#else /* __s390x__ */
- "
lg
%0,0(%3)\n"
- "0:
lgr
%1,%0\n"
- "
ag
%1,%5\n"
- "
csg
%0,%1,0(%3)\n"
- "
jl
0b"
+ "
lg
%0,0(%3)\n"
+ "0:
lgr
%1,%0\n"
+ "
ag
%1,%5\n"
+ "
csg
%0,%1,0(%3)\n"
+ "
jl
0b"
#endif /* __s390x__ */
#endif /* __s390x__ */
-
: "=&d" (old), "=&d" (new), "=m" (sem->count)
+ : "=&d" (old), "=&d" (new), "=m" (sem->count)
: "a" (&sem->count), "m" (sem->count), "m" (tmp)
: "a" (&sem->count), "m" (sem->count), "m" (tmp)
- : "cc", "memory"
);
+ : "cc", "memory");
if (new < 0)
if ((new & RWSEM_ACTIVE_MASK) == 0)
rwsem_wake(sem);
if (new < 0)
if ((new & RWSEM_ACTIVE_MASK) == 0)
rwsem_wake(sem);
@@
-304,23
+304,23
@@
static inline void __downgrade_write(struct rw_semaphore *sem)
signed long old, new, tmp;
tmp = -RWSEM_WAITING_BIAS;
signed long old, new, tmp;
tmp = -RWSEM_WAITING_BIAS;
-
__asm__ __volatile__
(
+
asm volatile
(
#ifndef __s390x__
#ifndef __s390x__
- "
l
%0,0(%3)\n"
- "0:
lr
%1,%0\n"
- "
a
%1,%5\n"
- "
cs
%0,%1,0(%3)\n"
- "
jl
0b"
+ "
l
%0,0(%3)\n"
+ "0:
lr
%1,%0\n"
+ "
a
%1,%5\n"
+ "
cs
%0,%1,0(%3)\n"
+ "
jl
0b"
#else /* __s390x__ */
#else /* __s390x__ */
- "
lg
%0,0(%3)\n"
- "0:
lgr
%1,%0\n"
- "
ag
%1,%5\n"
- "
csg
%0,%1,0(%3)\n"
- "
jl
0b"
+ "
lg
%0,0(%3)\n"
+ "0:
lgr
%1,%0\n"
+ "
ag
%1,%5\n"
+ "
csg
%0,%1,0(%3)\n"
+ "
jl
0b"
#endif /* __s390x__ */
#endif /* __s390x__ */
-
: "=&d" (old), "=&d" (new), "=m" (sem->count)
+ : "=&d" (old), "=&d" (new), "=m" (sem->count)
: "a" (&sem->count), "m" (sem->count), "m" (tmp)
: "a" (&sem->count), "m" (sem->count), "m" (tmp)
- : "cc", "memory"
);
+ : "cc", "memory");
if (new > 1)
rwsem_downgrade_wake(sem);
}
if (new > 1)
rwsem_downgrade_wake(sem);
}
@@
-332,23
+332,23
@@
static inline void rwsem_atomic_add(long delta, struct rw_semaphore *sem)
{
signed long old, new;
{
signed long old, new;
-
__asm__ __volatile__
(
+
asm volatile
(
#ifndef __s390x__
#ifndef __s390x__
- "
l
%0,0(%3)\n"
- "0:
lr
%1,%0\n"
- "
ar
%1,%5\n"
- "
cs
%0,%1,0(%3)\n"
- "
jl
0b"
+ "
l
%0,0(%3)\n"
+ "0:
lr
%1,%0\n"
+ "
ar
%1,%5\n"
+ "
cs
%0,%1,0(%3)\n"
+ "
jl
0b"
#else /* __s390x__ */
#else /* __s390x__ */
- "
lg
%0,0(%3)\n"
- "0:
lgr
%1,%0\n"
- "
agr
%1,%5\n"
- "
csg
%0,%1,0(%3)\n"
- "
jl
0b"
+ "
lg
%0,0(%3)\n"
+ "0:
lgr
%1,%0\n"
+ "
agr
%1,%5\n"
+ "
csg
%0,%1,0(%3)\n"
+ "
jl
0b"
#endif /* __s390x__ */
#endif /* __s390x__ */
-
: "=&d" (old), "=&d" (new), "=m" (sem->count)
+ : "=&d" (old), "=&d" (new), "=m" (sem->count)
: "a" (&sem->count), "m" (sem->count), "d" (delta)
: "a" (&sem->count), "m" (sem->count), "d" (delta)
- : "cc", "memory"
);
+ : "cc", "memory");
}
/*
}
/*
@@
-358,23
+358,23
@@
static inline long rwsem_atomic_update(long delta, struct rw_semaphore *sem)
{
signed long old, new;
{
signed long old, new;
-
__asm__ __volatile__
(
+
asm volatile
(
#ifndef __s390x__
#ifndef __s390x__
- "
l
%0,0(%3)\n"
- "0:
lr
%1,%0\n"
- "
ar
%1,%5\n"
- "
cs
%0,%1,0(%3)\n"
- "
jl
0b"
+ "
l
%0,0(%3)\n"
+ "0:
lr
%1,%0\n"
+ "
ar
%1,%5\n"
+ "
cs
%0,%1,0(%3)\n"
+ "
jl
0b"
#else /* __s390x__ */
#else /* __s390x__ */
- "
lg
%0,0(%3)\n"
- "0:
lgr
%1,%0\n"
- "
agr
%1,%5\n"
- "
csg
%0,%1,0(%3)\n"
- "
jl
0b"
+ "
lg
%0,0(%3)\n"
+ "0:
lgr
%1,%0\n"
+ "
agr
%1,%5\n"
+ "
csg
%0,%1,0(%3)\n"
+ "
jl
0b"
#endif /* __s390x__ */
#endif /* __s390x__ */
-
: "=&d" (old), "=&d" (new), "=m" (sem->count)
+ : "=&d" (old), "=&d" (new), "=m" (sem->count)
: "a" (&sem->count), "m" (sem->count), "d" (delta)
: "a" (&sem->count), "m" (sem->count), "d" (delta)
- : "cc", "memory"
);
+ : "cc", "memory");
return new;
}
return new;
}