| Branch: | Revision:

root / qemu-char.h @ a74cdab4

History | View | Annotate | Download (4.6 kB)

# Date Author Comment
d5b27167 04/28/2011 08:33 am Kusanagi Kouichi

char: Allow devices to use a single multiplexed chardev.

This fixes regression caused by commit
("char: Prevent multiple devices opening same chardev"):

-nodefaults -nographic -chardev stdio,id=stdio,mux=on,signal=off \...

7c32c4fe 04/28/2011 08:32 am Hans de Goede

chardev: Allow frontends to notify backends of guest open / close

Some frontends know when the guest has opened the "channel" and is actively
listening to it, for example virtio-serial. This patch adds 2 new qemu-chardev
functions which can be used by frontends to signal guest open / close, and...

2d6c1ef4 03/21/2011 01:27 pm Amit Shah

char: Prevent multiple devices opening same chardev


-chardev socket,path=/tmp/foo,server,nowait,id=c0 \
-device virtserialport,chardev=c0,id=vs0 \
-device virtserialport,chardev=c0,id=vs1

Reported-by: Mike Cao <>
Signed-off-by: Amit Shah <>

c48855e1 02/02/2011 12:50 am Paolo Bonzini

add qemu_chr_set_echo

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Anthony Liguori <>

999bd67c 11/17/2010 01:52 pm Luiz Capitulino

qemu-char: Introduce Memory driver

This driver handles in-memory chardev operations. That's, all writes
to this driver are stored in an internal buffer and it doesn't talk
to the external world in any way.

Right now it's very simple: it supports only writes. But it can be...

8b7968f7 10/03/2010 09:34 am Stefan Weil

Use GCC_FMT_ATTR (format checking)

Signed-off-by: Stefan Weil <>
Signed-off-by: Blue Swirl <>

6cbf4c8c 08/11/2010 12:25 am Cam Macdonell

RESEND: Inter-VM shared memory PCI device

resend for bug fix related to removal of irqfd

Support an inter-vm shared memory device that maps a shared-memory object as a
PCI device in the guest. This patch also supports interrupts between guest by
communicating over a unix domain socket. This patch applies to the qemu-kvm...

73cdf3f2 04/09/2010 11:03 pm Alexander Graf

Always notify consumers of char devices if they're open

When using virtio-console on s390, the input doesn't work.

The root of the problem is rather simple. What happens is the following:

1) create character device for stdio
2) char device is done creating, sends OPENED event...
7b27a769 03/19/2010 10:27 pm Juan Quintela

rename IOCanRWHandler to IOCanReadHandler

It was always only used for reads

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

588b3832 12/12/2009 03:59 pm Luiz Capitulino

char: Convert qemu_chr_info() to QObject

Each device is represented by a QDict. The returned QObject is a QList
of all devices.

This commit should not change user output.

Signed-off-by: Luiz Capitulino <>
Signed-off-by: Anthony Liguori <>

33521634 12/12/2009 03:59 pm Gerd Hoffmann

un-static qemu_chr_parse_compat()

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

127338e6 11/17/2009 04:03 pm Amit Shah

char: rename qemu_chr_reset to qemu_chr_generic_open

This function sends out the OPENED event to backends that
have drive the chardevs. The 'reset' is now a historical
artifact and we can now just call the function for what it

Signed-off-by: Amit Shah <>...

57e073a3 11/17/2009 04:03 pm Amit Shah

char: Remove special init_reset handling

The initial_reset sent to chardevs doesn't do much other than setting
a bool to true. Char devices are interested in the open event and
that gets sent whenever the device is opened.

Moreover, the reset logic breaks as and when qemu's bh scheduling...

f7cbc08f 10/27/2009 07:29 pm Anthony Liguori

Revert "char: emit the OPENED event only when a new char connection is opened"

This reverts commit 6cfa64de908d67fb6f6b6e3ae4888dd863f69e44.

This breaks the monitor prompt. Proper fix will come from Amit.

Signed-off-by: Anthony Liguori <>

b6b8df56 10/21/2009 09:35 pm Amit Shah


The char event RESET is emitted when a char device is opened.
Give it a better name.

Patchworks-ID: 35287
Signed-off-by: Amit Shah <>
Signed-off-by: Anthony Liguori <>

6cfa64de 10/21/2009 09:35 pm Amit Shah

char: emit the OPENED event only when a new char connection is opened

The OPENED event gets sent also when qemu resets its state initially.
The consumers of the event aren't interested in receiving this event
on reset.

Patchworks-ID: 35288
Signed-off-by: Amit Shah <>...

72cf2d4f 09/12/2009 10:36 am Blue Swirl

Fix sys-queue.h conflict for good

