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

Cole Robinson crobinso at redhat.com
Mon May 19 13:40:29 UTC 2014


On 05/19/2014 03:41 AM, Hong-Hua.Yin at freescale.com wrote:
> Hi Cole,
> 
> This is a patch similar with your previous patch to fix for ARM.
> Do you have any comments on it?
> 
> Cindy,
> Since you are the main contributor to QEMU driver on PPC, I'll also appreciate your comments.
> 
> Best Regards,
> Olivia
> 

Patch looks fine, but it should add a qemuxml2argv test case to validate that
it actually works. My original patch added test cases later in the patch
series, see 54a77c6df3c483864463f602c4c6f435d50bd79e

- Cole

>> -----Original Message-----
>> From: Yin Olivia-R63875
>> Sent: Friday, May 16, 2014 8:38 AM
>> To: Yin Olivia-R63875; libvir-list at redhat.com
>> Subject: RE: [PATCH] qemu: Fix specifying char devs for PPC
>>
>> Ping.
>>
>> This is a patch similar with ARM platforms.
>> http://libvirt.org/git/?p=libvirt.git;a=commitdiff;h=3a2beaee1d50dc968171c5
>> 84ec2edcfdcb8fadde
>>
>> 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