Re: [PATCH 2/2] s390: add pt_regs register and stack access API

From: Masami Hiramatsu
Date: Wed Feb 10 2010 - 21:19:37 EST


Heiko Carstens wrote:
> From: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
>
> This API is needed for the kprobe-based event tracer.
>
> Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
> ---
> arch/s390/Kconfig | 1
> arch/s390/include/asm/ptrace.h | 14 +++++++
> arch/s390/kernel/ptrace.c | 76 +++++++++++++++++++++++++++++++++++++++++
> 3 files changed, 90 insertions(+), 1 deletion(-)
>
> --- a/arch/s390/include/asm/ptrace.h
> +++ b/arch/s390/include/asm/ptrace.h
> @@ -492,13 +492,25 @@ struct user_regs_struct
> struct task_struct;
> extern void user_enable_single_step(struct task_struct *);
> extern void user_disable_single_step(struct task_struct *);
> +extern void show_regs(struct pt_regs * regs);
>
> #define user_mode(regs) (((regs)->psw.mask & PSW_MASK_PSTATE) != 0)
> #define instruction_pointer(regs) ((regs)->psw.addr & PSW_ADDR_INSN)
> #define user_stack_pointer(regs)((regs)->gprs[15])
> #define regs_return_value(regs)((regs)->gprs[2])
> #define profile_pc(regs) instruction_pointer(regs)
> -extern void show_regs(struct pt_regs * regs);
> +
> +int regs_query_register_offset(const char *name);
> +const char *regs_query_register_name(unsigned int offset);
> +unsigned long regs_get_argument_nth(struct pt_regs *regs, unsigned int n);

Hmm, the latest kprobe-tracer on -tip/master doesn't support
regs_get_argument_nth() anymore, because the function ABI
strongly depends on each function interface, compile option
etc. So I removed it (14640106f243a3b29944d7198569090fa6546f2d
and aa5add93e92019018e905146f8c3d3f8e3c08300).

Yeah, those patches are still on -tip tree. Since I'm working on
-tip/master for kprobe-tracer etc., please work on -tip tree.

Thank you!

--
Masami Hiramatsu

Software Engineer
Hitachi Computer Products (America), Inc.
Software Solutions Division

e-mail: mhiramat@xxxxxxxxxx

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/