• Tiezhu Yang's avatar
    LoongArch: Add kprobes on ftrace support · 09e679c2
    Tiezhu Yang authored
    Add kprobe_ftrace_handler() and arch_prepare_kprobe_ftrace() to support
    kprobes on ftrace, the code is similar with x86 and riscv.
    
    Here is a simple example:
    
      # echo 'p:myprobe kernel_clone' > /sys/kernel/debug/tracing/kprobe_events
      # echo 'r:myretprobe kernel_clone $retval' >> /sys/kernel/debug/tracing/kprobe_events
      # echo 1 > /sys/kernel/debug/tracing/events/kprobes/myprobe/enable
      # echo 1 > /sys/kernel/debug/tracing/events/kprobes/myretprobe/enable
      # echo 1 > /sys/kernel/debug/tracing/tracing_on
      # cat /sys/kernel/debug/tracing/trace
      # tracer: nop
      #
      # entries-in-buffer/entries-written: 2/2   #P:4
      #
      #                                _-----=> irqs-off/BH-disabled
      #                               / _----=> need-resched
      #                              | / _---=> hardirq/softirq
      #                              || / _--=> preempt-depth
      #                              ||| / _-=> migrate-disable
      #                              |||| /     delay
      #           TASK-PID     CPU#  |||||  TIMESTAMP  FUNCTION
      #              | |         |   |||||     |         |
                  bash-488     [002] .....  2041.190681: myprobe: (kernel_clone+0x0/0x40c)
                  bash-488     [002] .....  2041.190788: myretprobe: (__do_sys_clone+0x84/0xb8 <- kernel_clone) arg1=0x200
    Tested-by: default avatarJeff Xie <xiehuan09@gmail.com>
    Signed-off-by: default avatarTiezhu Yang <yangtiezhu@loongson.cn>
    Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
    09e679c2
Kconfig 16.5 KB