Index: 2005-12-16/include/asm-i386/mach-default/mach_mode.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ 2005-12-16/include/asm-i386/mach-default/mach_mode.h 2005-12-22 10:30:50.000000000 +0100 @@ -0,0 +1,6 @@ +#ifndef __ASM_MACH_MODE_H +#define __ASM_MACH_MODE_H + +#define USER_MODE_MASK 3 + +#endif /* __ASM_MACH_MODE_H */ Index: 2005-12-16/include/asm-i386/mach-xen/asm/ptrace.h =================================================================== --- 2005-12-16.orig/include/asm-i386/mach-xen/asm/ptrace.h 2005-11-21 16:42:07.000000000 +0100 +++ /dev/null 1970-01-01 00:00:00.000000000 +0000 @@ -1,87 +0,0 @@ -#ifndef _I386_PTRACE_H -#define _I386_PTRACE_H - -#define EBX 0 -#define ECX 1 -#define EDX 2 -#define ESI 3 -#define EDI 4 -#define EBP 5 -#define EAX 6 -#define DS 7 -#define ES 8 -#define FS 9 -#define GS 10 -#define ORIG_EAX 11 -#define EIP 12 -#define CS 13 -#define EFL 14 -#define UESP 15 -#define SS 16 -#define FRAME_SIZE 17 - -/* this struct defines the way the registers are stored on the - stack during a system call. */ - -struct pt_regs { - long ebx; - long ecx; - long edx; - long esi; - long edi; - long ebp; - long eax; - int xds; - int xes; - long orig_eax; - long eip; - int xcs; - long eflags; - long esp; - int xss; -}; - -/* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */ -#define PTRACE_GETREGS 12 -#define PTRACE_SETREGS 13 -#define PTRACE_GETFPREGS 14 -#define PTRACE_SETFPREGS 15 -#define PTRACE_GETFPXREGS 18 -#define PTRACE_SETFPXREGS 19 - -#define PTRACE_OLDSETOPTIONS 21 - -#define PTRACE_GET_THREAD_AREA 25 -#define PTRACE_SET_THREAD_AREA 26 - -#ifdef __KERNEL__ - -#include - -struct task_struct; -extern void send_sigtrap(struct task_struct *tsk, struct pt_regs *regs, int error_code); - -/* - * user_mode_vm(regs) determines whether a register set came from user mode. - * This is true if V8086 mode was enabled OR if the register set was from - * protected mode with RPL-3 CS value. This tricky test checks that with - * one comparison. Many places in the kernel can bypass this full check - * if they have already ruled out V8086 mode, so user_mode(regs) can be used. - */ -static inline int user_mode(struct pt_regs *regs) -{ - return (regs->xcs & 2) != 0; -} -static inline int user_mode_vm(struct pt_regs *regs) -{ - return ((regs->xcs & 2) | (regs->eflags & VM_MASK)) != 0; -} -#define instruction_pointer(regs) ((regs)->eip) -#if defined(CONFIG_SMP) && defined(CONFIG_FRAME_POINTER) -extern unsigned long profile_pc(struct pt_regs *regs); -#else -#define profile_pc(regs) instruction_pointer(regs) -#endif -#endif /* __KERNEL__ */ - -#endif Index: 2005-12-16/include/asm-i386/mach-xen/mach_mode.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ 2005-12-16/include/asm-i386/mach-xen/mach_mode.h 2005-12-22 10:30:41.000000000 +0100 @@ -0,0 +1,6 @@ +#ifndef __ASM_MACH_MODE_H +#define __ASM_MACH_MODE_H + +#define USER_MODE_MASK 2 + +#endif /* __ASM_MACH_MODE_H */ Index: 2005-12-16/include/asm-i386/ptrace.h =================================================================== --- 2005-12-16.orig/include/asm-i386/ptrace.h 2005-11-21 16:42:07.000000000 +0100 +++ 2005-12-16/include/asm-i386/ptrace.h 2005-12-22 10:31:32.000000000 +0100 @@ -57,6 +57,7 @@ struct pt_regs { #ifdef __KERNEL__ #include +#include struct task_struct; extern void send_sigtrap(struct task_struct *tsk, struct pt_regs *regs, int error_code); @@ -70,11 +71,11 @@ extern void send_sigtrap(struct task_str */ static inline int user_mode(struct pt_regs *regs) { - return (regs->xcs & 3) != 0; + return (regs->xcs & USER_MODE_MASK) != 0; } static inline int user_mode_vm(struct pt_regs *regs) { - return ((regs->xcs & 3) | (regs->eflags & VM_MASK)) != 0; + return ((regs->xcs & USER_MODE_MASK) | (regs->eflags & VM_MASK)) != 0; } #define instruction_pointer(regs) ((regs)->eip) #if defined(CONFIG_SMP) && defined(CONFIG_FRAME_POINTER)