root/arch/sparc/include/uapi/asm/uctx.h

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

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
   2 /*
   3  * uctx.h: Sparc64 {set,get}context() register state layouts.
   4  *
   5  * Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu)
   6  */
   7 
   8 #ifndef __SPARC64_UCTX_H
   9 #define __SPARC64_UCTX_H
  10 
  11 #define MC_TSTATE       0
  12 #define MC_PC           1
  13 #define MC_NPC          2
  14 #define MC_Y            3
  15 #define MC_G1           4
  16 #define MC_G2           5
  17 #define MC_G3           6
  18 #define MC_G4           7
  19 #define MC_G5           8
  20 #define MC_G6           9
  21 #define MC_G7           10
  22 #define MC_O0           11
  23 #define MC_O1           12
  24 #define MC_O2           13
  25 #define MC_O3           14
  26 #define MC_O4           15
  27 #define MC_O5           16
  28 #define MC_O6           17
  29 #define MC_O7           18
  30 #define MC_NGREG        19
  31 
  32 typedef unsigned long mc_greg_t;
  33 typedef mc_greg_t mc_gregset_t[MC_NGREG];
  34 
  35 #define MC_MAXFPQ       16
  36 struct mc_fq {
  37         unsigned long   *mcfq_addr;
  38         unsigned int    mcfq_insn;
  39 };
  40 
  41 struct mc_fpu {
  42         union {
  43                 unsigned int    sregs[32];
  44                 unsigned long   dregs[32];
  45                 long double     qregs[16];
  46         } mcfpu_fregs;
  47         unsigned long   mcfpu_fsr;
  48         unsigned long   mcfpu_fprs;
  49         unsigned long   mcfpu_gsr;
  50         struct mc_fq    *mcfpu_fq;
  51         unsigned char   mcfpu_qcnt;
  52         unsigned char   mcfpu_qentsz;
  53         unsigned char   mcfpu_enab;
  54 };
  55 typedef struct mc_fpu mc_fpu_t;
  56 
  57 typedef struct {
  58         mc_gregset_t    mc_gregs;
  59         mc_greg_t       mc_fp;
  60         mc_greg_t       mc_i7;
  61         mc_fpu_t        mc_fpregs;
  62 } mcontext_t;
  63 
  64 struct ucontext {
  65         struct ucontext         *uc_link;
  66         unsigned long           uc_flags;
  67         sigset_t                uc_sigmask;
  68         mcontext_t              uc_mcontext;
  69 };
  70 typedef struct ucontext ucontext_t;
  71 
  72 #endif /* __SPARC64_UCTX_H */

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