diff options
| author | Sam Ravnborg <sam@ravnborg.org> | 2008-07-27 23:00:59 +0200 | 
|---|---|---|
| committer | Sam Ravnborg <sam@ravnborg.org> | 2008-07-27 23:00:59 +0200 | 
| commit | a439fe51a1f8eb087c22dd24d69cebae4a3addac (patch) | |
| tree | e32d1fa97a220ab598d8ab364205817c5bf2bd6f /arch/sparc/include/asm/sigcontext_32.h | |
| parent | 837b41b5de356aa67abb2cadb5eef3efc7776f91 (diff) | |
| download | olio-linux-3.10-a439fe51a1f8eb087c22dd24d69cebae4a3addac.tar.xz olio-linux-3.10-a439fe51a1f8eb087c22dd24d69cebae4a3addac.zip  | |
sparc, sparc64: use arch/sparc/include
The majority of this patch was created by the following script:
***
ASM=arch/sparc/include/asm
mkdir -p $ASM
git mv include/asm-sparc64/ftrace.h $ASM
git rm include/asm-sparc64/*
git mv include/asm-sparc/* $ASM
sed -ie 's/asm-sparc64/asm/g' $ASM/*
sed -ie 's/asm-sparc/asm/g' $ASM/*
***
The rest was an update of the top-level Makefile to use sparc
for header files when sparc64 is being build.
And a small fixlet to pick up the correct unistd.h from
sparc64 code.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Diffstat (limited to 'arch/sparc/include/asm/sigcontext_32.h')
| -rw-r--r-- | arch/sparc/include/asm/sigcontext_32.h | 62 | 
1 files changed, 62 insertions, 0 deletions
diff --git a/arch/sparc/include/asm/sigcontext_32.h b/arch/sparc/include/asm/sigcontext_32.h new file mode 100644 index 00000000000..c5fb60dcbd7 --- /dev/null +++ b/arch/sparc/include/asm/sigcontext_32.h @@ -0,0 +1,62 @@ +#ifndef __SPARC_SIGCONTEXT_H +#define __SPARC_SIGCONTEXT_H + +#ifdef __KERNEL__ +#include <asm/ptrace.h> + +#ifndef __ASSEMBLY__ + +#define __SUNOS_MAXWIN   31 + +/* This is what SunOS does, so shall I. */ +struct sigcontext { +	int sigc_onstack;      /* state to restore */ +	int sigc_mask;         /* sigmask to restore */ +	int sigc_sp;           /* stack pointer */ +	int sigc_pc;           /* program counter */ +	int sigc_npc;          /* next program counter */ +	int sigc_psr;          /* for condition codes etc */ +	int sigc_g1;           /* User uses these two registers */ +	int sigc_o0;           /* within the trampoline code. */ + +	/* Now comes information regarding the users window set +	 * at the time of the signal. +	 */ +	int sigc_oswins;       /* outstanding windows */ + +	/* stack ptrs for each regwin buf */ +	char *sigc_spbuf[__SUNOS_MAXWIN]; + +	/* Windows to restore after signal */ +	struct { +		unsigned long	locals[8]; +		unsigned long	ins[8]; +	} sigc_wbuf[__SUNOS_MAXWIN]; +}; + +typedef struct { +	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; + +typedef struct { +	unsigned   long si_float_regs [32]; +	unsigned   long si_fsr; +	unsigned   long si_fpqdepth; +	struct { +		unsigned long *insn_addr; +		unsigned long insn; +	} si_fpqueue [16]; +} __siginfo_fpu_t; + +#endif /* !(__ASSEMBLY__) */ + +#endif /* (__KERNEL__) */ + +#endif /* !(__SPARC_SIGCONTEXT_H) */  |