From: Vincent Hanquez <vincent.hanquez@cl.cam.ac.uk>

Rename user_mode to user_mode_vm and add a user_mode macro similar to the
x86-64 one.

This is useful for Xen because the linux xen kernel does not runs on the same
priviledge that a vanilla linux kernel, and with this we just need to redefine
user_mode().

Signed-off-by: Vincent Hanquez <vincent.hanquez@cl.cam.ac.uk>
Cc: Ian Pratt <m+Ian.Pratt@cl.cam.ac.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 arch/i386/kernel/apic.c              |    2 +-
 arch/i386/kernel/ptrace.c            |    2 +-
 arch/i386/mach-voyager/voyager_smp.c |    2 +-
 arch/i386/oprofile/backtrace.c       |    2 +-
 include/asm-i386/ptrace.h            |    3 ++-
 5 files changed, 6 insertions(+), 5 deletions(-)

diff -puN arch/i386/kernel/apic.c~xen-x86-rename-usermode-macro arch/i386/kernel/apic.c
--- 25/arch/i386/kernel/apic.c~xen-x86-rename-usermode-macro	2005-05-23 19:41:07.000000000 -0700
+++ 25-akpm/arch/i386/kernel/apic.c	2005-05-23 19:41:07.000000000 -0700
@@ -1133,7 +1133,7 @@ inline void smp_local_timer_interrupt(st
 		}
 
 #ifdef CONFIG_SMP
-		update_process_times(user_mode(regs));
+		update_process_times(user_mode_vm(regs));
 #endif
 	}
 
diff -puN arch/i386/kernel/ptrace.c~xen-x86-rename-usermode-macro arch/i386/kernel/ptrace.c
--- 25/arch/i386/kernel/ptrace.c~xen-x86-rename-usermode-macro	2005-05-23 19:41:07.000000000 -0700
+++ 25-akpm/arch/i386/kernel/ptrace.c	2005-05-23 19:41:07.000000000 -0700
@@ -668,7 +668,7 @@ void send_sigtrap(struct task_struct *ts
 	info.si_code = TRAP_BRKPT;
 
 	/* User-mode eip? */
-	info.si_addr = user_mode(regs) ? (void __user *) regs->eip : NULL;
+	info.si_addr = user_mode_vm(regs) ? (void __user *) regs->eip : NULL;
 
 	/* Send us the fakey SIGTRAP */
 	force_sig_info(SIGTRAP, &info, tsk);
diff -puN arch/i386/mach-voyager/voyager_smp.c~xen-x86-rename-usermode-macro arch/i386/mach-voyager/voyager_smp.c
--- 25/arch/i386/mach-voyager/voyager_smp.c~xen-x86-rename-usermode-macro	2005-05-23 19:41:07.000000000 -0700
+++ 25-akpm/arch/i386/mach-voyager/voyager_smp.c	2005-05-23 19:41:07.000000000 -0700
@@ -1288,7 +1288,7 @@ smp_local_timer_interrupt(struct pt_regs
 						per_cpu(prof_counter, cpu);
 		}
 
-		update_process_times(user_mode(regs));
+		update_process_times(user_mode_vm(regs));
 	}
 
 	if( ((1<<cpu) & voyager_extended_vic_processors) == 0)
diff -puN arch/i386/oprofile/backtrace.c~xen-x86-rename-usermode-macro arch/i386/oprofile/backtrace.c
--- 25/arch/i386/oprofile/backtrace.c~xen-x86-rename-usermode-macro	2005-05-23 19:41:07.000000000 -0700
+++ 25-akpm/arch/i386/oprofile/backtrace.c	2005-05-23 19:41:07.000000000 -0700
@@ -91,7 +91,7 @@ x86_backtrace(struct pt_regs * const reg
 	head = (struct frame_head *)regs->ebp;
 #endif
 
-	if (!user_mode(regs)) {
+	if (!user_mode_vm(regs)) {
 		while (depth-- && valid_kernel_stack(head, regs))
 			head = dump_backtrace(head);
 		return;
diff -puN include/asm-i386/ptrace.h~xen-x86-rename-usermode-macro include/asm-i386/ptrace.h
--- 25/include/asm-i386/ptrace.h~xen-x86-rename-usermode-macro	2005-05-23 19:41:07.000000000 -0700
+++ 25-akpm/include/asm-i386/ptrace.h	2005-05-23 19:41:07.000000000 -0700
@@ -57,7 +57,8 @@ struct pt_regs {
 #ifdef __KERNEL__
 struct task_struct;
 extern void send_sigtrap(struct task_struct *tsk, struct pt_regs *regs, int error_code);
-#define user_mode(regs) ((VM_MASK & (regs)->eflags) || (3 & (regs)->xcs))
+#define user_mode(regs)		(3 & (regs)->xcs)
+#define user_mode_vm(regs)	((VM_MASK & (regs)->eflags) || user_mode(regs))
 #define instruction_pointer(regs) ((regs)->eip)
 #if defined(CONFIG_SMP) && defined(CONFIG_FRAME_POINTER)
 extern unsigned long profile_pc(struct pt_regs *regs);
_