* Fixed checking for DR6 bits after a debug exception (we were and'ing
with the bit number, not the respective mask). * Added a small hack to allow single stepping to work in qemu. Apparently the BS bit in DR6 is not set when the debug exception is handled. So we always assume that a single step event occurred, when we couldn't recognize any other event, if the hack is enabled. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11998 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -5,6 +5,8 @@
|
||||
#ifndef _KERNEL_ARCH_X86_USER_DEBUGGER_H
|
||||
#define _KERNEL_ARCH_X86_USER_DEBUGGER_H
|
||||
|
||||
#define ARCH_INIT_USER_DEBUG i386_init_user_debug
|
||||
|
||||
// number of breakpoints the CPU supports
|
||||
// Actually it supports 4, but DR3 is used to hold the struct thread*.
|
||||
enum {
|
||||
@@ -127,6 +129,8 @@ extern void i386_reinit_user_debug_after_context_switch(struct thread *thread);
|
||||
extern int i386_handle_debug_exception(struct iframe *frame);
|
||||
extern int i386_handle_breakpoint_exception(struct iframe *frame);
|
||||
|
||||
extern void i386_init_user_debug();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user