[libvirt] [PATCH] qemu: Fix specifying char devs for PPC

Hong-Hua.Yin at freescale.com Hong-Hua.Yin at freescale.com
Fri May 16 00:38:26 UTC 2014


Ping.

This is a patch similar with ARM platforms.
http://libvirt.org/git/?p=libvirt.git;a=commitdiff;h=3a2beaee1d50dc968171c584ec2edcfdcb8fadde

Right now on ppce500, chardev is not supported for the 
serial console. So it uses the the legacy -serial option.

Best Regards,
Olivia

> -----Original Message-----
> From: Olivia Yin [mailto:Hong-Hua.Yin at freescale.com]
> Sent: Wednesday, May 14, 2014 6:47 PM
> To: libvir-list at redhat.com
> Cc: Yin Olivia-R63875
> Subject: [PATCH] qemu: Fix specifying char devs for PPC
> 
> QEMU ppce500 board uses the old style -serial options.
> 
> Other PPC boards don't give any way to explicitly wire in a -chardev except
> pseries which uses -device spapr-vty with -chardev.
> 
> ---
>  src/qemu/qemu_capabilities.c | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
> index b491f58..fe5dd19 100644
> --- a/src/qemu/qemu_capabilities.c
> +++ b/src/qemu/qemu_capabilities.c
> @@ -3460,13 +3460,17 @@ virQEMUCapsSupportsChardev(virDomainDefPtr def,
>          !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE))
>          return false;
> 
> -    if ((def->os.arch != VIR_ARCH_ARMV7L) && (def->os.arch !=
> VIR_ARCH_AARCH64))
> +    if ((def->os.arch != VIR_ARCH_ARMV7L) && (def->os.arch !=
> VIR_ARCH_AARCH64)
> +	 && (def->os.arch != VIR_ARCH_PPC) && (def->os.arch !=
> +VIR_ARCH_PPC64))
>          return true;
> 
>      /* This may not be true for all ARM machine types, but at least
>       * the only supported non-virtio serial devices of vexpress and
> versatile
> -     * don't have the -chardev property wired up. */
> +     * don't have the -chardev property wired up.
> +     * For PPC machines, only pserial need -device spapr-vty with
> + -chardev */
>      return (chr->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_MMIO
> ||
>              (chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CONSOLE &&
> -             chr->targetType ==
> VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_VIRTIO));
> +             chr->targetType == VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_VIRTIO)
> ||
> +            (chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_SERIAL &&
> +             chr->info.type ==
> + VIR_DOMAIN_DEVICE_ADDRESS_TYPE_SPAPRVIO));
>  }
> --
> 1.8.5





More information about the libvir-list mailing list