From dbe3533b7f687402651e893d5b3a7b66f22d6487 Mon Sep 17 00:00:00 2001 From: Harvey Harrison Date: Wed, 30 Jan 2008 13:33:16 +0100 Subject: [PATCH] x86: clean up ptrace.h Leave definition of pt_regs in its own section, move all kernel code to section afterwards, unify prototype definitions, has some conditional prototypes to make it clear what was only defined in 32 and 64 bit. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner --- include/asm-x86/ptrace.h | 43 +++++++++++++++------------------------- 1 file changed, 16 insertions(+), 27 deletions(-) diff --git a/include/asm-x86/ptrace.h b/include/asm-x86/ptrace.h index 0ad9a2b7f8c..79d5b8fcd7b 100644 --- a/include/asm-x86/ptrace.h +++ b/include/asm-x86/ptrace.h @@ -7,17 +7,6 @@ #ifndef __ASSEMBLY__ -#ifdef __KERNEL__ - -/* the DS BTS struct is used for ptrace as well */ -#include - -struct task_struct; -extern void ptrace_bts_take_timestamp(struct task_struct *, enum bts_qualifier); - -#endif /* __KERNEL__ */ - - #ifdef __i386__ /* this struct defines the way the registers are stored on the stack during a system call. */ @@ -69,16 +58,6 @@ struct pt_regs { #include #include -struct task_struct; - -extern unsigned long -convert_ip_to_linear(struct task_struct *child, struct pt_regs *regs); - -extern void send_sigtrap(struct task_struct *tsk, struct pt_regs *regs, int error_code); - -#define regs_return_value(regs) ((regs)->ax) - -extern unsigned long profile_pc(struct pt_regs *regs); #endif /* __KERNEL__ */ #else /* __i386__ */ @@ -143,20 +122,30 @@ struct pt_regs { /* top of stack page */ }; -#define regs_return_value(regs) ((regs)->ax) +#endif /* __KERNEL__ */ +#endif /* !__i386__ */ -extern unsigned long profile_pc(struct pt_regs *regs); -void signal_fault(struct pt_regs *regs, void __user *frame, char *where); +#ifdef __KERNEL__ + +/* the DS BTS struct is used for ptrace as well */ +#include struct task_struct; +extern void ptrace_bts_take_timestamp(struct task_struct *, enum bts_qualifier); + +extern unsigned long profile_pc(struct pt_regs *regs); + extern unsigned long convert_ip_to_linear(struct task_struct *child, struct pt_regs *regs); -#endif /* __KERNEL__ */ -#endif /* !__i386__ */ +#ifdef CONFIG_X86_32 +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 -#ifdef __KERNEL__ +#define regs_return_value(regs) ((regs)->ax) /* * user_mode_vm(regs) determines whether a register set came from user mode. -- 2.20.1