提交 dbe3533b 编写于 作者: H Harvey Harrison 提交者: Ingo Molnar

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: NHarvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: NIngo Molnar <mingo@elte.hu>
Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
上级 90d43d72
......@@ -7,17 +7,6 @@
#ifndef __ASSEMBLY__
#ifdef __KERNEL__
/* the DS BTS struct is used for ptrace as well */
#include <asm/ds.h>
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 <asm/vm86.h>
#include <asm/segment.h>
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 <asm/ds.h>
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.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册