summary refs log tree commit diff stats
path: root/linux-user
diff options
context:
space:
mode:
authorpbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162>2006-11-04 16:46:29 +0000
committerpbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162>2006-11-04 16:46:29 +0000
commitd08b2a28e6d71c561b84878b84e52159a63a27cc (patch)
tree59c6b57677eb396149057862c48a6ff22f4e32c0 /linux-user
parent597a0559fd7fd0f2151276f25d9e97dff468ea23 (diff)
downloadfocaccia-qemu-d08b2a28e6d71c561b84878b84e52159a63a27cc.tar.gz
focaccia-qemu-d08b2a28e6d71c561b84878b84e52159a63a27cc.zip
MIPS usermode debug exceptions (Dave Denholm).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2209 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'linux-user')
-rw-r--r--linux-user/main.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/linux-user/main.c b/linux-user/main.c
index 38e94d27b5..6dd08022f0 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
@@ -1362,6 +1362,20 @@ void cpu_loop(CPUMIPSState *env)
         case EXCP_INTERRUPT:
             /* just indicate that signals should be handled asap */
             break;
+        case EXCP_DEBUG:
+            {
+                int sig;
+
+                sig = gdb_handlesig (env, TARGET_SIGTRAP);
+                if (sig)
+                  {
+                    info.si_signo = sig;
+                    info.si_errno = 0;
+                    info.si_code = TARGET_TRAP_BRKPT;
+                    queue_signal(info.si_signo, &info);
+                  }
+            }
+            break;
         default:
             //        error:
             fprintf(stderr, "qemu: unhandled CPU exception 0x%x - aborting\n",