* Added support for setting (hardware) break-/watchpoints in the kernel.

Can be enabled by defining KERNEL_BREAKPOINTS in arch/user_debugger.h
  and will provide the arch_{set,clear}_kernel_{break,watch}point()
  function. Hitting a break-/watchpoint will throw the thread into KDL.
* Finally added a comment, what's the point of
  i386_reinit_user_debug_after_context_switch(), since I wonder every
  time I see it. Should be optimized aways soon.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22150 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold
2007-09-02 22:04:36 +00:00
parent 8a3cfa2cf3
commit 667f1eeb67
2 changed files with 377 additions and 159 deletions
@@ -11,6 +11,9 @@
extern "C" {
#endif
// Enable this to get support for kernel breakpoints.
//#define KERNEL_BREAKPOINTS 1
struct arch_team_debug_info;
struct arch_thread_debug_info;
@@ -27,6 +30,13 @@ status_t arch_clear_breakpoint(void *address);
status_t arch_set_watchpoint(void *address, uint32 type, int32 length);
status_t arch_clear_watchpoint(void *address);
#if KERNEL_BREAKPOINTS
status_t arch_set_kernel_breakpoint(void *address);
status_t arch_clear_kernel_breakpoint(void *address);
status_t arch_set_kernel_watchpoint(void *address, uint32 type, int32 length);
status_t arch_clear_kernel_watchpoint(void *address);
#endif
#ifdef __cplusplus
}
#endif