Tony Breeds e47ad3aa85 CI: Add a tool for displaying CPU flags and QEMU version
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
2025-03-20 16:19:25 +00:00

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