aboutsummaryrefslogtreecommitdiff
path: root/etc/machine.sh
blob: b57f526794f3dba47d546c02a47d35a436fee655 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/bin/sh
set -eu

online_governors() {
  FOUND=""
  for cpu in "/sys/devices/system/cpu/cpu"[0-9]* ; do
    if grep -vq '^1$' "$cpu/online" 2>/dev/null; then
      continue
    fi
    if [ ! -e "$cpu/cpufreq" ]; then
      continue
    fi
    cat "$cpu/cpufreq/scaling_governor"
    FOUND=1
  done
  if [ -z "$FOUND" ]; then
    echo "nocpufreq_support"
  fi
}

printf "$(hostname)"
printf -
grep -q '[^0-9]' /sys/devices/system/cpu/cpu[0-9]*/topology/thread_siblings_list && printf ht || printf noht
printf -
if [ -f /sys/devices/system/cpu/intel_pstate/no_turbo ]; then
  grep -q 1 /sys/devices/system/cpu/intel_pstate/no_turbo && printf notb || printf tb
else
  printf notb_support
fi
printf -
if [ -f /sys/class/power_supply/AC/online ]; then
  grep -q 1 /sys/class/power_supply/AC/online && printf ac || printf noac
else
  printf nops
fi
printf -
printf "$(echo -n "$(online_governors | uniq)" | tr '\n' '_')"
printf -
printf "$(gcc -march=native -Q --help=target|grep march | cut -d= -f2 | grep -ow '\S*')"
printf '\n'