On Tue, Mar 12, 2013 at 13:34:07 +0100, Viktor Mihajlovski wrote:
On 03/04/2013 07:47 AM, Li Zhang wrote:
> From: Li Zhang <zhlcindy(a)linux.vnet.ibm.com>
>
> Currently, -device xxx still can't work well for ppc64 platform.
> It's better use legacy USB option with default for ppc64.
>
> This patch is to legacy USB option with default for ppc64.
>
> Signed-off-by: Li Zhang <zhlcindy(a)linux.vnet.ibm.com>
> ---
> src/qemu/qemu_command.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
> index 1c9bfc9..618dfb1 100644
> --- a/src/qemu/qemu_command.c
> +++ b/src/qemu/qemu_command.c
> @@ -5783,7 +5783,8 @@ qemuBuildCommandLine(virConnectPtr conn,
> }
> } else if (cont->type == VIR_DOMAIN_CONTROLLER_TYPE_USB
&&
> cont->model == -1 &&
> - !virQEMUCapsGet(qemuCaps, QEMU_CAPS_PIIX3_USB_UHCI)) {
> + (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_PIIX3_USB_UHCI) ||
> + def->os.arch == VIR_ARCH_PPC64)) {
> if (usblegacy) {
> virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
"%s",
> _("Multiple legacy USB controllers are
"
>
For what it is worth: if QEMU's support for -device <usbcontroller> is
broken on PPC, it seems perfectly OK to add special handling.
The patch you have posted will serve the purpose and I do support it.
Another approach would be to clear the problematic capabilities in
qemu_capabilities.c, e.g. in virQEMUCapsInitQMP, which might be
conceptually cleaner. Maybe a libvirt committer wants to comment...
Right, masking the capability from qemuCaps just after it's been probed
is the right approach. That way, all code paths relying on that
capability will stop using it automatically.
Jirka