From: Paolo Bonzini <pbonzini@redhat.com>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 3/3] chardev: add hotplug support.
Date: Fri, 14 Dec 2012 16:07:32 +0100 [thread overview]
Message-ID: <50CB40B4.5050207@redhat.com> (raw)
In-Reply-To: <50CB3562.5030007@redhat.com>
Il 14/12/2012 15:19, Gerd Hoffmann ha scritto:
> Hi,
>
>>> ... are you passing a file descriptor for a pipe, a file or a
>>> parallel/serial port?
>>
>> The open function of the file-based backends basically do (1) create
>> file handles and (2) call qemu_chr_open_fd().
Right, and there's the ugliness where you can only specify an output
file, not an input.
>> So of you already have an
>> fd the differences are gone. Well, almost. tty has an special ioctl
>> callback to configure line speed.
What about this then:
{ 'union': 'ChardevFileSource',
'data': {'path': 'str', 'fd': 'str'} }
{ 'type': 'ChardevFile',
'data': {'*in': 'ChardevFileSource', '*out': 'ChardevFileSource'} }
{ 'enum': 'ChardevPortKind',
'data': ['serial', 'parallel'] }
{ 'type': 'ChardevPort',
'data': {'device': 'ChardevFileSource', 'type': 'ChardevPortKind'} }
{ 'type': 'ChardevSpice',
'data': {'name': 'str', '*debug': 'bool'}}
{ 'type': 'ChardevVC',
'data': {'*width': 'int', '*height': 'int',
'*cols': 'int', '*rows': 'int'}}
{ 'type': 'ChardevSocket',
'data': {'addr': 'SocketAddress', '*server': 'bool',
'*wait': 'bool', '*nodelay': 'bool', '*telnet': 'bool'} }
{ 'type': 'ChardevUDP',
'data': {'peer': 'SocketAddress',
'*localhost': 'str', '*localport': 'str' } }
# For future extensibility...
{ 'ChardevDummy', 'data': {} }
{ 'union': 'ChardevBackend', 'data': {
'socket': 'ChardevSocket',
'winpipe': 'String', # "pipe" for _WIN32 case
'udp': 'ChardevUDP',
'file': 'ChardevFile',
'port': 'ChardevPort',
'pty': 'ChardevDummy',
'null': 'ChardevDummy',
'msmouse': 'ChardevDummy',
'braille': 'ChardevDummy',
'stdio': 'ChardevDummy',
'vc': 'ChardevVC',
# Solely for HMP usage.
'legacy': 'str'
}
> Also you might want to pass in a socket fd ...
This is already supported by socket_connect/socket_listen in
qemu-sockets.c (thus by the SocketAddress QAPI union).
Paolo
> So I really think a -chardev
> fd,type={listening-stream-socket,connected-stream-socket,datagram-socket,tty,fd-readwrite,fd-writeonly}
> (+ QMP for that) will be more useful.
> cheers,
> Gerd
>
next prev parent reply other threads:[~2012-12-14 15:07 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-14 9:38 [Qemu-devel] [PATCH RESENT 0/3] chardev hotplug patch series Gerd Hoffmann
2012-12-14 9:38 ` [Qemu-devel] [PATCH 1/3] chardev: add error reporting for qemu_chr_new_from_opts Gerd Hoffmann
2012-12-14 9:38 ` [Qemu-devel] [PATCH 2/3] chardev: fix QemuOpts lifecycle Gerd Hoffmann
2012-12-14 9:38 ` [Qemu-devel] [PATCH 3/3] chardev: add hotplug support Gerd Hoffmann
2012-12-14 12:17 ` Paolo Bonzini
2012-12-14 13:05 ` Eric Blake
2012-12-14 13:18 ` Gerd Hoffmann
2012-12-14 13:45 ` Paolo Bonzini
2012-12-14 14:05 ` Gerd Hoffmann
2012-12-14 14:19 ` Gerd Hoffmann
2012-12-14 15:07 ` Paolo Bonzini [this message]
-- strict thread matches above, loose matches on Subject: below --
2012-10-17 10:09 [Qemu-devel] [PATCH 0/3] chardev hotplug patch series Gerd Hoffmann
2012-10-17 10:09 ` [Qemu-devel] [PATCH 3/3] chardev: add hotplug support Gerd Hoffmann
2012-10-17 15:26 ` Eric Blake
2012-10-17 16:28 ` Paolo Bonzini
2012-10-18 10:03 ` Gerd Hoffmann
2012-10-18 18:44 ` Paolo Bonzini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50CB40B4.5050207@redhat.com \
--to=pbonzini@redhat.com \
--cc=kraxel@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).