This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Role of svc_entry macro with 64 bytes in kprobes/systemtap on ARM


Hi,

Currently Im working on "systemtap" and "kprobes".

My current work is to convert the kprobes in to loadable kernel
module(.ko) on arm architecture.

Converted module is able to run the examples in
"http://lxr.free-electrons.com/source/samples/kprobes/?a=arm";.

But few systemtap scripts like

1. https://sourceware.org/systemtap/SystemTap_Beginners_Guide/traceiosect.html
2. https://sourceware.org/systemtap/SystemTap_Beginners_Guide/mainsect-disk.html#disktop

producing kernel panics.

We don't want to recompile kernel. so CONFIG_KPROBES is not set.

Because CONFIG_KPROBES, In the following file

http://lxr.free-electrons.com/source/arch/arm/kernel/entry-armv.S?a=arm

#ifdef CONFIG_KPROBES
@ If a kprobe is about to simulate a "stmdb sp..." instruction,
@ it obviously needs free stack space which then will belong to
@ the saved context.
    svc_entry 64
#else
        svc_entry
#endif


svc_entry macro is not expanded with 64. I am not sure with
relationship between svc_entry macro and kprobes.

Im getting problem exactly in
http://lxr.free-electrons.com/source/arch/arm/kernel/kprobes-common.c?a=arm#L246

Please share your knowledge.

Thanks and Regards
Jeyaram


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]