Path: blob/master/arch/s390/include/uapi/asm/sigcontext.h
49634 views
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */1/*2* S390 version3* Copyright IBM Corp. 1999, 20004*/56#ifndef _ASM_S390_SIGCONTEXT_H7#define _ASM_S390_SIGCONTEXT_H89#include <linux/compiler.h>10#include <linux/types.h>1112#define __NUM_GPRS 1613#define __NUM_FPRS 1614#define __NUM_ACRS 1615#define __NUM_VXRS 3216#define __NUM_VXRS_LOW 1617#define __NUM_VXRS_HIGH 161819/* Has to be at least _NSIG_WORDS from asm/signal.h */20#define _SIGCONTEXT_NSIG 6421#define _SIGCONTEXT_NSIG_BPW 6422/* Size of stack frame allocated when calling signal handler. */23#define __SIGNAL_FRAMESIZE 1602425#define _SIGCONTEXT_NSIG_WORDS (_SIGCONTEXT_NSIG / _SIGCONTEXT_NSIG_BPW)26#define _SIGMASK_COPY_SIZE (sizeof(unsigned long)*_SIGCONTEXT_NSIG_WORDS)2728typedef struct29{30unsigned long mask;31unsigned long addr;32} __attribute__ ((aligned(8))) _psw_t;3334typedef struct35{36_psw_t psw;37unsigned long gprs[__NUM_GPRS];38unsigned int acrs[__NUM_ACRS];39} _s390_regs_common;4041typedef struct42{43unsigned int fpc;44unsigned int pad;45double fprs[__NUM_FPRS];46} _s390_fp_regs;4748typedef struct49{50_s390_regs_common regs;51_s390_fp_regs fpregs;52} _sigregs;5354typedef struct55{56unsigned long long vxrs_low[__NUM_VXRS_LOW];57__vector128 vxrs_high[__NUM_VXRS_HIGH];58unsigned char __reserved[128];59} _sigregs_ext;6061struct sigcontext62{63unsigned long oldmask[_SIGCONTEXT_NSIG_WORDS];64_sigregs __user *sregs;65};666768#endif69707172