1 /* $NetBSD: reg.h,v 1.2 2001/02/23 21:23:52 reinoud Exp $ */ 2 /* $FreeBSD$ */ 3 #ifndef MACHINE_REG_H 4 #define MACHINE_REG_H 5 6 #include <machine/fp.h> 7 8 struct reg { 9 unsigned int r[13]; 10 unsigned int r_sp; 11 unsigned int r_lr; 12 unsigned int r_pc; 13 unsigned int r_cpsr; 14 }; 15 16 struct fpreg { 17 unsigned int fpr_fpsr; 18 fp_reg_t fpr[8]; 19 }; 20 21 struct dbreg { 22 #define ARM_WR_MAX 16 /* Maximum number of watchpoint registers */ 23 unsigned int dbg_wcr[ARM_WR_MAX]; /* Watchpoint Control Registers */ 24 unsigned int dbg_wvr[ARM_WR_MAX]; /* Watchpoint Value Registers */ 25 }; 26 27 #ifdef _KERNEL 28 int fill_regs(struct thread *, struct reg *); 29 int set_regs(struct thread *, struct reg *); 30 int fill_fpregs(struct thread *, struct fpreg *); 31 int set_fpregs(struct thread *, struct fpreg *); 32 int fill_dbregs(struct thread *, struct dbreg *); 33 int set_dbregs(struct thread *, struct dbreg *); 34 #endif 35 36 #endif /* !MACHINE_REG_H */ 37