Home | History | Annotate | Line # | Download | only in include
ptrace.h revision 1.10
      1  1.10  christos /*	$NetBSD: ptrace.h,v 1.10 2007/03/04 06:00:37 christos Exp $	*/
      2   1.5      matt 
      3   1.5      matt #ifndef _POWERPC_PTRACE_H
      4   1.5      matt #define	_POWERPC_PTRACE_H
      5   1.2     perry 
      6   1.3    tsubai #define	PT_STEP		(PT_FIRSTMACH + 0)
      7   1.3    tsubai #define	PT_GETREGS	(PT_FIRSTMACH + 1)
      8   1.3    tsubai #define	PT_SETREGS	(PT_FIRSTMACH + 2)
      9   1.4    tsubai #define	PT_GETFPREGS	(PT_FIRSTMACH + 3)
     10   1.4    tsubai #define	PT_SETFPREGS	(PT_FIRSTMACH + 4)
     11   1.5      matt #define	PT_GETVECREGS	(PT_FIRSTMACH + 5)
     12   1.5      matt #define	PT_SETVECREGS	(PT_FIRSTMACH + 6)
     13   1.5      matt 
     14   1.8      matt #define	PT_MACHDEP_STRINGS				\
     15   1.8      matt 	"PT_STEP",					\
     16   1.8      matt 	"PT_GETREGS",		"PT_SETREGS",		\
     17   1.8      matt 	"PT_GETFPREGS",		"PT_SETFPREGS",		\
     18   1.8      matt 	"PT_GETVECREGS",	"PT_SETVECREGS",
     19   1.8      matt 
     20   1.5      matt #ifdef _KERNEL
     21   1.5      matt #ifdef _KERNEL_OPT
     22   1.5      matt #include "opt_altivec.h"
     23   1.5      matt #endif
     24   1.5      matt 
     25   1.5      matt #ifdef ALTIVEC
     26   1.5      matt 
     27   1.5      matt /* We have machine-dependent process tracing requests.  */
     28   1.5      matt #define __HAVE_PTRACE_MACHDEP
     29   1.5      matt 
     30   1.5      matt #define	PTRACE_MACHDEP_REQUEST_CASES \
     31   1.5      matt 	case PT_GETVECREGS: \
     32   1.5      matt 	case PT_SETVECREGS:
     33   1.5      matt 
     34  1.10  christos int ptrace_machdep_dorequest(struct lwp *, struct lwp *, int, void *, int);
     35   1.9  christos int process_machdep_dovecregs(struct lwp *, struct lwp *, struct uio *);
     36   1.5      matt int process_machdep_validvecregs(struct proc *);
     37   1.5      matt 
     38   1.5      matt /* We have machine-dependent procfs nodes.  */
     39   1.5      matt #define __HAVE_PROCFS_MACHDEP
     40   1.5      matt 
     41   1.5      matt #define	PROCFS_MACHDEP_NODE_TYPES \
     42   1.5      matt 	Pmachdep_vecregs,		/* AltiVec register set */
     43   1.5      matt 
     44   1.5      matt #define	PROCFS_MACHDEP_NODETYPE_CASES \
     45   1.5      matt 	case Pmachdep_vecregs:
     46   1.5      matt 
     47   1.5      matt #define	PROCFS_MACHDEP_PROTECT_CASES \
     48   1.5      matt 	case Pmachdep_vecregs:
     49   1.5      matt 
     50   1.5      matt #define	PROCFS_MACHDEP_NODETYPE_DEFNS \
     51   1.5      matt 	{ DT_REG, N("vecregs"), Pmachdep_vecregs, \
     52   1.5      matt 	  procfs_machdep_validvecregs },
     53   1.5      matt 
     54   1.5      matt /* Functions used by procfs.  */
     55   1.5      matt struct mount;
     56   1.5      matt struct pfsnode;
     57   1.9  christos int procfs_machdep_dovecregs(struct lwp *, struct lwp *,
     58   1.5      matt 	struct pfsnode *, struct uio *);
     59   1.9  christos int procfs_machdep_validvecregs(struct lwp *, struct mount *);
     60   1.5      matt 
     61   1.5      matt #endif /* ALTIVEC */
     62   1.5      matt #endif /* _KERNEL */
     63   1.5      matt 
     64   1.5      matt #endif /* _POWERPC_PTRACE_H */
     65