]> err.no Git - linux-2.6/blobdiff - include/asm-x86/ptrace.h
Input: pxa27x_keypad - miscellaneous fixes
[linux-2.6] / include / asm-x86 / ptrace.h
index 708337a367279fab40b3b77eb3647a2005920fcf..9f922b0b95d6d3961275c9cac804acf22cbb8ef6 100644 (file)
@@ -42,12 +42,12 @@ struct pt_regs {
        unsigned long si;
        unsigned long di;
        unsigned long bp;
-       long ax;
+       unsigned long ax;
        unsigned long ds;
        unsigned long es;
        unsigned long fs;
        /* int  gs; */
-       long orig_ax;
+       unsigned long orig_ax;
        unsigned long ip;
        unsigned long cs;
        unsigned long flags;
@@ -140,12 +140,16 @@ extern unsigned long
 convert_ip_to_linear(struct task_struct *child, struct pt_regs *regs);
 
 #ifdef CONFIG_X86_32
-extern void send_sigtrap(struct task_struct *tsk, struct pt_regs *regs, int error_code);
+extern void send_sigtrap(struct task_struct *tsk, struct pt_regs *regs,
+                        int error_code);
 #else
 void signal_fault(struct pt_regs *regs, void __user *frame, char *where);
 #endif
 
-#define regs_return_value(regs) ((regs)->ax)
+static inline unsigned long regs_return_value(struct pt_regs *regs)
+{
+       return regs->ax;
+}
 
 /*
  * user_mode_vm(regs) determines whether a register set came from user mode.
@@ -166,8 +170,8 @@ static inline int user_mode(struct pt_regs *regs)
 static inline int user_mode_vm(struct pt_regs *regs)
 {
 #ifdef CONFIG_X86_32
-       return ((regs->cs & SEGMENT_RPL_MASK) |
-               (regs->flags & VM_MASK)) >= USER_RPL;
+       return ((regs->cs & SEGMENT_RPL_MASK) | (regs->flags & X86_VM_MASK)) >=
+               USER_RPL;
 #else
        return user_mode(regs);
 #endif
@@ -176,7 +180,7 @@ static inline int user_mode_vm(struct pt_regs *regs)
 static inline int v8086_mode(struct pt_regs *regs)
 {
 #ifdef CONFIG_X86_32
-       return (regs->flags & VM_MASK);
+       return (regs->flags & X86_VM_MASK);
 #else
        return 0;       /* No V86 mode support in long mode */
 #endif
@@ -227,6 +231,8 @@ extern int do_get_thread_area(struct task_struct *p, int idx,
 extern int do_set_thread_area(struct task_struct *p, int idx,
                              struct user_desc __user *info, int can_allocate);
 
+#define __ARCH_WANT_COMPAT_SYS_PTRACE
+
 #endif /* __KERNEL__ */
 
 #endif /* !__ASSEMBLY__ */