x86: use user_mode macro
authorGlauber Costa <gcosta@redhat.com>
Fri, 11 Jul 2008 16:45:46 +0000 (13:45 -0300)
committerIngo Molnar <mingo@elte.hu>
Mon, 13 Oct 2008 08:21:23 +0000 (10:21 +0200)
Instead of using SEGMENT_IS_KERNEL_CODE, use the
"user_mode" macro, which can play the same role. Delete
the former, since it now lacks any user.

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/time_32.c
include/asm-x86/segment.h

index bbecf8b..8abcb7b 100644 (file)
@@ -47,7 +47,7 @@ unsigned long profile_pc(struct pt_regs *regs)
        unsigned long pc = instruction_pointer(regs);
 
 #ifdef CONFIG_SMP
-       if (!v8086_mode(regs) && SEGMENT_IS_KERNEL_CODE(regs->cs) &&
+       if (!v8086_mode(regs) && !user_mode(regs) &&
            in_lock_functions(pc)) {
 #ifdef CONFIG_FRAME_POINTER
                return *(unsigned long *)(regs->bp + 4);
index ea5f0a8..4dcd8c6 100644 (file)
  * Matching rules for certain types of segments.
  */
 
-/* Matches only __KERNEL_CS, ignoring PnP / USER / APM segments */
-#define SEGMENT_IS_KERNEL_CODE(x) (((x) & 0xfc) == GDT_ENTRY_KERNEL_CS * 8)
-
 /* Matches __KERNEL_CS and __USER_CS (they must be 2 entries apart) */
 #define SEGMENT_IS_FLAT_CODE(x)  (((x) & 0xec) == GDT_ENTRY_KERNEL_CS * 8)