]> xenbits.xensource.com Git - libvirt.git/commitdiff
Fix arch detection for qemu-system-i386 with QMP
authorDaniel P. Berrange <berrange@redhat.com>
Wed, 31 Oct 2012 16:49:13 +0000 (16:49 +0000)
committerDaniel P. Berrange <berrange@redhat.com>
Thu, 1 Nov 2012 09:16:37 +0000 (09:16 +0000)
QEMU uses 'i386' for its 32-bit x86 architecture, but libvirt
wants that to be 'i686', so we must fix it up

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
src/qemu/qemu_capabilities.c

index 9f151622d654a8f531bdc8336a93e84f2f9be575..271273cba34a04874885a5efe13383c59f27c95c 100644 (file)
@@ -2327,6 +2327,14 @@ qemuCapsInitQMP(qemuCapsPtr caps,
     if (!(caps->arch = qemuMonitorGetTargetArch(mon)))
         goto cleanup;
 
+    /* Map i386, i486, i586 to i686.  */
+    if (caps->arch[0] == 'i' &&
+        caps->arch[1] != '\0' &&
+        caps->arch[2] == '8' &&
+        caps->arch[3] == '6' &&
+        caps->arch[4] == '\0')
+        caps->arch[1] = '6';
+
     /* Currently only x86_64 and i686 support PCI-multibus. */
     if (STREQLEN(caps->arch, "x86_64", 6) ||
         STREQLEN(caps->arch, "i686", 4)) {