This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: Regarding systemtap support for AArch64
- From: Sandeepa Prabhu <sandeepa dot prabhu at linaro dot org>
- To: William Cohen <wcohen at redhat dot com>
- Cc: Masami Hiramatsu <masami dot hiramatsu dot pt at hitachi dot com>, systemtap at sourceware dot org, Deepak Saxena <dsaxena at linaro dot org>
- Date: Wed, 2 Oct 2013 09:47:54 +0530
- Subject: Re: Regarding systemtap support for AArch64
- Authentication-results: sourceware.org; auth=none
- References: <CA+b37P3S4adOJe+S1RWKVDEzeVLG2Oa4EFqYgeH4cU6SNmvtEQ at mail dot gmail dot com> <1380011243 dot 3958 dot 11921 dot camel at bordewijk dot wildebeest dot org> <52432F3B dot 4020503 at redhat dot com> <CA+b37P13t44vQfS3RwxkCowgqYBAHyUHCNJQtGqxmrqnt_rw6Q at mail dot gmail dot com> <5248E391 dot 3060306 at hitachi dot com> <52496A50 dot 9090904 at redhat dot com>
Hi all,
I have uploaded ARM64 kprobes work on Linaro public git:
git://git.linaro.org/people/sandeepa.prabhu/linux-aarch64.git Branch:
kprobes_devel_v8. Patches are published on LAKML too. This is based
on v8 upstream kernel (3.12-rc1) right now, and works with linaro
boot-wrapper and fast model setup, though, not sure what it takes to
build for fedora.
Will,
Is aarch64 fc19 port public? I am interested in using fc on v8 fast
model, are there instructions about how to get the packages and
build/run them?
Thanks,
Sandeepa
On 30 September 2013 17:40, William Cohen <wcohen@redhat.com> wrote:
> On 09/29/2013 10:36 PM, Masami Hiramatsu wrote:
>> (2013/09/26 12:13), Sandeepa Prabhu wrote:
>>> Hi Will, Masami,
>>>
>>> Nice to hear from you, I am using ARM fast model/Foundation model with
>>> ARM v8 upstream kernel and a Linaro minimal busybox based ramdisk,
>>> testing with loadable modules for now (so don't have dependency on
>>> elfutils or GCC autoconf etc)
>>>
>>> Would you be interested to use Linaro kprobe work as a base for
>>> development and validation of systemtap-aarch64? We are happy to
>>> share a public git repo where 'upstream' kernel can be built with
>>> kprobes support, which systemtap team can use for verification. I can
>>> do this soon as I have most things working locally, except for
>>> kretprobes and 'boosting' support(systemtap can be run without these I
>>> believe).
>>
>> Of course I'm interested in that. Actually I've tried to boot up Linaro's
>> Aarch64 kernel on a simulator which ARM is distributing.
>> As far as I could see (at that time), aarch64 branch already has singlestep
>> implementation for debugging, but no primitive kprobes. And we need to know
>> the aarch64 ISA for decoding the binary to find the instructions which will
>> be affected by the out-of-line execution, like relative jump, call etc.
>>
>>> Looking forward for a collaboration :-)
>>
>> Me too ;)
>>
>> Thanks!
>>
>
> Hi All,
>
> I am still trying to get a better kernel running on the aarch64 simulator. Currently the simulator is running and Fedora 19 image and Linux 3.9+ kernel, but I don't have any of the needed kernel-devel stuff for that kernel. As a work around I am using the aarch64 kernel rpms and attempting to build systemtap instrumentation modules using the following rpms:
>
> kernel-3.12.0-0.rc0.git20.1.x2.fc19.aarch64
> kernel-devel-3.12.0-0.rc0.git20.1.x2.fc19.aarch64
>
> These kernel rpms are cross compiled so some script executables are for AMD64 rather than aarch64. I had to go through and recompile the script executables. However, I was able to get an instrumentation modules with the current git checkout for simple hello world:
>
> $ sudo ../install/bin/stap -v -m hello -r 3.12.0-0.rc0.git20.1.x2.fc19.aarch64 -p4 -k -e 'probe begin {printf("hello world\n")}'
>
> Pass 1: parsed user script and 92 library script(s) using 38784virt/30080res/5504shr/23360data kb, in 4730usr/30sys/4763real ms.
> Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) using 39296virt/32000res/5952shr/23872data kb, in 80usr/0sys/81real ms.
> Pass 3: translated to C into "/tmp/stapzSdKrS/hello_src.c" using 39296virt/32000res/5952shr/23872data kb, in 10usr/0sys/7real ms.
> hello.ko
> Pass 4: compiled C into "hello.ko" in 114710usr/3620sys/120572real ms.
> Keeping temporary directory "/tmp/stapzSdKrS"
>
> There are still other things that need to be fixed in systemtap for aarch64. However, if you are feeling adventurous you might try the current systemtap git checkout on aarch64.
>
> -Will