diff options
-rw-r--r-- | sys/amd64/amd64/machdep.c | 7 | ||||
-rw-r--r-- | sys/i386/i386/machdep.c | 7 | ||||
-rw-r--r-- | sys/ia64/ia64/machdep.c | 8 | ||||
-rw-r--r-- | sys/pc98/i386/machdep.c | 7 | ||||
-rw-r--r-- | sys/pc98/pc98/machdep.c | 7 | ||||
-rw-r--r-- | sys/powerpc/aim/machdep.c | 8 | ||||
-rw-r--r-- | sys/powerpc/powerpc/machdep.c | 8 | ||||
-rw-r--r-- | sys/sparc64/sparc64/machdep.c | 7 |
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) { |