
From: Jeff Dike <jdike@addtoit.com>

From: Bodo Stroesser - Make singlestep_syscall generic rather than being 
restricted to tt mode.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/arch/um/kernel/signal_kern.c       |    2 +-
 25-akpm/arch/um/kernel/tt/process_kern.c   |    2 +-
 25-akpm/arch/um/kernel/tt/syscall_kern.c   |    4 ++--
 25-akpm/include/asm-um/processor-generic.h |    2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

diff -puN arch/um/kernel/signal_kern.c~uml-generic-singlestep-syscall arch/um/kernel/signal_kern.c
--- 25/arch/um/kernel/signal_kern.c~uml-generic-singlestep-syscall	2004-11-04 20:37:21.069293936 -0800
+++ 25-akpm/arch/um/kernel/signal_kern.c	2004-11-04 20:37:21.077292720 -0800
@@ -154,7 +154,7 @@ static int kern_do_signal(struct pt_regs
 	 */
 	if((current->ptrace & PT_DTRACE) && 
 	   is_syscall(PT_REGS_IP(&current->thread.regs)))
- 		(void) CHOOSE_MODE(current->thread.mode.tt.singlestep_syscall = 1, 0);
+		current->thread.singlestep_syscall = 1;
 	return(0);
 }
 
diff -puN arch/um/kernel/tt/process_kern.c~uml-generic-singlestep-syscall arch/um/kernel/tt/process_kern.c
--- 25/arch/um/kernel/tt/process_kern.c~uml-generic-singlestep-syscall	2004-11-04 20:37:21.070293784 -0800
+++ 25-akpm/arch/um/kernel/tt/process_kern.c	2004-11-04 20:37:21.078292568 -0800
@@ -527,7 +527,7 @@ int singlestepping_tt(void *t)
 {
 	struct task_struct *task = t;
 
-	if(task->thread.mode.tt.singlestep_syscall)
+	if(task->thread.singlestep_syscall)
 		return(0);
 	return(task->ptrace & PT_DTRACE);
 }
diff -puN arch/um/kernel/tt/syscall_kern.c~uml-generic-singlestep-syscall arch/um/kernel/tt/syscall_kern.c
--- 25/arch/um/kernel/tt/syscall_kern.c~uml-generic-singlestep-syscall	2004-11-04 20:37:21.071293632 -0800
+++ 25-akpm/arch/um/kernel/tt/syscall_kern.c	2004-11-04 20:37:21.078292568 -0800
@@ -123,8 +123,8 @@ long execute_syscall_tt(void *r)
 
 	set_fs(USER_DS);
 
-	if(current->thread.mode.tt.singlestep_syscall){
-		current->thread.mode.tt.singlestep_syscall = 0;
+	if(current->thread.singlestep_syscall){
+		current->thread.singlestep_syscall = 0;
 		current->ptrace &= ~PT_DTRACE;
 		force_sig(SIGTRAP, current);
 	}
diff -puN include/asm-um/processor-generic.h~uml-generic-singlestep-syscall include/asm-um/processor-generic.h
--- 25/include/asm-um/processor-generic.h~uml-generic-singlestep-syscall	2004-11-04 20:37:21.073293328 -0800
+++ 25-akpm/include/asm-um/processor-generic.h	2004-11-04 20:37:21.078292568 -0800
@@ -25,6 +25,7 @@ struct thread_struct {
 	unsigned long cr2;
 	int err;
 	unsigned long trap_no;
+	int singlestep_syscall;
 	void *fault_addr;
 	void *fault_catcher;
 	struct task_struct *prev_sched;
@@ -37,7 +38,6 @@ struct thread_struct {
 			int extern_pid;
 			int tracing;
 			int switch_pipe[2];
-			int singlestep_syscall;
 			int vm_seq;
 		} tt;
 #endif
_
