summaryrefslogtreecommitdiff
path: root/sys/arch/alpha/alpha/process_machdep.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/alpha/alpha/process_machdep.c')
-rw-r--r--sys/arch/alpha/alpha/process_machdep.c44
1 files changed, 30 insertions, 14 deletions
diff --git a/sys/arch/alpha/alpha/process_machdep.c b/sys/arch/alpha/alpha/process_machdep.c
index 4e15522218f..5de30a17b88 100644
--- a/sys/arch/alpha/alpha/process_machdep.c
+++ b/sys/arch/alpha/alpha/process_machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: process_machdep.c,v 1.6 2002/03/12 11:58:14 art Exp $ */
+/* $OpenBSD: process_machdep.c,v 1.7 2002/03/14 00:42:20 miod Exp $ */
/* $NetBSD: process_machdep.c,v 1.7 1996/07/11 20:14:21 cgd Exp $ */
/*-
@@ -108,6 +108,24 @@ process_read_regs(p, regs)
}
int
+process_read_fpregs(p, regs)
+ struct proc *p;
+ struct fpreg *regs;
+{
+
+ if (p == fpcurproc) {
+ alpha_pal_wrfen(1);
+ savefpstate(process_fpframe(p));
+ alpha_pal_wrfen(0);
+ }
+
+ bcopy(process_fpframe(p), regs, sizeof(struct fpreg));
+ return (0);
+}
+
+#ifdef PTRACE
+
+int
process_write_regs(p, regs)
struct proc *p;
struct reg *regs;
@@ -120,29 +138,25 @@ process_write_regs(p, regs)
}
int
-process_set_pc(p, addr)
+process_sstep(p, sstep)
struct proc *p;
- caddr_t addr;
+ int sstep;
{
- struct trapframe *frame = process_frame(p);
- frame->tf_regs[FRAME_PC] = (u_int64_t)addr;
+ if (sstep)
+ return (EINVAL);
+
return (0);
}
int
-process_read_fpregs(p, regs)
+process_set_pc(p, addr)
struct proc *p;
- struct fpreg *regs;
+ caddr_t addr;
{
+ struct trapframe *frame = process_frame(p);
- if (p == fpcurproc) {
- alpha_pal_wrfen(1);
- savefpstate(process_fpframe(p));
- alpha_pal_wrfen(0);
- }
-
- bcopy(process_fpframe(p), regs, sizeof(struct fpreg));
+ frame->tf_regs[FRAME_PC] = (u_int64_t)addr;
return (0);
}
@@ -348,3 +362,5 @@ process_sstep(struct proc *p, int sstep)
return (0);
}
+
+#endif /* PTRACE */