xref: /freebsd/sys/powerpc/include/reg.h (revision b52b9d56d4e96089873a75f9e29062eec19fabba)
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(struct thread *, u_long, u_long, u_long);
30 int	fill_regs(struct thread *, struct reg *);
31 int	set_regs(struct thread *, struct reg *);
32 int	fill_fpregs(struct thread *, struct fpreg *);
33 int	set_fpregs(struct thread *, struct fpreg *);
34 int	fill_dbregs(struct thread *, struct dbreg *);
35 int	set_dbregs(struct thread *, struct dbreg *);
36 #endif
37 
38 #endif /* _POWERPC_REG_H_ */
39