Rebased and resent from about a month ago.
Since version 2.10, QEMU can be built without TCG. This patch
adds capabillity QEMU_CAPS_TCG_DISABLED that allows libvirt
to use a QEMU built without TCG.
Rather than create a capability that is set whenever TCG is
enabled (almost always), QEMU_CAPS_TCG_DISABLED is set only
when the TCG is not available. This avoids some issues
with backwards compatability.
For a domain that was created using QEMU >= 2.10 with KVM,
there is no information in the cached XML file that says
whether or not TCG was enabled. Versions of QEMU older
than 2.10 do not have a QMP interface for determining
whether QEMU is available. Since QEMU_CAPS_TCG_DISABLED
is set only when TCG is disabled, we do not have to do any
extra work to infer an appropriate value in either of these
cases.
New in vesion 4:
Move virQEMUCapsProbeQMPTCGState into
virQEMUCapsProbeQMPDevices so that we can reuse the qom call.
Rename, virQEMUCapsProbeQMPDevices to virQEMUProbeQMPTypes.
All patches compile.
Tobin Feldman-Fitzthum (3):
add QEMU_CAPS_TCG_DISABLED and probe conditionally
add virQEMUCapsGetVirtType convenience function
add virQEMUCapsProbeQMPTCGState function to set QEMU_CAPS_TCG_DISABLED
src/qemu/qemu_capabilities.c | 81 +++++++++++++++++++++++++++---------
src/qemu/qemu_capabilities.h | 3 ++
2 files changed, 65 insertions(+), 19 deletions(-)
--
2.20.1 (Apple Git-117)