cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

cpupower-completion.sh (3503B)


      1# -*- shell-script -*-
      2# bash completion script for cpupower
      3# Taken from git.git's completion script.
      4
      5_cpupower_commands="frequency-info frequency-set idle-info idle-set set info monitor"
      6
      7_frequency_info ()
      8{
      9	local flags="-f -w -l -d -p -g -a -s -y -o -m -n --freq --hwfreq --hwlimits --driver --policy --governors --related-cpus --affected-cpus --stats --latency --proc --human --no-rounding"
     10	local prev="${COMP_WORDS[COMP_CWORD-1]}"
     11	local cur="${COMP_WORDS[COMP_CWORD]}"
     12	case "$prev" in
     13		frequency-info) COMPREPLY=($(compgen -W "$flags" -- "$cur")) ;;
     14	esac
     15}
     16
     17_frequency_set ()
     18{
     19	local flags="-f -g --freq --governor -d --min -u --max -r --related"
     20	local prev="${COMP_WORDS[COMP_CWORD-1]}"
     21	local cur="${COMP_WORDS[COMP_CWORD]}"
     22	case "$prev" in
     23		-f| --freq | -d | --min | -u | --max)
     24		if [ -d /sys/devices/system/cpu/cpufreq/ ] ; then
     25			COMPREPLY=($(compgen -W '$(cat $(ls -d /sys/devices/system/cpu/cpufreq/policy* | head -1)/scaling_available_frequencies)' -- "$cur"))
     26		fi ;;
     27		-g| --governor)
     28		if [ -d /sys/devices/system/cpu/cpufreq/ ] ; then
     29			COMPREPLY=($(compgen -W '$(cat $(ls -d /sys/devices/system/cpu/cpufreq/policy* | head -1)/scaling_available_governors)' -- "$cur"))
     30		fi;;
     31		frequency-set) COMPREPLY=($(compgen -W "$flags" -- "$cur")) ;;
     32	esac
     33}
     34
     35_idle_info()
     36{
     37	local flags="-f --silent"
     38	local prev="${COMP_WORDS[COMP_CWORD-1]}"
     39	local cur="${COMP_WORDS[COMP_CWORD]}"
     40	case "$prev" in
     41		idle-info) COMPREPLY=($(compgen -W "$flags" -- "$cur")) ;;
     42	esac
     43}
     44
     45_idle_set()
     46{
     47	local flags="-d --disable -e --enable -D --disable-by-latency -E --enable-all"
     48	local prev="${COMP_WORDS[COMP_CWORD-1]}"
     49	local cur="${COMP_WORDS[COMP_CWORD]}"
     50	case "$prev" in
     51		idle-set) COMPREPLY=($(compgen -W "$flags" -- "$cur")) ;;
     52	esac
     53}
     54
     55_set()
     56{
     57	local flags="--perf-bias, -b"
     58	local prev="${COMP_WORDS[COMP_CWORD-1]}"
     59	local cur="${COMP_WORDS[COMP_CWORD]}"
     60	case "$prev" in
     61		set) COMPREPLY=($(compgen -W "$flags" -- "$cur")) ;;
     62	esac
     63}
     64
     65_monitor()
     66{
     67	local flags="-l -m -i -c -v"
     68	local prev="${COMP_WORDS[COMP_CWORD-1]}"
     69	local cur="${COMP_WORDS[COMP_CWORD]}"
     70	case "$prev" in
     71		monitor) COMPREPLY=($(compgen -W "$flags" -- "$cur")) ;;
     72	esac
     73}
     74
     75_taskset()
     76{
     77	local prev_to_prev="${COMP_WORDS[COMP_CWORD-2]}"
     78	local prev="${COMP_WORDS[COMP_CWORD-1]}"
     79	local cur="${COMP_WORDS[COMP_CWORD]}"
     80	case "$prev_to_prev" in
     81		-c|--cpu) COMPREPLY=($(compgen -W "$_cpupower_commands" -- "$cur")) ;;
     82	esac
     83	case "$prev" in
     84		frequency-info) _frequency_info ;;
     85		frequency-set) _frequency_set ;;
     86		idle-info) _idle_info ;;
     87		idle-set) _idle_set ;;
     88		set) _set ;;
     89		monitor) _monitor ;;
     90	esac
     91
     92}
     93
     94_cpupower ()
     95{
     96	local i
     97	local c=1
     98	local command
     99
    100	while test $c -lt $COMP_CWORD; do
    101		if test $c == 1; then
    102			command="${COMP_WORDS[c]}"
    103		fi
    104		c=$((++c))
    105	done
    106
    107	# Complete name of subcommand if the user has not finished typing it yet.
    108	if test $c -eq $COMP_CWORD -a -z "$command"; then
    109		COMPREPLY=($(compgen -W "help -v --version -c --cpu $_cpupower_commands" -- "${COMP_WORDS[COMP_CWORD]}"))
    110		return
    111	fi
    112
    113	# Complete arguments to subcommands.
    114	case "$command" in
    115		-v|--version) return ;;
    116		-c|--cpu) _taskset ;;
    117		help) COMPREPLY=($(compgen -W "$_cpupower_commands" -- "${COMP_WORDS[COMP_CWORD]}")) ;;
    118		frequency-info) _frequency_info ;;
    119		frequency-set) _frequency_set ;;
    120		idle-info) _idle_info ;;
    121		idle-set) _idle_set ;;
    122		set) _set ;;
    123		monitor) _monitor ;;
    124	esac
    125}
    126
    127complete -o bashdefault -o default -F _cpupower cpupower 2>/dev/null \
    128    || complete -o default -F _cpupower cpupower