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. QEMU_CAPS_TCG_DISABLED is set via QMP command qom-list-types. Tobin Feldman-Fitzthum (5): add QEMU_CAPS_TCG_DISABLED and probe conditionally add virQEMUCapsGetVirtType convenience function add virQEMUCapsProbeQMPTCGState function to set QEMU_CAPS_TCG_DISABLED use new functions when probing Add second qom-list-types call to test data. src/qemu/qemu_capabilities.c | 81 +- src/qemu/qemu_capabilities.h | 3 + .../caps_2.10.0.aarch64.replies | 2699 ++- .../caps_2.10.0.ppc64.replies | 2799 +++- .../caps_2.10.0.s390x.replies | 1027 +- .../caps_2.10.0.x86_64.replies | 1708 +- .../caps_2.11.0.s390x.replies | 1063 +- .../caps_2.11.0.x86_64.replies | 1692 +- .../caps_2.12.0.aarch64.replies | 2912 +++- .../caps_2.12.0.ppc64.replies | 2947 +++- .../caps_2.12.0.s390x.replies | 1087 +- .../caps_2.12.0.x86_64.replies | 1767 +- .../caps_3.0.0.ppc64.replies | 2979 +++- .../caps_3.0.0.s390x.replies | 1117 +- .../caps_3.0.0.x86_64.replies | 1783 +- .../caps_3.1.0.ppc64.replies | 2999 +++- .../caps_3.1.0.x86_64.replies | 1803 +- .../caps_4.0.0.aarch64.replies | 3175 +++- .../caps_4.0.0.ppc64.replies | 3171 +++- .../caps_4.0.0.s390x.replies | 1259 +- .../caps_4.0.0.x86_64.replies | 1915 ++- .../caps_4.1.0.x86_64.replies | 2155 ++- .../caps_4.2.0.aarch64.replies | 3355 +++- .../caps_4.2.0.ppc64.replies | 3208 +++- .../caps_4.2.0.s390x.replies | 1264 +- .../caps_4.2.0.x86_64.replies | 2244 ++- .../caps_5.0.0.aarch64.replies | 3391 +++- .../caps_5.0.0.ppc64.replies | 13986 +++++++++------- .../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1214 +- .../caps_5.0.0.x86_64.replies | 2267 ++- 30 files changed, 64897 insertions(+), 8173 deletions(-) -- 2.20.1 (Apple Git-117)