diff options
author | Michal Simek <monstr@monstr.eu> | 2010-03-05 09:37:57 -0500 |
---|---|---|
committer | Michal Simek <monstr@monstr.eu> | 2010-04-01 02:38:19 -0400 |
commit | 357bc3c9284b2fb201786176e8187d2273323bc1 (patch) | |
tree | 947095cef62b027a36b5c2dde17b66da685bc9bb /arch | |
parent | 40db0834337ef0cde586feeb5588e45f0349098b (diff) |
microblaze: Move exception_table_entry upward
Just sort to be able remove whole block.
Signed-off-by: Michal Simek <monstr@monstr.eu>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/microblaze/include/asm/uaccess.h | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/arch/microblaze/include/asm/uaccess.h b/arch/microblaze/include/asm/uaccess.h index a8f794d03c5f..e2adad33950e 100644 --- a/arch/microblaze/include/asm/uaccess.h +++ b/arch/microblaze/include/asm/uaccess.h | |||
@@ -55,6 +55,21 @@ | |||
55 | 55 | ||
56 | # define segment_eq(a, b) ((a).seg == (b).seg) | 56 | # define segment_eq(a, b) ((a).seg == (b).seg) |
57 | 57 | ||
58 | /* | ||
59 | * The exception table consists of pairs of addresses: the first is the | ||
60 | * address of an instruction that is allowed to fault, and the second is | ||
61 | * the address at which the program should continue. No registers are | ||
62 | * modified, so it is entirely up to the continuation code to figure out | ||
63 | * what to do. | ||
64 | * | ||
65 | * All the routines below use bits of fixup code that are out of line | ||
66 | * with the main instruction path. This means when everything is well, | ||
67 | * we don't even have to jump over them. Further, they do not intrude | ||
68 | * on our cache or tlb entries. | ||
69 | */ | ||
70 | struct exception_table_entry { | ||
71 | unsigned long insn, fixup; | ||
72 | }; | ||
58 | 73 | ||
59 | #define __clear_user(addr, n) (memset((void *)(addr), 0, (n)), 0) | 74 | #define __clear_user(addr, n) (memset((void *)(addr), 0, (n)), 0) |
60 | 75 | ||
@@ -333,22 +348,6 @@ extern int __strnlen_user(const char __user *sstr, int len); | |||
333 | extern unsigned long __copy_tofrom_user(void __user *to, | 348 | extern unsigned long __copy_tofrom_user(void __user *to, |
334 | const void __user *from, unsigned long size); | 349 | const void __user *from, unsigned long size); |
335 | 350 | ||
336 | /* | ||
337 | * The exception table consists of pairs of addresses: the first is the | ||
338 | * address of an instruction that is allowed to fault, and the second is | ||
339 | * the address at which the program should continue. No registers are | ||
340 | * modified, so it is entirely up to the continuation code to figure out | ||
341 | * what to do. | ||
342 | * | ||
343 | * All the routines below use bits of fixup code that are out of line | ||
344 | * with the main instruction path. This means when everything is well, | ||
345 | * we don't even have to jump over them. Further, they do not intrude | ||
346 | * on our cache or tlb entries. | ||
347 | */ | ||
348 | struct exception_table_entry { | ||
349 | unsigned long insn, fixup; | ||
350 | }; | ||
351 | |||
352 | #endif /* __ASSEMBLY__ */ | 351 | #endif /* __ASSEMBLY__ */ |
353 | #endif /* __KERNEL__ */ | 352 | #endif /* __KERNEL__ */ |
354 | 353 | ||