Import 2.1.116pre2
[davej-history.git] / arch / i386 / lib / lock.S
blobc500c05f89c1e0110cabac51692674fa38728331
1 .globl __getlock
2 __getlock:
3         pushl %eax
5         movl $-8192,%eax
6         andl %esp,%eax
7         movl 36(%eax),%eax
8         incl spinlocks(,%eax,4)
10         popl %eax
11         ret
13 .globl __putlock
14 __putlock:
15         pushl %eax
17         movl $-8192,%eax
18         andl %esp,%eax
19         movl 36(%eax),%eax
20         decl spinlocks(,%eax,4)
21         js __bad_put
23         popl %eax
24         ret
26 __bad_put:
27         pushl %edx
28         pushl %ecx
29         call __putlock_negative
30         popl %ecx
31         popl %edx
32         popl %eax
33         ret