0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef _UAPI_ASM_SIGCONTEXT_H
0011 #define _UAPI_ASM_SIGCONTEXT_H
0012
0013 #include <linux/types.h>
0014 #include <asm/sgidefs.h>
0015
0016
0017 #define USED_FP (1 << 0)
0018
0019
0020 #define USED_FR1 (1 << 1)
0021
0022
0023 #define USED_HYBRID_FPRS (1 << 2)
0024
0025
0026 #define USED_EXTCONTEXT (1 << 3)
0027
0028 #if _MIPS_SIM == _MIPS_SIM_ABI32
0029
0030
0031
0032
0033
0034 struct sigcontext {
0035 unsigned int sc_regmask;
0036 unsigned int sc_status;
0037 unsigned long long sc_pc;
0038 unsigned long long sc_regs[32];
0039 unsigned long long sc_fpregs[32];
0040 unsigned int sc_acx;
0041 unsigned int sc_fpc_csr;
0042 unsigned int sc_fpc_eir;
0043 unsigned int sc_used_math;
0044 unsigned int sc_dsp;
0045 unsigned long long sc_mdhi;
0046 unsigned long long sc_mdlo;
0047 unsigned long sc_hi1;
0048 unsigned long sc_lo1;
0049 unsigned long sc_hi2;
0050 unsigned long sc_lo2;
0051 unsigned long sc_hi3;
0052 unsigned long sc_lo3;
0053 };
0054
0055 #endif
0056
0057 #if _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32
0058
0059 #include <linux/posix_types.h>
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070 struct sigcontext {
0071 __u64 sc_regs[32];
0072 __u64 sc_fpregs[32];
0073 __u64 sc_mdhi;
0074 __u64 sc_hi1;
0075 __u64 sc_hi2;
0076 __u64 sc_hi3;
0077 __u64 sc_mdlo;
0078 __u64 sc_lo1;
0079 __u64 sc_lo2;
0080 __u64 sc_lo3;
0081 __u64 sc_pc;
0082 __u32 sc_fpc_csr;
0083 __u32 sc_used_math;
0084 __u32 sc_dsp;
0085 __u32 sc_reserved;
0086 };
0087
0088
0089 #endif
0090
0091 #endif