diff options
| author | aliguori | 2008-11-18 22:08:15 +0100 |
|---|---|---|
| committer | aliguori | 2008-11-18 22:08:15 +0100 |
| commit | 01df040b52474b463d00fe908d5a14e1ecdc75bc (patch) | |
| tree | 2d12dee18e87fae0438a76c4ae588a5f5a149eab /linux-user/main.c | |
| parent | Introduce BP_CPU as a breakpoint type (Jan Kiszka) (diff) | |
| download | qemu-01df040b52474b463d00fe908d5a14e1ecdc75bc.tar.gz qemu-01df040b52474b463d00fe908d5a14e1ecdc75bc.tar.xz qemu-01df040b52474b463d00fe908d5a14e1ecdc75bc.zip | |
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 f17d012c77..66be107611 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 { |
