From 1d7136f27bb842dde00a2ec0dc2943eb16588cb4 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 14 Aug 2013 15:25:17 +0100 Subject: [PATCH] launch: libvirt: Don't enable on TCG. It's fairly pointless to do this with TCG, since all we would be doing is emulating a more complicated processor slowly. Also it may be the cause of subtle problems we see during testing. This updates commit 6f76fdb41eb6bd124fbc3d084f5c2a3371b37d9b. (cherry picked from commit 46763bcc0b9d04ada367f29ca07bd3e11e264a8e) --- src/launch-libvirt.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/src/launch-libvirt.c b/src/launch-libvirt.c index e6f6b0b..ff3d720 100644 --- a/src/launch-libvirt.c +++ b/src/launch-libvirt.c @@ -823,17 +823,21 @@ construct_libvirt_xml_cpu (guestfs_h *g, /* It is faster to pass the CPU host model to the appliance, * allowing maximum speed for things like checksums, encryption. * Note this may cause problems on some CPUs. See: RHBZ#870071. + * Only do this with KVM. It is broken in subtle ways on TCG, and + * fairly pointless anyway. */ - XMLERROR (-1, xmlTextWriterStartElement (xo, BAD_CAST "cpu")); - XMLERROR (-1, - xmlTextWriterWriteAttribute (xo, BAD_CAST "mode", - BAD_CAST "host-model")); - XMLERROR (-1, xmlTextWriterStartElement (xo, BAD_CAST "model")); - XMLERROR (-1, - xmlTextWriterWriteAttribute (xo, BAD_CAST "fallback", - BAD_CAST "allow")); - XMLERROR (-1, xmlTextWriterEndElement (xo)); - XMLERROR (-1, xmlTextWriterEndElement (xo)); + if (params->is_kvm) { + XMLERROR (-1, xmlTextWriterStartElement (xo, BAD_CAST "cpu")); + XMLERROR (-1, + xmlTextWriterWriteAttribute (xo, BAD_CAST "mode", + BAD_CAST "host-model")); + XMLERROR (-1, xmlTextWriterStartElement (xo, BAD_CAST "model")); + XMLERROR (-1, + xmlTextWriterWriteAttribute (xo, BAD_CAST "fallback", + BAD_CAST "allow")); + XMLERROR (-1, xmlTextWriterEndElement (xo)); + XMLERROR (-1, xmlTextWriterEndElement (xo)); + } XMLERROR (-1, xmlTextWriterStartElement (xo, BAD_CAST "vcpu")); XMLERROR (-1, xmlTextWriterWriteFormatString (xo, "%d", g->smp)); -- 1.8.3.1