diff --git a/arch/alpha/kernel/traps.c b/arch/alpha/kernel/traps.c index 3328af7c2776416d5182d61bdf332554d17b6cdc..af2994206b4b8ba2e367cbd92ea020ebae752f5a 100644 --- a/arch/alpha/kernel/traps.c +++ b/arch/alpha/kernel/traps.c @@ -13,7 +13,7 @@ #include #include #include -#include +#include #include #include diff --git a/arch/alpha/mm/fault.c b/arch/alpha/mm/fault.c index 83e9eee57a55a165d57ffec0c6fe58c4b78300ea..47948b4dd1574ba5685aab4edef529dfb5bc0a4f 100644 --- a/arch/alpha/mm/fault.c +++ b/arch/alpha/mm/fault.c @@ -22,7 +22,7 @@ #include #include #include -#include +#include #include extern void die_if_kernel(char *,struct pt_regs *,long, unsigned long *); diff --git a/arch/arc/mm/extable.c b/arch/arc/mm/extable.c index aa652e28132407d5d6b0757cd8f81a96079da597..c86906b41bfe75c155755112059007e618f02464 100644 --- a/arch/arc/mm/extable.c +++ b/arch/arc/mm/extable.c @@ -8,7 +8,8 @@ * Borrowed heavily from MIPS */ -#include +#include +#include #include int fixup_exception(struct pt_regs *regs) diff --git a/arch/arm/mm/extable.c b/arch/arm/mm/extable.c index 312e15e6d00b8a6b909747305166e1bc7f581bf0..f436f7439e46d585777ee620fe3262b5897c204f 100644 --- a/arch/arm/mm/extable.c +++ b/arch/arm/mm/extable.c @@ -1,7 +1,7 @@ /* * linux/arch/arm/mm/extable.c */ -#include +#include #include int fixup_exception(struct pt_regs *regs) diff --git a/arch/arm/mm/fault.c b/arch/arm/mm/fault.c index 0122ad1a60270cda8c53faf69296b8a93a902851..c2b5b9892fd17dd096691a395d6a635cdf2db8a7 100644 --- a/arch/arm/mm/fault.c +++ b/arch/arm/mm/fault.c @@ -8,7 +8,7 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ -#include +#include #include #include #include diff --git a/arch/cris/arch-v32/kernel/traps.c b/arch/cris/arch-v32/kernel/traps.c index d79666aefd71c7ddfee719b007a7bfd426fcbf3d..ad6174e217c93232cb64c7879333067cc3a10d09 100644 --- a/arch/cris/arch-v32/kernel/traps.c +++ b/arch/cris/arch-v32/kernel/traps.c @@ -3,7 +3,7 @@ */ #include -#include +#include #include #include #include diff --git a/arch/frv/mm/extable.c b/arch/frv/mm/extable.c index 9a641c1b085a326315153be4c7925a064ee71714..a0e8b3e03e4cbfec6edd753207eae23f333af246 100644 --- a/arch/frv/mm/extable.c +++ b/arch/frv/mm/extable.c @@ -2,7 +2,7 @@ * linux/arch/frv/mm/extable.c */ -#include +#include #include #include diff --git a/arch/hexagon/mm/vm_fault.c b/arch/hexagon/mm/vm_fault.c index de863d6d802b899e79b436160dec66dfd949e918..489875fd2be459ffb843a0a5a9b2d0dcdb9b021d 100644 --- a/arch/hexagon/mm/vm_fault.c +++ b/arch/hexagon/mm/vm_fault.c @@ -29,7 +29,7 @@ #include #include #include -#include +#include #include /* diff --git a/arch/ia64/include/asm/exception.h b/arch/ia64/include/asm/exception.h new file mode 100644 index 0000000000000000000000000000000000000000..6bb246dcdaeb8dad362e7c4ab858a7f15336bec7 --- /dev/null +++ b/arch/ia64/include/asm/exception.h @@ -0,0 +1,35 @@ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#ifndef __ASM_EXCEPTION_H +#define __ASM_EXCEPTION_H + +struct pt_regs; +struct exception_table_entry; + +extern void ia64_handle_exception(struct pt_regs *regs, + const struct exception_table_entry *e); + +#define ia64_done_with_exception(regs) \ +({ \ + int __ex_ret = 0; \ + const struct exception_table_entry *e; \ + e = search_exception_tables((regs)->cr_iip + ia64_psr(regs)->ri); \ + if (e) { \ + ia64_handle_exception(regs, e); \ + __ex_ret = 1; \ + } \ + __ex_ret; \ +}) + +#endif /* __ASM_EXCEPTION_H */ diff --git a/arch/ia64/include/asm/uaccess.h b/arch/ia64/include/asm/uaccess.h index bfe13196f7708f6e574f2ecdbbb34c2acc29855e..471044be2a3bdf5b418ea2f3b909c3cf3ef53798 100644 --- a/arch/ia64/include/asm/uaccess.h +++ b/arch/ia64/include/asm/uaccess.h @@ -353,21 +353,6 @@ struct exception_table_entry { int fixup; /* location-relative continuation addr.; if bit 2 is set, r9 is set to 0 */ }; -extern void ia64_handle_exception (struct pt_regs *regs, const struct exception_table_entry *e); -extern const struct exception_table_entry *search_exception_tables (unsigned long addr); - -static inline int -ia64_done_with_exception (struct pt_regs *regs) -{ - const struct exception_table_entry *e; - e = search_exception_tables(regs->cr_iip + ia64_psr(regs)->ri); - if (e) { - ia64_handle_exception(regs, e); - return 1; - } - return 0; -} - #define ARCH_HAS_TRANSLATE_MEM_PTR 1 static __inline__ void * xlate_dev_mem_ptr(phys_addr_t p) diff --git a/arch/ia64/kernel/kprobes.c b/arch/ia64/kernel/kprobes.c index 45ff27e9edbb1cd0e179c0b185f151e9d027942a..f5f3a5e6fcd19d78c5f694ff7bbcae2160d93a2f 100644 --- a/arch/ia64/kernel/kprobes.c +++ b/arch/ia64/kernel/kprobes.c @@ -28,12 +28,12 @@ #include #include #include -#include +#include #include #include #include -#include +#include extern void jprobe_inst_return(void); diff --git a/arch/ia64/kernel/traps.c b/arch/ia64/kernel/traps.c index 095bfaff82d0b14f04734c5b24c58819fb54237a..8981ce98afb365c43bfe5ab1339cb34ea582f291 100644 --- a/arch/ia64/kernel/traps.c +++ b/arch/ia64/kernel/traps.c @@ -12,16 +12,18 @@ #include #include #include /* For unblank_screen() */ -#include /* for EXPORT_SYMBOL */ +#include +#include #include #include #include /* for ssleep() */ #include +#include #include #include #include -#include +#include #include fpswa_interface_t *fpswa_interface; diff --git a/arch/ia64/kernel/unaligned.c b/arch/ia64/kernel/unaligned.c index 9cd01c2200eee782a4c2ada82759cca02719a653..99348d7f2255ce1cd50c8ba111630126e9a89e03 100644 --- a/arch/ia64/kernel/unaligned.c +++ b/arch/ia64/kernel/unaligned.c @@ -17,12 +17,14 @@ #include #include #include +#include #include +#include #include #include #include -#include +#include #include extern int die_if_kernel(char *str, struct pt_regs *regs, long err); diff --git a/arch/ia64/mm/fault.c b/arch/ia64/mm/fault.c index fa6ad95e992e3690d623dd267e3c651b76f9bb9d..7f2feb21753c8be1c6073072440cb5ef8d6a4309 100644 --- a/arch/ia64/mm/fault.c +++ b/arch/ia64/mm/fault.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -15,6 +16,7 @@ #include #include +#include extern int die(char *, struct pt_regs *, long); diff --git a/arch/m32r/mm/extable.c b/arch/m32r/mm/extable.c index 40ccf80d29cf5457b472b3af3af5fba4a9ddcf87..8ac8ba6ef60c47db41474bc097ebed6d26084f57 100644 --- a/arch/m32r/mm/extable.c +++ b/arch/m32r/mm/extable.c @@ -2,7 +2,7 @@ * linux/arch/m32r/mm/extable.c */ -#include +#include #include int fixup_exception(struct pt_regs *regs) diff --git a/arch/m32r/mm/fault.c b/arch/m32r/mm/fault.c index a3785d3644c233f7f8e3ca6406cae54f3531ee11..a05dc31845940db842997f691e5a5d7c440ab77a 100644 --- a/arch/m32r/mm/fault.c +++ b/arch/m32r/mm/fault.c @@ -23,7 +23,7 @@ #include #include /* For unblank_screen() */ #include -#include +#include #include #include diff --git a/arch/metag/mm/extable.c b/arch/metag/mm/extable.c index 2a21eaebe84d1096cc37fe65f393b613732b3587..3aa90b78b43d4d0a25c53052d358d77ecc41d746 100644 --- a/arch/metag/mm/extable.c +++ b/arch/metag/mm/extable.c @@ -1,5 +1,4 @@ - -#include +#include #include int fixup_exception(struct pt_regs *regs) diff --git a/arch/microblaze/mm/fault.c b/arch/microblaze/mm/fault.c index abb678ccde6ff5ddc7829de582245a5aaa811293..f91b30f8aaa8c112b129b95bbaefcc70980eb391 100644 --- a/arch/microblaze/mm/fault.c +++ b/arch/microblaze/mm/fault.c @@ -17,7 +17,7 @@ * */ -#include +#include #include #include #include diff --git a/arch/mn10300/mm/extable.c b/arch/mn10300/mm/extable.c index 305de461cb8f83395f84a767a774883f9d20ed37..045a903ee6b9486fd56a49232b3e34c0772e816b 100644 --- a/arch/mn10300/mm/extable.c +++ b/arch/mn10300/mm/extable.c @@ -8,7 +8,7 @@ * as published by the Free Software Foundation; either version * 2 of the Licence, or (at your option) any later version. */ -#include +#include #include #include diff --git a/arch/mn10300/mm/misalignment.c b/arch/mn10300/mm/misalignment.c index 31d04da85743090e7ac9d6a4d1a6ffe63d12b73d..b39a388825ae33b2627913be7e2e72a2c581658b 100644 --- a/arch/mn10300/mm/misalignment.c +++ b/arch/mn10300/mm/misalignment.c @@ -8,7 +8,7 @@ * as published by the Free Software Foundation; either version * 2 of the Licence, or (at your option) any later version. */ -#include +#include #include #include #include diff --git a/arch/nios2/mm/extable.c b/arch/nios2/mm/extable.c index 4d2fc5a589d09492630ddff2a52a7a6a96ab6486..2574dba0407d0ff3732f002586ed91adfd005b01 100644 --- a/arch/nios2/mm/extable.c +++ b/arch/nios2/mm/extable.c @@ -8,7 +8,7 @@ * for more details. */ -#include +#include #include int fixup_exception(struct pt_regs *regs) diff --git a/arch/nios2/mm/fault.c b/arch/nios2/mm/fault.c index affc4eb3f89efa7e98bd9cccc3145520f158270e..e7a14e1e0d6b6d3a12293b2f75b96985134c7242 100644 --- a/arch/nios2/mm/fault.c +++ b/arch/nios2/mm/fault.c @@ -21,7 +21,7 @@ #include #include #include -#include +#include #include #include diff --git a/arch/openrisc/kernel/traps.c b/arch/openrisc/kernel/traps.c index a4574cb4b0fb88cc783066cf48d4a35ecd4ead1e..d29c41bfbffaab232cf21d781aed6893fde12c06 100644 --- a/arch/openrisc/kernel/traps.c +++ b/arch/openrisc/kernel/traps.c @@ -23,7 +23,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/arch/openrisc/mm/fault.c b/arch/openrisc/mm/fault.c index b1a7435e786afd590f53e2ec286c15886f0e0dbb..53592a639744f44dbbe9a2b0fd300d6593be2485 100644 --- a/arch/openrisc/mm/fault.c +++ b/arch/openrisc/mm/fault.c @@ -17,7 +17,7 @@ #include #include -#include +#include #include #include diff --git a/arch/score/kernel/traps.c b/arch/score/kernel/traps.c index d948a6818961d05906a001a1de34e068061d1684..2b22bcf02c27e8559adc3aee6e7c61bb770a6109 100644 --- a/arch/score/kernel/traps.c +++ b/arch/score/kernel/traps.c @@ -23,7 +23,7 @@ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#include +#include #include #include diff --git a/arch/score/mm/extable.c b/arch/score/mm/extable.c index 01ff6445171cdd91cdf8c8e9eed125f18862737e..ec871355fc2d60498cee6b245c44476f0dc59604 100644 --- a/arch/score/mm/extable.c +++ b/arch/score/mm/extable.c @@ -23,7 +23,7 @@ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#include +#include int fixup_exception(struct pt_regs *regs) { diff --git a/arch/score/mm/fault.c b/arch/score/mm/fault.c index 995b71e4db4bafe3100ca5f4d62c9c2aff2af136..b85fad4f08740b853bc730ca10ffe78086f94c96 100644 --- a/arch/score/mm/fault.c +++ b/arch/score/mm/fault.c @@ -28,7 +28,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/arch/sh/include/asm/uaccess.h b/arch/sh/include/asm/uaccess.h index a38d0c7b818fe317a8e223a4531288c64fe73dba..c4f0fee812c3592b741d27e986faea9e89219bb0 100644 --- a/arch/sh/include/asm/uaccess.h +++ b/arch/sh/include/asm/uaccess.h @@ -192,7 +192,6 @@ struct exception_table_entry { #endif int fixup_exception(struct pt_regs *regs); -const struct exception_table_entry *search_exception_tables(unsigned long addr); extern void *set_exception_table_vec(unsigned int vec, void *handler); diff --git a/arch/sh/kernel/kprobes.c b/arch/sh/kernel/kprobes.c index 1653ff64b1037ed131513a8509dc03d8861cdefb..52a5e11247d192b30c777a26cd3db6f75b50cf40 100644 --- a/arch/sh/kernel/kprobes.c +++ b/arch/sh/kernel/kprobes.c @@ -9,7 +9,7 @@ * for more details. */ #include -#include +#include #include #include #include diff --git a/arch/sh/kernel/traps.c b/arch/sh/kernel/traps.c index dfdad72c61caf2847cddac6c37c344c1a635b6cb..9513fa7840aa998a9151235481c24a220da75a63 100644 --- a/arch/sh/kernel/traps.c +++ b/arch/sh/kernel/traps.c @@ -8,7 +8,8 @@ #include #include #include -#include +#include +#include /* print_modules */ #include #include diff --git a/arch/sh/mm/extable_32.c b/arch/sh/mm/extable_32.c index 9cfcbb5848e45201bd42c44672f80cae51c68693..24a75d315dcbba0f2a7cd6cf0690b428c1f2c2d4 100644 --- a/arch/sh/mm/extable_32.c +++ b/arch/sh/mm/extable_32.c @@ -4,7 +4,7 @@ * linux/arch/i386/mm/extable.c */ -#include +#include #include int fixup_exception(struct pt_regs *regs) diff --git a/arch/sh/mm/extable_64.c b/arch/sh/mm/extable_64.c index 96edaff8c98329d4f6fbffbe506d79e602df8d2f..b90cdfad2c78db5103d04fdd4d53d52975c5e651 100644 --- a/arch/sh/mm/extable_64.c +++ b/arch/sh/mm/extable_64.c @@ -11,7 +11,7 @@ * for more details. */ #include -#include +#include #include extern unsigned long copy_user_memcpy, copy_user_memcpy_end; diff --git a/arch/sparc/mm/extable.c b/arch/sparc/mm/extable.c index 768a11e6bd4fa083a34c8b2ef2bd62aa2bbd1553..db214e9931d9260cca320ff3212c66da7d44d742 100644 --- a/arch/sparc/mm/extable.c +++ b/arch/sparc/mm/extable.c @@ -3,6 +3,7 @@ */ #include +#include #include void sort_extable(struct exception_table_entry *start, diff --git a/arch/unicore32/mm/extable.c b/arch/unicore32/mm/extable.c index 6564180eb285908fa594da57bc427f24503e105d..c562046947ba5d50d8d36e72b1228fb63cec595b 100644 --- a/arch/unicore32/mm/extable.c +++ b/arch/unicore32/mm/extable.c @@ -9,7 +9,7 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ -#include +#include #include int fixup_exception(struct pt_regs *regs) diff --git a/arch/unicore32/mm/fault.c b/arch/unicore32/mm/fault.c index 6c7f70bcaae3263b1b9a229c87739c1bd25b68e1..b656d216a8a85d83c0ef1f2505e8145d13e32a3b 100644 --- a/arch/unicore32/mm/fault.c +++ b/arch/unicore32/mm/fault.c @@ -9,7 +9,7 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ -#include +#include #include #include #include diff --git a/arch/xtensa/mm/fault.c b/arch/xtensa/mm/fault.c index 2725e08ef353798956d4378085d55ae00eeba303..a14df5aa98c898f641812eef88fc6969d06ad172 100644 --- a/arch/xtensa/mm/fault.c +++ b/arch/xtensa/mm/fault.c @@ -13,7 +13,7 @@ */ #include -#include +#include #include #include #include diff --git a/include/linux/module.h b/include/linux/module.h index cc7cba219b207de5536f6f9e9353d1a20201e4af..5cddadff2c25a2040c8610fa2ae4a47a33b1257e 100644 --- a/include/linux/module.h +++ b/include/linux/module.h @@ -18,7 +18,6 @@ #include #include #include -#include /* only as arch move module.h -> extable.h */ #include #include diff --git a/init/main.c b/init/main.c index 6ced14a3df12a8ae55b3c16bd03525de6a7c20ea..6d98664e843b0a4bb9d4d6ebdc71fd98797bff14 100644 --- a/init/main.c +++ b/init/main.c @@ -12,6 +12,7 @@ #define DEBUG /* Enable initcall_debug */ #include +#include #include #include #include diff --git a/kernel/extable.c b/kernel/extable.c index e1359474baa5a55288a37386f290cb68b61ddd85..6b0d09051efbfab707babae601141b19bd7340f8 100644 --- a/kernel/extable.c +++ b/kernel/extable.c @@ -17,6 +17,7 @@ */ #include #include +#include #include #include #include diff --git a/kernel/module.c b/kernel/module.c index e2eec4b47143d1f2930258b7ccc028efa7e71d4c..1a17ec0c8ae7889a34ffcf53cde513b3d0ebc2c5 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -17,6 +17,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include +#include #include #include #include