<div dir="ltr"><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Dec 21, 2012 at 9:38 PM, Ján Tomko <span dir="ltr"><<a href="mailto:jtomko@redhat.com" target="_blank">jtomko@redhat.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">In commit c4bbaaf8, caps->arch was checked uninitialized, rendering the<br>
whole check useless.<br>
<br>
This patch moves the conditional setting of QEMU_CAPS_NO_ACPI to<br>
qemuCapsInitQMP, and removes the no longer needed exception for S390.<br>
<br></blockquote><div><br>Will it get QEMU_CAPS_NO_ACPI capability by QMP if S390 doesn't support ACPI?<br></div><div>I test it on PPC, it won't get this capability by QMP.<br><br></div><div>Thanks. <br></div><div>
<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
It also clears the flag for all non-x86 archs instead of just S390 in<br>
qemuCapsInitHelp.<br>
---<br>
src/qemu/qemu_capabilities.c | 29 ++++++++---------------------<br>
1 files changed, 8 insertions(+), 21 deletions(-)<br>
<br>
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c<br>
index 167cdb2..e0d0c2a 100644<br>
--- a/src/qemu/qemu_capabilities.c<br>
+++ b/src/qemu/qemu_capabilities.c<br>
@@ -2175,13 +2175,11 @@ qemuCapsInitHelp(qemuCapsPtr caps, uid_t runUid, gid_t runGid)<br>
if (caps->arch == VIR_ARCH_X86_64 ||<br>
caps->arch == VIR_ARCH_I686) {<br>
qemuCapsSet(caps, QEMU_CAPS_PCI_MULTIBUS);<br>
- }<br>
-<br>
- /* S390 and probably other archs do not support no-acpi -<br>
- maybe the qemu option parsing should be re-thought. */<br>
- if (caps->arch == VIR_ARCH_S390 ||<br>
- caps->arch == VIR_ARCH_S390X)<br>
+ } else {<br>
+ /* -no-acpi is not supported on other archs<br>
+ * even if qemu reports it in -help */<br>
qemuCapsClear(caps, QEMU_CAPS_NO_ACPI);<br>
+ }<br>
<br>
/* qemuCapsExtractDeviceStr will only set additional caps if qemu<br>
* understands the 0.13.0+ notion of "-device driver,". */<br>
@@ -2260,13 +2258,6 @@ qemuCapsInitQMPBasic(qemuCapsPtr caps)<br>
qemuCapsSet(caps, QEMU_CAPS_DRIVE_CACHE_DIRECTSYNC);<br>
qemuCapsSet(caps, QEMU_CAPS_NO_SHUTDOWN);<br>
qemuCapsSet(caps, QEMU_CAPS_DRIVE_CACHE_UNSAFE);<br>
-<br>
- /* ACPI is only supported on x86, PPC or<br>
- * other platforms don't support it*/<br>
- if (caps->arch == VIR_ARCH_I686 ||<br>
- caps->arch == VIR_ARCH_X86_64)<br>
- qemuCapsSet(caps, QEMU_CAPS_NO_ACPI);<br>
-<br>
qemuCapsSet(caps, QEMU_CAPS_FSDEV_READONLY);<br>
qemuCapsSet(caps, QEMU_CAPS_VIRTIO_BLK_SG_IO);<br>
qemuCapsSet(caps, QEMU_CAPS_DRIVE_COPY_ON_READ);<br>
@@ -2402,16 +2393,12 @@ qemuCapsInitQMP(qemuCapsPtr caps,<br>
}<br>
VIR_FREE(archstr);<br>
<br>
- /* Currently only x86_64 and i686 support PCI-multibus. */<br>
+ /* Currently only x86_64 and i686 support PCI-multibus and -no-acpi. */<br>
if (caps->arch == VIR_ARCH_X86_64 ||<br>
- caps->arch == VIR_ARCH_I686)<br>
+ caps->arch == VIR_ARCH_I686) {<br>
qemuCapsSet(caps, QEMU_CAPS_PCI_MULTIBUS);<br>
-<br>
- /* S390 and probably other archs do not support no-acpi -<br>
- maybe the qemu option parsing should be re-thought. */<br>
- if (caps->arch == VIR_ARCH_S390 ||<br>
- caps->arch == VIR_ARCH_S390X)<br>
- qemuCapsClear(caps, QEMU_CAPS_NO_ACPI);<br>
+ qemuCapsSet(caps, QEMU_CAPS_NO_ACPI);<br>
+ }<br>
<br>
if (qemuCapsProbeQMPCommands(caps, mon) < 0)<br>
goto cleanup;<br>
<span class="HOEnZb"><font color="#888888">--<br>
1.7.8.6<br>
<br>
--<br>
libvir-list mailing list<br>
<a href="mailto:libvir-list@redhat.com">libvir-list@redhat.com</a><br>
<a href="https://www.redhat.com/mailman/listinfo/libvir-list" target="_blank">https://www.redhat.com/mailman/listinfo/libvir-list</a><br>
</font></span></blockquote></div><br><br clear="all"><br>-- <br><div><br></div>Best Regards<div>-Li</div>
</div></div>