#!/bin/bash# SPDX-License-Identifier: GPL-2.0## CPU helpers# protect against multiple inclusionif [ $FILE_CPU ]; then return 0else FILE_CPU=DONEfisource cpufreq.shfor_each_cpu(){ cpus=$(ls $CPUROOT | grep "cpu[0-9].*") for cpu in $cpus; do $@ $cpu done}for_each_non_boot_cpu(){ cpus=$(ls $CPUROOT | grep "cpu[1-9].*") for cpu in $cpus; do $@ $cpu done}#$1: cpuoffline_cpu(){ printf "Offline $1\n" echo 0 > $CPUROOT/$1/online}#$1: cpuonline_cpu(){ printf "Online $1\n" echo 1 > $CPUROOT/$1/online}#$1: cpureboot_cpu(){ offline_cpu $1 online_cpu $1}# Reboot CPUs# param: number of times we want to run the loopreboot_cpus(){ printf "** Test: Running ${FUNCNAME[0]} for $1 loops **\n\n" for i in `seq 1 $1`; do for_each_non_boot_cpu offline_cpu for_each_non_boot_cpu online_cpu printf "\n" done printf "\n%s\n\n" "------------------------------------------------"}# Prints warning for all CPUs with missing cpufreq directoryprint_unmanaged_cpus(){ for_each_cpu cpu_should_have_cpufreq_directory}# Counts CPUs with cpufreq directoriescount_cpufreq_managed_cpus(){ count=0; for cpu in `ls $CPUROOT | grep "cpu[0-9].*"`; do if [ -d $CPUROOT/$cpu/cpufreq ]; then let count=count+1; fi done echo $count;}
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0
#
# CPU helpers
# protect against multiple inclusion
if [ $FILE_CPU ]; then
return 0
else
FILE_CPU=DONE
fi
source cpufreq.sh
for_each_cpu()
{
cpus=$(ls $CPUROOT | grep "cpu[0-9].*")
for cpu in $cpus; do
$@ $cpu
done
}
for_each_non_boot_cpu()
{
cpus=$(ls $CPUROOT | grep "cpu[1-9].*")
for cpu in $cpus; do
$@ $cpu
done
}
#$1: cpu
offline_cpu()
{
printf "Offline $1\n"
echo 0 > $CPUROOT/$1/online
}
#$1: cpu
online_cpu()
{
printf "Online $1\n"
echo 1 > $CPUROOT/$1/online
}
#$1: cpu
reboot_cpu()
{
offline_cpu $1
online_cpu $1
}
# Reboot CPUs
# param: number of times we want to run the loop
reboot_cpus()
{
printf "** Test: Running ${FUNCNAME[0]} for $1 loops **\n\n"
for i in `seq 1 $1`; do
for_each_non_boot_cpu offline_cpu
for_each_non_boot_cpu online_cpu
printf "\n"
done
printf "\n%s\n\n" "------------------------------------------------"
}
# Prints warning for all CPUs with missing cpufreq directory
print_unmanaged_cpus()
{
for_each_cpu cpu_should_have_cpufreq_directory
}
# Counts CPUs with cpufreq directories
count_cpufreq_managed_cpus()
{
count=0;
for cpu in `ls $CPUROOT | grep "cpu[0-9].*"`; do
if [ -d $CPUROOT/$cpu/cpufreq ]; then
let count=count+1;
fi
done
echo $count;
}