Linux-libre 5.4.47-gnu
[librecmc/linux-libre.git] / arch / ia64 / include / asm / exception.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 #ifndef __ASM_EXCEPTION_H
3 #define __ASM_EXCEPTION_H
4
5 struct pt_regs;
6 struct exception_table_entry;
7
8 extern void ia64_handle_exception(struct pt_regs *regs,
9                                   const struct exception_table_entry *e);
10
11 #define ia64_done_with_exception(regs)                                    \
12 ({                                                                        \
13         int __ex_ret = 0;                                                 \
14         const struct exception_table_entry *e;                            \
15         e = search_exception_tables((regs)->cr_iip + ia64_psr(regs)->ri); \
16         if (e) {                                                          \
17                 ia64_handle_exception(regs, e);                           \
18                 __ex_ret = 1;                                             \
19         }                                                                 \
20         __ex_ret;                                                         \
21 })
22
23 #endif  /* __ASM_EXCEPTION_H */