summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/alpha/__testandset.S
diff options
context:
space:
mode:
authorMystery Man <unknown@mandriva.org>2003-05-06 13:11:49 +0000
committerMystery Man <unknown@mandriva.org>2003-05-06 13:11:49 +0000
commit3f5d21d90abbd16f16ab69aec1e1a1853a93fd18 (patch)
tree3d9f5a32303a8d97b4b457949e64bb42b4850ea9 /mdk-stage1/dietlibc/alpha/__testandset.S
parent327bd24f8e4291bd1882de1990dd7339f781a9cb (diff)
downloaddrakx-backup-do-not-use-850b61624412652eee04fc35ee5cb43e8fd723fa.tar
drakx-backup-do-not-use-850b61624412652eee04fc35ee5cb43e8fd723fa.tar.gz
drakx-backup-do-not-use-850b61624412652eee04fc35ee5cb43e8fd723fa.tar.bz2
drakx-backup-do-not-use-850b61624412652eee04fc35ee5cb43e8fd723fa.tar.xz
drakx-backup-do-not-use-850b61624412652eee04fc35ee5cb43e8fd723fa.zip
This commit was manufactured by cvs2svn to create tag 'R9_0-AMD64'.R9_0-AMD64
Diffstat (limited to 'mdk-stage1/dietlibc/alpha/__testandset.S')
-rw-r--r--mdk-stage1/dietlibc/alpha/__testandset.S11
1 files changed, 11 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/alpha/__testandset.S b/mdk-stage1/dietlibc/alpha/__testandset.S
new file mode 100644
index 000000000..c5ef81241
--- /dev/null
+++ b/mdk-stage1/dietlibc/alpha/__testandset.S
@@ -0,0 +1,11 @@
+.text
+.align 2
+.global __testandsets
+.type __testandsets,@function
+__testandset:
+ ldq_l $0, 0($16) /* load lock */
+ bne $0,1f /* ok there is a lock... */
+ lda $0, 1($31) /* load a 1 to register 0 */
+ stq_c $0, 0($16) /* write lock is locked :) */
+ beq $0,__testandset /* oops someone changed MY lock */
+1: ret $31, ($26), 0x01 /* return */