[libvirt PATCH v4 0/3] QEMU: support QEMU built without TCG

Tobin Feldman-Fitzthum tobin at linux.vnet.ibm.com
Wed Apr 22 21:50:41 UTC 2020

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

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)

More information about the libvir-list mailing list