rem: dprintf("i386_handle_debug_exception(): ignoring spurious debug " "exception (no condition recognized)\n");
add: TRACE(("i386_handle_debug_exception(): ignoring spurious debug " "exception (no condition recognized)\n"));
context: i386_handle_debug_exception(struct iframe *frame){	// get debug status and control registers	uint32 dr6, dr7;	asm("movl %%dr6, %0" : "=r"(dr6));	asm("movl %%dr7, %0" : "=r"(dr7));	TRACE(("i386_handle_debug_exception(): DR6: %lx, DR7: %lx\n", dr6, dr7));	// check, which exception condition applies	if (dr6 & X86_DR6_BREAKPOINT_MASK) {		// breakpoint		// check which breakpoint was taken		bool watchpoint = true;		for (int32 i = 0; i < X86_BREAKPOINT_COUNT; i++) {			if (dr6 & (1 << sDR6B[i])) {				// If it is an instruction breakpoint, we need to set RF in				// EFLAGS to prevent triggering the same exception				// again (breakpoint instructions are triggered *before*				// executing the instruction).				uint32 type = (dr7 >> sDR7RW[i]) & 0x3;				if (type == X86_INSTRUCTION_BREAKPOINT) {					frame->flags |= (1 << X86_EFLAGS_RF);					watchpoint = false;				}			}		}		// enable interrupts and notify the debugger		enable_interrupts();		if (watchpoint)			user_debug_watchpoint_hit();		else			user_debug_breakpoint_hit(false);			} else if (dr6 & (1 << X86_DR6_BD)) {		// general detect exception		// Occurs only, if GD in DR7 is set (which we don't do) and someone		// tries to write to the debug registers.		dprintf("i386_handle_debug_exception(): ignoring spurious general "			"detect exception\n");		enable_interrupts();	} else if ((dr6 & (1 << X86_DR6_BS)) || sQEmuSingleStepHack) {		// single step		// enable interrupts and notify the debugger		enable_interrupts();		user_debug_single_stepped();	} else if (dr6 & (1 << X86_DR6_BT)) {		// task switch		// Occurs only, if T in EFLAGS is set (which we don't do).		dprintf("i386_handle_debug_exception(): ignoring spurious task switch "			"exception\n");		enable_interrupts();	} else {		dprintf("i386_handle_debug_exception(): ignoring spurious debug "			"exception (no condition recognized)\n");		enable_interrupts();	}	return B_HANDLED_INTERRUPT;}