summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/amd64/amd64/machdep.c7
-rw-r--r--sys/i386/i386/machdep.c7
-rw-r--r--sys/ia64/ia64/machdep.c8
-rw-r--r--sys/pc98/i386/machdep.c7
-rw-r--r--sys/pc98/pc98/machdep.c7
-rw-r--r--sys/powerpc/aim/machdep.c8
-rw-r--r--sys/powerpc/powerpc/machdep.c8
-rw-r--r--sys/sparc64/sparc64/machdep.c7
8 files changed, 59 insertions, 0 deletions
diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c
index bfd0edc..b95c211 100644
--- a/sys/amd64/amd64/machdep.c
+++ b/sys/amd64/amd64/machdep.c
@@ -1303,6 +1303,13 @@ ptrace_single_step(struct thread *td)
}
int
+ptrace_clear_single_step(struct thread *td)
+{
+ td->td_frame->tf_rflags &= ~PSL_T;
+ return (0);
+}
+
+int
fill_regs(struct thread *td, struct reg *regs)
{
struct pcb *pcb;
diff --git a/sys/i386/i386/machdep.c b/sys/i386/i386/machdep.c
index a783e01..ec148fc 100644
--- a/sys/i386/i386/machdep.c
+++ b/sys/i386/i386/machdep.c
@@ -2252,6 +2252,13 @@ ptrace_single_step(struct thread *td)
}
int
+ptrace_clear_single_step(struct thread *td)
+{
+ td->td_frame->tf_eflags &= ~PSL_T;
+ return (0);
+}
+
+int
fill_regs(struct thread *td, struct reg *regs)
{
struct pcb *pcb;
diff --git a/sys/ia64/ia64/machdep.c b/sys/ia64/ia64/machdep.c
index 9fed902..1dfab47 100644
--- a/sys/ia64/ia64/machdep.c
+++ b/sys/ia64/ia64/machdep.c
@@ -1255,6 +1255,14 @@ ptrace_single_step(struct thread *td)
}
int
+ptrace_clear_single_step(struct thread *td)
+{
+
+ td->td_frame->tf_special.psr &= ~IA64_PSR_SS;
+ return (0);
+}
+
+int
fill_regs(struct thread *td, struct reg *regs)
{
struct trapframe *tf;
diff --git a/sys/pc98/i386/machdep.c b/sys/pc98/i386/machdep.c
index 67e5f71..96576ee 100644
--- a/sys/pc98/i386/machdep.c
+++ b/sys/pc98/i386/machdep.c
@@ -2309,6 +2309,13 @@ ptrace_single_step(struct thread *td)
}
int
+ptrace_clear_single_step(struct thread *td)
+{
+ td->td_frame->tf_eflags &= ~PSL_T;
+ return (0);
+}
+
+int
fill_regs(struct thread *td, struct reg *regs)
{
struct pcb *pcb;
diff --git a/sys/pc98/pc98/machdep.c b/sys/pc98/pc98/machdep.c
index 67e5f71..96576ee 100644
--- a/sys/pc98/pc98/machdep.c
+++ b/sys/pc98/pc98/machdep.c
@@ -2309,6 +2309,13 @@ ptrace_single_step(struct thread *td)
}
int
+ptrace_clear_single_step(struct thread *td)
+{
+ td->td_frame->tf_eflags &= ~PSL_T;
+ return (0);
+}
+
+int
fill_regs(struct thread *td, struct reg *regs)
{
struct pcb *pcb;
diff --git a/sys/powerpc/aim/machdep.c b/sys/powerpc/aim/machdep.c
index 051a121..4c3199e 100644
--- a/sys/powerpc/aim/machdep.c
+++ b/sys/powerpc/aim/machdep.c
@@ -820,6 +820,14 @@ ptrace_single_step(struct thread *td)
return (ENOSYS);
}
+int
+ptrace_clear_single_step(struct thread *td)
+{
+
+ /* XXX: coming soon... */
+ return (ENOSYS);
+}
+
/*
* Initialise a struct pcpu.
*/
diff --git a/sys/powerpc/powerpc/machdep.c b/sys/powerpc/powerpc/machdep.c
index 051a121..4c3199e 100644
--- a/sys/powerpc/powerpc/machdep.c
+++ b/sys/powerpc/powerpc/machdep.c
@@ -820,6 +820,14 @@ ptrace_single_step(struct thread *td)
return (ENOSYS);
}
+int
+ptrace_clear_single_step(struct thread *td)
+{
+
+ /* XXX: coming soon... */
+ return (ENOSYS);
+}
+
/*
* Initialise a struct pcpu.
*/
diff --git a/sys/sparc64/sparc64/machdep.c b/sys/sparc64/sparc64/machdep.c
index 1671af4..73e6aa3 100644
--- a/sys/sparc64/sparc64/machdep.c
+++ b/sys/sparc64/sparc64/machdep.c
@@ -711,6 +711,13 @@ ptrace_single_step(struct thread *td)
return (0);
}
+int
+ptrace_clear_single_step(struct thread *td)
+{
+ /* TODO; */
+ return (0);
+}
+
void
exec_setregs(struct thread *td, u_long entry, u_long stack, u_long ps_strings)
{
OpenPOWER on IntegriCloud