root/arch/mips/include/uapi/asm/sigcontext.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


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

/* [<][>][^][v][top][bottom][index][help] */