forked from mirrors/linux
		
	
		
			
				
	
	
		
			71 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 *  include/asm-s390/sigcontext.h
 | 
						|
 *
 | 
						|
 *  S390 version
 | 
						|
 *    Copyright (C) 1999,2000 IBM Deutschland Entwicklung GmbH, IBM Corporation
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef _ASM_S390_SIGCONTEXT_H
 | 
						|
#define _ASM_S390_SIGCONTEXT_H
 | 
						|
 | 
						|
#include <linux/compiler.h>
 | 
						|
 | 
						|
#define __NUM_GPRS 16
 | 
						|
#define __NUM_FPRS 16
 | 
						|
#define __NUM_ACRS 16
 | 
						|
 | 
						|
#ifndef __s390x__
 | 
						|
 | 
						|
/* Has to be at least _NSIG_WORDS from asm/signal.h */
 | 
						|
#define _SIGCONTEXT_NSIG	64
 | 
						|
#define _SIGCONTEXT_NSIG_BPW	32
 | 
						|
/* Size of stack frame allocated when calling signal handler. */
 | 
						|
#define __SIGNAL_FRAMESIZE	96
 | 
						|
 | 
						|
#else /* __s390x__ */
 | 
						|
 | 
						|
/* Has to be at least _NSIG_WORDS from asm/signal.h */
 | 
						|
#define _SIGCONTEXT_NSIG	64
 | 
						|
#define _SIGCONTEXT_NSIG_BPW	64 
 | 
						|
/* Size of stack frame allocated when calling signal handler. */
 | 
						|
#define __SIGNAL_FRAMESIZE	160
 | 
						|
 | 
						|
#endif /* __s390x__ */
 | 
						|
 | 
						|
#define _SIGCONTEXT_NSIG_WORDS	(_SIGCONTEXT_NSIG / _SIGCONTEXT_NSIG_BPW)
 | 
						|
#define _SIGMASK_COPY_SIZE	(sizeof(unsigned long)*_SIGCONTEXT_NSIG_WORDS)
 | 
						|
 | 
						|
typedef struct 
 | 
						|
{
 | 
						|
        unsigned long mask;
 | 
						|
        unsigned long addr;
 | 
						|
} __attribute__ ((aligned(8))) _psw_t;
 | 
						|
 | 
						|
typedef struct
 | 
						|
{
 | 
						|
	_psw_t psw;
 | 
						|
	unsigned long gprs[__NUM_GPRS];
 | 
						|
	unsigned int  acrs[__NUM_ACRS];
 | 
						|
} _s390_regs_common;
 | 
						|
 | 
						|
typedef struct
 | 
						|
{
 | 
						|
	unsigned int fpc;
 | 
						|
	double   fprs[__NUM_FPRS];
 | 
						|
} _s390_fp_regs;
 | 
						|
 | 
						|
typedef struct
 | 
						|
{
 | 
						|
	_s390_regs_common regs;
 | 
						|
	_s390_fp_regs     fpregs;
 | 
						|
} _sigregs;
 | 
						|
 | 
						|
struct sigcontext
 | 
						|
{
 | 
						|
	unsigned long	oldmask[_SIGCONTEXT_NSIG_WORDS];
 | 
						|
	_sigregs        __user *sregs;
 | 
						|
};
 | 
						|
 | 
						|
 | 
						|
#endif
 | 
						|
 |