Add ptrace_clear_single_step(), alpha already has it for years, the function

will be used by ptrace to clear a thread's single step state.
This commit is contained in:
David Xu 2004-07-13 07:22:56 +00:00
parent cbf4e354ec
commit 53dbf30349
8 changed files with 59 additions and 0 deletions

View File

@ -1302,6 +1302,13 @@ ptrace_single_step(struct thread *td)
return (0);
}
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)
{

View File

@ -2251,6 +2251,13 @@ ptrace_single_step(struct thread *td)
return (0);
}
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)
{

View File

@ -1254,6 +1254,14 @@ ptrace_single_step(struct thread *td)
return (0);
}
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)
{

View File

@ -2308,6 +2308,13 @@ ptrace_single_step(struct thread *td)
return (0);
}
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)
{

View File

@ -2308,6 +2308,13 @@ ptrace_single_step(struct thread *td)
return (0);
}
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)
{

View File

@ -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.
*/

View File

@ -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.
*/

View File

@ -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)
{