From d6434e1042f3b0a6dfe1b1f615af369486f9b1fa Mon Sep 17 00:00:00 2001 From: Ralf Baechle Date: Sat, 9 Oct 1999 00:00:47 +0000 Subject: Merge with 2.3.19. --- include/asm-sparc/sigcontext.h | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) (limited to 'include/asm-sparc/sigcontext.h') diff --git a/include/asm-sparc/sigcontext.h b/include/asm-sparc/sigcontext.h index 3c85783f1..ff9ccda16 100644 --- a/include/asm-sparc/sigcontext.h +++ b/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 - -#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 @@ struct sigcontext { 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 @@ typedef struct { } 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, @@ -62,6 +69,8 @@ typedef struct { unsigned int o_upper[8]; } siginfo_extra_v8plus_t; +#endif + #endif /* !(__ASSEMBLY__) */ #endif /* !(__SPARC_SIGCONTEXT_H) */ -- cgit v1.2.3