mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
1.4 KiB
72 lines
1.4 KiB
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ |
|
/* |
|
* uctx.h: Sparc64 {set,get}context() register state layouts. |
|
* |
|
* Copyright (C) 1997 David S. Miller ([email protected]) |
|
*/ |
|
|
|
#ifndef __SPARC64_UCTX_H |
|
#define __SPARC64_UCTX_H |
|
|
|
#define MC_TSTATE 0 |
|
#define MC_PC 1 |
|
#define MC_NPC 2 |
|
#define MC_Y 3 |
|
#define MC_G1 4 |
|
#define MC_G2 5 |
|
#define MC_G3 6 |
|
#define MC_G4 7 |
|
#define MC_G5 8 |
|
#define MC_G6 9 |
|
#define MC_G7 10 |
|
#define MC_O0 11 |
|
#define MC_O1 12 |
|
#define MC_O2 13 |
|
#define MC_O3 14 |
|
#define MC_O4 15 |
|
#define MC_O5 16 |
|
#define MC_O6 17 |
|
#define MC_O7 18 |
|
#define MC_NGREG 19 |
|
|
|
typedef unsigned long mc_greg_t; |
|
typedef mc_greg_t mc_gregset_t[MC_NGREG]; |
|
|
|
#define MC_MAXFPQ 16 |
|
struct mc_fq { |
|
unsigned long *mcfq_addr; |
|
unsigned int mcfq_insn; |
|
}; |
|
|
|
struct mc_fpu { |
|
union { |
|
unsigned int sregs[32]; |
|
unsigned long dregs[32]; |
|
long double qregs[16]; |
|
} mcfpu_fregs; |
|
unsigned long mcfpu_fsr; |
|
unsigned long mcfpu_fprs; |
|
unsigned long mcfpu_gsr; |
|
struct mc_fq *mcfpu_fq; |
|
unsigned char mcfpu_qcnt; |
|
unsigned char mcfpu_qentsz; |
|
unsigned char mcfpu_enab; |
|
}; |
|
typedef struct mc_fpu mc_fpu_t; |
|
|
|
typedef struct { |
|
mc_gregset_t mc_gregs; |
|
mc_greg_t mc_fp; |
|
mc_greg_t mc_i7; |
|
mc_fpu_t mc_fpregs; |
|
} mcontext_t; |
|
|
|
struct ucontext { |
|
struct ucontext *uc_link; |
|
unsigned long uc_flags; |
|
sigset_t uc_sigmask; |
|
mcontext_t uc_mcontext; |
|
}; |
|
typedef struct ucontext ucontext_t; |
|
|
|
#endif /* __SPARC64_UCTX_H */
|
|
|