1#!/bin/sh 2# SPDX-License-Identifier: GPL-2.0 3# description: Kprobe event string type argument 4 5[ -f kprobe_events ] || exit_unsupported # this is configurable 6 7case `uname -m` in 8x86_64) 9 ARG1=%di 10;; 11i[3456]86) 12 ARG1=%ax 13;; 14aarch64) 15 ARG1=%x0 16;; 17arm*) 18 ARG1=%r0 19;; 20ppc64*) 21 ARG1=%r3 22;; 23ppc*) 24 ARG1=%r3 25;; 26*) 27 echo "Please implement other architecture here" 28 exit_untested 29esac 30 31: "Test get argument (1)" 32echo "p:testprobe tracefs_create_dir arg1=+0(${ARG1}):string" > kprobe_events 33echo 1 > events/kprobes/testprobe/enable 34echo "p:test _do_fork" >> kprobe_events 35grep -qe "testprobe.* arg1=\"test\"" trace 36 37echo 0 > events/kprobes/testprobe/enable 38: "Test get argument (2)" 39echo "p:testprobe tracefs_create_dir arg1=+0(${ARG1}):string arg2=+0(${ARG1}):string" > kprobe_events 40echo 1 > events/kprobes/testprobe/enable 41echo "p:test _do_fork" >> kprobe_events 42grep -qe "testprobe.* arg1=\"test\" arg2=\"test\"" trace 43 44