/* Description of available register windows. */
typedef struct {
int __wbcnt;
netbsd32___greg32p_t __spbuf[_SPARC_MAXREGWINDOW];
__rwindow32_t __wbuf[_SPARC_MAXREGWINDOW];
} __gwindows32_t;
/* FPU state description */
typedef struct {
union {
unsigned int __fpu_regs[32];
double __fpu_dregs[16];
} __fpu_fr; /* FPR contents */
netbsd32___fqp_t __fpu_q; /* pointer to FPU insn queue */
unsigned int __fpu_fsr; /* %fsr */
unsigned char __fpu_qcnt; /* # entries in __fpu_q */
unsigned char __fpu_q_entrysize; /* size of a __fpu_q entry */
unsigned char __fpu_en; /* this context valid? */
} __fpregset32_t;
/* `Extra Register State'(?) */
typedef struct {
unsigned int __xrs_id; /* See below */
unsigned int __xrs_ptr; /* points into filler area */
} __xrs32_t;
typedef struct {
__gregset32_t __gregs; /* GPR state */
netbsd32___gwindows32p_t __gwins;/* may point to register windows */
__fpregset32_t __fpregs; /* FPU state, if any */
__xrs32_t __xrs; /* may indicate extra reg state */
} mcontext32_t;