[libvirt] [PATCH] qemu: Set arch to i686 if qemu-system-i386 is found

If we can't probe the architecture from QMP we parse the architecture from the qemu binaries name. This results in the architecture being i386 instead of i686 which then results in QEMU_CAPS_PCI_MULTIBUS being unset which gives a broken qemu command line. This probably didn't show up earlier since most of the time there's also a /usr/bin/qemu around which results in i686 capabilities. --- src/qemu/qemu_capabilities.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 7c391b3..e897f86 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -2055,6 +2055,8 @@ qemuCapsInitHelp(qemuCapsPtr caps) /* For historical compat we use 'itanium' as arch name */ if (STREQ(tmp, "ia64")) tmp = "itanium"; + else if (STREQ(tmp, "i386")) + tmp = "i686"; } else { uname_normalize(&ut); tmp = ut.machine; -- 1.7.10.4

On 10/18/2012 05:24 PM, Guido Günther wrote:
If we can't probe the architecture from QMP we parse the architecture from the qemu binaries name. This results in the architecture being i386 instead of i686 which then results in QEMU_CAPS_PCI_MULTIBUS being unset which gives a broken qemu command line.
This probably didn't show up earlier since most of the time there's also a /usr/bin/qemu around which results in i686 capabilities. --- src/qemu/qemu_capabilities.c | 2 ++ 1 file changed, 2 insertions(+)
ACK.
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 7c391b3..e897f86 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -2055,6 +2055,8 @@ qemuCapsInitHelp(qemuCapsPtr caps) /* For historical compat we use 'itanium' as arch name */ if (STREQ(tmp, "ia64")) tmp = "itanium"; + else if (STREQ(tmp, "i386")) + tmp = "i686"; } else { uname_normalize(&ut); tmp = ut.machine;
-- Eric Blake eblake@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org

On Thu, Oct 18, 2012 at 09:34:17PM -0600, Eric Blake wrote:
On 10/18/2012 05:24 PM, Guido Günther wrote:
If we can't probe the architecture from QMP we parse the architecture from the qemu binaries name. This results in the architecture being i386 instead of i686 which then results in QEMU_CAPS_PCI_MULTIBUS being unset which gives a broken qemu command line.
This probably didn't show up earlier since most of the time there's also a /usr/bin/qemu around which results in i686 capabilities. --- src/qemu/qemu_capabilities.c | 2 ++ 1 file changed, 2 insertions(+)
ACK.
Pushed. Thanks. -- Guido
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 7c391b3..e897f86 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -2055,6 +2055,8 @@ qemuCapsInitHelp(qemuCapsPtr caps) /* For historical compat we use 'itanium' as arch name */ if (STREQ(tmp, "ia64")) tmp = "itanium"; + else if (STREQ(tmp, "i386")) + tmp = "i686"; } else { uname_normalize(&ut); tmp = ut.machine;
-- Eric Blake eblake@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
participants (2)
-
Eric Blake
-
Guido Günther