Information about what architectures support what virtualization
features is encoded in the qemu spec file.
As an example, only a subset of architectures support qemu at all.
A different subset support KVM hardware acceleration. To find out
which you'd better be an expert at decoding RPM macros:
https://src.fedoraproject.org/rpms/qemu/blob/master/f/qemu.spec
libvirt.spec duplicates this information (arches_qemu_kvm):
https://src.fedoraproject.org/rpms/libvirt/blob/master/f/libvirt.spec
libguestfs.spec will need to duplicate this too because we will need
to ExcludeArch riscv64 until libvirt-daemon-kvm support is added. At
least cockpit, gnome-boxes also need libvirt-daemon-kvm, so I guess
they will need the same information.
For OCaml we successfully tackled a similar problem by adding a new
standalone package called ocaml-srpm-macros which defines what
architectures support what features:
https://src.fedoraproject.org/rpms/ocaml-srpm-macros/blob/master/f/macros...
Note in this case it is a new top level, standalone package that
redhat-rpm-config depends on. A simpler way to do this would be to
have qemu itself provide the /etc/rpm/macros.d/macros.qemu file.
What do you think?
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
libguestfs lets you edit virtual machines. Supports shell scripting,
bindings from many languages.
http://libguestfs.org