| b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame] | 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 */ |