diff options
author | aliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-11-18 21:08:15 +0000 |
---|---|---|
committer | aliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-11-18 21:08:15 +0000 |
commit | 01df040b52474b463d00fe908d5a14e1ecdc75bc (patch) | |
tree | 2d12dee18e87fae0438a76c4ae588a5f5a149eab /linux-user/main.c | |
parent | 2dc9f4117c90c799bcdaacb3d29d2f0625bcc81c (diff) | |
download | hqemu-01df040b52474b463d00fe908d5a14e1ecdc75bc.zip hqemu-01df040b52474b463d00fe908d5a14e1ecdc75bc.tar.gz |
x86: Debug register emulation (Jan Kiszka)
Built on top of previously enhanced breakpoint/watchpoint support, this
patch adds full debug register emulation for the x86 architecture.
Many corner cases were considered, and the result was successfully
tested inside a Linux guest with gdb, but I won't be surprised if one
or two scenarios still behave differently in reality.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5747 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'linux-user/main.c')
-rw-r--r-- | linux-user/main.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/linux-user/main.c b/linux-user/main.c index f17d012..66be107 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -403,7 +403,7 @@ void cpu_loop(CPUX86State *env) queue_signal(env, info.si_signo, &info); } break; - case EXCP01_SSTP: + case EXCP01_DB: case EXCP03_INT3: #ifndef TARGET_X86_64 if (env->eflags & VM_MASK) { @@ -413,7 +413,7 @@ void cpu_loop(CPUX86State *env) { info.si_signo = SIGTRAP; info.si_errno = 0; - if (trapnr == EXCP01_SSTP) { + if (trapnr == EXCP01_DB) { info.si_code = TARGET_TRAP_BRKPT; info._sifields._sigfault._addr = env->eip; } else { |