From: "Marc-André Lureau" <marcandre.lureau@redhat.com>
To: qemu-devel@nongnu.org
Cc: pbonzini@redhat.com, eblake@redhat.com,
"Marc-André Lureau" <marcandre.lureau@redhat.com>
Subject: [Qemu-devel] [PATCH 00/20] chardev: qom-ify
Date: Thu, 5 Jan 2017 17:53:09 +0100 [thread overview]
Message-ID: <20170105165329.17227-1-marcandre.lureau@redhat.com> (raw)
qemu-char.c is quite a large file (~130k, 5000 loc) with many chardev
and a lot of #ifdef. It doesn't use qemu Object. Using qemu Object
hopefully brings cleaner, more consitent code base. It helps to split
the various backends in different files. Eventually, we could also
allow or switch to -object-add CLI option instead of -chardev.
This series is the first of a pretty large chardev refactoring series
that I keep here:
https://github.com/elmarco/qemu/commits/chrfe
It is based on Gerd's pull-ui-20170104-1 tag. Furthermore, for
"spice-char: improve error reporting" to not introduce a regression,
"error: report hints on stderr when no monitor" is required (sent
earlier in the ML).
Since WIP:
- took most of Eric review comments, they were mostly about style
Marc-André Lureau (20):
tests: fix linking test-char on win32
qemu-options: stdio is available on win32
char: add qemu_chr_fe_add_watch() Returns description
doc: fix spelling
char: use a const CharDriver
char: use a static array for backends
char: move callbacks in CharDriver
char: fold single-user functions in caller
char: introduce generic qemu_chr_get_kind()
char: use a feature bit for replay
char: allocate CharDriverState as a single object
bt: use qemu_chr_alloc()
char: rename CharDriverState Chardev
char: rename TCPChardev and NetChardev
spice-char: improve error reporting
char: use error_report()
gtk: overwrite the console.c char driver
baum: use a common prefix for chr callbacks
vc: use a common prefix for chr callbacks
chardev: qom-ify
hw/lm32/lm32.h | 4 +-
hw/lm32/milkymist-hw.h | 2 +-
include/hw/arm/exynos4210.h | 2 +-
include/hw/arm/omap.h | 6 +-
include/hw/bt.h | 4 +-
include/hw/char/cadence_uart.h | 2 +-
include/hw/char/escc.h | 2 +-
include/hw/char/pl011.h | 4 +-
include/hw/char/serial.h | 4 +-
include/hw/char/xilinx_uartlite.h | 2 +-
include/hw/cris/etraxfs.h | 2 +-
include/hw/devices.h | 2 +-
include/hw/i386/pc.h | 2 +-
include/hw/m68k/mcf.h | 4 +-
include/hw/ppc/spapr_vio.h | 2 +-
include/hw/qdev-properties.h | 2 +-
include/hw/sh4/sh.h | 2 +-
include/hw/sparc/grlib.h | 2 +-
include/hw/xen/xen.h | 2 +-
include/monitor/monitor.h | 2 +-
include/qemu/typedefs.h | 2 +-
include/sysemu/char.h | 155 +--
include/sysemu/replay.h | 4 +-
include/sysemu/sysemu.h | 4 +-
include/ui/console.h | 2 +
include/ui/gtk.h | 2 +-
include/ui/qemu-spice.h | 2 +-
backends/baum.c | 102 +-
backends/msmouse.c | 77 +-
backends/rng-egd.c | 4 +-
backends/testdev.c | 53 +-
gdbstub.c | 45 +-
hw/arm/fsl-imx25.c | 2 +-
hw/arm/fsl-imx31.c | 2 +-
hw/arm/fsl-imx6.c | 2 +-
hw/arm/nseries.c | 2 +-
hw/arm/omap2.c | 2 +-
hw/arm/pxa2xx.c | 2 +-
hw/arm/virt.c | 2 +-
hw/bt/hci-csr.c | 64 +-
hw/char/escc.c | 2 +-
hw/char/exynos4210_uart.c | 2 +-
hw/char/imx_serial.c | 2 +-
hw/char/mcf_uart.c | 4 +-
hw/char/omap_uart.c | 6 +-
hw/char/parallel.c | 2 +-
hw/char/serial-isa.c | 2 +-
hw/char/serial.c | 4 +-
hw/char/sh_serial.c | 2 +-
hw/char/spapr_vty.c | 2 +-
hw/char/virtio-console.c | 2 +-
hw/core/qdev-properties-system.c | 4 +-
hw/display/milkymist-tmu2.c | 2 +-
hw/display/sm501.c | 2 +-
hw/isa/isa-bus.c | 2 +-
hw/isa/pc87312.c | 2 +-
hw/mips/mips_malta.c | 4 +-
hw/misc/ivshmem.c | 2 +-
hw/misc/milkymist-pfpu.c | 2 +-
hw/usb/ccid-card-passthru.c | 2 +-
hw/usb/dev-serial.c | 6 +-
hw/usb/redirect.c | 4 +-
monitor.c | 6 +-
net/colo-compare.c | 4 +-
net/filter-mirror.c | 4 +-
net/slirp.c | 2 +-
net/vhost-user.c | 10 +-
qemu-char.c | 1912 ++++++++++++++++++++-----------------
qmp.c | 2 +-
qtest.c | 2 +-
replay/replay-char.c | 8 +-
spice-qemu-char.c | 231 +++--
stubs/get-next-serial.c | 2 +-
stubs/monitor-init.c | 2 +-
stubs/replay.c | 4 +-
tests/test-char.c | 10 +-
tests/vhost-user-test.c | 4 +-
ui/console.c | 111 ++-
ui/gtk.c | 86 +-
vl.c | 12 +-
xen-common-stub.c | 2 +-
xen-common.c | 4 +-
qemu-options.hx | 4 +-
tests/Makefile.include | 2 +-
84 files changed, 1730 insertions(+), 1340 deletions(-)
--
2.11.0
next reply other threads:[~2017-01-05 16:53 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-05 16:53 Marc-André Lureau [this message]
2017-01-05 16:53 ` [Qemu-devel] [PATCH 01/20] tests: fix linking test-char on win32 Marc-André Lureau
2017-01-06 16:45 ` Eric Blake
2017-01-06 19:50 ` Marc-André Lureau
2017-01-06 20:26 ` Eric Blake
2017-01-05 16:53 ` [Qemu-devel] [PATCH 02/20] qemu-options: stdio is available " Marc-André Lureau
2017-01-06 16:51 ` Eric Blake
2017-01-05 16:53 ` [Qemu-devel] [PATCH 03/20] char: add qemu_chr_fe_add_watch() Returns description Marc-André Lureau
2017-01-06 16:54 ` Eric Blake
2017-01-05 16:53 ` [Qemu-devel] [PATCH 04/20] doc: fix spelling Marc-André Lureau
2017-01-06 16:55 ` Eric Blake
2017-01-05 16:53 ` [Qemu-devel] [PATCH 05/20] char: use a const CharDriver Marc-André Lureau
2017-01-06 18:01 ` Eric Blake
2017-01-06 22:43 ` Marc-André Lureau
2017-01-05 16:53 ` [Qemu-devel] [PATCH 06/20] char: use a static array for backends Marc-André Lureau
2017-01-06 19:24 ` Eric Blake
2017-01-06 23:22 ` Marc-André Lureau
2017-01-05 16:53 ` [Qemu-devel] [PATCH 07/20] char: move callbacks in CharDriver Marc-André Lureau
2017-01-06 21:36 ` Eric Blake
2017-01-05 16:53 ` [Qemu-devel] [PATCH 08/20] char: fold single-user functions in caller Marc-André Lureau
2017-01-05 16:53 ` [Qemu-devel] [PATCH 09/20] char: introduce generic qemu_chr_get_kind() Marc-André Lureau
2017-01-05 16:53 ` [Qemu-devel] [PATCH 10/20] char: use a feature bit for replay Marc-André Lureau
2017-01-05 16:53 ` [Qemu-devel] [PATCH 11/20] char: allocate CharDriverState as a single object Marc-André Lureau
2017-01-06 21:43 ` Eric Blake
2017-01-05 16:53 ` [Qemu-devel] [PATCH 12/20] bt: use qemu_chr_alloc() Marc-André Lureau
2017-01-05 16:53 ` [Qemu-devel] [PATCH 13/20] char: rename CharDriverState Chardev Marc-André Lureau
2017-01-05 16:53 ` [Qemu-devel] [PATCH 14/20] char: rename TCPChardev and NetChardev Marc-André Lureau
2017-01-05 16:53 ` [Qemu-devel] [PATCH 15/20] spice-char: improve error reporting Marc-André Lureau
2017-01-06 22:22 ` Eric Blake
2017-01-05 16:53 ` [Qemu-devel] [PATCH 16/20] char: use error_report() Marc-André Lureau
2017-01-05 16:53 ` [Qemu-devel] [PATCH 17/20] gtk: overwrite the console.c char driver Marc-André Lureau
2017-01-06 22:24 ` Eric Blake
2017-01-05 16:53 ` [Qemu-devel] [PATCH 18/20] baum: use a common prefix for chr callbacks Marc-André Lureau
2017-01-06 22:25 ` Eric Blake
2017-01-05 16:53 ` [Qemu-devel] [PATCH 19/20] vc: " Marc-André Lureau
2017-01-06 22:26 ` Eric Blake
2017-01-05 16:53 ` [Qemu-devel] [PATCH 20/20] chardev: qom-ify Marc-André Lureau
2017-01-09 18:02 ` Eric Blake
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=20170105165329.17227-1-marcandre.lureau@redhat.com \
--to=marcandre.lureau@redhat.com \
--cc=eblake@redhat.com \
--cc=pbonzini@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).