Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) # SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) clear_trace() { # reset trace output
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4)     echo > trace
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) disable_tracing() { # stop trace recording
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8)     echo 0 > tracing_on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) enable_tracing() { # start trace recording
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12)     echo 1 > tracing_on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) reset_tracer() { # reset the current tracer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16)     echo nop > current_tracer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) reset_trigger_file() {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20)     # remove action triggers first
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21)     grep -H ':on[^:]*(' $@ |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22)     while read line; do
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23)         cmd=`echo $line | cut -f2- -d: | cut -f1 -d"["`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) 	file=`echo $line | cut -f1 -d:`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) 	echo "!$cmd" >> $file
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26)     done
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27)     grep -Hv ^# $@ |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28)     while read line; do
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29)         cmd=`echo $line | cut -f2- -d: | cut -f1 -d"["`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) 	file=`echo $line | cut -f1 -d:`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) 	echo "!$cmd" > $file
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32)     done
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) reset_trigger() { # reset all current setting triggers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36)     if [ -d events/synthetic ]; then
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37)         reset_trigger_file events/synthetic/*/trigger
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38)     fi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39)     reset_trigger_file events/*/*/trigger
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) reset_events_filter() { # reset all current setting filters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43)     grep -v ^none events/*/*/filter |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44)     while read line; do
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) 	echo 0 > `echo $line | cut -f1 -d:`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46)     done
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) reset_ftrace_filter() { # reset all triggers in set_ftrace_filter
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50)     if [ ! -f set_ftrace_filter ]; then
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51)       return 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52)     fi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53)     echo > set_ftrace_filter
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54)     grep -v '^#' set_ftrace_filter | while read t; do
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) 	tr=`echo $t | cut -d: -f2`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) 	if [ "$tr" = "" ]; then
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) 	    continue
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 	fi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) 	if ! grep -q "$t" set_ftrace_filter; then
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) 		continue;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) 	fi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) 	name=`echo $t | cut -d: -f1 | cut -d' ' -f1`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) 	if [ $tr = "enable_event" -o $tr = "disable_event" ]; then
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) 	    tr=`echo $t | cut -d: -f2-4`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) 	    limit=`echo $t | cut -d: -f5`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) 	else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) 	    tr=`echo $t | cut -d: -f2`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) 	    limit=`echo $t | cut -d: -f3`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) 	fi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) 	if [ "$limit" != "unlimited" ]; then
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) 	    tr="$tr:$limit"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) 	fi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) 	echo "!$name:$tr" > set_ftrace_filter
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74)     done
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) disable_events() {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78)     echo 0 > events/enable
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) clear_synthetic_events() { # reset all current synthetic events
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82)     grep -v ^# synthetic_events |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83)     while read line; do
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84)         echo "!$line" >> synthetic_events
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85)     done
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) initialize_ftrace() { # Reset ftrace to initial-state
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) # As the initial state, ftrace will be set to nop tracer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) # no events, no triggers, no filters, no function filters,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) # no probes, and tracing on.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92)     disable_tracing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93)     reset_tracer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94)     reset_trigger
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95)     reset_events_filter
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96)     reset_ftrace_filter
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97)     disable_events
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98)     [ -f set_event_pid ] && echo > set_event_pid
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99)     [ -f set_ftrace_pid ] && echo > set_ftrace_pid
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100)     [ -f set_ftrace_notrace ] && echo > set_ftrace_notrace
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101)     [ -f set_graph_function ] && echo | tee set_graph_*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102)     [ -f stack_trace_filter ] && echo > stack_trace_filter
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103)     [ -f kprobe_events ] && echo > kprobe_events
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104)     [ -f uprobe_events ] && echo > uprobe_events
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105)     [ -f synthetic_events ] && echo > synthetic_events
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106)     [ -f snapshot ] && echo 0 > snapshot
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107)     clear_trace
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108)     enable_tracing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) }