diff options
author | H. Peter Anvin <hpa@zytor.com> | 2008-02-04 10:47:59 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-02-04 10:47:59 -0500 |
commit | 14e6d17d683c02c114fccdde3a867033e8781416 (patch) | |
tree | f1eda297564118c3ee9f78fd6b2bc4f21fb3b6d1 /include/asm-x86/uaccess_32.h | |
parent | 88976ee187dce4c8de56e25955631de9765d96d1 (diff) |
x86: use _ASM_EXTABLE macro in include/asm-x86/uaccess_32.h
Use the _ASM_EXTABLE macro from <asm/asm.h>, instead of open-coding
__ex_table entires in include/asm-x86/uaccess_32.h.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/asm-x86/uaccess_32.h')
-rw-r--r-- | include/asm-x86/uaccess_32.h | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/include/asm-x86/uaccess_32.h b/include/asm-x86/uaccess_32.h index d2a4f7be9c2c..fcc570ec4fee 100644 --- a/include/asm-x86/uaccess_32.h +++ b/include/asm-x86/uaccess_32.h | |||
@@ -8,6 +8,7 @@ | |||
8 | #include <linux/thread_info.h> | 8 | #include <linux/thread_info.h> |
9 | #include <linux/prefetch.h> | 9 | #include <linux/prefetch.h> |
10 | #include <linux/string.h> | 10 | #include <linux/string.h> |
11 | #include <asm/asm.h> | ||
11 | #include <asm/page.h> | 12 | #include <asm/page.h> |
12 | 13 | ||
13 | #define VERIFY_READ 0 | 14 | #define VERIFY_READ 0 |
@@ -287,11 +288,8 @@ extern void __put_user_8(void); | |||
287 | "4: movl %3,%0\n" \ | 288 | "4: movl %3,%0\n" \ |
288 | " jmp 3b\n" \ | 289 | " jmp 3b\n" \ |
289 | ".previous\n" \ | 290 | ".previous\n" \ |
290 | ".section __ex_table,\"a\"\n" \ | 291 | _ASM_EXTABLE(1b,4b) \ |
291 | " .align 4\n" \ | 292 | _ASM_EXTABLE(2b,4b) \ |
292 | " .long 1b,4b\n" \ | ||
293 | " .long 2b,4b\n" \ | ||
294 | ".previous" \ | ||
295 | : "=r"(err) \ | 293 | : "=r"(err) \ |
296 | : "A" (x), "r" (addr), "i"(-EFAULT), "0"(err)) | 294 | : "A" (x), "r" (addr), "i"(-EFAULT), "0"(err)) |
297 | 295 | ||
@@ -338,10 +336,7 @@ struct __large_struct { unsigned long buf[100]; }; | |||
338 | "3: movl %3,%0\n" \ | 336 | "3: movl %3,%0\n" \ |
339 | " jmp 2b\n" \ | 337 | " jmp 2b\n" \ |
340 | ".previous\n" \ | 338 | ".previous\n" \ |
341 | ".section __ex_table,\"a\"\n" \ | 339 | _ASM_EXTABLE(1b,3b) \ |
342 | " .align 4\n" \ | ||
343 | " .long 1b,3b\n" \ | ||
344 | ".previous" \ | ||
345 | : "=r"(err) \ | 340 | : "=r"(err) \ |
346 | : ltype (x), "m"(__m(addr)), "i"(errret), "0"(err)) | 341 | : ltype (x), "m"(__m(addr)), "i"(errret), "0"(err)) |
347 | 342 | ||
@@ -378,10 +373,7 @@ do { \ | |||
378 | " xor"itype" %"rtype"1,%"rtype"1\n" \ | 373 | " xor"itype" %"rtype"1,%"rtype"1\n" \ |
379 | " jmp 2b\n" \ | 374 | " jmp 2b\n" \ |
380 | ".previous\n" \ | 375 | ".previous\n" \ |
381 | ".section __ex_table,\"a\"\n" \ | 376 | _ASM_EXTABLE(1b,3b) \ |
382 | " .align 4\n" \ | ||
383 | " .long 1b,3b\n" \ | ||
384 | ".previous" \ | ||
385 | : "=r"(err), ltype (x) \ | 377 | : "=r"(err), ltype (x) \ |
386 | : "m"(__m(addr)), "i"(errret), "0"(err)) | 378 | : "m"(__m(addr)), "i"(errret), "0"(err)) |
387 | 379 | ||