summaryrefslogtreecommitdiffstats
path: root/arch/sparc64/lib/rwsem.S
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@pobox.com>2005-06-28 00:46:58 -0400
committerJeff Garzik <jgarzik@pobox.com>2005-06-28 00:46:58 -0400
commitd011e151bc5d1a581bf35b492a4fde44d30382b9 (patch)
treea912c745d3093127a767b7456c46c517bdc0baf7 /arch/sparc64/lib/rwsem.S
parent30b4d6565e4d57c6d03600c7822411c7cac19638 (diff)
parent2179a59db18ddf8eb3fd0133a3bee57f1c2b5b06 (diff)
downloadtalos-obmc-linux-d011e151bc5d1a581bf35b492a4fde44d30382b9.tar.gz
talos-obmc-linux-d011e151bc5d1a581bf35b492a4fde44d30382b9.zip
Merge /spare/repo/netdev-2.6 branch 'ieee80211'
Diffstat (limited to 'arch/sparc64/lib/rwsem.S')
-rw-r--r--arch/sparc64/lib/rwsem.S15
1 files changed, 10 insertions, 5 deletions
diff --git a/arch/sparc64/lib/rwsem.S b/arch/sparc64/lib/rwsem.S
index 174ff7b9164c..75f0e6b951d6 100644
--- a/arch/sparc64/lib/rwsem.S
+++ b/arch/sparc64/lib/rwsem.S
@@ -17,8 +17,9 @@ __down_read:
bne,pn %icc, 1b
add %g7, 1, %g7
cmp %g7, 0
+ membar #StoreLoad | #StoreStore
bl,pn %icc, 3f
- membar #StoreLoad | #StoreStore
+ nop
2:
retl
nop
@@ -57,8 +58,9 @@ __down_write:
cmp %g3, %g7
bne,pn %icc, 1b
cmp %g7, 0
+ membar #StoreLoad | #StoreStore
bne,pn %icc, 3f
- membar #StoreLoad | #StoreStore
+ nop
2: retl
nop
3:
@@ -97,8 +99,9 @@ __up_read:
cmp %g1, %g7
bne,pn %icc, 1b
cmp %g7, 0
+ membar #StoreLoad | #StoreStore
bl,pn %icc, 3f
- membar #StoreLoad | #StoreStore
+ nop
2: retl
nop
3: sethi %hi(RWSEM_ACTIVE_MASK), %g1
@@ -126,8 +129,9 @@ __up_write:
bne,pn %icc, 1b
sub %g7, %g1, %g7
cmp %g7, 0
+ membar #StoreLoad | #StoreStore
bl,pn %icc, 3f
- membar #StoreLoad | #StoreStore
+ nop
2:
retl
nop
@@ -151,8 +155,9 @@ __downgrade_write:
bne,pn %icc, 1b
sub %g7, %g1, %g7
cmp %g7, 0
+ membar #StoreLoad | #StoreStore
bl,pn %icc, 3f
- membar #StoreLoad | #StoreStore
+ nop
2:
retl
nop
OpenPOWER on IntegriCloud