/branches/tracing/kernel/arch/amd64/src/debugger.c |
---|
328,19 → 328,6 |
unative_t dr6; |
int i; |
dr6 = read_dr6(); |
if (dr6 & DR6_BS) { |
if (THREAD && istate_from_uspace(istate)) { |
/* |
* The userspace thread has TF set and executed |
* an instruction |
*/ |
udebug_trap_event(istate->eip); |
return; |
} |
} |
/* Set RF to restart the instruction */ |
#ifdef amd64 |
istate->rflags |= RFLAGS_RF; |
348,6 → 335,7 |
istate->eflags |= EFLAGS_RF; |
#endif |
dr6 = read_dr6(); |
for (i=0; i < BKPOINTS_MAX; i++) { |
if (dr6 & (1 << i)) { |
dr6 &= ~ (1 << i); |