Problem: Our file sys-queue.h is a copy of the BSD file, but there are
some additions and it's not entirely compatible. Because of that, there have
been conflicts with system headers on BSD systems. Some hacks have been
introduced in the commits 15cc9235840a22c289edbe064a9b3c19c5f49896,...

c845f401 09/11/2009 06:19 pm Gerd Hoffmann

Allow -serial chardev:<name>

Lets put -chardev into use now. With this patch applied chardev:name is
accepted as chardev specification everywhere, i.e. now you can:

-chardev stdio,id=ttyS0
-serial chardev:ttyS0

which does the same as '-serial stdio"....

799f1f23 09/11/2009 06:19 pm Gerd Hoffmann

move mux focus field from CharDriverState to MuxDriver

Now that monitor stopped using focus we can make it internal
to the mux driver.

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

191bc01b 09/11/2009 06:19 pm Gerd Hoffmann

switch chardev to QemuOpts: infrastructure, null device

start switching chardevs to QemuOpts. This patch adds the
infrastructure and converts the null device.

The patch brings two new functions:

same as qemu_chr_open(), but uses QemuOpts instead of a...

793cbfb5 08/24/2009 04:21 pm Amit Shah

char: Emit 'CLOSED' events on char device close

Notify users of the char interface whenever the file / connection is

Signed-off-by: Amit Shah <>
Signed-off-by: Anthony Liguori <>

7d174059 07/27/2009 04:39 pm Mark McLoughlin

Add SCM_RIGHTS support to unix socket character devices

If a file descriptor is passed via a message with SCM_RIGHTS ancillary
data on a unix socket, store the file descriptor for use in the
chr_read() handler. Close the file descriptor if it was not used....

2724b180 03/06/2009 01:01 am aliguori

monitor: Improve mux'ed console experience (Jan Kiszka)

Up to now, you never really knew if you already switched the console
after pressing CTRL-A C or if you mistyped it again. This patch
clarifies the situation by providing a prompt in a new line and
injecting a linebreak when switching away again. For this purpose, the...

376253ec 03/06/2009 01:01 am aliguori

monitor: Rework API (Jan Kiszka)

Refactor the monitor API and prepare it for decoupled terminals:
term_print functions are renamed to monitor_* and all monitor services
gain a new parameter (mon) that will once refer to the monitor instance
the output is supposed to appear on. However, the argument remains...

2970a6c9 03/06/2009 12:59 am aliguori

char: Fix initial reset (Jan Kiszka)

Recent changes to the graphical console initialization broke the initial
CHR_EVENT_RESET distribution. The reset BHs generated on char device
initialization are now already consumed during machine init (ide init
... -> qemu_aio_wait -> qemu_bh_poll). Therefore, this patch moves the...

ceecf1d1 01/18/2009 04:08 pm aurel32

add an init function parameter to qemu_chr_open()

And use it for the malta emulation. Fix segfault introduced in
revision 6352.

Signed-off-by: Aurelien Jarno <>

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

0e82f34d 10/31/2008 08:44 pm aliguori

Move some declarations around in the QEMU CharDriver code

The goal of this series is to move the CharDriverState code out of vl.c and
into its own file, qemu-char.c. This patch moves around some declarations so
the next patch can be pure code motion.

Signed-off-by: Anthony Liguori <>...

5ccfae10 10/31/2008 07:31 pm aliguori

Implement "info chardev" command. (Gerd Hoffmann)

This patch makes qemu keep track of the character devices in use and
implements a "info chardev" monitor command to print a list.

qemu_chr_open() sticks the devices into a linked list now. It got a new
argument (label), so there is a name for each device. It also assigns a...

f0664048 08/23/2008 12:25 am aurel32

qemu-char.h: Fix IOCTL values

Signed-off-by: Aurelien Jarno <>

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

563e3c6e 08/22/2008 11:57 am aurel32

Parallel Port Direction Fix

The direction bit in the control register should not be directly

set using PPWCONTROL. The kernel gives the following debug message.

parport0 (ppdev0): use data_reverse for this!

More over setting the data pins to forward mode does not work,...

81174dae 08/11/2008 05:17 pm aliguori

Upgrade emulated UART to 16550A (Stefano Stabellini)

This patch upgrades the emulated UART to 16550A, the code comes from
xen-unstable. The main improvement was introduced with the following patch and
subsequent email thread:

bd9bdce6 11/25/2007 02:55 am balrog

Add input buffer to mux chr (patch by Tristan Gingold).

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

9596ebb7 11/18/2007 03:44 am pbrook

Add statics and missing #includes for prototypes.

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

87ecb68b 11/17/2007 07:14 pm pbrook

Break up vl.h.

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162