feddedab0c
Added fields for temporary storage of the debug registers dr6 and dr7 to the arch_cpu_info structure. The actual registers are stored at the beginning of x86_exit_user_debug_at_kernel_entry() and read in x86_handle_debug_exception(). The problem was that x86_exit_user_debug_at_kernel_entry() itself overwrote dr7 and, if kernel breakpoints were enabled, dr6 could be overwritten anytime after. So x86_handle_debug_exception() would find incorrect values in the registers (definitely in dr7) and thus interpret the detected debug condition incorrectly. Usually watchpoints were recognized as breakpoints. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35951 a95241bf-73f2-0310-859d-f6bbb57e9c96 |
||
---|---|---|
.. | ||
alpha | ||
arm | ||
m68k | ||
mipsel | ||
ppc | ||
sh4 | ||
sparc | ||
x86 | ||
cpu.h | ||
debug_console.h | ||
debug.h | ||
elf.h | ||
int.h | ||
platform.h | ||
real_time_clock.h | ||
smp.h | ||
system_info.h | ||
thread_types.h | ||
thread.h | ||
timer.h | ||
user_debugger.h | ||
vm_translation_map.h | ||
vm_types.h | ||
vm.h |