mm: fix exec activate_mm vs TLB shootdown and lazy tlb switching race
[linux/fpc-iii.git] / arch / ia64 / include / asm / exception.h
blob6bb246dcdaeb8dad362e7c4ab858a7f15336bec7
1 /*
2 * This program is free software; you can redistribute it and/or modify
3 * it under the terms of the GNU General Public License version 2 as
4 * published by the Free Software Foundation.
6 * This program is distributed in the hope that it will be useful,
7 * but WITHOUT ANY WARRANTY; without even the implied warranty of
8 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 * GNU General Public License for more details.
11 * You should have received a copy of the GNU General Public License
12 * along with this program. If not, see <http://www.gnu.org/licenses/>.
14 #ifndef __ASM_EXCEPTION_H
15 #define __ASM_EXCEPTION_H
17 struct pt_regs;
18 struct exception_table_entry;
20 extern void ia64_handle_exception(struct pt_regs *regs,
21 const struct exception_table_entry *e);
23 #define ia64_done_with_exception(regs) \
24 ({ \
25 int __ex_ret = 0; \
26 const struct exception_table_entry *e; \
27 e = search_exception_tables((regs)->cr_iip + ia64_psr(regs)->ri); \
28 if (e) { \
29 ia64_handle_exception(regs, e); \
30 __ex_ret = 1; \
31 } \
32 __ex_ret; \
35 #endif /* __ASM_EXCEPTION_H */