1 /* $NetBSD: reg.h,v 1.4 2000/06/04 09:30:44 tsubai Exp $ */ 2 /* $FreeBSD$ */ 3 4 #ifndef _POWERPC_REG_H_ 5 #define _POWERPC_REG_H_ 6 7 struct reg { 8 register_t fixreg[32]; 9 register_t lr; 10 int cr; 11 int xer; 12 register_t ctr; 13 register_t pc; 14 }; 15 16 struct fpreg { 17 double fpreg[32]; 18 double fpscr; 19 }; 20 21 struct dbreg { 22 unsigned long junk; 23 }; 24 25 #ifdef _KERNEL 26 /* 27 * XXX these interfaces are MI, so they should be declared in a MI place. 28 */ 29 void setregs __P((struct thread *, u_long, u_long, u_long)); 30 int fill_regs __P((struct thread *, struct reg *)); 31 int set_regs __P((struct thread *, struct reg *)); 32 int fill_fpregs __P((struct thread *, struct fpreg *)); 33 int set_fpregs __P((struct thread *, struct fpreg *)); 34 int fill_dbregs __P((struct thread *, struct dbreg *)); 35 int set_dbregs __P((struct thread *, struct dbreg *)); 36 #endif 37 38 #endif /* _POWERPC_REG_H_ */ 39