summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/arch/i386/core/gdbmach.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/arch/i386/core/gdbmach.c b/src/arch/i386/core/gdbmach.c
index e4aa2d2d9..26fab609e 100644
--- a/src/arch/i386/core/gdbmach.c
+++ b/src/arch/i386/core/gdbmach.c
@@ -44,7 +44,6 @@ struct hwbp {
static struct hwbp hwbps [ 4 ];
static gdbreg_t dr7 = DR7_CLEAR;
-static gdbreg_t dr6;
static struct hwbp *gdbmach_find_hwbp ( int type, unsigned long addr, size_t len ) {
struct hwbp *available = NULL;
@@ -131,14 +130,14 @@ int gdbmach_set_breakpoint ( int type, unsigned long addr, size_t len, int enabl
}
static void gdbmach_disable_hwbps ( void ) {
- /* Store and clear breakpoint status register */
- __asm__ __volatile__ ( "movl %%dr6, %0\n" "movl %1, %%dr6\n" : "=r" ( dr6 ) : "r" ( DR6_CLEAR ) );
-
/* Store and clear hardware breakpoints */
__asm__ __volatile__ ( "movl %0, %%dr7\n" : : "r" ( DR7_CLEAR ) );
}
static void gdbmach_enable_hwbps ( void ) {
+ /* Clear breakpoint status register */
+ __asm__ __volatile__ ( "movl %0, %%dr6\n" : : "r" ( DR6_CLEAR ) );
+
/* Restore hardware breakpoints */
__asm__ __volatile__ ( "movl %0, %%dr7\n" : : "r" ( dr7 ) );
}