qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [5721] ppc-linux-user: handle EXCP_DEBUG
@ 2008-11-14 17:05 Aurelien Jarno
  0 siblings, 0 replies; only message in thread
From: Aurelien Jarno @ 2008-11-14 17:05 UTC (permalink / raw)
  To: qemu-devel

Revision: 5721
          http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=5721
Author:   aurel32
Date:     2008-11-14 17:05:54 +0000 (Fri, 14 Nov 2008)

Log Message:
-----------
ppc-linux-user: handle EXCP_DEBUG

Replace POWERPC_EXCP_DEBUG by EXCP_DEBUG as the former can not happen in
user mode emulation, while the later can happen and should be handled.

Noticed by Andrew Stubbs.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

Modified Paths:
--------------
    trunk/linux-user/main.c

Modified: trunk/linux-user/main.c
===================================================================
--- trunk/linux-user/main.c	2008-11-13 21:33:08 UTC (rev 5720)
+++ trunk/linux-user/main.c	2008-11-14 17:05:54 UTC (rev 5721)
@@ -1283,20 +1283,6 @@
             cpu_abort(env, "Instruction TLB exception while in user mode. "
                       "Aborting\n");
             break;
-        case POWERPC_EXCP_DEBUG:    /* Debug interrupt                       */
-            /* XXX: check this */
-            {
-                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(env, info.si_signo, &info);
-                  }
-            }
-            break;
         case POWERPC_EXCP_SPEU:     /* SPE/embedded floating-point unavail.  */
             EXCP_DUMP(env, "No SPE/floating-point instruction allowed\n");
             info.si_signo = TARGET_SIGILL;
@@ -1453,6 +1439,19 @@
             printf("syscall returned 0x%08x (%d)\n", ret, ret);
 #endif
             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(env, info.si_signo, &info);
+                  }
+            }
+            break;
         case EXCP_INTERRUPT:
             /* just indicate that signals should be handled asap */
             break;

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-11-14 17:05 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-14 17:05 [Qemu-devel] [5721] ppc-linux-user: handle EXCP_DEBUG Aurelien Jarno

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).