Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 27 Jun 2004 02:40:05 GMT
From:      David Xu <davidxu@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 55883 for review
Message-ID:  <200406270240.i5R2e5p1085313@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=55883

Change 55883 by davidxu@davidxu_alona on 2004/06/27 02:40:05

	Add ptrace_clear_single_step to every arch, alpha already had one.

Affected files ...

.. //depot/projects/davidxu_ksedbg/src/sys/amd64/amd64/machdep.c#2 edit
.. //depot/projects/davidxu_ksedbg/src/sys/i386/i386/machdep.c#2 edit
.. //depot/projects/davidxu_ksedbg/src/sys/ia64/ia64/machdep.c#2 edit
.. //depot/projects/davidxu_ksedbg/src/sys/pc98/i386/machdep.c#2 edit
.. //depot/projects/davidxu_ksedbg/src/sys/powerpc/powerpc/machdep.c#2 edit
.. //depot/projects/davidxu_ksedbg/src/sys/sparc64/sparc64/machdep.c#2 edit

Differences ...

==== //depot/projects/davidxu_ksedbg/src/sys/amd64/amd64/machdep.c#2 (text+ko) ====

@@ -1296,6 +1296,13 @@
 }
 
 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;

==== //depot/projects/davidxu_ksedbg/src/sys/i386/i386/machdep.c#2 (text+ko) ====

@@ -2222,6 +2222,13 @@
 }
 
 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;

==== //depot/projects/davidxu_ksedbg/src/sys/ia64/ia64/machdep.c#2 (text+ko) ====

@@ -1238,6 +1238,14 @@
 }
 
 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;

==== //depot/projects/davidxu_ksedbg/src/sys/pc98/i386/machdep.c#2 (text+ko) ====

@@ -2279,6 +2279,13 @@
 }
 
 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;

==== //depot/projects/davidxu_ksedbg/src/sys/powerpc/powerpc/machdep.c#2 (text+ko) ====

@@ -809,6 +809,14 @@
 	return (ENOSYS);
 }
 
+int
+ptrace_clear_single_step(struct thread *td)
+{
+
+	/* XXX: coming soon... */
+	return (ENOSYS);
+}
+
 /*
  * Initialise a struct pcpu.
  */

==== //depot/projects/davidxu_ksedbg/src/sys/sparc64/sparc64/machdep.c#2 (text+ko) ====

@@ -693,6 +693,13 @@
 	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)
 {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200406270240.i5R2e5p1085313>