#ifndef _SPARC64_MCONTEXT_H_
#define _SPARC64_MCONTEXT_H_
#include <sparc/mcontext.h>
#define _NGREG32 19
typedef int __greg32_t;
typedef __greg32_t __gregset32_t[_NGREG32];
typedef unsigned int netbsd32___greg32p_t;
typedef unsigned int netbsd32___fqp_t;
typedef unsigned int netbsd32___gwindows32p_t;
#define _REG32_PSR 0
#define _REG32_PC 1
#define _REG32_nPC 2
#define _REG32_Y 3
#define _REG32_G1 4
#define _REG32_G2 5
#define _REG32_G3 6
#define _REG32_G4 7
#define _REG32_G5 8
#define _REG32_G6 9
#define _REG32_G7 10
#define _REG32_O0 11
#define _REG32_O1 12
#define _REG32_O2 13
#define _REG32_O3 14
#define _REG32_O4 15
#define _REG32_O5 16
#define _REG32_O6 17
#define _REG32_O7 18
typedef struct {
__greg32_t __rw_local[8];
__greg32_t __rw_in[8];
} __rwindow32_t;
typedef struct {
int __wbcnt;
netbsd32___greg32p_t __spbuf[_SPARC_MAXREGWINDOW];
__rwindow32_t __wbuf[_SPARC_MAXREGWINDOW];
} __gwindows32_t;
typedef struct {
union {
unsigned int __fpu_regs[32];
double __fpu_dregs[16];
} __fpu_fr;
netbsd32___fqp_t __fpu_q;
unsigned int __fpu_fsr;
unsigned char __fpu_qcnt;
unsigned char __fpu_q_entrysize;
unsigned char __fpu_en;
} __fpregset32_t;
typedef struct {
unsigned int __xrs_id;
unsigned int __xrs_ptr;
} __xrs32_t;
typedef struct {
__gregset32_t __gregs;
netbsd32___gwindows32p_t __gwins;
__fpregset32_t __fpregs;
__xrs32_t __xrs;
} mcontext32_t;
#define _UC_SETSTACK _UC_MD_BIT16
#define _UC_CLRSTACK _UC_MD_BIT17
#define _UC_TLSBASE _UC_MD_BIT19
#define _UC_MACHINE32_PAD 43
#define _UC_MACHINE32_SP(uc) ((uc)->uc_mcontext.__gregs[_REG_O6])
#define _UC_MACHINE32_FP(uc) (((__greg32_t *)_UC_MACHINE32_SP(uc))[15])
#endif