patch-2.3.18 linux/include/asm-sparc/sigcontext.h

Next file: linux/include/asm-sparc/signal.h
Previous file: linux/include/asm-sparc/pgtable.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.17/linux/include/asm-sparc/sigcontext.h linux/include/asm-sparc/sigcontext.h
@@ -1,18 +1,14 @@
-/* $Id: sigcontext.h,v 1.13 1998/10/06 09:28:35 jj Exp $ */
+/* $Id: sigcontext.h,v 1.14 1999/09/06 08:22:05 jj Exp $ */
 #ifndef __SPARC_SIGCONTEXT_H
 #define __SPARC_SIGCONTEXT_H
 
+#ifdef __KERNEL__
 #include <asm/ptrace.h>
-
-#define SUNOS_MAXWIN   31
+#endif
 
 #ifndef __ASSEMBLY__
 
-/* SunOS system call sigstack() uses this arg. */
-struct sunos_sigstack {
-	unsigned long sig_sp;
-	int onstack_flag;
-};
+#define __SUNOS_MAXWIN   31
 
 /* This is what SunOS does, so shall I. */
 struct sigcontext {
@@ -31,14 +27,23 @@
 	int sigc_oswins;       /* outstanding windows */
 
 	/* stack ptrs for each regwin buf */
-	char *sigc_spbuf[SUNOS_MAXWIN];
+	char *sigc_spbuf[__SUNOS_MAXWIN];
 
 	/* Windows to restore after signal */
-	struct reg_window sigc_wbuf[SUNOS_MAXWIN];
+	struct {
+		unsigned long	locals[8];
+		unsigned long	ins[8];
+	} sigc_wbuf[__SUNOS_MAXWIN];
 };
 
 typedef struct {
-	struct pt_regs	si_regs;
+	struct {
+		unsigned long psr;
+		unsigned long pc;
+		unsigned long npc;
+		unsigned long y;
+		unsigned long u_regs[16]; /* globals and ins */
+	}		si_regs;
 	int		si_mask;
 } __siginfo_t;
 
@@ -52,6 +57,8 @@
 	} si_fpqueue [16];
 } __siginfo_fpu_t;
 
+#ifdef __KERNEL__
+
 /* This magic should be in g_upper[0] for all upper parts
    to be valid.
    This is generated by sparc64 only, but for 32bit processes,
@@ -61,6 +68,8 @@
 	unsigned   int g_upper[8];
 	unsigned   int o_upper[8];
 } siginfo_extra_v8plus_t;
+
+#endif
 
 #endif /* !(__ASSEMBLY__) */
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)