···11-#ifndef ___ASM_SPARC_SIGCONTEXT_H22-#define ___ASM_SPARC_SIGCONTEXT_H33-#if defined(__sparc__) && defined(__arch64__)44-#include <asm/sigcontext_64.h>11+#ifndef __SPARC_SIGCONTEXT_H22+#define __SPARC_SIGCONTEXT_H33+44+#ifdef __KERNEL__55+#include <asm/ptrace.h>66+77+#ifndef __ASSEMBLY__88+99+#define __SUNOS_MAXWIN 311010+1111+/* This is what SunOS does, so shall I unless we use new 32bit signals or rt signals. */1212+struct sigcontext32 {1313+ int sigc_onstack; /* state to restore */1414+ int sigc_mask; /* sigmask to restore */1515+ int sigc_sp; /* stack pointer */1616+ int sigc_pc; /* program counter */1717+ int sigc_npc; /* next program counter */1818+ int sigc_psr; /* for condition codes etc */1919+ int sigc_g1; /* User uses these two registers */2020+ int sigc_o0; /* within the trampoline code. */2121+2222+ /* Now comes information regarding the users window set2323+ * at the time of the signal.2424+ */2525+ int sigc_oswins; /* outstanding windows */2626+2727+ /* stack ptrs for each regwin buf */2828+ unsigned sigc_spbuf[__SUNOS_MAXWIN];2929+3030+ /* Windows to restore after signal */3131+ struct reg_window32 sigc_wbuf[__SUNOS_MAXWIN];3232+};3333+3434+3535+/* This is what we use for 32bit new non-rt signals. */3636+3737+typedef struct {3838+ struct {3939+ unsigned int psr;4040+ unsigned int pc;4141+ unsigned int npc;4242+ unsigned int y;4343+ unsigned int u_regs[16]; /* globals and ins */4444+ } si_regs;4545+ int si_mask;4646+} __siginfo32_t;4747+4848+#ifdef CONFIG_SPARC644949+typedef struct {5050+ unsigned int si_float_regs [64];5151+ unsigned long si_fsr;5252+ unsigned long si_gsr;5353+ unsigned long si_fprs;5454+} __siginfo_fpu_t;5555+5656+/* This is what SunOS doesn't, so we have to write this alone5757+ and do it properly. */5858+struct sigcontext {5959+ /* The size of this array has to match SI_MAX_SIZE from siginfo.h */6060+ char sigc_info[128];6161+ struct {6262+ unsigned long u_regs[16]; /* globals and ins */6363+ unsigned long tstate;6464+ unsigned long tpc;6565+ unsigned long tnpc;6666+ unsigned int y;6767+ unsigned int fprs;6868+ } sigc_regs;6969+ __siginfo_fpu_t * sigc_fpu_save;7070+ struct {7171+ void * ss_sp;7272+ int ss_flags;7373+ unsigned long ss_size;7474+ } sigc_stack;7575+ unsigned long sigc_mask;7676+};7777+578#else66-#include <asm/sigcontext_32.h>77-#endif88-#endif7979+8080+typedef struct {8181+ unsigned long si_float_regs [32];8282+ unsigned long si_fsr;8383+ unsigned long si_fpqdepth;8484+ struct {8585+ unsigned long *insn_addr;8686+ unsigned long insn;8787+ } si_fpqueue [16];8888+} __siginfo_fpu_t;8989+#endif /* (CONFIG_SPARC64) */9090+9191+9292+#endif /* !(__ASSEMBLY__) */9393+9494+#endif /* (__KERNEL__) */9595+9696+#endif /* !(__SPARC_SIGCONTEXT_H) */
-59
arch/sparc/include/asm/sigcontext_32.h
···11-#ifndef __SPARC_SIGCONTEXT_H22-#define __SPARC_SIGCONTEXT_H33-44-#ifdef __KERNEL__55-#include <asm/ptrace.h>66-77-#ifndef __ASSEMBLY__88-99-#define __SUNOS_MAXWIN 311010-1111-/* This is what SunOS does, so shall I. */1212-struct sigcontext32 {1313- int sigc_onstack; /* state to restore */1414- int sigc_mask; /* sigmask to restore */1515- int sigc_sp; /* stack pointer */1616- int sigc_pc; /* program counter */1717- int sigc_npc; /* next program counter */1818- int sigc_psr; /* for condition codes etc */1919- int sigc_g1; /* User uses these two registers */2020- int sigc_o0; /* within the trampoline code. */2121-2222- /* Now comes information regarding the users window set2323- * at the time of the signal.2424- */2525- int sigc_oswins; /* outstanding windows */2626-2727- /* stack ptrs for each regwin buf */2828- char *sigc_spbuf[__SUNOS_MAXWIN];2929-3030- /* Windows to restore after signal */3131- struct reg_window32 sigc_wbuf[__SUNOS_MAXWIN];3232-};3333-3434-typedef struct {3535- struct {3636- unsigned long psr;3737- unsigned long pc;3838- unsigned long npc;3939- unsigned long y;4040- unsigned long u_regs[16]; /* globals and ins */4141- } si_regs;4242- int si_mask;4343-} __siginfo32_t;4444-4545-typedef struct {4646- unsigned long si_float_regs [32];4747- unsigned long si_fsr;4848- unsigned long si_fpqdepth;4949- struct {5050- unsigned long *insn_addr;5151- unsigned long insn;5252- } si_fpqueue [16];5353-} __siginfo_fpu_t;5454-5555-#endif /* !(__ASSEMBLY__) */5656-5757-#endif /* (__KERNEL__) */5858-5959-#endif /* !(__SPARC_SIGCONTEXT_H) */
-87
arch/sparc/include/asm/sigcontext_64.h
···11-#ifndef __SPARC64_SIGCONTEXT_H22-#define __SPARC64_SIGCONTEXT_H33-44-#ifdef __KERNEL__55-#include <asm/ptrace.h>66-#endif77-88-#ifndef __ASSEMBLY__99-1010-#ifdef __KERNEL__1111-1212-#define __SUNOS_MAXWIN 311313-1414-/* This is what SunOS does, so shall I unless we use new 32bit signals or rt signals. */1515-struct sigcontext32 {1616- int sigc_onstack; /* state to restore */1717- int sigc_mask; /* sigmask to restore */1818- int sigc_sp; /* stack pointer */1919- int sigc_pc; /* program counter */2020- int sigc_npc; /* next program counter */2121- int sigc_psr; /* for condition codes etc */2222- int sigc_g1; /* User uses these two registers */2323- int sigc_o0; /* within the trampoline code. */2424-2525- /* Now comes information regarding the users window set2626- * at the time of the signal.2727- */2828- int sigc_oswins; /* outstanding windows */2929-3030- /* stack ptrs for each regwin buf */3131- unsigned sigc_spbuf[__SUNOS_MAXWIN];3232-3333- /* Windows to restore after signal */3434- struct reg_window32 sigc_wbuf[__SUNOS_MAXWIN];3535-};3636-3737-#endif3838-3939-#ifdef __KERNEL__4040-4141-/* This is what we use for 32bit new non-rt signals. */4242-4343-typedef struct {4444- struct {4545- unsigned int psr;4646- unsigned int pc;4747- unsigned int npc;4848- unsigned int y;4949- unsigned int u_regs[16]; /* globals and ins */5050- } si_regs;5151- int si_mask;5252-} __siginfo32_t;5353-5454-#endif5555-5656-typedef struct {5757- unsigned int si_float_regs [64];5858- unsigned long si_fsr;5959- unsigned long si_gsr;6060- unsigned long si_fprs;6161-} __siginfo_fpu_t;6262-6363-/* This is what SunOS doesn't, so we have to write this alone6464- and do it properly. */6565-struct sigcontext {6666- /* The size of this array has to match SI_MAX_SIZE from siginfo.h */6767- char sigc_info[128];6868- struct {6969- unsigned long u_regs[16]; /* globals and ins */7070- unsigned long tstate;7171- unsigned long tpc;7272- unsigned long tnpc;7373- unsigned int y;7474- unsigned int fprs;7575- } sigc_regs;7676- __siginfo_fpu_t * sigc_fpu_save;7777- struct {7878- void * ss_sp;7979- int ss_flags;8080- unsigned long ss_size;8181- } sigc_stack;8282- unsigned long sigc_mask;8383-};8484-8585-#endif /* !(__ASSEMBLY__) */8686-8787-#endif /* !(__SPARC64_SIGCONTEXT_H) */