ptrace.h revision 1.5 1 1.5 matt /* $NetBSD: ptrace.h,v 1.5 2003/03/05 05:27:25 matt 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.5 matt #ifdef _KERNEL
15 1.5 matt #ifdef _KERNEL_OPT
16 1.5 matt #include "opt_altivec.h"
17 1.5 matt #endif
18 1.5 matt
19 1.5 matt #ifdef ALTIVEC
20 1.5 matt
21 1.5 matt /* We have machine-dependent process tracing requests. */
22 1.5 matt #define __HAVE_PTRACE_MACHDEP
23 1.5 matt
24 1.5 matt #define PTRACE_MACHDEP_REQUEST_CASES \
25 1.5 matt case PT_GETVECREGS: \
26 1.5 matt case PT_SETVECREGS:
27 1.5 matt
28 1.5 matt int ptrace_machdep_dorequest(struct proc *, struct lwp *, int, caddr_t, int);
29 1.5 matt int process_machdep_dovecregs(struct proc *, struct lwp *, struct uio *);
30 1.5 matt int process_machdep_validvecregs(struct proc *);
31 1.5 matt
32 1.5 matt /* We have machine-dependent procfs nodes. */
33 1.5 matt #define __HAVE_PROCFS_MACHDEP
34 1.5 matt
35 1.5 matt #define PROCFS_MACHDEP_NODE_TYPES \
36 1.5 matt Pmachdep_vecregs, /* AltiVec register set */
37 1.5 matt
38 1.5 matt #define PROCFS_MACHDEP_NODETYPE_CASES \
39 1.5 matt case Pmachdep_vecregs:
40 1.5 matt
41 1.5 matt #define PROCFS_MACHDEP_PROTECT_CASES \
42 1.5 matt case Pmachdep_vecregs:
43 1.5 matt
44 1.5 matt #define PROCFS_MACHDEP_NODETYPE_DEFNS \
45 1.5 matt { DT_REG, N("vecregs"), Pmachdep_vecregs, \
46 1.5 matt procfs_machdep_validvecregs },
47 1.5 matt
48 1.5 matt /* Functions used by procfs. */
49 1.5 matt struct mount;
50 1.5 matt struct pfsnode;
51 1.5 matt int procfs_machdep_dovecregs(struct proc *, struct lwp *,
52 1.5 matt struct pfsnode *, struct uio *);
53 1.5 matt int procfs_machdep_validvecregs(struct proc *, struct mount *);
54 1.5 matt
55 1.5 matt #endif /* ALTIVEC */
56 1.5 matt #endif /* _KERNEL */
57 1.5 matt
58 1.5 matt #endif /* _POWERPC_PTRACE_H */
59