This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: [PATCH 0/8 userland!] systemtap: Add initial support for ppc32
- From: Jim Keniston <jkenisto at us dot ibm dot com>
- To: avorontsov at ru dot mvista dot com, ananth at in dot ibm dot com
- Cc: systemtap at sourceware dot org, linuxppc-dev at ozlabs dot org
- Date: Tue, 01 Dec 2009 11:13:48 -0800
- Subject: Re: [PATCH 0/8 userland!] systemtap: Add initial support for ppc32
- References: <20091127223251.GA17065@oksana.dev.rtsoft.ru>
On Sat, 2009-11-28 at 01:32 +0300, Anton Vorontsov wrote:
> Hi all,
>
> Here are some patches that add systemtap support for ppc32 machines.
>
> This is all pretty straightforward, though I didn't test it much,
> only run few 'hello world' taps and decided that it's good enough. ;-)
>
> I plan to test it more thoughtfully sometime next week, and fix missing
> things (if any). But so far I'm interested in the feedback on this
> initial support.
>
> Thanks!
>
> p.s. I though it would be a good idea to cc linuxppc-dev. At least
> kexec-tools guys tend to do it as well.
I think one thing that got missed was completing the support for ppc32
in tapset/powerpc/registers.stp (functions *_arg and [u_]register). A
lot of the 32-bit code is already in place, having been copied over from
the x86_64 version, but the _reg_offsets[] array and
_stp_get_register_by_offset() work only for 64-bit contexts. A comment
at the end of _stp_register_regs() suggests that you can get the correct
32-bit offsets by dividing the 64-bit offsets by 2; compare pt_regs
structs to verify.
I'm cc-ing Ananth, who did the original ppc64 work on this file.
The *_arg and [u_]register functions are described in the stapfuncs man
page (but not in the Language Reference doc).
testsuite/systemtap.context/num_args.tcl tests some of these functions
(or used to, at least).
Jim Keniston