xref: /freebsd/sys/powerpc/include/reg.h (revision 41466b50c1d5bfd1cf6adaae547a579a75d7c04e)
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