@@ -232,4 +232,70 @@ __visible noinstr long func(struct pt_regs *regs) \
232232 \
233233static __always_inline long ____##func(struct pt_regs *regs)
234234
235+
236+ /* Interrupt handlers */
237+ /* kernel/traps.c */
238+ DECLARE_INTERRUPT_HANDLER_NMI (system_reset_exception );
239+ #ifdef CONFIG_PPC_BOOK3S_64
240+ DECLARE_INTERRUPT_HANDLER_ASYNC (machine_check_exception );
241+ #else
242+ DECLARE_INTERRUPT_HANDLER_NMI (machine_check_exception );
243+ #endif
244+ DECLARE_INTERRUPT_HANDLER (SMIException );
245+ DECLARE_INTERRUPT_HANDLER (handle_hmi_exception );
246+ DECLARE_INTERRUPT_HANDLER (unknown_exception );
247+ DECLARE_INTERRUPT_HANDLER_ASYNC (unknown_async_exception );
248+ DECLARE_INTERRUPT_HANDLER (instruction_breakpoint_exception );
249+ DECLARE_INTERRUPT_HANDLER (RunModeException );
250+ DECLARE_INTERRUPT_HANDLER (single_step_exception );
251+ DECLARE_INTERRUPT_HANDLER (program_check_exception );
252+ DECLARE_INTERRUPT_HANDLER (emulation_assist_interrupt );
253+ DECLARE_INTERRUPT_HANDLER (alignment_exception );
254+ DECLARE_INTERRUPT_HANDLER (StackOverflow );
255+ DECLARE_INTERRUPT_HANDLER (stack_overflow_exception );
256+ DECLARE_INTERRUPT_HANDLER (kernel_fp_unavailable_exception );
257+ DECLARE_INTERRUPT_HANDLER (altivec_unavailable_exception );
258+ DECLARE_INTERRUPT_HANDLER (vsx_unavailable_exception );
259+ DECLARE_INTERRUPT_HANDLER (facility_unavailable_exception );
260+ DECLARE_INTERRUPT_HANDLER (fp_unavailable_tm );
261+ DECLARE_INTERRUPT_HANDLER (altivec_unavailable_tm );
262+ DECLARE_INTERRUPT_HANDLER (vsx_unavailable_tm );
263+ DECLARE_INTERRUPT_HANDLER_NMI (performance_monitor_exception_nmi );
264+ DECLARE_INTERRUPT_HANDLER_ASYNC (performance_monitor_exception_async );
265+ DECLARE_INTERRUPT_HANDLER_RAW (performance_monitor_exception );
266+ DECLARE_INTERRUPT_HANDLER (DebugException );
267+ DECLARE_INTERRUPT_HANDLER (altivec_assist_exception );
268+ DECLARE_INTERRUPT_HANDLER (CacheLockingException );
269+ DECLARE_INTERRUPT_HANDLER (SPEFloatingPointException );
270+ DECLARE_INTERRUPT_HANDLER (SPEFloatingPointRoundException );
271+ DECLARE_INTERRUPT_HANDLER (unrecoverable_exception );
272+ DECLARE_INTERRUPT_HANDLER (WatchdogException );
273+ DECLARE_INTERRUPT_HANDLER (kernel_bad_stack );
274+
275+ /* slb.c */
276+ DECLARE_INTERRUPT_HANDLER_RAW (do_slb_fault );
277+ DECLARE_INTERRUPT_HANDLER (do_bad_slb_fault );
278+
279+ /* hash_utils.c */
280+ DECLARE_INTERRUPT_HANDLER_RAW (do_hash_fault );
281+
282+ /* fault.c */
283+ DECLARE_INTERRUPT_HANDLER_RET (do_page_fault );
284+ DECLARE_INTERRUPT_HANDLER (do_bad_page_fault_segv );
285+
286+ /* process.c */
287+ DECLARE_INTERRUPT_HANDLER (do_break );
288+
289+ /* time.c */
290+ DECLARE_INTERRUPT_HANDLER_ASYNC (timer_interrupt );
291+
292+ /* mce.c */
293+ DECLARE_INTERRUPT_HANDLER_NMI (machine_check_early );
294+ DECLARE_INTERRUPT_HANDLER_NMI (hmi_exception_realmode );
295+
296+ DECLARE_INTERRUPT_HANDLER_ASYNC (TAUException );
297+
298+ void replay_system_reset (void );
299+ void replay_soft_interrupts (void );
300+
235301#endif /* _ASM_POWERPC_INTERRUPT_H */
0 commit comments