
As RHEL-10, and related OS projects (CentOS, RockyLinux, and AlmaLinux), need specific x86_84 machine levels, in this case x86_64-v3, It's helpful to see which CPUFlags are present in a given node and which version of QEMU is available. This adds a small tool to list the CPUFlags needed and those found. There are a few tools that will can do similar things but I didn't find one that covered what we need. Change-Id: Id8e4f679f6e781dce61d6ace151f3b639dc7edcc
35 lines
812 B
Bash
35 lines
812 B
Bash
#!/usr/bin/env bash
|
|
|
|
function report_cpu_flags() {
|
|
local flag
|
|
|
|
for flag; do
|
|
## Note, it's important to keep a trailing space
|
|
case " ${flags} " in
|
|
*" ${flag} "*)
|
|
echo " ${flag} Found"
|
|
;;
|
|
*)
|
|
echo " ${flag} NOT Found"
|
|
;;
|
|
esac
|
|
done
|
|
}
|
|
|
|
data=$(< /proc/cpuinfo)
|
|
flags=""
|
|
flags=$(grep "^flags[[:space:]]*:" <<< "${data}" | head -n 1)
|
|
flags="${flags#*:}"
|
|
flags="${flags## }"
|
|
|
|
echo "${flags}"
|
|
|
|
echo "x86_64-v1"
|
|
report_cpu_flags lm cmov cx8 fpu fxsr mmx syscall sse2
|
|
echo "x86_64-v2"
|
|
report_cpu_flags cx16 lahf_lm popcnt sse4_1 sse4_2 ssse3
|
|
echo "x86_64-v3"
|
|
report_cpu_flags avx avx2 bmi1 bmi2 f16c fma abm movbe xsave
|
|
echo "x86_64-v4"
|
|
report_cpu_flags avx512f avx512bw avx512cd avx512dq avx512vl
|