mirror of
https://github.com/ARM-software/devlib.git
synced 2025-09-19 10:21:55 +01:00
Merge pull request #15 from derkling/add_shutils_support
Add shutils support
This commit is contained in:
71
devlib/bin/scripts/shutils.in
Executable file
71
devlib/bin/scripts/shutils.in
Executable file
@@ -0,0 +1,71 @@
|
||||
#!__DEVLIB_SHELL__
|
||||
|
||||
CMD=$1
|
||||
shift
|
||||
|
||||
BUSYBOX=${BUSYBOX:-__DEVLIB_BUSYBOX__}
|
||||
GREP=${GREP:-$BUSYBOX grep}
|
||||
SED=${SED:-$BUSYBOX sed}
|
||||
|
||||
################################################################################
|
||||
# CPUFrequency Utility Functions
|
||||
################################################################################
|
||||
|
||||
cpufreq_set_all_frequencies() {
|
||||
FREQ=$1
|
||||
for CPU in /sys/devices/system/cpu/cpu[0-9]*; do
|
||||
echo $FREQ > $CPU/cpufreq/scaling_cur_freq
|
||||
done
|
||||
}
|
||||
|
||||
cpufreq_get_all_frequencies() {
|
||||
$GREP '' /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq | \
|
||||
$SED -e 's|/sys/devices/system/cpu/cpu||' -e 's|/cpufreq/scaling_cur_freq:| |'
|
||||
}
|
||||
|
||||
cpufreq_set_all_governors() {
|
||||
GOV=$1
|
||||
for CPU in /sys/devices/system/cpu/cpu[0-9]*; do
|
||||
echo $GOV > $CPU/cpufreq/scaling_governor
|
||||
done
|
||||
}
|
||||
|
||||
cpufreq_get_all_governors() {
|
||||
$GREP '' /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor | \
|
||||
$SED -e 's|/sys/devices/system/cpu/cpu||' -e 's|/cpufreq/scaling_governor:| |'
|
||||
}
|
||||
|
||||
cpufreq_trace_all_frequencies() {
|
||||
FREQS=$(cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq)
|
||||
CPU=0; for F in $FREQS; do
|
||||
echo "cpu_frequency: state=$F cpu_id=$CPU" > /sys/kernel/debug/tracing/trace_marker
|
||||
CPU=$((CPU + 1))
|
||||
done
|
||||
}
|
||||
|
||||
################################################################################
|
||||
# Main Function Dispatcher
|
||||
################################################################################
|
||||
|
||||
case $CMD in
|
||||
cpufreq_set_all_frequencies)
|
||||
cpufreq_set_all_frequencies $*
|
||||
;;
|
||||
cpufreq_get_all_frequencies)
|
||||
cpufreq_get_all_frequencies
|
||||
;;
|
||||
cpufreq_set_all_governors)
|
||||
cpufreq_set_all_governors $*
|
||||
;;
|
||||
cpufreq_get_all_governors)
|
||||
cpufreq_get_all_governors
|
||||
;;
|
||||
cpufreq_trace_all_frequencies)
|
||||
cpufreq_trace_all_frequencies $*
|
||||
;;
|
||||
*)
|
||||
echo "Command [$CMD] not supported"
|
||||
exit -1
|
||||
esac
|
||||
|
||||
# vim: tabstop=4 shiftwidth=4
|
Reference in New Issue
Block a user