diff options
Diffstat (limited to 'include/asm-i386/mutex.h')
| -rw-r--r-- | include/asm-i386/mutex.h | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/include/asm-i386/mutex.h b/include/asm-i386/mutex.h index 05a538531229..7a17d9e58ad6 100644 --- a/include/asm-i386/mutex.h +++ b/include/asm-i386/mutex.h | |||
| @@ -30,14 +30,10 @@ do { \ | |||
| 30 | \ | 30 | \ |
| 31 | __asm__ __volatile__( \ | 31 | __asm__ __volatile__( \ |
| 32 | LOCK_PREFIX " decl (%%eax) \n" \ | 32 | LOCK_PREFIX " decl (%%eax) \n" \ |
| 33 | " js 2f \n" \ | 33 | " jns 1f \n" \ |
| 34 | " call "#fail_fn" \n" \ | ||
| 34 | "1: \n" \ | 35 | "1: \n" \ |
| 35 | \ | 36 | \ |
| 36 | LOCK_SECTION_START("") \ | ||
| 37 | "2: call "#fail_fn" \n" \ | ||
| 38 | " jmp 1b \n" \ | ||
| 39 | LOCK_SECTION_END \ | ||
| 40 | \ | ||
| 41 | :"=a" (dummy) \ | 37 | :"=a" (dummy) \ |
| 42 | : "a" (count) \ | 38 | : "a" (count) \ |
| 43 | : "memory", "ecx", "edx"); \ | 39 | : "memory", "ecx", "edx"); \ |
| @@ -86,14 +82,10 @@ do { \ | |||
| 86 | \ | 82 | \ |
| 87 | __asm__ __volatile__( \ | 83 | __asm__ __volatile__( \ |
| 88 | LOCK_PREFIX " incl (%%eax) \n" \ | 84 | LOCK_PREFIX " incl (%%eax) \n" \ |
| 89 | " jle 2f \n" \ | 85 | " jg 1f \n" \ |
| 86 | " call "#fail_fn" \n" \ | ||
| 90 | "1: \n" \ | 87 | "1: \n" \ |
| 91 | \ | 88 | \ |
| 92 | LOCK_SECTION_START("") \ | ||
| 93 | "2: call "#fail_fn" \n" \ | ||
| 94 | " jmp 1b \n" \ | ||
| 95 | LOCK_SECTION_END \ | ||
| 96 | \ | ||
| 97 | :"=a" (dummy) \ | 89 | :"=a" (dummy) \ |
| 98 | : "a" (count) \ | 90 | : "a" (count) \ |
| 99 | : "memory", "ecx", "edx"); \ | 91 | : "memory", "ecx", "edx"); \ |
