diff options
Diffstat (limited to 'arch/arm/include/asm/traps.h')
| -rw-r--r-- | arch/arm/include/asm/traps.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/arch/arm/include/asm/traps.h b/arch/arm/include/asm/traps.h new file mode 100644 index 000000000000..aa399aec568e --- /dev/null +++ b/arch/arm/include/asm/traps.h | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | #ifndef _ASMARM_TRAP_H | ||
| 2 | #define _ASMARM_TRAP_H | ||
| 3 | |||
| 4 | #include <linux/list.h> | ||
| 5 | |||
| 6 | struct undef_hook { | ||
| 7 | struct list_head node; | ||
| 8 | u32 instr_mask; | ||
| 9 | u32 instr_val; | ||
| 10 | u32 cpsr_mask; | ||
| 11 | u32 cpsr_val; | ||
| 12 | int (*fn)(struct pt_regs *regs, unsigned int instr); | ||
| 13 | }; | ||
| 14 | |||
| 15 | void register_undef_hook(struct undef_hook *hook); | ||
| 16 | void unregister_undef_hook(struct undef_hook *hook); | ||
| 17 | |||
| 18 | static inline int in_exception_text(unsigned long ptr) | ||
| 19 | { | ||
| 20 | extern char __exception_text_start[]; | ||
| 21 | extern char __exception_text_end[]; | ||
| 22 | |||
| 23 | return ptr >= (unsigned long)&__exception_text_start && | ||
| 24 | ptr < (unsigned long)&__exception_text_end; | ||
| 25 | } | ||
| 26 | |||
| 27 | extern void __init early_trap_init(void); | ||
| 28 | |||
| 29 | #endif | ||
