A recurring task in libvirt is synchronizing the list of (x86) cpu features
with qemu. This is an error-prone and manual task as it relies on parsing
qemu c source code and therefore neccessarily lags behind qemu development.
The better solution would be if qemu and libvirt both got the cpu feature
information from a common source. libcpuinfo [1] wants to be that source, a
comprehensive, architecture agnostic database of cpu information, together
with some handy tooling, e.g. a library to access this database at run-time,
quering the host for capabilities, calculate baselines for different sets of
capabilities. libcpuinfo comes with c headers and contains python bindings.
This patch series prepares libvirt's x86 feature list to be automatically
generated from libcpuinfo data, but introduces no dependency on libcpuinfo
yet. Introducing that dependency to generate the feature list on compile time
or making use of libcpuinfo's more advanced features would be up to discussion
at a later date.
Note that libcpuinfo's feature database is not on par with libvirt yet and
to generate an identical version of x86_features.xml the data from
libcpuinfo's "wip" branch is required.
[1]
https://gitlab.com/twiederh/libcpuinfo
Tim Wiederhake (5):
cpu_map: Sort cpu features
cpu_map: Format register values uniformly
cpu_map: Format comments
cpu_map: Remove unused alias information
cpu_map: Generate x86 feature map from libcpuinfo
src/cpu_map/x86_features.py | 119 +++++++
src/cpu_map/x86_features.xml | 594 +++++++++++++++++------------------
2 files changed, 407 insertions(+), 306 deletions(-)
create mode 100755 src/cpu_map/x86_features.py
--
2.39.2