at v3.16-rc2 86 lines 2.4 kB view raw
1/* 2 * This file is subject to the terms and conditions of the GNU General Public 3 * License. See the file "COPYING" in the main directory of this archive 4 * for more details. 5 * 6 * Copyright (C) 1996, 1997, 1999 by Ralf Baechle 7 * Copyright (C) 1999 Silicon Graphics, Inc. 8 */ 9#ifndef _UAPI_ASM_SIGCONTEXT_H 10#define _UAPI_ASM_SIGCONTEXT_H 11 12#include <linux/types.h> 13#include <asm/sgidefs.h> 14 15/* Bits which may be set in sc_used_math */ 16#define USEDMATH_FP (1 << 0) 17#define USEDMATH_MSA (1 << 1) 18 19#if _MIPS_SIM == _MIPS_SIM_ABI32 20 21/* 22 * Keep this struct definition in sync with the sigcontext fragment 23 * in arch/mips/tools/offset.c 24 */ 25struct sigcontext { 26 unsigned int sc_regmask; /* Unused */ 27 unsigned int sc_status; /* Unused */ 28 unsigned long long sc_pc; 29 unsigned long long sc_regs[32]; 30 unsigned long long sc_fpregs[32]; 31 unsigned int sc_acx; /* Was sc_ownedfp */ 32 unsigned int sc_fpc_csr; 33 unsigned int sc_fpc_eir; /* Unused */ 34 unsigned int sc_used_math; 35 unsigned int sc_dsp; /* dsp status, was sc_ssflags */ 36 unsigned long long sc_mdhi; 37 unsigned long long sc_mdlo; 38 unsigned long sc_hi1; /* Was sc_cause */ 39 unsigned long sc_lo1; /* Was sc_badvaddr */ 40 unsigned long sc_hi2; /* Was sc_sigset[4] */ 41 unsigned long sc_lo2; 42 unsigned long sc_hi3; 43 unsigned long sc_lo3; 44 unsigned long long sc_msaregs[32]; /* Most significant 64 bits */ 45 unsigned long sc_msa_csr; 46}; 47 48#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */ 49 50#if _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32 51 52#include <linux/posix_types.h> 53/* 54 * Keep this struct definition in sync with the sigcontext fragment 55 * in arch/mips/tools/offset.c 56 * 57 * Warning: this structure illdefined with sc_badvaddr being just an unsigned 58 * int so it was changed to unsigned long in 2.6.0-test1. This may break 59 * binary compatibility - no prisoners. 60 * DSP ASE in 2.6.12-rc4. Turn sc_mdhi and sc_mdlo into an array of four 61 * entries, add sc_dsp and sc_reserved for padding. No prisoners. 62 */ 63struct sigcontext { 64 __u64 sc_regs[32]; 65 __u64 sc_fpregs[32]; 66 __u64 sc_mdhi; 67 __u64 sc_hi1; 68 __u64 sc_hi2; 69 __u64 sc_hi3; 70 __u64 sc_mdlo; 71 __u64 sc_lo1; 72 __u64 sc_lo2; 73 __u64 sc_lo3; 74 __u64 sc_pc; 75 __u32 sc_fpc_csr; 76 __u32 sc_used_math; 77 __u32 sc_dsp; 78 __u32 sc_reserved; 79 __u64 sc_msaregs[32]; 80 __u32 sc_msa_csr; 81}; 82 83 84#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32 */ 85 86#endif /* _UAPI_ASM_SIGCONTEXT_H */