qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] chardev: add baud parameter for serial host dev


From: Eric Blake
Subject: Re: [Qemu-devel] [PATCH] chardev: add baud parameter for serial host device
Date: Sat, 15 Jun 2013 16:14:23 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130514 Thunderbird/17.0.6

On 06/08/2013 10:49 PM, Peter Wu wrote:
> When QEMU starts, it always changes the serial port parameters including baud
> rate. This confused my guest which thought it was outputting at 9600 baud 
> while
> it was in fact changed to 115200.
> 
> After this patch, I can use `-serial /dev/ttyS0,baud=9600` to override the
> default baud rate of 115200. Documentation is updated as well, so that users
> know about the new `baud` parameter for `-serial` and `-chardev serial` (and 
> its
> alias `-chardev tty`).
> 
> Note that the baud option is not implemented for Windows. QEMU does not change
> the default baud rate on Windows anyway. If somebody is going to implement it,
> do not forget to update the documentation on "COM" devices which is also of
> backend serial.
> 
> Signed-off-by: Peter Wu <address@hidden>
> ---

> +++ b/qapi-schema.json
> @@ -3186,7 +3186,7 @@
>  # Configuration info for device and pipe chardevs.
>  #
>  # @device: The name of the special file for the device,
> -#          i.e. /dev/ttyS0 on Unix or COM1: on Windows
> +#          i.e. /dev/parport0 on Unix.
>  # @type: What kind of device this is.
>  #
>  # Since: 1.4
> @@ -3194,6 +3194,20 @@
>  { 'type': 'ChardevHostdev', 'data': { 'device' : 'str' } }
>  
>  ##
> +# @ChardevSerial
> +#
> +# Configuration info for serial chardevs.
> +#
> +# @device: The name of the special file for the device,
> +#          i.e. /dev/ttyS0 on Unix or COM1: on Windows
> +# @baud: #optional baud rate to set for host device. (default 115200)
> +#
> +# Since: 1.5
> +##
> +{ 'type': 'ChardevSerial', 'data': { 'device' : 'str',
> +                                     '*baud': 'int' } }

Slick trick.  However, 1.5 is already released, so it is now since 1.6,
and furthermore...

> +
> +##
>  # @ChardevSocket:
>  #
>  # Configuration info for (stream) socket chardevs.
> @@ -3311,7 +3325,7 @@
>  { 'type': 'ChardevDummy', 'data': { } }
>  
>  { 'union': 'ChardevBackend', 'data': { 'file'   : 'ChardevFile',
> -                                       'serial' : 'ChardevHostdev',
> +                                       'serial' : 'ChardevSerial',

without introspection, libvirt has no idea whether 'baud' is supported
in the qemu it is talking to, other than trying and failing when talking
to older qemu.  This patch forms yet another reason why libvirt wants to
learn when we add optional parameters to a pre-existing QMP command.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]