1
#include <asm/atomic.h>
2
#include <asm/rwlock.h>
4
#if defined(CONFIG_SMP)
7
".globl __write_lock_failed\n"
8
"__write_lock_failed:\n"
9
" " LOCK "addl $" RW_LOCK_BIAS_STR ",(%eax)\n"
11
" cmpl $" RW_LOCK_BIAS_STR ",(%eax)\n"
13
" " LOCK "subl $" RW_LOCK_BIAS_STR ",(%eax)\n"
14
" jnz __write_lock_failed\n"
18
".globl __read_lock_failed\n"
19
"__read_lock_failed:\n"
20
" lock ; incl (%eax)\n"
24
" lock ; decl (%eax)\n"
25
" js __read_lock_failed\n"