| #ifndef _ASMARM_TRAP_H | 
 | #define _ASMARM_TRAP_H | 
 |  | 
 | #include <linux/list.h> | 
 |  | 
 | struct undef_hook { | 
 | 	struct list_head node; | 
 | 	u32 instr_mask; | 
 | 	u32 instr_val; | 
 | 	u32 cpsr_mask; | 
 | 	u32 cpsr_val; | 
 | 	int (*fn)(struct pt_regs *regs, unsigned int instr); | 
 | }; | 
 |  | 
 | void register_undef_hook(struct undef_hook *hook); | 
 | void unregister_undef_hook(struct undef_hook *hook); | 
 |  | 
 | static inline int in_exception_text(unsigned long ptr) | 
 | { | 
 | 	extern char __exception_text_start[]; | 
 | 	extern char __exception_text_end[]; | 
 |  | 
 | 	return ptr >= (unsigned long)&__exception_text_start && | 
 | 	       ptr < (unsigned long)&__exception_text_end; | 
 | } | 
 |  | 
 | #endif |