summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorRussell King <rmk@flint.arm.linux.org.uk>2003-05-13 20:58:01 +0100
committerRussell King <rmk@flint.arm.linux.org.uk>2003-05-13 20:58:01 +0100
commit70ba5e7c64b7d22e1134ed0e597560bbfb5572ef (patch)
treeb355c0ea0527cd79f9a81ada66e52b3e2d1365e1 /include
parent9a8185da7e5357132cf04a7d26b983b628f1f921 (diff)
[ARM] switch ptrace to use an undefined instruction
This avoids a problem with the original ptrace code using a system call (SWI) to implement single stepping; programs such as ltrace do not expect to receive system call trace traps when breakpoints are hit.
Diffstat (limited to 'include')
-rw-r--r--include/asm-arm/traps.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/asm-arm/traps.h b/include/asm-arm/traps.h
new file mode 100644
index 000000000000..d4f34dc83eb0
--- /dev/null
+++ b/include/asm-arm/traps.h
@@ -0,0 +1,18 @@
+#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);
+
+#endif