qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [4484] Fix Sparc64 host signal handling


From: Blue Swirl
Subject: [Qemu-devel] [4484] Fix Sparc64 host signal handling
Date: Sun, 18 May 2008 06:40:17 +0000

Revision: 4484
          http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=4484
Author:   blueswir1
Date:     2008-05-18 06:40:16 +0000 (Sun, 18 May 2008)

Log Message:
-----------
Fix Sparc64 host signal handling

Modified Paths:
--------------
    trunk/cpu-exec.c

Modified: trunk/cpu-exec.c
===================================================================
--- trunk/cpu-exec.c    2008-05-17 22:20:53 UTC (rev 4483)
+++ trunk/cpu-exec.c    2008-05-18 06:40:16 UTC (rev 4484)
@@ -1297,14 +1297,19 @@
                        void *puc)
 {
     siginfo_t *info = pinfo;
+    int is_write;
+    uint32_t insn;
+#if !defined(__sparc_v9__) || defined(HOST_SOLARIS)
     uint32_t *regs = (uint32_t *)(info + 1);
     void *sigmask = (regs + 20);
-    unsigned long pc;
-    int is_write;
-    uint32_t insn;
+    /* XXX: is there a standard glibc define ? */
+    unsigned long pc = regs[1];
+#else
+    struct sigcontext *sc = puc;
+    unsigned long pc = sc->sigc_regs.tpc;
+    void *sigmask = (void *)sc->sigc_mask;
+#endif
 
-    /* XXX: is there a standard glibc define ? */
-    pc = regs[1];
     /* XXX: need kernel patch to get write flag faster */
     is_write = 0;
     insn = *(uint32_t *)pc;






reply via email to

[Prev in Thread] Current Thread [Next in Thread]